Добрый день, заранее прошу простить за глупый вопрос. Дело в том, что в документе есть реквизит с ссылкой на два справочника. Также в этом документе есть табличная часть, в ней должен отображаться состав пищи. Я смог реализовать вывод данных только из одного справочника, где есть табличная часть, пример :Есть справочник Блюда, в котором есть табличная часть Продукты. В этой табличной части есть ссылка на СПРАВОЧНИК Продукты. Если выбирать блюдо в документе, тогда в табличную часть выводятся все данные. Но есть ещё справочник Наборы, у него также есть табличная часть Состав, но у него есть 3 ссылки "Строка, СсылкаСправочникаБлюда, СсылкаСправочникаПродукты". Если в документе уже выбирать НАБОР, тогда выводятся нумерованные пустые поля. Количество полей совпадает с составом в табличной части справочника Наборы.
 Я прошу прощения, что так глупо описал свою проблему. Сама проблема звучит очень легко, но я уже замучился, что не так.

Правильный код для вывода одного блюда

```1c
    Прод = Объект.Блюдо.Продукты.Выгрузить();
    Объект.Продукты.Загрузить(Прод);
    Для Каждого Элемент Из Прод Цикл
    Стр = Объект.Продукты.Добавить();
    Прервать;
    КонецЦикла;
```

Код для вывода состава набора из ДВУХ справочников

```1c
    Набор = Объект.Блюдо.Состав.Выгрузить();
    Объект.Продукты.Загрузить(Набор);
    Для каждого Элемента Из Набор Цикл
    СтрокаТЧ = Объект.Продукты.Добавить()
    КонецЦикла;
```

Проблема только с последним кодом.
---
Попробуйте заполнять ТЧ построчно, проверяя тип значения:

```1c
    Объект.Продукты.Очистить();
    Для Каждого СоставБлюда Из Объект.Блюдо.Состав Цикл
    ДанныеОПродукте = Объект.Продукты.Добавить();
    Если ТипЗнч(СоставБлюда.<ИмяВашегоРеквизита>) = Тип("СправочникСсылка.Продукты") Тогда
    // код для заполнения реквизитов ТЧ документа из справочника Продукты
    ИначеЕсли ТипЗнч(СоставБлюда.<ИмяВашегоРеквизита>) = Тип("СправочникСсылка.Наборы") Тогда
    // код для заполнения реквизитов ТЧ документа из справочника Наборы
    КонецЕсли;
    КонецЦикла;
```
---
и что за циклы у вас в коде?
---
Да, у меня составной тип данных.
Цикл используется для выборки всех элементов из справочника.
Первый код полностью рабочий, думал по аналогии смогу сделать тоже самое и со вторым.
---
подозреваю что если вы удалите цикл в первом коде он тоже будет работать
---
Всё верно, но основная проблема с последним кодом, который выводит пустые поля, но заполняет верное количество товара.
---
и если во втором удалите цикл тоже все заработает
---
Только что пробовал, выводит только количество и пустые поля.
---
имена таблиц отличаются значит, если это так то без цикла никак, только его надо правильно написать
---
Я тоже об этом задумался, запутался уже сам. Попробую ещё раз переписать всё, спасибо.
---
Имена полей разные.
---
тип значения, у строки ТЧ составной?
---
Ну если я правильно понял задачу, то проблема в том, что СтрокаТЧ имеет некорректный тип данных. Т.е. я думаю, что там тип СправочникСсылка.Продукты. Они загружаются корректно, а когда вы грузите строки из справочника "Наборы" то там типы данных отличаются, поэтому загрузка и не происходит.
---
Уже экспериментировал с типами данных, но это не решило ситуацию.
---
Попробуйте заполнять ТЧ построчно, проверяя тип значения:

```1c
    Объект.Продукты.Очистить();
    Для Каждого СоставБлюда Из Объект.Блюдо.Состав Цикл
    ДанныеОПродукте = Объект.Продукты.Добавить();
    Если ТипЗнч(СоставБлюда.<ИмяВашегоРеквизита>) = Тип("СправочникСсылка.Продукты") Тогда
    // код для заполнения реквизитов ТЧ документа из справочника Продукты
    ИначеЕсли ТипЗнч(СоставБлюда.<ИмяВашегоРеквизита>) = Тип("СправочникСсылка.Наборы") Тогда
    // код для заполнения реквизитов ТЧ документа из справочника Наборы
    КонецЕсли;
    КонецЦикла;
```
---
Пробовал реализовать по вашему коду, но итог точно такой же. Я уже пытался поменять тип в табличной части, переписывал несколько раз код. Но в конечном результате выводится только состав из справочника Блюда. Если отдельно пробовать вывести состав из справочника Набор, ничего не меняется.
---
Что значит "итог точно такой же"? Имеет ли реквизит формы составной тип значения, чтобы правильно отображать то, что помещено в объект? Чем заполняется переменная Продукты? Нужен пример полного кода, с именами реквизитов, чтобы понять в чём причина. Без всей картины трудно сказать, что именно не выходит.