#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("Закупки");
МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
МеханизмыДокумента.Добавить("Обеспечение");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("Производство");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СерийныйУчет");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетИмпорта");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетНЗП");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("УчетРабот");
МеханизмыДокумента.Добавить("ЦеныИСкидки");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
ОтчетПереработчика2_5Локализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ОтчетПереработчика2_5") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаВыпускПродукции(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаДвиженияНоменклатураДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияНоменклатураНоменклатура(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаЗаказыПоставщикам(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаЦеныНоменклатурыПоставщиков(Запрос, ТекстыЗапроса, Регистры);
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры);
ОтчетПереработчика2_5Локализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры);
ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Автор";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Автор";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Организация", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, Организация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Менеджер", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Автор, ЗаказПереработчику, Менеджер";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Автор";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Подразделение", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Договор, Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Организация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "БанковскийСчетОрганизации", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Контрагент";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Договор, Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Контрагент";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "БанковскийСчетКонтрагента", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Контрагент";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Контрагент";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
ОписаниеРеквизитов,
"НаименованиеВходящегоДокумента",
Параметры);
КонецПроцедуры
#Область Заполнение
Функция ПараметрыЗаполненияДокумента() Экспорт
ПараметрыЗаполнения = Новый Структура();
ПараметрыЗаполнения.Вставить("МассивЗаказов", Неопределено);
ПараметрыЗаполнения.Вставить("ПоЗаказам", Ложь);
ПараметрыЗаполнения.Вставить("РеквизитыШапки", Неопределено);
ПараметрыЗаполнения.Вставить("ИмяДокумента", "ОтчетПереработчика2_5");
ПараметрыЗаполнения.Вставить("ИмяРегистраЗаказ", "РаспоряженияНаОтгрузкуИВозврат");
ПараметрыЗаполнения.Вставить("ИмяПоляЗаказ", "ЗаказПереработчику");
ПараметрыЗаполнения.Вставить("КлючевыеПоля", "Номенклатура, Характеристика, Серия");
Возврат ПараметрыЗаполнения;
КонецФункции
Процедура ИнициализироватьПараметрыЗаполнения(ПараметрыЗаполнения, РеквизитыШапки, МассивЗаказов) Экспорт
ПараметрыЗаполнения.МассивЗаказов = МассивЗаказов;
ПараметрыЗаполнения.РеквизитыШапки = РеквизитыШапки;
ПараметрыЗаполнения.ПоЗаказам = ТипЗнч(МассивЗаказов[0]) = Тип("ДокументСсылка.ЗаказПереработчику2_5");
КонецПроцедуры
Функция ДанныеЗаполненияНакладной(МассивСсылок, СвойстваЗаказов = Неопределено) Экспорт
Реквизиты = "Партнер,Контрагент,Договор,Организация,
|Сделка,НаправлениеДеятельности,Подразделение,
|Валюта,ЗакупкаПодДеятельность";
Возврат ОбщегоНазначения.ЗначенияРеквизитовОбъекта(МассивСсылок[0], Реквизиты);
КонецФункции
Функция КлючевыеПоляШапкиРаспоряжения() Экспорт
Возврат "Партнер,Контрагент,Договор,Организация,Сделка,Валюта,НаправлениеДеятельности,Подразделение";
КонецФункции
Процедура ЗаполнитьПобочныеИзделияМатериалыУслугиПоСпецификации(Объект, СписокПродукции, СписокТЧ = "") Экспорт
ИменаТЧ = Новый Структура(СписокТЧ);
ЗаполнитьВсе = ИменаТЧ.Количество() = 0;
ГруппыЗатрат = Новый Массив;
СписокНоменклатуры = Справочники.РесурсныеСпецификации.СписокНоменклатуры();
СписокНоменклатуры.Колонки.Добавить("НомерГруппыЗатрат");
Для Каждого ТекущиеДанные Из СписокПродукции Цикл
ГруппыЗатрат.Добавить(ТекущиеДанные.НомерГруппыЗатрат);
Если НЕ ЗначениеЗаполнено(ТекущиеДанные.Спецификация)
Или ТекущиеДанные.Количество = 0 Тогда
Продолжить;
КонецЕсли;
НоваяСтрока = СписокНоменклатуры.Добавить();
ЗаполнитьЗначенияСвойств(
НоваяСтрока,
ТекущиеДанные,
"Номенклатура,Характеристика,Спецификация,Количество,НомерГруппыЗатрат");
НоваяСтрока.НачалоПроизводства = Объект.Дата;
НоваяСтрока.НаправлениеДеятельности = Объект.НаправлениеДеятельности;
КонецЦикла;
ОбщегоНазначенияКлиентСервер.СвернутьМассив(ГруппыЗатрат);
#Область СтруктураДействийИзделия
СтруктураДействийИзделия = Новый Структура;
#Область ЗаполнитьНастройкуСчетовУчетаПоУмолчанию
ПараметрыСчетовУчета = Документы.ОтчетПереработчика2_5.ПараметрыНастройкиСчетовУчета();
НастройкаСчетовУчетаКлиентСервер.ВставитьДействиеЗаполнитьНастройкуСчетовУчетаПоУмолчанию(
СтруктураДействийИзделия,
ПараметрыСчетовУчета,
"Объект.ПобочныеИзделия");
#КонецОбласти
#Область ЗаполнитьЦенуПродажи
ПараметрыДействия = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыЗаполненияЦеныВСтрокеТЧ(Объект, Истина);
ПараметрыДействия.Вставить("ВидЦены", Объект.ВидЦены);
СтруктураДействийИзделия.Вставить("ЗаполнитьЦенуПродажи", ПараметрыДействия);
#КонецОбласти
#Область ПересчитатьСумму
СтруктураДействийИзделия.Вставить("ПересчитатьСумму");
#КонецОбласти
#КонецОбласти
#Область СтруктураДействийУслуги
Если Объект.УслугиПоПереработке = Перечисления.ВариантыОформленияУслугДокументовПереработки.УказываютсяВЗаказеОтчете Тогда
СтруктураДействийУслуги = Новый Структура;
ПараметрыДействия = Новый Структура;
ОтборВидаЦен = Новый Структура("Владелец, ЦенаВключаетНДС", Объект.Партнер, Объект.ЦенаВключаетНДС);
ВидЦеныПоставщикаПоУмолчанию = Справочники.ВидыЦенПоставщиков.ВидЦеныПоУмолчанию(Неопределено, ОтборВидаЦен);
ПараметрыДействия.Вставить("ИмяПоляВидЦены", "ВидЦеныПоставщика");
ПараметрыДействия.Вставить("ВидЦены", ВидЦеныПоставщикаПоУмолчанию);
СтруктураДействийУслуги.Вставить("ЗаполнитьВидЦены", ПараметрыДействия);
ПараметрыДействия = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияЦеныЗакупкиВСтрокеТЧ(Объект);
ПараметрыДействия.Вставить("Упаковка", ПредопределенноеЗначение("Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка"));
СтруктураДействийУслуги.Вставить("ЗаполнитьЦенуЗакупки", ПараметрыДействия);
ПараметрыДействия = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыЗаполненияСтавкиНДС(Объект);
СтруктураДействийУслуги.Вставить("ЗаполнитьСтавкуНДС", ПараметрыДействия);
СтруктураДействийУслуги.Вставить("ПересчитатьСумму", "Количество");
ПараметрыДействия = Новый Структура;
ПараметрыДействия.Вставить("ЦенаВключаетНДС", Объект.ЦенаВключаетНДС);
ПараметрыДействия.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);
СтруктураДействийУслуги.Вставить("ПересчитатьСуммуНДС", ПараметрыДействия);
СтруктураДействийУслуги.Вставить("ПересчитатьСуммуСНДС", ПараметрыДействия);
КонецЕсли;
#КонецОбласти
ПереченьДанных = Новый Массив;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ПобочныеИзделия")
Или ИменаТЧ.Свойство("МатериалыИРаботы") Тогда
ПереченьДанных.Добавить("ВозвратныеОтходы");
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ПобочныеИзделия")
Или ИменаТЧ.Свойство("МатериалыИРаботы") Тогда
ПереченьДанных.Добавить("МатериалыИУслуги");
КонецЕсли;
Если Объект.УслугиПоПереработке = Перечисления.ВариантыОформленияУслугДокументовПереработки.УказываютсяВЗаказеОтчете
И (ЗаполнитьВсе
Или ИменаТЧ.Свойство("Услуги")) Тогда
ПереченьДанных.Добавить("Этапы");
КонецЕсли;
ПараметрыВыборки =
Справочники.РесурсныеСпецификации.ПараметрыВыборкиДанных(
ПереченьДанных,,
Перечисления.ВариантыЗаполненияОбеспеченияПроизводства.ПоСхемамОбеспечения);
ПараметрыВыборки.ПолучитьСведенияАвтовыбора = Ложь;
ПараметрыВыборки.ПолучитьПредставления = Ложь;
ПараметрыВыборки.ПереопределениеНастройкиПартииВыпуска.Использовать = Истина;
ПараметрыВыборки.ПереопределениеНастройкиПартииВыпуска.ВыпускПроизвольнымиПорциями = Истина;
ДанныеСпецификаций = Справочники.РесурсныеСпецификации.ДанныеСпецификацииПоСпискуНоменклатуры(
СписокНоменклатуры,
ПараметрыВыборки,
Истина,
"НомерГруппыЗатрат");
Для Каждого СтруктураДанных Из ДанныеСпецификаций Цикл
Если СтруктураДанных = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ПобочныеИзделия")
Или ИменаТЧ.Свойство("МатериалыИРаботы") Тогда
Справочники.РесурсныеСпецификации.ИсключитьПроизводимыеНаЭтапеПолуфабрикаты(
СтруктураДанных.МатериалыИУслуги,
СтруктураДанных.ВозвратныеОтходы);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ПобочныеИзделия") Тогда
ЗаполнитьПоНормативам(
Объект.ПобочныеИзделия,
СтруктураДанных.ВозвратныеОтходы,
СтруктураДанных.НомерГруппыЗатрат,
СтруктураДействийИзделия);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("МатериалыИРаботы") Тогда
ЗаполнитьПоНормативам(
Объект.МатериалыИРаботы,
СтруктураДанных.МатериалыИУслуги,
СтруктураДанных.НомерГруппыЗатрат);
КонецЕсли;
Если Объект.УслугиПоПереработке = Перечисления.ВариантыОформленияУслугДокументовПереработки.УказываютсяВЗаказеОтчете
И (ЗаполнитьВсе
Или ИменаТЧ.Свойство("Услуги")) Тогда
Для Каждого ТекЭтап Из СтруктураДанных.Этапы Цикл
Если Не ТекЭтап.ПроизводствоНаСтороне
Или ТекЭтап.УслугиПереработчика.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
ЗаполнитьПоНормативам(
Объект.Услуги,
ТекЭтап.УслугиПереработчика,
СтруктураДанных.НомерГруппыЗатрат,
СтруктураДействийУслуги);
КонецЦикла;
КонецЕсли;
КонецЦикла;
ПараметрыУказанияСерий = НоменклатураСервер.ПараметрыУказанияСерий(Объект, Документы.ОтчетПереработчика2_5);
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ПобочныеИзделия") Тогда
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий.ПобочныеИзделия);
НоменклатураСервер.ОчиститьНеиспользуемыеСерии(Объект, ПараметрыУказанияСерий.ПобочныеИзделия);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("МатериалыИРаботы") Тогда
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий.МатериалыИРаботы);
НоменклатураСервер.ОчиститьНеиспользуемыеСерии(Объект, ПараметрыУказанияСерий.МатериалыИРаботы);
КонецЕсли;
Если Объект.УслугиПоПереработке = Перечисления.ВариантыОформленияУслугДокументовПереработки.УказываютсяВЗаказеОтчете
И (ЗаполнитьВсе
Или ИменаТЧ.Свойство("Услуги")) Тогда
СтруктураДействийУслуги = Новый Структура;
ПараметрыДействия = Новый Структура;
ПараметрыДействия.Вставить("ИмяПоляВидЦены", "ВидЦеныПоставщика");
ПараметрыДействия.Вставить("ВидЦены", ВидЦеныПоставщикаПоУмолчанию);
СтруктураДействийУслуги.Вставить("ЗаполнитьВидЦены", ПараметрыДействия);
ОбрабатываемыеСтроки = Новый Массив;
Отбор = Новый Структура("НомерГруппыЗатрат");
Для Каждого ТекущиеДанные Из ГруппыЗатрат Цикл
Отбор.НомерГруппыЗатрат = ТекущиеДанные;
Если Объект.Услуги.НайтиСтроки(Отбор).Количество() = 0 Тогда
НоваяСтрока = Объект.Услуги.Добавить();
НоваяСтрока.НомерГруппыЗатрат = ТекущиеДанные;
ОбрабатываемыеСтроки.Добавить(НоваяСтрока);
КонецЕсли;
КонецЦикла;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(
ОбрабатываемыеСтроки,
СтруктураДействийУслуги,
Объект.Услуги);
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьНаОснованииЗаказа(Объект, ДокументОснование) Экспорт
Объект.ПоЗаказам = Истина;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПереработчику.Статус КАК СтатусДокумента,
| ЗаказПереработчику.Организация КАК Организация,
| ЗаказПереработчику.Подразделение КАК Подразделение,
| ЗаказПереработчику.Сделка КАК Сделка,
| ЗаказПереработчику.Ссылка КАК ЗаказПереработчику,
| ЗаказПереработчику.ГруппировкаЗатрат КАК ГруппировкаЗатрат,
| ЗаказПереработчику.УслугиПоПереработке КАК УслугиПоПереработке,
| ЗаказПереработчику.Партнер КАК Партнер,
| ЗаказПереработчику.Контрагент КАК Контрагент,
| ЗаказПереработчику.Договор КАК Договор,
| ЗаказПереработчику.СпособРаспределенияЗатратНаВыходныеИзделия КАК СпособРаспределенияЗатратНаВыходныеИзделия,
| ЗаказПереработчику.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗаказПереработчику.Договор.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ЗаказПереработчику.Валюта КАК Валюта,
| ЗаказПереработчику.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ЗаказПереработчику.НалогообложениеНДС КАК НалогообложениеНДС,
| ЗаказПереработчику.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| ЗаказПереработчику.ВидЦены КАК ВидЦены,
| ЗаказПереработчику.РегистрироватьЦеныПоставщика КАК РегистрироватьЦеныПоставщика,
| ЗаказПереработчику.ФормаОплаты КАК ФормаОплаты,
| ЗаказПереработчику.ПорядокРасчетов КАК ПорядокРасчетов,
| ЗаказПереработчику.ОплатаВВалюте КАК ОплатаВВалюте,
| ЗаказПереработчику.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ЗаказПереработчику.БанковскийСчет КАК БанковскийСчетОрганизации,
| НЕ ЗаказПереработчику.Проведен КАК ЕстьОшибкиПроведен,
| ВЫБОР ЗаказПереработчику.Статус
| КОГДА ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказовПереработчикам.КИсполнению)
| ТОГДА ЛОЖЬ
| КОГДА ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказовПереработчикам.Закрыт)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьОшибкиСтатус
|ИЗ
| Документ.ЗаказПереработчику2_5 КАК ЗаказПереработчику
|ГДЕ
| ЗаказПереработчику.Ссылка = &ДокументОснование";
Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
РеквизитыЗаказа = Запрос.Выполнить().Выбрать();
РеквизитыЗаказа.Следующий();
МассивДопустимыхСтатусов = Новый Массив();
МассивДопустимыхСтатусов.Добавить(Перечисления.СтатусыЗаказовПереработчикам.КИсполнению);
МассивДопустимыхСтатусов.Добавить(Перечисления.СтатусыЗаказовПереработчикам.Закрыт);
ПараметрыПроверки = ОбщегоНазначенияУТ.ПараметрыПроверкиВозможностиВводаНаОсновании();
ПараметрыПроверки.Статус = РеквизитыЗаказа.СтатусДокумента;
ПараметрыПроверки.ЕстьОшибкиПроведен = РеквизитыЗаказа.ЕстьОшибкиПроведен;
ПараметрыПроверки.ЕстьОшибкиСтатус = РеквизитыЗаказа.ЕстьОшибкиСтатус;
ПараметрыПроверки.МассивДопустимыхСтатусов = МассивДопустимыхСтатусов;
ОбщегоНазначенияУТ.ПроверитьВозможностьВводаНаОснованииСПараметрами(РеквизитыЗаказа.ЗаказПереработчику, ПараметрыПроверки);
ЗаполнитьЗначенияСвойств(Объект, РеквизитыЗаказа);
ЗакупкиВызовСервера.ЗаполнитьБанковскиеСчетаПоДоговору(
Объект.Договор,
Объект.БанковскийСчетОрганизации,
Объект.БанковскийСчетКонтрагента);
ЗаполнитьИзделияМатериалыУслугиПоЗаказу(Объект);
Объект.СуммаДокумента = Объект.Услуги.Итог("СуммаСНДС");
Если ПолучитьФункциональнуюОпцию("ИспользоватьПоступлениеПоНесколькимЗаказам") Тогда
Объект.Сделка = Справочники.СделкиСКлиентами.ПустаяСсылка();
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьИзделияМатериалыУслугиПоЗаказу(Объект, НомераГруппЗатрат = Неопределено, СписокТЧ = "") Экспорт
ИменаТЧ = Новый Структура(СписокТЧ);
ЗаполнитьВсе = ИменаТЧ.Количество() = 0;
ТекстыЗапроса = Новый Массив;
Отбор = Новый Структура;
Отбор.Вставить("ЗаказПоставщику", "ЗаказПереработчику");
ТекстыЗапроса.Добавить(
РегистрыНакопления.ЗаказыПоставщикам.ТекстЗапросаОстатки("ТоварыКОформлениюПоЗаказу", Отбор, "КОформлению > 0"));
ТекстыЗапроса.Добавить(
ТекстЗапросаТоварыСверхЗаказаКОформлению("ТоварыКОформлениюСверхЗаказа", Отбор));
Отбор = Новый Соответствие;
Если ЗначениеЗаполнено(НомераГруппЗатрат) Тогда
ОбщегоНазначенияУТ.ДобавитьЭлементОтбораВКоллекцию(Отбор, "НомерГруппыЗатрат", "&НомераГруппЗатрат");
КонецЕсли;
ТекстыЗапроса.Добавить(Документы.ЗаказПереработчику2_5.ТекстЗапросаВыходныеИзделияДокумента(Отбор));
ТекстыЗапроса.Добавить(Документы.ЗаказПереработчику2_5.ТекстЗапросаПобочныеИзделияДокумента(Отбор));
ТекстыЗапроса.Добавить(Документы.ЗаказПереработчику2_5.ТекстЗапросаОбеспечениеМатериаламиИРаботамиДокумента(Отбор));
Отбор = Новый Соответствие;
Если ЗначениеЗаполнено(НомераГруппЗатрат) Тогда
ОбщегоНазначенияУТ.ДобавитьЭлементОтбораВКоллекцию(Отбор, "Услуги.НомерГруппыЗатрат", "&НомераГруппЗатрат");
КонецЕсли;
ТекстыЗапроса.Добавить(Документы.ЗаказПереработчику2_5.ТекстЗапросаУслугиДокумента(Отбор));
Если ЗначениеЗаполнено(НомераГруппЗатрат) Тогда
ДобавитьТекстыЗапросаНормативыИзделийПоОтчету(ТекстыЗапроса);
Иначе
ТекстыЗапроса.Добавить(ТекстЗапросаНормативыИзделийПоЗаказу());
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ВыходныеИзделия")
Или ИменаТЧ.Свойство("ПобочныеИзделия") Тогда
ДобавитьТекстыЗапросаСерииПоступленийПоЗаказу(
ТекстыЗапроса,
ЗаполнитьВсе Или ИменаТЧ.Свойство("ВыходныеИзделия"),
ЗаполнитьВсе Или ИменаТЧ.Свойство("ПобочныеИзделия"));
ИндексРезультатаЗапросаСерий = ТекстыЗапроса.Количество() - 1;
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ВыходныеИзделия") Тогда
ТекстыЗапроса.Добавить(ТекстЗапросаВыходныеИзделияКОформлению());
ИменаТЧ.Вставить("ВыходныеИзделия", ТекстыЗапроса.Количество() - 1);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ПобочныеИзделия") Тогда
ТекстыЗапроса.Добавить(ТекстЗапросаПобочныеИзделияКОформлению());
ИменаТЧ.Вставить("ПобочныеИзделия", ТекстыЗапроса.Количество() - 1);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("МатериалыИРаботы") Тогда
ТекстыЗапроса.Добавить(ТекстЗапросаМатериалыИРаботыПереданные());
ТекстыЗапроса.Добавить(ТекстЗапросаМатериалыИРаботыКОформлению());
ИменаТЧ.Вставить("МатериалыИРаботы", ТекстыЗапроса.Количество() - 1);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("Услуги") Тогда
ТекстыЗапроса.Добавить(ТекстЗапросаУслугиКОформлению());
ИменаТЧ.Вставить("Услуги", ТекстыЗапроса.Количество() - 1);
КонецЕсли;
Запрос = Новый Запрос;
Если ОбщегоНазначенияУТ.РежимОтладки() Тогда
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
КонецЕсли;
Запрос.Текст = СтрСоединить(ТекстыЗапроса, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.УстановитьПараметр("ЗаказПереработчику", Объект.ЗаказПереработчику);
Запрос.УстановитьПараметр("Регистратор", Объект.Ссылка);
Запрос.УстановитьПараметр("Организация", Объект.Организация);
Запрос.УстановитьПараметр("НормативыОтчета", Ложь);
Если ЗначениеЗаполнено(НомераГруппЗатрат) Тогда
Запрос.УстановитьПараметр("НомераГруппЗатрат", НомераГруппЗатрат);
Запрос.УстановитьПараметр("ВыходныеИзделияОтчета", Объект.ВыходныеИзделия.Выгрузить());
Запрос.УстановитьПараметр("ПобочныеИзделияОтчета", Объект.ПобочныеИзделия.Выгрузить());
Запрос.УстановитьПараметр("НормативыОтчета", Истина);
КонецЕсли;
Результат = Запрос.ВыполнитьПакет();
#Область СтруктураДействийИзделияИМатериалы
СтруктураДействийВыходныеИзделия = Новый Структура;
СтруктураДействийПобочныеИзделия = Новый Структура;
СтруктураДействийМатериалы = Новый Структура;
#Область ПересчитатьКоличествоУпаковок
СтруктураДействийВыходныеИзделия.Вставить("ПересчитатьКоличествоУпаковок");
СтруктураДействийПобочныеИзделия.Вставить("ПересчитатьКоличествоУпаковок");
СтруктураДействийМатериалы.Вставить("ПересчитатьКоличествоУпаковок");
#КонецОбласти
#Область ЗаполнитьЦенуПродажи
ПараметрыУчетнойПолитики = НастройкиНалоговУчетныхПолитик.ДействующиеПараметрыНалоговУчетныхПолитикНаДату(
"УчетнаяПолитикаФинансовогоУчета",
Объект.Организация,
Объект.Дата);
ИспользоватьПлановуюСтоимость = Ложь;
Если НЕ ПараметрыУчетнойПолитики = Неопределено Тогда
ИспользоватьПлановуюСтоимость = ПараметрыУчетнойПолитики.УчетГотовойПродукцииПоПлановойСтоимости;
КонецЕсли;
ПараметрыДействия = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыЗаполненияЦеныВСтрокеТЧ(Объект, Истина);
ПараметрыДействия.Вставить("ВидЦены", Объект.ВидЦены);
Если ИспользоватьПлановуюСтоимость Тогда
СтруктураДействийВыходныеИзделия.Вставить("ЗаполнитьЦенуПродажи", ПараметрыДействия);
КонецЕсли;
СтруктураДействийПобочныеИзделия.Вставить("ЗаполнитьЦенуПродажи", ПараметрыДействия);
#КонецОбласти
#Область ПересчитатьСумму
Если ИспользоватьПлановуюСтоимость Тогда
СтруктураДействийВыходныеИзделия.Вставить("ПересчитатьСумму");
КонецЕсли;
СтруктураДействийПобочныеИзделия.Вставить("ПересчитатьСумму");
#КонецОбласти
#Область ЗаполнитьНастройкуСчетовУчетаПоУмолчанию
ПараметрыСчетовУчета = Документы.ОтчетПереработчика2_5.ПараметрыНастройкиСчетовУчета();
НастройкаСчетовУчетаКлиентСервер.ВставитьДействиеЗаполнитьНастройкуСчетовУчетаПоУмолчанию(
СтруктураДействийВыходныеИзделия,
ПараметрыСчетовУчета,
"Объект.ВыходныеИзделия");
НастройкаСчетовУчетаКлиентСервер.ВставитьДействиеЗаполнитьНастройкуСчетовУчетаПоУмолчанию(
СтруктураДействийПобочныеИзделия,
ПараметрыСчетовУчета,
"Объект.ПобочныеИзделия");
#КонецОбласти
#КонецОбласти
#Область СтруктураДействийУслуги
СтруктураДействийУслуги = Новый Структура;
ПараметрыДействия = Новый Структура;
СтруктураДействийУслуги.Вставить("ПересчитатьСумму", "Количество");
ПараметрыДействия = Новый Структура;
ПараметрыДействия.Вставить("ЦенаВключаетНДС", Объект.ЦенаВключаетНДС);
ПараметрыДействия.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);
СтруктураДействийУслуги.Вставить("ПересчитатьСуммуНДС", ПараметрыДействия);
СтруктураДействийУслуги.Вставить("ПересчитатьСуммуСНДС", ПараметрыДействия);
#КонецОбласти
НомерГруппыЗатратПоУмолчанию = 0;
Если ТипЗнч(НомераГруппЗатрат) = Тип("Массив")
И НомераГруппЗатрат.Количество() = 1 Тогда
НомерГруппыЗатратПоУмолчанию = НомераГруппЗатрат[0];
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ВыходныеИзделия")
Или ИменаТЧ.Свойство("ПобочныеИзделия") Тогда
ТаблицаСерийПоПоступлениям = Результат[ИндексРезультатаЗапросаСерий].Выгрузить();
Ключ = "Номенклатура, Характеристика, Назначение, СписатьНаРасходы";
ТаблицаСерийПоПоступлениям.Индексы.Добавить(Ключ);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ВыходныеИзделия") Тогда
ВыходныеИзделия = Результат[ИменаТЧ["ВыходныеИзделия"]].Выгрузить();
ЗаполнитьСерииПоПоступлениям(ВыходныеИзделия, ТаблицаСерийПоПоступлениям, Ключ);
ЗаполнитьПоНормативам(
Объект.ВыходныеИзделия,
ВыходныеИзделия,
НомерГруппыЗатратПоУмолчанию,
СтруктураДействийВыходныеИзделия);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ПобочныеИзделия") Тогда
ПобочныеИзделия = Результат[ИменаТЧ["ПобочныеИзделия"]].Выгрузить();
ЗаполнитьСерииПоПоступлениям(ПобочныеИзделия, ТаблицаСерийПоПоступлениям, Ключ);
ЗаполнитьПоНормативам(
Объект.ПобочныеИзделия,
ПобочныеИзделия,
НомерГруппыЗатратПоУмолчанию,
СтруктураДействийПобочныеИзделия);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("МатериалыИРаботы") Тогда
ЗаполнитьПоНормативам(
Объект.МатериалыИРаботы,
Результат[ИменаТЧ["МатериалыИРаботы"]].Выгрузить(),
НомерГруппыЗатратПоУмолчанию,
СтруктураДействийМатериалы);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("Услуги") Тогда
ЗаполнитьПоНормативам(
Объект.Услуги,
Результат[ИменаТЧ["Услуги"]].Выгрузить(),
НомерГруппыЗатратПоУмолчанию,
СтруктураДействийУслуги);
КонецЕсли;
ПараметрыУказанияСерий = НоменклатураСервер.ПараметрыУказанияСерий(Объект, Документы.ОтчетПереработчика2_5);
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ВыходныеИзделия") Тогда
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий.ВыходныеИзделия);
НоменклатураСервер.ОчиститьНеиспользуемыеСерии(Объект, ПараметрыУказанияСерий.ВыходныеИзделия);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("ПобочныеИзделия") Тогда
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий.ПобочныеИзделия);
НоменклатураСервер.ОчиститьНеиспользуемыеСерии(Объект, ПараметрыУказанияСерий.ПобочныеИзделия);
КонецЕсли;
Если ЗаполнитьВсе
Или ИменаТЧ.Свойство("МатериалыИРаботы") Тогда
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий.МатериалыИРаботы);
НоменклатураСервер.ОчиститьНеиспользуемыеСерии(Объект, ПараметрыУказанияСерий.МатериалыИРаботы);
КонецЕсли;
КонецПроцедуры
Функция ДопустимыеСтатусыВводаНаОсновании(ИмяДокумента = "") Экспорт
МассивДопустимыхСтатусов = Новый Массив;
МассивДопустимыхСтатусов.Добавить(Неопределено);
Возврат МассивДопустимыхСтатусов;
КонецФункции
#КонецОбласти
#Область ПроводкиРеглУчета
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат ОтчетПереработчика2_5Локализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат ОтчетПереработчика2_5Локализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
#Область Округление
Функция ПараметрыТЧДляОкругления() Экспорт
ПараметрыТЧ = Новый Структура;
ИмяТЧ = "ВыходныеИзделия";
ПараметрыТЧ.Вставить(ИмяТЧ, НоменклатураСервер.ПараметрыПроверкиЗаполненияКоличества());
ПараметрыТЧ[ИмяТЧ].ИмяТЧ = ИмяТЧ;
ПараметрыТЧ[ИмяТЧ].ПроверитьВозможностьОкругления = Ложь;
ИмяТЧ = "ПобочныеИзделия";
ПараметрыТЧ.Вставить(ИмяТЧ, НоменклатураСервер.ПараметрыПроверкиЗаполненияКоличества());
ПараметрыТЧ[ИмяТЧ].ИмяТЧ = ИмяТЧ;
ПараметрыТЧ[ИмяТЧ].ПроверитьВозможностьОкругления = Ложь;
ИмяТЧ = "МатериалыИРаботы";
ПараметрыТЧ.Вставить(ИмяТЧ, НоменклатураСервер.ПараметрыПроверкиЗаполненияКоличества());
ПараметрыТЧ[ИмяТЧ].ИмяТЧ = ИмяТЧ;
ПараметрыТЧ[ИмяТЧ].ПроверитьВозможностьОкругления = Ложь;
Возврат ПараметрыТЧ;
КонецФункции
#КонецОбласти
#Область Прочее
Функция СтруктураСостояниеВыполненияДокумента() Экспорт
СтруктураСостояние = Отчеты.СостояниеВыполненияДокументов.ИнициализироватьСтруктуруСостояниеВыполненияДокумента();
СтруктураСостояние.Вставить("ВыводитьТаблицуРасчетыСПоставщиками", 1);
СтруктураСостояние.Вставить("ЭтоНакладная", Истина);
СтруктураСостояние.Вставить("ИмяПоляНакладнаяПоЗаказам", "ПоЗаказам");
Возврат СтруктураСостояние;
КонецФункции
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ПоступлениеТоваровОтХранителя.ДобавитьКомандуСоздатьНаОснованииПоступлениеОтПереработчика(КомандыСозданияНаОсновании);
Команда = Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда,
"УслугиПоПереработке",
Перечисления.ВариантыОформленияУслугДокументовПереработки.УказываютсяВЗаказеОтчете);
КонецЕсли;
Команда = Документы.РасходныйКассовыйОрдер.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда,
"УслугиПоПереработке",
Перечисления.ВариантыОформленияУслугДокументовПереработки.УказываютсяВЗаказеОтчете);
КонецЕсли;
Команда = Документы.СписаниеБезналичныхДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда,
"УслугиПоПереработке",
Перечисления.ВариантыОформленияУслугДокументовПереработки.УказываютсяВЗаказеОтчете);
КонецЕсли;
Команда = Документы.ПриобретениеУслугПрочихАктивов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда,
"УслугиПоПереработке",
Перечисления.ВариантыОформленияУслугДокументовПереработки.ОформляютсяОтдельно);
КонецЕсли;
Команда = Документы.ПриобретениеТоваровУслуг.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда,
"УслугиПоПереработке",
Перечисления.ВариантыОформленияУслугДокументовПереработки.ОформляютсяОтдельно);
КонецЕсли;
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Команда = Документы.КорректировкаПриобретения.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если Команда <> Неопределено Тогда
Команда.Представление = НСтр("ru = 'Корректировка отчета переработчика'");
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда,
"УслугиПоПереработке",
Перечисления.ВариантыОформленияУслугДокументовПереработки.УказываютсяВЗаказеОтчете);
КонецЕсли;
Справочники.Претензии.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаГрафикаВзаиморасчетов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ОтчетПереработчика2_5Локализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
Документы.НачислениеРеверсивногоНДС.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Команда = Документы.ЗаявлениеОВвозеТоваров.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда,
"УслугиПоПереработке",
Перечисления.ВариантыОформленияУслугДокументовПереработки.УказываютсяВЗаказеОтчете);
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда,
"ХозяйственнаяОперация",
Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчикаВСтранахЕАЭС2_5);
КонецЕсли;
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ОтчетПереработчика2_5) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ОтчетПереработчика2_5.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ОтчетПереработчика2_5);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьПроизводствоНаСтороне2_5";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КомандаОтчет = Отчеты.СостояниеВыполненияДокументов.ДобавитьКомандуСостояниеВыполненияДокументЗакупки(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "ФормаДокумента,ФормаСписка,СписокДокументов";
КомандаОтчет.Порядок = 1;
КонецЕсли;
КомандаОтчет = ВзаиморасчетыСервер.КарточкаРасчетовСПоставщиком_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "ФормаДокумента,ФормаСписка,СписокДокументов";
КонецЕсли;
КомандаОтчет = ВзаиморасчетыСервер.ЗадолженностьПоставщикам_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "ФормаДокумента,ФормаСписка,СписокДокументов";
КонецЕсли;
КомандаОтчет = ВзаиморасчетыСервер.ЗадолженностьПоставщикам_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "РабочееМесто";
КомандаОтчет.Важность = "Обычное";
КомандаОтчет.Порядок = 1;
КонецЕсли;
КомандаОтчет = ВзаиморасчетыСервер.КарточкаРасчетовСПоставщиком_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "РабочееМесто";
КомандаОтчет.Важность = "Обычное";
КомандаОтчет.Порядок = 2;
КонецЕсли;
Отчеты.ДеревоСебестоимостиПродукции.ДобавитьКомандуОтчета(КомандыОтчетов);
ОтчетПереработчика2_5Локализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
Функция РеквизитыДокумента(ДокументСсылка) Экспорт
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ЗаказПереработчику КАК ЗаказПереработчику,
| ДанныеДокумента.ПоЗаказам КАК ПоЗаказам,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.ПорядокРасчетов КАК ПорядокРасчетов,
| ДанныеДокумента.КурсЧислитель КАК Курс,
| ДанныеДокумента.КурсЗнаменатель КАК Кратность
|
|ИЗ
| Документ.ОтчетПереработчика2_5 КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &ДокументСсылка
|");
Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Дата = Выборка.Дата;
Организация = Выборка.Организация;
Партнер = Выборка.Партнер;
Контрагент = Выборка.Контрагент;
Договор = Выборка.Договор;
НаправлениеДеятельности = Выборка.НаправлениеДеятельности;
ПорядокРасчетов = Выборка.ПорядокРасчетов;
ВалютаВзаиморасчетов = Выборка.ВалютаВзаиморасчетов;
ПоЗаказу = Выборка.ПоЗаказам;
СуммаДокумента = Выборка.СуммаДокумента;
СуммаВзаиморасчетов = ?(Выборка.Проведен, Выборка.СуммаВзаиморасчетов, 0);
Курс = Выборка.Курс;
Кратность = Выборка.Кратность;
ХозяйственнаяОперация = Выборка.ХозяйственнаяОперация;
Иначе
Дата = Дата(1,1,1);
Организация = Справочники.Организации.ПустаяСсылка();
Партнер = Справочники.Партнеры.ПустаяСсылка();
Контрагент = Справочники.Контрагенты.ПустаяСсылка();
Договор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
НаправлениеДеятельности = Справочники.НаправленияДеятельности.ПустаяСсылка();
ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПустаяСсылка();
ВалютаВзаиморасчетов = Справочники.Валюты.ПустаяСсылка();
ПоЗаказу = Ложь;
СуммаДокумента = 0;
СуммаВзаиморасчетов = 0;
Курс = 1;
Кратность = 1;
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчика2_5;
КонецЕсли;
СтруктураРеквизитов = Новый Структура;
СтруктураРеквизитов.Вставить("Дата", Дата);
СтруктураРеквизитов.Вставить("Организация", Организация);
СтруктураРеквизитов.Вставить("Партнер", Партнер);
СтруктураРеквизитов.Вставить("Контрагент", Контрагент);
СтруктураРеквизитов.Вставить("Договор", Договор);
СтруктураРеквизитов.Вставить("НаправлениеДеятельности", НаправлениеДеятельности);
СтруктураРеквизитов.Вставить("ПорядокРасчетов", ПорядокРасчетов);
СтруктураРеквизитов.Вставить("ВалютаВзаиморасчетов", ВалютаВзаиморасчетов);
СтруктураРеквизитов.Вставить("ХозяйственнаяОперация", ХозяйственнаяОперация);
СтруктураРеквизитов.Вставить("ПоЗаказу", ПоЗаказу);
СтруктураРеквизитов.Вставить("СуммаДокумента", СуммаДокумента);
СтруктураРеквизитов.Вставить("СуммаВзаиморасчетов", СуммаВзаиморасчетов);
СтруктураРеквизитов.Вставить("Курс", Курс);
СтруктураРеквизитов.Вставить("Кратность", Кратность);
Возврат СтруктураРеквизитов;
КонецФункции
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Функция МакетФормыВыбораНазначений() Экспорт
МакетФормы = Справочники.Назначения.МакетФормыВыбораНазначений();
ШаблонНазначения = Справочники.Назначения.ДобавитьШаблонНазначений(МакетФормы);
ШаблонНазначения.НаправлениеДеятельности = "Объект.НаправлениеДеятельности";
ШаблонНазначения.ВидимыеОтборыНаФорме.Вставить(
"НаправлениеДеятельности",
НСтр("ru = 'Только назначения направления деятельности ""%1""'"));
#Область ВыходныеИзделия
ОписаниеКолонок =
Справочники.Назначения.ДобавитьОписаниеКолонок(
МакетФормы,
"ОбеспечениеЗаказовВсеСклады",
Истина,
"Объект.ВыходныеИзделия.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "Объект.ВыходныеИзделия.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.ВыходныеИзделия.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.ВыходныеИзделия.Характеристика";
ОписаниеКолонок =
Справочники.Назначения.ДобавитьОписаниеКолонок(
МакетФормы,
"ОбеспечениеЗаказовРаботами",
Истина,
"Объект.ВыходныеИзделия.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "Объект.ВыходныеИзделия.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.ВыходныеИзделия.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.ВыходныеИзделия.Характеристика";
ОписаниеКолонок.ПутиКДанным.Подразделение = "Объект.ВыходныеИзделия.Получатель";
#КонецОбласти
#Область ПобочныеИзделия
ОписаниеКолонок =
Справочники.Назначения.ДобавитьОписаниеКолонок(
МакетФормы,
"ОбеспечениеЗаказовВсеСклады",
Истина,
"Объект.ПобочныеИзделия.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "Объект.ПобочныеИзделия.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.ПобочныеИзделия.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.ПобочныеИзделия.Характеристика";
ОписаниеКолонок =
Справочники.Назначения.ДобавитьОписаниеКолонок(
МакетФормы,
"ОбеспечениеЗаказовРаботами",
Истина,
"Объект.ПобочныеИзделия.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "Объект.ПобочныеИзделия.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.ПобочныеИзделия.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.ПобочныеИзделия.Характеристика";
ОписаниеКолонок.ПутиКДанным.Подразделение = "Объект.ПобочныеИзделия.Получатель";
#КонецОбласти
#Область МатериалыИРаботы
ОписаниеКолонок =
Справочники.Назначения.ДобавитьОписаниеКолонок(
МакетФормы,
"ТоварыПереданныеХранителям",
Истина,
"Объект.МатериалыИРаботы.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Передано").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "Объект.МатериалыИРаботы.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Организация = "Объект.Организация";
ОписаниеКолонок.ПутиКДанным.Договор = "Объект.Договор";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.МатериалыИРаботы.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.МатериалыИРаботы.Характеристика";
ОписаниеКолонок =
Справочники.Назначения.ДобавитьОписаниеКолонок(
МакетФормы,
"МатериалыИРаботыВПроизводстве",
Истина,
"Объект.МатериалыИРаботы.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Количество").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "Объект.МатериалыИРаботы.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Организация = "Объект.Организация";
ОписаниеКолонок.ПутиКДанным.Подразделение = "Объект.Подразделение";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.МатериалыИРаботы.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.МатериалыИРаботы.Характеристика";
#КонецОбласти
Возврат МакетФормы;
КонецФункции
Функция ПараметрыВыбораСпецификаций(Объект) Экспорт
ПараметрыВыбораСпецификаций = УправлениеДаннымиОбИзделияхКлиентСервер.ПараметрыВыбораСпецификаций();
ПараметрыВыбораСпецификаций.ДоступныеТипы.Добавить(Перечисления.ТипыПроизводственныхПроцессов.Сборка);
ПараметрыВыбораСпецификаций.ДоступныеСтатусы.Добавить(Перечисления.СтатусыСпецификаций.Действует);
СвязиПараметровВыбора = Новый Структура(УправлениеДаннымиОбИзделияхКлиентСервер.ПоляСтруктурыДанныхОбИзделииДляВыбораСпецификации());
СвязиПараметровВыбора.Номенклатура = "Объект.ВыходныеИзделия.Номенклатура";
СвязиПараметровВыбора.Характеристика = "Объект.ВыходныеИзделия.Характеристика";
СвязиПараметровВыбора.НачалоПроизводства = "Объект.Дата";
СвязиПараметровВыбора.НаправлениеДеятельности = "Объект.НаправлениеДеятельности";
ПараметрыВыбораСпецификаций.СвязиПараметровВыбора.Вставить("Объект.ВыходныеИзделия.Спецификация", СвязиПараметровВыбора);
Возврат ПараметрыВыбораСпецификаций;
КонецФункции
Функция ИменаРеквизитовДляЗаполненияПараметровВыбораСпецификаций() Экспорт
ИменаРеквизитов = "";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыРаспределенияЗатрат(Объект) Экспорт
ПараметрыРаспределенияЗатрат = ПроизводствоКлиентСервер.ПараметрыРаспределенияЗатратНаВыходныеИзделия(
"ВыходныеИзделия",
Объект.СпособРаспределенияЗатратНаВыходныеИзделия);
Если Объект.ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.БезГруппировки
Или Объект.ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.ПоСпецификациям
Или Объект.ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.ПоСпецификациямИНазначениям Тогда
ПараметрыРаспределенияЗатрат.РассчитыватьПолеДоляСтоимостиПроцент = Истина;
ПараметрыРаспределенияЗатрат.РассчитыватьПризнакЕстьОшибкиЗаполнения = Истина;
ПараметрыРаспределенияЗатрат.РассчитыватьПризнакДоляСтоимостиОбязательна = Истина;
ПараметрыРаспределенияЗатрат.ПараметрыЗаполненияДолейСтоимости.Дата =
?(ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Объект, "Дата"),
Объект.Дата,
Дата("00010101"));
ПараметрыРаспределенияЗатрат.ПараметрыЗаполненияДолейСтоимости.Валюта =
?(ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Объект, "Валюта"),
Объект.Валюта,
Справочники.Валюты.ПустаяСсылка());
ПараметрыРаспределенияЗатрат.ПолеГруппировкиЗатрат = "НомерГруппыЗатрат";
ПараметрыРаспределенияЗатрат.ПолеПредставленияГруппировкиЗатрат = "ГруппаЗатрат";
КонецЕсли;
Возврат ПараметрыРаспределенияЗатрат;
КонецФункции
Функция ПредставлениеОбъектаНаОсновномЯзыке() Экспорт
КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
ПредставлениеОбъекта = НСтр(
"ru = 'Отчет переработчика'",
КодОсновногоЯзыка);
Возврат ПредставлениеОбъекта;
КонецФункции
Функция КоллекцияТабличныхЧастейТоваров() Экспорт
ТаблицыДокумента = Новый Структура;
ТаблицыДокумента.Вставить("ВыходныеИзделия");
ТаблицыДокумента.Вставить("ПобочныеИзделия");
ТаблицыДокумента.Вставить("МатериалыИРаботы");
ТаблицыДокумента.Вставить("Услуги");
Возврат ТаблицыДокумента;
КонецФункции
#КонецОбласти
#Область ГруппыЗатрат
Процедура ОбновитьГруппыЗатрат(Объект, ГруппыЗатрат, КоличествоГруппЗатрат) Экспорт
Если Объект.ПоЗаказам Тогда
Если ЗначениеЗаполнено(Объект.ЗаказПереработчику) Тогда
РеквизитыЗаказаПереработчику =
ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
Объект.ЗаказПереработчику,
"ГруппировкаЗатрат, Распоряжения, ВыходныеИзделия, ПобочныеИзделия,
|МаксимальныйНомерГруппыЗатрат, ОбособлениеМатериаловПоНазначениюПродукции, Назначение");
Документы.ЗаказПереработчику2_5.ОбновитьГруппыЗатрат(РеквизитыЗаказаПереработчику, ГруппыЗатрат, КоличествоГруппЗатрат);
КонецЕсли;
Иначе
СписокПолей =
ПереработкаНаСторонеКлиентСервер.ПереченьПолейГруппыЗатратОтчетаПереработчика(Объект.ГруппировкаЗатрат);
ТекстПоляВыбора = ПереработкаНаСторонеКлиентСервер.ТекстЗапросаПоПолямГруппыЗатрат("ТаблицаДанных", СписокПолей);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаДанных.НомерГруппыЗатрат
| ,&ТекстПоляВыбора
|ПОМЕСТИТЬ ВТ_ГруппыЗатрат
|ИЗ
| &ТаблицаДанных КАК ТаблицаДанных
|;
|
|
|ВЫБРАТЬ
| ТаблицаДанных.НомерГруппыЗатрат
| ,&ТекстПоляВыбора
|ИЗ
| ВТ_ГруппыЗатрат КАК ТаблицаДанных
|;
|
|
|ВЫБРАТЬ
| МАКСИМУМ(ВТ_ГруппыЗатрат.НомерГруппыЗатрат) КАК НомерГруппыЗатрат
|ИЗ
| ВТ_ГруппыЗатрат КАК ВТ_ГруппыЗатрат";
Запрос.Текст = СтрЗаменить(Запрос.Текст, ",&ТекстПоляВыбора", ТекстПоляВыбора);
Запрос.УстановитьПараметр("ТаблицаДанных", Объект.ВыходныеИзделия.Выгрузить());
Результат = Запрос.ВыполнитьПакет();
Если ТипЗнч(ГруппыЗатрат) = Тип("ТаблицаЗначений") Тогда
Для Каждого ТекСтрока Из Результат[1].Выгрузить() Цикл
ЗаполнитьЗначенияСвойств(ГруппыЗатрат.Добавить(), ТекСтрока);
КонецЦикла;
Иначе
ГруппыЗатрат.Загрузить(Результат[1].Выгрузить());
КонецЕсли;
КоличествоГруппЗатрат = ГруппыЗатрат.Количество();
Если Не Результат[2].Пустой() Тогда
Выборка = Результат[2].Выбрать();
Выборка.Следующий();
Объект.МаксимальныйНомерГруппыЗатрат = Выборка.НомерГруппыЗатрат;
КонецЕсли;
Для Каждого ТекГруппа Из ГруппыЗатрат Цикл
ЗаполнитьСлужебныеРеквизитыГруппыЗатрат(Объект, ГруппыЗатрат, ТекГруппа);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьСлужебныеРеквизитыГруппыЗатрат(Объект, ГруппыЗатрат, ОписаниеГруппыЗатрат) Экспорт
Возврат;
КонецПроцедуры
Процедура ЗаполнитьЗависимыеСлужебныеРеквизитыГруппыЗатрат(Объект, ГруппыЗатрат, ОписаниеГруппыЗатрат) Экспорт
Если ОписаниеГруппыЗатрат.НомерГруппыЗатрат = 0 Тогда
Возврат;
КонецЕсли;
ОписаниеГруппыЗатратДоИзменения = ОбщегоНазначения.СкопироватьРекурсивно(ОписаниеГруппыЗатрат);
ОписаниеГруппыЗатрат.ЕстьИмпортноеИзделие = ЕстьИмпортноеИзделие(Объект, ОписаниеГруппыЗатрат.НомерГруппыЗатрат);
Если ТипЗнч(ОписаниеГруппыЗатрат) = Тип("Структура")
И Не ОбщегоНазначенияУТКлиентСервер.СтруктурыРавны(ОписаниеГруппыЗатратДоИзменения, ОписаниеГруппыЗатрат) Тогда
ОбновитьГруппуЗатрат(ГруппыЗатрат, ОписаниеГруппыЗатрат);
КонецЕсли;
КонецПроцедуры
Функция ТаблицаГруппыЗатрат() Экспорт
ГруппыЗатрат = Новый ТаблицаЗначений;
ГруппыЗатрат.Колонки.Добавить("НомерГруппыЗатрат", Новый ОписаниеТипов("Число"));
ГруппыЗатрат.Колонки.Добавить("ГруппаЗатрат", Новый ОписаниеТипов("Строка"));
ГруппыЗатрат.Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.РесурсныеСпецификации"));
ГруппыЗатрат.Колонки.Добавить("Назначение", Новый ОписаниеТипов("СправочникСсылка.Назначения"));
ГруппыЗатрат.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
ГруппыЗатрат.Колонки.Добавить("Характеристика", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
ГруппыЗатрат.Колонки.Добавить("Серия", Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
ГруппыЗатрат.Колонки.Добавить(
"СпособРаспределенияЗатратНаВыходныеИзделия",
Новый ОписаниеТипов("ПеречислениеСсылка.СпособыРаспределенияЗатратНаВыходныеИзделия"));
ГруппыЗатрат.Колонки.Добавить("НазначениеОбеспечения", Новый ОписаниеТипов("СправочникСсылка.Назначения"));
ГруппыЗатрат.Колонки.Добавить("ИмяТаблицыИзделий", Новый ОписаниеТипов("Строка"));
ГруппыЗатрат.Колонки.Добавить("ВсеСтрокиИзделийОтменены", Новый ОписаниеТипов("Булево"));
ГруппыЗатрат.Колонки.Добавить("ЕстьИмпортноеИзделие", Новый ОписаниеТипов("Булево"));
Возврат ГруппыЗатрат;
КонецФункции
#КонецОбласти
#Область Серии
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
ИменаРеквизитов = "Дата";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыУказанияСерий(Объект) Экспорт
ПараметрыУказанияСерий = Новый Структура;
УчитыватьСебестоимостьПоСериям =
ПолучитьФункциональнуюОпцию("УчитыватьСебестоимостьПоСериямСклад", Новый Структура());
ИспользоватьСерииНоменклатуры =
ПолучитьФункциональнуюОпцию("ИспользоватьСерииНоменклатурыСклад", Новый Структура());
#Область ВыходныеИзделия
ПараметрыУказанияСерийТЧ = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерийТЧ.ПолноеИмяОбъекта = "Документ.ОтчетПереработчика2_5";
ПараметрыУказанияСерийТЧ.УчитыватьСебестоимостьПоСериям = УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерийТЧ.ИспользоватьСерииНоменклатуры = ИспользоватьСерииНоменклатуры;
ПараметрыУказанияСерийТЧ.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ПроизводствоПродукции);
ПараметрыУказанияСерийТЧ.Дата = Объект.Дата;
ПараметрыУказанияСерийТЧ.ИмяПоляСклад = "Договор";
ПараметрыУказанияСерийТЧ.ИмяТЧТовары = "ВыходныеИзделия";
ПараметрыУказанияСерийТЧ.ИмяТЧСерии = "ВыходныеИзделия";
ПараметрыУказанияСерийТЧ.ЭтоНакладная = Истина;
ПараметрыУказанияСерийТЧ.РегистрироватьСерии = Истина;
ПараметрыУказанияСерийТЧ.ПоляСвязи.Добавить("Назначение");
ПараметрыУказанияСерийТЧ.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерий");
ПараметрыУказанияСерий.Вставить("ВыходныеИзделия", ПараметрыУказанияСерийТЧ);
#КонецОбласти
#Область ПобочныеИзделия
ПараметрыУказанияСерийТЧ = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерийТЧ.ПолноеИмяОбъекта = "Документ.ОтчетПереработчика2_5";
ПараметрыУказанияСерийТЧ.УчитыватьСебестоимостьПоСериям = УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерийТЧ.ИспользоватьСерииНоменклатуры = ИспользоватьСерииНоменклатуры;
ПараметрыУказанияСерийТЧ.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ПроизводствоПродукции);
ПараметрыУказанияСерийТЧ.Дата = Объект.Дата;
ПараметрыУказанияСерийТЧ.ИмяПоляСклад = "Договор";
ПараметрыУказанияСерийТЧ.ИмяТЧТовары = "ПобочныеИзделия";
ПараметрыУказанияСерийТЧ.ИмяТЧСерии = "ПобочныеИзделия";
ПараметрыУказанияСерийТЧ.ЭтоНакладная = Истина;
ПараметрыУказанияСерийТЧ.РегистрироватьСерии = Истина;
ПараметрыУказанияСерийТЧ.ПоляСвязи.Добавить("Назначение");
ПараметрыУказанияСерийТЧ.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерий");
ПараметрыУказанияСерий.Вставить("ПобочныеИзделия", ПараметрыУказанияСерийТЧ);
#КонецОбласти
#Область МатериалыИРаботы
ПараметрыУказанияСерийТЧ = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерийТЧ.ПолноеИмяОбъекта = "Документ.ОтчетПереработчика2_5";
ПараметрыУказанияСерийТЧ.УчитыватьСебестоимостьПоСериям = УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерийТЧ.ИспользоватьСерииНоменклатуры = ИспользоватьСерииНоменклатуры;
ПараметрыУказанияСерийТЧ.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ДвижениеВФинансовомУчете);
ПараметрыУказанияСерийТЧ.Дата = Объект.Дата;
ПараметрыУказанияСерийТЧ.ИмяПоляСклад = "Договор";
ПараметрыУказанияСерийТЧ.ИмяТЧТовары = "МатериалыИРаботы";
ПараметрыУказанияСерийТЧ.ИмяТЧСерии = "МатериалыИРаботы";
ПараметрыУказанияСерийТЧ.ЭтоНакладная = Истина;
ПараметрыУказанияСерийТЧ.ПоляСвязи.Добавить("Назначение");
ПараметрыУказанияСерийТЧ.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерий");
ПараметрыУказанияСерий.Вставить("МатериалыИРаботы", ПараметрыУказанияСерийТЧ);
#КонецОбласти
Возврат ПараметрыУказанияСерий;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.Назначение КАК Назначение,
| Товары.Серия КАК Серия,
| Товары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Товары.Количество КАК Количество
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.Назначение КАК Назначение,
| Товары.Серия КАК Серия,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры,
| СУММА(Товары.Количество) КАК Количество
|ПОМЕСТИТЬ ТоварыДляЗапроса
|ИЗ
| Товары КАК Товары
|
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| Товары.Серия,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийПереданныхПереработчикуТоваров
| ТОГДА
| ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 18
| ИНАЧЕ 17
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерий
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ПО Товары.Номенклатура = ТоварыДляЗапроса.Номенклатура
| И Товары.Характеристика = ТоварыДляЗапроса.Характеристика
| И Товары.Назначение = ТоварыДляЗапроса.Назначение
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| Статусы.СтатусУказанияСерий КАК СтатусУказанияСерий
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| Статусы.СтатусУказанияСерий <> Статусы.СтарыйСтатусУказанияСерий
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#Область ВыборСтатейИАналитик
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
ПараметрыВыбораСтатей = Новый Массив;
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.ВыходныеИзделия";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ЭлементыФормы = ПараметрыВыбора.ЭлементыФормы;
ЭлементыФормы.Статья.Добавить("ВыходныеИзделияСтатьяРасходов");
ЭлементыФормы.АналитикаРасходов.Добавить("ВыходныеИзделияАналитикаРасходов");
ЭлементыФормы.АналитикаАктивовПассивов.Добавить("ВыходныеИзделияАналитикаАктивовПассивов");
ПараметрыВыбора.УсловияДоступностиСтатьиВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыВыбораСтатей.Добавить(ПараметрыВыбора);
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.ПобочныеИзделия";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ЭлементыФормы = ПараметрыВыбора.ЭлементыФормы;
ЭлементыФормы.Статья.Добавить("ПобочныеИзделияСтатьяРасходов");
ЭлементыФормы.АналитикаРасходов.Добавить("ПобочныеИзделияАналитикаРасходов");
ЭлементыФормы.АналитикаАктивовПассивов.Добавить("ПобочныеИзделияАналитикаАктивовПассивов");
ПараметрыВыбора.УсловияДоступностиСтатьиВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыВыбораСтатей.Добавить(ПараметрыВыбора);
Возврат ПараметрыВыбораСтатей;
КонецФункции
#КонецОбласти
#Область НастройкаСчетовУчета
Функция ПараметрыНастройкиСчетовУчета() Экспорт
ПараметрыНастроек = Новый Массив;
#Область ВыходныеИзделия
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ДоступностьПоОперации = Истина;
ПараметрыНастройки.ТипСтатьи = "ТипСтатьи";
ПараметрыНастройки.ПутьКДанным = "Объект.ВыходныеИзделия";
ПараметрыНастройки.ЭлементыФормы.Добавить("ВыходныеИзделияПредставлениеОтраженияОперации");
ПараметрыНастройки.УсловияДоступностиСчетаУчетаВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыНастроек.Добавить(ПараметрыНастройки);
#КонецОбласти
#Область ПобочныеИзделия
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ДоступностьПоОперации = Истина;
ПараметрыНастройки.ТипСтатьи = "ТипСтатьи";
ПараметрыНастройки.ПутьКДанным = "Объект.ПобочныеИзделия";
ПараметрыНастройки.ЭлементыФормы.Добавить("ПобочныеИзделияПредставлениеОтраженияОперации");
ПараметрыНастройки.УсловияДоступностиСчетаУчетаВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыНастроек.Добавить(ПараметрыНастройки);
#КонецОбласти
Возврат ПараметрыНастроек;
КонецФункции
#КонецОбласти
#Область УчетНДС
Функция ПараметрыЗаполненияВидаДеятельностиНДС(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияВидаДеятельностиНДС();
ПараметрыЗаполнения.Организация = Объект.Организация;
ПараметрыЗаполнения.Дата = Объект.Дата;
ПараметрыЗаполнения.Договор = Объект.Договор;
ПараметрыЗаполнения.НаправлениеДеятельности = Объект.НаправлениеДеятельности;
ПараметрыЗаполнения.ВыпускПродукцииИРабот = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыЗаполненияНалогообложенияНДСЗакупки(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСЗакупки();
Если ТипЗнч(Объект) = Тип("ДокументОбъект.ОтчетПереработчика2_5")
Или ТипЗнч(Объект) = Тип("ДанныеФормыСтруктура") Тогда
ДанныеОбъекта = Объект;
ИначеЕсли ТипЗнч(Объект) = Тип("ДокументСсылка.ОтчетПереработчика2_5") Тогда
ДанныеОбъекта = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект, "Контрагент,Договор,ХозяйственнаяОперация,Дата");
КонецЕсли;
ПараметрыЗаполнения.Контрагент = ДанныеОбъекта.Контрагент;
ПараметрыЗаполнения.Договор = ДанныеОбъекта.Договор;
ПараметрыЗаполнения.Период = ДанныеОбъекта.Дата;
Если ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчикаВСтранахЕАЭС2_5 Тогда
ПараметрыЗаполнения.ВвозТоваровИзТаможенногоСоюза = Истина;
Иначе
ПараметрыЗаполнения.ПриобретениеРабот = Истина;
КонецЕсли;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыРегистрацииСчетовФактурПолученных(Объект) Экспорт
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурПолученных();
ПараметрыРегистрации.Ссылка = Объект.Ссылка;
ПараметрыРегистрации.Дата = Объект.Дата;
ПараметрыРегистрации.Организация = Объект.Организация;
ПараметрыРегистрации.Контрагент = Объект.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС = Объект.НалогообложениеНДС;
ПараметрыРегистрации.ПриобретениеТоваровРаботУслуг = Истина;
ПараметрыРегистрации.ВвозТоваровИзТаможенногоСоюза = (Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчикаВСтранахЕАЭС2_5
И Объект.УслугиПоПереработке = Перечисления.ВариантыОформленияУслугДокументовПереработки.УказываютсяВЗаказеОтчете);
Возврат ПараметрыРегистрации;
КонецФункции
#КонецОбласти
#Область НаименованиеВходящихДокументов
Функция НаименованияВходящихДокументов() Экспорт
МассивНаименований = Новый Массив();
МассивНаименований.Добавить(НСтр("ru='Отчет переработчика'"));
ОтчетПереработчика2_5Локализация.ДополнитьНаименованияВходящихДокументов(МассивНаименований);
Возврат МассивНаименований
КонецФункции
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Партнер)
| И ЗначениеРазрешено(Подразделение)
| И (ЗначениеРазрешено(ВыходныеИзделия.Получатель)
| ИЛИ ЗначениеРазрешено(ПобочныеИзделия.Получатель)
| ИЛИ ВыходныеИзделия.Получатель ЕСТЬ NULL
| И ПобочныеИзделия.Получатель ЕСТЬ NULL)";
КонецПроцедуры
#КонецОбласти
#Область Взаиморасчеты
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
ДанныеЗаполнения,
"ПоЗаказам,
|Ссылка");
ПоЗаказам = СтруктураДанныеЗаполнения.ПоЗаказам;
ЕстьКорректировки = Ложь;
ЗакупкиСервер.ПроверитьНаличиеКорректировокИСчетовФактур(СтруктураДанныеЗаполнения.Ссылка, СтруктураДанныеЗаполнения.Ссылка, ЕстьКорректировки, Ложь);
ИначеЕсли ДанныеЗаполнения = Неопределено Тогда
ПоЗаказам = Ложь;
ЕстьКорректировки = Ложь;
Иначе
ПоЗаказам = ДанныеЗаполнения.ПоЗаказам;
ЕстьКорректировки = Ложь;
ЗакупкиСервер.ПроверитьНаличиеКорректировокИСчетовФактур(ДанныеЗаполнения.Ссылка, ДанныеЗаполнения.Ссылка, ЕстьКорректировки, Ложь);
КонецЕсли;
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.ИзменяетПланОплаты = Истина;
СтруктураПараметров.ИзменяетРасчетыСтрокой = Истина;
СтруктураПараметров.ИзменяетПланОтгрузкиПоставки = Истина;
СтруктураПараметров.ВалютаВзаиморасчетов = "Объект.ВалютаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетов = "Объект.СуммаВзаиморасчетов";
СтруктураПараметров.КурсЧислитель = "Объект.КурсЧислитель";
СтруктураПараметров.КурсЗнаменатель = "Объект.КурсЗнаменатель";
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.Услуги";
СтруктураПараметров.ИмяРеквизитаТЧЗаказ = "ЗаказПереработчику";
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "Объект.РасшифровкаПлатежа";
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.НомерВходящегоДокумента";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.ДатаВходящегоДокумента";
СтруктураПараметров.НаименованиеПервичногоДокумента = "Объект.НаименованиеВходящегоДокумента";
СтруктураПараметров.НакладнаяПоЗаказам = "Объект.ПоЗаказам";
СтруктураПараметров.ЗаказОснование = "Объект.ЗаказПереработчику";
СтруктураПараметров.ЭлементыФормы.НадписьВалюты = "НадписьВалюты";
СтруктураПараметров.ЭлементыФормы.НадписьЭтапы = "ДекорацияЭтапыОплаты";
СтруктураПараметров.ЭлементыФормы.НадписьРасчеты = "ДекорацияСостояниеРасчетов";
СтруктураПараметров.ЭлементыФормы.ЗачетОплаты = "ЗачетОплатыФорма";
СтруктураПараметров.ЭлементыФормы.СуммаВзаиморасчетовТЧ = "УслугиСуммаВзаиморасчетов";
СтруктураПараметров.ЭлементыФормы.ГруппаФинансовогоУчета = "ГруппаФинансовогоУчета";
СтруктураПараметров.ЭлементыФормы.НаправлениеДеятельности = "НаправлениеДеятельности";
СтруктураПараметров.ПутьКДаннымТЧЭтапыОплаты = "Объект.ЭтапыГрафикаОплаты";
СтруктураПараметров.НадписьЭтапыОплаты = "Форма.НадписьЭтапыОплаты";
СтруктураПараметров.СуммаДокументаФорма = "Форма.Объект.СуммаДокумента";
СтруктураПараметров.ВозможнаНакладнаяПоНесколькимЗаказам = Ложь;
СтруктураПараметров.ИсточникСуммТабличнаяЧасть = Истина;
СтруктураПараметров.ВалютыИКурсДокументаТолькоПросмотр = ЕстьКорректировки;
СтруктураПараметров.ВалютаДокументаТолькоПросмотр = ПоЗаказам;
СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр = ПоЗаказам;
СтруктураПараметров.ОбъектРасчетов = "Объект.Услуги.ОбъектРасчетов";
Возврат СтруктураПараметров;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Очистить();
Поля.Добавить("НаименованиеВходящегоДокумента");
Поля.Добавить("НомерВходящегоДокумента");
Поля.Добавить("ДатаВходящегоДокумента");
Поля.Добавить("Дата");
Поля.Добавить("Номер");
КонецПроцедуры
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
ОбщегоНазначенияУТКлиентСервер.ОбработкаПолученияПредставленияВходящегоДокумента(
Данные, Представление, СтандартнаяОбработка, "ОтчетПереработчика2_5");
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныйПрограммныйИнтерфейс
Функция ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности(Форма) Экспорт
ПорядокОбработкиДокумента = НаправленияДеятельностиСервер.ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности();
ПорядокОбработкиДокумента.ИменаТабличныхЧастейДляОчисткиНекорректныхНазначений = "ВыходныеИзделия,ПобочныеИзделия";
ТаблицаУсловий = НаправленияДеятельностиСервер.УсловияОбработкиНазначенийВСтроках("ТипНоменклатуры,КодСтроки");
ПорядокОбработкиДокумента.УсловияОбработкиСтрок.Вставить("ВыходныеИзделия", ТаблицаУсловий);
ПорядокОбработкиДокумента.УсловияОбработкиСтрок.Вставить("ПобочныеИзделия", ТаблицаУсловий);
Возврат ПорядокОбработкиДокумента;
КонецФункции
#Область Проверки
Функция ТекстЗапросаГруппыЗатратДокумента() Экспорт
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат
|ПОМЕСТИТЬ НомераГруппЗатрат
|ИЗ
| (ВЫБРАТЬ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат
| ИЗ
| ВыходныеИзделия КАК ТабличнаяЧасть
| ГДЕ
| НЕ ТабличнаяЧасть.НомерГруппыЗатрат = 0
| ) КАК ТабличнаяЧасть
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГруппыЗатрат
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтИмпортныеИзделияДокумента() Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаИзделий.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаИзделий.Номенклатура КАК Номенклатура,
| ТаблицаИзделий.Характеристика КАК Характеристика,
| ТаблицаИзделий.Прослеживаемый КАК Прослеживаемый,
| ТаблицаИзделий.ЕдиницаИзмерения КАК ЕдиницаИзмеренияПрослеживаемости
|ПОМЕСТИТЬ ВтИмпортныеИзделияДокумента
|ИЗ
| (ВЫБРАТЬ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ЕСТЬNULL(Товары.ВестиУчетПоГТД, ЛОЖЬ) КАК Импортный,
| ВЫБОР
| КОГДА ЕСТЬNULL(Товары.ТипНоменклатуры, ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПустаяСсылка)) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Дата, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА ЛОЖЬ
| ИНАЧЕ ЕСТЬNULL(Товары.ПрослеживаемыйТовар, ЛОЖЬ)
| КОНЕЦ
| КОГДА &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ТОГДА ЕСТЬNULL(Товары.ПрослеживаемыйТовар, ЛОЖЬ)
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК Прослеживаемый,
| ЕСТЬNULL(КлассификаторТНВЭД.ЕдиницаИзмерения, НЕОПРЕДЕЛЕНО) КАК ЕдиницаИзмерения
| ИЗ
| ВыходныеИзделия КАК ТабличнаяЧасть
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Товары
| ПО ТабличнаяЧасть.Номенклатура = Товары.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторТНВЭД КАК КлассификаторТНВЭД
| ПО Товары.КодТНВЭД = КлассификаторТНВЭД.Ссылка
|
| ГДЕ
| ЕСТЬNULL(Товары.ТипНоменклатуры, ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПустаяСсылка)) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ЕСТЬNULL(Товары.ВестиУчетПоГТД, ЛОЖЬ) КАК Импортный,
| ВЫБОР
| КОГДА ЕСТЬNULL(Товары.ТипНоменклатуры, ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПустаяСсылка)) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Дата, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА ЛОЖЬ
| ИНАЧЕ ЕСТЬNULL(Товары.ПрослеживаемыйТовар, ЛОЖЬ)
| КОНЕЦ
| КОГДА &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ТОГДА ЕСТЬNULL(Товары.ПрослеживаемыйТовар, ЛОЖЬ)
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК Прослеживаемый,
| ЕСТЬNULL(КлассификаторТНВЭД.ЕдиницаИзмерения, НЕОПРЕДЕЛЕНО) КАК ЕдиницаИзмерения
| ИЗ
| ПобочныеИзделия КАК ТабличнаяЧасть
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Товары
| ПО ТабличнаяЧасть.Номенклатура = Товары.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторТНВЭД КАК КлассификаторТНВЭД
| ПО Товары.КодТНВЭД = КлассификаторТНВЭД.Ссылка
|
| ГДЕ
| ЕСТЬNULL(Товары.ТипНоменклатуры, ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПустаяСсылка)) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
|
| ) КАК ТаблицаИзделий
|
|ГДЕ
| ТаблицаИзделий.Импортный
|
|СГРУППИРОВАТЬ ПО
| ТаблицаИзделий.НомерГруппыЗатрат,
| ТаблицаИзделий.Номенклатура,
| ТаблицаИзделий.Характеристика,
| ТаблицаИзделий.Прослеживаемый,
| ТаблицаИзделий.ЕдиницаИзмерения
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГруппыЗатрат,
| Номенклатура,
| Характеристика
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтИмпортныеМатериалыДокумента() Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| МАКСИМУМ(ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Дата, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА ЛОЖЬ
| ИНАЧЕ ЕСТЬNULL(Товары.ПрослеживаемыйТовар, ЛОЖЬ)
| КОНЕЦ) КАК Прослеживаемый,
| ЕСТЬNULL(КлассификаторТНВЭД.ЕдиницаИзмерения, НЕОПРЕДЕЛЕНО) КАК ЕдиницаИзмеренияПрослеживаемости,
| МАКСИМУМ(ТабличнаяЧасть.Основной) КАК Основной
|ПОМЕСТИТЬ ВтИмпортныеМатериалыДокумента
|ИЗ
| МатериалыИРаботы КАК ТабличнаяЧасть
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Товары
| ПО ТабличнаяЧасть.Номенклатура = Товары.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторТНВЭД КАК КлассификаторТНВЭД
| ПО Товары.КодТНВЭД = КлассификаторТНВЭД.Ссылка
|
|ГДЕ
| ЕСТЬNULL(Товары.ВестиУчетПоГТД, ЛОЖЬ)
| И ЕСТЬNULL(Товары.ТипНоменклатуры, ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПустаяСсылка)) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
|
|СГРУППИРОВАТЬ ПО
| ТабличнаяЧасть.НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура,
| ТабличнаяЧасть.Характеристика,
| ЕСТЬNULL(КлассификаторТНВЭД.ЕдиницаИзмерения, НЕОПРЕДЕЛЕНО)
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГруппыЗатрат,
| Номенклатура,
| Характеристика
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстПроверкиНесколькоИмпортныхИзделий() Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| ""ГруппаПродукция"" КАК ИмяТаблицы,
| """" КАК СинонимТЧ,
| 0 КАК НомерСтроки,
| НомераГруппЗатрат.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ""НесколькоИмпортныхИзделий"" КАК ТипПроверки
|ИЗ
| НомераГруппЗатрат КАК НомераГруппЗатрат
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтИмпортныеИзделияДокумента КАК ИмпортныеИзделияДокумента
| ПО ИмпортныеИзделияДокумента.НомерГруппыЗатрат = НомераГруппЗатрат.НомерГруппыЗатрат
|
|ГДЕ
| &ИспользоватьИмпортныеТовары
| И НЕ ИмпортныеИзделияДокумента.Прослеживаемый
|
|СГРУППИРОВАТЬ ПО
| НомераГруппЗатрат.НомерГруппыЗатрат
|
|ИМЕЮЩИЕ
| КОЛИЧЕСТВО(ИмпортныеИзделияДокумента.НомерГруппыЗатрат) > 1
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстПроверкиНеУказанИмпортныйМатериал() Экспорт
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| &ИмяТаблицыМатериалыИРаботы КАК ИмяТаблицы,
| &СинонимТЧМатериалыИРаботы КАК СинонимТЧ,
| 0 КАК НомерСтроки,
| ИмпортныеИзделияДокумента.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ""НеУказанИмпортныйМатериал"" КАК ТипПроверки
|ИЗ
| ВтИмпортныеИзделияДокумента КАК ИмпортныеИзделияДокумента
|
|ГДЕ
| &ИспользоватьИмпортныеТовары
| И НЕ ИмпортныеИзделияДокумента.Прослеживаемый
| И НЕ ИмпортныеИзделияДокумента.НомерГруппыЗатрат В
| (ВЫБРАТЬ
| ИмпортныеМатериалыДокумента.НомерГруппыЗатрат
| ИЗ
| ВтИмпортныеМатериалыДокумента КАК ИмпортныеМатериалыДокумента
| ГДЕ
| НЕ ИмпортныеМатериалыДокумента.Прослеживаемый
| И ИмпортныеМатериалыДокумента.Основной)
|";
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#Область ШаблоныСообщений
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проведение
#Область ИнициализацияПроведения
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ОтчетПереработчика.Ссылка КАК Ссылка,
| ОтчетПереработчика.Дата КАК Период,
| ОтчетПереработчика.Номер КАК Номер,
| ОтчетПереработчика.Валюта КАК Валюта,
| ОтчетПереработчика.Партнер КАК Партнер,
| ОтчетПереработчика.Контрагент КАК Контрагент,
| ОтчетПереработчика.Организация КАК Организация,
| ОтчетПереработчика.Менеджер КАК Менеджер,
| ОтчетПереработчика.Автор КАК Автор,
| ОтчетПереработчика.Комментарий КАК Комментарий,
| ОтчетПереработчика.Подразделение КАК Подразделение,
| ОтчетПереработчика.Подразделение.ВариантОбособленногоУчетаТоваров КАК ВариантОбособленногоУчетаТоваров,
| ОтчетПереработчика.Сделка КАК Сделка,
| ЕСТЬNULL(ОтчетПереработчика.Сделка.ОбособленныйУчетТоваровПоСделке, ЛОЖЬ) КАК ОбособленныйУчетТоваровПоСделке,
| ОтчетПереработчика.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ОтчетПереработчика.Договор КАК Договор,
| ПРЕДСТАВЛЕНИЕ(ОтчетПереработчика.Договор) КАК ДоговорПредставление,
| ОтчетПереработчика.ФормаОплаты КАК ФормаОплаты,
| ОтчетПереработчика.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОтчетПереработчика.ПоЗаказам КАК ПоЗаказам,
| ОтчетПереработчика.ЗаказПереработчику КАК ЗаказПереработчику,
| ОтчетПереработчика.НаименованиеВходящегоДокумента КАК НаименованиеВходящегоДокумента,
| ОтчетПереработчика.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ОтчетПереработчика.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ОтчетПереработчика.Проведен КАК Проведен,
| ОтчетПереработчика.ПометкаУдаления КАК ПометкаУдаления,
| ДокЗаказПереработчику.Валюта КАК ВалютаЗаказа,
|
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга) КАК ТипЗапасов,
|
| ОтчетПереработчика.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| НЕОПРЕДЕЛЕНО КАК Серия,
| ОтчетПереработчика.Подразделение КАК Склад,
| ОтчетПереработчика.ГруппировкаЗатрат КАК ГруппировкаЗатрат,
|
| ОтчетПереработчика.СуммаДокумента КАК СуммаДокумента,
|
| ВЫБОР КОГДА ОтчетПереработчика.ПорядокРасчетов = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоДоговорамКонтрагентов) ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК РасчетыПоДоговорам,
|
| ВЫБОР КОГДА ОтчетПереработчика.ПорядокРасчетов = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоНакладным) ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК РасчетыПоНакладным,
| ОтчетПереработчика.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЕСТЬNULL(ОтчетПереработчика.НаправлениеДеятельности.УчетЗатрат, ЛОЖЬ) КАК УчетЗатратПоНД,
| ЕСТЬNULL(ОтчетПереработчика.НаправлениеДеятельности.УчетРасчетовСПоставщиками, ЛОЖЬ) КАК УчетРасчетовСПоставщикамиПоНД,
| ЕСТЬNULL(ОтчетПереработчика.НаправлениеДеятельности.Назначение,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)) КАК Назначение,
|
| ЕСТЬNULL(ОтчетПереработчика.Договор.ЗаданГрафикИсполнения, ЛОЖЬ) КАК ГрафикИсполненияВДоговоре,
|
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика2_5 КАК ОтчетПереработчика
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПереработчику2_5 КАК ДокЗаказПереработчику
| ПО ДокЗаказПереработчику.Ссылка = ОтчетПереработчика.ЗаказПереработчику
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ОтчетПереработчика.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|
|ГДЕ
| ОтчетПереработчика.Ссылка = &Ссылка
|";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Запрос.УстановитьПараметр("ПустаяСсылкаСтатья", Справочники.СтатьиКалькуляции.ПустаяСсылка());
Запрос.УстановитьПараметр("ПустаяСсылкаСерия", Справочники.СерииНоменклатуры.ПустаяСсылка());
Запрос.УстановитьПараметр("ПустаяСсылкаНазначение", Справочники.Назначения.ПустаяСсылка());
Запрос.УстановитьПараметр("АналитическийУчетПоГруппамПродукции", ПолучитьФункциональнуюОпцию("АналитическийУчетПоГруппамПродукции"));
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ТипЗнч(ДокументСсылка)));
Запрос.УстановитьПараметр("ИдентификаторЗаявлениеОВвозеТоваров", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ЗаявлениеОВвозеТоваров"));
Запрос.УстановитьПараметр("ХозОперацииПереработкаВСтранахЕАЭС", Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчикаВСтранахЕАЭС2_5);
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", ЗначениеНастроекПовтИсп.ВалютаУправленческогоУчета());
ИнформацияПоДоговору = Неопределено;
Если ЗначениеЗаполнено(Реквизиты.Договор) Тогда
ШаблонСтроки = "ru = 'По договору ""%1""'";
ИнформацияПоДоговору = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСтроки, Реквизиты.ДоговорПредставление);
КонецЕсли;
Запрос.УстановитьПараметр("ИнформацияПоДоговору", ИнформацияПоДоговору);
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета",
ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиНоменклатуры(Запрос)
Если Запрос = Неопределено ИЛИ Запрос.Параметры.Свойство("КлючиАналитикиНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитики = Новый Запрос(
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Серия КАК Серия
|ИЗ
| (
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Договор КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ВЫБОР
| КОГДА ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА &ПустоеНазначение
| ИНАЧЕ ЕСТЬNULL(СпрПартииПроизводства.Назначение, &ПустоеНазначение)
| КОНЕЦ КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаТовары.СтатусУказанияСерий В (14, 18)
| ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ &ПустаяСерия
| КОНЕЦ КАК Серия
| ИЗ
| Документ.ОтчетПереработчика2_5.МатериалыИРаботы КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК СпрПартииПроизводства
| ПО СпрПартииПроизводства.Документ = ТаблицаТовары.Ссылка
| И СпрПартииПроизводства.Код = ТаблицаТовары.НомерГруппыЗатрат
| И НЕ СпрПартииПроизводства.ПометкаУдаления
|
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Договор КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаТовары.СтатусУказанияСерий В (14, 18)
| ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ &ПустаяСерия
| КОНЕЦ КАК Серия
| ИЗ
| Документ.ОтчетПереработчика2_5.МатериалыИРаботы КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Договор КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ЕСТЬNULL(СпрПартииПроизводства.Назначение, &ПустоеНазначение)
| КОНЕЦ КАК Назначение,
| &ПустаяСерия КАК Серия
| ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК СпрПартииПроизводства
| ПО СпрПартииПроизводства.Документ = ТаблицаТовары.Ссылка
| И СпрПартииПроизводства.Код = ТаблицаТовары.НомерГруппыЗатрат
| И НЕ СпрПартииПроизводства.ПометкаУдаления
|
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Договор КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| &ПустаяСерия КАК Серия
| ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Договор КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ВЫБОР
| КОГДА ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА &ПустоеНазначение
| ИНАЧЕ ЕСТЬNULL(СпрПартииПроизводства.Назначение, &ПустоеНазначение)
| КОНЕЦ КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаТовары.СтатусУказанияСерий В (14, 18)
| ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ &ПустаяСерия
| КОНЕЦ КАК Серия
| ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК СпрПартииПроизводства
| ПО СпрПартииПроизводства.Документ = ТаблицаТовары.Ссылка
| И СпрПартииПроизводства.Код = ТаблицаТовары.НомерГруппыЗатрат
| И НЕ СпрПартииПроизводства.ПометкаУдаления
|
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Договор КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаТовары.СтатусУказанияСерий В (14, 18)
| ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ &ПустаяСерия
| КОНЕЦ КАК Серия
| ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Договор КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| &ПустаяСтатья КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаТовары.СтатусУказанияСерий В (14, 18)
| ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ &ПустаяСерия
| КОНЕЦ КАК Серия
| ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Договор КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| &ПустаяСтатья КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаТовары.СтатусУказанияСерий В (14, 18)
| ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ &ПустаяСерия
| КОНЕЦ КАК Серия
| ИЗ
| Документ.ОтчетПереработчика2_5.МатериалыИРаботы КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Подразделение КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| &ПустаяСтатья КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаТовары.СтатусУказанияСерий В (14, 18)
| ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ &ПустаяСерия
| КОНЕЦ КАК Серия
| ИЗ
| Документ.ОтчетПереработчика2_5.МатериалыИРаботы КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Договор КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| &ПустаяСтатья КАК СтатьяКалькуляции,
| &ПустоеНазначение КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаТовары.СтатусУказанияСерий В (14, 18)
| ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ &ПустаяСерия
| КОНЕЦ КАК Серия
| ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| ) КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.Номенклатура = Аналитика.Номенклатура
| И ТаблицаТовары.Характеристика = Аналитика.Характеристика
| И ТаблицаТовары.Серия = Аналитика.Серия
| И ТаблицаТовары.Склад = Аналитика.МестоХранения
| И ТаблицаТовары.Назначение = Аналитика.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = Аналитика.СтатьяКалькуляции
|ГДЕ
| Аналитика.Номенклатура ЕСТЬ NULL
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.Склад,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.СтатьяКалькуляции,
| ТаблицаТовары.Назначение,
| ТаблицаТовары.Серия");
ЗапросАналитики.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитики.УстановитьПараметр("Подразделение", Запрос.Параметры.Подразделение);
ЗапросАналитики.УстановитьПараметр("Договор", Запрос.Параметры.Договор);
ЗапросАналитики.УстановитьПараметр("ПустаяСерия", Справочники.СерииНоменклатуры.ПустаяСсылка());
ЗапросАналитики.УстановитьПараметр("ПустаяСтатья", Справочники.СтатьиКалькуляции.ПустаяСсылка());
ЗапросАналитики.УстановитьПараметр("ПустоеНазначение", Справочники.Назначения.ПустаяСсылка());
Выборка = ЗапросАналитики.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка)
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос)
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуЗаказа")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУпр")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуРегл") Тогда
Возврат;
КонецЕсли;
Коэффициенты =
РаботаСКурсамиВалютУТ.ПолучитьКоэффициентыПересчетаВалюты(
Запрос.Параметры.Валюта,
Запрос.Параметры.ВалютаЗаказа,
Запрос.Параметры.Период,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуЗаказа", Коэффициенты.КоэффициентПересчетаВВалютуВзаиморасчетов);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
КонецПроцедуры
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.ОтчетПереработчика2_5";
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоДоговору", """""");
ПереопределениеРасчетаПараметров.Вставить("НомерВходящегоДокумента", """""");
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
ВЗапросеЕстьИсточник = Ложь;
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
#КонецОбласти
#Область ТекстыЗапросовПроведения
#Область ТекстыЗапросовВременныеТаблицы
Функция ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса = Неопределено) Экспорт
ИмяРегистра = "ВтПартииПроизводства";
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДД.ПартияВыпуска КАК ПартияВыпуска,
| ДД.ПартияПроизводства КАК ПартияПроизводства,
| ЕСТЬNULL(ДД.Назначение, ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)) КАК Назначение,
| ЕСТЬNULL(ДД.НаправлениеДеятельности, &НаправлениеДеятельности) КАК НаправлениеДеятельности,
| ЕСТЬNULL(ДД.ГруппаПродукции,
| ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)) КАК ГруппаПродукции,
| ЕСТЬNULL(ДД.ВидДеятельностиНДС, &ЗакупкаПодДеятельность) КАК ВидДеятельностиНДС,
| ДД.НомерГруппыЗатрат КАК НомерГруппыЗатрат
|ПОМЕСТИТЬ ВтПартииПроизводства
|ИЗ
| (ВЫБРАТЬ
| &Ссылка КАК ПартияВыпуска,
| СпрПартииПроизводства.Ссылка КАК ПартияПроизводства,
| СпрПартииПроизводства.Назначение КАК Назначение,
| СпрПартииПроизводства.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СпрПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| СпрПартииПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат
| ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТаблицаТовары
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика2_5 КАК Реквизиты
| ПО Реквизиты.Ссылка = ТаблицаТовары.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК СпрПартииПроизводства
| ПО СпрПартииПроизводства.Документ = &Ссылка
| И СпрПартииПроизводства.Код = ТаблицаТовары.НомерГруппыЗатрат
| И НЕ СпрПартииПроизводства.ПометкаУдаления
|
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И НЕ Реквизиты.ГруппировкаЗатрат = ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоЭтапамПроизводства)
| ) КАК ДД
|";
Если ТекстыЗапроса <> Неопределено Тогда
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса)
ТекстВыборкаПоляАналитик =
"ВЫБРАТЬ
| ""Изделия"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| НЕОПРЕДЕЛЕНО КАК Поставщик,
| НЕОПРЕДЕЛЕНО КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
| НЕОПРЕДЕЛЕНО КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары) КАК ВидЦенности,
| ВЫБОР
| КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаДокумента.КодСтрокиПродукция
| ИНАЧЕ 0
| КОНЕЦ КАК КодСтроки
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовИзделия КАК ТаблицаДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика2_5 КАК Реквизиты
| ПО ТаблицаДокумента.Ссылка = Реквизиты.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ВыходныеИзделия"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| НЕОПРЕДЕЛЕНО КАК Поставщик,
| НЕОПРЕДЕЛЕНО КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
| НЕОПРЕДЕЛЕНО КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары) КАК ВидЦенности,
| ВЫБОР
| КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаДокумента.КодСтрокиПродукция
| ИНАЧЕ 0
| КОНЕЦ КАК КодСтроки
|ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТаблицаДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика2_5 КАК Реквизиты
| ПО ТаблицаДокумента.Ссылка = Реквизиты.Ссылка
|
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И ТаблицаДокумента.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры НЕ В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовИзделия КАК ВидыЗапасов
| ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ПобочныеИзделия"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| НЕОПРЕДЕЛЕНО КАК Поставщик,
| НЕОПРЕДЕЛЕНО КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
| НЕОПРЕДЕЛЕНО КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары) КАК ВидЦенности,
| 0 КАК КодСтроки
|ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТаблицаДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика2_5 КАК Реквизиты
| ПО ТаблицаДокумента.Ссылка = Реквизиты.Ссылка
|
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И ТаблицаДокумента.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры НЕ В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовИзделия КАК ВидыЗапасов
| ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""Услуги"" КАК ИмяТабличнойЧасти,
| ТаблицаУслуги.НомерСтроки КАК НомерСтроки,
| Реквизиты.Партнер КАК Поставщик,
| Реквизиты.Контрагент КАК Контрагент,
| ТаблицаУслуги.СтавкаНДС КАК СтавкаНДС,
| Реквизиты.ЗакупкаПодДеятельность КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги) КАК ВидЦенности,
| 0 КАК КодСтроки
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК ТаблицаУслуги
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика2_5 КАК Реквизиты
| ПО Реквизиты.Ссылка = ТаблицаУслуги.Ссылка
|
|ГДЕ
| Реквизиты.Ссылка = &Ссылка
|";
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВременнаяТаблицаКурсыВалют(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВременнаяТаблицаКурсыВалют";
ТекстЗапроса = "
|ВЫБРАТЬ
| ОтносительныеКурсыВалютСрезПоследних.Валюта КАК Валюта,
| ОтносительныеКурсыВалютСрезПоследних.КурсЧислитель КАК КурсЧислитель,
| ОтносительныеКурсыВалютСрезПоследних.КурсЗнаменатель КАК КурсЗнаменатель
|ПОМЕСТИТЬ ВременнаяТаблицаКурсыВалют
|ИЗ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(
| &Период,
| БазоваяВалюта В
| (ВЫБРАТЬ
| БазоваяВалютаПоУмолчанию.Значение КАК Значение
| ИЗ
| Константа.БазоваяВалютаПоУмолчанию КАК БазоваяВалютаПоУмолчанию)
| ) КАК ОтносительныеКурсыВалютСрезПоследних
|
|ИНДЕКСИРОВАТЬ ПО
| Валюта
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция РаспределенныеВидыЗапасов(ОсновнойЗапрос)
УстановитьПараметрыЗапросаКоэффициентыВалют(ОсновнойЗапрос);
Запрос = Новый Запрос();
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Для Каждого Параметр Из ОсновнойЗапрос.Параметры Цикл
Запрос.УстановитьПараметр(Параметр.Ключ, Параметр.Значение);
КонецЦикла;
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
ТекстыЗапроса = Новый СписокЗначений;
МассивТекстов = Новый Массив;
МассивТекстов.Добавить(ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса));
МассивТекстов.Добавить(ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса));
МассивТекстов.Добавить(ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса));
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 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 Тогда
ЭтоКолонкаГруппировки = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЭтоКолонкаГруппировки Тогда
Если ЗначениеЗаполнено(КолонкиГруппировок) Тогда
КолонкиГруппировок = КолонкиГруппировок + "," + Колонка.Имя;
Иначе
КолонкиГруппировок = Колонка.Имя;
КонецЕсли;
КонецЕсли;
КонецЦикла;
РаспределенныеВидыЗапасов.Свернуть(КолонкиГруппировок, КолонкиСуммирования);
Возврат РаспределенныеВидыЗапасов;
КонецФункции
Функция ТекстЗапросаВтРаспределенныеВидыЗапасов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтРаспределенныеВидыЗапасов";
ТаблицаРаспределенныеВидыЗапасов = РаспределенныеВидыЗапасов(Запрос);
Запрос.УстановитьПараметр("ТаблицаРаспределенныеВидыЗапасов", ТаблицаРаспределенныеВидыЗапасов);
ТекстЗапроса =
"ВЫБРАТЬ
| *
|ПОМЕСТИТЬ ВтРаспределенныеВидыЗапасов
|
|ИЗ
| &ТаблицаРаспределенныеВидыЗапасов КАК ДД
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаВозвратныеОтходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаВозвратныеОтходы";
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаВозвратныеОтходы.Ссылка КАК Ссылка,
| ТаблицаВозвратныеОтходы.НомерСтроки КАК НомерСтроки,
| ТаблицаВозвратныеОтходы.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВозвратныеОтходы.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВозвратныеОтходы.КодСтроки КАК КодСтроки,
| ТаблицаВозвратныеОтходы.Номенклатура КАК Номенклатура,
| ТаблицаВозвратныеОтходы.Характеристика КАК Характеристика,
| ТаблицаВозвратныеОтходы.Назначение КАК Назначение,
| ТаблицаВозвратныеОтходы.ЗаказПереработчику КАК ЗаказПереработчику,
| ТаблицаВозвратныеОтходы.Получатель КАК Получатель,
| ТаблицаВозвратныеОтходы.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаВозвратныеОтходы.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаВозвратныеОтходы.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаВозвратныеОтходы.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаВозвратныеОтходы.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаВозвратныеОтходы.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаВозвратныеОтходы.Количество КАК Количество,
| ТаблицаВозвратныеОтходы.Цена КАК Цена,
| ТаблицаВозвратныеОтходы.Сумма КАК Сумма,
| ВЫБОР
| КОГДА ДанныеНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК Работа
|
|ПОМЕСТИТЬ ВтТаблицаВозвратныеОтходы
|
|ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТаблицаВозвратныеОтходы
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаВозвратныеОтходы.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| ТаблицаВозвратныеОтходы.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| СписатьНаРасходы,
| Работа";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВозвратныеОтходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВозвратныеОтходы(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| (ВЫБОР
| КОГДА ТабличнаяЧасть.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ИЛИ НЕ ТабличнаяЧасть.Работа
| ТОГДА &Подразделение
| ИНАЧЕ ТабличнаяЧасть.Получатель КОНЕЦ) КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| ТабличнаяЧасть.СтатьяРасходов КАК СтатьяРасходов,
| ТабличнаяЧасть.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| (ВЫБОР
| КОГДА &УчетЗатратПоНД ТОГДА &НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| &ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
|
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Стоимость,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СтоимостьБезНДС,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| 0 КАК НДСУпр,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость) КАК ХозяйственнаяОперация,
| ТабличнаяЧасть.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ЕСТЬNULL(ВидыЗапасов.ИдентификаторФинЗаписи, ТабличнаяЧасть.ИдентификаторСтроки) КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыпускПродукцииФиксированнаяСтоимость) КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПартииПрочихРасходов
|ИЗ
| ВтТаблицаВозвратныеОтходы КАК ТабличнаяЧасть
| ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ВидыЗапасов
| ПО ТабличнаяЧасть.ИдентификаторСтроки = ВидыЗапасов.ИдентификаторСтроки
| И ТабличнаяЧасть.ИдентификаторСтроки <> """"
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТабличнаяЧасть.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВозвратныеОтходы""
|ГДЕ
| ТабличнаяЧасть.СписатьНаРасходы
| И ТИПЗНАЧЕНИЯ(ТабличнаяЧасть.СтатьяРасходов) = ТИП(ПланВидовХарактеристик.СтатьиРасходов)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВозвратныеОтходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВозвратныеОтходы(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТабличнаяЧасть.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ИЛИ НЕ ТабличнаяЧасть.Работа
| ТОГДА &Подразделение
| ИНАЧЕ ТабличнаяЧасть.Получатель
| КОНЕЦ КАК Подразделение,
| ТабличнаяЧасть.СтатьяРасходов КАК СтатьяРасходов,
| ТабличнаяЧасть.АналитикаРасходов КАК АналитикаРасходов,
| ВЫБОР
| КОГДА &УчетЗатратПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| &ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
|
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаСНДС,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДС,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДСУпр,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаСНДСРегл,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеНаРасходыФиксированнаяСтоимость) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СписаниеТоваровПоТребованию) КАК НастройкаХозяйственнойОперации,
| ТабличнаяЧасть.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
|
| ЕСТЬNULL(ВидыЗапасов.ИдентификаторФинЗаписи, ТабличнаяЧасть.ИдентификаторСтроки) КАК ИдентификаторФинЗаписи
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| ВтТаблицаВозвратныеОтходы КАК ТабличнаяЧасть
| ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ВидыЗапасов
| ПО ТабличнаяЧасть.ИдентификаторСтроки = ВидыЗапасов.ИдентификаторСтроки
| И ТабличнаяЧасть.ИдентификаторСтроки <> """"
|ГДЕ
| ТабличнаяЧасть.СписатьНаРасходы
| И НЕ ТабличнаяЧасть.Сумма = 0
| И ТИПЗНАЧЕНИЯ(ТабличнаяЧасть.СтатьяРасходов) = ТИП(ПланВидовХарактеристик.СтатьиРасходов)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаспределенныеВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаспределенныеВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка) КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ВЫБОР
| КОГДА &УчетЗатратПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ТаблицаТовары.Стоимость КАК Сумма,
| ТаблицаТовары.СтоимостьБезНДС КАК СуммаБезНДС,
| ТаблицаТовары.СтоимостьУпр КАК СуммаУпр,
| ТаблицаТовары.СтоимостьРегл КАК СуммаРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| &СуммаНДД КАК СуммаНДД,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтРаспределенныеВидыЗапасов КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ УчетнаяПолитикаПоНДДПрочиеРасходы КАК УчетнаяПолитикаПоНДД
| ПО &Организация = УчетнаяПолитикаПоНДД.Организация
|ГДЕ
| ТаблицаТовары.Стоимость <> 0
| И ТаблицаТовары.ХозяйственнаяОперацияИсходная = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| И ТаблицаТовары.АналитикаУчетаНоменклатуры = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка) КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ВЫБОР
| КОГДА &УчетЗатратПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ТаблицаТовары.Стоимость КАК Сумма,
| ТаблицаТовары.СтоимостьБезНДС КАК СуммаБезНДС,
| ТаблицаТовары.СтоимостьУпр КАК СуммаУпр,
| ТаблицаТовары.СтоимостьРегл КАК СуммаРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК СуммаНДД,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтРаспределенныеВидыЗапасов КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Стоимость <> 0
| И ТаблицаТовары.ХозяйственнаяОперацияИсходная = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| И ТаблицаТовары.АналитикаУчетаНоменклатуры = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
|";
РасчетСебестоимостиЛокализация.ПодставитьСуммуНДДВЗапрос(ТекстЗапроса, "ТаблицаТовары", "Приход", "СтоимостьРегл",,, "&Период", Истина);
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы()
+ ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении()
+ ТекстЗапроса;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТоварыЗаявленияОВвозе(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТоварыЗаявления";
ТекстЗапроса = "
|ВЫБРАТЬ
| СУММА(Суммы.СуммаБезНДС) КАК СуммаБезНДС
|ПОМЕСТИТЬ ВтСуммыДокумента
|ИЗ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
|;
|
|
|ВЫБРАТЬ
| СУММА(ВтРаспределенныеВидыЗапасов.СтоимостьРегл) КАК СтоимостьРегл
|ПОМЕСТИТЬ ВтСуммыРегл
|ИЗ
| ВтРаспределенныеВидыЗапасов КАК ВтРаспределенныеВидыЗапасов
|;
|
|
|ВЫБРАТЬ
| ВтВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВтВидыЗапасов.НомерГТД КАК НомерГТД,
| ВтВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| СУММА(ВтВидыЗапасов.Количество) КАК Количество
|ПОМЕСТИТЬ ВтВидыЗапасовСводно
|ИЗ
| ВтВидыЗапасов КАК ВтВидыЗапасов
|
|СГРУППИРОВАТЬ ПО
| ВтВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВтВидыЗапасов.НомерГТД,
| ВтВидыЗапасов.ИдентификаторСтроки
|;
|
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК Период,
| &Организация КАК Организация,
| &Партнер КАК Поставщик,
| ТаблицаРаспределенныеВидыЗапасов.КорАналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаРаспределенныеВидыЗапасов.КорВидЗапасов КАК ВидЗапасов,
| &Ссылка КАК ДокументПриобретения,
| &ИдентификаторЗаявлениеОВвозеТоваров КАК ТипДокументаИмпорта,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| СУММА(ТаблицаРаспределенныеВидыЗапасов.СтоимостьРегл * ВтСуммыДокумента.СуммаБезНДС / ВтСуммыРегл.СтоимостьРегл) КАК Сумма,
| ТаблицаРаспределенныеВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаРаспределенныеВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|ПОМЕСТИТЬ ВтТоварыЗаявления
|ИЗ
| ВтРаспределенныеВидыЗапасов КАК ТаблицаРаспределенныеВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасовСводно КАК ТаблицаВидыЗапасов
| ПО ТаблицаРаспределенныеВидыЗапасов.КорАналитикаУчетаНоменклатуры = ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры
| И ТаблицаРаспределенныеВидыЗапасов.ИдентификаторСтроки = ТаблицаВидыЗапасов.ИдентификаторСтроки
| И ТаблицаРаспределенныеВидыЗапасов.НомерГТД = ТаблицаВидыЗапасов.НомерГТД
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокумента КАК ВтСуммыДокумента
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыРегл КАК ВтСуммыРегл
| ПО ИСТИНА
|ГДЕ
| &ХозяйственнаяОперация = &ХозОперацииПереработкаВСтранахЕАЭС
| И ТаблицаРаспределенныеВидыЗапасов.ХозяйственнаяОперацияИсходная = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаРаспределенныеВидыЗапасов.КорАналитикаУчетаНоменклатуры,
| ТаблицаРаспределенныеВидыЗапасов.КорВидЗапасов,
| ТаблицаВидыЗапасов.Количество,
| ТаблицаРаспределенныеВидыЗапасов.НомерГТД,
| ТаблицаРаспределенныеВидыЗапасов.ИдентификаторСтроки
|";
Если ТекстыЗапроса <> Неопределено Тогда
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
#Область ВидыЗапасов
Функция ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтВидыЗапасов";
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПроизводства", ТекстыЗапроса) Тогда
ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстыВтВидыЗапасов = Новый Массив;
ТекстыВтВидыЗапасов.Добавить(ТекстЗапросаВтВидыЗапасовМатериалы());
ТекстыВтВидыЗапасов.Добавить(ТекстЗапросаВтВидыЗапасовИзделия());
ТекстыВтВидыЗапасов.Добавить(ТекстЗапросаВтВидыЗапасовРаботыМатериалы());
ТекстыВтВидыЗапасов.Добавить(ТекстЗапросаВтВидыЗапасовРаботыВыходныеИзделия());
ТекстыВтВидыЗапасов.Добавить(ТекстЗапросаВтВидыЗапасовРаботыПобочныеИзделия());
ТекстыВтВидыЗапасов.Добавить(ТекстЗапросаВтВидыЗапасовУслуги());
ТекстЗапроса = СтрСоединить(ТекстыВтВидыЗапасов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтВидыЗапасовМатериалы()
Возврат
"ВЫБРАТЬ
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ВЫБОР
| КОГДА ТаблицаТовары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаХраненииСПравомПродажиПереданныеПартнерам)
| КОГДА ТаблицаТовары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.МатериалДавальца)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.МатериалыПринятыеВПереработкуПереданныеПартнерам)
| КОГДА ТаблицаТовары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца)
| ИЛИ ТаблицаТовары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаОтветхранениеПереданныеПартнерам)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеПереработчику)
| КОНЕЦ КАК РазделУчета,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ПартииПроизводства.ПартияПроизводства КАК ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска КАК ПартияВыпуска,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК СуммаНДС,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьУпр,
| ПартииПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеРасходовНаПартииПроизводства) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК КорРазделУчета,
| ВЫБОР
| КОГДА Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА ЕСТЬNULL(АналитикаПроизводстваБезНазначения.КлючАналитики, НЕОПРЕДЕЛЕНО)
| ИНАЧЕ ЕСТЬNULL(АналитикаПроизводства.КлючАналитики, НЕОПРЕДЕЛЕНО)
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ЕСТЬNULL(АналитикаПроизводстваБезНазначения.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| НЕОПРЕДЕЛЕНО КАК КорГруппаПродукции,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| 0 КАК ДоляСтоимости,
| &Подразделение КАК Подразделение,
| ЛОЖЬ КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК НастройкаСчетовУчета,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СписаниеРасходовНаПартииПроизводства) КАК НастройкаХозяйственнойОперации
|ПОМЕСТИТЬ ВтВидыЗапасов
|ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовМатериалы КАК ТаблицаТовары
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ТаблицаТовары.Ссылка = ПартииПроизводства.ПартияВыпуска
| И ТаблицаТовары.НомерГруппыЗатрат = ПартииПроизводства.НомерГруппыЗатрат
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаБезНазначения.Назначение
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводства
| ПО Аналитика.Номенклатура = АналитикаПроизводства.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводства.Характеристика
| И Аналитика.Серия = АналитикаПроизводства.Серия
| И &Договор = АналитикаПроизводства.МестоХранения
| И ПартииПроизводства.Назначение = АналитикаПроизводства.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводства.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводстваБезНазначения
| ПО Аналитика.Номенклатура = АналитикаПроизводстваБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводстваБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаПроизводстваБезНазначения.Серия
| И &Договор = АналитикаПроизводстваБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаПроизводстваБезНазначения.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводстваБезНазначения.СтатьяКалькуляции
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НомерГруппыЗатрат,
| АналитикаБезНазначения.КлючАналитики,
| ТаблицаТовары.ВидЗапасов,
| ТаблицаТовары.НомерГТД,
| ВЫБОР
| КОГДА ТаблицаТовары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаХраненииСПравомПродажиПереданныеПартнерам)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеПереработчику)
| КОНЕЦ,
| ПартииПроизводства.ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска,
| ПартииПроизводства.ГруппаПродукции,
| ПартииПроизводства.ВидДеятельностиНДС,
| ВЫБОР
| КОГДА Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА ЕСТЬNULL(АналитикаПроизводстваБезНазначения.КлючАналитики, НЕОПРЕДЕЛЕНО)
| ИНАЧЕ ЕСТЬNULL(АналитикаПроизводства.КлючАналитики, НЕОПРЕДЕЛЕНО)
| КОНЕЦ,
| ЕСТЬNULL(АналитикаПроизводстваБезНазначения.КлючАналитики, НЕОПРЕДЕЛЕНО),
| ТаблицаТовары.СтатьяКалькуляции,
| ТаблицаТовары.ИдентификаторФинЗаписи,
| ТаблицаТовары.ИдентификаторСтроки
|";
КонецФункции
Функция ТекстЗапросаВтВидыЗапасовИзделия()
Возврат
"ВЫБРАТЬ
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ВЫБОР
| КОГДА ТаблицаТовары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаХраненииСПравомПродажиПереданныеПартнерам)
| КОГДА ТаблицаТовары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.МатериалДавальца)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.МатериалыПринятыеВПереработкуПереданныеПартнерам)
| КОГДА ТаблицаТовары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца)
| ИЛИ ТаблицаТовары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаОтветхранениеПереданныеПартнерам)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеПереработчику)
| КОНЕЦ КАК РазделУчета,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ПартииПроизводства.ПартияПроизводства КАК ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска КАК ПартияВыпуска,
| ТаблицаТовары.Количество КАК Количество,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Стоимость,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СтоимостьБезНДС,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СтоимостьРегл,
| 0 КАК СуммаНДС,
| 0 КАК НДСУпр,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ТаблицаТовары.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| И ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС, ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка))
| <> ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| КОГДА ТаблицаТовары.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| ТОГДА &ЗакупкаПодДеятельность
| ИНАЧЕ ПартииПроизводства.ВидДеятельностиНДС
| КОНЕЦ КАК ВидДеятельностиНДС,
| ТаблицаТовары.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК КорРазделУчета,
| ВЫБОР
| КОГДА Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА ЕСТЬNULL(АналитикаПроизводстваБезНазначения.КлючАналитики, НЕОПРЕДЕЛЕНО)
| ИНАЧЕ ЕСТЬNULL(АналитикаПроизводства.КлючАналитики, НЕОПРЕДЕЛЕНО)
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ЕСТЬNULL(АналитикаПроизводстваБезНазначения.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| ВЫБОР
| КОГДА &АналитическийУчетПоГруппамПродукции
| И НЕ Аналитика.Номенклатура.ГруппаАналитическогоУчета =
| ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА Аналитика.Номенклатура.ГруппаАналитическогоУчета
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорГруппаПродукции,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВЫБОР
| КОГДА ТаблицаТовары.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| И ТаблицаТовары.ДоляСтоимости = 0
| ТОГДА ТаблицаТовары.Количество
| ИНАЧЕ ТаблицаТовары.ДоляСтоимости
| КОНЕЦ КАК ДоляСтоимости,
| ВЫБОР
| КОГДА ТаблицаТовары.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТаблицаТовары.Получатель
| КОНЕЦ КАК Подразделение,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА ТаблицаТовары.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыпускПродукции)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыпускПродукцииФиксированнаяСтоимость)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовИзделия КАК ТаблицаТовары
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ТаблицаТовары.Ссылка = ПартииПроизводства.ПартияВыпуска
| И ТаблицаТовары.НомерГруппыЗатрат = ПартииПроизводства.НомерГруппыЗатрат
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаБезНазначения.Назначение
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводства
| ПО Аналитика.Номенклатура = АналитикаПроизводства.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводства.Характеристика
| И Аналитика.Серия = АналитикаПроизводства.Серия
| И &Договор = АналитикаПроизводства.МестоХранения
| И ПартииПроизводства.Назначение = АналитикаПроизводства.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводства.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводстваБезНазначения
| ПО Аналитика.Номенклатура = АналитикаПроизводстваБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводстваБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаПроизводстваБезНазначения.Серия
| И &Договор = АналитикаПроизводстваБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаПроизводстваБезНазначения.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводстваБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаТовары.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Изделия""
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|";
КонецФункции
Функция ТекстЗапросаВтВидыЗапасовРаботыМатериалы()
Возврат
"ВЫБРАТЬ
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты) КАК РазделУчета,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ПартииПроизводства.ПартияПроизводства КАК ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска КАК ПартияВыпуска,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК СуммаНДС,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьУпр,
| ПартииПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеРасходовНаПартииПроизводства) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК КорРазделУчета,
| ЕСТЬNULL(АналитикаПроизводства.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК КорАналитикаУчетаНоменклатуры,
| ЕСТЬNULL(АналитикаПроизводстваБезНазначения.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| НЕОПРЕДЕЛЕНО КАК КорГруппаПродукции,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| 0 КАК ДоляСтоимости,
| &Подразделение КАК Подразделение,
| ЛОЖЬ КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК НастройкаСчетовУчета,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СписаниеРасходовНаПартииПроизводства) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетПереработчика2_5.МатериалыИРаботы КАК ТаблицаТовары
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ТаблицаТовары.Ссылка = ПартииПроизводства.ПартияВыпуска
| И ТаблицаТовары.НомерГруппыЗатрат = ПартииПроизводства.НомерГруппыЗатрат
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаБезНазначения.Назначение
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводства
| ПО Аналитика.Номенклатура = АналитикаПроизводства.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводства.Характеристика
| И Аналитика.Серия = АналитикаПроизводства.Серия
| И &Договор = АналитикаПроизводства.МестоХранения
| И ПартииПроизводства.Назначение = АналитикаПроизводства.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводства.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводстваБезНазначения
| ПО Аналитика.Номенклатура = АналитикаПроизводстваБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводстваБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаПроизводстваБезНазначения.Серия
| И &Договор = АналитикаПроизводстваБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаПроизводстваБезНазначения.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводстваБезНазначения.СтатьяКалькуляции
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаТовары.АналитикаУчетаНоменклатуры НЕ В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовМатериалы КАК ВидыЗапасов
| ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НомерГруппыЗатрат,
| АналитикаБезНазначения.КлючАналитики,
| ПартииПроизводства.ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска,
| ПартииПроизводства.ГруппаПродукции,
| ПартииПроизводства.ВидДеятельностиНДС,
| ЕСТЬNULL(АналитикаПроизводства.КлючАналитики, НЕОПРЕДЕЛЕНО),
| ЕСТЬNULL(АналитикаПроизводстваБезНазначения.КлючАналитики, НЕОПРЕДЕЛЕНО),
| ТаблицаТовары.СтатьяКалькуляции,
| ТаблицаТовары.ИдентификаторСтроки
|";
КонецФункции
Функция ТекстЗапросаВтВидыЗапасовРаботыВыходныеИзделия()
Возврат
"ВЫБРАТЬ
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты) КАК РазделУчета,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ПартииПроизводства.ПартияПроизводства КАК ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска КАК ПартияВыпуска,
| ТаблицаТовары.Количество КАК Количество,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Стоимость,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СтоимостьБезНДС,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СтоимостьРегл,
| 0 КАК СуммаНДС,
| 0 КАК НДСУпр,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС, ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка))
| <> ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ &ЗакупкаПодДеятельность
| КОНЕЦ КАК ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК КорРазделУчета,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| НЕОПРЕДЕЛЕНО КАК СтатьяКалькуляции,
| ПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| ВЫБОР
| КОГДА &АналитическийУчетПоГруппамПродукции
| И НЕ ТаблицаТовары.Номенклатура.ГруппаАналитическогоУчета = ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА ТаблицаТовары.Номенклатура.ГруппаАналитическогоУчета
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорГруппаПродукции,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВЫБОР
| КОГДА ТаблицаТовары.ДоляСтоимости = 0
| ТОГДА ТаблицаТовары.Количество
| ИНАЧЕ ТаблицаТовары.ДоляСтоимости
| КОНЕЦ КАК ДоляСтоимости,
| ВЫБОР
| КОГДА ТаблицаТовары.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТаблицаТовары.Получатель
| КОНЕЦ КАК Подразделение,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыпускПродукции) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТаблицаТовары
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ТаблицаТовары.Ссылка = ПартииПроизводства.ПартияВыпуска
| И ТаблицаТовары.НомерГруппыЗатрат = ПартииПроизводства.НомерГруппыЗатрат
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаБезНазначения.Назначение
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаТовары.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВыходныеИзделия""
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаТовары.АналитикаУчетаНоменклатуры НЕ В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовИзделия КАК ВидыЗапасов
| ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка)
|";
КонецФункции
Функция ТекстЗапросаВтВидыЗапасовРаботыПобочныеИзделия()
Возврат
"ВЫБРАТЬ
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеПереработчику) КАК РазделУчета,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ПартииПроизводства.ПартияПроизводства КАК ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска КАК ПартияВыпуска,
| ТаблицаТовары.Количество КАК Количество,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Стоимость,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СтоимостьБезНДС,
| ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СтоимостьРегл,
| 0 КАК СуммаНДС,
| 0 КАК НДСУпр,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА ВЫРАЗИТЬ(ТаблицаТовары.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
| ПартииПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК КорРазделУчета,
| ЕСТЬNULL(АналитикаПроизводства.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК КорАналитикаУчетаНоменклатуры,
| ЕСТЬNULL(АналитикаПроизводстваБезНазначения.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| ВЫБОР
| КОГДА &ПартионныйУчетВерсии22
| И &АналитическийУчетПоГруппамПродукции
| И НЕ ТаблицаТовары.Номенклатура.ГруппаАналитическогоУчета = ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА ТаблицаТовары.Номенклатура.ГруппаАналитическогоУчета
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорГруппаПродукции,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| 0 КАК ДоляСтоимости,
| ВЫБОР
| КОГДА ТаблицаТовары.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТаблицаТовары.Получатель
| КОНЕЦ КАК Подразделение,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыпускПродукцииФиксированнаяСтоимость) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТаблицаТовары
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ТаблицаТовары.Ссылка = ПартииПроизводства.ПартияВыпуска
| И ТаблицаТовары.НомерГруппыЗатрат = ПартииПроизводства.НомерГруппыЗатрат
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаБезНазначения.Назначение
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводства
| ПО Аналитика.Номенклатура = АналитикаПроизводства.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводства.Характеристика
| И Аналитика.Серия = АналитикаПроизводства.Серия
| И &Договор = АналитикаПроизводства.МестоХранения
| И ПартииПроизводства.Назначение = АналитикаПроизводства.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводства.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводстваБезНазначения
| ПО Аналитика.Номенклатура = АналитикаПроизводстваБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаПроизводстваБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаПроизводстваБезНазначения.Серия
| И &Договор = АналитикаПроизводстваБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаПроизводстваБезНазначения.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводстваБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаТовары.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ПобочныеИзделия""
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаТовары.АналитикаУчетаНоменклатуры НЕ В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовИзделия КАК ВидыЗапасов
| ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка)
|";
КонецФункции
Функция ТекстЗапросаВтВидыЗапасовУслуги()
Возврат
"ВЫБРАТЬ
| АналитикаПроизводства.Ссылка КАК АналитикаУчетаНоменклатуры,
| АналитикаПроизводстваБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК РазделУчета,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ПартииПроизводства.ПартияПроизводства КАК ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска КАК ПартияВыпуска,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| СУММА(ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)) КАК Стоимость,
| СУММА(ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)) КАК СтоимостьБезНДС,
| СУММА(ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)) КАК СтоимостьРегл,
| СУММА(ЕСТЬNULL(Суммы.СуммаНДСРегл, 0)) КАК СуммаНДС,
| СУММА(ЕСТЬNULL(Суммы.СуммаНДСУпр, 0)) КАК НДСУпр,
| СУММА(ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)) КАК СтоимостьУпр,
| ПартииПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика) КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК КорРазделУчета,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
| НЕОПРЕДЕЛЕНО КАК КорГруппаПродукции,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| 0 КАК ДоляСтоимости,
| &Подразделение КАК Подразделение,
| ЛОЖЬ КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК НастройкаСчетовУчета,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК ТаблицаТовары
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ТаблицаТовары.Ссылка = ПартииПроизводства.ПартияВыпуска
| И ТаблицаТовары.НомерГруппыЗатрат = ПартииПроизводства.НомерГруппыЗатрат
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК АналитикаПроизводства
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = АналитикаПроизводства.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПроизводстваБезНазначения
| ПО АналитикаПроизводства.Номенклатура = АналитикаПроизводстваБезНазначения.Номенклатура
| И АналитикаПроизводства.Характеристика = АналитикаПроизводстваБезНазначения.Характеристика
| И АналитикаПроизводства.Серия = АналитикаПроизводстваБезНазначения.Серия
| И АналитикаПроизводства.МестоХранения = АналитикаПроизводстваБезНазначения.МестоХранения
| И &ПустаяСсылкаНазначение = АналитикаПроизводстваБезНазначения.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = АналитикаПроизводстваБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = ТаблицаТовары.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаТовары.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаТовары.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Услуги""
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ПартииПроизводства.ПартияПроизводства,
| ПартииПроизводства.ПартияВыпуска,
| ПартииПроизводства.ГруппаПродукции,
| ПартииПроизводства.ВидДеятельностиНДС,
| АналитикаПроизводства.Ссылка,
| АналитикаПроизводстваБезНазначения.КлючАналитики,
| ТаблицаТовары.СтатьяКалькуляции,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий,
| ТаблицаТовары.НомерГруппыЗатрат,
| ТаблицаТовары.ИдентификаторСтроки,
| ТаблицаТовары.ОбъектРасчетов.УникальныйИдентификатор
|";
КонецФункции
#КонецОбласти
#КонецОбласти
Функция ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияСерийТоваров";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ТаблицаСерии.Номенклатура КАК Номенклатура,
| ТаблицаСерии.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаСерии.Назначение.ДвиженияПоСкладскимРегистрам, ЛОЖЬ)
| ТОГДА ТаблицаСерии.Назначение
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| КОНЕЦ КАК Назначение,
| ТаблицаСерии.Серия КАК Серия,
| &Ссылка КАК Документ,
| &Партнер КАК Отправитель,
| &Партнер КАК Получатель,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПроизводствоПродукции) КАК СкладскаяОперация,
| ЛОЖЬ КАК ЭтоСкладскоеДвижение,
| ТаблицаСерии.Количество КАК Количество
|ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И ТаблицаСерии.Количество <> 0
| И ТаблицаСерии.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ТаблицаСерии.Номенклатура КАК Номенклатура,
| ТаблицаСерии.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаСерии.Назначение.ДвиженияПоСкладскимРегистрам, ЛОЖЬ)
| ТОГДА ТаблицаСерии.Назначение
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| КОНЕЦ КАК Назначение,
| ТаблицаСерии.Серия КАК Серия,
| &Ссылка КАК Документ,
| &Партнер КАК Отправитель,
| &Партнер КАК Получатель,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПроизводствоПродукции) КАК СкладскаяОперация,
| ЛОЖЬ КАК ЭтоСкладскоеДвижение,
| ТаблицаСерии.Количество КАК Количество
|ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И ТаблицаСерии.Количество <> 0
| И ТаблицаСерии.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ТаблицаСерии.Номенклатура КАК Номенклатура,
| ТаблицаСерии.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаСерии.Назначение.ДвиженияПоСкладскимРегистрам, ЛОЖЬ)
| ТОГДА ТаблицаСерии.Назначение
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| КОНЕЦ КАК Назначение,
| ТаблицаСерии.Серия КАК Серия,
| &Ссылка КАК Документ,
| &Партнер КАК Отправитель,
| &Партнер КАК Получатель,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ДвижениеВФинансовомУчете) КАК СкладскаяОперация,
| ЛОЖЬ КАК ЭтоСкладскоеДвижение,
| ТаблицаСерии.Количество КАК Количество
|ИЗ
| Документ.ОтчетПереработчика2_5.МатериалыИРаботы КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И ТаблицаСерии.Количество <> 0
| И ТаблицаСерии.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияНоменклатураНоменклатура(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияНоменклатураНоменклатура";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ВЫБОР
| КОГДА ВидыЗапасов.ВидЗапасов.РеализацияЗапасовДругойОрганизации
| ТОГДА ВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.ТипЗапасов
| ИНАЧЕ ВидыЗапасов.ВидЗапасов.ТипЗапасов
| КОНЕЦ КАК ТипЗапасов,
| ВЫБОР
| КОГДА ВидыЗапасов.ВидЗапасов.РеализацияЗапасовДругойОрганизации
| ТОГДА ВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца
| ИНАЧЕ ВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| ВЫБОР
| КОГДА НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ ВидыЗапасов.КорАналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| КОНЕЦ КАК КорНаправлениеДеятельности,
| ВЫБОР
| КОГДА ВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| И &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| КОГДА ВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.КорАналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.КорАналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения
| ИНАЧЕ ВидыЗапасов.КорАналитикаУчетаНоменклатуры.МестоХранения
| КОНЕЦ КАК КорСклад,
| ВидыЗапасов.ВидЗапасов.ТипЗапасов КАК КорТипЗапасов,
| ВидыЗапасов.ВидЗапасов КАК КорВидЗапасов,
|
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.Количество КАК КорКоличество,
|
| ВидыЗапасов.Стоимость КАК Стоимость,
| ВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ВидыЗапасов.ВидЗапасов
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ВидыЗапасов.ВидЗапасов
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура
| КОНЕЦ КАК КорИсточникГФУНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ДокументДвижения,
| НЕОПРЕДЕЛЕНО КАК КорОрганизация
|ИЗ
| ВтВидыЗапасов КАК ВидыЗапасов
|ГДЕ
| НЕ ВидыЗапасов.АналитикаУчетаНоменклатуры =
| ВидыЗапасов.КорАналитикаУчетаНоменклатуры
| И НЕ ВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "Закупки";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ТаблицаУслуги.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА &УчетЗатратПоНД
| ТОГДА &НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельностиНоменклатуры,
| &Подразделение КАК Склад,
| НЕОПРЕДЕЛЕНО КАК ТипЗапасов,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| ВЫБОР
| КОГДА &УчетРасчетовСПоставщикамиПоНД
| ТОГДА &НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
| НЕОПРЕДЕЛЕНО КАК Соглашение,
| &Договор КАК Договор,
| ВЫБОР
| КОГДА &ПоЗаказам
| ТОГДА ТаблицаУслуги.ЗаказПереработчику
| ИНАЧЕ &Ссылка
| КОНЕЦ КАК Заказ,
| НЕОПРЕДЕЛЕНО КАК ПодотчетноеЛицо,
|
| СУММА(ТаблицаУслуги.Количество) КАК Количество,
|
| СУММА(ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)) КАК Сумма,
| СУММА(ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)) КАК СуммаБезНДС,
| СУММА(ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) + ЕСТЬNULL(Суммы.СуммаНДСРегл, 0)) КАК СуммаРегл,
| СУММА(ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)) КАК СуммаРеглБезНДС,
| 0 КАК СуммаСкидки,
|
| СУММА(ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)) КАК Стоимость,
| СУММА(ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)) КАК СтоимостьБезНДС,
| СУММА(ВЫБОР
| КОГДА &ЗакупкаПодДеятельность В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0)
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ) КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &Валюта КАК ВалютаДокумента,
| СУММА(ТаблицаУслуги.СуммаСНДС) КАК СуммаВВалютеДокумента,
| СУММА(ТаблицаУслуги.СуммаСНДС - ТаблицаУслуги.СуммаНДС) КАК СуммаБезНДСВВалютеДокумента,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| СУММА(ТаблицаУслуги.СуммаВзаиморасчетов) КАК СуммаВВалютеВзаиморасчетов,
| СУММА(ТаблицаУслуги.СуммаВзаиморасчетов - ТаблицаУслуги.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаУслуги.Номенклатура КАК ИсточникГФУНоменклатуры,
| ТаблицаУслуги.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК ТаблицаУслуги
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = ТаблицаУслуги.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаУслуги.ИдентификаторСтроки
|
|ГДЕ
| ТаблицаУслуги.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ТаблицаУслуги.АналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА &УчетЗатратПоНД
| ТОГДА &НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ,
| ВЫБОР
| КОГДА &УчетРасчетовСПоставщикамиПоНД
| ТОГДА &НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ,
| ВЫБОР
| КОГДА &ПоЗаказам
| ТОГДА ТаблицаУслуги.ЗаказПереработчику
| ИНАЧЕ &Ссылка
| КОНЕЦ,
| ТаблицаУслуги.Номенклатура,
| ТаблицаУслуги.ОбъектРасчетов
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеРасходовНаПартииПроизводства) КАК ХозяйственнаяОперация,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| 0 КАК КОформлениюСписания,
| 0 КАК КОформлениюСписанияПоРНПТ
|ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовМатериалы КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| 0 КАК КОформлениюСписания,
| 0 КАК КОформлениюСписанияПоРНПТ
|ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовИзделия КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И НЕ ТаблицаТовары.СписатьНаРасходы
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры)
#Область КурсыВалютДокумента
ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";
ТекстЗапросаКурсыВалютДокумента =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетПереработчика2_5.ЭтапыГрафикаОплаты КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика2_5 КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетПереработчика2_5.РасшифровкаПлатежа КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика2_5 КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ОбъектыРасчетов.Ссылка КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетПереработчика2_5.РасшифровкаПлатежа КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика2_5 КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Объект = Таблица.Ссылка
| И ОбъектыРасчетов.Организация = Таблица.Ссылка.Организация
| И НЕ ОбъектыРасчетов.ПометкаУдаления
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика2_5 КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| (ВЫБОР
| КОГДА ДанныеДокументаШапка.ПоЗаказам
| ТОГДА ДанныеДокументаШапка.ЗаказПереработчику.ОбъектРасчетов
| КОГДА ДанныеДокументаШапка.ПорядокРасчетов = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоДоговорамНакладным)
| ТОГДА Таблица.ОбъектРасчетов.Договор.ОбъектРасчетов
| ИНАЧЕ Таблица.ОбъектРасчетов
| КОНЕЦ) КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика2_5 КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Таблица.Ссылка В (&Ссылка)";
ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента);
ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
#КонецОбласти
#Область Закупка
ТекстЗакупка =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
| НЕОПРЕДЕЛЕНО КАК ВариантОплаты,
| Таблица.Заказ КАК ЗаказЗакупки,
| Таблица.СуммаПлатежа КАК Сумма,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
|
| Таблица.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.Ссылка.ПоЗаказам КАК НакладнаяПоЗаказам,
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Таблица.Ссылка.ФормаОплаты КАК ФормаОплаты,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| НЕОПРЕДЕЛЕНО КАК СвязанныйДокумент
|ИЗ
| Документ.ОтчетПереработчика2_5.ЭтапыГрафикаОплаты КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|";
#КонецОбласти
#Область УвеличениеПланаОплаты
ТекстПланОплаты =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.Ссылка.ПоЗаказам КАК НакладнаяПоЗаказам,
| Таблица.СверхЗаказа КАК СверхЗаказа,
| Таблица.Заказ КАК ЗаказЗакупки,
| Таблица.СуммаВзаиморасчетов КАК КОплате,
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Таблица.Ссылка.ФормаОплаты КАК ФормаОплаты,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| НЕОПРЕДЕЛЕНО КАК ВариантОплаты,
| НЕОПРЕДЕЛЕНО КАК СвязанныйДокумент
|ИЗ
| Документ.ОтчетПереработчика2_5.ЭтапыГрафикаОплаты КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|";
#КонецОбласти
#Область ТекстТовары
ТекстТовары =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.Ссылка.ПоЗаказам КАК НакладнаяПоЗаказам,
| Таблица.КодСтроки = 0 КАК СверхЗаказа,
| Таблица.ЗаказПереработчику КАК ЗаказЗакупки,
| Таблица.СуммаВзаиморасчетов КАК УменьшитьКПоступлению,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Таблица.СуммаВзаиморасчетов КАК УвеличитьКПоступлению,
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|";
#КонецОбласти
#Область ЗачетАвансов
ТекстЗачетАванса =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
|
| ОбъектыРасчетов.Ссылка КАК ОбъектРасчетовПриемник,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетовИсточник,
|
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Сумма КАК Сумма,
|
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносАванса) КАК ХозяйственнаяОперация
|
|ИЗ
| Документ.ОтчетПереработчика2_5.РасшифровкаПлатежа КАК Таблица
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Объект = Таблица.Ссылка
| И ОбъектыРасчетов.Организация = Таблица.Ссылка.Организация
| И НЕ ОбъектыРасчетов.ПометкаУдаления
|
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.ОбъектРасчетов.Организация <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
|";
#КонецОбласти
ВзаиморасчетыСервер.ПроведениеЗакупки(
Запрос,
ТекстыЗапроса,
Регистры,
ТекстЗакупка,
ТекстПланОплаты,
ТекстЗачетАванса,
ТекстТовары);
КонецПроцедуры
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ТекстЗапросаДанных = "
|ВЫБРАТЬ
| ""Услуги"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка.Дата КАК Дата,
| ТаблицаДокумента.Ссылка.Организация КАК Организация,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.Ссылка.Дата КАК ПериодБазыНДС,
| ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаДокумента.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.Сумма <> 0
|";
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
КонецПроцедуры
Процедура ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ТабЧасть.Получатель КАК Склад,
| ТабЧасть.Назначение КАК Назначение,
| ТабЧасть.Количество КАК Количество,
| НЕ ТабЧасть.ЗаказПереработчику = ЗНАЧЕНИЕ(Документ.ЗаказПереработчику2_5.ПустаяСсылка)
| И НЕ ТабЧасть.КодСтроки = 0 КАК ПоГрафику,
| ТабЧасть.ЗаказПереработчику КАК РаспоряжениеВГрафике
|ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТабЧасть
|ГДЕ
| НЕ ТабЧасть.СписатьНаРасходы
| И ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
РаспределениеЗапасовДвижения.ПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть);
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ТабЧасть.Получатель КАК Склад,
| ТабЧасть.Назначение КАК Назначение,
| ТабЧасть.Количество КАК Количество,
| НЕ ТабЧасть.ЗаказПереработчику = ЗНАЧЕНИЕ(Документ.ЗаказПереработчику2_5.ПустаяСсылка)
| И НЕ ТабЧасть.КодСтроки = 0 КАК ПоГрафику,
| ТабЧасть.ЗаказПереработчику КАК РаспоряжениеВГрафике
|ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТабЧасть
|ГДЕ
| НЕ ТабЧасть.СписатьНаРасходы
| И ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
РаспределениеЗапасовДвижения.ПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть);
КонецПроцедуры
Функция ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "МатериалыИРаботыВПроизводстве";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| ТаблицаПродукции.ИдентификаторСтроки КАК ИдентификаторСтроки,
| &Организация КАК Организация,
| ТаблицаПродукции.Номенклатура КАК Номенклатура,
| ТаблицаПродукции.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ТаблицаПродукции.Назначение КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаПродукции.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТаблицаПродукции.Получатель
| КОНЕЦ КАК Подразделение,
| ТаблицаПродукции.Количество КАК Количество
|ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТаблицаПродукции
|ГДЕ
| ТаблицаПродукции.Ссылка = &Ссылка
| И ТаблицаПродукции.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаПродукции.СписатьНаРасходы
| И НЕ ТаблицаПродукции.Номенклатура.ПрослеживаемыйТовар
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| ТаблицаВозвратныхОтходов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| &Организация КАК Организация,
| ТаблицаВозвратныхОтходов.Номенклатура КАК Номенклатура,
| ТаблицаВозвратныхОтходов.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ТаблицаВозвратныхОтходов.Назначение КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаВозвратныхОтходов.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТаблицаВозвратныхОтходов.Получатель
| КОНЕЦ КАК Подразделение,
| ТаблицаВозвратныхОтходов.Количество КАК Количество
|ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТаблицаВозвратныхОтходов
|ГДЕ
| ТаблицаВозвратныхОтходов.Ссылка = &Ссылка
| И ТаблицаВозвратныхОтходов.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаВозвратныхОтходов.СписатьНаРасходы
| И НЕ ТаблицаВозвратныхОтходов.Номенклатура.ПрослеживаемыйТовар
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| ТабличнаяЧасть.ИдентификаторСтроки КАК ИдентификаторСтроки,
| &Организация КАК Организация,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ТабличнаяЧасть.Назначение
| КОНЕЦ КАК Назначение,
| &Подразделение КАК Подразделение,
| ТабличнаяЧасть.Количество КАК Количество
|ИЗ
| Документ.ОтчетПереработчика2_5.МатериалыИРаботы КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И ТабличнаяЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТабличнаяЧасть.Номенклатура.ПрослеживаемыйТовар
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Ответственный,
| &Автор КАК Автор,
| &Комментарий КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &ИнформацияПоДоговору КАК Дополнительно,
| &НаименованиеВходящегоДокумента КАК НаименованиеПервичногоДокумента,
| &ДатаВходящегоДокумента КАК ДатаПервичногоДокумента,
| &НомерВходящегоДокумента КАК НомерПервичногоДокумента,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВыпускПродукции(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ВыпускПродукции";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры
| ИНАЧЕ АналитикаБезНазначения.КлючАналитики
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяРасходов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.АналитикаРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаРасходов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.АналитикаАктивовПассивов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаАктивовПассивов
|ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовИзделия КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И НЕ Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры
| ИНАЧЕ АналитикаБезНазначения.КлючАналитики
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ТаблицаТовары.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяРасходов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.АналитикаРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаРасходов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.АналитикаАктивовПассивов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаАктивовПассивов
|ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры
| ИНАЧЕ АналитикаБезНазначения.КлючАналитики
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ТаблицаТовары.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяРасходов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.АналитикаРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаРасходов,
| ВЫБОР
| КОГДА ТаблицаТовары.СписатьНаРасходы
| ТОГДА ТаблицаТовары.АналитикаАктивовПассивов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаАктивовПассивов
|ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#Область ОтражениеНДС
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры)
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПроизводства", ТекстыЗапроса) Тогда
ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
Если ПроведениеДокументов.ТребуетсяТаблицаДляДвижений("ТоварыКОформлениюДокументовИмпорта", Регистры) Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаспределенныеВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаспределенныеВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапросаВтТоварыЗаявленияОВвозе(Запрос, ТекстыЗапроса);
ТекстТовары =
"ВЫБРАТЬ
| ТоварыЗаявления.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ТоварыЗаявления.Период КАК Период,
| ТоварыЗаявления.Организация КАК Организация,
| ТоварыЗаявления.Поставщик КАК Поставщик,
| ТоварыЗаявления.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыЗаявления.ВидЗапасов КАК ВидЗапасов,
| ТоварыЗаявления.ДокументПриобретения КАК ДокументПриобретения,
| ТоварыЗаявления.ТипДокументаИмпорта КАК ТипДокументаИмпорта,
| ТоварыЗаявления.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| ТоварыЗаявления.Сумма КАК Сумма,
| ТоварыЗаявления.НомерГТД КАК НомерГТД,
| ТоварыЗаявления.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтТоварыЗаявления КАК ТоварыЗаявления";
УчетИмпорта.ОтразитьВвозТоваровИзТаможенногоСоюзаНоваяМеханика(Запрос, ТекстыЗапроса, Регистры, ТекстТовары);
КонецЕсли;
ТекстЦенности =
"ВЫБРАТЬ
| Услуги.Ссылка.Дата КАК Период,
| Услуги.Ссылка КАК Ссылка,
| Услуги.Ссылка.Организация КАК Организация,
| Услуги.Ссылка.Подразделение КАК Подразделение,
| Услуги.Ссылка.Подразделение КАК ПодразделениеУчета,
| Услуги.Ссылка.Контрагент КАК Контрагент,
| Услуги.Ссылка.Договор КАК Договор,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Грузоотправитель,
| Услуги.Ссылка КАК ДокументПриобретения,
| Услуги.Ссылка КАК ИсходныйТорговыйДокумент,
| ЛОЖЬ КАК ИсправлениеОшибок,
| ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК УменьшитьСуммуНДСКВычету,
| НЕОПРЕДЕЛЕНО КАК ДокументКорректировкиПриобретения,
| Услуги.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| ВтПартииПроизводства.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| Услуги.СтавкаНДС КАК СтавкаНДС,
| Услуги.Номенклатура КАК Номенклатура,
| ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ВтПартииПроизводства.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ИСТИНА КАК ПриобретениеНаПартиюПроизводства,
| ВтПартииПроизводства.НаправлениеДеятельности КАК НаправлениеДеятельностиПартииПроизводства,
| НЕОПРЕДЕЛЕНО КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК СтатьяПрочихАктивов,
| НЕОПРЕДЕЛЕНО КАК АналитикаПрочихАктивов,
| ВтПартииПроизводства.Назначение КАК Назначение,
| Услуги.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Услуги.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| Услуги.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК Услуги
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = Услуги.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Услуги""
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ВтПартииПроизводства
| ПО Услуги.Ссылка = ВтПартииПроизводства.ПартияВыпуска
| И Услуги.НомерГруппыЗатрат = ВтПартииПроизводства.НомерГруппыЗатрат
|
|ГДЕ
| Услуги.Ссылка В (&Ссылка)
|";
УчетНДСУП.ОтразитьПриобретениеУПоставщика(Запрос, ТекстыЗапроса, Регистры, ТекстЦенности);
КонецПроцедуры
#КонецОбласти
Функция ТекстЗапросаТаблицаЗаказыПоставщикам(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ЗаказыПоставщикам";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ТабличнаяЧасть.ЗаказПереработчику КАК ЗаказПоставщику,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| ТабличнаяЧасть.Количество КАК Заказано,
| ТабличнаяЧасть.Количество КАК КОформлению,
| 0 КАК Сумма
|ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПоЗаказам
| И ТабличнаяЧасть.КодСтроки <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТабличнаяЧасть.ЗаказПереработчику КАК ЗаказПоставщику,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| 0 КАК Заказано,
| ТабличнаяЧасть.Количество КАК КОформлению,
| 0 КАК Сумма
|ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПоЗаказам
| И ТабличнаяЧасть.КодСтроки = 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ТабличнаяЧасть.ЗаказПереработчику КАК ЗаказПоставщику,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| 0 КАК Заказано,
| ТабличнаяЧасть.Количество КАК КОформлению,
| 0 КАК Сумма
|ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПоЗаказам
| И ТабличнаяЧасть.КодСтроки = 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ТабличнаяЧасть.ЗаказПереработчику КАК ЗаказПоставщику,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| ТабличнаяЧасть.Количество КАК Заказано,
| ТабличнаяЧасть.Количество КАК КОформлению,
| 0 КАК Сумма
|ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПоЗаказам
| И ТабличнаяЧасть.КодСтроки <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТабличнаяЧасть.ЗаказПереработчику КАК ЗаказПоставщику,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| 0 КАК Заказано,
| ТабличнаяЧасть.Количество КАК КОформлению,
| 0 КАК Сумма
|ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПоЗаказам
| И ТабличнаяЧасть.КодСтроки = 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ТабличнаяЧасть.ЗаказПереработчику КАК ЗаказПоставщику,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| 0 КАК Заказано,
| ТабличнаяЧасть.Количество КАК КОформлению,
| 0 КАК Сумма
|ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПоЗаказам
| И ТабличнаяЧасть.КодСтроки = 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ТабличнаяЧасть.ЗаказПереработчику КАК ЗаказПоставщику,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| 0 КАК Заказано,
| ТабличнаяЧасть.Количество КАК КОформлению,
| ТабличнаяЧасть.Сумма КАК Сумма
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПоЗаказам
| И ТабличнаяЧасть.КодСтроки <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТабличнаяЧасть.ЗаказПереработчику КАК ЗаказПоставщику,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| 0 КАК Заказано,
| ТабличнаяЧасть.Количество КАК КОформлению,
| ТабличнаяЧасть.Сумма КАК Сумма
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПоЗаказам
| И ТабличнаяЧасть.КодСтроки = 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ТабличнаяЧасть.ЗаказПереработчику КАК ЗаказПоставщику,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| 0 КАК Заказано,
| ТабличнаяЧасть.Количество КАК КОформлению,
| ТабличнаяЧасть.Сумма КАК Сумма
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПоЗаказам
| И ТабличнаяЧасть.КодСтроки = 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ТабличнаяЧасть.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТабличнаяЧасть.Получатель = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ТабличнаяЧасть.Получатель
| КОНЕЦ КАК Подразделение,
| ТабличнаяЧасть.СтатьяРасходов КАК Статья,
| ВЫБОР
| КОГДА ТабличнаяЧасть.АналитикаАктивовПассивов = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТабличнаяЧасть.АналитикаАктивовПассивов
| КОНЕЦ КАК Аналитика,
| ВЫРАЗИТЬ(ТабличнаяЧасть.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Сумма
|ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТабличнаяЧасть
|
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И ТабличнаяЧасть.СписатьНаРасходы
| И ТИПЗНАЧЕНИЯ(ТабличнаяЧасть.СтатьяРасходов) = ТИП(ПланВидовХарактеристик.СтатьиАктивовПассивов)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаДвиженияНоменклатураДоходыРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияНоменклатураДоходыРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА ВтВидыЗапасов.СтатьяРасходов.ВариантРаспределенияРасходовРегл =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ВЫБОР
| КОГДА ВтВидыЗапасов.СтатьяРасходов.ВидЦенностиНДС В
| (ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОС),
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОбъектыНезавершенногоСтроительства))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаВСоставОС)
| КОГДА ВтВидыЗапасов.СтатьяРасходов.ВидЦенностиНДС = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НМА)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаВСоставНМА)
| КОНЕЦ
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеТоваровПоТребованию)
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ВтВидыЗапасов.Подразделение КАК Подразделение,
| ВтВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА КлючиНоменклатурыПолучатель.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА &Подразделение
| ИНАЧЕ &Партнер
| КОНЕЦ КАК Склад,
| ВтВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВтВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВтВидыЗапасов.СтатьяРасходов КАК СтатьяДоходовРасходов,
| ВтВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВтВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ВтВидыЗапасов.Количество КАК Количество,
| ВтВидыЗапасов.Стоимость КАК Стоимость,
| ВтВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ВтВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ВтВидыЗапасов.ВидЗапасов
| ИНАЧЕ КлючиНоменклатурыПолучатель.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры
|ИЗ
| ВтВидыЗапасов КАК ВтВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК КлючиНоменклатурыПолучатель
| ПО ВтВидыЗапасов.АналитикаУчетаНоменклатуры = КлючиНоменклатурыПолучатель.Ссылка
|
|ГДЕ
| ВтВидыЗапасов.СписатьНаРасходы";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаЦеныНоменклатурыПоставщиков(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ЦеныНоменклатурыПоставщиков";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВременнаяТаблицаКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| Услуги.Номенклатура КАК Номенклатура,
| Услуги.Характеристика КАК Характеристика,
| Услуги.ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| Услуги.ВидЦеныПоставщика.Валюта КАК Валюта,
| &Партнер КАК Партнер,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| ВЫРАЗИТЬ(
| СРЕДНЕЕ(
| Услуги.Цена
| * ВЫБОР
| КОГДА
| &Валюта <> Услуги.ВидЦеныПоставщика.Валюта
| ТОГДА
| ВЫБОР
| КОГДА ЕСТЬNULL(КурсыВалютыЦены.КурсЗнаменатель, 0) > 0
| И ЕСТЬNULL(КурсыВалютыЦены.КурсЧислитель, 0) > 0
| И ЕСТЬNULL(КурсыВалюты.КурсЗнаменатель, 0) > 0
| И ЕСТЬNULL(КурсыВалюты.КурсЧислитель, 0) > 0
| ТОГДА
| (КурсыВалюты.КурсЧислитель * КурсыВалютыЦены.КурсЗнаменатель)
| / (КурсыВалютыЦены.КурсЧислитель * КурсыВалюты.КурсЗнаменатель)
| ИНАЧЕ
| 0
| КОНЕЦ
| ИНАЧЕ
| 1
| КОНЕЦ
| ) КАК ЧИСЛО(31,2)) КАК Цена
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК Услуги
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаКурсыВалют КАК КурсыВалюты
| ПО КурсыВалюты.Валюта = &Валюта
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаКурсыВалют КАК КурсыВалютыЦены
| ПО КурсыВалютыЦены.Валюта = Услуги.ВидЦеныПоставщика.Валюта
|
|ГДЕ
| Услуги.Ссылка = &Ссылка
| И НЕ Услуги.ВидЦеныПоставщика = ЗНАЧЕНИЕ(Справочник.ВидыЦенПоставщиков.ПустаяСсылка)
| И Услуги.Ссылка.РегистрироватьЦеныПоставщика
|
|СГРУППИРОВАТЬ ПО
| Услуги.Номенклатура,
| Услуги.Характеристика,
| Услуги.ВидЦеныПоставщика
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДатыПоступленияТоваровОрганизаций";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Период КАК ДатаПоступления,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД
|ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовИзделия КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДатыПоступленияТоваровОрганизаций КАК ПоступленияТоваров
| ПО ТаблицаТовары.ВидЗапасов = ПоступленияТоваров.ВидЗапасов
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура = ПоступленияТоваров.Номенклатура
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика = ПоступленияТоваров.Характеристика
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия = ПоступленияТоваров.Серия
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение = ПоступленияТоваров.Назначение
| И ТаблицаТовары.НомерГТД = ПоступленияТоваров.НомерГТД
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И НЕ ТаблицаТовары.СписатьНаРасходы
| И (ПоступленияТоваров.ДатаПоступления ЕСТЬ NULL
| ИЛИ ПоступленияТоваров.ДатаПоступления < НАЧАЛОПЕРИОДА(&Период, ДЕНЬ))
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуЗаказа");
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуУпр");
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуРегл");
Если Запрос <> Неопределено Тогда
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВтВидыЗапасов");
Если Запрос <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область СписаниеНаДругиеПартии_ТоварРабота
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ТаблицаВидыЗапасов.ПартияПроизводства КАК КорПартия,
| ТаблицаВидыЗапасов.КорАналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика2_5 КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеРасходовНаПартииПроизводства)
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаДругиеПартии,
ТекстЗапроса);
#КонецОбласти
#Область СписаниеНаДругиеПартии_ВыпускПоПлановойСтоимости
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ТаблицаДокумента.Ссылка КАК КорПартия,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.Стоимость КАК Стоимость,
| ТаблицаВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
|
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ВыпускПродукции) КАК РазделУчета,
|
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Дополнение) КАК ТипЗаписи,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаПродукцииИзПроизводства) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПередачаПродукцииИзПроизводства) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика2_5 КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &УчетГотовойПродукцииПоПлановойСтоимости
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаДругиеПартии,
ТекстЗапроса);
#КонецОбласти
#Область СписаниеНаРасходыАктивы_Продукция
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| ТаблицаВидыЗапасов.СтатьяРасходов КАК СтатьяРасходовАктивов,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиРасходов
| ТОГДА ТаблицаВидыЗапасов.АналитикаРасходов
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаАктивовПассивов
| КОНЕЦ КАК АналитикаРасходовАктивов,
| ВЫБОР КОГДА &УчетЗатратПоНД
| ТОГДА &НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорНаправлениеДеятельности,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| (ВЫБОР
| КОГДА ВЫРАЗИТЬ(ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК Справочник.КлючиАналитикиУчетаНоменклатуры).Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ТаблицаВидыЗапасов.Подразделение
| ИНАЧЕ ТаблицаДокумента.Подразделение КОНЕЦ) КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.Стоимость КАК Стоимость,
| ТаблицаВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
|
| ВЫБОР КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.ПартияВыпуска
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Партия,
| ВЫБОР КОГДА &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаУчетаПартий,
| ВЫБОР КОГДА &УчетГотовойПродукцииПоПлановойСтоимости
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ВыпускПродукции)
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК РазделУчета,
|
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Дополнение) КАК ТипЗаписи,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеНаРасходыФиксированнаяСтоимость)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеТоваровПоТребованию)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СписаниеТоваровПоТребованию) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетПереработчика2_5 КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость))
| И ТаблицаВидыЗапасов.СписатьНаРасходы
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаРасходыАктивы,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Работы
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ПартияПроизводства КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.Стоимость КАК Стоимость,
| ТаблицаВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДС
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.НДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика2_5 КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнутреннееПоступление_Продукция
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ПартияВыпуска КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| 0 КАК КодСтроки,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорГруппаПродукции,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА ТаблицаВидыЗапасов.Стоимость
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА ТаблицаВидыЗапасов.СтоимостьБезНДС
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА ТаблицаВидыЗапасов.СтоимостьРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ИЛИ НЕ ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДС
| КОНЕЦ КАК НДСРегл,
| ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА ТаблицаВидыЗапасов.СтоимостьУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ИЛИ НЕ ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.НДСУпр
| КОНЕЦ КАК НДСУпр,
| ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.Стоимость
| КОНЕЦ КАК СтоимостьЗабалансовая,
| ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СтоимостьРегл
| КОНЕЦ КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СписатьНаРасходы
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Дополнение)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Партия)
| КОНЕЦ) КАК ТипЗаписи,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР КОГДА &УчетГотовойПродукцииПоПлановойСтоимости
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаПродукцииИзПроизводства)
| ИНАЧЕ ТаблицаВидыЗапасов.ХозяйственнаяОперация
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ВЫБОР КОГДА &УчетГотовойПродукцииПоПлановойСтоимости
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПередачаПродукцииИзПроизводства)
| ИНАЧЕ ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика2_5 КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ Перечисление.ТипыЗапасов КАК ТипыЗапасовВнешние
| ПО ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ТипыЗапасовВнешние.Ссылка
| И НЕ ТипыЗапасовВнешние.Ссылка В (&ТипыЗапасовСобственные)
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость))
| И НЕ (&УчетГотовойПродукцииПоПлановойСтоимости
| И ТаблицаВидыЗапасов.СписатьНаРасходы
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции))";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнутреннееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнутреннееПоступление_ПродукцияПоПлановойСтоимости
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| 0 КАК КодСтроки,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорГруппаПродукции,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.Стоимость КАК Стоимость,
| ТаблицаВидыЗапасов.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| 0 КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ВыпускПродукции) КАК РазделУчета,
|
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Дополнение) КАК ТипЗаписи,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика2_5 КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
| И &УчетГотовойПродукцииПоПлановойСтоимости
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнутреннееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_УменьшениеНЗПНаФиксСтоимостьВыпуска
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.КорАналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ПартияПроизводства КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| -ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА ТаблицаВидыЗапасов.Стоимость
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| -ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА ТаблицаВидыЗапасов.СтоимостьБезНДС
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| -ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА ТаблицаВидыЗапасов.СтоимостьРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ИЛИ НЕ ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ -ТаблицаВидыЗапасов.СуммаНДС
| КОНЕЦ КАК НДСРегл,
| -ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА ТаблицаВидыЗапасов.СтоимостьУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ТаблицаДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ИЛИ НЕ ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ -ТаблицаВидыЗапасов.НДСУпр
| КОНЕЦ КАК НДСУпр,
| ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.Стоимость
| КОНЕЦ КАК СтоимостьЗабалансовая,
| ВЫБОР
| КОГДА ТипыЗапасовВнешние.Ссылка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СтоимостьРегл
| КОНЕЦ КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетПереработчика2_5 КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ Перечисление.ТипыЗапасов КАК ТипыЗапасовВнешние
| ПО ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ТипыЗапасовВнешние.Ссылка
| И НЕ ТипыЗапасовВнешние.Ссылка В (&ТипыЗапасовСобственные)
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукцииФиксированнаяСтоимость)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецОбласти
#Область Заполнение
Функция ТекстЗапросаТоварыСверхЗаказаКОформлению(ИмяВременнойТаблицы = "", ОтборПоИзмерениям = Неопределено) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| ВложенныйЗапрос.ЗаказПоставщику КАК ЗаказПоставщику,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.Характеристика КАК Характеристика,
| ВложенныйЗапрос.КодСтроки КАК КодСтроки,
| СУММА(ВложенныйЗапрос.КОформлению) КАК КОформлению
|ИЗ
| (ВЫБРАТЬ
| Таблица.ЗаказПоставщику КАК ЗаказПоставщику,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Склад КАК Склад,
| Таблица.КодСтроки КАК КодСтроки,
| Таблица.КПоступлениюПриход - Таблица.КОформлениюРасход КАК КОформлению
| ИЗ
| РегистрНакопления.ЗаказыПоставщикам.Обороты(,,, КодСтроки = 0 И &ОтборПоИзмерениям) КАК Таблица
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Таблица.ЗаказПоставщику КАК ЗаказПоставщику,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Склад КАК Склад,
| Таблица.КодСтроки КАК КодСтроки,
| Таблица.КОформлению КАК КОформлению
| ИЗ
| РегистрНакопления.ЗаказыПоставщикам КАК Таблица
| ГДЕ
| Таблица.Активность
| И Таблица.Регистратор В (&Регистратор)
| И Таблица.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| И Таблица.КодСтроки = 0
| И &ОтборПоИзмерениям
| ) КАК ВложенныйЗапрос
|
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.ЗаказПоставщику,
| ВложенныйЗапрос.Номенклатура,
| ВложенныйЗапрос.Характеристика,
| ВложенныйЗапрос.КодСтроки
|
|ИМЕЮЩИЕ
| СУММА(ВложенныйЗапрос.КОформлению) > 0
|";
Если Не ПустаяСтрока(ИмяВременнойТаблицы) Тогда
ТекстЗапроса = СхемыЗапросов.УстановитьПомещениеВоВременнуюТаблицу(ТекстЗапроса, ИмяВременнойТаблицы);
КонецЕсли;
ТекстОтбора = ОбщегоНазначенияУТ.ТекстОтбораПоКоллекцииОтборов(ОтборПоИзмерениям);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОтборПоИзмерениям", ТекстОтбора);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТоварыБезЗаказаКОформлению(Отборы = Неопределено) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| ВидыЗапасов.Ссылка КАК ВидЗапасов
|ПОМЕСТИТЬ ВидыЗапасов
|ИЗ
| Справочник.ВидыЗапасов КАК ВидыЗапасов
|ГДЕ
| ВидыЗапасов.Организация = &Организация
| И ВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияПереработчика),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца))
|
|ИНДЕКСИРОВАТЬ ПО
| ВидЗапасов
|;
|
|
|ВЫБРАТЬ
| ОстаткиТоваров.Номенклатура КАК Номенклатура,
| ОстаткиТоваров.Характеристика КАК Характеристика,
| ОстаткиТоваров.Назначение КАК Назначение,
| ОстаткиТоваров.Серия КАК Серия,
| СУММА(ОстаткиТоваров.Количество) КАК Количество,
| СУММА(ОстаткиТоваров.Количество) КАК КоличествоУпаковок
|ИЗ
| (ВЫБРАТЬ
| ОстаткиТоваров.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ОстаткиТоваров.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ОстаткиТоваров.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ОстаткиТоваров.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| -ОстаткиТоваров.КоличествоОстаток КАК Количество
| ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки(,
| ВидЗапасов В
| (ВЫБРАТЬ
| ВидЗапасов
| ИЗ
| ВидыЗапасов)
| ) КАК ОстаткиТоваров
| ГДЕ
| ОстаткиТоваров.КоличествоОстаток < 0
| И (ЕСТЬNULL(ОстаткиТоваров.АналитикаУчетаНоменклатуры.Договор.ТипДоговора, ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.ПустаяСсылка)) =
| ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.СПереработчиком2_5)
| ИЛИ ЕСТЬNULL(ОстаткиТоваров.АналитикаУчетаНоменклатуры.Договор.ТипДоговора, ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.ПустаяСсылка)) =
| ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.СПереработчиком2_5_ЕАЭС))
| И &ОтборРезервыТоваров
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ОборотыПоЗаказам.Номенклатура КАК Номенклатура,
| ОборотыПоЗаказам.Характеристика КАК Характеристика,
| ТоварыПоступления.Назначение КАК Назначение,
| ТоварыПоступления.Серия КАК Серия,
| -ТоварыПоступления.Количество КАК Количество
| ИЗ
| РегистрНакопления.ЗаказыПоставщикам.Обороты(,,
| Авто,
| &ОтборЗаказыПоставщикам
| И ТИПЗНАЧЕНИЯ(ЗаказПоставщику) = ТИП(Документ.ЗаказПереработчику2_5)) КАК ОборотыПоЗаказам
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровОтХранителя.Товары КАК ТоварыПоступления
| ПО ТоварыПоступления.Распоряжение = ОборотыПоЗаказам.ЗаказПоставщику
| И ТоварыПоступления.КодСтроки = ОборотыПоЗаказам.КодСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеестрДокументов КАК РеестрДокументов
| ПО РеестрДокументов.Ссылка = ОборотыПоЗаказам.ЗаказПоставщику
| И НЕ РеестрДокументов.ДополнительнаяЗапись
|
| ГДЕ
| РеестрДокументов.Организация = &Организация
| И РеестрДокументов.Партнер = &Партнер
| И РеестрДокументов.Договор = &Договор
| ) КАК ОстаткиТоваров
|
|СГРУППИРОВАТЬ ПО
| ОстаткиТоваров.Номенклатура,
| ОстаткиТоваров.Характеристика,
| ОстаткиТоваров.Назначение,
| ОстаткиТоваров.Серия
|
|ИМЕЮЩИЕ
| СУММА(ОстаткиТоваров.Количество) > 0
|";
ОтборРезервыТоваров = "ИСТИНА";
ОтборЗаказыПоставщикам = "ИСТИНА";
Если ЗначениеЗаполнено(Отборы) Тогда
Для Каждого КлючЗначение Из Отборы Цикл
ТекстОтбора = "";
Для Каждого Отбор Из КлючЗначение.Значение Цикл
ЛевоеЗначение = Отбор.Ключ;
ВидСравненияЗапроса = Отбор.Значение.ВидСравнения;
ПравоеЗначение = Отбор.Значение.ПравоеЗначение;
ТекстОтбора =
ТекстОтбора
+ " И (" + ЛевоеЗначение + ") " + ВидСравненияЗапроса + " (" + ПравоеЗначение + ")";
КонецЦикла;
Если КлючЗначение.Ключ = "ОтборРезервыТоваров" Тогда
ОтборРезервыТоваров = ОтборРезервыТоваров + ТекстОтбора;
Иначе
ОтборЗаказыПоставщикам = ОтборЗаказыПоставщикам + ТекстОтбора
КонецЕсли;
КонецЦикла;
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОтборРезервыТоваров", ОтборРезервыТоваров);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОтборЗаказыПоставщикам", ОтборЗаказыПоставщикам);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаНормативыИзделийПоЗаказу()
ТекстЗапроса =
"ВЫБРАТЬ
| Нормативы.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| МАКСИМУМ(Нормативы.Коэффициент) КАК Коэффициент
|ПОМЕСТИТЬ Нормативы
|ИЗ
| (ВЫБРАТЬ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| СУММА(ТоварыКОформлению.КОформлению)
| / СУММА(ТабличнаяЧасть.Количество) КАК Коэффициент
| ИЗ
| ВыходныеИзделия КАК ТабличнаяЧасть
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТоварыКОформлениюПоЗаказу КАК ТоварыКОформлению
| ПО ТабличнаяЧасть.КодСтроки = ТоварыКОформлению.КодСтроки
|
| ГДЕ
| ТабличнаяЧасть.ЭтоВыпускающийЭтап
|
| СГРУППИРОВАТЬ ПО
| ТабличнаяЧасть.НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура,
| ТабличнаяЧасть.Характеристика
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| СУММА(ТоварыКОформлению.КОформлению)
| / СУММА(ТабличнаяЧасть.Количество) КАК Количество
| ИЗ
| ПобочныеИзделия КАК ТабличнаяЧасть
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТоварыКОформлениюПоЗаказу КАК ТоварыКОформлению
| ПО ТабличнаяЧасть.КодСтроки = ТоварыКОформлению.КодСтроки
|
| ГДЕ
| НЕ ТабличнаяЧасть.ЭтоВыпускающийЭтап
|
| СГРУППИРОВАТЬ ПО
| ТабличнаяЧасть.НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура,
| ТабличнаяЧасть.Характеристика
| ) КАК Нормативы
|
|СГРУППИРОВАТЬ ПО
| Нормативы.НомерГруппыЗатрат
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГруппыЗатрат
|";
Возврат ТекстЗапроса;
КонецФункции
Процедура ДобавитьТекстыЗапросаНормативыИзделийПоОтчету(ТекстыЗапроса)
ТекстыЗапроса.Добавить(
"ВЫБРАТЬ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| ТабличнаяЧасть.Количество КАК Количество
|ПОМЕСТИТЬ ВыходныеИзделияОтчета
|ИЗ
| &ВыходныеИзделияОтчета КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.НомерГруппыЗатрат В (&НомераГруппЗатрат)
|
|ИНДЕКСИРОВАТЬ ПО
| КодСтроки
|");
ТекстыЗапроса.Добавить(
"ВЫБРАТЬ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| ТабличнаяЧасть.Количество КАК Количество
|ПОМЕСТИТЬ ПобочныеИзделияОтчета
|ИЗ
| &ПобочныеИзделияОтчета КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.НомерГруппыЗатрат В (&НомераГруппЗатрат)
|
|ИНДЕКСИРОВАТЬ ПО
| КодСтроки
|");
ТекстыЗапроса.Добавить(
"ВЫБРАТЬ
| Нормативы.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| МАКСИМУМ(Нормативы.Коэффициент) КАК Коэффициент
|ПОМЕСТИТЬ Нормативы
|ИЗ
| (ВЫБРАТЬ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| СУММА(ТабличнаяЧасть.Количество)
| / СУММА(ТоварыКОформлению.Количество) КАК Коэффициент
| ИЗ
| ВыходныеИзделияОтчета КАК ТабличнаяЧасть
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыходныеИзделия КАК ТоварыКОформлению
| ПО ТабличнаяЧасть.КодСтроки = ТоварыКОформлению.КодСтроки
|
| СГРУППИРОВАТЬ ПО
| ТабличнаяЧасть.НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура,
| ТабличнаяЧасть.Характеристика
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| СУММА(ТабличнаяЧасть.Количество)
| / СУММА(ТоварыКОформлению.Количество) КАК Коэффициент
| ИЗ
| ПобочныеИзделияОтчета КАК ТабличнаяЧасть
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПобочныеИзделия КАК ТоварыКОформлению
| ПО ТабличнаяЧасть.КодСтроки = ТоварыКОформлению.КодСтроки
|
| СГРУППИРОВАТЬ ПО
| ТабличнаяЧасть.НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура,
| ТабличнаяЧасть.Характеристика
| ) КАК Нормативы
|
|СГРУППИРОВАТЬ ПО
| Нормативы.НомерГруппыЗатрат
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГруппыЗатрат
|");
КонецПроцедуры
Процедура ДобавитьТекстыЗапросаСерииПоступленийПоЗаказу(ТекстыЗапроса, ВыходныеИзделия, ПобочныеИзделия)
ТекстыЗапросаИзделияЗаказа = Новый Массив;
ТекстыЗапросаИзделияЗаказа.Добавить(
"ВЫБРАТЬ
| 0 КАК КодСтроки
|");
Если ВыходныеИзделия Тогда
ТекстыЗапросаИзделияЗаказа.Добавить(
"ВЫБРАТЬ
| ТабличнаяЧасть.КодСтроки КАК КодСтроки
|ИЗ
| ВыходныеИзделия КАК ТабличнаяЧасть
|");
КонецЕсли;
Если ПобочныеИзделия Тогда
ТекстыЗапросаИзделияЗаказа.Добавить(
"ВЫБРАТЬ
| ТабличнаяЧасть.КодСтроки КАК КодСтроки
|ИЗ
| ПобочныеИзделия КАК ТабличнаяЧасть
|");
КонецЕсли;
ТекстЗапроса = СтрСоединить(ТекстыЗапросаИзделияЗаказа, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстЗапроса = СхемыЗапросов.УстановитьПомещениеВоВременнуюТаблицу(ТекстЗапроса, "ИзделияЗаказа");
ТекстЗапроса = СхемыЗапросов.УстановитьИндексациюПолейЗапроса(ТекстЗапроса, "КодСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса);
ТекстыЗапроса.Добавить(
"ВЫБРАТЬ
| КлючиАналитики.КлючАналитики КАК АналитикаУчетаНоменклатуры
|ПОМЕСТИТЬ ИзделияПоступленийПоЗаказу
|ИЗ
| ИзделияЗаказа КАК ИзделияЗаказа
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровОтХранителя.Товары КАК ПоступленияТоваровОтХранителя
| ПО ПоступленияТоваровОтХранителя.Распоряжение = &ЗаказПереработчику
| И ПоступленияТоваровОтХранителя.КодСтроки = ИзделияЗаказа.КодСтроки
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиАналитики
| ПО КлючиАналитики.Номенклатура = ПоступленияТоваровОтХранителя.Номенклатура
| И КлючиАналитики.Характеристика = ПоступленияТоваровОтХранителя.Характеристика
| И КлючиАналитики.Назначение = ПоступленияТоваровОтХранителя.Назначение
| И КлючиАналитики.Серия = ПоступленияТоваровОтХранителя.Серия
| И КлючиАналитики.МестоХранения = ПоступленияТоваровОтХранителя.Ссылка.Договор
| И КлючиАналитики.СтатьяКалькуляции = ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка)
|
|ГДЕ
| НЕ КлючиАналитики.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
|
|СГРУППИРОВАТЬ ПО
| КлючиАналитики.КлючАналитики
|
|ИНДЕКСИРОВАТЬ ПО
| АналитикаУчетаНоменклатуры
|");
ТекстыЗапроса.Добавить(
"ВЫБРАТЬ
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыОрганизацийОстатки.Номенклатура КАК Номенклатура,
| ТоварыОрганизацийОстатки.Характеристика КАК Характеристика,
| ТоварыОрганизацийОстатки.Назначение КАК Назначение,
| ТоварыОрганизацийОстатки.Серия КАК Серия,
| ЛОЖЬ КАК СписатьНаРасходы,
| -СУММА(ТоварыОрганизацийОстатки.Количество) КАК Количество
|ИЗ
| (ВЫБРАТЬ
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ЛОЖЬ КАК СписатьНаРасходы,
| ТоварыОрганизацийОстатки.КоличествоОстаток КАК Количество
| ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки(,
| (Организация, АналитикаУчетаНоменклатуры) В
| (ВЫБРАТЬ
| &Организация КАК Организация,
| ИзделияПоступленийПоЗаказу.АналитикаУчетаНоменклатуры
| ИЗ
| ИзделияПоступленийПоЗаказу КАК ИзделияПоступленийПоЗаказу)) КАК ТоварыОрганизацийОстатки
| ГДЕ
| ТоварыОрганизацийОстатки.КоличествоОстаток < 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ЛОЖЬ КАК СписатьНаРасходы,
| ТоварыОрганизацийОстатки.Количество КАК Количество
| ИЗ
| РегистрНакопления.ТоварыОрганизаций КАК ТоварыОрганизацийОстатки
| ГДЕ
| ТоварыОрганизацийОстатки.Регистратор = &Регистратор
| И ТоварыОрганизацийОстатки.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| И (ТоварыОрганизацийОстатки.Организация, ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры) В
| (ВЫБРАТЬ
| &Организация,
| ИзделияПоступленийПоЗаказу.АналитикаУчетаНоменклатуры
| ИЗ
| ИзделияПоступленийПоЗаказу КАК ИзделияПоступленийПоЗаказу)
| ) КАК ТоварыОрганизацийОстатки
|
|СГРУППИРОВАТЬ ПО
| ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры,
| ТоварыОрганизацийОстатки.Номенклатура,
| ТоварыОрганизацийОстатки.Характеристика,
| ТоварыОрганизацийОстатки.Назначение,
| ТоварыОрганизацийОстатки.Серия
|
|ИМЕЮЩИЕ
| СУММА(ТоварыОрганизацийОстатки.Количество) < 0
|");
КонецПроцедуры
Функция ТекстЗапросаВыходныеИзделияКОформлению()
ТекстЗапроса =
"ВЫБРАТЬ
| &ЗаказПереработчику КАК ЗаказПереработчику,
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.Назначение КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ТабличнаяЧасть.Получатель КАК Получатель,
| ТабличнаяЧасть.СписатьНаРасходы КАК СписатьНаРасходы,
| ТабличнаяЧасть.СтатьяРасходов КАК СтатьяРасходов,
| ТабличнаяЧасть.АналитикаРасходов КАК АналитикаРасходов,
| ТабличнаяЧасть.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТабличнаяЧасть.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТабличнаяЧасть.Спецификация КАК Спецификация,
| ТабличнаяЧасть.Упаковка КАК Упаковка,
| ТабличнаяЧасть.ДоляСтоимости КАК ДоляСтоимости,
| ТабличнаяЧасть.ДоляСтоимостиНаЕдиницу КАК ДоляСтоимостиНаЕдиницу,
| ТоварыКОформлению.КОформлению КАК Количество
|ИЗ
| ВыходныеИзделия КАК ТабличнаяЧасть
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТоварыКОформлениюПоЗаказу КАК ТоварыКОформлению
| ПО ТоварыКОформлению.КодСтроки = ТабличнаяЧасть.КодСтроки
|
|УПОРЯДОЧИТЬ ПО
| КодСтроки
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПобочныеИзделияКОформлению()
ТекстЗапроса =
"ВЫБРАТЬ
| &ЗаказПереработчику КАК ЗаказПереработчику,
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.Назначение КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ТабличнаяЧасть.Получатель КАК Получатель,
| ТабличнаяЧасть.СписатьНаРасходы КАК СписатьНаРасходы,
| ТабличнаяЧасть.СтатьяРасходов КАК СтатьяРасходов,
| ТабличнаяЧасть.АналитикаРасходов КАК АналитикаРасходов,
| ТабличнаяЧасть.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТабличнаяЧасть.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТабличнаяЧасть.Упаковка КАК Упаковка,
| ТабличнаяЧасть.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТабличнаяЧасть.Цена КАК Цена,
| ВЫБОР
| КОГДА &НормативыОтчета
| И ТабличнаяЧасть.Количество * Нормативы.Коэффициент < ТоварыКОформлению.КОформлению
| ТОГДА ТабличнаяЧасть.Количество * Нормативы.Коэффициент
| ИНАЧЕ ТоварыКОформлению.КОформлению
| КОНЕЦ КАК Количество
|ИЗ
| ПобочныеИзделия КАК ТабличнаяЧасть
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТоварыКОформлениюПоЗаказу КАК ТоварыКОформлению
| ПО ТоварыКОформлению.КодСтроки = ТабличнаяЧасть.КодСтроки
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Нормативы КАК Нормативы
| ПО ТабличнаяЧасть.НомерГруппыЗатрат = Нормативы.НомерГруппыЗатрат
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &ЗаказПереработчику КАК ЗаказПереработчику,
| 0 КАК НомерГруппыЗатрат,
| ТоварыКОформлению.КодСтроки КАК КодСтроки,
| ТоварыКОформлению.Номенклатура КАК Номенклатура,
| ТоварыКОформлению.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка) КАК Получатель,
| ЛОЖЬ КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ЗНАЧЕНИЕ(Справочник.НастройкиСчетовУчетаПрочихОпераций.ПустаяСсылка) КАК НастройкаСчетовУчета,
| ТоварыКОформлению.Номенклатура.ЕдиницаИзмерения КАК Упаковка,
| ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) КАК СтатьяКалькуляции,
| 0 КАК Цена,
| ТоварыКОформлению.КОформлению КАК Количество
|ИЗ
| ТоварыКОформлениюСверхЗаказа КАК ТоварыКОформлению
|
|УПОРЯДОЧИТЬ ПО
| КодСтроки
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаМатериалыИРаботыПереданные()
ТекстЗапроса =
"ВЫБРАТЬ
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.Назначение КАК Назначение,
| ТабличнаяЧасть.Серия КАК Серия,
| ТабличнаяЧасть.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТабличнаяЧасть.Упаковка КАК Упаковка,
| ТабличнаяЧасть.СтатьяКалькуляции КАК СтатьяКалькуляции,
| СУММА(ВЫБОР
| КОГДА ТабличнаяЧасть.ВариантОбеспечения В
| (ЗНАЧЕНИЕ(Перечисление.ВариантыОбеспечения.Отгрузить),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОбеспечения.ПереданРанее))
| ТОГДА ТабличнаяЧасть.Количество
| ИНАЧЕ 0
| КОНЕЦ) КАК Передано,
| СУММА(ТабличнаяЧасть.Количество) КАК Количество
|ПОМЕСТИТЬ МатериалыИРаботыПереданные
|ИЗ
| МатериалыИРаботы КАК ТабличнаяЧасть
|
|СГРУППИРОВАТЬ ПО
| ТабличнаяЧасть.НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура,
| ТабличнаяЧасть.Характеристика,
| ТабличнаяЧасть.Назначение,
| ТабличнаяЧасть.Серия,
| ТабличнаяЧасть.СтатусУказанияСерий,
| ТабличнаяЧасть.Упаковка,
| ТабличнаяЧасть.СтатьяКалькуляции
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаМатериалыИРаботыКОформлению()
ТекстЗапроса =
"ВЫБРАТЬ
| &ЗаказПереработчику КАК ЗаказПереработчику,
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.Назначение КАК Назначение,
| ТабличнаяЧасть.Серия КАК Серия,
| ТабличнаяЧасть.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТабличнаяЧасть.Упаковка КАК Упаковка,
| ТабличнаяЧасть.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ВЫБОР
| КОГДА ТабличнаяЧасть.Количество * Нормативы.Коэффициент <= ТабличнаяЧасть.Передано
| ТОГДА ТабличнаяЧасть.Количество * Нормативы.Коэффициент
| ИНАЧЕ ТабличнаяЧасть.Передано
| КОНЕЦ КАК Количество
|ИЗ
| МатериалыИРаботыПереданные КАК ТабличнаяЧасть
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Нормативы КАК Нормативы
| ПО ТабличнаяЧасть.НомерГруппыЗатрат = Нормативы.НомерГруппыЗатрат
|
|ГДЕ
| ВЫБОР
| КОГДА ТабличнаяЧасть.Количество * Нормативы.Коэффициент <= ТабличнаяЧасть.Передано
| ТОГДА ТабличнаяЧасть.Количество * Нормативы.Коэффициент
| ИНАЧЕ ТабличнаяЧасть.Передано
| КОНЕЦ <> 0
|
|УПОРЯДОЧИТЬ ПО
| НомерГруппыЗатрат,
| Номенклатура,
| Характеристика,
| Назначение,
| Серия
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаУслугиКОформлению()
ТекстЗапроса =
"ВЫБРАТЬ
| &ЗаказПереработчику КАК ЗаказПереработчику,
| ТабличнаяЧасть.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТабличнаяЧасть.Номенклатура КАК Номенклатура,
| ТабличнаяЧасть.КодСтроки КАК КодСтроки,
| ТабличнаяЧасть.Характеристика КАК Характеристика,
| ТабличнаяЧасть.ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| ТабличнаяЧасть.СтавкаНДС КАК СтавкаНДС,
| ТабличнаяЧасть.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТабличнаяЧасть.Цена КАК Цена,
| ВЫБОР
| КОГДА &НормативыОтчета
| И ТабличнаяЧасть.Количество * Нормативы.Коэффициент < ТоварыКОформлению.КОформлению
| ТОГДА ТабличнаяЧасть.Количество * Нормативы.Коэффициент
| ИНАЧЕ ТоварыКОформлению.КОформлению
| КОНЕЦ КАК Количество,
| ТоварыКОформлению.Сумма КАК Сумма
|ИЗ
| УслугиЗаказа КАК ТабличнаяЧасть
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТоварыКОформлениюПоЗаказу КАК ТоварыКОформлению
| ПО ТоварыКОформлению.КодСтроки = ТабличнаяЧасть.КодСтроки
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Нормативы КАК Нормативы
| ПО ТабличнаяЧасть.НомерГруппыЗатрат = Нормативы.НомерГруппыЗатрат
|
|УПОРЯДОЧИТЬ ПО
| КодСтроки
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаОстаткиКПоступлениюПоОтчетамПереработчика() Экспорт
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.Организация КАК Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| МАКСИМУМ(ТаблицаТовары.Упаковка) КАК Упаковка
|ПОМЕСТИТЬ ТоварыОтчетаПереработчика
|ИЗ
| (ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.Ссылка.Организация КАК Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Упаковка КАК Упаковка
| ИЗ
| Документ.ОтчетПереработчика2_5.ВыходныеИзделия КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка В (&Распоряжения)
| И НЕ ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаТовары.СписатьНаРасходы
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.Ссылка.Организация КАК Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Упаковка КАК Упаковка
| ИЗ
| Документ.ОтчетПереработчика2_5.ПобочныеИзделия КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка В (&Распоряжения)
| И НЕ ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаТовары.СписатьНаРасходы
| ) КАК ТаблицаТовары
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.Ссылка,
| ТаблицаТовары.Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры
|
|ИНДЕКСИРОВАТЬ ПО
| АналитикаУчетаНоменклатуры,
| Организация
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ОстаткиКПоступлению.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| СУММА(ОстаткиКПоступлению.КПоступлению) КАК КПоступлению
|ПОМЕСТИТЬ ОстаткиКПоступлению
|ИЗ
| (ВЫБРАТЬ
| Таблица.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| Таблица.КоличествоОстаток КАК КПоступлению
| ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки(,
| (АналитикаУчетаНоменклатуры, Организация) В
| (ВЫБРАТЬ
| ТоварыОтчетаПереработчика.АналитикаУчетаНоменклатуры,
| ТоварыОтчетаПереработчика.Организация
| ИЗ
| ТоварыОтчетаПереработчика КАК ТоварыОтчетаПереработчика)
| ) КАК Таблица
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Таблица.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| -Таблица.Количество КАК КПоступлению
| ИЗ
| РегистрНакопления.ТоварыОрганизаций КАК Таблица
| ГДЕ
| Таблица.Активность
| И Таблица.Регистратор В (&Регистратор)
| И Таблица.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ) КАК ОстаткиКПоступлению
|
|СГРУППИРОВАТЬ ПО
| ОстаткиКПоступлению.АналитикаУчетаНоменклатуры
|
|ИМЕЮЩИЕ
| СУММА(ОстаткиКПоступлению.КПоступлению) > 0
|
|ИНДЕКСИРОВАТЬ ПО
| АналитикаУчетаНоменклатуры
|;
|
|
|ВЫБРАТЬ
| ТоварыОтчетаПереработчика.Ссылка КАК Ссылка,
| ТоварыОтчетаПереработчика.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТоварыОтчетаПереработчика.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТоварыОтчетаПереработчика.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ТоварыОтчетаПереработчика.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ТоварыОтчетаПереработчика.Упаковка КАК Упаковка,
| ТоварыОтчетаПереработчика.Количество КАК Количество,
| МАКСИМУМ(ОстаткиКПоступлению.КПоступлению) КАК КОформлению
|ИЗ
| ТоварыОтчетаПереработчика КАК ТоварыОтчетаПереработчика
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиКПоступлению КАК ОстаткиКПоступлению
| ПО ОстаткиКПоступлению.АналитикаУчетаНоменклатуры = ТоварыОтчетаПереработчика.АналитикаУчетаНоменклатуры
|
|СГРУППИРОВАТЬ ПО
| ТоварыОтчетаПереработчика.Ссылка,
| ТоварыОтчетаПереработчика.АналитикаУчетаНоменклатуры,
| ТоварыОтчетаПереработчика.Упаковка,
| ТоварыОтчетаПереработчика.Количество
|
|УПОРЯДОЧИТЬ ПО
| ТоварыОтчетаПереработчика.АналитикаУчетаНоменклатуры
|";
Возврат ТекстЗапроса;
КонецФункции
Процедура ЗаполнитьПоНормативам(ТаблицаДокумента, Нормативы, НомерГруппыЗатрат = Неопределено, СтруктураДействий = Неопределено)
ПараметрыЗаполненияЦены = Неопределено;
ЗаполнитьЦенуПродажи = Ложь;
Если Не СтруктураДействий = Неопределено Тогда
ЗаполнитьЦенуПродажи = СтруктураДействий.Свойство("ЗаполнитьЦенуПродажи", ПараметрыЗаполненияЦены)
КонецЕсли;
КэшированныеЗначения = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();
ОбрабатываемыеСтроки = Новый Массив;
ОбрабатываемыеСтрокиСЦеной = Новый Массив;
Для Каждого ТекСтрока Из Нормативы Цикл
НоваяСтрока = ТаблицаДокумента.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекСтрока);
Если ЗначениеЗаполнено(НомерГруппыЗатрат)
И Не ЗначениеЗаполнено(НоваяСтрока.НомерГруппыЗатрат) Тогда
НоваяСтрока.НомерГруппыЗатрат = НомерГруппыЗатрат;
КонецЕсли;
Если ЗаполнитьЦенуПродажи
И Не ЗначениеЗаполнено(НоваяСтрока.Цена) Тогда
ОбрабатываемыеСтрокиСЦеной.Добавить(НоваяСтрока);
ИначеЕсли Не СтруктураДействий = Неопределено Тогда
ОбрабатываемыеСтроки.Добавить(НоваяСтрока);
КонецЕсли;
КонецЦикла;
Если Не СтруктураДействий = Неопределено Тогда
Если ЗаполнитьЦенуПродажи Тогда
СтруктураДействий.Удалить("ЗаполнитьЦенуПродажи");
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(
ОбрабатываемыеСтроки,
СтруктураДействий,
ТаблицаДокумента,
КэшированныеЗначения);
Если ЗаполнитьЦенуПродажи Тогда
СтруктураДействий.Вставить("ЗаполнитьЦенуПродажи", ПараметрыЗаполненияЦены);
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(
ОбрабатываемыеСтрокиСЦеной,
СтруктураДействий,
ТаблицаДокумента,
КэшированныеЗначения);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьСерииПоПоступлениям(ТаблицаИзделий, ТаблицаСерий, Ключ)
Отбор = Новый Структура(Ключ);
Для Каждого СтрокаИзделий Из ТаблицаИзделий Цикл
КоличествоИзделий = СтрокаИзделий.Количество;
ЗаполнитьЗначенияСвойств(Отбор, СтрокаИзделий);
Для Каждого СтрокаСерий Из ТаблицаСерий.НайтиСтроки(Отбор) Цикл
Если СтрокаСерий.Количество = 0 Тогда
Продолжить;
КонецЕсли;
Количество = Мин(КоличествоИзделий, СтрокаСерий.Количество);
НоваяСтрока = ТаблицаИзделий.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаИзделий);
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаСерий, "Серия");
НоваяСтрока.Количество = Количество;
СтрокаСерий.Количество = СтрокаСерий.Количество - НоваяСтрока.Количество;
СтрокаИзделий.Количество = СтрокаИзделий.Количество - НоваяСтрока.Количество;
КоличествоИзделий = КоличествоИзделий - НоваяСтрока.Количество;
Если КоличествоИзделий = 0 Тогда
Прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ОтборСтрок = Новый Структура("Количество", 0);
Для Каждого СтрокаТаблицы Из ТаблицаИзделий.НайтиСтроки(ОтборСтрок) Цикл
ТаблицаИзделий.Удалить(СтрокаТаблицы);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
ОтчетПереработчика2_5Локализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
#КонецОбласти
#Область ГруппыЗатрат
Процедура ОбновитьГруппуЗатрат(ГруппыЗатрат, ОписаниеГруппыЗатрат)
СтруктураОтбора = Новый Структура("НомерГруппыЗатрат", ОписаниеГруппыЗатрат.НомерГруппыЗатрат);
НайденныеСтроки = ГруппыЗатрат.НайтиСтроки(СтруктураОтбора);
Если Не НайденныеСтроки.Количество() = 0 Тогда
ЗаполнитьЗначенияСвойств(НайденныеСтроки[0], ОписаниеГруппыЗатрат);
КонецЕсли;
КонецПроцедуры
Функция ЕстьИмпортноеИзделие(Объект, НомерГруппыЗатрат)
Результат = Ложь;
СтруктураОтбора = Новый Структура("НомерГруппыЗатрат, ВедетсяУчетПоГТД", НомерГруппыЗатрат, 1);
Результат = Не Объект.ВыходныеИзделия.НайтиСтроки(СтруктураОтбора).Количество() = 0;
Если Результат = Истина Тогда
Возврат Результат;
КонецЕсли;
Результат = Не Объект.ПобочныеИзделия.НайтиСтроки(СтруктураОтбора).Количество() = 0;
Возврат Результат;
КонецФункции
#КонецОбласти
#Область ПартииПроизводства
Процедура СформироватьПартииПроизводства(Объект) Экспорт
Реквизиты = Объект;
Если ТипЗнч(Объект) = Тип("ДокументСсылка.ОтчетПереработчика2_5") Тогда
СписокРеквизитов = "Ссылка, Дата, Организация, ГруппировкаЗатрат, ЗакупкаПодДеятельность,
|НаправлениеДеятельности";
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект, СписокРеквизитов);
КонецЕсли;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", Реквизиты.Ссылка);
Запрос.УстановитьПараметр("Дата", Реквизиты.Дата);
Запрос.УстановитьПараметр("Организация", Реквизиты.Организация);
Запрос.УстановитьПараметр("ГруппировкаЗатрат", Реквизиты.ГруппировкаЗатрат);
Запрос.УстановитьПараметр("ЗакупкаПодДеятельность", Реквизиты.ЗакупкаПодДеятельность);
Запрос.УстановитьПараметр("НаправлениеДеятельности", Реквизиты.НаправлениеДеятельности);
СформироватьТаблицуПродукции(Объект, Запрос);
ТекстВыборкаПолейПартий = ТекстВыборкаПолейПартий();
Справочники.ПартииПроизводства.СформироватьПартииПроизводства(
Запрос,
ТекстВыборкаПолейПартий,
Истина,
Истина);
КонецПроцедуры
Процедура СформироватьТаблицуПродукции(Объект, Запрос)
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Организация КАК Организация,
| &ГруппировкаЗатрат КАК ГруппировкаЗатрат,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Спецификация КАК Спецификация,
| ТаблицаТовары.Назначение КАК Назначение
|ПОМЕСТИТЬ ТаблицаПродукция
|ИЗ
| &ТаблицаВыходныеИзделия КАК ТаблицаТовары
|
|ГДЕ
| &УсловиеСсылка
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГруппыЗатрат
|";
Если ТипЗнч(Объект) = Тип("ДокументСсылка.ОтчетПереработчика2_5") Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТаблицаВыходныеИзделия", "Документ.ОтчетПереработчика2_5.ВыходныеИзделия");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеСсылка", "ТаблицаТовары.Ссылка = &Ссылка");
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеСсылка", "ИСТИНА");
Запрос.УстановитьПараметр("ТаблицаВыходныеИзделия", Объект.ВыходныеИзделия.Выгрузить());
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
Запрос.Выполнить();
КонецПроцедуры
Функция ТекстВыборкаПолейПартий()
Возврат
"ВЫБРАТЬ
| &Ссылка КАК Документ,
| ТаблицаПродукция.ГруппировкаЗатрат КАК ГруппировкаЗатрат,
| ТаблицаПродукция.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаПродукция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ТипПроцесса,
| ВЫБОР
| КОГДА &ГруппировкаЗатрат В
| (ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.БезГруппировки),
| ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоСпецификациям))
| ТОГДА &НаправлениеДеятельности
| ИНАЧЕ ЕСТЬNULL(ТаблицаПродукция.Назначение.НаправлениеДеятельности, НЕОПРЕДЕЛЕНО)
| КОНЕЦ КАК НаправлениеДеятельности,
| &ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
| ОсновныеИзделия.Номенклатура КАК ОсновноеИзделиеНоменклатура,
| ОсновныеИзделия.Характеристика КАК ОсновноеИзделиеХарактеристика,
| ВЫБОР
| КОГДА &ГруппировкаЗатрат В
| (ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукции),
| ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукцииИНазначениям))
| ТОГДА ТаблицаПродукция.Номенклатура
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Номенклатура,
| ВЫБОР
| КОГДА &ГруппировкаЗатрат В
| (ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукции),
| ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукцииИНазначениям))
| ТОГДА ТаблицаПродукция.Характеристика
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Характеристика,
| ВЫБОР
| КОГДА &ГруппировкаЗатрат В
| (ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукции),
| ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукцииИНазначениям))
| ТОГДА ТаблицаПродукция.Серия
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Серия,
| ОсновныеИзделия.Номенклатура.ГруппаАналитическогоУчета КАК ГруппаПродукции,
| ВЫБОР
| КОГДА &ГруппировкаЗатрат В
| (ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоСпецификациям),
| ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоСпецификациямИНазначениям))
| ТОГДА ТаблицаПродукция.Спецификация
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Спецификация,
| ВЫБОР
| КОГДА &ГруппировкаЗатрат В
| (ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоПродукцииИНазначениям),
| ЗНАЧЕНИЕ(Перечисление.ГруппировкиЗатратВЗаказеПереработчику.ПоСпецификациямИНазначениям))
| ТОГДА ТаблицаПродукция.Назначение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Назначение
|ПОМЕСТИТЬ ВТПоляПартийПроизводства
|ИЗ
| ТаблицаПродукция КАК ТаблицаПродукция
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НомераСтрокОсновныхИзделий КАК НомераСтрокОсновныхИзделий
| ПО НомераСтрокОсновныхИзделий.НомерГруппыЗатрат = ТаблицаПродукция.НомерГруппыЗатрат
| И НомераСтрокОсновныхИзделий.Ссылка = &Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаПродукция КАК ОсновныеИзделия
| ПО ОсновныеИзделия.НомерСтроки = НомераСтрокОсновныхИзделий.НомерСтроки
| И ОсновныеИзделия.Ссылка = &Ссылка
|
|ГДЕ
| ТИПЗНАЧЕНИЯ(&Ссылка) = ТИП(Документ.ОтчетПереработчика2_5)
|";
КонецФункции
#КонецОбласти
#Область Прочее
Функция СуммыПоЗаказам(СсылкаОбъект, ЗначенияРеквизитов = Неопределено) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| Услуги.ЗаказПереработчику КАК Заказ,
| Услуги.СуммаСНДС КАК Сумма,
| Услуги.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Услуги.Номенклатура КАК Номенклатура,
| &ЗаказШапки КАК ЗаказПереработчику
|ПОМЕСТИТЬ ВТУслуги
|ИЗ &ТаблицаЗначений КАК Услуги
|ГДЕ &УсловиеСсылка
|;
|
|
|ВЫБРАТЬ
| ВЫБОР КОГДА ЕСТЬNULL(Услуги.Заказ.Номер, """") = """"
| ТОГДА Услуги.ЗаказПереработчику
| ИНАЧЕ Услуги.Заказ
| КОНЕЦ КАК Заказ,
| ВЫБОР КОГДА ЕСТЬNULL(Услуги.Заказ.Номер, """") = """"
| ТОГДА ЕСТЬNULL(Услуги.ЗаказПереработчику.Дата, ДАТАВРЕМЯ(1,1,1))
| ИНАЧЕ ЕСТЬNULL(Услуги.Заказ.Дата, ДАТАВРЕМЯ(1,1,1))
| КОНЕЦ КАК ДатаЗаказа,
| ВЫБОР КОГДА ЕСТЬNULL(Услуги.Заказ.Номер, """") = """"
| ТОГДА ЕСТЬNULL(Услуги.ЗаказПереработчику.Дата, ДАТАВРЕМЯ(1,1,1))
| ИНАЧЕ ЕСТЬNULL(Услуги.Заказ.Дата, ДАТАВРЕМЯ(1,1,1))
| КОНЕЦ КАК ДатаСогласования,
| ЛОЖЬ КАК СверхЗаказа,
| СУММА(Услуги.Сумма) КАК СуммаПлатежа,
| СУММА(Услуги.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| 0 КАК СуммаЗалогаЗаТару,
| 0 КАК СуммаВзаиморасчетовПоТаре
|ИЗ
| ВТУслуги КАК Услуги
|
|СГРУППИРОВАТЬ ПО
| ВЫБОР КОГДА ЕСТЬNULL(Услуги.Заказ.Номер, """") = """"
| ТОГДА Услуги.ЗаказПереработчику
| ИНАЧЕ Услуги.Заказ
| КОНЕЦ,
| ВЫБОР КОГДА ЕСТЬNULL(Услуги.Заказ.Номер, """") = """"
| ТОГДА ЕСТЬNULL(Услуги.ЗаказПереработчику.Дата, ДАТАВРЕМЯ(1,1,1))
| ИНАЧЕ ЕСТЬNULL(Услуги.Заказ.Дата, ДАТАВРЕМЯ(1,1,1))
| КОНЕЦ,
| ВЫБОР КОГДА ЕСТЬNULL(Услуги.Заказ.Номер, """") = """"
| ТОГДА ЕСТЬNULL(Услуги.ЗаказПереработчику.Дата, ДАТАВРЕМЯ(1,1,1))
| ИНАЧЕ ЕСТЬNULL(Услуги.Заказ.Дата, ДАТАВРЕМЯ(1,1,1))
| КОНЕЦ
|";
Если ЗначенияРеквизитов = Неопределено Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТаблицаЗначений", "Документ.ОтчетПереработчика2_5.Услуги");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ЗаказШапки", "Услуги.Ссылка.ЗаказПереработчику");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеСсылка", "Услуги.Ссылка = &Ссылка");
Запрос.УстановитьПараметр("Ссылка",СсылкаОбъект);
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеСсылка", "ИСТИНА");
Для Каждого КлючЗначение Из ЗначенияРеквизитов Цикл
Запрос.УстановитьПараметр(КлючЗначение.Ключ, КлючЗначение.Значение);
КонецЦикла;
КонецЕсли;
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
#КонецОбласти
#Область ТекущиеДела
Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт
ОбщиеПараметрыЗапросов = ТекущиеДелаСервер.ОбщиеПараметрыЗапросов();
Доступность =
(ОбщиеПараметрыЗапросов.ЭтоПолноправныйПользователь
Или ПравоДоступа("Просмотр", Метаданные.Документы.ОтчетПереработчика2_5))
И ПравоДоступа("Просмотр", Метаданные.Документы.ЗаказПереработчику2_5)
И (ПравоДоступа("Добавление", Метаданные.Документы.ОтчетПереработчика2_5)
ИЛИ ПравоДоступа("Изменение", Метаданные.Документы.ОтчетПереработчика2_5))
И ПолучитьФункциональнуюОпцию("ИспользоватьПроизводствоНаСтороне2_5");
Если НЕ Доступность Тогда
Возврат;
КонецЕсли;
ОперацииПроизводстваУПереработчика2_5 = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчика2_5);
ПараметрыОтбора =
НакладныеСервер.ПараметрыОтбораРаспоряжений(,,,
ОперацииПроизводстваУПереработчика2_5,
ОбщиеПараметрыЗапросов.Пользователь);
ТекстыЗапросов =
Обработки.ЖурналДокументовПередачиВПереработку2_5.ТекстыЗапросов(
ПараметрыОтбора,
ОперацииПроизводстваУПереработчика2_5);
Запрос = Новый Запрос(ТекстыЗапросов.ТекстЗапросаРасчетаСостояний);
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("ХозОперация", ОперацииПроизводстваУПереработчика2_5);
Запрос.УстановитьПараметр("Менеджер", ОбщиеПараметрыЗапросов.Пользователь);
Запрос.УстановитьПараметр("НачалоТекущегоДня", НачалоДня(ТекущаяДатаСеанса()));
НакладныеСервер.ДобавитьПараметрыОтбораПоРееструДокументов(Запрос, ПараметрыОтбора);
Запрос.Выполнить();
Запрос.Текст = ТекстыЗапросов.ТекстЗапросаСпискаРаспоряжений;
ОтчетыПереработчиковКОформлению = Запрос.Выполнить().Выбрать().Количество();
ДелоРодитель = ТекущиеДела.Найти("ПроизводствоНаСтороне", "Идентификатор");
Если ДелоРодитель = Неопределено Тогда
ДелоРодитель = ТекущиеДела.Добавить();
ДелоРодитель.Идентификатор = "ПроизводствоНаСтороне";
ДелоРодитель.Представление = НСтр("ru = 'Производство на стороне'");
ДелоРодитель.Владелец = Метаданные.Подсистемы.Производство;
КонецЕсли;
ДелоРодитель.ЕстьДела = ДелоРодитель.ЕстьДела Или ОтчетыПереработчиковКОформлению > 0;
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Менеджер", ОбщиеПараметрыЗапросов.Пользователь);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ИмяТекущейСтраницы", "СтраницаОтчеты");
ПараметрыФормы.Вставить("СтруктураБыстрогоОтбора", ПараметрыОтбора);
ПараметрыФормы.Вставить("КлючНазначенияФормы", "ТекущиеДела");
Дело = ТекущиеДела.Добавить();
Дело.Идентификатор = "ОтчетыПереработчиковКОформлению2_5";
Дело.ЕстьДела = ОтчетыПереработчиковКОформлению > 0;
Дело.Представление = НСтр("ru = 'Отчеты переработчиков к оформлению'");
Дело.Количество = ОтчетыПереработчиковКОформлению;
Дело.Важное = Ложь;
Дело.Форма = "Обработка.ЖурналДокументовПередачиВПереработку2_5.Форма.КОформлениюНакладных";
Дело.ПараметрыФормы = ПараметрыФормы;
Дело.Владелец = "ПроизводствоНаСтороне";
КонецПроцедуры
#КонецОбласти
#Область ФормированиеГиперссылкиВЖурналеДокументовПереработки
Функция СформироватьГиперссылкуКОформлению(Параметры) Экспорт
ЕстьПраваНаЧтение =
ПравоДоступа("Чтение", Метаданные.РегистрыНакопления.ЗаказыПоставщикам)
И ПравоДоступа("Чтение", Метаданные.РегистрыНакопления.ТоварыОрганизаций);
Если Не ЕстьПраваНаЧтение Тогда
Возврат Неопределено;
КонецЕсли;
ТекстГиперссылки = НСтр("ru = 'Отчеты'");
ТекстСсылки = "Обработка.ЖурналДокументовПередачиВПереработку2_5.Форма.КОформлениюНакладных/СтраницаОтчеты";
ЕстьДокументыКОформлению =
Обработки.ЖурналДокументовПередачиВПереработку2_5.ЕстьДокументыКОформлению(
Параметры,
ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчика2_5));
ЦветГиперссылки = ?(ЕстьДокументыКОформлению, Неопределено, ЦветаСтиля.НезаполненноеПолеТаблицы);
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,, ЦветГиперссылки,, ТекстСсылки);
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли