| 
 
  
	| Пример макроса для куска кода из другой операции 
 
 |  
	
		| Предыдущая тема :: Следующая тема |  
		| Автор | Сообщение |  
		| yaro4plp Участник
 
 
 Вступление в Клуб: 03.10.2024
 
 | 
			
				|  Сб Окт 19, 2024 16:49   Пример макроса для куска кода из другой операции |   |  
				| Полезность: Нет оценки 
 |  
				| Добрый день! 
 Как сделать макрос для подстановки фрагмента кода из другой операции в plp-исходнике текущей?
 |  |  
		|  |  
		| Эмиралька Эксперт
 
 
 Вступление в Клуб: 09.11.2015
 
 | 
			
				|  Вс Окт 20, 2024 00:32   Re: Пример макроса для куска кода из другой операции |   |  
				| Полезность: 1 
 |  
				|  	  | yaro4plp пишет: |  	  | Добрый день! 
 Как сделать макрос для подстановки фрагмента кода из другой операции в plp-исходнике текущей?
 | 
 
 В одной операции объявляешь макрос public
 в другой подключаешь макросы той, первой, через pragma include
 |  |  
		|  |  
		| yaro4plp Участник
 
 
 Вступление в Клуб: 03.10.2024
 
 | 
			
				|  Вс Окт 20, 2024 08:55   Re: Пример макроса для куска кода из другой операции |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Эмиралька пишет: |  	  |  	  | yaro4plp пишет: |  	  | Добрый день! 
 Как сделать макрос для подстановки фрагмента кода из другой операции в plp-исходнике текущей?
 | 
 
 В одной операции объявляешь макрос public
 в другой подключаешь макросы той, первой, через pragma include
 | 
 
 Спасибо!
 |  |  
		|  |  
		| yaro4plp Участник
 
 
 Вступление в Клуб: 03.10.2024
 
 | 
			
				|  Пн Окт 21, 2024 22:18   Re: Пример макроса для куска кода из другой операции |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | yaro4plp пишет: |  	  |  	  | Эмиралька пишет: |  	  |  	  | yaro4plp пишет: |  	  | Добрый день! 
 Как сделать макрос для подстановки фрагмента кода из другой операции в plp-исходнике текущей?
 | 
 
 В одной операции объявляешь макрос public
 в другой подключаешь макросы той, первой, через pragma include
 | 
 
 Спасибо!
 | 
 
 Использовал встроенные макросы для запуска валидатора и исполняющего блока предка с параметрами и глобальными переменными текущей операции-потомка:
 
 
  	  | Код: |  	  | validate is v_this ref [TBP_NAME];
 begin
 if this is not null then
 
 &BASE$SETVARS; --> передача значений текущих глобальных переменных в операцию-предка
 &BASE$VALIDATE(v_this); --> запуск валидатора-предка с текущими параметрами
 &BASE$GETVARS; --> получение значений глобальных переменных после действий валидатора
 --
 /*
 здесь переопределение и дополнение логики предка
 */
 
 end if;
 end;
 
 execute is
 v_this ref [TBP_NAME];
 begin
 if this is not null then
 
 v_this := this;
 &BASE$SETVARS;
 v_this := &BASE$EXECUTE(v_this); --> запуск исполняющего блока предка с текущими значениями глобальных переменных и параметрами
 
 end if;
 end;
 | 
 |  |  
		|  |  
		|  |  
  
	| 
 
 | Вы не можете начинать темы Вы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 
 |  |