Разбираясь с этим вариантом представления двух табличных частей, я столкнулась с проблемкой, создаю в своей базе документ, делаю все так же, но при открытии документа вылазит ошибка:
ИдентификаторКолонки = Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Идент
ификатор;
{Документ.ДоговорРасходный.Форма.Модуль(87)}: Поле агрегатного объекта не обнаружено (Идентификатор)
Процедура ЗаполнениеТаблиц(Таб,Наименование)
ВидДок = ТекущийДокумент().Вид();
ПараметрыТаб = Метаданные.Документ(ВидДок).РеквизитШапки(Наименование).Комментарий;
КолКолонокТаб = Число(глПолучитьЭлемент(ПараметрыТаб,1,","));
КолСтрокТаб = ПолучитьАтрибут(Наименование);
Таб.НоваяКолонка("Номер","Число",3,,"№",3);
Таб.Фиксировать(,1);
Для К = 1 По КолКолонокТаб Цикл
ИдентификаторРеквизита = глПолучитьЭлемент(ПараметрыТаб,К + 1,",");
ИдентификаторКолонки = Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Идентификатор;
НазваниеКолонки = Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Синоним;
ТипКолонки = Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Тип;
ШиринаКолонки = Число(Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Комментарий);
Если ТипКолонки = "Число" Тогда
ДлинаКолонки = Число(Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Длина);
ТочностьКолонки = Число(Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Точность);
РазделятьТриады = Число(Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).РазделятьТриады);
ФорматКолонки = "Ч"+ДлинаКолонки+"."+ТочностьКолонки+"."+?(РазделятьТриады=1,",","");
Таб.НоваяКолонка(ИдентификаторКолонки,ТипКолонки,ДлинаКолонки,ТочностьКолонки,НазваниеКолонки
,ШиринаКолонки,ФорматКолонки,2);
ИначеЕсли ТипКолонки = "Строка" Тогда
ДлинаКолонки = Число(Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Длина);
Таб.НоваяКолонка(ИдентификаторКолонки,ТипКолонки,ДлинаКолонки,,НазваниеКолонки,ШиринаКолонки,
,1);
ИначеЕсли (ТипКолонки = "Справочник") или (ТипКолонки = "Документ") Тогда
ВидКолонки = Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Вид;
Таб.НоваяКолонка(ИдентификаторКолонки,ТипКолонки+"."+ВидКолонки,ДлинаКолонки,,НазваниеКолонки,ШиринаКолонки,,1);
Иначе
Таб.НоваяКолонка(ИдентификаторКолонки,ТипКолонки,,,НазваниеКолонки,ШиринаКолонки,,1);
КонецЕсли;
КонецЦикла;
Для Л = 1 По КолСтрокТаб Цикл
Если ПолучитьСтрокуПоНомеру(Л) = 1 Тогда
Таб.НоваяСтрока();
Для К = 1 По КолКолонокТаб Цикл
ИдентификаторРеквизита = глПолучитьЭлемент(ПараметрыТаб,К + 1,",");
ЗначениеРеквизита = ПолучитьАтрибут(ИдентификаторРеквизита);
Таб.УстановитьЗначение(Л,ИдентификаторРеквизита,ЗначениеРеквизита);
КонецЦикла;
Таб.Номер = Таб.НомерСтроки;
КонецЕсли;
КонецЦикла;
Форма.Закладки.ДобавитьЗначение(Наименование,Метаданные.Документ(ВидДок).РеквизитШапки(Наименование).Синоним);
СписокТаб.ДобавитьЗначение(Таб,Наименование);
КонецПроцедуры // ЗаполнениеТаблиц