public object РегламентФормированияДокументовВыпуска_СписокВидовРегулярныхДокументов(/**/)
{
//ВозможныеВидыДокументов = Новый Массив();
//ВозможныеВидыДокументов.Добавить("ВыпускПродукции");
//ВозможныеВидыДокументов.Добавить("ОтчетПроизводстваЗаСмену");
//СписокВидов = Новый СписокЗначений();
return null;
}
// Функция, производящая непосредственное формирование документов.
//
// Параметры
// Настройка - ссылка на настройку
// ДатаНачала - дата начала выборки документов;
// ДатаОкончания - дата окончания выборки документов;
// Ошибка - в параметр будет возвращен текст ошибки (если формирование документов завершится с ошибкой)
// СформированныеДокументы - в параметр будет возвращен массив сформированных документов;
// УчтенныеДокументы - в параметр будет возвращен массив учтенных документов (т.е. тех, по данным которых сформированы документы).
//
// Возвращаемое значение
// Истина - сформировано без ошибок
// Ложь - при формировании документов произошли ошибки
//
public object РегламентФормированияДокументовВыпуска_СформироватьДокументы(/*Настройка, ДатаНачала, ДатаОкончания,
Ошибка = "", СформированныеДокументы = Неопределено, УчтенныеДокументы = Неопределено*/)
{
/*// На основании указанных в настройке параметров будут созданы документы
*/
/*// "ОтчетПроизводстваЗаСмену"
*/
/*// или
*/
/*// "ВыпускПродукции"
*/
/*// Проверим, что по указанному подразделению смены завершены.
*/
if(true/*Настройка.НеОбрабатыватьПериодДоЗавершенияСмен*/)
{
//УстановитьПривилегированныйРежим(Истина);
//ДанныеСмены = РегистрыСведений.ЗавершенныеСмены.Получить(Новый Структура("Подразделение", Настройка.Подразделение));
//УстановитьПривилегированныйРежим(Ложь);
if(true/*ДанныеСмены.ГраницаСмены = '0001-01-01'*/)
{
//Ошибка = Ошибка + "Для формирования документов должны быть завершены смены по " + Формат(ДатаОкончания, "ДЛФ=D");
}
/*// Определим дату и время конца смены, которая завершена
*/
//КонецСмены = ОперативныйУчетПроизводства.ДатаВремяОкончанияСмены(ДанныеСмены.ГраницаСмены, ДанныеСмены.Смена);
if(true/*КонецСмены < КонецДня(ДатаОкончания)*/)
{
//Ошибка = Ошибка + "Для формирования документов должны быть завершены смены по " + Формат(ДатаОкончания, "ДЛФ=D");
}
}
//СформированныеДокументы = Новый Массив;
//УчтенныеДокументы = Новый Массив;
//МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();
/*//используется для всех запросов функции
*/
/*//Получим перечень документов для обработки в соответствии с фильтрами
*/
//Запрос = Новый Запрос();
//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
/*//Определим аргумент функции КонецПериода в зависимости от периодичности
*/
//ОписаниеПериодаДетализации = Строка(Настройка.ПериодДетализации);
/*// Состав ключа запроса (выбираемый в третьем запросе) также дублируется
*/
/*// - в условии запросов, выбирающих данные ТЧ документов;
*/
/*// - в объявлении структуры КлючДокумента
*/
/*// Порядок запросов в пакете важен, так как потом выполняем его методом ВыполнитьПакет()
*/
/*Запрос.Текст =
"ВЫБРАТЬ
| ОтчетМастераСмены.Ссылка КАК Ссылка,
| ОтчетМастераСмены.Подразделение КАК Подразделение,
| НАЧАЛОПЕРИОДА(ВЫБОР
| КОГДА КОНЕЦПЕРИОДА(ОтчетМастераСмены.Дата, "+ОписаниеПериодаДетализации+") > &ГраницаОкончания
| ТОГДА &ГраницаОкончания
| КОГДА КОНЕЦПЕРИОДА(ОтчетМастераСмены.Дата, "+ОписаниеПериодаДетализации+") > КОНЕЦПЕРИОДА(ОтчетМастераСмены.Дата, МЕСЯЦ)
| ТОГДА КОНЕЦПЕРИОДА(ОтчетМастераСмены.Дата, МЕСЯЦ)
| ИНАЧЕ КОНЕЦПЕРИОДА(ОтчетМастераСмены.Дата, "+ОписаниеПериодаДетализации+")
| КОНЕЦ, ДЕНЬ) КАК Дата,
| ОтчетМастераСмены.ГраницаСмены КАК ГраницаСмены
|ПОМЕСТИТЬ ДокументыИсточники
|ИЗ
| Документ.ОтчетМастераСмены КАК ОтчетМастераСмены
|ГДЕ
| ОтчетМастераСмены.Дата МЕЖДУ &ГраницаНачала И &ГраницаОкончания
| И ОтчетМастераСмены.Проведен
| И (ОтчетМастераСмены.Подразделение = &Подразделение ИЛИ &Подразделение=Значение(Справочник.Подразделения.ПустаяСсылка))
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| Дата
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДокументыИсточники.Ссылка КАК Документ,
| ДокументыИсточники.ГраницаСмены КАК ГраницаСмены
|ИЗ
| ДокументыИсточники КАК ДокументыИсточники
|УПОРЯДОЧИТЬ ПО ГраницаСмены
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДокументыИсточники.Дата КАК Дата,
| ДокументыИсточники.Подразделение
|ИЗ
| ДокументыИсточники КАК ДокументыИсточники
|УПОРЯДОЧИТЬ ПО Дата
|;";*/
/*//Значения отбора возьмем из шапки документа
*/
//Отбор = Новый Структура("Ссылка, Подразделение");
//ЗаполнитьЗначенияСвойств(Отбор, Настройка);
//ЗаполнитьЗначенияПараметровЗапроса(Запрос, Отбор);
/*//Период берется из параметров
*/
//Запрос.УстановитьПараметр("ГраницаНачала", ДатаНачала);
//Запрос.УстановитьПараметр("ГраницаОкончания", КонецДня(ДатаОкончания));
/*//Второй запрос пакета содержит выборку документов-источников заполнения
*/
/*//Запоминаем документы, на основании которых проводим заполнение.
*/
//УчтенныеДокументы = РезультатыЗапросов[1].Выгрузить().ВыгрузитьКолонку("Документ");
/*//Третий запрос пакета содержит выборку по ключевым полям создаваемых документов
*/
//ВыборкаКлючейДокументов = РезультатыЗапросов[2].Выбрать();
/*//Подготовим запросы для получения данных
*/
/*// о выпуске
*/
/*// о расходе материалов.
*/
//ЗапросВыпуск = Новый Запрос();
//ЗапросВыпуск.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
/*ЗапросВыпуск.Текст =
"ВЫБРАТЬ
| ОтчетМастераСменыВыпуск.Номенклатура КАК Номенклатура,
| ОтчетМастераСменыВыпуск.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ОтчетМастераСменыВыпуск.СерияНоменклатуры КАК СерияНоменклатуры,
| ОтчетМастераСменыВыпуск.Спецификация КАК Спецификация,
| СУММА(ОтчетМастераСменыВыпуск.Количество * ОтчетМастераСменыВыпуск.Коэффициент / ОтчетМастераСменыВыпуск.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК Количество
|ПОМЕСТИТЬ ДанныеВыпуска
|ИЗ
| Документ.ОтчетМастераСмены.Выпуск КАК ОтчетМастераСменыВыпуск
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДокументыИсточники КАК ДокументыИсточники
| ПО ОтчетМастераСменыВыпуск.Ссылка = ДокументыИсточники.Ссылка
|ГДЕ
| ДокументыИсточники.Дата = &Дата
| И ДокументыИсточники.Подразделение = &Подразделение
| И (НЕ ОтчетМастераСменыВыпуск.Номенклатура.Услуга)
|
|СГРУППИРОВАТЬ ПО
| ОтчетМастераСменыВыпуск.Номенклатура,
| ОтчетМастераСменыВыпуск.ХарактеристикаНоменклатуры,
| ОтчетМастераСменыВыпуск.СерияНоменклатуры,
| ОтчетМастераСменыВыпуск.Спецификация
|
|ИМЕЮЩИЕ
| СУММА(ОтчетМастераСменыВыпуск.Количество * ОтчетМастераСменыВыпуск.Коэффициент / ОтчетМастераСменыВыпуск.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) > 0
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура,
| ХарактеристикаНоменклатуры,
| СерияНоменклатуры,
| Спецификация
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДанныеВыпуска.Номенклатура,
| ДанныеВыпуска.ХарактеристикаНоменклатуры,
| ДанныеВыпуска.СерияНоменклатуры,
| ДанныеВыпуска.Спецификация,
| ДанныеВыпуска.Количество,
| ДанныеВыпуска.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
| ДанныеВыпуска.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент,
| ДанныеВыпуска.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
| ЗНАЧЕНИЕ(Справочник.Качество.Новый) КАК Качество,
| 1 КАК ДоляСтоимости,
| ДанныеВыпуска.Номенклатура.Представление,
| ДанныеВыпуска.ХарактеристикаНоменклатуры.Представление,
| ДанныеВыпуска.СерияНоменклатуры.Представление,
| ДанныеВыпуска.Спецификация.Представление
|ИЗ
| ДанныеВыпуска КАК ДанныеВыпуска
|АВТОУПОРЯДОЧИВАНИЕ";*/
/*//документа
*/
/*// Порядок запросов важен, так как запрос выполняется методом ВыполнитьПакет();
*/
/*// Первый запрос [0] получит данные расхода материалов и поместит во временную таблицу;
*/
/*// Второй запрос [1] нужен для того, чтобы отсечь расход материалов, для которых не указано точно, куда они пошли.
*/
/*// В данном случае ограничиваем только материалами, аналитика распределения которых совпадает с выпуском
*/
/*// с точностью до продукции и характеристики.
*/
/*// Третий запрос [2] получает данные о сводном расходе распределенных материалов (для заполнения закладки "Материалы".
*/
/*// Четвертый запрос [3] получает данные о детальном расходе материалов (для заполнения РаспределениеМатериалов).
*/
//ЗапросМатериалы = Новый Запрос();
//ЗапросМатериалы.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
/*ЗапросМатериалы.Текст =
"ВЫБРАТЬ
| ОтчетМастераСменыРасходМатериалов.Номенклатура,
| ОтчетМастераСменыРасходМатериалов.ХарактеристикаНоменклатуры,
| ОтчетМастераСменыРасходМатериалов.СерияНоменклатуры,
| ОтчетМастераСменыРасходМатериалов.Спецификация КАК Спецификация,
| СУММА(ОтчетМастераСменыРасходМатериалов.Количество * ОтчетМастераСменыРасходМатериалов.Коэффициент / ОтчетМастераСменыРасходМатериалов.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК Количество,
| ОтчетМастераСменыРасходМатериалов.Продукция КАК Продукция,
| ОтчетМастераСменыРасходМатериалов.ХарактеристикаПродукции КАК ХарактеристикаПродукции,
| ОтчетМастераСменыРасходМатериалов.СерияПродукции КАК СерияПродукции,
| ОтчетМастераСменыРасходМатериалов.Номенклатура.СтатьяЗатрат КАК СтатьяЗатрат
|ПОМЕСТИТЬ ДанныеРасходаМатериалов
|ИЗ
| Документ.ОтчетМастераСмены.РасходМатериалов КАК ОтчетМастераСменыРасходМатериалов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДокументыИсточники КАК ДокументыИсточники
| ПО ОтчетМастераСменыРасходМатериалов.Ссылка = ДокументыИсточники.Ссылка
|ГДЕ
| ДокументыИсточники.Дата = &Дата
| И ДокументыИсточники.Подразделение = &Подразделение
| И (НЕ ОтчетМастераСменыРасходМатериалов.Номенклатура.Услуга)
|
|СГРУППИРОВАТЬ ПО
| ОтчетМастераСменыРасходМатериалов.Номенклатура,
| ОтчетМастераСменыРасходМатериалов.ХарактеристикаНоменклатуры,
| ОтчетМастераСменыРасходМатериалов.СерияНоменклатуры,
| ОтчетМастераСменыРасходМатериалов.Спецификация,
| ОтчетМастераСменыРасходМатериалов.Продукция,
| ОтчетМастераСменыРасходМатериалов.ХарактеристикаПродукции,
| ОтчетМастераСменыРасходМатериалов.СерияПродукции,
| ОтчетМастераСменыРасходМатериалов.Номенклатура.СтатьяЗатрат
|
|ИМЕЮЩИЕ
| СУММА(ОтчетМастераСменыРасходМатериалов.Количество * ОтчетМастераСменыРасходМатериалов.Коэффициент / ОтчетМастераСменыРасходМатериалов.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) > 0
|
|ИНДЕКСИРОВАТЬ ПО
| Продукция,
| ХарактеристикаПродукции,
| СерияПродукции,
| Спецификация
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДанныеРасходаМатериалов.Номенклатура,
| ДанныеРасходаМатериалов.ХарактеристикаНоменклатуры,
| ДанныеРасходаМатериалов.СерияНоменклатуры,
| ДанныеРасходаМатериалов.Спецификация,
| СУММА(ДанныеРасходаМатериалов.Количество) КАК Количество,
| ДанныеРасходаМатериалов.Продукция,
| ДанныеРасходаМатериалов.ХарактеристикаПродукции,
| ДанныеРасходаМатериалов.СерияПродукции,
| ДанныеРасходаМатериалов.СтатьяЗатрат,
| ДанныеРасходаМатериалов.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
| ДанныеРасходаМатериалов.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент,
| ДанныеРасходаМатериалов.Продукция.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа
|ПОМЕСТИТЬ ДанныеРаспределенияМатериалов
|ИЗ
| ДанныеРасходаМатериалов КАК ДанныеРасходаМатериалов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДанныеВыпуска.Номенклатура КАК Номенклатура,
| ДанныеВыпуска.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
| ИЗ
| ДанныеВыпуска КАК ДанныеВыпуска) КАК СвернутыеДанныеВыпуска
| ПО ДанныеРасходаМатериалов.Продукция = СвернутыеДанныеВыпуска.Номенклатура
| И ДанныеРасходаМатериалов.ХарактеристикаПродукции = СвернутыеДанныеВыпуска.ХарактеристикаНоменклатуры
|
|СГРУППИРОВАТЬ ПО
| ДанныеРасходаМатериалов.СерияНоменклатуры,
| ДанныеРасходаМатериалов.Продукция,
| ДанныеРасходаМатериалов.Номенклатура,
| ДанныеРасходаМатериалов.ХарактеристикаНоменклатуры,
| ДанныеРасходаМатериалов.СерияПродукции,
| ДанныеРасходаМатериалов.СтатьяЗатрат,
| ДанныеРасходаМатериалов.ХарактеристикаПродукции,
| ДанныеРасходаМатериалов.Спецификация,
| ДанныеРасходаМатериалов.Номенклатура.ЕдиницаХраненияОстатков,
| ДанныеРасходаМатериалов.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент,
| ДанныеРасходаМатериалов.Продукция.НоменклатурнаяГруппа
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДанныеРасходаМатериалов.Номенклатура,
| ДанныеРасходаМатериалов.ХарактеристикаНоменклатуры,
| ДанныеРасходаМатериалов.СерияНоменклатуры,
| СУММА(ДанныеРасходаМатериалов.Количество) КАК Количество,
| ДанныеРасходаМатериалов.СтатьяЗатрат,
| ДанныеРасходаМатериалов.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
| ДанныеРасходаМатериалов.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент,
| ДанныеРасходаМатериалов.Номенклатура.Представление КАК НоменклатураПредставление,
| ДанныеРасходаМатериалов.ХарактеристикаНоменклатуры.Представление КАК ХарактеристикаНоменклатурыПредставление,
| ДанныеРасходаМатериалов.СерияНоменклатуры.Представление КАК СерияНоменклатурыПредставление,
| ДанныеРасходаМатериалов.СтатьяЗатрат.Представление КАК СтатьяЗатратПредставление
|ИЗ
| ДанныеРасходаМатериалов КАК ДанныеРасходаМатериалов
|
|СГРУППИРОВАТЬ ПО
| ДанныеРасходаМатериалов.Номенклатура,
| ДанныеРасходаМатериалов.СерияНоменклатуры,
| ДанныеРасходаМатериалов.ХарактеристикаНоменклатуры,
| ДанныеРасходаМатериалов.СтатьяЗатрат,
| ДанныеРасходаМатериалов.Номенклатура.ЕдиницаХраненияОстатков,
| ДанныеРасходаМатериалов.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент,
| ДанныеРасходаМатериалов.Номенклатура.Представление,
| ДанныеРасходаМатериалов.ХарактеристикаНоменклатуры.Представление,
| ДанныеРасходаМатериалов.СерияНоменклатуры.Представление,
| ДанныеРасходаМатериалов.СтатьяЗатрат.Представление
|АВТОУПОРЯДОЧИВАНИЕ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДанныеРаспределенияМатериалов.Номенклатура КАК Номенклатура,
| ДанныеРаспределенияМатериалов.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ДанныеРаспределенияМатериалов.СерияНоменклатуры КАК СерияНоменклатуры,
| ДанныеРаспределенияМатериалов.Спецификация КАК Спецификация,
| ДанныеРаспределенияМатериалов.Количество,
| ДанныеРаспределенияМатериалов.Продукция КАК Продукция,
| ДанныеРаспределенияМатериалов.ХарактеристикаПродукции КАК ХарактеристикаПродукции,
| ДанныеРаспределенияМатериалов.СерияПродукции КАК СерияПродукции,
| ДанныеРаспределенияМатериалов.СтатьяЗатрат,
| ДанныеРаспределенияМатериалов.ЕдиницаИзмерения,
| ДанныеРаспределенияМатериалов.Коэффициент,
| ДанныеРаспределенияМатериалов.НоменклатурнаяГруппа,
| ДанныеРаспределенияМатериалов.Номенклатура.Представление КАК НоменклатураПредставление,
| ДанныеРаспределенияМатериалов.ХарактеристикаНоменклатуры.Представление КАК ХарактеристикаНоменклатурыПредставление,
| ДанныеРаспределенияМатериалов.СерияНоменклатуры.Представление КАК СерияНоменклатурыПредставление,
| ДанныеРаспределенияМатериалов.Спецификация.Представление КАК СпецификацияПредставление,
| ДанныеРаспределенияМатериалов.Продукция.Представление КАК ПродукцияПредставление,
| ДанныеРаспределенияМатериалов.ХарактеристикаПродукции.Представление КАК ХарактеристикаПродукцииПредставление,
| ДанныеРаспределенияМатериалов.СерияПродукции.Представление КАК СерияПродукцииПредставление,
| ДанныеРаспределенияМатериалов.СтатьяЗатрат.Представление КАК СтатьяЗатратПредставление,
| ДанныеРаспределенияМатериалов.ЕдиницаИзмерения.Представление КАК ЕдиницаИзмеренияПредставление,
| ДанныеРаспределенияМатериалов.НоменклатурнаяГруппа.Представление КАК НоменклатурнаяГруппаПредставление
|ИЗ
| ДанныеРаспределенияМатериалов КАК ДанныеРаспределенияМатериалов
|
|УПОРЯДОЧИТЬ ПО
| Номенклатура,
| ХарактеристикаНоменклатуры,
| СерияНоменклатуры,
| Продукция,
| ХарактеристикаПродукции,
| СерияПродукции,
| Спецификация
|АВТОУПОРЯДОЧИВАНИЕ";*/
/*//Запросы удаления временных таблиц.
*/
/*//Таблицы удаляем принудительно, так как они создаются в цикле
*/
//ЗапросУдалитьВыпуск = Новый Запрос("УНИЧТОЖИТЬ ДанныеВыпуска");
//ЗапросУдалитьВыпуск.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
//ЗапросУдалитьМатериалы = Новый Запрос("УНИЧТОЖИТЬ ДанныеРасходаМатериалов; УНИЧТОЖИТЬ ДанныеРаспределенияМатериалов");
//ЗапросУдалитьМатериалы.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
/*//Если документов больше двух, то покажем индикатор процесса
*/
if(true/*ВыборкаКлючейДокументов.Количество()>2*/)
{
//ФормаИндикатора = ПолучитьОбщуюФорму("ХодВыполненияОбработкиДанных");
//ФормаИндикатора.МаксимальноеЗначение = ВыборкаКлючейДокументов.Количество();
//ФормаИндикатора.КомментарийОбработкиДанных = "Формирование документов";
//ФормаИндикатора.НаименованиеОбработкиДанных = "Формирование документов";
//ФормаИндикатора.Открыть();
}
/*// ОСОБЕННОСТИ ЗАПОЛНЕНИЯ ДОКУМЕНТОВ РАЗНЫХ ВИДОВ
*/
/*ОтразитьМатериалы =
РегламентФормированияДокументовВыпуска_ЗаполнятьМатериалы(Настройка.ВидРегулярногоДокумента)
И Настройка.ОтразитьМатериалы;*/
if(true/*Настройка.ВидРегулярногоДокумента = "ОтчетПроизводстваЗаСмену"*/)
{
//ТабличныеЧастиСоСчетами = Новый Структура("Продукция,РаспределениеМатериалов");
//ЕстьСчетаВШапке = Ложь;
}
/*//Получим не зависящие от результатов запросов данные
*/
/*ОсновнойОтветственный = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(
глЗначениеПеременной("глТекущийПользователь"),
"ОсновнойОтветственный");*/
//КонстантыДляЗаполнения = Новый Структура();
//КонстантыДляЗаполнения.Вставить("Ответственный", ОсновнойОтветственный);
//КонстантыДляЗаполнения.Вставить("ВводитьСтатьиЗатратПоСтрокам", Истина);
//КонстантыДляЗаполнения.Вставить("ИспользоватьМатериалы", ОтразитьМатериалы);
//КонстантыДляЗаполнения.Вставить("Комментарий", "Заполнено данными по отчетам мастера смены");
while(true/*ВыборкаКлючейДокументов.Следующий()*/)
{
/*//Получим исходные данные для заполнения документа.
*/
/*//Параметрами запросов будут значения ключа формируемого документа.
*/
//КлючДокумента = Новый Структура("Дата,Подразделение");
//ЗаполнитьЗначенияСвойств(КлючДокумента, ВыборкаКлючейДокументов);
/*//Запрос по выпуску отражаем всегда, так как он нужен и для заполнения материалов тоже (формирует временную таблицу, используемую в запросе материалов)
*/
//ЗаполнитьЗначенияПараметровЗапроса(ЗапросВыпуск, КлючДокумента);
//ДанныеВыпуск = ЗапросВыпуск.Выполнить();
if(true/*ОтразитьМатериалы*/)
{
//ЗаполнитьЗначенияПараметровЗапроса(ЗапросМатериалы, КлючДокумента);
//МассивРезультатов = ЗапросМатериалы.ВыполнитьПакет();
//ДанныеРаспределениеМатериалов = МассивРезультатов[3];
//ДанныеМатериалы = МассивРезультатов[2];
}
/*//Удаляем временные таблицы
*/
//ЗапросУдалитьВыпуск.Выполнить();
if(true/*ОтразитьМатериалы*/)
{
//ЗапросУдалитьМатериалы.Выполнить();
}
/*// СОЗДАЕМ ДОКУМЕНТ И ЗАПОЛНЯЕМ ЕГО
*/
//НовыйДокумент = Документы[Настройка.ВидРегулярногоДокумента].СоздатьДокумент();
/*//Заполняем документ данными запросов и общих реквизитов (т.е. данными подсистемы Оперативного учета производства)
*/
//ЗаполнитьЗначенияСвойств(НовыйДокумент, Настройка, "Организация,ПодразделениеОрганизации,Склад,ОтражатьВУправленческомУчете,ОтражатьВБухгалтерскомУчете,ОтражатьВНалоговомУчете");
if(true/*Настройка.ОтразитьВыпуск*/)
{
//НовыйДокумент.Продукция.Загрузить(ДанныеВыпуск.Выгрузить());
}
if(true/*ОтразитьМатериалы*/)
{
//НовыйДокумент.Материалы.Загрузить(ДанныеМатериалы.Выгрузить());
//НовыйДокумент.РаспределениеМатериалов.Загрузить(ДанныеРаспределениеМатериалов.Выгрузить());
}
/*//Дозаполняем документ данными ключа
*/
//ЗаполнитьЗначенияСвойств(НовыйДокумент, КлючДокумента);
/*//Дозаполняем документ константами
*/
//ЗаполнитьЗначенияСвойств(НовыйДокумент, КонстантыДляЗаполнения);
/*//Дозаполняем документ внешними по отношению к подсистеме данными
*/
if(true/*НовыйДокумент.ОтражатьВБухгалтерскомУчете*/)
{
/*//подразделение организации (может быть задано Настройкой)
*/
if(true/*НовыйДокумент.ПодразделениеОрганизации.Пустая()*/)
{
//НовыйДокумент.ПодразделениеОрганизации = УправлениеЗатратами.ПолучитьПодразделениеОрганизации(НовыйДокумент.Организация, НовыйДокумент.Подразделение, Истина);
}
/*// счета учета затрат в шапке документа
*/
if(true/*ЕстьСчетаВШапке*/)
{
//НовыйДокумент.ЗаполнитьСчетаУчетаВШапке();
}
/*// счета учета номенклатуры
*/
}
/*//Сохраняем документ
*/
//Сообщение = "Ошибка при записи документа " + НовыйДокумент.Метаданные().Синоним + ": ";
/*//Запоминаем созданный документ
*/
//СформированныеДокументы.Добавить(НовыйДокумент.Ссылка);
/*//При необходимости этими же данными можем заполнить и документы другого вида
*/
/*//Обновим индикатор выполнения
*/
if(true/*ФормаИндикатора <> Неопределено*/)
{
//ФормаИндикатора.КомментарийЗначения = "" + НовыйДокумент.Ссылка;
//ФормаИндикатора.Значение = ФормаИндикатора.Значение + 1;
//ОбработкаПрерыванияПользователя();
}
}
if(true/*ФормаИндикатора <> Неопределено*/)
{
//ФормаИндикатора.Закрыть();
}
return null;
}