Имя: Пароль:
1C
1С v8
Получение формы на севере
0 Eskeych
 
01.03.22
17:29
Знаю что получить форму на севере нельзя и никто так не делает НО вот типовой код который мне нужно выполнить
&НаСервере
Процедура ВидОперацииПриИзмененииСервер()
    
    ПоступлениеНаРасчетныйСчетФормы.ВидОперацииПриИзмененииСервер(ЭтотОбъект);
    
    Если ПоступлениеНаРасчетныйСчетФормы.ВидОперацииСТабличнойЧастью(Объект.ВидОперации) Тогда
        ПоступлениеНаРасчетныйСчетФормыКлиентСервер.ЗаполнитьРеквизитыРасшифровкаПлатежа(ЭтотОбъект, Истина);
    КонецЕсли;
    
КонецПроцедуры
Вызывается в документе банковские выписки при изменении вида операции
Здесь "ЭтотОбъект" это формаКлиентскогоПриложения. Получается сразу на сервере.
А мне нужно использовать это все во внешней обработке, которая создает много документов сразу.
Пробовал переносить все во внешнюю обработку, но не помогло, потому что я не могу передать на сервер форму, а все выполняется на сервере, никак не обойти
Вопрос: как это сделать. целый день сижу не могу придумать
1 Kassern
 
01.03.22
17:40
(0) пробовали просто объект указать в параметрах, а не форму?
2 Eskeych
 
01.03.22
17:43
(1) не работает тоже, ошибки вываливает, там проверки с формой
3 lubitelxml
 
01.03.22
17:44
Ну перенеси код из ПоступлениеНаРасчетныйСчетФормыКлиентСервер.ЗаполнитьРеквизитыРасшифровкаПлатежа(ЭтотОбъект, Истина); в свою процедуру, посмотри что там происходит в модуле, подпили под себя, чтобы все отработало
4 Eskeych
 
01.03.22
17:45
я уже думал как-то получить форму именно этого документа на клиенте по ссылке, и вызвать процедуру экспортную. но тоже не получается. Хотя может я что-то не так сделал
На форумах пишут так: Форма = ПолучитьФорму("Документ.....");
Форма.НазваниеМоейПроцедуры()
5 Dmitrii
 
гуру
01.03.22
17:55
Зачем тебе вообще форма?
Если ты в обработке создаешь, заполоняешь и записываешь множество объектов, то и работай с этими объектами, а не с их формами?
Так или иначе все обработчики из форм обращаются к методам самого объекта или его менеджера. Иногда ещё в методам из серверных общих модулей.
А то что ты делаешь - страдание хе*нёй.
6 Chai Nic
 
01.03.22
18:32
(5) Такая хотелка возникает, когда нужно заполнить кучу документов, при этом чтобы зависимые данные автоматически пересчитались так же, как при ручном вводе. А при ручном вводе этот пересчет делает метод формы. И приходится повторять код из конфигурации в своей обработке, что бывает сложно сделать. Конечно, приятнее было бы, если бы форму объекта можно было создать неинтерактивно и вызвать её методы.
7 vicof
 
01.03.22
20:46
(5) +1
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.