| Предыдущая тема :: Следующая тема | 
	
	
		| Автор | Сообщение | 
	
		| Псевдоним123 Участник - экстремал
 
 
 Вступление в Клуб: 05.06.2018
 
 | 
			
				|  Пн Окт 07, 2019 11:10   запуск операции через клиент-скрипт |   |  
				| Полезность: Нет оценки 
 |  
				| добрый день. 
 вопрос такой: как из групповой операции запустить списочную операцию с передачей клиента, если на форме только 2 кнопки: ОК и Отмена.
 
 сделал через клиент-скрипт, с msgBox (вопрос при запуске операции - требование заказчика)
 
  	  | Код: |  	  | Public Function Main(LastControl) If LastControl Is Nothing Then
 ' Действия при загрузке формы
 Else
 ' Действия при потере фокуса валидируемого контрола LastControl
 End If
 
 if LastControl is OK then
 if msgBox("Должны быть настроены новые счета. Продолжить?", vbYesNo + vbQuestion, "Внимание") <> vbYes then
 Main = NULL
 LastControl.SetFocus
 exit function
 else
 Form1.ScriptPlayEx("<% PLPCALL %THIS%.[TRANSFER_OST_V](%VAR%.V_DEST_STR => %VAR%.V_VB) %>")
 end if
 end if
 Main = True 'Результат валидатора (True, False, NULL)
 'Execute V_VB.TEXT
 'V_VB.TEXT = ""
 End Function
 
 | 
 |  | 
	
		|  | 
	
		| Volod Эксперт
 
 
 Вступление в Клуб: 19.09.2007
 
 | 
			
				|  Пн Окт 07, 2019 16:26    |   |  
				| Полезность: Нет оценки 
 |  
				| Никак, любой параметр/переменная передаваемые в вызываемую операцию, д.б. на форме вызывающей операции. А зачем именно из клиент - скрипта?
 |  | 
	
		|  | 
	
		| Псевдоним123 Участник - экстремал
 
 
 Вступление в Клуб: 05.06.2018
 
 | 
			
				|  Пн Окт 07, 2019 17:50    |   |  
				| Полезность: Нет оценки 
 |  
				| не подскажете, как передать в операцию p_info = OK??? |  | 
	
		|  | 
	
		| Псевдоним123 Участник - экстремал
 
 
 Вступление в Клуб: 05.06.2018
 
 | 
			
				|  Пн Окт 07, 2019 17:51    |   |  
				| Полезность: Нет оценки 
 |  
				| через клиент-скрипт для того, чтобы можно было вопрос задать с "ДА"/"НЕТ".... |  | 
	
		|  | 
	
		| Volod Эксперт
 
 
 Вступление в Клуб: 19.09.2007
 
 | 
			
				|  Пн Окт 07, 2019 18:38    |   |  
				| Полезность: Нет оценки 
 |  
				| Call Form.ScriptServerValidate(Nothing, "XXXX") где XXXX валидируется в Проверке
 If P_INFO = 'XXXX'  then
 |  | 
	
		|  | 
	
		| Псевдоним123 Участник - экстремал
 
 
 Вступление в Клуб: 05.06.2018
 
 | 
			
				|  Вт Окт 08, 2019 09:48    |   |  
				| Полезность: Нет оценки 
 |  
				| я немного про другое.. 
 как можно запустить из одной операции другую операцию без вызова формы?
 |  | 
	
		|  | 
	
		| Volod Эксперт
 
 
 Вступление в Клуб: 19.09.2007
 
 | 
			
				|  Вт Окт 08, 2019 09:59    |   |  
				| Полезность: Нет оценки 
 |  
				| CALL ТБП.ОПЕРАЦИЯ id |  | 
	
		|  | 
	
		| Псевдоним123 Участник - экстремал
 
 
 Вступление в Клуб: 05.06.2018
 
 | 
			
				|  Вт Окт 08, 2019 12:17    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Volod пишет: |  	  | CALL ТБП.ОПЕРАЦИЯ id | 
 
 выдает сообщение: "Экземпляр (id операции) не найден, тип ТБП.
 Продолжить загрузку операции?"[/u]
 |  | 
	
		|  | 
	
		| Volod Эксперт
 
 
 Вступление в Клуб: 19.09.2007
 
 | 
			
				|  Вт Окт 08, 2019 16:13    |   |  
				| Полезность: Нет оценки 
 |  
				| Это была конструкция, Вам сложно пример найти в ЦФТ? |  | 
	
		|  | 
	
		| vtar Эксперт
 
 
 Вступление в Клуб: 20.03.2009
 
 | 
			
				|  Ср Окт 09, 2019 07:42    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Volod пишет: |  	  | Call Form.ScriptServerValidate(Nothing, "XXXX") где XXXX валидируется в Проверке
 If P_INFO = 'XXXX'  then
 | 
 в операции завести в переменных переменную v_id тип varchar2 32000 задать ей валидируемое имя v_id положить на форму. Тогда в клиент скрипте можно в нее писать id
 v_id.text = id
 
 В проверке можно
 переменная tb типа type  vr is table of ref[нужная ссылка ]
 tb.delete;
 Tb(1) :=  vr_id;
 Tb.[списочная опер] ; -- запуск списочной над объектом
 |  | 
	
		|  | 
	
		| Эмиралька Эксперт
 
 
 Вступление в Клуб: 09.11.2015
 
 | 
			
				|  Ср Окт 09, 2019 08:22    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Псевдоним123 пишет: |  	  | я немного про другое.. 
 как можно запустить из одной операции другую операцию без вызова формы?
 | 
 
 В VB-скрипте операции задаёте вопрос. Если ответ - да, передаёте управление на сторону сервера с помощью ScriptServerValidate.
 
 в тексте операции в секции валидации при обработке этого события пишете вызов операции.
 
 простую вызывать так: refVariable.[CALL_OPERATION](P_PARAMS);
 
 списочную так:
 type arr_ref is table of [CLASS_OF_CALL_OPERATION];
 arrList arr_ref;
 
 begin
 arr_ref(1) := ссылка_1;
 arr_ref(2) := ссылка_2;
 ...
 arr_ref(n) := ссылка_N;
 arr_ref.[CALL_OPERATION](P_PARAMS);
 
 групповую так:[CLASS_OF_CALL_OPERATION].[CALL_OPERATION](P_PARAMS);
 
 Библиотечная сама по себе не вызывается.
 
 
 ЗЫЖ ну вот, vtar меня опередил
  |  | 
	
		|  | 
	
		| Volod Эксперт
 
 
 Вступление в Клуб: 19.09.2007
 
 | 
			
				|  Ср Окт 09, 2019 09:29    |   |  
				| Полезность: Нет оценки 
 |  
				| У каждого свой хрустальный шар  |  | 
	
		|  | 
	
		| Псевдоним123 Участник - экстремал
 
 
 Вступление в Клуб: 05.06.2018
 
 | 
			
				|  Ср Окт 09, 2019 11:14    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Эмиралька пишет: |  	  |  	  | Псевдоним123 пишет: |  	  | я немного про другое.. 
 как можно запустить из одной операции другую операцию без вызова формы?
 | 
 
 В VB-скрипте операции задаёте вопрос. Если ответ - да, передаёте управление на сторону сервера с помощью ScriptServerValidate.
 
 в тексте операции в секции валидации при обработке этого события пишете вызов операции.
 
 простую вызывать так: refVariable.[CALL_OPERATION](P_PARAMS);
 
 списочную так:
 type arr_ref is table of [CLASS_OF_CALL_OPERATION];
 arrList arr_ref;
 
 begin
 arr_ref(1) := ссылка_1;
 arr_ref(2) := ссылка_2;
 ...
 arr_ref(n) := ссылка_N;
 arr_ref.[CALL_OPERATION](P_PARAMS);
 
 групповую так:[CLASS_OF_CALL_OPERATION].[CALL_OPERATION](P_PARAMS);
 
 Библиотечная сама по себе не вызывается.
 
 
 ЗЫЖ ну вот, vtar меня опередил
  | 
 
 не подскажет, что значит arr_ref(1) := ссылка_1; (ссылка_1)?
 |  | 
	
		|  | 
	
		| vtar Эксперт
 
 
 Вступление в Клуб: 20.03.2009
 
 | 
			
				|  Ср Окт 09, 2019 15:38    |   |  
				| Полезность: Нет оценки 
 |  
				| id   твоего объекта 
 Над которым операция исполняется
 
 Типа this
  |  | 
	
		|  | 
	
		| Эмиралька Эксперт
 
 
 Вступление в Клуб: 09.11.2015
 
 | 
			
				|  Чт Окт 10, 2019 14:42    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Псевдоним123 пишет: |  	  | не подскажет, что значит arr_ref(1) := ссылка_1; (ссылка_1)? | 
 
 Например:
 
  	  | Код: |  	  | 
 declare
 type arr_ref is table of ref [AC_FIN] index by binary_integer;
 arrList arr_ref;
 
 begin
 select x(x) in ::[AC_FIN] where rownum <= 10 into arrList;
 arrList.[SET_CONSOLIDATED](true);
 end;
 
 | 
 |  | 
	
		|  | 
	
		|  |