Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Авг 22, 2019 10:37  закрыть форму операции |
|
Полезность: Нет оценки
|
добрый день.
подскажите как сделать следующее:
запускается операция, из которой запускается вторая операция.
как при Отмене/Закрытии второй операции сделать так, чтобы вместе с ней закрывалась первая операция? |
|
 |
wolfio Участник - экстремал
Вступление в Клуб: 22.10.2012
|
Чт Авг 22, 2019 10:51   |
|
Полезность: Нет оценки
|
привет
посмотри в сторону обработчика OnClose в клиент скрипте (дока Annex4 его описывает). По-моему его можно вызвать, хотя я проверял.
ну либо, если упростить, используй операцию выбора, которая вызывает операцию без формы, и сама закрывается по завершению вызванной операции.
либо просто plpcall |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Авг 22, 2019 11:16   |
|
Полезность: Нет оценки
|
пример через plpcall можете показать?
пробовал так, но мне показывает ошибку, что повторный запуск невозможен...
Код: | stdio.put_line_buf('<% PLPCALL [тип].[операция](p_info => ''Cancel'') %>'); |
|
|
 |
wolfio Участник - экстремал
Вступление в Клуб: 22.10.2012
|
Чт Авг 22, 2019 14:26   |
|
Полезность: Нет оценки
|
Если я верно понял, ты хочешь чтобы операция1 вызывала операцию2, а по завершении операции2, закрывалась и операция1, верно?
Если так, то plpcall код нужно писать в операции1, вызывая в ней операцию2. При этом тебе не нужно пробрасывать параметр Cancel или Ок, - она же отработать должна с логическим завершением. Ты ее просто вызываешь с нужными параметрами.
Если ты делаешь это на этапе валидации, через спец.контрол, то при вызове добавь выход просто, после вызова, и все. что то типа:
Код: |
if p_info = 'run_another_oper' then
stdio.put_line_buf('<% PLPCALL..
rerurn;
end if;
|
ну я думаю как-то так должно работать. надо просто уже на код смотреть |
|
 |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Чт Авг 22, 2019 15:23   |
|
Полезность: Нет оценки
|
Может так?
В клиент скрипте прописать вызов операций через ScriptPlayEx PLPCALL
в случае если во второй операций нажали cancel вернет 0 закрывайте операцию
Код: | res = Form1.ScriptPlayEx("<% PLPCALL %THIS%.[CONFIRM_COMMISS](%VAR%.V_CLIENT => '" + Number2.Text + "' ) %>")
if (res = 0) then
Main = null
end if |
|
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Авг 22, 2019 17:12   |
|
Полезность: Нет оценки
|
а если не использовать PLPCALL, другими какими-либо способом возможно при закрытии операции 2 следом закрывалась и операция 1??? |
|
 |
wolfio Участник - экстремал
Вступление в Клуб: 22.10.2012
|
Чт Авг 22, 2019 17:26   |
|
Полезность: Нет оценки
|
покажи код свой, хотя бы фрагмент вызова 2ой из первой.
или фрагмент, где ты хочешь ее вызвать.
а тебе нужна 2ая операция с формой именно? |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Пт Авг 23, 2019 09:05   |
|
Полезность: Нет оценки
|
из первой операции вызывается вторая
Код: | str_call := '<% PLPCALL %THIS%.[CLIENT].[ARD_CHECK_ANKETA](%PARAM%.P_DEBUG => ''True'') %>';
stdio.put_line_buf(str_call); |
|
|
 |
wolfio Участник - экстремал
Вступление в Клуб: 22.10.2012
|
Пн Авг 26, 2019 09:31   |
|
Полезность: Нет оценки
|
так вот и добавь выход из первой сразу
Код: |
str_call := '<% PLPCALL %THIS%.[CLIENT].[ARD_CHECK_ANKETA](%PARAM%.P_DEBUG => ''True'') %>';
stdio.put_line_buf(str_call);
return; --операция 1 тут закроется, при этом сообщение о запуске 2ой будет вычитано после закрытия формы 1ой.
|
|
|
 |
|