| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		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 (для сессионного режима)
 
 | 	 
  | 
			 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
  | 
   
 
		 |