#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Автор";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, Соглашение";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Автор";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Организация", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Автор, Менеджер";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Автор";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Подразделение", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Автор";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, Соглашение";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Автор";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Склад", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Контрагент";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Контрагент";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
"НаименованиеВходящегоДокумента", Параметры);
КонецПроцедуры
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Обеспечение");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СерийныйУчет");
МеханизмыДокумента.Добавить("АдресныйСклад");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("ЦеныИСкидки");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
ПоступлениеТоваровНаСкладЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ПоступлениеТоваровНаСклад") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаЦеныНоменклатурыПоставщиков(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияНоменклатураНоменклатура(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ПоступлениеТоваровНаСкладЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры);
ОформитьПоступлениеТоваровПоДвухходовке(Запрос, ТекстыЗапроса, Регистры);
ПроведениеДокументов.ДобавитьЗапросыСторноДвижений(
Запрос, ТекстыЗапроса, Регистры, Метаданные.Документы.ПоступлениеТоваровНаСклад);
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(
ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ЗаказНаПеремещение.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ПеремещениеТоваров.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ПоручениеЭкспедитору.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Обработки.СправочноеРазмещениеНоменклатуры.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.РегистрацияЦенНоменклатурыПоставщика.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.УстановкаЦенНоменклатуры.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ПоступлениеТоваровНаСкладЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСоздатьНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ПоступлениеТоваровНаСклад) Тогда
КомандаСоздатьНаОсновании = КомандыСоздатьНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Идентификатор = Метаданные.Документы.ПоступлениеТоваровНаСклад.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ПоступлениеТоваровНаСклад);
КомандаСоздатьНаОсновании.ПроверкаПроведенияПередСозданиемНаОсновании = Истина;
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КомандаОтчет = Отчеты.СостояниеВыполненияДокументов.ДобавитьКомандуСостояниеВыполненияДокументЗакупки(КомандыОтчетов);
ПоступлениеТоваровНаСкладЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
#Область Серии
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
ИменаРеквизитов = "Склад, ХозяйственнаяОперация, Дата";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыУказанияСерий(Объект) Экспорт
ПараметрыУказанияСерий = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерий.ПолноеИмяОбъекта = "Документ.ПоступлениеТоваровНаСклад";
ПараметрыСерийСклада = СкладыСервер.ИспользованиеСерийНаСкладе(Объект.Склад, Ложь);
ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры =
ПараметрыСерийСклада.ИспользоватьСерииНоменклатуры
И Не СкладыСервер.ИспользоватьОрдернуюСхемуПриПоступлении(Объект.Склад, Объект.Дата)
Или ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.УчитыватьСебестоимостьПоСериям = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.ТолькоСерииДляСебестоимости = Ложь;
ПараметрыУказанияСерий.СерииПриПланированииОтгрузкиУказываютсяВТЧСерии = Истина;
ПараметрыУказанияСерий.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ПриемкаОтПоставщика);
ПараметрыУказанияСерий.ПоляСвязи.Добавить("Назначение");
ПараметрыУказанияСерий.ЭтоНакладная = Истина;
ПараметрыУказанияСерий.Дата = Объект.Дата;
ПараметрыУказанияСерий.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерий");
ПараметрыУказанияСерий.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерийНаСкладах");
ПараметрыУказанияСерий.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерийТоварыУПартнеров");
ПараметрыУказанияСерий.ИменаПолейДляОпределенияРаспоряжения.Добавить("Ссылка");
ПараметрыУказанияСерий.ИменаПолейДляОпределенияРаспоряжения.Добавить("Соглашение");
ПараметрыУказанияСерий.ИменаПолейДляОпределенияРаспоряжения.Добавить("Договор");
ПараметрыУказанияСерий.ИменаПолейДляОпределенияРаспоряжения.Добавить("ВариантПриемкиТоваров");
ЭтоТоварыВПути = ЭтоПоступлениеИзТоваровВПути(Объект.ХозяйственнаяОперация);
ПараметрыУказанияСерий.ПараметрыЗапроса.Вставить("ЭтоТоварыВПути", ЭтоТоварыВПути);
Возврат ПараметрыУказанияСерий;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| Товары.Серия,
| Товары.Количество,
| Товары.СтатусУказанияСерий,
| Товары.СтатусУказанияСерийТоварыУПартнеров,
| Товары.НомерСтроки
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| СУММА(Товары.Количество) КАК Количество,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры
|ПОМЕСТИТЬ ТоварыДляЗапроса
|ИЗ
| Товары КАК Товары
|
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры
|;
|
|
|ВЫБРАТЬ
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Назначение,
| Серии.Количество
|ПОМЕСТИТЬ Серии
|ИЗ
| &Серии КАК Серии
|;
|
|
|ВЫБРАТЬ
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Назначение,
| СУММА(Серии.Количество) КАК Количество
|ПОМЕСТИТЬ СерииДляЗапроса
|ИЗ
| Серии КАК Серии
|
|СГРУППИРОВАТЬ ПО
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Назначение
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| Товары.СтатусУказанияСерийТоварыУПартнеров КАК СтарыйСтатусУказанияСерийТоварыУПартнеров,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА
| ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| КОГДА НЕ &ТолькоСерииДляСебестоимости
| ТОГДА ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПланированииОтгрузки
| ТОГДА ВЫБОР
| КОГДА НЕ Склады.ИспользоватьОрдернуюСхемуПриПоступлении
| ИЛИ &Дата < Склады.ДатаНачалаОрдернойСхемыПриПоступлении
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 10
| ИНАЧЕ 9
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПланированииОтбора
| ТОГДА ВЫБОР
| КОГДА НЕ Склады.ИспользоватьОрдернуюСхемуПриПоступлении
| ИЛИ &Дата < Склады.ДатаНачалаОрдернойСхемыПриПоступлении
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 8
| ИНАЧЕ 7
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПриемке
| И (НЕ Склады.ИспользоватьОрдернуюСхемуПриПоступлении
| ИЛИ &Дата < Склады.ДатаНачалаОрдернойСхемыПриПоступлении)
| И ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПриемкеОтПоставщика
| ТОГДА ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьОстаткиСерий
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 4
| ИНАЧЕ 3
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 2
| ИНАЧЕ 1
| КОНЕЦ
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерий,
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА
| ВЫБОР
| КОГДА ((ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийВНеотфактурованныхПоставкахТоваров
| И НЕ &ЭтоТоварыВПути)
| ИЛИ (ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчетТоваровВПутиОтПоставщикаПоСериям
| И &ЭтоТоварыВПути))
| ТОГДА ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 18
| ИНАЧЕ 17
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерийТоварыУПартнеров
|
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ПО Товары.Номенклатура = ТоварыДляЗапроса.Номенклатура
| И Товары.Характеристика = ТоварыДляЗапроса.Характеристика
| И Товары.Назначение = ТоварыДляЗапроса.Назначение
| ЛЕВОЕ СОЕДИНЕНИЕ СерииДляЗапроса КАК СерииДляЗапроса
| ПО ТоварыДляЗапроса.Номенклатура = СерииДляЗапроса.Номенклатура
| И ТоварыДляЗапроса.Характеристика = СерииДляЗапроса.Характеристика
| И ТоварыДляЗапроса.Назначение = СерииДляЗапроса.Назначение
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ПО (ПолитикиУчетаСерий.Склад = &Склад)
| И ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
| ПО ПолитикиУчетаСерий.Склад = Склады.Ссылка
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| Статусы.СтатусУказанияСерий КАК СтатусУказанияСерийНаСкладах,
| Статусы.СтатусУказанияСерийТоварыУПартнеров КАК СтатусУказанияСерийТоварыУПартнеров,
| ВЫБОР
| КОГДА Статусы.СтатусУказанияСерий = 0
| ТОГДА Статусы.СтатусУказанияСерийТоварыУПартнеров
| ИНАЧЕ Статусы.СтатусУказанияСерий
| КОНЕЦ КАК СтатусУказанияСерий
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| ВЫБОР
| КОГДА Статусы.СтатусУказанияСерий = 0
| ТОГДА Статусы.СтатусУказанияСерийТоварыУПартнеров
| ИНАЧЕ Статусы.СтатусУказанияСерий
| КОНЕЦ <> Статусы.СтарыйСтатусУказанияСерий
| ИЛИ Статусы.СтарыйСтатусУказанияСерийТоварыУПартнеров <> Статусы.СтатусУказанияСерийТоварыУПартнеров
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#Область Прочее
Функция РаспоряжениеНаВыполнениеСкладскойОперации(ЗначенияПолейДляОпределенияРаспоряжения) Экспорт
ВариантПриемкиТоваров = ЗначенияПолейДляОпределенияРаспоряжения.ВариантПриемкиТоваров;
Если Не ЗначениеЗаполнено(ЗначенияПолейДляОпределенияРаспоряжения.Соглашение)
И Не ЗначениеЗаполнено(ЗначенияПолейДляОпределенияРаспоряжения.Договор) Тогда
Возврат ЗначенияПолейДляОпределенияРаспоряжения.Ссылка;
ИначеЕсли Справочники.СоглашенияСПоставщиками.СоглашениеИспользуетсяПриПриемке(ВариантПриемкиТоваров) Тогда
Возврат ЗначенияПолейДляОпределенияРаспоряжения.Соглашение;
ИначеЕсли Справочники.ДоговорыКонтрагентов.ДоговорИспользуетсяПриПриемке(ВариантПриемкиТоваров) Тогда
Возврат ЗначенияПолейДляОпределенияРаспоряжения.Договор;
КонецЕсли;
КонецФункции
Функция ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности(Форма) Экспорт
ПорядокОбработкиДокумента = НаправленияДеятельностиСервер.ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности();
ПорядокОбработкиДокумента.ИменаТабличныхЧастейДляОчисткиНекорректныхНазначений = "Товары";
ТаблицаУсловий = НаправленияДеятельностиСервер.УсловияОбработкиНазначенийВСтроках("ТипНоменклатуры");
ПорядокОбработкиДокумента.УсловияОбработкиСтрок.Вставить("Товары", ТаблицаУсловий);
Возврат ПорядокОбработкиДокумента;
КонецФункции
Функция МакетФормыВыбораНазначений() Экспорт
МакетФормы = Справочники.Назначения.МакетФормыВыбораНазначений();
ШаблонНазначения = Справочники.Назначения.ДобавитьШаблонНазначений(МакетФормы);
ШаблонНазначения.НаправлениеДеятельности = "Объект.НаправлениеДеятельности";
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "ОбеспечениеЗаказов", Истина,
"Объект.Товары.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.Товары.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.Товары.Характеристика";
ОписаниеКолонок.ПутиКДанным.Склад = "Объект.Склад";
Возврат МакетФормы;
КонецФункции
Процедура ЗаполнитьПараметрыХозяйственныхОпераций(ПараметрыЗапроса) Экспорт
ИспользоватьИмпортныеЗакупки = ПолучитьФункциональнуюОпцию("ИспользоватьИмпортныеЗакупки");
ИспользоватьВвозТоваровИзТаможенногоСоюза = ПолучитьФункциональнуюОпцию("ИспользоватьВвозТоваровИзТаможенногоСоюза");
ИспользоватьТоварыВПутиОтПоставщиков = ПолучитьФункциональнуюОпцию("ИспользоватьТоварыВПутиОтПоставщиков");
ИспользоватьНеотфактурованныеПоставки = ПолучитьФункциональнуюОпцию("ИспользоватьНеотфактурованныеПоставки");
ХозОперацииЗакупкаУПоставщика = Новый Массив;
Если ИспользоватьТоварыВПутиОтПоставщиков Тогда
ХозОперацииЗакупкаУПоставщика.Добавить(
Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути);
КонецЕсли;
Если ИспользоватьНеотфактурованныеПоставки Тогда
ХозОперацииЗакупкаУПоставщика.Добавить(Перечисления.ХозяйственныеОперации.
ЗакупкаУПоставщикаНеотфактурованнаяПоставка);
КонецЕсли;
ХозОперацииЗакупкаПоИмпорту = Новый Массив;
Если ИспользоватьИмпортныеЗакупки
И ИспользоватьТоварыВПутиОтПоставщиков Тогда
ХозОперацииЗакупкаПоИмпорту.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути);
КонецЕсли;
ХозОперацииЗакупкаВСтранахЕАЭС = Новый Массив;
Если ИспользоватьВвозТоваровИзТаможенногоСоюза Тогда
Если ИспользоватьТоварыВПутиОтПоставщиков Тогда
ХозОперацииЗакупкаВСтранахЕАЭС.Добавить(
Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути);
КонецЕсли;
Если ИспользоватьНеотфактурованныеПоставки Тогда
ХозОперацииЗакупкаВСтранахЕАЭС.Добавить(
Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка);
КонецЕсли;
КонецЕсли;
ХозОперацииТоварыВПути = Новый Массив;
Если ИспользоватьТоварыВПутиОтПоставщиков Тогда
ХозОперацииТоварыВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути);
Если ИспользоватьИмпортныеЗакупки Тогда
ХозОперацииТоварыВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути);
КонецЕсли;
Если ИспользоватьВвозТоваровИзТаможенногоСоюза Тогда
ХозОперацииТоварыВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути);
КонецЕсли;
КонецЕсли;
ХозОперацииНеотфактурованныеПоставки = Новый Массив;
Если ИспользоватьНеотфактурованныеПоставки Тогда
ХозОперацииНеотфактурованныеПоставки.Добавить(
Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаНеотфактурованнаяПоставка);
Если ИспользоватьВвозТоваровИзТаможенногоСоюза Тогда
ХозОперацииНеотфактурованныеПоставки.Добавить(
Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка);
КонецЕсли;
КонецЕсли;
ПараметрыЗапроса.ХозОперацииЗакупкаУПоставщика = ХозОперацииЗакупкаУПоставщика;
ПараметрыЗапроса.ХозОперацииЗакупкаПоИмпорту = ХозОперацииЗакупкаПоИмпорту;
ПараметрыЗапроса.ХозОперацииЗакупкаВСтранахЕАЭС = ХозОперацииЗакупкаВСтранахЕАЭС;
ПараметрыЗапроса.ХозОперацииТоварыВПути = ХозОперацииТоварыВПути;
ПараметрыЗапроса.ХозОперацииНеотфактурованныеПоставки = ХозОперацииНеотфактурованныеПоставки;
КонецПроцедуры
Функция СтруктураСостояниеВыполненияДокумента() Экспорт
СтруктураСостояние = Отчеты.СостояниеВыполненияДокументов.ИнициализироватьСтруктуруСостояниеВыполненияДокумента();
СтруктураСостояние.Вставить("ВыводитьТаблицыПоступление", 1);
СтруктураСостояние.Вставить("ЭтоНакладная", Истина);
СтруктураСостояние.Вставить("СкладВШапке", Истина);
Возврат СтруктураСостояние;
КонецФункции
Функция ЗаполнитьНомераГТД(Товары, Распоряжение, Склад, Договор, ЭтоОперацияИмпорта = Ложь) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВЫРАЗИТЬ(ИсходнаяТаблица.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
| ИсходнаяТаблица.Характеристика КАК Характеристика,
| ИсходнаяТаблица.Назначение КАК Назначение,
| ИсходнаяТаблица.Серия КАК Серия,
| ИсходнаяТаблица.НомерГТД КАК НомерГТД,
| &Склад КАК Склад,
| &Договор КАК Договор,
| &ДокументПоступления КАК ДокументПоступления
|ПОМЕСТИТЬ ВтТаблицаТовары
|ИЗ
| &ИсходнаяТаблица КАК ИсходнаяТаблица
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ИсходнаяТаблица.Номенклатура КАК Номенклатура,
| ИсходнаяТаблица.Характеристика КАК Характеристика,
| ИсходнаяТаблица.Назначение КАК Назначение,
| ИсходнаяТаблица.Серия КАК Серия,
| ИсходнаяТаблица.Склад КАК Склад,
| ИсходнаяТаблица.Договор КАК Договор,
| ИсходнаяТаблица.ДокументПоступления КАК ДокументПоступления
|
|ПОМЕСТИТЬ ТаблицаТовары
|ИЗ
| ВтТаблицаТовары КАК ИсходнаяТаблица
|ГДЕ
| ИсходнаяТаблица.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| И ИсходнаяТаблица.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
| И ИсходнаяТаблица.Номенклатура.ВестиУчетПоГТД
|;
|
|ВЫБРАТЬ
| АналитикаУчетаНоменклатуры.Ссылка КАК АналитикаУчетаНоменклатуры
|ПОМЕСТИТЬ ВТОтборТоварыОрганизацийУПартнеров
|ИЗ
| ТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры
| ПО АналитикаУчетаНоменклатуры.Номенклатура = ТаблицаТовары.Номенклатура
| И АналитикаУчетаНоменклатуры.Характеристика = ТаблицаТовары.Характеристика
| И АналитикаУчетаНоменклатуры.Назначение = ТаблицаТовары.Назначение
| И АналитикаУчетаНоменклатуры.Серия = ТаблицаТовары.Серия
| И АналитикаУчетаНоменклатуры.Договор = ТаблицаТовары.Договор
|ГДЕ
| НЕ &ОперацияИмпорта
|
|ИНДЕКСИРОВАТЬ ПО
| АналитикаУчетаНоменклатуры
|;
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаЗаказы.Регистратор КАК Накладная,
| ТаблицаЗаказы.Номенклатура КАК Номенклатура,
| ТаблицаЗаказы.Характеристика КАК Характеристика,
| ТаблицаЗаказы.Склад КАК Склад
|ПОМЕСТИТЬ ВТСписокПриобретений
|ИЗ
| РегистрНакопления.ЗаказыПоставщикам КАК ТаблицаЗаказы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаТовары КАК ТаблицаТовары
| ПО ТаблицаЗаказы.ЗаказПоставщику = ТаблицаТовары.ДокументПоступления
| И ТаблицаЗаказы.Номенклатура = ТаблицаТовары.Номенклатура
| И ТаблицаЗаказы.Характеристика = ТаблицаТовары.Характеристика
| И ТаблицаЗаказы.Склад = ТаблицаТовары.Склад
|
|ГДЕ
| ТИПЗНАЧЕНИЯ(ТаблицаЗаказы.Регистратор) = ТИП(Документ.ПриобретениеТоваровУслуг)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТоварыПриобретения.Ссылка КАК Накладная,
| ТоварыПриобретения.Номенклатура КАК Номенклатура,
| ТоварыПриобретения.Характеристика КАК Характеристика,
| ТоварыПриобретения.Склад КАК Склад
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ТоварыПриобретения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаТовары КАК ТаблицаТовары
| ПО (ТоварыПриобретения.Ссылка = ТаблицаТовары.ДокументПоступления
| ИЛИ ТоварыПриобретения.Ссылка.Соглашение = ТаблицаТовары.ДокументПоступления
| ИЛИ ТоварыПриобретения.Ссылка.Договор = ТаблицаТовары.ДокументПоступления)
| И ТоварыПриобретения.Номенклатура = ТаблицаТовары.Номенклатура
| И ТоварыПриобретения.Характеристика = ТаблицаТовары.Характеристика
| И ТоварыПриобретения.Склад = ТаблицаТовары.Склад
|ГДЕ
| ТоварыПриобретения.Ссылка.Проведен
|
|;
|
|ВЫБРАТЬ
| ТаможеннаяДекларация.Ссылка КАК ТаможеннаяДекларация,
| ТаможеннаяДекларация.Номенклатура КАК Номенклатура,
| ТаможеннаяДекларация.Характеристика КАК Характеристика,
| ТаможеннаяДекларация.Склад КАК Склад,
| ТаможеннаяДекларация.НомерГТД КАК НомерГТД,
| СУММА(ТаможеннаяДекларация.Количество) КАК Количество
|ПОМЕСТИТЬ ВТТаможенныеДекларации
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТаможеннаяДекларация
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокПриобретений КАК Приобретение
| ПО Приобретение.Накладная = ТаможеннаяДекларация.ДокументПоступления
| И Приобретение.Номенклатура = ТаможеннаяДекларация.Номенклатура
| И Приобретение.Характеристика = ТаможеннаяДекларация.Характеристика
| И Приобретение.Склад = ТаможеннаяДекларация.Склад
| И Приобретение.Номенклатура = ТаможеннаяДекларация.Номенклатура
|
|ГДЕ
| &ОперацияИмпорта
|
|СГРУППИРОВАТЬ ПО
| ТаможеннаяДекларация.Ссылка,
| ТаможеннаяДекларация.Номенклатура,
| ТаможеннаяДекларация.Характеристика,
| ТаможеннаяДекларация.Склад,
| ТаможеннаяДекларация.НомерГТД
|;
|
|
|ВЫБРАТЬ
| ТоварыОрганизаций.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТоварыОрганизаций.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &Склад КАК Склад,
| ТоварыОрганизаций.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ТоварыОрганизаций.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ТоварыОрганизаций.НомерГТД КАК НомерГТД,
| ТоварыОрганизаций.КоличествоОстаток КАК Количество
|ПОМЕСТИТЬ ВТТоварыУПартнеров
|ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки(
| ,
| (АналитикаУчетаНоменклатуры) В
| (ВЫБРАТЬ
| ТаблицаОтбор.АналитикаУчетаНоменклатуры
| ИЗ
| ВТОтборТоварыОрганизацийУПартнеров КАК ТаблицаОтбор)
| ) КАК ТоварыОрганизаций
|ГДЕ
| ТоварыОрганизаций.КоличествоОстаток > 0
| И НЕ &ОперацияИмпорта
|;
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Поступления.Ссылка КАК ПоступлениеТоваров,
| Поступления.Номенклатура КАК Номенклатура,
| Поступления.Характеристика КАК Характеристика,
| Поступления.Ссылка.Склад КАК Склад,
| Поступления.НомерГТД КАК НомерГТД,
| СУММА(Поступления.Количество) КАК Количество
|ПОМЕСТИТЬ ВТПоступленияТоваров
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.Товары КАК Поступления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаТовары КАК ТаблицаТовары
| ПО Поступления.Ссылка.Распоряжение = ТаблицаТовары.ДокументПоступления
| И Поступления.Номенклатура = ТаблицаТовары.Номенклатура
| И Поступления.Характеристика = ТаблицаТовары.Характеристика
| И Поступления.Ссылка.Склад = ТаблицаТовары.Склад
|ГДЕ
| Поступления.Ссылка.Проведен
|
|СГРУППИРОВАТЬ ПО
| Поступления.Ссылка,
| Поступления.Номенклатура,
| Поступления.Характеристика,
| Поступления.НомерГТД
|;
|
|ВЫБРАТЬ
| НаборДанных.Номенклатура,
| НаборДанных.Характеристика,
| НаборДанных.Склад,
| НаборДанных.НомерГТД,
| НаборДанных.НомерГТД.СтранаПроисхождения КАК СтранаПроисхождения,
| СУММА(НаборДанных.Количество) КАК КоличествоНомеровГТД
|ИЗ
| (
| ВЫБРАТЬ
| Декларации.Номенклатура,
| Декларации.Характеристика,
| Декларации.Склад,
| Декларации.НомерГТД,
| Декларации.Количество
| ИЗ
| ВТТаможенныеДекларации КАК Декларации
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| УПартнеров.Номенклатура,
| УПартнеров.Характеристика,
| УПартнеров.Склад,
| УПартнеров.НомерГТД,
| УПартнеров.Количество
| ИЗ
| ВТТоварыУПартнеров КАК УПартнеров
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Поступления.Номенклатура,
| Поступления.Характеристика,
| Поступления.Склад,
| Поступления.НомерГТД,
| -Поступления.Количество
| ИЗ
| ВТПоступленияТоваров КАК Поступления
| ) КАК НаборДанных
|
|СГРУППИРОВАТЬ ПО
| НаборДанных.Номенклатура,
| НаборДанных.Характеристика,
| НаборДанных.Склад,
| НаборДанных.НомерГТД
|";
Запрос = Новый Запрос();
Запрос.Текст = ТекстЗапроса;
ИсходнаяТаблица = Товары.Скопировать();
Если ИсходнаяТаблица.Колонки.Найти("НомерГТД") = Неопределено Тогда
ИсходнаяТаблица.Колонки.Добавить("НомерГТД", Новый ОписаниеТипов("СправочникСсылка.НомераГТД"));
КонецЕсли;
Если Товары.Колонки.Найти("НомерГТД") = Неопределено Тогда
Товары.Колонки.Добавить("НомерГТД", Новый ОписаниеТипов("СправочникСсылка.НомераГТД"));
КонецЕсли;
Если Товары.Колонки.Найти("СтранаПроисхождения") = Неопределено Тогда
Товары.Колонки.Добавить("СтранаПроисхождения", Новый ОписаниеТипов("СправочникСсылка.СтраныМира"));
КонецЕсли;
Запрос.УстановитьПараметр("ИсходнаяТаблица", ИсходнаяТаблица);
Запрос.УстановитьПараметр("ДокументПоступления", Распоряжение);
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("Договор", Договор);
Запрос.УстановитьПараметр("ОперацияИмпорта", ЭтоОперацияИмпорта);
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();
НомераГТД = Запрос.Выполнить().Выгрузить();
Ключ = "Номенклатура, Характеристика";
Условие = "ПО [Количество]";
НакладныеСервер.РаспределитьКоличествоИЗаполнить(НомераГТД, Товары, "КоличествоНомеровГТД", Ключ, Условие, Ложь, "НомерГТД, СтранаПроисхождения");
Возврат Товары;
КонецФункции
Функция НаименованияВходящихДокументов() Экспорт
МассивНаименований = Новый Массив();
МассивНаименований.Добавить(НСтр("ru='Поступление'"));
ПоступлениеТоваровНаСкладЛокализация.ДополнитьНаименованияВходящихДокументов(МассивНаименований);
Возврат МассивНаименований
КонецФункции
Функция КоллекцияТабличныхЧастейТоваров() Экспорт
ТаблицыДокумента = Новый Структура("Товары");
Возврат ТаблицыДокумента;
КонецФункции
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Склад)
| И ЗначениеРазрешено(Партнер)
| И ЗначениеРазрешено(Подразделение)";
КонецПроцедуры
#КонецОбласти
#Область УчетНДС
Функция ПараметрыЗаполненияНалогообложенияНДСЗакупки(Документ) Экспорт
РеквизитыДокумента = Новый Структура("Контрагент, Договор, ХозяйственнаяОперация, Дата");
Если ТипЗнч(Документ) = Тип("ДокументСсылка.ПоступлениеТоваровНаСклад") Тогда
РеквизитыДокумента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Документ, РеквизитыДокумента);
Иначе
ЗаполнитьЗначенияСвойств(РеквизитыДокумента, Документ);
КонецЕсли;
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСЗакупки();
ЗаполнитьЗначенияСвойств(ПараметрыЗаполнения, РеквизитыДокумента);
ПараметрыЗаполнения.Период = РеквизитыДокумента.Дата;
ХозОперацииЗакупкаУПоставщика = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
ХозОперацииЗакупкаВСтранахЕАЭС = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
ХозОперацииЗакупкаПоИмпорту = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
Если ХозОперацииЗакупкаУПоставщика.Найти(РеквизитыДокумента.ХозяйственнаяОперация) <> Неопределено Тогда
Если РеквизитыДокумента.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути Тогда
ПараметрыЗаполнения.ПоступлениеИзТоваровВПути = Истина;
Иначе
ПараметрыЗаполнения.ПриобретениеТоваров = Истина;
КонецЕсли;
ИначеЕсли ХозОперацииЗакупкаВСтранахЕАЭС.Найти(РеквизитыДокумента.ХозяйственнаяОперация) <> Неопределено Тогда
Если РеквизитыДокумента.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути Тогда
ПараметрыЗаполнения.ПоступлениеИзТоваровВПути = Истина;
Иначе
ПараметрыЗаполнения.ВвозТоваровИзТаможенногоСоюза = Истина;
КонецЕсли;
ИначеЕсли ХозОперацииЗакупкаПоИмпорту.Найти(РеквизитыДокумента.ХозяйственнаяОперация) <> Неопределено Тогда
ПараметрыЗаполнения.ПоступлениеИзТоваровВПути = Истина;
КонецЕсли;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыЗаполненияВидаДеятельностиНДС(Документ) Экспорт
РеквизитыДокумента = Новый Структура("Дата, Организация, Склад, Договор, НаправлениеДеятельности, Подразделение");
Если ТипЗнч(Документ) = Тип("ДокументСсылка.ПоступлениеТоваровНаСклад") Тогда
РеквизитыДокумента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Документ, РеквизитыДокумента);
Иначе
ЗаполнитьЗначенияСвойств(РеквизитыДокумента, Документ);
КонецЕсли;
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияВидаДеятельностиНДС();
ЗаполнитьЗначенияСвойств(ПараметрыЗаполнения, РеквизитыДокумента);
ХозОперацииЗакупкаУПоставщика = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
ХозОперацииЗакупкаВСтранахЕАЭС = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
ХозОперацииЗакупкаПоИмпорту = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
Если ХозОперацииЗакупкаУПоставщика.Найти(Документ.ХозяйственнаяОперация) <> Неопределено
Или ХозОперацииЗакупкаВСтранахЕАЭС.Найти(Документ.ХозяйственнаяОперация) <> Неопределено
Или ХозОперацииЗакупкаПоИмпорту.Найти(Документ.ХозяйственнаяОперация) <> Неопределено Тогда
ПараметрыЗаполнения.ПриобретениеТоваров = Истина;
КонецЕсли;
ЭтоТоварыВПути = ЭтоПоступлениеИзТоваровВПути(Документ.ХозяйственнаяОперация);
Если ЭтоТоварыВПути Тогда
ПараметрыЗаполнения.Организация = Справочники.Организации.ПустаяСсылка();
ПараметрыЗаполнения.ПриобретениеТоваров = Ложь;
КонецЕсли;
Возврат ПараметрыЗаполнения;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
ОбщегоНазначенияУТКлиентСервер.ОбработкаПолученияПредставленияВходящегоДокумента(
Данные, Представление, СтандартнаяОбработка, "ПоступлениеТоваровНаСклад");
КонецПроцедуры
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Очистить();
Поля.Добавить("НаименованиеВходящегоДокумента");
Поля.Добавить("НомерВходящегоДокумента");
Поля.Добавить("ДатаВходящегоДокумента");
Поля.Добавить("Дата");
Поля.Добавить("Номер");
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Распоряжение КАК Распоряжение,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Контрагент.СтранаРегистрации КАК СтранаРегистрации,
| ДанныеДокумента.Соглашение КАК Соглашение,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Соглашение.Валюта КАК ВалютаСоглашения,
| ДанныеДокумента.ВидЦеныПоставщика.Валюта КАК ВалютаВидаЦеныПоставщика,
| ДанныеДокумента.ВидЦеныПоставщика,
| ДанныеДокумента.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| ДанныеДокумента.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ДанныеДокумента.Соглашение.ЦенаВключаетНДС КАК ЦенаВключаетНДССоглашения,
| ДанныеДокумента.РегистрироватьЦеныПоставщика КАК РегистрироватьЦеныПоставщика,
| ДанныеДокумента.Склад КАК Склад,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Подразделение.ВариантОбособленногоУчетаТоваров КАК ВариантОбособленногоУчетаТоваров,
| ДанныеДокумента.ВариантПриемкиТоваров КАК ВариантПриемкиТоваров,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.Менеджер КАК Менеджер,
| ДанныеДокумента.Автор КАК Автор,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Сделка КАК Сделка,
| ЕСТЬNULL(ДанныеДокумента.Сделка.ОбособленныйУчетТоваровПоСделке, ЛОЖЬ) КАК ОбособленныйУчетТоваровПоСделке,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ДанныеДокумента.НаименованиеВходящегоДокумента КАК НаименованиеВходящегоДокумента,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Проведен КАК Проведен,
| ВЫБОР
| КОГДА ДанныеДокумента.Склад.ИспользоватьОрдернуюСхемуПриПоступлении
| И ДанныеДокумента.Дата >= ДанныеДокумента.Склад.ДатаНачалаОрдернойСхемыПриПоступлении
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ПоступлениеНаОрдерныйСклад,
| ДанныеДокумента.Исправление КАК Исправление,
| ДанныеДокумента.СторнируемыйДокумент КАК СторнируемыйДокумент,
| ДанныеДокумента.ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ПоступлениеТоваровНаСклад КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
Реквизиты = Запрос.Выполнить().Выбрать();
Реквизиты.Следующий();
НомерВходящегоДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.НомерВходящегоДокумента);
ПараметрыУчетаПоОрганизации = УчетНДСУП.ПараметрыУчетаПоОрганизации(Реквизиты.Организация, Реквизиты.Период);
Запрос.УстановитьПараметр("Период", Реквизиты.Период);
Запрос.УстановитьПараметр("Ссылка", Реквизиты.Ссылка);
Запрос.УстановитьПараметр("Распоряжение", Реквизиты.Распоряжение);
Запрос.УстановитьПараметр("Организация", Реквизиты.Организация);
Запрос.УстановитьПараметр("Партнер", Реквизиты.Партнер);
Запрос.УстановитьПараметр("Контрагент", Реквизиты.Контрагент);
Запрос.УстановитьПараметр("СтранаРегистрации", Реквизиты.СтранаРегистрации);
Запрос.УстановитьПараметр("Соглашение", Реквизиты.Соглашение);
Запрос.УстановитьПараметр("Валюта", Реквизиты.Валюта);
Запрос.УстановитьПараметр("ВалютаСоглашения", Реквизиты.ВалютаСоглашения);
Запрос.УстановитьПараметр("ВалютаВидаЦеныПоставщика", Реквизиты.ВалютаВидаЦеныПоставщика);
Запрос.УстановитьПараметр("ВидЦеныПоставщика", Реквизиты.ВидЦеныПоставщика);
Запрос.УстановитьПараметр("ЦенаВключаетНДСДокумента", Реквизиты.ЦенаВключаетНДС);
Запрос.УстановитьПараметр("НалогообложениеНДС", Реквизиты.НалогообложениеНДС);
Запрос.УстановитьПараметр("ВидДеятельностиНДС", Реквизиты.ВидДеятельностиНДС);
Запрос.УстановитьПараметр("ЦенаВключаетНДССоглашения", Реквизиты.ЦенаВключаетНДССоглашения);
Запрос.УстановитьПараметр("РегистрироватьЦеныПоставщика", Реквизиты.РегистрироватьЦеныПоставщика);
Запрос.УстановитьПараметр("Склад", Реквизиты.Склад);
Запрос.УстановитьПараметр("ХозяйственнаяОперация", Реквизиты.ХозяйственнаяОперация);
Запрос.УстановитьПараметр("Подразделение", Реквизиты.Подразделение);
Запрос.УстановитьПараметр("ВариантОбособленногоУчетаТоваров", Реквизиты.ВариантОбособленногоУчетаТоваров);
Запрос.УстановитьПараметр("ВариантПриемкиТоваров", Реквизиты.ВариантПриемкиТоваров);
Запрос.УстановитьПараметр("Договор", Реквизиты.Договор);
Запрос.УстановитьПараметр("Менеджер", Реквизиты.Менеджер);
Запрос.УстановитьПараметр("Автор", Реквизиты.Автор);
Запрос.УстановитьПараметр("НаправлениеДеятельности", Реквизиты.НаправлениеДеятельности);
Запрос.УстановитьПараметр("Сделка", Реквизиты.Сделка);
Запрос.УстановитьПараметр("ОбособленныйУчетТоваровПоСделке", Реквизиты.ОбособленныйУчетТоваровПоСделке);
Запрос.УстановитьПараметр("СуммаДокумента", Реквизиты.СуммаДокумента);
Запрос.УстановитьПараметр("ДатаВходящегоДокумента", Реквизиты.ДатаВходящегоДокумента);
Запрос.УстановитьПараметр("НомерВходящегоДокумента", НомерВходящегоДокумента);
Запрос.УстановитьПараметр("Номер", Реквизиты.Номер);
Запрос.УстановитьПараметр("Комментарий", Реквизиты.Комментарий);
Запрос.УстановитьПараметр("ПометкаУдаления", Реквизиты.ПометкаУдаления);
Запрос.УстановитьПараметр("Проведен", Реквизиты.Проведен);
Запрос.УстановитьПараметр("ПоступлениеНаОрдерныйСклад", Реквизиты.ПоступлениеНаОрдерныйСклад);
Запрос.УстановитьПараметр("Исправление", Реквизиты.Исправление);
Запрос.УстановитьПараметр("СторнируемыйДокумент", Реквизиты.СторнируемыйДокумент);
Запрос.УстановитьПараметр("ИсправляемыйДокумент", Реквизиты.ИсправляемыйДокумент);
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета",
ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
Запрос.УстановитьПараметр("КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям",
ПолучитьФункциональнуюОпцию("КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям"));
Запрос.УстановитьПараметр("ХозОперацииЗакупкаПоИмпорту", ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту));
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяОбъекта()));
Запрос.УстановитьПараметр("НалогообложениеОрганизации", ПараметрыУчетаПоОрганизации.ОсновноеНалогообложениеНДСПродажи);
Запрос.УстановитьПараметр("НастройкаХозяйственнойОперации", Реквизиты.НастройкаХозяйственнойОперации);
Запрос.УстановитьПараметр("НаименованиеВходящегоДокумента", Реквизиты.НаименованиеВходящегоДокумента);
Если Не ЗначениеЗаполнено(Реквизиты.ВариантПриемкиТоваров) Тогда
ВариантПриемкиТоваров = Константы.ВариантПриемкиТоваров.Получить();
Иначе
ВариантПриемкиТоваров = Реквизиты.ВариантПриемкиТоваров;
КонецЕсли;
Если Справочники.ДоговорыКонтрагентов.ДоговорИспользуетсяПриПриемке(ВариантПриемкиТоваров)
И Реквизиты.ПоступлениеНаОрдерныйСклад Тогда
Запрос.УстановитьПараметр("ДокументПоступления", Реквизиты.Договор);
ИначеЕсли Справочники.СоглашенияСПоставщиками.СоглашениеИспользуетсяПриПриемке(ВариантПриемкиТоваров)
И Реквизиты.ПоступлениеНаОрдерныйСклад Тогда
Запрос.УстановитьПараметр("ДокументПоступления", Реквизиты.Соглашение);
ИначеЕсли ЗакупкиСервер.РаспоряжениеНаПриемкуТовараНакладная(ВариантПриемкиТоваров) Тогда
Запрос.УстановитьПараметр("ДокументПоступления", Реквизиты.Распоряжение);
Иначе
Запрос.УстановитьПараметр("ДокументПоступления", Реквизиты.Распоряжение);
КонецЕсли;
ПарыОперацийРаздельнойЗакупки = ЗакупкиСервер.ПарыОперацийРаздельнойЗакупки();
ХозяйственнаяОперацияКПоступлению = ПарыОперацийРаздельнойЗакупки.Получить(Реквизиты.ХозяйственнаяОперация);
ХозяйственнаяОперацияКПоступлению = ?(Не ЗначениеЗаполнено(ХозяйственнаяОперацияКПоступлению),
Реквизиты.ХозяйственнаяОперация,
ХозяйственнаяОперацияКПоступлению);
Запрос.УстановитьПараметр("ХозяйственнаяОперацияКПоступлению", ХозяйственнаяОперацияКПоступлению);
ИнформацияПоДоговору = Неопределено;
Если ЗначениеЗаполнено(Реквизиты.Договор) Тогда
ШаблонСтроки = "ru = 'По договору ""%1""'";
ИнформацияПоДоговору = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСтроки, Реквизиты.Договор);
КонецЕсли;
Запрос.УстановитьПараметр("ИнформацияПоДоговору", ИнформацияПоДоговору);
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
КонецПроцедуры
Функция ТекстЗапросаВременнаяТаблицаКурсыВалют(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВременнаяТаблицаКурсыВалют";
ТекстЗапроса = "
|ВЫБРАТЬ
| ОтносительныеКурсыВалютСрезПоследних.Валюта КАК Валюта,
| ОтносительныеКурсыВалютСрезПоследних.КурсЧислитель КАК КурсЧислитель,
| ОтносительныеКурсыВалютСрезПоследних.КурсЗнаменатель КАК КурсЗнаменатель
|ПОМЕСТИТЬ ВременнаяТаблицаКурсыВалют
|ИЗ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&Период, БазоваяВалюта В (ВЫБРАТЬ
| БазоваяВалютаПоУмолчанию.Значение КАК Значение
| ИЗ
| Константа.БазоваяВалютаПоУмолчанию КАК БазоваяВалютаПоУмолчанию)) КАК
| ОтносительныеКурсыВалютСрезПоследних
|ИНДЕКСИРОВАТЬ ПО
| Валюта
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВременнаяТаблицаТовары(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВременнаяТаблицаТовары";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВременнаяТаблицаКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.НоменклатураПартнера КАК НоменклатураПартнера,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| &ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| Товары.Упаковка КАК Упаковка,
| ВЫРАЗИТЬ(Товары.Цена * ВЫБОР
| КОГДА &ЦенаВключаетНДСДокумента
| И НЕ &ЦенаВключаетНДССоглашения
| ТОГДА 100 / (100 + Товары.СтавкаНДС.Ставка)
| КОГДА НЕ &ЦенаВключаетНДСДокумента
| И &ЦенаВключаетНДССоглашения
| ТОГДА (Товары.СтавкаНДС.Ставка + 100) / 100
| ИНАЧЕ 1
| КОНЕЦ * ВЫБОР
| КОГДА &Валюта <> &ВалютаСоглашения
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(КурсыВалютыСоглашения.КурсЗнаменатель, 0) > 0
| И ЕСТЬNULL(КурсыВалютыСоглашения.КурсЧислитель, 0) > 0
| И ЕСТЬNULL(КурсыВалюты.КурсЗнаменатель, 0) > 0
| И ЕСТЬNULL(КурсыВалюты.КурсЧислитель, 0) > 0
| ТОГДА КурсыВалюты.КурсЧислитель * КурсыВалютыСоглашения.КурсЗнаменатель / (КурсыВалютыСоглашения.КурсЧислитель * КурсыВалюты.КурсЗнаменатель)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ КАК ЧИСЛО(31, 2)) КАК Цена
|ПОМЕСТИТЬ ВременнаяТаблицаТовары
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаКурсыВалют КАК КурсыВалюты
| ПО (КурсыВалюты.Валюта = &Валюта)
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаКурсыВалют КАК КурсыВалютыСоглашения
| ПО (КурсыВалютыСоглашения.Валюта = &ВалютаСоглашения)
|ГДЕ
| Товары.Ссылка = &Ссылка
| И &РегистрироватьЦеныПоставщика";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтПараметрыНоменклатуры(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПараметрыНоменклатуры";
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| МАКСИМУМ(Товары.СтатусУказанияСерий) КАК СтатусУказанияСерий,
| МАКСИМУМ(ЕСТЬNULL(Товары.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийВНеотфактурованныхПоставкахТоваров, ЛОЖЬ)) КАК УчетСерийВНеотфактурованныхПоставкахТоваров,
| МАКСИМУМ(ЕСТЬNULL(Товары.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры.ПолитикаУчетаСерий.УчетТоваровВПутиОтПоставщикаПоСериям, ЛОЖЬ)) КАК УчетТоваровВПутиОтПоставщикаПоСериям,
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура
|ПОМЕСТИТЬ ВтПараметрыНоменклатуры
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.Товары КАК Товары
|ГДЕ
| Товары.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| Товары.Ссылка,
| Товары.АналитикаУчетаНоменклатуры.Номенклатура
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| Номенклатура
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТоварыСРазличнымиУпаковкамиЦенами(Запрос, ТекстыЗапроса)
ИмяРегистра = "ТоварыСРазличнымиУпаковкамиЦенами";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВременнаяТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| &ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| СРЕДНЕЕ(Товары.Цена / ВЫБОР
| КОГДА Товары.Упаковка <> ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА &ТекстЗапросаКоэффициентУпаковки
| ИНАЧЕ 1
| КОНЕЦ) КАК ЦенаЗаБазовуюЕдиницу,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Товары.Упаковка) КАК КоличествоРазличныхУпаковок
|ПОМЕСТИТЬ ТоварыСРазличнымиУпаковкамиЦенами
|ИЗ
| ВременнаяТаблицаТовары КАК Товары
|
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура,
| Товары.Характеристика";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстЗапросаКоэффициентУпаковки",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"Товары.Упаковка",
"Товары.Номенклатура"));
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОформитьПоступлениеТоваровПоДвухходовке(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаДокумента =
"ВЫБРАТЬ
| ИсточникДанных.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА ИсточникДанных.Ссылка.Распоряжение В
| (
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Документ.ПриобретениеТоваровУслуг.ПустаяСсылка),
| ЗНАЧЕНИЕ(Документ.ЗаказПоставщику.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.СоглашенияСПоставщиками.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| )
| ТОГДА
| ИсточникДанных.Ссылка
| ИНАЧЕ
| ИсточникДанных.Ссылка.Распоряжение
| КОНЕЦ КАК Накладная,
| ИсточникДанных.Ссылка.Распоряжение КАК Заказ,
| ИсточникДанных.Ссылка.Договор КАК Договор,
| ИсточникДанных.Ссылка.Соглашение КАК Соглашение,
| ИсточникДанных.Ссылка.ВариантПриемкиТоваров КАК ВариантПриемкиТоваров,
| ИсточникДанных.Ссылка.Дата КАК Дата,
| ИсточникДанных.Номенклатура КАК Номенклатура,
| ИсточникДанных.Характеристика КАК Характеристика,
| ИсточникДанных.Назначение КАК Назначение,
| ИсточникДанных.Серия КАК Серия,
| ИсточникДанных.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ИсточникДанных.СтатусУказанияСерийНаСкладах КАК СтатусУказанияСерийНаСкладах,
| ИсточникДанных.СтатусУказанияСерийТоварыУПартнеров КАК СтатусУказанияСерийТоварыУПартнеров,
| ЛОЖЬ КАК СверхЗаказа,
| ИсточникДанных.Ссылка.Склад КАК Склад,
| ИсточникДанных.Ссылка.Партнер КАК Отправитель,
| ИсточникДанных.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИсточникДанных.Количество КАК Количество,
| ИСТИНА КАК ЭтоНакладная,
| НЕ ИсточникДанных.Ссылка.Распоряжение В
| (
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Документ.ПриобретениеТоваровУслуг.ПустаяСсылка),
| ЗНАЧЕНИЕ(Документ.ЗаказПоставщику.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.СоглашенияСПоставщиками.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| )
| КАК ПоступлениеПоЗаказам
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.Товары КАК ИсточникДанных
|ГДЕ
| ИсточникДанных.Ссылка В(&Ссылка)
|
|";
ТекущийОбъектМетаданных = Метаданные.Документы.ПоступлениеТоваровНаСклад;
СкладыСервер.ОформитьПоступлениеТоваровПоДвухходовке(
Запрос,
ТекстыЗапроса,
Регистры,
ТекстЗапросаДокумента,
ТекущийОбъектМетаданных,
"Серии");
КонецПроцедуры
Функция ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияСерийТоваров";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаСерии.Номенклатура КАК Номенклатура,
| ТаблицаСерии.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаСерии.Назначение.ДвиженияПоСкладскимРегистрам, ЛОЖЬ)
| ТОГДА ТаблицаСерии.Назначение
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| КОНЕЦ КАК Назначение,
| ТаблицаСерии.Серия КАК Серия,
| ТаблицаСерии.Количество КАК Количество,
| &Склад КАК Получатель,
| ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка) КАК ПомещениеПолучателя,
| &Партнер КАК Отправитель,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаОтПоставщика) КАК СкладскаяОперация,
| &Ссылка КАК Документ,
| &Период КАК Период,
| &Ссылка КАК Регистратор,
| ВЫБОР
| КОГДА НЕ &ПоступлениеНаОрдерныйСклад
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоСкладскоеДвижение
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.Серии КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И ТаблицаСерии.Количество <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаСерии.Номенклатура,
| ТаблицаСерии.Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаСерии.Назначение.ДвиженияПоСкладскимРегистрам, ЛОЖЬ)
| ТОГДА ТаблицаСерии.Назначение
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| КОНЕЦ,
| ТаблицаСерии.Серия,
| ТаблицаСерии.Количество,
| &Склад,
| ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка),
| &Партнер,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаОтПоставщика),
| &Ссылка,
| &Период,
| &Ссылка,
| ВЫБОР
| КОГДА НЕ &ПоступлениеНаОрдерныйСклад
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.Товары КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И ТаблицаСерии.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаЦеныНоменклатурыПоставщиков(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ЦеныНоменклатурыПоставщиков";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВременнаяТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ТоварыСРазличнымиУпаковкамиЦенами", ТекстыЗапроса) Тогда
ТекстЗапросаТоварыСРазличнымиУпаковкамиЦенами(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВременнаяТаблицаКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "ВЫБРАТЬ
| МАКСИМУМ(Товары.НоменклатураПартнера) КАК НоменклатураПартнера,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| &ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| &ВалютаВидаЦеныПоставщика КАК Валюта,
| &Период КАК Период,
| &Партнер КАК Партнер,
| МИНИМУМ(ВЫБОР
| КОГДА ТоварыСРазличнымиУпаковкамиЦенами.КоличествоРазличныхУпаковок > 1
| ТОГДА ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ИНАЧЕ Товары.Упаковка
| КОНЕЦ) КАК Упаковка,
| ВЫРАЗИТЬ(СРЕДНЕЕ(ВЫБОР
| КОГДА ТоварыСРазличнымиУпаковкамиЦенами.КоличествоРазличныхУпаковок > 1
| ТОГДА ТоварыСРазличнымиУпаковкамиЦенами.ЦенаЗаБазовуюЕдиницу
| ИНАЧЕ Товары.Цена
| КОНЕЦ * ВЫБОР
| КОГДА &Валюта <> Товары.ВидЦеныПоставщика.Валюта
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(КурсыВалютыЦены.КурсЗнаменатель, 0) > 0
| И ЕСТЬNULL(КурсыВалютыЦены.КурсЧислитель, 0) > 0
| И ЕСТЬNULL(КурсыВалюты.КурсЗнаменатель, 0) > 0
| И ЕСТЬNULL(КурсыВалюты.КурсЧислитель, 0) > 0
| ТОГДА КурсыВалюты.КурсЧислитель * КурсыВалютыЦены.КурсЗнаменатель / (КурсыВалютыЦены.КурсЧислитель * КурсыВалюты.КурсЗнаменатель)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ) КАК ЧИСЛО(31,2)) КАК Цена
|ИЗ
| ВременнаяТаблицаТовары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыСРазличнымиУпаковкамиЦенами КАК ТоварыСРазличнымиУпаковкамиЦенами
| ПО Товары.Номенклатура = ТоварыСРазличнымиУпаковкамиЦенами.Номенклатура
| И Товары.Характеристика = ТоварыСРазличнымиУпаковкамиЦенами.Характеристика
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаКурсыВалют КАК КурсыВалюты
| ПО (КурсыВалюты.Валюта = &Валюта)
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаКурсыВалют КАК КурсыВалютыЦены
| ПО (КурсыВалютыЦены.Валюта = &ВалютаВидаЦеныПоставщика)
|ГДЕ
| НЕ Товары.ВидЦеныПоставщика = ЗНАЧЕНИЕ(Справочник.ВидыЦенПоставщиков.ПустаяСсылка)
|
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура,
| Товары.Характеристика";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПараметрыНоменклатуры", ТекстыЗапроса) Тогда
ТекстЗапросаВтПараметрыНоменклатуры(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ТаблицаТовары.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ИСТИНА КАК Первичное
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.Товары КАК ТаблицаТовары
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И (ТаблицаТовары.Ссылка.ХозяйственнаяОперация В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути))
| )
| И НЕ (ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ВестиУчетПоГТД
| И (ТаблицаТовары.СтатусУказанияСерий = 14
| И НЕ (ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийВНеотфактурованныхПоставкахТоваров, ЛОЖЬ)
| ИЛИ ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры.ПолитикаУчетаСерий.УчетТоваровВПутиОтПоставщикаПоСериям, ЛОЖЬ)))
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| ТаблицаТовары.ВидЗапасовНаСкладе КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ИСТИНА КАК Первичное
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.ВидыЗапасов КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыНоменклатуры КАК ДанныеСтатусовСерий
| ПО ТаблицаТовары.Ссылка = ДанныеСтатусовСерий.Ссылка
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура = ДанныеСтатусовСерий.Номенклатура
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И (ТаблицаТовары.Ссылка.ХозяйственнаяОперация В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути))
| )
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ВестиУчетПоГТД
| И (ДанныеСтатусовСерий.СтатусУказанияСерий = 14
| И НЕ (ДанныеСтатусовСерий.УчетСерийВНеотфактурованныхПоставкахТоваров
| ИЛИ ДанныеСтатусовСерий.УчетТоваровВПутиОтПоставщикаПоСериям))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| Аналитики.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ТаблицаТовары.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ИСТИНА КАК Первичное
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.Товары КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитики
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура = Аналитики.Номенклатура
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика = Аналитики.Характеристика
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.МестоХранения = Аналитики.МестоХранения
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение = Аналитики.Назначение
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.СтатьяКалькуляции = Аналитики.СтатьяКалькуляции
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = Аналитики.Серия
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И (ТаблицаТовары.Ссылка.ХозяйственнаяОперация В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути))
| )
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ВестиУчетПоГТД
| И (ТаблицаТовары.СтатусУказанияСерий = 14
| И НЕ (ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийВНеотфактурованныхПоставкахТоваров, ЛОЖЬ)
| ИЛИ ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры.ПолитикаУчетаСерий.УчетТоваровВПутиОтПоставщикаПоСериям, ЛОЖЬ)))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| Аналитики.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| ТаблицаТовары.ВидЗапасовНаСкладе КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ИСТИНА КАК Первичное
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.ВидыЗапасов КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитики
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура = Аналитики.Номенклатура
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика = Аналитики.Характеристика
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.МестоХранения = Аналитики.МестоХранения
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение = Аналитики.Назначение
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.СтатьяКалькуляции = Аналитики.СтатьяКалькуляции
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = Аналитики.Серия
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыНоменклатуры КАК ДанныеСтатусовСерий
| ПО ТаблицаТовары.Ссылка = ДанныеСтатусовСерий.Ссылка
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура = ДанныеСтатусовСерий.Номенклатура
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И (ТаблицаТовары.Ссылка.ХозяйственнаяОперация В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути))
| )
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ВестиУчетПоГТД
| И (ДанныеСтатусовСерий.СтатусУказанияСерий = 14
| И НЕ (ДанныеСтатусовСерий.УчетСерийВНеотфактурованныхПоставкахТоваров
| ИЛИ ДанныеСтатусовСерий.УчетТоваровВПутиОтПоставщикаПоСериям))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.АналитикаУчетаНоменклатурыТоварыУПартнеров КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ТаблицаТовары.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ЛОЖЬ КАК Первичное
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.ВидыЗапасов КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути)
| )
|
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.АналитикаУчетаНоменклатурыТоварыУПартнеров КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ТаблицаТовары.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ЛОЖЬ КАК Первичное
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.ВидыЗапасов КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаНеотфактурованнаяПоставка)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &Организация КАК Организация,
| ТаблицаТовары.ВидЗапасовНаСкладе КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ТаблицаТовары.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ЛОЖЬ КАК Первичное
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.ВидыЗапасов КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаНеотфактурованнаяПоставка)
| )
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДатыПоступленияТоваровОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Период КАК ДатаПоступления,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ТаблицаТовары.СтатусУказанияСерийНаСкладах <> 0
| ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ КАК Серия,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.Товары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДатыПоступленияТоваровОрганизаций КАК ПоступленияТоваров
| ПО ТаблицаТовары.ВидЗапасов = ПоступленияТоваров.ВидЗапасов
| И ТаблицаТовары.Номенклатура = ПоступленияТоваров.Номенклатура
| И ТаблицаТовары.Характеристика = ПоступленияТоваров.Характеристика
| И ТаблицаТовары.Серия = ПоступленияТоваров.Серия
| И ТаблицаТовары.Назначение = ПоступленияТоваров.Назначение
| И ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) = ПоступленияТоваров.НомерГТД
|ГДЕ
| ТаблицаТовары.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И (ПоступленияТоваров.ДатаПоступления ЕСТЬ NULL
| ИЛИ ПоступленияТоваров.ДатаПоступления < &Период)
| И ТаблицаТовары.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| ТаблицаТовары.ВидЗапасов,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ВЫБОР
| КОГДА ТаблицаТовары.СтатусУказанияСерийНаСкладах <> 0
| ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ,
| ТаблицаТовары.Назначение";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &Склад КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Ответственный,
| &Автор КАК Автор,
| &Комментарий КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &ИнформацияПоДоговору КАК Дополнительно,
| &ДатаВходящегоДокумента КАК ДатаПервичногоДокумента,
| &НомерВходящегоДокумента КАК НомерПервичногоДокумента,
| &НаименованиеВходящегоДокумента КАК НаименованиеПервичногоДокумента,
| &Исправление КАК СторноИсправление,
| &СторнируемыйДокумент КАК СторнируемыйДокумент,
| &ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос)
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУпр")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуРегл") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамиВалютУТ.ПолучитьКоэффициентыПересчетаВалюты(
Запрос.Параметры.Валюта,
Запрос.Параметры.Валюта,
Запрос.Параметры.Период,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
КонецПроцедуры
Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса)
ТекстНомераСтрок = РасчетСебестоимостиПроведениеДокументов.ТекстЗапросаКодыСтрокДляАналитикиУчетаПартий(
Метаданные.Документы.ПоступлениеТоваровНаСклад.Имя,
"ВидыЗапасов");
ТекстВыборкаПоляАналитик = ТекстНомераСтрок + "
|ВЫБРАТЬ
| ""ВидыЗапасов"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ДанныеДокумента.Партнер КАК Поставщик,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС, ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| ТОГДА ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| КОГДА ДанныеДокумента.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути))
| ТОГДА ДанныеДокумента.ВидДеятельностиНДС
| КОГДА ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.НалоговыйАгентПоНДС)
| И ДанныеДокумента.НаправлениеДеятельности.Назначение.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПоФактическомуИспользованию)
| ТОГДА &НалогообложениеОрганизации
| КОГДА ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.НалоговыйАгентПоНДС)
| И ДанныеДокумента.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПоФактическомуИспользованию)
| ТОГДА &НалогообложениеОрганизации
| ИНАЧЕ ДанныеДокумента.ВидДеятельностиНДС
| КОНЕЦ КАК НалогообложениеНДС,
| ЕСТЬNULL(ГФУ.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары)) КАК ВидЦенности,
| КодыСтрок.КодСтроки КАК КодСтроки
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.ВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровНаСклад КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО СпрНоменклатура.Ссылка = ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКодыСтрокДляАналитикиУчетаПартий КАК КодыСтрок
| ПО ТаблицаДокумента.НомерСтроки = КодыСтрок.НомерСтроки
| И КодыСтрок.ИмяТабличнойЧасти = ""ВидыЗапасов""
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыФинансовогоУчетаНоменклатуры КАК ГФУ
| ПО СпрНоменклатура.ГруппаФинансовогоУчета = ГФУ.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|";
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
Возврат ТекстЗапроса;
КонецФункции
Процедура ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос;
ЗапросАналитик.Текст = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК МестоХранения
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.ВидыЗапасов КАК ВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = Аналитика.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = Аналитика.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = Аналитика.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = Аналитика.МестоХранения
| И (&ПустоеНазначение = Аналитика.Назначение)
|ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
| И Аналитика.КлючАналитики ЕСТЬ NULL
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.Номенклатура КАК Номенклатура,
| ВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| ВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.Серия КАК Серия,
| ВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.МестоХранения КАК МестоХранения
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.ВидыЗапасов КАК ВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.Номенклатура = Аналитика.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.Характеристика = Аналитика.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.Серия = Аналитика.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.МестоХранения = Аналитика.МестоХранения
| И (&ПустоеНазначение = Аналитика.Назначение)
|ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
| И Аналитика.КлючАналитики ЕСТЬ NULL
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
|";
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("ПустоеНазначение", Справочники.Назначения.ПустаяСсылка());
ЗапросАналитик.УстановитьПараметр("УчитыватьСебестоимостьТоваровПоНазначениям", Запрос.Параметры.УчитыватьСебестоимостьТоваровПоНазначениям);
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Функция ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтВидыЗапасов";
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| АналитикаУчетаНоменклатурыТоварыУПартнеров.Номенклатура КАК НоменклатураУПартнеров,
| АналитикаУчетаНоменклатурыТоварыУПартнеров.Характеристика КАК ХарактеристикаУПартнеров,
| АналитикаУчетаНоменклатурыТоварыУПартнеров.Серия КАК СерияУПартнеров,
| АналитикаУчетаНоменклатурыТоварыУПартнеров.Назначение КАК НазначениеУПартнеров,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаНоменклатурыБезНазначения,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров КАК АналитикаТоварыУПартнеров,
| АналитикаУПартнеровБезНазначения.КлючАналитики КАК АналитикаТоварыУПартнеровБезНазначения,
|
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
|
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасовНаСкладе КАК ВидЗапасовНаСкладе,
| ТаблицаВидыЗапасов.ВидЗапасовНаСкладе.ТипЗапасов КАК ТипЗапасовНаСкладе,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ТаблицаВидыЗапасов.Количество КАК Количество,
|
| ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаСНДС * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаСНДСУпр,
| ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаНДС * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаНДСУпр,
| ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДСУпр,
|
| ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС)
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаСНДСРегл,
| ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС)
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаБезНДСРегл,
| ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаНДС * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаНДСРегл,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ВтВидыЗапасов
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И (ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаУПартнеровБезНазначения
| ПО ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.Номенклатура = АналитикаУПартнеровБезНазначения.Номенклатура
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.Характеристика = АналитикаУПартнеровБезНазначения.Характеристика
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.Серия = АналитикаУПартнеровБезНазначения.Серия
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыТоварыУПартнеров.МестоХранения = АналитикаУПартнеровБезНазначения.МестоХранения
| И (ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаУПартнеровБезНазначения.Назначение)
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВидыЗапасов""
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияНоменклатураНоменклатура(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияНоменклатураНоменклатура";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ВидыЗапасов.АналитикаТоварыУПартнеров КАК АналитикаУчетаНоменклатуры,
| &Договор КАК Склад,
| ВидыЗапасов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВидыЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.АналитикаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ВидыЗапасов.Склад КАК КорСклад,
| ВидыЗапасов.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ВидыЗапасов.ТипЗапасовНаСкладе КАК КорТипЗапасов,
| ВидыЗапасов.ВидЗапасовНаСкладе КАК КорВидЗапасов,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.Количество КАК КорКоличество,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК СтоимостьУпр,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ВидыЗапасов.ВидЗапасов
| ИНАЧЕ ВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ВидыЗапасов.ВидЗапасовНаСкладе
| ИНАЧЕ ВидыЗапасов.Номенклатура
| КОНЕЦ КАК КорИсточникГФУНоменклатуры
|ИЗ
| ВтВидыЗапасов КАК ВидыЗапасов
|ГДЕ
| &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ВидыЗапасов.АналитикаТоварыУПартнеров КАК АналитикаУчетаНоменклатуры,
| &Договор КАК Склад,
| ВидыЗапасов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВидыЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.АналитикаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ВидыЗапасов.Склад КАК КорСклад,
| ВидыЗапасов.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ВидыЗапасов.ТипЗапасовНаСкладе КАК КорТипЗапасов,
| ВидыЗапасов.ВидЗапасовНаСкладе КАК КорВидЗапасов,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.Количество КАК КорКоличество,
| ВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ВидыЗапасов.СуммаБезНДСРегл КАК СтоимостьРегл,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА
| ВЫБОР КОГДА ВидыЗапасов.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА
| ВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ
| ВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ВидыЗапасов.ВидЗапасов
| ИНАЧЕ ВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ВидыЗапасов.ВидЗапасовНаСкладе
| ИНАЧЕ ВидыЗапасов.Номенклатура
| КОНЕЦ КАК КорИсточникГФУНоменклатуры
|ИЗ
| ВтВидыЗапасов КАК ВидыЗапасов
|ГДЕ
| &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаНеотфактурованнаяПоставка))
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ТекстыЗапросаВременныхТаблиц = Новый Соответствие();
ПолноеИмяДокумента = "Документ.ПоступлениеТоваровНаСклад";
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ЗначенияПараметров = Новый Структура();
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоДоговору", """""");
ПереопределениеРасчетаПараметров.Вставить("НомерВходящегоДокумента", """""");
ПереопределениеРасчетаПараметров.Вставить("ХозяйственнаяОперацияКПоступлению",
"ВЫБОР
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути)
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаНеотфактурованнаяПоставка)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки)
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути)
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки)
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)
|КОНЕЦ");
ПереопределениеРасчетаПараметров.Вставить("ДокументПоступления",
"ВЫБОР
|КОГДА ТаблицаТовары.Ссылка.ВариантПриемкиТоваров В (ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеЗаказовИлиНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеНакладных))
|ТОГДА
| ТаблицаТовары.Ссылка.Договор
|КОГДА ТаблицаТовары.Ссылка.ВариантПриемкиТоваров В (ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.МожетПроисходитьБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоЗаказамИНакладным),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоНакладным))
|ТОГДА
| ТаблицаТовары.Ссылка.Соглашение
|ИНАЧЕ
| ТаблицаТовары.Ссылка.Распоряжение
|КОНЕЦ");
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
ВЗапросеЕстьИсточник = Ложь;
ИначеЕсли ИмяРегистра = "ТоварыОрганизаций" Тогда
ТекстыЗапросаВременныхТаблиц.Вставить("ВтПараметрыНоменклатуры",
ТекстЗапросаВтПараметрыНоменклатуры(Запрос, ТекстыЗапроса));
ТекстЗапроса = ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ТаблицаТовары";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ТабЧасть.Ссылка.Склад КАК Склад,
| ВЫБОР КОГДА ТабЧасть.Назначение.ДвиженияПоСкладскимРегистрам ТОГДА
| ТабЧасть.Назначение
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| КОНЕЦ КАК Назначение,
| ТабЧасть.Количество КАК Количество,
| ИСТИНА КАК ПоГрафику,
| ТабЧасть.Ссылка.Распоряжение КАК РаспоряжениеВГрафике
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.Товары КАК ТабЧасть
|ГДЕ
| НЕ ТабЧасть.Ссылка.Склад.ИспользоватьОрдернуюСхемуПриПоступлении
| ИЛИ ТабЧасть.Ссылка.Склад.ДатаНачалаОрдернойСхемыПриПоступлении > ТабЧасть.Ссылка.Дата";
РаспределениеЗапасовДвижения.ПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть);
КонецПроцедуры
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
Если Запрос <> Неопределено Тогда
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВтВидыЗапасов");
Если Запрос <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область Перемещение_Товар
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаТоварыУПартнеров КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| ТаблицаВидыЗапасов.АналитикаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасовНаСкладе КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ТаблицаДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ПоступлениеТоваровНаСклад КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Перемещение,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Товар_НефактурованнаяПоставкаИЕАЭС_Расход
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаТоварыУПартнеров КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР КОГДА &Исправление
| ТОГДА ТаблицаДокумента.ИсправляемыйДокумент
| ИНАЧЕ ТаблицаДокумента.Ссылка
| КОНЕЦ КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ТаблицаВидыЗапасов.АналитикаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасовНаСкладе КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СтоимостьРегл,
| ТаблицаВидыЗапасов.СуммаНДСРегл КАК НДСРегл,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьУпр,
| ТаблицаВидыЗапасов.СуммаНДСУпр КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| (ВЫБОР
| КОГДА ТаблицаДокумента.Договор.ПорядокОтраженияНеотфактурованныхПоставокНУ
| = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияНеотфактурованныхПоставокНУ.ОтражатьПриФактуровке)
| ТОГДА ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСРегл
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСРегл КОНЕЦ
| ИНАЧЕ 0 КОНЕЦ) КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НеотфактурованныеПоставки) КАК РазделУчета,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ЦеховаяКладовая
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах)
| КОНЕЦ КАК КорРазделУчета,
| ТаблицаДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ПоступлениеТоваровНаСклад КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаНеотфактурованнаяПоставка))";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Товар_НефактурованнаяПоставкаИЕАЭС_Приход
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасовНаСкладе КАК ВидЗапасов,
| ВЫБОР КОГДА &Исправление
| ТОГДА ТаблицаДокумента.ИсправляемыйДокумент
| ИНАЧЕ ТаблицаДокумента.Ссылка
| КОНЕЦ КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СтоимостьРегл,
| ТаблицаВидыЗапасов.СуммаНДСРегл КАК НДСРегл,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьУпр,
| ТаблицаВидыЗапасов.СуммаНДСУпр КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| (ВЫБОР
| КОГДА ТаблицаДокумента.Договор.ПорядокОтраженияНеотфактурованныхПоставокНУ
| = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияНеотфактурованныхПоставокНУ.ОтражатьПриФактуровке)
| ТОГДА ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСРегл
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСРегл КОНЕЦ
| ИНАЧЕ 0 КОНЕЦ) КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ТаблицаДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ПоступлениеТоваровНаСклад КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаНеотфактурованнаяПоставка))";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область Печать
Функция ПравилаПечатиЗаданияНаОтборРазмещение() Экспорт
ПравилаПечатиЗадания = Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ПравилаПечатиЗаданияНаОтборРазмещение();
ПравилаПечатиЗадания.ОперацияПоступления = Истина;
Возврат ПравилаПечатиЗадания;
КонецФункции
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "ПриходнаяНакладная";
КомандаПечати.Представление = НСтр("ru = 'Приходная накладная'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ДобавитьКомандуПечати(КомандыПечати, "ЗаданиеНаРазмещение");
ПоступлениеТоваровНаСкладЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПриходнаяНакладная") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ПриходнаяНакладная",
НСтр("ru='Приходная накладная'"),
СформироватьПечатнуюФормуПриходнаяНакладная(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
КонецПроцедуры
Функция СформироватьПечатнуюФормуПриходнаяНакладная(МассивОбъектов, ОбъектыПечати)
УстановитьПривилегированныйРежим(Истина);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеТоваров_ПриходнаяНакладная";
КолонкаКодов = ФормированиеПечатныхФорм.ДополнительнаяКолонкаПечатныхФормДокументов().ИмяКолонки;
ИспользованиеУпаковок = ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры");
Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Документы.Ссылка КАК Ссылка,
| Документы.Организация КАК Организация,
| Документы.Контрагент КАК Контрагент,
| Документы.Номер КАК Номер,
| Документы.Дата КАК Дата,
| Документы.ИсправляемыйДокумент.Номер КАК НомерИсправляемогоДокумента,
| Документы.ИсправляемыйДокумент.Дата КАК ДатаИсправляемогоДокумента,
| Документы.Исправление КАК Исправление,
| Документы.Организация.Префикс КАК Префикс,
| Документы.Склад КАК Склад
|ИЗ
| Документ.ПоступлениеТоваровНаСклад КАК Документы
|ГДЕ
| Документы.Ссылка В(&МассивОбъектов)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| &ТекстЗапросаНаименованиеЕдиницыИзмерения КАК ПредставлениеЕдиницыИзмеренияУпаковки,
| ПРЕДСТАВЛЕНИЕ(Товары.Номенклатура.ЕдиницаИзмерения) КАК ПредставлениеБазовойЕдиницыИзмерения,
| Товары.КоличествоУпаковок КАК КоличествоУпаковок,
| Товары.Количество КАК Количество,
| Товары.Номенклатура.Код КАК Код,
| Товары.Номенклатура.Артикул КАК Артикул,
| Товары.Номенклатура.НаименованиеПолное КАК Номенклатура,
| Товары.Характеристика.НаименованиеПолное КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Товары.Упаковка.Наименование
| КОНЕЦ КАК Упаковка,
| ЛОЖЬ КАК ЭтоВозвратнаяТара
|ИЗ
| Документ.ПоступлениеТоваровНаСклад.Товары КАК Товары
|ГДЕ
| Товары.Ссылка В(&МассивОбъектов)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка,
| Товары.НомерСтроки
|ИТОГИ ПО
| Ссылка");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"Товары.Упаковка",
"Товары.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаНаименованиеЕдиницыИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Наименование",
"Товары.Упаковка",
"Товары.Номенклатура"));
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ПоступлениеТоваровНаСклад.ПФ_MXL_ПриходнаяНакладная");
Смещать = ТипСмещенияТабличногоДокумента.ПоВертикали;
ШиринаУдаленныхКолонок = 0;
Если КолонкаКодов <> "Артикул" Тогда
ШиринаУдаленныхКолонок = ШиринаУдаленныхКолонок + Макет.Область("Артикул").ШиринаКолонки;
Макет.УдалитьОбласть(Макет.Область("Артикул"), Смещать);
КонецЕсли;
Если КолонкаКодов<>"Код" Тогда
ШиринаУдаленныхКолонок = ШиринаУдаленныхКолонок + Макет.Область("Код").ШиринаКолонки;
Макет.УдалитьОбласть(Макет.Область("Код"), Смещать);
КонецЕсли;
Если Не ИспользованиеУпаковок Тогда
ШиринаУдаленныхКолонок = ШиринаУдаленныхКолонок + Макет.Область("УпаковкаКоличество").ШиринаКолонки;
Макет.УдалитьОбласть(Макет.Область("УпаковкаКоличество"), Смещать);
ШиринаУдаленныхКолонок = ШиринаУдаленныхКолонок + Макет.Область("УпаковкаПредставление").ШиринаКолонки;
Макет.УдалитьОбласть(Макет.Область("УпаковкаПредставление"), Смещать);
КонецЕсли;
ОбластьПервойКолонкиТоваров = Макет.Область("ПерваяКолонкаТовара");
ОбластьПервойКолонкиТоваров.ШиринаКолонки = ОбластьПервойКолонкиТоваров.ШиринаКолонки + ШиринаУдаленныхКолонок;
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатДанныеПечати = МассивРезультатов[0];
РезультатВыборкаПоДокументам = МассивРезультатов[1];
ДанныеПечати = РезультатДанныеПечати.Выбрать();
ВыборкаПоДокументам = РезультатВыборкаПоДокументам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
МассивПроверки = Новый Массив;
Для Каждого Ссылка Из МассивОбъектов Цикл
МассивПроверки.Добавить(Ссылка);
КонецЦикла;
РеквизитыДокумента = Новый Структура(
"Номер, Дата, Префикс, Представление, ПредставлениеРаспоряжения, ПредставлениеОрганизации, ПредставлениеПартнера, НомерИсправляемогоДокумента, ДатаИсправляемогоДокумента");
РеквизитыДокумента.Вставить("ТекстЗаголовка", НСтр("ru='Приходная накладная'", ОбщегоНазначения.КодОсновногоЯзыка()));
ПервыйДокумент = Истина;
Пока ДанныеПечати.Следующий() Цикл
Если НЕ ВыборкаПоДокументам.НайтиСледующий(Новый Структура("Ссылка", ДанныеПечати.Ссылка)) Тогда
Продолжить;
КонецЕсли;
МассивПроверки.Удалить(МассивПроверки.Найти(ДанныеПечати.Ссылка));
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ЗаполнитьЗначенияСвойств(РеквизитыДокумента, ДанныеПечати);
РеквизитыДокумента.ПредставлениеРаспоряжения = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(
РеквизитыДокумента,
НСтр("ru='Поступление товаров'", ОбщегоНазначения.КодОсновногоЯзыка()));
РеквизитыДокумента.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(
ФормированиеПечатныхФорм.СведенияОЮрФизЛице(
ДанныеПечати.Организация,
?(ДанныеПечати.Исправление, ДанныеПечати.ДатаИсправляемогоДокумента, ДанныеПечати.Дата)
),
"ПолноеНаименование");
РеквизитыДокумента.ПредставлениеПартнера = ФормированиеПечатныхФорм.ОписаниеОрганизации(
ФормированиеПечатныхФорм.СведенияОЮрФизЛице(
ДанныеПечати.Контрагент,
?(ДанныеПечати.Исправление, ДанныеПечати.ДатаИсправляемогоДокумента, ДанныеПечати.Дата)
),
"ПолноеНаименование");
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
Область = Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.Заполнить(РеквизитыДокумента);
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, Область, ДанныеПечати.Ссылка);
ТабличныйДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("Шапка");
Область.Параметры.Заполнить(РеквизитыДокумента);
СтруктураДанныхШапка = Новый Структура;
СтруктураДанныхШапка.Вставить("ПредставлениеСклада", ДанныеПечати.Склад);
Область.Параметры.Заполнить(СтруктураДанныхШапка);
ТабличныйДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("Поставщик");
Область.Параметры.Заполнить(РеквизитыДокумента);
ТабличныйДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("Покупатель");
Область.Параметры.Заполнить(РеквизитыДокумента);
ТабличныйДокумент.Вывести(Область);
ТабличныйДокумент.Вывести(Макет.ПолучитьОбласть("ШапкаТаблицы"));
СчетСтрок = 1;
ВыборкаПоТоварам = ВыборкаПоДокументам.Выбрать();
Пока ВыборкаПоТоварам.Следующий() Цикл
Область = Макет.ПолучитьОбласть("СтрокаТаблицы");
СтруктураДанныхНомерСтроки = Новый Структура("НомерСтроки", СчетСтрок);
Область.Параметры.Заполнить(СтруктураДанныхНомерСтроки);
СчетСтрок = СчетСтрок + 1;
ДополнительныеПараметрыПолученияНаименованияДляПечати = НоменклатураКлиентСервер.ДополнительныеПараметрыПредставлениеНоменклатурыДляПечати();
ДополнительныеПараметрыПолученияНаименованияДляПечати.ВозвратнаяТара = ВыборкаПоТоварам.ЭтоВозвратнаяТара;
ДополнительныеПараметрыПолученияНаименованияДляПечати.КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
Товар = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ВыборкаПоТоварам.Номенклатура,
ВыборкаПоТоварам.Характеристика,
,
,
ДополнительныеПараметрыПолученияНаименованияДляПечати);
СтруктураДанныхТовар = Новый Структура("Товар", Товар);
Область.Параметры.Заполнить(СтруктураДанныхТовар);
Область.Параметры.Заполнить(ВыборкаПоТоварам);
ТабличныйДокумент.Вывести(Область);
КонецЦикла;
Область = Макет.ПолучитьОбласть("ПодвалТаблицы");
ТабличныйДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("Подписи");
ТекстИтоговойСтроки = НСтр("ru = 'Всего наименований %ВсегоНаименований%'", ОбщегоНазначения.КодОсновногоЯзыка());
ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,"%ВсегоНаименований%", СчетСтрок-1);
СтруктураДанныхИтоговаяСтрока = Новый Структура;
СтруктураДанныхИтоговаяСтрока.Вставить("ИтоговаяСтрока", ТекстИтоговойСтроки);
Область.Параметры.Заполнить(СтруктураДанныхИтоговаяСтрока);
ТабличныйДокумент.Вывести(Область);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецЦикла;
Для Каждого Ссылка Из МассивПроверки Цикл
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
СтрЗаменить(
НСтр("ru = 'В документе %Ссылка% отсутствуют товары. Печать приходной накладной не требуется.'"),
"%Ссылка%",
Ссылка
),
Ссылка);
КонецЦикла;
Если ПривилегированныйРежим() Тогда
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
Возврат ТабличныйДокумент;
КонецФункции
#КонецОбласти
#Область ШаблоныСообщений
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
КонецПроцедуры
#КонецОбласти
#Область ТекущиеДела
Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт
ИмяФормы = "Обработка.ЖурналДокументовЗакупки.Форма.СписокНакладныеКОформлению";
ОбщиеПараметрыЗапросов = ТекущиеДелаСлужебный.ОбщиеПараметрыЗапросов();
Доступность = (ОбщиеПараметрыЗапросов.ЭтоПолноправныйПользователь
Или ПравоДоступа("Просмотр", Метаданные.Документы.ПоступлениеТоваровНаСклад))
И ПравоДоступа("Добавление", Метаданные.Документы.ПоступлениеТоваровНаСклад)
И ПравоДоступа("Чтение", Метаданные.РегистрыНакопления.ТоварыКПоступлению)
И (ПолучитьФункциональнуюОпцию("ИспользоватьТоварыВПутиОтПоставщиков")
Или ПолучитьФункциональнуюОпцию("ИспользоватьНеотфактурованныеПоставки"));
Если Не Доступность Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТаблицаРаспоряжений.ДокументПоступления) КАК РаспоряженияНаОформлениеПоступлениеТоваровВсегоВРаботе
|ИЗ
| РегистрНакопления.ТоварыКПоступлению.Остатки(
| ,
| (ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ИЛИ ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ИЛИ ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками)
| И ХозяйственнаяОперация В (&СписокХозОпераций)) КАК ТаблицаРаспоряжений
|ГДЕ
| ТаблицаРаспоряжений.КОформлениюПоступленийПоРаспоряжениюОстаток <> 0
| ИЛИ ТаблицаРаспоряжений.КОформлениюПоступленийПоНакладнымОстаток <> 0";
СписокХозОпераций = Новый СписокЗначений;
СписокХозОпераций.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути);
СписокХозОпераций.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка);
СписокХозОпераций.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути);
СписокХозОпераций.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаНеотфактурованнаяПоставка);
СписокХозОпераций.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути);
Запрос.УстановитьПараметр("СписокХозОпераций", СписокХозОпераций);
Результат = ТекущиеДелаСлужебный.ЧисловыеПоказателиТекущихДел(Запрос, ОбщиеПараметрыЗапросов);
ДелоРодитель = ТекущиеДела.Добавить();
ДелоРодитель.Идентификатор = "ДокументыПоступленияТоваров";
ДелоРодитель.Представление = НСтр("ru = 'Документы поступления товаров'");
ДелоРодитель.Владелец = Метаданные.Подсистемы.Закупки;
ДелоРодитель.ЕстьДела = Результат.РаспоряженияНаОформлениеПоступлениеТоваровВсегоВРаботе > 0;
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("ХозяйственнаяОперацияПриемки", СписокХозОпераций);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("СтруктураБыстрогоОтбора", ПараметрыОтбора);
ПараметрыФормы.Вставить("ИмяТекущейСтраницы", "СтраницаРаспоряженияНаПоступление");
Дело = ТекущиеДела.Добавить();
Дело.Идентификатор = "РаспоряженияНаОформлениеПоступлениеТоваровВсегоВРаботе";
Дело.ЕстьДела = Результат.РаспоряженияНаОформлениеПоступлениеТоваровВсегоВРаботе > 0;
Дело.Представление = НСтр("ru = 'Распоряжения на оформление в работе'");
Дело.Количество = Результат.РаспоряженияНаОформлениеПоступлениеТоваровВсегоВРаботе;
Дело.Важное = Ложь;
Дело.Форма = ИмяФормы;
Дело.ПараметрыФормы = ПараметрыФормы;
Дело.Владелец = "ДокументыПоступленияТоваров";
КонецПроцедуры
#КонецОбласти
#Область Прочее
Функция ПолноеИмяОбъекта()
Возврат "Документ.ПоступлениеТоваровНаСклад";
КонецФункции
Функция ЭтоПоступлениеИзТоваровВПути(ХозяйственнаяОперация) Экспорт
ОперацияТоварыВПути =
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути;
Возврат ОперацияТоварыВПути;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли