CftClub.ru
Клуб специалистов ЦФТ-Банк

Создание расширений по редактированию кассовых документов.
На страницу 1, 2  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
mmm_kazan
Участник со стажем


Вступление в Клуб: 28.03.2018
СообщениеПн Апр 16, 2018 11:57   Создание расширений по редактированию кассовых документов. Ответить с цитатой
Полезность: Нет оценки
Столкнулся с ситуацией - пытаюсь создать расширение по редактированию кассового документа.

Основная цель - добавить проверку.

Без расширения все работает.

После создания расширения даже без добавления проверки все начинает глючить.


Последний раз редактировалось: mmm_kazan (Вт Апр 17, 2018 08:08), всего редактировалось 1 раз
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПн Апр 16, 2018 12:03    Ответить с цитатой
Полезность: Нет оценки
Файл *.doc - не лучший выбор (безопасность).
mmm_kazan
Участник со стажем


Вступление в Клуб: 28.03.2018
СообщениеПн Апр 16, 2018 12:59    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
Файл *.doc - не лучший выбор (безопасность).


Здравствуйте.
Честно сказать выбрал самое простое.
Порекомендуйте?
mmm_kazan
Участник со стажем


Вступление в Клуб: 28.03.2018
СообщениеПн Апр 16, 2018 13:00    Ответить с цитатой
Полезность: Нет оценки
Вот здесь проверка срабатывает.
Контроль корректности реквизитов документа.

--debug_pipe('!!!ЗАПУСК CHECK_REQS');
if [sum] is null and [SUM_PO] is null and [SUM_NT] is null then
pragma error( 'Необходимо указать сумму документа');
end if;
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПн Апр 16, 2018 14:25    Ответить с цитатой
Полезность: Нет оценки
Картинку в формате jpg.
Не понятно, что срабатывает, что не срабатывает.
Где текст Проверки?
mmm_kazan
Участник со стажем


Вступление в Клуб: 28.03.2018
СообщениеПн Апр 16, 2018 14:37    Ответить с цитатой
Полезность: Нет оценки
Текст проверки ЦФТ - его никто не менял.
Файл с ошибкой прилагаю.
Вопрос в том, что эта ошибка не выскакивает, если расширения нет.
В расширении вообще нет ничего.

Текст проверки я выдернул - там как раз эта шибка срабатывает.


Последний раз редактировалось: mmm_kazan (Вт Апр 17, 2018 08:07), всего редактировалось 1 раз
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПн Апр 16, 2018 14:55    Ответить с цитатой
Полезность: Нет оценки
Кнопка Подробно наверное многое-бы объяснила...
mmm_kazan
Участник со стажем


Вступление в Клуб: 28.03.2018
СообщениеПн Апр 16, 2018 15:11    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
Кнопка Подробно наверное многое-бы объяснила...


Не вопрос


Последний раз редактировалось: mmm_kazan (Вт Апр 17, 2018 08:07), всего редактировалось 1 раз
Blackmore64
Профи


Вступление в Клуб: 17.01.2017
СообщениеПн Апр 16, 2018 15:19    Ответить с цитатой
Полезность: 1
В операции EDIT_KASSA в проверке есть вызов хука ::[HOOK].[MD_EK_VALIDATE]. Может проще его использовать?
mmm_kazan
Участник со стажем


Вступление в Клуб: 28.03.2018
СообщениеПн Апр 16, 2018 15:57    Ответить с цитатой
Полезность: Нет оценки
Blackmore64 пишет:
В операции EDIT_KASSA в проверке есть вызов хука ::[HOOK].[MD_EK_VALIDATE]. Может проще его использовать?


А пример сможете предоставить?

Мне что-то вроде этого нужно в проверку засунуть.

if P#CL_DT_1.[2].[CLIENT_V]%class='CL_PRIV' then

for
(select c (c.[doc].[date_end] :c_d)
in [CL_PRIV], ([CERTIfIC_TYPE] : s)
where s%id(true) = c.[doc].[type]
and c%id = id_cl_forDOC
and trim(s.KOD)='21'
)
loop

if c.[c_d] <= sysdate and c.[c_d] is not null then
stdio.put_line_buf(chr(13)||chr(13)||'У клиента по дебету просрочен паспорт');
end if;
exit;

end loop;


if P#CL_KT_1.[2].[CLIENT_V]%class='CL_PRIV' then

id_cl_forDOC := P#CL_KT_1.[2].[CLIENT_V];

for
(select c (c.[doc].[date_end] :c_d)
in [CL_PRIV], ([CERTIfIC_TYPE] : s)
where s%id(true) = c.[doc].[type]
and c%id = id_cl_forDOC
and trim(s.KOD)='21'
)
loop

if c.[c_d] <= sysdate and c.[c_d] is not null then
stdio.put_line_buf(chr(13)||chr(13)||'Внимание. У клиента по кредиту просрочен паспорт');
end if;
exit;

end loop;
end if;

stdio.put_line_buf(Str_CL_Dop);

for
(select dl (dl : c_dl)
in ::[DENY_LIST]
where
dl%state = 'ACTIVE' and
dl.[MEMBER].[INN] is not null and
((dl.[MEMBER].[INN] = this.[KL_DT].[1].[1].[INN] and this.[KL_DT].[0] = 1) or
(dl.[MEMBER].[INN] = this.[KL_DT].[2].[INN] and this.[KL_DT].[0] = 2))
)
loop
stdio.put_line_buf(chr(13)||chr(13)||'Внимание. Плательщик находится в списке "Реестр отказов. Случаи отказа в выполнении операции, отказа от заключения договора счета, расторжения договора счета"');
exit;
end loop;

for
(select dl (dl : c_dl)
in ::[DENY_LIST]
where
dl%state = 'ACTIVE' and
dl.[MEMBER].[INN] is not null and
((dl.[MEMBER].[INN] = this.[KL_KT].[1].[1].[INN] and this.[KL_DT].[0] = 1) or
(dl.[MEMBER].[INN] = this.[KL_KT].[2].[INN] and this.[KL_DT].[0] = 2))
)
loop
stdio.put_line_buf(chr(13)||chr(13)||'Внимание. Получатель находится в списке "Реестр отказов. Случаи отказа в выполнении операции, отказа от заключения договора счета, расторжения договора счета"');
exit;
end loop;

end if;
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПн Апр 16, 2018 16:16    Ответить с цитатой
Полезность: Нет оценки
Персональные данные хоть вымышленные?
mmm_kazan
Участник со стажем


Вступление в Клуб: 28.03.2018
СообщениеПн Апр 16, 2018 16:21    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
Персональные данные хоть вымышленные?


В тестовой базе было что-то.
Обычно там или старое, или нереальное.
Хотя я не знаю.
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПн Апр 16, 2018 16:35    Ответить с цитатой
Полезность: Нет оценки
Найдите Z$HOOK_BANK_MD_EK_VALIDATE и в Тело пишите свои проверки.
mmm_kazan
Участник со стажем


Вступление в Клуб: 28.03.2018
СообщениеПн Апр 16, 2018 16:44    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
Найдите Z$HOOK_BANK_MD_EK_VALIDATE и в Тело пишите свои проверки.


Стардатным интерфейсом я не могу изменять ведь.
Не находится эта строка.
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПн Апр 16, 2018 16:50    Ответить с цитатой
Полезность: Нет оценки
тип HOOK_BANK
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru