Имя: Пароль:
1C
 
Программное заполнение документа, как поместить ДокументОбъект в данные формы
0 Momus
 
26.06.20
16:03
Есть конфигурация на бсп с подключаемыми командами. Создал внешнюю обработку заполнения. Логика такая: Создание нового документа через форму объекта -> подключаемая команда "Заполнить" -> вызов клиентского метода в форме обработки -> вызов серверного метода -> заполнение ДокументОбъект -> обновление данных родительской формы (формы документа) с заполненными значениями. На последнем этапе какой-то затык, не могу понять как заполнить родительскую форму вне контекста этой самой формы. Делаю через ЗначениеВДанныеФормы и ОбновитьОтображениеДанных. Что я делаю не так или как надо?
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    ОчиститьСообщения();
    АдресФайлаВоВременномХранилище = "";  
    ДополнительныеПараметры = Новый Структура("ВладелецФормыОбъект", ВладелецФормы.Объект); // чуть ниже заполняю
    ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьИзФайлаЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    НачатьПомещениеФайла(ОписаниеОповещения, АдресФайлаВоВременномХранилище, , , УникальныйИдентификатор);    
КонецПроцедуры    


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

КонецПроцедуры
1 Momus
 
26.06.20
16:18
Основной вопрос: как заполненный ДокументОбъект поместить в данные формы вне контекста этой формы. Через ЗначениеВДанныеФормы же делать надо?
2 runoff_runoff
 
26.06.20
17:04
может так: вернуть данные формы на клиента и выполнить
КопироватьДанныеФормы(ДополнительныеПараметры.ВладелецФормыОбъект, ВладелецФормы.Объект)
3 Momus
 
26.06.20
17:13
(2) видимо зря я сократил свой код. ДополнительныеПараметры.ВладелецФормыОбъект и ВладелецФормы.Объект это одно и тоже. К тому же присвоение происходит в серверной процедуре, а владелец формы доступен только на клиенте.
4 Momus
 
26.06.20
17:14
(3) без создания дополнительный реквизитов передаю через параметры данные формы владельца формы
5 runoff_runoff
 
26.06.20
17:15
(3) это не одно и то же
6 runoff_runoff
 
26.06.20
17:16
как только данные формы перешли с клиента на сервер вне контекста формы.. это копия.. а не одно и тоже..
7 runoff_runoff
 
26.06.20
17:17
// так понятней будет
...
ЗагрузитьИзФайлаНаСервере(Адрес, Файл.Расширение, ДополнительныеПараметры);
КопироватьДанныеФормы(ДополнительныеПараметры.ВладелецФормыОбъект, ВладелецФормы.Объект);
...
8 Momus
 
26.06.20
17:20
(7) да, верно. Разбираясь с загрузкой файла, забыл про азы (6). Спасибо!
Закон Брукера: Даже маленькая практика стоит большой теории.