всем доброго дня ребят!я создал новый документ!в нем 2 таблицы!Первая несет в себе Продукт(Номенклатура) и количество,спецификацию!вторую нужно сделать что бы заполнялась на основании спецификации этого продукта!
уже что только не пробывал не получается хоть тресни!сейчас вот взял типой по заполнению по спецификации тч материалы Заказа на производство!чуть подправил все рано не то..пишет ошибку
{Документ.Циклы.МодульОбъекта(113,34)}: Переменная не определена (ПараметрыВыпускаПродукции)
  Для Каждого ПараметрВыпуска из <<?>>ПараметрыВыпускаПродукции Цикл (Проверка: Толстый клиент (обычное приложение))

уже не знаю что делать подскажите пожалуйста!!
конфа Управление производственным предприятием, редакция 1.3 (1.3.111.1)

```1c
    Процедура ЗаполнитьМатериалыПоСпецификации(ТабличнаяЧасть, ИмяТабличнойЧасти) Экспорт

    ТаблицаИсходныеКомплектующие = ТабличнаяЧасть.Выгрузить();

    Параметры = Новый Структура("ПараметрыВыпуска, КоличествоУровнейРазузлования, ДатаСпецификации");
    Параметры.Вставить("РазмещатьВСопутствующихИзделиях", Истина);

    РезультатРазузлования = Новый Структура("ИсходныеКомплектующие");

    Для Каждого СтрокаТабличнойЧасти Из Продукция Цикл

    Если НЕ ЗначениеЗаполнено(СтрокаТабличнойЧасти.Спецификация) Тогда
    Продолжить;
    КонецЕсли;

    РезультатРазузлования.Вставить("ИсходныеКомплектующие", Неопределено);

    СтруктураИсточник = Новый Структура("Номенклатура, ЕдиницаИзмерения, Коэффициент, Количество, Спецификация");
    ЗаполнитьЗначенияСвойств(СтруктураИсточник, СтрокаТабличнойЧасти);

    ПараметрыВыпуска = Новый Соответствие;
    Для Каждого ПараметрВыпуска из ПараметрыВыпускаПродукции Цикл

    Если ПараметрВыпуска.КлючСвязи = СтрокаТабличнойЧасти.КлючСвязи Тогда
    ПараметрыВыпуска.Вставить(ПараметрВыпуска.ВидПараметра.Наименование, ПараметрВыпуска.Значение);
    КонецЕсли;

    КонецЦикла;

    Параметры.ПараметрыВыпуска = ПараметрыВыпуска;
    Параметры.КоличествоУровнейРазузлования = 1;
    Параметры.ДатаСпецификации = Дата;

    МассивОшибок = РазузлованиеНоменклатуры.РазузловатьНоменклатуру(СтруктураИсточник, РезультатРазузлования, Параметры);

    Если МассивОшибок.Количество() > 0 Тогда

    Для каждого Ошибка из МассивОшибок Цикл

    ОбщегоНазначения.Сообщение("Ошибка: " + Ошибка.Причина, Ошибка.СтатусОшибки);
    ОбщегоНазначения.Сообщение(" Спецификация: " + Ошибка.Спецификация);
    ОбщегоНазначения.Сообщение(" Номер строки: " + Ошибка.НомерСтроки);
    ОбщегоНазначения.Сообщение(" Описание ошибки: " + Ошибка.ОписаниеОшибки);

    КонецЦикла;

    КонецЕсли;

    Если РезультатРазузлования.ИсходныеКомплектующие = Неопределено Тогда
    Продолжить;
    КонецЕсли;

    ИсходныеКомплектующие = РезультатРазузлования.ИсходныеКомплектующие;

    ИсходныеКомплектующие.Колонки.Добавить("Продукция");

    ИсходныеКомплектующие.ЗаполнитьЗначения(СтрокаТабличнойЧасти.Номенклатура, "Продукция");

    ИсходныеКомплектующие.ЗаполнитьЗначения(СтрокаТабличнойЧасти.Спецификация, "Спецификация");

    ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ИсходныеКомплектующие, ТаблицаИсходныеКомплектующие);

    КонецЦикла;

    ТаблицаИсходныеКомплектующие.Свернуть("Номенклатура, ЕдиницаИзмерения, Коэффициент, ВидВоспроизводства, Спецификация, Подразделение, Продукция, ХарактеристикаПродукции", "Количество");

    ТабличнаяЧасть.Загрузить(ТаблицаИсходныеКомплектующие);

    Для Каждого СтрокаТабличнойЧасти Из ТабличнаяЧасть Цикл

    ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, Ложь);

    КонецЦикла;

    КонецПроцедуры // ЗаполнитьМатериалыПоСпецификации()
```
---
Sorry, строки из моего кода.
КоличествоУровнейРазузлования указать 1 - если надо только до 1 уровня спецификации или 0 если рекурсивно до последнего уровня.
знСпецификация заменить на СтрокаТабличнойЧасти.Спецификация

