Имя: Пароль:
1C
 
ОбработчикОжидания не успевает отработать?
,
0 ikbokov
 
30.06.17
15:56
СоздатьДокументы();
Сверка = Объект.СсылкаНаСверку;
Организация = Объект.Организация;
        
Форма=ПолучитьФорму("Документ.ЗапросНаИнформационноеОбслуживаниеНалогоплательщика.Форма.ФормаДокумента",,Сверка);
    
ОписаниеОповещенияКонтекста = Новый ОписаниеОповещения("ПриОткрытииЗавершение", ЭтотОбъект);
        ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещенияКонтекста);
        
ОписаниеОповещения = Новый ОписаниеОповещения("ПослеОтправкиЗавершение", Форма);

КонтекстЭДОКлиент.ОтправкаЗапросаНаИнформационноеОбслуживание(Сверка, Организация, ОписаниеОповещения);

ЗавершитьРаботуСистемы(Ложь);


Суть: Содаю программно сверки в налоговую и хочу их автоматом отправлять. Проблема вот в чём: если я ставлю в конец ЗавершитьРаботуСистемы - окошечко с отправкой не успевает появиться как 1с закрывает себя. Если не закрывать программу - вылезает окно с отправкой и всё хорошо улетает. Но мне нужно закрывать.

КонтекстЭДОКлиент это обработка "документооборотсконтролирующимиорганами" - форма "контейнер клиентских методов"

Вопрос - как мне дожидаться отправки и только потом выполнять последующий код?
1 ikbokov
 
30.06.17
15:57
конфа - БП 3.0
2 lubitelxml
 
30.06.17
16:09
ПослеОтправкиЗавершение - в этой обработке делаешь ЗавершитьРаботуСистемы(Ложь);?
3 lubitelxml
 
30.06.17
16:09
в этой обработке = в этой процедуре
4 ikbokov
 
01.07.17
08:18
Да (3)
5 ikbokov
 
01.07.17
08:20
А хотя, не так понял. Завершаю я именно в куске кода приведенного. ПослеОтправкиЗавершение не трогаю.
6 Cyberhawk
 
01.07.17
09:24
Выполняй что тебе нужно в фоновом задании
7 пипец
 
01.07.17
11:56
(6) не поможет, если тоже самое, форма отрисоваться будет, фоновое тож не взлетит, ибо на клиенте
8 ikbokov
 
01.07.17
19:13
Как вариант вижу вызывать всё на прямую, но как-то совсем костыль
9 mexanik_96
 
01.07.17
19:16
(0) странно как то автор втыкает асинхронности на клиенте убивает поток на клиенте потом спрашивает а х у л и оно не работает, да действительно.(предлагаю в фоновое задание отправку сделать, тогда точно дойдет)
10 Имитация работы
 
01.07.17
19:16
(0) Ответ - не дожидаться отправки в своей процедуре, а завершать работу после завершения отправки работы на информационное обслуживание. Например, в обработчике оповещения
11 Имитация работы
 
01.07.17
19:18
(9) Автор не вытыкает в аснихронность. Сейчас он будет прлсить готовый код, чтобы не перетруждать свой любимый мозг (:
12 mexanik_96
 
01.07.17
19:24
(11) правда? а аписаниеапавещения это тогда что?
13 mexanik_96
 
01.07.17
19:26
в (9) именно речь об асинхронности выполнения кода на клиенте речь была, не знаю что там для (11) асинхронность значит конечно...
14 Имитация работы
 
01.07.17
19:28
(12) Кусок кода. Хорошо, если присланный коллегой.
15 Имитация работы
 
01.07.17
19:42
(13) И да, твоё предложение вынести клиентский функционал асинхронной отправки в фоновое, исполняемое на сервере - тоже ничего так!
16 ikbokov
 
02.07.17
14:26
(9) на сервере нет криптографии, как оно на сервере улетит то? я мб что-то не понимаю конечно.

(10) спасибо за предложенный вариант, обработчик оповещения тоже в типовой части, поэтому в него дописывать ничего не буду.

про асинхронность, я просто типовой код взял, столкнулся с такой проблемой. я не спрашиваю почему, меня интересуют способы дожидаться отправки и потом выполнять последующий код. Может можно как-то это отлавливать.
В любом случае у меня понимание немного появилось куда смотреть.