public void ЗаполнитьРаспределениеМатериаловНаПродукцию(/*СтруктураШапкиДокумента, Материалы, ТаблицаПродукция, РаспределениеМатериалов, СтруктураДопКолонок, Отбор, ПараметрыВыпускаПродукции = Неопределено, ЭтоВозвратныеОтходы = Ложь*/)
{
//ИспользуютсяХарактеристикиНоменклатуры = Константы.ИспользоватьХарактеристикиНоменклатуры.Получить();
//ОтражатьВБухгалтерскомУчете = СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете;
//ОтражатьВНалоговомУчете = СтруктураШапкиДокумента.ОтражатьВНалоговомУчете;
//ДатаСпецификации = СтруктураШапкиДокумента.Дата;
if(true/*НЕ СтруктураШапкиДокумента.Свойство("ИспользоватьЗаказы", ИспользоватьЗаказы)*/)
{
//ИспользоватьЗаказы = Истина;
}
if(true/*НЕ СтруктураШапкиДокумента.Свойство("ИспользоватьНаработку", ИспользоватьНаработку)*/)
{
//ИспользоватьНаработку = Истина;
}
if(true/*НЕ СтруктураШапкиДокумента.Свойство("РаспределятьПропорциональноКоличеству", РаспределятьПропорциональноКоличеству)*/)
{
//РаспределятьПропорциональноКоличеству = Ложь;
}
if(true/*НЕ СтруктураШапкиДокумента.Свойство("ИспользоватьАналитикуНЗП", ИспользоватьАналитикуНЗП)*/)
{
//ИспользоватьАналитикуНЗП = Ложь;
}
/*ИспользоватьРасширеннуюАналитику = глЗначениеПеременной("ИспользоватьРасширеннуюАналитикуУчетаНоменклатурыИЗатрат")
И (глЗначениеПеременной("ДатаНачалаИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат") <= СтруктураШапкиДокумента.Дата);*/
//ТабличнаяЧастьПродукция = Новый ТаблицаЗначений;
//ТабличнаяЧастьПродукция.Колонки.Добавить("Номенклатура");
//ТабличнаяЧастьПродукция.Колонки.Добавить("ХарактеристикаНоменклатуры");
//ТабличнаяЧастьПродукция.Колонки.Добавить("СерияНоменклатуры");
//ТабличнаяЧастьПродукция.Колонки.Добавить("ЕдиницаИзмерения");
//ТабличнаяЧастьПродукция.Колонки.Добавить("Коэффициент", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(10, 3));
//ТабличнаяЧастьПродукция.Колонки.Добавить("Спецификация");
//ТабличнаяЧастьПродукция.Колонки.Добавить("Количество", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 3));
//ТабличнаяЧастьПродукция.Колонки.Добавить("КоличествоДоделка", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 3));
//ТабличнаяЧастьПродукция.Колонки.Добавить("КлючСвязи", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 0));
//СтруктураДопКолонок.Вставить("ЭтоДоделка");
//ДопКолонки = "";
//ТаблицаИсточник = ТабличнаяЧастьПродукция.СкопироватьКолонки();
//ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПродукция, ТабличнаяЧастьПродукция);
//ТабличнаяЧастьПродукция.Свернуть("Номенклатура, ХарактеристикаНоменклатуры, СерияНоменклатуры, ЕдиницаИзмерения, Спецификация, Коэффициент, КлючСвязи" + ДопКолонки, "Количество, КоличествоДоделка");
//ТаблицаМатериалыПродукция = Новый ТаблицаЗначений;
//ТаблицаМатериалыПродукция.Колонки.Добавить("Номенклатура");
//ТаблицаМатериалыПродукция.Колонки.Добавить("ХарактеристикаНоменклатуры");
//ТаблицаМатериалыПродукция.Колонки.Добавить("ЕдиницаИзмерения");
//ТаблицаМатериалыПродукция.Колонки.Добавить("Количество");
//ТаблицаМатериалыПродукция.Колонки.Добавить("Продукция");
//ТаблицаМатериалыПродукция.Колонки.Добавить("ХарактеристикаПродукции");
//ТаблицаМатериалыПродукция.Колонки.Добавить("Спецификация");
//МассивТиповЗаказа = Новый Массив;
//МассивТиповЗаказа.Добавить(Тип("ДокументСсылка.ЗаказПокупателя"));
//МассивТиповЗаказа.Добавить(Тип("ДокументСсылка.ЗаказНаПроизводство"));
//ТаблицаПотребностей = Новый ТаблицаЗначений;
//ТаблицаПотребностей.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
//ТаблицаПотребностей.Колонки.Добавить("ХарактеристикаНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
//ТаблицаПотребностей.Колонки.Добавить("СерияНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
//ТаблицаПотребностей.Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.СпецификацииНоменклатуры"));
//ТаблицаПотребностей.Колонки.Добавить("НоменклатурнаяГруппа", Новый ОписаниеТипов("СправочникСсылка.НоменклатурныеГруппы"));
//ТаблицаПотребностей.Колонки.Добавить("Заказ", Новый ОписаниеТипов(МассивТиповЗаказа));
//ТаблицаПотребностей.Колонки.Добавить("ЗаказВыпуска", Новый ОписаниеТипов(МассивТиповЗаказа));
//ТаблицаПотребностей.Колонки.Добавить("Материал", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
//ТаблицаПотребностей.Колонки.Добавить("ХарактеристикаМатериала", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
//ТаблицаПотребностей.Колонки.Добавить("СтатьяЗатрат", Новый ОписаниеТипов("СправочникСсылка.СтатьиЗатрат"));
//ТаблицаПотребностей.Колонки.Добавить("ВидВыпуска", Новый ОписаниеТипов("ПеречислениеСсылка.ВидыВыпуска"));
//ТаблицаПотребностей.Колонки.Добавить("СчетЗатрат", Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный"));
//ТаблицаПотребностей.Колонки.Добавить("СчетЗатратНУ", Новый ОписаниеТипов("ПланСчетовСсылка.Налоговый"));
//ТаблицаПотребностей.Колонки.Добавить("Количество", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 3));
//ТаблицаПотребностей.Колонки.Добавить("КоличествоМатериала", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 3));
//ТаблицаПотребностей.Колонки.Добавить("ДоляСтоимости", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 2));
if(true/*ЭтоВозвратныеОтходы*/)
{
//РезультатРазузлования = Новый Структура("ВозвратныеОтходы");
}
//Параметры = Новый Массив;
//МассивОшибок = РазузлованиеНоменклатуры.ПолучитьПотребность(ТаблицаИсточник, РезультатРазузлования, Параметры);
if(true/*МассивОшибок.Количество() > 0*/)
{
}
//Потребности = ?(ЭтоВозвратныеОтходы, РезультатРазузлования.ВозвратныеОтходы, РезультатРазузлования.Потребности);
if(true/*Потребности = Неопределено*/)
{
}
if(true/*НЕ ЭтоВозвратныеОтходы*/)
{
/*// Добавим возможные аналоги материалов.
*/
}
//ТаблицаМатериалы = Материалы.Выгрузить();
//ТаблицаМатериалыКонтроль = ТаблицаМатериалы.Скопировать();
//Колонки = ТаблицаМатериалы.Колонки;
//ЕстьНоменклатурнаяГруппа = Истина;
if(true/*Колонки.Найти("НоменклатурнаяГруппа") = Неопределено*/)
{
//Колонки.Добавить("НоменклатурнаяГруппа", Новый ОписаниеТипов("СправочникСсылка.НоменклатурныеГруппы"));
//ЕстьНоменклатурнаяГруппа = Ложь;
}
//ЕстьПодразделениеНЗП = Истина;
if(true/*Колонки.Найти("ПодразделениеНЗП") = Неопределено*/)
{
//ЕстьПодразделениеНЗП = Ложь;
}
//ЕстьВидВыпуска = Истина;
if(true/*Колонки.Найти("ВидВыпуска") = Неопределено*/)
{
//Колонки.Добавить("ВидВыпуска", Новый ОписаниеТипов("ПеречислениеСсылка.ВидыВыпуска"));
//ЕстьВидВыпуска = Ложь;
}
if(true/*Колонки.Найти("Спецификация") = Неопределено*/)
{
//Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.СпецификацииНоменклатуры"));
}
if(true/*Колонки.Найти("Заказ") = Неопределено*/)
{
//Колонки.Добавить("Заказ", Новый ОписаниеТипов(МассивТиповЗаказа));
}
if(true/*Колонки.Найти("ЗаказВыпуска") = Неопределено*/)
{
//Колонки.Добавить("ЗаказВыпуска", Новый ОписаниеТипов("ДокументСсылка.ЗаказНаПроизводство"));
}
if(true/*Колонки.Найти("СчетЗатрат") = Неопределено*/)
{
//Колонки.Добавить("СчетЗатрат", Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный"));
}
if(true/*Колонки.Найти("СчетЗатратНУ") = Неопределено*/)
{
//Колонки.Добавить("СчетЗатратНУ", Новый ОписаниеТипов("ПланСчетовСсылка.Налоговый"));
}
//ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(Потребности, ТаблицаПотребностей);
/*ТаблицаПотребностей.Свернуть("Номенклатура, ХарактеристикаНоменклатуры, СерияНоменклатуры, Спецификация,
|Материал, ХарактеристикаМатериала, СтатьяЗатрат, ВидВыпуска, Заказ, ЗаказВыпуска" + ДопКолонки, "Количество, КоличествоМатериала");*/
//Колонки = ТаблицаПотребностей.Колонки;
//Колонки.Номенклатура.Имя = "Продукция";
//Колонки.ХарактеристикаНоменклатуры.Имя = "ХарактеристикаПродукции";
//Колонки.СерияНоменклатуры.Имя = "СерияПродукции";
//ЕстьДоляСтоимости = (Колонки.Найти("ДоляСтоимости") <> Неопределено);
/*// Определим наличие полных спецификаций.
*/
//ПолныеСпецификации = Новый Соответствие;
if(true/*ЕстьДоляСтоимости*/)
{
//МассивСпецификаций = ТабличнаяЧастьПродукция.ВыгрузитьКолонку("Спецификация");
/*Запрос = Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Спецификации.Ссылка КАК Спефикация
|ИЗ
| Справочник.СпецификацииНоменклатуры КАК Спецификации
|ГДЕ
| Спецификации.Ссылка В (&МассивСпецификаций)
| И Спецификации.ВидСпецификации = ЗНАЧЕНИЕ(Перечисление.ВидыСпецификаций.Полная)
|");*/
//Запрос.УстановитьПараметр("МассивСпецификаций", МассивСпецификаций);
//Выборка = Запрос.Выполнить().Выбрать();
while(true/*Выборка.Следующий()*/)
{
//ПолныеСпецификации.Вставить(Выборка.Спефикация, Истина);
}
//;;
}
//ПостроительЗапроса = Новый ПостроительЗапроса();
//ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаПотребностей);
//Отбор = ПостроительЗапроса.Отбор;
//Отбор.Добавить("Материал");
//Отбор.Добавить("ХарактеристикаМатериала");
//Отбор.Добавить("Спецификация");
//Отбор.Добавить("НоменклатурнаяГруппа");
//Отбор.Добавить("Заказ");
//Отбор.Добавить("ЗаказВыпуска");
//Отбор.Добавить("ВидВыпуска");
//Отбор.Добавить("СчетЗатрат");
//Отбор.Добавить("СчетЗатратНУ", "СчетЗатратНУ");
//Отбор.Добавить("СтатьяЗатрат");
//Отбор.Материал.Использование = Истина;
//Отбор.ХарактеристикаМатериала.Использование = ИспользуютсяХарактеристикиНоменклатуры;
//Отбор.СчетЗатратНУ.ВидСравнения = ВидСравнения.ВИерархии;
//Отбор.СтатьяЗатрат.ВидСравнения = ВидСравнения.ВСписке;
//МассивКоэф = Новый Массив;
/*// Определим признаки заполнения доп. колонок.
*/
//ЕстьАналитикаНЗП = Ложь;
//ЕстьЕдиницаИзмерения = Ложь;
if(true/*ТипЗнч(СтруктураШапкиДокумента.Ссылка) = Тип("ДокументСсылка.РаспределениеМатериаловНаВыпуск")*/)
{
//ЕстьАналитикаНЗП = Истина;
//ИспользоватьАналитикуНЗП = Истина;
}
if(true/*ТипЗнч(СтруктураШапкиДокумента.Ссылка) = Тип("ДокументСсылка.РаспределениеМатериаловНаВыпуск") ИЛИ ТипЗнч(СтруктураШапкиДокумента.Ссылка) = Тип("ДокументСсылка.ОтчетПроизводстваЗаСмену")*/)
{
//ЕстьЕдиницаИзмерения = Истина;
}
if(true/*РаспределятьПропорциональноКоличеству*/)
{
//ИмяРеквизитаДляДоли = "Количество";
}
//ПредставлениеДокумента = "Заполнение документа: " + СокрЛП(СтруктураШапкиДокумента.Ссылка);
//ТекстНазвание = ?(ЭтоВозвратныеОтходы, " возвратного отхода """, " материала """);
}