Имя: Пароль:
1C
1С v8
Как передать реквизит свежесозданного документа в автозаполнение табличной части
0 jyupiter
 
31.01.13
03:34
1С 8.2 УСО (потомок УПП)

Делаю внешнюю обработку заполнения табличных частей.
Документ только создан, но не записан. То есть, ссылка и объект у него пока пустые, но форма есть. В форме заполнены некоторые реквизиты, например Организация.

В
[Процедура Инициализировать(Объект, ИмяТабличнойЧасти = Неопределено, ТабличноеПолеОбъекта = Неопределено)]
я могу передать ТабличноеПолеОбъекта и прекрасно его заполнить без отбора.

Но надо сделать отбор по организации, а я никак не догоню, как её значение передать в обработку. Помогите идеей, пожалуйста
1 jyupiter
 
31.01.13
03:45
ну пожалуйста
2 rphosts
 
31.01.13
03:59
Очень полная инф... что за процедура, какой у неё контекст, где она расположена откуда делаем вызов и т.п.
3 jyupiter
 
31.01.13
04:01
(2) это стандартная процедура в заполнении табличной части встраиваемой внешней обработкой из Справочник «Внешние  обработки, печатные формы, обработки по заполнению табличных частей»
4 jyupiter
 
31.01.13
04:03
Но я в общем, уже решил проблему записью объекта перед заполнением. Тогда я могу обратиться к реквизитам объекта, а не к значениям элементов формы.

Надёжно, но, увы, некрасиво(
5 jyupiter
 
31.01.13
04:10
(2) Цытата из СП, если интересно:

Обработка для заполнения ТЧ объектов.

Внешняя обработка, содержащая:

Необязательный реквизит «ДополнительныеПараметры» произвольного типа, которому будут передаваться дополнительные параметры примитивного типа в виде структуры.
В модуле экспортную процедуру: Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта)
где:  

Объект - ДокументОбъект, СправочникОбъект - откуда был произведен вызов процедуры заполнения внешней обработки;
ИмяТабличнойЧасти  – Строка. Имя табличной части, для которой вызвана обработка;
ТабличноеПолеОбъекта  – Элемент формы: Табличное поле. Табличное поле формы, для которого вызвана обработка.

Также обработка может иметь в своем составе макет «Параметры_Авторегистрации», используемый для автоматического заполнения принадлежности печатной формы в справочнике «Внешние обработки» и состоящий из 2-х колонок («полное имя метаданного» и «имя табличной части»).
6 rphosts
 
31.01.13
04:13
(4) хочется красиво? - передавай в параметре структуру со всеми необходимыми данными (в т.ч. и контрагент)
7 rphosts
 
31.01.13
04:14
передавай = передавай в эту процедуру.
8 jyupiter
 
31.01.13
04:21
так в этом и проблема: я не понимаю, как обратиться к этим данным.
Структура ДополнительныеПараметры заполняется в форме элемента справочника "Внешние  обработки, печатные формы, обработки по заполнению табличных частей". То есть жёстко для всех документов, чьи табличные части будут заполняться.

До записи объект документа не определён, обратиться к его реквизитам я не могу.

Фактически, главный вопрос такой: можно ли обратиться к форме через ссылку на один из её элементов?

Если можно, тогда будет понятно, как добыть значение организации.
9 rphosts
 
31.01.13
04:24
(8) ну а если так: создаёшь новый объект, заполняешь его шапку. вызываеш его экспортную процедуру вполняющую чего у тебя там в инициализации зашито
10 jyupiter
 
31.01.13
04:44
(9) всё, я просто затупил. Или перемудрил...

Значения реквизитов объекта такие же, как значения реквизитов формы. Даже если объект ещё не записан. Поэтому всё просто.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший