Имя: Пароль:
1C
 
УФ : Обработка заполнения табличной части с формой диалога (не вижу реквизиты документа)
0 bvb
 
28.08.19
11:25
Делаю обработку заполнения ТЧ документа с формой диалога
пример взят отсюда : http://catalog.mista.ru/public/825702/

Форма диалога вызывается из основной формы обрабоки :
Если НЕ ЗначениеЗаполнено(Объект.Документ) Тогда
        Объект.Документ = ВладелецФормы.Объект.Ссылка;
    КонецЕсли;
    
    ОбъектЗаполнения=Объект.Документ;
    ЗакрытиеФормы = Новый ОписаниеОповещения("ЗаполнениеПоВыбраннымПараметрам", ЭтаФорма); // Название процедуры, которая будет выполняться после закрытия формы "ЗаполнениеПоВыбраннымПараметрам"
    ЗапросПараметров = ОткрытьФорму("ВнешняяОбработка.ЗагрузитьОтчетКомиссионераOZON.Форма.ЗагрузкаExcel", ,ОбъектЗаполнения,,,,ЗакрытиеФормы);

Как мне увидеть в форме диалога реквизиты документа по которому выполняется обработка ?

Несмотря что указан объект заполнения
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Этаформа.ВладелецФормы - неопределенно
КонецПроцедуры
1 sqr4
 
28.08.19
11:27
(0) передавай форму во владельца при открытии формы а не объекты заполнения
2 sqr4
 
28.08.19
11:30
а нет
3 sqr4
 
28.08.19
11:31
Если НЕ ВладелецФормы=Неопределено Тогда
        ВладелецФормы.Прочитать(); // Если обработка вызывалась из документа, то нужно перечитать изменения, чтобы пользователь видел результат обработки
    КонецЕсли;
4 bvb
 
28.08.19
11:41
Засунул объект заполнения в параметры
П = Новый структура;
П.Вставить("ОбъектЗаполнения",ОбъектЗаполнения);
ЗапросПараметров = ОткрытьФорму("ВнешняяОбработка.ЗагрузитьОтчетКомиссионераOZON.Форма.ЗагрузкаExcel", П, ОбъектЗаполнения,,,,ЗакрытиеФормы);

В форме диалога его читаю
Перем ОбъектЗаполнения1 Экспорт;

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ОбъектЗаполнения1 = Параметры.ОбъектЗаполнения;
КонецПроцедуры

Но дальше в серверных процедурах ОбъектЗаполнения1 = Неопределено
5 dezss
 
28.08.19
11:44
(4) Переменная формы на сервере живет только пока осуществляется серверный вызов, насколько я помню.
6 dezss
 
28.08.19
11:44
(5) *Переменная модуля формы
7 dezss
 
28.08.19
11:45
Юзай временное хранилище.
8 bvb
 
28.08.19
12:07
Чет я тупанул :
Просто создать реквизит на форме ОбъектЗаполнения
и
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ОбъектЗаполнения = Параметры.ОбъектЗаполнения;
КонецПроцедуры
9 aleks_default
 
28.08.19
12:16
Реквизит формы должен быть тип ДокументОбъект, а не ДокументСсылка
10 bvb
 
28.08.19
12:43
(9)Я их не буду менять. мне нужно считать реквизиты исходного документа для использования в алгоритме обработки
11 bvb
 
28.08.19
12:46
И еще (вроде тема повторялась) :
При прикреплении обработки к документу -  кнопка с синей стрелкой появляется в командной панели документа.

А если над табличной частью есть кнопка "заполнить" можно прикрепить вызов этой обработки туда ?
12 sqr4
 
28.08.19
12:47
(11) вроде как нет. Но расширения могут и это.
2 + 2 = 3.9999999999999999999999999999999...