Имя: Пароль:
1C
1С v8
Вернуться на клиент с серверной процедуры, вызванной Описанием оповещения
0 Woolf
 
28.12.21
18:41
Всем добрый вечер! Большая просьба, подскажите, есть ли возможность вернуться к клиентской процедуре после того, как отработала серверная в ситуации с ОписаниемОповещения. В модуле формы внешней обработки:
Реализуемо ли получение на клиенте результата выполнения серверной процедуры (ТабличногоДокумента)

&НаКлиенте
Процедура Печать(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    ПараметрыФормы = Новый Структура;
    ОткрытьФорму("ВнешняяОбработка.СчетНаОплату.Форма.ФормаВвода",ПараметрыФормы,,,,,Новый ОписаниеОповещения("ПечатьЗавершениеСервер", ЭтаФорма, ОбъектыНазначенияМассив),
        РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);

        //**************************

КонецПроцедуры

&НаСервере
Функция ПечатьЗавершениеСервер(Результат, ДополнительныеПараметры) Экспорт
    
       //Заполняем табличный документ ТабДок
КонецФункции
1 pechkin
 
28.12.21
18:44
описание оповещения не может быть серверной
2 Woolf
 
28.12.21
18:56
(1) - почему ? нормально на сервере крутится
3 Woolf
 
28.12.21
18:58
вот только заполненный в этой процедуре ТабличныйДокумент не могу показать (на сервере же)
4 lucbak
 
28.12.21
19:23
(0) А зачем вызываешь на сервере если тебе нужен клиент?
5 palpetrovich
 
28.12.21
19:24
(3) не сильно вникая: поместитьвхранилище, передать адрес - достатьизхранилища
как то так
6 ДедМорроз
 
28.12.21
19:38
ОписаниеОповещения обычно клиентская процедура - если указать серверную,то будет неявный серверный вызов,и тогда из него на клиегта вернуться очень сложно

Поэтому,оповещение делаем на клиенте,а сервер мы уже из нее заходим и туда же возвращаемся.
7 Woolf
 
28.12.21
20:03
(4) - на сервере запрос и заполнение ТабличногоДокумента, однако раньше всего получаю пользовательские параметры через ФормуВвода и их передаю в Запрос на сервер
8 timurhv
 
28.12.21
20:34
(2) Так работает, но это ошибка. Что в справке написано на клиенте, что EDT заворачивает такое.
В будущем могут убрать и будет фиаско при обновлении платформы.
9 Сергиус
 
28.12.21
22:36
(0)а как ты из ФормаВвода возвращаешь результат?
10 Сергиус
 
28.12.21
22:39
+(9)Сделай из нее возврат с помощью ОповеститьОВыборе, а в форме обработки подключи клиентскую ОбработкаВыбора.
11 Chameleon1980
 
28.12.21
23:00
в вызываемой форме Закрыть(Результа)
результат разберешь в Описании оповещения
12 Chameleon1980
 
28.12.21
23:03
в описании оповещения у тебя приедет
(Результат, ДополнительныеПараметры)

в результате будет то, что положил при закрытии формы
Закрыть(Результат)
13 Chameleon1980
 
28.12.21
23:04
оповещение тоже хорошо, но оповестить отправляется всем формам и иногда не подходит хоть его и определить можно. просто в разных формах может ловиться одно и то же оповещение. и если формы открыты две или более - обе формы поймают оповещение.
14 acht
 
28.12.21
23:10
(0)
&НаКлиенте
Функция ПечатьЗавершениеСервер(Результат, ДополнительныеПараметры) Экспорт

    ПечатьЗавершениеТочноСервер(Результат, ДополнительныеПараметры);

    // Ура, мы вернулись на клиента!
      
КонецФункции

&НаСервере
Процедура ПечатьЗавершениеТочноСервер(Результат, ДополнительныеПараметры)

    //Заполняем табличный документ ТабДок

КонецФПроцедуры
15 Chameleon1980
 
28.12.21
23:25
(14) ну да. печать жеж по такому принципу и сделана в типовых
Закон Брукера: Даже маленькая практика стоит большой теории.