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

Debug

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
ict_2010
Участник со стажем
Неподтвержденный


Вступление в Клуб: 25.03.2015
СообщениеЧт Апр 09, 2015 06:53   Debug Ответить с цитатой
Полезность: Нет оценки
Как реализовать отладку в операциях. Точнее как написать саму процедуру отладки, далее как её использовать, вызвать куда надо?
Alkov
Профи
Неподтвержденный


Вступление в Клуб: 23.09.2010
СообщениеЧт Апр 09, 2015 09:14    Ответить с цитатой
Полезность: Нет оценки
Чёт не понял. Что в конечном итоге хочешь получить ?
prog
Эксперт
НИКО-БАНК


Вступление в Клуб: 03.03.2008
СообщениеЧт Апр 09, 2015 09:56    Ответить с цитатой
Полезность: Нет оценки
Вот тут можно почитать про один из механизмов отладки 01_Учетное_Ядро -> Приложение 1-05 (Универсальный механизм отладки)
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Апр 09, 2015 11:00   Re: Debug Ответить с цитатой
Полезность: 3
ict_2010 пишет:
Как реализовать отладку в операциях. Точнее как написать саму процедуру отладки, далее как её использовать, вызвать куда надо?


в локальных описаниях пишешь
pragma include ('[RUNTIME].[DEBUG_MACRO]');

в коде в тех местах , где нужно вывести отладку, вставляешь строки

&debug(' комментарий '||переменная,0)

Если нужно включить отладку, идешь в "Справочник включения отладки", добавляешь строку "класс операции" - короткое имя ТБП, "Короткое имя операции", "Включена всегда" , "Сессионный".

При этом происходит перекомпиляция операции , и макрос заменяется на debug_pipe.

Для отключения отладки - в записи изменить Режим отладки - "Отключена"


Перед запуском операции необходимо запустить из Навигатора "Управление " - Монитор сессии, куда и будут выводиться отладочные сообщения
Mourinjo
Участник
Неподтвержденный


Вступление в Клуб: 21.12.2010
СообщениеПт Апр 07, 2017 20:43   Влияние перекомпиляции операции на работу других сессий Ответить с цитатой
Полезность: Нет оценки
Добрый день уважаемые специалисты ЦФТ! Возник вопрос к предыдущему сообщению: если в справочнике "Справочник включения отладки" включить отладку (в этом случае происходит перекомпиляция операции), то будет ли это перекомпиляция влиять на работу пользователей, которые держали эту операцию в этот момент? Грубо говоря, повлияет ли включение отладки на ошибки, например в операции проводки платежного документа (DOC_TO_PROV)
Матвеев Евгений
Профи
Неподтвержденный


Вступление в Клуб: 31.01.2012
СообщениеПт Апр 07, 2017 23:26   Re: Влияние перекомпиляции операции на работу других сессий Ответить с цитатой
Полезность: Нет оценки
Mourinjo пишет:
Добрый день уважаемые специалисты ЦФТ! Возник вопрос к предыдущему сообщению: если в справочнике "Справочник включения отладки" включить отладку (в этом случае происходит перекомпиляция операции), то будет ли это перекомпиляция влиять на работу пользователей, которые держали эту операцию в этот момент? Грубо говоря, повлияет ли включение отладки на ошибки, например в операции проводки платежного документа (DOC_TO_PROV)



Конечно будет влиять...
перекомпиляция операций может блокировать работу прочих пользователей на продолжительное время... особенно если речь о проде ...
перекомпиляция одной операции может привести к десяткам "невалидных" (по факту валидных, но подлежащих перекомпиляции) пакетов на схеме и как результат, остановку бизнес процессов банка
Тем более на операции проводки документов... doc_to_prov... крайне не рекомендую
Указанный режим хорош, когда работаешь с тестом
Не всегда отладка от ЦФТ наглядно отражает работу того кода, который нужен... в общем случае можно сделать копию, например того же doc_to_prov и самостоятельно расставить



Код:

 *   &msg(<text>);
 *      используется для вывода строки как есть.
 *
 *   &debug(<text>, <debug_level>)
 *      используется для вывода строки в формате:
 *         '[CLASS_ID]::[METOD]'||<text>, <debug_level>
 *   
 *   &debug_var(<text>, <variable>, <debug_level>)
 *      используется для вывода значения переменной в формате:
 *         '[CLASS_ID]::[METOD]'||' {<text>} ' || ' <variable> := '||<variable>, <debug_level>
 *
 *   &debug_var2(<variable>, <debug_level>)
 *      используется для вывода переменной <variable> через pragma debug (для сессионного режима)
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

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