#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Автор";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, Соглашение";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Автор";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
"Организация, Склад", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Автор, ЗаказПоставщику, Менеджер";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Автор";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
"Подразделение", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Договор, Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Организация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
"БанковскийСчетОрганизации", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Контрагент";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Договор, Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Контрагент";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
"БанковскийСчетКонтрагента", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Контрагент";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Контрагент";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
"НаименованиеВходящегоДокумента", Параметры);
КонецПроцедуры
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("Закупки");
МеханизмыДокумента.Добавить("Обеспечение");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
МеханизмыДокумента.Добавить("ПриемНаОтветхранение");
МеханизмыДокумента.Добавить("ОформлениеОтчетовКомитентуОЗакупках");
МеханизмыДокумента.Добавить("РасчетыСПодотчетниками");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СерийныйУчет");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("АдресныйСклад");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетИмпорта");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("УчетРабот");
МеханизмыДокумента.Добавить("ЦеныИСкидки");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
ПриобретениеТоваровУслугЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ПриобретениеТоваровУслуг") Тогда
ДокументОбъект = Документ;
ДокументСсылка = Документ.Ссылка;
ИначеЕсли Документ <> Неопределено Тогда
ДокументОбъект = Документ.ПолучитьОбъект();
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолучитьДанныеДокумента(Запрос, ДокументСсылка);
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаЗаказыПоставщикам(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаЦеныНоменклатурыПоставщиков(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаПринятаяВозвратнаяТара(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаДенежныеСредстваУПодотчетныхЛиц(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаПартииТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаПартииПроизводственныхЗатрат(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаДвиженияДенежныеСредстваДоходыРасходы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаТоварыУслугиКОформлениюОтчетовКомитентуОЗакупках(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(ДокументСсылка, Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
КонецЕсли;
ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры);
Если ДокументОбъект <> Неопределено Тогда
ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ЗапланироватьПоступлениеТоваров(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ОформитьПоступлениеТоваровПоОдноходовке(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ОформитьПриобретениеТоваровПоДвухходовке(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ПриобретениеТоваровУслугЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
КонецЕсли;
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
#Область Доставка
Функция ТекстЗапросаРеквизитыДоставки() Экспорт
ТекстЗапросаРаспоряжения =
"ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.Ссылка.Договор КАК Договор,
| Товары.Склад КАК Склад
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК Товары
|ГДЕ
| Товары.Ссылка В(&Ссылки)
| И Товары.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И &ЭтоРаспоряжение
|
|СГРУППИРОВАТЬ ПО
| Товары.Ссылка,
| Товары.Ссылка.Договор,
| Товары.Склад";
ТекстЗапроса =
"ВЫБРАТЬ
| Шапка.Номер КАК Номер,
| Шапка.Проведен КАК Проведен,
| Шапка.Ссылка КАК Ссылка,
| Шапка.Дата КАК Дата,
| ВЫБОР
| КОГДА Шапка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА Шапка.ПодотчетноеЛицо
| ИНАЧЕ Шапка.Партнер
| КОНЕЦ КАК ПолучательОтправитель,
| Шапка.ПеревозчикПартнер КАК Перевозчик,
| Шапка.СпособДоставки КАК СпособДоставки,
| Шапка.ЗонаДоставки КАК Зона,
| ВЫБОР
| КОГДА Шапка.СпособДоставки = ЗНАЧЕНИЕ(Перечисление.СпособыДоставки.СиламиПеревозчикаДоПунктаПередачи)
| ТОГДА Шапка.АдресДоставкиПеревозчика
| ИНАЧЕ Шапка.АдресДоставки
| КОНЕЦ КАК Адрес,
| ВЫБОР
| КОГДА Шапка.СпособДоставки = ЗНАЧЕНИЕ(Перечисление.СпособыДоставки.СиламиПеревозчикаДоПунктаПередачи)
| ТОГДА Шапка.АдресДоставкиПеревозчикаЗначенияПолей
| ИНАЧЕ Шапка.АдресДоставкиЗначенияПолей
| КОНЕЦ КАК АдресЗначенияПолей,
| Шапка.ВремяДоставкиС КАК ВремяС,
| Шапка.ВремяДоставкиПо КАК ВремяПо,
| Шапка.ДополнительнаяИнформацияПоДоставке КАК ДополнительнаяИнформация,
| Распоряжения.Склад КАК Склад,
| ИСТИНА КАК ДоставитьПолностью,
| Шапка.ОсобыеУсловияПеревозки КАК ОсобыеУсловияПеревозки,
| Шапка.ОсобыеУсловияПеревозкиОписание КАК ОсобыеУсловияПеревозкиОписание,
| ЛОЖЬ КАК РазбиватьРасходныеОрдераПоРаспоряжениям
|ИЗ
| &ВтРаспоряжения КАК Распоряжения
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК Шапка
| ПО (Шапка.Ссылка = Распоряжения.Ссылка)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорКонтрагента
| ПО ДоговорКонтрагента.Ссылка = Распоряжения.Договор
|
|ГДЕ
| ДоговорКонтрагента.Ссылка ЕСТЬ NULL
| ИЛИ НЕ ДоговорКонтрагента.СпособДоставки В (&ИспользуемыеСпособыДоставки)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ИсточникДанныхДоставки.Ссылка В (&ДоговораРаспоряженияНаПоступление)
| ТОГДА ИсточникДанныхДоставки.Номер
| ИНАЧЕ
| Распоряжения.Ссылка.Номер
| КОНЕЦ КАК Номер,
| ВЫБОР
| КОГДА ИсточникДанныхДоставки.Ссылка В (&ДоговораРаспоряженияНаПоступление)
| ТОГДА ИСТИНА
| ИНАЧЕ
| Распоряжения.Ссылка.Проведен
| КОНЕЦ КАК Проведен,
| ВЫБОР
| КОГДА ИсточникДанныхДоставки.Ссылка В (&ДоговораРаспоряженияНаПоступление)
| ТОГДА ИсточникДанныхДоставки.Ссылка
| ИНАЧЕ
| Распоряжения.Ссылка
| КОНЕЦ КАК Ссылка,
| ВЫБОР
| КОГДА ИсточникДанныхДоставки.Ссылка В (&ДоговораРаспоряженияНаПоступление)
| ТОГДА ИсточникДанныхДоставки.Дата
| ИНАЧЕ
| Распоряжения.Ссылка.Дата
| КОНЕЦ КАК Дата,
| ИсточникДанныхДоставки.Партнер КАК ПолучательОтправитель,
| ИсточникДанныхДоставки.ПеревозчикПартнер КАК Перевозчик,
| ВЫБОР
| КОГДА ИсточникДанныхДоставки.СпособДоставки = ЗНАЧЕНИЕ(Перечисление.СпособыДоставки.СиламиПеревозчика)
| И НЕ &ИспользоватьЗаданияНаПеревозкуДляУчетаДоставкиПеревозчиками
| ТОГДА ЗНАЧЕНИЕ(Перечисление.СпособыДоставки.Самовывоз)
| ИНАЧЕ ИсточникДанныхДоставки.СпособДоставки
| КОНЕЦ КАК СпособДоставки,
| ИсточникДанныхДоставки.ЗонаДоставки КАК Зона,
| ВЫБОР
| КОГДА ИсточникДанныхДоставки.СпособДоставки = ЗНАЧЕНИЕ(Перечисление.СпособыДоставки.СиламиПеревозчикаПоАдресу)
| ТОГДА ИсточникДанныхДоставки.АдресДоставкиПеревозчика
| ИНАЧЕ ИсточникДанныхДоставки.АдресДоставки
| КОНЕЦ КАК Адрес,
| ВЫБОР
| КОГДА ИсточникДанныхДоставки.СпособДоставки = ЗНАЧЕНИЕ(Перечисление.СпособыДоставки.СиламиПеревозчикаПоАдресу)
| ТОГДА ИсточникДанныхДоставки.АдресДоставкиПеревозчикаЗначенияПолей
| ИНАЧЕ ИсточникДанныхДоставки.АдресДоставкиЗначенияПолей
| КОНЕЦ КАК АдресЗначенияПолей,
| ИсточникДанныхДоставки.ВремяДоставкиС КАК ВремяС,
| ИсточникДанныхДоставки.ВремяДоставкиПо КАК ВремяПо,
| ИсточникДанныхДоставки.ДополнительнаяИнформацияПоДоставке КАК ДополнительнаяИнформация,
| Распоряжения.Склад КАК Склад,
| ЛОЖЬ КАК ДоставитьПолностью,
| ЛОЖЬ КАК ОсобыеУсловияПеревозки,
| """" КАК ОсобыеУсловияПеревозкиОписание,
| ЛОЖЬ КАК РазбиватьРасходныеОрдераПоРаспоряжениям
|ИЗ
| &ВтРаспоряжения КАК Распоряжения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ИсточникДанныхДоставки
| ПО ИсточникДанныхДоставки.Ссылка = Распоряжения.Договор
|ГДЕ
| ИсточникДанныхДоставки.СпособДоставки В (&ИспользуемыеСпособыДоставки)";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ВтРаспоряжения", "(" + ТекстЗапросаРаспоряжения + ")");
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТоварыКДоставке() Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.Склад КАК Склад,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| Товары.Назначение КАК Назначение,
| СУММА(Товары.Количество) КАК Количество
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК Товары
|ГДЕ
| Товары.Ссылка В(&Ссылки)
|
|СГРУППИРОВАТЬ ПО
| Товары.Ссылка,
| Товары.Склад,
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение";
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Если ПолучитьФункциональнуюОпцию("ИспользоватьАктыРасхожденийПослеПриемки") Тогда
КомандаСоздания = Документы.АктОРасхожденияхПослеПриемки.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если КомандаСоздания <> Неопределено Тогда
КомандаСоздания.Представление = НСтр("ru = 'Акт о расхождениях после поступления'");
Если ПолучитьФункциональнуюОпцию("ИспользоватьТоварыВПутиОтПоставщиков")
Или ПолучитьФункциональнуюОпцию("ИспользоватьНеотфактурованныеПоставки") Тогда
КомандаСоздания.Обработчик =
"СозданиеНаОснованииУТКлиент.СоздатьАктОРасхожденияхПослеПриемкиНаОснованииПриобретенияТоваровУслуг";
КонецЕсли;
КонецЕсли;
КонецЕсли;
Документы.ВозвратТоваровПоставщику.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ВыкупВозвратнойТарыУПоставщика.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ЗаказНаПеремещение.ДобавитьКомандуСоздатьНаОснованииПриобретенияТоваровУслугПоГруппеСкладов(КомандыСозданияНаОсновании);
Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаПриобретения.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ПеремещениеТоваров.ДобавитьКомандуСоздатьНаОснованииПоГруппеСкладов(КомандыСозданияНаОсновании);
Документы.РасходныйКассовыйОрдер.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ОтгрузкаТоваровКлиенту.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.РеализацияТоваровУслуг.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КомандаСоздатьНаОсновании = Документы.РегистрацияЦенНоменклатурыПоставщика.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если КомандаСоздатьНаОсновании <> Неопределено Тогда
КомандаСоздатьНаОсновании.Представление = НСтр("ru = 'Регистрация цен поставщика'");
КонецЕсли;
Документы.СписаниеБезналичныхДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.УстановкаЦенНоменклатуры.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ВнутреннееПотребление.ДобавитьКомандуСоздатьНаОснованииСписаниеНаРасходыАктивы(КомандыСозданияНаОсновании);
КомандаСоздатьНаОсновании = Обработки.СправочноеРазмещениеНоменклатуры.ДобавитьКомандуСоздатьНаОсновании(
КомандыСозданияНаОсновании);
Если КомандаСоздатьНаОсновании <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(КомандаСоздатьНаОсновании,
"ХозяйственнаяОперация",
Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет,
ВидСравнения.НеРавно);
КонецЕсли;
Документы.ПоручениеЭкспедитору.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ПрочиеДоходыРасходы.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ПроизводствоСервер.ДобавитьКомандуСоздатьПередачуМатериаловНаОсновании(КомандыСозданияНаОсновании);
Документы.ПередачаТоваровХранителю.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.УпаковочныйЛист.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ТаможеннаяДекларацияИмпорт.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаГрафикаВзаиморасчетов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
Справочники.Претензии.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаЗадолженности.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
СервисДоставкиПереопределяемый.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, Параметры);
Документы.ВнутреннееПотребление.ДобавитьКомандуСоздатьНаОснованииПередачаВЭксплуатацию(КомандыСозданияНаОсновании);
Документы.ЗаявлениеОВвозеТоваров.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ПриобретениеТоваровУслугЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
Документы.НачислениеРеверсивногоНДС.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ПоступлениеУслугВПодразделение.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ПриобретениеТоваровУслуг) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ПриобретениеТоваровУслуг.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ПриобретениеТоваровУслуг);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Функция ДобавитьКомандуСоздатьНаОснованииЗаказа(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ПриобретениеТоваровУслуг) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Обработчик = "СозданиеНаОснованииУТКлиент.ПриобретениеТоваровУслугСоздатьНаОснованииЗаказа";
КомандаСоздатьНаОсновании.Идентификатор = "СоздатьНаОснованииЗаказа";
КомандаСоздатьНаОсновании.Представление = НСтр("ru = 'Приобретение товаров и услуг'");
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.МножественныйВыбор = Истина;
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КомандаОтчет = Отчеты.СостояниеВыполненияДокументов.ДобавитьКомандуСостояниеВыполненияДокументЗакупки(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.Порядок = 1;
КомандаОтчет.ВидимостьВФормах = "ФормаДокумента,ФормаСписка,СписокДокументов";
КонецЕсли;
КомандаОтчет = Отчеты.ОтклоненияОтУсловийЗакупок.ДобавитьКомандуОтчета(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "ФормаДокумента,ФормаСписка,СписокДокументов";
КонецЕсли;
ВзаиморасчетыСервер.КарточкаРасчетовСПоставщиком_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
КомандаОтчет = Отчеты.КарточкаРасчетовПоПринятойВозвратнойТаре.ДобавитьКомандуОтчета(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "ФормаДокумента,ФормаСписка,СписокДокументов";
КонецЕсли;
ВзаиморасчетыСервер.ЗадолженностьПоставщикам_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
КомандаОтчет = Отчеты.АнализЦенПоставщиков.ДобавитьКомандуОтчета(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КонецЕсли;
КомандаОтчет = Отчеты.СправкаРасчетНачисленияПроцентныхРасходовДисконтирования.ДобавитьКомандуОтчета(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "ФормаДокумента,ФормаСписка,СписокДокументов";
КонецЕсли;
ПриобретениеТоваровУслугЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
#Область Заполнение
Процедура ЗаполнитьПоОстаткамЗаказов(ДанныеОтбора, Товары, СкладПоступления, МассивЗаказов = Неопределено, ПроверятьПорядокРасчетов = Истина) Экспорт
ВыборкаТовары = ПолучитьРезультатЗапросаПоОстаткамЗаказов(ДанныеОтбора, СкладПоступления, МассивЗаказов).Выбрать();
МассивЗаказовПоставщику = Новый Массив();
МассивПорядковРасчетов = Новый Массив();
Пока ВыборкаТовары.Следующий() Цикл
Если МассивЗаказовПоставщику.Найти(ВыборкаТовары.ЗаказПоставщику) = Неопределено Тогда
МассивЗаказовПоставщику.Добавить(ВыборкаТовары.ЗаказПоставщику);
КонецЕсли;
Если ПроверятьПорядокРасчетов
И ЗначениеЗаполнено(ВыборкаТовары.ПорядокРасчетов)
И МассивПорядковРасчетов.Найти(ВыборкаТовары.ПорядокРасчетов) = Неопределено Тогда
МассивПорядковРасчетов.Добавить(ВыборкаТовары.ПорядокРасчетов);
КонецЕсли;
КонецЦикла;
Если МассивЗаказов = Неопределено
И ПроверятьПорядокРасчетов
И МассивПорядковРасчетов.Количество() > 1 Тогда
ОбщегоНазначения.СообщитьПользователю(НСтр("ru='У найденных заказов отличается поле ""Порядок расчетов""'"));
Возврат;
КонецЕсли;
Если МассивЗаказовПоставщику.Количество() > 0 Тогда
МассивЗаказов = МассивЗаказовПоставщику;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("МассивЗаказовПоставщику", МассивЗаказовПоставщику);
Запрос.УстановитьПараметр("ВалютаДокумента", ДанныеОтбора.Валюта);
Запрос.Текст =
"
|ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(ТаблицаЗаказов.Дата, ДЕНЬ) КАК Дата,
| ТаблицаЗаказов.Ссылка КАК ЗаказПоставщику,
| ТаблицаЗаказов.Валюта КАК Валюта,
| ТаблицаЗаказов.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ВЫБОР
| КОГДА
| ТаблицаЗаказов.Валюта <> &ВалютаДокумента
| ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ПересчитатьВВалютуДокумента
|ИЗ
| Документ.ЗаказПоставщику КАК ТаблицаЗаказов
|ГДЕ
| ТаблицаЗаказов.Ссылка В (&МассивЗаказовПоставщику)
|;
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| НАЧАЛОПЕРИОДА(ТаблицаЗаказов.Дата, ДЕНЬ) КАК Дата,
| ТаблицаЗаказов.Валюта КАК Валюта,
| ТаблицаЗаказов.Организация КАК Организация
|ИЗ
| Документ.ЗаказПоставщику КАК ТаблицаЗаказов
|ГДЕ
| ТаблицаЗаказов.Ссылка В (&МассивЗаказовПоставщику)
| И ТаблицаЗаказов.Валюта <> &ВалютаДокумента
|
|";
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатРеквизитыЗаказов = МассивРезультатов[0];
РезультатВыборка = МассивРезультатов[1];
РеквизитыЗаказов = РезультатРеквизитыЗаказов.Выбрать();
ТаблицаКурсовВалют = Новый ТаблицаЗначений;
ТаблицаКурсовВалют.Колонки.Добавить("Валюта", Новый ОписаниеТипов("СправочникСсылка.Валюты"));
ТаблицаКурсовВалют.Колонки.Добавить("Дата", Новый ОписаниеТипов("Дата"));
ТаблицаКурсовВалют.Колонки.Добавить("КурсЧислитель", Новый ОписаниеТипов("Число"));
ТаблицаКурсовВалют.Колонки.Добавить("КурсЗнаменатель", Новый ОписаниеТипов("Число"));
Выборка = РезультатВыборка.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = ТаблицаКурсовВалют.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
КурсыВалюты = РаботаСКурсамиВалютУТ.ПолучитьКурсВалюты(Выборка.Валюта, Выборка.Дата,
ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Выборка.Организация));
НоваяСтрока.КурсЧислитель = КурсыВалюты.КурсЧислитель;
НоваяСтрока.КурсЗнаменатель = КурсыВалюты.КурсЗнаменатель;
КонецЦикла;
Если ТаблицаКурсовВалют.Количество() > 0 Тогда
СтруктураКурсовНовойВалюты = РаботаСКурсамиВалютУТ.ПолучитьКурсВалюты(ДанныеОтбора.Валюта, ТекущаяДатаСеанса(),
ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(ДанныеОтбора.Организация));
КонецЕсли;
ВыборкаТовары.Сбросить();
Пока ВыборкаТовары.Следующий() Цикл
СтавкаНДСТовара = ВыборкаТовары.СтавкаНДС;
НеобходимПересчетСумм = (ВыборкаТовары.Количество <> ВыборкаТовары.КоличествоПоЗаказу);
СтрокаТаб = Товары.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТаб, ВыборкаТовары);
СтрокаТаб.СтавкаНДС = СтавкаНДСТовара;
РеквизитыЗаказов.Сбросить();
ЗаказНайден = РеквизитыЗаказов.НайтиСледующий(СтрокаТаб.ЗаказПоставщику, "ЗаказПоставщику");
ВзятьСуммуИзЗаказа = Ложь;
Если ЗаказНайден И ВыборкаТовары.КоличествоПоЗаказу >= ВыборкаТовары.Количество Тогда
СтрокаТаб.Количество = ВыборкаТовары.КоличествоПоЗаказу - ВыборкаТовары.Количество;
СтрокаТаб.КоличествоУпаковок = ?(СтрокаТаб.Количество = 0, 0, СтрокаТаб.Количество/ ВыборкаТовары.Коэффициент);
ВзятьСуммуИзЗаказа = Истина;
Иначе
СтрокаТаб.Количество = ВыборкаТовары.Количество;
СтрокаТаб.КоличествоУпаковок = ВыборкаТовары.Количество / ВыборкаТовары.Коэффициент;
КонецЕсли;
Если ЗаказНайден И (ВзятьСуммуИзЗаказа ИЛИ НеобходимПересчетСумм ИЛИ РеквизитыЗаказов.ПересчитатьВВалютуДокумента) Тогда
Если НЕ ВзятьСуммуИзЗаказа
И РеквизитыЗаказов.ПересчитатьВВалютуДокумента Тогда
ПараметрыОтбора = Новый Структура("Валюта,Дата", РеквизитыЗаказов.Валюта, РеквизитыЗаказов.Дата);
КурсВалюты = ТаблицаКурсовВалют.НайтиСтроки(ПараметрыОтбора);
Если КурсВалюты.Количество() = 1 Тогда
СтрокаТаб.Цена = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
СтрокаТаб.Цена,
КурсВалюты[0],
СтруктураКурсовНовойВалюты);
НеобходимПересчетСумм = Истина;
КонецЕсли;
КонецЕсли;
Ценообразование.ПересчитатьСуммыВСтроке(СтрокаТаб, Ложь, Ложь, Истина, РеквизитыЗаказов.ЦенаВключаетНДС);
Если ВзятьСуммуИзЗаказа Тогда
СтрокаТаб.Количество = ВыборкаТовары.Количество;
СтрокаТаб.КоличествоУпаковок = ВыборкаТовары.Количество / ВыборкаТовары.Коэффициент;
СтрокаТаб.Сумма = ВыборкаТовары.Сумма - СтрокаТаб.Сумма;
СтрокаТаб.СуммаНДС = ВыборкаТовары.СуммаНДС - СтрокаТаб.СуммаНДС;
СтрокаТаб.СуммаСНДС = ВыборкаТовары.СуммаСНДС - СтрокаТаб.СуммаСНДС;
Если СтрокаТаб.ПроцентРучнойСкидки <> 0 Тогда
СтрокаТаб.СуммаРучнойСкидки = ВыборкаТовары.СуммаРучнойСкидки - СтрокаТаб.СуммаРучнойСкидки;
КонецЕсли;
Если РеквизитыЗаказов.ПересчитатьВВалютуДокумента Тогда
ПараметрыОтбора = Новый Структура("Валюта,Дата", РеквизитыЗаказов.Валюта, РеквизитыЗаказов.Дата);
КурсВалюты = ТаблицаКурсовВалют.НайтиСтроки(ПараметрыОтбора);
Если КурсВалюты.Количество() = 1 Тогда
СтрокаТаб.Цена = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
СтрокаТаб.Цена,
КурсВалюты[0],
СтруктураКурсовНовойВалюты);
НеобходимПересчетСумм = Истина;
СтрокаТаб.Сумма = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
СтрокаТаб.Сумма,
КурсВалюты[0],
СтруктураКурсовНовойВалюты);
СтрокаТаб.СуммаНДС = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
СтрокаТаб.СуммаНДС,
КурсВалюты[0],
СтруктураКурсовНовойВалюты);
СтрокаТаб.СуммаСНДС = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
СтрокаТаб.СуммаСНДС,
КурсВалюты[0],
СтруктураКурсовНовойВалюты);
СтрокаТаб.СуммаРучнойСкидки = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
СтрокаТаб.СуммаРучнойСкидки,
КурсВалюты[0],
СтруктураКурсовНовойВалюты);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ДанныеОтбора.НалогообложениеНДС = Перечисления.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя Тогда
СтрокаТаб.СуммаНДС = 0;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область Серии
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
ИменаРеквизитов = "Склад,ХозяйственнаяОперация,Дата";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыУказанияСерий(Объект) Экспорт
ПараметрыУказанияСерий = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерий.ПолноеИмяОбъекта = "Документ.ПриобретениеТоваровУслуг";
ПараметрыСерийСклада = СкладыСервер.ИспользованиеСерийНаСкладе(Объект.Склад, Истина);
ЗакупкаУПоставщикаПоРеглУчету = (Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет);
Если ЗакупкаУПоставщикаПоРеглУчету Тогда
ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.УчитыватьСебестоимостьПоСериям = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.ТолькоСерииДляСебестоимости = Истина;
Иначе
ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры =
(ПараметрыСерийСклада.ИспользоватьСерииНоменклатуры И Не СкладыСервер.ИспользоватьОрдернуюСхемуПриПоступлении(Объект.Склад, Объект.Дата, Истина))
Или ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.УчитыватьСебестоимостьПоСериям = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.ТолькоСерииДляСебестоимости = Ложь;
ПараметрыУказанияСерий.СерииПриПланированииОтгрузкиУказываютсяВТЧСерии = Истина;
КонецЕсли;
ПараметрыУказанияСерий.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ПриемкаОтПоставщика);
ПараметрыУказанияСерий.ПоляСвязи.Добавить("Склад");
ПараметрыУказанияСерий.ПоляСвязи.Добавить("Назначение");
ПараметрыУказанияСерий.ЭтоНакладная = Истина;
ПараметрыУказанияСерий.Дата = Объект.Дата;
ПараметрыУказанияСерий.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерий");
ПараметрыУказанияСерий.ИменаПолейДляОпределенияРаспоряжения.Добавить("Ссылка");
ПараметрыУказанияСерий.ИменаПолейДляОпределенияРаспоряжения.Добавить("Соглашение");
ПараметрыУказанияСерий.ИменаПолейДляОпределенияРаспоряжения.Добавить("Договор");
ПараметрыУказанияСерий.ИменаПолейДляОпределенияРаспоряжения.Добавить("ПоступлениеПоЗаказам");
ПараметрыУказанияСерий.ИменаПолейДляОпределенияРаспоряжения.Добавить("Товары_ЗаказПоставщику");
ПараметрыУказанияСерий.ИменаПолейДляОпределенияРаспоряжения.Добавить("ВариантПриемкиТоваров");
ПараметрыУказанияСерий.ОперацияДокумента = Объект.ХозяйственнаяОперация;
ОперацииВПути = Новый Массив();
ОперацииВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути);
ОперацииВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути);
ОперацииВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути);
ОперацииНеотфактуровки = Новый Массив();
ОперацииНеотфактуровки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки);
ОперацииНеотфактуровки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки);
ХозОперацияТоварыВПутиИНеотфактуровка = ОперацииВПути.Найти(Объект.ХозяйственнаяОперация) <> Неопределено
Или ОперацииНеотфактуровки.Найти(Объект.ХозяйственнаяОперация) <> Неопределено;
ЭтоТоварыВПути = ОперацииВПути.Найти(Объект.ХозяйственнаяОперация) <> Неопределено;
ПараметрыУказанияСерий.ПараметрыЗапроса.Вставить("ЭтоТоварыВПути", ЭтоТоварыВПути);
ПараметрыУказанияСерий.ПараметрыЗапроса.Вставить("ХозОперацияТоварыВПутиИНеотфактуровка", ХозОперацияТоварыВПутиИНеотфактуровка);
Возврат ПараметрыУказанияСерий;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Склад,
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| Товары.Серия,
| Товары.Количество,
| Товары.СтатусУказанияСерий,
| Товары.НомерСтроки
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.Склад,
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| СУММА(Товары.Количество) КАК Количество,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры
|ПОМЕСТИТЬ ТоварыДляЗапроса
|ИЗ
| Товары КАК Товары
|
|СГРУППИРОВАТЬ ПО
| Товары.Склад,
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры
|;
|
|
|ВЫБРАТЬ
| Серии.Склад,
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Назначение,
| Серии.Количество
|ПОМЕСТИТЬ Серии
|ИЗ
| &Серии КАК Серии
|;
|
|
|ВЫБРАТЬ
| Серии.Склад,
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Назначение,
| СУММА(Серии.Количество) КАК Количество
|ПОМЕСТИТЬ СерииДляЗапроса
|ИЗ
| Серии КАК Серии
|
|СГРУППИРОВАТЬ ПО
| Серии.Склад,
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Назначение
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ 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
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерийТоварыУПартнеров
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ЛЕВОЕ СОЕДИНЕНИЕ СерииДляЗапроса КАК СерииДляЗапроса
| ПО ТоварыДляЗапроса.Номенклатура = СерииДляЗапроса.Номенклатура
| И ТоварыДляЗапроса.Характеристика = СерииДляЗапроса.Характеристика
| И ТоварыДляЗапроса.Назначение = СерииДляЗапроса.Назначение
| И ТоварыДляЗапроса.Склад = СерииДляЗапроса.Склад
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
| ПО ПолитикиУчетаСерий.Склад = Склады.Ссылка
| ПО (ПолитикиУчетаСерий.Склад = ТоварыДляЗапроса.Склад)
| И ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
| ПО Товары.Номенклатура = ТоварыДляЗапроса.Номенклатура
| И Товары.Характеристика = ТоварыДляЗапроса.Характеристика
| И Товары.Назначение = ТоварыДляЗапроса.Назначение
| И Товары.Склад = ТоварыДляЗапроса.Склад
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА &ХозОперацияТоварыВПутиИНеотфактуровка
| ТОГДА Статусы.СтатусУказанияСерийТоварыУПартнеров
| ИНАЧЕ Статусы.СтатусУказанияСерий
| КОНЕЦ КАК СтатусУказанияСерий
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| ВЫБОР
| КОГДА &ХозОперацияТоварыВПутиИНеотфактуровка
| ТОГДА Статусы.СтатусУказанияСерийТоварыУПартнеров
| ИНАЧЕ Статусы.СтатусУказанияСерий
| КОНЕЦ <> Статусы.СтарыйСтатусУказанияСерий
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#Область ПроводкиРеглУчета
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат ПриобретениеТоваровУслугЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат ПриобретениеТоваровУслугЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
#Область Прочее
Процедура ЗаполнитьИменаРеквизитовПоХозяйственнойОперации(ХозяйственнаяОперация, МассивВсехРеквизитов, МассивРеквизитовОперации) Экспорт
МассивВсехРеквизитов = Новый Массив;
МассивВсехРеквизитов.Добавить("ПодотчетноеЛицо");
МассивВсехРеквизитов.Добавить("СтатьяДвиженияДенежныхСредств");
МассивВсехРеквизитов.Добавить("ФормаОплаты");
МассивВсехРеквизитов.Добавить("ГруппаФинансовогоУчета");
МассивВсехРеквизитов.Добавить("ЗакупкаПодДеятельность");
МассивВсехРеквизитов.Добавить("НалогообложениеНДС");
МассивВсехРеквизитов.Добавить("Сделка");
МассивВсехРеквизитов.Добавить("ПорядокРасчетов");
МассивВсехРеквизитов.Добавить("БанковскийСчетОрганизации");
МассивВсехРеквизитов.Добавить("Руководитель");
МассивВсехРеквизитов.Добавить("БанковскийСчетКонтрагента");
МассивВсехРеквизитов.Добавить("Грузоотправитель");
МассивВсехРеквизитов.Добавить("БанковскийСчетГрузоотправителя");
МассивВсехРеквизитов.Добавить("Принял");
МассивВсехРеквизитов.Добавить("ПринялДолжность");
МассивВсехРеквизитов.Добавить("Товары.ПроцентРучнойСкидки");
МассивВсехРеквизитов.Добавить("Товары.СуммаРучнойСкидки");
МассивВсехРеквизитов.Добавить("Товары.СписатьНаРасходы");
МассивВсехРеквизитов.Добавить("Товары.СтатьяРасходов");
МассивВсехРеквизитов.Добавить("Товары.АналитикаРасходов");
МассивВсехРеквизитов.Добавить("Товары.НомерГТД");
МассивВсехРеквизитов.Добавить("Товары.НоменклатураПартнера");
МассивВсехРеквизитов.Добавить("Товары.ВидЦеныПоставщика");
ИспользоватьРучныеСкидкиВЗакупках = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВЗакупках");
ХозОперацииЗакупкаУПоставщика = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
ХозОперацииЗакупкаВСтранахЕАЭС = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
ХозОперацииЗакупкаПоИмпорту = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
МассивРеквизитовОперации = Новый Массив;
Если ХозОперацииЗакупкаУПоставщика.Найти(ХозяйственнаяОперация) <> Неопределено
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет Тогда
МассивРеквизитовОперации.Добавить("ФормаОплаты");
МассивРеквизитовОперации.Добавить("ГруппаФинансовогоУчета");
МассивРеквизитовОперации.Добавить("ЗакупкаПодДеятельность");
МассивРеквизитовОперации.Добавить("НалогообложениеНДС");
МассивРеквизитовОперации.Добавить("Сделка");
МассивРеквизитовОперации.Добавить("ПорядокРасчетов");
МассивРеквизитовОперации.Добавить("БанковскийСчетОрганизации");
МассивРеквизитовОперации.Добавить("Руководитель");
МассивРеквизитовОперации.Добавить("БанковскийСчетКонтрагента");
МассивРеквизитовОперации.Добавить("Грузоотправитель");
МассивРеквизитовОперации.Добавить("БанковскийСчетГрузоотправителя");
МассивРеквизитовОперации.Добавить("Принял");
МассивРеквизитовОперации.Добавить("ПринялДолжность");
МассивРеквизитовОперации.Добавить("Товары.СписатьНаРасходы");
МассивРеквизитовОперации.Добавить("Товары.СтатьяРасходов");
МассивРеквизитовОперации.Добавить("Товары.АналитикаРасходов");
МассивРеквизитовОперации.Добавить("Товары.НомерГТД");
МассивРеквизитовОперации.Добавить("Товары.НоменклатураПартнера");
МассивРеквизитовОперации.Добавить("Товары.ВидЦеныПоставщика");
Если ИспользоватьРучныеСкидкиВЗакупках Тогда
МассивРеквизитовОперации.Добавить("Товары.ПроцентРучнойСкидки");
МассивРеквизитовОперации.Добавить("Товары.СуммаРучнойСкидки");
КонецЕсли;
ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо Тогда
МассивРеквизитовОперации.Добавить("НалогообложениеНДС");
МассивРеквизитовОперации.Добавить("ПодотчетноеЛицо");
МассивРеквизитовОперации.Добавить("СтатьяДвиженияДенежныхСредств");
МассивРеквизитовОперации.Добавить("ГруппаФинансовогоУчета");
МассивРеквизитовОперации.Добавить("ЗакупкаПодДеятельность");
МассивРеквизитовОперации.Добавить("Руководитель");
МассивРеквизитовОперации.Добавить("НалогообложениеНДС");
МассивРеквизитовОперации.Добавить("Товары.СписатьНаРасходы");
МассивРеквизитовОперации.Добавить("Товары.СтатьяРасходов");
МассивРеквизитовОперации.Добавить("Товары.АналитикаРасходов");
МассивРеквизитовОперации.Добавить("Товары.НомерГТД");
Если ИспользоватьРучныеСкидкиВЗакупках Тогда
МассивРеквизитовОперации.Добавить("Товары.ПроцентРучнойСкидки");
МассивРеквизитовОперации.Добавить("Товары.СуммаРучнойСкидки");
КонецЕсли;
ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию Тогда
МассивРеквизитовОперации.Добавить("НалогообложениеНДС");
МассивРеквизитовОперации.Добавить("Сделка");
МассивРеквизитовОперации.Добавить("ПорядокРасчетов");
МассивРеквизитовОперации.Добавить("БанковскийСчетОрганизации");
МассивРеквизитовОперации.Добавить("Руководитель");
МассивРеквизитовОперации.Добавить("БанковскийСчетКонтрагента");
МассивРеквизитовОперации.Добавить("Грузоотправитель");
МассивРеквизитовОперации.Добавить("БанковскийСчетГрузоотправителя");
МассивРеквизитовОперации.Добавить("Принял");
МассивРеквизитовОперации.Добавить("ПринялДолжность");
МассивРеквизитовОперации.Добавить("Товары.НомерГТД");
МассивРеквизитовОперации.Добавить("Товары.НоменклатураПартнера");
МассивРеквизитовОперации.Добавить("Товары.ВидЦеныПоставщика");
ИначеЕсли ХозОперацииЗакупкаПоИмпорту.Найти(ХозяйственнаяОперация) <> Неопределено Тогда
МассивРеквизитовОперации.Добавить("НалогообложениеНДС");
МассивРеквизитовОперации.Добавить("ФормаОплаты");
МассивРеквизитовОперации.Добавить("ГруппаФинансовогоУчета");
МассивРеквизитовОперации.Добавить("ЗакупкаПодДеятельность");
МассивРеквизитовОперации.Добавить("Сделка");
МассивРеквизитовОперации.Добавить("ПорядокРасчетов");
МассивРеквизитовОперации.Добавить("БанковскийСчетОрганизации");
МассивРеквизитовОперации.Добавить("Руководитель");
МассивРеквизитовОперации.Добавить("БанковскийСчетКонтрагента");
МассивРеквизитовОперации.Добавить("Грузоотправитель");
МассивРеквизитовОперации.Добавить("БанковскийСчетГрузоотправителя");
МассивРеквизитовОперации.Добавить("Принял");
МассивРеквизитовОперации.Добавить("ПринялДолжность");
МассивРеквизитовОперации.Добавить("Товары.СписатьНаРасходы");
МассивРеквизитовОперации.Добавить("Товары.СтатьяРасходов");
МассивРеквизитовОперации.Добавить("Товары.АналитикаРасходов");
МассивРеквизитовОперации.Добавить("Товары.НоменклатураПартнера");
МассивРеквизитовОперации.Добавить("Товары.ВидЦеныПоставщика");
Если ИспользоватьРучныеСкидкиВЗакупках Тогда
МассивРеквизитовОперации.Добавить("Товары.ПроцентРучнойСкидки");
МассивРеквизитовОперации.Добавить("Товары.СуммаРучнойСкидки");
КонецЕсли;
ИначеЕсли ХозОперацииЗакупкаВСтранахЕАЭС.Найти(ХозяйственнаяОперация) <> Неопределено Тогда
МассивРеквизитовОперации.Добавить("НалогообложениеНДС");
МассивРеквизитовОперации.Добавить("ФормаОплаты");
МассивРеквизитовОперации.Добавить("ГруппаФинансовогоУчета");
МассивРеквизитовОперации.Добавить("ЗакупкаПодДеятельность");
МассивРеквизитовОперации.Добавить("Сделка");
МассивРеквизитовОперации.Добавить("ПорядокРасчетов");
МассивРеквизитовОперации.Добавить("БанковскийСчетОрганизации");
МассивРеквизитовОперации.Добавить("Руководитель");
МассивРеквизитовОперации.Добавить("БанковскийСчетКонтрагента");
МассивРеквизитовОперации.Добавить("Грузоотправитель");
МассивРеквизитовОперации.Добавить("БанковскийСчетГрузоотправителя");
МассивРеквизитовОперации.Добавить("Принял");
МассивРеквизитовОперации.Добавить("ПринялДолжность");
МассивРеквизитовОперации.Добавить("Товары.СписатьНаРасходы");
МассивРеквизитовОперации.Добавить("Товары.СтатьяРасходов");
МассивРеквизитовОперации.Добавить("Товары.АналитикаРасходов");
МассивРеквизитовОперации.Добавить("Товары.НомерГТД");
МассивРеквизитовОперации.Добавить("Товары.НоменклатураПартнера");
МассивРеквизитовОперации.Добавить("Товары.ВидЦеныПоставщика");
Если ИспользоватьРучныеСкидкиВЗакупках Тогда
МассивРеквизитовОперации.Добавить("Товары.ПроцентРучнойСкидки");
МассивРеквизитовОперации.Добавить("Товары.СуммаРучнойСкидки");
КонецЕсли;
КонецЕсли;
ПриобретениеТоваровУслугЛокализация.ЗаполнитьИменаРеквизитовПоХозяйственнойОперации(ХозяйственнаяОперация,
МассивВсехРеквизитов,
МассивРеквизитовОперации);
КонецПроцедуры
Функция РаспоряжениеНаВыполнениеСкладскойОперации(ЗначенияПолейДляОпределенияРаспоряжения) Экспорт
Если Не ЗначениеЗаполнено(ЗначенияПолейДляОпределенияРаспоряжения.Соглашение)
И Не ЗначениеЗаполнено(ЗначенияПолейДляОпределенияРаспоряжения.Договор) Тогда
Если ЗначенияПолейДляОпределенияРаспоряжения.ПоступлениеПоЗаказам Тогда
Возврат ЗначенияПолейДляОпределенияРаспоряжения.Товары_ЗаказПоставщику;
Иначе
Возврат ЗначенияПолейДляОпределенияРаспоряжения.Ссылка;
КонецЕсли;
Иначе
ВариантПриемкиТоваров = ЗначенияПолейДляОпределенияРаспоряжения.ВариантПриемкиТоваров;
Если ВариантПриемкиТоваров = Перечисления.ВариантыПриемкиТоваров.РазделенаПоЗаказамИНакладным Тогда
Если ЗначенияПолейДляОпределенияРаспоряжения.ПоступлениеПоЗаказам Тогда
Возврат ЗначенияПолейДляОпределенияРаспоряжения.Товары_ЗаказПоставщику;
Иначе
Возврат ЗначенияПолейДляОпределенияРаспоряжения.Ссылка;
КонецЕсли;
ИначеЕсли Справочники.СоглашенияСПоставщиками.СоглашениеИспользуетсяПриПриемке(ВариантПриемкиТоваров) Тогда
Возврат ЗначенияПолейДляОпределенияРаспоряжения.Соглашение;
ИначеЕсли Справочники.ДоговорыКонтрагентов.ДоговорИспользуетсяПриПриемке(ВариантПриемкиТоваров) Тогда
Возврат ЗначенияПолейДляОпределенияРаспоряжения.Договор;
КонецЕсли;
КонецЕсли;
КонецФункции
Функция СтруктураСостояниеВыполненияДокумента() Экспорт
СтруктураСостояние = Отчеты.СостояниеВыполненияДокументов.ИнициализироватьСтруктуруСостояниеВыполненияДокумента();
СтруктураСостояние.Вставить("ВыводитьТаблицуРасчетыСПоставщиками", 1);
СтруктураСостояние.Вставить("ВыводитьТаблицыПоступление", 2);
СтруктураСостояние.Вставить("ЭтоНакладная", Истина);
СтруктураСостояние.Вставить("ЕстьСуммовыеПоказателиПоступления", Истина);
СтруктураСостояние.Вставить("ИмяПоляНакладнаяПоЗаказам", "ПоступлениеПоЗаказам");
Возврат СтруктураСостояние
КонецФункции
Функция ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности(Форма) Экспорт
ПорядокОбработкиДокумента = НаправленияДеятельностиСервер.ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности();
ПорядокОбработкиДокумента.ИменаТабличныхЧастейДляОчисткиНекорректныхНазначений = "Товары";
ТаблицаУсловий = НаправленияДеятельностиСервер.УсловияОбработкиНазначенийВСтроках("ТипНоменклатуры,КодСтроки");
ПорядокОбработкиДокумента.УсловияОбработкиСтрок.Вставить("Товары", ТаблицаУсловий);
Возврат ПорядокОбработкиДокумента;
КонецФункции
Функция МакетФормыВыбораНазначений() Экспорт
МакетФормы = Справочники.Назначения.МакетФормыВыбораНазначений();
ШаблонНазначения = Справочники.Назначения.ДобавитьШаблонНазначений(МакетФормы);
ШаблонНазначения.НаправлениеДеятельности = "Объект.НаправлениеДеятельности";
ШаблонНазначения.УсловиеИспользования = "Объект.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)";
ШаблонНазначенияБезАгентскойЗакупки = Справочники.Назначения.ДобавитьШаблонНазначений(МакетФормы);
ШаблонНазначенияБезАгентскойЗакупки.НаправлениеДеятельности = "Объект.НаправлениеДеятельности";
ШаблонНазначенияБезАгентскойЗакупки.ТипыНазначений.Удалить(ШаблонНазначенияБезАгентскойЗакупки.ТипыНазначений.Найти(Перечисления.ТипыНазначений.ПоставкаПодПринципала));
ШаблонНазначенияБезАгентскойЗакупки.УсловиеИспользования = "Объект.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)";
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "ОбеспечениеЗаказовПоВалюте", Истина, "Объект.Товары.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "Объект.Товары.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.Товары.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.Товары.Характеристика";
ОписаниеКолонок.ПутиКДанным.Склад = "Объект.Товары.Склад";
ОписаниеКолонок.ПутиКДанным.Валюта = "Объект.Валюта";
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "ОбеспечениеЗаказовРаботамиПоВалюте", Истина, "Объект.Товары.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "Объект.Товары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.Товары.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.Товары.Характеристика";
ОписаниеКолонок.ПутиКДанным.Подразделение = "Объект.Товары.Подразделение";
ОписаниеКолонок.ПутиКДанным.Валюта = "Объект.Валюта";
Возврат МакетФормы;
КонецФункции
Процедура ЗаполнитьПараметрыХозяйственныхОпераций(ПараметрыЗапроса) Экспорт
ИспользоватьИмпортныеЗакупки = ПолучитьФункциональнуюОпцию("ИспользоватьИмпортныеЗакупки");
ИспользоватьВвозТоваровИзТаможенногоСоюза = ПолучитьФункциональнуюОпцию("ИспользоватьВвозТоваровИзТаможенногоСоюза");
ИспользоватьКомиссиюПриЗакупках = ПолучитьФункциональнуюОпцию("ИспользоватьКомиссиюПриЗакупках");
ИспользоватьТоварыВПутиОтПоставщиков = ПолучитьФункциональнуюОпцию("ИспользоватьТоварыВПутиОтПоставщиков");
ИспользоватьНеотфактурованныеПоставки = ПолучитьФункциональнуюОпцию("ИспользоватьНеотфактурованныеПоставки");
ИспользоватьУправленческуюОрганизацию = ПолучитьФункциональнуюОпцию("ИспользоватьУправленческуюОрганизацию");
ХозОперацииЗакупкаУПоставщика = Новый Массив;
ХозОперацииЗакупкаУПоставщика.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
ХозОперацииЗакупкаУПоставщика.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо);
Если ИспользоватьУправленческуюОрганизацию Тогда
ХозОперацииЗакупкаУПоставщика.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет);
КонецЕсли;
Если ИспользоватьТоварыВПутиОтПоставщиков Тогда
ХозОперацииЗакупкаУПоставщика.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути);
КонецЕсли;
Если ИспользоватьНеотфактурованныеПоставки Тогда
ХозОперацииЗакупкаУПоставщика.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки);
КонецЕсли;
ХозОперацииЗакупкаПоИмпорту = Новый Массив;
Если ИспользоватьИмпортныеЗакупки Тогда
ХозОперацииЗакупкаПоИмпорту.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
Если ИспользоватьТоварыВПутиОтПоставщиков Тогда
ХозОперацииЗакупкаПоИмпорту.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути);
КонецЕсли;
КонецЕсли;
ХозОперацииЗакупкаВСтранахЕАЭС = Новый Массив;
Если ИспользоватьВвозТоваровИзТаможенногоСоюза Тогда
ХозОперацииЗакупкаВСтранахЕАЭС.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
Если ИспользоватьТоварыВПутиОтПоставщиков Тогда
ХозОперацииЗакупкаВСтранахЕАЭС.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути);
КонецЕсли;
Если ИспользоватьНеотфактурованныеПоставки Тогда
ХозОперацииЗакупкаВСтранахЕАЭС.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки);
КонецЕсли;
КонецЕсли;
ХозОперацииПриемНаКомиссию = Новый Массив;
Если ИспользоватьКомиссиюПриЗакупках Тогда
ХозОперацииПриемНаКомиссию.Добавить(Перечисления.ХозяйственныеОперации.ПриемНаКомиссию);
КонецЕсли;
ХозОперацииТоварыВПути = Новый Массив;
Если ИспользоватьТоварыВПутиОтПоставщиков Тогда
ХозОперацииТоварыВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути);
Если ИспользоватьИмпортныеЗакупки Тогда
ХозОперацииТоварыВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути);
КонецЕсли;
Если ИспользоватьВвозТоваровИзТаможенногоСоюза Тогда
ХозОперацииТоварыВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути);
КонецЕсли;
КонецЕсли;
ХозОперацииНеотфактурованныеПоставки = Новый Массив;
Если ИспользоватьНеотфактурованныеПоставки Тогда
ХозОперацииНеотфактурованныеПоставки.Добавить(
Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки);
Если ИспользоватьВвозТоваровИзТаможенногоСоюза Тогда
ХозОперацииНеотфактурованныеПоставки.Добавить(
Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки);
КонецЕсли;
КонецЕсли;
ХозОперацииНеРазделятьОформлениеЗакупок = Новый Массив;
ХозОперацииНеРазделятьОформлениеЗакупок.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
ХозОперацииНеРазделятьОформлениеЗакупок.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо);
Если ИспользоватьУправленческуюОрганизацию Тогда
ХозОперацииНеРазделятьОформлениеЗакупок.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет);
КонецЕсли;
Если ИспользоватьКомиссиюПриЗакупках Тогда
ХозОперацииНеРазделятьОформлениеЗакупок.Добавить(Перечисления.ХозяйственныеОперации.ПриемНаКомиссию);
КонецЕсли;
Если ИспользоватьИмпортныеЗакупки Тогда
ХозОперацииНеРазделятьОформлениеЗакупок.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
КонецЕсли;
Если ИспользоватьВвозТоваровИзТаможенногоСоюза Тогда
ХозОперацииНеРазделятьОформлениеЗакупок.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
КонецЕсли;
ПараметрыЗапроса.ХозОперацииЗакупкаУПоставщика = ХозОперацииЗакупкаУПоставщика;
ПараметрыЗапроса.ХозОперацииЗакупкаПоИмпорту = ХозОперацииЗакупкаПоИмпорту;
ПараметрыЗапроса.ХозОперацииПриемНаКомиссию = ХозОперацииПриемНаКомиссию;
ПараметрыЗапроса.ХозОперацииЗакупкаВСтранахЕАЭС = ХозОперацииЗакупкаВСтранахЕАЭС;
ПараметрыЗапроса.ХозОперацииТоварыВПути = ХозОперацииТоварыВПути;
ПараметрыЗапроса.ХозОперацииНеотфактурованныеПоставки = ХозОперацииНеотфактурованныеПоставки;
ПараметрыЗапроса.ХозОперацииНеРазделятьОформлениеЗакупок = ХозОперацииНеРазделятьОформлениеЗакупок;
КонецПроцедуры
Функция НаименованияВходящихДокументов() Экспорт
МассивНаименований = Новый Массив();
ПриобретениеТоваровУслугЛокализация.ДополнитьНаименованияВходящихДокументов(МассивНаименований);
Возврат МассивНаименований
КонецФункции
Функция КоллекцияТабличныхЧастейТоваров() Экспорт
ТаблицыДокумента = Новый Структура("Товары");
Возврат ТаблицыДокумента;
КонецФункции
#КонецОбласти
#Область УчетНДС
Функция ХозяйственныеОперацииИмпорта() Экспорт
ХозяйственныеОперацииИмпорта = Новый Массив;
ХозяйственныеОперацииИмпорта.Добавить(
ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпорту"));
ХозяйственныеОперацииИмпорта.Добавить(
ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути"));
Возврат ХозяйственныеОперацииИмпорта;
КонецФункции
Функция ХозяйственныеОперацииВвозИзЕАЭС() Экспорт
ХозяйственныеОперацииВвозИзЕАЭС = Новый Массив;
ХозяйственныеОперацииВвозИзЕАЭС.Добавить(
ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС"));
ХозяйственныеОперацииВвозИзЕАЭС.Добавить(
ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути"));
ХозяйственныеОперацииВвозИзЕАЭС.Добавить(
ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки"));
Возврат ХозяйственныеОперацииВвозИзЕАЭС;
КонецФункции
Функция ПараметрыЗаполненияНалогообложенияНДСЗакупки(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСЗакупки();
Если ТипЗнч(Объект) = Тип("ДокументОбъект.ПриобретениеТоваровУслуг")
Или ТипЗнч(Объект) = Тип("ДанныеФормыСтруктура") Тогда
ДанныеОбъекта = Объект;
ИначеЕсли ТипЗнч(Объект) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг") Тогда
ДанныеОбъекта = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект, "Контрагент,Договор,ХозяйственнаяОперация,Дата");
КонецЕсли;
ПараметрыЗаполнения.Контрагент = ДанныеОбъекта.Контрагент;
ПараметрыЗаполнения.Договор = ДанныеОбъекта.Договор;
ПараметрыЗаполнения.Период = ДанныеОбъекта.Дата;
ХозОперацииЗакупкаУПоставщика = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
ХозОперацииЗакупкаВСтранахЕАЭС = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
ХозОперацииЗакупкаПоИмпорту = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
Если ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика
Или ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет Тогда
ПараметрыЗаполнения.ПриобретениеТоваров = Истина;
ПараметрыЗаполнения.ПриобретениеРабот = Истина;
ПараметрыЗаполнения.ПриобретениеНаСтатьи = Истина;
ИначеЕсли ХозОперацииЗакупкаУПоставщика.Найти(ДанныеОбъекта.ХозяйственнаяОперация) <> Неопределено Тогда
ПараметрыЗаполнения.ПриобретениеТоваров = Истина;
ПараметрыЗаполнения.ПриобретениеРабот = Истина;
ПараметрыЗаполнения.ПриобретениеНаСтатьи = Ложь;
ИначеЕсли ХозОперацииЗакупкаВСтранахЕАЭС.Найти(ДанныеОбъекта.ХозяйственнаяОперация) <> Неопределено Тогда
ПараметрыЗаполнения.ВвозТоваровИзТаможенногоСоюза = Истина;
ИначеЕсли ХозОперацииЗакупкаПоИмпорту.Найти(ДанныеОбъекта.ХозяйственнаяОперация) <> Неопределено Тогда
ПараметрыЗаполнения.ИмпортТоваров = Истина;
ИначеЕсли ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаХранениеСПравомПродажи Тогда
ПараметрыЗаполнения.ПриобретениеТоваров = Истина;
ИначеЕсли ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию Тогда
ПараметрыЗаполнения.ПриемНаКомиссию = Истина;
ИначеЕсли ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо Тогда
ПараметрыЗаполнения.ЗакупкаЧерезПодотчетноеЛицо = Истина;
КонецЕсли;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыЗаполненияВидаДеятельностиНДС(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияВидаДеятельностиНДС();
ПараметрыЗаполнения.Организация = Объект.Организация;
ПараметрыЗаполнения.Склад = Объект.Склад;
ПараметрыЗаполнения.Договор = Объект.Договор;
ПараметрыЗаполнения.Дата = Объект.Дата;
ПараметрыЗаполнения.НаправлениеДеятельности = Объект.НаправлениеДеятельности;
ПараметрыЗаполнения.Подразделение = Объект.Подразделение;
ХозОперацииЗакупкаУПоставщика = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
ХозОперацииЗакупкаВСтранахЕАЭС = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
ХозОперацииЗакупкаПоИмпорту = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
Если ХозОперацииЗакупкаУПоставщика.Найти(Объект.ХозяйственнаяОперация) <> Неопределено
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо Тогда
ПараметрыЗаполнения.ПриобретениеТоваров = Истина;
ПараметрыЗаполнения.ПриобретениеРабот = Истина;
ПараметрыЗаполнения.ПриобретениеНаСтатьи = Истина;
ИначеЕсли ХозОперацииЗакупкаВСтранахЕАЭС.Найти(Объект.ХозяйственнаяОперация) <> Неопределено
Или ХозОперацииЗакупкаПоИмпорту.Найти(Объект.ХозяйственнаяОперация) <> Неопределено Тогда
ПараметрыЗаполнения.ПриобретениеТоваров = Истина;
ИначеЕсли Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаХранениеСПравомПродажи Тогда
ПараметрыЗаполнения.ПриобретениеТоваров = Истина;
КонецЕсли;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыРегистрацииСчетовФактурПолученных(Объект) Экспорт
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурПолученных();
ПараметрыРегистрации.Ссылка = Объект.Ссылка;
ПараметрыРегистрации.Дата = Объект.Дата;
ПараметрыРегистрации.Организация = Объект.Организация;
ПараметрыРегистрации.Контрагент = Объект.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС = Объект.НалогообложениеНДС;
ЗакупкаВСтранахЕАЭС = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
ЗакупкаПоИмпорту = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию Тогда
ПараметрыРегистрации.ПриемНаКомиссию = Истина;
ИначеЕсли Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо Тогда
ПараметрыРегистрации.ЗакупкаЧерезПодотчетноеЛицо = Истина;
ИначеЕсли ЗакупкаВСтранахЕАЭС.Найти(Объект.ХозяйственнаяОперация) <> Неопределено Тогда
ПараметрыРегистрации.ВвозТоваровИзТаможенногоСоюза = Истина;
ИначеЕсли ЗакупкаПоИмпорту.Найти(Объект.ХозяйственнаяОперация) <> Неопределено Тогда
ПараметрыРегистрации.ИмпортТоваров = Истина;
Иначе
ПараметрыРегистрации.ПриобретениеТоваровРаботУслуг = Истина;
КонецЕсли;
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПараметрыРегистрацииУведомленийОВвозеПрослеживаемыхТоваров(Объект) Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Ссылка", Объект.Ссылка);
ПараметрыРегистрации.Вставить("Дата", Объект.Дата);
ПараметрыРегистрации.Вставить("Организация", Объект.Организация);
ПараметрыРегистрации.Вставить("Контрагент", Объект.Контрагент);
ПараметрыРегистрации.Вставить("Склад", Объект.Склад);
ПараметрыРегистрации.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);
ПараметрыРегистрации.Вставить("ВвозТоваровИзТаможенногоСоюза", Ложь);
ПараметрыРегистрации.Вставить("ВедетсяУчетПоРНПТ", Ложь);
ПараметрыРегистрации.Вставить("КорректировочноеУведомление", Ложь);
ЗакупкаВСтранахЕАЭС = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
Если ЗакупкаВСтранахЕАЭС.Найти(Объект.ХозяйственнаяОперация) <> Неопределено Тогда
ПараметрыРегистрации.ВвозТоваровИзТаможенногоСоюза = Истина;
Если Объект.Товары.НайтиСтроки(Новый Структура("ВедетсяУчетПоРНПТ", Истина)).Количество() Тогда
ПараметрыРегистрации.ВедетсяУчетПоРНПТ = Истина;
КонецЕсли;
КонецЕсли;
Возврат ПараметрыРегистрации;
КонецФункции
#КонецОбласти
Функция ПараметрыВыбораСтатейИАналитик(ХозяйственнаяОперация) Экспорт
МассивПаметровВыбора = Новый Массив;
#Область ТоварыСтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Товары";
ПараметрыВыбора.Статья = "СтатьяРасходов";
Если НоменклатураСервер.СписокХозяйственныхОперацийИсключающихУслугиИРаботы().НайтиПоЗначению(ХозяйственнаяОперация) <> Неопределено Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ТоварыСтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("ТоварыАналитикаРасходов");
ПараметрыВыбора.УсловияДоступностиСтатьиВСтроках.Вставить("СписатьНаРасходы", Истина);
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
Возврат МассивПаметровВыбора;
КонецФункции
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
ДанныеЗаполнения,
"ХозяйственнаяОперация,
|ПоступлениеПоЗаказам,
|Ссылка");
ХозяйственнаяОперация = СтруктураДанныеЗаполнения.ХозяйственнаяОперация;
ПоступлениеПоЗаказам = СтруктураДанныеЗаполнения.ПоступлениеПоЗаказам;
ЕстьКорректировки = Ложь;
ЗакупкиСервер.ПроверитьНаличиеКорректировокИСчетовФактур(СтруктураДанныеЗаполнения.Ссылка, СтруктураДанныеЗаполнения.Ссылка, ЕстьКорректировки, Ложь);
ИначеЕсли ДанныеЗаполнения = Неопределено Тогда
ХозяйственнаяОперация = Неопределено;
ПоступлениеПоЗаказам = Ложь;
ЕстьКорректировки = Ложь;
Иначе
ХозяйственнаяОперация = ДанныеЗаполнения.ХозяйственнаяОперация;
ПоступлениеПоЗаказам = ДанныеЗаполнения.ПоступлениеПоЗаказам;
ЕстьКорректировки = Ложь;
ЗакупкиСервер.ПроверитьНаличиеКорректировокИСчетовФактур(ДанныеЗаполнения.Ссылка, ДанныеЗаполнения.Ссылка, ЕстьКорректировки, Ложь);
КонецЕсли;
ПараметрыВзаиморасчетов = Новый Массив;
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.ИзменяетПланОплаты = ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки;
СтруктураПараметров.ИзменяетРасчетыСтрокой =
"ИсточникДанных.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпорту),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки))
|";
СтруктураПараметров.ИзменяетПланОтгрузкиПоставки = ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки;
СтруктураПараметров.ВалютаВзаиморасчетов = "Объект.ВалютаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетов = "Объект.СуммаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетовПоТаре = "Объект.СуммаВзаиморасчетовПоТаре";
СтруктураПараметров.КурсЧислитель = "Объект.КурсЧислитель";
СтруктураПараметров.КурсЗнаменатель = "Объект.КурсЗнаменатель";
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.Товары";
СтруктураПараметров.ИмяРеквизитаТЧЗаказ = "ЗаказПоставщику";
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "Объект.РасшифровкаПлатежа";
СтруктураПараметров.Касса = "";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.НомерВходящегоДокумента";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.ДатаВходящегоДокумента";
СтруктураПараметров.НаименованиеПервичногоДокумента = "Объект.НаименованиеВходящегоДокумента";
СтруктураПараметров.НакладнаяПоЗаказам = "Объект.ПоступлениеПоЗаказам";
СтруктураПараметров.ЗаказОснование = "Объект.ЗаказПоставщику";
СтруктураПараметров.ЭлементыФормы.НадписьВалюты = "ДекорацияВалюты";
СтруктураПараметров.ЭлементыФормы.НадписьЭтапы = "ДекорацияЭтапыОплаты";
СтруктураПараметров.ЭлементыФормы.НадписьРасчеты = "ДекорацияСостояниеРасчетов";
СтруктураПараметров.ЭлементыФормы.ЗачетОплаты = "ЗачетОплатыФорма";
СтруктураПараметров.ЭлементыФормы.СуммаВзаиморасчетовТЧ = "ТоварыСуммаВзаиморасчетов";
СтруктураПараметров.ЭлементыФормы.ГруппаФинансовогоУчета = "ГруппаФинансовогоУчета";
СтруктураПараметров.ЭлементыФормы.НаправлениеДеятельности = "НаправлениеДеятельности";
СтруктураПараметров.ВалютыИКурсДокументаТолькоПросмотр = ЕстьКорректировки;
СтруктураПараметров.ВалютаДокументаТолькоПросмотр = ПоступлениеПоЗаказам И Не ПраваПользователяПовтИсп.ОтклонениеОтУсловийЗакупок();
СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр = ПоступлениеПоЗаказам И Не ПраваПользователяПовтИсп.ОтклонениеОтУсловийЗакупок();
СтруктураПараметров.НеПоказыватьРасчеты = ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо");
СтруктураПараметров.ПутьКДаннымТЧЭтапыОплаты = "Объект.ЭтапыГрафикаОплаты";
СтруктураПараметров.НадписьЭтапыОплаты = "Форма.НадписьЭтапыОплаты";
СтруктураПараметров.ИсточникСуммТабличнаяЧасть = Истина;
СтруктураПараметров.СуммаДокументаФорма = "Форма.СуммаВсего";
СтруктураПараметров.СуммаЗалогаЗаТаруФорма = "Форма.СуммаЗалогаЗаТару";
СтруктураПараметров.ВозможнаНакладнаяПоНесколькимЗаказам = ПолучитьФункциональнуюОпцию("ИспользоватьПоступлениеПоНесколькимЗаказам");
СтруктураПараметров.ОбъектРасчетов = "Объект.Товары.ОбъектРасчетов";
СтруктураПараметров.ДатаКурсаВалютыДокумента = "Объект.ДатаКурсаВалютыДокумента";
СтруктураПараметров.ВернутьМногооборотнуюТару = "Объект.ВернутьМногооборотнуюТару";
СтруктураПараметров.ТребуетсяЗалогЗаТару = "Объект.ТребуетсяЗалогЗаТару";
СтруктураПараметров.ОперацияССамозанятым = "Объект.ОперацияССамозанятым";
ПараметрыВзаиморасчетов.Добавить(СтруктураПараметров);
Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет Тогда
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.Организация = Справочники.Организации.УправленческаяОрганизация;
СтруктураПараметров.ИсточникСуммТабличнаяЧасть = Истина;
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ВалютаВзаиморасчетов = "Объект.ВалютаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетов = "Объект.СуммаВзаиморасчетов";
СтруктураПараметров.Касса = "";
СтруктураПараметров.КурсЧислитель = "Объект.КурсЧислитель";
СтруктураПараметров.КурсЗнаменатель = "Объект.КурсЗнаменатель";
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.Товары";
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетовУпр";
СтруктураПараметров.Договор = "";
ПараметрыВзаиморасчетов.Добавить(СтруктураПараметров);
КонецЕсли;
Возврат ПараметрыВзаиморасчетов;
КонецФункции
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Склад)
| И ЗначениеРазрешено(Партнер)
| И ЗначениеРазрешено(Подразделение)";
КонецПроцедуры
#КонецОбласти
#Область Печать
Функция ПравилаПечатиЗаданияНаОтборРазмещение() Экспорт
ПравилаПечатиЗадания = Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ПравилаПечатиЗаданияНаОтборРазмещение();
ПравилаПечатиЗадания.ОперацияПоступления = Истина;
ПравилаПечатиЗадания.СкладыВТЧ = Истина;
Возврат ПравилаПечатиЗадания;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
ОбщегоНазначенияУТКлиентСервер.ОбработкаПолученияПредставленияВходящегоДокумента(
Данные, Представление, СтандартнаяОбработка, "ПриобретениеТоваровУслуг");
КонецПроцедуры
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Очистить();
Поля.Добавить("НаименованиеВходящегоДокумента");
Поля.Добавить("НомерВходящегоДокумента");
Поля.Добавить("ДатаВходящегоДокумента");
Поля.Добавить("Дата");
Поля.Добавить("Номер");
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Если ИмяРегистра = "ЦеныНоменклатурыПоставщиков" Тогда
ИсточникиДанных.Вставить("Товары.ВидЦеныПоставщика");
КонецЕсли;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.ФормаОплаты КАК ФормаОплаты,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.ПодотчетноеЛицо КАК ПодотчетноеЛицо,
| ДанныеДокумента.АвансовыйОтчет КАК АвансовыйОтчет,
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА ДанныеДокумента.ПодотчетноеЛицо
| ИНАЧЕ ДанныеДокумента.Партнер
| КОНЕЦ КАК Отправитель,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОрганизацияВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Партнер КАК Поставщик,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ЕСТЬNULL(ДанныеДокумента.КонтрагентСтранаРегистрации, ЗНАЧЕНИЕ(Справочник.СтраныМира.ПустаяСсылка)) КАК СтранаРегистрации,
| ЕСТЬNULL(ДанныеДокумента.КонтрагентСтранаРегистрации.УчастникЕАЭС, ЛОЖЬ) КАК КонтрагентУчастникЕАЭС,
| ДанныеДокумента.Соглашение КАК Соглашение,
| ДанныеДокумента.Валюта КАК Валюта,
| ЕСТЬNULL(ДанныеДокумента.СоглашениеВалюта, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) КАК ВалютаСоглашения,
| ДанныеДокумента.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ЕСТЬNULL(ДанныеДокумента.СоглашениеЦенаВключаетНДС, ЛОЖЬ) КАК ЦенаВключаетНДССоглашения,
| ДанныеДокумента.РегистрироватьЦеныПоставщика КАК РегистрироватьЦеныПоставщика,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| ДанныеДокумента.ЗаказПоставщику КАК ЗаказПоставщику,
| ДанныеДокумента.Склад КАК Склад,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИспользуетсяОперацияИмпортаТоварыВПутиИНеотфактуровка,
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки)
| ) ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИспользуетсяОперацияНеотфактуровка,
| ДанныеДокумента.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ЕСТЬNULL(ДанныеДокумента.ПодразделениеВариантОбособленногоУчетаТоваров, ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПустаяСсылка)) КАК ВариантОбособленногоУчетаТоваров,
| ДанныеДокумента.ПоступлениеПоЗаказам КАК ПоступлениеПоЗаказам,
| ДанныеДокумента.ВариантПриемкиТоваров КАК ВариантПриемкиТоваров,
| ДанныеДокумента.Договор КАК Договор,
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация В(ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути))
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИспользуетсяДокументПоступлениеТоваров,
| ДанныеДокумента.ВернутьМногооборотнуюТару КАК ВернутьМногооборотнуюТару,
| ДанныеДокумента.ТребуетсяЗалогЗаТару КАК ТребуетсяЗалогЗаТару,
| ДанныеДокумента.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| ВЫБОР
| КОГДА ДанныеДокумента.ПорядокРасчетов = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоЗаказам)
| И ДанныеДокумента.ПоступлениеПоЗаказам
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК РасчетыПоЗаказам,
| ДанныеДокумента.Менеджер КАК Менеджер,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельностиУчетЗатрат, ЛОЖЬ) КАК УчетЗатратПоНД,
| ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельностиУчетРасчетовСПоставщиками, ЛОЖЬ) КАК УчетРасчетовСПоставщикамиПоНД,
| ДанныеДокумента.Сделка КАК Сделка,
| ЕСТЬNULL(ДанныеДокумента.СделкаОбособленныйУчетТоваровПоСделке, ЛОЖЬ) КАК ОбособленныйУчетТоваровПоСделке,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ДанныеДокумента.НаименованиеВходящегоДокумента КАК НаименованиеВходящегоДокумента,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.Автор КАК Автор,
| ДанныеДокумента.НоваяМеханикаСозданияЗаявленийОВвозе КАК НоваяМеханикаСозданияЗаявленийОВвозе,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|ИЗ
| ДанныеДокументаШапка КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
| ПО ДанныеДокумента.Договор = ДоговорыКонтрагентов.Ссылка";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета",
ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
Запрос.УстановитьПараметр("КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям",
ПолучитьФункциональнуюОпцию("КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям"));
Запрос.УстановитьПараметр("ВалютаРегламентированногоУчета", Реквизиты.ВалютаРегламентированногоУчета);
Запрос.УстановитьПараметр("РегламентированногоУчетаВалюта", Реквизиты.ВалютаРегламентированногоУчета);
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("ЦенаВключаетНДС", ?(Реквизиты.ЦенаВключаетНДС, 0, 1));
Запрос.УстановитьПараметр("ИспользоватьУчетПрочихДоходовРасходов", ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихДоходовРасходов"));
Запрос.УстановитьПараметр("ЦенаВключаетНДСДокумента", Реквизиты.ЦенаВключаетНДС);
Запрос.УстановитьПараметр("ПоступлениеПоНесколькимЗаказам", ?(Не ЗначениеЗаполнено(Реквизиты.ЗаказПоставщику), Истина, Ложь));
Запрос.УстановитьПараметр("КонтролироватьВыдачуПодОтчетВРазрезеЦелей", ПолучитьФункциональнуюОпцию("КонтролироватьВыдачуПодОтчетВРазрезеЦелей"));
Запрос.УстановитьПараметр("МногооборотнаяТара", Перечисления.ТипыНоменклатуры.МногооборотнаяТара);
Запрос.УстановитьПараметр("ХозОперацииЗакупкаПоИмпорту", ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту));
Запрос.УстановитьПараметр("ХозОперацииЗакупкаУПоставщика", ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика));
Запрос.УстановитьПараметр("ХозОперацииЗакупкаВСтранахЕАЭС", ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС));
Запрос.УстановитьПараметр("ХозОперацииПоставкаПодПринципала", ЗакупкиСервер.ХозяйственныеОперацииДляАгентскойЗакупкиПодПринципала());
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяОбъекта()));
Запрос.УстановитьПараметр("ДатаНачалаПечатиЕдиногоАвансовогоОтчета", Константы.ДатаНачалаПечатиЕдиногоАвансовогоОтчета.Получить());
Запрос.УстановитьПараметр("УчетЗатратПоНД", Реквизиты.УчетЗатратПоНД);
Запрос.УстановитьПараметр("УчетРасчетовСПоставщикамиПоНД", Реквизиты.УчетРасчетовСПоставщикамиПоНД);
Если ЗначениеЗаполнено(Реквизиты.Договор) Тогда
ШаблонСтроки = "ru = 'По договору ""%1""'";
ИнформацияПоДоговору = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСтроки, Реквизиты.Договор);
КонецЕсли;
Запрос.УстановитьПараметр("ИнформацияПоДоговору", ИнформацияПоДоговору);
Запрос.УстановитьПараметр("ИдентификаторНеиспользуемойФинЗаписи", ПроведениеДокументов.ИдентификаторНеиспользуемойФинЗаписи());
Запрос.УстановитьПараметр("ИдентификаторТаможеннаяДекларацияИмпорт", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ТаможеннаяДекларацияИмпорт"));
Запрос.УстановитьПараметр("ИдентификаторЗаявлениеОВвозеТоваров", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ЗаявлениеОВвозеТоваров"));
ОперацииФактуровка = Новый Массив;
ОперацииФактуровка.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки);
ОперацииФактуровка.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки);
ВариантОформленияЗакупокДоговора = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Реквизиты.Договор, "ВариантОформленияЗакупок");
НеотфактурованныеПоставкиУслугРабот = ОперацииФактуровка.Найти(Реквизиты.ХозяйственнаяОперация) <> Неопределено
И ВариантОформленияЗакупокДоговора = Перечисления.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваровИУслуг;
Запрос.УстановитьПараметр("НеотфактурованныеПоставкиУслугРабот", НеотфактурованныеПоставкиУслугРабот);
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
Запрос.УстановитьПараметр("ДатаОстатков", Новый Граница(ДокументСсылка.МоментВремени(), ВидГраницы.Исключая));
АналитикаУчетаНоменклатурыБезНазначенияУпр = Ложь;
Если Реквизиты.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет Тогда
АналитикаУчетаНоменклатурыБезНазначенияУпр = АналитикаУчетаНоменклатурыБезНазначенияУпр(Запрос)
КонецЕсли;
Запрос.УстановитьПараметр("АналитикаУчетаНоменклатурыБезНазначенияУпр", АналитикаУчетаНоменклатурыБезНазначенияУпр);
КонецПроцедуры
Процедура ПолучитьДанныеДокумента(Запрос, ДокументСсылка)
СписокЗапросов = Новый Массив;
ТекстЗапросаДанныеДокументаШапка(СписокЗапросов);
ТекстЗапросаДанныеДокументаТаблицаТовары(СписокЗапросов);
ТекстЗапросаДанныеДокументаТаблицаВидыЗапасов(СписокЗапросов);
ТекстЗапросаДанныеДокументаТаблицаСерии(СписокЗапросов);
ТекстЗапросаДанныеДокументаТаблицаЭтапыГрафикаОплаты(СписокЗапросов);
ТекстЗапросаДанныеДокументаТаблицаРасшифровкаПлатежа(СписокЗапросов);
ТекстЗапроса = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.Текст = ТекстЗапроса;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Выполнить();
КонецПроцедуры
Процедура ТекстЗапросаДанныеДокументаШапка(СписокЗапросов)
ТекстЗапросаШапка = "ВЫБРАТЬ
| ДанныеШапки.ВерсияДанных КАК ВерсияДанных,
| ДанныеШапки.Дата КАК Дата,
| ДанныеШапки.МоментВремени КАК МоментВремени,
| ДанныеШапки.Номер КАК Номер,
| ДанныеШапки.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеШапки.Проведен КАК Проведен,
| ДанныеШапки.Ссылка КАК Ссылка,
| ДанныеШапки.Валюта КАК Валюта,
| ДанныеШапки.Партнер КАК Партнер,
| ДанныеШапки.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеШапки.Подразделение КАК Подразделение,
| ДанныеШапки.Склад КАК Склад,
| ДанныеШапки.Контрагент КАК Контрагент,
| ДанныеШапки.СуммаДокумента КАК СуммаДокумента,
| ДанныеШапки.СуммаВзаиморасчетовПоЗаказу КАК СуммаВзаиморасчетовПоЗаказу,
| ДанныеШапки.Менеджер КАК Менеджер,
| ДанныеШапки.ЗаказПоставщику КАК ЗаказПоставщику,
| ДанныеШапки.ПодотчетноеЛицо КАК ПодотчетноеЛицо,
| ДанныеШапки.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ДанныеШапки.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеШапки.Комментарий КАК Комментарий,
| ДанныеШапки.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| ДанныеШапки.ФормаОплаты КАК ФормаОплаты,
| ДанныеШапки.Согласован КАК Согласован,
| ДанныеШапки.НалогообложениеНДС КАК НалогообложениеНДС,
| ДанныеШапки.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеШапки.БанковскийСчетОрганизации КАК БанковскийСчетОрганизации,
| ДанныеШапки.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ДанныеШапки.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеШапки.Грузоотправитель КАК Грузоотправитель,
| ДанныеШапки.БанковскийСчетКонтрагента КАК БанковскийСчетКонтрагента,
| ДанныеШапки.БанковскийСчетГрузоотправителя КАК БанковскийСчетГрузоотправителя,
| ДанныеШапки.Сделка КАК Сделка,
| ДанныеШапки.Принял КАК Принял,
| ДанныеШапки.ПринялДолжность КАК ПринялДолжность,
| ДанныеШапки.ПоступлениеПоЗаказам КАК ПоступлениеПоЗаказам,
| ДанныеШапки.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеШапки.РегистрироватьЦеныПоставщика КАК РегистрироватьЦеныПоставщика,
| ДанныеШапки.Договор КАК Договор,
| ДанныеШапки.Автор КАК Автор,
| ДанныеШапки.Руководитель КАК Руководитель,
| ДанныеШапки.ПорядокРасчетов КАК ПорядокРасчетов,
| ДанныеШапки.ВернутьМногооборотнуюТару КАК ВернутьМногооборотнуюТару,
| ДанныеШапки.ДатаВозвратаМногооборотнойТары КАК ДатаВозвратаМногооборотнойТары,
| ДанныеШапки.СостояниеЗаполненияМногооборотнойТары КАК СостояниеЗаполненияМногооборотнойТары,
| ДанныеШапки.ТребуетсяЗалогЗаТару КАК ТребуетсяЗалогЗаТару,
| ДанныеШапки.ДопоступлениеПоДокументу КАК ДопоступлениеПоДокументу,
| ДанныеШапки.НазначениеАванса КАК НазначениеАванса,
| ДанныеШапки.КоличествоДокументов КАК КоличествоДокументов,
| ДанныеШапки.КоличествоЛистов КАК КоличествоЛистов,
| ДанныеШапки.ГлавныйБухгалтер КАК ГлавныйБухгалтер,
| ДанныеШапки.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| ДанныеШапки.СпособДоставки КАК СпособДоставки,
| ДанныеШапки.ПеревозчикПартнер КАК ПеревозчикПартнер,
| ДанныеШапки.ЗонаДоставки КАК ЗонаДоставки,
| ДанныеШапки.ВремяДоставкиС КАК ВремяДоставкиС,
| ДанныеШапки.ВремяДоставкиПо КАК ВремяДоставкиПо,
| ДанныеШапки.АдресДоставки КАК АдресДоставки,
| ДанныеШапки.АдресДоставкиЗначенияПолей КАК АдресДоставкиЗначенияПолей,
| ДанныеШапки.ДополнительнаяИнформацияПоДоставке КАК ДополнительнаяИнформацияПоДоставке,
| ДанныеШапки.АдресДоставкиПеревозчика КАК АдресДоставкиПеревозчика,
| ДанныеШапки.АдресДоставкиПеревозчикаЗначенияПолей КАК АдресДоставкиПеревозчикаЗначенияПолей,
| ДанныеШапки.ОсобыеУсловияПеревозки КАК ОсобыеУсловияПеревозки,
| ДанныеШапки.ОсобыеУсловияПеревозкиОписание КАК ОсобыеУсловияПеревозкиОписание,
| ДанныеШапки.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеШапки.ЕстьАлкогольнаяПродукция КАК ЕстьАлкогольнаяПродукция,
| ДанныеШапки.Соглашение КАК Соглашение,
| ДанныеШапки.Организация КАК Организация,
| ДанныеШапки.КурсЧислитель КАК КурсЧислитель,
| ДанныеШапки.КурсЗнаменатель КАК КурсЗнаменатель,
| ДанныеШапки.ЕстьМаркируемаяПродукцияГИСМ КАК ЕстьМаркируемаяПродукцияГИСМ,
| ДанныеШапки.ЕстьКиЗГИСМ КАК ЕстьКиЗГИСМ,
| ДанныеШапки.ВариантПриемкиТоваров КАК ВариантПриемкиТоваров,
| ДанныеШапки.СуммаВзаиморасчетовПоТаре КАК СуммаВзаиморасчетовПоТаре,
| ДанныеШапки.АвансовыйОтчет КАК АвансовыйОтчет,
| ДанныеШапки.НаименованиеВходящегоДокумента КАК НаименованиеВходящегоДокумента,
| ДанныеШапки.ОплатаВВалюте КАК ОплатаВВалюте,
| ДанныеШапки.АдресДоставкиЗначение КАК АдресДоставкиЗначение,
| ДанныеШапки.АдресДоставкиПеревозчикаЗначение КАК АдресДоставкиПеревозчикаЗначение,
| ДанныеШапки.КорректировкаОстатковРНПТ КАК КорректировкаОстатковРНПТ,
| ДанныеШапки.ДатаПоступления КАК ДатаПоступления,
| ВЫБОР КОГДА ДанныеШапки.ДатаКурсаВалютыДокумента = ДАТАВРЕМЯ(1,1,1)
| ТОГДА ДанныеШапки.Дата
| ИНАЧЕ ДанныеШапки.ДатаКурсаВалютыДокумента
| КОНЕЦ КАК ДатаКурсаВалютыДокумента,
| ДанныеШапки.НоваяМеханикаСозданияЗаявленийОВвозе КАК НоваяМеханикаСозданияЗаявленийОВвозе,
| ДанныеШапки.ОбъектРасчетовУпр КАК ОбъектРасчетовУпр,
| ДанныеШапки.Организация.ВалютаРегламентированногоУчета КАК ОрганизацияВалютаРегламентированногоУчета,
| ДанныеШапки.Контрагент.СтранаРегистрации КАК КонтрагентСтранаРегистрации,
| ДанныеШапки.Соглашение.Валюта КАК СоглашениеВалюта,
| ДанныеШапки.Соглашение.ЦенаВключаетНДС КАК СоглашениеЦенаВключаетНДС,
| ДанныеШапки.Подразделение.ВариантОбособленногоУчетаТоваров КАК ПодразделениеВариантОбособленногоУчетаТоваров,
| ДанныеШапки.НаправлениеДеятельности.УчетЗатрат КАК НаправлениеДеятельностиУчетЗатрат,
| ДанныеШапки.НаправлениеДеятельности.УчетРасчетовСПоставщиками КАК НаправлениеДеятельностиУчетРасчетовСПоставщиками,
| ДанныеШапки.Сделка.ОбособленныйУчетТоваровПоСделке КАК СделкаОбособленныйУчетТоваровПоСделке,
| ДанныеШапки.Договор.ЗаданГрафикИсполнения КАК ДоговорЗаданГрафикИсполнения,
| ДанныеШапки.ОбъектРасчетовУпр.УникальныйИдентификатор КАК ОбъектРасчетовУпрУникальныйИдентификатор
|ПОМЕСТИТЬ ДанныеДокументаШапка
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК ДанныеШапки
|ГДЕ
| ДанныеШапки.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка";
СписокЗапросов.Добавить(ТекстЗапросаШапка);
КонецПроцедуры
Процедура ТекстЗапросаДанныеДокументаТаблицаТовары(СписокЗапросов)
ТекстЗапросаТаблицаТовары = "ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| ТаблицаТовары.ПроцентРучнойСкидки КАК ПроцентРучнойСкидки,
| ТаблицаТовары.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.Сертификат КАК Сертификат,
| ТаблицаТовары.НомерПаспорта КАК НомерПаспорта,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаТовары.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ТаблицаТовары.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ТаблицаТовары.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаТовары.НаименованиеВходящегоДокумента КАК НаименованиеВходящегоДокумента,
| ТаблицаТовары.СуммаИтог КАК СуммаИтог,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры КАК НоменклатураТипНоменклатуры,
| ТаблицаТовары.Назначение.ДвиженияПоСкладскимРегистрам КАК НазначениеДвиженияПоСкладскимРегистрам,
| ТаблицаТовары.Склад.ИспользоватьОрдернуюСхемуПриПоступлении КАК СкладИспользоватьОрдернуюСхемуПриПоступлении,
| ТаблицаТовары.Склад.ДатаНачалаОрдернойСхемыПриПоступлении КАК СкладДатаНачалаОрдернойСхемыПриПоступлении,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение КАК АналитикаУчетаНоменклатурыНазначение,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура КАК АналитикаУчетаНоменклатурыНоменклатура,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ПрослеживаемыйТовар КАК
| АналитикаУчетаНоменклатурыНоменклатураПрослеживаемыйТовар,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика КАК АналитикаУчетаНоменклатурыХарактеристика,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия КАК АналитикаУчетаНоменклатурыСерия,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.МестоХранения КАК АналитикаУчетаНоменклатурыМестоХранения,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.СтатьяКалькуляции КАК АналитикаУчетаНоменклатурыСтатьяКалькуляции,
| ТаблицаТовары.Назначение.ВидДеятельностиНДС КАК НазначениеВидДеятельностиНДС,
| ТаблицаТовары.Назначение.ТипНазначения КАК НазначениеТипНазначения,
| ТаблицаТовары.ОбъектРасчетов.УникальныйИдентификатор КАК ОбъектРасчетовУникальныйИдентификатор,
| ТаблицаТовары.Номенклатура.ПрослеживаемыйТовар КАК НоменклатураПрослеживаемыйТовар,
| ТаблицаТовары.Склад.ЦеховаяКладовая КАК СкладЦеховаяКладовая,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК
| АналитикаУчетаНоменклатурыНазначениеНаправлениеДеятельности,
| ТаблицаТовары.ОбъектРасчетов.НаправлениеДеятельности КАК ОбъектРасчетовНаправлениеДеятельности,
| ТаблицаТовары.ВидЗапасов.ТипЗапасов КАК ВидЗапасовТипЗапасов,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры КАК
| АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры,
| ТаблицаТовары.ЗаказПоставщику.РегистрироватьЦеныПоставщика КАК ЗаказПоставщикуРегистрироватьЦеныПоставщика,
| ТаблицаТовары.ВидЦеныПоставщика.Валюта КАК ВидЦеныПоставщикаВалюта
|ПОМЕСТИТЬ ДанныеДокументаТаблицаТовары
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка";
СписокЗапросов.Добавить(ТекстЗапросаТаблицаТовары);
КонецПроцедуры
Процедура ТекстЗапросаДанныеДокументаТаблицаВидыЗапасов(СписокЗапросов)
ТекстЗапросаТаблицаВидыЗапасов = "ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ТаблицаВидыЗапасов.Ссылка КАК Ссылка,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаВидыЗапасов.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаВидыЗапасов.ВидЗапасовПолучателя КАК ВидЗапасовПолучателя,
| ТаблицаВидыЗапасов.Цена КАК Цена,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ТаблицаВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаВидыЗапасов.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
| ТаблицаВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаВидыЗапасов.Подразделение КАК Подразделение,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры КАК
| АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК АналитикаУчетаНоменклатурыНоменклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ПрослеживаемыйТовар КАК
| АналитикаУчетаНоменклатурыНоменклатураПрослеживаемыйТовар,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК АналитикаУчетаНоменклатурыХарактеристика,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК АналитикаУчетаНоменклатурыСерия,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК АналитикаУчетаНоменклатурыМестоХранения,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение КАК АналитикаУчетаНоменклатурыНазначение,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.СтатьяКалькуляции КАК АналитикаУчетаНоменклатурыСтатьяКалькуляции,
| ТаблицаВидыЗапасов.ВидЗапасов.Организация КАК ВидЗапасовОрганизация,
| ТаблицаВидыЗапасов.ВидЗапасов.ВладелецТовара КАК ВидЗапасовВладелецТовара,
| ТаблицаВидыЗапасов.ВидЗапасов.НалогообложениеНДС КАК ВидЗапасовНалогообложениеНДС,
| ТаблицаВидыЗапасов.ВидЗапасов.ГруппаФинансовогоУчета КАК ВидЗапасовГруппаФинансовогоУчета,
| ТаблицаВидыЗапасов.ВидЗапасов.ГруппаПродукции КАК ВидЗапасовГруппаПродукции,
| ТаблицаВидыЗапасов.ВидЗапасов.ВидЦены КАК ВидЗапасовВидЦены,
| ТаблицаВидыЗапасов.ВидЗапасов.ОблагаетсяАкцизом КАК ВидЗапасовОблагаетсяАкцизом,
| ТаблицаВидыЗапасов.ВидЗапасов.ПодразделениеПроизводства КАК ВидЗапасовПодразделениеПроизводства,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ВестиУчетПоГТД КАК
| АналитикаУчетаНоменклатурыНоменклатураВестиУчетПоГТД,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая КАК
| АналитикаУчетаНоменклатурыСкладскаяТерриторияЦеховаяКладовая,
| ТаблицаВидыЗапасов.ОбъектРасчетов.УникальныйИдентификатор КАК ОбъектРасчетовУникальныйИдентификатор,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК
| АналитикаУчетаНоменклатурыНазначениеНаправлениеДеятельности,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.ТипНазначения КАК
| АналитикаУчетаНоменклатурыНазначениеТипНазначения
|
|ПОМЕСТИТЬ ДанныеДокументаТаблицаВидыЗапасов
|ИЗ
| Документ.ПриобретениеТоваровУслуг.ВидыЗапасов КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка";
СписокЗапросов.Добавить(ТекстЗапросаТаблицаВидыЗапасов);
КонецПроцедуры
Процедура ТекстЗапросаДанныеДокументаТаблицаСерии(СписокЗапросов)
ТекстЗапросаТаблицаСерии = "ВЫБРАТЬ
| ТаблицаСерии.НомерСтроки КАК НомерСтроки,
| ТаблицаСерии.Ссылка КАК Ссылка,
| ТаблицаСерии.Серия КАК Серия,
| ТаблицаСерии.Количество КАК Количество,
| ТаблицаСерии.Номенклатура КАК Номенклатура,
| ТаблицаСерии.Характеристика КАК Характеристика,
| ТаблицаСерии.Назначение КАК Назначение,
| ТаблицаСерии.Склад КАК Склад,
| ТаблицаСерии.Назначение.ДвиженияПоСкладскимРегистрам КАК НазначениеДвиженияПоСкладскимРегистрам,
| ТаблицаСерии.Склад.ИспользоватьОрдернуюСхемуПриПоступлении КАК СкладИспользоватьОрдернуюСхемуПриПоступлении,
| ТаблицаСерии.Склад.ДатаНачалаОрдернойСхемыПриПоступлении КАК СкладДатаНачалаОрдернойСхемыПриПоступлении
|ПОМЕСТИТЬ ДанныеДокументаТаблицаСерии
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Серии КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка";
СписокЗапросов.Добавить(ТекстЗапросаТаблицаСерии);
КонецПроцедуры
Процедура ТекстЗапросаДанныеДокументаТаблицаЭтапыГрафикаОплаты(СписокЗапросов)
ТекстЗапросаТаблицаЭтапыГрафикаОплаты = "ВЫБРАТЬ
| ТаблицаЭтапыГрафикаОплаты.НомерСтроки КАК НомерСтроки,
| ТаблицаЭтапыГрафикаОплаты.Ссылка КАК Ссылка,
| ТаблицаЭтапыГрафикаОплаты.Заказ КАК Заказ,
| ТаблицаЭтапыГрафикаОплаты.СверхЗаказа КАК СверхЗаказа,
| ТаблицаЭтапыГрафикаОплаты.ВариантОплаты КАК ВариантОплаты,
| ТаблицаЭтапыГрафикаОплаты.ДатаПлатежа КАК ДатаПлатежа,
| ТаблицаЭтапыГрафикаОплаты.Сдвиг КАК Сдвиг,
| ТаблицаЭтапыГрафикаОплаты.СуммаПлатежа КАК СуммаПлатежа,
| ТаблицаЭтапыГрафикаОплаты.ПроцентПлатежа КАК ПроцентПлатежа,
| ТаблицаЭтапыГрафикаОплаты.СуммаЗалогаЗаТару КАК СуммаЗалогаЗаТару,
| ТаблицаЭтапыГрафикаОплаты.ПроцентЗалогаЗаТару КАК ПроцентЗалогаЗаТару,
| ТаблицаЭтапыГрафикаОплаты.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаЭтапыГрафикаОплаты.СуммаВзаиморасчетовПоТаре КАК СуммаВзаиморасчетовПоТаре,
| ТаблицаЭтапыГрафикаОплаты.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаЭтапыГрафикаОплаты.ОбъектРасчетов.УникальныйИдентификатор КАК ОбъектРасчетовУникальныйИдентификатор,
| ТаблицаЭтапыГрафикаОплаты.ВариантОтсчета КАК ВариантОтсчета
|ПОМЕСТИТЬ ДанныеДокументаТаблицаЭтапыГрафикаОплаты
|ИЗ
| Документ.ПриобретениеТоваровУслуг.ЭтапыГрафикаОплаты КАК ТаблицаЭтапыГрафикаОплаты
|ГДЕ
| ТаблицаЭтапыГрафикаОплаты.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка";
СписокЗапросов.Добавить(ТекстЗапросаТаблицаЭтапыГрафикаОплаты);
КонецПроцедуры
Процедура ТекстЗапросаДанныеДокументаТаблицаРасшифровкаПлатежа(СписокЗапросов)
ТекстЗапросаТаблицаРасшифровкаПлатежа = "ВЫБРАТЬ
| ТаблицаРасшифровкаПлатежа.НомерСтроки КАК НомерСтроки,
| ТаблицаРасшифровкаПлатежа.Ссылка КАК Ссылка,
| ТаблицаРасшифровкаПлатежа.Сумма КАК Сумма,
| ТаблицаРасшифровкаПлатежа.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетов.Организация КАК ОбъектРасчетовОрганизация,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетов.Объект КАК ОбъектРасчетовОбъект,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетов.УникальныйИдентификатор КАК ОбъектРасчетовУникальныйИдентификатор
|ПОМЕСТИТЬ ДанныеДокументаТаблицаРасшифровкаПлатежа
|ИЗ
| Документ.ПриобретениеТоваровУслуг.РасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
|ГДЕ
| ТаблицаРасшифровкаПлатежа.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка";
СписокЗапросов.Добавить(ТекстЗапросаТаблицаРасшифровкаПлатежа);
КонецПроцедуры
Функция АналитикаУчетаНоменклатурыБезНазначенияУпр(Запрос)
ЗапросАналитика = Новый Запрос("
|ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА КАК АналитикаСНазначением
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК Приобретение
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыОрганизаций КАК Движения
| ПО Движения.Регистратор = Приобретение.Ссылка
| И Движения.Период = Приобретение.Дата
| И Движения.Организация = ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
| И Движения.АналитикаУчетаНоменклатуры.Назначение <> ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
|ГДЕ
| Приобретение.Ссылка = &Ссылка
| И Приобретение.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА КАК АналитикаСНазначением
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК Приобретение
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыОрганизаций КАК Движения
| ПО Движения.Регистратор = Приобретение.Ссылка
| И Движения.Период = Приобретение.Дата
|ГДЕ
| Приобретение.Ссылка = &Ссылка
| И Приобретение.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| И Движения.Регистратор ЕСТЬ NULL
|");
ЗапросАналитика.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
РезультатЗапроса = ЗапросАналитика.Выполнить();
Возврат РезультатЗапроса.Пустой();
КонецФункции
Процедура ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос, ДокументОбъект = Неопределено)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос;
ЗапросАналитик.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура КАК Номенклатура,
| ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| ТаблицаТовары.АналитикаУчетаНоменклатурыСерия КАК Серия,
| ТаблицаТовары.АналитикаУчетаНоменклатурыМестоХранения КАК МестоХранения
|ПОМЕСТИТЬ ВТАналитикиКСозданию
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура = Аналитика.Номенклатура
| И ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика = Аналитика.Характеристика
| И ТаблицаТовары.АналитикаУчетаНоменклатурыСерия = Аналитика.Серия
| И ТаблицаТовары.АналитикаУчетаНоменклатурыМестоХранения = Аналитика.МестоХранения
| И (&ПустоеНазначение = Аналитика.Назначение)
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика.СтатьяКалькуляции
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И Аналитика.КлючАналитики ЕСТЬ NULL
| И (НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет))
| И ТаблицаТовары.АналитикаУчетаНоменклатуры <> ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| И НЕ ТаблицаТовары.СписатьНаРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура КАК Номенклатура,
| ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика КАК Характеристика,
| ТаблицаТовары.АналитикаУчетаНоменклатурыНазначение КАК Назначение,
| ТаблицаТовары.АналитикаУчетаНоменклатурыСерия КАК Серия,
| ТаблицаТовары.Склад КАК МестоХранения
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПоСкладам
| ПО АналитикаПоСкладам.Номенклатура = ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура
| И АналитикаПоСкладам.Характеристика = ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика
| И АналитикаПоСкладам.Серия = ТаблицаТовары.АналитикаУчетаНоменклатурыСерия
| И АналитикаПоСкладам.Назначение = ТаблицаТовары.АналитикаУчетаНоменклатурыНазначение
| И АналитикаПоСкладам.СтатьяКалькуляции = ТаблицаТовары.АналитикаУчетаНоменклатуры.СтатьяКалькуляции
| И АналитикаПоСкладам.МестоХранения = ТаблицаТовары.Склад
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И АналитикаПоСкладам.Номенклатура ЕСТЬ NULL
| И ТаблицаТовары.АналитикаУчетаНоменклатуры <> ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| И НЕ ТаблицаТовары.СписатьНаРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура КАК Номенклатура,
| ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика КАК Характеристика,
| ТаблицаТовары.АналитикаУчетаНоменклатурыНазначение КАК Назначение,
| ТаблицаТовары.АналитикаУчетаНоменклатурыСерия КАК Серия,
| ВЫБОР
| КОГДА
| ТаблицаТовары.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки))
| ТОГДА
| ТаблицаТовары.Ссылка.Подразделение
| ИНАЧЕ
| ТаблицаТовары.Подразделение
| КОНЕЦ КАК МестоХранения
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПоПодразделениям
| ПО АналитикаПоПодразделениям.Номенклатура = ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура
| И АналитикаПоПодразделениям.Характеристика = ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика
| И АналитикаПоПодразделениям.Серия = ТаблицаТовары.АналитикаУчетаНоменклатурыСерия
| И АналитикаПоПодразделениям.Назначение = ТаблицаТовары.АналитикаУчетаНоменклатурыНазначение
| И АналитикаПоПодразделениям.СтатьяКалькуляции = ТаблицаТовары.АналитикаУчетаНоменклатуры.СтатьяКалькуляции
| И АналитикаПоПодразделениям.МестоХранения =
| ВЫБОР
| КОГДА
| ТаблицаТовары.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки))
| ТОГДА
| ТаблицаТовары.Ссылка.Подразделение
| ИНАЧЕ
| ТаблицаТовары.Подразделение
| КОНЕЦ
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура.ПрослеживаемыйТовар
| И АналитикаПоПодразделениям.Номенклатура ЕСТЬ NULL
| И ТаблицаТовары.АналитикаУчетаНоменклатуры <> ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| И НЕ ТаблицаТовары.СписатьНаРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура КАК Номенклатура,
| ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика КАК Характеристика,
| ТаблицаТовары.АналитикаУчетаНоменклатурыНазначение КАК Назначение,
| ТаблицаТовары.АналитикаУчетаНоменклатурыСерия КАК Серия,
| ТаблицаСклады.Склад КАК МестоХранения
|ИЗ
| ДанныеДокументаТаблицаВидыЗапасов КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаТовары КАК ТаблицаСклады
| ПО ТаблицаТовары.Ссылка = ТаблицаСклады.Ссылка
| И ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура = ТаблицаСклады.АналитикаУчетаНоменклатурыНоменклатура
| И ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика = ТаблицаСклады.АналитикаУчетаНоменклатурыХарактеристика
| И ТаблицаТовары.АналитикаУчетаНоменклатурыНазначение = ТаблицаСклады.АналитикаУчетаНоменклатурыНазначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПоСкладам
| ПО АналитикаПоСкладам.Номенклатура = ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура
| И АналитикаПоСкладам.Характеристика = ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика
| И АналитикаПоСкладам.Серия = ТаблицаТовары.АналитикаУчетаНоменклатурыСерия
| И АналитикаПоСкладам.Назначение = ТаблицаТовары.АналитикаУчетаНоменклатурыНазначение
| И АналитикаПоСкладам.СтатьяКалькуляции = ТаблицаТовары.АналитикаУчетаНоменклатуры.СтатьяКалькуляции
| И АналитикаПоСкладам.МестоХранения = ТаблицаСклады.Склад
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И &ИспользуетсяДокументПоступлениеТоваров
| И АналитикаПоСкладам.Номенклатура ЕСТЬ NULL
| И ТаблицаТовары.АналитикаУчетаНоменклатуры <> ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| И НЕ ТаблицаТовары.СписатьНаРасходы
|
|;
|
|ВЫБРАТЬ
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.МестоХранения КАК МестоХранения
|ИЗ
| ВТАналитикиКСозданию КАК ТаблицаТовары
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.Назначение,
| ТаблицаТовары.Серия,
| ТаблицаТовары.МестоХранения
|
|;
|
|УНИЧТОЖИТЬ ВТАналитикиКСозданию
|";
Если ДокументОбъект = Неопределено Тогда
ЗапросАналитик.Текст = СтрЗаменить(ЗапросАналитик.Текст, "ДанныеДокументаТаблицаТовары", "Документ.ПриобретениеТоваровУслуг.Товары");
ЗапросАналитик.Текст = СтрЗаменить(ЗапросАналитик.Текст, "ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура");
ЗапросАналитик.Текст = СтрЗаменить(ЗапросАналитик.Текст, "ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика");
ЗапросАналитик.Текст = СтрЗаменить(ЗапросАналитик.Текст, "ТаблицаТовары.АналитикаУчетаНоменклатурыСерия", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия");
ЗапросАналитик.Текст = СтрЗаменить(ЗапросАналитик.Текст, "ТаблицаТовары.АналитикаУчетаНоменклатурыМестоХранения", "ТаблицаТовары.АналитикаУчетаНоменклатуры.МестоХранения");
ЗапросАналитик.Текст = СтрЗаменить(ЗапросАналитик.Текст, "ТаблицаТовары.АналитикаУчетаНоменклатурыНазначение", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение");
ЗапросАналитик.Текст = СтрЗаменить(ЗапросАналитик.Текст, "ТаблицаСклады.АналитикаУчетаНоменклатурыНоменклатура", "ТаблицаСклады.АналитикаУчетаНоменклатуры.Номенклатура");
ЗапросАналитик.Текст = СтрЗаменить(ЗапросАналитик.Текст, "ТаблицаСклады.АналитикаУчетаНоменклатурыХарактеристика", "ТаблицаСклады.АналитикаУчетаНоменклатуры.Характеристика");
ЗапросАналитик.Текст = СтрЗаменить(ЗапросАналитик.Текст, "ТаблицаСклады.АналитикаУчетаНоменклатурыНазначение", "ТаблицаСклады.АналитикаУчетаНоменклатуры.Назначение");
КонецЕсли;
ЗапросАналитик.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("ПустоеНазначение", Справочники.Назначения.ПустаяСсылка());
ЗапросАналитик.УстановитьПараметр("УчитыватьСебестоимостьТоваровПоНазначениям", Запрос.Параметры.УчитыватьСебестоимостьТоваровПоНазначениям);
ЗапросАналитик.УстановитьПараметр("ХозяйственнаяОперация", Запрос.Параметры.ХозяйственнаяОперация);
ЗапросАналитик.УстановитьПараметр("ИспользоватьУчетПрослеживаемыхИмпортныхТоваров",
Запрос.Параметры.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров);
ЗапросАналитик.УстановитьПараметр("ИспользуетсяДокументПоступлениеТоваров", Запрос.Параметры.ИспользуетсяДокументПоступлениеТоваров);
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиУчетаПоПартнерам(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаПартнеровИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросПоАналитикам = Новый Запрос;
ЗапросПоАналитикам.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросПоАналитикам.Текст = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| РасшифровкаПлатежа.ОбъектРасчетов КАК ОбъектРасчетов,
| ЕСТЬNULL(РасшифровкаПлатежа.ОбъектРасчетов.Договор,ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)) КАК Договор,
| ЕСТЬNULL(РасшифровкаПлатежа.ОбъектРасчетов.НаправлениеДеятельности,ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) КАК НаправлениеДеятельности
|ПОМЕСТИТЬ ТаблицаОбъектовРасчетов
|ИЗ
| Документ.ПриобретениеТоваровУслуг.РасшифровкаПлатежа КАК РасшифровкаПлатежа
|
|ГДЕ
| РасшифровкаПлатежа.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектРасчетов
|;
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Организация КАК Организация,
| &Договор КАК Договор,
| &Контрагент КАК Контрагент,
| &Партнер КАК Партнер,
| Этапы.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности
|ИЗ
| Документ.ПриобретениеТоваровУслуг.ЭтапыГрафикаОплаты КАК Этапы
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО
| &Организация = Аналитика.Организация
| И &Контрагент = Аналитика.Контрагент
| И &Партнер = Аналитика.Партнер
| И &Договор = Аналитика.Договор
| И Этапы.ОбъектРасчетов.НаправлениеДеятельности = Аналитика.НаправлениеДеятельности
|ГДЕ
| Этапы.Ссылка = &Ссылка
| И Аналитика.КлючАналитики ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &ОрганизацияУпр КАК Организация,
| ТаблицаОбъектовРасчетов.Договор КАК Договор,
| &Контрагент КАК Контрагент,
| &Партнер КАК Партнер,
| ТаблицаОбъектовРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности
|ИЗ
| ТаблицаОбъектовРасчетов КАК ТаблицаОбъектовРасчетов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО
| &ОрганизацияУпр = Аналитика.Организация
| И &Контрагент = Аналитика.Контрагент
| И &Партнер = Аналитика.Партнер
| И ТаблицаОбъектовРасчетов.Договор = Аналитика.Договор
| И ТаблицаОбъектовРасчетов.НаправлениеДеятельности = Аналитика.НаправлениеДеятельности
|ГДЕ
| Аналитика.КлючАналитики ЕСТЬ NULL
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
|";
ЗапросПоАналитикам.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросПоАналитикам.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
ЗапросПоАналитикам.УстановитьПараметр("ОрганизацияУпр", Справочники.Организации.УправленческаяОрганизация);
ЗапросПоАналитикам.УстановитьПараметр("Контрагент", Запрос.Параметры.Контрагент);
ЗапросПоАналитикам.УстановитьПараметр("Партнер", Запрос.Параметры.Партнер);
ЗапросПоАналитикам.УстановитьПараметр("Договор", Запрос.Параметры.Договор);
ЗапросПоАналитикам.УстановитьПараметр("НаправлениеДеятельности", Запрос.Параметры.НаправлениеДеятельности);
ЗапросПоАналитикам.УстановитьПараметр("РасчетыПоЗаказам", Запрос.Параметры.РасчетыПоЗаказам);
ЗапросПоАналитикам.УстановитьПараметр("ХозяйственнаяОперация", Запрос.Параметры.ХозяйственнаяОперация);
Выборка = ЗапросПоАналитикам.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаПоПартнерам.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаПартнеровИнициализированы", Истина);
КонецПроцедуры
Процедура УстановитьПараметрЗапросаНалогообложениеОрганизации(Запрос)
Если Запрос.Параметры.Свойство("НалогообложениеОрганизации") Тогда
Возврат;
КонецЕсли;
ПараметрыУчетаПоОрганизации = УчетНДСУП.ПараметрыУчетаПоОрганизации(Запрос.Параметры.Организация, Запрос.Параметры.Период);
Запрос.УстановитьПараметр("НалогообложениеОрганизации", ПараметрыУчетаПоОрганизации.ОсновноеНалогообложениеНДСПродажи);
КонецПроцедуры
Функция ТекстЗапросаТаблицаЗаказыПоставщикам(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект = Неопределено)
ИмяРегистра = "ЗаказыПоставщикам";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если ДокументОбъект = Неопределено ИЛИ ДокументОбъект.ПоступлениеПоЗаказам Тогда
ТекстЗапроса = "
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.Дата КАК Период,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ВЫБОР КОГДА ТаблицаТовары.НоменклатураТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)) ТОГДА
| ТаблицаТовары.Склад
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| КОНЕЦ КАК Склад,
| ТаблицаТовары.Количество КАК Заказано,
| ТаблицаТовары.Количество КАК КОформлению
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаТовары.Ссылка
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ДанныеДокумента.ПоступлениеПоЗаказам
| И ТаблицаТовары.КодСтроки <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Дата КАК Период,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ВЫБОР КОГДА ТаблицаТовары.НоменклатураТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)) ТОГДА
| ТаблицаТовары.Склад
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| КОНЕЦ КАК Склад,
| 0 КАК Заказано,
| ТаблицаТовары.Количество КАК КОформлению
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаТовары.Ссылка
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.КодСтроки = 0
| И ДанныеДокумента.ПоступлениеПоЗаказам
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.Дата КАК Период,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ВЫБОР КОГДА ТаблицаТовары.НоменклатураТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)) ТОГДА
| ТаблицаТовары.Склад
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| КОНЕЦ КАК Склад,
| 0 КАК Заказано,
| ТаблицаТовары.Количество КАК КОформлению
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаТовары.Ссылка
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.КодСтроки = 0
| И ДанныеДокумента.ПоступлениеПоЗаказам
|
|";
Иначе
Возврат "";
КонецЕсли;
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаШапка", "Документ.ПриобретениеТоваровУслуг");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаТовары", "Документ.ПриобретениеТоваровУслуг.Товары");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.НоменклатураТипНоменклатуры", "ТаблицаТовары.Номенклатура.ТипНоменклатуры");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ЗапланироватьПоступлениеТоваров(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
Если НЕ (ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаДокумента =
"ВЫБРАТЬ
| ИсточникДанных.Ссылка КАК Ссылка,
| ИсточникДанных.Ссылка КАК Накладная,
| ЛОЖЬ КАК Исправление,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ИсточникДанных.ЗаказПоставщику КАК Заказ,
| ДанныеДокументаШапка.Договор КАК Договор,
| ДанныеДокументаШапка.Соглашение КАК Соглашение,
| ДанныеДокументаШапка.ВариантПриемкиТоваров КАК ВариантПриемкиТоваров,
|
| ВЫБОР КОГДА ДанныеДокументаШапка.ДатаПоступления <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА
| ДанныеДокументаШапка.ДатаПоступления
| ИНАЧЕ
| ДанныеДокументаШапка.Дата
| КОНЕЦ КАК Дата,
|
| ИсточникДанных.Номенклатура КАК Номенклатура,
| ИсточникДанных.Характеристика КАК Характеристика,
| ИсточникДанных.Назначение КАК Назначение,
| ИсточникДанных.Серия КАК Серия,
| ИсточникДанных.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ДанныеДокументаШапка.ПоступлениеПоЗаказам
| И ИсточникДанных.КодСтроки = 0 КАК СверхЗаказа,
| ИсточникДанных.Склад КАК Склад,
| ВЫБОР
| КОГДА ДанныеДокументаШапка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА ДанныеДокументаШапка.ПодотчетноеЛицо
| ИНАЧЕ ДанныеДокументаШапка.Партнер
| КОНЕЦ КАК Отправитель,
| ДанныеДокументаШапка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИсточникДанных.Количество КАК Количество,
| ИСТИНА КАК ЭтоНакладная,
| ДанныеДокументаШапка.ПоступлениеПоЗаказам КАК ПоступлениеПоЗаказам
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ИсточникДанных
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО ИсточникДанных.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| НЕ ИсточникДанных.СписатьНаРасходы
| И ИсточникДанных.Количество > 0";
СкладыСервер.ЗапланироватьПоступлениеТоваров(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДокумента,, Истина);
КонецПроцедуры
Процедура ОформитьПоступлениеТоваровПоОдноходовке(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
Если НЕ ((ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет) Тогда
Возврат;
КонецЕсли;
РегистрТоварыНаСкладах = "ТоварыНаСкладах";
РегистрТоварыКПоступлению = "ТоварыКПоступлению";
ЕстьРегистрТоварыНаСкладах = Ложь;
ЕстьРегистрТоварыКПоступлению = Ложь;
Если ЗначениеЗаполнено(Регистры) Тогда
Если ТипЗнч(Регистры) = Тип("Строка")
И Регистры = РегистрТоварыНаСкладах Тогда
ЕстьРегистрТоварыНаСкладах = Истина;
КонецЕсли;
Если ТипЗнч(Регистры) = Тип("Строка")
И Регистры = РегистрТоварыКПоступлению Тогда
ЕстьРегистрТоварыКПоступлению = Истина;
КонецЕсли;
Если ТипЗнч(Регистры) = Тип("Структура")
И Регистры.Свойство(РегистрТоварыНаСкладах) Тогда
ЕстьРегистрТоварыНаСкладах = Истина;
КонецЕсли;
Если ТипЗнч(Регистры) = Тип("Структура")
И Регистры.Свойство(РегистрТоварыКПоступлению) Тогда
ЕстьРегистрТоварыКПоступлению = Истина;
КонецЕсли;
КонецЕсли;
ТекстЗапросаДокумента =
"ВЫБРАТЬ
| ИсточникДанных.Ссылка КАК Ссылка,
| ИсточникДанных.Ссылка КАК Накладная,
| ЛОЖЬ КАК Исправление,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ИсточникДанных.ЗаказПоставщику КАК Заказ,
| ДанныеДокументаШапка.Договор КАК Договор,
| ДанныеДокументаШапка.Соглашение КАК Соглашение,
| ДанныеДокументаШапка.ВариантПриемкиТоваров КАК ВариантПриемкиТоваров,
| ДанныеДокументаШапка.Дата КАК Дата,
| ИсточникДанных.Номенклатура КАК Номенклатура,
| ИсточникДанных.Характеристика КАК Характеристика,
| ИсточникДанных.Назначение КАК Назначение,
| ИсточникДанных.Серия КАК Серия,
| ИсточникДанных.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ДанныеДокументаШапка.ПоступлениеПоЗаказам
| И ИсточникДанных.КодСтроки = 0 КАК СверхЗаказа,
| ИсточникДанных.Склад КАК Склад,
| ВЫБОР
| КОГДА ДанныеДокументаШапка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА ДанныеДокументаШапка.ПодотчетноеЛицо
| ИНАЧЕ ДанныеДокументаШапка.Партнер
| КОНЕЦ КАК Отправитель,
| ДанныеДокументаШапка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИсточникДанных.Количество КАК Количество,
| ИСТИНА КАК ЭтоНакладная,
| ДанныеДокументаШапка.ПоступлениеПоЗаказам КАК ПоступлениеПоЗаказам,
| ИсточникДанных.Количество < 0 КАК ЭтоКорректировкаВнутриНакладной
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ИсточникДанных
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО ИсточникДанных.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| НЕ ИсточникДанных.СписатьНаРасходы
|
|";
ТекущийОбъектМетаданных = Метаданные.Документы.ПриобретениеТоваровУслуг;
Если ЕстьРегистрТоварыНаСкладах Тогда
СкладыСервер.ОформитьПоступлениеТоваровПоОдноходовке(Запрос,
ТекстыЗапроса,
РегистрТоварыНаСкладах,
ТекстЗапросаДокумента,
ТекущийОбъектМетаданных,
"Серии");
КонецЕсли;
ТекстЗапросаДокумента =
"ВЫБРАТЬ
| ИсточникДанных.Ссылка КАК Ссылка,
| ИсточникДанных.Ссылка КАК Накладная,
| ЛОЖЬ КАК Исправление,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ИсточникДанных.ЗаказПоставщику КАК Заказ,
| ДанныеДокументаШапка.Договор КАК Договор,
| ДанныеДокументаШапка.Соглашение КАК Соглашение,
| ДанныеДокументаШапка.ВариантПриемкиТоваров КАК ВариантПриемкиТоваров,
| ДанныеДокументаШапка.Дата КАК Дата,
| ИсточникДанных.Номенклатура КАК Номенклатура,
| ИсточникДанных.Характеристика КАК Характеристика,
| ИсточникДанных.Назначение КАК Назначение,
| ИсточникДанных.Серия КАК Серия,
| ИсточникДанных.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ДанныеДокументаШапка.ПоступлениеПоЗаказам
| И ИсточникДанных.КодСтроки = 0 КАК СверхЗаказа,
| ИсточникДанных.Склад КАК Склад,
| ВЫБОР
| КОГДА ДанныеДокументаШапка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА ДанныеДокументаШапка.ПодотчетноеЛицо
| ИНАЧЕ ДанныеДокументаШапка.Партнер
| КОНЕЦ КАК Отправитель,
| ДанныеДокументаШапка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИсточникДанных.Количество КАК Количество,
| ИСТИНА КАК ЭтоНакладная,
| ДанныеДокументаШапка.ПоступлениеПоЗаказам КАК ПоступлениеПоЗаказам,
| ЛОЖЬ КАК ЭтоКорректировкаВнутриНакладной
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ИсточникДанных
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО ИсточникДанных.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| НЕ ИсточникДанных.СписатьНаРасходы
| И ИсточникДанных.Количество > 0
|";
ТекущийОбъектМетаданных = Метаданные.Документы.ПриобретениеТоваровУслуг;
Если ЕстьРегистрТоварыКПоступлению Тогда
СкладыСервер.ОформитьПоступлениеТоваровПоОдноходовке(Запрос,
ТекстыЗапроса,
РегистрТоварыКПоступлению,
ТекстЗапросаДокумента,
ТекущийОбъектМетаданных,
"Серии");
КонецЕсли;
КонецПроцедуры
Процедура ОформитьПриобретениеТоваровПоДвухходовке(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
Если НЕ ((ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаДокумента =
"ВЫБРАТЬ
| ИсточникДанных.Ссылка КАК Ссылка,
| ИсточникДанных.Ссылка КАК Накладная,
| ЛОЖЬ КАК Исправление,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ИсточникДанных.ЗаказПоставщику КАК Заказ,
| ДанныеДокументаШапка.Договор КАК Договор,
| ДанныеДокументаШапка.Соглашение КАК Соглашение,
| ДанныеДокументаШапка.ВариантПриемкиТоваров КАК ВариантПриемкиТоваров,
| ДанныеДокументаШапка.Дата КАК Дата,
|
| ВЫБОР КОГДА ДанныеДокументаШапка.ДатаПоступления <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА
| ДанныеДокументаШапка.ДатаПоступления
| ИНАЧЕ
| ДанныеДокументаШапка.Дата
| КОНЕЦ КАК ДатаПланируемогоПоступления,
|
| ИсточникДанных.Номенклатура КАК Номенклатура,
| ИсточникДанных.Характеристика КАК Характеристика,
| ИсточникДанных.Назначение КАК Назначение,
| ИсточникДанных.Серия КАК Серия,
| ИсточникДанных.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ДанныеДокументаШапка.ПоступлениеПоЗаказам
| И ИсточникДанных.КодСтроки = 0 КАК СверхЗаказа,
| ИсточникДанных.Склад КАК Склад,
| ВЫБОР
| КОГДА ДанныеДокументаШапка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА ДанныеДокументаШапка.ПодотчетноеЛицо
| ИНАЧЕ ДанныеДокументаШапка.Партнер
| КОНЕЦ КАК Отправитель,
| ДанныеДокументаШапка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИсточникДанных.Количество КАК Количество,
| ИСТИНА КАК ЭтоНакладная,
| ДанныеДокументаШапка.ПоступлениеПоЗаказам КАК ПоступлениеПоЗаказам
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ИсточникДанных
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО ИсточникДанных.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| НЕ ИсточникДанных.СписатьНаРасходы
|
|";
СкладыСервер.ОформитьПриобретениеТоваровПоДвухходовке(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДокумента);
КонецПроцедуры
Процедура ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
|
| ВЫБОР
| КОГДА ТабЧасть.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА ТабЧасть.Склад
| ИНАЧЕ ТабЧасть.Подразделение
| КОНЕЦ КАК Склад,
|
| ТабЧасть.Назначение КАК Назначение,
| ТабЧасть.Количество КАК Количество,
|
| ТабЧасть.Ссылка.ПоступлениеПоЗаказам И ТабЧасть.КодСтроки <> 0 КАК ПоГрафику,
|
| ВЫБОР
| КОГДА ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки))
| ИЛИ ТабЧасть.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И ТабЧасть.Склад.ИспользоватьОрдернуюСхемуПриПоступлении
| И ТабЧасть.Ссылка.Дата >= ТабЧасть.Склад.ДатаНачалаОрдернойСхемыПриПоступлении
| ИЛИ ТабЧасть.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути))
| ТОГДА
| ВЫБОР
| КОГДА
| ТабЧасть.Ссылка.ВариантПриемкиТоваров В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоЗаказамИНакладным),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.МожетПроисходитьБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоНакладным))
| ТОГДА ТабЧасть.Ссылка.Соглашение
| КОГДА ТабЧасть.Ссылка.ВариантПриемкиТоваров В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеЗаказовИлиНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеНакладных))
| ТОГДА ТабЧасть.Ссылка.Договор
| ИНАЧЕ ТабЧасть.ЗаказПоставщику
| КОНЕЦ
| ИНАЧЕ ТабЧасть.ЗаказПоставщику
| КОНЕЦ КАК РаспоряжениеВГрафике
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ТабЧасть
|ГДЕ
| ТабЧасть.Ссылка.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| И НЕ ТабЧасть.СписатьНаРасходы
| И (ТабЧасть.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И (НЕ ТабЧасть.Склад.ИспользоватьОрдернуюСхемуПриПоступлении
| ИЛИ ТабЧасть.Склад.ДатаНачалаОрдернойСхемыПриПоступлении > ТабЧасть.Ссылка.Дата)
| И НЕ ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути))
| ИЛИ ТабЧасть.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И ТабЧасть.Назначение.ДвиженияПоСкладскимРегистрам = ЛОЖЬ
| ИЛИ ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ (ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки))
| И ЕСТЬNULL(ТабЧасть.Ссылка.Договор.ВариантОформленияЗакупок = ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваровИУслуг),
| ЛОЖЬ)))";
РаспределениеЗапасовДвижения.ПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть);
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ТабЧасть.Склад КАК Склад,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| -ТабЧасть.Количество КАК Количество,
| ЛОЖЬ КАК ПоГрафику,
| НЕОПРЕДЕЛЕНО КАК РаспоряжениеВГрафике
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ТабЧасть
|ГДЕ
| ТабЧасть.Ссылка.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| И НЕ ТабЧасть.СписатьНаРасходы
| И ТабЧасть.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТабЧасть.СписатьНаРасходы
| И ТабЧасть.Назначение.ДвиженияПоСкладскимРегистрам = ЛОЖЬ
| И (ТабЧасть.Склад.ИспользоватьОрдернуюСхемуПриПоступлении
| И ТабЧасть.Склад.ДатаНачалаОрдернойСхемыПриПоступлении <= ТабЧасть.Ссылка.Дата
| ИЛИ ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)))";
РаспределениеЗапасовДвижения.ПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть, Неопределено, Ложь);
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ТабЧасть.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА ТабЧасть.Склад
| ИНАЧЕ ТабЧасть.Подразделение
| КОНЕЦ КАК Склад,
|
| ВЫБОР КОГДА ТабЧасть.Назначение.ДвиженияПоСкладскимРегистрам = ЛОЖЬ ТОГДА
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| ИНАЧЕ
| ТабЧасть.Назначение
| КОНЕЦ КАК Назначение,
|
| ТабЧасть.Количество КАК Количество,
|
| ВЫБОР
| КОГДА
| ТабЧасть.Ссылка.ВариантПриемкиТоваров В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоЗаказамИНакладным),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.МожетПроисходитьБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоНакладным))
| ТОГДА ТабЧасть.Ссылка.Соглашение
| КОГДА ТабЧасть.Ссылка.ВариантПриемкиТоваров В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеЗаказовИлиНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеНакладных))
| ТОГДА ТабЧасть.Ссылка.Договор
| КОГДА ТабЧасть.Ссылка.ВариантПриемкиТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.РазделенаТолькоПоНакладным)
| ИЛИ НЕ ТабЧасть.Ссылка.ПоступлениеПоЗаказам
| ТОГДА ТабЧасть.Ссылка
| ИНАЧЕ ТабЧасть.ЗаказПоставщику
| КОНЕЦ КАК Заказ,
|
| ВЫБОР КОГДА ТабЧасть.Ссылка.ДатаПоступления <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА
| ТабЧасть.Ссылка.ДатаПоступления
| ИНАЧЕ
| ТабЧасть.Ссылка.Дата
| КОНЕЦ КАК ДатаПоступления,
|
| ИСТИНА КАК ДоступенДляРасхода,
| ТабЧасть.Ссылка.ПоступлениеПоЗаказам И ТабЧасть.КодСтроки <> 0 КАК ПоГрафику,
|
| ВЫБОР
| КОГДА
| ТабЧасть.Ссылка.ВариантПриемкиТоваров В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоЗаказамИНакладным),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.МожетПроисходитьБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоНакладным))
| ТОГДА ТабЧасть.Ссылка.Соглашение
| КОГДА ТабЧасть.Ссылка.ВариантПриемкиТоваров В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеЗаказовИлиНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеНакладных))
| ТОГДА ТабЧасть.Ссылка.Договор
| ИНАЧЕ ТабЧасть.ЗаказПоставщику
| КОНЕЦ КАК РаспоряжениеВГрафике,
|
| ТабЧасть.Количество КАК КоличествоВГрафике
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ТабЧасть
|ГДЕ
| ТабЧасть.Ссылка.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| И НЕ ТабЧасть.СписатьНаРасходы
| И (ТабЧасть.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И (ТабЧасть.Ссылка.ВариантПриемкиТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.РазделенаТолькоПоНакладным)
| ИЛИ НЕ ТабЧасть.Ссылка.ПоступлениеПоЗаказам
| ИЛИ ТабЧасть.КодСтроки = 0)
| И (ТабЧасть.Склад.ИспользоватьОрдернуюСхемуПриПоступлении
| И ТабЧасть.Склад.ДатаНачалаОрдернойСхемыПриПоступлении <= ТабЧасть.Ссылка.Дата
| ИЛИ ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)))
| ИЛИ ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТабЧасть.Ссылка.ВариантПриемкиТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.РазделенаТолькоПоНакладным)
| И ТабЧасть.Ссылка.ПоступлениеПоЗаказам
| И ТабЧасть.КодСтроки = 0
| И ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки))
| И ЕСТЬNULL(ТабЧасть.Ссылка.Договор.ВариантОформленияЗакупок = ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваровИУслуг),
| ЛОЖЬ))";
РаспределениеЗапасовДвижения.ЗапланироватьПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть);
КонецПроцедуры
Функция ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ДвиженияСерийТоваров";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ (ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаСерии.Номенклатура КАК Номенклатура,
| ТаблицаСерии.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаСерии.НазначениеДвиженияПоСкладскимРегистрам, ЛОЖЬ)
| ТОГДА ТаблицаСерии.Назначение
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| КОНЕЦ КАК Назначение,
| ТаблицаСерии.Серия КАК Серия,
| ТаблицаСерии.Количество КАК Количество,
| ТаблицаСерии.Склад КАК Получатель,
| ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка) КАК ПомещениеПолучателя,
| &Партнер КАК Отправитель,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаОтПоставщика) КАК СкладскаяОперация,
| &Ссылка КАК Документ,
| &Период КАК Период,
| &Ссылка КАК Регистратор,
| ВЫБОР
| КОГДА (НЕ ТаблицаСерии.СкладИспользоватьОрдернуюСхемуПриПоступлении
| ИЛИ &Период < ТаблицаСерии.СкладДатаНачалаОрдернойСхемыПриПоступлении)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоСкладскоеДвижение
|ИЗ
| ДанныеДокументаТаблицаСерии КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Количество <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаСерии.Номенклатура,
| ТаблицаСерии.Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаСерии.НазначениеДвиженияПоСкладскимРегистрам, ЛОЖЬ)
| ТОГДА ТаблицаСерии.Назначение
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| КОНЕЦ,
| ТаблицаСерии.Серия,
| ТаблицаСерии.Количество,
| ТаблицаСерии.Склад,
| ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка),
| &Партнер,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаОтПоставщика),
| &Ссылка,
| &Период,
| &Ссылка,
| ВЫБОР
| КОГДА (НЕ ТаблицаСерии.СкладИспользоватьОрдернуюСхемуПриПоступлении
| ИЛИ &Период < ТаблицаСерии.СкладДатаНачалаОрдернойСхемыПриПоступлении)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПринятаяВозвратнаяТара(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ПринятаяВозвратнаяТара";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ (ДокументОбъект.ВернутьМногооборотнуюТару) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.СуммаСНДС КАК Сумма,
| &Партнер КАК Партнер,
| &Ссылка КАК ДокументПоступления,
| &ТребуетсяЗалогЗаТару КАК ПредусмотренЗалог,
|
| ВЫБОР
| КОГДА &ТребуетсяЗалогЗаТару
| ТОГДА &ИдентификаторНеиспользуемойФинЗаписи
| ИНАЧЕ ТаблицаТовары.ИдентификаторФинЗаписи
| КОНЕЦ КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| втТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ТаблицаТовары.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ДатыПоступленияТоваровОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ХозяйственныеОперацииЗакупкаПоИмпорту = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
Если НЕ (ХозяйственныеОперацииЗакупкаПоИмпорту.Найти(ДокументОбъект.ХозяйственнаяОперация) = Неопределено) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Период КАК ДатаПоступления,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДатыПоступленияТоваровОрганизаций КАК ПоступленияТоваров
| ПО ТаблицаТовары.ВидЗапасов = ПоступленияТоваров.ВидЗапасов
| И ТаблицаТовары.Номенклатура = ПоступленияТоваров.Номенклатура
| И ТаблицаТовары.Характеристика = ПоступленияТоваров.Характеристика
| И ТаблицаТовары.Серия = ПоступленияТоваров.Серия
| И ТаблицаТовары.Назначение = ПоступленияТоваров.Назначение
| И ТаблицаТовары.НомерГТД = ПоступленияТоваров.НомерГТД
|
|ГДЕ
| (ПоступленияТоваров.ДатаПоступления ЕСТЬ NULL
| ИЛИ ПоступленияТоваров.ДатаПоступления < &Период)
| И НЕ ТаблицаТовары.СписатьНаРасходы
| И (
| (НЕ &ИспользуетсяДокументПоступлениеТоваров
| И (НЕ &ХозяйственнаяОперация В(&ХозОперацииЗакупкаВСтранахЕАЭС)
| ИЛИ НЕ ЕСТЬNULL(ТаблицаТовары.ПрослеживаемыйТовар, ЛОЖЬ))
| И ТаблицаТовары.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ))
| ИЛИ (&ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаТовары.Номенклатура.ПрослеживаемыйТовар))
|
|УПОРЯДОЧИТЬ ПО
| ТаблицаТовары.ВидЗапасов,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.Серия,
| ТаблицаТовары.Назначение,
| ТаблицаТовары.НомерГТД
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТоварыОрганизаций(Запрос, ТекстыЗапроса, ДокументОбъект = Неопределено) Экспорт
ИмяТаблицы = "ВтТоварыОрганизаций";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасовДляСоединенияАналитик", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасовДляСоединенияАналитик(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТоварыДляСоединенияАналитик", ТекстыЗапроса) Тогда
ТекстЗапросаВтТоварыДляСоединенияАналитик(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.ВидЗапасов.ТипЗапасов КАК ВидЗапасовТипЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.НомерГТД.ТипНомераГТД КАК НомерГТДТипНомераГТД,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ИЛИ &ХозяйственнаяОперация В (&ХозОперацииЗакупкаВСтранахЕАЭС)
| ТОГДА 0
| ИНАЧЕ ТаблицаТовары.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ИСТИНА КАК Первичное
|ПОМЕСТИТЬ ВтТоварыОрганизаций
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.НоменклатураТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТаблицаТовары.СписатьНаРасходы
| И НЕ &ХозяйственнаяОперация В (&ХозОперацииЗакупкаПоИмпорту)
| И НЕ &ИспользуетсяДокументПоступлениеТоваров
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.ВидЗапасов.ТипЗапасов КАК ВидЗапасовТипЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.НомерГТД.ТипНомераГТД КАК НомерГТДТипНомераГТД,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ИЛИ &ХозяйственнаяОперация В (&ХозОперацииЗакупкаВСтранахЕАЭС)
| ТОГДА 0
| ИНАЧЕ ТаблицаТовары.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| АналитикаПоПодразделениям.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ИСТИНА КАК Первичное
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПоПодразделениям
| ПО АналитикаПоПодразделениям.Номенклатура = ТаблицаТовары.Номенклатура
| И АналитикаПоПодразделениям.Характеристика = ТаблицаТовары.Характеристика
| И АналитикаПоПодразделениям.Серия = ТаблицаТовары.Серия
| И АналитикаПоПодразделениям.Назначение = ТаблицаТовары.Назначение
| И АналитикаПоПодразделениям.СтатьяКалькуляции = ТаблицаТовары.АналитикаУчетаНоменклатуры.СтатьяКалькуляции
| И АналитикаПоПодразделениям.МестоХранения =
| ВЫБОР
| КОГДА &ИспользуетсяОперацияНеотфактуровка
| ТОГДА
| ТаблицаТовары.Ссылка.Подразделение
| ИНАЧЕ
| ТаблицаТовары.Подразделение
| КОНЕЦ
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.НоменклатураТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатураПрослеживаемыйТовар
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И НЕ ТаблицаТовары.СписатьНаРасходы
| И НЕ &ХозяйственнаяОперация В (&ХозОперацииЗакупкаПоИмпорту)
| И (НЕ &ИспользуетсяДокументПоступлениеТоваров
| ИЛИ &ИспользуетсяДокументПоступлениеТоваров
| И &ИспользуетсяОперацияНеотфактуровка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| &Период,
| ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация),
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.ВидЗапасов,
| ТаблицаТовары.ВидЗапасов.ТипЗапасов,
| ТаблицаТовары.НомерГТД,
| ТаблицаТовары.НомерГТД.ТипНомераГТД,
| ТаблицаТовары.СтавкаНДС,
| ТаблицаТовары.Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| (ВЫБОР
| КОГДА &АналитикаУчетаНоменклатурыБезНазначенияУпр
| ТОГДА АналитикаБезНазначения.КлючАналитики
| ИНАЧЕ ТаблицаТовары.КлючАналитики КОНЕЦ) КАК АналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация) КАК ОрганизацияОтгрузки,
| ЛОЖЬ КАК Первичное
|ИЗ
| ВтВидыЗапасовДляСоединенияАналитик КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ТаблицаТовары.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ТаблицаТовары.Характеристика = АналитикаБезНазначения.Характеристика
| И ТаблицаТовары.Серия = АналитикаБезНазначения.Серия
| И ТаблицаТовары.МестоХранения = АналитикаБезНазначения.МестоХранения
| И (ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение)
| И (ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаБезНазначения.СтатьяКалькуляции)
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| И НЕ &ИспользуетсяДокументПоступлениеТоваров
| И НЕ ТаблицаТовары.СписатьНаРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| &Период,
| &Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура,
| ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика,
| ТаблицаТовары.ВидЗапасов,
| ТаблицаТовары.ВидЗапасов.ТипЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.ПустаяСсылка),
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.Количество,
| 0 КАК КоличествоПоРНПТ,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ИСТИНА КАК Первичное
|ИЗ
| ДанныеДокументаТаблицаВидыЗапасов КАК ТаблицаТовары
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И &ИспользуетсяДокументПоступлениеТоваров
| И НЕ &ИспользуетсяОперацияИмпортаТоварыВПутиИНеотфактуровка
| И НЕ ТаблицаТовары.СписатьНаРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| &Период,
| &Организация,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ВидыЗапасовСкладские.Ссылка,
| ВидыЗапасовСкладские.ТипЗапасов,
| ТаблицаТовары.НомерГТД,
| ТаблицаТовары.НомерГТД.ТипНомераГТД,
| ТаблицаТовары.СтавкаНДС,
| СУММА(ВЫБОР
| КОГДА ТоварыДокумента.Количество < ТаблицаТовары.Количество
| ТОГДА ТоварыДокумента.Количество
| ИНАЧЕ ТаблицаТовары.Количество
| КОНЕЦ),
| СУММА(ВЫБОР
| КОГДА ТоварыДокумента.КоличествоПоРНПТ < ТаблицаТовары.КоличествоПоРНПТ
| ТОГДА ТоварыДокумента.КоличествоПоРНПТ
| ИНАЧЕ ТаблицаТовары.КоличествоПоРНПТ
| КОНЕЦ) КАК КоличествоПоРНПТ,
| Аналитика.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ИСТИНА КАК Первичное
|ИЗ
| ВтВидыЗапасовДляСоединенияАналитик КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТоварыДляСоединенияАналитик КАК ТоварыДокумента
| ПО ТаблицаТовары.Ссылка = ТоварыДокумента.Ссылка
| И ТаблицаТовары.ЗаказПоставщику = ТоварыДокумента.ЗаказПоставщику
| И ТаблицаТовары.КлючАналитики.Номенклатура = ТоварыДокумента.АналитикаУчетаНоменклатуры.Номенклатура
| И ТаблицаТовары.КлючАналитики.Характеристика = ТоварыДокумента.АналитикаУчетаНоменклатуры.Характеристика
| И ТаблицаТовары.КлючАналитики.Назначение = ТоварыДокумента.АналитикаУчетаНоменклатуры.Назначение
| И (ТаблицаТовары.КлючАналитики.МестоХранения = ТоварыДокумента.АналитикаУчетаНоменклатуры.МестоХранения
| ИЛИ (&Договор = ТоварыДокумента.АналитикаУчетаНоменклатуры.МестоХранения
| И &ИспользуетсяДокументПоступлениеТоваров
| И НЕ &ИспользуетсяОперацияНеотфактуровка)
| )
| И (ТаблицаТовары.КлючАналитики.Серия = ТоварыДокумента.АналитикаУчетаНоменклатуры.Серия
| ИЛИ ТоварыДокумента.АналитикаУчетаНоменклатуры.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка))
| И ТаблицаТовары.НомерГТД = ТоварыДокумента.НомерГТД
| И ТаблицаТовары.СтавкаНДС = ТоварыДокумента.СтавкаНДС
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.Номенклатура = Аналитика.Номенклатура
| И ТаблицаТовары.Характеристика = Аналитика.Характеристика
| И ТаблицаТовары.Серия = Аналитика.Серия
| И ТаблицаТовары.Назначение = Аналитика.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = Аналитика.СтатьяКалькуляции
| И ТоварыДокумента.Склад = Аналитика.МестоХранения
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовСкладские
| ПО ВидыЗапасовСкладские.Организация = ТаблицаТовары.ВидЗапасовОрганизация
| И ВидыЗапасовСкладские.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ВидыЗапасовСкладские.ВладелецТовара = ТаблицаТовары.ВидЗапасовВладелецТовара
| И ВидыЗапасовСкладские.НалогообложениеНДС = ТаблицаТовары.ВидЗапасовНалогообложениеНДС
| И ВидыЗапасовСкладские.ГруппаФинансовогоУчета = ТаблицаТовары.ВидЗапасовГруппаФинансовогоУчета
| И ВидыЗапасовСкладские.ГруппаПродукции = ТаблицаТовары.ВидЗапасовГруппаПродукции
| И ВидыЗапасовСкладские.ВидЦены = ТаблицаТовары.ВидЗапасовВидЦены
| И ВидыЗапасовСкладские.ОблагаетсяАкцизом = ТаблицаТовары.ВидЗапасовОблагаетсяАкцизом
| И НЕ ВидыЗапасовСкладские.ЭтоДубль
| И НЕ ВидыЗапасовСкладские.Устаревший
| И НЕ ВидыЗапасовСкладские.ПометкаУдаления
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И (НЕ &ХозяйственнаяОперация В (&ХозОперацииЗакупкаВСтранахЕАЭС)
| ИЛИ НЕ ЕСТЬNULL(ТаблицаТовары.ПрослеживаемыйТовар, ЛОЖЬ))
| И &ИспользуетсяДокументПоступлениеТоваров
| И ТаблицаТовары.ВестиУчетПоГТД
| И НЕ ТаблицаТовары.СписатьНаРасходы
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ВидыЗапасовСкладские.Ссылка,
| ТаблицаТовары.НомерГТД,
| ТаблицаТовары.НомерГТД.ТипНомераГТД,
| ТаблицаТовары.СтавкаНДС,
| Аналитика.КлючАналитики
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| &Период,
| &Организация,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ВидыЗапасовСкладские.Ссылка,
| ВидыЗапасовСкладские.ТипЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.ПустаяСсылка),
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| СУММА(ВЫБОР
| КОГДА ТоварыДокумента.Количество < ТаблицаТовары.Количество
| ТОГДА ТоварыДокумента.Количество
| ИНАЧЕ ТаблицаТовары.Количество
| КОНЕЦ),
| 0 КАК КоличествоПоРНПТ,
| Аналитика.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ИСТИНА КАК Первичное
|ИЗ
| ВтВидыЗапасовДляСоединенияАналитик КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТоварыДляСоединенияАналитик КАК ТоварыДокумента
| ПО ТаблицаТовары.Ссылка = ТоварыДокумента.Ссылка
| И ТаблицаТовары.ЗаказПоставщику = ТоварыДокумента.ЗаказПоставщику
| И ТаблицаТовары.КлючАналитики.Номенклатура = ТоварыДокумента.АналитикаУчетаНоменклатуры.Номенклатура
| И ТаблицаТовары.КлючАналитики.Характеристика = ТоварыДокумента.АналитикаУчетаНоменклатуры.Характеристика
| И ТаблицаТовары.КлючАналитики.Назначение = ТоварыДокумента.АналитикаУчетаНоменклатуры.Назначение
| И (ТаблицаТовары.КлючАналитики.МестоХранения = ТоварыДокумента.АналитикаУчетаНоменклатуры.МестоХранения
| ИЛИ (&Договор = ТоварыДокумента.АналитикаУчетаНоменклатуры.МестоХранения
| И &ИспользуетсяДокументПоступлениеТоваров
| И НЕ &ИспользуетсяОперацияНеотфактуровка)
| )
| И (ТаблицаТовары.КлючАналитики.Серия = ТоварыДокумента.АналитикаУчетаНоменклатуры.Серия
| ИЛИ ТоварыДокумента.АналитикаУчетаНоменклатуры.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка))
| И ТаблицаТовары.НомерГТД = ТоварыДокумента.НомерГТД
| И ТаблицаТовары.СтавкаНДС = ТоварыДокумента.СтавкаНДС
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.Номенклатура = Аналитика.Номенклатура
| И ТаблицаТовары.Характеристика = Аналитика.Характеристика
| И ТаблицаТовары.Серия = Аналитика.Серия
| И ТаблицаТовары.Назначение = Аналитика.Назначение
| И ТаблицаТовары.СтатьяКалькуляции = Аналитика.СтатьяКалькуляции
| И ТоварыДокумента.Склад = Аналитика.МестоХранения
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовСкладские
| ПО ВидыЗапасовСкладские.Организация = ТаблицаТовары.ВидЗапасовОрганизация
| И ВидыЗапасовСкладские.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ВидыЗапасовСкладские.ВладелецТовара = ТаблицаТовары.ВидЗапасовВладелецТовара
| И ВидыЗапасовСкладские.НалогообложениеНДС = ТаблицаТовары.ВидЗапасовНалогообложениеНДС
| И ВидыЗапасовСкладские.ГруппаФинансовогоУчета = ТаблицаТовары.ВидЗапасовГруппаФинансовогоУчета
| И ВидыЗапасовСкладские.ГруппаПродукции = ТаблицаТовары.ВидЗапасовГруппаПродукции
| И ВидыЗапасовСкладские.ВидЦены = ТаблицаТовары.ВидЗапасовВидЦены
| И ВидыЗапасовСкладские.ОблагаетсяАкцизом = ТаблицаТовары.ВидЗапасовОблагаетсяАкцизом
| И НЕ ВидыЗапасовСкладские.ЭтоДубль
| И НЕ ВидыЗапасовСкладские.Устаревший
| И НЕ ВидыЗапасовСкладские.ПометкаУдаления
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И (НЕ &ХозяйственнаяОперация В (&ХозОперацииЗакупкаВСтранахЕАЭС)
| ИЛИ НЕ ЕСТЬNULL(ТаблицаТовары.ПрослеживаемыйТовар, ЛОЖЬ))
| И &ИспользуетсяДокументПоступлениеТоваров
| И НЕ ТаблицаТовары.СписатьНаРасходы
| И ТаблицаТовары.ВестиУчетПоГТД
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ВидыЗапасовСкладские.Ссылка,
| ТаблицаТовары.СтавкаНДС,
| Аналитика.КлючАналитики
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГТДТипНомераГТД";
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаТовары", "Документ.ПриобретениеТоваровУслуг.Товары");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаВидыЗапасов", "Документ.ПриобретениеТоваровУслуг.ВидыЗапасов");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.НоменклатураТипНоменклатуры", "ТаблицаТовары.Номенклатура.ТипНоменклатуры");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатураПрослеживаемыйТовар", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ПрослеживаемыйТовар");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяТаблицы);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект = Неопределено) Экспорт
ИмяРегистра = "ТоварыОрганизаций";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТоварыОрганизаций", ТекстыЗапроса) Тогда
ТекстЗапросаВтТоварыОрганизаций(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| втТоварыОрганизаций.ВидДвижения КАК ВидДвижения,
| втТоварыОрганизаций.Период КАК Период,
| втТоварыОрганизаций.Организация КАК Организация,
| втТоварыОрганизаций.ОрганизацияОтгрузки КАК ОрганизацияОтгрузки,
| втТоварыОрганизаций.ВидЗапасов КАК ВидЗапасов,
| втТоварыОрганизаций.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| втТоварыОрганизаций.Номенклатура КАК Номенклатура,
| втТоварыОрганизаций.Характеристика КАК Характеристика,
| втТоварыОрганизаций.НомерГТД КАК НомерГТД,
| втТоварыОрганизаций.Количество КАК Количество,
| втТоварыОрганизаций.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| втТоварыОрганизаций.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| втТоварыОрганизаций.Первичное КАК Первичное
|ИЗ
| втТоварыОрганизаций КАК втТоварыОрганизаций";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект = Неопределено)
ИмяРегистра = "ТоварыКОформлениюДокументовИмпорта";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ОперацииЗакупкаПоИмпорту = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
ОперацииЗакупкаВСтранахЕАЭС = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
Если ДокументОбъект <> Неопределено
И ОперацииЗакупкаПоИмпорту.Найти(ДокументОбъект.ХозяйственнаяОперация) = Неопределено
И ОперацииЗакупкаВСтранахЕАЭС.Найти(ДокументОбъект.ХозяйственнаяОперация) = Неопределено Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТоварыКОформлениюДокументовИмпорта", ТекстыЗапроса) Тогда
ТекстЗапросаВтТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасовДляСоединенияАналитик", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасовДляСоединенияАналитик(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
МассивЗапросов = Новый Массив;
Если ДокументОбъект = Неопределено
ИЛИ (ДокументОбъект <> Неопределено И ОперацииЗакупкаПоИмпорту.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| &Партнер КАК Поставщик,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР
| КОГДА НЕ &КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ВтТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен ЕСТЬ NULL
| ТОГДА &Ссылка
| КОГДА НЕ ВтТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ &Ссылка
| КОНЕЦ КАК ДокументПоступления,
|
| &ИдентификаторТаможеннаяДекларацияИмпорт КАК ТипДокументаИмпорта,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| 0 КАК КоличествоПоРНПТ,
|
| ТаблицаТовары.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ВтТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = ДанныеДокумента.ОрганизацияВалютаРегламентированногоУчета
| И &Валюта <> ДанныеДокумента.ОрганизацияВалютаРегламентированногоУчета
| ТОГДА ТаблицаТовары.СуммаВзаиморасчетов
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаТовары.СуммаСНДС * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| КОНЕЦ
| КОГДА НЕ ВтТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = ДанныеДокумента.ОрганизацияВалютаРегламентированногоУчета
| И &Валюта <> ДанныеДокумента.ОрганизацияВалютаРегламентированногоУчета
| ТОГДА ТаблицаТовары.СуммаВзаиморасчетов
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаТовары.СуммаСНДС * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| КОНЕЦ
| КОНЕЦ КАК Сумма,
| ИСТИНА КАК Первичное,
| """" КАК ИдентификаторСтроки
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ТаблицаТовары.Ссылка = ДанныеДокумента.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТоварыКОформлениюДокументовИмпорта КАК ВтТоварыКОформлениюДокументовИмпорта
| ПО (ИСТИНА)
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И &ХозяйственнаяОперация В (&ХозОперацииЗакупкаПоИмпорту)
| И НЕ &ИспользуетсяДокументПоступлениеТоваров
| И НЕ ТаблицаТовары.СписатьНаРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| &Период,
| &Организация,
| &Партнер,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов,
| ВЫБОР
| КОГДА НЕ &КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ВтТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен ЕСТЬ NULL
| ТОГДА &Ссылка
| КОГДА НЕ ВтТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ &Ссылка
| КОНЕЦ,
|
| &ИдентификаторТаможеннаяДекларацияИмпорт КАК ТипДокументаИмпорта,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| 0 КАК КоличествоПоРНПТ,
|
| ТаблицаВидыЗапасов.Количество,
| ВЫБОР
| КОГДА НЕ &КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ВтТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = ДанныеДокумента.ОрганизацияВалютаРегламентированногоУчета
| И &Валюта <> ДанныеДокумента.ОрганизацияВалютаРегламентированногоУчета
| ТОГДА ТаблицаВидыЗапасов.СуммаВзаиморасчетов
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаСНДС * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| КОНЕЦ
| КОГДА НЕ ВтТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = ДанныеДокумента.ОрганизацияВалютаРегламентированногоУчета
| И &Валюта <> ДанныеДокумента.ОрганизацияВалютаРегламентированногоУчета
| ТОГДА ТаблицаВидыЗапасов.СуммаВзаиморасчетов
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаСНДС * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| КОНЕЦ
| КОНЕЦ,
| ИСТИНА,
| """" КАК ИдентификаторСтроки
|ИЗ
| ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ТаблицаВидыЗапасов.Ссылка = ДанныеДокумента.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТоварыКОформлениюДокументовИмпорта КАК ВтТоварыКОформлениюДокументовИмпорта
| ПО (ИСТИНА)
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И &ХозяйственнаяОперация В (&ХозОперацииЗакупкаПоИмпорту)
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И &ИспользуетсяДокументПоступлениеТоваров";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ (ДокументОбъект <> Неопределено И ОперацииЗакупкаВСтранахЕАЭС.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| &Партнер КАК Поставщик,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| &Ссылка КАК ДокументПоступления,
|
| &ИдентификаторЗаявлениеОВвозеТоваров КАК ТипДокументаИмпорта,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| 0 КАК КоличествоПоРНПТ,
|
| ТаблицаТовары.Количество КАК Количество,
| ЕСТЬNULL(СуммыДокументов.СуммаБезНДС, 0) КАК Сумма,
| ИСТИНА КАК Первичное,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК СуммыДокументов
| ПО
| ТаблицаТовары.Ссылка = СуммыДокументов.Ссылка
| И ТаблицаТовары.ИдентификаторСтроки = СуммыДокументов.ИдентификаторСтроки
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
| И ТаблицаТовары.Количество > 0
| И &ХозяйственнаяОперация В (&ХозОперацииЗакупкаВСтранахЕАЭС)
| И НЕ &ИспользуетсяДокументПоступлениеТоваров
| И &НоваяМеханикаСозданияЗаявленийОВвозе
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| &Период,
| &Организация,
| &Партнер,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов,
| &Ссылка,
|
| &ИдентификаторЗаявлениеОВвозеТоваров КАК ТипДокументаИмпорта,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| 0 КАК КоличествоПоРНПТ,
|
| ТаблицаВидыЗапасов.Количество,
| ЕСТЬNULL(СуммыДокументов.СуммаБезНДС, 0),
| ИСТИНА,
| ТаблицаВидыЗапасов.ИдентификаторСтроки
|ИЗ
| ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК СуммыДокументов
| ПО
| ТаблицаВидыЗапасов.Ссылка = СуммыДокументов.Ссылка
| И ТаблицаВидыЗапасов.ИдентификаторСтроки = СуммыДокументов.ИдентификаторСтроки
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
| И ТаблицаВидыЗапасов.Количество > 0
| И &ХозяйственнаяОперация В (&ХозОперацииЗакупкаВСтранахЕАЭС)
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И &ИспользуетсяДокументПоступлениеТоваров
| И &НоваяМеханикаСозданияЗаявленийОВвозе";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если МассивЗапросов.Количество() = 0 Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = СтрСоединить(МассивЗапросов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаШапка", "Документ.ПриобретениеТоваровУслуг");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокумента.ОрганизацияВалютаРегламентированногоУчета", "ДанныеДокумента.Организация.ВалютаРегламентированногоУчета");
КонецЕсли;
ПриобретениеТоваровУслугЛокализация.ДополнитьТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(ТекстЗапроса);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса, ДокументОбъект)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК СуммаСНДС,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СуммаБезНДС,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СуммаБезНДСУпр,
|
| СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл) КАК СуммаСНДСРегл,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл) КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| СУММА(ТаблицаТовары.ВременнаяРазница) КАК ВременнаяРазница,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| (ТаблицаТовары.СписатьНаРасходы ИЛИ ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))
| И НЕ &НеотфактурованныеПоставкиУслугРабот
| И &ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов,
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ТаблицаТовары.Подразделение,
| ТаблицаТовары.НаправлениеДеятельности,
| ТаблицаТовары.ВидДеятельностиНДС,
| ТаблицаТовары.ИдентификаторФинЗаписи,
| ТаблицаТовары.ИдентификаторСтроки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| 0 КАК СуммаБезНДСУпр,
|
| СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл) КАК СуммаСНДСРегл,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл) КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| СУММА(ТаблицаТовары.ВременнаяРазница) КАК ВременнаяРазница,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| (ТаблицаТовары.СписатьНаРасходы ИЛИ ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))
| И НЕ &НеотфактурованныеПоставкиУслугРабот
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов,
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ТаблицаТовары.Подразделение,
| ТаблицаТовары.НаправлениеДеятельности,
| ТаблицаТовары.ВидДеятельностиНДС,
| ТаблицаТовары.ИдентификаторФинЗаписи,
| ТаблицаТовары.ИдентификаторСтроки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК СуммаСНДС,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СуммаБезНДС,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СуммаБезНДСУпр,
|
| СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл) КАК СуммаСНДСРегл,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл) КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| СУММА(ТаблицаТовары.ВременнаяРазница) КАК ВременнаяРазница,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтВидыЗапасов КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.СписатьНаРасходы
| И &ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов,
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ТаблицаТовары.Подразделение,
| ТаблицаТовары.НаправлениеДеятельности,
| ТаблицаТовары.ВидДеятельностиНДС,
| ТаблицаТовары.ИдентификаторФинЗаписи,
| ТаблицаТовары.ИдентификаторСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса, ДокументОбъект = Неопределено) Экспорт
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса, ДокументОбъект)
ИмяРегистра = "ВтИсходныеПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаТовары.Подразделение КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Стоимость,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СтоимостьБезНДС,
| СУММА(ТаблицаТовары.СуммаНДСУпр) КАК НДСУпр,
|
| СУММА(ТаблицаТовары.СуммаБезНДСРегл) КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| СУММА(ТаблицаТовары.ВременнаяРазница) КАК ВременнаяРазница,
| СУММА(ТаблицаТовары.СуммаНДСРегл) КАК НДСРегл,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
|
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПартииПрочихРасходов
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| (ТаблицаТовары.СписатьНаРасходы ИЛИ ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов,
| ТаблицаТовары.АналитикаУчетаПартий,
| ТаблицаТовары.Подразделение,
| ТаблицаТовары.НаправлениеДеятельности,
| ТаблицаТовары.ВидДеятельностиНДС,
| ТаблицаТовары.ИдентификаторФинЗаписи,
| ТаблицаТовары.ИдентификаторСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса, ДокументОбъект = Неопределено) Экспорт
ИмяРегистра = "ВтПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДенежныеСредстваУПодотчетныхЛиц(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ДенежныеСредстваУПодотчетныхЛиц";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодотчетноеЛицо КАК ПодотчетноеЛицо,
| &Подразделение КАК Подразделение,
| &Валюта КАК Валюта,
|
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК ЦельВыдачи,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| СУММА(ТаблицаТовары.СуммаСНДС) КАК Сумма,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл) + СУММА(ТаблицаТовары.СуммаНДСРегл) КАК СуммаРегл,
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК СуммаУпр,
| СУММА(ТаблицаТовары.СуммаСНДС) КАК КОтчету,
| 0 КАК СуммаЗакупки,
|
| ТаблицаТовары.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПустаяСсылка) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.Ссылка,
| ТаблицаТовары.ИдентификаторФинЗаписи
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодотчетноеЛицо КАК ПодотчетноеЛицо,
| &Подразделение КАК Подразделение,
| &Валюта КАК Валюта,
|
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК ЦельВыдачи,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| 0 КАК Сумма,
| 0 КАК СуммаРегл,
| 0 КАК СуммаУпр,
| 0 КАК КОтчету,
| СУММА(ТаблицаТовары.СуммаСНДС) КАК СуммаЗакупки,
|
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПустаяСсылка) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| &АвансовыйОтчет = ЗНАЧЕНИЕ(Документ.АвансовыйОтчет.ПустаяСсылка)
| И &Период >= &ДатаНачалаПечатиЕдиногоАвансовогоОтчета
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ПартииТоваровОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
МассивЗапросов = Новый Массив;
Если (ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ПриемНаКомиссию) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &Ссылка КАК ДокументПоступления,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Стоимость,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СтоимостьБезНДС,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл) КАК СтоимостьРегл,
| СУММА(
| ВЫБОР
| КОГДА ТаблицаТовары.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаТовары.СуммаНДСРегл
| КОНЕЦ) КАК НДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИСТИНА КАК Первичное,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| (ТаблицаТовары.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ИЛИ (ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаТовары.Номенклатура.ПрослеживаемыйТовар))
| И &ПартионныйУчетВерсии21
| И НЕ ТаблицаТовары.СписатьНаРасходы
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.ВидЗапасов, ТаблицаТовары.АналитикаУчетаНоменклатуры, ТаблицаТовары.АналитикаУчетаПартий,
| ТаблицаТовары.Номенклатура, ТаблицаТовары.Характеристика";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &Ссылка КАК ДокументПоступления,
| ТаблицаТовары.ВидЗапасов,
| ТаблицаТовары.АналитикаУчетаПартий,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Стоимость,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СтоимостьБезНДС,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл) КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИСТИНА КАК Первичное,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| (ТаблицаТовары.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ИЛИ (ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаТовары.Номенклатура.ПрослеживаемыйТовар))
| И &ПартионныйУчетВерсии21
| И НЕ ТаблицаТовары.СписатьНаРасходы
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.ВидЗапасов, ТаблицаТовары.АналитикаУчетаНоменклатуры, ТаблицаТовары.АналитикаУчетаПартий,
| ТаблицаТовары.Номенклатура, ТаблицаТовары.Характеристика";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если МассивЗапросов.Количество() = 0 Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = СтрСоединить(МассивЗапросов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено, ДокументОбъект = Неопределено) Экспорт
Если Запрос.Параметры.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо Тогда
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ИмяРегистра = "СуммыДокументовВВалютахУчета";
Если Регистры <> Неопределено И Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
Если ПроведениеДокументов.ЕстьТаблицаЗапроса("СуммыДокументовВВалютахУчета", ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаТаблицаВтСуммыДокументовВВалютахУчета(Запрос, ТекстыЗапроса, ДокументОбъект);
Текст = "
|////////////////////////////////////////////////////////////////////////////////
|// Таблица СуммыДокументовВВалютахУчета
|"+
"ВЫБРАТЬ
| *
|ИЗ
| ВтСуммыДокументовВВалютахУчета";
ТекстыЗапроса.Добавить(Текст, ИмяРегистра);
Иначе
ТекстЗапросаДанныхДокументов = "
|ВЫБРАТЬ
| ""ТоварыРаботыУслуги"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
|
| ТаблицаТовары.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.ДатаКурсаВалютыДокумента КАК ПериодБазыНДС,
| ДанныеДокумента.ДатаКурсаВалютыДокумента КАК ДатаКурса,
|
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС КАК СуммаБезНДС,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаТовары.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ЛОЖЬ
| КОГДА ТаблицаТовары.НоменклатураТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ДанныеДокумента.ВернутьМногооборотнуюТару
| И НЕ ДанныеДокумента.ТребуетсяЗалогЗаТару
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ОтражаетсяВРасчетах,
| ТаблицаТовары.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ТаблицаТовары.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ТаблицаТовары.Ссылка В (&Ссылка)
| И (НЕ &ИспользуетсяДокументПоступлениеТоваров
| ИЛИ &ИспользуетсяДокументПоступлениеТоваров
| И ТаблицаТовары.НоменклатураТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ТоварыРаботыУслуги"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
|
| ТаблицаВидыЗапасов.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.ДатаКурсаВалютыДокумента КАК ПериодБазыНДС,
| ДанныеДокумента.ДатаКурсаВалютыДокумента КАК ДатаКурса,
|
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДС,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ТаблицаВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ЛОЖЬ
| КОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ДанныеДокумента.ВернутьМногооборотнуюТару
| И НЕ ДанныеДокумента.ТребуетсяЗалогЗаТару
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ОтражаетсяВРасчетах,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| ДанныеДокументаТаблицаВидыЗапасов КАК ТаблицаВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ТаблицаВидыЗапасов.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка В (&Ссылка)
| И &ИспользуетсяДокументПоступлениеТоваров
|";
Если ДокументОбъект = Неопределено Тогда
ТекстЗапросаДанныхДокументов = СтрЗаменить(ТекстЗапросаДанныхДокументов, "ДанныеДокументаТаблицаТовары", "Документ.ПриобретениеТоваровУслуг.Товары");
ТекстЗапросаДанныхДокументов = СтрЗаменить(ТекстЗапросаДанныхДокументов, "ДанныеДокументаТаблицаВидыЗапасов", "Документ.ПриобретениеТоваровУслуг.ВидыЗапасов");
ТекстЗапросаДанныхДокументов = СтрЗаменить(ТекстЗапросаДанныхДокументов, "ДанныеДокументаШапка", "Документ.ПриобретениеТоваровУслуг");
ТекстЗапросаДанныхДокументов = СтрЗаменить(ТекстЗапросаДанныхДокументов, "ТаблицаТовары.НоменклатураТипНоменклатуры", "ТаблицаТовары.Номенклатура.ТипНоменклатуры");
ТекстЗапросаДанныхДокументов = СтрЗаменить(ТекстЗапросаДанныхДокументов, "ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры", "ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры");
КонецЕсли;
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанныхДокументов);
КонецЕсли;
КонецПроцедуры
Функция ТекстЗапросаТаблицаВтСуммыДокументовВВалютахУчета(Запрос, ТекстыЗапроса, ДокументОбъект = Неопределено)
ИмяРегистра = "СуммыДокументовВВалютеРегл";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТКурсыВалютСтрокОтчета", ТекстыЗапроса) Тогда
ТекстЗапросаВТКурсыВалютСтрокОтчета(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| ТаблицаДокумента.НомерСтроки,
| &Период КАК Период,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ВЫРАЗИТЬ((ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)) КАК СуммаБезНДСРегл,
| ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)) КАК СуммаНДСРегл,
| ВЫРАЗИТЬ(ТаблицаДокумента.СуммаСНДС * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)) КАК СуммаСНДСРегл,
| НЕОПРЕДЕЛЕНО КАК ТипРасчетов,
| ВЫРАЗИТЬ((ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДСУпр,
| ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2)) КАК СуммаНДСУпр,
| ВЫРАЗИТЬ(ТаблицаДокумента.СуммаСНДС * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2)) КАК СуммаСНДСУпр,
|
| ТаблицаДокумента.СуммаВзаиморасчетов - ТаблицаДокумента.СуммаНДСВзаиморасчетов КАК СуммаПриведенная,
| ВЫРАЗИТЬ((ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)) КАК СуммаПриведеннаяРегл,
| ВЫРАЗИТЬ((ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2)) КАК СуммаПриведеннаяУпр,
|
| ЛОЖЬ КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.СуммаСНДС КАК СуммаСНДС,
| &Период КАК ПериодБазыНДС,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| ВЫРАЗИТЬ((ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)) КАК БазаНДСРегл,
| НЕОПРЕДЕЛЕНО КАК ВалютаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов
|ПОМЕСТИТЬ ВтСуммыДокументовВВалютахУчета
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ТаблицаДокумента.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКурсыВалютСтрокОтчета КАК ТаблицаКурсыВалютСтрокОтчета
| ПО ТаблицаКурсыВалютСтрокОтчета.ИдентификаторСтроки = ТаблицаДокумента.ИдентификаторСтроки
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
|";
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаТовары", "Документ.ПриобретениеТоваровУслуг.Товары");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаШапка", "Документ.ПриобретениеТоваровУслуг");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТКурсыВалютСтрокОтчета(Запрос, ТекстыЗапроса, ДокументОбъект = Неопределено)
ИмяРегистра = "ВТКурсыВалютСтрокОтчета";
ТекстЗапроса = "
|ВЫБРАТЬ
| СУММА(ДенежныеСредства.СуммаОстаток) КАК Получено,
| ВЫРАЗИТЬ(СУММА(ДенежныеСредства.СуммаУпрОстаток) / СУММА(ДенежныеСредства.СуммаОстаток) КАК ЧИСЛО(31,18)) КАК КоэффициентПересчетаУпр,
| ВЫРАЗИТЬ(СУММА(ДенежныеСредства.СуммаРеглОстаток) / СУММА(ДенежныеСредства.СуммаОстаток) КАК ЧИСЛО(31,18)) КАК КоэффициентПересчетаРегл,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей
| ТОГДА ДенежныеСредства.ЦельВыдачи
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка)
| КОНЕЦ КАК ЦельВыдачи,
| ДенежныеСредства.Валюта КАК Валюта
|ПОМЕСТИТЬ КурсыВалютАвансов
|ИЗ
| РегистрНакопления.ДенежныеСредстваУПодотчетныхЛиц.Остатки(
| &ДатаОстатков,
| Организация = &Организация
| И Подразделение = &Подразделение
| И ПодотчетноеЛицо = &ПодотчетноеЛицо
| ) КАК ДенежныеСредства
|ГДЕ
| ДенежныеСредства.СуммаОстаток > 0
|СГРУППИРОВАТЬ ПО
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей
| ТОГДА ДенежныеСредства.ЦельВыдачи
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка)
| КОНЕЦ,
| ДенежныеСредства.Валюта
|;
|
|ВЫБРАТЬ
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.СуммаСНДС КАК Сумма,
| ТаблицаТовары.СуммаИтог КАК СуммаИтог
|ПОМЕСТИТЬ СтрокиОтчета
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ТаблицаТовары.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
|;
|ВЫБРАТЬ
| РазделеннаяСтрокаРасхода.ИдентификаторСтроки КАК ИдентификаторСтроки,
| СУММА(РазделеннаяСтрокаРасхода.Сумма) КАК Сумма,
| СУММА(РазделеннаяСтрокаРасхода.СуммаУпр) КАК СуммаУпр,
| СУММА(РазделеннаяСтрокаРасхода.СуммаРегл) КАК СуммаРегл,
| ВЫБОР КОГДА СУММА(РазделеннаяСтрокаРасхода.Сумма) = 0
| ТОГДА &КоэффициентПересчетаВВалютуУпр
| ИНАЧЕ ВЫРАЗИТЬ(СУММА(РазделеннаяСтрокаРасхода.СуммаУпр) / СУММА(РазделеннаяСтрокаРасхода.Сумма) КАК ЧИСЛО(31,18))
| КОНЕЦ КАК КоэффициентПересчетаУпр,
| ВЫБОР КОГДА СУММА(РазделеннаяСтрокаРасхода.Сумма) = 0
| ТОГДА &КоэффициентПересчетаВВалютуРегл
| ИНАЧЕ ВЫРАЗИТЬ(СУММА(РазделеннаяСтрокаРасхода.СуммаРегл) / СУММА(РазделеннаяСтрокаРасхода.Сумма) КАК ЧИСЛО(31,18))
| КОНЕЦ КАК КоэффициентПересчетаРегл
|ПОМЕСТИТЬ ВТКурсыВалютСтрокОтчета
|ИЗ
|
| (ВЫБРАТЬ
| СтрокиОтчета.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР
|
| КОГДА КурсыВалютАвансов.Получено - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) >= СтрокиОтчета.Сумма
| ТОГДА СтрокиОтчета.Сумма
|
| КОГДА КурсыВалютАвансов.Получено - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) > 0
| ТОГДА КурсыВалютАвансов.Получено - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма)
| ИНАЧЕ 0
| КОНЕЦ КАК Сумма,
| ВЫБОР КОГДА КурсыВалютАвансов.Получено - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) >= СтрокиОтчета.Сумма
| ТОГДА СтрокиОтчета.Сумма
| КОГДА КурсыВалютАвансов.Получено - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) > 0
| ТОГДА КурсыВалютАвансов.Получено - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма)
| ИНАЧЕ 0
| КОНЕЦ * КурсыВалютАвансов.КоэффициентПересчетаУпр КАК СуммаУпр,
| ВЫБОР КОГДА КурсыВалютАвансов.Получено - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) >= СтрокиОтчета.Сумма
| ТОГДА СтрокиОтчета.Сумма
| КОГДА КурсыВалютАвансов.Получено - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) > 0
| ТОГДА КурсыВалютАвансов.Получено - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма)
| ИНАЧЕ 0
| КОНЕЦ * КурсыВалютАвансов.КоэффициентПересчетаРегл КАК СуммаРегл
| ИЗ
| СтрокиОтчета КАК СтрокиОтчета
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ КурсыВалютАвансов КАК КурсыВалютАвансов
| ПО КурсыВалютАвансов.Валюта = СтрокиОтчета.Валюта
| И (КурсыВалютАвансов.ЦельВыдачи = СтрокиОтчета.СтатьяДвиженияДенежныхСредств
| ИЛИ НЕ &КонтролироватьВыдачуПодОтчетВРазрезеЦелей)
|
| ОБЪЕДИНИТЬ ВСЕ
|
|
| ВЫБРАТЬ
| СтрокиОтчета.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР
|
| КОГДА ЕСТЬNULL(КурсыВалютАвансов.Получено,0) - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) >= СтрокиОтчета.Сумма
| ТОГДА 0
|
| КОГДА ЕСТЬNULL(КурсыВалютАвансов.Получено,0) - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) > 0
| ТОГДА СтрокиОтчета.Сумма - (ЕСТЬNULL(КурсыВалютАвансов.Получено,0) - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма))
| ИНАЧЕ СтрокиОтчета.Сумма
| КОНЕЦ КАК Сумма,
| ВЫБОР
| КОГДА ЕСТЬNULL(КурсыВалютАвансов.Получено,0) - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) >= СтрокиОтчета.Сумма
| ТОГДА 0
| КОГДА ЕСТЬNULL(КурсыВалютАвансов.Получено,0) - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) > 0
| ТОГДА СтрокиОтчета.Сумма - (ЕСТЬNULL(КурсыВалютАвансов.Получено,0) - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма))
| ИНАЧЕ СтрокиОтчета.Сумма
| КОНЕЦ * &КоэффициентПересчетаВВалютуУпр КАК СуммаУпр,
| ВЫБОР
| КОГДА ЕСТЬNULL(КурсыВалютАвансов.Получено,0) - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) >= СтрокиОтчета.Сумма
| ТОГДА 0
| КОГДА ЕСТЬNULL(КурсыВалютАвансов.Получено,0) - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма) > 0
| ТОГДА СтрокиОтчета.Сумма - (ЕСТЬNULL(КурсыВалютАвансов.Получено,0) - (СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма))
| ИНАЧЕ СтрокиОтчета.Сумма
| КОНЕЦ * &КоэффициентПересчетаВВалютуРегл КАК СуммаРегл
| ИЗ
| СтрокиОтчета КАК СтрокиОтчета
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалютАвансов КАК КурсыВалютАвансов
| ПО КурсыВалютАвансов.Валюта = СтрокиОтчета.Валюта
| И (КурсыВалютАвансов.ЦельВыдачи = СтрокиОтчета.СтатьяДвиженияДенежныхСредств
| ИЛИ НЕ &КонтролироватьВыдачуПодОтчетВРазрезеЦелей)
| ) КАК РазделеннаяСтрокаРасхода
|СГРУППИРОВАТЬ ПО
| РазделеннаяСтрокаРасхода.ИдентификаторСтроки
|";
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаТовары", "Документ.ПриобретениеТоваровУслуг.Товары");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаШапка", "Документ.ПриобретениеТоваровУслуг");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "МатериалыИРаботыВПроизводстве";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Запрос.Параметры.Свойство("НеотфактурованныеПоставкиУслугРабот") И Запрос.Параметры.НеотфактурованныеПоставкиУслугРабот Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Организация КАК Организация,
| ТаблицаТовары.Подразделение,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.Серия,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Назначение КАК Назначение,
| ИСТИНА КАК Первичное
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаТовары.СписатьНаРасходы
| И (ТаблицаТовары.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| ИЛИ ТаблицаТовары.НазначениеТипНазначения <> ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
| И НЕ &НеотфактурованныеПоставкиУслугРабот
| И НЕ ТаблицаТовары.ПрослеживаемыйТовар
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПартииПроизводственныхЗатрат(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ПартииПроизводственныхЗатрат";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| &Ссылка КАК ДокументПоступления,
|
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Стоимость,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СтоимостьБезНДС,
|
| СУММА(ТаблицаТовары.СуммаБезНДСРегл) КАК СтоимостьРегл,
| СУММА(ВЫБОР
| КОГДА ТаблицаТовары.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаТовары.СуммаНДСРегл
| КОНЕЦ ) КАК НДСРегл
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаТовары.СписатьНаРасходы
| И НЕ &ПартионныйУчетВерсии22
| И (ТаблицаТовары.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| ИЛИ ТаблицаТовары.НазначениеТипНазначения <> ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ТаблицаТовары.АналитикаУчетаПартий,
| ТаблицаТовары.ВидЗапасов
|
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "Закупки";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
МассивЗапросов = Новый Массив;
ХозОперацииЗакупкаПоИмпорту = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
ХозОперацииЗакупкаВСтранахЕАЭС = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
ХозОперацииЗакупкаУПоставщика = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
#Область ПоступлениеТоваров
Если ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет
ИЛИ ХозОперацииЗакупкаПоИмпорту.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ХозОперацииЗакупкаВСтранахЕАЭС.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ХозОперацииЗакупкаУПоставщика.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено Тогда
ПоступлениеТоваров =
"ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР КОГДА ТаблицаТовары.НазначениеТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемкаПодПринципала)
| ИНАЧЕ &ХозяйственнаяОперация
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.ВидЗапасовТипЗапасов КАК ТипЗапасов,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| ВЫБОР
| КОГДА &УчетРасчетовСПоставщикамиПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
| &Соглашение КАК Соглашение,
| &Договор КАК Договор,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам
| И &ПоступлениеПоНесколькимЗаказам
| ТОГДА ТаблицаТовары.ЗаказПоставщику
| КОГДА &ПоступлениеПоЗаказам
| И НЕ &ПоступлениеПоНесколькимЗаказам
| ТОГДА &ЗаказПоставщику
| ИНАЧЕ &Ссылка
| КОНЕЦ КАК Заказ,
| НЕОПРЕДЕЛЕНО КАК ПодотчетноеЛицо,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Сумма,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СуммаБезНДС,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл) КАК СуммаРегл,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл) КАК СуммаРеглБезНДС,
| СУММА(ТаблицаТовары.СуммаСкидки) КАК СуммаСкидки,
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Стоимость,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТаблицаТовары.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл)
| ИНАЧЕ СУММА(ТаблицаТовары.СуммаБезНДСРегл)
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| &Валюта КАК ВалютаДокумента,
| СУММА(ТаблицаТовары.СуммаСНДС) КАК СуммаВВалютеДокумента,
| СУММА(ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС) КАК СуммаБезНДСВВалютеДокумента,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| СУММА(ТаблицаТовары.СуммаВзаиморасчетов) КАК СуммаВВалютеВзаиморасчетов,
| СУММА(ТаблицаТовары.СуммаВзаиморасчетов - ТаблицаТовары.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ ТаблицаТовары.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаТовары.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТаблицаТовары.СписатьНаРасходы
| И НЕ &ИспользуетсяДокументПоступлениеТоваров
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НаправлениеДеятельности,
| ТаблицаТовары.Склад,
| ТаблицаТовары.ВидЗапасовТипЗапасов,
| ТаблицаТовары.ВидЗапасов,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам
| И &ПоступлениеПоНесколькимЗаказам
| ТОГДА ТаблицаТовары.ЗаказПоставщику
| КОГДА &ПоступлениеПоЗаказам
| И НЕ &ПоступлениеПоНесколькимЗаказам
| ТОГДА &ЗаказПоставщику
| ИНАЧЕ &Ссылка
| КОНЕЦ,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ ТаблицаТовары.Номенклатура
| КОНЕЦ,
| ТаблицаТовары.ОбъектРасчетов,
| ТаблицаТовары.ВидДеятельностиНДС,
| ВЫБОР КОГДА ТаблицаТовары.НазначениеТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемкаПодПринципала)
| ИНАЧЕ &ХозяйственнаяОперация
| КОНЕЦ";
МассивЗапросов.Добавить(ПоступлениеТоваров);
КонецЕсли;
Если ХозОперацииЗакупкаПоИмпорту.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ХозОперацииЗакупкаВСтранахЕАЭС.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ХозОперацииЗакупкаУПоставщика.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено Тогда
ПоступлениеТоваров =
"ВЫБРАТЬ
| &Период,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыНазначениеТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемкаПодПринципала)
| ИНАЧЕ &ХозяйственнаяОперация
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Организация,
| &Подразделение,
| &Менеджер,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки))
| ИЛИ &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ,
| ТаблицаВидыЗапасов.НаправлениеДеятельности,
| ТаблицаВидыЗапасов.Склад,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов,
| &Партнер,
| &Контрагент,
| ВЫБОР
| КОГДА &УчетРасчетовСПоставщикамиПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ,
| &Соглашение,
| &Договор,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам
| И &ПоступлениеПоНесколькимЗаказам
| ТОГДА ТаблицаВидыЗапасов.ЗаказПоставщику
| КОГДА &ПоступлениеПоЗаказам
| И НЕ &ПоступлениеПоНесколькимЗаказам
| ТОГДА &ЗаказПоставщику
| ИНАЧЕ &Ссылка
| КОНЕЦ,
| НЕОПРЕДЕЛЕНО,
| СУММА(ТаблицаВидыЗапасов.Количество),
| СУММА(ТаблицаВидыЗапасов.СуммаСНДСУпр),
| СУММА(ТаблицаВидыЗапасов.СуммаБезНДСУпр),
| СУММА(ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.СуммаНДСРегл),
| СУММА(ТаблицаВидыЗапасов.СуммаБезНДСРегл),
| СУММА(ТаблицаВидыЗапасов.СуммаСкидки),
| СУММА(ТаблицаВидыЗапасов.СуммаСНДСУпр),
| СУММА(ТаблицаВидыЗапасов.СуммаБезНДСУпр),
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС В (ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС), ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА СУММА(ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.СуммаНДСРегл)
| ИНАЧЕ СУММА(ТаблицаВидыЗапасов.СуммаБезНДСРегл)
| КОНЕЦ,
| 0,
| 0,
| &Валюта,
| СУММА(ТаблицаВидыЗапасов.СуммаСНДС),
| СУММА(ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС),
| &ВалютаВзаиморасчетов,
| СУММА(ТаблицаВидыЗапасов.СуммаВзаиморасчетов),
| СУММА(ТаблицаВидыЗапасов.СуммаВзаиморасчетов - ТаблицаВидыЗапасов.СуммаНДСВзаиморасчетов),
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасов
| ИНАЧЕ КлючиАналитикиУчетаНоменклатуры.Номенклатура
| КОНЕЦ,
| ТаблицаВидыЗапасов.ОбъектРасчетов
|ИЗ
| ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК КлючиАналитикиУчетаНоменклатуры
| ПО ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры = КлючиАналитикиУчетаНоменклатуры.Ссылка
|ГДЕ
| ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И &ИспользуетсяДокументПоступлениеТоваров
|
|СГРУППИРОВАТЬ ПО
| ВЫБОР
| КОГДА &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки))
| ИЛИ &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ,
| ТаблицаВидыЗапасов.НаправлениеДеятельности,
| ТаблицаВидыЗапасов.Склад,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам
| И &ПоступлениеПоНесколькимЗаказам
| ТОГДА ТаблицаВидыЗапасов.ЗаказПоставщику
| КОГДА &ПоступлениеПоЗаказам
| И НЕ &ПоступлениеПоНесколькимЗаказам
| ТОГДА &ЗаказПоставщику
| ИНАЧЕ &Ссылка
| КОНЕЦ,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасов
| ИНАЧЕ КлючиАналитикиУчетаНоменклатуры.Номенклатура
| КОНЕЦ,
| ТаблицаВидыЗапасов.ОбъектРасчетов,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыНазначениеТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемкаПодПринципала)
| ИНАЧЕ &ХозяйственнаяОперация
| КОНЕЦ,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС";
МассивЗапросов.Добавить(ПоступлениеТоваров);
КонецЕсли;
#КонецОбласти
#Область ПоступлениеРабот
Если ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо Тогда
ПоступлениеРабот =
"ВЫБРАТЬ
| &Период КАК Период,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ТаблицаТовары.Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &Подразделение КАК Склад,
| ТаблицаТовары.ВидЗапасовТипЗапасов КАК ТипЗапасов,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| ВЫБОР
| КОГДА &УчетРасчетовСПоставщикамиПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
| &Соглашение КАК Соглашение,
| &Договор КАК Договор,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам И &ПоступлениеПоНесколькимЗаказам
| ТОГДА ТаблицаТовары.ЗаказПоставщику
| КОГДА &ПоступлениеПоЗаказам И НЕ &ПоступлениеПоНесколькимЗаказам
| ТОГДА &ЗаказПоставщику
| ИНАЧЕ &Ссылка
| КОНЕЦ КАК Заказ,
| НЕОПРЕДЕЛЕНО КАК ПодотчетноеЛицо,
|
| СУММА(ТаблицаТовары.Количество) КАК Количество,
|
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Сумма,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СуммаБезНДС,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл) КАК СуммаРегл,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл) КАК СуммаРеглБезНДС,
| СУММА(ТаблицаТовары.СуммаСкидки) КАК СуммаСкидки,
|
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Стоимость,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТаблицаТовары.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл)
| ИНАЧЕ СУММА(ТаблицаТовары.СуммаБезНДСРегл)
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &Валюта КАК ВалютаДокумента,
| СУММА(ТаблицаТовары.СуммаСНДС) КАК СуммаВВалютеДокумента,
| СУММА(ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС) КАК СуммаБезНДСВВалютеДокумента,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| СУММА(ТаблицаТовары.СуммаВзаиморасчетов) КАК СуммаВВалютеВзаиморасчетов,
| СУММА(ТаблицаТовары.СуммаВзаиморасчетов - ТаблицаТовары.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ ТаблицаТовары.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаТовары.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаТовары.СписатьНаРасходы
| И НЕ &ИспользуетсяДокументПоступлениеТоваров
| И (ТаблицаТовары.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| ИЛИ НЕ ТаблицаТовары.НазначениеТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НаправлениеДеятельности,
| ТаблицаТовары.ВидЗапасовТипЗапасов,
| ТаблицаТовары.ВидЗапасов,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам И &ПоступлениеПоНесколькимЗаказам
| ТОГДА ТаблицаТовары.ЗаказПоставщику
| КОГДА &ПоступлениеПоЗаказам И НЕ &ПоступлениеПоНесколькимЗаказам
| ТОГДА &ЗаказПоставщику
| ИНАЧЕ &Ссылка
| КОНЕЦ,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ ТаблицаТовары.Номенклатура
| КОНЕЦ,
| ТаблицаТовары.ОбъектРасчетов,
| ТаблицаТовары.Подразделение,
| ТаблицаТовары.ВидДеятельностиНДС
|";
МассивЗапросов.Добавить(ПоступлениеРабот);
КонецЕсли;
#КонецОбласти
#Область ПриемНаКомиссию
Если ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию Тогда
ПриемНаКомиссию =
"ВЫБРАТЬ
| &Период КАК Период,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.ВидЗапасовТипЗапасов КАК ТипЗапасов,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| ВЫБОР
| КОГДА &УчетРасчетовСПоставщикамиПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
| &Соглашение КАК Соглашение,
| &Договор КАК Договор,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам И &ПоступлениеПоНесколькимЗаказам
| ТОГДА ТаблицаТовары.ЗаказПоставщику
| КОГДА &ПоступлениеПоЗаказам И НЕ &ПоступлениеПоНесколькимЗаказам
| ТОГДА &ЗаказПоставщику
| ИНАЧЕ &Ссылка
| КОНЕЦ КАК Заказ,
| НЕОПРЕДЕЛЕНО КАК ПодотчетноеЛицо,
|
| СУММА(ТаблицаТовары.Количество) КАК Количество,
|
| 0 КАК Сумма,
| 0 КАК СуммаБезНДС,
| 0 КАК СуммаРегл,
| 0 КАК СуммаРеглБезНДС,
| 0 КАК СуммаСкидки,
|
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Стоимость,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТаблицаТовары.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл)
| ИНАЧЕ СУММА(ТаблицаТовары.СуммаБезНДСРегл)
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &Валюта КАК ВалютаДокумента,
| СУММА(ТаблицаТовары.СуммаСНДС) КАК СуммаВВалютеДокумента,
| СУММА(ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС) КАК СуммаБезНДСВВалютеДокумента,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| СУММА(ТаблицаТовары.СуммаВзаиморасчетов) КАК СуммаВВалютеВзаиморасчетов,
| СУММА(ТаблицаТовары.СуммаВзаиморасчетов - ТаблицаТовары.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ ТаблицаТовары.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаТовары.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТаблицаТовары.СписатьНаРасходы
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НаправлениеДеятельности,
| ТаблицаТовары.Склад,
| ТаблицаТовары.ВидЗапасовТипЗапасов,
| ТаблицаТовары.ВидЗапасов,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам И &ПоступлениеПоНесколькимЗаказам
| ТОГДА ТаблицаТовары.ЗаказПоставщику
| КОГДА &ПоступлениеПоЗаказам И НЕ &ПоступлениеПоНесколькимЗаказам
| ТОГДА &ЗаказПоставщику
| ИНАЧЕ &Ссылка
| КОНЕЦ,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ ТаблицаТовары.Номенклатура
| КОНЕЦ,
| ТаблицаТовары.ОбъектРасчетов,
| ТаблицаТовары.ВидДеятельностиНДС
|";
МассивЗапросов.Добавить(ПриемНаКомиссию);
КонецЕсли;
#КонецОбласти
#Область ПоступлениеТоваровЧерезПодотчетника
Если ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо Тогда
ПоступлениеТоваровЧерезПодотчетника =
"ВЫБРАТЬ
| &Период КАК Период,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.ВидЗапасовТипЗапасов КАК ТипЗапасов,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
|
| &Партнер КАК Партнер,
| ВЫБОР
| КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ИЛИ &Контрагент = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| &Контрагент
| КОНЕЦ КАК Контрагент,
| ВЫБОР
| КОГДА &УчетРасчетовСПоставщикамиПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
| &Соглашение КАК Соглашение,
| ВЫБОР
| КОГДА &Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| ИЛИ &Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка) ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| &Договор
| КОНЕЦ КАК Договор,
| &Ссылка КАК Заказ,
| &ПодотчетноеЛицо КАК ПодотчетноеЛицо,
|
| СУММА(ТаблицаТовары.Количество) КАК Количество,
|
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Сумма,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СуммаБезНДС,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл) КАК СуммаРегл,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл) КАК СуммаРеглБезНДС,
| СУММА(ТаблицаТовары.СуммаСкидки) КАК СуммаСкидки,
|
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Стоимость,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТаблицаТовары.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл)
| ИНАЧЕ СУММА(ТаблицаТовары.СуммаБезНДСРегл)
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &Валюта КАК ВалютаДокумента,
| СУММА(ТаблицаТовары.СуммаСНДС) КАК СуммаВВалютеДокумента,
| СУММА(ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС) КАК СуммаБезНДСВВалютеДокумента,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| СУММА(ТаблицаТовары.СуммаВзаиморасчетов) КАК СуммаВВалютеВзаиморасчетов,
| СУММА(ТаблицаТовары.СуммаВзаиморасчетов - ТаблицаТовары.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ ТаблицаТовары.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаТовары.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТаблицаТовары.СписатьНаРасходы
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НаправлениеДеятельности,
| ТаблицаТовары.Склад,
| ТаблицаТовары.ВидЗапасовТипЗапасов,
| ТаблицаТовары.ВидЗапасов,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ ТаблицаТовары.Номенклатура
| КОНЕЦ,
| ТаблицаТовары.ОбъектРасчетов,
| ТаблицаТовары.ВидДеятельностиНДС
|";
МассивЗапросов.Добавить(ПоступлениеТоваровЧерезПодотчетника);
КонецЕсли;
#КонецОбласти
#Область ПоступлениеРаботЧерезПодотчетника
Если ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо Тогда
ПоступлениеРаботЧерезПодотчетника =
"ВЫБРАТЬ
| &Период КАК Период,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ТаблицаТовары.Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &Подразделение КАК Склад,
| ТаблицаТовары.ВидЗапасовТипЗапасов КАК ТипЗапасов,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| ВЫБОР
| КОГДА &УчетРасчетовСПоставщикамиПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
| &Соглашение КАК Соглашение,
| &Договор КАК Договор,
| &Ссылка КАК Заказ,
| &ПодотчетноеЛицо КАК ПодотчетноеЛицо,
|
| СУММА(ТаблицаТовары.Количество) КАК Количество,
|
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Сумма,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СуммаБезНДС,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл) КАК СуммаРегл,
| СУММА(ТаблицаТовары.СуммаБезНДСРегл) КАК СуммаРеглБезНДС,
| СУММА(ТаблицаТовары.СуммаСкидки) КАК СуммаСкидки,
|
| СУММА(ТаблицаТовары.СуммаСНДСУпр) КАК Стоимость,
| СУММА(ТаблицаТовары.СуммаБезНДСУпр) КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТаблицаТовары.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА СУММА(ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл)
| ИНАЧЕ СУММА(ТаблицаТовары.СуммаБезНДСРегл)
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &Валюта КАК ВалютаДокумента,
| СУММА(ТаблицаТовары.СуммаСНДС) КАК СуммаВВалютеДокумента,
| СУММА(ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС) КАК СуммаБезНДСВВалютеДокумента,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| СУММА(ТаблицаТовары.СуммаВзаиморасчетов) КАК СуммаВВалютеВзаиморасчетов,
| СУММА(ТаблицаТовары.СуммаВзаиморасчетов - ТаблицаТовары.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ ТаблицаТовары.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаТовары.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаТовары.СписатьНаРасходы
| И (ТаблицаТовары.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| ИЛИ НЕ ТаблицаТовары.НазначениеТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НаправлениеДеятельности,
| ТаблицаТовары.ВидЗапасовТипЗапасов,
| ТаблицаТовары.ВидЗапасов,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ ТаблицаТовары.Номенклатура
| КОНЕЦ,
| ТаблицаТовары.Подразделение,
| ТаблицаТовары.ОбъектРасчетов,
| ТаблицаТовары.ВидДеятельностиНДС
|";
МассивЗапросов.Добавить(ПоступлениеРаботЧерезПодотчетника);
КонецЕсли;
#КонецОбласти
Если МассивЗапросов.Количество() = 0 Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = СтрСоединить(МассивЗапросов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ДвиженияКонтрагентДоходыРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеУслугРеглУчет)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеУслуг)
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ТаблицаТовары.Подразделение КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| ВЫБОР
| КОГДА &УчетРасчетовСПоставщикамиПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
| &Договор КАК Договор,
| ТаблицаТовары.ОбъектРасчетов КАК ОбъектРасчетов,
|
| ТаблицаТовары.СтатьяРасходов КАК СтатьяДоходовРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
|
| ТаблицаТовары.СуммаСНДСУпр КАК Сумма,
| ТаблицаТовары.СуммаБезНДСУпр КАК СуммаБезНДС,
| ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл КАК СуммаРегл,
| ТаблицаТовары.СуммаБезНДСРегл КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| ТаблицаТовары.СуммаСНДС КАК СуммаВВалюте,
| ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаТовары.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаТовары.СуммаВзаиморасчетов - ТаблицаТовары.СуммаНДСВзаиморасчетов КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаТовары.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ТаблицаТовары.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.СписатьНаРасходы
| И &ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияДенежныеСредстваДоходыРасходы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ДвиженияДенежныеСредстваДоходыРасходы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПрочиеРасходыПодотчетногоЛица) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| ТаблицаТовары.Подразделение КАК ПодразделениеДоходовРасходов,
| &ПодотчетноеЛицо КАК ДенежныеСредства,
| Значение(Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУПодотчетногоЛица) КАК ТипДенежныхСредств,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
| &Валюта КАК Валюта,
|
| ВЫБОР
| КОГДА &УчетЗатратПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиСтатьи,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
|
| ВЫРАЗИТЬ(ТаблицаТовары.СуммаСНДС * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Сумма,
| ВЫРАЗИТЬ(ТаблицаТовары.СуммаСНДС * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРегл,
| ТаблицаТовары.СуммаСНДС КАК СуммаВВалюте,
|
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДС КАК СуммаНДСВВалютеПлатежа,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| ТаблицаТовары.СтатьяРасходов КАК ИсточникГФУДоходовРасходов
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| (ТаблицаТовары.СписатьНаРасходы ИЛИ ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))
| И ТаблицаТовары.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса, ДокументОбъект = Неопределено)
УстановитьПараметрЗапросаНалогообложениеОрганизации(Запрос);
ТекстНомераСтрок = РасчетСебестоимостиПроведениеДокументов.ТекстЗапросаКодыСтрокДляАналитикиУчетаПартий(
Метаданные.Документы.ПриобретениеТоваровУслуг.Имя,
"Товары, ВидыЗапасов");
Если ДокументОбъект <> Неопределено Тогда
ТекстНомераСтрок = СтрЗаменить(ТекстНомераСтрок, "Документ.ПриобретениеТоваровУслуг.Товары", "ДанныеДокументаТаблицаТовары");
ТекстНомераСтрок = СтрЗаменить(ТекстНомераСтрок, "Документ.ПриобретениеТоваровУслуг.ВидыЗапасов", "ДанныеДокументаТаблицаВидыЗапасов");
КонецЕсли;
ТекстВыборкаПоляАналитик = ТекстНомераСтрок + "
|ВЫБРАТЬ
| ""Товары"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ДанныеДокумента.Партнер КАК Поставщик,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Статьи.ВидЦенностиНДС, НЕОПРЕДЕЛЕНО) В (ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОС), ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НМА))
| И ЕСТЬNULL(Статьи.ВариантРаспределенияРасходовРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| И ЕСТЬNULL(Статьи.ВариантРаздельногоУчетаНДС, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ВводОСВЭксплуатацию)
| КОГДА ЕСТЬNULL(Статьи.ВариантРаздельногоУчетаНДС, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
| И НЕ &УпрощеннаяСистемаНалогообложения
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| КОГДА ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.НалоговыйАгентПоНДС)
| И ТаблицаДокумента.НазначениеВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПоФактическомуИспользованию)
| ТОГДА &НалогообложениеОрганизации
| КОГДА ЕСТЬNULL(ТаблицаДокумента.НазначениеВидДеятельностиНДС, ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| И НЕ ТаблицаДокумента.СписатьНаРасходы
| ТОГДА ТаблицаДокумента.НазначениеВидДеятельностиНДС
| КОГДА ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.НалоговыйАгентПоНДС)
| И ДанныеДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПоФактическомуИспользованию)
| ТОГДА &НалогообложениеОрганизации
| ИНАЧЕ ДанныеДокумента.ЗакупкаПодДеятельность
| КОНЕЦ КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТоварыНалоговыйАгент)
| КОГДА ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭлектронныеУслуги)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ЭлектронныеУслуги)
| КОГДА СпрНоменклатура.ТипНоменклатуры В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА ЕСТЬNULL(ГФУ.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары))
| КОГДА СпрНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаДокумента.СписатьНаРасходы
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги)
| КОГДА ЕСТЬNULL(Статьи.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПустаяСсылка)) <>
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПустаяСсылка)
| ТОГДА Статьи.ВидЦенностиНДС
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги)
| КОНЕЦ КАК ВидЦенности,
| (ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| ТОГДА 0
| ИНАЧЕ КодыСтрок.КодСтроки КОНЕЦ) КАК КодСтроки
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКодыСтрокДляАналитикиУчетаПартий КАК КодыСтрок
| ПО ТаблицаДокумента.НомерСтроки = КодыСтрок.НомерСтроки
| И КодыСтрок.ИмяТабличнойЧасти = ""Товары""
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО СпрНоменклатура.Ссылка = ТаблицаДокумента.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК Статьи
| ПО ТаблицаДокумента.СтатьяРасходов = Статьи.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыФинансовогоУчетаНоменклатуры КАК ГФУ
| ПО СпрНоменклатура.ГруппаФинансовогоУчета = ГФУ.Ссылка
|
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ
| ""ВидыЗапасов"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ДанныеДокумента.Партнер КАК Поставщик,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.НалоговыйАгентПоНДС)
| И ДанныеДокумента.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПоФактическомуИспользованию)
| ТОГДА &НалогообложениеОрганизации
| КОГДА ЕСТЬNULL(ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС, ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| И НЕ ТаблицаДокумента.СписатьНаРасходы
| ТОГДА ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ ДанныеДокумента.ЗакупкаПодДеятельность
| КОНЕЦ КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТоварыНалоговыйАгент)
| КОГДА ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭлектронныеУслуги)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ЭлектронныеУслуги)
| КОГДА СпрНоменклатура.ТипНоменклатуры В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА ЕСТЬNULL(ГФУ.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары))
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги)
| КОНЕЦ КАК ВидЦенности,
| (ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| ТОГДА 0
| ИНАЧЕ КодыСтрок.КодСтроки КОНЕЦ) КАК КодСтроки
|ИЗ
| ДанныеДокументаТаблицаВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКодыСтрокДляАналитикиУчетаПартий КАК КодыСтрок
| ПО ТаблицаДокумента.НомерСтроки = КодыСтрок.НомерСтроки
| И КодыСтрок.ИмяТабличнойЧасти = ""ВидыЗапасов""
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО Аналитика.Ссылка = ТаблицаДокумента.АналитикаУчетаНоменклатуры
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО СпрНоменклатура.Ссылка = Аналитика.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыФинансовогоУчетаНоменклатуры КАК ГФУ
| ПО СпрНоменклатура.ГруппаФинансовогоУчета = ГФУ.Ссылка
|
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|";
Если ДокументОбъект = Неопределено Тогда
ТекстВыборкаПоляАналитик = СтрЗаменить(ТекстВыборкаПоляАналитик, "ДанныеДокументаТаблицаТовары", "Документ.ПриобретениеТоваровУслуг.Товары");
ТекстВыборкаПоляАналитик = СтрЗаменить(ТекстВыборкаПоляАналитик, "ДанныеДокументаТаблицаВидыЗапасов", "Документ.ПриобретениеТоваровУслуг.ВидыЗапасов");
ТекстВыборкаПоляАналитик = СтрЗаменить(ТекстВыборкаПоляАналитик, "ДанныеДокументаШапка", "Документ.ПриобретениеТоваровУслуг");
ТекстВыборкаПоляАналитик = СтрЗаменить(ТекстВыборкаПоляАналитик, "ТаблицаДокумента.НазначениеВидДеятельностиНДС", "ТаблицаДокумента.Назначение.ВидДеятельностиНДС");
КонецЕсли;
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект) Экспорт
ИмяРегистра = "ВтТаблицаТовары";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Неопределено, ДокументОбъект);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос, ДокументОбъект);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ЛОЖЬ КАК ВключениеНДСВСтоимость,
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.НоменклатураТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.НазначениеТипНазначения КАК НазначениеТипНазначения,
| ТаблицаТовары.ВидЗапасовТипЗапасов КАК ВидЗапасовТипЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.НомерГТД.ТипНомераГТД КАК НомерГТДТипНомераГТД,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР
| КОГДА ТаблицаТовары.НоменклатураТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ВернутьМногооборотнуюТару И НЕ &ТребуетсяЗалогЗаТару
| ТОГДА ТаблицаТовары.ИдентификаторСтроки
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА ТаблицаТовары.ИдентификаторСтроки
| ИНАЧЕ ТаблицаТовары.ОбъектРасчетовУникальныйИдентификатор
| КОНЕЦ КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
|
| ТаблицаТовары.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ ТаблицаТовары.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| ЕСТЬNULL(ТаблицаТовары.НоменклатураПрослеживаемыйТовар, ЛОЖЬ) КАК ПрослеживаемыйТовар,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.СкладЦеховаяКладовая КАК ЦеховаяКладовая,
| ВЫБОР КОГДА ТаблицаТовары.СкладИспользоватьОрдернуюСхемуПриПоступлении
| И &Период >= ТаблицаТовары.СкладДатаНачалаОрдернойСхемыПриПоступлении
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИспользоватьОрдернуюСхемуПриПоступлении,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
|
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
|
| ВЫБОР КОГДА ТаблицаТовары.НоменклатураТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ВернутьМногооборотнуюТару ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ЭтоТараКВозврату,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)
| КОНЕЦ КАК СуммаСНДСУпр,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)
| КОНЕЦ КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК СуммаНДСУпр,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| ЕСТЬNULL(Суммы.БазаНДСРегл, 0) КАК БазаНДСРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл - Суммы.СуммаБезНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
|
| ВЫБОР КОГДА &УправленческийУчетОрганизаций И &ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР КОГДА &ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
|
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведенная, 0) <> 0
| ТОГДА Суммы.СуммаПриведенная + ТаблицаТовары.СуммаНДСВзаиморасчетов
| ИНАЧЕ
| ТаблицаТовары.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ТаблицаТовары.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ВЫРАЗИТЬ(ТаблицаТовары.СуммаРучнойСкидки * &КоэффициентПересчетаВВалютуУПР КАК ЧИСЛО(15,1)) КАК СуммаСкидки,
|
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ВЫБОР
| КОГДА ТаблицаТовары.НоменклатураТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ИЛИ (ТаблицаТовары.НоменклатураТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар))
| И ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатурыНазначениеНаправлениеДеятельности,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| ТОГДА
| ВЫБОР КОГДА &УчетЗатратПоНД ТОГДА
| &НаправлениеДеятельности
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатурыНазначениеНаправлениеДеятельности,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| КОНЕЦ КАК НаправлениеДеятельности,
| ЕСТЬNULL(АналитикаРасчетов.КлючАналитики, Неопределено) КАК АналитикаУчетаПоПартнерам,
| ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры КАК АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры,
| ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура КАК АналитикаУчетаНоменклатурыНоменклатура,
| ТаблицаТовары.АналитикаУчетаНоменклатурыНазначение КАК АналитикаУчетаНоменклатурыНазначение
|
|ПОМЕСТИТЬ ВтТаблицаТовары
|ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаТовары.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура = АналитикаБезНазначения.Номенклатура
| И ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика = АналитикаБезНазначения.Характеристика
| И ТаблицаТовары.АналитикаУчетаНоменклатурыСерия = АналитикаБезНазначения.Серия
| И ТаблицаТовары.АналитикаУчетаНоменклатурыМестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| ТаблицаТовары.Ссылка = Суммы.Ссылка
| И ТаблицаТовары.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
| И (Суммы.СуммаБезНДСРегл <> 0
| ИЛИ Суммы.СуммаБезНДСУпр <> 0)
| И (ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС) = Суммы.СуммаБезНДС
| И ТаблицаТовары.СуммаНДС = Суммы.СуммаНДС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаТовары.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаРасчетов
| ПО
| &Организация = АналитикаРасчетов.Организация
| И &Контрагент = АналитикаРасчетов.Контрагент
| И &Партнер = АналитикаРасчетов.Партнер
| И &Договор = АналитикаРасчетов.Договор
| И ТаблицаТовары.ОбъектРасчетовНаправлениеДеятельности = АналитикаРасчетов.НаправлениеДеятельности
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГТДТипНомераГТД";
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаТовары", "Документ.ПриобретениеТоваровУслуг.Товары");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаШапка", "Документ.ПриобретениеТоваровУслуг");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.НоменклатураТипНоменклатуры", "ТаблицаТовары.Номенклатура.ТипНоменклатуры");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.ОбъектРасчетовУникальныйИдентификатор", "ТаблицаТовары.ОбъектРасчетов.УникальныйИдентификатор");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.НоменклатураПрослеживаемыйТовар", "ТаблицаТовары.Номенклатура.ПрослеживаемыйТовар");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.СкладИспользоватьОрдернуюСхемуПриПоступлении", "ТаблицаТовары.Склад.ИспользоватьОрдернуюСхемуПриПоступлении");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.СкладДатаНачалаОрдернойСхемыПриПоступлении", "ТаблицаТовары.Склад.ДатаНачалаОрдернойСхемыПриПоступлении");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.АналитикаУчетаНоменклатурыНазначениеНаправлениеДеятельности", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.АналитикаУчетаНоменклатурыНоменклатура", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.АналитикаУчетаНоменклатурыХарактеристика", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.АналитикаУчетаНоменклатурыСерия", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.АналитикаУчетаНоменклатурыМестоХранения", "ТаблицаТовары.АналитикаУчетаНоменклатуры.МестоХранения");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.ОбъектРасчетовНаправлениеДеятельности", "ТаблицаТовары.ОбъектРасчетов.НаправлениеДеятельности");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.СкладЦеховаяКладовая", "ТаблицаТовары.Склад.ЦеховаяКладовая");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.АналитикаУчетаНоменклатурыНазначение", "ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.НазначениеТипНазначения", "ТаблицаТовары.Назначение.ТипНазначения");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаТовары.ВидЗапасовТипЗапасов", "ТаблицаТовары.ВидЗапасов.ТипЗапасов");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса, ДокументОбъект = Неопределено)
ИмяРегистра = "ВтТоварыКОформлениюДокументовИмпорта";
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА ТоварыКОформлениюДокументовИмпорта.ДокументПоступления <> ЗНАЧЕНИЕ(Документ.ПриобретениеТоваровУслуг.ПустаяСсылка)
| И ТоварыКОформлениюДокументовИмпорта.ДокументПоступления <> НЕОПРЕДЕЛЕНО
| ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ДокументПоступленияЗаполнен
|ПОМЕСТИТЬ ВтТоварыКОформлениюДокументовИмпорта
|ИЗ
| ДанныеДокументаШапка КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКОформлениюДокументовИмпорта КАК ТоварыКОформлениюДокументовИмпорта
| ПО ДанныеДокумента.Ссылка = ТоварыКОформлениюДокументовИмпорта.Регистратор
|ГДЕ
| ТоварыКОформлениюДокументовИмпорта.Регистратор = &Ссылка
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Ссылка,
| ТоварыКОформлениюДокументовИмпорта.ДокументПоступления";
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаШапка", "Документ.ПриобретениеТоваровУслуг");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТоварыВидыЗапасов(Запрос, ТекстыЗапроса, ДокументОбъект = Неопределено)
ИмяРегистра = "ВтТоварыВидыЗапасов";
ТекстЗапроса = "
|ВЫБРАТЬ
| Товары.АналитикаУчетаНоменклатуры,
| МАКСИМУМ(Товары.ВидЗапасов) КАК ВидЗапасов
|ПОМЕСТИТЬ ВтТоварыВидыЗапасов
|ИЗ
| ДанныеДокументаТаблицаТовары КАК Товары
|ГДЕ
| Товары.Ссылка = &Ссылка
|СГРУППИРОВАТЬ ПО
| Товары.АналитикаУчетаНоменклатуры
|";
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаТовары", "Документ.ПриобретениеТоваровУслуг.Товары");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса, ДокументОбъект = Неопределено)
ИмяРегистра = "ВтВидыЗапасов";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Неопределено, ДокументОбъект);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос, ДокументОбъект);
ТекстЗапросаВтТоварыВидыЗапасов(Запрос, ТекстыЗапроса, ДокументОбъект);
ТекстЗапроса = "
|ВЫБРАТЬ
| ЛОЖЬ КАК ВключениеНДСВСтоимость,
| ТЧВидыЗапасов.Ссылка КАК Ссылка,
| ТЧВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатура КАК Номенклатура,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры КАК ТипНоменклатуры,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНазначениеТипНазначения КАК АналитикаУчетаНоменклатурыНазначениеТипНазначения,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыХарактеристика КАК Характеристика,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыСерия КАК Серия,
| ТЧВидыЗапасов.НомерГТД КАК НомерГТД,
| ТЧВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ЕСТЬNULL(ТоварыВидыЗапасов.ВидЗапасов, ТЧВидыЗапасов.ВидЗапасовПолучателя) КАК ВидЗапасовПолучателя,
| ЕСТЬNULL(ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураПрослеживаемыйТовар, ЛОЖЬ) КАК ПрослеживаемыйТовар,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ ТЧВидыЗапасов.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| ТЧВидыЗапасов.Количество КАК Количество,
| ТЧВидыЗапасов.Цена КАК Цена,
| ТЧВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ТЧВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ТЧВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ТЧВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТЧВидыЗапасов.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ТЧВидыЗапасов.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ЕСТЬNULL(ТЧВидыЗапасов.АналитикаУчетаНоменклатурыСкладскаяТерриторияЦеховаяКладовая, ЛОЖЬ) КАК ЦеховаяКладовая,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНазначение КАК Назначение,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТЧВидыЗапасов.ЗаказПоставщику КАК ЗаказПоставщику,
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА ТЧВидыЗапасов.ИдентификаторСтроки
| ИНАЧЕ ТЧВидыЗапасов.ОбъектРасчетовУникальныйИдентификатор
| КОНЕЦ КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ТЧВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ЕСТЬNULL(ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНазначениеНаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) КАК НаправлениеДеятельности,
| ТЧВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ТЧВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ТЧВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ТЧВидыЗапасов.Подразделение КАК Подразделение,
|
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
|
| ЕСТЬNULL(АналитикаРасчетов.КлючАналитики, Неопределено) КАК АналитикаУчетаПоПартнерам,
|
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КОНЕЦ) КАК СуммаСНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КОНЕЦ) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК СуммаНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КОНЕЦ) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| ЕСТЬNULL(Суммы.БазаНДСРегл, 0) КАК БазаНДСРегл,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл - Суммы.СуммаБезНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК ВременнаяРазница,
|
| ВЫРАЗИТЬ(ТЧВидыЗапасов.СуммаРучнойСкидки * &КоэффициентПересчетаВВалютуУПР КАК ЧИСЛО(15,1)) КАК СуммаСкидки,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)
| КОНЕЦ КАК СтоимостьУпр,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры КАК АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатура КАК АналитикаУчетаНоменклатурыНоменклатура,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНазначение КАК АналитикаУчетаНоменклатурыНазначение
|
|ПОМЕСТИТЬ ВтВидыЗапасов
|ИЗ
| ДанныеДокументаТаблицаВидыЗапасов КАК ТЧВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ТЧВидыЗапасов.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ТЧВидыЗапасов.Ссылка = Суммы.Ссылка
| И ТЧВидыЗапасов.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатура = АналитикаБезНазначения.Номенклатура
| И ТЧВидыЗапасов.АналитикаУчетаНоменклатурыХарактеристика = АналитикаБезНазначения.Характеристика
| И ТЧВидыЗапасов.АналитикаУчетаНоменклатурыСерия = АналитикаБезНазначения.Серия
| И ТЧВидыЗапасов.АналитикаУчетаНоменклатурыМестоХранения = АналитикаБезНазначения.МестоХранения
| И (ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение)
| И (ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаБезНазначения.СтатьяКалькуляции)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТЧВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВидыЗапасов""
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаРасчетов
| ПО
| &Организация = АналитикаРасчетов.Организация
| И &Контрагент = АналитикаРасчетов.Контрагент
| И &Партнер = АналитикаРасчетов.Партнер
| И &Договор = АналитикаРасчетов.Договор
| И ВЫБОР
| КОГДА &РасчетыПоЗаказам
| ТОГДА ТЧВидыЗапасов.ЗаказПоставщику.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ = АналитикаРасчетов.НаправлениеДеятельности
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТоварыВидыЗапасов КАК ТоварыВидыЗапасов
| ПО ТоварыВидыЗапасов.АналитикаУчетаНоменклатуры = ТЧВидыЗапасов.АналитикаУчетаНоменклатуры
| И ТЧВидыЗапасов.ВидЗапасовПолучателя = ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
|ГДЕ
| ТЧВидыЗапасов.Ссылка = &Ссылка";
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаВидыЗапасов", "Документ.ПриобретениеТоваровУслуг.ВидыЗапасов");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаШапка", "Документ.ПриобретениеТоваровУслуг");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНазначениеТипНазначения", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.ТипНазначения");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыХарактеристика", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыСерия", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Серия");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураПрослеживаемыйТовар", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ПрослеживаемыйТовар");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыСкладскаяТерриторияЦеховаяКладовая", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.ОбъектРасчетовУникальныйИдентификатор", "ТЧВидыЗапасов.ОбъектРасчетов.УникальныйИдентификатор");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНазначениеНаправлениеДеятельности", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыМестоХранения", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатура", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНазначение", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтВидыЗапасовДляСоединенияАналитик(Запрос, ТекстыЗапроса, ДокументОбъект = Неопределено)
ИмяРегистра = "ВтВидыЗапасовДляСоединенияАналитик";
ТекстЗапроса =
"ВЫБРАТЬ
| ТЧВидыЗапасов.Ссылка КАК Ссылка,
| ТЧВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТЧВидыЗапасов.НомерГТД КАК НомерГТД,
| ТЧВидыЗапасов.Количество КАК Количество,
| ТЧВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТЧВидыЗапасов.ЗаказПоставщику КАК ЗаказПоставщику,
| ТЧВидыЗапасов.ВидЗапасовПолучателя КАК ВидЗапасовПолучателя,
| ТЧВидыЗапасов.Цена КАК Цена,
| ТЧВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ТЧВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ТЧВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ТЧВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТЧВидыЗапасов.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ТЧВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ТЧВидыЗапасов.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
| ТЧВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатуры КАК КлючАналитики,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатура КАК Номенклатура,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры КАК ТипНоменклатуры,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураПрослеживаемыйТовар КАК ПрослеживаемыйТовар,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыХарактеристика КАК Характеристика,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыСерия КАК Серия,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыМестоХранения КАК МестоХранения,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНазначение КАК Назначение,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыСтатьяКалькуляции КАК СтатьяКалькуляции,
| ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураВестиУчетПоГТД КАК ВестиУчетПоГТД,
| ТЧВидыЗапасов.ВидЗапасовОрганизация КАК ВидЗапасовОрганизация,
| ТЧВидыЗапасов.ВидЗапасовВладелецТовара КАК ВидЗапасовВладелецТовара,
| ТЧВидыЗапасов.ВидЗапасовНалогообложениеНДС КАК ВидЗапасовНалогообложениеНДС,
| ТЧВидыЗапасов.ВидЗапасовГруппаФинансовогоУчета КАК ВидЗапасовГруппаФинансовогоУчета,
| ТЧВидыЗапасов.ВидЗапасовГруппаПродукции КАК ВидЗапасовГруппаПродукции,
| ТЧВидыЗапасов.ВидЗапасовОблагаетсяАкцизом КАК ВидЗапасовОблагаетсяАкцизом,
| ТЧВидыЗапасов.ВидЗапасовПодразделениеПроизводства КАК ВидЗапасовПодразделениеПроизводства,
| ТЧВидыЗапасов.ВидЗапасовВидЦены КАК ВидЗапасовВидЦены
|ПОМЕСТИТЬ ВтВидыЗапасовДляСоединенияАналитик
|ИЗ
| ДанныеДокументаТаблицаВидыЗапасов КАК ТЧВидыЗапасов
|ГДЕ
| ТЧВидыЗапасов.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура,
| Характеристика,
| Серия,
| МестоХранения,
| Назначение,
| СтатьяКалькуляции";
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаВидыЗапасов", "Документ.ПриобретениеТоваровУслуг.ВидыЗапасов");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатура ", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураПрослеживаемыйТовар", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ПрослеживаемыйТовар");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыХарактеристика", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыСерия", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Серия");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыМестоХранения", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНазначение", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыСтатьяКалькуляции", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.СтатьяКалькуляции");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураВестиУчетПоГТД", "ТЧВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ВестиУчетПоГТД");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.ВидЗапасовОрганизация", "ТЧВидыЗапасов.ВидЗапасов.Организация");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.ВидЗапасовВладелецТовара", "ТЧВидыЗапасов.ВидЗапасов.ВладелецТовара");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.ВидЗапасовНалогообложениеНДС", "ТЧВидыЗапасов.ВидЗапасов.НалогообложениеНДС");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.ВидЗапасовГруппаФинансовогоУчета", "ТЧВидыЗапасов.ВидЗапасов.ГруппаФинансовогоУчета");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.ВидЗапасовГруппаПродукции", "ТЧВидыЗапасов.ВидЗапасов.ГруппаПродукции");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.ВидЗапасовОблагаетсяАкцизом", "ТЧВидыЗапасов.ВидЗапасов.ОблагаетсяАкцизом");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.ВидЗапасовПодразделениеПроизводства", "ТЧВидыЗапасов.ВидЗапасов.ПодразделениеПроизводства");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТЧВидыЗапасов.ВидЗапасовВидЦены", "ТЧВидыЗапасов.ВидЗапасов.ВидЦены");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТоварыДляСоединенияАналитик(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТоварыДляСоединенияАналитик";
ТекстЗапроса =
"ВЫБРАТЬ
| ТЧТовары.Ссылка КАК Ссылка,
| ТЧТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТЧТовары.НомерГТД КАК НомерГТД,
| СУММА(ТЧТовары.Количество) КАК Количество,
| СУММА(ТЧТовары.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| СУММА(ТЧТовары.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| СУММА(ТЧТовары.СуммаСНДС) КАК СуммаСНДС,
| ТЧТовары.СтавкаНДС КАК СтавкаНДС,
| ТЧТовары.Склад КАК Склад,
| ТЧТовары.ЗаказПоставщику КАК ЗаказПоставщику
|ПОМЕСТИТЬ ВтТоварыДляСоединенияАналитик
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ТЧТовары
|ГДЕ
| ТЧТовары.Ссылка = &Ссылка
|СГРУППИРОВАТЬ ПО
| ТЧТовары.Ссылка,
| ТЧТовары.АналитикаУчетаНоменклатуры,
| ТЧТовары.НомерГТД,
| ТЧТовары.СтавкаНДС,
| ТЧТовары.ЗаказПоставщику,
| ТЧТовары.Склад
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| АналитикаУчетаНоменклатуры,
| НомерГТД,
| ЗаказПоставщику,
| Склад";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВременнаяТаблицаКурсыВалют(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВременнаяТаблицаКурсыВалют";
ТекстЗапроса = "
|ВЫБРАТЬ
| ОтносительныеКурсыВалютСрезПоследних.Валюта КАК Валюта,
| ОтносительныеКурсыВалютСрезПоследних.КурсЧислитель КАК КурсЧислитель,
| ОтносительныеКурсыВалютСрезПоследних.КурсЗнаменатель КАК КурсЗнаменатель
|ПОМЕСТИТЬ ВременнаяТаблицаКурсыВалют
|ИЗ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(
| &Период,
| БазоваяВалюта В (ВЫБРАТЬ
| БазоваяВалютаПоУмолчанию.Значение КАК Значение
| ИЗ
| Константа.БазоваяВалютаПоУмолчанию КАК БазоваяВалютаПоУмолчанию)) КАК ОтносительныеКурсыВалютСрезПоследних
|
|ИНДЕКСИРОВАТЬ ПО
| Валюта
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВременнаяТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект)
ИмяРегистра = "ВременнаяТаблицаТовары";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВременнаяТаблицаКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| Товары.НоменклатураПартнера КАК НоменклатураПартнера,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| Товары.ВидЦеныПоставщикаВалюта КАК ВидЦеныПоставщикаВалюта,
| Товары.Упаковка КАК Упаковка,
| ВЫРАЗИТЬ(Товары.Цена
| * ВЫБОР
| КОГДА
| &Валюта <> ВидыЦенПоставщиков.Валюта
| ТОГДА
| ВЫБОР
| КОГДА ЕСТЬNULL(КурсыВалютыВидыЦеныПоставщика.КурсЗнаменатель, 0) > 0
| И ЕСТЬNULL(КурсыВалютыВидыЦеныПоставщика.КурсЧислитель, 0) > 0
| И ЕСТЬNULL(КурсыВалюты.КурсЗнаменатель, 0) > 0
| И ЕСТЬNULL(КурсыВалюты.КурсЧислитель, 0) > 0
| ТОГДА
| (КурсыВалюты.КурсЧислитель * КурсыВалютыВидыЦеныПоставщика.КурсЗнаменатель)
| / (КурсыВалютыВидыЦеныПоставщика.КурсЧислитель * КурсыВалюты.КурсЗнаменатель)
| ИНАЧЕ
| 0
| КОНЕЦ
| ИНАЧЕ
| 1
| КОНЕЦ КАК ЧИСЛО(31,2))
| КАК Цена
|ПОМЕСТИТЬ
| ВременнаяТаблицаТовары
|ИЗ
| ДанныеДокументаТаблицаТовары КАК Товары
|ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.ВидыЦенПоставщиков КАК ВидыЦенПоставщиков
|ПО
| ВидыЦенПоставщиков.Ссылка = Товары.ВидЦеныПоставщика
|ЛЕВОЕ СОЕДИНЕНИЕ
| ВременнаяТаблицаКурсыВалют КАК КурсыВалюты
|ПО
| КурсыВалюты.Валюта = &Валюта
|ЛЕВОЕ СОЕДИНЕНИЕ
| ВременнаяТаблицаКурсыВалют КАК КурсыВалютыВидыЦеныПоставщика
|ПО
| КурсыВалютыВидыЦеныПоставщика.Валюта = ВидыЦенПоставщиков.Валюта
|ГДЕ
| Товары.Ссылка = &Ссылка
| И &РегистрироватьЦеныПоставщика
| И (Товары.КодСтроки = 0 ИЛИ НЕ Товары.ЗаказПоставщику.РегистрироватьЦеныПоставщика)
|";
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаТовары", "Документ.ПриобретениеТоваровУслуг.Товары");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Товары.ЗаказПоставщикуРегистрироватьЦеныПоставщика", "Товары.ЗаказПоставщику.РегистрироватьЦеныПоставщика");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Товары.ВидЦеныПоставщикаВалюта", "Товары.ВидЦеныПоставщика.Валюта");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТоварыСРазличнымиУпаковкамиЦенами(Запрос, ТекстыЗапроса, ДокументОбъект)
ИмяРегистра = "ТоварыСРазличнымиУпаковкамиЦенами";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВременнаяТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| СРЕДНЕЕ(
| Товары.Цена / ВЫБОР
| КОГДА
| Товары.Упаковка <> ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА
| &ТекстЗапросаКоэффициентУпаковки
| ИНАЧЕ
| 1
| КОНЕЦ
| ) КАК ЦенаЗаБазовуюЕдиницу,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Товары.Упаковка) КАК КоличествоРазличныхУпаковок
|ПОМЕСТИТЬ
| ТоварыСРазличнымиУпаковкамиЦенами
|ИЗ
| ВременнаяТаблицаТовары КАК Товары
|СГРУППИРОВАТЬ ПО
| Номенклатура,
| Характеристика,
| ВидЦеныПоставщика
|";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстЗапросаКоэффициентУпаковки",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"Товары.Упаковка",
"Товары.Номенклатура"));
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаЦеныНоменклатурыПоставщиков(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект = Неопределено)
ИмяРегистра = "ЦеныНоменклатурыПоставщиков";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ДокументОбъект = Неопределено И НЕ ДокументОбъект.РегистрироватьЦеныПоставщика Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВременнаяТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ТоварыСРазличнымиУпаковкамиЦенами", ТекстыЗапроса) Тогда
ТекстЗапросаТоварыСРазличнымиУпаковкамиЦенами(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВременнаяТаблицаКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| МАКСИМУМ(Товары.НоменклатураПартнера) КАК НоменклатураПартнера,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| Товары.ВидЦеныПоставщикаВалюта КАК Валюта,
| &Период КАК Период,
| &Партнер КАК Партнер,
| МИНИМУМ(ВЫБОР
| КОГДА
| ТоварыСРазличнымиУпаковкамиЦенами.КоличествоРазличныхУпаковок > 1
| ТОГДА
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ИНАЧЕ
| Товары.Упаковка
| КОНЕЦ
| ) КАК Упаковка,
| ВЫРАЗИТЬ(СРЕДНЕЕ(ВЫБОР
| КОГДА
| ТоварыСРазличнымиУпаковкамиЦенами.КоличествоРазличныхУпаковок > 1
| ТОГДА
| ТоварыСРазличнымиУпаковкамиЦенами.ЦенаЗаБазовуюЕдиницу
| ИНАЧЕ
| Товары.Цена
| КОНЕЦ) КАК ЧИСЛО(31,2)) КАК Цена
|ИЗ
| ВременнаяТаблицаТовары КАК Товары
|ЛЕВОЕ СОЕДИНЕНИЕ
| ТоварыСРазличнымиУпаковкамиЦенами КАК ТоварыСРазличнымиУпаковкамиЦенами
|ПО
| Товары.Номенклатура = ТоварыСРазличнымиУпаковкамиЦенами.Номенклатура
| И Товары.Характеристика = ТоварыСРазличнымиУпаковкамиЦенами.Характеристика
| И Товары.ВидЦеныПоставщика = ТоварыСРазличнымиУпаковкамиЦенами.ВидЦеныПоставщика
|ЛЕВОЕ СОЕДИНЕНИЕ
| ВременнаяТаблицаКурсыВалют КАК КурсыВалюты
|ПО
| КурсыВалюты.Валюта = &Валюта
|ЛЕВОЕ СОЕДИНЕНИЕ
| ВременнаяТаблицаКурсыВалют КАК КурсыВалютыЦены
|ПО
| КурсыВалютыЦены.Валюта = Товары.ВидЦеныПоставщикаВалюта
|ГДЕ
| НЕ Товары.ВидЦеныПоставщика = ЗНАЧЕНИЕ(Справочник.ВидыЦенПоставщиков.ПустаяСсылка)
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.ВидЦеныПоставщика,
| Товары.ВидЦеныПоставщикаВалюта
|";
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Товары.ВидЦеныПоставщикаВалюта", "Товары.ВидЦеныПоставщика.Валюта");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос)
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУПР")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуРегл") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(
Запрос.Параметры.Валюта, Запрос.Параметры.ВалютаВзаиморасчетов, Запрос.Параметры.Период, Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУПР", Коэффициенты.КоэффициентПересчетаВВалютуУПР);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
КонецПроцедуры
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ТекстыЗапросаВременныхТаблиц = Новый Соответствие();
ПолноеИмяДокумента = "Документ.ПриобретениеТоваровУслуг";
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ЗначенияПараметров = Новый Структура();
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
ЗначенияПараметров.Вставить("ХозОперацииЗакупкаПоИмпорту",
ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту));
ЗначенияПараметров.Вставить("КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям",
ПолучитьФункциональнуюОпцию("КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям"));
ЗначенияПараметров.Вставить("ИспользоватьУчетПрослеживаемыхИмпортныхТоваров",
УчетПрослеживаемыхТоваровЛокализация.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров(Дата(1,1,1)));
ЗначенияПараметров.Вставить("ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров",
УчетПрослеживаемыхТоваровЛокализация.ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров());
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("ДоговорЯвляетсяРаспоряжением",
"ВЫБОР КОГДА ТаблицаТовары.Ссылка.ВариантПриемкиТоваров В (ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.МожетПроисходитьБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоЗаказамИНакладным),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоНакладным))
|ТОГДА
| ИСТИНА
| КОГДА ТаблицаТовары.Ссылка.ВариантПриемкиТоваров В (ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеЗаказовИлиНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеНакладных))
|ТОГДА
| ИСТИНА
|ИНАЧЕ
| ЛОЖЬ
|КОНЕЦ");
ПереопределениеРасчетаПараметров.Вставить("НакладнаяЯвляетсяРаспоряжением",
"ВЫБОР КОГДА ТаблицаТовары.Ссылка.ВариантПриемкиТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.РазделенаТолькоПоНакладным)
|ТОГДА
| ИСТИНА
|ИНАЧЕ
| ЛОЖЬ
|КОНЕЦ");
ПереопределениеРасчетаПараметров.Вставить("ДокументПоступления",
"ВЫБОР КОГДА ТаблицаТовары.Ссылка.ВариантПриемкиТоваров В (ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.МожетПроисходитьБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоЗаказамИНакладным),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоНакладным))
|ТОГДА
| ТаблицаТовары.Ссылка.Соглашение
|КОГДА ТаблицаТовары.Ссылка.ВариантПриемкиТоваров В (ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеЗаказовИлиНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеНакладных))
|ТОГДА
| ТаблицаТовары.Ссылка.Договор
|ИНАЧЕ
| ТаблицаТовары.Ссылка
|КОНЕЦ");
ПереопределениеРасчетаПараметров.Вставить("ПоДоговорамПослеНакладных",
"ВЫБОР КОГДА ТаблицаТовары.Ссылка.ВариантПриемкиТоваров В (ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоНакладным))
|ТОГДА
| ИСТИНА
|ИНАЧЕ
| ЛОЖЬ
|КОНЕЦ");
ПереопределениеРасчетаПараметров.Вставить("ХозяйственнаяОперацияКПоступлению",
"ВЫБОР
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути)
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаНеотфактурованнаяПоставка)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки)
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути)
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки)
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)
|КОНЕЦ");
ПереопределениеРасчетаПараметров.Вставить("ИспользуетсяДокументПоступлениеТоваров",
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация В(ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути))
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
|КОНЕЦ");
ПереопределениеРасчетаПараметров.Вставить("ИспользуетсяОперацияИмпортаТоварыВПутиИНеотфактуровка",
"ВЫБОР
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
|КОНЕЦ");
ПереопределениеРасчетаПараметров.Вставить("ИспользуетсяОперацияНеотфактуровка",
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки)
| ) ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
|КОНЕЦ");
ПереопределениеРасчетаПараметров.Вставить("Отправитель",
"ВЫБОР
| КОГДА Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА Ссылка.ПодотчетноеЛицо
| ИНАЧЕ Ссылка.Партнер
|КОНЕЦ");
Если ИмяРегистра = "ЗаказыПоставщикам" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаЗаказыПоставщикам(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ТаблицаТовары";
ИначеЕсли ИмяРегистра = "ЦеныНоменклатурыПоставщиков" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаЦеныНоменклатурыПоставщиков(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ТаблицаТовары";
ИначеЕсли ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
ИначеЕсли ИмяРегистра = "ТоварыОрганизаций" Тогда
ТекстыЗапросаВременныхТаблиц.Вставить("ВтВидыЗапасовДляСоединенияАналитик",
ТекстЗапросаВтВидыЗапасовДляСоединенияАналитик(Запрос, ТекстыЗапроса));
ТекстыЗапросаВременныхТаблиц.Вставить("ВтТоварыДляСоединенияАналитик",
ТекстЗапросаВтТоварыДляСоединенияАналитик(Запрос, ТекстыЗапроса));
ТекстЗапроса = ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ТаблицаТовары";
ИначеЕсли ИмяРегистра = "ТоварыКОформлениюДокументовИмпорта" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса, ИмяРегистра);
ТекстыЗапросаВременныхТаблиц.Вставить("ВтТоварыКОформлениюДокументовИмпорта",
ТекстЗапросаВТТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса));
ТекстыЗапросаВременныхТаблиц.Вставить("ВтВидыЗапасовДляСоединенияАналитик",
ТекстЗапросаВтВидыЗапасовДляСоединенияАналитик(Запрос, ТекстыЗапроса));
ТекстыЗапросаВременныхТаблиц.Вставить("ВтТоварыДляСоединенияАналитик",
ТекстЗапросаВтТоварыДляСоединенияАналитик(Запрос, ТекстыЗапроса));
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
Если ИмяРегистра = "ЗаказыПоставщикам" Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаДокументаОбновлениеИБ.Ссылка.", "ДанныеДокумента.");
КонецЕсли;
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект = Неопределено)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК ДатаДокументаИБ,
| ДанныеДокумента.Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Склад КАК МестоХранения,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Менеджер КАК Ответственный,
| ДанныеДокумента.Автор КАК Автор,
| ВЫРАЗИТЬ(ДанныеДокумента.Комментарий КАК Строка (100)) КАК Комментарий,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.СуммаДокумента КАК Сумма,
| НЕОПРЕДЕЛЕНО КАК Статус,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| ВЫБОР
| КОГДА ДанныеДокумента.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| ТОГДА """"
| ИНАЧЕ &ИнформацияПоДоговору
| КОНЕЦ КАК Дополнительно,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаПервичногоДокумента,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерПервичногоДокумента,
| ДанныеДокумента.НаименованиеВходящегоДокумента КАК НаименованиеПервичногоДокумента,
| ДанныеДокумента.Дата КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
Если НЕ ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Документ.ПриобретениеТоваровУслуг", "ДанныеДокументаШапка");
Иначе
ШаблонИнформацияПоДоговору = "ru = 'По договору %1'";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИнформацияПоДоговору", """" + ШаблонИнформацияПоДоговору + """");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%1", """" + " + ВЫРАЗИТЬ("""""""" КАК СТРОКА(1)) +
|ВЫРАЗИТЬ(ДанныеДокумента.Договор.Наименование КАК СТРОКА(150)) + ВЫРАЗИТЬ("""""""" КАК СТРОКА(1)) + "
+ """");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеАктивыПассивы.ТекстЗапросаТаблицаПрочиеАктивыПассивы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
Возврат;
КонецЕсли;
ХозОперацииЦенности = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
ХозОперацииТовары = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
МассивЗапросовЦенности = Новый Массив;
Если ХозОперацииЦенности.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо Тогда
ТекстЦенности =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Дата КАК Период,
| Товары.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Подразделение КАК Подразделение,
| ДанныеДокументаШапка.Контрагент КАК Контрагент,
| ДанныеДокументаШапка.Договор КАК Договор,
| ДанныеДокументаШапка.Грузоотправитель КАК Грузоотправитель,
| Товары.Ссылка КАК ДокументПриобретения,
| Товары.Ссылка КАК ИсходныйТорговыйДокумент,
| ЛОЖЬ КАК ИсправлениеОшибок,
| ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК УменьшитьСуммуНДСКВычету,
| НЕОПРЕДЕЛЕНО КАК ДокументКорректировкиПриобретения,
| ДанныеДокументаШапка.НалогообложениеНДС КАК НалогообложениеНДС,
| ДанныеДокументаШапка.ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
| Товары.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР КОГДА Товары.СписатьНаРасходы
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Товары.Номенклатура
| КОНЕЦ КАК Номенклатура,
| Товары.ВидЗапасов КАК ВидЗапасов,
| Товары.НомерГТД КАК НомерГТД,
| Товары.Подразделение КАК ПодразделениеУчета,
| ДанныеДокументаШапка.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЛОЖЬ КАК ПриобретениеНаПартиюПроизводства,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельностиПартииПроизводства,
| Товары.СписатьНаРасходы КАК СписатьНаРасходы,
| Товары.СтатьяРасходов КАК СтатьяРасходов,
| Товары.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК СтатьяПрочихАктивов,
| НЕОПРЕДЕЛЕНО КАК АналитикаПрочихАктивов,
| Товары.Назначение КАК Назначение,
| Товары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Товары.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаТовары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО Товары.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| (НЕ &ИспользуетсяДокументПоступлениеТоваров
| ИЛИ Товары.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)))
| И (ВЫБОР
| КОГДА ДанныеДокументаШапка.ВернутьМногооборотнуюТару
| ТОГДА Товары.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ)
| И Товары.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)";
МассивЗапросовЦенности.Добавить(ТекстЦенности);
КонецЕсли;
Если ХозОперацииЦенности.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет Тогда
ТекстЦенности =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Дата КАК Период,
| ВидыЗапасов.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Подразделение КАК Подразделение,
| ДанныеДокументаШапка.Контрагент КАК Контрагент,
| ДанныеДокументаШапка.Договор КАК Договор,
| ДанныеДокументаШапка.Грузоотправитель КАК Грузоотправитель,
| ВидыЗапасов.Ссылка КАК ДокументПриобретения,
| ВидыЗапасов.Ссылка КАК ИсходныйТорговыйДокумент,
| ЛОЖЬ КАК ИсправлениеОшибок,
| ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК УменьшитьСуммуНДСКВычету,
| НЕОПРЕДЕЛЕНО КАК ДокументКорректировкиПриобретения,
| ДанныеДокументаШапка.НалогообложениеНДС КАК НалогообложениеНДС,
| ДанныеДокументаШапка.ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатура КАК Номенклатура,
| ВидыЗапасов.ВидЗапасовПолучателя КАК ВидЗапасов,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеУчета,
| ДанныеДокументаШапка.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЛОЖЬ КАК ПриобретениеНаПартиюПроизводства,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельностиПартииПроизводства,
| НЕОПРЕДЕЛЕНО КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК СтатьяПрочихАктивов,
| НЕОПРЕДЕЛЕНО КАК АналитикаПрочихАктивов,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтВидыЗапасов КАК ВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО ВидыЗапасов.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| &ИспользуетсяДокументПоступлениеТоваров
| И (ВЫБОР
| КОГДА ДанныеДокументаШапка.ВернутьМногооборотнуюТару
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ)
| И ВидыЗапасов.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|";
МассивЗапросовЦенности.Добавить(ТекстЦенности);
КонецЕсли;
ТекстЦенности = "";
Если МассивЗапросовЦенности.Количество() > 0 Тогда
ТекстЦенности = СтрСоединить(МассивЗапросовЦенности, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
КонецЕсли;
ТекстТовары = "";
Если ХозОперацииТовары.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено Тогда
ТекстТовары =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Дата КАК Период,
| Товары.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Контрагент КАК Контрагент,
| Товары.Ссылка КАК ДокументПриобретения,
| Товары.Склад КАК Склад,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.Серия КАК Серия,
| Товары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| Товары.Количество КАК Количество,
| Товары.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ДанныеДокументаТаблицаТовары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО Товары.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Товары.НоменклатураТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
| И НЕ &ИспользуетсяДокументПоступлениеТоваров
| И НЕ &НоваяМеханикаСозданияЗаявленийОВвозе
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Дата КАК Период,
| Товары.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Контрагент КАК Контрагент,
| Товары.Ссылка КАК ДокументПриобретения,
| Товары.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Товары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| Товары.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| Товары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| Товары.Количество КАК Количество,
| Товары.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ДанныеДокументаТаблицаВидыЗапасов КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО Товары.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Товары.АналитикаУчетаНоменклатурыНоменклатураТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
| И &ИспользуетсяДокументПоступлениеТоваров
| И НЕ &НоваяМеханикаСозданияЗаявленийОВвозе
|";
КонецЕсли;
Если ТекстЦенности = "" И ТекстТовары = "" Тогда
Возврат;
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если ЗначениеЗаполнено(ТекстЦенности) Тогда
УчетНДСУП.ОтразитьПриобретениеУПоставщика(Запрос, ТекстыЗапроса, Регистры, ТекстЦенности);
КонецЕсли;
Если ЗначениеЗаполнено(ТекстТовары) Тогда
УчетИмпорта.ОтразитьВвозТоваровИзТаможенногоСоюза(Запрос, ТекстыЗапроса, Регистры, ТекстТовары);
КонецЕсли;
КонецПроцедуры
Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ХозОперацииЗакупкаУПоставщика = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
ХозОперацииЗакупкаПоИмпорту = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
ХозОперацииЗакупкаВСтранахЕАЭС = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
#Область КурсыВалютДокумента
ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";
ТекстЗапросаКурсыВалютДокументаНаправленияДеятельности = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.ДатаКурсаВалютыДокумента КАК ДатаКурса,
| ОбъектыРасчетовДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| (ВЫБРАТЬ
| ЭтапыГрафикаОплаты.ОбъектРасчетов КАК ОбъектРасчетов
| ИЗ
| ДанныеДокументаТаблицаЭтапыГрафикаОплаты КАК ЭтапыГрафикаОплаты
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РасшифровкаПлатежа.ОбъектРасчетов КАК ОбъектРасчетов
| ИЗ
| ДанныеДокументаТаблицаРасшифровкаПлатежа КАК РасшифровкаПлатежа
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокументаШапка.ОбъектРасчетовУпр КАК ОбъектРасчетов
| ИЗ
| ДанныеДокументаШапка КАК ДанныеДокументаШапка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТаблицаТовары.ОбъектРасчетов КАК ОбъектРасчетов
| ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТаблицаТовары.ЗаказПоставщику.ОбъектРасчетов КАК ОбъектРасчетов
| ИЗ
| ДанныеДокументаТаблицаТовары КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО ДанныеДокументаШапка.Ссылка = ТаблицаТовары.Ссылка
| И ДанныеДокументаШапка.ПоступлениеПоЗаказам
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокументаШапка.Договор.ОбъектРасчетов КАК ОбъектРасчетов
| ИЗ
| ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ГДЕ
| ДанныеДокументаШапка.ПорядокРасчетов = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоДоговорамНакладным)
| ) КАК ОбъектыРасчетовДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО ИСТИНА
|ГДЕ
| ОбъектыРасчетовДокумента.ОбъектРасчетов <> ЗНАЧЕНИЕ(Справочник.ОбъектыРасчетов.ПустаяСсылка)
|";
ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокументаНаправленияДеятельности);
ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
#КонецОбласти
#Область Закупка
Если НЕ (ХозОперацииЗакупкаУПоставщика.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ХозОперацииЗакупкаПоИмпорту.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ХозОперацииЗакупкаВСтранахЕАЭС.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет) Тогда
ТекстЗакупка = "";
Иначе
ТекстЗакупка = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Партнер КАК Партнер,
| ДанныеДокументаШапка.Дата КАК ДатаРегистратора,
| ДанныеДокументаШапка.Номер КАК НомерРегистратора,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
| Таблица.ВариантОплаты КАК ВариантОплаты,
| ВЫБОР КОГДА Таблица.СверхЗаказа
| ТОГДА Неопределено
| ИНАЧЕ Таблица.Заказ
| КОНЕЦ КАК ЗаказЗакупки,
| Таблица.СуммаПлатежа
| + Таблица.СуммаЗалогаЗаТару КАК Сумма,
| Таблица.СуммаВзаиморасчетов
| + Таблица.СуммаВзаиморасчетовПоТаре КАК СуммаВзаиморасчетов,
| Таблица.СуммаВзаиморасчетовПоТаре КАК СуммаВзаиморасчетовПоТаре,
|
| ДанныеДокументаШапка.ПорядокРасчетов КАК ПорядокРасчетов,
| ДанныеДокументаШапка.ПоступлениеПоЗаказам КАК НакладнаяПоЗаказам,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокументаШапка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокументаШапка.ФормаОплаты КАК ФормаОплаты,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ДатаКурсаВалютыДокумента КАК ДатаКурса,
| Неопределено КАК СвязанныйДокумент
|ИЗ
| ДанныеДокументаТаблицаЭтапыГрафикаОплаты КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|";
КонецЕсли;
#КонецОбласти
#Область УвеличениеПланаОплаты
Если НЕ (ХозОперацииЗакупкаУПоставщика.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ХозОперацииЗакупкаПоИмпорту.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ХозОперацииЗакупкаВСтранахЕАЭС.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет) Тогда
ТекстПланОплаты = "";
Иначе
ТекстПланОплаты = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Партнер КАК Партнер,
| ДанныеДокументаШапка.Дата КАК ДатаРегистратора,
| ДанныеДокументаШапка.Номер КАК НомерРегистратора,
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.ПорядокРасчетов КАК ПорядокРасчетов,
| ДанныеДокументаШапка.ПоступлениеПоЗаказам КАК НакладнаяПоЗаказам,
| Таблица.СверхЗаказа КАК СверхЗаказа,
| Таблица.Заказ КАК ЗаказЗакупки,
| Таблица.СуммаВзаиморасчетов + Таблица.СуммаВзаиморасчетовПоТаре КАК КОплате,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокументаШапка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокументаШапка.ФормаОплаты КАК ФормаОплаты,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| Таблица.ВариантОплаты КАК ВариантОплаты,
| Неопределено КАК СвязанныйДокумент
|ИЗ
| ДанныеДокументаТаблицаЭтапыГрафикаОплаты КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|";
КонецЕсли;
#КонецОбласти
#Область ТекстТовары
Если НЕ (ХозОперацииЗакупкаУПоставщика.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ХозОперацииЗакупкаПоИмпорту.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ХозОперацииЗакупкаВСтранахЕАЭС.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию) Тогда
ТекстТовары = "";
Иначе
ТекстТовары = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Партнер КАК Партнер,
| ДанныеДокументаШапка.Дата КАК ДатаРегистратора,
| ДанныеДокументаШапка.Номер КАК НомерРегистратора,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.ПорядокРасчетов КАК ПорядокРасчетов,
| ДанныеДокументаШапка.ПоступлениеПоЗаказам КАК НакладнаяПоЗаказам,
| Таблица.КодСтроки = 0 КАК СверхЗаказа,
| Таблица.ЗаказПоставщику КАК ЗаказЗакупки,
| Таблица.СуммаВзаиморасчетов КАК УвеличитьКПоступлению,
| Таблица.СуммаВзаиморасчетов КАК УменьшитьКПоступлению,
| ВЫБОР КОГДА ДанныеДокументаШапка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА 0
| ИНАЧЕ Таблица.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокументаШапка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента
|ИЗ
| ДанныеДокументаТаблицаТовары КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| (Таблица.НоменклатураТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ ДанныеДокументаШапка.ТребуетсяЗалогЗаТару
| ИЛИ НЕ ДанныеДокументаШапка.ВернутьМногооборотнуюТару)
| И НЕ (Таблица.НоменклатураТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ Таблица.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| И Таблица.НазначениеТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
|";
КонецЕсли;
#КонецОбласти
#Область ЗачетАвансов
ТекстЗачетАванса = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Партнер КАК Партнер,
|
| ОбъектыРасчетов.Ссылка КАК ОбъектРасчетовПриемник,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетовИсточник,
|
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| Таблица.Сумма КАК Сумма,
|
| ДанныеДокументаШапка.Дата КАК ДатаРегистратора,
| ДанныеДокументаШапка.ДатаКурсаВалютыДокумента КАК ДатаКурса,
| ДанныеДокументаШапка.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносАванса) КАК ХозяйственнаяОперация
|
|ИЗ
| ДанныеДокументаТаблицаРасшифровкаПлатежа КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Объект = Таблица.Ссылка
| И ОбъектыРасчетов.Организация = ДанныеДокументаШапка.Организация
| И НЕ ОбъектыРасчетов.ТолькоОстатки
| И НЕ ОбъектыРасчетов.ПометкаУдаления
|";
#КонецОбласти
ВзаиморасчетыСервер.ПроведениеЗакупки(Запрос, ТекстыЗапроса, Регистры, ТекстЗакупка, ТекстПланОплаты, ТекстЗачетАванса, ТекстТовары);
#Область ПриобретениеТолькоРегл
Если НЕ (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет) Тогда
ТекстОплата = "";
Иначе
ТекстОплата = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация) КАК Организация,
| Таблица.Партнер КАК Партнер,
|
| Таблица.ОбъектРасчетовУпр КАК ОбъектРасчетов,
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
| Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.Валюта КАК ВалютаДокумента,
| Таблица.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
|
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Таблица.СуммаДокумента КАК Сумма,
| 0 КАК СуммаРегл,
| 0 КАК СуммаУпр,
| 0 КАК УменьшениеОплачивается,
| 0 КАК УвеличениеОплачивается,
|
| ДАТАВРЕМЯ(1,1,1) КАК ДатаПогашения,
| Таблица.ДатаКурсаВалютыДокумента КАК ДатаКурса,
| Неопределено КАК ФормаОплаты,
| Неопределено КАК СтатьяДвиженияДенежныхСредств,
| Неопределено КАК СвязанныйДокумент,
| Неопределено КАК ЗаявкаНаРасходованиеДенежныхСредств,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| Неопределено КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК Таблица
|ГДЕ
| Таблица.ОбъектРасчетовУпр <> ЗНАЧЕНИЕ(Справочник.ОбъектыРасчетов.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация) КАК Организация,
| ДанныеДокументаШапка.Партнер КАК Партнер,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Дата КАК ДатаРегистратора,
| ДанныеДокументаШапка.Номер КАК НомерРегистратора,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
|
| Таблица.Сумма КАК СуммаВзаиморасчетов,
| Таблица.Сумма КАК Сумма,
| 0 КАК СуммаРегл,
| 0 КАК СуммаУпр,
| 0 КАК УменьшениеОплачивается,
| 0 КАК УвеличениеОплачивается,
|
| ДАТАВРЕМЯ(1,1,1) КАК ДатаПогашения,
| ДанныеДокументаШапка.ДатаКурсаВалютыДокумента КАК ДатаКурса,
| Неопределено КАК ФормаОплаты,
| Неопределено КАК СтатьяДвиженияДенежныхСредств,
| Неопределено КАК СвязанныйДокумент,
| Неопределено КАК ЗаявкаНаРасходованиеДенежныхСредств,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| Неопределено КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаТаблицаРасшифровкаПлатежа КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Таблица.ОбъектРасчетовОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
| И ДанныеДокументаШапка.ОбъектРасчетовУпр = ЗНАЧЕНИЕ(Справочник.ОбъектыРасчетов.ПустаяСсылка)
|";
КонецЕсли;
#КонецОбласти
ВзаиморасчетыСервер.ПроведениеОплатыПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстОплата);
КонецПроцедуры
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
Если Запрос <> Неопределено Тогда
ИнициализироватьКлючиАналитикиУчетаПоПартнерам(Запрос);
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВтТаблицаТовары");
ДополнительныеТаблицы.Добавить("ВтВидыЗапасов");
Если Запрос <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, Документ);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[1], ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса, Документ);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(ДокументОбъект) Экспорт
ОписаниеОпераций = Новый Массив;
#Область ВнешнееПоступление_Товар
Если НЕ ДокументОбъект = Неопределено
И (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22 И НЕ &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА 0
| КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| И (&ПартионныйУчетВерсии22 ИЛИ НЕ &ФИФОСкользящаяОценка)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА 0
| КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| И (&ПартионныйУчетВерсии22 ИЛИ НЕ &ФИФОСкользящаяОценка)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансовая,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.СуммаНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.ВременнаяРазница
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ТаблицаДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаТовары КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаВидыЗапасов.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И (ТаблицаВидыЗапасов.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| ИЛИ НЕ ТаблицаВидыЗапасов.НазначениеТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
| И ТаблицаВидыЗапасов.Количество >= 0";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
#Область ВнешнееПоступление_ВозвратТовар
Если НЕ ДокументОбъект = Неопределено
И (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| -ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА 0
| КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| И (&ПартионныйУчетВерсии22 ИЛИ НЕ &ФИФОСкользящаяОценка)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК Стоимость,
| -ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА 0
| КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| И (&ПартионныйУчетВерсии22 ИЛИ НЕ &ФИФОСкользящаяОценка)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьБезНДС,
| -ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| -ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| -ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| -ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| -ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансовая,
| -ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.СуммаНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| ИНАЧЕ ВЫБОР КОГДА ТаблицаВидыЗапасов.ЦеховаяКладовая
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах)
| КОНЕЦ
| КОНЕЦ КАК РазделУчета,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровПоставщику) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаТовары КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаВидыЗапасов.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И (ТаблицаВидыЗапасов.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| ИЛИ НЕ ТаблицаВидыЗапасов.НазначениеТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
| И ТаблицаВидыЗапасов.Количество < 0";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
#Область ВнешнееПоступление_ТоварПодПринципала
Если НЕ ДокументОбъект = Неопределено
И (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК НДСРегл,
| 0 КАК СтоимостьУпр,
| 0 КАК НДСУпр,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК СтоимостьЗабалансовая,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл
| + ТаблицаВидыЗапасов.СуммаНДСРегл КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемкаПодПринципала) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаТовары КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаВидыЗапасов.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И ТаблицаВидыЗапасов.НазначениеТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
#Область ВнешнееПоступление_ТоварВПути
Если НЕ ДокументОбъект = Неопределено
И (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.ВременнаяРазница
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ТаблицаДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаВидыЗапасов.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И ТаблицаВидыЗапасов.Количество >= 0";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
#Область ВнешнееПоступление_ВозвратТоварВПути
Если НЕ ДокументОбъект = Неопределено
И (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| -ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| -ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| -ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| -ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| -ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| -ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.СобственныеТоварыВПути) КАК РазделУчета,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровПоставщику) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаВидыЗапасов.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И ТаблицаВидыЗапасов.Количество < 0";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
#Область ВнешнееПоступление_Работы_РеглУчет
Если НЕ ДокументОбъект = Неопределено
И (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация) КАК Организация,
| (ВЫБОР
| КОГДА &АналитикаУчетаНоменклатурыБезНазначенияУпр
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КОНЕЦ) КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| -ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| -ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| -ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| 0 КАК НДСРегл,
| -ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.ВременнаяРазница
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ТаблицаДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаТовары КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаВидыЗапасов.Номенклатура.ПрослеживаемыйТовар
| И (ТаблицаВидыЗапасов.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) ИЛИ
| ТаблицаВидыЗапасов.НазначениеТипНазначения <> ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
#Область ВнешнееПоступление_Работы
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР КОГДА НЕ (&ПартионныйУчетВерсии22 И ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию))
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА НЕ (&ПартионныйУчетВерсии22 И ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию))
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22 И ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансовая,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22 И ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.СуммаНДСРегл
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСРегл
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.ВременнаяРазница
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ТаблицаДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаТовары КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ &НеотфактурованныеПоставкиУслугРабот
| И (ТаблицаВидыЗапасов.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) ИЛИ
| ТаблицаВидыЗапасов.НазначениеТипНазначения <> ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_НеотфактурованныеПоставки
Если НЕ ДокументОбъект = Неопределено
И (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.ВременнаяРазница
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ТаблицаДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаВидыЗапасов.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
#Область ВнешнееПоступление_НеотфактурованныеПоставки_РаботУслуг
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.ВременнаяРазница
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
|
| ТаблицаДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаТовары КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаВидыЗапасов.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))
| И &НеотфактурованныеПоставкиУслугРабот
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область Реализация_Товар_РеглУчет
Если НЕ ДокументОбъект = Неопределено
И (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация) КАК Организация,
| (ВЫБОР
| КОГДА &АналитикаУчетаНоменклатурыБезНазначенияУпр
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КОНЕЦ) КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидДеятельностиНДС,
| ТаблицаДокумента.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаДокумента.Организация КАК КорОрганизация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасовПолучателя КАК КорВидЗапасов,
| ТаблицаДокумента.Ссылка КАК КорПартия,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПоПартнерам,
| НЕОПРЕДЕЛЕНО КАК ЗаказКлиента,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ТаблицаДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаВидыЗапасов.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ИЛИ (ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаВидыЗапасов.Номенклатура.ПрослеживаемыйТовар)
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "Накладная";
КомандаПечати.Представление = НСтр("ru = 'Приобретение товаров'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "ПриходнаяНакладная";
КомандаПечати.Представление = НСтр("ru = 'Приходная накладная'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "Акт";
КомандаПечати.Представление = НСтр("ru = 'Акт об оказании услуг'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати = Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ДобавитьКомандуПечати(КомандыПечати,
"ЗаданиеНаРазмещение");
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(КомандаПечати,
"ХозяйственнаяОперация",
Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет,
ВидСравнения.НеРавно);
Если ПраваПользователяПовтИсп.ПечатьЭтикетокИЦенников() Тогда
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Обработчик = "УправлениеПечатьюУТКлиент.ПечатьЭтикетокИЦенников";
КомандаПечати.МенеджерПечати = "Документ.ПриобретениеТоваровУслуг";
КомандаПечати.Идентификатор = "Ценники";
КомандаПечати.Представление = НСтр("ru = 'Ценники'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Обработчик = "УправлениеПечатьюУТКлиент.ПечатьЭтикетокИЦенников";
КомандаПечати.МенеджерПечати = "Документ.ПриобретениеТоваровУслуг";
КомандаПечати.Идентификатор = "Этикетки";
КомандаПечати.Представление = НСтр("ru = 'Этикетки'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КонецЕсли;
ПриобретениеТоваровУслугЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Накладная") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Накладная", НСтр("ru = 'Накладная'"), СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПриходнаяНакладная") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПриходнаяНакладная", НСтр("ru = 'Приходная накладная'"), СформироватьПечатнуюФормуПриходнаяНакладная(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Акт") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Акт", НСтр("ru = 'Акт об оказании услуг'"), СформироватьПечатнуюФормуАктОбОказанииУслуг(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);
ПриобретениеТоваровУслугЛокализация.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
КонецПроцедуры
Функция СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати)
КолонкаКодов = ФормированиеПечатныхФорм.ДополнительнаяКолонкаПечатныхФормДокументов();
ИмяКолонкиКодов = КолонкаКодов.ИмяКолонки;
ПредставлениеКолонкиКодов = КолонкаКодов.ПредставлениеКолонки;
ВыводитьКоды = ЗначениеЗаполнено(ИмяКолонкиКодов);
ИспользоватьРучныеСкидки = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВЗакупках");
Запрос = Новый Запрос("
|////////////////////////////////////////////////////////////////////////////
|// ЗАПРОС ПО ШАПКЕ
|
|ВЫБРАТЬ
| ПриобретениеТоваровУслуг.Ссылка КАК Ссылка,
| ПриобретениеТоваровУслуг.Номер КАК Номер,
| ПриобретениеТоваровУслуг.Дата КАК Дата,
| ПриобретениеТоваровУслуг.Партнер КАК Партнер,
| ПриобретениеТоваровУслуг.Контрагент КАК Поставщик,
| ПриобретениеТоваровУслуг.Организация КАК Организация,
| ПриобретениеТоваровУслуг.Организация.Префикс КАК Префикс,
| ПриобретениеТоваровУслуг.Валюта КАК Валюта,
| ПриобретениеТоваровУслуг.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ПриобретениеТоваровУслуг.Принял КАК ПолучениеПроизвел,
| ВЫБОР
| КОГДА
| ПриобретениеТоваровУслуг.НалогообложениеНДС В (ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭлектронныеУслуги))
| ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК УчитыватьНДС
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
|
|ГДЕ
| ПриобретениеТоваровУслуг.Ссылка В (&МассивДокументов)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////
|// ЗАПРОС ПО ТАБЛИЧНЫМ ЧАСТЯМ
|
|ВЫБРАТЬ
| ВложенныйЗапрос.Ссылка КАК Ссылка,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК ТоварНаименованиеПолное,
| ВложенныйЗапрос.Номенклатура.Код КАК Код,
| ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул,
| ВложенныйЗапрос.ЕдиницаИзмерения.Наименование КАК ЕдиницаЦены,
| ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ВложенныйЗапрос.Характеристика.НаименованиеПолное КАК Характеристика,
| ВложенныйЗапрос.Серия.Наименование КАК Серия,
| ВЫБОР КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) = 1
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВложенныйЗапрос.Упаковка.Наименование
| КОНЕЦ КАК Упаковка,
| ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС,
| ВложенныйЗапрос.Цена КАК Цена,
| ВложенныйЗапрос.Количество КАК Количество,
| ВложенныйЗапрос.Сумма КАК Сумма,
| ВложенныйЗапрос.СуммаНДС КАК СуммаНДС,
| ВложенныйЗапрос.СуммаСкидки КАК СуммаСкидки,
| ВложенныйЗапрос.СуммаБезСкидки КАК СуммаБезСкидки,
| ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА
| ВложенныйЗапрос.Ссылка.ВернутьМногооборотнуюТару
| И ВложенныйЗапрос.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ЭтоВозвратнаяТара
|ИЗ (
| ВЫБРАТЬ
| ПриобретениеТоваровУслуг.Ссылка КАК Ссылка,
| ПриобретениеТоваровУслуг.Номенклатура КАК Номенклатура,
|
| ВЫБОР КОГДА ПриобретениеТоваровУслуг.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА
| 1
| ИНАЧЕ
| &ТекстЗапросаКоэффициентУпаковки2
| КОНЕЦ КАК Коэффициент,
|
| ВЫБОР КОГДА ПриобретениеТоваровУслуг.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА
| ПриобретениеТоваровУслуг.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ
| ПриобретениеТоваровУслуг.Упаковка
| КОНЕЦ КАК ЕдиницаИзмерения,
|
| ПриобретениеТоваровУслуг.ПроцентРучнойСкидки КАК ПроцентСкидки,
| ПриобретениеТоваровУслуг.Характеристика КАК Характеристика,
| ПриобретениеТоваровУслуг.Серия КАК Серия,
| ПриобретениеТоваровУслуг.Упаковка КАК Упаковка,
| ПриобретениеТоваровУслуг.СтавкаНДС КАК СтавкаНДС,
| ПриобретениеТоваровУслуг.Цена КАК Цена,
| ПриобретениеТоваровУслуг.КоличествоУпаковок КАК Количество,
| ПриобретениеТоваровУслуг.Сумма КАК Сумма,
| ПриобретениеТоваровУслуг.СуммаРучнойСкидки КАК СуммаСкидки,
| ПриобретениеТоваровУслуг.Сумма +
| ПриобретениеТоваровУслуг.СуммаРучнойСкидки КАК СуммаБезСкидки,
| ПриобретениеТоваровУслуг.СуммаНДС КАК СуммаНДС,
| ПриобретениеТоваровУслуг.НомерСтроки КАК НомерСтроки
| ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслуг
| ГДЕ
| ПриобретениеТоваровУслуг.Ссылка В (&МассивДокументов)
| И ПриобретениеТоваровУслуг.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
|) КАК ВложенныйЗапрос
|
|УПОРЯДОЧИТЬ ПО
| ВложенныйЗапрос.Ссылка,
| НомерСтроки
|
|ИТОГИ
| СУММА(СуммаСкидки)
|ПО
| Ссылка
|");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ВложенныйЗапрос.Упаковка",
"ВложенныйЗапрос.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки2",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ПриобретениеТоваровУслуг.Упаковка",
"ПриобретениеТоваровУслуг.Номенклатура"));
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриобретениеТоваровУслуг_Накладная";
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатДанныеПечати = МассивРезультатов[0];
РезультатВыборкаПоДокументам = МассивРезультатов[1];
ДанныеПечати = РезультатДанныеПечати.Выбрать();
ВыборкаПоДокументам = РезультатВыборкаПоДокументам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ПервыйДокумент = Истина;
Пока ДанныеПечати.Следующий() Цикл
СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
НайденСледующий = ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска);
Если НайденСледующий Тогда
ВыборкаПоТоварам = ВыборкаПоДокументам.Выбрать();
ЗаголовокСкидки = ФормированиеПечатныхФорм.НужноВыводитьСкидки(ВыборкаПоТоварам, ИспользоватьРучныеСкидки);
ЕстьСкидки = ЗаголовокСкидки.ЕстьСкидки;
ВыборкаПоТоварам.Сбросить();
Иначе
Продолжить;
КонецЕсли;
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ПриобретениеТоваровУслуг.ПФ_MXL_ПоступлениеТоваров");
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
СтруктураДанныхШапки = Новый Структура;
СтруктураДанныхШапки.Вставить("ТекстЗаголовка", ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(
ДанныеПечати,
НСтр("ru = 'Приобретение товаров'", ОбщегоНазначения.КодОсновногоЯзыка())));
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
СтруктураДанныхПоставщик = Новый Структура;
ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Поставщик, ДанныеПечати.Дата), "ПолноеНаименование");
СтруктураДанныхПоставщик.Вставить("ПредставлениеПоставщика", ПредставлениеПоставщика);
СтруктураДанныхПоставщик.Вставить("Поставщик", ДанныеПечати.Поставщик);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПоставщик);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
СтруктураДанныхПокупатель = Новый Структура;
ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата), "ПолноеНаименование");
СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Организация);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
ТабличныйДокумент.Вывести(ОбластьМакета);
Если ЕстьСкидки Тогда
ОбластьКолонкаТовар = Макет.Область("ТоварСоСкидкой");
Иначе
ОбластьКолонкаТовар = Макет.Область("Товар");
КонецЕсли;
Если Не ВыводитьКоды Тогда
Если ЕстьСкидки Тогда
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки * 1.35;
Иначе
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки * 1.2;
КонецЕсли;
КонецЕсли;
Если ЕстьСкидки Тогда
ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицыСоСкидкой|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицыСоСкидкой|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицыСоСкидкой|ТоварСоСкидкой");
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицыСоСкидкой|ДанныеСоСкидкой");
СтруктураЗаголовокСкидки = Новый Структура("Скидка, СуммаБезСкидки",
ЗаголовокСкидки.Скидка,
ЗаголовокСкидки.СуммаСкидки);
ОбластьДанных.Параметры.Заполнить(СтруктураЗаголовокСкидки);
Иначе
ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы|Товар");
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
СтруктураДанныхКоды = Новый Структура("ИмяКолонкиКодов", ПредставлениеКолонкиКодов);
ОбластьКодов.Параметры.Заполнить(СтруктураДанныхКоды);
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
ТабличныйДокумент.Присоединить(ОбластьДанных);
Если ЕстьСкидки Тогда
ОбластьНомера = Макет.ПолучитьОбласть("СтрокаТаблицыСоСкидкой|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("СтрокаТаблицыСоСкидкой|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("СтрокаТаблицыСоСкидкой|ТоварСоСкидкой");
ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТаблицыСоСкидкой|ДанныеСоСкидкой");
Иначе
ОбластьНомера = Макет.ПолучитьОбласть("СтрокаТаблицы|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("СтрокаТаблицы|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("СтрокаТаблицы|Товар");
ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТаблицы|Данные");
КонецЕсли;
Сумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
НомерСтроки = 0;
ВсегоБезСкидок = 0;
Пока ВыборкаПоТоварам.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;
СтруктураДанныхНомерСтроки = Новый Структура("НомерСтроки", НомерСтроки);
ОбластьНомера.Параметры.Заполнить(СтруктураДанныхНомерСтроки);
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
СтруктураДанныхКоды = Новый Структура("Артикул", ВыборкаПоТоварам[ИмяКолонкиКодов]);
ОбластьКодов.Параметры.Заполнить(СтруктураДанныхКоды);
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ОбластьТовар.Параметры.Заполнить(ВыборкаПоТоварам);
ДополнительныеПараметрыПолученияНаименованияДляПечати = НоменклатураКлиентСервер.ДополнительныеПараметрыПредставлениеНоменклатурыДляПечати();
ДополнительныеПараметрыПолученияНаименованияДляПечати.ВозвратнаяТара = ВыборкаПоТоварам.ЭтоВозвратнаяТара;
ДополнительныеПараметрыПолученияНаименованияДляПечати.КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
Товар = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ВыборкаПоТоварам.ТоварНаименованиеПолное,
ВыборкаПоТоварам.Характеристика,
,
ВыборкаПоТоварам.Серия,
ДополнительныеПараметрыПолученияНаименованияДляПечати);
СтруктураДанныхТовар = Новый Структура("Товар", Товар);
ОбластьТовар.Параметры.Заполнить(СтруктураДанныхТовар);
ТабличныйДокумент.Присоединить(ОбластьТовар);
ОбластьДанных.Параметры.Заполнить(ВыборкаПоТоварам);
Если ЗаголовокСкидки.ЕстьСкидки Тогда
СтруктураДанныхСуммаСкидки = Новый Структура("СуммаСкидки",
?(ЗаголовокСкидки.ТолькоНаценка,- ВыборкаПоТоварам.СуммаСкидки,ВыборкаПоТоварам.СуммаСкидки));
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхСуммаСкидки);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьДанных);
Сумма = Сумма + ВыборкаПоТоварам.Сумма;
СуммаНДС = СуммаНДС + ВыборкаПоТоварам.СуммаНДС;
Если ЕстьСкидки Тогда
ВсегоСкидок = ВсегоСкидок + ВыборкаПоТоварам.СуммаСкидки;
ВсегоБезСкидок = ВсегоБезСкидок + ВыборкаПоТоварам.СуммаБезСкидки;
КонецЕсли;
КонецЦикла;
Если ЕстьСкидки Тогда
ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицыСоСкидкой|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ПодвалТаблицыСоСкидкой|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ПодвалТаблицыСоСкидкой|ТоварСоСкидкой");
ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицыСоСкидкой|ДанныеСоСкидкой");
Иначе
ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицы|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ПодвалТаблицы|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ПодвалТаблицы|Товар");
ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицы|Данные");
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
СтруктураДанныхВсегоСкидки = Новый Структура;
Если ЕстьСкидки Тогда
СтруктураДанныхВсегоСкидки.Вставить("ВсегоСкидок", ?(ЗаголовокСкидки.ТолькоНаценка,-ВсегоСкидок, ВсегоСкидок));
СтруктураДанныхВсегоСкидки.Вставить("ВсегоБезСкидок", ВсегоБезСкидок);
КонецЕсли;
СтруктураДанныхВсегоСкидки.Вставить("Всего", ФормированиеПечатныхФорм.ФорматСумм(Сумма));
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхВсегоСкидки);
ТабличныйДокумент.Присоединить(ОбластьДанных);
Если ДанныеПечати.УчитыватьНДС Тогда
Если ЕстьСкидки Тогда
ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицыНДССоСкидкой|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ПодвалТаблицыНДССоСкидкой|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ПодвалТаблицыНДССоСкидкой|ТоварСоСкидкой");
ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицыНДССоСкидкой|ДанныеСоСкидкой");
Иначе
ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|Товар");
ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|Данные");
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
СтруктураДанныхНДС = Новый Структура;
СтруктураДанныхНДС.Вставить("ВсегоНДС", ФормированиеПечатныхФорм.ФорматСумм(СуммаНДС));
СтруктураДанныхНДС.Вставить("НДС", ?(ДанныеПечати.ЦенаВключаетНДС,
НСтр("ru = 'В том числе НДС:'", ОбщегоНазначения.КодОсновногоЯзыка()),
НСтр("ru = 'Сумма НДС:'", ОбщегоНазначения.КодОсновногоЯзыка())));
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхНДС);
ТабличныйДокумент.Присоединить(ОбластьДанных);
КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
СуммаКПрописи = Сумма + ?(ДанныеПечати.ЦенаВключаетНДС, 0, СуммаНДС);
ИтоговаяСтрока = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Всего наименований %1, на сумму %2'", ОбщегоНазначения.КодОсновногоЯзыка()),
ВыборкаПоТоварам.Количество(),
ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ДанныеПечати.Валюта));
СтруктураДанныхИтоговаяСтрока = Новый Структура;
СтруктураДанныхИтоговаяСтрока.Вставить("ИтоговаяСтрока", ИтоговаяСтрока);
СтруктураДанныхИтоговаяСтрока.Вставить("СуммаПрописью", РаботаСКурсамиВалютУТ.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеПечати.Валюта));
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхИтоговаяСтрока);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
Если ЗначениеЗаполнено(ДанныеПечати.ПолучениеПроизвел) Тогда
СтруктураДанныхПолучениеПроизвел = Новый Структура;
СтруктураДанныхПолучениеПроизвел.Вставить("ПолучениеПроизвел", ФизическиеЛицаУТ.ФамилияИнициалыФизЛица(ДанныеПечати.ПолучениеПроизвел, ДанныеПечати.Дата));
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПолучениеПроизвел);
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакета);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
Если ПривилегированныйРежим() Тогда
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
Возврат ТабличныйДокумент;
КонецФункции
Функция ДанныеДляПечатиЭтикеток(МассивДокументов) Экспорт
ДатаЦенообразования = ОбщегоНазначенияУТ.ПолучитьМаксимальнуюДатуДокументов(МассивДокументов);
ИспользуетсяЦенообразование25 = ЦенообразованиеВызовСервера.ИспользуетсяЦенообразование25(ДатаЦенообразования);
Запрос = Новый Запрос;
Если ИспользуетсяЦенообразование25 Тогда
Запрос.Текст =
"ВЫБРАТЬ
| ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
| ПриобретениеТоваровУслугТовары.Характеристика КАК Характеристика,
| ПриобретениеТоваровУслугТовары.Серия КАК Серия,
|
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ЦеныНоменклатуры.Упаковка
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.Упаковка
| КОНЕЦ КАК Упаковка,
|
| МИНИМУМ(ПриобретениеТоваровУслугТовары.НомерСтроки) КАК Порядок,
| СУММА(
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ПриобретениеТоваровУслугТовары.КоличествоУпаковок * (ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) / ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки2, 1))
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.КоличествоУпаковок
| КОНЕЦ) КАК Количество
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25.СрезПоследних КАК ЦеныНоменклатуры
| ПО ЦеныНоменклатуры.Номенклатура = ПриобретениеТоваровУслугТовары.Номенклатура
| И ЦеныНоменклатуры.ХарактеристикаЦО = ПриобретениеТоваровУслугТовары.Характеристика.ХарактеристикаНоменклатурыДляЦенообразования
| И ЦеныНоменклатуры.СерияЦО = ПриобретениеТоваровУслугТовары.Серия.СерияНоменклатурыДляЦенообразования
| И ЦеныНоменклатуры.ВидЦены = ПриобретениеТоваровУслугТовары.Ссылка.Склад.РозничныйВидЦены
|
|ГДЕ
| ПриобретениеТоваровУслугТовары.Ссылка В(&МассивДокументов)
|
|СГРУППИРОВАТЬ ПО
| ПриобретениеТоваровУслугТовары.Номенклатура,
| ПриобретениеТоваровУслугТовары.Характеристика,
| ПриобретениеТоваровУслугТовары.Серия,
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ЦеныНоменклатуры.Упаковка
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.Упаковка
| КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
| Порядок
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПриобретениеТоваровУслуг.Организация КАК Организация,
| ПриобретениеТоваровУслуг.Склад КАК Склад,
| ПриобретениеТоваровУслуг.Склад.РозничныйВидЦены КАК ВидЦены
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
|ГДЕ
| ПриобретениеТоваровУслуг.Ссылка В(&МассивДокументов)";
Иначе
Запрос.Текст =
"ВЫБРАТЬ
| ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
| ПриобретениеТоваровУслугТовары.Характеристика КАК Характеристика,
|
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ЦеныНоменклатуры.Упаковка
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.Упаковка
| КОНЕЦ КАК Упаковка,
|
| МИНИМУМ(ПриобретениеТоваровУслугТовары.НомерСтроки) КАК Порядок,
| СУММА(
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ПриобретениеТоваровУслугТовары.КоличествоУпаковок * (ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) / ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки2, 1))
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.КоличествоУпаковок
| КОНЕЦ) КАК Количество
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатуры
| ПО ЦеныНоменклатуры.Номенклатура = ПриобретениеТоваровУслугТовары.Номенклатура
| И ЦеныНоменклатуры.Характеристика = ПриобретениеТоваровУслугТовары.Характеристика
| И ЦеныНоменклатуры.ВидЦены = ПриобретениеТоваровУслугТовары.Ссылка.Склад.РозничныйВидЦены
|
|ГДЕ
| ПриобретениеТоваровУслугТовары.Ссылка В(&МассивДокументов)
|
|СГРУППИРОВАТЬ ПО
| ПриобретениеТоваровУслугТовары.Номенклатура,
| ПриобретениеТоваровУслугТовары.Характеристика,
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ЦеныНоменклатуры.Упаковка
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.Упаковка
| КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
| Порядок
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПриобретениеТоваровУслуг.Организация КАК Организация,
| ПриобретениеТоваровУслуг.Склад КАК Склад,
| ПриобретениеТоваровУслуг.Склад.РозничныйВидЦены КАК ВидЦены
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
|ГДЕ
| ПриобретениеТоваровУслуг.Ссылка В(&МассивДокументов)";
КонецЕсли;
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ПриобретениеТоваровУслугТовары.Упаковка",
"ПриобретениеТоваровУслугТовары.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки2",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ЦеныНоменклатуры.Упаковка",
"ЦеныНоменклатуры.Номенклатура"));
Запрос.УстановитьПараметр("МассивДокументов", МассивДокументов);
МассивРезультатов = Запрос.ВыполнитьПакет();
ТаблицаРеквизитыДокументов = МассивРезультатов[1].Выгрузить();
МассивОрганизаций = ОбщегоНазначенияУТ.УникальныеЗначенияИзКолонкиТаблицы(ТаблицаРеквизитыДокументов, "Организация");
МассивСкладов = ОбщегоНазначенияУТ.УникальныеЗначенияИзКолонкиТаблицы(ТаблицаРеквизитыДокументов, "Склад");
МассивВидовЦен = ОбщегоНазначенияУТ.УникальныеЗначенияИзКолонкиТаблицы(ТаблицаРеквизитыДокументов, "ВидЦены");
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ЗаполнитьОрганизацию", ?(МассивОрганизаций.Количество() = 1, МассивОрганизаций[0], Неопределено));
СтруктураДействий.Вставить("ЗаполнитьСклад", ?(МассивСкладов.Количество() = 1, МассивСкладов[0], МассивСкладов));
СтруктураДействий.Вставить("ЗаполнитьВидЦены", ?(МассивВидовЦен.Количество() = 1, МассивВидовЦен[0], Неопределено));
СтруктураДействий.Вставить("ПоказыватьКолонкуКоличествоВДокументе", Истина);
СтруктураДействий.Вставить("УстановитьРежимПечатиИзДокумента");
СтруктураДействий.Вставить("УстановитьРежим", "ПечатьЭтикеток");
СтруктураДействий.Вставить("ЗаполнитьКоличествоЭтикетокПоДокументу");
СтруктураДействий.Вставить("ЗаполнитьТаблицуТоваров");
СтруктураРезультат = Новый Структура;
СтруктураРезультат.Вставить("Товары", МассивРезультатов[0].Выгрузить());
СтруктураРезультат.Вставить("СтруктураДействий", СтруктураДействий);
СтруктураРезультат.Вставить("Дата", ДатаЦенообразования);
Возврат ПоместитьВоВременноеХранилище(СтруктураРезультат);
КонецФункции
Функция ДанныеДляПечатиЦенников(МассивДокументов) Экспорт
ДатаЦенообразования = ОбщегоНазначенияУТ.ПолучитьМаксимальнуюДатуДокументов(МассивДокументов);
ИспользуетсяЦенообразование25 = ЦенообразованиеВызовСервера.ИспользуетсяЦенообразование25(ДатаЦенообразования);
Запрос = Новый Запрос;
Если ИспользуетсяЦенообразование25 Тогда
Запрос.Текст =
"ВЫБРАТЬ
| ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
| ПриобретениеТоваровУслугТовары.Характеристика КАК Характеристика,
| ПриобретениеТоваровУслугТовары.Серия КАК Серия,
|
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ЦеныНоменклатуры.Упаковка
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.Упаковка
| КОНЕЦ КАК Упаковка,
|
| МИНИМУМ(ПриобретениеТоваровУслугТовары.НомерСтроки) КАК Порядок,
| СУММА(
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ПриобретениеТоваровУслугТовары.КоличествоУпаковок * (ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) / ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки2, 1))
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.КоличествоУпаковок
| КОНЕЦ) КАК Количество
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25.СрезПоследних КАК ЦеныНоменклатуры
| ПО ЦеныНоменклатуры.Номенклатура = ПриобретениеТоваровУслугТовары.Номенклатура
| И ЦеныНоменклатуры.ХарактеристикаЦО = ПриобретениеТоваровУслугТовары.Характеристика.ХарактеристикаНоменклатурыДляЦенообразования
| И ЦеныНоменклатуры.СерияЦО = ПриобретениеТоваровУслугТовары.Серия.СерияНоменклатурыДляЦенообразования
| И ЦеныНоменклатуры.ВидЦены = ПриобретениеТоваровУслугТовары.Ссылка.Склад.РозничныйВидЦены
|
|ГДЕ
| ПриобретениеТоваровУслугТовары.Ссылка В(&МассивДокументов)
|
|СГРУППИРОВАТЬ ПО
| ПриобретениеТоваровУслугТовары.Номенклатура,
| ПриобретениеТоваровУслугТовары.Характеристика,
| ПриобретениеТоваровУслугТовары.Серия,
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ЦеныНоменклатуры.Упаковка
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.Упаковка
| КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
| Порядок
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПриобретениеТоваровУслуг.Организация КАК Организация,
| ПриобретениеТоваровУслуг.Склад КАК Склад,
| ПриобретениеТоваровУслуг.Склад.РозничныйВидЦены КАК ВидЦены
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
|ГДЕ
| ПриобретениеТоваровУслуг.Ссылка В(&МассивДокументов)";
Иначе
Запрос.Текст =
"ВЫБРАТЬ
| ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
| ПриобретениеТоваровУслугТовары.Характеристика КАК Характеристика,
|
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ЦеныНоменклатуры.Упаковка
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.Упаковка
| КОНЕЦ КАК Упаковка,
|
| МИНИМУМ(ПриобретениеТоваровУслугТовары.НомерСтроки) КАК Порядок,
| СУММА(
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ПриобретениеТоваровУслугТовары.КоличествоУпаковок * (ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) / ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки2, 1))
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.КоличествоУпаковок
| КОНЕЦ) КАК Количество
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатуры
| ПО ЦеныНоменклатуры.Номенклатура = ПриобретениеТоваровУслугТовары.Номенклатура
| И ЦеныНоменклатуры.Характеристика = ПриобретениеТоваровУслугТовары.Характеристика
| И ЦеныНоменклатуры.ВидЦены = ПриобретениеТоваровУслугТовары.Ссылка.Склад.РозничныйВидЦены
|
|ГДЕ
| ПриобретениеТоваровУслугТовары.Ссылка В(&МассивДокументов)
|
|СГРУППИРОВАТЬ ПО
| ПриобретениеТоваровУслугТовары.Номенклатура,
| ПриобретениеТоваровУслугТовары.Характеристика,
| ВЫБОР КОГДА ПриобретениеТоваровУслугТовары.Ссылка.Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.РозничныйМагазин) ТОГДА
| ЦеныНоменклатуры.Упаковка
| ИНАЧЕ
| ПриобретениеТоваровУслугТовары.Упаковка
| КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
| Порядок
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПриобретениеТоваровУслуг.Организация КАК Организация,
| ПриобретениеТоваровУслуг.Склад КАК Склад,
| ПриобретениеТоваровУслуг.Склад.РозничныйВидЦены КАК ВидЦены
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
|ГДЕ
| ПриобретениеТоваровУслуг.Ссылка В(&МассивДокументов)";
КонецЕсли;
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ПриобретениеТоваровУслугТовары.Упаковка",
"ПриобретениеТоваровУслугТовары.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки2",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ЦеныНоменклатуры.Упаковка",
"ЦеныНоменклатуры.Номенклатура"));
Запрос.УстановитьПараметр("МассивДокументов", МассивДокументов);
МассивРезультатов = Запрос.ВыполнитьПакет();
ТаблицаРеквизитыДокументов = МассивРезультатов[1].Выгрузить();
МассивОрганизаций = ОбщегоНазначенияУТ.УникальныеЗначенияИзКолонкиТаблицы(ТаблицаРеквизитыДокументов, "Организация");
МассивСкладов = ОбщегоНазначенияУТ.УникальныеЗначенияИзКолонкиТаблицы(ТаблицаРеквизитыДокументов, "Склад");
МассивВидовЦен = ОбщегоНазначенияУТ.УникальныеЗначенияИзКолонкиТаблицы(ТаблицаРеквизитыДокументов, "ВидЦены");
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ЗаполнитьОрганизацию", ?(МассивОрганизаций.Количество() = 1, МассивОрганизаций[0], Неопределено));
СтруктураДействий.Вставить("ЗаполнитьСклад", ?(МассивСкладов.Количество() = 1, МассивСкладов[0], МассивСкладов));
СтруктураДействий.Вставить("ЗаполнитьВидЦены", ?(МассивВидовЦен.Количество() = 1, МассивВидовЦен[0], Неопределено));
СтруктураДействий.Вставить("ПоказыватьКолонкуКоличествоВДокументе", Истина);
СтруктураДействий.Вставить("УстановитьРежимПечатиИзДокумента");
СтруктураДействий.Вставить("УстановитьРежим", "ПечатьЦенников");
СтруктураДействий.Вставить("ЗаполнитьКоличествоЦенниковПоДокументу");
СтруктураДействий.Вставить("ЗаполнитьТаблицуТоваров");
СтруктураРезультат = Новый Структура;
СтруктураРезультат.Вставить("Товары", МассивРезультатов[0].Выгрузить());
СтруктураРезультат.Вставить("СтруктураДействий", СтруктураДействий);
СтруктураРезультат.Вставить("Дата", ДатаЦенообразования);
Возврат ПоместитьВоВременноеХранилище(СтруктураРезультат);
КонецФункции
Функция СформироватьПечатнуюФормуПриходнаяНакладная(МассивОбъектов, ОбъектыПечати)
УстановитьПривилегированныйРежим(Истина);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриобретениеТоваровУслуг_ПриходнаяНакладная";
КолонкаКодов = ФормированиеПечатныхФорм.ДополнительнаяКолонкаПечатныхФормДокументов().ИмяКолонки;
ИспользованиеУпаковок = ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры");
Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Документы.Ссылка КАК Ссылка,
| Документы.Организация КАК Организация,
| Документы.Контрагент КАК Контрагент,
| Документы.Номер КАК Номер,
| Документы.Дата КАК Дата,
| Документы.Организация.Префикс КАК Префикс
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК Документы
|ГДЕ
| Документы.Ссылка В(&МассивОбъектов)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.Склад КАК Склад,
| &ТекстЗапросаНаименованиеЕдиницыИзмерения КАК ПредставлениеЕдиницыИзмеренияУпаковки,
| ПРЕДСТАВЛЕНИЕ(Товары.Номенклатура.ЕдиницаИзмерения) КАК ПредставлениеБазовойЕдиницыИзмерения,
| Товары.КоличествоУпаковок КАК КоличествоУпаковок,
| Товары.Количество КАК Количество,
| Товары.Номенклатура.Код КАК Код,
| Товары.Номенклатура.Артикул КАК Артикул,
| Товары.Номенклатура.НаименованиеПолное КАК Номенклатура,
| Товары.Характеристика.НаименованиеПолное КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Товары.Упаковка.Наименование
| КОНЕЦ КАК Упаковка,
| ВЫБОР
| КОГДА
| Товары.Ссылка.ВернутьМногооборотнуюТару
| И Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ЭтоВозвратнаяТара
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК Товары
|ГДЕ
| Товары.Ссылка В(&МассивОбъектов)
| И Товары.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
|
|УПОРЯДОЧИТЬ ПО
| Ссылка,
| Склад,
| Товары.НомерСтроки
|ИТОГИ ПО
| Ссылка,
| Склад");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"Товары.Упаковка",
"Товары.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаНаименованиеЕдиницыИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Наименование",
"Товары.Упаковка",
"Товары.Номенклатура"));
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ПриобретениеТоваровУслуг.ПФ_MXL_ПриходнаяНакладная");
Смещать = ТипСмещенияТабличногоДокумента.ПоВертикали;
ШиринаУдаленныхКолонок = 0;
Если КолонкаКодов <> "Артикул" Тогда
ШиринаУдаленныхКолонок = ШиринаУдаленныхКолонок + Макет.Область("Артикул").ШиринаКолонки;
Макет.УдалитьОбласть(Макет.Область("Артикул"), Смещать);
КонецЕсли;
Если КолонкаКодов<>"Код" Тогда
ШиринаУдаленныхКолонок = ШиринаУдаленныхКолонок + Макет.Область("Код").ШиринаКолонки;
Макет.УдалитьОбласть(Макет.Область("Код"), Смещать);
КонецЕсли;
Если Не ИспользованиеУпаковок Тогда
ШиринаУдаленныхКолонок = ШиринаУдаленныхКолонок + Макет.Область("УпаковкаКоличество").ШиринаКолонки;
Макет.УдалитьОбласть(Макет.Область("УпаковкаКоличество"), Смещать);
ШиринаУдаленныхКолонок = ШиринаУдаленныхКолонок + Макет.Область("УпаковкаПредставление").ШиринаКолонки;
Макет.УдалитьОбласть(Макет.Область("УпаковкаПредставление"), Смещать);
КонецЕсли;
ОбластьПервойКолонкиТоваров = Макет.Область("ПерваяКолонкаТовара");
ОбластьПервойКолонкиТоваров.ШиринаКолонки = ОбластьПервойКолонкиТоваров.ШиринаКолонки + ШиринаУдаленныхКолонок;
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатДанныеПечати = МассивРезультатов[0];
РезультатВыборкаПоДокументам = МассивРезультатов[1];
ДанныеПечати = РезультатДанныеПечати.Выбрать();
ВыборкаПоДокументам = РезультатВыборкаПоДокументам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
МассивПроверки = Новый Массив;
Для Каждого Ссылка Из МассивОбъектов Цикл
МассивПроверки.Добавить(Ссылка);
КонецЦикла;
РеквизитыДокумента = Новый Структура;
РеквизитыДокумента.Вставить("Номер");
РеквизитыДокумента.Вставить("Дата");
РеквизитыДокумента.Вставить("Префикс");
РеквизитыДокумента.Вставить("Представление");
РеквизитыДокумента.Вставить("ПредставлениеРаспоряжения");
РеквизитыДокумента.Вставить("ПредставлениеОрганизации");
РеквизитыДокумента.Вставить("ПредставлениеПартнера");
РеквизитыДокумента.Вставить("ТекстЗаголовка", НСтр("ru = 'Приходная накладная'", ОбщегоНазначения.КодОсновногоЯзыка()));
ПервыйДокумент = Истина;
Пока ДанныеПечати.Следующий() Цикл
Если НЕ ВыборкаПоДокументам.НайтиСледующий(Новый Структура("Ссылка", ДанныеПечати.Ссылка)) Тогда
Продолжить;
КонецЕсли;
МассивПроверки.Удалить(МассивПроверки.Найти(ДанныеПечати.Ссылка));
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ЗаполнитьЗначенияСвойств(РеквизитыДокумента, ДанныеПечати);
РеквизитыДокумента.ПредставлениеРаспоряжения = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(
РеквизитыДокумента, НСтр("ru = 'Приобретение товаров'", ОбщегоНазначения.КодОсновногоЯзыка()));
РеквизитыДокумента.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(
ФормированиеПечатныхФорм.СведенияОЮрФизЛице(
ДанныеПечати.Организация,
ДанныеПечати.Дата
),
"ПолноеНаименование");
РеквизитыДокумента.ПредставлениеПартнера = ФормированиеПечатныхФорм.ОписаниеОрганизации(
ФормированиеПечатныхФорм.СведенияОЮрФизЛице(
ДанныеПечати.Контрагент,
ДанныеПечати.Дата
),
"ПолноеНаименование");
ВыборкаПоСкладам = ВыборкаПоДокументам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоСкладам.Следующий() Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
Область = Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.Заполнить(РеквизитыДокумента);
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, Область, ДанныеПечати.Ссылка);
ТабличныйДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("Шапка");
Область.Параметры.Заполнить(РеквизитыДокумента);
СтруктураДанныхШапка = Новый Структура;
СтруктураДанныхШапка.Вставить("ПредставлениеСклада", ВыборкаПоСкладам.Склад);
Область.Параметры.Заполнить(СтруктураДанныхШапка);
ТабличныйДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("Поставщик");
Область.Параметры.Заполнить(РеквизитыДокумента);
ТабличныйДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("Покупатель");
Область.Параметры.Заполнить(РеквизитыДокумента);
ТабличныйДокумент.Вывести(Область);
ТабличныйДокумент.Вывести(Макет.ПолучитьОбласть("ШапкаТаблицы"));
СчетСтрок = 1;
ВыборкаПоТоварам = ВыборкаПоСкладам.Выбрать();
Пока ВыборкаПоТоварам.Следующий() Цикл
Область = Макет.ПолучитьОбласть("СтрокаТаблицы");
СтруктураДанныхНомерСтроки = Новый Структура("НомерСтроки", СчетСтрок);
Область.Параметры.Заполнить(СтруктураДанныхНомерСтроки);
СчетСтрок = СчетСтрок + 1;
ДополнительныеПараметрыПолученияНаименованияДляПечати = НоменклатураКлиентСервер.ДополнительныеПараметрыПредставлениеНоменклатурыДляПечати();
ДополнительныеПараметрыПолученияНаименованияДляПечати.ВозвратнаяТара = ВыборкаПоТоварам.ЭтоВозвратнаяТара;
ДополнительныеПараметрыПолученияНаименованияДляПечати.КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
Товар = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ВыборкаПоТоварам.Номенклатура,
ВыборкаПоТоварам.Характеристика,
,
,
ДополнительныеПараметрыПолученияНаименованияДляПечати);
СтруктураДанныхТовар = Новый Структура("Товар", Товар);
Область.Параметры.Заполнить(СтруктураДанныхТовар);
Область.Параметры.Заполнить(ВыборкаПоТоварам);
ТабличныйДокумент.Вывести(Область);
КонецЦикла;
Область = Макет.ПолучитьОбласть("ПодвалТаблицы");
ТабличныйДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("Подписи");
ТекстИтоговойСтроки = НСтр("ru = 'Всего наименований %ВсегоНаименований%'", ОбщегоНазначения.КодОсновногоЯзыка());
ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,"%ВсегоНаименований%", СчетСтрок-1);
СтруктураДанныхИтоговаяСтрока = Новый Структура;
СтруктураДанныхИтоговаяСтрока.Вставить("ИтоговаяСтрока", ТекстИтоговойСтроки);
Область.Параметры.Заполнить(СтруктураДанныхИтоговаяСтрока);
ТабличныйДокумент.Вывести(Область);
КонецЦикла;
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецЦикла;
Для Каждого Ссылка Из МассивПроверки Цикл
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
СтрЗаменить(
НСтр("ru = 'В документе %Ссылка% отсутствуют товары. Печать приходной накладной не требуется.'"),
"%Ссылка%",
Ссылка
),
Ссылка);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Функция СформироватьПечатнуюФормуАктОбОказанииУслуг(МассивОбъектов, ОбъектыПечати)
УстановитьПривилегированныйРежим(Истина);
ТабличныйДокумент = Новый ТабличныйДокумент;
ИспользоватьРучныеСкидки = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВЗакупках");
Запрос = Новый Запрос("
|////////////////////////////////////////////////////////////////////////////
|// ЗАПРОС ПО ШАПКЕ
|
|ВЫБРАТЬ
| ПриобретениеТоваровУслуг.Ссылка КАК Ссылка,
| ПриобретениеТоваровУслуг.Номер КАК Номер,
| ПриобретениеТоваровУслуг.Дата КАК Дата,
| ПриобретениеТоваровУслуг.Партнер КАК Партнер,
| ПриобретениеТоваровУслуг.Контрагент КАК Контрагент,
| ПриобретениеТоваровУслуг.Организация КАК Организация,
| ПриобретениеТоваровУслуг.Организация.Префикс КАК Префикс,
| ПриобретениеТоваровУслуг.Валюта КАК Валюта,
| ПриобретениеТоваровУслуг.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ВЫБОР
| КОГДА
| ПриобретениеТоваровУслуг.НалогообложениеНДС В (ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭлектронныеУслуги))
| ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК УчитыватьНДС,
| ПриобретениеТоваровУслуг.Склад.ТекущийОтветственный.Наименование КАК ОтпускПроизвел
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
|
|ГДЕ
| ПриобретениеТоваровУслуг.Ссылка В (&МассивДокументов)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////
|// ЗАПРОС ПО ТАБЛИЧНЫМ ЧАСТЯМ
|
|ВЫБРАТЬ
| ВложенныйЗапрос.Ссылка КАК Ссылка,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК УслугаНаименованиеПолное,
| ВложенныйЗапрос.Номенклатура.Код КАК Код,
| ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул,
| ВложенныйЗапрос.ЕдиницаИзмерения.Наименование КАК ЕдиницаЦены,
| ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ВложенныйЗапрос.Характеристика.НаименованиеПолное КАК Характеристика,
| ВЫБОР КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) = 1
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВложенныйЗапрос.Упаковка.Наименование
| КОНЕЦ КАК Упаковка,
| ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС,
| ВложенныйЗапрос.Цена КАК Цена,
| ВложенныйЗапрос.Количество КАК Количество,
| ВложенныйЗапрос.Сумма КАК Сумма,
| ВложенныйЗапрос.СуммаНДС КАК СуммаНДС,
| ВложенныйЗапрос.СуммаСкидки КАК СуммаСкидки,
| ВложенныйЗапрос.СуммаБезСкидки КАК СуммаБезСкидки,
| ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
| ЛОЖЬ КАК ЭтоВозвратнаяТара
|ИЗ (
| ВЫБРАТЬ
| ПриобретениеТоваровУслуг.Ссылка КАК Ссылка,
| ПриобретениеТоваровУслуг.Номенклатура КАК Номенклатура,
|
| ВЫБОР КОГДА ПриобретениеТоваровУслуг.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА
| 1
| ИНАЧЕ
| &ТекстЗапросаКоэффициентУпаковки2
| КОНЕЦ КАК Коэффициент,
| &ТекстЗапросаЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ПриобретениеТоваровУслуг.ПроцентРучнойСкидки КАК ПроцентСкидки,
| ПриобретениеТоваровУслуг.Характеристика КАК Характеристика,
| ПриобретениеТоваровУслуг.Упаковка КАК Упаковка,
| ПриобретениеТоваровУслуг.СтавкаНДС КАК СтавкаНДС,
| ПриобретениеТоваровУслуг.Цена КАК Цена,
| ПриобретениеТоваровУслуг.КоличествоУпаковок КАК Количество,
| ПриобретениеТоваровУслуг.Сумма КАК Сумма,
| ПриобретениеТоваровУслуг.СуммаРучнойСкидки КАК СуммаСкидки,
| ПриобретениеТоваровУслуг.Сумма +
| ПриобретениеТоваровУслуг.СуммаРучнойСкидки КАК СуммаБезСкидки,
| ПриобретениеТоваровУслуг.СуммаНДС КАК СуммаНДС,
| ПриобретениеТоваровУслуг.НомерСтроки КАК НомерСтроки
| ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслуг
| ГДЕ
| ПриобретениеТоваровУслуг.Ссылка В (&МассивДокументов)
| И ПриобретениеТоваровУслуг.Номенклатура.ТипНоменклатуры В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
|
| ) КАК ВложенныйЗапрос
|
|УПОРЯДОЧИТЬ ПО
| ВложенныйЗапрос.Ссылка,
| НомерСтроки
|
|ИТОГИ
| СУММА(СуммаСкидки)
|ПО
| Ссылка
|");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ВложенныйЗапрос.Упаковка",
"ВложенныйЗапрос.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки2",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ПриобретениеТоваровУслуг.Упаковка",
"ПриобретениеТоваровУслуг.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаЕдиницаИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Ссылка",
"ПриобретениеТоваровУслуг.Упаковка",
"ПриобретениеТоваровУслуг.Номенклатура"));
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриобретениеТоваровУслуг_Акт";
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатДанныеПечати = МассивРезультатов[0];
РезультатВыборкаПоДокументам = МассивРезультатов[1];
ДанныеПечати = РезультатДанныеПечати.Выбрать();
ВыборкаПоДокументам = РезультатВыборкаПоДокументам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ПервыйДокумент = Истина;
Пока ДанныеПечати.Следующий() Цикл
СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
НайденСледующий = ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска);
Если НайденСледующий Тогда
ВыборкаПоУслугам = ВыборкаПоДокументам.Выбрать();
ЗаголовокСкидки = ФормированиеПечатныхФорм.НужноВыводитьСкидки(ВыборкаПоУслугам, ИспользоватьРучныеСкидки);
ЕстьСкидки = ЗаголовокСкидки.ЕстьСкидки;
ВыборкаПоУслугам.Сбросить();
Иначе
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В документе %1 отсутствуют услуги. Печать акта об оказании услуг не требуется.'"),
ДанныеПечати.Ссылка);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
Текст,
ДанныеПечати.Ссылка);
Продолжить;
КонецЕсли;
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ПриобретениеТоваровУслуг.ПФ_MXL_Акт");
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеПечати, НСтр("ru = 'Акт'", ОбщегоНазначения.КодОсновногоЯзыка()));
СтруктураДанныхШапки = Новый Структура;
СтруктураДанныхШапки.Вставить("ТекстЗаголовка", ТекстЗаголовка);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
СтруктураДанныхПоставщик = Новый Структура;
ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата), "ПолноеНаименование");
СтруктураДанныхПоставщик.Вставить("ПредставлениеПоставщика", ПредставлениеПоставщика);
СтруктураДанныхПоставщик.Вставить("Поставщик", ДанныеПечати.Контрагент);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПоставщик);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
СтруктураДанныхПокупатель = Новый Структура;
ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата), "ПолноеНаименование");
СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Организация);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
ТабличныйДокумент.Вывести(ОбластьМакета);
Если ЕстьСкидки Тогда
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицыСоСкидкой");
ОбластьСтроки = Макет.ПолучитьОбласть("СтрокаСоСкидкой");
СтруктураЗаголовокСкидки = Новый Структура("Скидка, СуммаБезСкидки",
ЗаголовокСкидки.Скидка,
ЗаголовокСкидки.СуммаСкидки);
ОбластьМакета.Параметры.Заполнить(СтруктураЗаголовокСкидки);
Иначе
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьСтроки = Макет.ПолучитьОбласть("Строка");
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакета);
Сумма = 0;
СуммаНДС = 0;
НомерСтроки = 0;
Пока ВыборкаПоУслугам.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;
ОбластьСтроки.Параметры.Заполнить(ВыборкаПоУслугам);
ДопПараметрыПредставлениеНоменклатуры = НоменклатураКлиентСервер.ДополнительныеПараметрыПредставлениеНоменклатурыДляПечати();
ДопПараметрыПредставлениеНоменклатуры.КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
СтруктураДанныхСтроки = Новый Структура;
СтруктураДанныхСтроки.Вставить("НомерСтроки", НомерСтроки);
СтруктураДанныхСтроки.Вставить("Товар", НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ВыборкаПоУслугам.УслугаНаименованиеПолное,
ВыборкаПоУслугам.Характеристика,
,
,
ДопПараметрыПредставлениеНоменклатуры));
Если ЕстьСкидки Тогда
СтруктураДанныхСтроки.Вставить("Скидка", ?(ЗаголовокСкидки.ТолькоНаценка,- ВыборкаПоУслугам.СуммаСкидки,ВыборкаПоУслугам.СуммаСкидки));
СтруктураДанныхСтроки.Вставить("СуммаБезСкидки", ФормированиеПечатныхФорм.ФорматСумм(ВыборкаПоУслугам.Сумма + ВыборкаПоУслугам.СуммаСкидки));
КонецЕсли;
ОбластьСтроки.Параметры.Заполнить(СтруктураДанныхСтроки);
Сумма = Сумма + ВыборкаПоУслугам.Сумма;
СуммаНДС = СуммаНДС + ВыборкаПоУслугам.СуммаНДС;
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
ОбластьМакета = Макет.ПолучитьОбласть("Итого");
СтруктураДанныхВсего = Новый Структура;
СтруктураДанныхВсего.Вставить("Всего", ФормированиеПечатныхФорм.ФорматСумм(Сумма));
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхВсего);
ТабличныйДокумент.Вывести(ОбластьМакета);
Если ДанныеПечати.УчитыватьНДС Тогда
ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС");
СтруктураДанныхИтогоНДС = Новый Структура;
СтруктураДанныхИтогоНДС.Вставить("ВсегоНДС", ФормированиеПечатныхФорм.ФорматСумм(СуммаНДС));
СтруктураДанныхИтогоНДС.Вставить("НДС", ?(ДанныеПечати.ЦенаВключаетНДС,
НСтр("ru = 'В том числе НДС'", ОбщегоНазначения.КодОсновногоЯзыка()),
НСтр("ru = 'Сумма НДС'", ОбщегоНазначения.КодОсновногоЯзыка())));
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхИтогоНДС);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЕсли;
СуммаКПрописи = Сумма + ?(ДанныеПечати.ЦенаВключаетНДС, 0, СуммаНДС);
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
ИтоговаяСтрока = НСтр("ru = 'Всего оказано услуг %КоличествоНаименований%, на сумму %СуммаДокумента%'", ОбщегоНазначения.КодОсновногоЯзыка());
ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%КоличествоНаименований%", НомерСтроки);
ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%СуммаДокумента%", ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ДанныеПечати.Валюта));
СтруктураДанныхИтоговаяСтрока = Новый Структура;
СтруктураДанныхИтоговаяСтрока.Вставить("ИтоговаяСтрока", ИтоговаяСтрока);
СтруктураДанныхИтоговаяСтрока.Вставить("СуммаПрописью", РаботаСКурсамиВалютУТ.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеПечати.Валюта));
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхИтоговаяСтрока);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
ТабличныйДокумент.Вывести(ОбластьМакета);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
Если ПривилегированныйРежим() Тогда
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
Возврат ТабличныйДокумент;
КонецФункции
Процедура ЗаполнитьСтруктуруПолучателейПечатныхФорм(СтруктураДанныхОбъектаПечати) Экспорт
СтруктураДанныхОбъектаПечати.ОсновнойПолучатель = "Партнер";
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Партнер");
Если ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровИКонтрагентов") Тогда
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Контрагент");
КонецЕсли;
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Грузоотправитель");
КонецПроцедуры
#КонецОбласти
#Область ШаблоныСообщений
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
КонецПроцедуры
#КонецОбласти
#Область Прочее
Функция ПолноеИмяОбъекта()
Возврат "Документ.ПриобретениеТоваровУслуг";
КонецФункции
Функция СуммыПоЗаказам(СсылкаОбъект, ЗначенияРеквизитов = Неопределено) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| Товары.ЗаказПоставщику КАК Заказ,
| Товары.СуммаСНДС КАК Сумма,
| Товары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Товары.Номенклатура КАК Номенклатура,
| Товары.КодСтроки КАК КодСтроки,
| &ЗаказШапки КАК ЗаказШапка,
| &ПоЗаказам КАК ПоЗаказам,
| &ВернутьМногооборотнуюТару КАК ВернутьМногооборотнуюТару,
| &ТребуетсяЗалогЗаТару КАК ТребуетсяЗалогЗаТару
|ПОМЕСТИТЬ ВТТовары
|ИЗ &ТаблицаЗначений КАК Товары
|ГДЕ &УсловиеСсылка
|;
|ВЫБРАТЬ
| ВложенныйЗапрос.Заказ КАК Заказ,
| ЕСТЬNULL(ВложенныйЗапрос.Заказ.Дата, ДАТАВРЕМЯ(1,1,1)) КАК ДатаЗаказа,
| ЕСТЬNULL(ВложенныйЗапрос.Заказ.ДатаСогласования, ДАТАВРЕМЯ(1,1,1)) КАК ДатаСогласования,
| ВложенныйЗапрос.СверхЗаказа КАК СверхЗаказа,
| СУММА(ВложенныйЗапрос.СуммаПлатежа) КАК СуммаПлатежа,
| СУММА(ВложенныйЗапрос.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| СУММА(ВложенныйЗапрос.СуммаЗалогаЗаТару) КАК СуммаЗалогаЗаТару,
| СУММА(ВложенныйЗапрос.СуммаВзаиморасчетовПоТаре) КАК СуммаВзаиморасчетовПоТаре
|ИЗ (ВЫБРАТЬ
| ВЫБОР КОГДА ЕСТЬNULL(Товары.Заказ.Номер, """") = """"
| ТОГДА Товары.ЗаказШапка
| ИНАЧЕ Товары.Заказ
| КОНЕЦ КАК Заказ,
| ЛОЖЬ КАК СверхЗаказа,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ Товары.ВернутьМногооборотнуюТару
| ТОГДА Товары.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаПлатежа,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ Товары.ВернутьМногооборотнуюТару
| ТОГДА Товары.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И Товары.ТребуетсяЗалогЗаТару
| ТОГДА Товары.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаЗалогаЗаТару,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И Товары.ТребуетсяЗалогЗаТару
| ТОГДА Товары.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетовПоТаре
| ИЗ ВТТовары КАК Товары
| ГДЕ
| Товары.КодСтроки <> 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВЫБОР КОГДА ЕСТЬNULL(Товары.Заказ.Номер, """") = """"
| ТОГДА Товары.ЗаказШапка
| ИНАЧЕ Товары.Заказ
| КОНЕЦ КАК Заказ,
| Товары.ПоЗаказам КАК СверхЗаказа,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ Товары.ВернутьМногооборотнуюТару
| ТОГДА Товары.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаПлатежа,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ Товары.ВернутьМногооборотнуюТару
| ТОГДА Товары.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И Товары.ТребуетсяЗалогЗаТару
| ТОГДА Товары.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаЗалогаЗаТару,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И Товары.ТребуетсяЗалогЗаТару
| ТОГДА Товары.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетовПоТаре
| ИЗ ВТТовары КАК Товары
| ГДЕ
| Товары.КодСтроки = 0) КАК ВложенныйЗапрос
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Заказ,
| ВложенныйЗапрос.СверхЗаказа,
| ЕСТЬNULL(ВложенныйЗапрос.Заказ.Дата, ДАТАВРЕМЯ(1,1,1)),
| ЕСТЬNULL(ВложенныйЗапрос.Заказ.ДатаСогласования, ДАТАВРЕМЯ(1,1,1))
|;";
Если ЗначенияРеквизитов = Неопределено Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТаблицаЗначений", "Документ.ПриобретениеТоваровУслуг.Товары");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ВернутьМногооборотнуюТару", "Товары.Ссылка.ВернутьМногооборотнуюТару");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТребуетсяЗалогЗаТару", "Товары.Ссылка.ТребуетсяЗалогЗаТару");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ЗаказШапки", "Товары.Ссылка.ЗаказПоставщику");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ПоЗаказам", "Товары.Ссылка.ПоступлениеПоЗаказам");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеСсылка", "Товары.Ссылка = &Ссылка");
Запрос.УстановитьПараметр("Ссылка",СсылкаОбъект);
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеСсылка", "ИСТИНА");
Для Каждого КлючЗначение Из ЗначенияРеквизитов Цикл
Запрос.УстановитьПараметр(КлючЗначение.Ключ, КлючЗначение.Значение);
КонецЦикла;
КонецЕсли;
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
#КонецОбласти
#Область Заполнение
Функция ПолучитьРезультатЗапросаПоОстаткамЗаказов(ДанныеОтбора, СкладПоступления = Неопределено,
МассивЗаказов = Неопределено)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("МассивЗаказов", МассивЗаказов);
Запрос.УстановитьПараметр("Партнер", ДанныеОтбора.Партнер);
Запрос.УстановитьПараметр("Контрагент", ДанныеОтбора.Контрагент);
Запрос.УстановитьПараметр("Договор", ДанныеОтбора.Договор);
Запрос.УстановитьПараметр("ВариантПриемкиТоваров", ДанныеОтбора.ВариантПриемкиТоваров);
Запрос.УстановитьПараметр("Организация", ДанныеОтбора.Организация);
Запрос.УстановитьПараметр("Соглашение", ДанныеОтбора.Соглашение);
Если ДанныеОтбора.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет Или
ДанныеОтбора.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо Тогда
Запрос.УстановитьПараметр("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
Иначе
Запрос.УстановитьПараметр("ХозяйственнаяОперация", ДанныеОтбора.ХозяйственнаяОперация);
КонецЕсли;
Запрос.УстановитьПараметр("ВалютаВзаиморасчетов", ДанныеОтбора.ВалютаВзаиморасчетов);
Запрос.УстановитьПараметр("НалогообложениеНДС", ДанныеОтбора.НалогообложениеНДС);
Запрос.УстановитьПараметр("ВернутьМногооборотнуюТару", ДанныеОтбора.ВернутьМногооборотнуюТару);
Запрос.УстановитьПараметр("ТребуетсяЗалогЗаТару", ДанныеОтбора.ТребуетсяЗалогЗаТару);
Запрос.УстановитьПараметр("ЦенаВключаетНДС", ДанныеОтбора.ЦенаВключаетНДС);
Запрос.УстановитьПараметр("Регистратор", ДанныеОтбора.Ссылка);
Запрос.УстановитьПараметр("СкладПоступления", СкладПоступления);
Запрос.УстановитьПараметр("ОтобратьПоЗаказу", МассивЗаказов <> Неопределено);
Запрос.УстановитьПараметр("ТекущаяДата", НачалоДня(ТекущаяДатаСеанса()));
Запрос.УстановитьПараметр("ГруппаФинансовогоУчета", ДанныеОтбора.ГруппаФинансовогоУчета);
Запрос.УстановитьПараметр("Подразделение", ДанныеОтбора.Подразделение);
Запрос.УстановитьПараметр("ПроверятьГФУПодразделение", ДанныеОтбора.ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоЗаказам
И ПолучитьФункциональнуюОпцию("ИспользоватьРеглУчет"));
Если ДанныеОтбора.ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоЗаказам
И ДанныеОтбора.НаправлениеДеятельности = Справочники.НаправленияДеятельности.ПустаяСсылка() Тогда
Запрос.УстановитьПараметр("БезОтбораПоНаправлениямДеятельности", Истина);
Иначе
Запрос.УстановитьПараметр("БезОтбораПоНаправлениямДеятельности", Ложь);
КонецЕсли;
Запрос.УстановитьПараметр("НаправлениеДеятельности", ДанныеОтбора.НаправлениеДеятельности);
МассивХозОперацийФактуровка = Новый Массив;
МассивХозОперацийФактуровка.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки);
МассивХозОперацийФактуровка.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки);
ВариантОформленияЗакупокДоговора = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДанныеОтбора.Договор, "ВариантОформленияЗакупок");
ЗаполнятьКолонкиАналитикиРасходов = НЕ (МассивХозОперацийФактуровка.Найти(ДанныеОтбора.ХозяйственнаяОперация) <> Неопределено
И ВариантОформленияЗакупокДоговора = Перечисления.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваровИУслуг);
Запрос.УстановитьПараметр("ЗаполнятьКолонкиАналитикиРасходов", ЗаполнятьКолонкиАналитикиРасходов);
Если ТипЗнч(ДанныеОтбора) = Тип("Структура")
И ДанныеОтбора.Свойство("ТоварыНакладной") Тогда
Запрос.УстановитьПараметр("ТоварыНакладной", ДанныеОтбора.ТоварыНакладной);
Иначе
ТоварыНакладной = Новый ТаблицаЗначений;
ТоварыНакладной.Колонки.Добавить("ЗаказПоставщику", Новый ОписаниеТипов("ДокументСсылка.ЗаказПоставщику"));
ТоварыНакладной.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
ТоварыНакладной.Колонки.Добавить("Характеристика", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
ТоварыНакладной.Колонки.Добавить("КодСтроки", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 0)));
ТоварыНакладной.Колонки.Добавить("Количество", ОбщегоНазначенияУТ.ОписаниеТипаКоличественногоПоля());
ТоварыНакладной.Колонки.Добавить("СуммаВзаиморасчетов", ОбщегоНазначенияУТ.ОписаниеТипаДенежногоПоля());
ТоварыНакладной.Колонки.Добавить("Склад", Новый ОписаниеТипов("СправочникСсылка.Склады"));
ТоварыНакладной.Колонки.Добавить("Упаковка", Новый ОписаниеТипов("СправочникСсылка.УпаковкиЕдиницыИзмерения"));
ТоварыНакладной.Колонки.Добавить("Серия", Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
ТоварыНакладной.Колонки.Добавить("КоличествоВЗаказе", ОбщегоНазначенияУТ.ОписаниеТипаКоличественногоПоля());
ТоварыНакладной.Колонки.Добавить("Цена", ОбщегоНазначенияУТ.ОписаниеТипаДенежногоПоля());
ТоварыНакладной.Колонки.Добавить("СтавкаНДС", Новый ОписаниеТипов("СправочникСсылка.СтавкиНДС"));
ТоварыНакладной.Колонки.Добавить("Сумма", ОбщегоНазначенияУТ.ОписаниеТипаДенежногоПоля());
ТоварыНакладной.Колонки.Добавить("СуммаНДС", ОбщегоНазначенияУТ.ОписаниеТипаДенежногоПоля());
ТоварыНакладной.Колонки.Добавить("СуммаСНДС", ОбщегоНазначенияУТ.ОписаниеТипаДенежногоПоля());
ТоварыНакладной.Колонки.Добавить("ПроцентРучнойСкидки", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(5, 2)));
ТоварыНакладной.Колонки.Добавить("СуммаРучнойСкидки", ОбщегоНазначенияУТ.ОписаниеТипаДенежногоПоля());
ТоварыНакладной.Колонки.Добавить("Сделка", Новый ОписаниеТипов("СправочникСсылка.СделкиСКлиентами"));
ТоварыНакладной.Колонки.Добавить("СтатьяРасходов", Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.СтатьиРасходов"));
ТоварыНакладной.Колонки.Добавить("АналитикаРасходов", Новый ОписаниеТипов("СправочникСсылка.ПрочиеРасходы"));
ТоварыНакладной.Колонки.Добавить("Подразделение", Новый ОписаниеТипов("СправочникСсылка.СтруктураПредприятия"));
ТоварыНакладной.Колонки.Добавить("СписатьНаРасходы", Новый ОписаниеТипов("Булево"));
ТоварыНакладной.Колонки.Добавить("ВидЦеныПоставщика", Новый ОписаниеТипов("СправочникСсылка.ВидыЦенПоставщиков"));
ТоварыНакладной.Колонки.Добавить("НоменклатураПартнера", Новый ОписаниеТипов("СправочникСсылка.НоменклатураКонтрагентов"));
ТоварыНакладной.Колонки.Добавить("Назначение", Новый ОписаниеТипов("СправочникСсылка.Назначения"));
Запрос.УстановитьПараметр("ТоварыНакладной", ТоварыНакладной);
КонецЕсли;
Запрос.УстановитьПараметр("ОперацияССамозанятым", ДанныеОтбора.ОперацияССамозанятым);
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТаблицаЗаказы.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаЗаказы.Номенклатура КАК Номенклатура,
| ТаблицаЗаказы.Характеристика КАК Характеристика,
| ТаблицаЗаказы.КодСтроки КАК КодСтроки,
| ТаблицаЗаказы.Склад КАК Склад,
| СУММА(ТаблицаЗаказы.КОформлению) КАК Количество
|
|ПОМЕСТИТЬ ТаблицаОстатки
|
|ИЗ
| (ВЫБРАТЬ
| ЗаказыОстатки.ЗаказПоставщику КАК ЗаказПоставщику,
| ЗаказыОстатки.Номенклатура КАК Номенклатура,
| ЗаказыОстатки.Характеристика КАК Характеристика,
| ЗаказыОстатки.КодСтроки КАК КодСтроки,
| ЗаказыОстатки.Склад КАК Склад,
| ЗаказыОстатки.КОформлениюОстаток КАК КОформлению
| ИЗ
| РегистрНакопления.ЗаказыПоставщикам.Остатки(,
| ВЫБОР КОГДА &ОтобратьПоЗаказу ТОГДА
| ЗаказПоставщику В (&МассивЗаказов)
| ИНАЧЕ
| ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).Партнер = &Партнер
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).Контрагент = &Контрагент
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).Договор = &Договор
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).ВариантПриемкиТоваров = &ВариантПриемкиТоваров
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).Организация = &Организация
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).ХозяйственнаяОперация = &ХозяйственнаяОперация
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).Соглашение = &Соглашение
| И (ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).Валюта = &ВалютаВзаиморасчетов
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию))
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).НалогообложениеНДС = &НалогообложениеНДС
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).ЦенаВключаетНДС = &ЦенаВключаетНДС
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).ВернутьМногооборотнуюТару = &ВернутьМногооборотнуюТару
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).ТребуетсяЗалогЗаТару = &ТребуетсяЗалогЗаТару
| И (&БезОтбораПоНаправлениямДеятельности
| ИЛИ ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).НаправлениеДеятельности = &НаправлениеДеятельности
| ИЛИ ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| И (НЕ &ПроверятьГФУПодразделение
| ИЛИ (ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).ГруппаФинансовогоУчета В (&ГруппаФинансовогоУчета, ЗНАЧЕНИЕ(Справочник.ГруппыФинансовогоУчетаРасчетов.ПустаяСсылка))
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).Подразделение В (&Подразделение, ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка))))
| И ВЫРАЗИТЬ(ЗаказПоставщику КАК Документ.ЗаказПоставщику).ОперацияССамозанятым = &ОперацияССамозанятым
|
| КОНЕЦ
| И
| ВЫБОР
| КОГДА
| ВЫРАЗИТЬ(&СкладПоступления КАК Справочник.Склады).ЭтоГруппа
| ТОГДА
| Склад В ИЕРАРХИИ (&СкладПоступления) ИЛИ Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| ИНАЧЕ
| Склад В (ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка), &СкладПоступления)
| КОНЕЦ
| ) КАК ЗаказыОстатки
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗаказыДвижения.ЗаказПоставщику,
| ЗаказыДвижения.Номенклатура,
| ЗаказыДвижения.Характеристика,
| ЗаказыДвижения.КодСтроки,
| ЗаказыДвижения.Склад,
| ВЫБОР КОГДА ЗаказыДвижения.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА
| -ЗаказыДвижения.КОформлению
| ИНАЧЕ
| ЗаказыДвижения.КОформлению
| КОНЕЦ
| ИЗ
| РегистрНакопления.ЗаказыПоставщикам КАК ЗаказыДвижения
| ГДЕ
| ЗаказыДвижения.Регистратор = &Регистратор
| И ВЫБОР КОГДА &ОтобратьПоЗаказу ТОГДА
| ЗаказыДвижения.ЗаказПоставщику В (&МассивЗаказов)
| ИНАЧЕ
| ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).Партнер = &Партнер
| И ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).Контрагент = &Контрагент
| И ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).Договор = &Договор
| И ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).Организация = &Организация
| И ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).ХозяйственнаяОперация = &ХозяйственнаяОперация
| И ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).Соглашение = &Соглашение
| И (ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).Валюта = &ВалютаВзаиморасчетов
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию))
| И ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).НалогообложениеНДС = &НалогообложениеНДС
| И ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).ЦенаВключаетНДС = &ЦенаВключаетНДС
| И ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).ВернутьМногооборотнуюТару = &ВернутьМногооборотнуюТару
| И ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).ТребуетсяЗалогЗаТару = &ТребуетсяЗалогЗаТару
| И (&БезОтбораПоНаправлениямДеятельности
| ИЛИ (ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).НаправлениеДеятельности = &НаправлениеДеятельности
| ИЛИ ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)))
| И (НЕ &ПроверятьГФУПодразделение
| ИЛИ (ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).ГруппаФинансовогоУчета В (&ГруппаФинансовогоУчета, ЗНАЧЕНИЕ(Справочник.ГруппыФинансовогоУчетаРасчетов.ПустаяСсылка))
| И ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).Подразделение В (&Подразделение, ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка))))
| И ВЫРАЗИТЬ(ЗаказыДвижения.ЗаказПоставщику КАК Документ.ЗаказПоставщику).ОперацияССамозанятым = &ОперацияССамозанятым
|
| КОНЕЦ
| И ЗаказыДвижения.Активность
| И ВЫБОР
| КОГДА
| ВЫРАЗИТЬ(&СкладПоступления КАК Справочник.Склады).ЭтоГруппа
| ТОГДА
| ЗаказыДвижения.Склад В ИЕРАРХИИ (&СкладПоступления) ИЛИ Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| ИНАЧЕ
| ЗаказыДвижения.Склад В (ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка), &СкладПоступления)
| КОНЕЦ
| ) КАК ТаблицаЗаказы
|
| СГРУППИРОВАТЬ ПО
| ТаблицаЗаказы.ЗаказПоставщику,
| ТаблицаЗаказы.Номенклатура,
| ТаблицаЗаказы.Характеристика,
| ТаблицаЗаказы.КодСтроки,
| ТаблицаЗаказы.Склад
|
| ИМЕЮЩИЕ
| СУММА(ТаблицаЗаказы.КОформлению) > 0
|;
|
|ВЫБРАТЬ
| ТоварыНакладной.ЗаказПоставщику КАК ЗаказПоставщику,
| ВЫРАЗИТЬ(ТоварыНакладной.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
| ТоварыНакладной.Характеристика КАК Характеристика,
| ТоварыНакладной.КодСтроки КАК КодСтроки,
| ТоварыНакладной.Количество КАК Количество,
| ТоварыНакладной.Сумма КАК СуммаВзаиморасчетов,
| ВЫРАЗИТЬ(ТоварыНакладной.Склад КАК Справочник.Склады) КАК Склад,
| ВЫРАЗИТЬ(ТоварыНакладной.Упаковка КАК Справочник.УпаковкиЕдиницыИзмерения) КАК Упаковка,
| ТоварыНакладной.Серия КАК Серия,
| ТоварыНакладной.ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| ТоварыНакладной.Количество КАК КоличествоВЗаказе,
| ТоварыНакладной.Цена КАК Цена,
| ТоварыНакладной.СтавкаНДС КАК СтавкаНДС,
| ТоварыНакладной.Сумма КАК Сумма,
| ТоварыНакладной.СуммаНДС КАК СуммаНДС,
| ТоварыНакладной.СуммаСНДС КАК СуммаСНДС,
| ТоварыНакладной.ПроцентРучнойСкидки КАК ПроцентРучнойСкидки,
| ТоварыНакладной.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
| ТоварыНакладной.Сделка КАК Сделка,
| ТоварыНакладной.СтатьяРасходов КАК СтатьяРасходов,
| ТоварыНакладной.АналитикаРасходов КАК АналитикаРасходов,
| ТоварыНакладной.Подразделение КАК Подразделение,
| ТоварыНакладной.СписатьНаРасходы КАК СписатьНаРасходы,
| ТоварыНакладной.НоменклатураПартнера КАК НоменклатураПартнера,
| ТоварыНакладной.Назначение КАК Назначение
|ПОМЕСТИТЬ
| ВтТоварыНакладнойБезГруппировки
|ИЗ
| &ТоварыНакладной КАК ТоварыНакладной
|;
|
|ВЫБРАТЬ
| ТоварыНакладной.ЗаказПоставщику КАК ЗаказПоставщику,
| ТоварыНакладной.Номенклатура КАК Номенклатура,
| ТоварыНакладной.Характеристика КАК Характеристика,
| ТоварыНакладной.КодСтроки КАК КодСтроки,
| СУММА(ТоварыНакладной.Количество) КАК Количество,
| СУММА(ТоварыНакладной.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| ТоварыНакладной.Склад КАК Склад,
| ТоварыНакладной.Упаковка КАК Упаковка,
| ТоварыНакладной.ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| СУММА(ТоварыНакладной.КоличествоВЗаказе) КАК КоличествоВЗаказе,
| ТоварыНакладной.Цена КАК Цена,
| ТоварыНакладной.СтавкаНДС КАК СтавкаНДС,
| СУММА(ТоварыНакладной.Сумма) КАК Сумма,
| СУММА(ТоварыНакладной.СуммаНДС) КАК СуммаНДС,
| СУММА(ТоварыНакладной.СуммаСНДС) КАК СуммаСНДС,
| ТоварыНакладной.ПроцентРучнойСкидки КАК ПроцентРучнойСкидки,
| СУММА(ТоварыНакладной.СуммаРучнойСкидки) КАК СуммаРучнойСкидки,
| ТоварыНакладной.Сделка КАК Сделка,
| ТоварыНакладной.СтатьяРасходов КАК СтатьяРасходов,
| ТоварыНакладной.АналитикаРасходов КАК АналитикаРасходов,
| ТоварыНакладной.Подразделение КАК Подразделение,
| ТоварыНакладной.СписатьНаРасходы КАК СписатьНаРасходы,
| ТоварыНакладной.НоменклатураПартнера КАК НоменклатураПартнера,
| ТоварыНакладной.Назначение КАК Назначение
|ПОМЕСТИТЬ
| ВтТоварыНакладной
|ИЗ
| ВтТоварыНакладнойБезГруппировки КАК ТоварыНакладной
|СГРУППИРОВАТЬ ПО
| ТоварыНакладной.ЗаказПоставщику,
| ТоварыНакладной.Номенклатура,
| ТоварыНакладной.Характеристика,
| ТоварыНакладной.КодСтроки,
| ТоварыНакладной.Склад,
| ТоварыНакладной.Упаковка,
| ТоварыНакладной.ВидЦеныПоставщика,
| ТоварыНакладной.Цена,
| ТоварыНакладной.СтавкаНДС,
| ТоварыНакладной.ПроцентРучнойСкидки,
| ТоварыНакладной.Сделка,
| ТоварыНакладной.СтатьяРасходов,
| ТоварыНакладной.АналитикаРасходов,
| ТоварыНакладной.Подразделение,
| ТоварыНакладной.СписатьНаРасходы,
| ТоварыНакладной.НоменклатураПартнера,
| ТоварыНакладной.Назначение
|;
|
|ВЫБРАТЬ
| ТаблицаОстатки.ЗаказПоставщику КАК ЗаказПоставщику,
| ЗаказТовары.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| ТаблицаОстатки.Номенклатура КАК Номенклатура,
| ТаблицаОстатки.Характеристика КАК Характеристика,
| ТаблицаОстатки.КодСтроки КАК КодСтроки,
| ТаблицаОстатки.Количество КАК Количество,
| ТаблицаОстатки.Склад КАК Склад,
| ЕСТЬNULL(НакладнаяТовары.Количество,0) КАК КоличествоВНакладной,
| ЗаказТовары.Количество КАК КоличествоВЗаказе,
| ЗаказТовары.НомерСтроки КАК НомерСтроки,
| ЗаказТовары.Ссылка.Сделка КАК Сделка,
| ВЫБОР КОГДА &ЗаполнятьКолонкиАналитикиРасходов ТОГДА
| ЗаказТовары.СтатьяРасходов
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяРасходов,
| ВЫБОР КОГДА &ЗаполнятьКолонкиАналитикиРасходов ТОГДА
| ЗаказТовары.АналитикаРасходов
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаРасходов,
| ВЫБОР КОГДА &ЗаполнятьКолонкиАналитикиРасходов ТОГДА
| ЗаказТовары.Подразделение
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| КОНЕЦ КАК Подразделение,
| ВЫБОР КОГДА &ЗаполнятьКолонкиАналитикиРасходов ТОГДА
| ЗаказТовары.СписатьНаРасходы
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК СписатьНаРасходы,
| ЗаказТовары.ДатаПоступления КАК ДатаПоступления,
| ЕСТЬNULL(НакладнаяТовары.Упаковка, ЗаказТовары.Упаковка) КАК Упаковка,
| ЗаказТовары.ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| ЗаказТовары.Количество КАК КоличествоПоЗаказу,
| ЗаказТовары.Цена КАК Цена,
| ЗаказТовары.СтавкаНДС КАК СтавкаНДС,
| ЗаказТовары.Сумма КАК Сумма,
| ЗаказТовары.СуммаНДС КАК СуммаНДС,
| ЗаказТовары.СуммаСНДС КАК СуммаСНДС,
| ЗаказТовары.ПроцентРучнойСкидки КАК ПроцентРучнойСкидки,
| ЗаказТовары.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
| ЗаказТовары.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ЗаказТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ЗаказТовары.Назначение КАК Назначение,
| ВЫБОР
| КОГДА ЕСТЬNULL(НакладнаяТовары.Упаковка, ЗаказТовары.Упаковка) = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА 1
| ИНАЧЕ ЕСТЬNULL(ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, &ТекстЗапросаКоэффициентУпаковки2), 1)
| КОНЕЦ КАК Коэффициент,
| ТаблицаОстатки.Количество / ЕСТЬNULL(ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, &ТекстЗапросаКоэффициентУпаковки2), 1) КАК КоличествоУпаковок,
| ВЫБОР
| КОГДА ТаблицаОстатки.Склад.ИспользоватьОрдернуюСхемуПриПоступлении = ИСТИНА
| И ТаблицаОстатки.Склад.ДатаНачалаОрдернойСхемыПриПоступлении <= &ТекущаяДата
| И НЕ ТаблицаОстатки.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ОрдернаяСхемаПриОтгрузке
|ИЗ
| ТаблицаОстатки КАК ТаблицаОстатки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику.Товары КАК ЗаказТовары
| ПО ТаблицаОстатки.Номенклатура = ЗаказТовары.Номенклатура
| И ТаблицаОстатки.Характеристика = ЗаказТовары.Характеристика
| И ТаблицаОстатки.КодСтроки = ЗаказТовары.КодСтроки
| И ТаблицаОстатки.ЗаказПоставщику = ЗаказТовары.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТоварыНакладной КАК НакладнаяТовары
| ПО ТаблицаОстатки.Номенклатура = НакладнаяТовары.Номенклатура
| И ТаблицаОстатки.Характеристика = НакладнаяТовары.Характеристика
| И ТаблицаОстатки.КодСтроки = НакладнаяТовары.КодСтроки
| И ТаблицаОстатки.ЗаказПоставщику = НакладнаяТовары.ЗаказПоставщику
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТоварыНакладной.ЗаказПоставщику КАК ЗаказПоставщику,
| ВЫРАЗИТЬ(ТоварыНакладной.ЗаказПоставщику КАК Документ.ЗаказПоставщику).ПорядокРасчетов КАК ПорядокРасчетов,
| ТоварыНакладной.Номенклатура КАК Номенклатура,
| ТоварыНакладной.Характеристика КАК Характеристика,
| ТоварыНакладной.КодСтроки КАК КодСтроки,
| ТоварыНакладной.Количество КАК Количество,
| ТоварыНакладной.Склад КАК Склад,
| ЕСТЬNULL(ТоварыНакладной.Количество,0) КАК КоличествоВНакладной,
| 0 КАК КоличествоВЗаказе,
| 0 КАК НомерСтроки,
| ТоварыНакладной.Сделка КАК Сделка,
| ВЫБОР КОГДА &ЗаполнятьКолонкиАналитикиРасходов ТОГДА
| ТоварыНакладной.СтатьяРасходов
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяРасходов,
| ВЫБОР КОГДА &ЗаполнятьКолонкиАналитикиРасходов ТОГДА
| ТоварыНакладной.АналитикаРасходов
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаРасходов,
| ВЫБОР КОГДА &ЗаполнятьКолонкиАналитикиРасходов ТОГДА
| ТоварыНакладной.Подразделение
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| КОНЕЦ КАК Подразделение,
| ВЫБОР КОГДА &ЗаполнятьКолонкиАналитикиРасходов ТОГДА
| ТоварыНакладной.СписатьНаРасходы
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК ДатаПоступления,
| ТоварыНакладной.Упаковка КАК Упаковка,
| ТоварыНакладной.ВидЦеныПоставщика КАК ВидЦеныПоставщика,
| 0 КАК КоличествоПоЗаказу,
| ТоварыНакладной.Цена КАК Цена,
| ТоварыНакладной.СтавкаНДС КАК СтавкаНДС,
| ТоварыНакладной.Сумма КАК Сумма,
| ТоварыНакладной.СуммаНДС КАК СуммаНДС,
| ТоварыНакладной.СуммаСНДС КАК СуммаСНДС,
| ТоварыНакладной.ПроцентРучнойСкидки КАК ПроцентРучнойСкидки,
| ТоварыНакладной.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
| ТоварыНакладной.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТоварыНакладной.НоменклатураПартнера КАК НоменклатураПартнера,
| ТоварыНакладной.Назначение КАК Назначение,
| ВЫБОР
| КОГДА ТоварыНакладной.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА 1
| ИНАЧЕ ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки3, 1)
| КОНЕЦ КАК Коэффициент,
| ТоварыНакладной.Количество / ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки3, 1) КАК КоличествоУпаковок,
| ВЫБОР
| КОГДА ТоварыНакладной.Склад.ИспользоватьОрдернуюСхемуПриПоступлении = ИСТИНА
| И ТоварыНакладной.Склад.ДатаНачалаОрдернойСхемыПриПоступлении <= &ТекущаяДата
| И НЕ ТоварыНакладной.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ОрдернаяСхемаПриОтгрузке
|ИЗ
| ВтТоварыНакладной КАК ТоварыНакладной
|ГДЕ
| ТоварыНакладной.КодСтроки = 0
|УПОРЯДОЧИТЬ ПО
| ТаблицаОстатки.ЗаказПоставщику,
| ЗаказТовары.НомерСтроки";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"НакладнаяТовары.Упаковка",
"НакладнаяТовары.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки2",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ЗаказТовары.Упаковка",
"ЗаказТовары.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки3",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ТоварыНакладной.Упаковка",
"ТоварыНакладной.Номенклатура"));
Возврат Запрос.Выполнить();
КонецФункции
#КонецОбласти
#Область ТекущиеДела
Функция ТекстЗапросаЗаказыКОформлению(Организация = Неопределено, Склад = Неопределено) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1 РАЗРЕШЕННЫЕ
| ЗаказыПоставщикам.Ссылка КАК Ссылка,
| ТИПЗНАЧЕНИЯ(ЗаказыПоставщикам.Ссылка) КАК ТипРаспоряжения,
| ЗаказыПоставщикам.Дата КАК Дата,
| ЗаказыПоставщикам.Номер КАК Номер,
| ЗаказыПоставщикам.Партнер КАК Партнер,
| ЗаказыПоставщикам.Контрагент КАК Контрагент,
| ЗаказыПоставщикам.Организация КАК Организация,
| ЗаказыПоставщикам.Склад КАК Склад,
| ЗаказыПоставщикам.Соглашение КАК Соглашение,
| ЗаказыПоставщикам.Договор КАК Договор,
| ЗаказыПоставщикам.Валюта КАК Валюта,
| ЗаказыПоставщикам.Менеджер КАК Менеджер,
| ЗаказыПоставщикам.СуммаДокумента КАК СуммаДокумента,
| ЗаказыПоставщикам.Приоритет КАК Приоритет,
| ЗаказыПоставщикам.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ВЫБОР
| КОГДА СУММА(ТаблицаРаспоряжений.КОформлениюРасход) = 0
| ТОГДА 1
| ИНАЧЕ 2
| КОНЕЦ КАК СостояниеПоступления
|ИЗ
| РегистрНакопления.ЗаказыПоставщикам.ОстаткиИОбороты(, , , , ЗаказПоставщику ССЫЛКА Документ.ЗаказПоставщику {(Склад) КАК Склад}) КАК ТаблицаРаспоряжений
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику КАК ЗаказыПоставщикам
| ПО (ЗаказыПоставщикам.Ссылка = ТаблицаРаспоряжений.ЗаказПоставщику)
|ГДЕ
| ТаблицаРаспоряжений.КОформлениюКонечныйОстаток > 0
| И &УсловиеОтбораСклад
| И &УсловиеОтбораОрганизация
|
|СГРУППИРОВАТЬ ПО
| ЗаказыПоставщикам.Ссылка,
| ТИПЗНАЧЕНИЯ(ЗаказыПоставщикам.Ссылка),
| ЗаказыПоставщикам.Дата,
| ЗаказыПоставщикам.Номер,
| ЗаказыПоставщикам.Партнер,
| ЗаказыПоставщикам.Контрагент,
| ЗаказыПоставщикам.Организация,
| ЗаказыПоставщикам.Склад,
| ЗаказыПоставщикам.Соглашение,
| ЗаказыПоставщикам.Договор,
| ЗаказыПоставщикам.Валюта,
| ЗаказыПоставщикам.Менеджер,
| ЗаказыПоставщикам.СуммаДокумента,
| ЗаказыПоставщикам.Приоритет,
| ЗаказыПоставщикам.ХозяйственнаяОперация";
Если ЗначениеЗаполнено(Организация) Тогда
УсловиеОтбора = "ЗаказыПоставщикам.Организация = &Организация";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеОтбораОрганизация", УсловиеОтбора);
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"И &УсловиеОтбораОрганизация", "");
КонецЕсли;
Если ЗначениеЗаполнено(Склад) Тогда
УсловиеОтбора = "ЗаказыПоставщикам.Склад = &Склад";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеОтбораСклад", УсловиеОтбора);
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"И &УсловиеОтбораСклад", "");
КонецЕсли;
Возврат ТекстЗапроса
КонецФункции
Функция ТекстЗапросаРаспоряженияНаПриемку(Организация = Неопределено, Склад = Неопределено) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 1 РАЗРЕШЕННЫЕ
| ТаблицаРаспоряжений.Ссылка,
| ТИПЗНАЧЕНИЯ(ТаблицаРаспоряжений.Ссылка) КАК ТипРаспоряжения,
| ТаблицаРаспоряжений.Дата,
| ТаблицаРаспоряжений.Номер,
| ТаблицаРаспоряжений.ПометкаУдаления,
| ТаблицаРаспоряжений.Партнер,
| ТаблицаРаспоряжений.Контрагент,
| ТаблицаРаспоряжений.Организация,
| ТаблицаРаспоряжений.Склад,
| ТаблицаРаспоряжений.Соглашение,
| ТаблицаРаспоряжений.Договор,
| ТаблицаРаспоряжений.Валюта,
| ТаблицаРаспоряжений.Менеджер,
| ТаблицаРаспоряжений.СуммаДокумента,
| ТаблицаРаспоряжений.Приоритет,
| ТаблицаРаспоряжений.ХозяйственнаяОперация,
| МАКСИМУМ(ТаблицаРаспоряжений.СостояниеОрдера) КАК СостояниеОрдера
|ИЗ
| (ВЫБРАТЬ
| ТаблицаРаспоряжений.ДокументПоступления.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).Дата
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).Дата
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Справочник.СоглашенияСПоставщиками).Дата
| КОНЕЦ КАК Дата,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).Номер
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).Номер
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Справочник.СоглашенияСПоставщиками).Номер
| КОНЕЦ КАК Номер,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).ПометкаУдаления
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).ПометкаУдаления
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Справочник.СоглашенияСПоставщиками).ПометкаУдаления
| КОНЕЦ КАК ПометкаУдаления,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).Партнер
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).Партнер
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Справочник.СоглашенияСПоставщиками).Партнер
| КОНЕЦ КАК Партнер,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).Контрагент
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).Контрагент
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Справочник.СоглашенияСПоставщиками).Контрагент
| КОНЕЦ КАК Контрагент,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).Организация
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).Организация
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Справочник.СоглашенияСПоставщиками).Организация
| КОНЕЦ КАК Организация,
| ТаблицаРаспоряжений.Склад КАК Склад,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).Соглашение
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).Соглашение
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Справочник.СоглашенияСПоставщиками).Ссылка
| КОНЕЦ КАК Соглашение,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).Договор
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).Договор
| КОНЕЦ КАК Договор,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).Валюта
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).Валюта
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Справочник.СоглашенияСПоставщиками).Валюта
| КОНЕЦ КАК Валюта,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).Менеджер
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).Менеджер
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Справочник.СоглашенияСПоставщиками).Менеджер
| КОНЕЦ КАК Менеджер,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).СуммаДокумента
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).СуммаДокумента
| КОНЕЦ КАК СуммаДокумента,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).Приоритет
| КОНЕЦ КАК Приоритет,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ЗаказПоставщику).ХозяйственнаяОперация
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Документ.ПриобретениеТоваровУслуг).ХозяйственнаяОперация
| КОГДА ТаблицаРаспоряжений.ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками
| ТОГДА ВЫРАЗИТЬ(ТаблицаРаспоряжений.ДокументПоступления КАК Справочник.СоглашенияСПоставщиками).ХозяйственнаяОперация
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаРаспоряжений.Склад КАК СкладОтгрузки,
| ТаблицаРаспоряжений.Номенклатура КАК Номенклатура,
| ТаблицаРаспоряжений.Характеристика КАК ХарактеристикаНоменклатуры,
| ТаблицаРаспоряжений.Назначение КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаРаспоряжений.КОформлениюПоступленийПоОрдерамКонечныйОстаток = 0
| И ТаблицаРаспоряжений.КОформлениюПоступленийПоОрдерамПриход > 0
| ТОГДА 0
| КОГДА ТаблицаРаспоряжений.КОформлениюПоступленийПоОрдерамПриход > 0
| ТОГДА 3
| ИНАЧЕ 1
| КОНЕЦ КАК СостояниеОрдера
| ИЗ
| РегистрНакопления.ТоварыКПоступлению.ОстаткиИОбороты(
| ,
| ,
| ,
| ,
| ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
| ИЛИ ДокументПоступления ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ИЛИ ДокументПоступления ССЫЛКА Справочник.СоглашенияСПоставщиками {(Склад) КАК Склад}) КАК ТаблицаРаспоряжений
| ГДЕ
| ТаблицаРаспоряжений.КОформлениюПоступленийПоОрдерамКонечныйОстаток <> 0) КАК ТаблицаРаспоряжений
|ГДЕ
| НЕ ТаблицаРаспоряжений.Номер ЕСТЬ NULL
| И &УсловиеОтбораСклад
| И &УсловиеОтбораОрганизация
|
|СГРУППИРОВАТЬ ПО
| ТаблицаРаспоряжений.Ссылка,
| ТИПЗНАЧЕНИЯ(ТаблицаРаспоряжений.Ссылка),
| ТаблицаРаспоряжений.ПометкаУдаления,
| ТаблицаРаспоряжений.Номер,
| ТаблицаРаспоряжений.Дата,
| ТаблицаРаспоряжений.Партнер,
| ТаблицаРаспоряжений.Контрагент,
| ТаблицаРаспоряжений.Организация,
| ТаблицаРаспоряжений.Соглашение,
| ТаблицаРаспоряжений.Договор,
| ТаблицаРаспоряжений.Валюта,
| ТаблицаРаспоряжений.Склад,
| ТаблицаРаспоряжений.Менеджер,
| ТаблицаРаспоряжений.Приоритет,
| ТаблицаРаспоряжений.ХозяйственнаяОперация,
| ТаблицаРаспоряжений.СуммаДокумента";
Если ЗначениеЗаполнено(Организация) Тогда
УсловиеОтбора = "ТаблицаРаспоряжений.Организация = &Организация";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеОтбораОрганизация", УсловиеОтбора);
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"И &УсловиеОтбораОрганизация", "");
КонецЕсли;
Если ЗначениеЗаполнено(Склад) Тогда
УсловиеОтбора = "ТаблицаРаспоряжений.Склад = &Склад";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеОтбораСклад", УсловиеОтбора);
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"И &УсловиеОтбораСклад", "");
КонецЕсли;
Возврат ТекстЗапроса
КонецФункции
Функция ЕстьЗаказыКОформлению(Организация = Неопределено, Склад = Неопределено) Экспорт
ТекстЗапроса = ТекстЗапросаЗаказыКОформлению(Организация, Склад);
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Склад", Склад);
Возврат Не Запрос.Выполнить().Пустой();
КонецФункции
Функция ЕстьРаспоряженияНаПриемку(Организация = Неопределено, Склад = Неопределено) Экспорт
ТекстЗапроса = ТекстЗапросаРаспоряженияНаПриемку(Организация, Склад);
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Склад", Склад);
Возврат Не Запрос.Выполнить().Пустой();
КонецФункции
Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт
ИмяФормы = "Обработка.ЖурналДокументовЗакупки.Форма.СписокНакладныеКОформлению";
ОбщиеПараметрыЗапросов = ТекущиеДелаСлужебный.ОбщиеПараметрыЗапросов();
Доступность =
(ОбщиеПараметрыЗапросов.ЭтоПолноправныйПользователь
Или ПравоДоступа("Просмотр", Метаданные.Документы.ПриобретениеТоваровУслуг))
И ПравоДоступа("Добавление", Метаданные.Документы.ПриобретениеТоваровУслуг)
И ПравоДоступа("Просмотр", Метаданные.Документы.ЗаказПоставщику)
И ПравоДоступа("Чтение", Метаданные.РегистрыНакопления.ЗаказыПоставщикам)
И ПолучитьФункциональнуюОпцию("ИспользоватьЗаказыПоставщикам");
Если НЕ Доступность Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТаблицаРаспоряжений.ЗаказПоставщику) КАК РаспоряженияНаОформлениеПоступленийТоваровИУслугВсегоВРаботе
|ИЗ
| РегистрНакопления.ЗаказыПоставщикам.Остатки(, ЗаказПоставщику В (
| ВЫБРАТЬ
| ЗаказПоставщику.Ссылка
| ИЗ
| Документ.ЗаказПоставщику КАК ЗаказПоставщику)) КАК ТаблицаРаспоряжений
|ГДЕ
| ТаблицаРаспоряжений.КОформлениюОстаток > 0";
Результат = ТекущиеДелаСлужебный.ЧисловыеПоказателиТекущихДел(Запрос, ОбщиеПараметрыЗапросов);
ДелоРодитель = ТекущиеДела.Добавить();
ДелоРодитель.Идентификатор = "ДокументыПоступленияТоваровИУслуг";
ДелоРодитель.Представление = НСтр("ru = 'Документы приобретения товаров и услуг'");
ДелоРодитель.ЕстьДела = Результат.РаспоряженияНаОформлениеПоступленийТоваровИУслугВсегоВРаботе > 0;
ДелоРодитель.Владелец = Метаданные.Подсистемы.Закупки;
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Склад", Справочники.Склады.ПустаяСсылка());
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("СтруктураБыстрогоОтбора", ПараметрыОтбора);
ПараметрыФормы.Вставить("ИмяТекущейСтраницы", "СтраницаРаспоряженияНаОформление");
Дело = ТекущиеДела.Добавить();
Дело.Идентификатор = "РаспоряженияНаОформлениеПоступленийТоваровИУслугВсегоВРаботе";
Дело.ЕстьДела = Результат.РаспоряженияНаОформлениеПоступленийТоваровИУслугВсегоВРаботе > 0;
Дело.Представление = НСтр("ru = 'Распоряжения на оформление в работе'");
Дело.Количество = Результат.РаспоряженияНаОформлениеПоступленийТоваровИУслугВсегоВРаботе;
Дело.Важное = Ложь;
Дело.Форма = ИмяФормы;
Дело.ПараметрыФормы = ПараметрыФормы;
Дело.Владелец = "ДокументыПоступленияТоваровИУслуг";
КонецПроцедуры
Функция СформироватьГиперссылкуКОформлению(Параметры) Экспорт
Организация = Параметры.Организация;
Склад = Параметры.Склад;
ПоказыватьЗаказы = ПолучитьФункциональнуюОпцию("ИспользоватьЗаказыПоставщикам")
И ПравоДоступа("Чтение", Метаданные.Документы.ЗаказПоставщику)
И ПравоДоступа("Чтение", Метаданные.РегистрыНакопления.ЗаказыПоставщикам)
И ПравоДоступа("Чтение", Метаданные.РегистрыНакопления.ТоварыКПоступлению);
ПоказыватьРаспоряженияНаПриемку = СкладыСервер.ЕстьОрдерныйНаПоступлениеСклад(Склад,ТекущаяДатаСеанса())
И ПравоДоступа("Чтение", Метаданные.РегистрыНакопления.ТоварыКПоступлению);
Гиперссылка = Неопределено;
ТекстГиперссылки = НСтр("ru = 'Накладные'");
Если ПоказыватьЗаказы
Или ПоказыватьРаспоряженияНаПриемку Тогда
Гиперссылка = Новый ФорматированнаяСтрока(ТекстГиперссылки,,ЦветаСтиля.НезаполненноеПолеТаблицы,,
ИмяФормыСпискаПриобретениеТоваровУслуг());
КонецЕсли;
Если ПоказыватьЗаказы
И ЕстьЗаказыКОформлению(Организация, Склад)
Или ПоказыватьРаспоряженияНаПриемку
И ЕстьРаспоряженияНаПриемку(Организация, Склад) Тогда
Гиперссылка = Новый ФорматированнаяСтрока(ТекстГиперссылки,,,,
ИмяФормыСпискаПриобретениеТоваровУслуг());
КонецЕсли;
Возврат Гиперссылка;
КонецФункции
Функция ИмяФормыСпискаПриобретениеТоваровУслуг() Экспорт
Возврат "Документ.ПриобретениеТоваровУслуг.Форма.ФормаСпискаДокументов";
КонецФункции
#КонецОбласти
#Область ОбновлениеИнформационнойБазы
Функция РеквизитыДокумента(ДокументСсылка) Экспорт
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ЗаказПоставщику КАК ЗаказПоставщику,
| ДанныеДокумента.ПоступлениеПоЗаказам КАК ПоступлениеПоЗаказам,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.ПорядокРасчетов КАК ПорядокРасчетов,
| ДанныеДокумента.КурсЧислитель КАК Курс,
| ДанныеДокумента.КурсЗнаменатель КАК Кратность
|
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &ДокументСсылка
|");
Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Дата = Выборка.Дата;
Организация = Выборка.Организация;
Партнер = Выборка.Партнер;
Контрагент = Выборка.Контрагент;
Договор = Выборка.Договор;
НаправлениеДеятельности = Выборка.НаправлениеДеятельности;
ПорядокРасчетов = Выборка.ПорядокРасчетов;
Валюта = Выборка.Валюта;
ВалютаВзаиморасчетов = Выборка.ВалютаВзаиморасчетов;
ХозяйственнаяОперация = ?(ЗначениеЗаполнено(Выборка.ХозяйственнаяОперация), Выборка.ХозяйственнаяОперация, Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
ПоЗаказу = Выборка.ПоступлениеПоЗаказам;
СуммаДокумента = Выборка.СуммаДокумента;
СуммаВзаиморасчетов = ?(Выборка.Проведен, Выборка.СуммаВзаиморасчетов, 0);
Курс = Выборка.Курс;
Кратность = Выборка.Кратность;
Иначе
Дата = Дата(1,1,1);
Организация = Справочники.Организации.ПустаяСсылка();
Партнер = Справочники.Партнеры.ПустаяСсылка();
Контрагент = Справочники.Контрагенты.ПустаяСсылка();
Договор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
НаправлениеДеятельности = Справочники.НаправленияДеятельности.ПустаяСсылка();
ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПустаяСсылка();
Валюта = Справочники.Валюты.ПустаяСсылка();
ВалютаВзаиморасчетов = Справочники.Валюты.ПустаяСсылка();
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика;
ПоЗаказу = Ложь;
СуммаДокумента = 0;
СуммаВзаиморасчетов = 0;
Курс = 1;
Кратность = 1;
КонецЕсли;
СтруктураРеквизитов = Новый Структура;
СтруктураРеквизитов.Вставить("Дата", Дата);
СтруктураРеквизитов.Вставить("Организация", Организация);
СтруктураРеквизитов.Вставить("Партнер", Партнер);
СтруктураРеквизитов.Вставить("Контрагент", Контрагент);
СтруктураРеквизитов.Вставить("Договор", Договор);
СтруктураРеквизитов.Вставить("ПорядокРасчетов", ПорядокРасчетов);
СтруктураРеквизитов.Вставить("Валюта", Валюта);
СтруктураРеквизитов.Вставить("ВалютаВзаиморасчетов", ВалютаВзаиморасчетов);
СтруктураРеквизитов.Вставить("ХозяйственнаяОперация", ХозяйственнаяОперация);
СтруктураРеквизитов.Вставить("ПоЗаказу", ПоЗаказу);
СтруктураРеквизитов.Вставить("СуммаДокумента", СуммаДокумента);
СтруктураРеквизитов.Вставить("СуммаВзаиморасчетов", СуммаВзаиморасчетов);
СтруктураРеквизитов.Вставить("Курс", Курс);
СтруктураРеквизитов.Вставить("Кратность", Кратность);
СтруктураРеквизитов.Вставить("НаправлениеДеятельности", НаправлениеДеятельности);
Возврат СтруктураРеквизитов;
КонецФункции
#КонецОбласти
#Область Проведение
#КонецОбласти
Функция ТекстЗапросаТаблицаТоварыУслугиКОформлениюОтчетовКомитентуОЗакупках(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ТоварыУслугиКОформлениюОтчетовКомитентуОЗакупках";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ХозОперацииПоставкаПодПринципала = ЗакупкиСервер.ХозяйственныеОперацииДляАгентскойЗакупкиПодПринципала();
Если НЕ (ХозОперацииПоставкаПодПринципала.Найти(ДокументОбъект.ХозяйственнаяОперация) <> Неопределено) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| &Ссылка КАК ДокументПриобретения,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ ТаблицаТовары.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| &ВалютаВзаиморасчетов КАК Валюта,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА ТаблицаТовары.СуммаБезНДСРегл + ТаблицаТовары.СуммаНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА ТаблицаТовары.СуммаБезНДСУпр + ТаблицаТовары.СуммаНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаУпр,
| ИСТИНА КАК Первичное,
| ТаблицаТовары.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.УчитыватьСтавкиНДС, ЛОЖЬ)
| ТОГДА ТаблицаТовары.СтавкаНДС
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| КОНЕЦ КАК СтавкаНДС
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Назначения КАК Назначения
|ПО
| ТаблицаТовары.Назначение = Назначения.Ссылка
|ГДЕ
| ТаблицаТовары.НазначениеТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| И ВЫБОР ТаблицаТовары.ТипНоменклатуры
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
| ТОГДА ИСТИНА
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ИСТИНА
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА НЕ &ВернутьМногооборотнуюТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| И НЕ &ИспользуетсяДокументПоступлениеТоваров
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#КонецЕсли