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

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


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


Начинаю понимать про что разговор. Спасибо.
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеПн Апр 16, 2018 17:07    Ответить с цитатой
Полезность: Нет оценки
mmm_kazan пишет:
Volod пишет:
тип HOOK_BANK


Начинаю понимать про что разговор. Спасибо.


зачем так издеваться над собой и ЦФТ ? Smile))
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПн Апр 16, 2018 17:17    Ответить с цитатой
Полезность: 1
И советую - уберите персональные данные, пока СБ не прижучила.
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПн Апр 16, 2018 17:18    Ответить с цитатой
Полезность: 1
vtar пишет:
mmm_kazan пишет:
Volod пишет:
тип HOOK_BANK


Начинаю понимать про что разговор. Спасибо.


зачем так издеваться над собой и ЦФТ ? Smile))


Форум для начинающих...
Blackmore64
Профи


Вступление в Клуб: 17.01.2017
СообщениеВт Апр 17, 2018 07:28    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
Найдите Z$HOOK_BANK_MD_EK_VALIDATE и в Тело пишите свои проверки.
У нас есть только HOOK.MD_EK_VALIDATE, а в справочнике "Расширения и перекрытия. Точки вызова" в точке MD_EK_VALIDATE добавлена локальная операция с нужными проверками, например
Код:
begin
   if P_INFO_='OK' then
      if P_ACC_DT.[TO_PRODUCT].[_CODE_] in ('DEPOSIT_PRIV','DEPOSIT_ORG','DEPOSIT_MULT') then
         pragma error ('Операции по дебету счета '||P_ACC_DT.[MAIN_V_ID]||' можно выполнять только из продукта: '||P_ACC_DT.[TO_PRODUCT].[NAME]);
      end if;
   end if;
end;
mmm_kazan
Участник со стажем


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

Напомню мой вопрос - хочу добавить дополнительные проверки при заведении новых документов и редактировании уже существующих.

Понял, что могу добавить функции.

Как они будут вызваны при нажатии кнопки ОК?

Спасибо, кстати, за напоминание о персональных данных. )

То что на KAR начинается - собственные разработки. Не мои.
mmm_kazan
Участник со стажем


Вступление в Клуб: 28.03.2018
СообщениеВт Апр 17, 2018 08:30    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
mmm_kazan пишет:
Volod пишет:
тип HOOK_BANK


Начинаю понимать про что разговор. Спасибо.


зачем так издеваться над собой и ЦФТ ? Smile))


Здравствуйте. )
Я, кстати, продвинулся в процессе общения.
Пару вопросов точно для себя решил.


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


Вступление в Клуб: 28.03.2018
СообщениеВт Апр 17, 2018 08:37    Ответить с цитатой
Полезность: Нет оценки
И что еще смущает - неважно что я там вызывать буду.
При копировании кассового документа и его проведении - расширение редактирования кассового документа срабатывает нормально.
При заведении нового кассового документа начинает глючить.

Как тогда я могу HOOK использовать?
Blackmore64
Профи


Вступление в Клуб: 17.01.2017
СообщениеВт Апр 17, 2018 09:43    Ответить с цитатой
Полезность: Нет оценки
mmm_kazan пишет:
И что еще смущает - неважно что я там вызывать буду.
При копировании кассового документа и его проведении - расширение редактирования кассового документа срабатывает нормально.
При заведении нового кассового документа начинает глючить.

Как тогда я могу HOOK использовать?

Если использовать HOOK, то расширение создавать не нужно. Указанный НООК срабатывает при нажатии ОК. Выше написано как его использовать в точке вызова.
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеВт Апр 17, 2018 10:19    Ответить с цитатой
Полезность: Нет оценки
Попробуйте в расширение анализировать - из какой операции запуск,

Код:
If not nvl(V_NEW_KASSA, false) then
      &BASE$SETVARS;
      &BASE$VALIDATE;
      &BASE$GETVARS;
End if;
mmm_kazan
Участник со стажем


Вступление в Клуб: 28.03.2018
СообщениеВт Апр 17, 2018 11:30    Ответить с цитатой
Полезность: Нет оценки
Знаний не хватает. )
Blackmore64
Профи


Вступление в Клуб: 17.01.2017
СообщениеВт Апр 17, 2018 12:21    Ответить с цитатой
Полезность: Нет оценки
mmm_kazan пишет:
Знаний не хватает. )

Надо создать локальную групповую операцию, например, в MAIN_DOCUM с такими же параметрами (см.вложенный файл), как в вызове HOOK.MD_EK_VALIDATE. Затем добавить данную операцию в массив "Методы" точки вызова с непустым приоритетом, перекомпилировать точку вызова. Пример текста тела локальной операции я приводил выше.
mmm_kazan
Участник со стажем


Вступление в Клуб: 28.03.2018
СообщениеСр Апр 18, 2018 10:54    Ответить с цитатой
Полезность: Нет оценки
Здравствуйте.
Не так что-то делаю видимо.
Blackmore64
Профи


Вступление в Клуб: 17.01.2017
СообщениеСр Апр 18, 2018 13:49    Ответить с цитатой
Полезность: Нет оценки
mmm_kazan пишет:
Не так что-то делаю видимо.

При вставке в массив "Методы" надо было указать ТБП MAIN_DOCUM раз операция EDIT_KASSA_1 в нем создана, а не R2_SECOND_ATTR.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
На страницу Пред.  1, 2
Страница 2 из 2

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