#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("Закупки");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("ПередачаВПереработку");
МеханизмыДокумента.Добавить("ПередачаНаОтветхранение");
МеханизмыДокумента.Добавить("Производство");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетНЗП");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("УчетРабот");
МеханизмыДокумента.Добавить("Обеспечение");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
ОтчетПереработчикаЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ОтчетПереработчика") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаЗаказыПоставщикам(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаУслугиПереработчиковКОформлению(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыПереданныеПереработчику(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыПолученныеОтПереработчика(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходыНезавершенногоПроизводства(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПроизводственныхЗатрат(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииНезавершенногоПроизводства(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаДвиженияНоменклатураДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаВыпускПродукции(Запрос, ТекстыЗапроса, Регистры);
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры);
ОтчетПереработчикаЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры);
ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Автор";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, СоглашениеНаПередачу";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Автор";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Организация", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, СоглашениеНаПередачу, Организация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Менеджер", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Автор, ЗаказПереработчику, Менеджер";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Автор";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Подразделение", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Договор, Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Организация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "БанковскийСчетОрганизации", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Контрагент";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Договор, Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Контрагент";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "БанковскийСчетКонтрагента", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Контрагент";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Контрагент";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
ОписаниеРеквизитов,
"НаименованиеВходящегоДокумента",
Параметры);
КонецПроцедуры
#Область Заполнение
Функция ПараметрыЗаполненияДокумента() Экспорт
ПараметрыЗаполнения = Новый Структура();
ПараметрыЗаполнения.Вставить("МассивЗаказов", Неопределено);
ПараметрыЗаполнения.Вставить("ПоЗаказам", Ложь);
ПараметрыЗаполнения.Вставить("РеквизитыШапки", Неопределено);
ПараметрыЗаполнения.Вставить("ИмяДокумента", "ОтчетПереработчика");
ПараметрыЗаполнения.Вставить("ИмяРегистраЗаказ", "РаспоряженияНаОтгрузкуИВозврат");
ПараметрыЗаполнения.Вставить("ИмяПоляЗаказ", "ЗаказПереработчику");
ПараметрыЗаполнения.Вставить("КлючевыеПоля", "Номенклатура, Характеристика");
Возврат ПараметрыЗаполнения;
КонецФункции
Процедура ИнициализироватьПараметрыЗаполнения(ПараметрыЗаполнения, РеквизитыШапки, МассивЗаказов) Экспорт
ПараметрыЗаполнения.МассивЗаказов = МассивЗаказов;
ПараметрыЗаполнения.РеквизитыШапки = РеквизитыШапки;
ПараметрыЗаполнения.ПоЗаказам = ТипЗнч(МассивЗаказов[0]) = Тип("ДокументСсылка.ЗаказПереработчику");
КонецПроцедуры
Функция ДанныеЗаполненияНакладной(МассивСсылок, СвойстваЗаказов = Неопределено) Экспорт
Реквизиты = "Партнер,Контрагент,Договор,Организация,
|Сделка,НаправлениеДеятельности,Подразделение,
|Валюта,ЗакупкаПодДеятельность";
Если ТипЗнч(МассивСсылок[0]) <> Тип("ДокументСсылка.ПоступлениеОтПереработчика") Тогда
Реквизиты = Реквизиты + ",СпособРаспределенияЗатратНаВыходныеИзделия";
ИначеЕсли ТипЗнч(МассивСсылок[0]) = Тип("ДокументСсылка.ПоступлениеОтПереработчика") Тогда
Реквизиты = Реквизиты + ",УчетСырьяПоНазначениям";
КонецЕсли;
Возврат ОбщегоНазначения.ЗначенияРеквизитовОбъекта(МассивСсылок[0], Реквизиты);
КонецФункции
Функция КлючевыеПоляШапкиРаспоряжения() Экспорт
Возврат "Партнер,Контрагент,Договор,Организация,Сделка,Валюта,НаправлениеДеятельности,Подразделение";
КонецФункции
#КонецОбласти
#Область ПроводкиРеглУчета
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат ОтчетПереработчикаЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат ОтчетПереработчикаЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
#Область Округление
Функция ПараметрыТЧДляОкругления() Экспорт
ПараметрыТЧ = Новый Структура;
ИмяТЧ = "Продукция";
ПараметрыТЧ.Вставить(ИмяТЧ, НоменклатураСервер.ПараметрыПроверкиЗаполненияКоличества());
ПараметрыТЧ[ИмяТЧ].ИмяТЧ = ИмяТЧ;
ПараметрыТЧ[ИмяТЧ].ПроверитьВозможностьОкругления = Ложь;
ИмяТЧ = "ВозвратныеОтходы";
ПараметрыТЧ.Вставить(ИмяТЧ, НоменклатураСервер.ПараметрыПроверкиЗаполненияКоличества());
ПараметрыТЧ[ИмяТЧ].ИмяТЧ = ИмяТЧ;
ПараметрыТЧ[ИмяТЧ].ПроверитьВозможностьОкругления = Ложь;
ИмяТЧ = "Материалы";
ПараметрыТЧ.Вставить(ИмяТЧ, НоменклатураСервер.ПараметрыПроверкиЗаполненияКоличества());
ПараметрыТЧ[ИмяТЧ].ИмяТЧ = ИмяТЧ;
ПараметрыТЧ[ИмяТЧ].ПроверитьВозможностьОкругления = Ложь;
Возврат ПараметрыТЧ;
КонецФункции
#КонецОбласти
#Область Прочее
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ПоступлениеОтПереработчика.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.РасходныйКассовыйОрдер.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.СписаниеБезналичныхДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ПриобретениеУслугПрочихАктивов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаГрафикаВзаиморасчетов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ОтчетПереработчикаЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ОтчетПереработчика) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ОтчетПереработчика.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ОтчетПереработчика);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьПроизводствоНаСтороне";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КомандаОтчет = ВзаиморасчетыСервер.КарточкаРасчетовСПоставщиком_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "ФормаДокумента,ФормаСписка";
КонецЕсли;
КомандаОтчет = ВзаиморасчетыСервер.ЗадолженностьПоставщикам_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "ФормаДокумента,ФормаСписка";
КонецЕсли;
КомандаОтчет = ВзаиморасчетыСервер.ЗадолженностьПоставщикам_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "РабочееМесто";
КомандаОтчет.Важность = "Обычное";
КомандаОтчет.Порядок = 1;
КонецЕсли;
КомандаОтчет = ВзаиморасчетыСервер.КарточкаРасчетовСПоставщиком_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "РабочееМесто";
КомандаОтчет.Важность = "Обычное";
КомандаОтчет.Порядок = 2;
КонецЕсли;
Отчеты.ДеревоСебестоимостиПродукции.ДобавитьКомандуОтчета(КомандыОтчетов);
ОтчетПереработчикаЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
Функция РеквизитыДокумента(ДокументСсылка) Экспорт
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ЗаказПереработчику КАК ЗаказПереработчику,
| ДанныеДокумента.ПоЗаказам КАК ПоЗаказам,
| ДанныеДокумента.СуммаСНДС КАК СуммаДокумента,
| ДанныеДокумента.СуммаСНДС КАК СуммаВзаиморасчетов,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.ПорядокРасчетов КАК ПорядокРасчетов,
| ДанныеДокумента.КурсЧислитель КАК Курс,
| ДанныеДокумента.КурсЗнаменатель КАК Кратность
|
|ИЗ
| Документ.ОтчетПереработчика КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &ДокументСсылка
|");
Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Дата = Выборка.Дата;
Организация = Выборка.Организация;
Партнер = Выборка.Партнер;
Контрагент = Выборка.Контрагент;
Договор = Выборка.Договор;
НаправлениеДеятельности = Выборка.НаправлениеДеятельности;
ПорядокРасчетов = Выборка.ПорядокРасчетов;
ВалютаВзаиморасчетов = Выборка.ВалютаВзаиморасчетов;
ПоЗаказу = Выборка.ПоЗаказам;
СуммаДокумента = Выборка.СуммаДокумента;
СуммаВзаиморасчетов = ?(Выборка.Проведен, Выборка.СуммаВзаиморасчетов, 0);
Курс = Выборка.Курс;
Кратность = Выборка.Кратность;
Иначе
Дата = Дата(1,1,1);
Организация = Справочники.Организации.ПустаяСсылка();
Партнер = Справочники.Партнеры.ПустаяСсылка();
Контрагент = Справочники.Контрагенты.ПустаяСсылка();
Договор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
НаправлениеДеятельности = Справочники.НаправленияДеятельности.ПустаяСсылка();
ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПустаяСсылка();
ВалютаВзаиморасчетов = Справочники.Валюты.ПустаяСсылка();
ПоЗаказу = Ложь;
СуммаДокумента = 0;
СуммаВзаиморасчетов = 0;
Курс = 1;
Кратность = 1;
КонецЕсли;
СтруктураРеквизитов = Новый Структура;
СтруктураРеквизитов.Вставить("Дата", Дата);
СтруктураРеквизитов.Вставить("Организация", Организация);
СтруктураРеквизитов.Вставить("Партнер", Партнер);
СтруктураРеквизитов.Вставить("Контрагент", Контрагент);
СтруктураРеквизитов.Вставить("Договор", Договор);
СтруктураРеквизитов.Вставить("НаправлениеДеятельности", НаправлениеДеятельности);
СтруктураРеквизитов.Вставить("ПорядокРасчетов", ПорядокРасчетов);
СтруктураРеквизитов.Вставить("ВалютаВзаиморасчетов", ВалютаВзаиморасчетов);
СтруктураРеквизитов.Вставить("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчика);
СтруктураРеквизитов.Вставить("ПоЗаказу", ПоЗаказу);
СтруктураРеквизитов.Вставить("СуммаДокумента", СуммаДокумента);
СтруктураРеквизитов.Вставить("СуммаВзаиморасчетов", СуммаВзаиморасчетов);
СтруктураРеквизитов.Вставить("Курс", Курс);
СтруктураРеквизитов.Вставить("Кратность", Кратность);
Возврат СтруктураРеквизитов;
КонецФункции
Функция ДоступноУказаниеЦенВозвратныхОтходов(Объект) Экспорт
ДатаДокумента = ?(ЗначениеЗаполнено(Объект.Дата), Объект.Дата, ТекущаяДатаСеанса());
ПродукцияИОтходыПриПоступленииВОднойТЧ = РасчетСебестоимостиПовтИсп.ПартионныйУчетВерсии22(ДатаДокумента);
Возврат ПродукцияИОтходыПриПоступленииВОднойТЧ;
КонецФункции
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Функция МакетФормыВыбораНазначений() Экспорт
МакетФормы = Справочники.Назначения.МакетФормыВыбораНазначений();
ШаблонНазначения = Справочники.Назначения.ДобавитьШаблонНазначений(МакетФормы);
ШаблонНазначения.НаправлениеДеятельности = "Объект.НаправлениеДеятельности";
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "ОбеспечениеЗаказов", Истина, "Объект.Продукция.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.Продукция.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.Продукция.Характеристика";
ОписаниеКолонок.ПутиКДанным.Склад = "Объект.Партнер";
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "ОбеспечениеЗаказов", Истина, "Объект.ВозвратныеОтходы.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.ВозвратныеОтходы.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.ВозвратныеОтходы.Характеристика";
ОписаниеКолонок.ПутиКДанным.Склад = "Объект.Партнер";
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "МатериалыИРаботыВПроизводстве", Истина, "Объект.Материалы.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Количество").Пометка = Истина;
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.Материалы.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.Материалы.Характеристика";
ОписаниеКолонок.ПутиКДанным.Организация = "Объект.Организация";
ОписаниеКолонок.ПутиКДанным.Подразделение = "Объект.Партнер";
Возврат МакетФормы;
КонецФункции
Функция ПараметрыВыбораСпецификаций(Объект) Экспорт
ПараметрыВыбораСпецификаций = УправлениеДаннымиОбИзделияхКлиентСервер.ПараметрыВыбораСпецификаций();
ПараметрыВыбораСпецификаций.ДоступныеТипы.Добавить(Перечисления.ТипыПроизводственныхПроцессов.Сборка);
ПараметрыВыбораСпецификаций.ДоступныеСтатусы.Добавить(Перечисления.СтатусыСпецификаций.Действует);
СвязиПараметровВыбора = Новый Структура(УправлениеДаннымиОбИзделияхКлиентСервер.ПоляСтруктурыДанныхОбИзделииДляВыбораСпецификации());
СвязиПараметровВыбора.Номенклатура = "Объект.Продукция.Номенклатура";
СвязиПараметровВыбора.Характеристика = "Объект.Продукция.Характеристика";
СвязиПараметровВыбора.НачалоПроизводства = "Объект.Дата";
СвязиПараметровВыбора.НаправлениеДеятельности = "Объект.НаправлениеДеятельности";
ПараметрыВыбораСпецификаций.СвязиПараметровВыбора.Вставить("Объект.Продукция.Спецификация", СвязиПараметровВыбора);
Возврат ПараметрыВыбораСпецификаций;
КонецФункции
Функция ИменаРеквизитовДляЗаполненияПараметровВыбораСпецификаций() Экспорт
ИменаРеквизитов = "";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыРаспределенияЗатрат(Объект) Экспорт
ПараметрыРаспределенияЗатрат = ПроизводствоКлиентСервер.ПараметрыРаспределенияЗатратНаВыходныеИзделия(
"Продукция",
Объект.СпособРаспределенияЗатратНаВыходныеИзделия);
Если Объект.ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.БезГруппировки
Или Объект.ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.ПоСпецификациям
Или Объект.ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.ПоЗаказамНаПроизводство
Или Объект.ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.ПоЭтапамПроизводства Тогда
ПараметрыРаспределенияЗатрат.РассчитыватьПолеДоляСтоимостиПроцент = Истина;
ПараметрыРаспределенияЗатрат.РассчитыватьПризнакЕстьОшибкиЗаполнения = Истина;
ПараметрыРаспределенияЗатрат.РассчитыватьПризнакДоляСтоимостиОбязательна = Истина;
ПараметрыРаспределенияЗатрат.ПараметрыЗаполненияДолейСтоимости.Дата =
?(ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Объект, "Дата"),
Объект.Дата,
Дата("00010101"));
ПараметрыРаспределенияЗатрат.ПараметрыЗаполненияДолейСтоимости.Валюта =
?(ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Объект, "Валюта"),
Объект.Валюта,
Справочники.Валюты.ПустаяСсылка());
Если Объект.ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.ПоСпецификациям
Или Объект.ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.ПоЗаказамНаПроизводство
Тогда
ПараметрыРаспределенияЗатрат.ПолеГруппировкиЗатрат = "НомерГруппыЗатрат";
ПараметрыРаспределенияЗатрат.ПолеПредставленияГруппировкиЗатрат = "ГруппаЗатрат";
ИначеЕсли Объект.ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.ПоЭтапамПроизводства Тогда
ПараметрыРаспределенияЗатрат.ИмяПоляСпособРаспределенияЗатратНаВыходныеИзделия = "СпособРаспределенияЗатратНаВыходныеИзделия";
ПараметрыРаспределенияЗатрат.ПолеГруппировкиЗатрат = "ЭтапПроизводства";
ПараметрыРаспределенияЗатрат.ПолеПредставленияГруппировкиЗатрат = "ЭтапПроизводства";
КонецЕсли;
КонецЕсли;
Возврат ПараметрыРаспределенияЗатрат;
КонецФункции
Функция ПредставлениеОбъектаНаОсновномЯзыке() Экспорт
КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
ПредставлениеОбъекта = НСтр(
"ru = 'Отчет переработчика (2.4)'",
КодОсновногоЯзыка);
Возврат ПредставлениеОбъекта;
КонецФункции
#КонецОбласти
#Область ВыборСтатейИАналитик
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
ПараметрыВыбораСтатей = Новый Массив;
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Продукция";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ЭлементыФормы = ПараметрыВыбора.ЭлементыФормы;
ЭлементыФормы.Статья.Добавить("ПродукцияСтатьяРасходов");
ЭлементыФормы.АналитикаРасходов.Добавить("ПродукцияАналитикаРасходов");
ЭлементыФормы.АналитикаАктивовПассивов.Добавить("ПродукцияАналитикаАктивовПассивов");
ПараметрыВыбора.УсловияДоступностиСтатьиВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыВыбораСтатей.Добавить(ПараметрыВыбора);
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.ВозвратныеОтходы";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ЭлементыФормы = ПараметрыВыбора.ЭлементыФормы;
ЭлементыФормы.Статья.Добавить("ВозвратныеОтходыСтатьяРасходов");
ЭлементыФормы.АналитикаРасходов.Добавить("ВозвратныеОтходыАналитикаРасходов");
ЭлементыФормы.АналитикаАктивовПассивов.Добавить("ВозвратныеОтходыАналитикаАктивовПассивов");
ПараметрыВыбора.УсловияДоступностиСтатьиВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыВыбораСтатей.Добавить(ПараметрыВыбора);
Возврат ПараметрыВыбораСтатей;
КонецФункции
#КонецОбласти
#Область НастройкаСчетовУчета
Функция ПараметрыНастройкиСчетовУчета() Экспорт
ПараметрыНастроек = Новый Массив;
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ДоступностьПоОперации = Истина;
ПараметрыНастройки.ТипСтатьи = "ТипСтатьи";
ПараметрыНастройки.ПутьКДанным = "Объект.Продукция";
ПараметрыНастройки.ЭлементыФормы.Добавить("ПродукцияПредставлениеОтраженияОперации");
ПараметрыНастройки.УсловияДоступностиСчетаУчетаВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыНастроек.Добавить(ПараметрыНастройки);
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ДоступностьПоОперации = Истина;
ПараметрыНастройки.ТипСтатьи = "ТипСтатьи";
ПараметрыНастройки.ПутьКДанным = "Объект.ВозвратныеОтходы";
ПараметрыНастройки.ЭлементыФормы.Добавить("ВозвратныеОтходыПредставлениеОтраженияОперации");
ПараметрыНастройки.УсловияДоступностиСчетаУчетаВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыНастроек.Добавить(ПараметрыНастройки);
Возврат ПараметрыНастроек;
КонецФункции
#КонецОбласти
#Область УчетНДС
Функция ПараметрыЗаполненияВидаДеятельностиНДС(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияВидаДеятельностиНДС();
ПараметрыЗаполнения.Организация = Объект.Организация;
ПараметрыЗаполнения.Дата = Объект.Дата;
ПараметрыЗаполнения.Договор = Объект.Договор;
ПараметрыЗаполнения.НаправлениеДеятельности = Объект.НаправлениеДеятельности;
ПараметрыЗаполнения.ВыпускПродукцииИРабот = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыРегистрацииСчетовФактурПолученных(Объект) Экспорт
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурПолученных();
ПараметрыРегистрации.Ссылка = Объект.Ссылка;
ПараметрыРегистрации.Дата = Объект.Дата;
ПараметрыРегистрации.Организация = Объект.Организация;
ПараметрыРегистрации.Контрагент = Объект.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС =
ПредопределенноеЗначение("Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС");
ПараметрыРегистрации.ПриобретениеТоваровРаботУслуг = Истина;
Возврат ПараметрыРегистрации;
КонецФункции
#КонецОбласти
#Область НаименованиеВходящихДокументов
Функция НаименованияВходящихДокументов() Экспорт
МассивНаименований = Новый Массив();
МассивНаименований.Добавить(НСтр("ru='Отчет переработчика'"));
ОтчетПереработчикаЛокализация.ДополнитьНаименованияВходящихДокументов(МассивНаименований);
Возврат МассивНаименований
КонецФункции
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Партнер)
| И ЗначениеРазрешено(Подразделение)
| И (ЗначениеРазрешено(Продукция.Получатель)
| ИЛИ ЗначениеРазрешено(ВозвратныеОтходы.Получатель)
| ИЛИ Продукция.Получатель ЕСТЬ NULL
| И ВозвратныеОтходы.Получатель ЕСТЬ NULL)";
КонецПроцедуры
#КонецОбласти
#Область ГруппировкаЗатрат
Функция ПереченьПолейГруппыЗатрат(ГруппировкаЗатрат) Экспорт
СписокПолей = Новый СписокЗначений;
КодЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
Если ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукции Тогда
СписокПолей.Добавить("Номенклатура", НСтр("ru = 'Номенклатура'", КодЯзыка));
СписокПолей.Добавить("Характеристика", НСтр("ru = 'Характеристика'", КодЯзыка));
СписокПолей.Добавить("Назначение", НСтр("ru = 'Назначение'", КодЯзыка));
ИначеЕсли ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.ПоСпецификациям Тогда
СписокПолей.Добавить("Спецификация", НСтр("ru = 'Спецификация'", КодЯзыка));
ИначеЕсли ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.ПоЭтапамПроизводства Тогда
СписокПолей.Добавить("ЭтапПроизводства", НСтр("ru = 'Этап производства'", КодЯзыка));
КонецЕсли;
Возврат СписокПолей;
КонецФункции
#КонецОбласти
#Область Взаиморасчеты
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.ВалютаВзаиморасчетов = "Объект.ВалютаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетов = "Объект.СуммаВзаиморасчетов";
СтруктураПараметров.СуммаНДСВзаиморасчетов = "Объект.СуммаНДСВзаиморасчетов";
СтруктураПараметров.КурсЧислитель = "Объект.КурсЧислитель";
СтруктураПараметров.КурсЗнаменатель = "Объект.КурсЗнаменатель";
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.Услуги";
СтруктураПараметров.ДатаПлатежа = "Объект.ДатаПлатежа";
СтруктураПараметров.НадписьЭтапыОплаты = "Форма.НадписьЭтапыОплаты";
СтруктураПараметров.ИмяРеквизитаТЧЗаказ = "";
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "Объект.РасшифровкаПлатежа";
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.НомерПоДаннымПартнера";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.ДатаПоДаннымПартнера";
СтруктураПараметров.НаименованиеПервичногоДокумента = "Объект.НаименованиеВходящегоДокумента";
СтруктураПараметров.НакладнаяПоЗаказам = "Объект.ПоЗаказам";
СтруктураПараметров.ЗаказОснование = "Объект.ЗаказПереработчику";
СтруктураПараметров.ЭлементыФормы.НадписьВалюты = "НадписьВалюты";
СтруктураПараметров.ЭлементыФормы.НадписьЭтапы = "ДекорацияЭтапыОплаты";
СтруктураПараметров.ЭлементыФормы.НадписьРасчеты = "ДекорацияСостояниеРасчетов";
СтруктураПараметров.ЭлементыФормы.ЗачетОплаты = "ЗачетОплатыФорма";
СтруктураПараметров.ЭлементыФормы.СуммаВзаиморасчетовТЧ = "УслугиСуммаВзаиморасчетов";
СтруктураПараметров.ЭлементыФормы.ГруппаФинансовогоУчета = "ГруппаФинансовогоУчета";
СтруктураПараметров.ЭлементыФормы.НаправлениеДеятельности = "НаправлениеДеятельности";
СтруктураПараметров.ПутьКДаннымТЧЭтапыОплаты = "";
СтруктураПараметров.СуммаДокументаФорма = "";
СтруктураПараметров.НалогообложениеНДС = "";
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетов";
Возврат СтруктураПараметров;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
#Область Проведение
#Область Инициализация
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ОтчетПереработчика.Ссылка КАК Ссылка,
| ОтчетПереработчика.Дата КАК Период,
| ОтчетПереработчика.Номер КАК Номер,
| ОтчетПереработчика.Валюта КАК Валюта,
| ОтчетПереработчика.Партнер КАК Партнер,
| ОтчетПереработчика.Контрагент КАК Контрагент,
| ОтчетПереработчика.Организация КАК Организация,
| ОтчетПереработчика.Менеджер КАК Менеджер,
| ОтчетПереработчика.Автор КАК Автор,
| ОтчетПереработчика.Комментарий КАК Комментарий,
| ОтчетПереработчика.Подразделение КАК Подразделение,
| ОтчетПереработчика.Подразделение.ВариантОбособленногоУчетаТоваров КАК ВариантОбособленногоУчетаТоваров,
| ОтчетПереработчика.Сделка КАК Сделка,
| ЕСТЬNULL(ОтчетПереработчика.Сделка.ОбособленныйУчетТоваровПоСделке, ЛОЖЬ) КАК ОбособленныйУчетТоваровПоСделке,
| ОтчетПереработчика.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ОтчетПереработчика.Договор КАК Договор,
| ПРЕДСТАВЛЕНИЕ(ОтчетПереработчика.Договор) КАК ДоговорПредставление,
| ОтчетПереработчика.ДатаПлатежа КАК ДатаПлатежа,
| ОтчетПереработчика.ФормаОплаты КАК ФормаОплаты,
| ОтчетПереработчика.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОтчетПереработчика.ПоЗаказам КАК ПоЗаказам,
| ОтчетПереработчика.ЗаказПереработчику КАК ЗаказПереработчику,
| ОтчетПереработчика.ДатаПоДаннымПартнера КАК ДатаПоДаннымПартнера,
| ОтчетПереработчика.НомерПоДаннымПартнера КАК НомерПоДаннымПартнера,
| ОтчетПереработчика.Проведен КАК Проведен,
| ОтчетПереработчика.ПометкаУдаления КАК ПометкаУдаления,
| ДокЗаказПереработчику.Валюта КАК ВалютаЗаказа,
|
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга) КАК ТипЗапасов,
|
| ОтчетПереработчика.СтавкаНДС КАК СтавкаНДС,
| ОтчетПереработчика.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| НЕОПРЕДЕЛЕНО КАК Серия,
| ОтчетПереработчика.Подразделение КАК Склад,
| ОтчетПереработчика.ГруппировкаЗатрат КАК ГруппировкаЗатрат,
|
| ОтчетПереработчика.СуммаСНДС КАК СтоимостьУслуги,
| ОтчетПереработчика.СуммаДокумента КАК СуммаДокумента,
|
| ОтчетПереработчика.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЕСТЬNULL(ОтчетПереработчика.НаправлениеДеятельности.УчетЗатрат, ЛОЖЬ) КАК УчетЗатратПоНД,
| ЕСТЬNULL(ОтчетПереработчика.НаправлениеДеятельности.УчетРасчетовСПоставщиками, ЛОЖЬ) КАК УчетРасчетовСПоставщикамиПоНД,
| ЕСТЬNULL(ОтчетПереработчика.НаправлениеДеятельности.Назначение,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)) КАК Назначение,
|
| ЕСТЬNULL(ОтчетПереработчика.Договор.ЗаданГрафикИсполнения, ЛОЖЬ) КАК ГрафикИсполненияВДоговоре,
| ОтчетПереработчика.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторОбъектаРасчетов,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика КАК ОтчетПереработчика
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПереработчику КАК ДокЗаказПереработчику
| ПО ДокЗаказПереработчику.Ссылка = ОтчетПереработчика.ЗаказПереработчику
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ОтчетПереработчика.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|ГДЕ
| ОтчетПереработчика.Ссылка = &Ссылка
|";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Запрос.УстановитьПараметр("ПустаяСсылкаСтатья", Справочники.СтатьиКалькуляции.ПустаяСсылка());
Запрос.УстановитьПараметр("ПустаяСсылкаСерия", Справочники.СерииНоменклатуры.ПустаяСсылка());
Запрос.УстановитьПараметр("ПустаяСсылкаНазначение", Справочники.Назначения.ПустаяСсылка());
Запрос.УстановитьПараметр("ВалютаРегламентированногоУчета", ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументСсылка, "Организация")));
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("АналитическийУчетПоГруппамПродукции", ПолучитьФункциональнуюОпцию("АналитическийУчетПоГруппамПродукции"));
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ТипЗнч(ДокументСсылка)));
ИнформацияПоДоговору = Неопределено;
Если ЗначениеЗаполнено(Реквизиты.Договор) Тогда
ШаблонСтроки = "ru = 'По договору ""%1""'";
ИнформацияПоДоговору = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСтроки, Реквизиты.ДоговорПредставление);
КонецЕсли;
Запрос.УстановитьПараметр("ИнформацияПоДоговору", ИнформацияПоДоговору);
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета",
ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиНоменклатуры(Запрос)
Если Запрос = Неопределено ИЛИ Запрос.Параметры.Свойство("КлючиАналитикиНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитики = Новый Запрос(
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Серия КАК Серия
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Подразделение КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| &ПустаяСерия КАК Серия
| ИЗ
| Документ.ОтчетПереработчика.Материалы КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Подразделение КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ЕСТЬNULL(СпрПартииПроизводства.Назначение, &ПустоеНазначение)
| КАК Назначение,
| &ПустаяСерия КАК Серия
| ИЗ
| Документ.ОтчетПереработчика.Материалы КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК СпрПартииПроизводства
| ПО СпрПартииПроизводства.Документ = ТаблицаТовары.Ссылка
| И СпрПартииПроизводства.Код = ТаблицаТовары.НомерГруппыЗатрат
| И НЕ СпрПартииПроизводства.ПометкаУдаления
|
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Подразделение КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| &ПустаяСерия КАК Серия
| ИЗ
| Документ.ОтчетПереработчика.Услуги КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Подразделение КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ЕСТЬNULL(СпрПартииПроизводства.Назначение, &ПустоеНазначение)
| КАК Назначение,
| &ПустаяСерия КАК Серия
| ИЗ
| Документ.ОтчетПереработчика.Услуги КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК СпрПартииПроизводства
| ПО СпрПартииПроизводства.Документ = ТаблицаТовары.Ссылка
| И СпрПартииПроизводства.Код = ТаблицаТовары.НомерГруппыЗатрат
| И НЕ СпрПартииПроизводства.ПометкаУдаления
|
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Партнер КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| &ПустаяСтатья КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| &ПустаяСерия КАК Серия
| ИЗ
| Документ.ОтчетПереработчика.Услуги КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Подразделение КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| &ПустаяСерия КАК Серия
| ИЗ
| Документ.ОтчетПереработчика.ВозвратныеОтходы КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Подразделение КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ЕСТЬNULL(СпрПартииПроизводства.Назначение, &ПустоеНазначение)
| КАК Назначение,
| &ПустаяСерия КАК Серия
| ИЗ
| Документ.ОтчетПереработчика.ВозвратныеОтходы КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК СпрПартииПроизводства
| ПО СпрПартииПроизводства.Документ = ТаблицаТовары.Ссылка
| И СпрПартииПроизводства.Код = ТаблицаТовары.НомерГруппыЗатрат
| И НЕ СпрПартииПроизводства.ПометкаУдаления
|
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Подразделение КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| &ПустаяСтатья КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| &ПустаяСерия КАК Серия
| ИЗ
| Документ.ОтчетПереработчика.Продукция КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Подразделение КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| &ПустаяСтатья КАК СтатьяКалькуляции,
| ТаблицаТовары.Назначение КАК Назначение,
| &ПустаяСерия КАК Серия
| ИЗ
| Документ.ОтчетПереработчика.Продукция КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ) КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.Номенклатура = Аналитика.Номенклатура
| И ТаблицаТовары.Характеристика = Аналитика.Характеристика
| И ТаблицаТовары.Серия = Аналитика.Серия
| И ТаблицаТовары.Склад = Аналитика.МестоХранения
| И ТаблицаТовары.Назначение = Аналитика.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = Аналитика.СтатьяКалькуляции
|ГДЕ
| Аналитика.Номенклатура ЕСТЬ NULL
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.Склад,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.СтатьяКалькуляции,
| ТаблицаТовары.Назначение,
| ТаблицаТовары.Серия");
ЗапросАналитики.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитики.УстановитьПараметр("Подразделение", Запрос.Параметры.Подразделение);
ЗапросАналитики.УстановитьПараметр("Партнер", Запрос.Параметры.Партнер);
ЗапросАналитики.УстановитьПараметр("ПустаяСерия", Справочники.СерииНоменклатуры.ПустаяСсылка());
ЗапросАналитики.УстановитьПараметр("ПустаяСтатья", Справочники.СтатьиКалькуляции.ПустаяСсылка());
ЗапросАналитики.УстановитьПараметр("ПустоеНазначение", Справочники.Назначения.ПустаяСсылка());
Выборка = ЗапросАналитики.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка)
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Процедура УстановитьПараметрыЗапросаАналитикаУчетаПартий(Запрос)
Если Запрос.Параметры.Свойство("АналитикаУчетаПартий") Тогда
Возврат;
КонецЕсли;
РеквизитыПартии = Новый Структура;
РеквизитыПартии.Вставить("Дата", Запрос.Параметры.Период);
РеквизитыПартии.Вставить("ВидЦенности", Перечисления.ВидыЦенностей.ПрочиеРаботыИУслуги);
РеквизитыПартии.Вставить("Поставщик", Запрос.Параметры.Партнер);
РеквизитыПартии.Вставить("Контрагент", Запрос.Параметры.Контрагент);
РеквизитыПартии.Вставить("СтавкаНДС", Запрос.Параметры.СтавкаНДС);
РеквизитыПартии.Вставить("НалогообложениеНДС", Запрос.Параметры.ЗакупкаПодДеятельность);
АналитикаУчетаПартий = Справочники.КлючиАналитикиУчетаПартий.ПолучитьКлючАналитики(РеквизитыПартии);
Запрос.УстановитьПараметр("АналитикаУчетаПартий", АналитикаУчетаПартий);
КонецПроцедуры
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос)
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуЗаказа")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУпр")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуРегл") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(Запрос.Параметры.Валюта,
Запрос.Параметры.ВалютаЗаказа,
Запрос.Параметры.Период,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуЗаказа", Коэффициенты.КоэффициентПересчетаВВалютуВзаиморасчетов);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
КонецПроцедуры
#КонецОбласти
#Область ТекстыЗапросовПроведения
#Область ТекстыЗапросовВременныеТаблицы
Функция ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПартииПроизводства";
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДД.ПартияВыпуска КАК ПартияВыпуска,
| ДД.ЭтапПроизводства КАК ЭтапПроизводства,
| ДД.ПартияПроизводства КАК ПартияПроизводства,
| ЕСТЬNULL(ДД.Назначение,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)) КАК Назначение,
| ЕСТЬNULL(ДД.НаправлениеДеятельности,
| &НаправлениеДеятельности) КАК НаправлениеДеятельности,
| ЕСТЬNULL(ДД.ГруппаПродукции,
| ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)) КАК ГруппаПродукции,
| ЕСТЬNULL(ДД.ВидДеятельностиНДС,
| &ЗакупкаПодДеятельность) КАК ВидДеятельностиНДС,
| ДД.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ДД.ДокументПоступления КАК ДокументПоступления
|ПОМЕСТИТЬ ВтПартииПроизводства
|ИЗ
| (ВЫБРАТЬ
| &Ссылка КАК ПартияВыпуска,
| ТаблицаТовары.ЭтапПроизводства КАК ЭтапПроизводства,
| СпрПартииПроизводства.Ссылка КАК ПартияПроизводства,
| СпрПартииПроизводства.Назначение КАК Назначение,
| СпрПартииПроизводства.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СпрПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| СпрПартииПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ДокументПоступления КАК ДокументПоступления
| ИЗ
| Документ.ОтчетПереработчика.Продукция КАК ТаблицаТовары
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика КАК Реквизиты
| ПО Реквизиты.Ссылка = ТаблицаТовары.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК СпрПартииПроизводства
| ПО СпрПартииПроизводства.Документ = &Ссылка
| И СпрПартииПроизводства.Код = ТаблицаТовары.НомерГруппыЗатрат
| И НЕ СпрПартииПроизводства.ПометкаУдаления
|
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И НЕ Реквизиты.ГруппировкаЗатрат = ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоЭтапамПроизводства)
| ) КАК ДД
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса)
ТекстВыборкаПоляАналитик =
"ВЫБРАТЬ
| ""Продукция"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| Реквизиты.Партнер КАК Поставщик,
| Реквизиты.Контрагент КАК Контрагент,
| Реквизиты.СтавкаНДС КАК СтавкаНДС,
| Реквизиты.ЗакупкаПодДеятельность КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары) КАК ВидЦенности,
| ВЫБОР
| КОГДА &ПартионныйУчетВерсии22
| И &ФИФОСкользящаяОценка
| ТОГДА ТаблицаДокумента.КодСтрокиПродукция
| ИНАЧЕ 0
| КОНЕЦ КАК КодСтроки
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| Документ.ОтчетПереработчика.Продукция КАК ТаблицаДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика КАК Реквизиты
| ПО ТаблицаДокумента.Ссылка = Реквизиты.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ВозвратныеОтходы"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| Реквизиты.Партнер КАК Поставщик,
| Реквизиты.Контрагент КАК Контрагент,
| Реквизиты.СтавкаНДС КАК СтавкаНДС,
| Реквизиты.ЗакупкаПодДеятельность КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары) КАК ВидЦенности,
| 0 КАК КодСтроки
|ИЗ
| Документ.ОтчетПереработчика.ВозвратныеОтходы КАК ТаблицаДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика КАК Реквизиты
| ПО ТаблицаДокумента.Ссылка = Реквизиты.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""Услуги"" КАК ИмяТабличнойЧасти,
| ТаблицаУслуги.НомерСтроки КАК НомерСтроки,
| Реквизиты.Партнер КАК Поставщик,
| Реквизиты.Контрагент КАК Контрагент,
| ТаблицаУслуги.СтавкаНДС КАК СтавкаНДС,
| Реквизиты.ЗакупкаПодДеятельность КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги) КАК ВидЦенности,
| 0 КАК КодСтроки
|ИЗ
| Документ.ОтчетПереработчика.Услуги КАК ТаблицаУслуги
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика КАК Реквизиты
| ПО Реквизиты.Ссылка = ТаблицаУслуги.Ссылка
|
|ГДЕ
| Реквизиты.Ссылка = &Ссылка
|";
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтВидыЗапасов";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПроизводства", ТекстыЗапроса) Тогда
ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеПереработчику) КАК РазделУчета,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ПартииПроизводства.ПартияПроизводства КАК ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска КАК ПартияВыпуска,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК СуммаНДС,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьУпр,
| ПартииПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеРасходовНаПартииПроизводства) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК КорРазделУчета,
| АналитикаПроизводства.КлючАналитики КАК КорАналитикаУчетаНоменклатуры,
| АналитикаПроизводстваБезНазначения.КлючАналитики КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| НЕОПРЕДЕЛЕНО КАК КорГруппаПродукции,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| ТаблицаТовары.ЭтапПроизводства КАК ЭтапПроизводства,
| 0 КАК ДоляСтоимости,
| &Подразделение КАК Подразделение,
| ЛОЖЬ КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК НастройкаСчетовУчета,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ДокументПоступления КАК ДокументПоступления,
| 0 КАК КодСтроки,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СписаниеРасходовНаПартииПроизводства) КАК НастройкаХозяйственнойОперации
|ПОМЕСТИТЬ ВтВидыЗапасов
|ИЗ
| Документ.ОтчетПереработчика.ВидыЗапасов КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ТаблицаТовары.ЭтапПроизводства = ПартииПроизводства.ЭтапПроизводства
| И ТаблицаТовары.НомерГруппыЗатрат = ПартииПроизводства.НомерГруппыЗатрат
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаБезНазначения.Назначение
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводства
| ПО Аналитика.Номенклатура = АналитикаПроизводства.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводства.Характеристика
| И Аналитика.Серия = АналитикаПроизводства.Серия
| И &Подразделение = АналитикаПроизводства.МестоХранения
| И ПартииПроизводства.Назначение = АналитикаПроизводства.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводства.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводстваБезНазначения
| ПО Аналитика.Номенклатура = АналитикаПроизводстваБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводстваБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаПроизводстваБезНазначения.Серия
| И &Подразделение = АналитикаПроизводстваБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаПроизводстваБезНазначения.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводстваБезНазначения.СтатьяКалькуляции
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики,
| ТаблицаТовары.ВидЗапасов,
| ПартииПроизводства.ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска,
| ПартииПроизводства.ГруппаПродукции,
| ПартииПроизводства.ВидДеятельностиНДС,
| АналитикаПроизводства.КлючАналитики,
| АналитикаПроизводстваБезНазначения.КлючАналитики,
| ТаблицаТовары.СтатьяКалькуляции,
| ТаблицаТовары.ЭтапПроизводства,
| ТаблицаТовары.НомерГруппыЗатрат,
| ТаблицаТовары.ДокументПоступления,
| ТаблицаТовары.ИдентификаторСтроки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты) КАК РазделУчета,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ПартииПроизводства.ПартияПроизводства КАК ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска КАК ПартияВыпуска,
| ТаблицаТовары.Количество КАК Количество,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК СуммаНДС,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС, ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка))
| <> ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ &ЗакупкаПодДеятельность
| КОНЕЦ КАК ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК КорРазделУчета,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| НЕОПРЕДЕЛЕНО КАК СтатьяКалькуляции,
| ПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| ВЫБОР
| КОГДА &ПартионныйУчетВерсии22
| И &АналитическийУчетПоГруппамПродукции
| И НЕ ТаблицаТовары.Номенклатура.ГруппаАналитическогоУчета = ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА ТаблицаТовары.Номенклатура.ГруппаАналитическогоУчета
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорГруппаПродукции,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.ЭтапПроизводства КАК ЭтапПроизводства,
| ВЫБОР КОГДА ТаблицаТовары.ДоляСтоимости = 0 ТОГДА ТаблицаТовары.Количество ИНАЧЕ ТаблицаТовары.ДоляСтоимости КОНЕЦ КАК ДоляСтоимости,
| ВЫБОР
| КОГДА ТаблицаТовары.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТаблицаТовары.Получатель
| КОНЕЦ КАК Подразделение,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ДокументПоступления КАК ДокументПоступления,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыпускПродукции) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетПереработчика.Продукция КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ТаблицаТовары.ЭтапПроизводства = ПартииПроизводства.ЭтапПроизводства
| И ТаблицаТовары.НомерГруппыЗатрат = ПартииПроизводства.НомерГруппыЗатрат
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаБезНазначения.Назначение
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаТовары.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Продукция""
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты) КАК РазделУчета,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ПартииПроизводства.ПартияПроизводства КАК ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска КАК ПартияВыпуска,
| ТаблицаТовары.Количество КАК Количество,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Стоимость,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СтоимостьБезНДС,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СтоимостьРегл,
| 0 КАК СуммаНДС,
| 0 КАК НДСУпр,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ
| 0
| КОНЕЦ КАК СтоимостьУпр,
| ПартииПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК КорРазделУчета,
| АналитикаПроизводства.КлючАналитики КАК КорАналитикаУчетаНоменклатуры,
| АналитикаПроизводстваБезНазначения.КлючАналитики КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| ВЫБОР
| КОГДА &ПартионныйУчетВерсии22
| И &АналитическийУчетПоГруппамПродукции
| И НЕ ТаблицаТовары.Номенклатура.ГруппаАналитическогоУчета = ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА ТаблицаТовары.Номенклатура.ГруппаАналитическогоУчета
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорГруппаПродукции,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.ЭтапПроизводства КАК ЭтапПроизводства,
| 0 КАК ДоляСтоимости,
| ВЫБОР
| КОГДА ТаблицаТовары.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТаблицаТовары.Получатель
| КОНЕЦ КАК Подразделение,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ДокументПоступления КАК ДокументПоступления,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыпускПродукцииФиксированнаяСтоимость) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетПереработчика.ВозвратныеОтходы КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ТаблицаТовары.ЭтапПроизводства = ПартииПроизводства.ЭтапПроизводства
| И ТаблицаТовары.НомерГруппыЗатрат = ПартииПроизводства.НомерГруппыЗатрат
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаБезНазначения.Назначение
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводства
| ПО Аналитика.Номенклатура = АналитикаПроизводства.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводства.Характеристика
| И Аналитика.Серия = АналитикаПроизводства.Серия
| И &Подразделение = АналитикаПроизводства.МестоХранения
| И ПартииПроизводства.Назначение = АналитикаПроизводства.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводства.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводстваБезНазначения
| ПО Аналитика.Номенклатура = АналитикаПроизводстваБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводстваБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаПроизводстваБезНазначения.Серия
| И &Подразделение = АналитикаПроизводстваБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаПроизводстваБезНазначения.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводстваБезНазначения.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаТовары.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВозвратныеОтходы""
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| АналитикаПроизводства.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| АналитикаПроизводстваБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК РазделУчета,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ПартииПроизводства.ПартияПроизводства КАК ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска КАК ПартияВыпуска,
| 1 КАК Количество,
| СУММА(ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)) КАК Стоимость,
| СУММА(ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)) КАК СтоимостьБезНДС,
| СУММА(ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)) КАК СтоимостьРегл,
| СУММА(ЕСТЬNULL(Суммы.СуммаНДСРегл, 0)) КАК СуммаНДС,
| СУММА(ЕСТЬNULL(Суммы.СуммаНДСУпр, 0)) КАК НДСУпр,
| СУММА(ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)) КАК СтоимостьУпр,
| ПартииПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика) КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК КорРазделУчета,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| НЕОПРЕДЕЛЕНО КАК КорГруппаПродукции,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.ЭтапПроизводства КАК ЭтапПроизводства,
| 0 КАК ДоляСтоимости,
| &Подразделение КАК Подразделение,
| ЛОЖЬ КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК НастройкаСчетовУчета,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ДокументПоступления КАК ДокументПоступления,
| 0 КАК КодСтроки,
| &ИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетПереработчика.Услуги КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ТаблицаТовары.ЭтапПроизводства = ПартииПроизводства.ЭтапПроизводства
| И ТаблицаТовары.НомерГруппыЗатрат = ПартииПроизводства.НомерГруппыЗатрат
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводства
| ПО Аналитика.Номенклатура = АналитикаПроизводства.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводства.Характеристика
| И Аналитика.Серия = АналитикаПроизводства.Серия
| И &Подразделение = АналитикаПроизводства.МестоХранения
| И ПартииПроизводства.Назначение = АналитикаПроизводства.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводства.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводстваБезНазначения
| ПО Аналитика.Номенклатура = АналитикаПроизводстваБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводстваБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаПроизводстваБезНазначения.Серия
| И &Подразделение = АналитикаПроизводстваБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаПроизводстваБезНазначения.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводстваБезНазначения.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = ТаблицаТовары.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаТовары.ИдентификаторСтроки
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаТовары.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Услуги""
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.СуммаСНДС > 0
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ПартииПроизводства.ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска,
| ПартииПроизводства.ГруппаПродукции,
| ПартииПроизводства.ВидДеятельностиНДС,
| АналитикаПроизводства.КлючАналитики,
| АналитикаПроизводстваБезНазначения.КлючАналитики,
| ТаблицаТовары.СтатьяКалькуляции,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий,
| ТаблицаТовары.ЭтапПроизводства,
| ТаблицаТовары.НомерГруппыЗатрат,
| ТаблицаТовары.ДокументПоступления
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция РаспределенныеВидыЗапасов(ОсновнойЗапрос)
УстановитьПараметрыЗапросаКоэффициентыВалют(ОсновнойЗапрос);
Запрос = Новый Запрос();
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Для Каждого Параметр Из ОсновнойЗапрос.Параметры Цикл
Запрос.УстановитьПараметр(Параметр.Ключ, Параметр.Значение);
КонецЦикла;
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
ТекстыЗапроса = Новый СписокЗначений;
МассивТекстов = Новый Массив;
МассивТекстов.Добавить(ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса));
МассивТекстов.Добавить(ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса));
МассивТекстов.Добавить(ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса));
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 0
| ДД.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДД.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ДД.АналитикаУчетаНоменклатурыБезНазначения КАК АналитикаУчетаНоменклатурыБезНазначения,
| ДД.РазделУчета КАК РазделУчета,
| ДД.ВидЗапасов КАК ВидЗапасов,
| ДД.ПартияПроизводства КАК ПартияПроизводства,
| ДД.ПартияВыпуска КАК ПартияВыпуска,
| ДД.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДД.ХозяйственнаяОперация КАК ХозяйственнаяОперацияИсходная,
| ДД.КорАналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ДД.КорАналитикаУчетаНоменклатурыБезНазначения КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| ДД.КорРазделУчета КАК КорРазделУчета,
| ДД.ВидЗапасов КАК КорВидЗапасов,
| ДД.ВидДеятельностиНДС КАК КорВидДеятельностиНДС,
| ДД.ГруппаПродукции КАК ГруппаПродукции,
| ДД.КорГруппаПродукции КАК КорГруппаПродукции,
| ДД.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ДД.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ДД.Количество КАК Количество,
| ДД.Стоимость КАК Стоимость,
| ДД.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ДД.СтоимостьРегл КАК СтоимостьРегл,
| ДД.СуммаНДС КАК СуммаНДС,
| ДД.НДСУпр КАК НДСУпр,
| ДД.СтоимостьУпр КАК СтоимостьУпр,
| ДД.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ДД.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ДД.ДокументПоступления КАК ДокументПоступления,
| ДД.КодСтроки КАК КодСтроки,
| ДД.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтВидыЗапасов КАК ДД
|;
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Партии.ЭтапПроизводства КАК ЭтапПроизводства,
| Партии.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| Партии.ДокументПоступления КАК ДокументПоступления
|ИЗ
| ВтПартииПроизводства КАК Партии
|;
|
|ВЫБРАТЬ
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.ДоляСтоимости КАК ДоляСтоимости,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаТовары.ЭтапПроизводства КАК ЭтапПроизводства,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаТовары.АналитикаУчетаНоменклатурыБезНазначения КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.КорГруппаПродукции КАК КорГруппаПродукции,
| ТаблицаТовары.ВидЗапасов КАК КорВидЗапасов,
| ТаблицаТовары.РазделУчета КАК КорРазделУчета,
| ТаблицаТовары.ВидДеятельностиНДС КАК КорВидДеятельностиНДС,
| ТаблицаТовары.ПартияВыпуска КАК ПартияВыпуска,
| ТаблицаТовары.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаТовары.ДокументПоступления КАК ДокументПоступления,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтВидыЗапасов КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
|;
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ЭтапПроизводства КАК ЭтапПроизводства,
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.КорАналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.КорАналитикаУчетаНоменклатурыБезНазначения КАК АналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.ГруппаПродукции КАК ГруппаПродукции,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.ХозяйственнаяОперация КАК ХозяйственнаяОперацияИсходная,
| ТаблицаТовары.КорРазделУчета КАК РазделУчета,
| ТаблицаТовары.ПартияПроизводства КАК ПартияПроизводства,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Стоимость КАК Стоимость,
| ТаблицаТовары.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ТаблицаТовары.СтоимостьРегл КАК СтоимостьРегл,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.НДСУпр КАК НДСУпр,
| ТаблицаТовары.СтоимостьУпр КАК СтоимостьУпр,
| ТаблицаТовары.ДокументПоступления КАК ДокументПоступления,
|
| ТаблицаТовары.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтВидыЗапасов КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеРасходовНаПартииПроизводства)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ЭтапПроизводства КАК ЭтапПроизводства,
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.АналитикаУчетаНоменклатурыБезНазначения КАК АналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.ГруппаПродукции КАК ГруппаПродукции,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.ХозяйственнаяОперация КАК ХозяйственнаяОперацияИсходная,
| ТаблицаТовары.РазделУчета КАК РазделУчета,
| ТаблицаТовары.ПартияПроизводства КАК ПартияПроизводства,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Стоимость КАК Стоимость,
| ТаблицаТовары.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ТаблицаТовары.СтоимостьРегл КАК СтоимостьРегл,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.НДСУпр КАК НДСУпр,
| ТаблицаТовары.СтоимостьУпр КАК СтоимостьУпр,
| ТаблицаТовары.ДокументПоступления КАК ДокументПоступления,
|
| ТаблицаТовары.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтВидыЗапасов КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ЭтапПроизводства КАК ЭтапПроизводства,
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.КорАналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.КорАналитикаУчетаНоменклатурыБезНазначения КАК АналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.ГруппаПродукции КАК ГруппаПродукции,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.ХозяйственнаяОперация КАК ХозяйственнаяОперацияИсходная,
| ТаблицаТовары.КорРазделУчета КАК РазделУчета,
| ТаблицаТовары.ПартияПроизводства КАК ПартияПроизводства,
| - СУММА(ТаблицаТовары.Количество) КАК Количество,
| - СУММА(ТаблицаТовары.Стоимость) КАК Стоимость,
| - СУММА(ТаблицаТовары.СтоимостьБезНДС) КАК СтоимостьБезНДС,
| - СУММА(ТаблицаТовары.СтоимостьРегл) КАК СтоимостьРегл,
| - СУММА(ТаблицаТовары.СуммаНДС) КАК СуммаНДС,
| - СУММА(ТаблицаТовары.НДСУпр) КАК НДСУпр,
| - СУММА(ТаблицаТовары.СтоимостьУпр) КАК СтоимостьУпр,
| ТаблицаТовары.ДокументПоступления КАК ДокументПоступления,
|
| ТаблицаТовары.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтВидыЗапасов КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.НомерГруппыЗатрат,
| ТаблицаТовары.ЭтапПроизводства,
| ТаблицаТовары.АналитикаУчетаПартий,
| ТаблицаТовары.КорАналитикаУчетаНоменклатуры,
| ТаблицаТовары.КорАналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.ГруппаПродукции,
| ТаблицаТовары.ВидЗапасов,
| ТаблицаТовары.СтатьяКалькуляции,
| ТаблицаТовары.ХозяйственнаяОперация,
| ТаблицаТовары.КорРазделУчета,
| ТаблицаТовары.ПартияПроизводства,
| ТаблицаТовары.ДокументПоступления,
| ТаблицаТовары.НастройкаХозяйственнойОперации
|";
МассивТекстов.Добавить(ТекстЗапроса);
Запрос.Текст = СтрСоединить(МассивТекстов, ОбщегоНазначения.РазделительПакетаЗапросов());
ПакетРезультатов = Запрос.ВыполнитьПакет();
Граница = ПакетРезультатов.ВГраница();
РаспределенныеВидыЗапасов = ПакетРезультатов[Граница - 3].Выгрузить();
ТаблицаПартий = ПакетРезультатов[Граница - 2].Выгрузить();
ТаблицаПродукции = ПакетРезультатов[Граница - 1].Выгрузить();
ТаблицаКРаспределению = ПакетРезультатов[Граница].Выгрузить();
ПоЗаказам = ОсновнойЗапрос.Параметры.ПоЗаказам;
ГруппировкаЗатрат = ОсновнойЗапрос.Параметры.ГруппировкаЗатрат;
Для каждого Партия Из ТаблицаПартий Цикл
Если ПоЗаказам И ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.БезГруппировки Тогда
СписокПродукции = ТаблицаПродукции;
СписокКРаспределению = ТаблицаКРаспределению;
Иначе
Если ПоЗаказам И ЗначениеЗаполнено(Партия.ЭтапПроизводства) Тогда
СтруктураПоиска = Новый Структура("ЭтапПроизводства", Партия.ЭтапПроизводства);
Иначе
СтруктураПоиска = Новый Структура("НомерГруппыЗатрат, ДокументПоступления", Партия.НомерГруппыЗатрат, Партия.ДокументПоступления);
КонецЕсли;
СписокПродукции = ТаблицаПродукции.НайтиСтроки(СтруктураПоиска);
СписокКРаспределению = ТаблицаКРаспределению.НайтиСтроки(СтруктураПоиска);
КонецЕсли;
СтрокПродукции = СписокПродукции.Количество();
СтрокКРаспределению = СписокКРаспределению.Количество();
МассивКоэффициентов = Новый Массив;
Для каждого ДанныеСтроки Из СписокПродукции Цикл
МассивКоэффициентов.Добавить(?(ДанныеСтроки.ДоляСтоимости <> 0, ДанныеСтроки.ДоляСтоимости, 1));
КонецЦикла;
Если МассивКоэффициентов.Количество() = 1 Тогда
МассивКоэффициентов[0] = 1;
КонецЕсли;
Для ИндексСтроки = 0 По СтрокКРаспределению - 1 Цикл
РаспределяемаяСтрока = СписокКРаспределению[ИндексСтроки];
Количество = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(РаспределяемаяСтрока.Количество, МассивКоэффициентов, 3);
Стоимость = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(РаспределяемаяСтрока.Стоимость, МассивКоэффициентов, 3);
СтоимостьБезНДС = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(РаспределяемаяСтрока.СтоимостьБезНДС, МассивКоэффициентов, 3);
СтоимостьРегл = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(РаспределяемаяСтрока.СтоимостьРегл, МассивКоэффициентов, 3);
СуммаНДС = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(РаспределяемаяСтрока.СуммаНДС, МассивКоэффициентов, 3);
НДСУпр = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(РаспределяемаяСтрока.НДСУпр, МассивКоэффициентов, 3);
СтоимостьУпр = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(РаспределяемаяСтрока.СтоимостьУпр, МассивКоэффициентов, 3);
Для ИндексПродукции = 0 По СтрокПродукции - 1 Цикл
СтрокаПродукции = СписокПродукции[ИндексПродукции];
НоваяСтрока = РаспределенныеВидыЗапасов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, РаспределяемаяСтрока);
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаПродукции);
НоваяСтрока.Количество = ?(ЗначениеЗаполнено(Количество), Количество[ИндексПродукции], 0);
НоваяСтрока.Стоимость = ?(ЗначениеЗаполнено(Стоимость), Стоимость[ИндексПродукции], 0);
НоваяСтрока.СтоимостьБезНДС = ?(ЗначениеЗаполнено(СтоимостьБезНДС), СтоимостьБезНДС[ИндексПродукции], 0);
НоваяСтрока.СтоимостьРегл = ?(ЗначениеЗаполнено(СтоимостьРегл), СтоимостьРегл[ИндексПродукции], 0);
НоваяСтрока.СуммаНДС = ?(ЗначениеЗаполнено(СуммаНДС), СуммаНДС[ИндексПродукции], 0);
НоваяСтрока.НДСУпр = ?(ЗначениеЗаполнено(НДСУпр), НДСУпр[ИндексПродукции], 0);
НоваяСтрока.СтоимостьУпр = ?(ЗначениеЗаполнено(СтоимостьУпр), СтоимостьУпр[ИндексПродукции], 0);
КонецЦикла;
КонецЦикла;
КонецЦикла;
КолонкиГруппировок = "";
КолонкиСуммирования = "Количество,Стоимость,СтоимостьБезНДС,СтоимостьРегл,СуммаНДС,НДСУпр,СтоимостьУпр";
МассивПоказателей = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(КолонкиСуммирования);
Для Каждого Колонка Из РаспределенныеВидыЗапасов.Колонки Цикл
ЭтоКолонкаГруппировки = Истина;
Для Каждого Показатель Из МассивПоказателей Цикл
Если Колонка.Имя = Показатель > 0 Тогда
ЭтоКолонкаГруппировки = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЭтоКолонкаГруппировки Тогда
Если ЗначениеЗаполнено(КолонкиГруппировок) Тогда
КолонкиГруппировок = КолонкиГруппировок + "," + Колонка.Имя;
Иначе
КолонкиГруппировок = Колонка.Имя;
КонецЕсли;
КонецЕсли;
КонецЦикла;
РаспределенныеВидыЗапасов.Свернуть(КолонкиГруппировок, КолонкиСуммирования);
Возврат РаспределенныеВидыЗапасов;
КонецФункции
Функция ТекстЗапросаВтРаспределенныеВидыЗапасов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтРаспределенныеВидыЗапасов";
ТаблицаРаспределенныеВидыЗапасов = РаспределенныеВидыЗапасов(Запрос);
Запрос.УстановитьПараметр("ТаблицаРаспределенныеВидыЗапасов", ТаблицаРаспределенныеВидыЗапасов);
ТекстЗапроса =
"ВЫБРАТЬ
| *
|ПОМЕСТИТЬ ВтРаспределенныеВидыЗапасов
|
|ИЗ
| &ТаблицаРаспределенныеВидыЗапасов КАК ДД
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаМатериалы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаМатериалы";
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Партнер КАК Склад,
| &Организация КАК Организация,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаТовары.Количество КАК Количество
|
|ПОМЕСТИТЬ ВтТаблицаМатериалы
|
|ИЗ
| Документ.ОтчетПереработчика.ВидыЗапасов КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВозвратныеОтходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВозвратныеОтходы(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| (ВЫБОР
| КОГДА ТабличнаяЧасть.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТабличнаяЧасть.Получатель КОНЕЦ) КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| ТабличнаяЧасть.СтатьяРасходов КАК СтатьяРасходов,
| ТабличнаяЧасть.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| (ВЫБОР
| КОГДА &УчетЗатратПоНД ТОГДА &НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| &ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
|
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Стоимость,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СтоимостьБезНДС,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| 0 КАК НДСУпр,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость) КАК ХозяйственнаяОперация,
| ТабличнаяЧасть.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТабличнаяЧасть.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыпускПродукцииФиксированнаяСтоимость) КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПартииПрочихРасходов
|ИЗ
| ВтТаблицаВозвратныеОтходы КАК ТабличнаяЧасть
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТабличнаяЧасть.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВозвратныеОтходы""
|ГДЕ
| ТабличнаяЧасть.СписатьНаРасходы
| И ТИПЗНАЧЕНИЯ(ТабличнаяЧасть.СтатьяРасходов) = ТИП(ПланВидовХарактеристик.СтатьиРасходов)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
Функция ТекстЗапросаТаблицаТоварыПереданныеПереработчику(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыПереданныеПереработчику";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаМатериалы", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаМатериалы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| НачалоПериода(&Период, День) КАК Период,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.Количество КАК Количество
|ИЗ
| ВтТаблицаМатериалы КАК ТаблицаТовары
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаУслугиПереработчиковКОформлению(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "УслугиПереработчиковКОформлению";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &ЗаказПереработчику КАК ЗаказПереработчику,
| &СтоимостьУслуги * &КоэффициентПересчетаВВалютуЗаказа КАК Сумма
|ГДЕ
| &ПоЗаказам
| И &СтоимостьУслуги <> 0";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыПолученныеОтПереработчика(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыПолученныеОтПереработчика";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| НачалоПериода(&Период, День) КАК Период,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ПоЗаказам
| ТОГДА ТаблицаТовары.ЗаказПереработчику
| КОГДА &ПартионныйУчетВерсии22
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаТовары.ДокументПоступления
| КОНЕЦ КАК Распоряжение,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ЗНАЧЕНИЕ(Перечисление.ТипыСтоимостиВыходныхИзделий.Рассчитывается) КАК ТипСтоимости,
| ТаблицаТовары.Количество КАК Количество
|ИЗ
| Документ.ОтчетПереработчика.Продукция КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И НЕ ДанныеНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| НачалоПериода(&Период, День) КАК Период,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ПоЗаказам
| ТОГДА ТаблицаТовары.ЗаказПереработчику
| КОГДА &ПартионныйУчетВерсии22
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаТовары.ДокументПоступления
| КОНЕЦ КАК Распоряжение,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ВЫБОР
| КОГДА &ПартионныйУчетВерсии22
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыСтоимостиВыходныхИзделий.Рассчитывается)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыСтоимостиВыходныхИзделий.Фиксированная)
| КОНЕЦ КАК ТипСтоимости,
| ТаблицаТовары.Количество КАК Количество
|ИЗ
| Документ.ОтчетПереработчика.ВозвратныеОтходы КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И НЕ ДанныеНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры)
#Область КурсыВалютДокумента
ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";
ТекстЗапросаКурсыВалютДокумента =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетПереработчика КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетПереработчика.РасшифровкаПлатежа КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| (ВЫБОР
| КОГДА ДанныеДокументаШапка.ПоЗаказам
| ТОГДА ДанныеДокументаШапка.ЗаказПереработчику.ОбъектРасчетов
| КОГДА ДанныеДокументаШапка.ПорядокРасчетов = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоДоговорамНакладным)
| ТОГДА ДанныеДокументаШапка.ОбъектРасчетов.Договор.ОбъектРасчетов
| ИНАЧЕ ДанныеДокументаШапка.ОбъектРасчетов
| КОНЕЦ) КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетПереработчика КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)";
ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента);
ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
#КонецОбласти
#Область Закупка
ТекстЗакупка = "
|ВЫБРАТЬ
| ДанныеИсточника.Ссылка КАК Ссылка,
| ДанныеИсточника.Организация КАК Организация,
| ДанныеИсточника.Партнер КАК Партнер,
| ДанныеИсточника.Дата КАК ДатаРегистратора,
| ДанныеИсточника.Номер КАК НомерРегистратора,
|
| ДанныеИсточника.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеИсточника.ДатаПлатежа КАК ДатаПлатежа,
| НЕОПРЕДЕЛЕНО КАК ВариантОплаты,
| ДанныеИсточника.ЗаказПереработчику КАК ЗаказЗакупки,
| ДанныеИсточника.СуммаСНДС КАК Сумма,
| ДанныеИсточника.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
|
| ДанныеИсточника.ПорядокРасчетов КАК ПорядокРасчетов,
| ДанныеИсточника.ПоЗаказам КАК НакладнаяПоЗаказам,
| ДанныеИсточника.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеИсточника.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеИсточника.ФормаОплаты КАК ФормаОплаты,
| ДанныеИсточника.Валюта КАК ВалютаДокумента,
| ДанныеИсточника.Дата КАК ДатаКурса,
| Неопределено КАК СвязанныйДокумент
|ИЗ
| Документ.ОтчетПереработчика КАК ДанныеИсточника
|ГДЕ
| ДанныеИсточника.Ссылка В (&Ссылка)
|";
#КонецОбласти
#Область УвеличениеПланаОплаты
ТекстПланОплаты = "
|ВЫБРАТЬ
| ДанныеИсточника.Ссылка КАК Ссылка,
| ДанныеИсточника.Организация КАК Организация,
| ДанныеИсточника.Партнер КАК Партнер,
| ДанныеИсточника.Дата КАК ДатаРегистратора,
| ДанныеИсточника.Номер КАК НомерРегистратора,
| ДанныеИсточника.ДатаПлатежа КАК ДатаПлатежа,
|
| ДанныеИсточника.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеИсточника.ПорядокРасчетов КАК ПорядокРасчетов,
| ДанныеИсточника.ПоЗаказам КАК НакладнаяПоЗаказам,
| ЛОЖЬ КАК СверхЗаказа,
| ДанныеИсточника.ЗаказПереработчику КАК ЗаказЗакупки,
| ДанныеИсточника.СуммаВзаиморасчетов КАК КОплате,
| ДанныеИсточника.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеИсточника.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеИсточника.ФормаОплаты КАК ФормаОплаты,
| ДанныеИсточника.Валюта КАК ВалютаДокумента,
| НЕОПРЕДЕЛЕНО КАК ВариантОплаты,
| Неопределено КАК СвязанныйДокумент
|ИЗ
| Документ.ОтчетПереработчика КАК ДанныеИсточника
|ГДЕ
| ДанныеИсточника.Ссылка В (&Ссылка)
|";
#КонецОбласти
#Область ТекстТовары
ТекстПланПоставки = "
|ВЫБРАТЬ
| ДанныеИсточника.Ссылка КАК Ссылка,
| ДанныеИсточника.Организация КАК Организация,
| ДанныеИсточника.Партнер КАК Партнер,
| ДанныеИсточника.Дата КАК ДатаРегистратора,
| ДанныеИсточника.Номер КАК НомерРегистратора,
|
| ДанныеИсточника.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеИсточника.ПорядокРасчетов КАК ПорядокРасчетов,
| ДанныеИсточника.ПоЗаказам КАК НакладнаяПоЗаказам,
| ЛОЖЬ КАК СверхЗаказа,
| ДанныеИсточника.ЗаказПереработчику КАК ЗаказЗакупки,
| ВЫБОР
| КОГДА ДанныеИсточника.ПоЗаказам
| ТОГДА ДанныеИсточника.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК УвеличитьКПоступлению,
| ДанныеИсточника.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеИсточника.СуммаВзаиморасчетов КАК УменьшитьКПоступлению,
| ДанныеИсточника.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеИсточника.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеИсточника.Валюта КАК ВалютаДокумента
|ИЗ
| Документ.ОтчетПереработчика КАК ДанныеИсточника
|ГДЕ
| ДанныеИсточника.Ссылка В (&Ссылка)
|";
#КонецОбласти
#Область ЗачетАвансов
ТекстЗачетАванса = "
|ВЫБРАТЬ
| ДанныеИсточника.Ссылка КАК Ссылка,
| ДанныеИсточника.Ссылка.Организация КАК Организация,
| ДанныеИсточника.Ссылка.Партнер КАК Партнер,
|
| ДанныеИсточника.ОбъектРасчетов КАК ОбъектРасчетовИсточник,
| ДанныеИсточника.Ссылка.ОбъектРасчетов КАК ОбъектРасчетовПриемник,
|
| ДанныеИсточника.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеИсточника.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеИсточника.Ссылка.Валюта КАК ВалютаДокумента,
| ДанныеИсточника.Сумма КАК Сумма,
|
| ДанныеИсточника.Ссылка.Дата КАК ДатаРегистратора,
| ДанныеИсточника.Ссылка.Дата КАК ДатаКурса,
| ДанныеИсточника.Ссылка.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносАванса) КАК ХозяйственнаяОперация
|
|ИЗ
| Документ.ОтчетПереработчика.РасшифровкаПлатежа КАК ДанныеИсточника
|ГДЕ
| ДанныеИсточника.Ссылка В (&Ссылка)
|";
#КонецОбласти
ВзаиморасчетыСервер.ПроведениеЗакупки(
Запрос,
ТекстыЗапроса,
Регистры,
ТекстЗакупка,
ТекстПланОплаты,
ТекстЗачетАванса,
ТекстПланПоставки);
КонецПроцедуры
Функция ТекстЗапросаТаблицаПрочиеРасходыНезавершенногоПроизводства(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходыНезавершенногоПроизводства";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаспределенныеВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаспределенныеВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДвиженияПоРегистру.ВидДвижения КАК ВидДвижения,
| ДвиженияПоРегистру.Период КАК Период,
| ДвиженияПоРегистру.Организация КАК Организация,
| ДвиженияПоРегистру.Подразделение КАК Подразделение,
| ДвиженияПоРегистру.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
| ДвиженияПоРегистру.КодСтрокиПродукция КАК КодСтрокиПродукция,
| ДвиженияПоРегистру.Этап КАК Этап,
| ДвиженияПоРегистру.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ДвиженияПоРегистру.АналитикаУчетаПродукции КАК АналитикаУчетаПродукции,
| ДвиженияПоРегистру.Стоимость КАК Стоимость,
| ДвиженияПоРегистру.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ДвиженияПоРегистру.СтоимостьРегл КАК СтоимостьРегл
|
|ИЗ
| (ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ЗаказПереработчику КАК ЗаказНаПроизводство,
| ТаблицаТовары.КодСтроки КАК КодСтрокиПродукция,
| НЕОПРЕДЕЛЕНО КАК Этап,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПродукции,
| СУММА(ТаблицаТовары.Стоимость) КАК Стоимость,
| СУММА(ТаблицаТовары.СтоимостьБезНДС) КАК СтоимостьБезНДС,
| СУММА(ТаблицаТовары.СтоимостьРегл) КАК СтоимостьРегл
|
| ИЗ
| ВтРаспределенныеВидыЗапасов КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.АналитикаУчетаНоменклатуры = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| И НЕ &ПартионныйУчетВерсии22
|
| СГРУППИРОВАТЬ ПО
| ТаблицаТовары.КодСтроки,
| ТаблицаТовары.СтатьяКалькуляции
|
| ОБЪЕДИНИТЬ ВСЕ
| ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ЗаказПереработчику КАК ЗаказНаПроизводство,
| ТаблицаТовары.КодСтроки КАК КодСтрокиПродукция,
| НЕОПРЕДЕЛЕНО КАК Этап,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ВЫБОР
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.КорАналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаТовары.КорАналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаПродукции,
| СУММА(ТаблицаТовары.Стоимость) КАК Стоимость,
| СУММА(ТаблицаТовары.СтоимостьБезНДС) КАК СтоимостьБезНДС,
| СУММА(ТаблицаТовары.СтоимостьРегл) КАК СтоимостьРегл
|
| ИЗ
| ВтРаспределенныеВидыЗапасов КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.АналитикаУчетаНоменклатуры = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| И &ПартионныйУчетВерсии22
|
| СГРУППИРОВАТЬ ПО
| ТаблицаТовары.КодСтроки,
| ТаблицаТовары.СтатьяКалькуляции,
| ТаблицаТовары.КорАналитикаУчетаНоменклатуры,
| ТаблицаТовары.КорАналитикаУчетаНоменклатурыБезНазначения
|
| ) КАК ДвиженияПоРегистру
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПроизводственныхЗатрат(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПроизводственныхЗатрат";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаспределенныеВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаспределенныеВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаАналитикаУчетаПартий(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| Аналитика21.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| &Ссылка КАК ДокументПоступления,
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК ЗаказНаПроизводство,
| 0. КАК КодСтрокиПродукция,
| НЕОПРЕДЕЛЕНО КАК Этап,
| НЕОПРЕДЕЛЕНО КАК СтатьяКалькуляции,
| НЕОПРЕДЕЛЕНО КАК НомерГруппыЗатрат,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| СУММА(ТаблицаТовары.Стоимость) КАК Стоимость,
| СУММА(ТаблицаТовары.СтоимостьБезНДС) КАК СтоимостьБезНДС,
| СУММА(ТаблицаТовары.СтоимостьРегл) КАК СтоимостьРегл,
| СУММА(
| ВЫБОР
| КОГДА ТаблицаТовары.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаТовары.СуммаНДС
| КОНЕЦ) КАК НДСРегл
|ИЗ
| ВтВидыЗапасов КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика21
| ПО Аналитика.Номенклатура = Аналитика21.Номенклатура
| И Аналитика.Характеристика = Аналитика21.Характеристика
| И &Партнер = Аналитика21.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика21.СтатьяКалькуляции
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = Аналитика21.Назначение
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = Аналитика21.Серия
|ГДЕ
| ТаблицаТовары.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| И ТаблицаТовары.АналитикаУчетаНоменклатуры <> ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| И НЕ &ПартионныйУчетВерсии22
|
|СГРУППИРОВАТЬ ПО
| Аналитика21.КлючАналитики,
| ТаблицаТовары.АналитикаУчетаПартий
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| Аналитика21.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| &Ссылка КАК ДокументПоступления,
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВЫБОР
| КОГДА &ПоЗаказам
| ТОГДА &ЗаказПереработчику
| ИНАЧЕ ТаблицаТовары.ДокументПоступления
| КОНЕЦ КАК ЗаказНаПроизводство,
| ТаблицаТовары.КодСтроки КАК КодСтрокиПродукция,
| НЕОПРЕДЕЛЕНО КАК Этап,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| СУММА(ТаблицаТовары.Стоимость) КАК Стоимость,
| СУММА(ТаблицаТовары.СтоимостьБезНДС) КАК СтоимостьБезНДС,
| СУММА(ТаблицаТовары.СтоимостьРегл) КАК СтоимостьРегл,
| СУММА(ТаблицаТовары.СуммаНДС) КАК НДСРегл
|ИЗ
| ВтВидыЗапасов КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика21
| ПО Аналитика.Номенклатура = Аналитика21.Номенклатура
| И Аналитика.Характеристика = Аналитика21.Характеристика
| И &Партнер = Аналитика21.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика21.СтатьяКалькуляции
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = Аналитика21.Назначение
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = Аналитика21.Серия
|ГДЕ
| ТаблицаТовары.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| И ТаблицаТовары.АналитикаУчетаНоменклатуры <> ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| И НЕ &ПартионныйУчетВерсии22
|
|СГРУППИРОВАТЬ ПО
| Аналитика21.КлючАналитики,
| ТаблицаТовары.ДокументПоступления,
| ТаблицаТовары.КодСтроки,
| ТаблицаТовары.СтатьяКалькуляции,
| ТаблицаТовары.НомерГруппыЗатрат,
| ТаблицаТовары.АналитикаУчетаПартий
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииНезавершенногоПроизводства(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииНезавершенногоПроизводства";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаспределенныеВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаАналитикаУчетаПартий(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| Аналитика21.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| &ЗаказПереработчику КАК ЗаказНаПроизводство,
| ТаблицаТовары.КодСтроки КАК КодСтрокиПродукция,
| &Ссылка КАК ДокументПоступления,
| НЕОПРЕДЕЛЕНО КАК Этап,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.ДокументПоступления КАК ДокументВыпуска,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| СУММА(ТаблицаТовары.Стоимость) КАК Стоимость,
| СУММА(ТаблицаТовары.СтоимостьБезНДС) КАК СтоимостьБезНДС,
| СУММА(ТаблицаТовары.СтоимостьРегл) КАК СтоимостьРегл,
| СУММА(
| ВЫБОР
| КОГДА ТаблицаТовары.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаТовары.СуммаНДС
| КОНЕЦ) КАК НДСРегл
|ИЗ
| ВтВидыЗапасов КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика21
| ПО Аналитика.Номенклатура = Аналитика21.Номенклатура
| И Аналитика.Характеристика = Аналитика21.Характеристика
| И &Партнер = Аналитика21.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика21.СтатьяКалькуляции
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = Аналитика21.Назначение
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = Аналитика21.Серия
|ГДЕ
| ТаблицаТовары.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| И ТаблицаТовары.АналитикаУчетаНоменклатуры <> ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| И НЕ &ПартионныйУчетВерсии22
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.КодСтроки,
| ТаблицаТовары.СтатьяКалькуляции,
| ТаблицаТовары.ДокументПоступления,
| ТаблицаТовары.АналитикаУчетаПартий,
| Аналитика21.КлючАналитики
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ТекстЗапросаДанных = "
|ВЫБРАТЬ
| ""Услуги"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка.Дата КАК Дата,
| ТаблицаДокумента.Ссылка.Организация КАК Организация,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.Ссылка.Дата КАК ПериодБазыНДС,
| ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаДокумента.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|
|ИЗ
| Документ.ОтчетПереработчика.Услуги КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.Сумма <> 0
|";
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
КонецПроцедуры
Функция ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "МатериалыИРаботыВПроизводстве";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаспределенныеВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаспределенныеВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаПродукция", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаПродукция(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВозвратныеОтходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВозвратныеОтходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| МатериалыИУслуги.ИдентификаторСтроки КАК ИдентификаторСтроки,
| &Организация КАК Организация,
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| Аналитика.Серия КАК Серия,
| &Партнер КАК Подразделение,
| Аналитика21.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА МатериалыИУслуги.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость)
| ТОГДА -1 * МатериалыИУслуги.Количество
| ИНАЧЕ
| МатериалыИУслуги.Количество
| КОНЕЦ КАК Количество,
| МатериалыИУслуги.СтатьяКалькуляции КАК СтатьяКалькуляции,
| НЕОПРЕДЕЛЕНО КАК Этап,
| ВЫБОР
| КОГДА &ПоЗаказам
| ТОГДА &ЗаказПереработчику
| ИНАЧЕ
| МатериалыИУслуги.ДокументПоступления
| КОНЕЦ КАК ЗаказНаПроизводство,
| МатериалыИУслуги.КодСтроки КАК КодСтрокиПродукция,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)КАК Назначение
|ИЗ
| ВтРаспределенныеВидыЗапасов КАК МатериалыИУслуги
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО МатериалыИУслуги.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика21
| ПО Аналитика.Номенклатура = Аналитика21.Номенклатура
| И Аналитика.Характеристика = Аналитика21.Характеристика
| И &Партнер = Аналитика21.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика21.СтатьяКалькуляции
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = Аналитика21.Назначение
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = Аналитика21.Серия
|ГДЕ
| НЕ &ПартионныйУчетВерсии22
| И МатериалыИУслуги.ХозяйственнаяОперацияИсходная В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеРасходовНаПартииПроизводства),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| ТаблицаПродукции.ИдентификаторСтроки КАК ИдентификаторСтроки,
| &Организация КАК Организация,
| ТаблицаПродукции.Номенклатура КАК Номенклатура,
| ТаблицаПродукции.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ТаблицаПродукции.Получатель КАК Подразделение,
| ТаблицаПродукции.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаПродукции.Количество КАК Количество,
| ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) КАК СтатьяКалькуляции,
| ТаблицаПродукции.ЭтапПроизводства КАК Этап,
| ТаблицаПродукции.ЗаказПереработчику КАК ЗаказНаПроизводство,
| ТаблицаПродукции.КодСтроки КАК КодСтрокиПродукция,
| ТаблицаПродукции.Назначение КАК Назначение
|ИЗ
| ВтТаблицаПродукция КАК ТаблицаПродукции
|ГДЕ
| ТаблицаПродукции.Работа
| И НЕ ТаблицаПродукции.СписатьНаРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| ТаблицаВозвратныхОтходов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| &Организация КАК Организация,
| ТаблицаВозвратныхОтходов.Номенклатура КАК Номенклатура,
| ТаблицаВозвратныхОтходов.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ТаблицаВозвратныхОтходов.Получатель КАК Подразделение,
| ТаблицаВозвратныхОтходов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВозвратныхОтходов.Количество КАК Количество,
| ТаблицаВозвратныхОтходов.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаВозвратныхОтходов.ЭтапПроизводства КАК Этап,
| ТаблицаВозвратныхОтходов.ЗаказПереработчику КАК ЗаказНаПроизводство,
| ТаблицаВозвратныхОтходов.КодСтроки КАК КодСтрокиПродукция,
| ТаблицаВозвратныхОтходов.Назначение КАК Назначение
|ИЗ
| ВтТаблицаВозвратныеОтходы КАК ТаблицаВозвратныхОтходов
|ГДЕ
| ТаблицаВозвратныхОтходов.Работа
| И НЕ ТаблицаВозвратныхОтходов.СписатьНаРасходы
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаспределенныеВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаспределенныеВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ВЫБОР
| КОГДА &УчетЗатратПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ТаблицаТовары.Стоимость КАК Сумма,
| ТаблицаТовары.СтоимостьБезНДС КАК СуммаБезНДС,
| ТаблицаТовары.СтоимостьУпр КАК СуммаУпр,
| ТаблицаТовары.СтоимостьРегл КАК СуммаРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| &СуммаНДД КАК СуммаНДД,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтРаспределенныеВидыЗапасов КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ УчетнаяПолитикаПоНДДПрочиеРасходы КАК УчетнаяПолитикаПоНДД
| ПО &Организация = УчетнаяПолитикаПоНДД.Организация
|ГДЕ
| ТаблицаТовары.Стоимость <> 0
| И ТаблицаТовары.ХозяйственнаяОперацияИсходная = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| И ТаблицаТовары.АналитикаУчетаНоменклатуры = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ВЫБОР
| КОГДА &УчетЗатратПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ТаблицаТовары.Стоимость КАК Сумма,
| ТаблицаТовары.СтоимостьБезНДС КАК СуммаБезНДС,
| ТаблицаТовары.СтоимостьУпр КАК СуммаУпр,
| ТаблицаТовары.СтоимостьРегл КАК СуммаРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК СуммаНДД,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтРаспределенныеВидыЗапасов КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Стоимость <> 0
| И ТаблицаТовары.ХозяйственнаяОперацияИсходная = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| И ТаблицаТовары.АналитикаУчетаНоменклатуры = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
|";
РасчетСебестоимостиЛокализация.ПодставитьСуммуНДДВЗапрос(ТекстЗапроса, "ТаблицаТовары", "Приход", "СтоимостьРегл",,, "&Период", Истина);
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы()
+ ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении()
+ ТекстЗапроса;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Ответственный,
| &Автор КАК Автор,
| &Комментарий КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &ИнформацияПоДоговору КАК Дополнительно,
| &ДатаПоДаннымПартнера КАК ДатаПервичногоДокумента,
| &НомерПоДаннымПартнера КАК НомерПервичногоДокумента,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВыпускПродукции(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ВыпускПродукции";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры
| ИНАЧЕ АналитикаБезНазначения.КлючАналитики
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ТаблицаТовары.Количество КАК Количество,
| ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) КАК ВидЗапасов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяРасходов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.АналитикаРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаРасходов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.АналитикаАктивовПассивов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаАктивовПассивов
|ИЗ
| Документ.ОтчетПереработчика.Продукция КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И &ПартионныйУчетВерсии22
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры
| ИНАЧЕ АналитикаБезНазначения.КлючАналитики
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяРасходов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.АналитикаРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаРасходов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.АналитикаАктивовПассивов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаАктивовПассивов
|ИЗ
| Документ.ОтчетПереработчика.ВозвратныеОтходы КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И &ПартионныйУчетВерсии22
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.ОтчетПереработчика";
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоДоговору", """""");
ПереопределениеРасчетаПараметров.Вставить("НомерПоДаннымПартнера", """""");
ПереопределениеРасчетаПараметров.Вставить(
"УчитыватьСебестоимостьТоваровПоНазначениям",
Формат(
ПолучитьФункциональнуюОпцию("УчитыватьСебестоимостьТоваровПоНазначениям"),
НСтр("ru='БЛ=Ложь; БИ=Истина'")));
ПереопределениеРасчетаПараметров.Вставить(
"ПартионныйУчетВерсии22",
Формат(
РасчетСебестоимостиПовтИсп.ПартионныйУчетВерсии22(),
НСтр("ru='БЛ=Ложь; БИ=Истина'"))
+ " И НАЧАЛОПЕРИОДА(ТаблицаТовары.Ссылка.Дата, МЕСЯЦ) >= "
+ Формат(
РасчетСебестоимостиПовтИсп.ДатаПереходаНаПартионныйУчетВерсии22(),
НСтр("ru='ДФ=''""ДАТАВРЕМЯ""(гггг, ММ, дд)''; ДП='")));
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
ВЗапросеЕстьИсточник = Ложь;
ИначеЕсли ИмяРегистра = "ВыпускПродукции" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаВыпускПродукции(Неопределено, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ТаблицаТовары";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
#Область ОтражениеНДС
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры)
Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
Возврат;
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПроизводства", ТекстыЗапроса) Тогда
ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЦенности =
"ВЫБРАТЬ
| Услуги.Ссылка.Дата КАК Период,
| Услуги.Ссылка КАК Ссылка,
| Услуги.Ссылка.Организация КАК Организация,
| Услуги.Ссылка.Подразделение КАК Подразделение,
| Услуги.Ссылка.Подразделение КАК ПодразделениеУчета,
| Услуги.Ссылка.Контрагент КАК Контрагент,
| Услуги.Ссылка.Договор КАК Договор,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Грузоотправитель,
| Услуги.Ссылка КАК ДокументПриобретения,
| Услуги.Ссылка КАК ИсходныйТорговыйДокумент,
| ЛОЖЬ КАК ИсправлениеОшибок,
| ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК УменьшитьСуммуНДСКВычету,
| НЕОПРЕДЕЛЕНО КАК ДокументКорректировкиПриобретения,
| ВЫБОР
| КОГДА Услуги.Ссылка.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| КОНЕЦ КАК НалогообложениеНДС,
| ВтПартииПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| Услуги.СтавкаНДС КАК СтавкаНДС,
| Услуги.Номенклатура КАК Номенклатура,
| ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ВтПартииПроизводства.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ИСТИНА КАК ПриобретениеНаПартиюПроизводства,
| ВтПартииПроизводства.НаправлениеДеятельности КАК НаправлениеДеятельностиПартииПроизводства,
| НЕОПРЕДЕЛЕНО КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК СтатьяПрочихАктивов,
| НЕОПРЕДЕЛЕНО КАК АналитикаПрочихАктивов,
| ВтПартииПроизводства.Назначение КАК Назначение,
| Услуги.ИдентификаторСтроки КАК ИдентификаторСтроки,
| &ИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетПереработчика.Услуги КАК Услуги
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ВтПартииПроизводства
| ПО Услуги.Ссылка = ВтПартииПроизводства.ПартияВыпуска
| И Услуги.ЭтапПроизводства = ВтПартииПроизводства.ЭтапПроизводства
| И Услуги.НомерГруппыЗатрат = ВтПартииПроизводства.НомерГруппыЗатрат
|
|ГДЕ
| Услуги.Ссылка В (&Ссылка)
|";
УчетНДСУП.ОтразитьПриобретениеУПоставщика(Запрос, ТекстыЗапроса, Регистры, ТекстЦенности);
КонецПроцедуры
#КонецОбласти
Функция ТекстЗапросаВтТаблицаПродукция(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаПродукция";
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаПродукция.Ссылка КАК Ссылка,
| ТаблицаПродукция.НомерСтроки КАК НомерСтроки,
| ТаблицаПродукция.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаПродукция.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаПродукция.КодСтроки КАК КодСтроки,
| ТаблицаПродукция.Номенклатура КАК Номенклатура,
| ТаблицаПродукция.Характеристика КАК Характеристика,
| ТаблицаПродукция.Назначение КАК Назначение,
| ТаблицаПродукция.ЭтапПроизводства КАК ЭтапПроизводства,
| ТаблицаПродукция.ЗаказПереработчику КАК ЗаказПереработчику,
| ТаблицаПродукция.Получатель КАК Получатель,
| ТаблицаПродукция.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаПродукция.Количество КАК Количество,
| ВЫБОР
| КОГДА ДанныеНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК Работа
|
|ПОМЕСТИТЬ ВтТаблицаПродукция
|
|ИЗ
| Документ.ОтчетПереработчика.Продукция КАК ТаблицаПродукция
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаПродукция.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| ТаблицаПродукция.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Работа,
| СписатьНаРасходы";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаВозвратныеОтходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаВозвратныеОтходы";
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаВозвратныеОтходы.Ссылка КАК Ссылка,
| ТаблицаВозвратныеОтходы.НомерСтроки КАК НомерСтроки,
| ТаблицаВозвратныеОтходы.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВозвратныеОтходы.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВозвратныеОтходы.КодСтроки КАК КодСтроки,
| ТаблицаВозвратныеОтходы.Номенклатура КАК Номенклатура,
| ТаблицаВозвратныеОтходы.Характеристика КАК Характеристика,
| ТаблицаВозвратныеОтходы.Назначение КАК Назначение,
| ТаблицаВозвратныеОтходы.ЭтапПроизводства КАК ЭтапПроизводства,
| ТаблицаВозвратныеОтходы.ЗаказПереработчику КАК ЗаказПереработчику,
| ТаблицаВозвратныеОтходы.Получатель КАК Получатель,
| ТаблицаВозвратныеОтходы.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаВозвратныеОтходы.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаВозвратныеОтходы.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаВозвратныеОтходы.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаВозвратныеОтходы.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаВозвратныеОтходы.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаВозвратныеОтходы.Количество КАК Количество,
| ТаблицаВозвратныеОтходы.Цена КАК Цена,
| ТаблицаВозвратныеОтходы.Сумма КАК Сумма,
| ВЫБОР
| КОГДА ДанныеНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК Работа
|
|ПОМЕСТИТЬ ВтТаблицаВозвратныеОтходы
|
|ИЗ
| Документ.ОтчетПереработчика.ВозвратныеОтходы КАК ТаблицаВозвратныеОтходы
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаВозвратныеОтходы.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| ТаблицаВозвратныеОтходы.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| СписатьНаРасходы,
| Работа";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВозвратныеОтходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВозвратныеОтходы(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТабличнаяЧасть.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТабличнаяЧасть.Получатель
| КОНЕЦ КАК Подразделение,
| ТабличнаяЧасть.СтатьяРасходов КАК СтатьяРасходов,
| ТабличнаяЧасть.АналитикаРасходов КАК АналитикаРасходов,
| ВЫБОР
| КОГДА &УчетЗатратПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| &ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
|
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаСНДС,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДС,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДСУпр,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаСНДСРегл,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеНаРасходыФиксированнаяСтоимость) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СписаниеТоваровПоТребованию) КАК НастройкаХозяйственнойОперации,
| ТабличнаяЧасть.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
|
| ТабличнаяЧасть.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| ВтТаблицаВозвратныеОтходы КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.СписатьНаРасходы
| И НЕ ТабличнаяЧасть.Сумма = 0
| И ТИПЗНАЧЕНИЯ(ТабличнаяЧасть.СтатьяРасходов) = ТИП(ПланВидовХарактеристик.СтатьиРасходов)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаЗаказыПоставщикам(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ЗаказыПоставщикам";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаПродукция", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаПродукция(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВозвратныеОтходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВозвратныеОтходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ТабличнаяЧасть.ЗаказПереработчику КАК ЗаказПоставщику,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| ТабличнаяЧасть.Количество КАК Заказано,
| ТабличнаяЧасть.Количество КАК КОформлению
|
|ИЗ
| ВтТаблицаПродукция КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.КодСтроки <> 0
| И &ПоЗаказам
| И ТабличнаяЧасть.Работа
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ТабличнаяЧасть.ЗаказПереработчику КАК ЗаказПоставщику,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| ТабличнаяЧасть.Количество КАК Заказано,
| ТабличнаяЧасть.Количество КАК КОформлению
|
|ИЗ
| ВтТаблицаВозвратныеОтходы КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.КодСтроки <> 0
| И &ПоЗаказам
| И ТабличнаяЧасть.Работа
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ТабЧасть.Получатель КАК Склад,
| ТабЧасть.Назначение КАК Назначение,
| ТабЧасть.Количество КАК Количество,
| ТабЧасть.ЗаказПереработчику <> ЗНАЧЕНИЕ(Документ.ЗаказПереработчику.ПустаяСсылка)
| И ТабЧасть.КодСтроки <> 0 КАК ПоГрафику,
| ТабЧасть.ЗаказПереработчику КАК РаспоряжениеВГрафике
|ИЗ
| Документ.ОтчетПереработчика.Продукция КАК ТабЧасть
|ГДЕ
| НЕ ТабЧасть.СписатьНаРасходы
| И ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
РаспределениеЗапасовДвижения.ПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть);
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ТабЧасть.Получатель КАК Склад,
| ТабЧасть.Назначение КАК Назначение,
| ТабЧасть.Количество КАК Количество,
| ТабЧасть.ЗаказПереработчику <> ЗНАЧЕНИЕ(Документ.ЗаказПереработчику.ПустаяСсылка)
| И ТабЧасть.КодСтроки <> 0 КАК ПоГрафику,
| ТабЧасть.ЗаказПереработчику КАК РаспоряжениеВГрафике
|ИЗ
| Документ.ОтчетПереработчика.ВозвратныеОтходы КАК ТабЧасть
|ГДЕ
| НЕ ТабЧасть.СписатьНаРасходы
| И ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
РаспределениеЗапасовДвижения.ПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть);
КонецПроцедуры
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВозвратныеОтходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВозвратныеОтходы(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТабличнаяЧасть.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТабличнаяЧасть.Получатель
| КОНЕЦ КАК Подразделение,
| ТабличнаяЧасть.СтатьяРасходов КАК Статья,
| ВЫБОР
| КОГДА ТабличнаяЧасть.АналитикаАктивовПассивов = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТабличнаяЧасть.АналитикаАктивовПассивов
| КОНЕЦ КАК Аналитика,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Сумма
|ИЗ
| ВтТаблицаВозвратныеОтходы КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.СписатьНаРасходы
| И ТИПЗНАЧЕНИЯ(ТабличнаяЧасть.СтатьяРасходов) = ТИП(ПланВидовХарактеристик.СтатьиАктивовПассивов)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияПоПрочимАктивамПассивам";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВозвратныеОтходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВозвратныеОтходы(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТабличнаяЧасть.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТабличнаяЧасть.Получатель
| КОНЕЦ КАК Подразделение,
| ТабличнаяЧасть.СтатьяРасходов КАК Статья,
| ТабличнаяЧасть.АналитикаАктивовПассивов КАК Аналитика,
| ТабличнаяЧасть.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет) КАК ДебетКредит,
|
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРегл,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаУпр,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаСНДС,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДС,
|
| ТабличнаяЧасть.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыпускПродукцииФиксированнаяСтоимость) КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаВозвратныеОтходы КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.СписатьНаРасходы
| И ТИПЗНАЧЕНИЯ(ТабличнаяЧасть.СтатьяРасходов) = ТИП(ПланВидовХарактеристик.СтатьиАктивовПассивов)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаДвиженияНоменклатураДоходыРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияНоменклатураДоходыРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА ВтВидыЗапасов.СтатьяРасходов.ВариантРаспределенияРасходовРегл =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ВЫБОР
| КОГДА ВтВидыЗапасов.СтатьяРасходов.ВидЦенностиНДС В
| (ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОС),
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОбъектыНезавершенногоСтроительства))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаВСоставОС)
| КОГДА ВтВидыЗапасов.СтатьяРасходов.ВидЦенностиНДС = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НМА)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаВСоставНМА)
| КОНЕЦ
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеТоваровПоТребованию)
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ВтВидыЗапасов.Подразделение КАК Подразделение,
| ВтВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &Подразделение КАК Склад,
| ВтВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВтВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВтВидыЗапасов.СтатьяРасходов КАК СтатьяДоходовРасходов,
| ВтВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВтВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ВтВидыЗапасов.Количество КАК Количество,
| ВтВидыЗапасов.Стоимость КАК Стоимость,
| ВтВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ВтВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ВтВидыЗапасов.ВидЗапасов
| ИНАЧЕ КлючиНоменклатурыПолучатель.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры
|ИЗ
| ВтВидыЗапасов КАК ВтВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК КлючиНоменклатурыПолучатель
| ПО ВтВидыЗапасов.АналитикаУчетаНоменклатуры = КлючиНоменклатурыПолучатель.Ссылка
|ГДЕ
| ВтВидыЗапасов.СписатьНаРасходы";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуЗаказа");
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуУпр");
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуРегл");
ДополнительныеПараметры.Добавить("АналитикаУчетаПартий");
Если Запрос <> Неопределено Тогда
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
УстановитьПараметрыЗапросаАналитикаУчетаПартий(Запрос);
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВтПартииПроизводства");
ДополнительныеТаблицы.Добавить("ВтВидыЗапасов");
ДополнительныеТаблицы.Добавить("ВтРаспределенныеВидыЗапасов");
Если Запрос <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[1], ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[2], ТекстыЗапроса) Тогда
ТекстЗапросаВтРаспределенныеВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область СписаниеНаДругиеПартии_ТоварРабота
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидДеятельностиНДС,
| ТаблицаДокумента.ЗакупкаПодДеятельность КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.ПартияПроизводства
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорПартия,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.КорАналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ТаблицаВидыЗапасов.РазделУчета КАК РазделУчета,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.КорРазделУчета
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОНЕЦ КАК КорРазделУчета,
|
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеРасходовНаПартииПроизводства)
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаДругиеПартии,
ТекстЗапроса);
#КонецОбласти
#Область СписаниеНаДругиеПартии_ВыпускПоПлановойСтоимости
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ДокументДвижения,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ТаблицаДокумента.Ссылка КАК КорПартия,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.КорГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.Стоимость КАК Стоимость,
| ТаблицаВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
|
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ВыпускПродукции) КАК РазделУчета,
| ТаблицаВидыЗапасов.РазделУчета КАК КорРазделУчета,
|
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Дополнение) КАК ТипЗаписи,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаПродукцииИзПроизводства) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПередачаПродукцииИзПроизводства) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &УчетГотовойПродукцииПоПлановойСтоимости
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаДругиеПартии,
ТекстЗапроса);
#КонецОбласти
#Область СписаниеНаРасходыАктивы_Продукция
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидДеятельностиНДС,
| ТаблицаДокумента.ЗакупкаПодДеятельность КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| ТаблицаВидыЗапасов.СтатьяРасходов КАК СтатьяРасходовАктивов,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиРасходов
| ТОГДА ТаблицаВидыЗапасов.АналитикаРасходов
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаАктивовПассивов
| КОНЕЦ КАК АналитикаРасходовАктивов,
| ВЫБОР КОГДА &УчетЗатратПоНД
| ТОГДА &НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорНаправлениеДеятельности,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаВидыЗапасов.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.КорГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.Стоимость КАК Стоимость,
| ТаблицаВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
|
| ВЫБОР
| КОГДА &УчетГотовойПродукцииПоПлановойСтоимости
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ВыпускПродукции)
| ИНАЧЕ ТаблицаВидыЗапасов.РазделУчета
| КОНЕЦ КАК РазделУчета,
| НЕОПРЕДЕЛЕНО КАК КорРазделУчета,
| ВЫБОР КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.ПартияВыпуска
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Партия,
| ВЫБОР КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаУчетаПартий,
|
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Дополнение) КАК ТипЗаписи,
| ТаблицаВидыЗапасов.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СтоимостьБезНДС <> 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеНаРасходыФиксированнаяСтоимость)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеТоваровПоТребованию)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СписаниеТоваровПоТребованию) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость))
| И ТаблицаВидыЗапасов.СписатьНаРасходы
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаРасходыАктивы,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Работы
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22 ТОГДА
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ Аналитика21.КлючАналитики
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.ПартияПроизводства
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Партия,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидДеятельностиНДС,
| ТаблицаДокумента.ЗакупкаПодДеятельность КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.Стоимость КАК Стоимость,
| ТаблицаВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДС
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.НДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.РазделУчета
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОНЕЦ КАК РазделУчета,
| НЕОПРЕДЕЛЕНО КАК КорРазделУчета,
|
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика21
| ПО Аналитика.Номенклатура = Аналитика21.Номенклатура
| И Аналитика.Характеристика = Аналитика21.Характеристика
| И &Партнер = Аналитика21.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика21.СтатьяКалькуляции
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = Аналитика21.Назначение
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = Аналитика21.Серия
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
|
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры <> ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнутреннееПоступление_Продукция
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ВЫБОР КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.ПартияВыпуска
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.ЗакупкаПодДеятельность КАК ВидДеятельностиНДСДокумента,
|
| ВЫБОР КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаУчетаПартий,
| ВЫБОР КОГДА НЕ &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаПартий,
| 0 КАК КодСтроки,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорГруппаПродукции,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.КорГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.Стоимость КАК Стоимость,
| ТаблицаВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДС
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.НДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ТаблицаВидыЗапасов.РазделУчета КАК РазделУчета,
| НЕОПРЕДЕЛЕНО КАК КорРазделУчета,
|
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СписатьНаРасходы
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Дополнение)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Партия) КОНЕЦ) КАК ТипЗаписи,
| (ВЫБОР
| КОГДА &УчетГотовойПродукцииПоПлановойСтоимости
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаПродукцииИзПроизводства)
| ИНАЧЕ ТаблицаВидыЗапасов.ХозяйственнаяОперация
| КОНЕЦ) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| (ВЫБОР
| КОГДА &УчетГотовойПродукцииПоПлановойСтоимости
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПередачаПродукцииИзПроизводства)
| ИНАЧЕ ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации
| КОНЕЦ) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &ПартионныйУчетВерсии22
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость))
| И НЕ (&УчетГотовойПродукцииПоПлановойСтоимости
| И ТаблицаВидыЗапасов.СписатьНаРасходы)
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнутреннееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнутреннееПоступление_ПродукцияПоПлановойСтоимости
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| 0 КАК КодСтроки,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорГруппаПродукции,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.Стоимость КАК Стоимость,
| ТаблицаВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| 0 КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ВыпускПродукции) КАК РазделУчета,
|
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Дополнение) КАК ТипЗаписи,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| И &УчетГотовойПродукцииПоПлановойСтоимости
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнутреннееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнутреннееПоступление_УменьшениеНЗПНаФиксСтоимостьВыпуска
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.КорАналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ПартияПроизводства КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.ЗакупкаПодДеятельность КАК ВидДеятельностиНДСДокумента,
|
| ВЫБОР КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| 0 КАК КодСтроки,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| ТаблицаВидыЗапасов.КорГруппаПродукции КАК КорГруппаПродукции,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| -ТаблицаВидыЗапасов.Стоимость КАК Стоимость,
| -ТаблицаВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| -ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ -ТаблицаВидыЗапасов.СуммаНДС
| КОНЕЦ КАК НДСРегл,
| -ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ -ТаблицаВидыЗапасов.НДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ТаблицаВидыЗапасов.КорРазделУчета КАК РазделУчета,
| НЕОПРЕДЕЛЕНО КАК КорРазделУчета,
|
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &ПартионныйУчетВерсии22
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость)
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнутреннееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область СписаниеНаДругиеПартии_МатериалыНаПродукцию
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ДокументДвижения,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ПартияПроизводства КАК Партия,
| ТаблицаВидыЗапасов.ПартияПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.ЗакупкаПодДеятельность КАК ВидДеятельностиНДСДокумента,
|
| ВЫБОР КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаУчетаПартий,
| ВЫБОР КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.КорАналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаПартий,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ТаблицаВидыЗапасов.КорАналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| ВЫБОР КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.ПартияВыпуска
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорПартия,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.КорГруппаПродукции КАК ГруппаПродукции,
| ТаблицаВидыЗапасов.КорГруппаПродукции КАК КорАналитикаФинансовогоУчета,
| ТаблицаВидыЗапасов.КорГруппаПродукции КАК АналитикаФинансовогоУчетаДокумента,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК НДСРегл,
| 0 КАК СтоимостьУпр,
| 0 КАК НДСУпр,
|
| ТаблицаВидыЗапасов.РазделУчета КАК РазделУчета,
| ТаблицаВидыЗапасов.КорРазделУчета КАК КорРазделУчета,
|
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиТоваров.ИзДокумента) КАК СпособОпределенияСебестоимости
|
|ИЗ
| Документ.ОтчетПереработчика КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРаспределенныеВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &ПартионныйУчетВерсии22
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры <> ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| И НЕ &УчетГотовойПродукцииПоПлановойСтоимости
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаДругиеПартии,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
Функция ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности(Форма) Экспорт
ПорядокОбработкиДокумента = НаправленияДеятельностиСервер.ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности();
ПорядокОбработкиДокумента.ИменаТабличныхЧастейДляОчисткиНекорректныхНазначений = "Продукция,ВозвратныеОтходы,Материалы";
ТаблицаУсловий = НаправленияДеятельностиСервер.УсловияОбработкиНазначенийВСтроках("ТипНоменклатуры");
ПорядокОбработкиДокумента.УсловияОбработкиСтрок.Вставить("Материалы", ТаблицаУсловий);
ПорядокОбработкиДокумента.УсловияОбработкиСтрок.Вставить("Продукция", ТаблицаУсловий);
ПорядокОбработкиДокумента.УсловияОбработкиСтрок.Вставить("ВозвратныеОтходы", ТаблицаУсловий);
Возврат ПорядокОбработкиДокумента;
КонецФункции
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
ОтчетПереработчикаЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
#КонецОбласти
#Область ПартииПроизводства
Процедура СформироватьПартииПроизводства(Объект) Экспорт
Реквизиты = Объект;
Если ТипЗнч(Объект) = Тип("ДокументСсылка.ОтчетПереработчика") Тогда
СписокРеквизитов =
"Ссылка, Дата, Организация, ГруппировкаЗатрат, ЗакупкаПодДеятельность";
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект, СписокРеквизитов);
КонецЕсли;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", Реквизиты.Ссылка);
Запрос.УстановитьПараметр("Дата", Реквизиты.Дата);
Запрос.УстановитьПараметр("Организация", Реквизиты.Организация);
Запрос.УстановитьПараметр("ГруппировкаЗатрат", Реквизиты.ГруппировкаЗатрат);
Запрос.УстановитьПараметр("ЗакупкаПодДеятельность", Реквизиты.ЗакупкаПодДеятельность);
Запрос.УстановитьПараметр("ПартионныйУчетВерсии22",
РасчетСебестоимостиПовтИсп.ПартионныйУчетВерсии22(Реквизиты.Дата));
СформироватьТаблицуПродукции(Объект, Запрос);
ТекстВыборкаПолейПартий = ТекстВыборкаПолейПартий();
Справочники.ПартииПроизводства.СформироватьПартииПроизводства(
Запрос,
ТекстВыборкаПолейПартий,
Истина,
Истина);
КонецПроцедуры
Процедура СформироватьТаблицуПродукции(Объект, Запрос)
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Организация КАК Организация,
| &ГруппировкаЗатрат КАК ГруппировкаЗатрат,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Спецификация КАК Спецификация,
| ТаблицаТовары.Назначение КАК Назначение
|ПОМЕСТИТЬ ТаблицаПродукция
|ИЗ
| &ТаблицаПродукция КАК ТаблицаТовары
|
|ГДЕ
| &ПартионныйУчетВерсии22
| И &УсловиеСсылка
|
|ИНДЕКСИРОВАТЬ ПО
| ТаблицаТовары.НомерГруппыЗатрат
|";
Если ТипЗнч(Объект) = Тип("ДокументСсылка.ОтчетПереработчика") Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТаблицаПродукция", "Документ.ОтчетПереработчика.Продукция");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеСсылка", "ТаблицаТовары.Ссылка = &Ссылка");
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеСсылка", "ИСТИНА");
Запрос.УстановитьПараметр("ТаблицаПродукция", Объект.Продукция.Выгрузить());
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
Запрос.Выполнить();
КонецПроцедуры
Функция ТекстВыборкаПолейПартий()
Возврат
"ВЫБРАТЬ
| &Ссылка КАК Документ,
| ТаблицаПродукция.ГруппировкаЗатрат КАК ГруппировкаЗатрат,
| ТаблицаПродукция.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаПродукция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ТипПроцесса,
| ВЫБОР
| КОГДА &ГруппировкаЗатрат В
| (ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.БезГруппировки),
| ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукции))
| ТОГДА СпрНазначения.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельности,
| &ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
| ОсновныеИзделия.Номенклатура КАК ОсновноеИзделиеНоменклатура,
| ОсновныеИзделия.Характеристика КАК ОсновноеИзделиеХарактеристика,
| ВЫБОР
| КОГДА &ГруппировкаЗатрат = ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукции)
| ТОГДА ТаблицаПродукция.Номенклатура
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Номенклатура,
| ВЫБОР
| КОГДА &ГруппировкаЗатрат = ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукции)
| ТОГДА ТаблицаПродукция.Характеристика
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Характеристика,
| СпрОсновныхИзделий.ГруппаАналитическогоУчета КАК ГруппаПродукции,
| ВЫБОР
| КОГДА &ГруппировкаЗатрат = ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоСпецификациям)
| ТОГДА ТаблицаПродукция.Спецификация
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Спецификация,
| ВЫБОР
| КОГДА &ГруппировкаЗатрат В
| (ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.БезГруппировки),
| ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукции))
| ТОГДА ТаблицаПродукция.Назначение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия
|ПОМЕСТИТЬ ВТПоляПартийПроизводства
|ИЗ
| ТаблицаПродукция КАК ТаблицаПродукция
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НомераСтрокОсновныхИзделий КАК НомераСтрокОсновныхИзделий
| ПО НомераСтрокОсновныхИзделий.НомерГруппыЗатрат = ТаблицаПродукция.НомерГруппыЗатрат
| И НомераСтрокОсновныхИзделий.Ссылка = &Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаПродукция КАК ОсновныеИзделия
| ПО ОсновныеИзделия.НомерСтроки = НомераСтрокОсновныхИзделий.НомерСтроки
| И ОсновныеИзделия.Ссылка = &Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрОсновныхИзделий
| ПО СпрОсновныхИзделий.Ссылка = ОсновныеИзделия.Номенклатура
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Назначения КАК СпрНазначения
| ПО СпрНазначения.Ссылка = ТаблицаПродукция.Назначение
|
|ГДЕ
| ТИПЗНАЧЕНИЯ(&Ссылка) = ТИП(Документ.ОтчетПереработчика)
|";
КонецФункции
#КонецОбласти
#Область ТекущиеДела
Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт
ИмяФормы = "Обработка.ЖурналДокументовПереработки.Форма.СписокДокументыПередачиКОформлению";
ОбщиеПараметрыЗапросов = ТекущиеДелаСервер.ОбщиеПараметрыЗапросов();
Доступность =
(ОбщиеПараметрыЗапросов.ЭтоПолноправныйПользователь
Или ПравоДоступа("Просмотр", Метаданные.Документы.ОтчетПереработчика))
И ПравоДоступа("Просмотр", Метаданные.Документы.ЗаказПереработчику)
И (ПравоДоступа("Добавление", Метаданные.Документы.ОтчетПереработчика)
ИЛИ ПравоДоступа("Изменение", Метаданные.Документы.ОтчетПереработчика))
И ПолучитьФункциональнуюОпцию("ИспользоватьПроизводствоНаСтороне");
Если НЕ Доступность Тогда
Возврат;
КонецЕсли;
ПараметрыОтбора = НакладныеСервер.ПараметрыОтбораРаспоряжений();
Запрос = Новый Запрос(НакладныеСервер.ТекстЗапросаСостояний("СостоянияОтчетовПереработчика", ПараметрыОтбора, Неопределено)
+ ОбщегоНазначения.РазделительПакетаЗапросов() +
"ВЫБРАТЬ
| ОстаткиСостояния.Распоряжение КАК Ссылка
|ИЗ
| ВтСостоянияОтчетовПереработчика КАК ОстаткиСостояния");
НакладныеСервер.ДобавитьПараметрыОтбораПоРееструДокументов(Запрос, ПараметрыОтбора);
ОтчетыПереработчиковКОформлению = Запрос.Выполнить().Выбрать().Количество();
ДелоРодитель = ТекущиеДела.Найти("ПроизводствоНаСтороне", "Идентификатор");
Если ДелоРодитель = Неопределено Тогда
ДелоРодитель = ТекущиеДела.Добавить();
ДелоРодитель.Идентификатор = "ПроизводствоНаСтороне";
ДелоРодитель.Представление = НСтр("ru = 'Производство на стороне'");
ДелоРодитель.Владелец = Метаданные.Подсистемы.Производство;
КонецЕсли;
ДелоРодитель.ЕстьДела = ДелоРодитель.ЕстьДела Или ОтчетыПереработчиковКОформлению > 0;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ИмяТекущейСтраницы", "СтраницаОтчеты");
ПараметрыФормы.Вставить("СтруктураБыстрогоОтбора", Новый Структура);
ПараметрыФормы.Вставить("КлючНазначенияФормы", "ТекущиеДела");
Дело = ТекущиеДела.Добавить();
Дело.Идентификатор = "ОтчетыПереработчиковКОформлению";
Дело.ЕстьДела = ОтчетыПереработчиковКОформлению > 0;
Дело.Представление = НСтр("ru = 'Отчеты переработчиков к оформлению (2.4)'");
Дело.Количество = ОтчетыПереработчиковКОформлению;
Дело.Важное = Ложь;
Дело.Форма = ИмяФормы;
Дело.ПараметрыФормы = ПараметрыФормы;
Дело.Владелец = "ПроизводствоНаСтороне";
КонецПроцедуры
#КонецОбласти
#Область ФормированиеГиперссылкиВЖурналеДокументовПереработки
Функция ЕстьДокументыКОформлению(Параметры)
ПараметрыОтбора = НакладныеСервер.ПараметрыОтбораРаспоряжений(Параметры.Организация,,,, Параметры.Менеджер);
Запрос = Новый Запрос(НакладныеСервер.ТекстЗапросаСостояний("СостоянияОтчетовПереработчика", ПараметрыОтбора, Неопределено, Истина)
+ ОбщегоНазначения.РазделительПакетаЗапросов() +
"ВЫБРАТЬ
| КОформлению
|ИЗ
| ВтСостоянияОтчетовПереработчика");
НакладныеСервер.ДобавитьПараметрыОтбораПоРееструДокументов(Запрос, ПараметрыОтбора);
Если ЗначениеЗаполнено(Параметры.Организация) Тогда
СписокОрганизаций = Справочники.Организации.ФилиалыСРасчетамиЧерезГоловнуюОрганизацию(Параметры.Организация);
СписокОрганизаций.Добавить(Параметры.Организация);
Иначе
СписокОрганизаций = Новый Массив;
КонецЕсли;
Запрос.УстановитьПараметр("Организация", СписокОрганизаций);
Запрос.УстановитьПараметр("Менеджер", Параметры.Менеджер);
Возврат Не Запрос.Выполнить().Пустой();
КонецФункции
Функция СформироватьГиперссылкуКОформлению(Параметры) Экспорт
ЕстьПраваНаЧтение = ПравоДоступа("Чтение", Метаданные.РегистрыНакопления.ТоварыПолученныеОтПереработчика)
И ПравоДоступа("Чтение", Метаданные.РегистрыНакопления.ЗаказыПоставщикам);
Если Не ЕстьПраваНаЧтение Тогда
Возврат Неопределено;
КонецЕсли;
ТекстГиперссылки = НСтр("ru = 'Отчеты'");
ТекстСсылки = "Обработка.ЖурналДокументовПереработки.Форма.СписокДокументыПередачиКОформлению/СтраницаОтчеты";
Если ЕстьДокументыКОформлению(Параметры) Тогда
Гиперссылка = Новый ФорматированнаяСтрока(ТекстГиперссылки,,,, ТекстСсылки);
Иначе
Гиперссылка = Новый ФорматированнаяСтрока(ТекстГиперссылки,, ЦветаСтиля.НезаполненноеПолеТаблицы,, ТекстСсылки);
КонецЕсли;
Возврат Гиперссылка;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли