#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Обеспечение");
МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
МеханизмыДокумента.Добавить("ПриемНаОтветхранение");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СерийныйУчет");
МеханизмыДокумента.Добавить("АдресныйСклад");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетРабот");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
РаспределениеПроизводственныхЗатратЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.РаспределениеПроизводственныхЗатрат") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыКОформлениюОтчетовКомитенту(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаДвиженияНоменклатураДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
РаспределениеПроизводственныхЗатратЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры);
ЗапланироватьОтгрузкуТоваров(Запрос, ТекстыЗапроса, Регистры);
ОформитьОтгрузкуТоваров(Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
ИменаРеквизитов = "Подразделение,Склад,Дата,НовоеПроизводство";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыУказанияСерий(Объект) Экспорт
ПараметрыУказанияСерий = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерий.ПолноеИмяОбъекта = "Документ.РаспределениеПроизводственныхЗатрат";
Если Объект.НовоеПроизводство Тогда
ПараметрыУказанияСерий.ИмяПоляСклад = "Склад";
ПараметрыСерий = СкладыСервер.ИспользованиеСерийНаСкладе(Объект.Склад, Ложь);
Иначе
ПараметрыУказанияСерий.ИмяПоляСклад = "Подразделение";
ПараметрыСерий = СкладыСервер.ИспользованиеСерийВПодразделении(Объект.Подразделение);
КонецЕсли;
ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры = ПараметрыСерий.ИспользоватьСерииНоменклатуры;
ПараметрыУказанияСерий.УчитыватьСебестоимостьПоСериям = ПараметрыСерий.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.СписаниеМатериаловНаЗатраты);
ПараметрыУказанияСерий.СерииПриПланированииОтгрузкиУказываютсяВТЧСерии = Истина;
ПараметрыУказанияСерий.ПоляСвязи.Добавить("Назначение");
ПараметрыУказанияСерий.ЭтоНакладная = Истина;
ПараметрыУказанияСерий.ТоварВШапке = Истина;
ПараметрыУказанияСерий.ИмяТЧТовары = "";
ПараметрыУказанияСерий.Дата = Объект.Дата;
ПараметрыУказанияСерий.РегистрироватьСерии = Ложь;
Возврат ПараметрыУказанияСерий;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Серия,
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Количество,
| Товары.СтатусУказанияСерий,
| Товары.НомерСтроки
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.Серия,
| Товары.Номенклатура,
| Товары.Характеристика,
| СУММА(Товары.Количество) КАК Количество,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры
|ПОМЕСТИТЬ ТоварыДляЗапроса
|ИЗ
| Товары КАК Товары
|
|СГРУППИРОВАТЬ ПО
| Товары.Серия,
| Товары.Номенклатура,
| Товары.Характеристика
|;
|
|
|ВЫБРАТЬ
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Количество
|ПОМЕСТИТЬ Серии
|ИЗ
| &Серии КАК Серии
|;
|
|
|ВЫБРАТЬ
| ТаблицаСерий.Номенклатура,
| ТаблицаСерий.Характеристика,
| СУММА(ТаблицаСерий.Количество) КАК Количество
|ПОМЕСТИТЬ СерииДляЗапроса
|ИЗ
| Серии КАК ТаблицаСерий
|
|СГРУППИРОВАТЬ ПО
| ТаблицаСерий.Номенклатура,
| ТаблицаСерий.Характеристика
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтатусУказанияСерийСтарый,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПланированииОтгрузки
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 10
| ИНАЧЕ 9
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПланированииОтбора
| ТОГДА ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчетСерийПоFEFO
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 6
| ИНАЧЕ 5
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 8
| ИНАЧЕ 7
| КОНЕЦ
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПоФактуОтбора
| И ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриОтраженииЗатратНаПроизводство
| ТОГДА ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьОстаткиСерий
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 4
| ИНАЧЕ 3
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 2
| ИНАЧЕ 1
| КОНЕЦ
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтатусУказанияСерий
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ЛЕВОЕ СОЕДИНЕНИЕ СерииДляЗапроса КАК СерииДляЗапроса
| ПО ТоварыДляЗапроса.Номенклатура = СерииДляЗапроса.Номенклатура
| И ТоварыДляЗапроса.Характеристика = СерииДляЗапроса.Характеристика
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ПО (ПолитикиУчетаСерий.Склад = &Склад)
| И ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
| ПО Товары.Номенклатура = ТоварыДляЗапроса.Номенклатура
| И Товары.Характеристика = ТоварыДляЗапроса.Характеристика
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| Статусы.СтатусУказанияСерий КАК СтатусУказанияСерий
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| Статусы.СтатусУказанияСерий <> Статусы.СтатусУказанияСерийСтарый
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаМатериаловИРаботВКладовых(ВоВременнуюТаблицу = Ложь, ВыбиратьПервые = 0) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ОстаткиМатериалов.Организация КАК Организация,
| Аналитика.СкладскаяТерритория.Подразделение КАК Подразделение,
| Аналитика.СкладскаяТерритория КАК Склад,
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| Аналитика.Серия КАК Серия,
| Аналитика.Назначение КАК Назначение,
| ОстаткиМатериалов.АналитикаУчетаНоменклатуры,
| ОстаткиМатериалов.КоличествоОстаток КАК НачальныйОстаток,
| 0 КАК Поступило,
| 0 КАК Передано
|ПОМЕСТИТЬ втДвижениеМатериалов
|ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки(
| &НачалоПериода,
| (Организация В (&Организации)
| ИЛИ &ВсеОрганизации)
| И (АналитикаУчетаНоменклатуры.СкладскаяТерритория.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И АналитикаУчетаНоменклатуры.ТипМестаХранения = ЗНАЧЕНИЕ(Перечисление.ТипыМестХранения.Склад)
| И АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая) КАК ОстаткиМатериалов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ОстаткиМатериалов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|ГДЕ
| (Аналитика.Номенклатура.ТипНоменклатуры = &ТипНоменклатуры
| ИЛИ &ВсеТипыНоменклатуры)
| И (ОстаткиМатериалов.АналитикаУчетаНоменклатуры = &АналитикаУчетаНоменклатуры
| ИЛИ &ВсеАналитики)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПоступленияМатериалов.Организация,
| Аналитика.СкладскаяТерритория.Подразделение,
| Аналитика.СкладскаяТерритория,
| Аналитика.Номенклатура,
| Аналитика.Характеристика,
| Аналитика.Серия,
| Аналитика.Назначение,
| ПоступленияМатериалов.АналитикаУчетаНоменклатуры,
| 0,
| ПоступленияМатериалов.КоличествоПриход,
| 0
|ИЗ
| РегистрНакопления.ТоварыОрганизаций.Обороты(
| &НачалоПериода,
| &ГраницаОкончаниеПериода,
| ,
| (Организация В (&Организации)
| ИЛИ &ВсеОрганизации)
| И (АналитикаУчетаНоменклатуры.СкладскаяТерритория.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И АналитикаУчетаНоменклатуры.ТипМестаХранения = ЗНАЧЕНИЕ(Перечисление.ТипыМестХранения.Склад)
| И АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая) КАК ПоступленияМатериалов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ПоступленияМатериалов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|ГДЕ
| (Аналитика.Номенклатура.ТипНоменклатуры = &ТипНоменклатуры
| ИЛИ &ВсеТипыНоменклатуры)
| И (ПоступленияМатериалов.АналитикаУчетаНоменклатуры = &АналитикаУчетаНоменклатуры
| ИЛИ &ВсеАналитики)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПередачиМатериалов.Организация,
| Аналитика.СкладскаяТерритория.Подразделение,
| Аналитика.СкладскаяТерритория,
| Аналитика.Номенклатура,
| Аналитика.Характеристика,
| Аналитика.Серия,
| Аналитика.Назначение,
| ПередачиМатериалов.АналитикаУчетаНоменклатуры,
| 0,
| 0,
| ПередачиМатериалов.Количество
|ИЗ
| РегистрНакопления.ТоварыОрганизаций КАК ПередачиМатериалов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ПередачиМатериалов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|ГДЕ
| (ПередачиМатериалов.Организация В (&Организации)
| ИЛИ &ВсеОрганизации)
| И (Аналитика.СкладскаяТерритория.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И Аналитика.ТипМестаХранения = ЗНАЧЕНИЕ(Перечисление.ТипыМестХранения.Склад)
| И Аналитика.СкладскаяТерритория.ЦеховаяКладовая
| И ПередачиМатериалов.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода
| И ПередачиМатериалов.ВидДвижения = ЗНАЧЕНИЕ(ВидДвижениянакопления.Расход)
| И НЕ ПередачиМатериалов.Регистратор ССЫЛКА Документ.РаспределениеПроизводственныхЗатрат
| И (Аналитика.Номенклатура.ТипНоменклатуры = &ТипНоменклатуры
| ИЛИ &ВсеТипыНоменклатуры)
| И (ПередачиМатериалов.АналитикаУчетаНоменклатуры = &АналитикаУчетаНоменклатуры
| ИЛИ &ВсеАналитики)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиРабот.Организация,
| Аналитика.МестоХранения,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка),
| Аналитика.Номенклатура,
| Аналитика.Характеристика,
| Аналитика.Серия,
| Аналитика.Назначение,
| Аналитика.КлючАналитики,
| ОстаткиРабот.КоличествоОстаток,
| 0,
| 0
|ИЗ
| РегистрНакопления.МатериалыИРаботыВПроизводстве.Остатки(
| &НачалоПериода,
| (Организация В (&Организации)
| ИЛИ &ВсеОрганизации)
| И (Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)) КАК ОстаткиРабот
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ОстаткиРабот.Номенклатура = Аналитика.Номенклатура
| И ОстаткиРабот.Характеристика = Аналитика.Характеристика
| И ОстаткиРабот.Подразделение = Аналитика.МестоХранения
| И ОстаткиРабот.Назначение = Аналитика.Назначение
| И (Аналитика.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка))
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика.СтатьяКалькуляции
|ГДЕ
| (Аналитика.Номенклатура.ТипНоменклатуры = &ТипНоменклатуры
| ИЛИ &ВсеТипыНоменклатуры)
| И Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И (Аналитика.КлючАналитики = &АналитикаУчетаНоменклатуры
| ИЛИ &ВсеАналитики)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РаботыВПроизводстве.Организация,
| Аналитика.МестоХранения,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка),
| Аналитика.Номенклатура,
| Аналитика.Характеристика,
| Аналитика.Серия,
| Аналитика.Назначение,
| Аналитика.КлючАналитики,
| 0,
| ВЫБОР
| КОГДА РаботыВПроизводстве.ВидДвижения = ЗНАЧЕНИЕ(ВидДвижениянакопления.Приход) И НЕ РаботыВПроизводстве.Сторно
| ТОГДА РаботыВПроизводстве.Количество
| КОГДА РаботыВПроизводстве.ВидДвижения = ЗНАЧЕНИЕ(ВидДвижениянакопления.Расход) И РаботыВПроизводстве.Сторно
| ТОГДА -РаботыВПроизводстве.Количество
| ИНАЧЕ
| 0
| КОНЕЦ,
| ВЫБОР
| КОГДА РаботыВПроизводстве.ВидДвижения = ЗНАЧЕНИЕ(ВидДвижениянакопления.Расход) И НЕ РаботыВПроизводстве.Сторно
| ТОГДА РаботыВПроизводстве.Количество
| КОГДА РаботыВПроизводстве.ВидДвижения = ЗНАЧЕНИЕ(ВидДвижениянакопления.Приход) И РаботыВПроизводстве.Сторно
| ТОГДА -РаботыВПроизводстве.Количество
| ИНАЧЕ
| 0
| КОНЕЦ
|ИЗ
| РегистрНакопления.МатериалыИРаботыВПроизводстве КАК РаботыВПроизводстве
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО РаботыВПроизводстве.Номенклатура = Аналитика.Номенклатура
| И РаботыВПроизводстве.Характеристика = Аналитика.Характеристика
| И РаботыВПроизводстве.Подразделение = Аналитика.МестоХранения
| И РаботыВПроизводстве.Назначение = Аналитика.Назначение
| И (Аналитика.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка))
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика.СтатьяКалькуляции
|ГДЕ
| (РаботыВПроизводстве.Организация В(&Организации)
| ИЛИ &ВсеОрганизации)
| И (РаботыВПроизводстве.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И РаботыВПроизводстве.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода
| И НЕ РаботыВПроизводстве.Регистратор ССЫЛКА Документ.РаспределениеПроизводственныхЗатрат
| И (Аналитика.Номенклатура.ТипНоменклатуры = &ТипНоменклатуры
| ИЛИ &ВсеТипыНоменклатуры)
| И Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И (Аналитика.КлючАналитики = &АналитикаУчетаНоменклатуры
| ИЛИ &ВсеАналитики)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиРабот.Организация КАК Организация,
| Аналитика.МестоХранения КАК Подразделение,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад,
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| Аналитика.Серия КАК Серия,
| Аналитика.Назначение КАК Назначение,
| ОстаткиРабот.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ОстаткиРабот.КоличествоОстаток КАК НачальныйОстаток,
| 0 КАК Поступило,
| 0 КАК Передано
|ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки(
| &НачалоПериода,
| (Организация В (&Организации)
| ИЛИ &ВсеОрганизации)
| И АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И (АналитикаУчетаНоменклатуры.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| ) КАК ОстаткиРабот
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО Аналитика.Ссылка = ОстаткиРабот.АналитикаУчетаНоменклатуры
|ГДЕ
| (Аналитика.Номенклатура.ТипНоменклатуры = &ТипНоменклатуры
| ИЛИ &ВсеТипыНоменклатуры)
| И Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И (ОстаткиРабот.АналитикаУчетаНоменклатуры = &АналитикаУчетаНоменклатуры
| ИЛИ &ВсеАналитики)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РаботыВПроизводстве.Организация,
| Аналитика.МестоХранения КАК Подразделение,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад,
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| Аналитика.Серия КАК Серия,
| Аналитика.Назначение КАК Назначение,
| РаботыВПроизводстве.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| 0 КАК НачальныйОстаток,
| ВЫБОР
| КОГДА РаботыВПроизводстве.ВидДвижения = ЗНАЧЕНИЕ(ВидДвижениянакопления.Приход) И НЕ РаботыВПроизводстве.Сторно
| ТОГДА РаботыВПроизводстве.Количество
| КОГДА РаботыВПроизводстве.ВидДвижения = ЗНАЧЕНИЕ(ВидДвижениянакопления.Расход) И РаботыВПроизводстве.Сторно
| ТОГДА -РаботыВПроизводстве.Количество
| ИНАЧЕ
| 0
| КОНЕЦ КАК Поступило,
| ВЫБОР
| КОГДА РаботыВПроизводстве.ВидДвижения = ЗНАЧЕНИЕ(ВидДвижениянакопления.Расход) И НЕ РаботыВПроизводстве.Сторно
| ТОГДА РаботыВПроизводстве.Количество
| КОГДА РаботыВПроизводстве.ВидДвижения = ЗНАЧЕНИЕ(ВидДвижениянакопления.Приход) И РаботыВПроизводстве.Сторно
| ТОГДА -РаботыВПроизводстве.Количество
| ИНАЧЕ
| 0
| КОНЕЦ КАК Передано
|ИЗ
| РегистрНакопления.ТоварыОрганизаций КАК РаботыВПроизводстве
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО Аналитика.Ссылка = РаботыВПроизводстве.АналитикаУчетаНоменклатуры
|ГДЕ
| (РаботыВПроизводстве.Организация В(&Организации)
| ИЛИ &ВсеОрганизации)
| И (Аналитика.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И РаботыВПроизводстве.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода
| И НЕ РаботыВПроизводстве.Регистратор ССЫЛКА Документ.РаспределениеПроизводственныхЗатрат
| И (Аналитика.Номенклатура.ТипНоменклатуры = &ТипНоменклатуры
| ИЛИ &ВсеТипыНоменклатуры)
| И Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И (РаботыВПроизводстве.АналитикаУчетаНоменклатуры = &АналитикаУчетаНоменклатуры
| ИЛИ &ВсеАналитики)
|;
|
|
|ВЫБРАТЬ
| втДвижениеМатериалов.Организация,
| втДвижениеМатериалов.Подразделение,
| втДвижениеМатериалов.Склад,
| втДвижениеМатериалов.Номенклатура,
| втДвижениеМатериалов.Характеристика,
| втДвижениеМатериалов.Серия,
| втДвижениеМатериалов.Назначение,
| втДвижениеМатериалов.АналитикаУчетаНоменклатуры,
| СУММА(втДвижениеМатериалов.НачальныйОстаток) КАК НачальныйОстаток,
| СУММА(втДвижениеМатериалов.Поступило) КАК Поступило,
| СУММА(втДвижениеМатериалов.Передано) КАК Передано
|ПОМЕСТИТЬ ДвижениеМатериалов
|ИЗ
| втДвижениеМатериалов КАК втДвижениеМатериалов
|
|СГРУППИРОВАТЬ ПО
| втДвижениеМатериалов.АналитикаУчетаНоменклатуры,
| втДвижениеМатериалов.Организация,
| втДвижениеМатериалов.Склад,
| втДвижениеМатериалов.Назначение,
| втДвижениеМатериалов.Номенклатура,
| втДвижениеМатериалов.Характеристика,
| втДвижениеМатериалов.Серия,
| втДвижениеМатериалов.Подразделение
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Распределение.Ссылка,
| Распределение.Организация,
| Распределение.Склад,
| Распределение.Номенклатура,
| Распределение.Характеристика,
| Распределение.Серия,
| Распределение.Назначение,
| Распределение.АналитикаУчетаНоменклатуры,
| Распределение.Количество КАК Распределено,
| Распределение.Распределить,
| Распределение.Подразделение,
| Распределение.НовоеПроизводство
|ПОМЕСТИТЬ Распределения
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК Распределение
|ГДЕ
| Распределение.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода
| И Распределение.Проведен
| И (Распределение.НовоеПроизводство ИЛИ Распределение.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И (Распределение.Организация В(&Организации)
| ИЛИ &ВсеОрганизации)
| И (Распределение.Номенклатура.ТипНоменклатуры = &ТипНоменклатуры
| ИЛИ &ВсеТипыНоменклатуры)
| И (Распределение.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И (Распределение.АналитикаУчетаНоменклатуры = &АналитикаУчетаНоменклатуры
| ИЛИ &ВсеАналитики)
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ &ВыбиратьПервые,
| ЕСТЬNULL(Распределения.Ссылка, ЗНАЧЕНИЕ(Документ.РаспределениеПроизводственныхЗатрат.ПустаяСсылка)) КАК Ссылка,
| ЕСТЬNULL(Распределения.НовоеПроизводство, ИСТИНА) КАК НовоеПроизводство,
| ДвижениеМатериалов.Организация,
| ДвижениеМатериалов.Подразделение КАК Подразделение,
| ДвижениеМатериалов.АналитикаУчетаНоменклатуры,
| ДвижениеМатериалов.Склад,
| ДвижениеМатериалов.Номенклатура,
| СпрНоменклатура.ЕдиницаИзмерения,
| ДвижениеМатериалов.Характеристика,
| ВЫБОР
| КОГДА СпрНоменклатура.ИспользованиеХарактеристик В (ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеДляВидаНоменклатуры), ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеСДругимВидомНоменклатуры), ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ИндивидуальныеДляНоменклатуры))
| ТОГДА ИСТИНА
| ИНАЧЕ ВЫБОР
| КОГДА ДвижениеМатериалов.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| КОНЕЦ КАК ХарактеристикиИспользуются,
| ДвижениеМатериалов.Назначение,
| ДвижениеМатериалов.Серия,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УчетСебестоимостиПоСериям)
| ТОГДА ВЫБОР
| КОГДА ДвижениеМатериалов.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УправлениеОстаткамиСерий)
| ТОГДА 9
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УправлениеПоFEFOОстаткамиСерий)
| ТОГДА 5
| ИНАЧЕ 0
| КОНЕЦ КАК СтатусУказанияСерий,
| ДвижениеМатериалов.НачальныйОстаток,
| ДвижениеМатериалов.Поступило,
| ДвижениеМатериалов.Передано,
| ДвижениеМатериалов.НачальныйОстаток + ДвижениеМатериалов.Поступило - ДвижениеМатериалов.Передано КАК ВходящийОстаток,
| ДвижениеМатериалов.НачальныйОстаток + ДвижениеМатериалов.Поступило - ДвижениеМатериалов.Передано - ЕСТЬNULL(Распределения.Распределить, 0) - ЕСТЬNULL(Распределения.Распределено, 0) КАК Наличие,
| ЕСТЬNULL(Распределения.Распределить, 0) КАК Распределить,
| ЕСТЬNULL(Распределения.Распределено, 0) КАК Распределено,
| (ЕСТЬNULL(Распределения.Распределить, 0) <> 0) КАК ТребуетсяРаспределить,
| СпрНоменклатура.ТипНоменклатуры,
| СпрНоменклатура.ВариантОформленияПродажи КАК ВариантОформленияПродажи,
| СпрНоменклатура.НаименованиеПолное КАК НоменклатураНаименованиеПолное,
| СпрХарактеристики.НаименованиеПолное КАК ХарактеристикаНаименованиеПолное
|ПОМЕСТИТЬ МатериалыИРаботы
|ИЗ
| ДвижениеМатериалов КАК ДвижениеМатериалов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО ДвижениеМатериалов.Номенклатура = СпрНоменклатура.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Распределения КАК Распределения
| ПО ДвижениеМатериалов.Организация = Распределения.Организация
| И ДвижениеМатериалов.Подразделение = Распределения.Подразделение
| И ДвижениеМатериалов.Номенклатура = Распределения.Номенклатура
| И ДвижениеМатериалов.Характеристика = Распределения.Характеристика
| И ДвижениеМатериалов.Серия = Распределения.Серия
| И ДвижениеМатериалов.Назначение = Распределения.Назначение
| И (ДвижениеМатериалов.Склад = Распределения.Склад
| ИЛИ СпрНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК СпрХарактеристики
| ПО ДвижениеМатериалов.Характеристика = СпрХарактеристики.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ПО (ПолитикиУчетаСерий.Склад = ДвижениеМатериалов.Склад)
| И (ПолитикиУчетаСерий.Ссылка = ДвижениеМатериалов.Номенклатура.ВидНоменклатуры)
|ГДЕ
| ДвижениеМатериалов.НачальныйОстаток + ДвижениеМатериалов.Поступило + ДвижениеМатериалов.Передано + ЕСТЬNULL(Распределения.Распределить, 0) + ЕСТЬNULL(Распределения.Распределено, 0) <> 0
| И (&ВсеДвижения
| ИЛИ ЕСТЬNULL(Распределения.Распределить, 0) <> 0)
| И (ДвижениеМатериалов.НачальныйОстаток + ДвижениеМатериалов.Поступило - ДвижениеМатериалов.Передано <> 0
| ИЛИ ЕСТЬNULL(Распределения.Распределить, 0) <> 0
| ИЛИ ЕСТЬNULL(Распределения.Распределено, 0) <> 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ &ВыбиратьПервые,
| Распределение.Ссылка,
| Распределение.НовоеПроизводство,
| Распределение.Организация,
| Распределение.Подразделение,
| Распределение.АналитикаУчетаНоменклатуры,
| Распределение.Склад,
| Распределение.Номенклатура,
| СпрНоменклатура.ЕдиницаИзмерения,
| Распределение.Характеристика,
| ВЫБОР
| КОГДА СпрНоменклатура.ИспользованиеХарактеристик В (ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеДляВидаНоменклатуры), ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеСДругимВидомНоменклатуры), ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ИндивидуальныеДляНоменклатуры))
| ТОГДА ИСТИНА
| ИНАЧЕ ВЫБОР
| КОГДА Распределение.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| КОНЕЦ,
| Распределение.Назначение,
| Распределение.Серия,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УчетСебестоимостиПоСериям)
| ТОГДА ВЫБОР
| КОГДА Распределение.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УправлениеОстаткамиСерий)
| ТОГДА 9
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УправлениеПоFEFOОстаткамиСерий)
| ТОГДА 5
| ИНАЧЕ 0
| КОНЕЦ,
| 0,
| 0,
| 0,
| 0,
| 0,
| Распределение.Распределить,
| Распределение.Распределено,
| ЛОЖЬ,
| СпрНоменклатура.ТипНоменклатуры,
| СпрНоменклатура.ВариантОформленияПродажи КАК ВариантОформленияПродажи,
| СпрНоменклатура.НаименованиеПолное КАК НоменклатураНаименованиеПолное,
| СпрХарактеристики.НаименованиеПолное КАК ХарактеристикаНаименованиеПолное
|ИЗ
| Распределения КАК Распределение
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО Распределение.Номенклатура = СпрНоменклатура.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ втДвижениеМатериалов КАК ТаблицаДанных
| ПО (ТаблицаДанных.Организация = Распределение.Организация)
| И (ТаблицаДанных.Подразделение = Распределение.Подразделение)
| И (ТаблицаДанных.Номенклатура = Распределение.Номенклатура)
| И (ТаблицаДанных.Характеристика = Распределение.Характеристика)
| И (ТаблицаДанных.Серия = Распределение.Серия)
| И (ТаблицаДанных.Назначение = Распределение.Назначение)
| И (ТаблицаДанных.Склад = Распределение.Склад
| ИЛИ СпрНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК СпрХарактеристики
| ПО Распределение.Характеристика = СпрХарактеристики.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ПО (ПолитикиУчетаСерий.Склад = Распределение.Склад)
| И (ПолитикиУчетаСерий.Ссылка = Распределение.Номенклатура.ВидНоменклатуры)
|ГДЕ
| ТаблицаДанных.Номенклатура ЕСТЬ NULL
| И Распределение.Распределено + Распределение.Распределить > 0
| И &ВсеДвижения
|;";
Если ВыбиратьПервые > 0 Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ВыбиратьПервые,", "ПЕРВЫЕ " + Строка(ВыбиратьПервые));
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ВыбиратьПервые,", "");
КонецЕсли;
Если Не ВоВременнуюТаблицу Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПОМЕСТИТЬ МатериалыИРаботы", "");
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаЗаполнитьПроизводственныеЗатраты(ВоВременнуюТаблицу = Ложь) Экспорт
ТекстЗапроса = "
|ВЫБРАТЬ
| ОстаткиОбороты.Организация,
| ОстаткиОбороты.Номенклатура,
| ОстаткиОбороты.Характеристика,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УчетСебестоимостиПоСериям)
| ТОГДА ОстаткиОбороты.Серия
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ КАК Серия,
| ОстаткиОбороты.Подразделение,
| СУММА(ОстаткиОбороты.НачальныйОстаток) КАК НачальныйОстаток,
| СУММА(ОстаткиОбороты.Поступило) КАК Поступило,
| СУММА(ОстаткиОбороты.Норматив) КАК Норматив,
| СУММА(ОстаткиОбороты.Отклонение) КАК Отклонение,
| СУММА(ОстаткиОбороты.КонечныйОстаток) КАК КонечныйОстаток,
| СУММА(ОстаткиОбороты.Реализовано) КАК Реализовано,
| СУММА(ОстаткиОбороты.Передано) КАК Передано,
| ОстаткиОбороты.Назначение
|ПОМЕСТИТЬ ВТОстаткиОбороты
|ИЗ
| (ВЫБРАТЬ
| НачальныйОстаток.Организация,
| НачальныйОстаток.Номенклатура,
| НачальныйОстаток.Характеристика,
| НачальныйОстаток.Серия,
| НачальныйОстаток.Подразделение,
| НачальныйОстаток.КоличествоОстаток КАК НачальныйОстаток,
| 0 КАК Поступило,
| 0 КАК Норматив,
| 0 КАК Отклонение,
| 0 КАК КонечныйОстаток,
| 0 КАК Реализовано,
| 0 КАК Передано,
| НачальныйОстаток.Назначение КАК Назначение
| ИЗ
| РегистрНакопления.МатериалыИРаботыВПроизводстве.Остатки(
| &НачалоПериода,
| Организация В (&Организация)
| И (Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)) КАК НачальныйОстаток
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| КонечныйОстаток.Организация,
| КонечныйОстаток.Номенклатура,
| КонечныйОстаток.Характеристика,
| КонечныйОстаток.Серия,
| КонечныйОстаток.Подразделение,
| 0,
| 0,
| 0,
| 0,
| КонечныйОстаток.КоличествоОстаток,
| 0,
| 0,
| КонечныйОстаток.Назначение
| ИЗ
| РегистрНакопления.МатериалыИРаботыВПроизводстве.Остатки(
| &ГраницаОкончаниеПериода,
| Организация В (&Организация)
| И (Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)) КАК КонечныйОстаток
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗатратыОбороты.Организация,
| ЗатратыОбороты.Номенклатура,
| ЗатратыОбороты.Характеристика,
| ЗатратыОбороты.Серия,
| ЗатратыОбороты.Подразделение,
| 0,
| СУММА(ЗатратыОбороты.КоличествоПриход),
| 0,
| 0,
| 0,
| 0,
| 0,
| ЗатратыОбороты.Назначение
| ИЗ
| РегистрНакопления.МатериалыИРаботыВПроизводстве.Обороты(
| &НачалоПериода,
| &ОкончаниеПериода,
| Регистратор,
| Организация В (&Организация)
| И (Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)) КАК ЗатратыОбороты
| ГДЕ
| (ЗатратыОбороты.КоличествоПриход > 0
| ИЛИ ЗатратыОбороты.Регистратор ССЫЛКА Документ.ВыпускПродукции
| И ЗатратыОбороты.КоличествоПриход < 0
|)
|
| СГРУППИРОВАТЬ ПО
| ЗатратыОбороты.Организация,
| ЗатратыОбороты.Номенклатура,
| ЗатратыОбороты.Характеристика,
| ЗатратыОбороты.Серия,
| ЗатратыОбороты.Подразделение,
| ЗатратыОбороты.Назначение
|
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗатратыСписанияПоНормативам.Организация,
| ЗатратыСписанияПоНормативам.Номенклатура,
| ЗатратыСписанияПоНормативам.Характеристика,
| ЗатратыСписанияПоНормативам.Серия,
| ЗатратыСписанияПоНормативам.Подразделение,
| 0,
| 0,
| СУММА(ЗатратыСписанияПоНормативам.КоличествоРасход),
| 0,
| 0,
| 0,
| 0,
| ЗатратыСписанияПоНормативам.Назначение
| ИЗ
| РегистрНакопления.МатериалыИРаботыВПроизводстве.Обороты(
| &НачалоПериода,
| &ОкончаниеПериода,
| Регистратор,
| Организация В (&Организация)
| И (Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)) КАК ЗатратыСписанияПоНормативам
| ГДЕ
| ЗатратыСписанияПоНормативам.Регистратор ССЫЛКА Документ.СписаниеЗатратНаВыпуск
|
| СГРУППИРОВАТЬ ПО
| ЗатратыСписанияПоНормативам.Организация,
| ЗатратыСписанияПоНормативам.Номенклатура,
| ЗатратыСписанияПоНормативам.Характеристика,
| ЗатратыСписанияПоНормативам.Серия,
| ЗатратыСписанияПоНормативам.Подразделение,
| ЗатратыСписанияПоНормативам.Назначение
|
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Затраты.Организация,
| Затраты.Номенклатура,
| Затраты.Характеристика,
| Затраты.Серия,
| Затраты.Подразделение,
| 0,
| СУММА(-Затраты.Количество),
| 0,
| 0,
| 0,
| 0,
| 0,
| Затраты.Назначение
| ИЗ
| РегистрНакопления.МатериалыИРаботыВПроизводстве КАК Затраты
| ГДЕ
| Затраты.Организация В (&Организация)
| И (Затраты.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И Затраты.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода
| И Затраты.Регистратор ССЫЛКА Документ.ВозвратМатериаловИзПроизводства
| И Затраты.Количество > 0
| И Затраты.Активность
|
| СГРУППИРОВАТЬ ПО
| Затраты.Организация,
| Затраты.Номенклатура,
| Затраты.Характеристика,
| Затраты.Серия,
| Затраты.Подразделение,
| Затраты.Назначение
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Затраты.Организация,
| Затраты.Номенклатура,
| Затраты.Характеристика,
| Затраты.Серия,
| Затраты.Подразделение,
| 0,
| 0,
| 0,
| 0,
| 0,
| СУММА(Затраты.Количество),
| 0,
| Затраты.Назначение
| ИЗ
| РегистрНакопления.МатериалыИРаботыВПроизводстве КАК Затраты
| ГДЕ
| Затраты.Организация В (&Организация)
| И (Затраты.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И Затраты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| И Затраты.ЗаказНаПроизводство = НЕОПРЕДЕЛЕНО
| И Затраты.АналитикаУчетаПродукции = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| И (Затраты.СтатьяРасходов = НЕОПРЕДЕЛЕНО
| ИЛИ Затраты.СтатьяРасходов = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка))
| И Затраты.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода
| И НЕ Затраты.Регистратор ССЫЛКА Документ.РаспределениеПроизводственныхЗатрат
| И НЕ Затраты.Регистратор ССЫЛКА Документ.ВозвратМатериаловИзПроизводства
| И НЕ Затраты.Регистратор ССЫЛКА Документ.ПеремещениеМатериаловВПроизводстве
| И НЕ Затраты.Регистратор ССЫЛКА Документ.СписаниеЗатратНаВыпуск
| И (Затраты.Количество > 0
| ИЛИ Затраты.Количество < 0
| И Затраты.Регистратор ССЫЛКА Документ.КорректировкаРеализации)
| И Затраты.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И Затраты.Активность
|
| СГРУППИРОВАТЬ ПО
| Затраты.Организация,
| Затраты.Номенклатура,
| Затраты.Характеристика,
| Затраты.Серия,
| Затраты.Подразделение,
| Затраты.Назначение
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Затраты.Организация,
| Затраты.Номенклатура,
| Затраты.Характеристика,
| Затраты.Серия,
| Затраты.Подразделение,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| СУММА(Затраты.Количество),
| Затраты.Назначение
| ИЗ
| РегистрНакопления.МатериалыИРаботыВПроизводстве КАК Затраты
| ГДЕ
| Затраты.Организация В (&Организация)
| И (Затраты.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И Затраты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| И Затраты.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода
| И Затраты.Регистратор ССЫЛКА Документ.ПеремещениеМатериаловВПроизводстве
| И Затраты.Количество > 0
| И Затраты.Активность
|
| СГРУППИРОВАТЬ ПО
| Затраты.Организация,
| Затраты.Номенклатура,
| Затраты.Характеристика,
| Затраты.Серия,
| Затраты.Подразделение,
| Затраты.Назначение
| ) КАК ОстаткиОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ПО (ПолитикиУчетаСерий.Склад = ОстаткиОбороты.Подразделение)
| И (ПолитикиУчетаСерий.Ссылка = ОстаткиОбороты.Номенклатура.ВидНоменклатуры)
|
|ГДЕ
| ОстаткиОбороты.Подразделение ССЫЛКА Справочник.СтруктураПредприятия
|
|СГРУППИРОВАТЬ ПО
| ОстаткиОбороты.Организация,
| ОстаткиОбороты.Номенклатура,
| ОстаткиОбороты.Характеристика,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УчетСебестоимостиПоСериям)
| ТОГДА ОстаткиОбороты.Серия
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ,
| ОстаткиОбороты.Подразделение,
| ОстаткиОбороты.Назначение
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| Номенклатура,
| Характеристика,
| Серия,
| Подразделение
|;
|
|
|ВЫБРАТЬ
| ДокументРаспределения.Организация КАК Организация,
| ДокументРаспределения.Номенклатура КАК Номенклатура,
| ДокументРаспределения.Характеристика КАК Характеристика,
| ДокументРаспределения.Серия КАК Серия,
| ДокументРаспределения.Подразделение КАК Подразделение,
| ДокументРаспределения.Ссылка КАК Документ,
| ДокументРаспределения.КоличествоФакт КАК ФактОстаток,
| ДокументРаспределения.КоличествоКРаспределениюПоПравилу КАК РаспределеноПоБазе,
| СУММА(ЕСТЬNULL(ТЧЭтапыГрафикаПроизводства.Количество, 0)) КАК РаспределеноНаПроизводство,
| СУММА(0) КАК СписаноНаРасходы,
| ДокументРаспределения.НовоеПроизводство,
| ДокументРаспределения.Назначение
|ПОМЕСТИТЬ ВТДокументРаспределения
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК ДокументРаспределения
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеПроизводственныхЗатрат.ЭтапыГрафикаПроизводства КАК ТЧЭтапыГрафикаПроизводства
| ПО ДокументРаспределения.Ссылка = ТЧЭтапыГрафикаПроизводства.Ссылка
|ГДЕ
| ДокументРаспределения.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода
| И ДокументРаспределения.Организация В (&Организация)
| И (ДокументРаспределения.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И ДокументРаспределения.Проведен
|
|СГРУППИРОВАТЬ ПО
| ДокументРаспределения.Организация,
| ДокументРаспределения.Номенклатура,
| ДокументРаспределения.Характеристика,
| ДокументРаспределения.Серия,
| ДокументРаспределения.Подразделение,
| ДокументРаспределения.Ссылка,
| ДокументРаспределения.КоличествоФакт,
| ДокументРаспределения.КоличествоКРаспределениюПоПравилу,
| ДокументРаспределения.НовоеПроизводство,
| ДокументРаспределения.Назначение
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДокументРаспределения.Организация,
| ДокументРаспределения.Номенклатура,
| ДокументРаспределения.Характеристика,
| ДокументРаспределения.Серия,
| ДокументРаспределения.Подразделение,
| ДокументРаспределения.Ссылка,
| ДокументРаспределения.КоличествоФакт,
| ДокументРаспределения.КоличествоКРаспределениюПоПравилу,
| СУММА(ЕСТЬNULL(ТЧВыпускиБезРаспоряжения.Количество, 0)),
| СУММА(0),
| ДокументРаспределения.НовоеПроизводство,
| ДокументРаспределения.Назначение
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК ДокументРаспределения
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеПроизводственныхЗатрат.ВыпускиБезРаспоряжения КАК ТЧВыпускиБезРаспоряжения
| ПО ДокументРаспределения.Ссылка = ТЧВыпускиБезРаспоряжения.Ссылка
|ГДЕ
| ДокументРаспределения.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода
| И ДокументРаспределения.Организация В (&Организация)
| И (ДокументРаспределения.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И ДокументРаспределения.Проведен
|
|СГРУППИРОВАТЬ ПО
| ДокументРаспределения.Организация,
| ДокументРаспределения.Номенклатура,
| ДокументРаспределения.Характеристика,
| ДокументРаспределения.Серия,
| ДокументРаспределения.Подразделение,
| ДокументРаспределения.Ссылка,
| ДокументРаспределения.КоличествоФакт,
| ДокументРаспределения.КоличествоКРаспределениюПоПравилу,
| ДокументРаспределения.НовоеПроизводство,
| ДокументРаспределения.Назначение
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДокументРаспределения.Организация,
| ДокументРаспределения.Номенклатура,
| ДокументРаспределения.Характеристика,
| ДокументРаспределения.Серия,
| ДокументРаспределения.Подразделение,
| ДокументРаспределения.Ссылка,
| ДокументРаспределения.КоличествоФакт,
| ДокументРаспределения.КоличествоКРаспределениюПоПравилу,
| СУММА(0),
| СУММА(ЕСТЬNULL(ТЧПрочиеРасходы.Количество, 0)),
| ДокументРаспределения.НовоеПроизводство,
| ДокументРаспределения.Назначение
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК ДокументРаспределения
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеПроизводственныхЗатрат.ПрочиеРасходы КАК ТЧПрочиеРасходы
| ПО ДокументРаспределения.Ссылка = ТЧПрочиеРасходы.Ссылка
|ГДЕ
| ДокументРаспределения.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода
| И ДокументРаспределения.Организация В (&Организация)
| И (ДокументРаспределения.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
| И ДокументРаспределения.Проведен
|
|СГРУППИРОВАТЬ ПО
| ДокументРаспределения.Организация,
| ДокументРаспределения.Номенклатура,
| ДокументРаспределения.Характеристика,
| ДокументРаспределения.Серия,
| ДокументРаспределения.Подразделение,
| ДокументРаспределения.Ссылка,
| ДокументРаспределения.КоличествоФакт,
| ДокументРаспределения.КоличествоКРаспределениюПоПравилу,
| ДокументРаспределения.НовоеПроизводство,
| ДокументРаспределения.Назначение
|;
|
|
|ВЫБРАТЬ
| ВТДокументРаспределения.Организация КАК Организация,
| ВТДокументРаспределения.Номенклатура КАК Номенклатура,
| ВТДокументРаспределения.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УчетСебестоимостиПоСериям)
| ТОГДА ВТДокументРаспределения.Серия
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ КАК Серия,
| ВТДокументРаспределения.Подразделение КАК Подразделение,
| ВТДокументРаспределения.Документ,
| ВТДокументРаспределения.ФактОстаток,
| СУММА(ВТДокументРаспределения.РаспределеноНаПроизводство)
| + ВТДокументРаспределения.РаспределеноПоБазе КАК РаспределеноНаПроизводство,
| СУММА(ВТДокументРаспределения.СписаноНаРасходы) КАК СписаноНаРасходы,
| ВТДокументРаспределения.НовоеПроизводство,
| ВТДокументРаспределения.Назначение
|ПОМЕСТИТЬ ДокументРаспределения
|ИЗ
| ВТДокументРаспределения КАК ВТДокументРаспределения
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ПО (ПолитикиУчетаСерий.Склад = ВТДокументРаспределения.Подразделение)
| И (ПолитикиУчетаСерий.Ссылка = ВТДокументРаспределения.Номенклатура.ВидНоменклатуры)
|ГДЕ
| НЕ ВТДокументРаспределения.НовоеПроизводство ИЛИ ВТДокументРаспределения.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|
|СГРУППИРОВАТЬ ПО
| ВТДокументРаспределения.Организация,
| ВТДокументРаспределения.Номенклатура,
| ВТДокументРаспределения.Характеристика,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УчетСебестоимостиПоСериям)
| ТОГДА ВТДокументРаспределения.Серия
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ,
| ВТДокументРаспределения.Подразделение,
| ВТДокументРаспределения.Документ,
| ВТДокументРаспределения.ФактОстаток,
| ВТДокументРаспределения.РаспределеноПоБазе,
| ВТДокументРаспределения.НовоеПроизводство,
| ВТДокументРаспределения.Назначение
|
|ИМЕЮЩИЕ
| СУММА(ВТДокументРаспределения.СписаноНаРасходы) + ВТДокументРаспределения.ФактОстаток + СУММА(ВТДокументРаспределения.РаспределеноНаПроизводство) + ВТДокументРаспределения.РаспределеноПоБазе <> 0
| ИЛИ ВТДокументРаспределения.РаспределеноПоБазе <> 0
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| Номенклатура,
| Характеристика,
| Серия,
| Подразделение
|;
|
|
|ВЫБРАТЬ
| ОстаткиОбороты.Организация КАК Организация,
| ОстаткиОбороты.Номенклатура КАК Номенклатура,
| ОстаткиОбороты.Характеристика КАК Характеристика,
| ОстаткиОбороты.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
| ОстаткиОбороты.Серия КАК Серия,
| ОстаткиОбороты.Подразделение КАК Подразделение,
| ЕСТЬNULL(ДокументРаспределения.Документ, ЗНАЧЕНИЕ(Документ.РаспределениеПроизводственныхЗатрат.ПустаяСсылка)) КАК Документ,
| ЕСТЬNULL(ДокументРаспределения.НовоеПроизводство, ЛОЖЬ) КАК НовоеПроизводство,
| ОстаткиОбороты.НачальныйОстаток,
| ОстаткиОбороты.Поступило КАК Поступило,
| ОстаткиОбороты.Норматив КАК Норматив,
| ОстаткиОбороты.Отклонение КАК Отклонение,
| ОстаткиОбороты.Реализовано КАК Реализовано,
| ОстаткиОбороты.Передано КАК Передано,
| ОстаткиОбороты.КонечныйОстаток КАК КонечныйОстаток,
| ЕСТЬNULL(ДокументРаспределения.ФактОстаток, 0) КАК ФактОстаток,
| ЕСТЬNULL(ДокументРаспределения.СписаноНаРасходы, 0) КАК СписаноНаРасходы,
| ЕСТЬNULL(ДокументРаспределения.РаспределеноНаПроизводство, 0) КАК РаспределеноНаПроизводство,
| ОстаткиОбороты.Назначение
|ПОМЕСТИТЬ ВТТаблицаДанных
|ИЗ
| ВТОстаткиОбороты КАК ОстаткиОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ ДокументРаспределения КАК ДокументРаспределения
| ПО ОстаткиОбороты.Организация = ДокументРаспределения.Организация
| И ОстаткиОбороты.Номенклатура = ДокументРаспределения.Номенклатура
| И ОстаткиОбороты.Характеристика = ДокументРаспределения.Характеристика
| И ОстаткиОбороты.Серия = ДокументРаспределения.Серия
| И ОстаткиОбороты.Подразделение = ДокументРаспределения.Подразделение
| И ОстаткиОбороты.Назначение = ДокументРаспределения.Назначение
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДокументРаспределения.Организация,
| ДокументРаспределения.Номенклатура,
| ДокументРаспределения.Характеристика,
| ДокументРаспределения.Номенклатура.ВидНоменклатуры,
| ДокументРаспределения.Серия,
| ДокументРаспределения.Подразделение,
| ДокументРаспределения.Документ,
| ДокументРаспределения.НовоеПроизводство,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| ДокументРаспределения.ФактОстаток,
| ДокументРаспределения.СписаноНаРасходы,
| ДокументРаспределения.РаспределеноНаПроизводство,
| ДокументРаспределения.Назначение
|ИЗ
| ДокументРаспределения КАК ДокументРаспределения
| ЛЕВОЕ СОЕДИНЕНИЕ ВТОстаткиОбороты КАК ОстаткиОбороты
| ПО ДокументРаспределения.Организация = ОстаткиОбороты.Организация
| И ДокументРаспределения.Номенклатура = ОстаткиОбороты.Номенклатура
| И ДокументРаспределения.Характеристика = ОстаткиОбороты.Характеристика
| И ДокументРаспределения.Серия = ОстаткиОбороты.Серия
| И ДокументРаспределения.Подразделение = ОстаткиОбороты.Подразделение
| И ДокументРаспределения.Назначение = ОстаткиОбороты.Назначение
|ГДЕ
| ОстаткиОбороты.Номенклатура ЕСТЬ NULL
|;
|
|
|ВЫБРАТЬ
| Материалы.Ссылка.Организация КАК Организация,
| Материалы.Номенклатура,
| Материалы.Характеристика,
| СУММА(Материалы.Количество) КАК Количество,
| Материалы.Подразделение,
| Материалы.Назначение,
| Материалы.Серия
|ПОМЕСТИТЬ ВТЛимитыНЗП
|ИЗ
| Документ.ИзделияИЗатратыНЗП.МатериалыИУслуги КАК Материалы
|ГДЕ
| Материалы.Ссылка.Проведен
| И Материалы.Ссылка.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода
| И Материалы.Ссылка.Организация В (&Организация)
| И (Материалы.Подразделение В (&Подразделения)
| ИЛИ &ВсеПодразделения)
|
|СГРУППИРОВАТЬ ПО
| Материалы.Ссылка.Организация,
| Материалы.Номенклатура,
| Материалы.Характеристика,
| Материалы.Подразделение,
| Материалы.Назначение,
| Материалы.Серия
|;
|
|
|ВЫБРАТЬ
| ТаблицаДанных.Документ КАК Ссылка,
| ТаблицаДанных.Документ КАК Документ,
| ТаблицаДанных.НовоеПроизводство КАК НовоеПроизводство,
| ТаблицаДанных.Номенклатура КАК Номенклатура,
| СпрНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ВЫБОР
| КОГДА СпрНоменклатура.ИспользованиеХарактеристик В (ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеДляВидаНоменклатуры),
| ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеСДругимВидомНоменклатуры),
| ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ИндивидуальныеДляНоменклатуры))
| ТОГДА ИСТИНА
| ИНАЧЕ ВЫБОР
| КОГДА ТаблицаДанных.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| КОНЕЦ КАК ХарактеристикиИспользуются,
| ТаблицаДанных.Характеристика КАК Характеристика,
| ТаблицаДанных.Серия КАК Серия,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УчетСебестоимостиПоСериям)
| ТОГДА ВЫБОР
| КОГДА ТаблицаДанных.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УправлениеОстаткамиСерий)
| ТОГДА 9
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.УправлениеПоFEFOОстаткамиСерий)
| ТОГДА 5
| ИНАЧЕ 0
| КОНЕЦ КАК СтатусУказанияСерий,
| ТаблицаДанных.Назначение,
| ТаблицаДанных.Организация КАК Организация,
| ТаблицаДанных.Подразделение КАК Подразделение,
| ТаблицаДанных.НачальныйОстаток КАК НачальныйОстаток,
| ТаблицаДанных.Поступило КАК Поступило,
| ТаблицаДанных.Норматив КАК Норматив,
| ТаблицаДанных.Отклонение КАК Отклонение,
| ТаблицаДанных.Реализовано КАК Реализовано,
| ТаблицаДанных.СписаноНаРасходы КАК СписаноНаРасходы,
| ТаблицаДанных.Передано КАК Передано,
| ТаблицаДанных.РаспределеноНаПроизводство КАК РаспределеноНаПроизводство,
| ТаблицаДанных.ФактОстаток КАК ФактОстаток,
| ТаблицаДанных.КонечныйОстаток - ТаблицаДанных.ФактОстаток КАК ВОбработке,
| ЕСТЬNULL(ВТЛимитыНЗП.Количество, 0) КАК ЛимитВОбработке,
| ЕСТЬNULL(ТаблицаДанных.Поступило + ТаблицаДанных.НачальныйОстаток - ТаблицаДанных.Норматив - ТаблицаДанных.Отклонение - ТаблицаДанных.ФактОстаток - ТаблицаДанных.Реализовано - ТаблицаДанных.Передано - ТаблицаДанных.СписаноНаРасходы - ТаблицаДанных.РаспределеноНаПроизводство, 0) КАК НеРаспределено
|ПОМЕСТИТЬ ТаблицаДанных
|ИЗ
| ВТТаблицаДанных КАК ТаблицаДанных
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО ТаблицаДанных.Номенклатура = СпрНоменклатура.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ПО (ПолитикиУчетаСерий.Склад = ТаблицаДанных.Подразделение)
| И (ПолитикиУчетаСерий.Ссылка = ТаблицаДанных.ВидНоменклатуры)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЛимитыНЗП КАК ВТЛимитыНЗП
| ПО ТаблицаДанных.Организация = ВТЛимитыНЗП.Организация
| И ТаблицаДанных.Номенклатура = ВТЛимитыНЗП.Номенклатура
| И ТаблицаДанных.Характеристика = ВТЛимитыНЗП.Характеристика
| И ТаблицаДанных.Серия = ВТЛимитыНЗП.Серия
| И ТаблицаДанных.Подразделение = ВТЛимитыНЗП.Подразделение
| И ТаблицаДанных.Назначение = ВТЛимитыНЗП.Назначение
|;
|
|
|ВЫБРАТЬ
| ТаблицаДанных.Документ,
| ТаблицаДанных.НовоеПроизводство,
| ТаблицаДанных.Номенклатура,
| ТаблицаДанных.ТипНоменклатуры,
| ТаблицаДанных.ХарактеристикиИспользуются,
| ТаблицаДанных.Характеристика,
| ТаблицаДанных.Серия,
| ТаблицаДанных.СтатусУказанияСерий,
| ТаблицаДанных.Назначение,
| ТаблицаДанных.Организация,
| ТаблицаДанных.Подразделение,
| ТаблицаДанных.НачальныйОстаток,
| ТаблицаДанных.Поступило,
| ТаблицаДанных.Норматив,
| ТаблицаДанных.Отклонение,
| ТаблицаДанных.Реализовано,
| ТаблицаДанных.СписаноНаРасходы,
| ТаблицаДанных.Передано,
| ТаблицаДанных.РаспределеноНаПроизводство,
| ТаблицаДанных.ФактОстаток,
| ТаблицаДанных.ВОбработке,
| ТаблицаДанных.ЛимитВОбработке,
| ТаблицаДанных.НеРаспределено,
| ВЫБОР
| КОГДА ТаблицаДанных.НеРаспределено < 0
| ТОГДА ТаблицаДанных.НеРаспределено
| КОГДА ТаблицаДанных.НеРаспределено > ТаблицаДанных.ЛимитВОбработке
| ТОГДА ТаблицаДанных.НеРаспределено - ТаблицаДанных.ЛимитВОбработке
| ИНАЧЕ 0
| КОНЕЦ КАК КРаспределению,
| ВЫБОР
| КОГДА ТаблицаДанных.НеРаспределено < 0
| ИЛИ ТаблицаДанных.НеРаспределено - ТаблицаДанных.ЛимитВОбработке > 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК Состояние
|ПОМЕСТИТЬ МатериалыИРаботы
|ИЗ
| ТаблицаДанных КАК ТаблицаДанных
|;
|";
Если Не ВоВременнуюТаблицу Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПОМЕСТИТЬ МатериалыИРаботы", "");
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
Процедура ЗаполнитьИменаРеквизитовПоСвойствамДокумента(Параметры, МассивВсехРеквизитов, МассивРеквизитовОперации) Экспорт
МассивВсехРеквизитов = Новый Массив;
МассивВсехРеквизитов.Добавить("Склад");
МассивВсехРеквизитов.Добавить("СтраницаВыпускиБезРаспоряжения");
МассивВсехРеквизитов.Добавить("СтраницаЭтапы");
МассивВсехРеквизитов.Добавить("СтраницаПартииПроизводства");
МассивВсехРеквизитов.Добавить("ФактическийОстаток");
МассивВсехРеквизитов.Добавить("ГруппаШапка");
МассивВсехРеквизитов.Добавить("ДекорацияДанныеДляБазыРаспределения");
МассивРеквизитовОперации = Новый Массив;
Если Параметры.НовоеПроизводство Тогда
Если Параметры.ТипНоменклатуры <> Перечисления.ТипыНоменклатуры.Работа Тогда
МассивРеквизитовОперации.Добавить("Склад");
КонецЕсли;
МассивРеквизитовОперации.Добавить("СтраницаПартииПроизводства");
МассивРеквизитовОперации.Добавить("ГруппаШапка");
Иначе
МассивРеквизитовОперации.Добавить("СтраницаВыпускиБезРаспоряжения");
МассивРеквизитовОперации.Добавить("ФактическийОстаток");
МассивРеквизитовОперации.Добавить("ДекорацияДанныеДляБазыРаспределения");
Если Не ПолучитьФункциональнуюОпцию("КомплекснаяАвтоматизация") Тогда
МассивРеквизитовОперации.Добавить("СтраницаЭтапы");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Функция ПараметрыНастройкиСчетовУчета() Экспорт
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ДоступностьПоОперации = Истина;
ПараметрыНастройки.ПутьКДанным = "Объект.ПрочиеРасходы";
ПараметрыНастройки.ТипСтатьи = "ТипСтатьи";
ПараметрыНастройки.Организация = "Объект.Организация";
ПараметрыНастройки.ЭлементыФормы.Добавить("ПрочиеРасходыПредставлениеОтраженияОперации");
Возврат ПараметрыНастройки;
КонецФункции
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.ПрочиеРасходы";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
МассивВариантов = Новый Массив;
МассивВариантов.Добавить(Перечисления.ВариантыРаспределенияРасходов.НаНаправленияДеятельности);
МассивВариантов.Добавить(Перечисления.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов);
МассивВариантов.Добавить(Перечисления.ВариантыРаспределенияРасходов.НаПроизводственныеЗатраты);
МассивВариантов.Добавить(Перечисления.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы);
МассивВариантов.Добавить(Перечисления.ВариантыРаспределенияРасходов.НеРаспределять);
МассивВариантов.Добавить(Перечисления.ВариантыРаспределенияРасходов.НаОбъектыВозникновенияЗатрат);
МассивВариантов.Добавить(Перечисления.ВариантыРаспределенияРасходов.НаСебестоимостьПроизводства);
МассивВариантов.Добавить(Перечисления.ВариантыРаспределенияРасходов.НаСебестоимостьТоваров);
МассивВариантов.Добавить(Перечисления.ВариантыРаспределенияРасходов.НаСебестоимостьПродаж);
ПараметрыВыбора.ОтборСтатейРасходов.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.СписаниеТоваровПоТребованию;
ПараметрыВыбора.ОтборСтатейРасходов.ВариантРаспределенияРасходов = МассивВариантов;
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ПрочиеРасходыСтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("ПрочиеРасходыАналитикаРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("ПрочиеРасходыАналитикаАктивовПассивов");
Возврат ПараметрыВыбора;
КонецФункции
Функция ПравилаПечатиЗаданияНаОтборРазмещение() Экспорт
Возврат Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ПравилаПечатиЗаданияНаОтборРазмещение();;
КонецФункции
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ШаблонПредставления = НСтр("ru = 'Распределение материала (работы) ""%1"" за %2 (№%3)'");
ПредставлениеМатериала = НоменклатураКлиентСервер.ПредставлениеНоменклатуры(Данные.Номенклатура, Данные.Характеристика, Данные.Серия);
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПредставления,
ПредставлениеМатериала,
Формат(Данные.Дата,НСтр("ru='ДФ=''ММММ гггг'''")), Данные.Номер);
КонецПроцедуры
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Добавить("Номенклатура");
Поля.Добавить("Характеристика");
Поля.Добавить("Серия");
Поля.Добавить("Склад");
Поля.Добавить("Дата");
Поля.Добавить("Номер");
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Склад КАК Склад,
| ДанныеДокумента.Номенклатура КАК Номенклатура,
| ДанныеДокумента.Номенклатура.ПрослеживаемыйТовар КАК ПрослеживаемыйТовар,
| ДанныеДокумента.Характеристика КАК Характеристика,
| ДанныеДокумента.Серия КАК Серия,
| ДанныеДокумента.Назначение КАК Назначение,
| ДанныеДокумента.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Назначение.ДвиженияПоСкладскимРегистрам КАК ДвиженияПоСкладскимРегистрам,
| ДанныеДокумента.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ДанныеДокумента.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ДанныеДокумента.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ДанныеДокумента.НовоеПроизводство КАК НовоеПроизводство,
| ДанныеДокумента.Количество КАК Количество,
| ДанныеДокумента.КоличествоФакт КАК КоличествоФакт,
| ВЫБОР
| КОГДА ДанныеДокумента.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК Работа,
| ДанныеДокумента.Ответственный,
| ДанныеДокумента.Комментарий
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Запрос.УстановитьПараметр("Склад", ?(ЗначениеЗаполнено(Реквизиты.Склад), Реквизиты.Склад, Реквизиты.Подразделение));
Запрос.УстановитьПараметр("ПустоеНазначение", Справочники.Назначения.ПустаяСсылка());
Запрос.УстановитьПараметр("АналитическийУчетПоГруппамПродукции", ПолучитьФункциональнуюОпцию("АналитическийУчетПоГруппамПродукции"));
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета", ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
Запрос.УстановитьПараметр("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Тип("ДокументСсылка.РаспределениеПроизводственныхЗатрат")));
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
Запрос.УстановитьПараметр("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
Запрос.УстановитьПараметр("НастройкаХозяйственнойОперации", Справочники.НастройкиХозяйственныхОпераций.СписаниеРасходовНаПартииПроизводства);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиНоменклатуры(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос;
ЗапросАналитик.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| АналитикаМатериала.Номенклатура КАК Номенклатура,
| АналитикаМатериала.Характеристика КАК Характеристика,
| АналитикаМатериала.Склад КАК Склад,
| АналитикаМатериала.Серия КАК Серия,
| АналитикаМатериала.Назначение КАК Назначение,
| АналитикаМатериала.СтатьяКалькуляции КАК СтатьяКалькуляции
|ИЗ
| (ВЫБРАТЬ
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| Аналитика.МестоХранения КАК Склад,
| Аналитика.Серия КАК Серия,
| &ПустоеНазначение КАК Назначение,
| Аналитика.СтатьяКалькуляции КАК СтатьяКалькуляции
| ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ВидыЗапасов КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ВидыЗапасов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| Аналитика.МестоХранения КАК Склад,
| Аналитика.Серия КАК Серия,
| &ПустоеНазначение КАК Назначение,
| Аналитика.СтатьяКалькуляции КАК СтатьяКалькуляции
| ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ВидыЗапасов КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ВидыЗапасов.КорАналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| Аналитика.МестоХранения КАК Склад,
| Аналитика.Серия КАК Серия,
| &ПустоеНазначение КАК Назначение,
| Аналитика.СтатьяКалькуляции КАК СтатьяКалькуляции
| ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ПартииПроизводства КАК Партии
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО Партии.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
| ГДЕ
| Партии.Ссылка = &Ссылка
|
| ) КАК АналитикаМатериала
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО АналитикаМатериала.Номенклатура = Аналитика.Номенклатура
| И АналитикаМатериала.Характеристика = Аналитика.Характеристика
| И АналитикаМатериала.Склад = Аналитика.МестоХранения
| И АналитикаМатериала.Серия = Аналитика.Серия
| И АналитикаМатериала.Назначение = Аналитика.Назначение
| И АналитикаМатериала.СтатьяКалькуляции = Аналитика.СтатьяКалькуляции
|ГДЕ
| Аналитика.Номенклатура ЕСТЬ NULL ";
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("ПустоеНазначение", Справочники.Назначения.ПустаяСсылка());
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Функция ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "МатериалыИРаботыВПроизводстве";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаЭтапыСерии", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаЭтапыСерии(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВыпускиСерии", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВыпускиСерии(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасходыСерии", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасходыСерии(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК Порядок,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| 0 КАК НомерСтроки,
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Номенклатура КАК Номенклатура,
| &Характеристика КАК Характеристика,
| НЕОПРЕДЕЛЕНО КАК Серия,
| &Назначение КАК Назначение,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| ДанныеДокумента.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК СтатьяКалькуляции,
| НЕОПРЕДЕЛЕНО КАК ЗаказНаПроизводство,
| НЕОПРЕДЕЛЕНО КАК КодСтрокиПродукция,
| НЕОПРЕДЕЛЕНО КАК Этап,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПродукции,
| НЕОПРЕДЕЛЕНО КАК Спецификация,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеПолучатель,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &НовоеПроизводство
| И &Работа
| И НЕ ДанныеДокумента.Количество = 0
| И НЕ &ПрослеживаемыйТовар
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 0 КАК Порядок,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| Этапы.НомерСтроки,
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Номенклатура КАК Номенклатура,
| &Характеристика КАК Характеристика,
| &Серия КАК Серия,
| &Назначение КАК Назначение,
| &АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| Этапы.Количество,
| Этапы.СтатьяКалькуляции,
| Этапы.ЗаказНаПроизводство,
| Этапы.КодСтрокиПродукция,
| Этапы.Этап,
| Значение(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка) КАК АналитикаУчетаПродукции,
| Значение(Справочник.РесурсныеСпецификации.ПустаяСсылка) КАК Спецификация,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеПолучатель,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ЭтапыГрафикаПроизводства КАК Этапы
|ГДЕ
| Этапы.Ссылка = &Ссылка
| И &СтатусУказанияСерий НЕ В (5,6,9,10)
| И НЕ &НовоеПроизводство
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 1,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| Выпуски.НомерСтроки,
| &Период,
| &Организация,
| &Подразделение КАК Подразделение,
| &Номенклатура КАК Номенклатура,
| &Характеристика КАК Характеристика,
| &Серия КАК Серия,
| &Назначение КАК Назначение,
| &АналитикаУчетаНоменклатуры,
| Выпуски.Количество,
| Выпуски.СтатьяКалькуляции,
| ЕСТЬNULL(СтрокиВыпуска.Ссылка, НЕОПРЕДЕЛЕНО),
| Выпуски.КодСтроки,
| НЕОПРЕДЕЛЕНО,
| СтрокиВыпуска.АналитикаУчетаНоменклатуры,
| Выпуски.Спецификация,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеПолучатель,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ВыпускиБезРаспоряжения КАК Выпуски
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВыпускПродукции.Товары КАК СтрокиВыпуска
| ПО СтрокиВыпуска.Ссылка = Выпуски.ДокументВыпуска
| И СтрокиВыпуска.КодСтроки = Выпуски.КодСтроки
|ГДЕ
| Выпуски.Ссылка = &Ссылка
| И &СтатусУказанияСерий НЕ В (5,6,9,10)
| И НЕ &НовоеПроизводство
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 2,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| ПрочиеРасходы.НомерСтроки,
| &Период,
| &Организация,
| &Подразделение КАК Подразделение,
| &Номенклатура КАК Номенклатура,
| &Характеристика КАК Характеристика,
| &Серия КАК Серия,
| &Назначение КАК Назначение,
| &АналитикаУчетаНоменклатуры,
| ПрочиеРасходы.Количество,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| ПрочиеРасходы.СтатьяРасходов,
| ПрочиеРасходы.АналитикаРасходов,
| ВЫБОР
| КОГДА ПрочиеРасходы.Подразделение = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ ПрочиеРасходы.Подразделение
| КОНЕЦ КАК ПодразделениеПолучатель,
| ПрочиеРасходы.АналитикаАктивовПассивов,
| ПрочиеРасходы.ИдентификаторСтроки
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ПрочиеРасходы КАК ПрочиеРасходы
|ГДЕ
| ПрочиеРасходы.Ссылка = &Ссылка
| И &СтатусУказанияСерий НЕ В (5,6,9,10)
| И НЕ &НовоеПроизводство
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 3,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| 0,
| &Период,
| &Организация,
| &Подразделение КАК Подразделение,
| &Номенклатура КАК Номенклатура,
| &Характеристика КАК Характеристика,
| ТаблицаЭтапыСерии.Серия,
| &Назначение КАК Назначение,
| &АналитикаУчетаНоменклатуры,
| ТаблицаЭтапыСерии.Количество,
| ТаблицаЭтапыСерии.СтатьяКалькуляции,
| ТаблицаЭтапыСерии.ЗаказНаПроизводство,
| ТаблицаЭтапыСерии.КодСтрокиПродукция,
| ТаблицаЭтапыСерии.Этап,
| Значение(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка) КАК АналитикаУчетаПродукции,
| Значение(Справочник.РесурсныеСпецификации.ПустаяСсылка) КАК Спецификация,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеПолучатель,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки
|ИЗ
| ВтТаблицаЭтапыСерии КАК ТаблицаЭтапыСерии
|ГДЕ
| &СтатусУказанияСерий В (5,6,9,10)
| И НЕ &НовоеПроизводство
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 3,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| 0,
| &Период,
| &Организация,
| &Подразделение КАК Подразделение,
| &Номенклатура КАК Номенклатура,
| &Характеристика КАК Характеристика,
| ТаблицаВыпускиСерии.Серия,
| &Назначение КАК Назначение,
| &АналитикаУчетаНоменклатуры,
| ТаблицаВыпускиСерии.Количество,
| ТаблицаВыпускиСерии.СтатьяКалькуляции,
| ТаблицаВыпускиСерии.ДокументВыпуска,
| ТаблицаВыпускиСерии.КодСтроки,
| НЕОПРЕДЕЛЕНО,
| СтрокиВыпуска.АналитикаУчетаНоменклатуры,
| ТаблицаВыпускиСерии.Спецификация,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеПолучатель,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки
|ИЗ
| ВтТаблицаВыпускиСерии КАК ТаблицаВыпускиСерии
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВыпускПродукции.Товары КАК СтрокиВыпуска
| ПО СтрокиВыпуска.Ссылка = ТаблицаВыпускиСерии.ДокументВыпуска
| И СтрокиВыпуска.КодСтроки = ТаблицаВыпускиСерии.КодСтроки
|ГДЕ
| &СтатусУказанияСерий В (5,6,9,10)
| И НЕ &НовоеПроизводство
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 2,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| 0,
| &Период,
| &Организация,
| ТаблицаРасходыСерии.Подразделение КАК Подразделение,
| &Номенклатура КАК Номенклатура,
| &Характеристика КАК Характеристика,
| ТаблицаРасходыСерии.Серия КАК Серия,
| &Назначение КАК Назначение,
| &АналитикаУчетаНоменклатуры,
| ТаблицаРасходыСерии.Количество,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| ТаблицаРасходыСерии.СтатьяРасходов,
| ТаблицаРасходыСерии.АналитикаРасходов,
| &Подразделение КАК ПодразделениеПолучатель,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки
|ИЗ
| ВтТаблицаРасходыСерии КАК ТаблицаРасходыСерии
|ГДЕ
| &СтатусУказанияСерий В (5,6,9,10)
| И НЕ &НовоеПроизводство
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВидыЗапасовИРаботы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВидыЗапасовИРаботы";
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| Аналитика.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| СпрВидыЗапасов.ТипЗапасов КАК ТипЗапасов,
| СпрВидыЗапасов.ВидЗапасовВладельца КАК ВидЗапасовВладельца,
| СпрВидыЗапасов.РеализацияЗапасовДругойОрганизации КАК РеализацияЗапасовДругойОрганизации,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| Аналитика.МестоХранения КАК Склад,
| Аналитика.Назначение КАК Назначение,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК НалогообложениеНДС,
| ТаблицаВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаВидыЗапасов.Подразделение КАК ПодразделениеПолучательРасходов,
| ТаблицаВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаВидыЗапасов.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаВидыЗапасов.ПартияПроизводства КАК ПартияПроизводства,
| ВЫБОР
| КОГДА НЕ СпрПартииПроизводства.ГруппаПродукции = ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА СпрПартииПроизводства.ГруппаПродукции
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаФинансовогоУчета,
| ВЫБОР
| КОГДА СпрВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.МатериалДавальца)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.МатериалыПринятыеВПереработку)
| КОГДА СпрВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаОтветхранение)
| КОГДА СпрВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОНЕЦ КАК РазделУчета,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеТоваровПоТребованию) ТОГДА
| НЕОПРЕДЕЛЕНО
| КОГДА СпрВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.МатериалДавальца)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.МатериалыПринятыеВПереработку)
| КОГДА СпрВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаОтветхранение)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство)
| КОНЕЦ КАК РазделУчетаПолучателя,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеТоваровПоТребованию) ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| ТаблицаВидыЗапасов.ВидЗапасовПолучателя
| КОНЕЦ КАК ВидЗапасовПолучателя,
| ТаблицаВидыЗапасов.КорАналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| КорАналитикаБезНазначения.КлючАналитики КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КлючиКомитента.КлючАналитики КАК АналитикаКомитента,
| АналитикаРасчетовСКомитентом.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| СпрПартииПроизводства.ВидДеятельностиНДС КАК КорВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЕСТЬNULL(НастройкиХозяйственныхОпераций.Ссылка, &НастройкаХозяйственнойОперации) КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВидыЗапасовИРаботы
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ВидыЗапасов КАК ТаблицаВидыЗапасов
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК СпрВидыЗапасов
| ПО ТаблицаВидыЗапасов.ВидЗапасов = СпрВидыЗапасов.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И &ПустоеНазначение = АналитикаБезНазначения.Назначение
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК КорАналитика
| ПО ТаблицаВидыЗапасов.КорАналитикаУчетаНоменклатуры = КорАналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК КорАналитикаБезНазначения
| ПО КорАналитика.Номенклатура = КорАналитикаБезНазначения.Номенклатура
| И КорАналитика.Характеристика = КорАналитикаБезНазначения.Характеристика
| И &ПустоеНазначение = КорАналитикаБезНазначения.Назначение
| И КорАналитика.Серия = КорАналитикаБезНазначения.Серия
| И КорАналитика.МестоХранения = КорАналитикаБезНазначения.МестоХранения
| И КорАналитика.СтатьяКалькуляции = КорАналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК СпрПартииПроизводства
| ПО СпрПартииПроизводства.Ссылка = ТаблицаВидыЗапасов.ПартияПроизводства
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиКомитента
| ПО Аналитика.Номенклатура = КлючиКомитента.Номенклатура
| И Аналитика.Характеристика = КлючиКомитента.Характеристика
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = КлючиКомитента.СтатьяКалькуляции
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = КлючиКомитента.Назначение
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = КлючиКомитента.Серия
| И СпрВидыЗапасов.ВладелецТовара = КлючиКомитента.МестоХранения
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаРасчетовСКомитентом
| ПО &Организация = АналитикаРасчетовСКомитентом.Организация
| И СпрВидыЗапасов.ВладелецТовара = АналитикаРасчетовСКомитентом.Партнер
| И СпрВидыЗапасов.Контрагент = АналитикаРасчетовСКомитентом.Контрагент
| И СпрВидыЗапасов.Договор = АналитикаРасчетовСКомитентом.Договор
| И ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) = АналитикаРасчетовСКомитентом.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ТаблицаВидыЗапасов.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РаспределениеНаПартии.НомерСтроки КАК НомерСтроки,
| Аналитика.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК ТипЗапасов,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасовВладельца,
| ЛОЖЬ КАК РеализацияЗапасовДругойОрганизации,
| НЕОПРЕДЕЛЕНО КАК НомерГТД,
| Реквизиты.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| Аналитика.МестоХранения КАК Склад,
| Аналитика.Назначение КАК Назначение,
| РаспределениеНаПартии.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеРасходовНаПартииПроизводства) КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК НалогообложениеНДС,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеПолучательРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК НастройкаСчетовУчета,
| РаспределениеНаПартии.ПартияПроизводства КАК ПартияПроизводства,
| ВЫБОР
| КОГДА НЕ СпрПартииПроизводства.ГруппаПродукции = ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА СпрПартииПроизводства.ГруппаПродукции
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаФинансовогоУчета,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты) КАК РазделУчета,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК РазделУчетаПолучателя,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасовПолучателя,
| РаспределениеНаПартии.АналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| АналитикаПолучателяБезНазначения.КлючАналитики КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| НЕОПРЕДЕЛЕНО КАК АналитикаКомитента,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПоПартнерам,
| СпрПартииПроизводства.ВидДеятельностиНДС КАК КорВидДеятельностиНДС,
| РаспределениеНаПартии.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ПартииПроизводства КАК РаспределениеНаПартии
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.РаспределениеПроизводственныхЗатрат КАК Реквизиты
| ПО
| РаспределениеНаПартии.Ссылка = Реквизиты.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО
| Реквизиты.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО
| Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И &ПустоеНазначение = АналитикаБезНазначения.Назначение
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Справочник.КлючиАналитикиУчетаНоменклатуры КАК АналитикаПолучателя
| ПО
| РаспределениеНаПартии.АналитикаУчетаНоменклатуры = АналитикаПолучателя.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПолучателяБезНазначения
| ПО
| АналитикаПолучателя.Номенклатура = АналитикаПолучателяБезНазначения.Номенклатура
| И АналитикаПолучателя.Характеристика = АналитикаПолучателяБезНазначения.Характеристика
| И &ПустоеНазначение = АналитикаПолучателяБезНазначения.Назначение
| И АналитикаПолучателя.Серия = АналитикаПолучателяБезНазначения.Серия
| И АналитикаПолучателя.МестоХранения = АналитикаПолучателяБезНазначения.МестоХранения
| И АналитикаПолучателя.СтатьяКалькуляции = АналитикаПолучателяБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК СпрПартииПроизводства
| ПО СпрПартииПроизводства.Ссылка = РаспределениеНаПартии.ПартияПроизводства
|
|ГДЕ
| РаспределениеНаПартии.Ссылка = &Ссылка
| И Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ &ПрослеживаемыйТовар
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РаспределениеНаРасходы.НомерСтроки КАК НомерСтроки,
| Аналитика.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК ТипЗапасов,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасовВладельца,
| ЛОЖЬ КАК РеализацияЗапасовДругойОрганизации,
| НЕОПРЕДЕЛЕНО КАК НомерГТД,
| Реквизиты.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| Аналитика.МестоХранения КАК Склад,
| Аналитика.Назначение КАК Назначение,
| РаспределениеНаРасходы.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеТоваровПоТребованию) КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК НалогообложениеНДС,
| РаспределениеНаРасходы.СтатьяРасходов КАК СтатьяРасходов,
| ВЫБОР
| КОГДА РаспределениеНаРасходы.Подразделение = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ РаспределениеНаРасходы.Подразделение
| КОНЕЦ КАК ПодразделениеПолучательРасходов,
| РаспределениеНаРасходы.АналитикаРасходов КАК АналитикаРасходов,
| РаспределениеНаРасходы.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| РаспределениеНаРасходы.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Справочник.ПартииПроизводства.ПустаяСсылка) КАК ПартияПроизводства,
| НЕОПРЕДЕЛЕНО КАК АналитикаФинансовогоУчета,
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты) КАК РазделУчета,
| НЕОПРЕДЕЛЕНО КАК РазделУчетаПолучателя,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасовПолучателя,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатурыБезНазначения,
| РаспределениеНаРасходы.ИдентификаторСтроки КАК ИдентификаторСтроки,
| НЕОПРЕДЕЛЕНО КАК АналитикаКомитента,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПоПартнерам,
| НЕОПРЕДЕЛЕНО КАК КорВидДеятельностиНДС,
| РаспределениеНаРасходы.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СписаниеТоваровПоТребованию) КАК НастройкаХозяйственныхОпераций
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ПрочиеРасходы КАК РаспределениеНаРасходы
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.РаспределениеПроизводственныхЗатрат КАК Реквизиты
| ПО
| РаспределениеНаРасходы.Ссылка = Реквизиты.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО
| Реквизиты.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО
| Аналитика.Номенклатура = АналитикаБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаБезНазначения.Характеристика
| И &ПустоеНазначение = АналитикаБезНазначения.Назначение
| И Аналитика.Серия = АналитикаБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаБезНазначения.МестоХранения
| И Аналитика.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
|
|ГДЕ
| РаспределениеНаРасходы.Ссылка = &Ссылка
| И Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ &ПрослеживаемыйТовар
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВидыЗапасовИРаботы", ТекстыЗапроса) Тогда
ТекстЗапросаВидыЗапасовИРаботы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| 1 КАК Порядок,
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &Организация КАК ОрганизацияОтгрузки,
| ВЫБОР КОГДА ВидыЗапасов.РеализацияЗапасовДругойОрганизации ТОГДА
| ВидыЗапасов.ВидЗапасовВладельца.Организация
| ИНАЧЕ
| &Организация
| КОНЕЦ КАК Организация,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| СУММА(ВидыЗапасов.Количество) КАК Количество,
| СУММА(ВидыЗапасов.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| ВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ИЗ
| ВидыЗапасовИРаботы КАК ВидыЗапасов
|
|ГДЕ
| &НовоеПроизводство
| И НЕ (ВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ &ПрослеживаемыйТовар)
|
|СГРУППИРОВАТЬ ПО
| ВидыЗапасов.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА ВидыЗапасов.РеализацияЗапасовДругойОрганизации ТОГДА
| ВидыЗапасов.ВидЗапасовВладельца.Организация
| ИНАЧЕ
| &Организация
| КОНЕЦ,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.ХозяйственнаяОперация
|
|УПОРЯДОЧИТЬ ПО
| Порядок,
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыКОформлениюОтчетовКомитенту(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыКОформлениюОтчетовКомитенту";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВидыЗапасовИРаботы", ТекстыЗапроса) Тогда
ТекстЗапросаВидыЗапасовИРаботы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.АналитикаКомитента КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов.Валюта КАК Валюта,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| 0 КАК Количество,
| 0 КАК СуммаВыручки,
| 0 КАК СуммаВыручкиРегл,
| 0 КАК СуммаВыручкиУпр,
| ТаблицаВидыЗапасов.Количество КАК КоличествоСписано,
| 0 КАК КоличествоКОформлению,
| 0 КАК КоличествоКОформлениюПоРНПТ,
| 0 КАК СуммаВыручкиКОформлению,
| ТаблицаВидыЗапасов.Количество КАК КоличествоСписаноКОформлению,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоСписаноКОформлениюПоРНПТ,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВидыЗапасовИРаботы КАК ТаблицаВидыЗапасов
|
|ГДЕ
| ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОформитьОтгрузкуТоваров(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаДанныхДокумента =
"ВЫБРАТЬ
| ТоварыДокумента.Ссылка КАК Ссылка,
| ТоварыДокумента.Дата КАК Период,
| НЕОПРЕДЕЛЕНО КАК Заказ,
| ТоварыДокумента.Ссылка КАК Накладная,
| ЛОЖЬ КАК Исправление,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ТоварыДокумента.Подразделение КАК Получатель,
| ТоварыДокумента.Склад КАК Склад,
| ТоварыДокумента.Номенклатура КАК Номенклатура,
| ТоварыДокумента.Характеристика КАК Характеристика,
| ТоварыДокумента.Назначение КАК Назначение,
| ТоварыДокумента.Серия КАК Серия,
| ТоварыДокумента.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТоварыДокумента.Количество КАК Количество,
| ЛОЖЬ КАК СверхЗаказа,
| ЛОЖЬ КАК ОтгрузкаПоЗаказу
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК ТоварыДокумента
|ГДЕ
| ТоварыДокумента.Ссылка В(&Ссылка)
| И ТоварыДокумента.НовоеПроизводство
| И ТоварыДокумента.СтатусУказанияСерий <> 10";
СкладыСервер.ОформитьОтгрузкуТоваров(Запрос,
ТекстыЗапроса,
Регистры,
ТекстЗапросаДанныхДокумента,
Метаданные.Документы.РаспределениеПроизводственныхЗатрат,
"Серии");
ТекстЗапросаДанныхДокумента =
"ВЫБРАТЬ
| ТоварыДокумента.Ссылка КАК Ссылка,
| ДанныеШапки.Дата КАК Период,
| НЕОПРЕДЕЛЕНО КАК Заказ,
| ДанныеШапки.Ссылка КАК Накладная,
| ЛОЖЬ КАК Исправление,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ДанныеШапки.Подразделение КАК Получатель,
| ДанныеШапки.Склад КАК Склад,
| ТоварыДокумента.Номенклатура КАК Номенклатура,
| ТоварыДокумента.Характеристика КАК Характеристика,
| ТоварыДокумента.Назначение КАК Назначение,
| ТоварыДокумента.Серия КАК Серия,
| ДанныеШапки.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТоварыДокумента.Количество КАК Количество,
| ЛОЖЬ КАК СверхЗаказа,
| ЛОЖЬ КАК ОтгрузкаПоЗаказу
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.Серии КАК ТоварыДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РаспределениеПроизводственныхЗатрат КАК ДанныеШапки
| ПО ТоварыДокумента.Ссылка = ДанныеШапки.Ссылка
| И ТоварыДокумента.Номенклатура = ДанныеШапки.Номенклатура
| И ТоварыДокумента.Характеристика = ДанныеШапки.Характеристика
| И ТоварыДокумента.Назначение = ДанныеШапки.Назначение
|
|ГДЕ
| ТоварыДокумента.Ссылка В(&Ссылка)
| И ДанныеШапки.НовоеПроизводство
| И ДанныеШапки.СтатусУказанияСерий = 10";
СкладыСервер.ОформитьОтгрузкуТоваров(Запрос,
ТекстыЗапроса,
Регистры,
ТекстЗапросаДанныхДокумента,
Метаданные.Документы.РаспределениеПроизводственныхЗатрат,
"Серии");
КонецПроцедуры
Процедура ЗапланироватьОтгрузкуТоваров(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаДанныхДокумента =
"ВЫБРАТЬ
| Реквизиты.Ссылка КАК Ссылка,
| Реквизиты.Дата КАК Период,
| НЕОПРЕДЕЛЕНО КАК Заказ,
| Реквизиты.Ссылка КАК Накладная,
| ЛОЖЬ КАК Исправление,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| Реквизиты.Подразделение КАК Получатель,
| Реквизиты.Склад КАК Склад,
| Реквизиты.Номенклатура КАК Номенклатура,
| Реквизиты.Характеристика КАК Характеристика,
| Реквизиты.Назначение КАК Назначение,
| Реквизиты.Серия КАК Серия,
| Реквизиты.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Реквизиты.Количество КАК Количество,
| ЛОЖЬ КАК СверхЗаказа,
| ЛОЖЬ КАК Отменено,
| ИСТИНА КАК ЭтоНакладная,
| ЛОЖЬ КАК ОтгрузкаПоЗаказу
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК Реквизиты
|ГДЕ
| Реквизиты.Ссылка В(&Ссылка)
| И Реквизиты.НовоеПроизводство
| И Реквизиты.СтатусУказанияСерий <> 10";
СкладыСервер.ЗапланироватьОтгрузкуТоваров(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанныхДокумента);
ТекстЗапросаДанныхДокумента =
"ВЫБРАТЬ
| ТоварыДокумента.Ссылка КАК Ссылка,
| ДанныеШапки.Дата КАК Период,
| НЕОПРЕДЕЛЕНО КАК Заказ,
| ДанныеШапки.Ссылка КАК Накладная,
| ЛОЖЬ КАК Исправление,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ДанныеШапки.Подразделение КАК Получатель,
| ДанныеШапки.Склад КАК Склад,
| ТоварыДокумента.Номенклатура КАК Номенклатура,
| ТоварыДокумента.Характеристика КАК Характеристика,
| ТоварыДокумента.Назначение КАК Назначение,
| ТоварыДокумента.Серия КАК Серия,
| ДанныеШапки.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТоварыДокумента.Количество КАК Количество,
| ЛОЖЬ КАК СверхЗаказа,
| ЛОЖЬ КАК Отменено,
| ИСТИНА КАК ЭтоНакладная,
| ЛОЖЬ КАК ОтгрузкаПоЗаказу
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.Серии КАК ТоварыДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РаспределениеПроизводственныхЗатрат КАК ДанныеШапки
| ПО ТоварыДокумента.Ссылка = ДанныеШапки.Ссылка
| И ТоварыДокумента.Номенклатура = ДанныеШапки.Номенклатура
| И ТоварыДокумента.Характеристика = ДанныеШапки.Характеристика
| И ТоварыДокумента.Назначение = ДанныеШапки.Назначение
|
|ГДЕ
| ТоварыДокумента.Ссылка В(&Ссылка)
| И ДанныеШапки.НовоеПроизводство
| И ДанныеШапки.СтатусУказанияСерий = 10";
СкладыСервер.ЗапланироватьОтгрузкуТоваров(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанныхДокумента);
КонецПроцедуры
Функция ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияСерийТоваров";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Номенклатура КАК Номенклатура,
| &Характеристика КАК Характеристика,
| &Назначение КАК Назначение,
| &Серия КАК Серия,
| &Количество КАК Количество,
| &Подразделение КАК Отправитель,
| НЕОПРЕДЕЛЕНО КАК Получатель,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.СписаниеМатериаловНаЗатраты) КАК СкладскаяОперация,
| &Ссылка КАК Документ,
| &Период КАК Период,
| ИСТИНА КАК ЭтоСкладскоеДвижение
|ГДЕ
| &Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Номенклатура КАК Номенклатура,
| &Характеристика КАК Характеристика,
| &Назначение КАК Назначение,
| ТаблицаСерии.Серия КАК Серия,
| ТаблицаСерии.Количество КАК Количество,
| &Подразделение КАК Отправитель,
| НЕОПРЕДЕЛЕНО КАК Получатель,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.СписаниеМатериаловНаЗатраты) КАК СкладскаяОперация,
| &Ссылка КАК Документ,
| &Период КАК Период,
| ИСТИНА КАК ЭтоСкладскоеДвижение
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.Серии КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура УстановитьПараметрыЗапросаТаблицыСерии(Запрос)
Если Запрос.Параметры.Свойство("ТаблицаЭтапыСерии") Тогда
Возврат;
КонецЕсли;
ТаблицаЭтапыСерии = Новый ТаблицаЗначений;
Если НЕ ПолучитьФункциональнуюОпцию("УправлениеПредприятием") Тогда
ТаблицаЭтапыСерии.Колонки.Добавить("ЗаказНаПроизводство", Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(10)));
КонецЕсли;
ТаблицаЭтапыСерии.Колонки.Добавить("КодСтрокиПродукция", Новый ОписаниеТипов("Число"));
ТаблицаЭтапыСерии.Колонки.Добавить("Этап", Новый ОписаниеТипов("СправочникСсылка.ЭтапыПроизводства"));
ТаблицаЭтапыСерии.Колонки.Добавить("СтатьяКалькуляции", Новый ОписаниеТипов("СправочникСсылка.СтатьиКалькуляции"));
ТаблицаЭтапыСерии.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
ТаблицаЭтапыСерии.Колонки.Добавить("Серия", Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
ТаблицаВыпускиСерии = Новый ТаблицаЗначений;
ТаблицаВыпускиСерии.Колонки.Добавить("ДокументВыпуска", Новый ОписаниеТипов("ДокументСсылка.ВыпускПродукции"));
ТаблицаВыпускиСерии.Колонки.Добавить("КодСтроки", Новый ОписаниеТипов("Число"));
ТаблицаВыпускиСерии.Колонки.Добавить("СтатьяКалькуляции", Новый ОписаниеТипов("СправочникСсылка.СтатьиКалькуляции"));
ТаблицаВыпускиСерии.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
ТаблицаВыпускиСерии.Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.РесурсныеСпецификации"));
ТаблицаВыпускиСерии.Колонки.Добавить("Серия", Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
ТаблицаВыпускиСерии.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
ТаблицаВыпускиСерии.Колонки.Добавить("Характеристика", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
ТаблицаРасходыСерии = Новый ТаблицаЗначений;
ТаблицаРасходыСерии.Колонки.Добавить("СтатьяРасходов", Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.СтатьиРасходов"));
ТаблицаРасходыСерии.Колонки.Добавить("Подразделение", Новый ОписаниеТипов("СправочникСсылка.СтруктураПредприятия"));
ТаблицаРасходыСерии.Колонки.Добавить("АналитикаРасходов", Метаданные.ПланыВидовХарактеристик.СтатьиРасходов.Тип);
ТаблицаРасходыСерии.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
ТаблицаРасходыСерии.Колонки.Добавить("Серия", Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
ЗапросСерии = Новый Запрос;
ЗапросСерии.Текст =
"ВЫБРАТЬ
| Серии.Количество,
| Серии.Серия
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.Серии КАК Серии
|ГДЕ
| Серии.Ссылка = &Ссылка
|;
|
|
|ВЫБРАТЬ
| Этапы.ЗаказНаПроизводство,
| Этапы.КодСтрокиПродукция,
| Этапы.Этап,
| Этапы.СтатьяКалькуляции,
| Этапы.Количество
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ЭтапыГрафикаПроизводства КАК Этапы
|ГДЕ
| Этапы.Ссылка = &Ссылка
|;
|
|
|ВЫБРАТЬ
| Выпуски.СтатьяКалькуляции,
| Выпуски.Количество,
| Выпуски.ДокументВыпуска,
| Выпуски.КодСтроки,
| Выпуски.Спецификация,
| Выпуски.Номенклатура,
| Выпуски.Характеристика
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ВыпускиБезРаспоряжения КАК Выпуски
|ГДЕ
| Выпуски.Ссылка = &Ссылка
|;
|
|
|ВЫБРАТЬ
| Расходы.Количество,
| ВЫБОР
| КОГДА Расходы.Подразделение = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА &Подразделение
| ИНАЧЕ Расходы.Подразделение
| КОНЕЦ КАК Подразделение,
| Расходы.СтатьяРасходов,
| Расходы.АналитикаРасходов
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат.ПрочиеРасходы КАК Расходы
|ГДЕ
| Расходы.Ссылка = &Ссылка";
ЗапросСерии.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросСерии.УстановитьПараметр("Подразделение", Запрос.Параметры.Подразделение);
Результат = ЗапросСерии.ВыполнитьПакет();
Серии = Результат[0].Выгрузить();
Коэффициенты = Серии.ВыгрузитьКолонку("Количество");
ЭтапыГрафикаПроизводства = Результат[1].Выбрать();
ВыпускиБезРаспоряжения = Результат[2].Выбрать();
ПрочиеРасходы = Результат[3].Выбрать();
Если Коэффициенты.Количество() > 0 Тогда
Пока ЭтапыГрафикаПроизводства.Следующий() Цикл
Распределение = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(ЭтапыГрафикаПроизводства.Количество, Коэффициенты, 3);
Индекс = 0;
Для Каждого Строка Из Распределение Цикл
НоваяСтрока = ТаблицаЭтапыСерии.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ЭтапыГрафикаПроизводства);
НоваяСтрока.Серия = Серии[Индекс].Серия;
НоваяСтрока.Количество = Строка;
Индекс = Индекс + 1;
КонецЦикла;
КонецЦикла;
Пока ВыпускиБезРаспоряжения.Следующий() Цикл
Распределение = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(ВыпускиБезРаспоряжения.Количество, Коэффициенты, 3);
Индекс = 0;
Для Каждого Строка Из Распределение Цикл
НоваяСтрока = ТаблицаВыпускиСерии.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыпускиБезРаспоряжения);
НоваяСтрока.Серия = Серии[Индекс].Серия;
НоваяСтрока.Количество = Строка;
Индекс = Индекс + 1;
КонецЦикла;
КонецЦикла;
Пока ПрочиеРасходы.Следующий() Цикл
Распределение = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(ПрочиеРасходы.Количество, Коэффициенты, 3);
Индекс = 0;
Для Каждого Строка Из Распределение Цикл
НоваяСтрока = ТаблицаРасходыСерии.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ПрочиеРасходы);
НоваяСтрока.Серия = Серии[Индекс].Серия;
НоваяСтрока.Количество = Строка;
Индекс = Индекс + 1;
КонецЦикла;
КонецЦикла;
КонецЕсли;
Запрос.УстановитьПараметр("ТаблицаЭтапыСерии", ТаблицаЭтапыСерии);
Запрос.УстановитьПараметр("ТаблицаВыпускиСерии", ТаблицаВыпускиСерии);
Запрос.УстановитьПараметр("ТаблицаРасходыСерии", ТаблицаРасходыСерии);
КонецПроцедуры
Функция ТекстЗапросаВтТаблицаЭтапыСерии(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаЭтапыСерии";
УстановитьПараметрыЗапросаТаблицыСерии(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаЭтапыСерии.ЗаказНаПроизводство,
| ТаблицаЭтапыСерии.КодСтрокиПродукция,
| ТаблицаЭтапыСерии.Этап,
| ТаблицаЭтапыСерии.СтатьяКалькуляции,
| ТаблицаЭтапыСерии.Количество,
| ТаблицаЭтапыСерии.Серия
|ПОМЕСТИТЬ ВтТаблицаЭтапыСерии
|ИЗ
| &ТаблицаЭтапыСерии КАК ТаблицаЭтапыСерии";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаВыпускиСерии(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаВыпускиСерии";
УстановитьПараметрыЗапросаТаблицыСерии(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаВыпускиСерии.ДокументВыпуска,
| ТаблицаВыпускиСерии.КодСтроки,
| ТаблицаВыпускиСерии.Спецификация,
| ТаблицаВыпускиСерии.СтатьяКалькуляции,
| ТаблицаВыпускиСерии.Количество,
| ТаблицаВыпускиСерии.Номенклатура,
| ТаблицаВыпускиСерии.Характеристика,
| ТаблицаВыпускиСерии.Серия
|ПОМЕСТИТЬ ВтТаблицаВыпускиСерии
|ИЗ
| &ТаблицаВыпускиСерии КАК ТаблицаВыпускиСерии";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаРасходыСерии(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаРасходыСерии";
УстановитьПараметрыЗапросаТаблицыСерии(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаРасходыСерии.Подразделение,
| ТаблицаРасходыСерии.СтатьяРасходов,
| ТаблицаРасходыСерии.АналитикаРасходов,
| ТаблицаРасходыСерии.Количество,
| ТаблицаРасходыСерии.Серия
|ПОМЕСТИТЬ ВтТаблицаРасходыСерии
|ИЗ
| &ТаблицаРасходыСерии КАК ТаблицаРасходыСерии";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВидыЗапасовИРаботы", ТекстыЗапроса) Тогда
ТекстЗапросаВидыЗапасовИРаботы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ТаблицаРасходы.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаРасходы.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| 0 КАК СуммаБезНДСУпр,
| 0 КАК СуммаСНДСРегл,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаРасходы.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаРасходы.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| ВидыЗапасовИРаботы КАК ТаблицаРасходы
|ГДЕ
| ТаблицаРасходы.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиРасходов
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаДвиженияНоменклатураДоходыРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияНоменклатураДоходыРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВидыЗапасовИРаботы", ТекстыЗапроса) Тогда
ТекстЗапросаВидыЗапасовИРаботы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА Строки.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиРасходов
| И Строки.СтатьяРасходов.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА
| ВЫБОР
| КОГДА Строки.СтатьяРасходов.ВидЦенностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОС),
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОбъектыНезавершенногоСтроительства))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаВСоставОС)
| КОГДА Строки.СтатьяРасходов.ВидЦенностиНДС = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НМА)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаВСоставНМА)
| КОНЕЦ
| КОГДА Строки.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиРасходов
| И Строки.СтатьяРасходов.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаПрочиеАктивы)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаНаПрочиеЦели)
| КОГДА Строки.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиАктивовПассивов
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаНаПрочиеЦели)
| ИНАЧЕ
| Строки.ХозяйственнаяОперация
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| Строки.ПодразделениеПолучательРасходов КАК Подразделение,
|
| ВЫБОР КОГДА Строки.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| Строки.АналитикаКомитента
| ИНАЧЕ
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА Строки.АналитикаУчетаНоменклатуры
| ИНАЧЕ Строки.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА Строки.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| Строки.АналитикаКомитента.МестоХранения
| ИНАЧЕ
| &Склад
| КОНЕЦ КАК Склад,
|
| ВЫБОР
| КОГДА Строки.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| Строки.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар) КАК ТипЗапасов,
|
| Строки.СтатьяРасходов КАК СтатьяДоходовРасходов,
| Строки.АналитикаРасходов КАК АналитикаРасходов,
| Строки.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
|
| ВЫБОР КОГДА Строки.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| ВидыЗапасов.Договор.НаправлениеДеятельности
| ИНАЧЕ
| Строки.Назначение.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиНоменклатуры,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
|
| Строки.Количество КАК Количество,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
|
| ВЫБОР КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета ТОГДА
| Строки.ВидЗапасов
| ИНАЧЕ
| Строки.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры
|
|ИЗ
| ВидыЗапасовИРаботы КАК Строки
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасов
| ПО Строки.ВидЗапасов = ВидыЗапасов.Ссылка
|ГДЕ
| Строки.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеТоваровПоТребованию)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК РазделительЗаписи,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеРасходовНаПартииПроизводства) КАК ХозяйственнаяОперация,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &Подразделение КАК Подразделение,
| &Ответственный КАК Ответственный,
| &Комментарий КАК Комментарий,
| 0 КАК Сумма,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| """" КАК Дополнительно,
| &Период КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| &Подразделение КАК МестоХранения,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.РаспределениеПроизводственныхЗатрат";
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
ПереопределениеРасчетаПараметров.Вставить("Работа",
"ДанныеДокумента.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)");
ПереопределениеРасчетаПараметров.Вставить("ДвиженияПоСкладскимРегистрам",
"ДанныеДокумента.Назначение.ДвиженияПоСкладскимРегистрам");
ПереопределениеРасчетаПараметров.Вставить("НаправлениеДеятельности",
"ДанныеДокумента.Назначение.НаправлениеДеятельности");
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ВЫБОР КОГДА ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа) ТОГДА
| ТабЧасть.Подразделение
| ИНАЧЕ
| ТабЧасть.Склад
| КОНЕЦ КАК Склад,
| ТабЧасть.Назначение КАК Назначение,
| ТабЧасть.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ЗапланированныйРасходРаспределенногоЗапаса,
| ЛОЖЬ КАК КонтрольСвободногоОстатка
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК ТабЧасть
|ГДЕ
| ТабЧасть.НовоеПроизводство
| ИЛИ ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
РаспределениеЗапасовДвижения.РасходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть);
КонецПроцедуры
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
Если Запрос <> Неопределено Тогда
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВидыЗапасовИРаботы");
ДополнительныеТаблицы.Добавить("ВтПрочиеРасходы");
Если Запрос <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
ТекстЗапросаВидыЗапасовИРаботы(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[1], ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область СписаниеНаДругиеПартии_Товар
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.КорВидДеятельностиНДС КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ТаблицаВидыЗапасов.ПартияПроизводства КАК КорПартия,
| ТаблицаВидыЗапасов.КорАналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасовПолучателя КАК КорВидЗапасов,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| НЕОПРЕДЕЛЕНО КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК Менеджер,
| ТаблицаВидыЗапасов.ПартияПроизводства.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВидыЗапасовИРаботы КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &НовоеПроизводство
| И (ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеРасходовНаПартииПроизводства)
| ИЛИ ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РаспределениеРасходовНаПартииПроизводства)
| И &СреднеСкользящая И ТаблицаДокумента.КоличествоКРаспределениюПоПравилу <> 0)
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаДругиеПартии,
ТекстЗапроса);
#КонецОбласти
#Область СписаниеНаРасходыАктивы_Товар
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.КорВидДеятельностиНДС КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДСДокумента,
|
| ЕСТЬNULL(ВтПрочиеРасходы.ОрганизацияПолучатель, НЕОПРЕДЕЛЕНО) КАК КорОрганизация,
| ТаблицаВидыЗапасов.КорАналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасовПолучателя КАК КорВидЗапасов,
| ТаблицаВидыЗапасов.СтатьяРасходов КАК СтатьяРасходовАктивов,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиРасходов
| ТОГДА ТаблицаВидыЗапасов.АналитикаРасходов
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаАктивовПассивов
| КОНЕЦ КАК АналитикаРасходовАктивов,
| ТаблицаВидыЗапасов.Назначение.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаВидыЗапасов.ПодразделениеПолучательРасходов КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК Менеджер,
| ТаблицаВидыЗапасов.ПартияПроизводства.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
|
| ТаблицаВидыЗапасов.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаВидыЗапасов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВидыЗапасовИРаботы КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПрочиеРасходы КАК ВтПрочиеРасходы
| ПО ВтПрочиеРасходы.СтатьяРасходов = ТаблицаВидыЗапасов.СтатьяРасходов
| И ВтПрочиеРасходы.АналитикаРасходов = ТаблицаВидыЗапасов.АналитикаРасходов
| И ВтПрочиеРасходы.Подразделение = ТаблицаВидыЗапасов.ПодразделениеПолучательРасходов
| И ВтПрочиеРасходы.ИдентификаторФинЗаписи = ТаблицаВидыЗапасов.ИдентификаторФинЗаписи
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &НовоеПроизводство
| И ТаблицаВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеТоваровПоТребованию)
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаРасходыАктивы,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область ПроведениеПоРеглУчету
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат РаспределениеПроизводственныхЗатратЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат РаспределениеПроизводственныхЗатратЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ДобавитьКомандуПечати(КомандыПечати, "ЗаданиеНаОтбор");
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(КомандаПечати,
"НовоеПроизводство",
Истина,
ВидСравнения.Равно);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "АктИнвентаризацииМатериаловИПолуфабрикатов") Тогда
ТабличныйДокумент = СформироватьАктИнвентаризацииМатериаловИПолуфабрикатов(ПараметрыПечати, ОбъектыПечати);
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"АктИнвентаризацииМатериаловИПолуфабрикатов",
НСтр("ru = 'Акт инвентаризации материалов и полуфабрикатов в цехе'"),
ТабличныйДокумент);
КонецЕсли;
КонецПроцедуры
Функция СформироватьАктИнвентаризацииМатериаловИПолуфабрикатов(ПараметрыПечати, ОбъектыПечати)
Запрос = Новый Запрос;
Если ПараметрыПечати.свойство("НовоеПроизводство") Тогда
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.РаспределениеПроизводственныхЗатрат.ПФ_MXL_АктИнвентаризацииМатериаловИПолуфабрикатов2_2");
ТекстЗапроса =
"ВЫБРАТЬ
| ВЫРАЗИТЬ(Затраты.Подразделение КАК Справочник.СтруктураПредприятия) КАК Подразделение,
| ВЫРАЗИТЬ(Затраты.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
| ВЫРАЗИТЬ(Затраты.Характеристика КАК Справочник.ХарактеристикиНоменклатуры) КАК Характеристика,
| Затраты.ВходящийОстаток КАК ВходящийОстаток,
| Затраты.Наличие КАК Наличие,
| Затраты.Распределить КАК Распределить,
| Затраты.Распределено КАК Распределено,
| Затраты.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ Затраты
|ИЗ
| &Затраты КАК Затраты
|;
|
|
|ВЫБРАТЬ
| &Организация КАК Организация,
| ВЫРАЗИТЬ(&Организация КАК Справочник.Организации).НаименованиеСокращенное КАК ОрганизацияПредставление,
| Затраты.Подразделение КАК Подразделение,
| ВЫРАЗИТЬ(Затраты.Подразделение.Наименование КАК Строка(150)) КАК ПодразделениеПредставление,
| Затраты.Номенклатура КАК Номенклатура,
| Затраты.Характеристика КАК Характеристика,
| Затраты.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Затраты.Номенклатура.Представление КАК НоменклатураПредставление,
| Затраты.Характеристика.Представление КАК ХарактеристикаПредставление,
| Затраты.Номенклатура.Код КАК НоменклатураКод,
| Затраты.Номенклатура.Артикул КАК НоменклатураАртикул,
| Затраты.ВходящийОстаток КАК ВходящийОстаток,
| Затраты.Наличие КАК Наличие,
| Затраты.Распределить КАК Распределить,
| Затраты.Распределено КАК Распределено,
| Затраты.НомерСтроки КАК НомерСтроки
|ИЗ
| Затраты КАК Затраты
|ГДЕ
| НЕ Затраты.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|ИТОГИ
| МАКСИМУМ(ОрганизацияПредставление),
| МАКСИМУМ(ПодразделениеПредставление)
|ПО
| Подразделение";
Иначе
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.РаспределениеПроизводственныхЗатрат.ПФ_MXL_АктИнвентаризацииМатериаловИПолуфабрикатов");
ТекстЗапроса =
"ВЫБРАТЬ
| ВЫРАЗИТЬ(Затраты.Подразделение КАК Справочник.СтруктураПредприятия) КАК Подразделение,
| ВЫРАЗИТЬ(Затраты.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
| ВЫРАЗИТЬ(Затраты.Характеристика КАК Справочник.ХарактеристикиНоменклатуры) КАК Характеристика,
| Затраты.ВОбработке + Затраты.ФактОстаток КАК УчетОстаток,
| Затраты.ФактОстаток КАК ФактОстатокВЗапасе,
| Затраты.НеРаспределено КАК ФактОстатокНЗП,
| Затраты.КРаспределению КАК КРаспределению,
| Затраты.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ Затраты
|ИЗ
| &Затраты КАК Затраты
|;
|
|
|ВЫБРАТЬ
| &Организация КАК Организация,
| ВЫРАЗИТЬ(&Организация КАК Справочник.Организации).НаименованиеСокращенное КАК ОрганизацияПредставление,
| Затраты.Подразделение КАК Подразделение,
| ВЫРАЗИТЬ(Затраты.Подразделение.Представление КАК Строка(150)) КАК ПодразделениеПредставление,
| Затраты.Номенклатура КАК Номенклатура,
| Затраты.Характеристика КАК Характеристика,
| Затраты.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Затраты.Номенклатура.Представление КАК НоменклатураПредставление,
| Затраты.Характеристика.Представление КАК ХарактеристикаПредставление,
| Затраты.Номенклатура.Код КАК НоменклатураКод,
| Затраты.Номенклатура.Артикул КАК НоменклатураАртикул,
| Затраты.УчетОстаток КАК УчетОстаток,
| Затраты.ФактОстатокВЗапасе КАК ФактОстатокВЗапасе,
| Затраты.ФактОстатокНЗП КАК ФактОстатокНЗП,
| Затраты.ФактОстатокВЗапасе + Затраты.ФактОстатокНЗП КАК ФактОстатокВсего,
| Затраты.КРаспределению КАК КРаспределению,
| Затраты.НомерСтроки КАК НомерСтроки
|ИЗ
| Затраты КАК Затраты
|ГДЕ
| НЕ Затраты.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|ИТОГИ
| МАКСИМУМ(ОрганизацияПредставление),
| МАКСИМУМ(ПодразделениеПредставление)
|ПО
| Подразделение";
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
ТаблицаЗатраты = ПолучитьИзВременногоХранилища(ПараметрыПечати.Затраты);
ТаблицаЗатраты.Колонки.Добавить("НомерСтроки", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 0)));
НомерСтроки = 1;
Для каждого ДанныеСтроки Из ТаблицаЗатраты Цикл
ДанныеСтроки.НомерСтроки = НомерСтроки;
НомерСтроки = НомерСтроки + 1;
КонецЦикла;
Запрос.УстановитьПараметр("Затраты", ТаблицаЗатраты);
Запрос.УстановитьПараметр("Организация", ПараметрыПечати.Организация);
Результат = Запрос.Выполнить();
ВыборкаПоПодразделению = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ПолеСлева = 5;
ТабличныйДокумент.ПолеСправа = 5;
ТабличныйДокумент.РазмерКолонтитулаСверху = 0;
ТабличныйДокумент.РазмерКолонтитулаСнизу = 0;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктИнвентаризацииМатериаловИПолуфабрикатов";
КолонкаКодов = ФормированиеПечатныхФорм.ДополнительнаяКолонкаПечатныхФормДокументов();
ИмяКолонкиКодов = КолонкаКодов.ИмяКолонки;
ПредставлениеКолонкиКодов = КолонкаКодов.ПредставлениеКолонки;
ВыводитьКоды = ЗначениеЗаполнено(ИмяКолонкиКодов);
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Если ВыводитьКоды Тогда
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы_Код");
ОбластьМакета = Макет.ПолучитьОбласть("Строка_Код");
Иначе
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
КонецЕсли;
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("Подвал");
Если ВыводитьКоды Тогда
ОбластьШапкаТаблицы.Параметры.ИмяКолонкиКодов = ПредставлениеКолонкиКодов;
КонецЕсли;
ПервыйДокумент = Истина;
Пока ВыборкаПоПодразделению.Следующий() Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ПараметрыЗаголовка = Новый Структура("ОрганизацияПредставление,ПодразделениеПредставление");
ЗаполнитьЗначенияСвойств(ПараметрыЗаголовка, ВыборкаПоПодразделению);
ПараметрыЗаголовка.Вставить("ДатаДокумента", Формат(КонецМесяца(ПараметрыПечати.Период), "ДЛФ=D"));
ОбластьЗаголовок.Параметры.Заполнить(ПараметрыЗаголовка);
ТабличныйДокумент.Вывести(ОбластьЗаголовок);
НомерСтраницы = 1;
НомерСтроки = 0;
МассивВыводимыхОбластей = Новый Массив;
ДанныеПечати = ВыборкаПоПодразделению.Выбрать();
Пока ДанныеПечати.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;
ОбластьМакета.Параметры.Заполнить(ДанныеПечати);
Если НомерСтроки = 1 Тогда
ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы);
Иначе
МассивВыводимыхОбластей.Очистить();
МассивВыводимыхОбластей.Добавить(ОбластьМакета);
Если НомерСтроки <> 1 И Не ТабличныйДокумент.ПроверитьВывод(МассивВыводимыхОбластей) Тогда
НомерСтраницы = НомерСтраницы + 1;
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы);
КонецЕсли;
КонецЕсли;
ДополнительныеПараметрыОбластьМакета = Новый Структура;
ДополнительныеПараметрыОбластьМакета.Вставить("НомерСтроки", НомерСтроки);
Если ВыводитьКоды Тогда
ДополнительныеПараметрыОбластьМакета.Вставить("Артикул", ДанныеПечати["Номенклатура" + ИмяКолонкиКодов]);
КонецЕсли;
ДопПараметрыПредставлениеНоменклатуры = НоменклатураКлиентСервер.ДополнительныеПараметрыПредставлениеНоменклатурыДляПечати();
ДопПараметрыПредставлениеНоменклатуры.КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
НоменклатураПредставление = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ДанныеПечати.НоменклатураПредставление,
ДанныеПечати.ХарактеристикаПредставление,
,
,
ДопПараметрыПредставлениеНоменклатуры);
ДополнительныеПараметрыОбластьМакета.Вставить("НоменклатураПредставление", НоменклатураПредставление);
ОбластьМакета.Параметры.Заполнить(ДополнительныеПараметрыОбластьМакета);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЦикла;
ТабличныйДокумент.Вывести(ОбластьПодвалТаблицы);
ОбластьПодписи = Макет.ПолучитьОбласть("Подписи");
ТабличныйДокумент.Вывести(ОбластьПодписи);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаПоПодразделению.Подразделение);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Функция ТекстЗапросаТоварыДокументаДляПечатиЗаданияНаОтборРазмещениеТоваров() Экспорт
ТекстаЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| 1 КАК НомерСтроки,
| ДанныеДокумента.Склад КАК Склад,
| &Помещение КАК Помещение,
| ДанныеДокумента.Номенклатура КАК Номенклатура,
| ДанныеДокумента.Характеристика КАК Характеристика,
| ДанныеДокумента.Серия КАК Серия
|ПОМЕСТИТЬ ТоварыДокумента
|ИЗ
| Документ.РаспределениеПроизводственныхЗатрат КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Товары
| ПО ДанныеДокумента.Номенклатура = Товары.Ссылка
|
|ГДЕ
| ДанныеДокумента.Ссылка В(&МассивОбъектов)
| И ДанныеДокумента.НовоеПроизводство
| И НЕ Товары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ТекстаЗапроса = СтрЗаменить(ТекстаЗапроса, "&Помещение", "ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка)");
Возврат ТекстаЗапроса;
КонецФункции
#КонецОбласти
#Область Отчеты
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
Отчеты.БазаРаспределенияМатериаловИРабот.ДобавитьКомандуОтчета(КомандыОтчетов);
РаспределениеПроизводственныхЗатратЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
#КонецОбласти
#Область ФормированиеГиперссылкиВЖурналеПроизводства
Функция СформироватьГиперссылкуКОформлению(Параметры) Экспорт
Если Не ПравоДоступа("Изменение", Метаданные.Документы.РаспределениеПроизводственныхЗатрат) Тогда
Возврат Неопределено;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапросаМатериаловИРаботВКладовых(, 1);
Запрос.УстановитьПараметр("ВсеДвижения", Ложь);
Запрос.УстановитьПараметр("НачалоПериода", '00010101');
Запрос.УстановитьПараметр("ОкончаниеПериода", КонецМесяца(ТекущаяДатаСеанса()));
Запрос.УстановитьПараметр("ГраницаОкончаниеПериода", Новый Граница(КонецМесяца(ТекущаяДатаСеанса()), ВидГраницы.Включая));
Запрос.УстановитьПараметр("ВсеОрганизации", Не ЗначениеЗаполнено(Параметры.Организация));
Запрос.УстановитьПараметр("Организации", Параметры.Организация);
Запрос.УстановитьПараметр("ВсеПодразделения", Не ЗначениеЗаполнено(Параметры.Подразделение));
Запрос.УстановитьПараметр("Подразделения", Параметры.Подразделение);
Запрос.УстановитьПараметр("ВсеТипыНоменклатуры", Истина);
Запрос.УстановитьПараметр("ТипНоменклатуры", Неопределено);
Запрос.УстановитьПараметр("ВсеАналитики", Истина);
Запрос.УстановитьПараметр("АналитикаУчетаНоменклатуры",Неопределено);
ТекстГиперссылки = НСтр("ru = 'Распределение материалов и работ'");
Если Запрос.Выполнить().Пустой() Тогда
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,,ЦветаСтиля.НезаполненноеПолеТаблицы,,
"Документ.РаспределениеПроизводственныхЗатрат.Форма.ФормаРаспределениеМатериаловИРабот");
Иначе
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,,,,
"Документ.РаспределениеПроизводственныхЗатрат.Форма.ФормаРаспределениеМатериаловИРабот");
КонецЕсли;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли