kiser, да, именно так. Чтобы доступиться к обработчику ПриОткрытии необходимо:
1. В модуле формы документа приблизительно такой код:
Процедура ПриОткрытии()
Если ТипЗначения(Форма.Параметр)="СписокЗначений" Тогда // Проверим что мы передали то, что нужно
ТЧ=Форма.Параметр.Получить("ТабличнаяЧасть");
ЗагрузитьТабличнуюЧасть(ТЧ);
ВызватьПроцедуруМодуля();
Записать(); // Запишем документ
Форма.Параметр=ТекущийДокумент(); // Вернем записаный документ
СтатусВозврата(0); // Чтобы форма не открывалась
Возврат;
КонецЕсли;
... // Здесь код при обычном открытии формы
КонецПроцедуры
2. Вызвать это таким образом:
Конт=СоздатьОбъект("СписокЗначений");
Конт.Установить("ТабличнаяЧасть",ТаблицаЗначений);
ОткрытьФормуМодально("Документ.ВидДокумента",Конт);
Док=СоздатьОбъект("Документ."+Конт.Вид());
Док.НайтиДокумент(Конт);
...// Редактируем прочие реквизиты документа
Док.Записать();