```1c
    ПараметрыВыпуска = Неопределено;
    Параметры = Новый Структура;
    Параметры.Вставить("ДатаСпецификации", Дата);
    Параметры.Вставить("КоличествоУровнейРазузлования", 1);
    Параметры.Вставить("ПараметрыВыпуска", ПараметрыВыпуска);
    Параметры.Вставить("Спецификация", СтрокаТабличнойЧасти.Спецификация);
```
---
А мне не понятно, что здесь непонятного. Написано же "Переменная не определена (ПараметрыВыпускаПродукции)". Программа не может понять, что такое "ПараметрыВыпускаПродукции". Я тоже.
---
ПараметрыВыпускаПродукции
Как называется ваша таблица номер2?
---
Материалы
---
ПараметрыВыпускаПродукции - это табличная часть документов ОПзС и Распределения материалов на выпуск.
Используется если расход сырья по факту рассчитывается по каким-либо формулам. Если не указать - расход считается по значениям из спецификаций по умолчанию. Попробуйте рассчитать без указания параметров.

```1c
    ПараметрыВыпуска = Неопределено;
    Параметры = Новый Структура;
    Параметры.Вставить("ДатаСпецификации", Дата);
    Параметры.Вставить("КоличествоУровнейРазузлования", КоличествоУровнейРазузлования);
    Параметры.Вставить("ПараметрыВыпуска", ПараметрыВыпуска);
    Параметры.Вставить("Спецификация", знСпецификация);
```
---
получилось так,он ругается на

{Документ.Циклы.МодульОбъекта(117,57)}: Переменная не определена (КоличествоУровнейРазузлования)
    Параметры.Вставить("КоличествоУровнейРазузлования", <<?>>КоличествоУровнейРазузлования); (Проверка: Толстый клиент (обычное приложение))
{Документ.Циклы.МодульОбъекта(119,40)}: Переменная не определена (знСпецификация)
    Параметры.Вставить("Спецификация", <<?>>знСпецификация); (Проверка: Толстый клиент (обычное приложение))

