Имя: Пароль:
1C
1С v8
Обработка заполнения табличной части
0 Joshim
 
21.09.11
11:59
При нажатии в УПП кнопки заполнения табличной части вызывается процедура внешней обработки:

Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт
       
   Форма = ЭтотОбъект.ПолучитьФорму("форма", Объект);
   Форма.Открыть();
   
КонецПроцедуры

Подскажите пожалуйста, как в форму передать ссылку на объект? А затем вызвав из формы процедуру модуля обработки передать в нее объект для заполнения?
1 ZanderZ
 
21.09.11
12:08
сделай реквизит формы и в нее передавай ссылку
2 Joshim
 
21.09.11
12:14
(1) сделал реквизит формы "СсылкаНаОбъект" с типом произвольный. Присваиваю значение в процедуре так:

Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт
   
   СсылкаНаОбъект = Объект;

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


Далее проверяю в процедуре при открытии формы

Процедура ПриОткрытии()

   Если Не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
       Сообщить("пустое значение");    
   КонецЕсли;

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

Сообщает что пустое значение
3 ZanderZ
 
21.09.11
12:16
Форма = ЭтотОбъект.ПолучитьФорму("форма", Объект);
Форма.СсылкаНаОбъект = Объект;
   Форма.Открыть();
4 Joshim
 
21.09.11
12:39
да все работает. А в модуле обработки в процедуре Инициализировать(...) можно задавать пользователю вопрос "табличная часть будет очищена?" или вопрос задается в другой процедуре?
5 ZanderZ
 
21.09.11
12:52
вопрос задавай при нажатии на кнопку заполнения
6 Joshim
 
21.09.11
13:15
(5) прийдется менять код УПП, а этого делать не хочу, поэтому и встраиваю внешнюю обработку! Но это не столь важно..
7 Поручик
 
21.09.11
13:32
(5) А я такие вещи вывожу в обработке. ЧЯДНТ?
(6) Для нахрена менять? Всё прекрасно делается во внешней обработке.
8 ZanderZ
 
21.09.11
13:34
(7) я про то что если пользователь откажется, то зачем лишние вызовы...
9 John83
 
21.09.11
14:03
(8) и ты предлагаешь для каждого такого случая менять конфу?
10 rotting
 
21.09.11
14:07
(2) у тебя типы точно одинаковые, объект не пихаешь вместо ссылки?

СсылкаНаОбъект = Объект;
11 Joshim
 
21.09.11
15:14
Заполнил из внешней обработки, вот только как обновить видимость (процедура УстановитьВидимость()) после заполнения формы документа ??
12 Joshim
 
21.09.11
15:31
Разобрался, можно установить видимость каждому элементу индивидуально