```1c
    Процедура ЗаполнитьМатериалыПоСпецификации(ТабличнаяЧасть, ИмяТабличнойЧасти) Экспорт

    ТаблицаИсходныеКомплектующие = ТабличнаяЧасть.Выгрузить();

    Параметры = Новый Структура("ПараметрыВыпуска, КоличествоУровнейРазузлования, ДатаСпецификации");
    Параметры.Вставить("РазмещатьВСопутствующихИзделиях", Истина);

    РезультатРазузлования = Новый Структура("ИсходныеКомплектующие");

    Для Каждого СтрокаТабличнойЧасти Из Продукция Цикл

    Если НЕ ЗначениеЗаполнено(СтрокаТабличнойЧасти.Спецификация) Тогда
    Продолжить;
    КонецЕсли;

    РезультатРазузлования.Вставить("ИсходныеКомплектующие", Неопределено);

    СтруктураИсточник = Новый Структура("Номенклатура, ЕдиницаИзмерения, Коэффициент, Количество, Спецификация");
    ЗаполнитьЗначенияСвойств(СтруктураИсточник, СтрокаТабличнойЧасти);

    ПараметрыВыпуска = Неопределено;
    Параметры = Новый Структура;
    Параметры.Вставить("ДатаСпецификации", Дата);
    Параметры.Вставить("КоличествоУровнейРазузлования", КоличествоУровнейРазузлования);
    Параметры.Вставить("ПараметрыВыпуска", ПараметрыВыпуска);
    Параметры.Вставить("Спецификация", знСпецификация);

    Параметры.ПараметрыВыпуска = ПараметрыВыпуска;
    Параметры.КоличествоУровнейРазузлования = 1;
    Параметры.ДатаСпецификации = Дата;

    МассивОшибок = РазузлованиеНоменклатуры.РазузловатьНоменклатуру(СтруктураИсточник, РезультатРазузлования, Параметры);

    Если МассивОшибок.Количество() > 0 Тогда

    Для каждого Ошибка из МассивОшибок Цикл

    ОбщегоНазначения.Сообщение("Ошибка: " + Ошибка.Причина, Ошибка.СтатусОшибки);
    ОбщегоНазначения.Сообщение(" Спецификация: " + Ошибка.Спецификация);
    ОбщегоНазначения.Сообщение(" Номер строки: " + Ошибка.НомерСтроки);
    ОбщегоНазначения.Сообщение(" Описание ошибки: " + Ошибка.ОписаниеОшибки);

    КонецЦикла;

    КонецЕсли;

    Если РезультатРазузлования.ИсходныеКомплектующие = Неопределено Тогда
    Продолжить;
    КонецЕсли;

    ИсходныеКомплектующие = РезультатРазузлования.ИсходныеКомплектующие;

    ИсходныеКомплектующие.Колонки.Добавить("Продукция");

    ИсходныеКомплектующие.ЗаполнитьЗначения(СтрокаТабличнойЧасти.Номенклатура, "Продукция");

    ИсходныеКомплектующие.ЗаполнитьЗначения(СтрокаТабличнойЧасти.Спецификация, "Спецификация");

    ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ИсходныеКомплектующие, ТаблицаИсходныеКомплектующие);

    КонецЦикла;

    ТаблицаИсходныеКомплектующие.Свернуть("Номенклатура, ЕдиницаИзмерения, Коэффициент, ВидВоспроизводства, Спецификация, Подразделение, Продукция, ХарактеристикаПродукции", "Количество");

    ТабличнаяЧасть.Загрузить(ТаблицаИсходныеКомплектующие);

    Для Каждого СтрокаТабличнойЧасти Из ТабличнаяЧасть Цикл

    ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, Ложь);

    КонецЦикла;

    КонецПроцедуры // ЗаполнитьМатериалыПоСпецификации()
```
---
посмотрите пожалуйста сюда!
https://forum.infostart.ru/forum9/topic224742/
---
Sorry, строки из моего кода.
КоличествоУровнейРазузлования указать 1 - если надо только до 1 уровня спецификации или 0 если рекурсивно до последнего уровня.
знСпецификация заменить на СтрокаТабличнойЧасти.Спецификация

```1c
    ПараметрыВыпуска = Неопределено;
    Параметры = Новый Структура;
    Параметры.Вставить("ДатаСпецификации", Дата);
    Параметры.Вставить("КоличествоУровнейРазузлования", 1);
    Параметры.Вставить("ПараметрыВыпуска", ПараметрыВыпуска);
    Параметры.Вставить("Спецификация", СтрокаТабличнойЧасти.Спецификация);
```
---
Все спасибо получилось!)))