#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("Закупки");
МеханизмыДокумента.Добавить("Обеспечение");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
МеханизмыДокумента.Добавить("Продажи");
МеханизмыДокумента.Добавить("ПередачаНаОтветхранение");
МеханизмыДокумента.Добавить("ПодакцизныеТовары");
МеханизмыДокумента.Добавить("ПриемНаОтветхранение");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СерийныйУчет");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("АдресныйСклад");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("УчетРабот");
МеханизмыДокумента.Добавить("ЦеныИСкидки");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
КорректировкаРеализацииЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.КорректировкаРеализации") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПереданнаяВозвратнаяТара(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРаспоряженияНаОтгрузку(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизацийКПередаче(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыКОформлениюОтчетовКомитенту(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеДоходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаУслугиКОформлениюОтчетовПринципалу(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаБонусныеБаллы(Запрос, ТекстыЗапроса, Регистры, ДокументСсылка);
ТекстЗапросаТаблицаИсправленияДокументов(Запрос, ТекстыЗапроса, Регистры);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры, ДокументСсылка);
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(
ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
КорректировкаРеализацииЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры);
ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры);
ОформитьИзлишкиНедостачиНаСкладе(Запрос, ТекстыЗапроса, Регистры);
ОтразитьПрочуюВыручку(Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Справочники.Претензии.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КомандаСоздания =
Документы.ПоступлениеТоваровОтКлиента.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если КомандаСоздания <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
КомандаСоздания,
"ТипКорректировки",
Перечисления.ТипыКорректировки.ОбычнаяКорректировка,
ВидСравненияКомпоновкиДанных.Равно);
КонецЕсли;
Документы.КорректировкаГрафикаВзаиморасчетов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
КорректировкаРеализацииЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.КорректировкаРеализации) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.КорректировкаРеализации.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.КорректировкаРеализации);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьКорректировкиРеализаций";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
ВзаиморасчетыСервер.КарточкаРасчетовСКлиентом_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
ВзаиморасчетыСервер.ЗадолженностьКлиентов_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
КорректировкаРеализацииЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
#Область Серии
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
ИменаРеквизитов = "ДокументОснование,Склад,Дата";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыУказанияСерий(Объект) Экспорт
ПараметрыУказанияСерий = Новый Структура;
#Область Товары
ПараметрыУказанияСерийТовары = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерийТовары.ПолноеИмяОбъекта = "Документ.КорректировкаРеализации";
ДокументОснованиеХозяйственнаяОперация = ХозяйственнаяОперацияДокументаОснования(Объект.ДокументОснование);
РеализацияЧерезКомиссионера = КомиссионнаяТорговляСервер.РеализацияЧерезКомиссионера(ДокументОснованиеХозяйственнаяОперация);
РеализацияПоПереходуПраваСобственности = ДокументОснованиеХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПереходПраваСобственности;
Если РеализацияЧерезКомиссионера
Или РеализацияПоПереходуПраваСобственности Тогда
ПараметрыУказанияСерийТовары.УчитыватьСебестоимостьПоСериям = ПолучитьФункциональнуюОпцию("УчитыватьСебестоимостьПоСериямСклад",
Новый Структура());
ПараметрыУказанияСерийТовары.ИспользоватьСерииНоменклатуры = ПолучитьФункциональнуюОпцию("ИспользоватьСерииНоменклатурыСклад",
Новый Структура());
Иначе
ПараметрыСерийСклада = СкладыСервер.ИспользованиеСерийНаСкладе(Объект.Склад, Истина);
ПараметрыУказанияСерийТовары.ИспользоватьСерииНоменклатуры = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерийТовары.УчитыватьСебестоимостьПоСериям = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
КонецЕсли;
ПараметрыУказанияСерийТовары.ТолькоСерииДляСебестоимости = Истина;
ПараметрыУказанияСерийТовары.ИмяТЧСерии = ПараметрыУказанияСерийТовары.ИмяТЧТовары;
ПараметрыУказанияСерийТовары.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ПустаяСсылка());
ПараметрыУказанияСерийТовары.ИменаПолейДополнительные.Добавить("Склад");
ПараметрыУказанияСерийТовары.ЭтоНакладная = Истина;
ПараметрыУказанияСерийТовары.Дата = Объект.Дата;
ПараметрыУказанияСерийТовары.ОперацияДокумента = ДокументОснованиеХозяйственнаяОперация;
ПараметрыУказанияСерий.Вставить("Товары", ПараметрыУказанияСерийТовары);
#КонецОбласти
#Область Расхождения
ПараметрыУказанияСерийРасхождения = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерийРасхождения.ПолноеИмяОбъекта = ПараметрыУказанияСерийТовары.ПолноеИмяОбъекта;
ПараметрыУказанияСерийРасхождения.УчитыватьСебестоимостьПоСериям = ПараметрыУказанияСерийТовары.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерийРасхождения.ИспользоватьСерииНоменклатуры = ПараметрыУказанияСерийТовары.ИспользоватьСерииНоменклатуры;
ПараметрыУказанияСерийРасхождения.ТолькоСерииДляСебестоимости = Истина;
ПараметрыУказанияСерийРасхождения.ИмяТЧТовары = "Расхождения";
ПараметрыУказанияСерийРасхождения.ИмяТЧСерии = "Расхождения";
ПараметрыУказанияСерийРасхождения.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ПустаяСсылка());
ПараметрыУказанияСерийРасхождения.ИменаПолейДополнительные.Добавить("Склад");
ПараметрыУказанияСерийРасхождения.ИменаПолейДополнительные.Добавить("ВариантОтражения");
ПараметрыУказанияСерийРасхождения.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерий");
ПараметрыУказанияСерийРасхождения.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерийНаСкладах");
ПараметрыУказанияСерийРасхождения.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерийПереданныхТоваров");
ПараметрыУказанияСерийРасхождения.ЭтоНакладная = Истина;
ПараметрыУказанияСерийРасхождения.Дата = Объект.Дата;
ПараметрыУказанияСерийРасхождения.ОперацияДокумента = ДокументОснованиеХозяйственнаяОперация;
ПараметрыУказанияСерий.Вставить("Расхождения", ПараметрыУказанияСерийРасхождения);
#КонецОбласти
Возврат ПараметрыУказанияСерий;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
Если ПараметрыУказанияСерий.ИмяТЧТовары = "Расхождения" Тогда
ТекстЗапроса = ТекстЗапросаЗаполненияСтатусовУказанияСерийРасхождения();
Иначе
ТекстЗапроса = ТекстЗапросаЗаполненияСтатусовУказанияСерийТовары();
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#Область ОснованиеДляПечати
Функция СтруктураОснованияДляПечати(Объект) Экспорт
СтруктураОснования = СтруктураОснования(Объект, Объект.ПорядокРасчетов);
Возврат СтруктураОснования;
КонецФункции
Функция ТаблицаОснованийДляПечати(Объект) Экспорт
ТаблицаОснований = Новый ТаблицаЗначений;
ТаблицаОснований.Колонки.Добавить("Основание", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(300)));
ТаблицаОснований.Колонки.Добавить("ОснованиеДата", Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата)));
ТаблицаОснований.Колонки.Добавить("ОснованиеНомер", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(128)));
СтруктураОснования = СтруктураОснования(Объект, Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов);
Если ЗначениеЗаполнено(СтруктураОснования.Основание) Тогда
ДобавленнаяСтрока = ТаблицаОснований.Добавить();
ЗаполнитьЗначенияСвойств(ДобавленнаяСтрока, СтруктураОснования);
КонецЕсли;
СтруктураОснования = СтруктураОснования(Объект, Перечисления.ПорядокРасчетов.ПоЗаказам);
Если ЗначениеЗаполнено(СтруктураОснования.Основание) Тогда
ДобавленнаяСтрока = ТаблицаОснований.Добавить();
ЗаполнитьЗначенияСвойств(ДобавленнаяСтрока, СтруктураОснования);
КонецЕсли;
Возврат ТаблицаОснований;
КонецФункции
#КонецОбласти
#Область ПроводкиРеглУчета
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат КорректировкаРеализацииЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат КорректировкаРеализацииЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#Конецобласти
Функция ТекстЗапросаДоступныхНазначений(ПараметрыФормированияЗапроса) Экспорт
Возврат Справочники.Назначения.ТекстЗапросаВсехНазначений(ПараметрыФормированияЗапроса);
КонецФункции
Функция ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности(Форма) Экспорт
ПорядокОбработкиДокумента = НаправленияДеятельностиСервер.ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности();
ПорядокОбработкиДокумента.ИменаТабличныхЧастейДляЗаполненияНазначения = "Товары";
ТаблицаУсловий = НаправленияДеятельностиСервер.УсловияОбработкиНазначенийВСтроках("ТипНоменклатуры,КодСтроки");
ПорядокОбработкиДокумента.УсловияОбработкиСтрок.Вставить("Товары", ТаблицаУсловий);
Возврат ПорядокОбработкиДокумента;
КонецФункции
#Область Печать
Функция ПравилаПечатиЗаданияНаОтборРазмещение() Экспорт
ПравилаПечатиЗадания = Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ПравилаПечатиЗаданияНаОтборРазмещение();
ПравилаПечатиЗадания.СкладыВТЧ = Истина;
ПравилаПечатиЗадания.КорректировкаТоваров = Истина;
ПравилаПечатиЗадания.ИмяТЧТовары = "Расхождения";
Возврат ПравилаПечатиЗадания;
КонецФункции
#Конецобласти
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
ЭтоКорректировкаЗадолженности = Ложь;
ВестиРасчетыЧерезКонечныхПокупателей = Ложь;
РеализацияЧерезКомиссионера = Ложь;
ЭтоКорректировкаПервичногоДокумента = Ложь;
ДокументОснование = Неопределено;
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
ДанныеЗаполнения,
"ВидКорректировки,
|ДокументОснование,
|Договор,
|ТипКорректировки");
ЭтоКорректировкаЗадолженности =
СтруктураДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно
ИЛИ СтруктураДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУменьшениеЗадолженностиСводно;
РеализацияЧерезКомиссионера = КомиссионнаяТорговляСервер.РеализацияЧерезКомиссионера(
ХозяйственнаяОперацияДокументаОснования(СтруктураДанныеЗаполнения.ДокументОснование));
ВестиРасчетыЧерезКонечныхПокупателей = РеализацияЧерезКомиссионера И СтруктураДанныеЗаполнения.Договор.ВестиРасчетыЧерезКонечныхПокупателей;
ЭтоКорректировкаПервичногоДокумента = СтруктураДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
Или СтруктураДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
ДокументОснование = СтруктураДанныеЗаполнения.ДокументОснование;
ИначеЕсли ДанныеЗаполнения <> Неопределено Тогда
ЭтоКорректировкаЗадолженности =
ДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно
ИЛИ ДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУменьшениеЗадолженностиСводно;
РеализацияЧерезКомиссионера = КомиссионнаяТорговляСервер.РеализацияЧерезКомиссионера(
ХозяйственнаяОперацияДокументаОснования(ДанныеЗаполнения.ДокументОснование));
ВестиРасчетыЧерезКонечныхПокупателей = РеализацияЧерезКомиссионера
И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДанныеЗаполнения.Договор, "ВестиРасчетыЧерезКонечныхПокупателей");
ЭтоКорректировкаПервичногоДокумента = ДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
Или ДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
ДокументОснование = ДанныеЗаполнения.ДокументОснование;
КонецЕсли;
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
#Область ОбязательныеПараметры
СтруктураПараметров.ЭтоЗаказ = Ложь;
СтруктураПараметров.ЭтоСправочник = Ложь;
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
СтруктураПараметров.Дата = "Объект.Дата";
СтруктураПараметров.ВалютаДокумента = "Объект.Валюта";
СтруктураПараметров.СуммаДокумента = "";
СтруктураПараметров.Организация = "Объект.Организация";
СтруктураПараметров.Партнер = ?(ВестиРасчетыЧерезКонечныхПокупателей, "Объект.КлиентПартнер", "Объект.Партнер");
СтруктураПараметров.Контрагент = ?(ВестиРасчетыЧерезКонечныхПокупателей, "Объект.КлиентКонтрагент", "Объект.Контрагент");
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.Ссылка = "";
Иначе
СтруктураПараметров.Ссылка = "Объект.ДокументОснование";
КонецЕсли;
#КонецОбласти
#Область НеобязательныеПараметры
СтруктураПараметров.ВалютаВзаиморасчетов = "Объект.ВалютаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетов = "Объект.СуммаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетовПоТаре = "";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.Договор = "";
ИначеЕсли РеализацияЧерезКомиссионера Тогда
СтруктураПараметров.Договор = "Объект.КлиентДоговор";
Иначе
СтруктураПараметров.Договор = "Объект.Договор";
КонецЕсли;
СтруктураПараметров.ДоговорКомиссионера = ?(РеализацияЧерезКомиссионера, "Объект.Договор", "");
СтруктураПараметров.НаправлениеДеятельности = "Объект.НаправлениеДеятельности";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.ПорядокРасчетов = "";
Иначе
СтруктураПараметров.ПорядокРасчетов = "Объект.ПорядокРасчетов";
КонецЕсли;
СтруктураПараметров.СуммаДокументаФорма = "";
СтруктураПараметров.СуммаЗалогаЗаТаруФорма = "";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.КорректировкаЗадолженности";
СтруктураПараметров.ИмяРеквизитаТЧСуммаСНДС = "СуммаКорректировки";
Иначе
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.Расхождения";
СтруктураПараметров.ИмяРеквизитаТЧСуммаСНДС = "СуммаСНДС";
СтруктураПараметров.ИмяРеквизитаТЧЗаказ = "ЗаказКлиента";
КонецЕсли;
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.Соглашение = "";
Иначе
СтруктураПараметров.Соглашение = "Объект.Соглашение";
КонецЕсли;
СтруктураПараметров.Касса = "";
СтруктураПараметров.ФормаОплаты = "Объект.ФормаОплаты";
СтруктураПараметров.ОплатаВВалюте = "";
СтруктураПараметров.ИдентификаторПлатежа = "";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.ГруппаФинансовогоУчета = "";
СтруктураПараметров.Подразделение = "";
СтруктураПараметров.Менеджер = "";
СтруктураПараметров.НомерВходящегоДокумента = "";
СтруктураПараметров.ДатаВходящегоДокумента = "";
СтруктураПараметров.ОбъектРасчетов = "";
СтруктураПараметров.НакладнаяПоЗаказам = "";
Иначе
СтруктураПараметров.ГруппаФинансовогоУчета = "";
СтруктураПараметров.Подразделение = "Объект.Подразделение";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НомерВходящегоДокумента = "";
СтруктураПараметров.ДатаВходящегоДокумента = "";
СтруктураПараметров.ОбъектРасчетов = "Объект.Расхождения.ОбъектРасчетов";
СтруктураПараметров.НакладнаяПоЗаказам = "Объект.ПродажаПоЗаказам";
КонецЕсли;
ЕстьДокументыБезОбъектовРасчетов = Ложь;
Если ДанныеЗаполнения <> Неопределено
И ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ДанныеЗаполнения, "ХозяйственнаяОперация")
И ДанныеЗаполнения.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПереходПраваСобственности
И ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ДанныеЗаполнения, "Расхождения") Тогда
ДокументыОснования = ДанныеЗаполнения.Расхождения.Выгрузить(, "ЗаказКлиента").ВыгрузитьКолонку("ЗаказКлиента");
ДокументыПоВидам = ПродажиСервер.ДокументыПоПризнакуНаличияОбъектовРасчетов(ДокументыОснования);
ЕстьДокументыБезОбъектовРасчетов = ДокументыПоВидам.ДокументыБезОбъектовРасчетов.Количество() > 0;
КонецЕсли;
Если ЕстьДокументыБезОбъектовРасчетов Тогда
СтруктураПараметров.ИмяРеквизитаТЧЗаказ = "";
СтруктураПараметров.ЗаказОснование = "Объект.ДокументОснование";
Иначе
СтруктураПараметров.ЗаказОснование = "";
КонецЕсли;
СтруктураПараметров.ЭлементыФормы.ЗачетОплаты = "";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.ЭлементыФормы.СуммаВзаиморасчетовТЧ = "КорректировкаЗадолженностиСуммаВзаиморасчетов";
Иначе
СтруктураПараметров.ЭлементыФормы.СуммаВзаиморасчетовТЧ = "РасхожденияСуммаВзаиморасчетов";
КонецЕсли;
#КонецОбласти
#Область РедактированиеВалютИВалютныхСуммДокумента
СтруктураПараметров.КурсЧислитель = "Объект.КурсЧислитель";
СтруктураПараметров.КурсЗнаменатель = "Объект.КурсЗнаменатель";
СтруктураПараметров.ЭлементыФормы.НадписьВалюты = "ДекорацияВалюты";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.ВалютаДокументаТолькоПросмотр = Ложь;
СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр = Ложь;
ИначеЕсли ЭтоКорректировкаПервичногоДокумента Тогда
СтруктураПараметров.ВалютаДокументаТолькоПросмотр = Ложь;
СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр = Истина;
Иначе
СтруктураПараметров.ВалютаДокументаТолькоПросмотр = Истина;
СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр = Истина;
КонецЕсли;
СтруктураПараметров.НеПоказыватьРасчеты = Ложь;
СтруктураПараметров.НеПересчитыватьСуммуДокумента = Ложь;
#КонецОбласти
#Область ГрафикПлановойОплатыИДатаПлатежа
СтруктураПараметров.ПутьКДаннымТЧЭтапыОплаты = "";
СтруктураПараметров.ДатаПлатежа = "Объект.ДатаПлатежа";
СтруктураПараметров.НадписьЭтапыОплаты = "Форма.НадписьЭтапыОплаты";
СтруктураПараметров.ИсточникСуммТабличнаяЧасть = Истина;
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.ГрафикОплаты = "";
Иначе
СтруктураПараметров.ГрафикОплаты = "Объект.ГрафикОплаты";
КонецЕсли;
СтруктураПараметров.ЭлементыФормы.НадписьЭтапы = "ДекорацияЭтапыОплаты";
СтруктураПараметров.ЭтапыОплатыТолькоПросмотр = Ложь;
СтруктураПараметров.ВозможнаНакладнаяПоНесколькимЗаказам = Ложь;
#КонецОбласти
#Область СостояниеВзаиморасчетов
СтруктураПараметров.ЭлементыФормы.НадписьРасчеты = "";
#КонецОбласти
#Область ОграниченияЗадолженностиПоДоговору
СтруктураПараметров.ЭлементыФормы.ОграничениеЗадолженностиТекст = "";
СтруктураПараметров.ЭлементыФормы.ОграничениеЗадолженностиКартинка = "";
#КонецОбласти
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
СтруктураПараметров.ВернутьМногооборотнуюТару = "Объект.ДокументОснование.ВернутьМногооборотнуюТару";
СтруктураПараметров.ТребуетсяЗалогЗаТару = "Объект.ДокументОснование.ТребуетсяЗалогЗаТару";
Иначе
СтруктураПараметров.ВернутьМногооборотнуюТару = Ложь;
СтруктураПараметров.ТребуетсяЗалогЗаТару = Ложь;
КонецЕсли;
Возврат СтруктураПараметров;
КонецФункции
Функция ПараметрыЗаполненияНалогообложенияНДСПродажи(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСПродажи();
Если ТипЗнч(Объект) = Тип("ДокументОбъект.КорректировкаРеализации")
Или ТипЗнч(Объект) = Тип("ДанныеФормыСтруктура") Тогда
ДанныеОбъекта = Объект;
ИначеЕсли ТипЗнч(Объект) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
ДанныеОбъекта = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект, "Организация, Договор, Склад, Дата, НаправлениеДеятельности, Подразделение, ХозяйственнаяОперация");
КонецЕсли;
ПараметрыЗаполнения.Организация = ДанныеОбъекта.Организация;
ПараметрыЗаполнения.Дата = ДанныеОбъекта.Дата;
ПараметрыЗаполнения.Договор = ДанныеОбъекта.Договор;
ПараметрыЗаполнения.НаправлениеДеятельности = ДанныеОбъекта.НаправлениеДеятельности;
ПараметрыЗаполнения.Склад = ДанныеОбъекта.Склад;
ПараметрыЗаполнения.Подразделение = ДанныеОбъекта.Подразделение;
ПараметрыЗаполнения.РеализацияТоваров = Истина;
ПараметрыЗаполнения.РеализацияРаботУслуг = Истина;
ПараметрыЗаполнения.РеализацияПрочихАктивов = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция КоллекцияТабличныхЧастейТоваров() Экспорт
ТаблицыДокумента = Новый Структура;
ТаблицыДокумента.Вставить("Товары");
ТаблицыДокумента.Вставить("Расхождения");
Возврат ТаблицыДокумента;
КонецФункции
Функция ДанныеКорректировкиДоВводаОстатков(Объект, ИспользуетсяКоличествоУпаковок = Ложь) Экспорт
Запрос = Новый Запрос;
ЧастиТекстаЗапроса = Новый Массив;
ТекстЧастиЗапроса =
"ВЫБРАТЬ
| Т.Номенклатура КАК Номенклатура,
| Т.НоменклатураПартнера КАК НоменклатураПартнера,
| Т.Характеристика КАК Характеристика,
| Т.НоменклатураНабора КАК НоменклатураНабора,
| Т.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Т.Содержание КАК Содержание,
| Т.Упаковка КАК Упаковка,
| Т.Серия КАК Серия,
| Т.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Т.Склад КАК Склад,
| Т.Подразделение КАК Подразделение,
| Т.СтатьяДоходов КАК СтатьяДоходов,
| Т.АналитикаДоходов КАК АналитикаДоходов,
| Т.НомерГТД КАК НомерГТД,
| Т.Цена КАК Цена,
| Т.СтавкаНДС КАК СтавкаНДС,
| Т.КоличествоУпаковок КАК КоличествоУпаковок,
| Т.Количество КАК Количество,
| Т.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| Т.Сумма КАК Сумма,
| Т.СуммаНДС КАК СуммаНДС,
| Т.СуммаСНДС КАК СуммаСНДС,
| Т.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Т.НомерСтроки КАК НомерСтроки,
| Т.КодТНВЭД КАК КодТНВЭД,
| Т.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| Т.СуммаБезНДСУпр КАК СуммаБезНДСУпр
|ПОМЕСТИТЬ ВТТовары
|ИЗ
| &Товары КАК Т
|;
|
|
|ВЫБРАТЬ
| Т.Номенклатура КАК Номенклатура,
| Т.НоменклатураПартнера КАК НоменклатураПартнера,
| Т.Характеристика КАК Характеристика,
| Т.НоменклатураНабора КАК НоменклатураНабора,
| Т.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Т.Содержание КАК Содержание,
| Т.Упаковка КАК Упаковка,
| Т.Серия КАК Серия,
| Т.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Т.Склад КАК Склад,
| Т.Подразделение КАК Подразделение,
| Т.СтатьяДоходов КАК СтатьяДоходов,
| Т.АналитикаДоходов КАК АналитикаДоходов,
| Т.НомерГТД КАК НомерГТД,
| Т.СтавкаНДС КАК СтавкаНДС,
| Т.КоличествоУпаковок КАК КоличествоУпаковок,
| Т.Количество КАК Количество,
| Т.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| Т.Сумма КАК Сумма,
| Т.СуммаНДС КАК СуммаНДС,
| Т.СуммаСНДС КАК СуммаСНДС,
| Т.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Т.ВариантОтражения КАК ВариантОтражения,
| Т.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| Т.Себестоимость КАК Себестоимость,
| Т.СебестоимостьБезНДС КАК СебестоимостьБезНДС,
| Т.СебестоимостьРегл КАК СебестоимостьРегл,
| Т.СебестоимостьПР КАК СебестоимостьПР,
| Т.СебестоимостьВР КАК СебестоимостьВР,
| Т.ВидЦеныСебестоимости КАК ВидЦеныСебестоимости,
| Т.ДатаЗаполненияСебестоимостиПоВидуЦены КАК ДатаЗаполненияСебестоимостиПоВидуЦены,
| Т.КодТНВЭД КАК КодТНВЭД,
| Т.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| Т.СуммаБезНДСУпр КАК СуммаБезНДСУпр
|ПОМЕСТИТЬ ВТРасхождения
|ИЗ
| &Расхождения КАК Т";
ЧастиТекстаЗапроса.Добавить(ТекстЧастиЗапроса);
Запрос.УстановитьПараметр("Дата", ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ДокументОснование, "Дата"));
Запрос.УстановитьПараметр("Страна", ЗначениеНастроекКлиентСерверПовтИсп.СтранаРегистрацииОрганизации(Объект.Организация));
Запрос.УстановитьПараметр("ОблагаетсяАкцизом", Объект.ОблагаетсяАкцизом);
ТекстЧастиЗапроса = УчетПодакцизныхТоваров.ТекстЗапросаВтПодакцизныеТовары("ВТТовары");
ЧастиТекстаЗапроса.Добавить(ТекстЧастиЗапроса);
ТекстЧастиЗапроса =
"ВЫБРАТЬ
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Характеристика КАК Характеристика,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Таблица.Содержание КАК Содержание,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| Таблица.Упаковка КАК Упаковка,
| Таблица.Серия КАК Серия,
| Таблица.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Таблица.Склад КАК Склад,
| Таблица.Подразделение КАК Подразделение,
| Таблица.НомерГТД КАК НомерГТД,
| Таблица.КодТНВЭД КАК КодТНВЭД,
| Таблица.НоменклатураПартнера КАК НоменклатураПартнера,
| Таблица.СтатьяДоходов КАК СтатьяДоходов,
| Таблица.АналитикаДоходов КАК АналитикаДоходов,
| МАКСИМУМ(Таблица.СтавкаНДС) КАК СтавкаНДС,
| МАКСИМУМ(Таблица.Цена) КАК Цена,
| СУММА(Таблица.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(Таблица.Количество) КАК Количество,
| СУММА(Таблица.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| СУММА(Таблица.Сумма) КАК Сумма,
| СУММА(Таблица.СуммаНДС) КАК СуммаНДС,
| СУММА(Таблица.СуммаСНДС) КАК СуммаСНДС,
| СУММА(Таблица.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| МАКСИМУМ(Таблица.СтавкаНДСПосле) КАК СтавкаНДСПосле,
| МАКСИМУМ(Таблица.ЦенаПосле) КАК ЦенаПосле,
| СУММА(Таблица.КоличествоУпаковокПосле) КАК КоличествоУпаковокПосле,
| СУММА(Таблица.КоличествоПосле) КАК КоличествоПосле,
| СУММА(Таблица.КоличествоПоРНПТПосле) КАК КоличествоПоРНПТПосле,
| СУММА(Таблица.СуммаПосле) КАК СуммаПосле,
| СУММА(Таблица.СуммаНДСПосле) КАК СуммаНДСПосле,
| СУММА(Таблица.СуммаСНДСПосле) КАК СуммаСНДСПосле,
| СУММА(Таблица.СуммаВзаиморасчетовПосле) КАК СуммаВзаиморасчетовПосле,
| ЕСТЬNULL(МАКСИМУМ(Таблица.ВариантОтраженияПосле),МАКСИМУМ(Таблица.ВариантОтраженияДо)) КАК ВариантОтражения,
| МАКСИМУМ(Таблица.ВариантОтраженияДо) КАК ВариантОтраженияСписания,
| МАКСИМУМ(Таблица.СпособОпределенияСебестоимости) КАК СпособОпределенияСебестоимости,
| МАКСИМУМ(Таблица.Себестоимость) КАК Себестоимость,
| МАКСИМУМ(Таблица.СебестоимостьБезНДС) КАК СебестоимостьБезНДС,
| МАКСИМУМ(Таблица.СебестоимостьРегл) КАК СебестоимостьРегл,
| МАКСИМУМ(Таблица.СебестоимостьПР) КАК СебестоимостьПР,
| МАКСИМУМ(Таблица.СебестоимостьВР) КАК СебестоимостьВР,
| МАКСИМУМ(Таблица.ВидЦеныСебестоимости) КАК ВидЦеныСебестоимости,
| МАКСИМУМ(Таблица.ДатаЗаполненияСебестоимостиПоВидуЦены) КАК ДатаЗаполненияСебестоимостиПоВидуЦены,
| СУММА(Таблица.Количество - Таблица.КоличествоПосле) < 0
| ИЛИ СУММА(Таблица.КоличествоУпаковок - Таблица.КоличествоУпаковокПосле) < 0 КАК ЭтоСтрокаСписания,
| МАКСИМУМ(Таблица.НомерСтроки) КАК НомерСтроки,
| Таблица.ОблагаетсяАкцизом КАК ОблагаетсяАкцизом,
| СУММА(Таблица.СуммаБезНДСРегл) КАК СуммаБезНДСРегл,
| СУММА(Таблица.СуммаБезНДСУпр) КАК СуммаБезНДСУпр,
| СУММА(Таблица.СуммаБезНДСРеглПосле) КАК СуммаБезНДСРеглПосле,
| СУММА(Таблица.СуммаБезНДСУпрПосле) КАК СуммаБезНДСУпрПосле
|ИЗ
| (ВЫБРАТЬ
| Т.Номенклатура КАК Номенклатура,
| Т.НоменклатураПартнера КАК НоменклатураПартнера,
| Т.КодТНВЭД КАК КодТНВЭД,
| Т.Характеристика КАК Характеристика,
| Т.НоменклатураНабора КАК НоменклатураНабора,
| Т.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Т.Содержание КАК Содержание,
| Т.Упаковка КАК Упаковка,
| Т.Серия КАК Серия,
| Т.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Т.Склад КАК Склад,
| Т.Подразделение КАК Подразделение,
| Т.НомерГТД КАК НомерГТД,
| Т.СтатьяДоходов КАК СтатьяДоходов,
| Т.АналитикаДоходов КАК АналитикаДоходов,
| Т.СтавкаНДС КАК СтавкаНДС,
| СУММА(Т.Цена) КАК Цена,
| СУММА(Т.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(Т.Количество) КАК Количество,
| СУММА(Т.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| СУММА(Т.Сумма) КАК Сумма,
| СУММА(Т.СуммаНДС) КАК СуммаНДС,
| СУММА(Т.СуммаСНДС) КАК СуммаСНДС,
| СУММА(Т.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| Т.ОблагаетсяАкцизом КАК ОблагаетсяАкцизом,
| NULL КАК СтавкаНДСПосле,
| NULL КАК ЦенаПосле,
| СУММА(Т.КоличествоУпаковокПосле) КАК КоличествоУпаковокПосле,
| СУММА(Т.КоличествоПосле) КАК КоличествоПосле,
| СУММА(Т.КоличествоПоРНПТПосле) КАК КоличествоПоРНПТПосле,
| СУММА(Т.СуммаПосле) КАК СуммаПосле,
| СУММА(Т.СуммаНДСПосле) КАК СуммаНДСПосле,
| СУММА(Т.СуммаСНДСПосле) КАК СуммаСНДСПосле,
| СУММА(Т.СуммаВзаиморасчетовПосле) КАК СуммаВзаиморасчетовПосле,
| МАКСИМУМ(РасхожденияДо.ВариантОтражения) КАК ВариантОтраженияДо,
| NULL КАК ВариантОтраженияПосле,
| МАКСИМУМ(Т.СпособОпределенияСебестоимости) КАК СпособОпределенияСебестоимости,
| МАКСИМУМ(Т.Себестоимость) КАК Себестоимость,
| МАКСИМУМ(Т.СебестоимостьБезНДС) КАК СебестоимостьБезНДС,
| МАКСИМУМ(Т.СебестоимостьРегл) КАК СебестоимостьРегл,
| МАКСИМУМ(Т.СебестоимостьПР) КАК СебестоимостьПР,
| МАКСИМУМ(Т.СебестоимостьВР) КАК СебестоимостьВР,
| МАКСИМУМ(Т.ВидЦеныСебестоимости) КАК ВидЦеныСебестоимости,
| МАКСИМУМ(Т.ДатаЗаполненияСебестоимостиПоВидуЦены) КАК ДатаЗаполненияСебестоимостиПоВидуЦены,
| МАКСИМУМ(Т.НомерСтроки) КАК НомерСтроки,
| СУММА(Т.СуммаБезНДСРегл) КАК СуммаБезНДСРегл,
| СУММА(Т.СуммаБезНДСУпр) КАК СуммаБезНДСУпр,
| СУММА(Т.СуммаБезНДСРеглПосле) КАК СуммаБезНДСРеглПосле,
| СУММА(Т.СуммаБезНДСУпрПосле) КАК СуммаБезНДСУпрПосле
| ИЗ
| (ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.НоменклатураПартнера КАК НоменклатураПартнера,
| Товары.КодТНВЭД КАК КодТНВЭД,
| Товары.Характеристика КАК Характеристика,
| Товары.НоменклатураНабора КАК НоменклатураНабора,
| Товары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Товары.Содержание КАК Содержание,
| Товары.Упаковка КАК Упаковка,
| Товары.Серия КАК Серия,
| Товары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Товары.Склад КАК Склад,
| Товары.Подразделение КАК Подразделение,
| Товары.НомерГТД КАК НомерГТД,
| Товары.СтатьяДоходов КАК СтатьяДоходов,
| Товары.АналитикаДоходов КАК АналитикаДоходов,
| Товары.СтавкаНДС КАК СтавкаНДС,
| Товары.Цена КАК Цена,
| Товары.КоличествоУпаковок КАК КоличествоУпаковок,
| Товары.Количество КАК Количество,
| Товары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| Товары.Сумма КАК Сумма,
| Товары.СуммаНДС КАК СуммаНДС,
| Товары.СуммаСНДС КАК СуммаСНДС,
| Товары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК КоличествоУпаковокПосле,
| 0 КАК КоличествоПосле,
| 0 КАК КоличествоПоРНПТПосле,
| 0 КАК СуммаПосле,
| 0 КАК СуммаНДСПосле,
| 0 КАК СуммаСНДСПосле,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВтПодакцизныеТовары.ПодакцизныйТовар, ЛОЖЬ)
| ТОГДА &ОблагаетсяАкцизом
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ОблагаетсяАкцизом,
| 0 КАК СуммаВзаиморасчетовПосле,
| NULL КАК СпособОпределенияСебестоимости,
| NULL КАК Себестоимость,
| NULL КАК СебестоимостьБезНДС,
| NULL КАК СебестоимостьРегл,
| NULL КАК СебестоимостьПР,
| NULL КАК СебестоимостьВР,
| NULL КАК ВидЦеныСебестоимости,
| NULL КАК ДатаЗаполненияСебестоимостиПоВидуЦены,
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| Товары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| 0 КАК СуммаБезНДСРеглПосле,
| 0 КАК СуммаБезНДСУпрПосле
| ИЗ
| ВТТовары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПодакцизныеТовары
| ПО Товары.Номенклатура = ВтПодакцизныеТовары.Номенклатура
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Расхождения.Номенклатура,
| Расхождения.НоменклатураПартнера КАК НоменклатураПартнера,
| Расхождения.КодТНВЭД КАК КодТНВЭД,
| Расхождения.Характеристика,
| Расхождения.НоменклатураНабора,
| Расхождения.ХарактеристикаНабора,
| Расхождения.Содержание,
| Расхождения.Упаковка,
| Расхождения.Серия,
| Расхождения.СтатусУказанияСерий,
| Расхождения.Склад,
| Расхождения.Подразделение,
| Расхождения.НомерГТД,
| Расхождения.СтатьяДоходов,
| Расхождения.АналитикаДоходов,
| Расхождения.СтавкаНДС,
| 0,
| -Расхождения.КоличествоУпаковок,
| -Расхождения.Количество,
| -Расхождения.КоличествоПоРНПТ,
| -Расхождения.Сумма,
| -Расхождения.СуммаНДС,
| -Расхождения.СуммаСНДС,
| -Расхождения.СуммаВзаиморасчетов,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВтПодакцизныеТовары.ПодакцизныйТовар, ЛОЖЬ)
| ТОГДА &ОблагаетсяАкцизом
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ОблагаетсяАкцизом,
| 0,
| Расхождения.СпособОпределенияСебестоимости,
| Расхождения.Себестоимость КАК Себестоимость,
| Расхождения.СебестоимостьБезНДС КАК СебестоимостьБезНДС,
| Расхождения.СебестоимостьРегл КАК СебестоимостьРегл,
| Расхождения.СебестоимостьПР КАК СебестоимостьПР,
| Расхождения.СебестоимостьВР КАК СебестоимостьВР,
| Расхождения.ВидЦеныСебестоимости КАК ВидЦеныСебестоимости,
| Расхождения.ДатаЗаполненияСебестоимостиПоВидуЦены КАК ДатаЗаполненияСебестоимостиПоВидуЦены,
| 0 КАК НомерСтроки,
| -Расхождения.СуммаБезНДСРегл,
| -Расхождения.СуммаБезНДСУпр,
| 0,
| 0
|
| ИЗ
| ВТРасхождения КАК Расхождения
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПодакцизныеТовары КАК ВтПодакцизныеТовары
| ПО Расхождения.Номенклатура = ВтПодакцизныеТовары.Номенклатура
| ) КАК Т
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРасхождения КАК РасхожденияДо
| ПО (РасхожденияДо.Номенклатура = Т.Номенклатура)
| И (РасхожденияДо.Номенклатура = Т.Номенклатура)
| И (РасхожденияДо.Характеристика = Т.Характеристика)
| И (РасхожденияДо.НоменклатураНабора = Т.НоменклатураНабора)
| И (РасхожденияДо.ХарактеристикаНабора = Т.ХарактеристикаНабора)
| И (РасхожденияДо.Содержание = Т.Содержание)
| И (РасхожденияДо.Упаковка = Т.Упаковка)
| И (РасхожденияДо.Серия = Т.Серия)
| И (РасхожденияДо.СтатусУказанияСерий = Т.СтатусУказанияСерий)
| И (РасхожденияДо.Склад = Т.Склад)
| И (РасхожденияДо.Подразделение = Т.Подразделение)
| И (РасхожденияДо.НомерГТД = Т.НомерГТД)
| И (РасхожденияДо.СтатьяДоходов = Т.СтатьяДоходов)
| И (РасхожденияДо.АналитикаДоходов = Т.АналитикаДоходов)
| И (РасхожденияДо.СтавкаНДС = Т.СтавкаНДС)
|
| СГРУППИРОВАТЬ ПО
| Т.Номенклатура,
| Т.НоменклатураПартнера,
| Т.КодТНВЭД,
| Т.Характеристика,
| Т.НоменклатураНабора,
| Т.ХарактеристикаНабора,
| Т.Содержание,
| Т.Упаковка,
| Т.Серия,
| Т.СтатусУказанияСерий,
| Т.Склад,
| Т.Подразделение,
| Т.НомерГТД,
| Т.СтатьяДоходов,
| Т.АналитикаДоходов,
| Т.ОблагаетсяАкцизом,
| Т.СтавкаНДС
|
| ИМЕЮЩИЕ
| (СУММА(Т.КоличествоУпаковок) <> 0
| ИЛИ СУММА(Т.Количество) <> 0
| ИЛИ СУММА(Т.КоличествоПоРНПТ) <> 0
| ИЛИ СУММА(Т.Сумма) <> 0
| ИЛИ СУММА(Т.СуммаНДС) <> 0
| ИЛИ СУММА(Т.СуммаСНДС) <> 0
| ИЛИ СУММА(Т.СуммаВзаиморасчетов) <> 0)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Товары.Номенклатура,
| Товары.НоменклатураПартнера КАК НоменклатураПартнера,
| Товары.КодТНВЭД КАК КодТНВЭД,
| Товары.Характеристика,
| Товары.НоменклатураНабора,
| Товары.ХарактеристикаНабора,
| Товары.Содержание,
| Товары.Упаковка,
| Товары.Серия,
| Товары.СтатусУказанияСерий,
| Товары.Склад,
| Товары.Подразделение,
| Товары.НомерГТД,
| Товары.СтатьяДоходов,
| Товары.АналитикаДоходов,
| NULL,
| NULL,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВтПодакцизныеТовары.ПодакцизныйТовар, ЛОЖЬ)
| ТОГДА &ОблагаетсяАкцизом
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ОблагаетсяАкцизом,
| Товары.СтавкаНДС,
| Товары.Цена,
| Товары.КоличествоУпаковок,
| Товары.Количество,
| Товары.КоличествоПоРНПТ,
| Товары.Сумма,
| Товары.СуммаНДС,
| Товары.СуммаСНДС,
| Товары.СуммаВзаиморасчетов,
| NULL,
| РасхожденияПосле.ВариантОтражения,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| Товары.НомерСтроки КАК НомерСтроки,
| 0,
| 0,
| Товары.СуммаБезНДСРегл,
| Товары.СуммаБезНДСУпр
| ИЗ
| ВТТовары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПодакцизныеТовары КАК ВтПодакцизныеТовары
| ПО ВтПодакцизныеТовары.Номенклатура = Товары.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРасхождения КАК РасхожденияПосле
| ПО (РасхожденияПосле.Номенклатура = Товары.Номенклатура)
| И (РасхожденияПосле.Номенклатура = Товары.Номенклатура)
| И (РасхожденияПосле.Характеристика = Товары.Характеристика)
| И (РасхожденияПосле.НоменклатураНабора = Товары.НоменклатураНабора)
| И (РасхожденияПосле.ХарактеристикаНабора = Товары.ХарактеристикаНабора)
| И (РасхожденияПосле.Содержание = Товары.Содержание)
| И (РасхожденияПосле.Упаковка = Товары.Упаковка)
| И (РасхожденияПосле.Серия = Товары.Серия)
| И (РасхожденияПосле.СтатусУказанияСерий = Товары.СтатусУказанияСерий)
| И (РасхожденияПосле.Склад = Товары.Склад)
| И (РасхожденияПосле.Подразделение = Товары.Подразделение)
| И (РасхожденияПосле.НомерГТД = Товары.НомерГТД)
| И (РасхожденияПосле.СтатьяДоходов = Товары.СтатьяДоходов)
| И (РасхожденияПосле.АналитикаДоходов = Товары.АналитикаДоходов)
| И (РасхожденияПосле.СтавкаНДС = Товары.СтавкаНДС)) КАК Таблица
|
|СГРУППИРОВАТЬ ПО
| Таблица.Номенклатура,
| Таблица.НоменклатураПартнера,
| Таблица.КодТНВЭД,
| Таблица.Характеристика,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора,
| Таблица.Содержание,
| Таблица.Упаковка,
| Таблица.Серия,
| Таблица.СтатусУказанияСерий,
| Таблица.Склад,
| Таблица.Подразделение,
| Таблица.НомерГТД,
| Таблица.СтатьяДоходов,
| Таблица.ОблагаетсяАкцизом,
| Таблица.АналитикаДоходов
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ЧастиТекстаЗапроса.Добавить(ТекстЧастиЗапроса);
Запрос.Текст = СтрСоединить(ЧастиТекстаЗапроса, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.УстановитьПараметр("Товары", Объект.Товары.Выгрузить());
Запрос.УстановитьПараметр("Расхождения", Объект.Расхождения.Выгрузить());
ТаблицаРезультата = Запрос.Выполнить().Выгрузить();
ИмяКоличества = ?(ИспользуетсяКоличествоУпаковок, "КоличествоУпаковок", "Количество");
Для каждого ТекущаяСтрока Из ТаблицаРезультата Цикл
Если ТекущаяСтрока[ИмяКоличества] = 0 Тогда
ТекущаяСтрока.Цена = ТекущаяСтрока.Сумма;
Иначе
ТекущаяСтрока.Цена = Окр(ТекущаяСтрока.Сумма / ТекущаяСтрока[ИмяКоличества], 2);
КонецЕсли;
ТекущаяСтрока.НомерСтроки = ТаблицаРезультата.Индекс(ТекущаяСтрока)+1;
КонецЦикла;
Возврат ТаблицаРезультата;
КонецФункции
Функция КлючевыеРеквизитыСвязиСтрокТаблиц(КорректировкаУслугПрочихАктивов) Экспорт
Если КорректировкаУслугПрочихАктивов Тогда
КлючевыеРеквизиты = "Содержание,Подразделение,СтатьяДоходов,АналитикаДоходов";
Иначе
КлючевыеРеквизиты = "Содержание,НоменклатураНабора,ХарактеристикаНабора,Номенклатура,Характеристика,Серия,Упаковка,Склад,НомерГТД,СтатьяДоходов,АналитикаДоходов,Подразделение";
КонецЕсли;
Возврат КлючевыеРеквизиты;
КонецФункции
Функция ПараметрыПолученияИсправляемогоДокумента() Экспорт
Параметры = Новый Структура;
Параметры.Вставить("ИсправляемыйДокумент", Документы.РеализацияТоваровУслуг.ПустаяСсылка());
Параметры.Вставить("ДокументОснование", Документы.РеализацияТоваровУслуг.ПустаяСсылка());
Параметры.Вставить("Дата", Дата(1, 1, 1));
Параметры.Вставить("ВидКорректировки", Перечисления.ХозяйственныеОперации.ПустаяСсылка());
Возврат Параметры;
КонецФункции
Функция ИсправляемыйДокумент(Знач РеквизитыДокумента) Экспорт
УстановитьПривилегированныйРежим(Истина);
ИсправляемыйДокумент = Неопределено;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ИсправляемыйДокумент", РеквизитыДокумента.ИсправляемыйДокумент);
Запрос.УстановитьПараметр("ДокументОснование", РеквизитыДокумента.ДокументОснование);
Запрос.УстановитьПараметр("Период", РеквизитыДокумента.Дата);
Запрос.УстановитьПараметр("ВидКорректировки", РеквизитыДокумента.ВидКорректировки);
Запрос.Текст = ТекстЗапросаВтИсправляемыйДокументКорректировки(Запрос);
Запрос.Текст = Запрос.Текст +
"ВЫБРАТЬ
| ВТ_ИсправляемыйДокументКорректировки.ИсправляемыйДокумент
|ИЗ
| ВТ_ИсправляемыйДокументКорректировки КАК ВТ_ИсправляемыйДокументКорректировки";
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
ИсправляемыйДокумент = Выборка.ИсправляемыйДокумент;
КонецЕсли;
Возврат ИсправляемыйДокумент;
КонецФункции
#Область ПроверкаЗаполненияДокумента
Процедура ПроверитьЗаполнениеРеквизитов(Форма, ПроверяемыеРеквизиты, Отказ) Экспорт
ТЗТаблицаКорректировки = Форма.ТаблицаКорректировки;
ИмяТЧ = "ТаблицаКорректировки";
ПредставлениеТЧ = НСтр("ru = 'Данные корректировки'");
Если ТЗТаблицаКорректировки.Количество() = 0 Тогда
ТекстСообщения= НСтр("ru = 'Не введено ни одной строки в список ""%1""'");
ТекстСообщения = СтрШаблон(ТекстСообщения, ПредставлениеТЧ);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
ИмяТЧ,
"",
Отказ);
КонецЕсли;
Объект = Форма.Объект;
ТЗПриходуемыхТоваров = ТаблицаТоваровПоВариантуОтражения(ТЗТаблицаКорректировки, Ложь);
ИспользоватьУчетНДС = ПолучитьФункциональнуюОпцию("ИспользоватьУчетНДС")
И Объект.НалогообложениеНДС <> Перечисления.ТипыНалогообложенияНДС.ПустаяСсылка()
И Объект.НалогообложениеНДС <> Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС;
ЭтоПрослеживаемыйДокумент = УчетПрослеживаемыхТоваровЛокализация.ЭтоПрослеживаемыйДокумент(ТЗПриходуемыхТоваров,
Объект.Дата);
ИспользоватьПодразделения = ПолучитьФункциональнуюОпцию("ИспользоватьПодразделения");
ИспользоватьНесколькоСкладов = ПолучитьФункциональнуюОпцию("ИспользоватьНесколькоСкладов");
ИспользоватьХарактеристикиНоменклатуры = ПолучитьФункциональнуюОпцию("ИспользоватьХарактеристикиНоменклатуры");
ЗапретитьПоступлениеТоваровБезНомеровГТД = ПолучитьФункциональнуюОпцию("ЗапретитьПоступлениеТоваровБезНомеровГТД");
ЭтоКорректировкаДоВводаОстатковТоваровИУслуг =
Объект.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг;
ИспользоватьУчетПрослеживаемыхИмпортныхТоваров = УчетПрослеживаемыхТоваровЛокализация.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров(
Объект.Дата);
ТекстыЗапроса = Новый Массив;
ТекстыЗапроса.Добавить(ТекстЗапросаВТДокументаПродажи());
ТекстыЗапроса.Добавить(ТекстЗапросаВТТаблицыТоваровДляЗапроса());
ТекстыЗапроса.Добавить(ТекстЗапросаВТТаблицыНаборыПодготовка());
ТекстыЗапроса.Добавить(ТекстЗапросаВТТаблицыНаборыДополнительно());
ТекстыЗапроса.Добавить(ТекстЗапросаВТТаблицыНаборы());
ТекстыЗапроса.Добавить(ТекстЗапросаВТТаблицыТовары());
ТекстыЗапроса.Добавить(ТекстЗапросаВТДанныеДокументаОснования());
ТекстыЗапроса.Добавить(ТекстЗапросаВТДанныеПредыдущейКорректировки());
ТекстыЗапроса.Добавить(ТекстЗапросаВТПроверкиДанныхПоПоследнейКорректировке());
ТекстыЗапросовПроверки = Новый Массив;
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСклада());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияНоменклатурыИСодержания());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияХарактеристик());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияНомеровГТД());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияКоличества());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСуммовыхПоказателей());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСтавокНДС());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиВариантовОтражения());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСкладаВТабличнойЧасти());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияПодразделенияВТабличнойЧасти());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиСпособовОпределенияСебестоимости());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиТипКорректировкиНеСоответствуетПредыдущей());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиНалогообложениеНДССоответствуетОснованию());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиОрганизацияСоответствуетОснованию());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиПартнерСоответствуетОснованию());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиКонтрагентСоответствуетОснованию());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиДоговорСоответствуетОснованию());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиПорядокРасчетовСоответствуетОснованию());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСуммыВзаиморасчетов());
ТекстЗапросаПроверки = СтрСоединить(ТекстыЗапросовПроверки, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстЗапросаПроверки = ТекстЗапросаПроверки + "
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапросаПроверки);
ТекстыЗапросовПроверкиПоИсходнойКорректировки = Новый Массив;
ТекстыЗапросовПроверкиПоИсходнойКорректировки.Добавить(ТекстЗапросаПроверкиДанныхПоПоследнейКорректировке());
ТекстЗапросовПроверкиПоИсходнойКорректировки = СтрСоединить(ТекстыЗапросовПроверкиПоИсходнойКорректировки, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстЗапросовПроверкиПоИсходнойКорректировки = ТекстЗапросовПроверкиПоИсходнойКорректировки + "
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапросовПроверкиПоИсходнойКорректировки);
ТекстЗапроса = СтрСоединить(ТекстыЗапроса, ОбщегоНазначения.РазделительПакетаЗапросов());
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
СформироватьВременнуюТаблицуИсходныхДанных(МенеджерВременныхТаблиц, Объект.ДокументОснование, Объект.Ссылка);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Запрос.УстановитьПараметр("Дата", ?(ЗначениеЗаполнено(Объект.Ссылка), Объект.Дата, ТекущаяДатаСеанса()));
Запрос.УстановитьПараметр("ДокументОснование", Объект.ДокументОснование);
Запрос.УстановитьПараметр("Организация", Объект.Организация);
Запрос.УстановитьПараметр("Партнер", Объект.Партнер);
Запрос.УстановитьПараметр("Контрагент", Объект.Контрагент);
Запрос.УстановитьПараметр("Договор", Объект.Договор);
Запрос.УстановитьПараметр("ПорядокРасчетов", Объект.ПорядокРасчетов);
Запрос.УстановитьПараметр("Склад", Объект.Склад);
Запрос.УстановитьПараметр("НалогообложениеНДС", Объект.НалогообложениеНДС);
Запрос.УстановитьПараметр("ТипКорректировки", Объект.ТипКорректировки);
Запрос.УстановитьПараметр("ЦенаВключаетНДС", Объект.ЦенаВключаетНДС);
Запрос.УстановитьПараметр("РазныеВалюты" , Объект.Валюта <> Объект.ВалютаВзаиморасчетов);
Запрос.УстановитьПараметр("ТаблицаТоваров", ТЗТаблицаКорректировки);
Запрос.УстановитьПараметр("ИспользоватьУчетНДС",
ИспользоватьУчетНДС);
Запрос.УстановитьПараметр("ИспользоватьПодразделения",
ИспользоватьПодразделения);
Запрос.УстановитьПараметр("ИспользоватьНесколькоСкладов",
ИспользоватьНесколькоСкладов);
Запрос.УстановитьПараметр("ИспользоватьХарактеристикиНоменклатуры",
ИспользоватьХарактеристикиНоменклатуры);
Запрос.УстановитьПараметр("ЗапретитьПоступлениеТоваровБезНомеровГТД",
ЗапретитьПоступлениеТоваровБезНомеровГТД);
Запрос.УстановитьПараметр("ЭтоКорректировкаДоВводаОстатковТоваровИУслуг",
ЭтоКорректировкаДоВводаОстатковТоваровИУслуг);
Запрос.УстановитьПараметр("ИспользоватьУчетПрослеживаемыхИмпортныхТоваров",
ИспользоватьУчетПрослеживаемыхИмпортныхТоваров);
ПакетРезультатов = Запрос.ВыполнитьПакет();
ВыборкаОшибокЗаролнения = ПакетРезультатов[ПакетРезультатов.Количество()-2].Выбрать();
ВыборкаОшибокПоЦепочкеКорректировок = ПакетРезультатов[ПакетРезультатов.Количество()-1].Выбрать();
СообщитьОшибкиЗаполнения(ВыборкаОшибокЗаролнения, Отказ);
СообщитьОшибкиПоЦепочкеКорректировок(ВыборкаОшибокПоЦепочкеКорректировок, Отказ);
ПроверитьКорректностьВыбораНоменклатурыПоНалогообложениюНДС(МенеджерВременныхТаблиц, Отказ);
ПараметрыПроверки = НоменклатураСервер.ПараметрыПроверкиЗаполненияСерий();
ПараметрыПроверки.ПредставлениеТЧ = ПредставлениеТЧ;
ПараметрыПроверки.ИмяРеквизитаСерия = "Серия";
ПараметрыПроверки.ПутьКДаннымТаблицыФормы = "";
НоменклатураСервер.ПроверитьЗаполнениеСерий(Форма,
Форма.ПараметрыУказанияСерий,
Отказ,
Неопределено,
ПараметрыПроверки);
Если ЭтоПрослеживаемыйДокумент Тогда
СписокСтрок = ОбщегоНазначения.ТаблицаЗначенийВМассив(ТЗПриходуемыхТоваров);
УчетПрослеживаемыхТоваровЛокализация.ПроверитьКорректностьНастроекТоваровРНПТ(
Форма, ТЗТаблицаКорректировки, Объект.Дата, СписокСтрок);
УчетПрослеживаемыхТоваровЛокализация.ПроверитьДанныеПрослеживаемостиНомеровГТД(
Форма, ТЗТаблицаКорректировки, Объект.Дата, "ТаблицаКорректировки");
КонецЕсли;
Если ИспользоватьУчетНДС Тогда
ПроверитьУказаниеСуммыИСуммыНДС(Объект, МенеджерВременныхТаблиц, Отказ);
КонецЕсли;
ДополнительныеПроверяемыеРеквизиты = Новый Массив;
Если Объект.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов Тогда
ДополнительныеПроверяемыеРеквизиты.Добавить("ТаблицаКорректировки.СтатьяДоходов");
ДополнительныеПроверяемыеРеквизиты.Добавить("ТаблицаКорректировки.АналитикаДоходов");
КонецЕсли;
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ПроверяемыеРеквизиты, ДополнительныеПроверяемыеРеквизиты);
РезультатПроверки = РезультатПроверкиПоРасхождениям(Объект, ТЗТаблицаКорректировки);
ПараметрыДляВыбора = Новый Структура;
ПараметрыДляВыбора.Вставить("ДатаДокумента", Объект.Дата);
ПараметрыДляВыбора.Вставить("ДокументОснование", Объект.ДокументОснование);
ПараметрыДляВыбора.Вставить("ХозяйственнаяОперация", Объект.ВидКорректировки);
ПараметрыДляВыбора.Вставить("ТипКорректировки", Объект.ТипКорректировки);
ПараметрыДляВыбора.Вставить("ОтразитьНаПрочихДоходах", РезультатПроверки.СуммаНаПрочиеДоходы > 0);
ПараметрыДляВыбора.Вставить("СписатьНаРасходы", РезультатПроверки.СуммаНаПрочиеРасходы > 0);
ПараметрыВыбораСтатейИАналитик = ПараметрыВыбораСтатейИАналитикДоВводаОстатков(ПараметрыДляВыбора);
ДоходыИРасходыСервер.ОбработкаПроверкиЗаполнения(Форма, Отказ, ПроверяемыеРеквизиты, ПараметрыВыбораСтатейИАналитик);
ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, ДополнительныеПроверяемыеРеквизиты);
Если Не Отказ Тогда
МассивУдаляемыхСтрок = Новый Массив();
Для Каждого СтрокаТоваров Из Объект.Товары Цикл
Если СтрокаТоваров.Количество = 0
И СтрокаТоваров.КоличествоУпаковок = 0
И СтрокаТоваров.СуммаСНДС = 0
И СтрокаТоваров.СуммаНДС = 0 Тогда
МассивУдаляемыхСтрок.Добавить(СтрокаТоваров);
КонецЕсли;
КонецЦикла;
Для Каждого УдаляемаяСтрока Из МассивУдаляемыхСтрок Цикл
Объект.Товары.Удалить(УдаляемаяСтрока);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ПроверитьВозможностьВводаНаОсновании(КорректировкаРеализации, Статус = Неопределено,
ЕстьОшибкиПроведен = Ложь) Экспорт
ПараметрыПроверки = ОбщегоНазначенияУТ.ПараметрыПроверкиВозможностиВводаНаОсновании();
ПараметрыПроверки.ЕстьОшибкиПроведен = ЕстьОшибкиПроведен;
ПараметрыПроверки.ЕстьОшибкиСтатус = Ложь;
ОбщегоНазначенияУТ.ПроверитьВозможностьВводаНаОснованииСПараметрами(КорректировкаРеализации, ПараметрыПроверки);
КонецПроцедуры
#КонецОбласти
#Область НеоперативноеДопроведение
Функция ПолучитьДанныеПоАкцизам(ДокументСсылка) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.Дата, ДанныеДокумента.Дата) КАК ПериодОтгрузки,
| ВЫБОР
| КОГДА ДанныеДокумента.ТипКорректировки В
| (ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту)
| КОГДА ДанныеДокумента.ДокументОснование.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияЧерезКомиссионера)
| КОГДА ДанныеДокумента.ДокументОснование.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияЧерезКомиссионераБезПереходаПраваСобственности)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту)
| КОНЕЦ КАК НастройкаХозяйственнойОперации,
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.НаправлениеДеятельности, ДанныеДокумента.НаправлениеДеятельности) КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА ДанныеДокумента.ТипКорректировки В
| (ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
| ТОГДА ЕСТЬNULL(ДанныеДокумента.ДокументОснование.Дата, ДанныеДокумента.Дата)
| ИНАЧЕ ЕСТЬNULL(ДанныеДокумента.ДокументОснование.ДатаПереходаПраваСобственности,
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.Дата, ДанныеДокумента.Дата))
| КОНЕЦ КАК ДатаПереходаПраваСобственности
|ИЗ
| Документ.КорректировкаРеализации КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|;";
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст = ТекстЗапроса;
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаКатегории.Номенклатура КАК Номенклатура,
| ТаблицаКатегории.КатегорияПодакцизногоТовара КАК КатегорияПодакцизногоТовара,
| ТаблицаКатегории.КоэффициентПересчета КАК КоэффициентПересчета
|ПОМЕСТИТЬ ВтКатегорииПодакцизныхТоваров
|ИЗ
| РегистрСведений.КатегорииПодакцизныхТоваров.СрезПоследних(&ПериодОтгрузки, (Номенклатура, Страна) В
| (ВЫБРАТЬ
| Т.Номенклатура КАК Номенклатура,
| &СтранаРегистрации КАК Страна
| ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК Т
| ГДЕ
| Т.Ссылка = &Ссылка)) КАК ТаблицаКатегории
|ГДЕ
| ТаблицаКатегории.ПодакцизныйТовар
|;
|ВЫБРАТЬ
| ВидыЗапасов.Ссылка КАК Ссылка,
| ВидыЗапасов.ВидЗапасов.ПодразделениеПроизводства КАК ПодразделениеПроизводства,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаПодакцизныеКатегории.КатегорияПодакцизногоТовара КАК КатегорияПодакцизногоТовара,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.СуммаАкциза КАК СуммаАкцизаРегл,
| ВЫРАЗИТЬ(ВидыЗапасов.СуммаАкциза * &КоэффициентПересчетаИзРеглВУпр
| КАК ЧИСЛО(31,2)) КАК СуммаАкцизаУпр,
| ВЫБОР КОГДА ВидыЗапасов.ВидЗапасов.ОблагаетсяАкцизом
| ТОГДА ТаблицаПодакцизныеКатегории.КоэффициентПересчета * ВидыЗапасов.Количество
| ИНАЧЕ 0
| КОНЕЦ КАК КоличествоАкциза,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|ПОМЕСТИТЬ ВтТаблицаВидыЗапасовСписание
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ВидыЗапасов
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтКатегорииПодакцизныхТоваров КАК ТаблицаПодакцизныеКатегории
| ПО ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = ТаблицаПодакцизныеКатегории.Номенклатура
|
|ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаПодакцизныеКатегории.КатегорияПодакцизногоТовара <> ЗНАЧЕНИЕ(Справочник.КатегорииПодакцизныхТоваров.ПустаяСсылка)
|;
|ВЫБРАТЬ
| ВидыЗапасов.Ссылка КАК Ссылка,
| ВидыЗапасов.ВидЗапасов.ПодразделениеПроизводства КАК ПодразделениеПроизводства,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаПодакцизныеКатегории.КатегорияПодакцизногоТовара КАК КатегорияПодакцизногоТовара,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.СуммаАкциза КАК СуммаАкцизаРегл,
| ВЫРАЗИТЬ(ВидыЗапасов.СуммаАкциза * &КоэффициентПересчетаИзРеглВУпр
| КАК ЧИСЛО(31,2)) КАК СуммаАкцизаУпр,
| ВЫБОР КОГДА ВидыЗапасов.ВидЗапасов.ОблагаетсяАкцизом
| ТОГДА ТаблицаПодакцизныеКатегории.КоэффициентПересчета * ВидыЗапасов.Количество
| ИНАЧЕ 0
| КОНЕЦ КАК КоличествоАкциза,
| ВидыЗапасов.СпособОпределенияСебестоимости,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|ПОМЕСТИТЬ ВтТаблицаВидыЗапасовОприходование
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК ВидыЗапасов
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтКатегорииПодакцизныхТоваров КАК ТаблицаПодакцизныеКатегории
| ПО ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = ТаблицаПодакцизныеКатегории.Номенклатура
|
|ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаПодакцизныеКатегории.КатегорияПодакцизногоТовара <> ЗНАЧЕНИЕ(Справочник.КатегорииПодакцизныхТоваров.ПустаяСсылка)
|;
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.ПодразделениеПроизводства КАК ПодразделениеУплатыАкциза,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.КатегорияПодакцизногоТовара КАК КатегорияПодакцизногоТовара,
| ЗНАЧЕНИЕ(Перечисление.ВидыОперацийСПодакцизнымТоваром.Реализация) КАК ВидОперацииСПодакцизнымТоваром,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.КоличествоАкциза КАК КоличествоАкциза,
| ТаблицаВидыЗапасов.СуммаАкцизаРегл КАК СуммаАкцизаРегл,
| ТаблицаВидыЗапасов.СуммаАкцизаУпр КАК СуммаАкцизаУпр,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
|
|ГДЕ
| ТаблицаВидыЗапасов.СуммаАкцизаРегл <> 0
| ИЛИ ТаблицаВидыЗапасов.СуммаАкцизаУпр <> 0
| ИЛИ ТаблицаВидыЗапасов.КоличествоАкциза <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.ПодразделениеПроизводства КАК ПодразделениеУплатыАкциза,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.КатегорияПодакцизногоТовара КАК КатегорияПодакцизногоТовара,
| ЗНАЧЕНИЕ(Перечисление.ВидыОперацийСПодакцизнымТоваром.Реализация) КАК ВидОперацииСПодакцизнымТоваром,
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| -ТаблицаВидыЗапасов.КоличествоАкциза КАК КоличествоАкциза,
| -ТаблицаВидыЗапасов.СуммаАкцизаРегл КАК СуммаАкцизаРегл,
| -ТаблицаВидыЗапасов.СуммаАкцизаУпр КАК СуммаАкцизаУпр,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаДоВводаОстатков)
| ИНАЧЕ &НастройкаХозяйственнойОперации
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
|
|ГДЕ
| ТаблицаВидыЗапасов.СуммаАкцизаРегл <> 0
| ИЛИ ТаблицаВидыЗапасов.СуммаАкцизаУпр <> 0
| ИЛИ ТаблицаВидыЗапасов.КоличествоАкциза <> 0
|";
Если ЗначениеЗаполнено(Реквизиты.ДатаПереходаПраваСобственности) Тогда
Запрос.УстановитьПараметр("ПериодПродажи", Реквизиты.ДатаПереходаПраваСобственности);
Иначе
Запрос.УстановитьПараметр("ПериодПродажи", Реквизиты.ПериодОтгрузки);
КонецЕсли;
СтранаРегистрации = ЗначениеНастроекКлиентСерверПовтИсп.СтранаРегистрацииОрганизации(Реквизиты.Организация);
ПериодКурса = Запрос.Параметры.ПериодПродажи;
ВалютаУправленческогоУчета = ЗначениеНастроекПовтИсп.ВалютаУправленческогоУчета();
ВалютаРегламентированногоУчета =
ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Запрос.Параметры.Организация);
КоэффициентПересчетаИзРеглВУпр = РаботаСКурсамиВалютУТ.ПолучитьКоэффициентПересчетаИзВалютыВВалюту(
ВалютаРегламентированногоУчета, ВалютаУправленческогоУчета, ПериодКурса, ВалютаРегламентированногоУчета);
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("СтранаРегистрации", СтранаРегистрации);
Запрос.УстановитьПараметр("КоэффициентПересчетаИзРеглВУпр", КоэффициентПересчетаИзРеглВУпр);
Возврат Запрос.Выполнить();
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Добавить("ХозяйственнаяОперация");
Поля.Добавить("Дата");
Поля.Добавить("Номер");
Поля.Добавить("ТипКорректировки");
КонецПроцедуры
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПостфиксИмениДокумента = НСтр("ru = 'Корректировка реализации'");
Если Данные.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
Или Данные.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов Тогда
ПостфиксИмениДокумента = НСтр("ru = 'Корректировка реализации до ввода остатков'");
КонецЕсли;
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='%1 %2 от %3'"),
ПостфиксИмениДокумента,
Данные.Номер,
Данные.Дата);
КонецПроцедуры
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если ВидФормы = "ФормаОбъекта" Тогда
Если Параметры.Свойство("Ключ") И ЗначениеЗаполнено(Параметры.Ключ)
И (Параметры.Ключ.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
Или Параметры.Ключ.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов) Тогда
СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = "ФормаДокументаДоВводаОстатков";
ИначеЕсли Параметры.Свойство("ЗначенияЗаполнения")
И Параметры.ЗначенияЗаполнения.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.КорректировкаДоВводаОстатков Тогда
СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = "ФормаДокументаДоВводаОстатков";
ИначеЕсли Параметры.Свойство("ЗначениеКопирования")
И (Параметры.ЗначениеКопирования.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
Или Параметры.ЗначениеКопирования.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов) Тогда
СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = "ФормаДокументаДоВводаОстатков";
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.КорректировкаРеализации";
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоДоговору", """""");
ПереопределениеРасчетаПараметров.Вставить("ХозОперацияОснования",
" ВЫБОР
| КОГДА ДанныеДокумента.ТипКорректировки В
| (ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| КОГДА ТИПЗНАЧЕНИЯ(ЕСТЬNULL(ДанныеДокумента.ДокументОснование, НЕОПРЕДЕЛЕНО)) = ТИП(Документ.АктВыполненныхРабот)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| ИНАЧЕ
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.ХозяйственнаяОперация, ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПустаяСсылка))
| КОНЕЦ");
ПереопределениеРасчетаПараметров.Вставить("ЭтоКорректировкаРеализацииУслугПрочихАктивов",
" ВЫБОР
| КОГДА ДанныеДокумента.ДокументОснование ССЫЛКА Документ.РеализацияУслугПрочихАктивов
| ИЛИ ДанныеДокумента.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ");
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
Если ИмяРегистра = "ДвиженияСерийТоваров" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ТаблицаСерии";
ИначеЕсли ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Функция ТекстЗапросаДанныеДокументаШапка()
Возврат "ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.ДокументОснование КАК ДокументОснование,
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.ГруппаФинансовогоУчета, ДанныеДокумента.ГруппаФинансовогоУчета)КАК ГруппаФинансовогоУчета,
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.Дата, ДанныеДокумента.Дата) КАК ПериодОтгрузки,
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.Дата, ДанныеДокумента.Дата) КАК ПериодБазыНДС,
| ВЫБОР
| КОГДА ДанныеДокумента.ТипКорректировки В
| (ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
| ТОГДА ЕСТЬNULL(ДанныеДокумента.ДокументОснование.Дата, ДанныеДокумента.Дата)
| ИНАЧЕ ЕСТЬNULL(ДанныеДокумента.ДокументОснование.ДатаПереходаПраваСобственности,
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.Дата, ДанныеДокумента.Дата))
| КОНЕЦ КАК ДатаПереходаПраваСобственности,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.КлиентПартнер КАК КлиентПартнер,
| ДанныеДокумента.КлиентКонтрагент КАК КлиентКонтрагент,
| ДанныеДокумента.КлиентДоговор КАК КлиентДоговор,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ПодразделениеДоходы КАК ПодразделениеДоходы,
| ДанныеДокумента.ПодразделениеРасходы КАК ПодразделениеРасходы,
| ЕСТЬNULL(ДанныеДокумента.Подразделение.ВариантОбособленногоУчетаТоваров, ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПустаяСсылка)) КАК ВариантОбособленногоУчетаТоваров,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ЕСТЬNULL(ДанныеДокумента.СтатьяРасходов.ВариантРаспределенияРасходовРегл, ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.ПустаяСсылка)) КАК ВариантРаспределенияРасходовРегл,
| ЕСТЬNULL(ДанныеДокумента.СтатьяРасходов.ВариантРаздельногоУчетаНДС, ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.ПустаяСсылка)) КАК ВариантРаздельногоУчетаНДС,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.СтатьяДоходов КАК СтатьяДоходов,
| ДанныеДокумента.АналитикаДоходов КАК АналитикаДоходов,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| ДанныеДокумента.ПродажаПоЗаказам КАК ПродажаПоЗаказам,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.НалогообложениеНДС, ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)) КАК ОснованиеНалогообложениеНДС,
| ДанныеДокумента.ДатаПлатежа КАК ДатаПлатежа,
| ДанныеДокумента.ФормаОплаты КАК ФормаОплаты,
| ДанныеДокумента.Соглашение КАК Соглашение,
| ДанныеДокумента.Договор КАК Договор,
| ЕСТЬNULL(ДанныеДокумента.Договор.ВестиРасчетыЧерезКонечныхПокупателей, ЛОЖЬ) КАК ВестиРасчетыЧерезКонечныхПокупателей,
| ДанныеДокумента.ТипКорректировки КАК ТипКорректировки,
| ДанныеДокумента.ВидКорректировки КАК ВидКорректировки,
| ВЫБОР
| КОГДА ДанныеДокумента.ДокументОснование ССЫЛКА Документ.РеализацияУслугПрочихАктивов
| ИЛИ ДанныеДокумента.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоКорректировкаРеализацииУслугПрочихАктивов,
| ВЫБОР
| КОГДА ДанныеДокумента.ТипКорректировки В
| (ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| КОГДА ТИПЗНАЧЕНИЯ(ЕСТЬNULL(ДанныеДокумента.ДокументОснование, НЕОПРЕДЕЛЕНО)) = ТИП(Документ.АктВыполненныхРабот)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| ИНАЧЕ
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.ХозяйственнаяОперация, ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПустаяСсылка))
| КОНЕЦ КАК ХозОперацияОснования,
| ДанныеДокумента.Менеджер КАК Менеджер,
| ДанныеДокумента.Сделка КАК Сделка,
| ЕСТЬNULL(ДанныеДокумента.Сделка.ОбособленныйУчетТоваровПоСделке, ЛОЖЬ) КАК ОбособленныйУчетТоваровПоСделке,
| ВЫБОР
| КОГДА ДанныеДокумента.ТипКорректировки В
| (ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| ИНАЧЕ ЕСТЬNULL(ДанныеДокумента.ДокументОснование.РеализацияПоЗаказам, ЛОЖЬ)
| КОНЕЦ КАК РеализацияПоЗаказам,
| ВЫБОР
| КОГДА ДанныеДокумента.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА ДанныеДокумента.ДокументОснование.ВернутьМногооборотнуюТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ВернутьМногооборотнуюТару,
| ВЫБОР
| КОГДА ДанныеДокумента.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА ДанныеДокумента.ДокументОснование.ТребуетсяЗалогЗаТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ТребуетсяЗалогЗаТару,
| ВЫБОР
| КОГДА ДанныеДокумента.ТипКорректировки В
| (ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
| ТОГДА ЛОЖЬ
| КОГДА ДанныеДокумента.ДокументОснование.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК КорректировкаОтгрузкиБезПереходаПраваСобственности,
| ВЫБОР
| КОГДА ДанныеДокумента.ТипКорректировки В
| (ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту)
| КОГДА ДанныеДокумента.ДокументОснование.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияЧерезКомиссионера)
| КОГДА ДанныеДокумента.ДокументОснование.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияЧерезКомиссионераБезПереходаПраваСобственности)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту)
| КОНЕЦ КАК НастройкаХозяйственнойОперации,
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.НаправлениеДеятельности, ДанныеДокумента.НаправлениеДеятельности) КАК НаправлениеДеятельности,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Склад КАК Склад,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Автор КАК Автор,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Проведен КАК Проведен,
| ВЫБОР
| КОГДА ДанныеДокумента.НалогообложениеНДС В (&НалогообложениеБезНДС)
| И ДанныеДокумента.ТипКорректировки В (ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КорректировкаДоВводаОстатковБезНДС
|ПОМЕСТИТЬ ДанныеДокументаШапка
|ИЗ
| Документ.КорректировкаРеализации КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.УстановитьПараметр("НалогообложениеБезНДС", УчетНДСУПКлиентСервер.ТипыНалогообложенияСкрывающиеРеквизитыНДС());
Запрос.Текст = СтрЗаменить(ТекстЗапросаДанныеДокументаШапка(), "ПОМЕСТИТЬ ДанныеДокументаШапка", "");
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Если ЗначениеЗаполнено(Реквизиты.ДатаПереходаПраваСобственности) Тогда
Запрос.УстановитьПараметр("ПериодПродажи", Реквизиты.ДатаПереходаПраваСобственности);
Иначе
Запрос.УстановитьПараметр("ПериодПродажи", Реквизиты.ПериодОтгрузки);
КонецЕсли;
Запрос.УстановитьПараметр("ИспользоватьУчетПрочихДоходовРасходов", ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихДоходовРасходов"));
Запрос.УстановитьПараметр("ВалютаРегламентированногоУчета", Реквизиты.ВалютаРегламентированногоУчета);
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета", ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
Запрос.УстановитьПараметр("РеализацияЧерезКомиссионера", КомиссионнаяТорговляСервер.РеализацияЧерезКомиссионера(Реквизиты.ХозОперацияОснования));
Запрос.УстановитьПараметр("ВозвратТоваровЧерезКомиссионера", КомиссионнаяТорговляСервер.РеализацияЧерезКомиссионера(Реквизиты.ХозОперацияОснования));
КорректировкаПрошлогоПериода = Ложь;
КорректировкаТекущегоПериода = Ложь;
Если ЗначениеЗаполнено(Реквизиты.ПериодОтгрузки) Тогда
Если Реквизиты.ПериодОтгрузки < НачалоМесяца(Реквизиты.Период) Тогда
КорректировкаПрошлогоПериода = Истина;
Иначе
КорректировкаТекущегоПериода = Истина;
КонецЕсли;
КонецЕсли;
Запрос.УстановитьПараметр("КорректировкаПрошлогоПериода", КорректировкаПрошлогоПериода);
Запрос.УстановитьПараметр("КорректировкаТекущегоПериода", КорректировкаТекущегоПериода);
Запрос.УстановитьПараметр("ИспользоватьПродажуАгентскихУслуг", ПолучитьФункциональнуюОпцию("ИспользоватьПродажуАгентскихУслуг"));
Если ЗначениеЗаполнено(Реквизиты.Договор) Тогда
ШаблонСтроки = "ru = 'По договору ""%1""'";
ИнформацияПоДоговору = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСтроки, Реквизиты.Договор);
КонецЕсли;
Запрос.УстановитьПараметр("ИнформацияПоДоговору", ИнформацияПоДоговору);
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ТипЗнч(ДокументСсылка)));
Запрос.УстановитьПараметр("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
Запрос.УстановитьПараметр("ВыводитьБазовыеЕдиницыИзмерения", Константы.ВыводитьБазовыеЕдиницыИзмерения.Получить());
Запрос.УстановитьПараметр("СписокТиповСАналитикойПодразделение", ПродажиСервер.ТипыНоменклатурыСАналитикойПодразделение());
Запрос.УстановитьПараметр("ИдентификаторНеиспользуемойФинЗаписи", ПроведениеДокументов.ИдентификаторНеиспользуемойФинЗаписи());
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяУниверсальнаяДата());
МоментВремениДокумента = ДокументСсылка.МоментВремени();
Запрос.УстановитьПараметр("МоментВремениДокумента", МоментВремениДокумента);
Запрос.УстановитьПараметр("ГраницаИсключаяДокумент", Новый Граница(МоментВремениДокумента, ВидГраницы.Исключая));
Запрос.УстановитьПараметр("ТипыНалогообложенияНДСНеоблагаемые", УчетНДСУП.ТипыНалогообложенияНДСНеоблагаемые());
УчетНДСУП.УстановитьПараметрыЗапросаСтавкиНДС(Запрос.Параметры, Запрос.Параметры.Организация, Запрос.Параметры.Период);
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
ИспользоватьПодакцизныеТовары = Ложь;
СтранаРегистрации = Справочники.СтраныМира.ПустаяСсылка();
ИспользоватьПодакцизныеТовары = ПолучитьФункциональнуюОпцию("ИспользоватьПодакцизныеТовары");
СтранаРегистрации = ЗначениеНастроекКлиентСерверПовтИсп.СтранаРегистрацииОрганизации(Реквизиты.Организация);
Запрос.УстановитьПараметр("ИспользоватьПодакцизныеТовары", ИспользоватьПодакцизныеТовары);
Запрос.УстановитьПараметр("СтранаРегистрации", СтранаРегистрации);
КонецПроцедуры
Процедура ОформитьИзлишкиНедостачиНаСкладе(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаДокумента =
"ВЫБРАТЬ
| ТаблицаРасхождения.Ссылка КАК Ссылка,
| ТаблицаРасхождения.Ссылка.Дата КАК Дата,
| ТаблицаРасхождения.Склад КАК Склад,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.Назначение КАК Назначение,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СтатусУказанияСерийНаСкладах = 0
| ТОГДА ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ИНАЧЕ ТаблицаРасхождения.Серия
| КОНЕЦ КАК Серия,
| -ТаблицаРасхождения.Количество КАК Количество,
| ТаблицаРасхождения.СтатусУказанияСерийНаСкладах КАК СтатусУказанияСерий
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТаблицаРасхождения
|ГДЕ
| ТаблицаРасхождения.Ссылка В(&Ссылка)
| И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализациюУчестьПриИнвентаризации),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УменьшитьРеализациюУчестьПриИнвентаризации))
| ";
РегистрыТоварыКОформлениюИзлишковНедостач = Новый Структура();
Если ПроведениеДокументов.ТребуетсяТаблицаДляДвижений("ТоварыКОформлениюИзлишковНедостач", Регистры) Тогда
РегистрыТоварыКОформлениюИзлишковНедостач.Вставить("ТоварыКОформлениюИзлишковНедостач");
Иначе
РегистрыТоварыКОформлениюИзлишковНедостач.Вставить("ДвиженияНеТребуются");
КонецЕсли;
СкладыСервер.ОформитьИзлишкиНедостачиНаСкладе(Запрос,
ТекстыЗапроса,
РегистрыТоварыКОформлениюИзлишковНедостач,
ТекстЗапросаДокумента);
ТекстЗапросаДокумента =
"ВЫБРАТЬ
| ТаблицаРасхождения.Ссылка КАК Ссылка,
| ТаблицаРасхождения.Ссылка.Дата КАК Дата,
| ТаблицаРасхождения.Склад КАК Склад,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.Назначение КАК Назначение,
| ТаблицаРасхождения.Серия КАК Серия,
| -ТаблицаРасхождения.Количество КАК Количество,
| ТаблицаРасхождения.СтатусУказанияСерийНаСкладах КАК СтатусУказанияСерий
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТаблицаРасхождения
|ГДЕ
| ТаблицаРасхождения.Ссылка В(&Ссылка)
| И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализациюУменьшитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УменьшитьРеализациюУвеличитьСкладскиеОстатки))
| ";
РегистрыТоварыНаСкладах = Новый Структура();
Если ПроведениеДокументов.ТребуетсяТаблицаДляДвижений("ТоварыНаСкладах", Регистры) Тогда
РегистрыТоварыНаСкладах.Вставить("ТоварыНаСкладах");
Иначе
РегистрыТоварыНаСкладах.Вставить("ДвиженияНеТребуются");
КонецЕсли;
СкладыСервер.ОформитьИзлишкиНедостачиНаСкладе(Запрос,
ТекстыЗапроса,
РегистрыТоварыНаСкладах,
ТекстЗапросаДокумента);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Назначение КАК Назначение,
| Таблица.Серия КАК Серия,
| Таблица.Склад КАК Склад
|ИЗ
| (
| ВЫБРАТЬ
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Товары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| Товары.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВЫБОР
| КОГДА &РеализацияЧерезКомиссионера
| ТОГДА &Договор
| ИНАЧЕ Товары.АналитикаУчетаНоменклатуры.МестоХранения
| КОНЕЦ КАК Склад
| ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК Товары
| ГДЕ
| Товары.Ссылка = &Ссылка
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| И НЕ &ЭтоКорректировкаРеализацииУслугПрочихАктивов
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Товары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| Товары.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| Товары.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад
| ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК Товары
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО Товары.Номенклатура = ДанныеНоменклатуры.Ссылка
|
| ГДЕ
| Товары.Ссылка = &Ссылка
| И Товары.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И НЕ (ДанныеНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ДанныеНоменклатуры.ПрослеживаемыйТовар
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров)
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| И НЕ &ЭтоКорректировкаРеализацииУслугПрочихАктивов
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Товары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| Товары.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВЫБОР
| КОГДА &РеализацияЧерезКомиссионера
| ТОГДА &Договор
| ИНАЧЕ Товары.АналитикаУчетаНоменклатуры.МестоХранения
| КОНЕЦ КАК Склад
| ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК Товары
| ГДЕ
| Товары.Ссылка = &Ссылка
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| И НЕ &ЭтоКорректировкаРеализацииУслугПрочихАктивов
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Товары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| Товары.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| Товары.СкладОтгрузки КАК Склад
| ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК Товары
| ГДЕ
| Товары.Ссылка = &Ссылка
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| И НЕ &ЭтоКорректировкаРеализацииУслугПрочихАктивов
| И НЕ &РеализацияЧерезКомиссионера
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Товары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| Товары.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| Товары.ВидЗапасов.ВладелецТовара КАК Склад
| ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК Товары
| ГДЕ
| Товары.Ссылка = &Ссылка
| И Товары.ВидЗапасов.ВладелецТовара <> НЕОПРЕДЕЛЕНО
| И НЕ &ЭтоКорректировкаРеализацииУслугПрочихАктивов
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Товары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| Товары.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВЫБОР
| КОГДА &РеализацияЧерезКомиссионера
| ТОГДА &Договор
| ИНАЧЕ Товары.АналитикаУчетаНоменклатуры.МестоХранения
| КОНЕЦ КАК Склад
| ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК Товары
| ГДЕ
| Товары.Ссылка = &Ссылка
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| И НЕ &ЭтоКорректировкаРеализацииУслугПрочихАктивов
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Ключи.Номенклатура КАК Номенклатура,
| Ключи.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| &Серия КАК Серия,
| Товары.ВидЗапасов.ВладелецТовара КАК Склад
| ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Ключи
| ПО Товары.АналитикаУчетаНоменклатуры = Ключи.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО Ключи.Номенклатура = Аналитика.Номенклатура
| И Ключи.Характеристика = Аналитика.Характеристика
| И &Серия = Аналитика.Серия
| И Товары.ВидЗапасов.ВладелецТовара = Аналитика.МестоХранения
| И &ПустоеНазначение = Аналитика.Назначение
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика.СтатьяКалькуляции
| ГДЕ
| Товары.Ссылка = &Ссылка
| И Аналитика.Номенклатура ЕСТЬ NULL
| И Товары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|
| ) КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО Таблица.Номенклатура = Аналитика.Номенклатура
| И Таблица.Характеристика = Аналитика.Характеристика
| И Таблица.Серия = Аналитика.Серия
| И Таблица.Склад = Аналитика.МестоХранения
| И Таблица.Назначение = Аналитика.Назначение
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика.СтатьяКалькуляции
|ГДЕ
| Аналитика.КлючАналитики ЕСТЬ NULL
|");
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("Серия", Справочники.СерииНоменклатуры.ПустаяСсылка());
ЗапросАналитик.УстановитьПараметр("ПустоеНазначение", Справочники.Назначения.ПустаяСсылка());
ЗапросАналитик.УстановитьПараметр("УчитыватьСебестоимостьТоваровПоНазначениям",
Запрос.Параметры.УчитыватьСебестоимостьТоваровПоНазначениям);
ЗапросАналитик.УстановитьПараметр("ЭтоКорректировкаРеализацииУслугПрочихАктивов",
Запрос.Параметры.ЭтоКорректировкаРеализацииУслугПрочихАктивов);
ЗапросАналитик.УстановитьПараметр("РеализацияЧерезКомиссионера",
Запрос.Параметры.РеализацияЧерезКомиссионера);
ЗапросАналитик.УстановитьПараметр("Договор", Запрос.Параметры.Договор);
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(ЗапросАналитик);
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос) Экспорт
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУпр")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуРегл") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(Запрос.Параметры.Валюта,
Запрос.Параметры.ВалютаВзаиморасчетов,
Запрос.Параметры.ПериодПродажи,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУПР);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
ПериодКурса = Запрос.Параметры.ПериодПродажи;
ВалютаУправленческогоУчета = ЗначениеНастроекПовтИсп.ВалютаУправленческогоУчета();
ВалютаРегламентированногоУчета =
ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Запрос.Параметры.Организация);
КоэффициентПересчетаИзРеглВУпр = РаботаСКурсамиВалютУТ.ПолучитьКоэффициентПересчетаИзВалютыВВалюту(
ВалютаРегламентированногоУчета, ВалютаУправленческогоУчета, ПериодКурса, ВалютаРегламентированногоУчета);
Запрос.УстановитьПараметр("КоэффициентПересчетаИзРеглВУпр", КоэффициентПересчетаИзРеглВУпр);
КонецПроцедуры
Процедура УстановитьПараметрыЗапросаАналитикаУчетаПоПартнерам(Запрос)
Если Запрос.Параметры.Свойство("АналитикаУчетаПоПартнерам") Тогда
Возврат;
КонецЕсли;
Если КомиссионнаяТорговляСервер.РеализацияЧерезКомиссионера(Запрос.Параметры.ХозОперацияОснования) Тогда
СтруктураАналитики = Новый Структура();
СтруктураАналитики.Вставить("Организация", Запрос.Параметры.Организация);
СтруктураАналитики.Вставить("Договор", Запрос.Параметры.КлиентДоговор);
СтруктураАналитики.Вставить("НаправлениеДеятельности", Запрос.Параметры.НаправлениеДеятельности);
Если ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Запрос.Параметры.Договор, "ВестиРасчетыЧерезКонечныхПокупателей") Тогда
СтруктураАналитики.Вставить("Партнер", Запрос.Параметры.КлиентПартнер);
СтруктураАналитики.Вставить("Контрагент", Запрос.Параметры.КлиентКонтрагент);
Иначе
СтруктураАналитики.Вставить("Партнер", Запрос.Параметры.Партнер);
СтруктураАналитики.Вставить("Контрагент", Запрос.Параметры.Контрагент);
КонецЕсли;
АналитикаУчетаПоПартнерам = РегистрыСведений.АналитикаУчетаПоПартнерам.ЗначениеКлючаАналитики(СтруктураАналитики);
Иначе
АналитикаУчетаПоПартнерам = РегистрыСведений.АналитикаУчетаПоПартнерам.ЗначениеКлючаАналитики(Запрос.Параметры);
КонецЕсли;
Запрос.УстановитьПараметр("АналитикаУчетаПоПартнерам", АналитикаУчетаПоПартнерам);
КонецПроцедуры
Функция ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтТаблицаВидыЗапасовСписание";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ЕСТЬNULL(ВидыЗапасов.КодТНВЭД.СырьевойТовар,ЛОЖЬ) КАК СырьевойТовар,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.КорВидЗапасов КАК КорВидЗапасов,
| ВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВидыЗапасов.ВидЗапасов.Валюта КАК Валюта,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ВидыЗапасов.СуммаАкциза КАК СуммаАкцизаРегл,
| ВЫРАЗИТЬ(ВидыЗапасов.СуммаАкциза * &КоэффициентПересчетаИзРеглВУпр
| КАК ЧИСЛО(31,2)) КАК СуммаАкцизаУпр,
| ВидыЗапасов.СуммаНДСРегл КАК СуммаНДСРегл,
| ВидыЗапасов.СуммаНДСУпр КАК СуммаНДСУпр,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК НДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК НДСУпр,
|
| ВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВЫБОР КОГДА ВидыЗапасов.СуммаСНДС <> 0 ТОГДА
| ВЫРАЗИТЬ(ВидыЗапасов.СуммаВзаиморасчетов * ВидыЗапасов.СуммаНДС / ВидыЗапасов.СуммаСНДС КАК ЧИСЛО(31,2))
| ИНАЧЕ
| 0
| КОНЕЦ КАК СуммаНДСВзаиморасчетов,
|
| ВидыЗапасов.Склад КАК Склад,
| ВидыЗапасов.Склад.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ВидыЗапасов.ЗаказКлиента КАК ЗаказКлиента,
| ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ВидыЗапасов.ВидЗапасов.РеализацияЗапасовДругойОрганизации КАК РеализацияЗапасовДругойОрганизации,
| ВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца КАК ВидЗапасовВладельца,
| ВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.Организация КАК ВидЗапасовВладельцаОрганизация,
| ВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.ТипЗапасов КАК ВидЗапасовВладельцаТипЗапасов,
| КлючиКомитента.КлючАналитики КАК АналитикаКомитента,
| ВидыЗапасов.НаДоходыРасходы КАК НаДоходыРасходы,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходовСписание,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходовСписание,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| (ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоСделкам И &ОбособленныйУчетТоваровПоСделке
| ТОГДА &Сделка
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ) КАК АналитикаФинансовогоУчета,
| (ВЫБОР
| КОГДА &НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНаЭкспорт) ТОГДА
| ВЫБОР ВидыЗапасов.СтавкаНДС
| КОГДА &СтавкаНДСНаЭкспорт ТОГДА
| ВЫБОР КОГДА ЕСТЬNULL(ВидыЗапасов.КодТНВЭД.СырьевойТовар,ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭкспортСырьевыхТоваровУслуг)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭкспортНесырьевыхТоваров)
| КОНЕЦ
| КОГДА ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| КОНЕЦ
| КОГДА ВидыЗапасов.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И &НалогообложениеНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПроизводствоСДЦ))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ &НалогообложениеНДС
| КОНЕЦ) КАК ВидДеятельностиНДС,
| ВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ВидыЗапасов.Ссылка.Организация КАК Организация,
| ЕСТЬNULL(НомераГТД.ТипНомераГТД, ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.ПустаяСсылка)) КАК ТипНомераГТД,
| ВЫБОР
| КОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ПрослеживаемыйТовар
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ ЭтоПрослеживаемаяРабота
|
|ПОМЕСТИТЬ ВтТаблицаВидыЗапасовСписание
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиКомитента
| ПО
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = КлючиКомитента.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = КлючиКомитента.Характеристика
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = КлючиКомитента.Серия
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = КлючиКомитента.Назначение
| И ВидыЗапасов.ВидЗапасов.ВладелецТовара = КлючиКомитента.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = КлючиКомитента.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.НомераГТД КАК НомераГТД
| ПО
| ВидыЗапасов.НомерГТД = НомераГТД.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = ВидыЗапасов.Ссылка
| И Суммы.ИдентификаторСтроки = ВидыЗапасов.ИдентификаторСтроки
|
|ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| ТипНомераГТД";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаРасхождения(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаРасхождения";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| Расхождения.НомерСтроки КАК НомерСтроки,
| Расхождения.Номенклатура КАК Номенклатура,
| Расхождения.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК НДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК НДСУпр,
|
| ВЫБОР КОГДА Расхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.СписатьНаРасходы)
| ИЛИ Расхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УменьшитьРеализациюСписатьНаРасходы)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НаРасходы,
| ВЫБОР КОГДА Расхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НаДоходы,
|
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| Расхождения.ЗаказКлиента КАК ЗаказКлиента,
| Расхождения.Количество КАК Количество,
| Расхождения.СуммаСНДС КАК СуммаСНДС,
| Расхождения.СуммаНДС КАК СуммаНДС,
| Расхождения.СуммаНДСРегл КАК СуммаНДСРегл,
| Расхождения.СуммаНДСУпр КАК СуммаНДСУпр,
| Расхождения.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВЫБОР КОГДА Расхождения.СуммаСНДС <> 0 ТОГДА
| ВЫРАЗИТЬ(Расхождения.СуммаВзаиморасчетов * Расхождения.СуммаНДС / Расхождения.СуммаСНДС КАК ЧИСЛО(31,2))
| ИНАЧЕ
| 0
| КОНЕЦ КАК СуммаНДСВзаиморасчетов,
| Расхождения.СтавкаНДС КАК СтавкаНДС,
| Расхождения.СтатьяДоходов КАК СтатьяДоходов,
| Расхождения.АналитикаДоходов КАК АналитикаДоходов,
| Расхождения.Ссылка КАК Ссылка,
| Расхождения.ОбъектРасчетов КАК ОбъектРасчетов,
| Расхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА СправочникНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И СправочникНоменклатуры.ПрослеживаемыйТовар
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоПрослеживаемаяРабота
|ПОМЕСТИТЬ ВтТаблицаРасхождения
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК Расхождения
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = Расхождения.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Расхождения""
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = Расхождения.Ссылка
| И Суммы.ИдентификаторСтроки = Расхождения.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Номенклатура КАК СправочникНоменклатуры
| ПО СправочникНоменклатуры.Ссылка = Расхождения.Номенклатура
|
|ГДЕ
| Расхождения.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаКорректировкаЗадолженности";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| КорректировкаЗадолженности.Ссылка КАК Ссылка,
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| КорректировкаЗадолженности.ОбъектРасчетов КАК ОбъектРасчетов,
| КорректировкаЗадолженности.СтавкаНДС КАК СтавкаНДС,
| КорректировкаЗадолженности.ОбъектРасчетов.Подразделение КАК ПодразделениеРасчетов,
| КорректировкаЗадолженности.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| КорректировкаЗадолженности.ОбъектРасчетов.Договор КАК Договор,
|
| ИСТИНА КАК НаРасходы,
| ЛОЖЬ КАК НаДоходы,
|
| КорректировкаЗадолженности.Ссылка.Валюта КАК Валюта,
| (КорректировкаЗадолженности.СуммаКорректировки - КорректировкаЗадолженности.СуммаНДСКорректировки) КАК СуммаБезНДС,
| (КорректировкаЗадолженности.СуммаКорректировки) КАК СуммаСНДС,
| (КорректировкаЗадолженности.СуммаНДСКорректировки) КАК СуммаНДС,
|
| КорректировкаЗадолженности.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| КорректировкаЗадолженности.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВЫРАЗИТЬ(КорректировкаЗадолженности.СуммаВзаиморасчетов
| * КорректировкаЗадолженности.СуммаНДСКорректировки
| / КорректировкаЗадолженности.СуммаКорректировки КАК ЧИСЛО(31,2)) КАК СуммаНДСВзаиморасчетов,
|
| - ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| - ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| - ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| - ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| - ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК НДСРегл,
| - ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК НДСУпр,
|
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| КорректировкаЗадолженности.Ссылка.СтатьяРасходов КАК СтатьяРасходов,
| КорректировкаЗадолженности.Ссылка.АналитикаРасходов КАК АналитикаРасходов,
| КорректировкаЗадолженности.Ссылка.СтатьяДоходов КАК СтатьяДоходов,
| КорректировкаЗадолженности.Ссылка.АналитикаДоходов КАК АналитикаДоходов,
| КорректировкаЗадолженности.Ссылка.ПодразделениеРасходы КАК Подразделение,
|
| КорректировкаЗадолженности.ОбъектРасчетов.УникальныйИдентификатор КАК УникальныйИдентификаторОбъектаРасчетов,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ВтТаблицаКорректировкаЗадолженности
|ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК КорректировкаЗадолженности
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = КорректировкаЗадолженности.Ссылка
| И Суммы.ИдентификаторСтроки = КорректировкаЗадолженности.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО
| ТаблицаАналитикУчетаПартий.НомерСтроки = КорректировкаЗадолженности.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""КорректировкаЗадолженности""
|ГДЕ
| КорректировкаЗадолженности.Ссылка = &Ссылка
| И КорректировкаЗадолженности.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииУменьшениеЗадолженностиСводно)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаЗадолженности.Ссылка КАК Ссылка,
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| КорректировкаЗадолженности.ОбъектРасчетов КАК ОбъектРасчетов,
| КорректировкаЗадолженности.СтавкаНДС КАК СтавкаНДС,
| КорректировкаЗадолженности.ОбъектРасчетов.Подразделение КАК ПодразделениеРасчетов,
| КорректировкаЗадолженности.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| КорректировкаЗадолженности.ОбъектРасчетов.Договор КАК Договор,
|
| ЛОЖЬ КАК НаРасходы,
| ИСТИНА КАК НаДоходы,
|
| КорректировкаЗадолженности.Ссылка.Валюта КАК Валюта,
| КорректировкаЗадолженности.СуммаКорректировки - КорректировкаЗадолженности.СуммаНДСКорректировки КАК СуммаБезНДС,
| КорректировкаЗадолженности.СуммаКорректировки КАК СуммаСНДС,
| КорректировкаЗадолженности.СуммаНДСКорректировки КАК СуммаНДС,
|
| КорректировкаЗадолженности.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| КорректировкаЗадолженности.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВЫРАЗИТЬ(КорректировкаЗадолженности.СуммаВзаиморасчетов
| * КорректировкаЗадолженности.СуммаНДСКорректировки
| / КорректировкаЗадолженности.СуммаКорректировки КАК ЧИСЛО(31,2)) КАК СуммаНДСВзаиморасчетов,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК НДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК НДСУпр,
|
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| КорректировкаЗадолженности.Ссылка.СтатьяРасходов КАК СтатьяРасходов,
| КорректировкаЗадолженности.Ссылка.АналитикаРасходов КАК АналитикаРасходов,
| КорректировкаЗадолженности.Ссылка.СтатьяДоходов КАК СтатьяДоходов,
| КорректировкаЗадолженности.Ссылка.АналитикаДоходов КАК АналитикаДоходов,
| КорректировкаЗадолженности.Ссылка.ПодразделениеДоходы КАК Подразделение,
|
| КорректировкаЗадолженности.ОбъектРасчетов.УникальныйИдентификатор КАК УникальныйИндентификаторОбъектаРасчетов,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК КорректировкаЗадолженности
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = КорректировкаЗадолженности.Ссылка
| И Суммы.ИдентификаторСтроки = КорректировкаЗадолженности.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО
| ТаблицаАналитикУчетаПартий.НомерСтроки = КорректировкаЗадолженности.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""КорректировкаЗадолженности""
|ГДЕ
| КорректировкаЗадолженности.Ссылка = &Ссылка
| И КорректировкаЗадолженности.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса)
ТекстНомераСтрок = РасчетСебестоимостиПроведениеДокументов.ТекстЗапросаКодыСтрокДляАналитикиУчетаПартий(
Метаданные.Документы.КорректировкаРеализации.Имя,
"ВидыЗапасовОприходование, Расхождения");
ТекстВыборкаПоляАналитик = ТекстНомераСтрок + "
|ВЫБРАТЬ
| ""ВидыЗапасовОприходование"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.Ссылка.Партнер КАК Поставщик,
| ТаблицаДокумента.Ссылка.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| (ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
| И ТаблицаДокумента.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ТаблицаДокумента.Ссылка.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
| И ТаблицаДокумента.Ссылка.ДокументОснование.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиентуРеглУчет)
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ТаблицаДокумента.Ссылка.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНаЭкспорт)
| ТОГДА ВЫБОР ТаблицаДокумента.СтавкаНДС
| КОГДА &СтавкаНДСНаЭкспорт
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаДокумента.КодТНВЭД.СырьевойТовар, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭкспортСырьевыхТоваровУслуг)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭкспортНесырьевыхТоваров)
| КОНЕЦ
| КОГДА ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| КОНЕЦ
| КОГДА ТаблицаДокумента.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И ТаблицаДокумента.Ссылка.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ ТаблицаДокумента.Ссылка.НалогообложениеНДС
| КОНЕЦ) КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТоварыНалоговыйАгент)
| КОГДА ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги)
| КОНЕЦ КАК ВидЦенности,
| КодыСтрок.КодСтроки КАК КодСтроки
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКодыСтрокДляАналитикиУчетаПартий КАК КодыСтрок
| ПО ТаблицаДокумента.НомерСтроки = КодыСтрок.НомерСтроки
| И КодыСтрок.ИмяТабличнойЧасти = ""ВидыЗапасовОприходование""
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""Расхождения"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.Ссылка.Партнер КАК Поставщик,
| ТаблицаДокумента.Ссылка.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТоварыНалоговыйАгент)
| КОГДА ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги)
| КОНЕЦ КАК ВидЦенности,
| КодыСтрок.КодСтроки КАК КодСтроки
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКодыСтрокДляАналитикиУчетаПартий КАК КодыСтрок
| ПО ТаблицаДокумента.НомерСтроки = КодыСтрок.НомерСтроки
| И КодыСтрок.ИмяТабличнойЧасти = ""Расхождения""
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""КорректировкаЗадолженности"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.Ссылка.Партнер КАК Поставщик,
| ТаблицаДокумента.Ссылка.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги) КАК ВидЦенности,
| 0 КАК КодСтроки
|ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|";
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтТаблицаВидыЗапасовОприходование";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ЕСТЬNULL(ВидыЗапасов.КодТНВЭД.СырьевойТовар,ЛОЖЬ) КАК СырьевойТовар,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.КорВидЗапасов КАК КорВидЗапасов,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВидыЗапасов.ВидЗапасов.Валюта КАК Валюта,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ВидыЗапасов.СуммаАкциза КАК СуммаАкцизаРегл,
| ВЫРАЗИТЬ(ВидыЗапасов.СуммаАкциза * &КоэффициентПересчетаИзРеглВУпр
| КАК ЧИСЛО(31,2)) КАК СуммаАкцизаУпр,
| ВидыЗапасов.СуммаНДСРегл КАК СуммаНДСРегл,
| ВидыЗапасов.СуммаНДСУпр КАК СуммаНДСУпр,
|
| -ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| -ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| -ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| -ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| -ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК НДСРегл,
| -ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК НДСУпр,
|
| ВидыЗапасов.Себестоимость КАК Себестоимость,
| ВидыЗапасов.СебестоимостьБезНДС КАК СебестоимостьБезНДС,
| ВидыЗапасов.СебестоимостьРегл КАК СебестоимостьРегл,
| ВидыЗапасов.СебестоимостьПР КАК СебестоимостьПР,
| ВидыЗапасов.СебестоимостьВР КАК СебестоимостьВР,
|
| ВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВЫБОР
| КОГДА ВидыЗапасов.СуммаСНДС <> 0
| ТОГДА ВЫРАЗИТЬ(ВидыЗапасов.СуммаВзаиморасчетов * ВидыЗапасов.СуммаНДС / ВидыЗапасов.СуммаСНДС КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаНДСВзаиморасчетов,
|
| ВидыЗапасов.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения
| КОГДА ВидыЗапасов.Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) И ВидыЗапасов.АналитикаУчетаНоменклатуры.ТипМестаХранения = ЗНАЧЕНИЕ(Перечисление.ТипыМестХранения.Склад)
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения
| ИНАЧЕ ВидыЗапасов.Склад
| КОНЕЦ КАК Склад,
| ВидыЗапасов.Склад.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
| ТОГДА ЕСТЬNULL(ВидыЗапасов.КорАналитикаУчетаНоменклатуры.МестоХранения, ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения)
| ИНАЧЕ ВидыЗапасов.СкладОтгрузки
| КОНЕЦ КАК СкладОтгрузки,
| ВидыЗапасов.ЗаказКлиента КАК ЗаказКлиента,
| ВидыЗапасов.ВидЗапасовОтгрузки КАК ВидЗапасовОтгрузки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ВЫБОР
| КОГДА ВидыЗапасов.КорАналитикаУчетаНоменклатуры = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.КорАналитикаУчетаНоменклатуры
| КОНЕЦ КАК АналитикаРеализации,
| ВЫБОР
| КОГДА ВидыЗапасов.КорАналитикаУчетаНоменклатуры = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА АналитикаБезНазначения.КлючАналитики
| ИНАЧЕ АналитикаОтгрузкиБезНазначения.КлючАналитики
| КОНЕЦ КАК АналитикаРеализацииБезНазначения,
| ВидыЗапасов.ВидЗапасов.РеализацияЗапасовДругойОрганизации КАК РеализацияЗапасовДругойОрганизации,
| ВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца КАК ВидЗапасовВладельца,
| ВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.ТипЗапасов КАК ВидЗапасовВладельцаТипЗапасов,
| ВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.Организация КАК ВидЗапасовВладельцаОрганизация,
| КлючиКомитента.КлючАналитики КАК АналитикаКомитента,
| ВидыЗапасов.НаДоходыРасходы КАК НаДоходыРасходы,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходовОприходование,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходовОприходование,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ВидыЗапасов.Ссылка.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.Ссылка.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.Ссылка.Организация КАК Организация,
|
| (ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоСделкам
| И &ОбособленныйУчетТоваровПоСделке
| ТОГДА &Сделка
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ) КАК АналитикаФинансовогоУчета,
| ВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ЕСТЬNULL(НомераГТД.ТипНомераГТД, ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.ПустаяСсылка)) КАК ТипНомераГТД,
| ВЫБОР
| КОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ПрослеживаемыйТовар
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ ЭтоПрослеживаемаяРабота
|
|ПОМЕСТИТЬ ВтТаблицаВидыЗапасовОприходование
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК ВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаОтгрузкиБезНазначения
| ПО
| ВидыЗапасов.КорАналитикаУчетаНоменклатуры.Номенклатура = АналитикаОтгрузкиБезНазначения.Номенклатура
| И ВидыЗапасов.КорАналитикаУчетаНоменклатуры.Характеристика = АналитикаОтгрузкиБезНазначения.Характеристика
| И ВидыЗапасов.КорАналитикаУчетаНоменклатуры.Серия = АналитикаОтгрузкиБезНазначения.Серия
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаОтгрузкиБезНазначения.Назначение
| И ВидыЗапасов.КорАналитикаУчетаНоменклатуры.МестоХранения = АналитикаОтгрузкиБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаОтгрузкиБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиКомитента
| ПО
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = КлючиКомитента.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = КлючиКомитента.Характеристика
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = КлючиКомитента.Серия
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = КлючиКомитента.Назначение
| И ВидыЗапасов.ВидЗапасов.ВладелецТовара = КлючиКомитента.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = КлючиКомитента.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО
| ТаблицаАналитикУчетаПартий.НомерСтроки = ВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВидыЗапасовОприходование""
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = ВидыЗапасов.Ссылка
| И Суммы.ИдентификаторСтроки = ВидыЗапасов.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.НомераГТД КАК НомераГТД
| ПО
| ВидыЗапасов.НомерГТД = НомераГТД.Ссылка
|
|ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| ТипНомераГТД";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтВидыЗапасовКорректировкаВыручки(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтВидыЗапасовКорректировкаВыручки";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца КАК ВидЗапасовВладельца,
| ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.ТипЗапасов КАК ВидЗапасовВладельцаТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.Организация КАК ВидЗапасовВладельцаОрганизация,
| ТаблицаВидыЗапасов.ВидЗапасов.РеализацияЗапасовДругойОрганизации КАК РеализацияЗапасовДругойОрганизации,
| ТаблицаВидыЗапасов.ВидЗапасов.Валюта КАК Валюта,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ЕСТЬNULL(ТаблицаВидыЗапасов.КодТНВЭД.СырьевойТовар,ЛОЖЬ) КАК СырьевойТовар,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ТаблицаВидыЗапасов.ЗаказКлиента КАК ЗаказКлиента,
|
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ТаблицаВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ТаблицаВидыЗапасов.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаВидыЗапасов.СуммаНДСУпр КАК СуммаНДСУпр,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК НДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК НДСУпр,
|
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СуммаСНДС <> 0 ТОГДА
| ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаВзаиморасчетов * ТаблицаВидыЗапасов.СуммаНДС / ТаблицаВидыЗапасов.СуммаСНДС КАК ЧИСЛО(31,2))
| ИНАЧЕ
| 0
| КОНЕЦ КАК СуммаНДСВзаиморасчетов,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая КАК ЦеховаяКладовая,
| (ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоСделкам И &ОбособленныйУчетТоваровПоСделке
| ТОГДА &Сделка
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ) КАК АналитикаФинансовогоУчета,
| (ВЫБОР
| КОГДА &НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНаЭкспорт) ТОГДА
| ВЫБОР ТаблицаВидыЗапасов.СтавкаНДС
| КОГДА &СтавкаНДСНаЭкспорт ТОГДА
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.КодТНВЭД.СырьевойТовар,ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭкспортСырьевыхТоваровУслуг)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭкспортНесырьевыхТоваров)
| КОНЕЦ
| КОГДА ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| КОНЕЦ
| КОГДА ТаблицаВидыЗапасов.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И &НалогообложениеНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПроизводствоСДЦ))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ &НалогообложениеНДС
| КОНЕЦ) КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаВидыЗапасов.Ссылка.Организация КАК Организация,
| ЕСТЬNULL(НомераГТД.ТипНомераГТД, ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.ПустаяСсылка)) КАК ТипНомераГТД,
| КлючиКомитента.КлючАналитики КАК АналитикаКомитента,
| ВЫБОР
| КОГДА СправочникНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И СправочникНоменклатуры.ПрослеживаемыйТовар
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоРабота
|
|ПОМЕСТИТЬ ВтВидыЗапасовКорректировкаВыручки
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиКомитента
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = КлючиКомитента.Номенклатура
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = КлючиКомитента.Характеристика
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = КлючиКомитента.Серия
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = КлючиКомитента.Назначение
| И ТаблицаВидыЗапасов.ВидЗапасов.ВладелецТовара = КлючиКомитента.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = КлючиКомитента.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.НомераГТД КАК НомераГТД
| ПО
| ТаблицаВидыЗапасов.НомерГТД = НомераГТД.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = ТаблицаВидыЗапасов.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаВидыЗапасов.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.КлючиАналитикиУчетаНоменклатуры КАК КлючиАналитикиУчетаНоменклатуры
| ПО КлючиАналитикиУчетаНоменклатуры.Ссылка = ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Номенклатура КАК СправочникНоменклатуры
| ПО СправочникНоменклатуры.Ссылка = КлючиАналитикиУчетаНоменклатуры.Номенклатура
|
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| ТипНомераГТД";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПереданнаяВозвратнаяТара(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПереданнаяВозвратнаяТара";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовСписание", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| 0 КАК Порядок,
| ВтТаблицаВидыЗапасовСписание.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ВтТаблицаВидыЗапасовСписание.Номенклатура КАК Номенклатура,
| ВтТаблицаВидыЗапасовСписание.Характеристика КАК Характеристика,
| ВтТаблицаВидыЗапасовСписание.Количество КАК Количество,
| ВтТаблицаВидыЗапасовСписание.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВтТаблицаВидыЗапасовСписание.СуммаСНДС КАК Сумма,
| ВтТаблицаВидыЗапасовСписание.ВидЗапасов КАК ВидЗапасов,
| ВтТаблицаВидыЗапасовСписание.НомерГТД КАК НомерГТД,
| &Партнер КАК Партнер,
| &ДокументОснование КАК ДокументПередачи,
| &ТребуетсяЗалогЗаТару КАК ПредусмотренЗалог
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ВтТаблицаВидыЗапасовСписание
|ГДЕ
| НЕ ВтТаблицаВидыЗапасовСписание.НаДоходыРасходы
| И ВтТаблицаВидыЗапасовСписание.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ВернутьМногооборотнуюТару
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 1 КАК Порядок,
| ВтТаблицаВидыЗапасовОприходование.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ВтТаблицаВидыЗапасовОприходование.Номенклатура КАК Номенклатура,
| ВтТаблицаВидыЗапасовОприходование.Характеристика КАК Характеристика,
| -ВтТаблицаВидыЗапасовОприходование.Количество КАК Количество,
| -ВтТаблицаВидыЗапасовОприходование.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| -ВтТаблицаВидыЗапасовОприходование.СуммаСНДС КАК Сумма,
| ВтТаблицаВидыЗапасовОприходование.ВидЗапасов КАК ВидЗапасов,
| ВтТаблицаВидыЗапасовОприходование.НомерГТД КАК НомерГТД,
| &Партнер КАК Партнер,
| &ДокументОснование КАК ДокументПередачи,
| &ТребуетсяЗалогЗаТару КАК ПредусмотренЗалог
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ВтТаблицаВидыЗапасовОприходование
|
|ГДЕ
| НЕ ВтТаблицаВидыЗапасовОприходование.НаДоходыРасходы
| И ВтТаблицаВидыЗапасовОприходование.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ВернутьМногооборотнуюТару
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 2 КАК Порядок,
| ВтТаблицаВидыЗапасовКорректировкаВыручки.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ВтТаблицаВидыЗапасовКорректировкаВыручки.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ВтТаблицаВидыЗапасовКорректировкаВыручки.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| 0 КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| ВтТаблицаВидыЗапасовКорректировкаВыручки.СуммаСНДС КАК Сумма,
| ВтТаблицаВидыЗапасовКорректировкаВыручки.ВидЗапасов КАК ВидЗапасов,
| ВтТаблицаВидыЗапасовКорректировкаВыручки.НомерГТД КАК НомерГТД,
| &Партнер КАК Партнер,
| &ДокументОснование КАК ДокументПередачи,
| &ТребуетсяЗалогЗаТару КАК ПредусмотренЗалог
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ВтТаблицаВидыЗапасовКорректировкаВыручки
|ГДЕ
| ВтТаблицаВидыЗапасовКорректировкаВыручки.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ВернутьМногооборотнуюТару
| И ВтТаблицаВидыЗапасовКорректировкаВыручки.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Порядок,
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовСписание", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК ОрганизацияОтгрузки,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.РеализацияЗапасовДругойОрганизации ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасовВладельца.Организация
| ИНАЧЕ
| &Организация
| КОНЕЦ КАК Организация,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.РеализацияЗапасовДругойОрганизации ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасовВладельца
| ИНАЧЕ
| ТаблицаВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| &ДокументОснование КАК ДокументРеализации,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА НЕ ТаблицаВидыЗапасов.КорВидЗапасов = ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.КорВидЗапасов КАК КорВидЗапасов,
| &ВидКорректировки КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ЛОЖЬ КАК Первичное
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
|
|ГДЕ
| НЕ ТаблицаВидыЗапасов.НаДоходыРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| &Период,
| &Организация,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.РеализацияЗапасовДругойОрганизации ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасовВладельца.Организация
| ИНАЧЕ
| &Организация
| КОНЕЦ,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.РеализацияЗапасовДругойОрганизации ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасовВладельца
| ИНАЧЕ
| ТаблицаВидыЗапасов.ВидЗапасов
| КОНЕЦ,
| ТаблицаВидыЗапасов.Номенклатура,
| ТаблицаВидыЗапасов.Характеристика,
| ТаблицаВидыЗапасов.НомерГТД,
| &ДокументОснование,
| -ТаблицаВидыЗапасов.Количество,
| -ТаблицаВидыЗапасов.КоличествоПоРНПТ,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.АналитикаРеализации КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.КорВидЗапасов <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаВидыЗапасов.КорВидЗапасов
| КОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузки <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузки
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК КорВидЗапасов,
| &ВидКорректировки,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ЛОЖЬ КАК Первичное
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
|
|ГДЕ
| НЕ ТаблицаВидыЗапасов.НаДоходыРасходы
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизацийКПередаче(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизацийКПередаче";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовСписание", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаВидыЗапасов.ВидЗапасовВладельца.Организация КАК ОрганизацияВладелец,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасовПродавца,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.Количество КАК Количество
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
|
|ГДЕ
| ТаблицаВидыЗапасов.РеализацияЗапасовДругойОрганизации
| И НЕ ТаблицаВидыЗапасов.НаДоходыРасходы
| И НЕ ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтПодходящиеСоглашения(ТекстыЗапроса)
ИмяРегистра = "ВтПодходящиеСоглашения";
ТекстЗапроса = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| КОформлению.Номенклатура КАК Номенклатура,
| КОформлению.Характеристика КАК Характеристика,
| ЕСТЬNULL(СоглашениеСПоставщиком.Ссылка, СоглашениеСПоставщикомБезУслуг.Ссылка) КАК Ссылка,
| ЕСТЬNULL(СоглашениеСПоставщиком.Ссылка.Статус, СоглашениеСПоставщикомБезУслуг.Статус) КАК Статус,
| ЕСТЬNULL(СоглашениеСПоставщиком.Ссылка.ДатаОкончанияДействия,
| СоглашениеСПоставщикомБезУслуг.ДатаОкончанияДействия) КАК ДатаОкончанияДействия
|ПОМЕСТИТЬ ВтПодходящиеСоглашения_Услуги
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК КОформлению
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СоглашенияСПоставщиками.АгентскиеУслуги КАК СоглашениеСПоставщиком
| ПО СоглашениеСПоставщиком.Ссылка.Партнер = ЕСТЬNULL(КОформлению.Характеристика.Принципал,
| КОформлению.Номенклатура.Принципал)
| И СоглашениеСПоставщиком.Ссылка.Организация = &Организация
| И СоглашениеСПоставщиком.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОказаниеАгентскихУслуг)
| И СоглашениеСПоставщиком.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Действует),
| ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Закрыто))
| И &ПериодОтгрузки >= СоглашениеСПоставщиком.Ссылка.ДатаНачалаДействия
| И (&ПериодОтгрузки <= СоглашениеСПоставщиком.Ссылка.ДатаОкончанияДействия
| ИЛИ СоглашениеСПоставщиком.Ссылка.ДатаОкончанияДействия = ДАТАВРЕМЯ(1, 1, 1))
| И КОформлению.Номенклатура = СоглашениеСПоставщиком.Номенклатура
| И КОформлению.Характеристика = СоглашениеСПоставщиком.Характеристика
| И СоглашениеСПоставщиком.Ссылка.ИспользоватьУказанныеАгентскиеУслуги
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СоглашенияСПоставщиками КАК СоглашениеСПоставщикомБезУслуг
| ПО СоглашениеСПоставщикомБезУслуг.Партнер = ЕСТЬNULL(КОформлению.Характеристика.Принципал,
| КОформлению.Номенклатура.Принципал)
| И СоглашениеСПоставщикомБезУслуг.Организация = &Организация
| И СоглашениеСПоставщикомБезУслуг.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОказаниеАгентскихУслуг)
| И СоглашениеСПоставщикомБезУслуг.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Действует)
| И &ПериодОтгрузки >= СоглашениеСПоставщикомБезУслуг.ДатаНачалаДействия
| И (&ПериодОтгрузки <= СоглашениеСПоставщикомБезУслуг.ДатаОкончанияДействия
| ИЛИ СоглашениеСПоставщикомБезУслуг.ДатаОкончанияДействия = ДАТАВРЕМЯ(1, 1, 1))
| И НЕ СоглашениеСПоставщикомБезУслуг.ИспользоватьУказанныеАгентскиеУслуги
|
|ГДЕ
| КОформлению.Ссылка = &Ссылка
| И КОформлению.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| И ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал) <> &Организация
| И ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал) <> НЕОПРЕДЕЛЕНО
| И &ИспользоватьПродажуАгентскихУслуг
|;
|
|
|ВЫБРАТЬ
| ВыбранныеСоглашения.Номенклатура КАК Номенклатура,
| ВыбранныеСоглашения.Характеристика КАК Характеристика,
| ВыбранныеСоглашения.Ссылка КАК Ссылка,
| СоглашениеСПоставщиком.Статус КАК Статус,
| СоглашениеСПоставщиком.Валюта КАК Валюта
| ПОМЕСТИТЬ ВтПодходящиеСоглашения
|ИЗ
| (ВЫБРАТЬ
| ДанныеПоУслугам.Номенклатура КАК Номенклатура,
| ДанныеПоУслугам.Характеристика КАК Характеристика,
| ДанныеПоУслугам.Ссылка КАК Ссылка
| ИЗ
| ВтПодходящиеСоглашения_Услуги КАК ДанныеПоУслугам
| ГДЕ
| ДанныеПоУслугам.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Действует)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеПоУслугам.Номенклатура,
| ДанныеПоУслугам.Характеристика,
| МАКСИМУМ(ДанныеПоУслугам.Ссылка)
| ИЗ
| ВтПодходящиеСоглашения_Услуги КАК ДанныеПоУслугам
| ГДЕ
| ДанныеПоУслугам.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Закрыто)
| И (ДанныеПоУслугам.Номенклатура, ДанныеПоУслугам.Характеристика, ДанныеПоУслугам.ДатаОкончанияДействия) В
| (ВЫБРАТЬ
| Номенклатура,
| Характеристика,
| МАКСИМУМ(ДатаОкончанияДействия)
| ИЗ
| ВтПодходящиеСоглашения_Услуги
| ГДЕ
| ДанныеПоУслугам.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Закрыто)
| СГРУППИРОВАТЬ ПО
| Номенклатура,
| Характеристика)
|
| СГРУППИРОВАТЬ ПО
| ДанныеПоУслугам.Номенклатура,
| ДанныеПоУслугам.Характеристика) КАК ВыбранныеСоглашения
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СоглашенияСПоставщиками КАК СоглашениеСПоставщиком
| ПО ВыбранныеСоглашения.Ссылка = СоглашениеСПоставщиком.Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтАгентскиеУслуги(ТекстыЗапроса)
ИмяРегистра = "ВтАгентскиеУслуги";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПодходящиеСоглашения", ТекстыЗапроса) Тогда
ТекстЗапросаВтПодходящиеСоглашения(ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВЫБОР
| КОГДА НЕ СоглашениеПоУслугамДействующие.Ссылка ЕСТЬ NULL
| ТОГДА СоглашениеПоУслугамДействующие.Ссылка
| ИНАЧЕ ЕСТЬNULL(СоглашениеПоУслугамЗакрытые.Ссылка, НЕОПРЕДЕЛЕНО)
| КОНЕЦ КАК Соглашение,
| ВЫБОР
| КОГДА НЕ СоглашениеПоУслугамДействующие.Ссылка ЕСТЬ NULL
| ТОГДА СоглашениеПоУслугамДействующие.Ссылка.Валюта
| ИНАЧЕ ЕСТЬNULL(СоглашениеПоУслугамЗакрытые.Ссылка.Валюта, &Валюта)
| КОНЕЦ КАК Валюта,
| КОформлению.Номенклатура КАК Номенклатура,
| КОформлению.Характеристика КАК Характеристика,
| КОформлению.Ссылка.Организация КАК Организация,
| ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал) КАК Принципал
|ПОМЕСТИТЬ ВтАгентскиеУслуги
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК КОформлению
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПодходящиеСоглашения КАК СоглашениеПоУслугамДействующие
| ПО КОформлению.Номенклатура = СоглашениеПоУслугамДействующие.Номенклатура
| И КОформлению.Характеристика = СоглашениеПоУслугамДействующие.Характеристика
| И СоглашениеПоУслугамДействующие.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Действует)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПодходящиеСоглашения КАК СоглашениеПоУслугамЗакрытые
| ПО КОформлению.Номенклатура = СоглашениеПоУслугамЗакрытые.Номенклатура
| И КОформлению.Характеристика = СоглашениеПоУслугамЗакрытые.Характеристика
| И СоглашениеПоУслугамЗакрытые.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Закрыто)
| И СоглашениеПоУслугамДействующие.Ссылка ЕСТЬ NULL
|
|ГДЕ
| КОформлению.Ссылка = &Ссылка
| И КОформлению.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| И ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал) <> &Организация
| И ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал) <> НЕОПРЕДЕЛЕНО
| И &ИспользоватьПродажуАгентскихУслуг";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса)
ИмяРегистра = "КурсыВалют";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовСписание", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос,ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтАгентскиеУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтАгентскиеУслуги(ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасовКорректировкаВыручки", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасовКорректировкаВыручки(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| КурсыВалют.Валюта КАК Валюта,
|
| (КурсВалютыДокумента.КурсЧислитель * КурсыВалют.КурсЗнаменатель)
| / (КурсВалютыДокумента.КурсЗнаменатель * КурсыВалют.КурсЧислитель) КАК КоэффициентПересчета
|
|ПОМЕСТИТЬ КурсыВалют
|ИЗ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&Период,
| (Валюта, БазоваяВалюта) В (
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидЗапасовВладельца.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасовВладельца.Валюта
| ИНАЧЕ ТаблицаВидыЗапасов.Валюта
| КОНЕЦ КАК Валюта,
| ТаблицаВидыЗапасов.Организация.ВалютаРегламентированногоУчета КАК БазоваяВалюта
| ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
| ГДЕ
| НЕ ТаблицаВидыЗапасов.НаДоходыРасходы
| И (ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ТаблицаВидыЗапасов.ВидЗапасовВладельца.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
| И (ТаблицаВидыЗапасов.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ (ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) И НЕ &ВернутьМногооборотнуюТару)
| ИЛИ ТаблицаВидыЗапасов.ТипНоменклатуры ЕСТЬ NULL)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидЗапасовВладельца.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасовВладельца.Валюта
| ИНАЧЕ ТаблицаВидыЗапасов.Валюта
| КОНЕЦ КАК Валюта,
| ТаблицаВидыЗапасов.Организация.ВалютаРегламентированногоУчета КАК БазоваяВалюта
| ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
| ГДЕ
| НЕ ТаблицаВидыЗапасов.НаДоходыРасходы
| И (ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ТаблицаВидыЗапасов.ВидЗапасовВладельца.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
| И (ТаблицаВидыЗапасов.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ (ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) И НЕ &ВернутьМногооборотнуюТару)
| ИЛИ ТаблицаВидыЗапасов.ТипНоменклатуры ЕСТЬ NULL)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасовВладельца.Валюта
| ИНАЧЕ ТаблицаВидыЗапасов.Валюта
| КОНЕЦ КАК Валюта,
| ТаблицаВидыЗапасов.Организация.ВалютаРегламентированногоУчета КАК БазоваяВалюта
| ИЗ
| ВтВидыЗапасовКорректировкаВыручки КАК ТаблицаВидыЗапасов
| ГДЕ
| (ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ТаблицаВидыЗапасов.ВидЗапасовВладельца.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
| И (ТаблицаВидыЗапасов.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ (ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) И НЕ &ВернутьМногооборотнуюТару)
| ИЛИ ТаблицаВидыЗапасов.ТипНоменклатуры ЕСТЬ NULL)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| Услуги.Валюта КАК Валюта,
| Услуги.Организация.ВалютаРегламентированногоУчета КАК БазоваяВалюта
| ИЗ
| ВтАгентскиеУслуги КАК Услуги
| )
| ) КАК КурсыВалют
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&ПериодПродажи, Валюта = &Валюта) КАК КурсВалютыДокумента
| ПО
| КурсыВалют.БазоваяВалюта = КурсВалютыДокумента.БазоваяВалюта
|
|ГДЕ
| КурсВалютыДокумента.КурсЗнаменатель <> 0";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыКОформлениюОтчетовКомитенту(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыКОформлениюОтчетовКомитенту";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовСписание", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасовКорректировкаВыручки", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасовКорректировкаВыручки(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("КурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.Валюта КАК Валюта,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту) КАК ХозяйственнаяОперация,
| &ДокументОснование КАК ДокументРеализации,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручки,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.ВидЗапасов.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиРегл,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.ВидЗапасов.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиУпр,
| 0 КАК КоличествоСписано,
| ТаблицаВидыЗапасов.Количество КАК КоличествоКОформлению,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоКОформлениюПоРНПТ,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручкиКОформлению,
| 0 КАК КоличествоСписаноКОформлению,
| 0 КАК КоличествоСписаноКОформлениюПоРНПТ,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| ТаблицаВидыЗапасов.АналитикаКомитента КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалют
| ПО ТаблицаВидыЗапасов.ВидЗапасов.Валюта = КурсыВалют.Валюта
|
|ГДЕ
| НЕ ТаблицаВидыЗапасов.НаДоходыРасходы
| И ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| И (ТаблицаВидыЗапасов.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ (ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И НЕ &ВернутьМногооборотнуюТару)
| ИЛИ ТаблицаВидыЗапасов.ТипНоменклатуры ЕСТЬ NULL)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.Валюта КАК Валюта,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровОтКлиента) КАК ХозяйственнаяОперация,
| &ДокументОснование КАК ДокументРеализации,
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта
| ТОГДА -ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ -ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручки,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.ВидЗапасов.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА -ТаблицаВидыЗапасов.СуммаСНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиРегл,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.ВидЗапасов.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА -ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиУпр,
| 0 КАК КоличествоСписано,
| -ТаблицаВидыЗапасов.Количество КАК КоличествоКОформлению,
| -ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоКОформлениюПоРНПТ,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта
| ТОГДА -ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ -ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручкиКОформлению,
| 0 КАК КоличествоСписаноКОформлению,
| 0 КАК КоличествоСписаноКОформлениюПоРНПТ,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| ТаблицаВидыЗапасов.АналитикаКомитента КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалют
| ПО ТаблицаВидыЗапасов.ВидЗапасов.Валюта = КурсыВалют.Валюта
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаВидыЗапасов.Номенклатура = Аналитика.Номенклатура
| И ТаблицаВидыЗапасов.Характеристика = Аналитика.Характеристика
| И ТаблицаВидыЗапасов.Серия = Аналитика.Серия
| И ТаблицаВидыЗапасов.Назначение = Аналитика.Назначение
| И ТаблицаВидыЗапасов.ВидЗапасов.ВладелецТовара = Аналитика.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика.СтатьяКалькуляции
|
|ГДЕ
| НЕ ТаблицаВидыЗапасов.НаДоходыРасходы
| И ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| И (ТаблицаВидыЗапасов.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ (ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И НЕ &ВернутьМногооборотнуюТару)
| ИЛИ ТаблицаВидыЗапасов.ТипНоменклатуры ЕСТЬ NULL)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.Валюта КАК Валюта,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту) КАК ХозяйственнаяОперация,
| &ДокументОснование КАК ДокументРеализации,
| 0 КАК Количество,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручки,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.ВидЗапасов.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиРегл,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.ВидЗапасов.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиУпр,
| 0 КАК КоличествоСписано,
| 0 КАК КоличествоКОформлению,
| 0 КАК КоличествоКОформлениюПоРНПТ,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручкиКОформлению,
| 0 КАК КоличествоСписаноКОформлению,
| 0 КАК КоличествоСписаноКОформлениюПоРНПТ,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| ТаблицаВидыЗапасов.АналитикаКомитента КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаВидыЗапасов.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтВидыЗапасовКорректировкаВыручки КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалют
| ПО ТаблицаВидыЗапасов.ВидЗапасов.Валюта = КурсыВалют.Валюта
|
|ГДЕ
| ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| И (ТаблицаВидыЗапасов.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ (ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И НЕ &ВернутьМногооборотнуюТару)
| ИЛИ ТаблицаВидыЗапасов.ТипНоменклатуры ЕСТЬ NULL)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтРасхожденияРаботыУслуги(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтРасхожденияРаботыУслуги";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтАгентскиеУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтАгентскиеУслуги(ТекстыЗапроса);
КонецЕсли;
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ЕСТЬNULL(СправочникНоменклатуры.ТипНоменклатуры, ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПустаяСсылка)) КАК ТипНоменклатуры,
| ЕСТЬNULL(СправочникНоменклатуры.ПрослеживаемыйТовар, ЛОЖЬ) КАК ПрослеживаемыйТовар,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.Количество КАК Количество,
| ТаблицаРасхождения.СуммаСНДС КАК СуммаСНДС,
|
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
|
| ТаблицаРасхождения.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
|
| ВЫБОР КОГДА ТаблицаРасхождения.СуммаСНДС <> 0 ТОГДА
| ВЫРАЗИТЬ(ТаблицаРасхождения.СуммаВзаиморасчетов * ТаблицаРасхождения.СуммаНДС / ТаблицаРасхождения.СуммаСНДС КАК ЧИСЛО(31,2))
| ИНАЧЕ
| 0
| КОНЕЦ КАК СуммаНДСВзаиморасчетов,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК НДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК НДСУпр,
|
| ТаблицаРасхождения.Себестоимость КАК Себестоимость,
| ТаблицаРасхождения.СебестоимостьБезНДС КАК СебестоимостьБезНДС,
| ТаблицаРасхождения.СебестоимостьРегл КАК СебестоимостьРегл,
| ТаблицаРасхождения.СебестоимостьПР КАК СебестоимостьПР,
| ТаблицаРасхождения.СебестоимостьВР КАК СебестоимостьВР,
|
| ТаблицаРасхождения.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| ТаблицаРасхождения.ЗаказКлиента КАК ЗаказКлиента,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаРасхождения.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ТаблицаРасхождения.СуммаНДС КАК СуммаНДС,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ТаблицаРасхождения.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаРасхождения.Назначение КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) КАК ВидЗапасов,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВариантОтражения В (ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.СписатьНаРасходы))
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НаДоходыРасходы,
|
| АгентскиеУслуги.Соглашение КАК Соглашение,
| АгентскиеУслуги.Валюта КАК Валюта,
| ЕСТЬNULL(КлючиПринципала.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаНоменклатурыПринципала,
| ЕСТЬNULL(АгентскиеУслуги.Принципал, НЕОПРЕДЕЛЕНО) КАК Принципал,
|
| (ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоСделкам И &ОбособленныйУчетТоваровПоСделке
| ТОГДА &Сделка
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ) КАК АналитикаФинансовогоУчета,
| (ВЫБОР
| КОГДА ТаблицаРасхождения.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И &НалогообложениеНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПроизводствоСДЦ))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ &НалогообложениеНДС
| КОНЕЦ) КАК ВидДеятельностиНДС,
| ТаблицаРасхождения.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаРасхождения.Подразделение КАК Подразделение,
| ТаблицаРасхождения.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаРасхождения.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаРасхождения.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА СправочникНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ЕСТЬNULL(СправочникНоменклатуры.ПрослеживаемыйТовар, ЛОЖЬ)
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ ЭтоПрослеживаемаяРабота
|
|ПОМЕСТИТЬ ВтРасхожденияРаботыУслуги
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТаблицаРасхождения
| ЛЕВОЕ СОЕДИНЕНИЕ ВтАгентскиеУслуги КАК АгентскиеУслуги
| ПО ТаблицаРасхождения.Номенклатура = АгентскиеУслуги.Номенклатура
| И ТаблицаРасхождения.Характеристика = АгентскиеУслуги.Характеристика
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиПринципала
| ПО КлючиПринципала.Номенклатура = ТаблицаРасхождения.Номенклатура
| И КлючиПринципала.Характеристика = ТаблицаРасхождения.Характеристика
| И КлючиПринципала.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| И КлючиПринципала.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| И КлючиПринципала.МестоХранения = АгентскиеУслуги.Принципал
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = КлючиПринципала.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО
| ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаРасхождения.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Расхождения""
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = ТаблицаРасхождения.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаРасхождения.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Номенклатура КАК СправочникНоменклатуры
| ПО СправочникНоменклатуры.Ссылка = ТаблицаРасхождения.Номенклатура
|
|ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И (СправочникНоменклатуры.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка))
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ВыручкаИСебестоимостьПродаж";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовСписание", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасовКорректировкаВыручки", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасовКорректировкаВыручки(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРасхожденияРаботыУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтРасхожденияРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаАналитикаУчетаПоПартнерам(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Подразделение КАК Подразделение,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
|
| ВЫБОР КОГДА &ПродажаПоЗаказам ТОГДА
| ТаблицаВидыЗапасов.ЗаказКлиента
| ИНАЧЕ
| &ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
| (ВЫБОР
| КОГДА &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцу2_5)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга)
| ИНАЧЕ ТаблицаВидыЗапасов.ТипЗапасов КОНЕЦ) КАК ТипЗапасов,
| (ВЫБОР
| КОГДА &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцу2_5)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасов КОНЕЦ) КАК ВидЗапасов,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Договор.ТипДоговора, НЕОПРЕДЕЛЕНО) В (ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.СПокупателем),
| ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.РеализацияЧерезКомиссионера))
| И ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссиюВПути)
| КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Договор.ТипДоговора, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.РеализацияЧерезКомиссионера)
| И ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеНаКомиссиюВПути)
| КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Договор.ТипДоговора, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.СПокупателем)
| И ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыВПути)
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов В
| (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаОтветхранение)
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| КОГДА ТаблицаВидыЗапасов.ЦеховаяКладовая
| ИЛИ ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Работа)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОГДА &ХозОперацияОснования В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеНаКомиссию)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах)
| КОНЕЦ КАК РазделУчета,
| ТаблицаВидыЗапасов.АналитикаФинансовогоУчета КАК АналитикаФинансовогоУчета,
| ВЫБОР
| КОГДА &ПартионныйУчетВерсии22
| И &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидДеятельностиНДС,
|
| &Менеджер КАК Менеджер,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельностиНоменклатуры,
|
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК Стоимость,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| ТаблицаВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СтоимостьБезНДС,
| (ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СтоимостьУпр,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| ТаблицаВидыЗапасов.СуммаБезНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК СуммаВыручки,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СуммаВыручкиБезНДС,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СуммаВыручкиРегл,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.НДСРегл КАК СуммаВыручкиСНДСРегл,
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
| ТаблицаВидыЗапасов.Склад КАК Склад,
| ВЫБОР КОГДА &РеализацияЧерезКомиссионера
| ТОГДА &КлиентДоговор
| ИНАЧЕ &Договор
| КОНЕЦ КАК Договор,
| &Соглашение КАК Соглашение,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов - ТаблицаВидыЗапасов.СуммаНДСВзаиморасчетов КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
| ТаблицаВидыЗапасов.СуммаАкцизаРегл КАК СуммаАкцизаРегл,
| ТаблицаВидыЗапасов.СуммаАкцизаУпр КАК СуммаАкцизаУпр,
|
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА &РеализацияЧерезКомиссионера
| ТОГДА &ХозОперацияОснования
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| КОНЕЦ КАК ХозяйственнаяОперация,
|
| ВЫБОР КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасов
| ИНАЧЕ
| ТаблицаВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК Партия
|
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
|ГДЕ
| НЕ ТаблицаВидыЗапасов.НаДоходыРасходы
| И (ЕСТЬNULL(ТаблицаВидыЗапасов.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ &ВернутьМногооборотнуюТару)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Подразделение КАК Подразделение,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаРасхождения.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
|
| ВЫБОР КОГДА &ПродажаПоЗаказам ТОГДА
| ТаблицаРасхождения.ЗаказКлиента
| ИНАЧЕ
| &ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
|
| ВЫБОР
| КОГДА ТаблицаРасхождения.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.АгентскаяУслуга)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга)
| КОНЕЦ КАК ТипЗапасов,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
|
| (ВЫБОР
| КОГДА ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПустаяСсылка) КОНЕЦ) КАК РазделУчета,
| ТаблицаРасхождения.АналитикаФинансовогоУчета КАК АналитикаФинансовогоУчета,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| &Менеджер КАК Менеджер,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельностиНоменклатуры,
|
| (ВЫБОР
| КОГДА ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ТОГДА 0
| КОГДА ТаблицаРасхождения.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ТаблицаРасхождения.СуммаСНДСУпр
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ТаблицаРасхождения.Себестоимость
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА ТаблицаРасхождения.СуммаСНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК Стоимость,
| (ВЫБОР
| КОГДА ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ТОГДА 0
| КОГДА ТаблицаРасхождения.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ТаблицаРасхождения.СуммаБезНДСУпр
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ТаблицаРасхождения.СебестоимостьБезНДС
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА ТаблицаРасхождения.СуммаБезНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СтоимостьБезНДС,
| (ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций
| ТОГДА 0
| КОГДА ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ТОГДА 0
| КОГДА ТаблицаРасхождения.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ТаблицаРасхождения.СуммаБезНДСУпр
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ТаблицаРасхождения.СебестоимостьБезНДС
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| И ТаблицаРасхождения.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ТаблицаРасхождения.СуммаСНДСУпр
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА ТаблицаРасхождения.СуммаБезНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СтоимостьУпр,
| (ВЫБОР
| КОГДА ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ТОГДА 0
| КОГДА ТаблицаРасхождения.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ТаблицаРасхождения.СуммаБезНДСРегл
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ТаблицаРасхождения.СебестоимостьРегл
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| И ТаблицаРасхождения.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ТаблицаРасхождения.СуммаСНДСРегл
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА ТаблицаРасхождения.СуммаБезНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СтоимостьРегл,
| (ВЫБОР
| КОГДА ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ТОГДА 0
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ТаблицаРасхождения.СебестоимостьПР
| ИНАЧЕ 0 КОНЕЦ) КАК ПостояннаяРазница,
| (ВЫБОР
| КОГДА ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ТОГДА 0
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ТаблицаРасхождения.СебестоимостьВР
| ИНАЧЕ 0 КОНЕЦ) КАК ВременнаяРазница,
|
| ТаблицаРасхождения.Количество КАК Количество,
| ТаблицаРасхождения.СуммаСНДСУпр КАК СуммаВыручки,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаВыручкиБезНДС,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СуммаВыручкиРегл,
| ТаблицаРасхождения.СуммаБезНДСРегл + ТаблицаРасхождения.НДСРегл КАК СуммаВыручкиСНДСРегл,
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
| ТаблицаРасхождения.Склад КАК Склад,
| ВЫБОР КОГДА &РеализацияЧерезКомиссионера
| ТОГДА &КлиентДоговор
| ИНАЧЕ &Договор
| КОНЕЦ КАК Договор,
| &Соглашение КАК Соглашение,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаРасхождения.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаРасхождения.СуммаВзаиморасчетов - ТаблицаРасхождения.СуммаНДСВзаиморасчетов КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| ТаблицаРасхождения.СуммаСНДС КАК СуммаВВалютеДокумента,
| ТаблицаРасхождения.СуммаСНДС - ТаблицаРасхождения.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
| 0 КАК СуммаАкцизаРегл,
| 0 КАК СуммаАкцизаУпр,
|
| ТаблицаРасхождения.ВидДеятельностиНДС КАК НалогообложениеНДС,
|
| ВЫБОР
| КОГДА &РеализацияЧерезКомиссионера И &КорректировкаПрошлогоПериода И ТаблицаРасхождения.Количество < 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровЧерезКомиссионераПрошлыхПериодов)
| КОГДА &РеализацияЧерезКомиссионера
| ТОГДА &ХозОперацияОснования
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаДоВводаОстатков)
| КОГДА &КорректировкаПрошлогоПериода И ТаблицаРасхождения.Количество < 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| КОГДА ТаблицаРасхождения.Количество < 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| КОНЕЦ КАК ХозяйственнаяОперация,
|
| ТаблицаРасхождения.Номенклатура КАК ИсточникГФУНоменклатуры,
| ТаблицаРасхождения.ОбъектРасчетов КАК ИсточникГФУРасчетов,
|
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| (ВЫБОР
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаДоВводаОстатков)
| ИНАЧЕ &НастройкаХозяйственнойОперации КОНЕЦ) КАК НастройкаХозяйственнойОперации,
| ВЫБОР
| КОГДА &ПартионныйУчетВерсии22
| И ТаблицаРасхождения.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА ТаблицаРасхождения.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаУчетаПартий,
| ВЫБОР
| КОГДА &ПартионныйУчетВерсии22
| И ТаблицаРасхождения.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА &Ссылка
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Партия
|ИЗ
| ВтРасхожденияРаботыУслуги КАК ТаблицаРасхождения
|ГДЕ
| НЕ ТаблицаРасхождения.НаДоходыРасходы
| И НЕ (ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаРасхождения.ПрослеживаемыйТовар)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Подразделение КАК Подразделение,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаРеализации
| ИНАЧЕ ВидыЗапасов.АналитикаРеализацииБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА &ПродажаПоЗаказам ТОГДА
| ВидыЗапасов.ЗаказКлиента
| ИНАЧЕ
| &ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
|
| (ВЫБОР
| КОГДА &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцу2_5)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга)
| ИНАЧЕ ВидыЗапасов.ТипЗапасов КОНЕЦ) КАК ТипЗапасов,
| (ВЫБОР
| КОГДА &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцу2_5)
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ВидыЗапасов.ВидЗапасовОтгрузки <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) ТОГДА
| ВидыЗапасов.ВидЗапасовОтгрузки
| ИНАЧЕ ВидыЗапасов.ВидЗапасов КОНЕЦ) КАК ВидЗапасов,
|
| (ВЫБОР
| КОГДА ЕСТЬNULL(ВидыЗапасов.АналитикаУчетаНоменклатуры.Договор.ТипДоговора, НЕОПРЕДЕЛЕНО) В (ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.СПокупателем),
| ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.РеализацияЧерезКомиссионера))
| И ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссиюВПути)
| КОГДА ЕСТЬNULL(ВидыЗапасов.АналитикаУчетаНоменклатуры.Договор.ТипДоговора, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.РеализацияЧерезКомиссионера)
| И ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеНаКомиссиюВПути)
| КОГДА ЕСТЬNULL(ВидыЗапасов.АналитикаУчетаНоменклатуры.Договор.ТипДоговора, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.СПокупателем)
| И ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыВПути)
| КОГДА ВидыЗапасов.ТипЗапасов В
| (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаОтветхранение)
| КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| КОГДА ВидыЗапасов.ЦеховаяКладовая
| ИЛИ ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Работа)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОГДА &ХозОперацияОснования В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеНаКомиссию)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах) КОНЕЦ) КАК РазделУчета,
| ВидыЗапасов.АналитикаФинансовогоУчета КАК АналитикаФинансовогоУчета,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| &Менеджер КАК Менеджер,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаРеализации.Назначение.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельностиНоменклатуры,
|
| (ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА -ВидыЗапасов.СуммаСНДСУпр
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ВидыЗапасов.Себестоимость
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА -ВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК Стоимость,
| (ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА -ВидыЗапасов.СуммаБезНДСУпр
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ВидыЗапасов.СебестоимостьБезНДС
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА -ВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СтоимостьБезНДС,
| (ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций
| ТОГДА 0
| КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА -ВидыЗапасов.СуммаБезНДСУпр
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ВидыЗапасов.СебестоимостьБезНДС
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| И ВидыЗапасов.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА -ВидыЗапасов.СуммаСНДСУпр
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА -ВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СтоимостьУпр,
| (ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА -ВидыЗапасов.СуммаБезНДСРегл
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ВидыЗапасов.СебестоимостьРегл
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| И ВидыЗапасов.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА -ВидыЗапасов.СуммаСНДСРегл
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА -ВидыЗапасов.СуммаБезНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СтоимостьРегл,
| (ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ВидыЗапасов.СебестоимостьПР
| ИНАЧЕ 0 КОНЕЦ) КАК ПостояннаяРазница,
| (ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ВидыЗапасов.СебестоимостьВР
| ИНАЧЕ 0 КОНЕЦ) КАК ВременнаяРазница,
|
| - ВидыЗапасов.Количество КАК Количество,
| - ВидыЗапасов.СуммаСНДСУпр КАК СуммаВыручки,
| - ВидыЗапасов.СуммаБезНДСУпр КАК СуммаВыручкиБезНДС,
| - ВидыЗапасов.СуммаБезНДСРегл КАК СуммаВыручкиРегл,
| - ВидыЗапасов.СуммаСНДСРегл КАК СуммаВыручкиСНДСРегл,
|
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
| ВидыЗапасов.Склад КАК Склад,
| ВЫБОР КОГДА &РеализацияЧерезКомиссионера
| ТОГДА &КлиентДоговор
| ИНАЧЕ &Договор
| КОНЕЦ КАК Договор,
| &Соглашение КАК Соглашение,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| -ВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| -(ВидыЗапасов.СуммаВзаиморасчетов - ВидыЗапасов.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| -ВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
| -(ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС) КАК СуммаБезНДСВВалютеДокумента,
| -ВидыЗапасов.СуммаАкцизаРегл КАК СуммаАкцизаРегл,
| -ВидыЗапасов.СуммаАкцизаУпр КАК СуммаАкцизаУпр,
|
| ВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА &РеализацияЧерезКомиссионера И &КорректировкаПрошлогоПериода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровЧерезКомиссионераПрошлыхПериодов)
| КОГДА &РеализацияЧерезКомиссионера
| ТОГДА &ХозОперацияОснования
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаДоВводаОстатков)
| КОГДА &КорректировкаПрошлогоПериода
| И (&ДатаПереходаПраваСобственности < НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ &ДатаПереходаПраваСобственности = ДАТАВРЕМЯ(1,1,1)
| ИЛИ НЕ &СреднеСкользящая)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации)
| КОНЕЦ КАК ХозяйственнаяОперация,
|
| ВЫБОР КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета ТОГДА
| ВидыЗапасов.ВидЗапасов
| ИНАЧЕ
| ВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов,
|
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| (ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаДоВводаОстатков)
| КОГДА &КорректировкаПрошлогоПериода
| ТОГДА &НастройкаХозяйственнойОперации
| КОГДА ВидыЗапасов.Склад <> ВидыЗапасов.СкладОтгрузки
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализацииВозвратНаДругойСклад)
| ИНАЧЕ &НастройкаХозяйственнойОперации КОНЕЦ) КАК НастройкаХозяйственнойОперации,
| ВЫБОР
| КОГДА &ПартионныйУчетВерсии22
| И ВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА ВидыЗапасов.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаУчетаПартий,
| ВЫБОР
| КОГДА &ПартионныйУчетВерсии22
| И ВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА &Ссылка
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Партия
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ВидыЗапасов
|
|ГДЕ
| НЕ ВидыЗапасов.НаДоходыРасходы
| И (ЕСТЬNULL(ВидыЗапасов.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ &ВернутьМногооборотнуюТару)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Подразделение КАК Подразделение,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
|
| ВЫБОР КОГДА &ПродажаПоЗаказам ТОГДА
| ТаблицаВидыЗапасов.ЗаказКлиента
| ИНАЧЕ
| &ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
| (ВЫБОР
| КОГДА &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцу2_5)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга)
| ИНАЧЕ ТаблицаВидыЗапасов.ТипЗапасов КОНЕЦ) КАК ТипЗапасов,
| (ВЫБОР
| КОГДА &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцу2_5)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасов КОНЕЦ) КАК ВидЗапасов,
| (ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Договор.ТипДоговора, НЕОПРЕДЕЛЕНО) В (ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.СПокупателем),
| ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.РеализацияЧерезКомиссионера))
| И ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссиюВПути)
| КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Договор.ТипДоговора, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.РеализацияЧерезКомиссионера)
| И ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеНаКомиссиюВПути)
| КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Договор.ТипДоговора, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.СПокупателем)
| И ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыВПути)
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов В
| (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаОтветхранение)
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| КОГДА ТаблицаВидыЗапасов.ЦеховаяКладовая
| ИЛИ ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Работа)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОГДА &ХозОперацияОснования В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеНаКомиссию)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах) КОНЕЦ) КАК РазделУчета,
| ТаблицаВидыЗапасов.АналитикаФинансовогоУчета КАК АналитикаФинансовогоУчета,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| &Менеджер КАК Менеджер,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельностиНоменклатуры,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ
| 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| ТаблицаВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ
| 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| И &УправленческийУчетОрганизаций ТОГДА
| ТаблицаВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ
| 0
| КОНЕЦ КАК СтоимостьУпр,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| ТаблицаВидыЗапасов.СуммаБезНДСРегл
| ИНАЧЕ
| 0
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| 0 КАК Количество,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК СуммаВыручки,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СуммаВыручкиБезНДС,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СуммаВыручкиРегл,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.НДСРегл КАК СуммаВыручкиСНДСРегл,
|
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
| ТаблицаВидыЗапасов.Склад КАК Склад,
| ВЫБОР КОГДА &РеализацияЧерезКомиссионера
| ТОГДА &КлиентДоговор
| ИНАЧЕ &Договор
| КОНЕЦ КАК Договор,
| &Соглашение КАК Соглашение,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов - ТаблицаВидыЗапасов.СуммаНДСВзаиморасчетов КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
| 0 КАК СуммаАкцизаРегл,
| 0 КАК СуммаАкцизаУпр,
|
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА &РеализацияЧерезКомиссионера
| ТОГДА &ХозОперацияОснования
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| КОНЕЦ КАК ХозяйственнаяОперация,
|
| ВЫБОР КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасов
| ИНАЧЕ
| ТаблицаВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК Партия
|
|ИЗ
| ВтВидыЗапасовКорректировкаВыручки КАК ТаблицаВидыЗапасов
|
|ГДЕ
| (ТаблицаВидыЗапасов.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ (ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) И НЕ &ВернутьМногооборотнуюТару)
| ИЛИ ТаблицаВидыЗапасов.ТипНоменклатуры ЕСТЬ NULL)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры)
#Область ГруппировкаРасхождений
Если ПроведениеДокументов.ТребуетсяТаблицаДляДвижений("РасчетыСКлиентами", Регистры) Тогда
ТекстСгруппированныеРасхождения =
"ВЫБРАТЬ
| ШапкаДокумента.Ссылка КАК Ссылка,
| ШапкаДокумента.Дата КАК ДатаРегистратора,
| ШапкаДокумента.Номер КАК НомерРегистратора,
| ШапкаДокумента.Организация КАК Организация,
| ШапкаДокумента.ДокументОснование КАК СвязанныйДокумент,
| ВЫБОР
| КОГДА &ХозОперацияОснования В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| И &ВестиРасчетыЧерезКонечныхПокупателей
| ТОГДА ШапкаДокумента.КлиентПартнер
| ИНАЧЕ ШапкаДокумента.Партнер
| КОНЕЦ КАК Партнер,
| ШапкаДокумента.ДатаПлатежа КАК ДатаПлатежа,
| ШапкаДокумента.ДокументОснование.Дата КАК ДатаКурса,
| ШапкаДокумента.ПродажаПоЗаказам КАК НакладнаяПоЗаказам,
| ШапкаДокумента.ПорядокРасчетов КАК ПорядокРасчетов,
| ШапкаДокумента.Валюта КАК ВалютаДокумента,
| ШапкаДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ШапкаДокумента.ФормаОплаты КАК ФормаОплаты,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.ЗаказКлиента КАК ЗаказПродажи,
| Таблица.Номенклатура КАК Номенклатура,
| СУММА(Таблица.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| СУММА(Таблица.СуммаСНДС) КАК СуммаСНДС
|ПОМЕСТИТЬ ВтСгруппированныеРасхождения
|ИЗ
| Документ.КорректировкаРеализации КАК ШапкаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Расхождения КАК Таблица
| ПО ШапкаДокумента.Ссылка = Таблица.Ссылка
|ГДЕ
| ШапкаДокумента.Ссылка В (&Ссылка)
| И ШапкаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
|СГРУППИРОВАТЬ ПО
| ШапкаДокумента.Ссылка,
| ШапкаДокумента.ДатаПлатежа,
| ШапкаДокумента.Организация,
| ВЫБОР
| КОГДА &ХозОперацияОснования В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| И &ВестиРасчетыЧерезКонечныхПокупателей
| ТОГДА ШапкаДокумента.КлиентПартнер
| ИНАЧЕ ШапкаДокумента.Партнер
| КОНЕЦ,
| ШапкаДокумента.ПродажаПоЗаказам,
| ШапкаДокумента.ПорядокРасчетов,
| ШапкаДокумента.Дата,
| ШапкаДокумента.Номер,
| ШапкаДокумента.ВалютаВзаиморасчетов,
| ШапкаДокумента.ДокументОснование.Дата,
| ШапкаДокумента.Валюта,
| ШапкаДокумента.ДокументОснование,
| ШапкаДокумента.ФормаОплаты,
| Таблица.ОбъектРасчетов,
| Таблица.ЗаказКлиента,
| Таблица.Номенклатура
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ШапкаДокумента.Ссылка КАК Ссылка,
| ШапкаДокумента.Дата КАК ДатаРегистратора,
| ШапкаДокумента.Номер КАК НомерРегистратора,
| ШапкаДокумента.Организация КАК Организация,
| ШапкаДокумента.ДокументОснование КАК СвязанныйДокумент,
| ВЫБОР
| КОГДА &ХозОперацияОснования В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| И &ВестиРасчетыЧерезКонечныхПокупателей
| ТОГДА ШапкаДокумента.КлиентПартнер
| ИНАЧЕ ШапкаДокумента.Партнер
| КОНЕЦ КАК Партнер,
| ШапкаДокумента.ДатаПлатежа КАК ДатаПлатежа,
| ШапкаДокумента.ДокументОснование.Дата КАК ДатаКурса,
| ШапкаДокумента.ПродажаПоЗаказам КАК НакладнаяПоЗаказам,
| ШапкаДокумента.ПорядокРасчетов КАК ПорядокРасчетов,
| ШапкаДокумента.Валюта КАК ВалютаДокумента,
| ШапкаДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ШапкаДокумента.ФормаОплаты КАК ФормаОплаты,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.ЗаказКлиента КАК ЗаказПродажи,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Таблица.СуммаСНДС КАК СуммаСНДС
|ИЗ
| Документ.КорректировкаРеализации КАК ШапкаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Расхождения КАК Таблица
| ПО ШапкаДокумента.Ссылка = Таблица.Ссылка
|ГДЕ
| ШапкаДокумента.Ссылка В (&Ссылка)
| И ШапкаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)";
ТекстыЗапроса.Добавить(ТекстСгруппированныеРасхождения);
КонецЕсли;
#КонецОбласти
#Область КурсыВалютДокумента
ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";
ТекстЗапросаКурсыВалютДокумента =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.ДокументОснование.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)";
ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента);
ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
#КонецОбласти
#Область РасхожденияВПлюс
#Область Продажа
ТекстПродажа =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
| Таблица.ЗаказПродажи КАК ЗаказПродажи,
| Таблица.НакладнаяПоЗаказам КАК НакладнаяПоЗаказам,
| ВЫБОР КОГДА ТаблицаНоменклатуры.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ ВЫБОР КОГДА Таблица.СвязанныйДокумент ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА Таблица.СвязанныйДокумент.ВернутьМногооборотнуюТару
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| ИЛИ ВЫБОР КОГДА Таблица.СвязанныйДокумент ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА Таблица.СвязанныйДокумент.ТребуетсяЗалогЗаТару
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| ТОГДА Таблица.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ВЫБОР КОГДА ТаблицаНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ВЫБОР КОГДА Таблица.СвязанныйДокумент ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА Таблица.СвязанныйДокумент.ТребуетсяЗалогЗаТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ТОГДА Таблица.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетовПоТаре,
| Таблица.СуммаСНДС КАК Сумма,
| Таблица.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.ДатаРегистратора КАК ДатаРегистратора,
| Таблица.НомерРегистратора КАК НомерРегистратора,
| Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Таблица.ДатаКурса КАК ДатаКурса,
| Таблица.ВалютаДокумента КАК ВалютаДокумента,
| Неопределено КАК ВариантОплаты,
| ИСТИНА КАК СверхЗаказа,
| Таблица.СвязанныйДокумент КАК СвязанныйДокумент
|ИЗ
| ВтСгруппированныеРасхождения КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ТаблицаНоменклатуры
| ПО Таблица.Номенклатура = ТаблицаНоменклатуры.Ссылка
|ГДЕ
| Таблица.СуммаСНДС > 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| ВЫБОР КОГДА &ХозОперацияОснования В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| И &ВестиРасчетыЧерезКонечныхПокупателей
| ТОГДА Таблица.Ссылка.КлиентПартнер
| ИНАЧЕ Таблица.Ссылка.Партнер
| КОНЕЦ КАК Партнер,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Ссылка.ДатаПлатежа КАК ДатаПлатежа,
| НЕОПРЕДЕЛЕНО КАК ЗаказПродажи,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
| Таблица.СуммаКорректировки КАК Сумма,
|
| Таблица.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Неопределено КАК ВариантОплаты,
| ЛОЖЬ КАК СверхЗаказа,
| НЕОПРЕДЕЛЕНО КАК СвязанныйДокумент
|ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно)";
#КонецОбласти
#Область УвеличениеПланаОплат
ТекстПланированиеОплат =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.ДатаРегистратора КАК ДатаРегистратора,
| Таблица.НомерРегистратора КАК НомерРегистратора,
| Таблица.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.ВалютаДокумента КАК ВалютаДокумента,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Таблица.ФормаОплаты КАК ФормаОплаты,
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
| НЕОПРЕДЕЛЕНО КАК ВариантОплаты,
| Таблица.СуммаВзаиморасчетов КАК КОплате,
| ИСТИНА КАК ИсключатьПриКонтроле,
| Таблица.НакладнаяПоЗаказам КАК НакладнаяПоЗаказам,
| Таблица.ЗаказПродажи КАК ЗаказПродажи,
| ИСТИНА КАК СверхЗаказа,
| Таблица.СвязанныйДокумент КАК СвязанныйДокумент
|ИЗ
| ВтСгруппированныеРасхождения КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ТаблицаНоменклатуры
| ПО Таблица.Номенклатура = ТаблицаНоменклатуры.Ссылка
|ГДЕ
| Таблица.СуммаСНДС > 0
| И (ТаблицаНоменклатуры.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ ТаблицаНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ВЫБОР КОГДА Таблица.СвязанныйДокумент ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА Таблица.СвязанныйДокумент.ТребуетсяЗалогЗаТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЛИ НЕ ВЫБОР КОГДА Таблица.СвязанныйДокумент ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА Таблица.СвязанныйДокумент.ВернутьМногооборотнуюТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЛИ ТаблицаНоменклатуры.ТипНоменклатуры ЕСТЬ NULL)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| ВЫБОР КОГДА &ХозОперацияОснования В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| И &ВестиРасчетыЧерезКонечныхПокупателей
| ТОГДА Таблица.Ссылка.КлиентПартнер
| ИНАЧЕ Таблица.Ссылка.Партнер
| КОНЕЦ КАК Партнер,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| Таблица.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Таблица.Ссылка.ФормаОплаты КАК ФормаОплаты,
|
| Таблица.Ссылка.ДатаПлатежа КАК ДатаПлатежа,
| Неопределено КАК ВариантОплаты,
| Таблица.СуммаВзаиморасчетов КАК КОплате,
|
| ИСТИНА КАК ИсключатьПриКонтроле,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| НЕОПРЕДЕЛЕНО КАК ЗаказПродажи,
| ИСТИНА КАК СверхЗаказа,
| НЕОПРЕДЕЛЕНО КАК СвязанныйДокумент
|
|ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно)";
#КонецОбласти
ВзаиморасчетыСервер.ПроведениеПродажи(Запрос, ТекстыЗапроса, Регистры, ТекстПродажа, ТекстПланированиеОплат);
#КонецОбласти
#Область РасхожденияВМинус
ТекстОплата =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
| Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| -Таблица.СуммаСНДС КАК Сумма,
| -Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК УвеличениеОплачивается,
| 0 КАК УменьшениеОплачивается,
| Таблица.ДатаРегистратора КАК ДатаРегистратора,
| Таблица.ДатаКурса КАК ДатаКурса,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаПогашения,
| Таблица.НомерРегистратора КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Таблица.ФормаОплаты КАК ФормаОплаты,
| НЕОПРЕДЕЛЕНО КАК СтатьяДвиженияДенежныхСредств,
| НЕОПРЕДЕЛЕНО КАК СчетНаОплату,
| Таблица.ВалютаДокумента КАК ВалютаДокумента,
| Таблица.СвязанныйДокумент КАК СвязанныйДокумент,
| Таблица.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПустаяСсылка) КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтСгруппированныеРасхождения КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ТаблицаНоменклатуры
| ПО Таблица.Номенклатура = ТаблицаНоменклатуры.Ссылка
|ГДЕ
| Таблица.СуммаСНДС < 0
| И (ТаблицаНоменклатуры.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ ТаблицаНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ВЫБОР КОГДА Таблица.СвязанныйДокумент ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА Таблица.СвязанныйДокумент.ТребуетсяЗалогЗаТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЛИ НЕ ВЫБОР КОГДА Таблица.СвязанныйДокумент ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА Таблица.СвязанныйДокумент.ВернутьМногооборотнуюТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЛИ ТаблицаНоменклатуры.ТипНоменклатуры ЕСТЬ NULL)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| ВЫБОР КОГДА &ХозОперацияОснования В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| И &ВестиРасчетыЧерезКонечныхПокупателей
| ТОГДА Таблица.Ссылка.КлиентПартнер
| ИНАЧЕ Таблица.Ссылка.Партнер
| КОНЕЦ КАК Партнер,
|
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
|
| Таблица.СуммаКорректировки КАК Сумма,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК УвеличениеОплачивается,
| 0 КАК УменьшениеОплачивается,
|
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаПогашения,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Таблица.Ссылка.ФормаОплаты КАК ФормаОплаты,
| Неопределено КАК СтатьяДвиженияДенежныхСредств,
| Неопределено КАК СчетНаОплату,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| НЕОПРЕДЕЛЕНО КАК СвязанныйДокумент,
| Таблица.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПустаяСсылка) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииУменьшениеЗадолженностиСводно)";
ВзаиморасчетыСервер.ПроведениеОплатыОтКлиента(Запрос, ТекстыЗапроса, Регистры, ТекстОплата, "3");
#КонецОбласти
КонецПроцедуры
Функция ТекстЗапросаТаблицаПрочиеДоходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеДоходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовСписание", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхождения", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхождения(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаКорректировкаЗадолженности", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодразделениеДоходы КАК Подразделение,
| ВЫБОР
| КОГДА
| ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА
| ТаблицаВидыЗапасов.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| &СтатьяДоходов КАК СтатьяДоходов,
| &АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Сумма,
| (ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаУпр,
| (ВЫБОР
| КОГДА &ИспользоватьУчетПрочихДоходовРасходовРегл
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаРегл,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
|
| ТаблицаВидыЗапасов.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаЗадолженности) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.НаДоходыРасходы
| И &ИспользоватьУчетПрочихДоходовРасходов
| И ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодразделениеДоходы КАК Подразделение,
| ВЫБОР
| КОГДА
| ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА
| ТаблицаВидыЗапасов.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| &СтатьяДоходов КАК СтатьяДоходов,
| &АналитикаДоходов КАК АналитикаДоходов,
| 0 КАК Сумма,
| (ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА ТаблицаВидыЗапасов.НДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаУпр,
| (ВЫБОР
| КОГДА &ИспользоватьУчетПрочихДоходовРасходовРегл
| ТОГДА ТаблицаВидыЗапасов.НДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаРегл,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.НаДоходыРасходы
| И &ИспользоватьУчетПрочихДоходовРасходов
| И ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодразделениеДоходы КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &СтатьяДоходов КАК СтатьяДоходов,
| &АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаРасхождения.СуммаСНДСУпр КАК Сумма,
| (ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА ТаблицаРасхождения.СуммаСНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаУпр,
| (ВЫБОР
| КОГДА &ИспользоватьУчетПрочихДоходовРасходовРегл
| ТОГДА ТаблицаРасхождения.СуммаСНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаРегл,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
|
| ТаблицаРасхождения.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаЗадолженности) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаРасхождения КАК ТаблицаРасхождения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаРасхождения.Ссылка
|ГДЕ
| ТаблицаРасхождения.НаДоходы
| И &ИспользоватьУчетПрочихДоходовРасходов
| И (ВЫБОР
| КОГДА &ЭтоКорректировкаРеализацииУслугПрочихАктивов ТОГДА
| НАЧАЛОПЕРИОДА(ДанныеДокумента.Дата, ГОД) <> НАЧАЛОПЕРИОДА(ДанныеДокумента.ДокументОснование.Дата, ГОД)
| ИНАЧЕ ИСТИНА КОНЕЦ)
| И НЕ ЕСТЬNULL(ТаблицаРасхождения.Номенклатура.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТаблицаРасхождения.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодразделениеДоходы КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &СтатьяДоходов КАК СтатьяДоходов,
| &АналитикаДоходов КАК АналитикаДоходов,
| 0 КАК Сумма,
| (ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА ТаблицаРасхождения.НДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаУпр,
| (ВЫБОР
| КОГДА &ИспользоватьУчетПрочихДоходовРасходовРегл
| ТОГДА ТаблицаРасхождения.НДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаРегл,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
|
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаРасхождения КАК ТаблицаРасхождения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаРасхождения.Ссылка
|ГДЕ
| ТаблицаРасхождения.НаДоходы
| И &ИспользоватьУчетПрочихДоходовРасходов
| И (ВЫБОР
| КОГДА &ЭтоКорректировкаРеализацииУслугПрочихАктивов ТОГДА
| НАЧАЛОПЕРИОДА(ДанныеДокумента.Дата, ГОД) <> НАЧАЛОПЕРИОДА(ДанныеДокумента.ДокументОснование.Дата, ГОД)
| ИНАЧЕ ИСТИНА КОНЕЦ)
| И НЕ ЕСТЬNULL(ТаблицаРасхождения.Номенклатура.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И НЕ ТаблицаРасхождения.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| КорректировкаЗадолженности.Подразделение КАК Подразделение,
| КорректировкаЗадолженности.НаправлениеДеятельности КАК НаправлениеДеятельности,
| КорректировкаЗадолженности.СтатьяДоходов КАК СтатьяДоходов,
| КорректировкаЗадолженности.АналитикаДоходов КАК АналитикаДоходов,
| КорректировкаЗадолженности.СуммаСНДСУпр КАК Сумма,
| (ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА КорректировкаЗадолженности.СуммаСНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаУпр,
| (ВЫБОР
| КОГДА &ИспользоватьУчетПрочихДоходовРасходовРегл
| ТОГДА КорректировкаЗадолженности.СуммаСНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаРегл,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
|
| КорректировкаЗадолженности.УникальныйИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаЗадолженности) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаДоходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| КорректировкаЗадолженности.Подразделение КАК Подразделение,
| КорректировкаЗадолженности.НаправлениеДеятельности КАК НаправлениеДеятельности,
| КорректировкаЗадолженности.СтатьяДоходов КАК СтатьяДоходов,
| КорректировкаЗадолженности.АналитикаДоходов КАК АналитикаДоходов,
| 0 КАК Сумма,
| (ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА КорректировкаЗадолженности.НДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаУпр,
| (ВЫБОР
| КОГДА &ИспользоватьУчетПрочихДоходовРасходовРегл
| ТОГДА КорректировкаЗадолженности.НДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаРегл,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаДоходы
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОтразитьПрочуюВыручку(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочаяВыручка";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхождения", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхождения(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстПрочаяВыручка =
"ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &Подразделение КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК ФизическоеЛицо,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫБОР КОГДА ТаблицаДоходы.Количество < 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаДоходы.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаДоходы.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаДоходы.Количество КАК Количество,
| ТаблицаДоходы.СуммаБезНДСУпр КАК ВыручкаБезНДСУпр,
| ТаблицаДоходы.СуммаБезНДСРегл КАК ВыручкаБезНДСРегл,
| ТаблицаДоходы.СуммаСНДСУпр - ТаблицаДоходы.СуммаБезНДСУпр КАК НДСУпр,
| ТаблицаДоходы.НДСРегл КАК НДСРегл,
| ТаблицаДоходы.СтавкаНДС КАК СтавкаНДС,
| &НалогообложениеНДС КАК НалогообложениеНДС,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаДоходы.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаДоходы.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаДоходы.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаРасхождения КАК ТаблицаДоходы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДоходы.Ссылка
|ГДЕ
| ТаблицаДоходы.НаДоходы
| И &ЭтоКорректировкаРеализацииУслугПрочихАктивов
| И НАЧАЛОПЕРИОДА(ДанныеДокумента.Дата, ГОД) = НАЧАЛОПЕРИОДА(ДанныеДокумента.ДокументОснование.Дата, ГОД)
|";
ДоходыИРасходыСервер.ОтразитьПрочуюВыручку(Запрос, ТекстыЗапроса, Регистры, ТекстПрочаяВыручка);
КонецПроцедуры
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов();
ТекстЗапроса = ТекстЗапроса + "ОБЪЕДИНИТЬ ВСЕ" + "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка) КАК СтатьяРасходов,
| &АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА &НалогообложениеНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидДеятельностиНДС,
|
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА ТаблицаВидыЗапасов.НДСУпр
| ИНАЧЕ 0 КОНЕЦ КАК НДСУпр,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| ТаблицаВидыЗапасов.НДСРегл КАК НДСРегл,
|
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.НаДоходыРасходы
| И &ВариантРаздельногоУчетаНДС = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
| И &ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаПрочиеАктивы)
| И &ИспользоватьУчетПрочихДоходовРасходов
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "МатериалыИРаботыВПроизводстве";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРасхожденияРаботыУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтРасхожденияРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| Работы.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Организация КАК Организация,
| Работы.Подразделение КАК Подразделение,
| Работы.Номенклатура,
| Работы.Характеристика,
| Работы.АналитикаУчетаНоменклатуры,
| Работы.Количество,
| Работы.Назначение,
| ВЫБОР
| КОГДА &НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНаЭкспорт)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭкспортСырьевыхТоваровУслуг)
| ИНАЧЕ &НалогообложениеНДС
| КОНЕЦ КАК НалогообложениеНДС
|ИЗ
| ВтРасхожденияРаботыУслуги КАК Работы
|ГДЕ
| НЕ Работы.НаДоходыРасходы
| И Работы.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И Работы.Количество <> 0
| И НЕ Работы.ПрослеживаемыйТовар
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецФункции
Процедура СформироватьВТСуммыДокументаВВалютахУчета(Запрос) Экспорт
Если Запрос.МенеджерВременныхТаблиц.Таблицы.Найти("ТаблицаДанныхДокументов") = Неопределено Тогда
СформироватьПустуюВТСуммыДокументаВВалютахУчета(Запрос);
Возврат;
КонецЕсли;
ЗапросВыборкиДокументов = Новый Запрос();
ЗапросВыборкиДокументов.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ТаблицаДокументов.Ссылка КАК Ссылка
|ИЗ
| ТаблицаДанныхДокументов КАК ТаблицаДокументов
|ГДЕ
| ТаблицаДокументов.Ссылка ССЫЛКА Документ.КорректировкаРеализации
| И ВЫРАЗИТЬ(ТаблицаДокументов.Ссылка КАК Документ.КорректировкаРеализации).ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| )
|";
ЗапросВыборкиДокументов.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
Выборка = ЗапросВыборкиДокументов.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЗапросДляПолученияВтСуммДокументов = Новый Запрос();
ТекстыЗапроса = Новый СписокЗначений;
ЗаполнитьПараметрыИнициализации(ЗапросДляПолученияВтСуммДокументов, Выборка.Ссылка);
ЗапросДляПолученияВтСуммДокументов.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
СформироватьСуммыДокументаВВалютахУчета(ЗапросДляПолученияВтСуммДокументов, ТекстыЗапроса, Неопределено, Истина);
Иначе
СформироватьПустуюВТСуммыДокументаВВалютахУчета(Запрос);
КонецЕсли;
КонецПроцедуры
Процедура СформироватьПустуюВТСуммыДокументаВВалютахУчета(Запрос)
ЗапросФормированияПустойВТ = Новый Запрос();
ЗапросФормированияПустойВТ.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросФормированияПустойВТ.Текст =
"ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| НЕОПРЕДЕЛЕНО КАК Активность,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаНДСРегл
|ПОМЕСТИТЬ ВТСуммыДокументовВВалютахУчета";
ЗапросФормированияПустойВТ.Выполнить();
КонецПроцедуры
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено, ВключаяТовары = Ложь) Экспорт
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
НеПересчитыватьСуммыНДС = Ложь;
ТекстЗапросаДанных = "
|ВЫБРАТЬ
| ""Расхождения"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| &Ссылка КАК Ссылка,
| &Дата КАК Дата,
| &Организация КАК Организация,
| &Валюта КАК ВалютаДокумента,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| &ПериодБазыНДС КАК ПериодБазыНДС,
| &Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаДокумента.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| ТаблицаДокумента.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаДокумента.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР
| КОГДА &КорректировкаДоВводаОстатковБезНДС
| И ТаблицаДокумента.СуммаБезНДСРегл <> 0
| И ТаблицаДокумента.СуммаБезНДСУпр <> 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И (
| (ТаблицаДокумента.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И НЕ (ТаблицаДокумента.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаДокумента.Номенклатура.ПрослеживаемыйТовар
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров))
|
| ИЛИ Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ВидыЗапасовКорректировкаВыручки"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| &Ссылка КАК Ссылка,
| &Дата КАК Дата,
| &Организация КАК Организация,
| &Валюта КАК ВалютаДокумента,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| &ПериодБазыНДС КАК ПериодБазыНДС,
| &Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаДокумента.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| ТаблицаДокумента.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаДокумента.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
|
| ВЫБОР
| КОГДА ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ВернутьМногооборотнуюТару
| И НЕ &ТребуетсяЗалогЗаТару
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР
| КОГДА &КорректировкаДоВводаОстатковБезНДС
| И ТаблицаДокумента.СуммаБезНДСРегл <> 0
| И ТаблицаДокумента.СуммаБезНДСУпр <> 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ВидыЗапасовКорректировкаВыручки"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| &Ссылка КАК Ссылка,
| &Дата КАК Дата,
| &Организация КАК Организация,
| &Валюта КАК ВалютаДокумента,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| &ПериодБазыНДС КАК ПериодБазыНДС,
| &Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| -(ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| -ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| -ТаблицаДокумента.СуммаНДСРегл КАК СуммаНДСРегл,
| -ТаблицаДокумента.СуммаНДСУпр КАК СуммаНДСУпр,
| -ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| -ТаблицаДокумента.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| -ТаблицаДокумента.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
|
| ВЫБОР
| КОГДА ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ВернутьМногооборотнуюТару
| И НЕ &ТребуетсяЗалогЗаТару
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР
| КОГДА &КорректировкаДоВводаОстатковБезНДС
| И ТаблицаДокумента.СуммаБезНДСРегл <> 0
| И ТаблицаДокумента.СуммаБезНДСУпр <> 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ВидыЗапасовСписание"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| &Ссылка КАК Ссылка,
| &Дата КАК Дата,
| &Организация КАК Организация,
| &Валюта КАК ВалютаДокумента,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| &ПериодБазыНДС КАК ПериодБазыНДС,
| &Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаДокумента.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| ТаблицаДокумента.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаДокумента.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
|
| ВЫБОР
| КОГДА ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ВернутьМногооборотнуюТару
| И НЕ &ТребуетсяЗалогЗаТару
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР
| КОГДА &КорректировкаДоВводаОстатковБезНДС
| И ТаблицаДокумента.СуммаБезНДСРегл <> 0
| И ТаблицаДокумента.СуммаБезНДСУпр <> 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""УменьшениеЗадолженности"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| &Ссылка КАК Ссылка,
| &Дата КАК Дата,
| &Организация КАК Организация,
| &Валюта КАК ВалютаДокумента,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| &Дата КАК ПериодБазыНДС,
| &Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| -(ТаблицаДокумента.СуммаКорректировки - ТаблицаДокумента.СуммаНДСКорректировки) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| -ТаблицаДокумента.СуммаНДСКорректировки КАК СуммаНДС,
| 0 КАК СуммаНДСРегл,
| 0 КАК СуммаНДСУпр,
| -ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииУменьшениеЗадолженностиСводно)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""УвеличениеЗадолженности"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| &Ссылка КАК Ссылка,
| &Дата КАК Дата,
| &Организация КАК Организация,
| &Валюта КАК ВалютаДокумента,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| &Дата КАК ПериодБазыНДС,
| &Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| (ТаблицаДокумента.СуммаКорректировки - ТаблицаДокумента.СуммаНДСКорректировки) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДСКорректировки КАК СуммаНДС,
| 0 КАК СуммаНДСРегл,
| 0 КАК СуммаНДСУпр,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно)
|";
Если ВключаяТовары Тогда
ТекстОбъединить =
"
|ОБЪЕДИНИТЬ ВСЕ
|";
ТекстЗапросаДанныхТовары = "ВЫБРАТЬ
| ""Товары"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| &Ссылка КАК Ссылка,
| &Дата КАК Дата,
| &Организация КАК Организация,
| &Валюта КАК ВалютаДокумента,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| &ПериодБазыНДС КАК ПериодБазыНДС,
| &Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаДокумента.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| ТаблицаДокумента.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаДокумента.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
|
| ЛОЖЬ КАК ОтражаетсяВРасчетах,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| ЛОЖЬ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)";
ТекстЗапросаДанных =
ТекстЗапросаДанных
+ ТекстОбъединить
+ ТекстЗапросаДанныхТовары;
КонецЕсли;
НеПересчитыватьСуммыНДС = (Запрос.Параметры.ХозяйственнаяОперация =
Перечисления.ХозяйственныеОперации.ПереходПраваСобственности);
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных, НеПересчитыватьСуммыНДС);
КонецПроцедуры
Функция ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияКонтрагентДоходыРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхождения", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхождения(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовСписание", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаКорректировкаЗадолженности", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
#Область КорректировкаРеализацииСоСписаниемНаРасходы
КорректировкаРеализацииСоСписаниемНаРасходы =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииСоСписаниемНаРасходы) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ВидКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
| ТОГДА &ПодразделениеРасходы
| ИНАЧЕ &Подразделение
| КОНЕЦ КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР
| КОГДА
| ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА
| ТаблицаВидыЗапасов.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| &СтатьяРасходов КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| &АналитикаРасходов КАК АналитикаРасходов,
|
| -ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Сумма,
| -ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СуммаБезНДС,
| -ТаблицаВидыЗапасов.СуммаБезНДСРегл - ТаблицаВидыЗапасов.НДСРегл КАК СуммаРегл,
| -ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| -ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалюте,
| -ТаблицаВидыЗапасов.СуммаСНДС + ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| -ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеВзаиморасчетов,
| -ТаблицаВидыЗапасов.СуммаСНДС + ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВтТаблицаРасхождения КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.НаРасходы
| И ТаблицаВидыЗапасов.СуммаСНДСУпр <> 0
| И НЕ ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииСоСписаниемНаРасходы) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ВидКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
| ТОГДА &ПодразделениеРасходы
| ИНАЧЕ &Подразделение
| КОНЕЦ КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР
| КОГДА
| ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА
| ТаблицаВидыЗапасов.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| &СтатьяРасходов КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| &АналитикаРасходов КАК АналитикаРасходов,
|
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Сумма,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СуммаБезНДС,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл - ТаблицаВидыЗапасов.НДСРегл КАК СуммаРегл,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалюте,
| ТаблицаВидыЗапасов.СуммаСНДС + ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаСНДС + ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.НаДоходыРасходы
| И ТаблицаВидыЗапасов.СуммаСНДСУпр <> 0
|";
#КонецОбласти
#Область КорректировкаРеализацииСОтражениемНаПрочихДоходах
КорректировкаРеализацииСОтражениемНаПрочихДоходах =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииСОтражениемНаПрочихДоходах) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ВидКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
| ТОГДА &ПодразделениеДоходы
| ИНАЧЕ &Подразделение
| КОНЕЦ КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР
| КОГДА
| ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА
| ТаблицаВидыЗапасов.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ВЫБОР
| КОГДА
| &ЭтоКорректировкаРеализацииУслугПрочихАктивов
| И НАЧАЛОПЕРИОДА(ДанныеДокумента.Дата, ГОД) = НАЧАЛОПЕРИОДА(ДанныеДокумента.ДокументОснование.Дата, ГОД)
| ТОГДА
| ТаблицаВидыЗапасов.СтатьяДоходов
| ИНАЧЕ
| &СтатьяДоходов
| КОНЕЦ КАК СтатьяДоходовРасходов,
| ВЫБОР
| КОГДА
| &ЭтоКорректировкаРеализацииУслугПрочихАктивов
| И НАЧАЛОПЕРИОДА(ДанныеДокумента.Дата, ГОД) = НАЧАЛОПЕРИОДА(ДанныеДокумента.ДокументОснование.Дата, ГОД)
| ТОГДА
| ТаблицаВидыЗапасов.АналитикаДоходов
| ИНАЧЕ
| &АналитикаДоходов
| КОНЕЦ КАК АналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
|
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Сумма,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СуммаБезНДС,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.НДСРегл КАК СуммаРегл,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалюте,
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВтТаблицаРасхождения КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаВидыЗапасов.Ссылка
|ГДЕ
| ТаблицаВидыЗапасов.НаДоходы
| И ТаблицаВидыЗапасов.СуммаСНДСУпр <> 0
| И НЕ ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииСОтражениемНаПрочихДоходах) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ВидКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
| ТОГДА &ПодразделениеДоходы
| ИНАЧЕ &Подразделение
| КОНЕЦ КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР
| КОГДА
| ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА
| ТаблицаВидыЗапасов.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| &СтатьяДоходов КАК СтатьяДоходовРасходов,
| &АналитикаДоходов КАК АналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
|
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Сумма,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СуммаБезНДС,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.НДСРегл КАК СуммаРегл,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалюте,
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.НаДоходыРасходы
| И ТаблицаВидыЗапасов.СуммаСНДСУпр <> 0";
#КонецОбласти
#Область КорректировкаЗадолженности
КорректировкаЗадолженности =
"ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаРасходы
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииСоСписаниемНаРасходы)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаРеализацииСОтражениемНаПрочихДоходах)
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| КорректировкаЗадолженности.Подразделение КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| КорректировкаЗадолженности.Договор КАК Договор,
| КорректировкаЗадолженности.ОбъектРасчетов КАК ОбъектРасчетов,
| КорректировкаЗадолженности.НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| КорректировкаЗадолженности.НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаРасходы
| ТОГДА КорректировкаЗадолженности.СтатьяРасходов
| ИНАЧЕ КорректировкаЗадолженности.СтатьяДоходов
| КОНЕЦ КАК СтатьяДоходовРасходов,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаДоходы
| ТОГДА КорректировкаЗадолженности.АналитикаДоходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаДоходов,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаРасходы
| ТОГДА КорректировкаЗадолженности.АналитикаРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаРасходов,
|
| КорректировкаЗадолженности.СуммаСНДСУпр КАК Сумма,
| КорректировкаЗадолженности.СуммаБезНДСУпр КАК СуммаБезНДС,
| КорректировкаЗадолженности.СуммаБезНДСРегл + КорректировкаЗадолженности.НДСРегл КАК СуммаРегл,
| КорректировкаЗадолженности.СуммаБезНДСРегл КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| КорректировкаЗадолженности.СуммаСНДС КАК СуммаВВалюте,
| КорректировкаЗадолженности.СуммаБезНДС КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| КорректировкаЗадолженности.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| КорректировкаЗадолженности.СуммаВзаиморасчетов - КорректировкаЗадолженности.СуммаНДСВзаиморасчетов КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| КорректировкаЗадолженности.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|";
#КонецОбласти
МассивТекстов = Новый Массив;
МассивТекстов.Добавить(КорректировкаРеализацииСоСписаниемНаРасходы);
МассивТекстов.Добавить(КорректировкаРеализацииСОтражениемНаПрочихДоходах);
МассивТекстов.Добавить(КорректировкаЗадолженности);
ТекстЗапроса = СтрСоединить(МассивТекстов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаУслугиКОформлениюОтчетовПринципалу(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "УслугиКОформлениюОтчетовПринципалу";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("КурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРасхожденияРаботыУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтРасхожденияРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| КОформлению.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| КОформлению.АналитикаНоменклатурыПринципала КАК АналитикаУчетаНоменклатуры,
| КОформлению.Соглашение КАК Соглашение,
| КОформлению.Валюта КАК Валюта,
| КОформлению.Количество КАК Количество,
| КОформлению.СуммаСНДС
| * КурсыВалют.КоэффициентПересчета КАК СуммаВыручки,
| КОформлению.СуммаНДС
| * КурсыВалют.КоэффициентПересчета КАК СуммаНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(КОформлению.Соглашение.ПереоцениватьУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА КОформлению.СуммаСНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(КОформлению.Соглашение.ПереоцениватьУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА КОформлению.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиУпр,
| &Контрагент КАК Покупатель,
| &Ссылка КАК ДокументРеализации,
| КОформлению.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации,
| КОформлению.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтРасхожденияРаботыУслуги КАК КОформлению
|
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалют
| ПО КОформлению.Валюта = КурсыВалют.Валюта
|ГДЕ
| НЕ КОформлению.НаДоходыРасходы
| И КОформлению.АналитикаНоменклатурыПринципала <> НЕОПРЕДЕЛЕНО
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеАктивыПассивы.ТекстЗапросаТаблицаПрочиеАктивыПассивы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРасхожденияРаботыУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтРасхожденияРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаКорректировкаЗадолженности", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстОписаниеВтИсходныеПрочиеРасходы();
ТекстЗапроса = ТекстЗапроса + "ОБЪЕДИНИТЬ ВСЕ" + "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодразделениеРасходы КАК Подразделение,
| &СтатьяРасходов КАК СтатьяРасходов,
| &АналитикаРасходов КАК АналитикаРасходов,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| ВидыЗапасов.СуммаСНДСУпр КАК СуммаСНДС,
| ВидыЗапасов.СуммаБезНДСУпр КАК СуммаБезНДС,
| (ВидыЗапасов.СуммаБезНДСУпр +ВидыЗапасов.НДСУпр) КАК СуммаБезНДСУпр,
|
| (ВидыЗапасов.СуммаБезНДСРегл + ВидыЗапасов.НДСРегл) КАК СуммаСНДСРегл,
| (ВидыЗапасов.СуммаБезНДСРегл + ВидыЗапасов.НДСРегл) КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ВидыЗапасов.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиРасходов
| ПО СтатьиРасходов.Ссылка = &СтатьяРасходов
|ГДЕ
| ВидыЗапасов.НаДоходыРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодразделениеРасходы КАК Подразделение,
| &СтатьяРасходов КАК СтатьяРасходов,
| &АналитикаРасходов КАК АналитикаРасходов,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| - ВидыЗапасов.НДСУпр КАК СуммаБезНДСУпр,
|
| - ВидыЗапасов.НДСРегл КАК СуммаСНДСРегл,
| - ВидыЗапасов.НДСРегл КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиРасходов
| ПО СтатьиРасходов.Ссылка = &СтатьяРасходов
|ГДЕ
| ВидыЗапасов.НаДоходыРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодразделениеРасходы КАК Подразделение,
| &СтатьяРасходов КАК СтатьяРасходов,
| &АналитикаРасходов КАК АналитикаРасходов,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| -РаботыУслуги.СуммаСНДСУпр КАК СуммаСНДС,
| -РаботыУслуги.СуммаБезНДСУпр КАК СуммаБезНДС,
| -(РаботыУслуги.СуммаБезНДСУпр + РаботыУслуги.НДСУпр) КАК СуммаБезНДСУпр,
|
| -(РаботыУслуги.СуммаБезНДСРегл + РаботыУслуги.НДСРегл) КАК СуммаСНДСРегл,
| -(РаботыУслуги.СуммаБезНДСРегл + РаботыУслуги.НДСРегл) КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| РаботыУслуги.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтРасхожденияРаботыУслуги КАК РаботыУслуги
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиРасходов
| ПО СтатьиРасходов.Ссылка = &СтатьяРасходов
|ГДЕ
| РаботыУслуги.НаДоходыРасходы
| И РаботыУслуги.СуммаСНДСУпр < 0
| И НЕ РаботыУслуги.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодразделениеРасходы КАК Подразделение,
| &СтатьяРасходов КАК СтатьяРасходов,
| &АналитикаРасходов КАК АналитикаРасходов,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| РаботыУслуги.НДСУпр КАК СуммаБезНДСУпр,
|
| РаботыУслуги.НДСРегл КАК СуммаСНДСРегл,
| РаботыУслуги.НДСРегл КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| РаботыУслуги.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтРасхожденияРаботыУслуги КАК РаботыУслуги
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиРасходов
| ПО СтатьиРасходов.Ссылка = &СтатьяРасходов
|ГДЕ
| РаботыУслуги.НаДоходыРасходы
| И РаботыУслуги.СуммаСНДСУпр < 0
| И НЕ РаботыУслуги.ЭтоПрослеживаемаяРабота
|
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| КорректировкаЗадолженности.Подразделение КАК Подразделение,
| КорректировкаЗадолженности.СтатьяРасходов КАК СтатьяРасходов,
| КорректировкаЗадолженности.АналитикаРасходов КАК АналитикаРасходов,
| КорректировкаЗадолженности.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| КорректировкаЗадолженности.СуммаСНДСУпр КАК СуммаСНДС,
| КорректировкаЗадолженности.СуммаБезНДСУпр КАК СуммаБезНДС,
| КорректировкаЗадолженности.СуммаСНДСУпр КАК СуммаБезНДСУпр,
|
| КорректировкаЗадолженности.СуммаСНДСРегл КАК СуммаСНДСРегл,
| КорректировкаЗадолженности.СуммаСНДСРегл КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| КорректировкаЗадолженности.УникальныйИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаЗадолженности) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| КорректировкаЗадолженности.Подразделение КАК Подразделение,
| КорректировкаЗадолженности.СтатьяРасходов КАК СтатьяРасходов,
| КорректировкаЗадолженности.АналитикаРасходов КАК АналитикаРасходов,
| КорректировкаЗадолженности.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| -КорректировкаЗадолженности.НДСУпр КАК СуммаБезНДСУпр,
|
| -КорректировкаЗадолженности.НДСРегл КАК СуммаСНДСРегл,
| -КорректировкаЗадолженности.НДСРегл КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаРасходы
|
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаКорректировкаЗадолженности", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодразделениеРасходы КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| ТаблицаВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВЫБОР
| КОГДА
| ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА
| ТаблицаВидыЗапасов.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| &НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| 0 КАК НДСУпр,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
|
| ТаблицаВидыЗапасов.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПартииПрочихРасходов
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.НаДоходыРасходы
| И НЕ ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| КорректировкаЗадолженности.Подразделение КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| КорректировкаЗадолженности.СтатьяРасходов КАК СтатьяРасходов,
| КорректировкаЗадолженности.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| КорректировкаЗадолженности.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| КорректировкаЗадолженности.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| &НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| КорректировкаЗадолженности.СуммаСНДСУпр КАК Стоимость,
| КорректировкаЗадолженности.СуммаСНДСУпр КАК СтоимостьБезНДС,
| 0 КАК НДСУпр,
| КорректировкаЗадолженности.СуммаСНДСРегл КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
|
| КорректировкаЗадолженности.УникальныйИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаЗадолженности) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| КорректировкаЗадолженности.Подразделение КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| КорректировкаЗадолженности.СтатьяРасходов КАК СтатьяРасходов,
| КорректировкаЗадолженности.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| КорректировкаЗадолженности.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| КорректировкаЗадолженности.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| &НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| 0 КАК Стоимость,
| -КорректировкаЗадолженности.НДСУпр КАК СтоимостьБезНДС,
| 0 КАК НДСУпр,
| -КорректировкаЗадолженности.НДСРегл КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаРасходы
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияПоПрочимАктивамПассивам";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовСписание", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасовКорректировкаВыручки", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасовКорректировкаВыручки(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| СпрНазначения.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.НДСПоОтгрузкамБезПереходаПраваСобственности) КАК Статья,
| &Контрагент КАК Аналитика,
| ЗНАЧЕНИЕ(Справочник.НастройкиСчетовУчетаПрочихОпераций.ПустаяСсылка) КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит) КАК ДебетКредит,
|
| ТаблицаВидыЗапасов.НДСРегл КАК СуммаРегл,
| ТаблицаВидыЗапасов.НДСУпр КАК СуммаУпр,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК СуммаСНДС,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СуммаБезНДС,
|
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Назначения КАК СпрНазначения
| ПО
| Аналитика.Назначение = СпрНазначения.Ссылка
|ГДЕ
| ТИПЗНАЧЕНИЯ(&ДокументОснование) = ТИП(Документ.РеализацияТоваровУслуг)
| И &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
| И ТаблицаВидыЗапасов.ТипЗапасов В (&ТипыЗапасовСобственные)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| СпрНазначения.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.НДСПоОтгрузкамБезПереходаПраваСобственности) КАК Статья,
| &Контрагент КАК Аналитика,
| ЗНАЧЕНИЕ(Справочник.НастройкиСчетовУчетаПрочихОпераций.ПустаяСсылка) КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит) КАК ДебетКредит,
|
| -ТаблицаВидыЗапасов.НДСРегл КАК СуммаРегл,
| -ТаблицаВидыЗапасов.НДСУпр КАК СуммаУпр,
| -ТаблицаВидыЗапасов.СуммаСНДСУпр КАК СуммаСНДС,
| -ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СуммаБезНДС,
|
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаДоВводаОстатков)
| КОГДА &КорректировкаПрошлогоПериода
| ТОГДА &НастройкаХозяйственнойОперации
| КОГДА ТаблицаВидыЗапасов.Склад <> ТаблицаВидыЗапасов.СкладОтгрузки
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализацииВозвратНаДругойСклад)
| ИНАЧЕ &НастройкаХозяйственнойОперации КОНЕЦ) КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Назначения КАК СпрНазначения
| ПО
| Аналитика.Назначение = СпрНазначения.Ссылка
|ГДЕ
| ТИПЗНАЧЕНИЯ(&ДокументОснование) = ТИП(Документ.РеализацияТоваровУслуг)
| И &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
| И ТаблицаВидыЗапасов.ТипЗапасов В (&ТипыЗапасовСобственные)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| СпрНазначения.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.НДСПоОтгрузкамБезПереходаПраваСобственности) КАК Статья,
| &Контрагент КАК Аналитика,
| ЗНАЧЕНИЕ(Справочник.НастройкиСчетовУчетаПрочихОпераций.ПустаяСсылка) КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит) КАК ДебетКредит,
|
| ТаблицаВидыЗапасов.НДСРегл КАК СуммаРегл,
| ТаблицаВидыЗапасов.НДСУпр КАК СуммаУпр,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК СуммаСНДС,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СуммаБезНДС,
|
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтВидыЗапасовКорректировкаВыручки КАК ТаблицаВидыЗапасов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Назначения КАК СпрНазначения
| ПО
| Аналитика.Назначение = СпрНазначения.Ссылка
|ГДЕ
| ТИПЗНАЧЕНИЯ(&ДокументОснование) = ТИП(Документ.РеализацияТоваровУслуг)
| И &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
| И ТаблицаВидыЗапасов.ТипЗапасов В (&ТипыЗапасовСобственные)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ИнициализироватьВтВидыЗапасовДокументаОснования(Запрос, ТекстыЗапроса)
Если Запрос.Параметры.Свойство("ВтВидыЗапасовДокументаОснования") Тогда
Возврат;
КонецЕсли;
ЗапросВидыЗапасов = Новый Запрос;
ЗапросВидыЗапасов.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросВидыЗапасов.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросВидыЗапасов.УстановитьПараметр("ДокументОснование", Запрос.Параметры.ДокументОснование);
ЗапросВидыЗапасов.УстановитьПараметр("ТипКорректировки", Запрос.Параметры.ТипКорректировки);
ЗапросВидыЗапасов.Текст =
"ВЫБРАТЬ
| ВидыЗапасовОснований.Номенклатура КАК Номенклатура,
| ВидыЗапасовОснований.Характеристика КАК Характеристика,
| МАКСИМУМ(ВидыЗапасовОснований.ВидЗапасов) КАК ВидЗапасов,
| МАКСИМУМ(ВидыЗапасовОснований.НомерГТД) КАК НомерГТД
|ПОМЕСТИТЬ ВтВидыЗапасовДокументаОснования
|ИЗ
| (ВЫБРАТЬ
| Т.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Т.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| Т.ВидЗапасов КАК ВидЗапасов,
| Т.НомерГТД КАК НомерГТД
| ИЗ
| Документ.РеализацияТоваровУслуг.ВидыЗапасов КАК Т
| ГДЕ
| Т.Ссылка = &ДокументОснование
| И &ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Т.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Т.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| Т.ВидЗапасов КАК ВидЗапасов,
| Т.НомерГТД КАК НомерГТД
| ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК Т
| ГДЕ
| Т.Ссылка В (&Ссылка)
| И &ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Т.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Т.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| Т.ВидЗапасов КАК ВидЗапасов,
| Т.НомерГТД КАК НомерГТД
| ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК Т
| ГДЕ
| Т.Ссылка В (&Ссылка)
| И &ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
|
| ) КАК ВидыЗапасовОснований
|
|СГРУППИРОВАТЬ ПО
| ВидыЗапасовОснований.Номенклатура,
| ВидыЗапасовОснований.Характеристика
|";
ЗапросВидыЗапасов.Выполнить();
Запрос.УстановитьПараметр("ВтВидыЗапасовДокументаОснования", Истина);
КонецПроцедуры
Процедура ИнициализироватьВтТоварыВозврата(Запрос, ТекстыЗапроса)
Если Запрос.Параметры.Свойство("ВтТоварыВозврата") Тогда
Возврат;
КонецЕсли;
ЗапросТоварыВозврата = Новый Запрос;
ЗапросТоварыВозврата.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросТоварыВозврата.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросТоварыВозврата.УстановитьПараметр("РеализацияЧерезКомиссионера", Запрос.Параметры.РеализацияЧерезКомиссионера);
ЗапросТоварыВозврата.УстановитьПараметр("ПериодОтгрузки", Запрос.Параметры.ПериодОтгрузки);
ЗапросТоварыВозврата.Текст =
"ВЫБРАТЬ
| Расхождения.Ссылка.Дата КАК Период,
| &ПериодОтгрузки КАК ДатаРеализации,
| Расхождения.Ссылка КАК Ссылка,
| Расхождения.Ссылка.Контрагент КАК Контрагент,
| Расхождения.Ссылка.Организация КАК Организация,
| Расхождения.Ссылка.КлиентКонтрагент КАК ПокупательКомиссионногоТовара,
| &РеализацияЧерезКомиссионера КАК РеализацияЧерезКомиссионера,
| ВЫБОР
| КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| ТОГДА Расхождения.Ссылка
| ИНАЧЕ Расхождения.Ссылка.ДокументОснование
| КОНЕЦ КАК ДокументРеализации,
| ВЫБОР
| КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИсправлениеОшибок,
| ВЫБОР
| КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК КорректировкаПоСогласованиюСторон,
| Расхождения.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| Расхождения.СтавкаНДС КАК СтавкаНДС
|ПОМЕСТИТЬ ВтТоварыВозврата
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК Расхождения
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Товары КАК Товары
| ПО (Товары.Ссылка В (&Ссылка))
| И (Товары.НомерСтроки = 1)
|ГДЕ
| Расхождения.Ссылка В (&Ссылка)
| И Товары.Ссылка ЕСТЬ NULL";
ЗапросТоварыВозврата.Выполнить();
Запрос.УстановитьПараметр("ВтТоварыВозврата", Истина);
КонецПроцедуры
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры, ДокументСсылка)
Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
Возврат;
КонецЕсли;
Если ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументСсылка, "ХозяйственнаяОперация") = Перечисления.ХозяйственныеОперации.ПереходПраваСобственности Тогда
Возврат;
КонецЕсли;
ИнициализироватьВтВидыЗапасовДокументаОснования(Запрос, ТекстыЗапроса);
ИнициализироватьВтТоварыВозврата(Запрос, ТекстыЗапроса);
ТекстТовары =
"ВЫБРАТЬ
| Товары.Ссылка.Дата КАК Период,
| Товары.Ссылка КАК Ссылка,
| Товары.Ссылка.ВидКорректировки КАК ХозяйственнаяОперация,
| Товары.Ссылка.Контрагент КАК Контрагент,
| Товары.Ссылка.Договор КАК Договор,
| Товары.Ссылка.Грузоотправитель КАК Грузоотправитель,
| Товары.Ссылка.Грузополучатель КАК Грузополучатель,
| Товары.Ссылка.Организация КАК Организация,
| Товары.Ссылка.Подразделение КАК Подразделение,
| Товары.Ссылка.КлиентКонтрагент КАК ПокупательКомиссионногоТовара,
| &РеализацияЧерезКомиссионера КАК РеализацияЧерезКомиссионера,
| Товары.Ссылка.ДокументОснование КАК ДокументРеализации,
| Товары.Ссылка КАК ДокументКорректировкиРеализации,
| ИСТИНА КАК ИсправлениеОшибок,
| ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК РеализацияВРозницу,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| Товары.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.Серия КАК Серия,
| Товары.НоменклатураПартнера КАК НоменклатураПартнера,
| Товары.НоменклатураНабора КАК НоменклатураНабора,
| Товары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Товары.Содержание КАК Содержание,
| 0 КАК Количество,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА Товары.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ &ТекстЗапросаЕдиницаИзмеренияТовары
| КОНЕЦ КАК ЕдиницаИзмерения,
| 0 КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| Товары.СтавкаНДС КАК СтавкаНДС,
| ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка) КАК КодТНВЭД,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| 0 КАК НомерСтроки,
| """" КАК ИдентификаторСтроки,
| Расхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Расхождения КАК Расхождения
| ПО (Расхождения.Ссылка В (&Ссылка))
| И (Расхождения.НомерСтроки = 1)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗапасовДокументаОснования КАК ВидыЗапасов
| ПО (ВидыЗапасов.Номенклатура = Товары.Номенклатура)
| И (ВидыЗапасов.Характеристика = Товары.Характеристика)
|ГДЕ
| Товары.Ссылка В(&Ссылка)
| И Расхождения.Ссылка ЕСТЬ NULL
| И (НЕ Товары.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)))
| И Товары.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
| И Товары.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Расхождения.Ссылка.Дата КАК Период,
| Расхождения.Ссылка КАК Ссылка,
| Расхождения.Ссылка.ВидКорректировки КАК ХозяйственнаяОперация,
| Расхождения.Ссылка.Контрагент КАК Контрагент,
| Расхождения.Ссылка.Договор КАК Договор,
| Расхождения.Ссылка.Грузоотправитель КАК Грузоотправитель,
| Расхождения.Ссылка.Грузополучатель КАК Грузополучатель,
| Расхождения.Ссылка.Организация КАК Организация,
| Расхождения.Ссылка.Подразделение КАК Подразделение,
| Расхождения.Ссылка.КлиентКонтрагент КАК ПокупательКомиссионногоТовара,
| &РеализацияЧерезКомиссионера КАК РеализацияЧерезКомиссионера,
| ВЫБОР
| КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| ТОГДА Расхождения.Ссылка
| ИНАЧЕ Расхождения.Ссылка.ДокументОснование
| КОНЕЦ КАК ДокументРеализации,
| ВЫБОР
| КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Расхождения.Ссылка
| КОНЕЦ КАК ДокументКорректировкиРеализации,
| ВЫБОР
| КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИсправлениеОшибок,
| ВЫБОР
| КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК РеализацияВРозницу,
| ВЫБОР
| КОГДА &ЭтоКорректировкаРеализацииУслугПрочихАктивов
| ТОГДА ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(&Период, ГОД) = НАЧАЛОПЕРИОДА(&ПериодОтгрузки, ГОД)
| ТОГДА Расхождения.ОбъектРасчетов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ
| КОГДА Расхождения.ВариантОтражения В
| (ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.СписатьНаРасходы))
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Расхождения.ОбъектРасчетов
| КОНЕЦ КАК ОбъектРасчетов,
| Расхождения.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| Расхождения.Номенклатура КАК Номенклатура,
| Расхождения.Характеристика КАК Характеристика,
| Расхождения.Серия КАК Серия,
| Расхождения.НоменклатураПартнера КАК НоменклатураПартнера,
| Расхождения.НоменклатураНабора КАК НоменклатураНабора,
| Расхождения.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Расхождения.Содержание КАК Содержание,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения ИЛИ Расхождения.КоличествоУпаковок = 0
| ТОГДА Расхождения.Количество
| ИНАЧЕ Расхождения.КоличествоУпаковок
| КОНЕЦ КАК Количество,
| ВЫБОР
| КОГДА Расхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ТОГДА Расхождения.Упаковка
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА Расхождения.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ &ТекстЗапросаЕдиницаИзмеренияРасхождения
| КОНЕЦ КАК ЕдиницаИзмерения,
| 0 КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| Расхождения.СтавкаНДС КАК СтавкаНДС,
| ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка) КАК КодТНВЭД,
| ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) КАК ВидЗапасов,
| ВЫБОР
| КОГДА Расхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ТОГДА Расхождения.НомерСтроки
| ИНАЧЕ 0
| КОНЕЦ КАК НомерСтроки,
| Расхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Расхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| (ВЫБОР
| КОГДА Расхождения.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаДоВводаОстатков)
| ИНАЧЕ &НастройкаХозяйственнойОперации КОНЕЦ) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК Расхождения
|ГДЕ
| Расхождения.Ссылка В (&Ссылка)
| И (Расхождения.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| ИЛИ Расхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка))
| И НЕ (ЕСТЬNULL(Расхождения.Номенклатура.ТипНоменклатуры, ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПустаяСсылка)) = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ЕСТЬNULL(Расхождения.Номенклатура.ПрослеживаемыйТовар, ЛОЖЬ)
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров)
| И (Расхождения.Ссылка.ВидКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
| ИЛИ (Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| И НЕ Расхождения.СтавкаНДС.ПеречислениеСтавкаНДС = &СтавкаНДСНаЭкспорт))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВидыЗапасов.Ссылка.Дата КАК Период,
| ВидыЗапасов.Ссылка КАК Ссылка,
| ВидыЗапасов.Ссылка.ВидКорректировки КАК ХозяйственнаяОперация,
| ВидыЗапасов.Ссылка.Контрагент КАК Контрагент,
| ВидыЗапасов.Ссылка.Договор КАК Договор,
| ВидыЗапасов.Ссылка.Грузоотправитель КАК Грузоотправитель,
| ВидыЗапасов.Ссылка.Грузополучатель КАК Грузополучатель,
| ВидыЗапасов.Ссылка.Организация КАК Организация,
| ВидыЗапасов.Ссылка.Подразделение КАК Подразделение,
| ВидыЗапасов.Ссылка.КлиентКонтрагент КАК ПокупательКомиссионногоТовара,
| &РеализацияЧерезКомиссионера КАК РеализацияЧерезКомиссионера,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| ТОГДА ВидыЗапасов.Ссылка
| ИНАЧЕ ВидыЗапасов.Ссылка.ДокументОснование
| КОНЕЦ КАК ДокументРеализации,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВидыЗапасов.Ссылка
| КОНЕЦ КАК ДокументКорректировкиРеализации,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИсправлениеОшибок,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК РеализацияВРозницу,
| ВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
| ВидыЗапасов.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВидыЗапасов.НоменклатураПартнера КАК НоменклатураПартнера,
| ВидыЗапасов.АналитикаУчетаНаборов.НоменклатураНабора КАК НоменклатураНабора,
| ВидыЗапасов.АналитикаУчетаНаборов.ХарактеристикаНабора КАК ХарактеристикаНабора,
| """" КАК Содержание,
| 0 КАК Количество,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ &ТекстЗапросаЕдиницаИзмерения
| КОНЕЦ КАК ЕдиницаИзмерения,
| 0 КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ВидыЗапасов.КодТНВЭД КАК КодТНВЭД,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| 0 КАК НомерСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ВидыЗапасов
|ГДЕ
| ВидыЗапасов.Ссылка В (&Ссылка)
| И (ВидыЗапасов.Ссылка.ВидКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон))
| ИЛИ (ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| И НЕ ВидыЗапасов.СтавкаНДС.ПеречислениеСтавкаНДС = &СтавкаНДСНаЭкспорт))
| И (ВЫБОР
| КОГДА &ВернутьМногооборотнуюТару
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВидыЗапасов.Ссылка.Дата КАК Период,
| ВидыЗапасов.Ссылка КАК Ссылка,
| ВидыЗапасов.Ссылка.ВидКорректировки КАК ХозяйственнаяОперация,
| ВидыЗапасов.Ссылка.Контрагент КАК Контрагент,
| ВидыЗапасов.Ссылка.Договор КАК Договор,
| ВидыЗапасов.Ссылка.Грузоотправитель КАК Грузоотправитель,
| ВидыЗапасов.Ссылка.Грузополучатель КАК Грузополучатель,
| ВидыЗапасов.Ссылка.Организация КАК Организация,
| ВидыЗапасов.Ссылка.Подразделение КАК Подразделение,
| ВидыЗапасов.Ссылка.КлиентКонтрагент КАК ПокупательКомиссионногоТовара,
| &РеализацияЧерезКомиссионера КАК РеализацияЧерезКомиссионера,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| ТОГДА ВидыЗапасов.Ссылка
| ИНАЧЕ ВидыЗапасов.Ссылка.ДокументОснование
| КОНЕЦ КАК ДокументРеализации,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВидыЗапасов.Ссылка
| КОНЕЦ КАК ДокументКорректировкиРеализации,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИсправлениеОшибок,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК РеализацияВРозницу,
| ВЫБОР
| КОГДА ВидыЗапасов.НаДоходыРасходы
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВидыЗапасов.ОбъектРасчетов
| КОНЕЦ КАК ОбъектРасчетов,
| ВидыЗапасов.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВидыЗапасов.НоменклатураПартнера КАК НоменклатураПартнера,
| ВидыЗапасов.АналитикаУчетаНаборов.НоменклатураНабора КАК НоменклатураНабора,
| ВидыЗапасов.АналитикаУчетаНаборов.ХарактеристикаНабора КАК ХарактеристикаНабора,
| """" КАК Содержание,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения ИЛИ ВидыЗапасов.КоличествоУпаковок = 0
| ТОГДА -ВидыЗапасов.Количество
| ИНАЧЕ -ВидыЗапасов.КоличествоУпаковок
| КОНЕЦ КАК Количество,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ &ТекстЗапросаЕдиницаИзмерения
| КОНЕЦ КАК ЕдиницаИзмерения,
| -ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| -ВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ВидыЗапасов.КодТНВЭД КАК КодТНВЭД,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| 0 КАК НомерСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| (ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаДоВводаОстатков)
| ИНАЧЕ &НастройкаХозяйственнойОперации КОНЕЦ) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК ВидыЗапасов
|ГДЕ
| ВидыЗапасов.Ссылка В (&Ссылка)
| И (ВидыЗапасов.Ссылка.ВидКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон))
| ИЛИ (ВидыЗапасов.Ссылка.ВидКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
| И НЕ ВидыЗапасов.СтавкаНДС.ПеречислениеСтавкаНДС = &СтавкаНДСНаЭкспорт))
| И (ВЫБОР
| КОГДА &ВернутьМногооборотнуюТару
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВидыЗапасов.Ссылка.Дата КАК Период,
| ВидыЗапасов.Ссылка КАК Ссылка,
| ВидыЗапасов.Ссылка.ВидКорректировки КАК ХозяйственнаяОперация,
| ВидыЗапасов.Ссылка.Контрагент КАК Контрагент,
| ВидыЗапасов.Ссылка.Договор КАК Договор,
| ВидыЗапасов.Ссылка.Грузоотправитель КАК Грузоотправитель,
| ВидыЗапасов.Ссылка.Грузополучатель КАК Грузополучатель,
| ВидыЗапасов.Ссылка.Организация КАК Организация,
| ВидыЗапасов.Ссылка.Подразделение КАК Подразделение,
| ВидыЗапасов.Ссылка.КлиентКонтрагент КАК ПокупательКомиссионногоТовара,
| &РеализацияЧерезКомиссионера КАК РеализацияЧерезКомиссионера,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| ТОГДА ВидыЗапасов.Ссылка
| ИНАЧЕ ВидыЗапасов.Ссылка.ДокументОснование
| КОНЕЦ КАК ДокументРеализации,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВидыЗапасов.Ссылка
| КОНЕЦ КАК ДокументКорректировкиРеализации,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИсправлениеОшибок,
| ВЫБОР
| КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК РеализацияВРозницу,
| ВЫБОР
| КОГДА ВидыЗапасов.НаДоходыРасходы
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВидыЗапасов.ОбъектРасчетов
| КОНЕЦ КАК ОбъектРасчетов,
| ВидыЗапасов.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВидыЗапасов.НоменклатураПартнера КАК НоменклатураПартнера,
| ВидыЗапасов.АналитикаУчетаНаборов.НоменклатураНабора КАК НоменклатураНабора,
| ВидыЗапасов.АналитикаУчетаНаборов.ХарактеристикаНабора КАК ХарактеристикаНабора,
| """" КАК Содержание,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения ИЛИ ВидыЗапасов.КоличествоУпаковок = 0
| ТОГДА ВидыЗапасов.Количество
| ИНАЧЕ ВидыЗапасов.КоличествоУпаковок
| КОНЕЦ КАК Количество,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ &ТекстЗапросаЕдиницаИзмерения
| КОНЕЦ КАК ЕдиницаИзмерения,
| ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ВидыЗапасов.КодТНВЭД КАК КодТНВЭД,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| 0 КАК НомерСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ВидыЗапасов
|ГДЕ
| ВидыЗапасов.Ссылка В (&Ссылка)
| И (ВидыЗапасов.Ссылка.ВидКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон))
| ИЛИ (ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| И НЕ ВидыЗапасов.СтавкаНДС.ПеречислениеСтавкаНДС = &СтавкаНДСНаЭкспорт))
| И (ВЫБОР
| КОГДА &ВернутьМногооборотнуюТару
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаЗадолженности.Ссылка.Дата КАК Период,
| КорректировкаЗадолженности.Ссылка КАК Ссылка,
| КорректировкаЗадолженности.Ссылка.ВидКорректировки КАК ХозяйственнаяОперация,
| КорректировкаЗадолженности.Ссылка.Контрагент КАК Контрагент,
| КорректировкаЗадолженности.Ссылка.Договор КАК Договор,
| КорректировкаЗадолженности.Ссылка.Грузоотправитель КАК Грузоотправитель,
| КорректировкаЗадолженности.Ссылка.Грузополучатель КАК Грузополучатель,
| КорректировкаЗадолженности.Ссылка.Организация КАК Организация,
| КорректировкаЗадолженности.Ссылка.Подразделение КАК Подразделение,
| КорректировкаЗадолженности.Ссылка.КлиентКонтрагент КАК ПокупательКомиссионногоТовара,
| &РеализацияЧерезКомиссионера КАК РеализацияЧерезКомиссионера,
| КорректировкаЗадолженности.ДокументРеализации КАК ДокументРеализации,
| КорректировкаЗадолженности.Ссылка КАК ДокументКорректировкиРеализации,
| ЛОЖЬ КАК ИсправлениеОшибок,
| ИСТИНА КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК РеализацияВРозницу,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| КорректировкаЗадолженности.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| НЕОПРЕДЕЛЕНО КАК Номенклатура,
| НЕОПРЕДЕЛЕНО КАК Характеристика,
| НЕОПРЕДЕЛЕНО КАК Серия,
| ЗНАЧЕНИЕ(Справочник.НоменклатураКонтрагентов.ПустаяСсылка) КАК НоменклатураПартнера,
| НЕОПРЕДЕЛЕНО КАК НоменклатураНабора,
| НЕОПРЕДЕЛЕНО КАК ХарактеристикаНабора,
| КорректировкаЗадолженности.ПричинаКорректировки КАК Содержание,
| 0 КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ЕдиницаИзмерения,
| 0 КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| НЕОПРЕДЕЛЕНО КАК НомерГТД,
| КорректировкаЗадолженности.СтавкаНДС КАК СтавкаНДС,
| НЕОПРЕДЕЛЕНО КАК КодТНВЭД,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| 0 КАК НомерСтроки,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.Ссылка В (&Ссылка)
|";
ТекстТовары = СтрЗаменить(
ТекстТовары,
"&ТекстЗапросаЕдиницаИзмеренияТовары",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Ссылка",
"Товары.Упаковка",
"Товары.Номенклатура"));
ТекстТовары = СтрЗаменить(
ТекстТовары,
"&ТекстЗапросаЕдиницаИзмеренияРасхождения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Ссылка",
"Расхождения.Упаковка",
"Расхождения.Номенклатура"));
ТекстТовары = СтрЗаменить(
ТекстТовары,
"&ТекстЗапросаЕдиницаИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Ссылка",
"ВидыЗапасов.Упаковка",
"ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура"));
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
УчетНДСУП.ОтразитьРеализациюКлиенту(Запрос, ТекстыЗапроса, Регистры, ТекстТовары);
КонецПроцедуры
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ДокументОснование <> НЕОПРЕДЕЛЕНО
| ТОГДА &ХозОперацияОснования
| ИНАЧЕ &ВидКорректировки
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &Склад КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Ответственный,
| &Автор КАК Автор,
| &Комментарий КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &ИнформацияПоДоговору КАК Дополнительно,
| &Период КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|ИЗ
| Документ.КорректировкаРеализации КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса
КонецФункции
Функция ТекстЗапросаВтИсправляемыйДокументКорректировки(Запрос)
ИсправляемыйДокументПустыеСсылки = Новый Массив;
Для каждого Тип Из Метаданные.Документы.КорректировкаРеализации.Реквизиты.ИсправляемыйДокумент.Тип.Типы() Цикл
ИсправляемыйДокументПустыеСсылки.Добавить(Новый (Тип));
КонецЦикла;
Запрос.УстановитьПараметр("ИсправляемыйДокументПустыеСсылки", ИсправляемыйДокументПустыеСсылки);
ТекстЗапроса =
"ВЫБРАТЬ
| &ИсправляемыйДокумент КАК ИсправляемыйДокумент
|
|ПОМЕСТИТЬ ВТ_ИсправляемыйДокумент
|;
|
|
|ВЫБРАТЬ ПЕРВЫЕ 1
| КорректировкаРеализации.Ссылка КАК Корректировка,
| КорректировкаРеализации.ДокументОснование КАК ДокументОснование
|ПОМЕСТИТЬ ВТ_КорректировкаПоСогласованиюСторон
|ИЗ
| Документ.КорректировкаРеализации КАК КорректировкаРеализации
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсправленияДокументов КАК ИсправленияДокументов
| ПО ИсправленияДокументов.ИсправляемыйДокумент = КорректировкаРеализации.Ссылка
| И ИсправленияДокументов.СторнированИсправляемыйДокумент
|ГДЕ
| КорректировкаРеализации.ДокументОснование = &ДокументОснование
| И КорректировкаРеализации.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
| И КорректировкаРеализации.Проведен
| И КорректировкаРеализации.Дата < &Период
| И ИсправленияДокументов.ИсправляемыйДокумент ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| КорректировкаРеализации.Дата УБЫВ
|;
|
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ВТ_ИсправляемыйДокумент.ИсправляемыйДокумент = НЕОПРЕДЕЛЕНО
| ИЛИ ВТ_ИсправляемыйДокумент.ИсправляемыйДокумент В (&ИсправляемыйДокументПустыеСсылки)
| ТОГДА ЕСТЬNULL(ВТ_КорректировкаПоСогласованиюСторон.Корректировка, &ДокументОснование)
| ИНАЧЕ ВТ_ИсправляемыйДокумент.ИсправляемыйДокумент
| КОНЕЦ КАК ИсправляемыйДокумент
|ПОМЕСТИТЬ ВТ_ИсправляемыйДокументКорректировки
|ИЗ
| ВТ_ИсправляемыйДокумент КАК ВТ_ИсправляемыйДокумент
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КорректировкаПоСогласованиюСторон КАК ВТ_КорректировкаПоСогласованиюСторон
| ПО (ВТ_КорректировкаПоСогласованиюСторон.ДокументОснование = &ДокументОснование)
|ГДЕ
| &ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
|;
|
|
|УНИЧТОЖИТЬ ВТ_КорректировкаПоСогласованиюСторон
|;
|
|
|УНИЧТОЖИТЬ ВТ_ИсправляемыйДокумент" + ОбщегоНазначения.РазделительПакетаЗапросов();
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаИсправленияДокументов(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтТаблицаИсправленияДокументов";
ТекстЗапросаВтИсправляемыйДокумент = ТекстЗапросаВтИсправляемыйДокументКорректировки(Запрос);
ТекстЗапроса = ТекстЗапросаВтИсправляемыйДокумент +
"ВЫБРАТЬ
| ИсправленияДокументовСрезПоследних.ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| ИсправленияДокументовСрезПоследних.ПоследнийДокументЦепочки КАК ПоследнийДокументЦепочки
|ПОМЕСТИТЬ ВТ_Исправление
|ИЗ
| РегистрСведений.ИсправленияДокументов.СрезПоследних(&ГраницаИсключаяДокумент, ИсправляемыйДокумент В
| (ВЫБРАТЬ
| ВТ_ИсправляемыйДокументКорректировки.ИсправляемыйДокумент
| ИЗ
| ВТ_ИсправляемыйДокументКорректировки)) КАК ИсправленияДокументовСрезПоследних
|;
|
|
|ВЫБРАТЬ
| &Период КАК Период,
| ВТ_ИсправляемыйДокументКорректировки.ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| ЕСТЬNULL(ВТ_Исправление.ПоследнийДокументЦепочки, НЕОПРЕДЕЛЕНО) КАК ПредыдущееИсправление,
| &Ссылка КАК ПоследнийДокументЦепочки,
| ЛОЖЬ КАК СторнированИсправляемыйДокумент,
| ЛОЖЬ КАК СпособИсправленияСторно
|ПОМЕСТИТЬ ВтТаблицаИсправленияДокументов
|ИЗ
| ВТ_ИсправляемыйДокументКорректировки КАК ВТ_ИсправляемыйДокументКорректировки
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Исправление КАК ВТ_Исправление
| ПО ВТ_ИсправляемыйДокументКорректировки.ИсправляемыйДокумент = ВТ_Исправление.ИсправляемыйДокумент
|;
|
|
|УНИЧТОЖИТЬ ВТ_Исправление";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаИсправленияДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ИсправленияДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаИсправленияДокументов", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаИсправленияДокументов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ВтТаблицаИсправленияДокументов.Период,
| ВтТаблицаИсправленияДокументов.ИсправляемыйДокумент,
| ВтТаблицаИсправленияДокументов.ПредыдущееИсправление,
| ВтТаблицаИсправленияДокументов.ПоследнийДокументЦепочки,
| ВтТаблицаИсправленияДокументов.СторнированИсправляемыйДокумент,
| ВтТаблицаИсправленияДокументов.СпособИсправленияСторно
|ИЗ
| ВтТаблицаИсправленияДокументов КАК ВтТаблицаИсправленияДокументов";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияСерийТоваров";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Документ,
| &Период КАК Период,
| ТаблицаСерии.Номенклатура КАК Номенклатура,
| ТаблицаСерии.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаСерии.Назначение.ДвиженияПоСкладскимРегистрам, ЛОЖЬ)
| ТОГДА ТаблицаСерии.Назначение
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| КОНЕЦ КАК Назначение,
| ТаблицаСерии.Серия КАК Серия,
| ТаблицаСерии.Количество КАК Количество,
| ТаблицаСерии.Склад КАК Отправитель,
| &Партнер КАК Получатель,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКлиенту) КАК СкладскаяОперация,
| ИСТИНА КАК ЭтоСкладскоеДвижение
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК ТаблицаСерии
|
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И ТаблицаСерии.Количество <> 0
| И ТаблицаСерии.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтБонусныеБаллы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтБонусныеБаллы";
ТекстЗапроса =
"ВЫБРАТЬ
| ТабличнаяЧасть.ДатаНачисления КАК Период,
| ВЫБОР
| КОГДА ТабличнаяЧасть.ДатаСписания <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ТабличнаяЧасть.ДатаНачисления
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ КАК ДатаНачалаДействия,
| ВЫБОР
| КОГДА ТабличнаяЧасть.ДатаСписания <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА &ТекущаяДата
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ КАК ДатаКОбработке,
| ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| КОНЕЦ КАК ВидДвижения,
| ТабличнаяЧасть.БонуснаяПрограммаЛояльности КАК БонуснаяПрограммаЛояльности,
| &Партнер КАК Партнер,
| ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА -ТабличнаяЧасть.СуммаБонусныхБаллов
| ИНАЧЕ ТабличнаяЧасть.СуммаБонусныхБаллов
| КОНЕЦ КАК Начислено,
| 0 КАК КСписанию
|ПОМЕСТИТЬ ВтБонусныеБаллы
|ИЗ
| Документ.КорректировкаРеализации.НачислениеБонусныхБаллов КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И ТабличнаяЧасть.ДатаНачисления <> ДатаВремя(1,1,1)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.ДатаСписания КАК Период,
| ТабличнаяЧасть.ДатаНачисления КАК ДатаНачалаДействия,
| &ТекущаяДата КАК ДатаКОбработке,
| ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| КОНЕЦ КАК ВидДвижения,
| ТабличнаяЧасть.БонуснаяПрограммаЛояльности КАК БонуснаяПрограммаЛояльности,
| &Партнер КАК Партнер,
| 0 КАК Начислено,
| ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА -ТабличнаяЧасть.СуммаБонусныхБаллов
| ИНАЧЕ ТабличнаяЧасть.СуммаБонусныхБаллов
| КОНЕЦ КАК КСписанию
|ИЗ
| Документ.КорректировкаРеализации.НачислениеБонусныхБаллов КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И ТабличнаяЧасть.ДатаСписания <> ДатаВремя(1,1,1)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.ДатаОплаты КАК Период,
| ДатаВремя(1, 1, 1),
| &ТекущаяДата,
| ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| КОНЕЦ КАК ВидДвижения,
| ТабличнаяЧасть.БонуснаяПрограммаЛояльности КАК БонуснаяПрограммаЛояльности,
| &Партнер КАК Партнер,
| ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА ТабличнаяЧасть.СуммаБонусныхБаллов
| ИНАЧЕ -ТабличнаяЧасть.СуммаБонусныхБаллов
| КОНЕЦ КАК Начислено,
| 0 КАК КСписанию
|ИЗ
| Документ.КорректировкаРеализации.ОплатаБонуснымиБаллами КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаБонусныеБаллы(Запрос, ТекстыЗапроса, Регистры, Документ)
ИмяРегистра = "БонусныеБаллы";
Если НЕ БонусныеБаллыСервер.ТребуетсяДобавитьДвиженияПоРегиструБонусныеБаллы(Документ) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтБонусныеБаллы", ТекстыЗапроса) Тогда
ТекстЗапросаВтБонусныеБаллы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| БонусныеБаллы.Период КАК Период,
| БонусныеБаллы.ДатаНачалаДействия КАК ДатаНачалаДействия,
| БонусныеБаллы.ДатаКОбработке КАК ДатаКОбработке,
| БонусныеБаллы.ВидДвижения КАК ВидДвижения,
| БонусныеБаллы.БонуснаяПрограммаЛояльности КАК БонуснаяПрограммаЛояльности,
| БонусныеБаллы.Партнер КАК Партнер,
| СУММА(БонусныеБаллы.Начислено) КАК Начислено,
| СУММА(БонусныеБаллы.КСписанию) КАК КСписанию
|ИЗ
| ВтБонусныеБаллы КАК БонусныеБаллы
|
|СГРУППИРОВАТЬ ПО
| БонусныеБаллы.БонуснаяПрограммаЛояльности,
| БонусныеБаллы.Партнер,
| БонусныеБаллы.Период,
| БонусныеБаллы.ДатаНачалаДействия,
| БонусныеБаллы.ДатаКОбработке,
| БонусныеБаллы.ВидДвижения
|ИМЕЮЩИЕ
| СУММА(БонусныеБаллы.Начислено) <> 0 ИЛИ
| СУММА(БонусныеБаллы.КСписанию) <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ТабЧасть.Подразделение
| ИНАЧЕ
| ТабЧасть.Склад
| КОНЕЦ КАК Склад,
| ТабЧасть.Назначение КАК Назначение,
| ТабЧасть.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ЗапланированныйРасходРаспределенногоЗапаса,
| ЛОЖЬ КАК КонтрольСвободногоОстатка
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТабЧасть
|ГДЕ
| (ТабЧасть.ВариантОтражения В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализациюУменьшитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УменьшитьРеализациюУвеличитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализацию),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УменьшитьРеализацию))
| ИЛИ ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТабЧасть.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.СписатьНаРасходы)))
| И ЕСТЬNULL(ТабЧасть.Ссылка.ДокументОснование.ХозяйственнаяОперация, ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера)
| И ЕСТЬNULL(ТабЧасть.Ссылка.ДокументОснование.ХозяйственнаяОперация, ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности)
|";
РаспределениеЗапасовДвижения.РасходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть);
КонецПроцедуры
Функция ТекстЗапросаТаблицаРаспоряженияНаОтгрузку(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РаспоряженияНаОтгрузкуИВозврат";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ТаблицаРасхождения.Ссылка.Дата КАК Период,
| ТаблицаРасхождения.Ссылка КАК Распоряжение,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.КодСтроки КАК КодСтроки,
| ВЫБОР
| КОГДА ТаблицаПоказателей.Ссылка = ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КПриемке)
| ТОГДА ТаблицаРасхождения.Склад
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| КОНЕЦ КАК Склад,
| ВЫБОР
| КОГДА ТаблицаПоказателей.Ссылка = ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КПриемке)
| И ТаблицаРасхождения.СтатусУказанияСерий В (10, 14)
| ТОГДА ТаблицаРасхождения.Серия
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ КАК Серия,
| ТаблицаПоказателей.Ссылка КАК Показатель,
| -ТаблицаРасхождения.Количество КАК Количество,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СуммаВзаиморасчетов > 0
| ТОГДА ТаблицаРасхождения.СуммаВзаиморасчетов
| ИНАЧЕ
| -ТаблицаРасхождения.СуммаВзаиморасчетов
| КОНЕЦ КАК Сумма,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СуммаНДСРегл > 0
| ТОГДА ТаблицаРасхождения.СуммаНДСРегл
| ИНАЧЕ
| -ТаблицаРасхождения.СуммаНДСРегл
| КОНЕЦ КАК СуммаНДСРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СуммаНДСУпр > 0
| ТОГДА ТаблицаРасхождения.СуммаНДСУпр
| ИНАЧЕ
| -ТаблицаРасхождения.СуммаНДСУпр
| КОНЕЦ КАК СуммаНДСУпр
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТаблицаРасхождения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат КАК ТаблицаПоказателей
| ПО ТаблицаПоказателей.Ссылка В (ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.ЗаявленоНаВозврат),
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КОформлениюПоВозвратам),
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.ОформленоПоВозвратам),
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КПриемке))
|ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ВернутьВПуть)
| И ТИПЗНАЧЕНИЯ(ТаблицаРасхождения.Ссылка.ДокументОснование) = ТИП(Документ.РеализацияТоваровУслуг)
| И ТаблицаРасхождения.Ссылка.ХозяйственнаяОперация В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ТаблицаРасхождения.Ссылка.Дата КАК Период,
| ТаблицаРасхождения.Ссылка КАК Распоряжение,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.КодСтроки КАК КодСтроки,
| ВЫБОР
| КОГДА ТаблицаПоказателей.Ссылка В (ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Заказано),
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КОтгрузке),
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Отгружено))
| ТОГДА ТаблицаРасхождения.Склад
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| КОНЕЦ КАК Склад,
| ВЫБОР
| КОГДА ТаблицаПоказателей.Ссылка В (
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Заказано),
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КОтгрузке),
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Отгружено)
| )
| И ТаблицаРасхождения.СтатусУказанияСерий В (10, 14)
| ТОГДА ТаблицаРасхождения.Серия
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ КАК Серия,
| ТаблицаПоказателей.Ссылка КАК Показатель,
| ТаблицаРасхождения.Количество КАК Количество,
| ТаблицаРасхождения.СуммаВзаиморасчетов КАК Сумма,
| ТаблицаРасхождения.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаРасхождения.СуммаНДСУпр КАК СуммаНДСУпр
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТаблицаРасхождения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат КАК ТаблицаПоказателей
| ПО ТаблицаПоказателей.Ссылка В (ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Заказано),
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КОтгрузке),
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КОформлению),
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Отгружено),
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Оформлено))
|ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И ТаблицаРасхождения.ВариантОтражения <> ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ВернутьВПуть)
| И ТИПЗНАЧЕНИЯ(ТаблицаРасхождения.Ссылка.ДокументОснование) = ТИП(Документ.РеализацияТоваровУслуг)
| И ТаблицаРасхождения.Ссылка.ХозяйственнаяОперация В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ТаблицаРасхождения.Ссылка.Дата КАК Период,
| ТаблицаРасхождения.ЗаказКлиента КАК Распоряжение,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.КодСтрокиОснования КАК КодСтроки,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СтатусУказанияСерий В (10, 14)
| ТОГДА ТаблицаРасхождения.Серия
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ КАК Серия,
| ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Скорректировано) КАК Показатель,
| ТаблицаРасхождения.Количество КАК Количество,
| ТаблицаРасхождения.СуммаВзаиморасчетов КАК Сумма,
| ТаблицаРасхождения.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаРасхождения.СуммаНДСУпр КАК СуммаНДСУпр
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТаблицаРасхождения
|ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И ТИПЗНАЧЕНИЯ(ТаблицаРасхождения.Ссылка.ДокументОснование) = ТИП(Документ.РеализацияТоваровУслуг)
| И ТаблицаРасхождения.Ссылка.ХозяйственнаяОперация =
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки,
| Показатель";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
Если Запрос <> Неопределено Тогда
ДополнительныеПараметры.Добавить("АналитикаУчетаПоПартнерам");
УстановитьПараметрыЗапросаАналитикаУчетаПоПартнерам(Запрос);
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено,
ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
Если Запрос <> Неопределено Тогда
Если ТекстыЗапроса = Неопределено Тогда
ТекстыЗапроса = Новый СписокЗначений;
КонецЕсли;
ИмяТаблицы = "ДанныеДокументаШапка";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
ДополнительныеТаблицы.Добавить(ИмяТаблицы);
ТекстыЗапроса.Добавить(ТекстЗапросаДанныеДокументаШапка(), ИмяТаблицы);
КонецЕсли;
ИмяТаблицы = "ВтТаблицаВидыЗапасовСписание";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
ДополнительныеТаблицы.Добавить(ИмяТаблицы);
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
ИмяТаблицы = "ВтТаблицаВидыЗапасовОприходование";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
ДополнительныеТаблицы.Добавить(ИмяТаблицы);
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
ИмяТаблицы = "ВтРасхожденияРаботыУслуги";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
ДополнительныеТаблицы.Добавить(ИмяТаблицы);
ТекстЗапросаВтРасхожденияРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область Реализация_Товар_ПрослеживаемаяРабота_N1
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов В
| (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| ТОГДА
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов В
| (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| ТОГДА ВидыЗапасов.КорВидЗапасов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| ВидыЗапасов.ВидДеятельностиНДС КАК КорВидДеятельностиНДС,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА ТаблицаДокумента.ПродажаПоЗаказам ТОГДА
| ВидыЗапасов.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ВидыЗапасов.Количество КАК Количество,
|
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВЫБОР КОГДА &РеализацияЧерезКомиссионера
| ТОГДА ТаблицаДокумента.ХозОперацияОснования
| КОГДА ВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцу2_5)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| КОНЕЦ КАК ХозяйственнаяОперация,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасовСписание КАК ВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| НЕ ВидыЗапасов.НаДоходыРасходы
| И ВидыЗапасов.ТипЗапасов В
| (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| И (ВидыЗапасов.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ (ВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И НЕ &ВернутьМногооборотнуюТару)
| ИЛИ ВидыЗапасов.ТипНоменклатуры ЕСТЬ NULL)
| И НЕ ВидыЗапасов.СписатьНаРасходы
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
#Область СписаниеНаРасходыАктивы_Товар_ПрослеживаемаяРабота_N2
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументДвижения,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК Партия,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов В
| (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| ТОГДА
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов В
| (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| ТОГДА ВидыЗапасов.КорВидЗапасов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА ТаблицаДокумента.ПродажаПоЗаказам ТОГДА
| ВидыЗапасов.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
| ВидыЗапасов.АналитикаРасходовСписание КАК АналитикаРасходовАктивов,
| ВидыЗапасов.СтатьяРасходовСписание КАК СтатьяРасходовАктивов,
| ВидыЗапасов.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ВидыЗапасов.Количество КАК Количество,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК СтоимостьУпр,
|
| ВЫБОР КОГДА &РеализацияЧерезКомиссионера
| ТОГДА ТаблицаДокумента.ХозОперацияОснования
| КОГДА ВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцуСписаниеНаРасходы)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| КОНЕЦ КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОтчетДавальцуСписаниеНаРасходы)
| ИНАЧЕ &НастройкаХозяйственнойОперации
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасовСписание КАК ВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| НЕ ВидыЗапасов.НаДоходыРасходы
| И ВидыЗапасов.ТипЗапасов В
| (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| И (ВидыЗапасов.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ (ВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) И НЕ &ВернутьМногооборотнуюТару)
| ИЛИ ВидыЗапасов.ТипНоменклатуры ЕСТЬ NULL)
| И ВидыЗапасов.СписатьНаРасходы
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаРасходыАктивы,
ТекстЗапроса);
#КонецОбласти
#Область Реализация_Работа_N3
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаРасхождения.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА ТаблицаДокумента.ПродажаПоЗаказам ТОГДА
| ТаблицаРасхождения.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаРасхождения.Количество КАК Количество,
|
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ТаблицаДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРасхожденияРаботыУслуги КАК ТаблицаРасхождения
| ПО ИСТИНА
|ГДЕ
| НЕ ТаблицаРасхождения.СписатьНаРасходы
| И НЕ ТаблицаРасхождения.НаДоходыРасходы
| И (ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| )
| И ТаблицаРасхождения.Количество > 0
| И НЕ ТаблицаРасхождения.ПрослеживаемыйТовар
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
#Область ВыбытиеПоФиксированнойСтоимости_Тара_N4
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.РазницыСтоимостиВозвратаИФактическойСтоимостиТоваров) КАК СтатьяРасходовАктивов,
| ТаблицаДокумента.Партнер КАК АналитикаРасходовАктивов,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиДоходов.РазницыСтоимостиВозвратаИФактическойСтоимостиТоваров) КАК СтатьяДоходов,
| ТаблицаДокумента.Партнер КАК АналитикаДоходов,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ВидыЗапасов.СуммаБезНДСРегл КАК СтоимостьРегл,
| ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций ТОГДА 0
| ИНАЧЕ ВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьУпр,
| 0 КАК КорСтоимость,
|
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПереданнойВозвратнойТары) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасовСписание КАК ВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| НЕ ВидыЗапасов.НаДоходыРасходы
| И ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ВернутьМногооборотнуюТару";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВыбытиеПоФиксированнойСтоимости,
ТекстЗапроса);
#КонецОбласти
#Область Реализация_КомиссионныйТовар_РеализацияБезПереходаПраваСобственности_N5
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ВЫБОР
| КОГДА ТаблицаДокумента.КорректировкаОтгрузкиБезПереходаПраваСобственности И &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| КОГДА ТаблицаДокумента.КорректировкаОтгрузкиБезПереходаПраваСобственности
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА &КорректировкаОтгрузкиБезПереходаПраваСобственности
| ТОГДА ВидыЗапасов.ВидЗапасов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА ТаблицаДокумента.ПродажаПоЗаказам ТОГДА
| ВидыЗапасов.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ВидыЗапасов.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ВЫБОР
| КОГДА &РеализацияЧерезКомиссионера
| ТОГДА ТаблицаДокумента.ХозОперацияОснования
| КОГДА &КорректировкаОтгрузкиБезПереходаПраваСобственности
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ТаблицаДокумента.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасовСписание КАК ВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| НЕ ВидыЗапасов.НаДоходыРасходы
| И ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
#Область Реализация_КорректировкаПрошлогоПериода_N6
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ДокументОснование КАК ДокументИсточник,
| ТаблицаДокумента.ПериодОтгрузки КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаРеализации
| ИНАЧЕ ВидыЗапасов.АналитикаРеализацииБезНазначения
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ВидыЗапасов.ВидЗапасовОтгрузки <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ВидыЗапасов.ВидЗапасовОтгрузки
| ИНАЧЕ ВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА ТаблицаДокумента.ПродажаПоЗаказам ТОГДА
| ВидыЗапасов.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
| ВидыЗапасов.ВидДеятельностиНДС КАК КорВидДеятельностиНДС,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ВидыЗапасов.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ВЫБОР
| КОГДА &РеализацияЧерезКомиссионера И &КорректировкаПрошлогоПериода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровЧерезКомиссионераПрошлыхПериодов)
| КОГДА &КорректировкаПрошлогоПериода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализацииВозвратНаДругойСклад)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА &КорректировкаПрошлогоПериода
| ТОГДА ТаблицаДокумента.НастройкаХозяйственнойОперации
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализацииВозвратНаДругойСклад)
| КОНЕЦ КАК НастройкаХозяйственнойОперации,
| ВЫБОР
| КОГДА &КорректировкаПрошлогоПериода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.ВозвратПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.ВозвратНаДругойСклад)
| КОНЕЦ КАК ТипЗаписи
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасовОприходование КАК ВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| НЕ ВидыЗапасов.НаДоходыРасходы
| И (&КорректировкаПрошлогоПериода
| ИЛИ ВидыЗапасов.Склад <> ВидыЗапасов.СкладОтгрузки)
| И (&ДатаПереходаПраваСобственности < НАЧАЛОПЕРИОДА(ТаблицаДокумента.Период, МЕСЯЦ)
| ИЛИ &ДатаПереходаПраваСобственности = ДАТАВРЕМЯ(1,1,1)
| ИЛИ НЕ &СреднеСкользящая)
| И ВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
| И (ЕСТЬNULL(ВидыЗапасов.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ &ВернутьМногооборотнуюТару)
| И НЕ ВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
#Область Реализация_Сторно_КорректировкаРеализацииТекущегоПериода_N7
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ДокументОснование КАК ДокументИсточник,
| ТаблицаДокумента.ПериодОтгрузки КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузки <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасовОтгрузки
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаВидыЗапасов.АналитикаРеализации
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаРеализацииБезНазначения
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов В
| (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| И ТаблицаВидыЗапасов.КорВидЗапасов <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаВидыЗапасов.КорВидЗапасов
| КОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузки <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузки
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА ТаблицаДокумента.ПродажаПоЗаказам ТОГДА
| ТаблицаВидыЗапасов.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ВЫБОР
| КОГДА НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И ТаблицаВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| И ТаблицаВидыЗапасов.КорВидЗапасов <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцу2_5)
| КОГДА ТаблицаВидыЗапасов.СписатьНаРасходы
| И ТаблицаВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| И ТаблицаВидыЗапасов.КорВидЗапасов <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцуСписаниеНаРасходы)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СписатьНаРасходы
| И ТаблицаВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОтчетДавальцуСписаниеНаРасходы)
| ИНАЧЕ ТаблицаДокумента.НастройкаХозяйственнойОперации
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| НЕ ТаблицаВидыЗапасов.НаДоходыРасходы
| И (&КорректировкаТекущегоПериода
| ИЛИ &ДатаПереходаПраваСобственности >= НАЧАЛОПЕРИОДА(ТаблицаДокумента.Период, МЕСЯЦ)
| И &СреднеСкользящая)
| И ТаблицаВидыЗапасов.Склад = ТаблицаВидыЗапасов.СкладОтгрузки
| И ТаблицаВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПолуфабрикатДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПродукцияДавальца),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
| И (ЕСТЬNULL(ТаблицаВидыЗапасов.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ &ВернутьМногооборотнуюТару)
| И НЕ ТаблицаВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_ТоварРаботаКомиссионныйТовар_КорректировкаРеализацииДоВводаОстатков_N8
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| &Партнер КАК Поставщик,
| &Контрагент КАК Контрагент,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ВидыЗапасов.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ВидыЗапасов.Себестоимость
| ИНАЧЕ ВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ВидыЗапасов.СебестоимостьБезНДС
| ИНАЧЕ ВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ВидыЗапасов.СебестоимостьРегл
| КОГДА ВидыЗапасов.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| ТОГДА ВидыЗапасов.СуммаСНДСРегл
| ИНАЧЕ ВидыЗапасов.СуммаБезНДСРегл
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ВидыЗапасов.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| ТОГДА 0
| ИНАЧЕ ВидыЗапасов.НДСРегл
| КОНЕЦ КАК НДСРегл,
| ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций ТОГДА 0
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ВидыЗапасов.СебестоимостьБезНДС
| КОГДА ВидыЗапасов.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| ТОГДА ВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ ВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций И НЕ ВидыЗапасов.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| ТОГДА ВидыЗапасов.НДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ВидыЗапасов.СебестоимостьПР
| ИНАЧЕ 0
| КОНЕЦ КАК ПостояннаяРазница,
| ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ВидыЗапасов.СебестоимостьВР
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаДоВводаОстатков) КАК ХозяйственнаяОперация,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаДоВводаОстатков) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасовОприходование КАК ВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| НЕ ВидыЗапасов.НаДоходыРасходы
| И ВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
| И ВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВыбытиеПоФиксированнойСтоимости_Тара_Сторно_N9
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ДокументОснование КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаРеализации
| ИНАЧЕ ВидыЗапасов.АналитикаРеализацииБезНазначения
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ВидыЗапасов.ВидЗапасовОтгрузки <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ВидыЗапасов.ВидЗапасовОтгрузки
| ИНАЧЕ ВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК КорВидЗапасов,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.РазницыСтоимостиВозвратаИФактическойСтоимостиТоваров) КАК СтатьяРасходовАктивов,
| ТаблицаДокумента.Партнер КАК АналитикаРасходовАктивов,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиДоходов.РазницыСтоимостиВозвратаИФактическойСтоимостиТоваров) КАК СтатьяДоходов,
| ТаблицаДокумента.Партнер КАК АналитикаДоходов,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| -ВидыЗапасов.Количество КАК Количество,
| -ВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| -ВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| -ВидыЗапасов.СуммаБезНДСРегл КАК СтоимостьРегл,
| -ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций ТОГДА 0
| ИНАЧЕ ВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьУпр,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноПереданнойТары) КАК ХозяйственнаяОперация,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноПереданнойТары) КАК НастройкаХозяйственнойОперации,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Сторно) КАК ТипЗаписи
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасовОприходование КАК ВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| НЕ ВидыЗапасов.НаДоходыРасходы
| И &КорректировкаТекущегоПериода
| И ВидыЗапасов.Склад = ВидыЗапасов.СкладОтгрузки
| И ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ВернутьМногооборотнуюТару
| И НЕ ВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВыбытиеПоФиксированнойСтоимости,
ТекстЗапроса);
#КонецОбласти
#Область ВыбытиеПоФиксированнойСтоимости_Тара_ПередачаПрошлогоПериода_N10
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ДокументОснование КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ ВидыЗапасов.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаРеализации
| ИНАЧЕ ВидыЗапасов.АналитикаРеализацииБезНазначения
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ВидыЗапасов.ВидЗапасовОтгрузки <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ВидыЗапасов.ВидЗапасовОтгрузки
| ИНАЧЕ ВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК КорВидЗапасов,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.РазницыСтоимостиВозвратаИФактическойСтоимостиТоваров) КАК СтатьяРасходовАктивов,
| ТаблицаДокумента.Партнер КАК АналитикаРасходовАктивов,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиДоходов.РазницыСтоимостиВозвратаИФактическойСтоимостиТоваров) КАК СтатьяДоходов,
| ТаблицаДокумента.Партнер КАК АналитикаДоходов,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ВидыЗапасов.СуммаБезНДСРегл КАК СтоимостьРегл,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА ВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
| 0 КАК КорСтоимость,
|
| ВЫБОР
| КОГДА НЕ &КорректировкаТекущегоПериода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТарыОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноПереданнойТарыВозвратНаДругойСклад)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА НЕ &КорректировкаТекущегоПериода
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТарыОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноПереданнойТарыВозвратНаДругойСклад)
| КОНЕЦ КАК НастройкаХозяйственнойОперации,
| ВЫБОР
| КОГДА НЕ &КорректировкаТекущегоПериода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.ВозвратПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.ВозвратНаДругойСклад)
| КОНЕЦ КАК ТипЗаписи
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасовОприходование КАК ВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| НЕ ВидыЗапасов.НаДоходыРасходы
| И (НЕ &КорректировкаТекущегоПериода
| ИЛИ ВидыЗапасов.Склад <> ВидыЗапасов.СкладОтгрузки)
| И ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ВернутьМногооборотнуюТару
| И НЕ ВидыЗапасов.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВыбытиеПоФиксированнойСтоимости,
ТекстЗапроса);
#КонецОбласти
#Область Реализация_Работа_КорректировкаВМинусПрошлогоПериода_N11
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ДокументОснование КАК ДокументИсточник,
| ТаблицаДокумента.ПериодОтгрузки КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаРасхождения.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаРасхождения.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА ТаблицаДокумента.ПродажаПоЗаказам ТОГДА
| ТаблицаРасхождения.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| -ТаблицаРасхождения.Количество КАК Количество,
|
| ВЫБОР КОГДА &РеализацияЧерезКомиссионера
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровЧерезКомиссионераПрошлыхПериодов)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ТаблицаДокумента.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРасхожденияРаботыУслуги КАК ТаблицаРасхождения
| ПО ИСТИНА
|ГДЕ
| НЕ ТаблицаРасхождения.НаДоходыРасходы
| И (ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| )
| И ТаблицаРасхождения.Количество < 0
| И &КорректировкаПрошлогоПериода
| И НЕ ТаблицаРасхождения.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| И НЕ ТаблицаРасхождения.ПрослеживаемыйТовар
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Работа_ДоВводаОстатков_N12
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаРасхождения.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаРасхождения.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаРасхождения.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| -ТаблицаРасхождения.Количество КАК Количество,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаРасхождения.Себестоимость
| ИНАЧЕ -ТаблицаРасхождения.СуммаСНДСУпр
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаРасхождения.СебестоимостьБезНДС
| ИНАЧЕ -ТаблицаРасхождения.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаРасхождения.СебестоимостьРегл
| КОГДА ТаблицаРасхождения.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| ТОГДА -ТаблицаРасхождения.СуммаСНДСРегл
| ИНАЧЕ -ТаблицаРасхождения.СуммаБезНДСРегл
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| ТОГДА 0
| ИНАЧЕ -ТаблицаРасхождения.НДСРегл
| КОНЕЦ КАК НДСРегл,
| ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций ТОГДА 0
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаРасхождения.СебестоимостьБезНДС
| КОГДА ТаблицаРасхождения.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| ТОГДА -ТаблицаРасхождения.СуммаСНДСУпр
| ИНАЧЕ -ТаблицаРасхождения.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьУпр,
| -ВЫБОР
| КОГДА &УправленческийУчетОрганизаций И НЕ ТаблицаРасхождения.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| ТОГДА ТаблицаРасхождения.НДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаРасхождения.СебестоимостьПР
| ИНАЧЕ 0
| КОНЕЦ КАК ПостояннаяРазница,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаРасхождения.СебестоимостьВР
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаДоВводаОстатков) КАК ХозяйственнаяОперация,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаДоВводаОстатков) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРасхожденияРаботыУслуги КАК ТаблицаРасхождения
| ПО ИСТИНА
|ГДЕ
| НЕ ТаблицаРасхождения.НаДоходыРасходы
| И ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаРасхождения.Количество < 0
| И ТаблицаРасхождения.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| И НЕ ТаблицаРасхождения.ПрослеживаемыйТовар
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область Реализация_Работа_КорректировкаВМинус_N13
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ДокументОснование КАК ДокументИсточник,
| ТаблицаДокумента.ПериодОтгрузки КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаРасхождения.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА ТаблицаДокумента.ПродажаПоЗаказам ТОГДА
| ТаблицаРасхождения.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаРасхождения.Количество КАК Количество,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации)
| КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ТаблицаДокумента.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРасхожденияРаботыУслуги КАК ТаблицаРасхождения
| ПО ИСТИНА
|ГДЕ
| НЕ ТаблицаРасхождения.СписатьНаРасходы
| И НЕ ТаблицаРасхождения.НаДоходыРасходы
| И (ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| )
| И &КорректировкаТекущегоПериода
| И ТаблицаРасхождения.Количество < 0
| И НЕ ТаблицаРасхождения.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| И НЕ ТаблицаРасхождения.ПрослеживаемыйТовар
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
#Область СписаниеНаРасходыАктивы_Работа_КорректировкаВМинус_N14
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументДвижения,
| ТаблицаДокумента.ДокументОснование КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаРасхождения.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК Партия,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА ТаблицаДокумента.ПродажаПоЗаказам ТОГДА
| ТаблицаРасхождения.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
| ТаблицаРасхождения.АналитикаРасходов КАК АналитикаРасходовАктивов,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ТаблицаРасхождения.СтатьяРасходов) = ТИП(ПланВидовХарактеристик.СтатьиАктивовПассивов)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаРасхождения.СтатьяРасходов
| КОНЕЦ КАК СтатьяРасходовАктивов,
| ТаблицаРасхождения.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаРасхождения.Количество КАК Количество,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК СтоимостьУпр,
|
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Сторно) КАК ТипЗаписи,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации)
| КАК ХозяйственнаяОперация,
| ВЫБОР
| КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцу2_5)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОтчетДавальцуСписаниеНаРасходы)
| ИНАЧЕ ТаблицаДокумента.НастройкаХозяйственнойОперации
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРасхожденияРаботыУслуги КАК ТаблицаРасхождения
| ПО ИСТИНА
|ГДЕ
| ТаблицаРасхождения.СписатьНаРасходы
| И НЕ ТаблицаРасхождения.НаДоходыРасходы
| И (ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| )
| И &КорректировкаТекущегоПериода
| И ТаблицаРасхождения.Количество < 0
| И НЕ ТаблицаРасхождения.СпособОпределенияСебестоимости В (
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
| ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| И НЕ ТаблицаРасхождения.ПрослеживаемыйТовар
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаРасходыАктивы,
ТекстЗапроса);
#КонецОбласти
#Область СписаниеНаРасходыАктивы_Работа_КорректировкаВПлюс_N15
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Период КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументДвижения,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры
| ИНАЧЕ ТаблицаРасхождения.АналитикаУчетаНоменклатурыБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК Партия,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА ТаблицаДокумента.ПродажаПоЗаказам ТОГДА
| ТаблицаРасхождения.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.ДокументОснование
| КОНЕЦ КАК ЗаказКлиента,
| ТаблицаРасхождения.АналитикаРасходов КАК АналитикаРасходовАктивов,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ТаблицаРасхождения.СтатьяРасходов) = ТИП(ПланВидовХарактеристик.СтатьиАктивовПассивов)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаРасхождения.СтатьяРасходов
| КОНЕЦ КАК СтатьяРасходовАктивов,
| ТаблицаРасхождения.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаРасхождения.Количество КАК Количество,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК СтоимостьУпр,
|
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцу2_5)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцуСписаниеНаРасходы)
| ИНАЧЕ ТаблицаДокумента.ХозяйственнаяОперация
| КОНЕЦ КАК ХозяйственнаяОперация,
| ВЫБОР
| КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетДавальцу2_5)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОтчетДавальцуСписаниеНаРасходы)
| ИНАЧЕ ТаблицаДокумента.НастройкаХозяйственнойОперации
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаШапка КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРасхожденияРаботыУслуги КАК ТаблицаРасхождения
| ПО ИСТИНА
|ГДЕ
| ТаблицаРасхождения.СписатьНаРасходы
| И НЕ ТаблицаРасхождения.НаДоходыРасходы
| И (ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| )
| И ТаблицаРасхождения.Количество > 0
| И НЕ ТаблицаРасхождения.ПрослеживаемыйТовар
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.СписаниеНаРасходыАктивы,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
Функция ОписаниеОперацийУчетаВыручки(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область Реализация
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ТаблицаВидыЗапасов.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА &АктПоЗаказам ТОГДА
| ТаблицаВидыЗапасов.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.Ссылка
| КОНЕЦ КАК ЗаказКлиента,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.КорректировкаРеализации КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРаботыУслуги КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#Конецобласти
КонецФункции
#КонецОбласти
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
УсловиеВидимостиПечатныхФормПоТоварам = Новый Структура;
УсловиеВидимостиПечатныхФормПоТоварам.Вставить("Реквизит", Метаданные.Документы.КорректировкаРеализации.Реквизиты.ВидКорректировки.Имя);
УсловиеВидимостиПечатныхФормПоТоварам.Вставить("ВидСравнения", ВидСравнения.ВСписке);
МассивОпераций = Новый СписокЗначений();
МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.ИсправлениеОшибок);
МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон);
МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.ВозвратНедопоставленногоТовара);
МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.РеализацияПерепоставленногоТовара);
УсловиеВидимостиПечатныхФормПоТоварам.Вставить("Значение", МассивОпераций);
УсловиеВидимостиПечатныхФормПереходПраваСобственности = Новый Структура;
УсловиеВидимостиПечатныхФормПереходПраваСобственности.Вставить("Реквизит",
Метаданные.Документы.КорректировкаРеализации.Реквизиты.ХозяйственнаяОперация.Имя);
УсловиеВидимостиПечатныхФормПереходПраваСобственности.Вставить("ВидСравнения", ВидСравнения.НеРавно);
УсловиеВидимостиПечатныхФормПереходПраваСобственности.Вставить("Значение",
Перечисления.ХозяйственныеОперации.ПереходПраваСобственности);
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "Накладная";
КомандаПечати.Представление = НСтр("ru = 'Реализация товаров'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПоТоварам);
КомандаПечати.ОсновнаяПечатнаяФорма = Истина;
КомандаПечати.НаименованиеПечатнойФормы = НСтр("ru = 'Реализация товаров'");
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "РеестрНомеровГТД";
КомандаПечати.Представление = НСтр("ru = 'Реестр номеров ГТД'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.ФункциональныеОпции = "ИспользоватьИмпортныеТовары";
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПоТоварам);
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПереходПраваСобственности);
Если НЕ ПраваПользователяПовтИсп.ЭтоПартнер() Тогда
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "Обработка.ПечатьАктОбОказанииУслуг";
КомандаПечати.Идентификатор = "Акт";
КомандаПечати.Представление = НСтр("ru = 'Акт об оказании услуг'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.Порядок = 1;
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПоТоварам);
КомандаПечати.ОсновнаяПечатнаяФорма = Истина;
КомандаПечати.НаименованиеПечатнойФормы = НСтр("ru = 'Акт об оказании услуг'");
КонецЕсли;
Если ПравоДоступа("Чтение", Метаданные.Справочники.СертификатыНоменклатуры)
И ПолучитьФункциональнуюОпцию("ИспользоватьСертификатыНоменклатуры") Тогда
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "СертификатыНоменклатурыРеестр";
КомандаПечати.Представление = НСтр("ru = 'Сертификаты (реестр)'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.Порядок = 8;
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПоТоварам);
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПереходПраваСобственности);
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "СертификатыНоменклатурыИзображенияИзДокументов";
КомандаПечати.Представление = НСтр("ru = 'Сертификаты (по каждой позиции документа)'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.Порядок = 9;
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПоТоварам);
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПереходПраваСобственности);
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "СертификатыНоменклатурыИзображенияИзДокументовБезДублей";
КомандаПечати.Представление = НСтр("ru = 'Сертификаты (по одному на сертификат)'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.Порядок = 10;
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПоТоварам);
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПереходПраваСобственности);
КонецЕсли;
Если Не ПраваПользователяПовтИсп.ЭтоПартнер() Тогда
КомандаПечати = Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ДобавитьКомандуПечати(
КомандыПечати, "ЗаданиеНаОтбор", 11, УсловиеВидимостиПечатныхФормПоТоварам);
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПереходПраваСобственности);
КонецЕсли;
Если НЕ ПраваПользователяПовтИсп.ЭтоПартнер() И Константы.ИспользоватьМеждународныеПечатныеФормы.Получить() Тогда
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "InvoiceInt";
КомандаПечати.МенеджерПечати = "Обработка.ПечатьСчетовНаОплату";
КомандаПечати.Представление = НСтр("ru = 'Commercial invoice'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.Порядок = 2;
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПоТоварам);
УсловиеВидимости = Новый Структура;
УсловиеВидимости.Вставить("Реквизит", Метаданные.Документы.КорректировкаРеализации.Реквизиты.ВидКорректировки.Имя);
УсловиеВидимости.Вставить("ВидСравнения", ВидСравнения.ВСписке);
МассивОпераций = Новый СписокЗначений();
МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно);
МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон);
УсловиеВидимости.Вставить("Значение", МассивОпераций);
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "DebitNote";
КомандаПечати.МенеджерПечати = "Обработка.ПечатьСчетовНаОплату";
КомандаПечати.Представление = НСтр("ru = 'Debit Note'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.Порядок = 3;
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимости);
УсловиеВидимости = Новый Структура;
УсловиеВидимости.Вставить("Реквизит", Метаданные.Документы.КорректировкаРеализации.Реквизиты.ВидКорректировки.Имя);
УсловиеВидимости.Вставить("ВидСравнения", ВидСравнения.ВСписке);
МассивОпераций = Новый СписокЗначений();
МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУменьшениеЗадолженностиСводно);
МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон);
МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.ВозвратНедопоставленногоТовара);
УсловиеВидимости.Вставить("Значение", МассивОпераций);
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "CreditNote";
КомандаПечати.МенеджерПечати = "Обработка.ПечатьСчетовНаОплату";
КомандаПечати.Представление = НСтр("ru = 'Credit Note'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.Порядок = 3;
КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимости);
КонецЕсли;
КорректировкаРеализацииЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Накладная") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Накладная", НСтр("ru = 'Реализация товаров'"), СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "РеестрНомеровГТД") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "РеестрНомеровГТД", НСтр("ru = 'Реестр номеров ГТД'"), СформироватьПечатнуюФормуРеестрНомеровГТД(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СертификатыНоменклатурыРеестр") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"СертификатыНоменклатурыРеестр",
НСтр("ru = 'Сертификаты (реестр)'"),
Справочники.СертификатыНоменклатуры.СформироватьПечатнуюФормуРеестрСертификатовНоменклатуры(МассивОбъектов, ОбъектыПечати),
,
"Справочник.СертификатыНоменклатуры.ПФ_MXL_РеестрСертификатов");
КонецЕсли;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СертификатыНоменклатурыИзображенияИзДокументов") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"СертификатыНоменклатурыИзображенияИзДокументов",
НСтр("ru = 'Сертификаты (по каждой позиции документа)'"),
Справочники.СертификатыНоменклатуры.СформироватьПечатнуюФормуИзображенияСертификатовИзДокументов(МассивОбъектов, ОбъектыПечати),
,
"Справочник.СертификатыНоменклатуры.ПФ_MXL_ИзображенияСертификатов");
КонецЕсли;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СертификатыНоменклатурыИзображенияИзДокументовБезДублей") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"СертификатыНоменклатурыИзображенияИзДокументовБезДублей",
НСтр("ru = 'Сертификаты (по одному на сертификат)'"),
Справочники.СертификатыНоменклатуры.СформироватьПечатнуюФормуИзображенияСертификатовИзДокументовБезДублей(МассивОбъектов, ОбъектыПечати),
,
"Справочник.СертификатыНоменклатуры.ПФ_MXL_ИзображенияСертификатов");
КонецЕсли;
КорректировкаРеализацииЛокализация.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);
КонецПроцедуры
Функция ТекстЗапросаДанныкКорректировокДоВводаОстатков()
ТекстЗапроса = "ВЫБРАТЬ
| Т.Ссылка КАК Ссылка,
| Т.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Т.Номенклатура КАК Номенклатура,
| Т.НоменклатураПартнера КАК НоменклатураПартнера,
| Т.Характеристика КАК Характеристика,
| Т.НоменклатураНабора КАК НоменклатураНабора,
| Т.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Т.Содержание КАК Содержание,
| Т.Упаковка КАК Упаковка,
| Т.Серия КАК Серия,
| Т.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Т.Склад КАК Склад,
| Т.Подразделение КАК Подразделение,
| Т.СтатьяДоходов КАК СтатьяДоходов,
| Т.АналитикаДоходов КАК АналитикаДоходов,
| Т.НомерГТД КАК НомерГТД,
| Т.Цена КАК Цена,
| Т.СтавкаНДС КАК СтавкаНДС,
| Т.КоличествоУпаковок КАК КоличествоУпаковок,
| Т.Количество КАК Количество,
| Т.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| Т.Сумма КАК Сумма,
| Т.СуммаНДС КАК СуммаНДС,
| Т.СуммаСНДС КАК СуммаСНДС,
| Т.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Т.НомерСтроки КАК НомерСтроки,
| Т.КодТНВЭД КАК КодТНВЭД,
| Т.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| Т.СуммаБезНДСУпр КАК СуммаБезНДСУпр
|ПОМЕСТИТЬ ВТТовары
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК Т
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО Т.Ссылка = ДанныеДокументов.Ссылка
|ГДЕ
| Т.Ссылка.ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
|;
|
|
|ВЫБРАТЬ
| Т.Ссылка КАК Ссылка,
| Т.Номенклатура КАК Номенклатура,
| Т.НоменклатураПартнера КАК НоменклатураПартнера,
| Т.Характеристика КАК Характеристика,
| Т.НоменклатураНабора КАК НоменклатураНабора,
| Т.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Т.Содержание КАК Содержание,
| Т.Упаковка КАК Упаковка,
| Т.Серия КАК Серия,
| Т.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Т.Склад КАК Склад,
| Т.Подразделение КАК Подразделение,
| Т.СтатьяДоходов КАК СтатьяДоходов,
| Т.АналитикаДоходов КАК АналитикаДоходов,
| Т.НомерГТД КАК НомерГТД,
| Т.СтавкаНДС КАК СтавкаНДС,
| Т.КоличествоУпаковок КАК КоличествоУпаковок,
| Т.Количество КАК Количество,
| Т.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| Т.Сумма КАК Сумма,
| Т.СуммаНДС КАК СуммаНДС,
| Т.СуммаСНДС КАК СуммаСНДС,
| Т.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Т.ВариантОтражения КАК ВариантОтражения,
| Т.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| Т.Себестоимость КАК Себестоимость,
| Т.СебестоимостьБезНДС КАК СебестоимостьБезНДС,
| Т.СебестоимостьРегл КАК СебестоимостьРегл,
| Т.СебестоимостьПР КАК СебестоимостьПР,
| Т.СебестоимостьВР КАК СебестоимостьВР,
| Т.ВидЦеныСебестоимости КАК ВидЦеныСебестоимости,
| Т.ДатаЗаполненияСебестоимостиПоВидуЦены КАК ДатаЗаполненияСебестоимостиПоВидуЦены,
| Т.КодТНВЭД КАК КодТНВЭД,
| Т.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| Т.СуммаБезНДСУпр КАК СуммаБезНДСУпр
|ПОМЕСТИТЬ ВТРасхождения
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК Т
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО Т.Ссылка = ДанныеДокументов.Ссылка
|
|ГДЕ
| Т.Ссылка.ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
|;
|
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Характеристика КАК Характеристика,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Таблица.Содержание КАК Содержание,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| Таблица.Упаковка КАК Упаковка,
| Таблица.Серия КАК Серия,
| Таблица.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Таблица.Склад КАК Склад,
| Таблица.Подразделение КАК Подразделение,
| Таблица.НомерГТД КАК НомерГТД,
| Таблица.КодТНВЭД КАК КодТНВЭД,
| Таблица.НоменклатураПартнера КАК НоменклатураПартнера,
| Таблица.СтатьяДоходов КАК СтатьяДоходов,
| Таблица.АналитикаДоходов КАК АналитикаДоходов,
| МАКСИМУМ(Таблица.СтавкаНДС) КАК СтавкаНДС,
| МАКСИМУМ(Таблица.Цена) КАК Цена,
| СУММА(Таблица.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(Таблица.Количество) КАК Количество,
| СУММА(Таблица.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| СУММА(Таблица.Сумма) КАК Сумма,
| СУММА(Таблица.СуммаНДС) КАК СуммаНДС,
| СУММА(Таблица.СуммаСНДС) КАК СуммаСНДС,
| СУММА(Таблица.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| МАКСИМУМ(Таблица.СтавкаНДСПосле) КАК СтавкаНДСПосле,
| МАКСИМУМ(Таблица.ЦенаПосле) КАК ЦенаПосле,
| СУММА(Таблица.КоличествоУпаковокПосле) КАК КоличествоУпаковокПосле,
| СУММА(Таблица.КоличествоПосле) КАК КоличествоПосле,
| СУММА(Таблица.КоличествоПоРНПТПосле) КАК КоличествоПоРНПТПосле,
| СУММА(Таблица.СуммаПосле) КАК СуммаПосле,
| СУММА(Таблица.СуммаНДСПосле) КАК СуммаНДСПосле,
| СУММА(Таблица.СуммаСНДСПосле) КАК СуммаСНДСПосле,
| СУММА(Таблица.СуммаВзаиморасчетовПосле) КАК СуммаВзаиморасчетовПосле,
| ЕСТЬNULL(МАКСИМУМ(Таблица.ВариантОтраженияПосле),МАКСИМУМ(Таблица.ВариантОтраженияДо)) КАК ВариантОтражения,
| МАКСИМУМ(Таблица.ВариантОтраженияДо) КАК ВариантОтраженияСписания,
| МАКСИМУМ(Таблица.СпособОпределенияСебестоимости) КАК СпособОпределенияСебестоимости,
| МАКСИМУМ(Таблица.Себестоимость) КАК Себестоимость,
| МАКСИМУМ(Таблица.СебестоимостьБезНДС) КАК СебестоимостьБезНДС,
| МАКСИМУМ(Таблица.СебестоимостьРегл) КАК СебестоимостьРегл,
| МАКСИМУМ(Таблица.СебестоимостьПР) КАК СебестоимостьПР,
| МАКСИМУМ(Таблица.СебестоимостьВР) КАК СебестоимостьВР,
| МАКСИМУМ(Таблица.ВидЦеныСебестоимости) КАК ВидЦеныСебестоимости,
| МАКСИМУМ(Таблица.ДатаЗаполненияСебестоимостиПоВидуЦены) КАК ДатаЗаполненияСебестоимостиПоВидуЦены,
| СУММА(Таблица.Количество - Таблица.КоличествоПосле) < 0
| ИЛИ СУММА(Таблица.КоличествоУпаковок - Таблица.КоличествоУпаковокПосле) < 0 КАК ЭтоСтрокаСписания,
| МАКСИМУМ(Таблица.НомерСтроки) КАК НомерСтроки,
| СУММА(Таблица.СуммаБезНДСРегл) КАК СуммаБезНДСРегл,
| СУММА(Таблица.СуммаБезНДСУпр) КАК СуммаБезНДСУпр,
| СУММА(Таблица.СуммаБезНДСРеглПосле) КАК СуммаБезНДСРеглПосле,
| СУММА(Таблица.СуммаБезНДСУпрПосле) КАК СуммаБезНДСУпрПосле,
| МАКСИМУМ(Таблица.ИдентификаторСтроки) КАК ИдентификаторСтроки
|ПОМЕСТИТЬ ВтДанныеПоКорректировкеДоВводаОстатков
|ИЗ
| (ВЫБРАТЬ
| Т.Ссылка КАК Ссылка,
| Т.Номенклатура КАК Номенклатура,
| Т.НоменклатураПартнера КАК НоменклатураПартнера,
| Т.КодТНВЭД КАК КодТНВЭД,
| Т.Характеристика КАК Характеристика,
| Т.НоменклатураНабора КАК НоменклатураНабора,
| Т.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Т.Содержание КАК Содержание,
| Т.Упаковка КАК Упаковка,
| Т.Серия КАК Серия,
| Т.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Т.Склад КАК Склад,
| Т.Подразделение КАК Подразделение,
| Т.НомерГТД КАК НомерГТД,
| Т.СтатьяДоходов КАК СтатьяДоходов,
| Т.АналитикаДоходов КАК АналитикаДоходов,
| Т.СтавкаНДС КАК СтавкаНДС,
| СУММА(Т.Цена) КАК Цена,
| СУММА(Т.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(Т.Количество) КАК Количество,
| СУММА(Т.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| СУММА(Т.Сумма) КАК Сумма,
| СУММА(Т.СуммаНДС) КАК СуммаНДС,
| СУММА(Т.СуммаСНДС) КАК СуммаСНДС,
| СУММА(Т.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| NULL КАК СтавкаНДСПосле,
| NULL КАК ЦенаПосле,
| СУММА(Т.КоличествоУпаковокПосле) КАК КоличествоУпаковокПосле,
| СУММА(Т.КоличествоПосле) КАК КоличествоПосле,
| СУММА(Т.КоличествоПоРНПТПосле) КАК КоличествоПоРНПТПосле,
| СУММА(Т.СуммаПосле) КАК СуммаПосле,
| СУММА(Т.СуммаНДСПосле) КАК СуммаНДСПосле,
| СУММА(Т.СуммаСНДСПосле) КАК СуммаСНДСПосле,
| СУММА(Т.СуммаВзаиморасчетовПосле) КАК СуммаВзаиморасчетовПосле,
| МАКСИМУМ(РасхожденияДо.ВариантОтражения) КАК ВариантОтраженияДо,
| NULL КАК ВариантОтраженияПосле,
| МАКСИМУМ(Т.СпособОпределенияСебестоимости) КАК СпособОпределенияСебестоимости,
| МАКСИМУМ(Т.Себестоимость) КАК Себестоимость,
| МАКСИМУМ(Т.СебестоимостьБезНДС) КАК СебестоимостьБезНДС,
| МАКСИМУМ(Т.СебестоимостьРегл) КАК СебестоимостьРегл,
| МАКСИМУМ(Т.СебестоимостьПР) КАК СебестоимостьПР,
| МАКСИМУМ(Т.СебестоимостьВР) КАК СебестоимостьВР,
| МАКСИМУМ(Т.ВидЦеныСебестоимости) КАК ВидЦеныСебестоимости,
| МАКСИМУМ(Т.ДатаЗаполненияСебестоимостиПоВидуЦены) КАК ДатаЗаполненияСебестоимостиПоВидуЦены,
| МАКСИМУМ(Т.НомерСтроки) КАК НомерСтроки,
| МАКСИМУМ(Т.ИдентификаторСтроки) КАК ИдентификаторСтроки,
| СУММА(Т.СуммаБезНДСРегл) КАК СуммаБезНДСРегл,
| СУММА(Т.СуммаБезНДСУпр) КАК СуммаБезНДСУпр,
| СУММА(Т.СуммаБезНДСРеглПосле) КАК СуммаБезНДСРеглПосле,
| СУММА(Т.СуммаБезНДСУпрПосле) КАК СуммаБезНДСУпрПосле
| ИЗ
| (ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.Номенклатура КАК Номенклатура,
| Товары.НоменклатураПартнера КАК НоменклатураПартнера,
| Товары.КодТНВЭД КАК КодТНВЭД,
| Товары.Характеристика КАК Характеристика,
| Товары.НоменклатураНабора КАК НоменклатураНабора,
| Товары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Товары.Содержание КАК Содержание,
| Товары.Упаковка КАК Упаковка,
| Товары.Серия КАК Серия,
| Товары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Товары.Склад КАК Склад,
| Товары.Подразделение КАК Подразделение,
| Товары.НомерГТД КАК НомерГТД,
| Товары.СтатьяДоходов КАК СтатьяДоходов,
| Товары.АналитикаДоходов КАК АналитикаДоходов,
| Товары.СтавкаНДС КАК СтавкаНДС,
| Товары.Цена КАК Цена,
| Товары.КоличествоУпаковок КАК КоличествоУпаковок,
| Товары.Количество КАК Количество,
| Товары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| Товары.Сумма КАК Сумма,
| Товары.СуммаНДС КАК СуммаНДС,
| Товары.СуммаСНДС КАК СуммаСНДС,
| Товары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК КоличествоУпаковокПосле,
| 0 КАК КоличествоПосле,
| 0 КАК КоличествоПоРНПТПосле,
| 0 КАК СуммаПосле,
| 0 КАК СуммаНДСПосле,
| 0 КАК СуммаСНДСПосле,
| 0 КАК СуммаВзаиморасчетовПосле,
| NULL КАК СпособОпределенияСебестоимости,
| NULL КАК Себестоимость,
| NULL КАК СебестоимостьБезНДС,
| NULL КАК СебестоимостьРегл,
| NULL КАК СебестоимостьПР,
| NULL КАК СебестоимостьВР,
| NULL КАК ВидЦеныСебестоимости,
| NULL КАК ДатаЗаполненияСебестоимостиПоВидуЦены,
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Товары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| Товары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| 0 КАК СуммаБезНДСРеглПосле,
| 0 КАК СуммаБезНДСУпрПосле
| ИЗ
| ВТТовары КАК Товары
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Расхождения.Ссылка,
| Расхождения.Номенклатура,
| Расхождения.НоменклатураПартнера КАК НоменклатураПартнера,
| Расхождения.КодТНВЭД КАК КодТНВЭД,
| Расхождения.Характеристика,
| Расхождения.НоменклатураНабора,
| Расхождения.ХарактеристикаНабора,
| Расхождения.Содержание,
| Расхождения.Упаковка,
| Расхождения.Серия,
| Расхождения.СтатусУказанияСерий,
| Расхождения.Склад,
| Расхождения.Подразделение,
| Расхождения.НомерГТД,
| Расхождения.СтатьяДоходов,
| Расхождения.АналитикаДоходов,
| Расхождения.СтавкаНДС,
| 0,
| -Расхождения.КоличествоУпаковок,
| -Расхождения.Количество,
| -Расхождения.КоличествоПоРНПТ,
| -Расхождения.Сумма,
| -Расхождения.СуммаНДС,
| -Расхождения.СуммаСНДС,
| -Расхождения.СуммаВзаиморасчетов,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| Расхождения.СпособОпределенияСебестоимости,
| Расхождения.Себестоимость КАК Себестоимость,
| Расхождения.СебестоимостьБезНДС КАК СебестоимостьБезНДС,
| Расхождения.СебестоимостьРегл КАК СебестоимостьРегл,
| Расхождения.СебестоимостьПР КАК СебестоимостьПР,
| Расхождения.СебестоимостьВР КАК СебестоимостьВР,
| Расхождения.ВидЦеныСебестоимости КАК ВидЦеныСебестоимости,
| Расхождения.ДатаЗаполненияСебестоимостиПоВидуЦены КАК ДатаЗаполненияСебестоимостиПоВидуЦены,
| 0 КАК НомерСтроки,
| NULL КАК ИдентификаторСтроки,
| -Расхождения.СуммаБезНДСРегл,
| -Расхождения.СуммаБезНДСУпр,
| 0,
| 0
|
| ИЗ
| ВТРасхождения КАК Расхождения) КАК Т
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРасхождения КАК РасхожденияДо
| ПО РасхожденияДо.Ссылка = Т.Ссылка
| И (РасхожденияДо.Номенклатура = Т.Номенклатура)
| И (РасхожденияДо.Номенклатура = Т.Номенклатура)
| И (РасхожденияДо.Характеристика = Т.Характеристика)
| И (РасхожденияДо.НоменклатураНабора = Т.НоменклатураНабора)
| И (РасхожденияДо.ХарактеристикаНабора = Т.ХарактеристикаНабора)
| И (РасхожденияДо.Содержание = Т.Содержание)
| И (РасхожденияДо.Упаковка = Т.Упаковка)
| И (РасхожденияДо.Серия = Т.Серия)
| И (РасхожденияДо.СтатусУказанияСерий = Т.СтатусУказанияСерий)
| И (РасхожденияДо.Склад = Т.Склад)
| И (РасхожденияДо.Подразделение = Т.Подразделение)
| И (РасхожденияДо.НомерГТД = Т.НомерГТД)
| И (РасхожденияДо.СтатьяДоходов = Т.СтатьяДоходов)
| И (РасхожденияДо.АналитикаДоходов = Т.АналитикаДоходов)
| И (РасхожденияДо.СтавкаНДС = Т.СтавкаНДС)
|
| СГРУППИРОВАТЬ ПО
| Т.Ссылка,
| Т.Номенклатура,
| Т.НоменклатураПартнера,
| Т.КодТНВЭД,
| Т.Характеристика,
| Т.НоменклатураНабора,
| Т.ХарактеристикаНабора,
| Т.Содержание,
| Т.Упаковка,
| Т.Серия,
| Т.СтатусУказанияСерий,
| Т.Склад,
| Т.Подразделение,
| Т.НомерГТД,
| Т.СтатьяДоходов,
| Т.АналитикаДоходов,
| Т.СтавкаНДС
|
| ИМЕЮЩИЕ
| (СУММА(Т.КоличествоУпаковок) <> 0
| ИЛИ СУММА(Т.Количество) <> 0
| ИЛИ СУММА(Т.КоличествоПоРНПТ) <> 0
| ИЛИ СУММА(Т.Сумма) <> 0
| ИЛИ СУММА(Т.СуммаНДС) <> 0
| ИЛИ СУММА(Т.СуммаСНДС) <> 0
| ИЛИ СУММА(Т.СуммаВзаиморасчетов) <> 0)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Товары.Ссылка,
| Товары.Номенклатура,
| Товары.НоменклатураПартнера КАК НоменклатураПартнера,
| Товары.КодТНВЭД КАК КодТНВЭД,
| Товары.Характеристика,
| Товары.НоменклатураНабора,
| Товары.ХарактеристикаНабора,
| Товары.Содержание,
| Товары.Упаковка,
| Товары.Серия,
| Товары.СтатусУказанияСерий,
| Товары.Склад,
| Товары.Подразделение,
| Товары.НомерГТД,
| Товары.СтатьяДоходов,
| Товары.АналитикаДоходов,
| NULL,
| NULL,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| Товары.СтавкаНДС,
| Товары.Цена,
| Товары.КоличествоУпаковок,
| Товары.Количество,
| Товары.КоличествоПоРНПТ,
| Товары.Сумма,
| Товары.СуммаНДС,
| Товары.СуммаСНДС,
| Товары.СуммаВзаиморасчетов,
| NULL,
| РасхожденияПосле.ВариантОтражения,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| 0,
| 0,
| Товары.СуммаБезНДСРегл,
| Товары.СуммаБезНДСУпр
| ИЗ
| ВТТовары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРасхождения КАК РасхожденияПосле
| ПО РасхожденияПосле.Ссылка = Товары.Ссылка
| И (РасхожденияПосле.Номенклатура = Товары.Номенклатура)
| И (РасхожденияПосле.Номенклатура = Товары.Номенклатура)
| И (РасхожденияПосле.Характеристика = Товары.Характеристика)
| И (РасхожденияПосле.НоменклатураНабора = Товары.НоменклатураНабора)
| И (РасхожденияПосле.ХарактеристикаНабора = Товары.ХарактеристикаНабора)
| И (РасхожденияПосле.Содержание = Товары.Содержание)
| И (РасхожденияПосле.Упаковка = Товары.Упаковка)
| И (РасхожденияПосле.Серия = Товары.Серия)
| И (РасхожденияПосле.СтатусУказанияСерий = Товары.СтатусУказанияСерий)
| И (РасхожденияПосле.Склад = Товары.Склад)
| И (РасхожденияПосле.Подразделение = Товары.Подразделение)
| И (РасхожденияПосле.НомерГТД = Товары.НомерГТД)
| И (РасхожденияПосле.СтатьяДоходов = Товары.СтатьяДоходов)
| И (РасхожденияПосле.АналитикаДоходов = Товары.АналитикаДоходов)
| И (РасхожденияПосле.СтавкаНДС = Товары.СтавкаНДС)) КАК Таблица
|
|СГРУППИРОВАТЬ ПО
| Таблица.Ссылка,
| Таблица.Номенклатура,
| Таблица.НоменклатураПартнера,
| Таблица.КодТНВЭД,
| Таблица.Характеристика,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора,
| Таблица.Содержание,
| Таблица.Упаковка,
| Таблица.Серия,
| Таблица.СтатусУказанияСерий,
| Таблица.Склад,
| Таблица.Подразделение,
| Таблица.НомерГТД,
| Таблица.СтатьяДоходов,
| Таблица.АналитикаДоходов
|;
|
|УНИЧТОЖИТЬ ВТТовары
|;
|
|УНИЧТОЖИТЬ ВТРасхождения
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтВидыЗапасов() Экспорт
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокументов.Ссылка КАК Основной,
| ДанныеДокументов.Ссылка КАК Подчиненный,
| ДанныеДокументов.Ссылка.МоментВремени КАК МоментВремени
|ПОМЕСТИТЬ ВтСвязанныеДокументы
|ИЗ
| ТаблицаДанныхДокументов КАК ДанныеДокументов
|ГДЕ
| ДанныеДокументов.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТекущийДокумент.Ссылка КАК Основной,
| ТекущийДокумент.ДокументОснование КАК Подчиненный,
| ТекущийДокумент.ДокументОснование.МоментВремени КАК МоментВремени
|ИЗ
| Документ.КорректировкаРеализации КАК ТекущийДокумент
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО ТекущийДокумент.Ссылка = ДанныеДокументов.Ссылка
|ГДЕ
| НЕ ДанныеДокументов.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТекущийДокумент.Ссылка КАК Основной,
| ПредыдущиеДокументы.Ссылка КАК Подчиненный,
| ПредыдущиеДокументы.МоментВремени КАК МоментВремени
|ИЗ
| Документ.КорректировкаРеализации КАК ТекущийДокумент
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО ТекущийДокумент.Ссылка = ДанныеДокументов.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК ПредыдущиеДокументы
| ПО ТекущийДокумент.ДокументОснование = ПредыдущиеДокументы.ДокументОснование
| И (ТекущийДокумент.Дата >= ПредыдущиеДокументы.Дата
| ИЛИ (ТекущийДокумент.Дата = ПредыдущиеДокументы.Дата
| И ТекущийДокумент.Ссылка >= ПредыдущиеДокументы.Ссылка))
|ГДЕ
| ПредыдущиеДокументы.Проведен
| И НЕ ДанныеДокументов.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Основной,
| Корректировки.Ссылка КАК Подчиненный,
| Корректировки.МоментВремени КАК МоментВремени
|ИЗ
| Документ.КорректировкаРеализации КАК Корректировки
|ГДЕ
| Корректировки.ДокументОснование = &ОснованиеНеЗаписанногоДокумента
| И Корректировки.Проведен
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Основной,
| ДанныеОснования.Ссылка КАК Подчиненный,
| ДанныеОснования.МоментВремени КАК МоментВремени
|ИЗ
| Документ.РеализацияТоваровУслуг КАК ДанныеОснования
|ГДЕ
| ДанныеОснования.Ссылка = &ОснованиеНеЗаписанногоДокумента
|
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Основной,
| ДанныеОснования.Ссылка КАК Подчиненный,
| ДанныеОснования.МоментВремени КАК МоментВремени
|ИЗ
| Документ.АктВыполненныхРабот КАК ДанныеОснования
|ГДЕ
| ДанныеОснования.Ссылка = &ОснованиеНеЗаписанногоДокумента
|;
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| СвязанныеДокументы.Основной КАК Основной
|ПОМЕСТИТЬ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам
|ИЗ
| ВтСвязанныеДокументы КАК СвязанныеДокументы
|ГДЕ
| СвязанныеДокументы.Основной ССЫЛКА Документ.КорректировкаРеализации
| И ВЫРАЗИТЬ(СвязанныеДокументы.Подчиненный КАК Документ.КорректировкаРеализации).ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| )
|;
|
|ВЫБРАТЬ
| ВЫРАЗИТЬ(Товары.Ссылка КАК Документ.КорректировкаРеализации) КАК Ссылка,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.Серия КАК Серия,
| СУММА(Товары.КоличествоУпаковокПосле) КАК КоличествоУпаковок,
| СУММА(Товары.КоличествоПосле) КАК Количество,
| СУММА(ВЫБОР
| КОГДА Товары.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| ТОГДА ВидыЗапасов.КоличествоПоРНПТ
| ИНАЧЕ Товары.КоличествоПоРНПТПосле
| КОНЕЦ) КАК КоличествоПоРНПТ,
| СУММА(Товары.СуммаНДСПосле) КАК СуммаНДС,
| СУММА(СуммыРеглТовары.СуммаБезНДСРегл) КАК СуммаБезНДСРегл,
| СУММА(СуммыРеглТовары.СуммаНДСРегл) КАК СуммаНДСРегл,
| СУММА(Товары.СуммаПосле) КАК Сумма,
| СУММА(ВидыЗапасов.СуммаАкциза) КАК СуммаАкциза,
| ВЫБОР
| КОГДА Товары.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| ТОГДА ВидыЗапасов.НомерГТД
| ИНАЧЕ Товары.НомерГТД
| КОНЕЦ КАК НомерГТД,
| ВидыЗапасов.НаДоходыРасходы КАК НаДоходыРасходы
|
|ПОМЕСТИТЬ ВтДанныеКорректировкиПосле
|
|ИЗ
| ВтДанныеПоКорректировкеДоВводаОстатков КАК Товары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
| ПО Товары.Ссылка = СвязанныеДокументы.Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ВидыЗапасов
| ПО Товары.Ссылка = ВидыЗапасов.Ссылка
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = Товары.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = Товары.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = Товары.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = Товары.Ссылка.Склад
| И ((ВидыЗапасов.НомерГТД = Товары.НомерГТД
| И Товары.ВариантОтражения В (ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ПустаяСсылка),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах)))
| ИЛИ (Товары.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| И Товары.ВариантОтражения В (ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализациюУчестьПриИнвентаризации),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализациюУменьшитьСкладскиеОстатки)))
| ИЛИ (Товары.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| И Товары.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализацию)
| И Товары.КоличествоПосле > Товары.Количество))
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммыДокументовВВалютахУчета КАК СуммыРеглТовары
| ПО Товары.Ссылка = СуммыРеглТовары.Ссылка
| И Товары.ИдентификаторСтроки = СуммыРеглТовары.ИдентификаторСтроки
| И &ПересчитыватьВВалютуРегл
|
|СГРУППИРОВАТЬ ПО
| Товары.Ссылка,
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Серия,
| ВЫБОР
| КОГДА Товары.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| ТОГДА ВидыЗапасов.НомерГТД
| ИНАЧЕ Товары.НомерГТД
| КОНЕЦ,
| ВидыЗапасов.НаДоходыРасходы
|
|;
|ВЫБРАТЬ
| СвязанныеДокументы.Основной КАК Ссылка,
| ЛОЖЬ КАК ДоКорректировки,
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка КАК Упаковка,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| ВидыЗапасов.КодТНВЭД КАК КодТНВЭД,
| ВидыЗапасов.КоличествоУпаковок КАК КоличествоУпаковок,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаБезНДСРегл,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
| ) КАК СуммаБезНДС,
|
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаНДСРегл,
| ВидыЗапасов.СуммаНДС
| ) КАК СуммаНДС,
|
| ВидыЗапасов.ЗаказКлиента КАК ЗаказКлиента,
|
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ЛОЖЬ КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов
|
|ПОМЕСТИТЬ ВсеВидыЗапасов
|ИЗ
| Документ.РеализацияТоваровУслуг.ВидыЗапасов КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной КАК Ссылка,
| ИСТИНА КАК ДоКорректировки,
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка КАК Упаковка,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| ВидыЗапасов.КодТНВЭД КАК КодТНВЭД,
| ВидыЗапасов.КоличествоУпаковок КАК КоличествоУпаковок,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаБезНДСРегл,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
| ) КАК СуммаБезНДС,
|
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаНДСРегл,
| ВидыЗапасов.СуммаНДС
| ) КАК СуммаНДС,
|
| ВидыЗапасов.ЗаказКлиента КАК ЗаказКлиента,
|
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ЛОЖЬ КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.РеализацияТоваровУслуг.ВидыЗапасов КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| &ВключаяДоКорректировки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ЛОЖЬ,
| ВидыЗапасов.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.КодТНВЭД,
| 0,
| 0,
| 0 КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаБезНДСРегл,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.СтавкаНДС,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаНДСРегл,
| ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ИСТИНА,
| ВидыЗапасов.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.КодТНВЭД,
| 0,
| 0,
| 0 КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаБезНДСРегл,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.СтавкаНДС,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаНДСРегл,
| ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
| И ВидыЗапасов.Ссылка <> СвязанныеДокументы.Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| &ВключаяДоКорректировки
| И ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ЛОЖЬ,
| ВидыЗапасов.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.КодТНВЭД,
| -ВидыЗапасов.КоличествоУпаковок,
| -ВидыЗапасов.Количество,
| -ВидыЗапасов.КоличествоПоРНПТ,
| -ВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
|
| -ЕСТЬNULL(
| -СуммыРегл.СуммаБезНДСРегл,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.СтавкаНДС,
|
| -ЕСТЬNULL(
| -СуммыРегл.СуммаНДСРегл,
| ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ИСТИНА,
| ВидыЗапасов.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.КодТНВЭД,
| -ВидыЗапасов.КоличествоУпаковок,
| -ВидыЗапасов.Количество,
| -ВидыЗапасов.КоличествоПоРНПТ,
| -ВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
|
| -ЕСТЬNULL(
| -СуммыРегл.СуммаБезНДСРегл,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.СтавкаНДС,
|
| -ЕСТЬNULL(
| -СуммыРегл.СуммаНДСРегл,
| ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
| И ВидыЗапасов.Ссылка <> СвязанныеДокументы.Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| &ВключаяДоКорректировки
| И ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ЛОЖЬ,
| ВидыЗапасов.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.КодТНВЭД,
| ВидыЗапасов.КоличествоУпаковок,
| ВидыЗапасов.Количество,
| ВидыЗапасов.КоличествоПоРНПТ,
| ВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаБезНДСРегл,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.СтавкаНДС,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаНДСРегл,
| ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ИСТИНА,
| ВидыЗапасов.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.КодТНВЭД,
| ВидыЗапасов.КоличествоУпаковок,
| ВидыЗапасов.Количество,
| ВидыЗапасов.КоличествоПоРНПТ,
| ВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаБезНДСРегл,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.СтавкаНДС,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаНДСРегл,
| ВидыЗапасов.СуммаНДС
| ),
|
| ВидыЗапасов.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
| И ВидыЗапасов.Ссылка <> СвязанныеДокументы.Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| &ВключаяДоКорректировки
| И ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
|
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ЛОЖЬ,
| Товары.НомерСтроки,
| Аналитика.КлючАналитики,
| ЕСТЬNULL(АналитикаНаборов.КлючАналитики, ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНаборов.ПустаяСсылка)),
| Товары.Упаковка,
| НЕОПРЕДЕЛЕНО,
| Товары.НомерГТД,
| Товары.КодТНВЭД,
| Товары.КоличествоУпаковок,
| Товары.Количество,
| Товары.КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ЕСТЬNULL(СуммыРегл.СуммаБезНДСРегл, Товары.Сумма),
| Товары.СтавкаНДС,
| ЕСТЬNULL(СуммыРегл.СуммаНДСРегл, Товары.СуммаНДС),
| Товары.ЗаказКлиента,
|
| Товары.СтатьяРасходов КАК СтатьяРасходов,
| Товары.АналитикаРасходов КАК АналитикаРасходов,
| Товары.СписатьНаРасходы КАК СписатьНаРасходы,
| Товары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК Товары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
| ПО Товары.Ссылка = СвязанныеДокументы.Основной
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Расхождения КАК Расхождения
| ПО Товары.Ссылка = Расхождения.Ссылка
| И Товары.Номенклатура = Расхождения.АналитикаУчетаНоменклатуры.Номенклатура
| И Товары.Характеристика = Расхождения.АналитикаУчетаНоменклатуры.Характеристика
| И Товары.Серия = Расхождения.АналитикаУчетаНоменклатуры.Серия
| И Товары.Назначение = Расхождения.АналитикаУчетаНоменклатуры.Назначение
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО Аналитика.Номенклатура = Товары.Номенклатура
| И Аналитика.Характеристика = Товары.Характеристика
| И Аналитика.Серия = Товары.Серия
| И Аналитика.МестоХранения = Товары.Ссылка.Склад
| И Аналитика.Назначение = Товары.Назначение
| И Аналитика.СтатьяКалькуляции = ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНаборов КАК АналитикаНаборов
| ПО АналитикаНаборов.НоменклатураНабора = Товары.НоменклатураНабора
| И АналитикаНаборов.ХарактеристикаНабора = Товары.ХарактеристикаНабора
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО Товары.Ссылка = СуммыРегл.Ссылка
| И Товары.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И &ПересчитыватьВВалютуРегл
|
|ГДЕ
| Товары.Ссылка.ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| )
| И Расхождения.АналитикаУчетаНоменклатуры ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ИСТИНА,
| Товары.НомерСтроки,
| Аналитика.КлючАналитики,
| ЕСТЬNULL(АналитикаНаборов.КлючАналитики, ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНаборов.ПустаяСсылка)),
| Товары.Упаковка,
| НЕОПРЕДЕЛЕНО,
| Товары.НомерГТД,
| Товары.КодТНВЭД,
| Товары.КоличествоУпаковок,
| Товары.Количество,
| Товары.КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ЕСТЬNULL(СуммыРегл.СуммаБезНДСРегл, Товары.Сумма),
| Товары.СтавкаНДС,
| ЕСТЬNULL(СуммыРегл.СуммаНДСРегл, Товары.СуммаНДС),
| Товары.ЗаказКлиента,
|
| Товары.СтатьяРасходов КАК СтатьяРасходов,
| Товары.АналитикаРасходов КАК АналитикаРасходов,
| Товары.СписатьНаРасходы КАК СписатьНаРасходы,
| Товары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК Товары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
| ПО Товары.Ссылка = СвязанныеДокументы.Основной
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Расхождения КАК Расхождения
| ПО Товары.Ссылка = Расхождения.Ссылка
| И Товары.Номенклатура = Расхождения.АналитикаУчетаНоменклатуры.Номенклатура
| И Товары.Характеристика = Расхождения.АналитикаУчетаНоменклатуры.Характеристика
| И Товары.Серия = Расхождения.АналитикаУчетаНоменклатуры.Серия
| И Товары.Назначение = Расхождения.АналитикаУчетаНоменклатуры.Назначение
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО Аналитика.Номенклатура = Товары.Номенклатура
| И Аналитика.Характеристика = Товары.Характеристика
| И Аналитика.Серия = Товары.Серия
| И Аналитика.МестоХранения = Товары.Ссылка.Склад
| И Аналитика.Назначение = Товары.Назначение
| И Аналитика.СтатьяКалькуляции = ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНаборов КАК АналитикаНаборов
| ПО АналитикаНаборов.НоменклатураНабора = Товары.НоменклатураНабора
| И АналитикаНаборов.ХарактеристикаНабора = Товары.ХарактеристикаНабора
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО Товары.Ссылка = СуммыРегл.Ссылка
| И Товары.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| &ВключаяДоКорректировки
| И Товары.Ссылка.ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| )
| И Расхождения.АналитикаУчетаНоменклатуры ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ЛОЖЬ,
| Товары.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| Товары.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.КодТНВЭД,
| Товары.КоличествоУпаковок,
| Товары.Количество,
| Товары.КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ЕСТЬNULL(СуммыРегл.СуммаБезНДСРегл, Товары.Сумма),
| Товары.СтавкаНДС,
| ЕСТЬNULL(СуммыРегл.СуммаНДСРегл, Товары.СуммаНДС),
| Товары.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Товары КАК Товары
| ПО ВидыЗапасов.Ссылка = Товары.Ссылка
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = Товары.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = Товары.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = Товары.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = Товары.Ссылка.Склад
| И ВидыЗапасов.НомерГТД = Товары.НомерГТД
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО Товары.Ссылка = СуммыРегл.Ссылка
| И Товары.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| Товары.Ссылка.ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ИСТИНА,
| Товары.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| Товары.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| Товары.НомерГТД,
| Товары.КодТНВЭД,
| Товары.КоличествоУпаковок,
| Товары.Количество,
| Товары.КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ЕСТЬNULL(СуммыРеглТовары.СуммаБезНДСРегл - СуммыРегл.СуммаБезНДСРегл,
| Товары.Сумма - (ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС)),
| ВидыЗапасов.СтавкаНДС,
| ЕСТЬNULL(СуммыРеглТовары.СуммаНДСРегл - СуммыРегл.СуммаНДСРегл,
| Товары.СуммаНДС - ВидыЗапасов.СуммаНДС),
| ВидыЗапасов.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Товары КАК Товары
| ПО ВидыЗапасов.Ссылка = Товары.Ссылка
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = Товары.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = Товары.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = Товары.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = Товары.Ссылка.Склад
| И ВидыЗапасов.НомерГТД = Товары.НомерГТД
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммыДокументовВВалютахУчета КАК СуммыРеглТовары
| ПО Товары.Ссылка = СуммыРеглТовары.Ссылка
| И Товары.ИдентификаторСтроки = СуммыРеглТовары.ИдентификаторСтроки
| И &ПересчитыватьВВалютуРегл
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| &ВключаяДоКорректировки
| И Товары.Ссылка.ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ЛОЖЬ,
| ВидыЗапасов.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.КодТНВЭД,
| ЕСТЬNULL(Товары.КоличествоУпаковок, 0),
| ЕСТЬNULL(Товары.Количество, 0),
| ЕСТЬNULL(Товары.КоличествоПоРНПТ, 0),
| 0 КАК СуммаАкциза,
| ЕСТЬNULL(СуммыРегл.СуммаБезНДСРегл, ЕСТЬNULL(Товары.Сумма, 0)),
| ВидыЗапасов.СтавкаНДС,
| ЕСТЬNULL(СуммыРегл.СуммаНДСРегл, ЕСТЬNULL(Товары.СуммаНДС, 0)),
| ВидыЗапасов.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Основной
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Товары КАК Товары
| ПО ВидыЗапасов.Ссылка = Товары.Ссылка
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = Товары.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = Товары.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = Товары.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = Товары.Ссылка.Склад
| И ВидыЗапасов.НомерГТД = Товары.НомерГТД
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО Товары.Ссылка = СуммыРегл.Ссылка
| И Товары.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| ВидыЗапасов.Ссылка.ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ЛОЖЬ,
| ВидыЗапасов.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.КодТНВЭД,
| Товары.КоличествоУпаковок,
| Товары.Количество,
| Товары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
| ЕСТЬNULL(Товары.СуммаБезНДСРегл, Товары.Сумма),
| ВидыЗапасов.СтавкаНДС,
| ЕСТЬNULL(Товары.СуммаНДСРегл, Товары.СуммаНДС),
| ВидыЗапасов.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеКорректировкиПосле КАК Товары
| ПО ВидыЗапасов.Ссылка = Товары.Ссылка
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = Товары.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = Товары.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = Товары.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = Товары.Ссылка.Склад
| И ВидыЗапасов.НомерГТД = Товары.НомерГТД
| И ВидыЗапасов.НаДоходыРасходы = Товары.НаДоходыРасходы
|ГДЕ
| ВидыЗапасов.Ссылка.ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ИСТИНА,
| ВидыЗапасов.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.КодТНВЭД,
| ЕСТЬNULL(Товары.КоличествоУпаковок, 0) + ВидыЗапасов.КоличествоУпаковок,
| ЕСТЬNULL(Товары.Количество, 0) + ВидыЗапасов.Количество,
| ЕСТЬNULL(Товары.КоличествоПоРНПТ, 0) + ВидыЗапасов.КоличествоПоРНПТ,
| ВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
| ЕСТЬNULL(СуммыРеглТовары.СуммаБезНДСРегл, ЕСТЬNULL(Товары.Сумма, 0))
| + ЕСТЬNULL(-СуммыРегл.СуммаБезНДСРегл, (ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС)),
| ВидыЗапасов.СтавкаНДС,
| ЕСТЬNULL(СуммыРеглТовары.СуммаНДСРегл, ЕСТЬNULL(Товары.СуммаНДС, 0))
| + ЕСТЬNULL(-СуммыРегл.СуммаНДСРегл, ВидыЗапасов.СуммаНДС),
| ВидыЗапасов.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Основной
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Товары КАК Товары
| ПО ВидыЗапасов.Ссылка = Товары.Ссылка
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = Товары.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = Товары.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = Товары.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = Товары.Ссылка.Склад
| И ВидыЗапасов.НомерГТД = Товары.НомерГТД
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммыДокументовВВалютахУчета КАК СуммыРеглТовары
| ПО Товары.Ссылка = СуммыРеглТовары.Ссылка
| И Товары.ИдентификаторСтроки = СуммыРеглТовары.ИдентификаторСтроки
| И &ПересчитыватьВВалютуРегл
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| &ВключаяДоКорректировки
| И ВидыЗапасов.Ссылка.ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной,
| ИСТИНА,
| ВидыЗапасов.НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов,
| ВидыЗапасов.Упаковка,
| ВидыЗапасов.ВидЗапасов,
| ВидыЗапасов.НомерГТД,
| ВидыЗапасов.КодТНВЭД,
| Товары.КоличествоУпаковок - ВидыЗапасов.КоличествоУпаковок,
| Товары.Количество - ВидыЗапасов.Количество,
| Товары.КоличествоПоРНПТ - ВидыЗапасов.КоличествоПоРНПТ,
| -ВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
| ЕСТЬNULL(Товары.СуммаБезНДСРегл - СуммыРегл.СуммаБезНДСРегл,
| Товары.Сумма - (ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС)),
| ВидыЗапасов.СтавкаНДС,
| ЕСТЬNULL(Товары.СуммаНДСРегл - СуммыРегл.СуммаНДСРегл,
| Товары.СуммаНДС - ВидыЗапасов.СуммаНДС),
| ВидыЗапасов.ЗаказКлиента,
|
| ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеКорректировкиПосле КАК Товары
| ПО ВидыЗапасов.Ссылка = Товары.Ссылка
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = Товары.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = Товары.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = Товары.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = Товары.Ссылка.Склад
| И ВидыЗапасов.НомерГТД = Товары.НомерГТД
| И ВидыЗапасов.НаДоходыРасходы = Товары.НаДоходыРасходы
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| &ВключаяДоКорректировки
| И ВидыЗапасов.Ссылка.ТипКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
| ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| )
|
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной КАК Ссылка,
| ЛОЖЬ КАК ДоКорректировки,
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка) КАК КодТНВЭД,
| ВидыЗапасов.Количество КАК КоличествоУпаковок,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаБезНДСРегл,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
| ) КАК СуммаБезНДС,
|
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаНДСРегл,
| ВидыЗапасов.СуммаНДС
| ) КАК СуммаНДС,
|
| ВидыЗапасов.ЗаказКлиента КАК ЗаказКлиента,
|
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ЛОЖЬ КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.АктВыполненныхРабот.ВидыЗапасов КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СвязанныеДокументы.Основной КАК Ссылка,
| ИСТИНА КАК ДоКорректировки,
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка) КАК КодТНВЭД,
| ВидыЗапасов.Количество КАК КоличествоУпаковок,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаБезНДСРегл,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
| ) КАК СуммаБезНДС,
|
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ЕСТЬNULL(
| СуммыРегл.СуммаНДСРегл,
| ВидыЗапасов.СуммаНДС
| ) КАК СуммаНДС,
|
| ВидыЗапасов.ЗаказКлиента КАК ЗаказКлиента,
|
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ЛОЖЬ КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов
|
|ИЗ
| Документ.АктВыполненныхРабот.ВидыЗапасов КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
| ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
| ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
| И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
| И СуммыРегл.Активность
| И &ПересчитыватьВВалютуРегл
|ГДЕ
| &ВключаяДоКорректировки
|;
|
|ВЫБРАТЬ
| ВсеВидыЗапасов.Ссылка КАК Ссылка,
| ВсеВидыЗапасов.Ссылка.ДокументОснование КАК ДокументОснование,
| ВЫБОР
| КОГДА ВсеВидыЗапасов.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА ЛОЖЬ
| ИНАЧЕ ЕСТЬNULL(ВсеВидыЗапасов.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару, ЛОЖЬ)
| КОНЕЦ КАК ВернутьМногооборотнуюТару,
| ВсеВидыЗапасов.ДоКорректировки КАК ДоКорректировки,
| МАКСИМУМ(ВсеВидыЗапасов.НомерСтроки) КАК НомерСтроки,
| ВсеВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ЕСТЬNULL(КлючиАналитикиУчетаНоменклатуры.Номенклатура,
| ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) КАК Номенклатура,
| ВсеВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ВсеВидыЗапасов.Упаковка КАК Упаковка,
| ВсеВидыЗапасов.НомерГТД КАК НомерГТД,
| ВсеВидыЗапасов.КодТНВЭД КАК КодТНВЭД,
| ВсеВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| СУММА(ВсеВидыЗапасов.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(ВсеВидыЗапасов.Количество) КАК Количество,
| СУММА(ВсеВидыЗапасов.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| СУММА(ВсеВидыЗапасов.СуммаБезНДС) КАК СуммаБезНДС,
| ВсеВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| СУММА(ВсеВидыЗапасов.СуммаНДС) КАК СуммаНДС,
| СУММА(ВсеВидыЗапасов.СуммаБезНДС + ВсеВидыЗапасов.СуммаНДС) КАК СуммаСНДС,
| СУММА(ВсеВидыЗапасов.СуммаАкциза) КАК СуммаАкциза,
|
| ВсеВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
| ВсеВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
| ВсеВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
| ВсеВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
|
|ПОМЕСТИТЬ ВтВидыЗапасов
|ИЗ
| ВсеВидыЗапасов КАК ВсеВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК КлючиАналитикиУчетаНоменклатуры
| ПО ВсеВидыЗапасов.АналитикаУчетаНоменклатуры = КлючиАналитикиУчетаНоменклатуры.Ссылка
|
|СГРУППИРОВАТЬ ПО
| ВсеВидыЗапасов.Ссылка,
| ВсеВидыЗапасов.Ссылка.ДокументОснование,
| ВЫБОР
| КОГДА ВсеВидыЗапасов.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА ЛОЖЬ
| ИНАЧЕ ЕСТЬNULL(ВсеВидыЗапасов.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару, ЛОЖЬ)
| КОНЕЦ,
| ВсеВидыЗапасов.ДоКорректировки,
| ВсеВидыЗапасов.АналитикаУчетаНоменклатуры,
| ЕСТЬNULL(КлючиАналитикиУчетаНоменклатуры.Номенклатура, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)),
| ВсеВидыЗапасов.АналитикаУчетаНаборов,
| ВсеВидыЗапасов.Упаковка,
| ВсеВидыЗапасов.НомерГТД,
| ВсеВидыЗапасов.КодТНВЭД,
| ВсеВидыЗапасов.ВидЗапасов,
| ВсеВидыЗапасов.СтавкаНДС,
| ВсеВидыЗапасов.СтатьяРасходов,
| ВсеВидыЗапасов.АналитикаРасходов,
| ВсеВидыЗапасов.СписатьНаРасходы,
| ВсеВидыЗапасов.АналитикаАктивовПассивов
|;
|
|УНИЧТОЖИТЬ ВсеВидыЗапасов
|;
|
|УНИЧТОЖИТЬ ВтДанныеПоКорректировкеДоВводаОстатков
|;
|
|";
ТекстЗапроса = ТекстЗапросаДанныкКорректировокДоВводаОстатков() + ОбщегоНазначенияУт.РазделительЗапросовВПакете() + ТекстЗапроса;
Возврат ТекстЗапроса;
КонецФункции
Процедура УстановитьПараметрыВтВидыЗапасов(Запрос, ПересчитыватьВВалютуРегл, ВключаяДоКорректировки, ОснованиеНеЗаписанногоДокумента = Неопределено) Экспорт
Запрос.УстановитьПараметр("ПересчитыватьВВалютуРегл", ПересчитыватьВВалютуРегл);
Запрос.УстановитьПараметр("ВключаяДоКорректировки", ВключаяДоКорректировки);
Запрос.УстановитьПараметр("ОснованиеНеЗаписанногоДокумента", ОснованиеНеЗаписанногоДокумента);
СформироватьВТСуммыДокументаВВалютахУчета(Запрос);
КонецПроцедуры
Функция ПолучитьДанныеДляПечатнойФормыАктОбОказанииУслуг(ПараметрыПечати, МассивОбъектов) Экспорт
Запрос = Новый Запрос("ВЫБРАТЬ
| КорректировкаРеализации.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА ПрочаяРеализация.Ссылка ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК КорректировкаПрочейРеализации
|ПОМЕСТИТЬ ДанныеКорректировки
|ИЗ
| Документ.КорректировкаРеализации КАК КорректировкаРеализации
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияУслугПрочихАктивов КАК ПрочаяРеализация
| ПО КорректировкаРеализации.ДокументОснование = ПрочаяРеализация.Ссылка
|ГДЕ
| КорректировкаРеализации.Ссылка В(&МассивДокументов)
|;
|
|
|ВЫБРАТЬ
| КорректировкаРеализации.Ссылка КАК Ссылка,
| КорректировкаРеализации.ДокументОснование.Номер КАК Номер,
| КорректировкаРеализации.ДокументОснование.Дата КАК Дата,
| КорректировкаРеализации.Партнер КАК Партнер,
| КорректировкаРеализации.Контрагент КАК Контрагент,
| КорректировкаРеализации.Организация КАК Организация,
| КорректировкаРеализации.Организация.Префикс КАК Префикс,
| КорректировкаРеализации.Валюта КАК Валюта,
| КорректировкаРеализации.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ВЫБОР
| КОГДА КорректировкаРеализации.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИЛИ КорректировкаРеализации.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК УчитыватьНДС,
| КорректировкаРеализации.Склад.ТекущийОтветственный.Наименование КАК ОтпускПроизвел
|ИЗ
| Документ.КорректировкаРеализации КАК КорректировкаРеализации
|ГДЕ
| КорректировкаРеализации.Ссылка В(&МассивДокументов)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ВариантыКомплектацииНоменклатуры.Ссылка КАК ВариантКомплектацииНоменклатуры,
| ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Содержание КАК Содержание,
| 0 КАК ПроцентСкидки,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Упаковка КАК Упаковка,
| Таблица.СтавкаНДС КАК СтавкаНДС,
| Таблица.Цена КАК Цена,
| Таблица.Количество КАК Количество,
| Таблица.КоличествоУпаковок КАК КоличествоУпаковок,
| Таблица.Сумма КАК Сумма,
| 0 КАК СуммаСкидки,
| Таблица.Сумма КАК СуммаБезСкидки,
| Таблица.СуммаНДС КАК СуммаНДС,
| Таблица.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ Товары
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК Таблица
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеКорректировки КАК ДанныеКорректировки
| ПО Таблица.Ссылка = ДанныеКорректировки.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
| ПО (ВариантыКомплектацииНоменклатуры.Владелец = Таблица.НоменклатураНабора)
| И (ВариантыКомплектацииНоменклатуры.Характеристика = Таблица.ХарактеристикаНабора)
| И (ВариантыКомплектацииНоменклатуры.Основной)
|ГДЕ
| Таблица.Ссылка В(&МассивДокументов)
| И (Таблица.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ИЛИ (Таблица.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ Таблица.Номенклатура.ПрослеживаемыйТовар))
| И НЕ ДанныеКорректировки.КорректировкаПрочейРеализации
|;
|
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| МИНИМУМ(Таблица.НомерСтроки) КАК НомерСтроки,
| СУММА(Таблица.Сумма) КАК Сумма,
| СУММА(Таблица.СуммаНДС) КАК СуммаНДС,
| СУММА(Таблица.СуммаСкидки) КАК СуммаСкидки,
| СУММА(Таблица.СуммаБезСкидки) КАК СуммаБезСкидки
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыПодготовка
|ИЗ
| Товары КАК Таблица
|ГДЕ
| Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
|СГРУППИРОВАТЬ ПО
| Таблица.Ссылка,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТоваров.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ТоварыРазличные
|ИЗ
| Товары КАК ТаблицаТоваров
|;
|
|
|ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.ВариантКомплектацииНоменклатуры КАК ВариантКомплектацииНоменклатуры,
| Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| Товары.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Товары.НоменклатураНабора КАК НоменклатураНабора,
| Товары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА Товары.ВариантКомплектацииНоменклатуры.НоменклатураОсновногоКомпонента = Товары.Номенклатура
| И Товары.ВариантКомплектацииНоменклатуры.ХарактеристикаОсновногоКомпонента = Товары.Характеристика
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ОсновнаяКомплектующая,
| 0 КАК КоличествоПоУмолчанию,
| Товары.Количество КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьПервая
|ИЗ
| Товары КАК Товары
|ГДЕ
| Товары.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТоварыРазличные.Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантРасчетаЦеныНабора,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика,
| ВариантыКомплектацииНоменклатурыТовары.Номенклатура,
| ВариантыКомплектацииНоменклатурыТовары.Характеристика,
| ЛОЖЬ,
| СУММА(ВариантыКомплектацииНоменклатурыТовары.Количество),
| 0
|ИЗ
| Справочник.ВариантыКомплектацииНоменклатуры.Товары КАК ВариантыКомплектацииНоменклатурыТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыРазличные КАК ТоварыРазличные
| ПО (ИСТИНА)
|ГДЕ
| ВариантыКомплектацииНоменклатурыТовары.Ссылка В
| (ВЫБРАТЬ
| Т.ВариантКомплектацииНоменклатуры
| ИЗ
| Товары КАК Т)
|
|СГРУППИРОВАТЬ ПО
| ТоварыРазличные.Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика,
| ВариантыКомплектацииНоменклатурыТовары.Номенклатура,
| ВариантыКомплектацииНоменклатурыТовары.Характеристика,
| ВариантыКомплектацииНоменклатурыТовары.Упаковка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантРасчетаЦеныНабора
|;
|
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.ВариантКомплектацииНоменклатуры КАК ВариантКомплектацииНоменклатуры,
| Таблица.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Таблица.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Характеристика КАК Характеристика,
| МАКСИМУМ(Таблица.ОсновнаяКомплектующая) КАК ОсновнаяКомплектующая,
| СУММА(Таблица.КоличествоПоУмолчанию) КАК КоличествоПоУмолчанию,
| СУММА(Таблица.Количество) КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьВторая
|ИЗ
| ВременнаяТаблицаНаборыДополнительноЧастьПервая КАК Таблица
|
|СГРУППИРОВАТЬ ПО
| Таблица.Ссылка,
| Таблица.ВариантКомплектацииНоменклатуры,
| Таблица.ВариантРасчетаЦеныНабора,
| Таблица.ВариантПредставленияНабораВПечатныхФормах,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора,
| Таблица.Номенклатура,
| Таблица.Характеристика
|;
|
|
|ВЫБРАТЬ
| Результат.Ссылка КАК Ссылка,
| Результат.ВариантКомплектацииНоменклатуры КАК ВариантКомплектацииНоменклатуры,
| Результат.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Результат.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| Результат.НоменклатураНабора КАК НоменклатураНабора,
| Результат.ХарактеристикаНабора КАК ХарактеристикаНабора,
| (ВЫРАЗИТЬ(МИНИМУМ(ВЫБОР
| КОГДА Результат.КоличествоПоУмолчанию <> 0
| И Результат.ОсновнаяКомплектующая
| ТОГДА Результат.Количество / Результат.КоличествоПоУмолчанию
| ИНАЧЕ NULL
| КОНЕЦ) + 0.5 КАК ЧИСЛО(10, 0))) - 1 КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительно
|ИЗ
| ВременнаяТаблицаНаборыДополнительноЧастьВторая КАК Результат
|
|СГРУППИРОВАТЬ ПО
| Результат.Ссылка,
| Результат.ВариантКомплектацииНоменклатуры,
| Результат.ВариантРасчетаЦеныНабора,
| Результат.ВариантПредставленияНабораВПечатныхФормах,
| Результат.НоменклатураНабора,
| Результат.ХарактеристикаНабора
|;
|
|
|ВЫБРАТЬ
| ВременнаяТаблицаНаборыДополнительно.ВариантКомплектацииНоменклатуры КАК ВариантКомплектацииНоменклатуры,
| ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВременнаяТаблицаНаборыДополнительно.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Таблица.Ссылка КАК Ссылка,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Таблица.НомерСтроки КАК НомерСтроки,
| ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК КоличествоУпаковок,
| ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК Количество,
| Таблица.Сумма КАК Сумма,
| Таблица.СуммаНДС КАК СуммаНДС,
| Таблица.СуммаСкидки КАК СуммаСкидки,
| Таблица.СуммаБезСкидки КАК СуммаБезСкидки
|ПОМЕСТИТЬ ВременнаяТаблицаНаборы
|ИЗ
| ВременнаяТаблицаНаборыПодготовка КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборыДополнительно КАК ВременнаяТаблицаНаборыДополнительно
| ПО Таблица.НоменклатураНабора = ВременнаяТаблицаНаборыДополнительно.НоменклатураНабора
| И Таблица.ХарактеристикаНабора = ВременнаяТаблицаНаборыДополнительно.ХарактеристикаНабора
| И Таблица.Ссылка = ВременнаяТаблицаНаборыДополнительно.Ссылка
|;
|
|
|ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| Товары.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Товары.НоменклатураНабора КАК НоменклатураНабора,
| Товары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Товары.ЭтоНабор КАК ЭтоНабор,
| Товары.ЭтоКомплектующие КАК ЭтоКомплектующие,
| Товары.Номенклатура КАК Номенклатура,
| ВЫБОР
| КОГДА
| Товары.Содержание = """"
| ТОГДА
| Товары.Номенклатура.НаименованиеПолное
| ИНАЧЕ
| Товары.Содержание
| КОНЕЦ КАК УслугаНаименованиеПолное,
| Товары.Номенклатура.Код КАК Код,
| Товары.Номенклатура.Артикул КАК Артикул,
| &ТекстЗапросаЕдиницаИзмеренияНаименование КАК ЕдиницаЦены,
| &ТекстЗапросаЕдиницаИзмеренияСсылка КАК ЕдиницаИзмерения,
| &ТекстЗапросаЕдиницаИзмеренияНаименование КАК ЕдиницаИзмеренияНаименование,
| &ТекстЗапросаЕдиницаИзмеренияКод КАК ЕдиницаИзмеренияКод,
| Товары.Характеристика КАК Характеристика,
| Товары.Характеристика.НаименованиеПолное КАК ХарактеристикаНаименованиеПолное,
| ВЫБОР
| КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Товары.Упаковка.Наименование
| КОНЕЦ КАК УпаковкаНаименование,
| Товары.СтавкаНДС КАК СтавкаНДС,
| Товары.Цена КАК Цена,
| Товары.КоличествоУпаковок КАК Количество,
| Товары.Сумма КАК Сумма,
| Товары.СуммаНДС КАК СуммаНДС,
| Товары.СуммаСкидки КАК СуммаСкидки,
| Товары.СуммаБезСкидки КАК СуммаБезСкидки,
| Товары.НомерСтроки КАК НомерСтроки,
| ЛОЖЬ КАК ЭтоВозвратнаяТара
|ИЗ
| (ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
| ТОГДА ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ПустаяСсылка)
| КОНЕЦ КАК ВариантПредставленияНабораВПечатныхФормах,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
| ТОГДА ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)
| КОНЕЦ КАК ВариантРасчетаЦеныНабора,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоКомплектующие,
| ЛОЖЬ КАК ЭтоНабор,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
| ТОГДА ВременнаяТаблицаНаборы.НомерСтроки
| ИНАЧЕ Таблица.НомерСтроки
| КОНЕЦ КАК НомерСтроки,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Содержание КАК Содержание,
| Таблица.Количество КАК Количество,
| Таблица.КоличествоУпаковок КАК КоличествоУпаковок,
| Таблица.Цена КАК Цена,
| Таблица.Сумма КАК Сумма,
| Таблица.СтавкаНДС КАК СтавкаНДС,
| Таблица.СуммаНДС КАК СуммаНДС,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Упаковка КАК Упаковка,
| Таблица.СуммаСкидки КАК СуммаСкидки,
| Таблица.СуммаБезСкидки КАК СуммаБезСкидки
| ИЗ
| Товары КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
| ПО (ВременнаяТаблицаНаборы.НоменклатураНабора = Таблица.НоменклатураНабора)
| И (ВременнаяТаблицаНаборы.ХарактеристикаНабора = Таблица.ХарактеристикаНабора)
| И (ВременнаяТаблицаНаборы.Ссылка = Таблица.Ссылка)
| ГДЕ
| (Таблица.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| И ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоКомплектующие), ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВременнаяТаблицаНаборы.Ссылка,
| ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах,
| ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора,
| ВременнаяТаблицаНаборы.НоменклатураНабора,
| ВременнаяТаблицаНаборы.ХарактеристикаНабора,
| ЛОЖЬ,
| ИСТИНА,
| ВременнаяТаблицаНаборы.НомерСтроки,
| ВременнаяТаблицаНаборы.НоменклатураНабора,
| """" КАК Содержание,
| ВременнаяТаблицаНаборы.Количество,
| ВременнаяТаблицаНаборы.КоличествоУпаковок,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1) <> 0
| ТОГДА ВременнаяТаблицаНаборы.Сумма / ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1)
| ИНАЧЕ 0
| КОНЕЦ,
| ВременнаяТаблицаНаборы.Сумма,
| ВременнаяТаблицаНаборы.НоменклатураНабора.СтавкаНДС,
| ВременнаяТаблицаНаборы.СуммаНДС,
| ВременнаяТаблицаНаборы.ХарактеристикаНабора,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка),
| ВременнаяТаблицаНаборы.СуммаСкидки,
| ВременнаяТаблицаНаборы.СуммаБезСкидки
| ИЗ
| ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
| ГДЕ
| ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоНабор), ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие))) КАК Товары
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаРеализации.Ссылка,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| ЛОЖЬ,
| ЛОЖЬ,
| НЕОПРЕДЕЛЕНО,
| КорректировкаРеализации.Содержание,
| """",
| """",
| """",
| НЕОПРЕДЕЛЕНО,
| """",
| """",
| НЕОПРЕДЕЛЕНО,
| """",
| """",
| КорректировкаРеализации.СтавкаНДС,
| КорректировкаРеализации.Цена,
| КорректировкаРеализации.Количество,
| КорректировкаРеализации.Сумма,
| КорректировкаРеализации.СуммаНДС,
| 0,
| КорректировкаРеализации.Сумма,
| КорректировкаРеализации.НомерСтроки,
| ЛОЖЬ
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК КорректировкаРеализации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеКорректировки КАК ДанныеКорректировки
| ПО КорректировкаРеализации.Ссылка = ДанныеКорректировки.Ссылка
|ГДЕ
| КорректировкаРеализации.Ссылка В(&МассивДокументов)
| И ДанныеКорректировки.КорректировкаПрочейРеализации
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки,
| ЭтоНабор УБЫВ
|ИТОГИ
| СУММА(СуммаСкидки)
|ПО
| Ссылка");
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"Товары.Упаковка",
"Товары.Номенклатура"));
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
"&ТекстЗапросаЕдиницаИзмеренияСсылка",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Ссылка",
"Товары.Упаковка",
"Товары.Номенклатура"));
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
"&ТекстЗапросаЕдиницаИзмеренияНаименование",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Наименование",
"Товары.Упаковка",
"Товары.Номенклатура"));
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
"&ТекстЗапросаЕдиницаИзмеренияКод",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Код",
"Товары.Упаковка",
"Товары.Номенклатура"));
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
МассивРезультатов = Запрос.ВыполнитьПакет();
СтруктураДанныхДляПечати = Новый Структура;
СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", МассивРезультатов[1]);
СтруктураДанныхДляПечати.Вставить("РезультатПоТабличнойЧасти", МассивРезультатов[МассивРезультатов.Количество() - 1]);
Возврат СтруктураДанныхДляПечати;
КонецФункции
Функция ПолучитьДанныеДляПечатнойФормыСоглашениеОбИзмененииСтоимости(ПараметрыПечати, МассивОбъектов) Экспорт
КолонкаКодов = ФормированиеПечатныхФорм.ДополнительнаяКолонкаПечатныхФормДокументов().ИмяКолонки;
Если Не ЗначениеЗаполнено(КолонкаКодов) Тогда
КолонкаКодов = "Код";
КонецЕсли;
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст = "
|ВЫБРАТЬ
| ДанныеДокументов.Ссылка КАК Ссылка,
| ДанныеДокументов.Валюта КАК Валюта,
| ДанныеДокументов.ВидКорректировки КАК ХозяйственнаяОперация,
| ДанныеДокументов.ТипКорректировки КАК ТипКорректировки,
| ДанныеДокументов.Организация КАК Организация
|
|ПОМЕСТИТЬ ТаблицаДанныхДокументов
|ИЗ
| Документ.КорректировкаРеализации КАК ДанныеДокументов
|
|ГДЕ
| ДанныеДокументов.Ссылка В (&МассивОбъектов)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ДанныеДокументов.Ссылка КАК ДокументОснование,
| ЛОЖЬ КАК Корректировочный
|
|ПОМЕСТИТЬ СчетаФактурыОснования
|ИЗ
| ТаблицаДанныхДокументов КАК ДанныеДокументов
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;";
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Запрос.Выполнить();
ПараметрыЗаполнения = ПродажиСервер.ПараметрыЗаполненияВременнойТаблицыТоваров();
ПараметрыЗаполнения.ВключаяДоКорректировки = Истина;
Если ПараметрыПечати.Свойство("ВыводитьГТД") Тогда
ПараметрыЗаполнения.ВключаяНомераГТД = ПараметрыПечати.ВыводитьГТД;
КонецЕсли;
ПоместитьВременнуюТаблицуТоваровДляСоглашенийОбИзмененииСтоимости(МенеджерВременныхТаблиц, ПараметрыЗаполнения);
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТоваров.Номенклатура,
| ТаблицаТоваров.Упаковка КАК Упаковка,
| МИНИМУМ(ВЫБОР
| КОГДА УпаковкиНоменклатуры.Ссылка ЕСТЬ NULL
| ТОГДА 1
| ИНАЧЕ &ТекстЗапросаКоэффициентУпаковки1
| КОНЕЦ) КАК Коэффициент
|ПОМЕСТИТЬ Упаковки
|ИЗ
| КорректировкаРеализацииТаблицаТоваров КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиНоменклатуры
| ПО (УпаковкиНоменклатуры.Родитель = ТаблицаТоваров.Упаковка)
| И (УпаковкиНоменклатуры.Владелец = ТаблицаТоваров.Номенклатура)
|ГДЕ
| НЕ УпаковкиНоменклатуры.ПометкаУдаления
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТоваров.Номенклатура,
| ТаблицаТоваров.Упаковка
|;
|
|
|ВЫБРАТЬ
| Упаковки.Номенклатура,
| Упаковки.Упаковка КАК Упаковка,
| &ТекстЗапросаКоэффициентУпаковки2 КАК КоэффициентУпаковки,
| МИНИМУМ(УпаковкиНоменклатуры.Ссылка) КАК ВложеннаяУпаковка,
| МИНИМУМ(&ТекстЗапросаКоэффициентУпаковки3) КАК КоэффициентВложеннойУпаковки
|ПОМЕСТИТЬ ВложенныеУпаковки
|ИЗ
| Упаковки КАК Упаковки
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиНоменклатуры
| ПО Упаковки.Номенклатура = УпаковкиНоменклатуры.Владелец
| И Упаковки.Коэффициент = &ТекстЗапросаКоэффициентУпаковки3
|ГДЕ
| УпаковкиНоменклатуры.Родитель = Упаковки.Упаковка
|
|СГРУППИРОВАТЬ ПО
| Упаковки.Номенклатура,
| Упаковки.Упаковка,
| &ТекстЗапросаКоэффициентУпаковки2
|;
|
|
|ВЫБРАТЬ
| ТаблицаТоваров.Ссылка,
| ТаблицаТоваров.НомерСтроки,
| ТаблицаТоваров.Содержание,
| ТаблицаТоваров.Номенклатура,
| ТаблицаТоваров.Характеристика,
| ТаблицаТоваров.Упаковка,
| ТаблицаТоваров.НомерГТД,
| ТаблицаТоваров.Количество,
| ТаблицаТоваров.КоличествоУпаковок,
| ТаблицаТоваров.СуммаБезНДС,
| ТаблицаТоваров.СтавкаНДС,
| ТаблицаТоваров.СуммаНДС,
| ТаблицаТоваров.ЭтоТовар,
| ТаблицаТоваров.ДоКорректировки,
| ВЫБОР
| КОГДА ВложенныеУпаковки.ВложеннаяУпаковка ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА 1
| ИНАЧЕ &ТекстЗапросаКоэффициентУпаковки4
| КОНЕЦ
| ИНАЧЕ ВложенныеУпаковки.КоэффициентУпаковки
| КОНЕЦ КАК КоэффициентУпаковки,
| ВЫБОР
| КОГДА ВложенныеУпаковки.ВложеннаяУпаковка ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА 1
| ИНАЧЕ &ТекстЗапросаКоэффициентУпаковки4
| КОНЕЦ
| ИНАЧЕ ВложенныеУпаковки.КоэффициентВложеннойУпаковки
| КОНЕЦ КАК КоэффициентВложеннойУпаковки,
| ВЫБОР
| КОГДА ВложенныеУпаковки.ВложеннаяУпаковка ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ ТаблицаТоваров.Упаковка
| КОНЕЦ
| ИНАЧЕ ВложенныеУпаковки.ВложеннаяУпаковка
| КОНЕЦ КАК ВидУпаковки,
| ТаблицаТоваров.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ТаблицаТоваровСКоэффициентамиУпаковок
|ИЗ
| КорректировкаРеализацииТаблицаТоваров КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ ВложенныеУпаковки КАК ВложенныеУпаковки
| ПО ТаблицаТоваров.Номенклатура = ВложенныеУпаковки.Номенклатура
| И ТаблицаТоваров.Упаковка = ВложенныеУпаковки.Упаковка
|;
|
|
|УНИЧТОЖИТЬ Упаковки
|;
|
|УНИЧТОЖИТЬ ВложенныеУпаковки
|;";
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"УпаковкиНоменклатуры",
"ТаблицаТоваров.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки2",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"Упаковки.Упаковка",
"Упаковки.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки3",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"УпаковкиНоменклатуры",
"Упаковки.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки4",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ТаблицаТоваров.Упаковка",
"ТаблицаТоваров.Номенклатура"));
Запрос.Выполнить();
ОтветственныеЛицаСервер.СформироватьВременнуюТаблицуОтветственныхЛицДокументов(МассивОбъектов, МенеджерВременныхТаблиц);
Запрос.Текст = "
|////////////////////////////////////////////////////////////////////////////
|// ЗАПРОС ПО ШАПКЕ
|
|ВЫБРАТЬ
| КорректировкаРеализации.Ссылка КАК Ссылка,
| КорректировкаРеализации.ДокументОснование КАК ДокументОснование,
| КорректировкаРеализации.Номер КАК Номер,
| КорректировкаРеализации.Дата КАК Дата,
| КорректировкаРеализации.Партнер КАК Партнер,
| КорректировкаРеализации.Контрагент КАК Контрагент,
| КорректировкаРеализации.Организация КАК Организация,
| ТаблицаОтветственныеЛица.РуководительНаименование КАК Руководитель,
| ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
| ТаблицаОтветственныеЛица.ГлавныйБухгалтерНаименование КАК ГлавныйБухгалтер,
| КорректировкаРеализации.Отпустил.Наименование КАК Кладовщик,
| КорректировкаРеализации.ОтпустилДолжность КАК ДолжностьКладовщика,
| КорректировкаРеализации.Организация.Префикс КАК Префикс,
| КорректировкаРеализации.Основание КАК Основание,
|
| ВЫБОР КОГДА КорректировкаРеализации.Грузополучатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) ТОГДА
| КорректировкаРеализации.Контрагент
| ИНАЧЕ
| КорректировкаРеализации.Грузополучатель
| КОНЕЦ КАК Грузополучатель,
|
| ВЫБОР КОГДА КорректировкаРеализации.Грузоотправитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) ТОГДА
| КорректировкаРеализации.Организация
| ИНАЧЕ
| КорректировкаРеализации.Грузоотправитель
| КОНЕЦ КАК Грузоотправитель,
|
| КорректировкаРеализации.БанковскийСчетОрганизации КАК БанковскийСчетОрганизации,
| КорректировкаРеализации.БанковскийСчетКонтрагента КАК БанковскийСчетКонтрагента,
| КорректировкаРеализации.БанковскийСчетГрузоотправителя КАК БанковскийСчетГрузоотправителя,
| КорректировкаРеализации.БанковскийСчетГрузополучателя КАК БанковскийСчетГрузополучателя,
| КорректировкаРеализации.АдресДоставки КАК АдресДоставки,
| Неопределено КАК Подразделение,
| КорректировкаРеализации.Валюта КАК Валюта,
| КорректировкаРеализации.ДоверенностьНомер КАК ДоверенностьНомер,
| КорректировкаРеализации.ДоверенностьДата КАК ДоверенностьДата,
| КорректировкаРеализации.ДоверенностьВыдана КАК ДоверенностьВыдана,
| КорректировкаРеализации.ДоверенностьЛицо КАК ДоверенностьЛицо,
| &ЕдиницаИзмеренияВеса КАК ЕдиницаИзмеренияВеса
|
|ИЗ
| Документ.КорректировкаРеализации КАК КорректировкаРеализации
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО
| КорректировкаРеализации.Ссылка = ДанныеДокументов.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
| ПО
| КорректировкаРеализации.Ссылка = ТаблицаОтветственныеЛица.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////
|// ЗАПРОС ПО ТАБЛИЧНЫМ ЧАСТЯМ
|
|ВЫБРАТЬ
| ВложенныйЗапрос.Ссылка,
| ВложенныйЗапрос.Номенклатура,
| ВложенныйЗапрос.НаименованиеНоменклатуры,
| ВложенныйЗапрос.НоменклатураКод,
| ВложенныйЗапрос.ЕдиницаИзмерения,
| ВложенныйЗапрос.ЕдиницаИзмеренияНаименование,
| ВложенныйЗапрос.ЕдиницаИзмеренияКод,
| ВложенныйЗапрос.Характеристика,
| ВложенныйЗапрос.НаименованиеХарактеристики,
| ВложенныйЗапрос.Упаковка,
| ВложенныйЗапрос.УпаковкаНаименование,
| ВложенныйЗапрос.ВидУпаковки,
| ВложенныйЗапрос.СтавкаНДС,
| ВложенныйЗапрос.НомерГТД,
| ВложенныйЗапрос.СтранаПроисхождения,
| СУММА(ВложенныйЗапрос.Количество) КАК Количество,
| СУММА(ВложенныйЗапрос.КоличествоДоКорректировки) КАК КоличествоДоКорректировки,
| СУММА(ВложенныйЗапрос.КоличествоМест) КАК КоличествоМест,
| СУММА(ВложенныйЗапрос.КоличествоМестДоКорректировки) КАК КоличествоМестДоКорректировки,
| СУММА(ВложенныйЗапрос.КоличествоВОдномМесте) КАК КоличествоВОдномМесте,
| СУММА(ВложенныйЗапрос.КоличествоВОдномМестеДоКорректировки) КАК КоличествоВОдномМестеДоКорректировки,
| СУММА(ВложенныйЗапрос.Цена) КАК Цена,
| СУММА(ВложенныйЗапрос.ЦенаДоКорректировки) КАК ЦенаДоКорректировки,
| СУММА(ВложенныйЗапрос.СуммаБезНДС) КАК СуммаБезНДС,
| СУММА(ВложенныйЗапрос.СуммаБезНДСДоКорректировки) КАК СуммаБезНДСДоКорректировки,
| СУММА(ВложенныйЗапрос.СуммаСНДС) КАК СуммаСНДС,
| СУММА(ВложенныйЗапрос.СуммаСНДСДоКорректировки) КАК СуммаСНДСДоКорректировки,
| СУММА(ВложенныйЗапрос.СуммаНДС) КАК СуммаНДС,
| СУММА(ВложенныйЗапрос.СуммаНДСДоКорректировки) КАК СуммаНДСДоКорректировки,
| СУММА(ВложенныйЗапрос.МассаНетто) КАК МассаНетто,
| СУММА(ВложенныйЗапрос.МассаНеттоДоКорректировки) КАК МассаНеттоДоКорректировки,
| СУММА(ВложенныйЗапрос.МассаБрутто) КАК МассаБрутто,
| СУММА(ВложенныйЗапрос.МассаБруттоДоКорректировки) КАК МассаБруттоДоКорректировки,
| МАКСИМУМ(ВложенныйЗапрос.НомерСтроки) КАК НомерСтроки,
| ВложенныйЗапрос.ЭтоВозвратнаяТара
|
|ИЗ
| (ВЫБРАТЬ
| ТаблицаТоваров.Ссылка КАК Ссылка,
| ТаблицаТоваров.Номенклатура КАК Номенклатура,
| ТаблицаТоваров.Номенклатура.НаименованиеПолное КАК НаименованиеНоменклатуры,
|
| ВЫБОР КОГДА &КолонкаКодов = ""Артикул"" ТОГДА
| ТаблицаТоваров.Номенклатура.Артикул
| ИНАЧЕ
| ТаблицаТоваров.Номенклатура.Код
| КОНЕЦ КАК НоменклатураКод,
|
| ВЫБОР КОГДА &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ
| &ТекстЗапросаЕдиницаИзмерения
| КОНЕЦ КАК ЕдиницаИзмерения,
|
| ВЫБОР КОГДА &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Наименование
| ИНАЧЕ
| &ТекстЗапросаНаименованиеЕдиницыИзмерения1
| КОНЕЦ КАК ЕдиницаИзмеренияНаименование,
|
| ВЫБОР КОГДА &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Код
| ИНАЧЕ
| &ТекстЗапросаКодЕдиницыИзмерения
| КОНЕЦ КАК ЕдиницаИзмеренияКод,
|
| ТаблицаТоваров.Характеристика КАК Характеристика,
| ТаблицаТоваров.Характеристика.НаименованиеПолное КАК НаименованиеХарактеристики,
| ТаблицаТоваров.Упаковка КАК Упаковка,
|
| ВЫБОР КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1 ТОГДА
| """"
| ИНАЧЕ
| ТаблицаТоваров.Упаковка.Наименование
| КОНЕЦ КАК УпаковкаНаименование,
|
| ВЫБОР КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА
| ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Наименование
| ИНАЧЕ
| ВЫБОР КОГДА &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| &ТекстЗапросаНаименованиеЕдиницыИзмерения1
| ИНАЧЕ
| &ТекстЗапросаНаименованиеЕдиницыИзмерения2
| КОНЕЦ
| КОНЕЦ КАК ВидУпаковки,
|
| ТаблицаТоваров.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТоваров.НомерГТД КАК НомерГТД,
| ТаблицаТоваров.НомерГТД.СтранаПроисхождения КАК СтранаПроисхождения,
|
| ВЫБОР КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.КоличествоУпаковок
| ИНАЧЕ
| ТаблицаТоваров.Количество
| КОНЕЦ КАК Количество,
| 0 КАК КоличествоДоКорректировки,
| ВЫБОР КОГДА &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.КоличествоУпаковок
| ИНАЧЕ
| ТаблицаТоваров.Количество / ТаблицаТоваров.КоэффициентВложеннойУпаковки
| КОНЕЦ КАК КоличествоМест,
| 0 КАК КоличествоМестДоКорректировки,
| ВЫБОР КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ВЫБОР КОГДА ТаблицаТоваров.Количество < ТаблицаТоваров.КоэффициентВложеннойУпаковки ТОГДА
| ТаблицаТоваров.Количество
| ИНАЧЕ
| ТаблицаТоваров.КоэффициентВложеннойУпаковки
| КОНЕЦ
| ИНАЧЕ
| ВЫБОР КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА
| 1
| ИНАЧЕ
| &ТекстЗапросаКоэффициентУпаковки
| КОНЕЦ
| КОНЕЦ КАК КоличествоВОдномМесте,
| 0 КАК КоличествоВОдномМестеДоКорректировки,
|
| ВЫБОР КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.СуммаБезНДС / ТаблицаТоваров.КоличествоУпаковок
| ИНАЧЕ
| ТаблицаТоваров.СуммаБезНДС / ТаблицаТоваров.Количество
| КОНЕЦ КАК Цена,
| 0 КАК ЦенаДоКорректировки,
|
| ТаблицаТоваров.СуммаБезНДС КАК СуммаБезНДС,
| 0 КАК СуммаБезНДСДоКорректировки,
|
| ТаблицаТоваров.СуммаНДС КАК СуммаНДС,
| 0 КАК СуммаНДСДоКорректировки,
|
| ТаблицаТоваров.СуммаБезНДС + ТаблицаТоваров.СуммаНДС КАК СуммаСНДС,
| 0 КАК СуммаСНДСДоКорректировки,
|
| ТаблицаТоваров.Количество * &ТекстЗапросаВес КАК МассаНетто,
| 0 КАК МассаНеттоДоКорректировки,
|
| ВЫБОР КОГДА &ЗаполненаЕдиницаИзмеренияВеса ТОГДА
| ВЫБОР КОГДА ТаблицаТоваров.Упаковка.Вес ЕСТЬ NULL ТОГДА
| ТаблицаТоваров.Количество * &ТекстЗапросаВес1
| ИНАЧЕ
| ТаблицаТоваров.КоличествоУпаковок * &ТекстЗапросаВес1
| КОНЕЦ
| ИНАЧЕ
| 0
| КОНЕЦ КАК МассаБрутто,
| 0 КАК МассаБруттоДоКорректировки,
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ЛОЖЬ КАК ЭтоВозвратнаяТара
|
| ИЗ
| ТаблицаТоваровСКоэффициентамиУпаковок КАК ТаблицаТоваров
|
| ГДЕ
| НЕ ТаблицаТоваров.ДоКорректировки
| И (ТаблицаТоваров.ЭтоТовар ИЛИ &ВыводитьУслуги)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТаблицаТоваров.Ссылка,
| ТаблицаТоваров.Номенклатура,
| ТаблицаТоваров.Номенклатура.НаименованиеПолное,
|
| ВЫБОР КОГДА &КолонкаКодов = ""Артикул"" ТОГДА
| ТаблицаТоваров.Номенклатура.Артикул
| ИНАЧЕ
| ТаблицаТоваров.Номенклатура.Код
| КОНЕЦ,
|
| ВЫБОР КОГДА &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ
| &ТекстЗапросаЕдиницаИзмерения
| КОНЕЦ,
|
| ВЫБОР КОГДА &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Наименование
| ИНАЧЕ
| &ТекстЗапросаНаименованиеЕдиницыИзмерения1
| КОНЕЦ,
|
| ВЫБОР КОГДА &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Код
| ИНАЧЕ
| &ТекстЗапросаКодЕдиницыИзмерения
| КОНЕЦ,
|
| ТаблицаТоваров.Характеристика,
| ТаблицаТоваров.Характеристика.НаименованиеПолное,
| ТаблицаТоваров.Упаковка,
|
| ВЫБОР КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1 ТОГДА
| """"
| ИНАЧЕ
| ТаблицаТоваров.Упаковка.Наименование
| КОНЕЦ,
|
| ВЫБОР КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА
| ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Наименование
| ИНАЧЕ
| ВЫБОР КОГДА &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| &ТекстЗапросаНаименованиеЕдиницыИзмерения1
| ИНАЧЕ
| &ТекстЗапросаНаименованиеЕдиницыИзмерения2
| КОНЕЦ
| КОНЕЦ,
|
| ТаблицаТоваров.СтавкаНДС,
| ТаблицаТоваров.НомерГТД,
| ТаблицаТоваров.НомерГТД.СтранаПроисхождения,
|
| 0,
| ВЫБОР КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.КоличествоУпаковок
| ИНАЧЕ
| ТаблицаТоваров.Количество
| КОНЕЦ,
|
| 0,
| ВЫБОР КОГДА &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.КоличествоУпаковок
| ИНАЧЕ
| ТаблицаТоваров.Количество / ТаблицаТоваров.КоэффициентВложеннойУпаковки
| КОНЕЦ,
|
| 0,
| ВЫБОР КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ВЫБОР КОГДА ТаблицаТоваров.Количество < ТаблицаТоваров.КоэффициентВложеннойУпаковки ТОГДА
| ТаблицаТоваров.Количество
| ИНАЧЕ
| ТаблицаТоваров.КоэффициентВложеннойУпаковки
| КОНЕЦ
| ИНАЧЕ
| ВЫБОР КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА
| 1
| ИНАЧЕ
| &ТекстЗапросаКоэффициентУпаковки
| КОНЕЦ
| КОНЕЦ,
|
| 0,
| ВЫБОР КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения ТОГДА
| ТаблицаТоваров.СуммаБезНДС / ТаблицаТоваров.КоличествоУпаковок
| ИНАЧЕ
| ТаблицаТоваров.СуммаБезНДС / ТаблицаТоваров.Количество
| КОНЕЦ,
|
| 0,
| ТаблицаТоваров.СуммаБезНДС,
|
| 0,
| ТаблицаТоваров.СуммаНДС,
|
| 0,
| ТаблицаТоваров.СуммаБезНДС + ТаблицаТоваров.СуммаНДС,
|
| 0,
| ТаблицаТоваров.Количество * &ТекстЗапросаВес КАК МассаНеттоДоКорректировки,
|
| 0,
| ВЫБОР КОГДА &ЗаполненаЕдиницаИзмеренияВеса ТОГДА
| ВЫБОР КОГДА ТаблицаТоваров.Упаковка.Вес ЕСТЬ NULL ТОГДА
| ТаблицаТоваров.Количество * &ТекстЗапросаВес1
| ИНАЧЕ
| ТаблицаТоваров.КоличествоУпаковок * &ТекстЗапросаВес1
| КОНЕЦ
| ИНАЧЕ
| 0
| КОНЕЦ,
| NULL,
| ЛОЖЬ
|
| ИЗ
| ТаблицаТоваровСКоэффициентамиУпаковок КАК ТаблицаТоваров
|
| ГДЕ
| ТаблицаТоваров.ДоКорректировки
| И (ТаблицаТоваров.ЭтоТовар ИЛИ &ВыводитьУслуги)) КАК ВложенныйЗапрос
|
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Ссылка,
| ВложенныйЗапрос.Номенклатура,
| ВложенныйЗапрос.НаименованиеНоменклатуры,
| ВложенныйЗапрос.НоменклатураКод,
| ВложенныйЗапрос.ЕдиницаИзмерения,
| ВложенныйЗапрос.ЕдиницаИзмеренияНаименование,
| ВложенныйЗапрос.ЕдиницаИзмеренияКод,
| ВложенныйЗапрос.Характеристика,
| ВложенныйЗапрос.НаименованиеХарактеристики,
| ВложенныйЗапрос.Упаковка,
| ВложенныйЗапрос.УпаковкаНаименование,
| ВложенныйЗапрос.ВидУпаковки,
| ВложенныйЗапрос.СтавкаНДС,
| ВложенныйЗапрос.НомерГТД,
| ВложенныйЗапрос.СтранаПроисхождения,
| ВложенныйЗапрос.ЭтоВозвратнаяТара
|
|УПОРЯДОЧИТЬ ПО
| Ссылка,
| НомерСтроки
|
|ИТОГИ ПО
| Ссылка
|;";
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ТаблицаТоваров.Упаковка",
"ТаблицаТоваров.Номенклатура"));
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
"&ТекстЗапросаВес1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаВесУпаковки(
"ТаблицаТоваров.Упаковка",
"ТаблицаТоваров.Номенклатура"));
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
"&ТекстЗапросаВес",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаВесУпаковки(
"ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения",
"ТаблицаТоваров.Номенклатура"));
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
"&ТекстЗапросаЕдиницаИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Ссылка",
"ТаблицаТоваров.Упаковка",
"ТаблицаТоваров.Номенклатура"));
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
"&ТекстЗапросаНаименованиеЕдиницыИзмерения1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Наименование",
"ТаблицаТоваров.Упаковка",
"ТаблицаТоваров.Номенклатура"));
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
"&ТекстЗапросаНаименованиеЕдиницыИзмерения2",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Наименование",
"ТаблицаТоваров.ВидУпаковки",
"ТаблицаТоваров.Номенклатура"));
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
"&ТекстЗапросаКодЕдиницыИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Код",
"ТаблицаТоваров.Упаковка",
"ТаблицаТоваров.Номенклатура"));
Запрос.УстановитьПараметр("ВыводитьУслуги", ПараметрыПечати.ВыводитьУслуги);
Запрос.УстановитьПараметр("КолонкаКодов", КолонкаКодов);
Запрос.УстановитьПараметр("ЕдиницаИзмеренияВеса", Константы.ЕдиницаИзмеренияВеса.Получить());
Запрос.УстановитьПараметр("ЗаполненаЕдиницаИзмеренияВеса", ЗначениеЗаполнено(Константы.ЕдиницаИзмеренияВеса.Получить()));
Запрос.УстановитьПараметр("ВыводитьБазовыеЕдиницыИзмерения", Константы.ВыводитьБазовыеЕдиницыИзмерения.Получить());
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатПоШапке = МассивРезультатов[0];
РезультатПоТабличнойЧасти = МассивРезультатов[1];
СтруктураДанныхДляПечати = Новый Структура;
СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", РезультатПоШапке);
СтруктураДанныхДляПечати.Вставить("РезультатПоТабличнойЧасти", РезультатПоТабличнойЧасти);
Возврат СтруктураДанныхДляПечати;
КонецФункции
Функция СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати)
УстановитьПривилегированныйРежим(Истина);
КолонкаКодов = ФормированиеПечатныхФорм.ДополнительнаяКолонкаПечатныхФормДокументов();
ИмяКолонкиКодов = КолонкаКодов.ИмяКолонки;
ПредставлениеКолонкиКодов = КолонкаКодов.ПредставлениеКолонки;
ВыводитьКоды = ЗначениеЗаполнено(ИмяКолонкиКодов);
Запрос = Новый Запрос(
"ВЫБРАТЬ
| КорректировкаРеализации.Ссылка КАК Ссылка,
| КорректировкаРеализации.ДокументОснование.Номер КАК Номер,
| КорректировкаРеализации.ДокументОснование.Дата КАК Дата,
| КорректировкаРеализации.Партнер КАК Партнер,
| КорректировкаРеализации.Контрагент КАК Получатель,
| КорректировкаРеализации.Организация КАК Организация,
| КорректировкаРеализации.Организация.Префикс КАК Префикс,
| КорректировкаРеализации.Валюта КАК Валюта,
| КорректировкаРеализации.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ВЫБОР
| КОГДА КорректировкаРеализации.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИЛИ КорректировкаРеализации.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК УчитыватьНДС,
| КорректировкаРеализации.Отпустил КАК ОтпускПроизвел
|ИЗ
| Документ.КорректировкаРеализации КАК КорректировкаРеализации
|ГДЕ
| КорректировкаРеализации.Ссылка В(&МассивДокументов)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ВложенныйЗапрос.Ссылка КАК Ссылка,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК ТоварНаименованиеПолное,
| ВложенныйЗапрос.Номенклатура.Код КАК Код,
| ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул,
| ВложенныйЗапрос.ЕдиницаИзмерения.Наименование КАК ЕдиницаЦены,
| ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ВложенныйЗапрос.Характеристика.НаименованиеПолное КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) = 1
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВложенныйЗапрос.Упаковка.Наименование
| КОНЕЦ КАК Упаковка,
| ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС,
| ВложенныйЗапрос.Цена КАК Цена,
| ВложенныйЗапрос.Количество КАК Количество,
| ВложенныйЗапрос.Сумма КАК Сумма,
| ВложенныйЗапрос.СуммаНДС КАК СуммаНДС,
| ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ВложенныйЗапрос.Ссылка.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА ВложенныйЗапрос.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару
| И ВложенныйЗапрос.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоВозвратнаяТара
|ИЗ
| (ВЫБРАТЬ
| КорректировкаРеализации.Ссылка КАК Ссылка,
| КорректировкаРеализации.Номенклатура КАК Номенклатура,
| ВЫБОР
| КОГДА КорректировкаРеализации.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА 1
| ИНАЧЕ &ТекстЗапросаКоэффициентУпаковки2
| КОНЕЦ КАК Коэффициент,
| &ТекстЗапросаЕдиницаИзмерения КАК ЕдиницаИзмерения,
| КорректировкаРеализации.Характеристика КАК Характеристика,
| КорректировкаРеализации.Упаковка КАК Упаковка,
| КорректировкаРеализации.СтавкаНДС КАК СтавкаНДС,
| КорректировкаРеализации.Цена КАК Цена,
| КорректировкаРеализации.КоличествоУпаковок КАК Количество,
| КорректировкаРеализации.Сумма КАК Сумма,
| КорректировкаРеализации.СуммаНДС КАК СуммаНДС,
| КорректировкаРеализации.НомерСтроки КАК НомерСтроки
| ИЗ
| Документ.КорректировкаРеализации.Товары КАК КорректировкаРеализации
| ГДЕ
| КорректировкаРеализации.Ссылка В(&МассивДокументов)
| И КорректировкаРеализации.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))) КАК ВложенныйЗапрос
|
|УПОРЯДОЧИТЬ ПО
| ВложенныйЗапрос.Ссылка,
| НомерСтроки
|ИТОГИ ПО
| Ссылка");
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ВложенныйЗапрос.Упаковка",
"ВложенныйЗапрос.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки2",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"КорректировкаРеализации.Упаковка",
"КорректировкаРеализации.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаЕдиницаИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Ссылка",
"КорректировкаРеализации.Упаковка",
"КорректировкаРеализации.Номенклатура"));
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_КорректировкаРеализации_Накладная";
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатДанныеПечати = МассивРезультатов[0];
РезультатВыборкаПоДокументам = МассивРезультатов[1];
ДанныеПечати = РезультатДанныеПечати.Выбрать();
ВыборкаПоДокументам = РезультатВыборкаПоДокументам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ПервыйДокумент = Истина;
Пока ДанныеПечати.Следующий() Цикл
СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
НайденСледующий = ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска);
Если НайденСледующий Тогда
ВыборкаПоТоварам = ВыборкаПоДокументам.Выбрать();
ЕстьНДС = ДанныеПечати.УчитыватьНДС;
ВыборкаПоТоварам.Сбросить();
Иначе
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В документе %1 отсутствуют товары. Печать накладной не требуется'"),
ДанныеПечати.Ссылка);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
Текст,
ДанныеПечати.Ссылка);
Продолжить;
КонецЕсли;
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.КорректировкаРеализации.ПФ_MXL_РеализацияТоваров");
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(
ДанныеПечати,
НСтр("ru = 'Реализация товаров'", ОбщегоНазначения.КодОсновногоЯзыка()));
ОбластьМакета.Параметры.ТекстЗаголовка = ТекстЗаголовка;
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата), "ПолноеНаименование");
ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика;
ОбластьМакета.Параметры.Поставщик = ДанныеПечати.Организация;
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Получатель, ДанныеПечати.Дата), "ПолноеНаименование");
ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя;
ОбластьМакета.Параметры.Получатель = ДанныеПечати.Получатель;
ТабличныйДокумент.Вывести(ОбластьМакета);
ШапкаТаблицы = ?(ЕстьНДС, "ШапкаТаблицыСНДС", "ШапкаТаблицы");
СтрокаТаблицы = ?(ЕстьНДС, "СтрокаТаблицыСНДС", "СтрокаТаблицы");
Товар = ?(ЕстьНДС, "ТоварСНДС", "Товар");
Данные = ?(ЕстьНДС, "ДанныеСНДС", "Данные");
ОбластьКолонкаТовар = Макет.Область("ПерваяКолонкаТовара");
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки
+ ?(ВыводитьКоды, 0, Макет.Область("КолонкаКодов").ШиринаКолонки)
;
ОбластьНомера = Макет.ПолучитьОбласть(ШапкаТаблицы + "|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть(ШапкаТаблицы + "|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть(ШапкаТаблицы + "|" + Товар);
ОбластьДанных = Макет.ПолучитьОбласть(ШапкаТаблицы + "|" + Данные);
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ОбластьКодов.Параметры.ИмяКолонкиКодов = ПредставлениеКолонкиКодов;
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
ТабличныйДокумент.Присоединить(ОбластьДанных);
ОбластьНомера = Макет.ПолучитьОбласть(СтрокаТаблицы + "|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть(СтрокаТаблицы + "|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть(СтрокаТаблицы + "|" + Товар);
ОбластьДанных = Макет.ПолучитьОбласть(СтрокаТаблицы + "|" + Данные);
Сумма = 0;
СуммаНДС = 0;
НомерСтроки = 0;
Пока ВыборкаПоТоварам.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;
ОбластьНомера.Параметры.НомерСтроки = НомерСтроки;
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ОбластьКодов.Параметры.Артикул = ВыборкаПоТоварам[ИмяКолонкиКодов];
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ОбластьТовар.Параметры.Заполнить(ВыборкаПоТоварам);
ДополнительныеПараметрыПолученияНаименованияДляПечати = НоменклатураКлиентСервер.ДополнительныеПараметрыПредставлениеНоменклатурыДляПечати();
ДополнительныеПараметрыПолученияНаименованияДляПечати.ВозвратнаяТара = ВыборкаПоТоварам.ЭтоВозвратнаяТара;
ДополнительныеПараметрыПолученияНаименованияДляПечати.КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
ОбластьТовар.Параметры.Товар = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ВыборкаПоТоварам.ТоварНаименованиеПолное,
ВыборкаПоТоварам.Характеристика,
,
,
ДополнительныеПараметрыПолученияНаименованияДляПечати);
ТабличныйДокумент.Присоединить(ОбластьТовар);
ОбластьДанных.Параметры.Заполнить(ВыборкаПоТоварам);
ТабличныйДокумент.Присоединить(ОбластьДанных);
Сумма = Сумма + ВыборкаПоТоварам.Сумма;
СуммаНДС = СуммаНДС + ВыборкаПоТоварам.СуммаНДС;
КонецЦикла;
ПодвалТаблицы = ?(ЕстьНДС, "ПодвалТаблицыСНДС", "ПодвалТаблицы");
ОбластьНомера = Макет.ПолучитьОбласть(ПодвалТаблицы + "|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть(ПодвалТаблицы + "|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть(ПодвалТаблицы + "|" + Товар);
ОбластьДанных = Макет.ПолучитьОбласть(ПодвалТаблицы + "|" + Данные);
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
ОбластьДанных.Параметры.Всего = ФормированиеПечатныхФорм.ФорматСумм(Сумма);
ТабличныйДокумент.Присоединить(ОбластьДанных);
Область = Макет.ПолучитьОбласть("ПодвалНДС");
Область.Параметры.ВсегоНДС = СуммаНДС;
Если ЕстьНДС Тогда
Область.Параметры.НДС = ?(ДанныеПечати.ЦенаВключаетНДС,
НСтр("ru = 'В том числе НДС:'", ОбщегоНазначения.КодОсновногоЯзыка()),
НСтр("ru = 'Сумма НДС:'", ОбщегоНазначения.КодОсновногоЯзыка()));
Иначе
Область.Параметры.НДС = НСтр("ru = 'Без налога (НДС)'", ОбщегоНазначения.КодОсновногоЯзыка());
КонецЕсли;
ТабличныйДокумент.Присоединить(Область);
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
СуммаКПрописи = Сумма + ?(ДанныеПечати.ЦенаВключаетНДС, 0, СуммаНДС);
ИтоговаяСтрока = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Всего наименований %1, на сумму %2'", ОбщегоНазначения.КодОсновногоЯзыка()),
ВыборкаПоТоварам.Количество(),
ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ДанныеПечати.Валюта));
ОбластьМакета.Параметры.ИтоговаяСтрока = ИтоговаяСтрока;
ОбластьМакета.Параметры.СуммаПрописью = РаботаСКурсамиВалютУТ.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеПечати.Валюта);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
Если ЗначениеЗаполнено(ДанныеПечати.ОтпускПроизвел) Тогда
ОбластьМакета.Параметры.ОтпускПроизвел = ФизическиеЛицаУТ.ФамилияИнициалыФизЛица(ДанныеПечати.ОтпускПроизвел, ДанныеПечати.Дата);
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакета);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
Если ПривилегированныйРежим() Тогда
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
Возврат ТабличныйДокумент;
КонецФункции
Функция СформироватьПечатнуюФормуРеестрНомеровГТД(МассивОбъектов, ОбъектыПечати)
УстановитьПривилегированныйРежим(Истина);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_КорректировкаРеализации_РеестрНомеровГТД";
КолонкаКодов = ФормированиеПечатныхФорм.ДополнительнаяКолонкаПечатныхФормДокументов();
ИмяКолонкиКодов = КолонкаКодов.ИмяКолонки;
ПредставлениеКолонкиКодов = КолонкаКодов.ПредставлениеКолонки;
ВыводитьКоды = ЗначениеЗаполнено(ИмяКолонкиКодов);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "
|ВЫБРАТЬ
| ДанныеДокументов.Ссылка КАК Ссылка,
| ДанныеДокументов.ВидКорректировки КАК ХозяйственнаяОперация,
| ДанныеДокументов.ТипКорректировки КАК ТипКорректировки
|
|ПОМЕСТИТЬ ТаблицаДанныхДокументов
|ИЗ
| Документ.КорректировкаРеализации КАК ДанныеДокументов
|
|ГДЕ
| ДанныеДокументов.Ссылка В (&МассивОбъектов)
|;";
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Запрос.Выполнить();
Запрос.Текст = ТекстЗапросаВтВидыЗапасов() + "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаВидыЗапасов.Ссылка КАК Ссылка
|
|ПОМЕСТИТЬ ВтТаблицаДокументов
|ИЗ
| ВтВидыЗапасов КАК ТаблицаВидыЗапасов
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК КлючиАналитики
| ПО ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры = КлючиАналитики.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО КлючиАналитики.Номенклатура = ДанныеНоменклатуры.Ссылка
|
|ГДЕ
| ТаблицаВидыЗапасов.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| И НЕ ДанныеНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|;
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.ДокументОснование.Номер КАК Номер,
| ДанныеДокумента.ДокументОснование.Дата КАК Дата,
| ДанныеДокумента.Организация.Префикс КАК Префикс,
| ДанныеДокумента.Менеджер.ФизическоеЛицо КАК МенеджерФизическоеЛицо
|ИЗ
| Документ.КорректировкаРеализации КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ВтТаблицаДокументов КАК ТаблицаДокументов
| ПО
| ДанныеДокумента.Ссылка = ТаблицаДокументов.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.Ссылка КАК Ссылка,
| ПРЕДСТАВЛЕНИЕ(ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ЕдиницаИзмерения) КАК ПредставлениеБазовойЕдиницыИзмерения,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.Код КАК Код,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.Артикул КАК Артикул,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.НаименованиеПолное КАК Номенклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика.НаименованиеПолное КАК Характеристика,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.НомерГТД.СтранаПроисхождения КАК СтранаПроисхождения,
| ВЫБОР
| КОГДА
| ТаблицаВидыЗапасов.ВернутьМногооборотнуюТару
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ЭтоВозвратнаяТара,
| СУММА(ТаблицаВидыЗапасов.Количество) КАК Количество
|ИЗ
| ВтВидыЗапасов КАК ТаблицаВидыЗапасов
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаДокументов КАК ТаблицаДокументов
| ПО ТаблицаВидыЗапасов.Ссылка = ТаблицаДокументов.Ссылка
|
|ГДЕ
| ТаблицаВидыЗапасов.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| И НЕ ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|
|
|СГРУППИРОВАТЬ ПО
| ТаблицаВидыЗапасов.Ссылка,
| ТаблицаВидыЗапасов.НомерСтроки,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ЕдиницаИзмерения,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.Код,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.Артикул,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.НаименованиеПолное,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика.НаименованиеПолное,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры,
| ТаблицаВидыЗапасов.НомерГТД,
| ТаблицаВидыЗапасов.НомерГТД.СтранаПроисхождения,
| ТаблицаВидыЗапасов.ВернутьМногооборотнуюТару
|
|ИМЕЮЩИЕ
| СУММА(ТаблицаВидыЗапасов.Количество) > 0
|
|УПОРЯДОЧИТЬ ПО
| Ссылка,
| ТаблицаВидыЗапасов.НомерСтроки
|
|ИТОГИ ПО
| Ссылка
|;
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка
|ИЗ
| Документ.КорректировкаРеализации КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтТаблицаДокументов КАК ТаблицаДокументов
| ПО
| ДанныеДокумента.Ссылка = ТаблицаДокументов.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка В(&МассивОбъектов)
| И ТаблицаДокументов.Ссылка ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|";
УстановитьПараметрыВтВидыЗапасов(
Запрос,
Ложь,
Ложь,);
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.КорректировкаРеализации.ПФ_MXL_РеестрНомеровГТД");
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатДанныеПечати = МассивРезультатов[13];
РезультатПоДокументам = МассивРезультатов[14];
РезультатПоДокументамБезГТД = МассивРезультатов[15];
ДанныеПечати = РезультатДанныеПечати.Выбрать();
ВыборкаПоДокументам = РезультатПоДокументам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ВыборкаПоДокументамБезГТД = РезультатПоДокументамБезГТД.Выбрать();
ПервыйДокумент = Истина;
ДопПараметрыПредставлениеНоменклатуры = НоменклатураКлиентСервер.ДополнительныеПараметрыПредставлениеНоменклатурыДляПечати();
ДопПараметрыПредставлениеНоменклатуры.КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
Пока ДанныеПечати.Следующий() Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
Область = Макет.ПолучитьОбласть("Шапка");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, Область, ДанныеПечати.Ссылка);
Область.Параметры.ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(
ДанныеПечати,
НСтр("ru = 'Реестр номеров ГТД к накладной'", ОбщегоНазначения.КодОсновногоЯзыка()));
Область.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(
ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата),
"ПолноеНаименование");
Область.Параметры.ПредставлениеПартнера = ФормированиеПечатныхФорм.ОписаниеОрганизации(
ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата),
"ПолноеНаименование");
ТабличныйДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("ШапкаТаблицы|НачалоСтроки");
ТабличныйДокумент.Вывести(Область);
Если ВыводитьКоды Тогда
Область = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
Область.Параметры.ИмяКолонкиКодов = ПредставлениеКолонкиКодов;
ТабличныйДокумент.Присоединить(Область);
КонецЕсли;
Область = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаТоваров");
ТабличныйДокумент.Присоединить(Область);
НомерСтроки = 1;
СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска);
ВыборкаПоТоварам = ВыборкаПоДокументам.Выбрать();
Пока ВыборкаПоТоварам.Следующий() Цикл
Область = Макет.ПолучитьОбласть("СтрокаТаблицы|НачалоСтроки");
Область.Параметры.НомерСтроки = НомерСтроки;
НомерСтроки = НомерСтроки + 1;
ТабличныйДокумент.Вывести(Область);
Если ВыводитьКоды Тогда
Область = Макет.ПолучитьОбласть("СтрокаТаблицы|КолонкаКодов");
Область.Параметры.ЗначениеКода = ВыборкаПоТоварам[ИмяКолонкиКодов];
ТабличныйДокумент.Присоединить(Область);
КонецЕсли;
Область = Макет.ПолучитьОбласть("СтрокаТаблицы|КолонкаТоваров");
Область.Параметры.Заполнить(ВыборкаПоТоварам);
Область.Параметры.Товар = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ВыборкаПоТоварам.Номенклатура,
ВыборкаПоТоварам.Характеристика,
,
,
ДопПараметрыПредставлениеНоменклатуры);
ТабличныйДокумент.Присоединить(Область);
КонецЦикла;
Область = Макет.ПолучитьОбласть("ПодвалТаблицы|НачалоСтроки");
ТабличныйДокумент.Вывести(Область);
Если ВыводитьКоды Тогда
Область = Макет.ПолучитьОбласть("ПодвалТаблицы|КолонкаКодов");
ТабличныйДокумент.Присоединить(Область);
КонецЕсли;
Область = Макет.ПолучитьОбласть("ПодвалТаблицы|КолонкаТоваров");
ТабличныйДокумент.Присоединить(Область);
Область = Макет.ПолучитьОбласть("Подписи");
Область.Параметры.ИтоговаяСтрока = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Всего наименований %1'", ОбщегоНазначения.КодОсновногоЯзыка()), Строка(НомерСтроки - 1));
Если ЗначениеЗаполнено(ДанныеПечати.МенеджерФизическоеЛицо) Тогда
Область.Параметры.Менеджер = ФизическиеЛицаУТ.ФамилияИнициалыФизЛица(ДанныеПечати.МенеджерФизическоеЛицо, ДанныеПечати.Дата);
КонецЕсли;
ТабличныйДокумент.Вывести(Область);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецЦикла;
Пока ВыборкаПоДокументамБезГТД.Следующий() Цикл
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В документе %1 отсутствуют товары с номерами ГТД. Печать реестра номеров ГТД не требуется.'"),
Строка(ВыборкаПоДокументамБезГТД.Ссылка));
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
Текст,
ВыборкаПоДокументамБезГТД.Ссылка);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
Если ПривилегированныйРежим() Тогда
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
Возврат ТабличныйДокумент;
КонецФункции
Процедура ЗаполнитьСтруктуруПолучателейПечатныхФорм(СтруктураДанныхОбъектаПечати) Экспорт
СтруктураДанныхОбъектаПечати.ОсновнойПолучатель = "Партнер";
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Партнер");
Если ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровИКонтрагентов") Тогда
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Контрагент");
КонецЕсли;
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Грузоотправитель");
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Грузополучатель");
КонецПроцедуры
Функция ПолучитьДанныеДляПечатнойФормыСчетаНаОплату(ПараметрыПечати, МассивОбъектов, КодЯзыка = Неопределено) Экспорт
Возврат ДанныеДляПечатныхФормСчетаНаОплатуИзвещения(ПараметрыПечати, МассивОбъектов, КодЯзыка);
КонецФункции
Функция ДанныеДляПечатныхФормСчетаНаОплатуИзвещения(ПараметрыПечати, МассивОбъектов, КодЯзыка = Неопределено) Экспорт
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ОтветственныеЛицаСервер.СформироватьВременнуюТаблицуОтветственныхЛицДокументов(МассивОбъектов, МенеджерВременныхТаблиц);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| Документы.Ссылка КАК Ссылка,
| Документы.ДокументОснование.Номер КАК Номер,
| Документы.ДокументОснование.Дата КАК Дата,
| НЕОПРЕДЕЛЕНО КАК ДокументОснование,
| ЕСТЬNULL(Документы.БанковскийСчетОрганизации.Владелец, Документы.Организация) КАК Организация,
| Документы.Организация КАК ОрганизацияПоставщик,
| ТаблицаОтветственныеЛица.РуководительНаименование КАК Руководитель,
| ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
| ТаблицаОтветственныеЛица.ГлавныйБухгалтерНаименование КАК ГлавныйБухгалтер,
| ВЫБОР
| КОГДА Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИЛИ Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК УчитыватьНДС,
| Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя) КАК ОперацияОблагаетсяНДСУПокупателя,
| Документы.Контрагент КАК Контрагент,
| Документы.Контрагент.ЮрФизЛицо КАК КонтрагентЮрФизЛицо,
| Документы.БанковскийСчетОрганизации КАК БанковскийСчет,
|
| ВЫБОР КОГДА Документы.БанковскийСчетОрганизации.ИностранныйБанк
| ИЛИ Документы.БанковскийСчетОрганизации.ВалютаДенежныхСредств <> Документы.Организация.ВалютаРегламентированногоУчета
| ИЛИ Документы.БанковскийСчетКонтрагента.ИностранныйБанк ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ПлатежЗаРубеж,
| Документы.БанковскийСчетОрганизации.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
| Документы.БанковскийСчетОрганизации.СчетВБанкеДляРасчетов КАК СчетВБанкеДляРасчетов,
| ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ) КАК ЭтоСчетЦифровогоРубля,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА Документы.БанковскийСчетОрганизации.ИдентификаторСчетаЦифровогоРубля
| ИНАЧЕ Документы.БанковскийСчетОрганизации.НомерСчета
| КОНЕЦ КАК НомерБанковскогоСчета,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.БИКБанка
| ИНАЧЕ КлассификаторБанков.Код
| КОНЕЦ КАК БИКБанк,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанка
| ИНАЧЕ КлассификаторБанков.Наименование
| КОНЕЦ КАК НаименованиеБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.КоррСчетБанка
| ИНАЧЕ КлассификаторБанков.КоррСчет
| КОНЕЦ КАК КоррСчетБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанка
| ИНАЧЕ КлассификаторБанков.Город
| КОНЕЦ КАК ГородБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.БИКБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Код
| КОНЕЦ КАК БИКБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Наименование
| КОНЕЦ КАК НаименованиеБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.КоррСчетБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.КоррСчет
| КОНЕЦ КАК КоррСчетБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Город
| КОНЕЦ КАК ГородБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаМеждународное
| ИНАЧЕ КлассификаторБанков.МеждународноеНаименование
| КОНЕЦ КАК НаименованиеБанкаМеждународное,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СВИФТБанка
| ИНАЧЕ КлассификаторБанков.СВИФТБИК
| КОНЕЦ КАК СВИФТБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаМеждународный
| ИНАЧЕ КлассификаторБанков.ГородМеждународный
| КОНЕЦ КАК ГородБанкаМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанка
| ИНАЧЕ КлассификаторБанков.Адрес
| КОНЕЦ КАК АдресБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанкаМеждународный
| ИНАЧЕ КлассификаторБанков.АдресМеждународный
| КОНЕЦ КАК АдресБанкаМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СтранаБанка
| ИНАЧЕ СтраныБанков.Ссылка
| КОНЕЦ КАК СтранаБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаДляРасчетовМеждународное
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.МеждународноеНаименование
| КОНЕЦ КАК НаименованиеБанкаДляРасчетовМеждународное,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СВИФТБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.СВИФТБИК
| КОНЕЦ КАК СВИФТБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаДляРасчетовМеждународный
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.ГородМеждународный
| КОНЕЦ КАК ГородБанкаДляРасчетовМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанкаДляРасчетовМеждународный
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.АдресМеждународный
| КОНЕЦ КАК АдресБанкаДляРасчетовМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Адрес
| КОНЕЦ КАК АдресБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СтранаБанкаДляРасчетов
| ИНАЧЕ СтраныБанковКорреспондентовРФ.Ссылка
| КОНЕЦ КАК СтранаБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА """"
| ИНАЧЕ ЕСТЬNULL(КлассификаторБанков.БИКРКЦ.Наименование, """")
| КОНЕЦ КАК НаименованиеРКЦБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА """"
| ИНАЧЕ ЕСТЬNULL(КлассификаторБанковКорреспондентовРФ.БИКРКЦ.Наименование, """")
| КОНЕЦ КАК НаименованиеРКЦБанкаДляРасчетов,
| Документы.БанковскийСчетОрганизации.ТекстКорреспондента КАК БанковскийСчетТекстКорреспондента,
| Документы.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| Документы.Валюта КАК Валюта,
| Документы.Менеджер.ФизическоеЛицо КАК Менеджер,
| Документы.СуммаДокумента КАК СуммаКВозврату,
| ЛОЖЬ КАК ЧастичнаяОплата,
| """" КАК НазначениеПлатежа,
| 100 КАК ПроцентОплаты,
| """" КАК ДополнительнаяИнформация,
| Документы.СуммаДокумента КАК СуммаДокумента,
| Документы.Грузоотправитель КАК Грузоотправитель,
| Документы.Грузополучатель КАК Грузополучатель,
| """" КАК ИдентификаторПлатежа,
| ЛОЖЬ КАК СчетКВозврату
|ИЗ
| Документ.КорректировкаРеализации КАК Документы
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
| ПО Документы.Ссылка = ТаблицаОтветственныеЛица.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанков
| ПО Документы.БанковскийСчетОрганизации.Банк = КлассификаторБанков.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтраныМира КАК СтраныБанков
| ПО КлассификаторБанков.КодСтраны = СтраныБанков.Код
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанковКорреспондентовРФ
| ПО Документы.БанковскийСчетОрганизации.БанкДляРасчетов = КлассификаторБанковКорреспондентовРФ.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтраныМира КАК СтраныБанковКорреспондентовРФ
| ПО КлассификаторБанковКорреспондентовРФ.КодСтраны = СтраныБанковКорреспондентовРФ.Код
| ЛЕВОЕ СОЕДИНЕНИЕ Константы
| ПО ИСТИНА
|ГДЕ
| Документы.Ссылка В(&МассивОбъектов)
|
|УПОРЯДОЧИТЬ ПО
| Документы.МоментВремени
|;
|
|
|ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Ссылка,
| 0 КАК НомерСтроки,
| НЕОПРЕДЕЛЕНО КАК ДатаПлатежа,
| 0 КАК ПроцентПлатежа,
| 0 КАК СуммаПлатежа,
| ИСТИНА КАК ЭтоЗалогЗаТару
|ГДЕ
| ЛОЖЬ
|;
|
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
|
| ВариантыКомплектацииНоменклатуры.Ссылка КАК ВариантКомплектацииНоменклатуры,
| ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
|
| Таблица.НомерСтроки КАК НомерСтроки,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Содержание КАК Содержание,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Упаковка КАК Упаковка,
| Таблица.Количество КАК Количество,
| Таблица.КоличествоУпаковок КАК КоличествоУпаковок,
| Таблица.Цена КАК Цена,
| Таблица.Сумма КАК Сумма,
| Таблица.СтавкаНДС КАК СтавкаНДС,
| Таблица.СуммаНДС КАК СуммаНДС,
| ВЫБОР
| КОГДА Таблица.Ссылка.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА Таблица.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару
| И Таблица.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоВозвратнаяТара,
| 0 КАК СуммаСкидки,
| Таблица.Сумма КАК СуммаБезСкидки
|ПОМЕСТИТЬ Товары
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК Таблица
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
| ПО ВариантыКомплектацииНоменклатуры.Владелец = Таблица.НоменклатураНабора
| И ВариантыКомплектацииНоменклатуры.Характеристика = Таблица.ХарактеристикаНабора
| И ВариантыКомплектацииНоменклатуры.Основной
|
|ГДЕ
| Таблица.Ссылка В(&МассивОбъектов)
|;
|
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| МИНИМУМ(Таблица.НомерСтроки) КАК НомерСтроки,
| СУММА(Таблица.Сумма) КАК Сумма,
| СУММА(Таблица.СуммаНДС) КАК СуммаНДС,
| СУММА(Таблица.СуммаСкидки) КАК СуммаСкидки,
| СУММА(Таблица.СуммаБезСкидки) КАК СуммаБезСкидки
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыПодготовка
|ИЗ
| Товары КАК Таблица
|ГДЕ
| Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
|СГРУППИРОВАТЬ ПО
| Таблица.Ссылка,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТоваров.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ТоварыРазличные
|ИЗ
| Товары КАК ТаблицаТоваров
|;
|
|
|ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.ВариантКомплектацииНоменклатуры КАК ВариантКомплектацииНоменклатуры,
| Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| Товары.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Товары.НоменклатураНабора,
| Товары.ХарактеристикаНабора,
| Товары.Номенклатура,
| Товары.Характеристика,
| ВЫБОР КОГДА Товары.ВариантКомплектацииНоменклатуры.НоменклатураОсновногоКомпонента = Товары.Номенклатура
| И Товары.ВариантКомплектацииНоменклатуры.ХарактеристикаОсновногоКомпонента = Товары.Характеристика ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ОсновнаяКомплектующая,
| 0 КАК КоличествоПоУмолчанию,
| Товары.Количество КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьПервая
|ИЗ
| Товары КАК Товары
|ГДЕ
| Товары.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТоварыРазличные.Ссылка КАК Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка КАК ВариантКомплектацииНоменклатуры,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец КАК НоменклатураНабора,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика КАК ХарактеристикаНабора,
| ВариантыКомплектацииНоменклатурыТовары.Номенклатура КАК Номенклатура,
| ВариантыКомплектацииНоменклатурыТовары.Характеристика КАК Характеристика,
| ЛОЖЬ КАК ОсновнаяКомплектующая,
| СУММА(ВариантыКомплектацииНоменклатурыТовары.Количество) КАК КоличествоПоУмолчанию,
| 0 КАК Количество
|ИЗ
| Справочник.ВариантыКомплектацииНоменклатуры.Товары КАК ВариантыКомплектацииНоменклатурыТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыРазличные КАК ТоварыРазличные
| ПО ИСТИНА
|ГДЕ
| ВариантыКомплектацииНоменклатурыТовары.Ссылка В (ВЫБРАТЬ Т.ВариантКомплектацииНоменклатуры ИЗ Товары КАК Т)
|
|СГРУППИРОВАТЬ ПО
| ТоварыРазличные.Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика,
| ВариантыКомплектацииНоменклатурыТовары.Номенклатура,
| ВариантыКомплектацииНоменклатурыТовары.Характеристика,
| ВариантыКомплектацииНоменклатурыТовары.Упаковка
|;
|
|
|ВЫБРАТЬ
| Таблица.Ссылка,
| Таблица.ВариантКомплектацииНоменклатуры,
| Таблица.ВариантРасчетаЦеныНабора,
| Таблица.ВариантПредставленияНабораВПечатныхФормах,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора,
| Таблица.Номенклатура,
| Таблица.Характеристика,
| МАКСИМУМ(Таблица.ОсновнаяКомплектующая) КАК ОсновнаяКомплектующая,
| СУММА(Таблица.КоличествоПоУмолчанию) КАК КоличествоПоУмолчанию,
| СУММА(Таблица.Количество) КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьВторая
|ИЗ
| ВременнаяТаблицаНаборыДополнительноЧастьПервая КАК Таблица
|
|СГРУППИРОВАТЬ ПО
| Таблица.Ссылка,
| Таблица.ВариантКомплектацииНоменклатуры,
| Таблица.ВариантРасчетаЦеныНабора,
| Таблица.ВариантПредставленияНабораВПечатныхФормах,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора,
| Таблица.Номенклатура,
| Таблица.Характеристика
|;
|
|
|ВЫБРАТЬ
| Результат.Ссылка,
| Результат.ВариантКомплектацииНоменклатуры,
| Результат.ВариантРасчетаЦеныНабора,
| Результат.ВариантПредставленияНабораВПечатныхФормах,
| Результат.НоменклатураНабора,
| Результат.ХарактеристикаНабора,
| ВЫРАЗИТЬ(МИНИМУМ(ВЫБОР
| КОГДА Результат.КоличествоПоУмолчанию <> 0 И Результат.ОсновнаяКомплектующая
| ТОГДА Результат.Количество / Результат.КоличествоПоУмолчанию
| ИНАЧЕ NULL
| КОНЕЦ) + 0.5 КАК Число(10,0)) - 1 КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительно
|ИЗ
| ВременнаяТаблицаНаборыДополнительноЧастьВторая КАК Результат
|СГРУППИРОВАТЬ ПО
| Результат.Ссылка,
| Результат.ВариантКомплектацииНоменклатуры,
| Результат.ВариантРасчетаЦеныНабора,
| Результат.ВариантПредставленияНабораВПечатныхФормах,
| Результат.НоменклатураНабора,
| Результат.ХарактеристикаНабора
|;
|
|
|ВЫБРАТЬ
| ВременнаяТаблицаНаборыДополнительно.ВариантКомплектацииНоменклатуры,
| ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВременнаяТаблицаНаборыДополнительно.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Таблица.Ссылка КАК Ссылка,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Таблица.НомерСтроки КАК НомерСтроки,
| ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК КоличествоУпаковок,
| ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК Количество,
| Таблица.Сумма КАК Сумма,
| Таблица.СуммаНДС КАК СуммаНДС,
| Таблица.СуммаСкидки КАК СуммаСкидки,
| Таблица.СуммаБезСкидки КАК СуммаБезСкидки
|ПОМЕСТИТЬ ВременнаяТаблицаНаборы
|ИЗ
| ВременнаяТаблицаНаборыПодготовка КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборыДополнительно КАК ВременнаяТаблицаНаборыДополнительно
| ПО Таблица.НоменклатураНабора = ВременнаяТаблицаНаборыДополнительно.НоменклатураНабора
| И Таблица.ХарактеристикаНабора = ВременнаяТаблицаНаборыДополнительно.ХарактеристикаНабора
| И Таблица.Ссылка = ВременнаяТаблицаНаборыДополнительно.Ссылка
|;
|
|
|ВЫБРАТЬ
|
| Товары.Ссылка КАК Ссылка,
| Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| Товары.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Товары.НоменклатураНабора КАК НоменклатураНабора,
| ЕСТЬNULL(НоменклатураНабораПредставления.НаименованиеПолное, Товары.НоменклатураНабора.НаименованиеПолное) КАК НоменклатураНабораНаименованиеПолное,
| Товары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ЕСТЬNULL(ХарактеристикиНоменклатурыНабораПредставления.НаименованиеПолное, ЕСТЬNULL(Товары.ХарактеристикаНабора.НаименованиеПолное, """")) КАК ХарактеристикаНабораНаименованиеПолное,
| Товары.ЭтоНабор КАК ЭтоНабор,
| Товары.ЭтоКомплектующие КАК ЭтоКомплектующие,
|
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Номенклатура.Код КАК Код,
| Товары.Номенклатура.Артикул КАК Артикул,
| ЕСТЬNULL(НоменклатураПредставления.НаименованиеПолное, Товары.Номенклатура.НаименованиеПолное) КАК НаименованиеПолное,
| &ТекстЗапросаНаименованиеЕдиницыИзмерения КАК ЕдиницаИзмерения,
| Товары.КоличествоУпаковок КАК Количество,
| Товары.Цена КАК Цена,
| Товары.Сумма КАК Сумма,
| Товары.СтавкаНДС КАК СтавкаНДС,
| Товары.СуммаНДС КАК СуммаНДС,
| НЕОПРЕДЕЛЕНО КАК ВидЦеныИсполнителя,
| ЕСТЬNULL(ХарактеристикиНоменклатурыПредставления.НаименованиеПолное, ЕСТЬNULL(Товары.Характеристика.НаименованиеПолное, """")) КАК Характеристика,
| ВЫБОР КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1 ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| Товары.Упаковка.Наименование
| КОНЕЦ КАК Упаковка,
| Товары.СуммаСкидки КАК СуммаСкидки,
| Товары.СуммаБезСкидки КАК СуммаБезСкидки,
| Товары.ЭтоВозвратнаяТара КАК ЭтоВозвратнаяТара
|ИЗ (
| ВЫБРАТЬ
| Таблица.Ссылка,
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
| ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ПустаяСсылка)
| КОНЕЦ КАК ВариантПредставленияНабораВПечатныхФормах,
|
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
| ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)
| КОНЕЦ КАК ВариантРасчетаЦеныНабора,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора,
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ЭтоКомплектующие,
| ЛОЖЬ КАК ЭтоНабор,
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
| ВременнаяТаблицаНаборы.НомерСтроки
| ИНАЧЕ
| Таблица.НомерСтроки
| КОНЕЦ КАК НомерСтроки,
| Таблица.Номенклатура,
| Таблица.Количество,
| Таблица.КоличествоУпаковок,
| Таблица.Цена,
| Таблица.Сумма,
| Таблица.СтавкаНДС,
| Таблица.СуммаНДС,
| Таблица.Характеристика,
| Таблица.Упаковка,
| Таблица.СуммаСкидки,
| Таблица.СуммаБезСкидки,
| Таблица.Содержание,
| Таблица.ЭтоВозвратнаяТара
| ИЗ
| Товары КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
| ПО ВременнаяТаблицаНаборы.НоменклатураНабора = Таблица.НоменклатураНабора
| И ВременнаяТаблицаНаборы.ХарактеристикаНабора = Таблица.ХарактеристикаНабора
| И ВременнаяТаблицаНаборы.Ссылка = Таблица.Ссылка
|
| ГДЕ
| Таблица.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ (Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| И ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоКомплектующие),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВременнаяТаблицаНаборы.Ссылка,
| ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах,
| ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| ВременнаяТаблицаНаборы.НоменклатураНабора,
| ВременнаяТаблицаНаборы.ХарактеристикаНабора,
| ЛОЖЬ КАК ЭтоКомплектующие,
| ИСТИНА КАК ЭтоНабор,
| ВременнаяТаблицаНаборы.НомерСтроки,
| ВременнаяТаблицаНаборы.НоменклатураНабора,
| ВременнаяТаблицаНаборы.Количество,
| ВременнаяТаблицаНаборы.КоличествоУпаковок,
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1) <> 0 ТОГДА
| (ВременнаяТаблицаНаборы.Сумма) / ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1)
| ИНАЧЕ
| 0
| КОНЕЦ КАК Цена,
| ВременнаяТаблицаНаборы.Сумма КАК Сумма,
| ВременнаяТаблицаНаборы.НоменклатураНабора.СтавкаНДС,
| ВременнаяТаблицаНаборы.СуммаНДС,
| ВременнаяТаблицаНаборы.ХарактеристикаНабора,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| ВременнаяТаблицаНаборы.СуммаСкидки,
| ВременнаяТаблицаНаборы.СуммаБезСкидки,
| """",
| ЛОЖЬ
| ИЗ
| ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
| ГДЕ
| ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоНабор),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие))
|) КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.Представления КАК НоменклатураПредставления
| ПО (Товары.Номенклатура = НоменклатураПредставления.Ссылка
| И НоменклатураПредставления.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.Представления КАК ХарактеристикиНоменклатурыПредставления
| ПО (Товары.Характеристика = ХарактеристикиНоменклатурыПредставления.Ссылка
| И ХарактеристикиНоменклатурыПредставления.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.Представления КАК НоменклатураНабораПредставления
| ПО (Товары.НоменклатураНабора = НоменклатураНабораПредставления.Ссылка
| И НоменклатураНабораПредставления.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.Представления КАК ХарактеристикиНоменклатурыНабораПредставления
| ПО (Товары.ХарактеристикаНабора = ХарактеристикиНоменклатурыНабораПредставления.Ссылка
| И ХарактеристикиНоменклатурыНабораПредставления.КодЯзыка = &КодЯзыка)
|
|УПОРЯДОЧИТЬ ПО
| Товары.НомерСтроки,
| ЭтоНабор УБЫВ
|";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"Товары.Упаковка",
"Товары.Номенклатура"));
Если ЗначениеЗаполнено(КодЯзыка)
И Не КодЯзыка = ОбщегоНазначения.КодОсновногоЯзыка() Тогда
НаименованиеУпаковкиЕдиницыИзмерения = "МеждународноеСокращение";
Иначе
НаименованиеУпаковкиЕдиницыИзмерения = "Наименование";
КонецЕсли;
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаНаименованиеЕдиницыИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
НаименованиеУпаковкиЕдиницыИзмерения,
"Товары.Упаковка",
"Товары.Номенклатура"));
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Запрос.УстановитьПараметр("КодЯзыка", КодЯзыка);
ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
СтруктураДанныхДляПечати = Новый Структура;
СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", ПакетРезультатовЗапроса[0]);
СтруктураДанныхДляПечати.Вставить("РезультатПоЭтапамОплаты", ПакетРезультатовЗапроса[1]);
СтруктураДанныхДляПечати.Вставить("РезультатПоТабличнойЧасти", ПакетРезультатовЗапроса[ПакетРезультатовЗапроса.Количество() - 1]);
Возврат СтруктураДанныхДляПечати;
КонецФункции
Функция ДанныеДляПечатиДебетКредитНота(ПараметрыПечати, МассивОбъектов, ДебетКредитНота, КодЯзыка) Экспорт
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ОтветственныеЛицаСервер.СформироватьВременнуюТаблицуОтветственныхЛицДокументов(МассивОбъектов, МенеджерВременныхТаблиц);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| Документы.Ссылка КАК Ссылка,
| Документы.Номер КАК Номер,
| Документы.Дата КАК Дата,
| НЕОПРЕДЕЛЕНО КАК ДокументОснование,
| ЕСТЬNULL(Документы.БанковскийСчетОрганизации.Владелец, Документы.Организация) КАК Организация,
| Документы.Организация КАК ОрганизацияПоставщик,
| ТаблицаОтветственныеЛица.РуководительНаименование КАК Руководитель,
| ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
| ТаблицаОтветственныеЛица.ГлавныйБухгалтерНаименование КАК ГлавныйБухгалтер,
| ВЫБОР
| КОГДА Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИЛИ Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК УчитыватьНДС,
| Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя) КАК ОперацияОблагаетсяНДСУПокупателя,
| Документы.Контрагент КАК Контрагент,
| Документы.Контрагент.ЮрФизЛицо КАК КонтрагентЮрФизЛицо,
| Документы.БанковскийСчетОрганизации КАК БанковскийСчет,
|
| ВЫБОР КОГДА Документы.БанковскийСчетОрганизации.ИностранныйБанк
| ИЛИ Документы.БанковскийСчетОрганизации.ВалютаДенежныхСредств <> Документы.Организация.ВалютаРегламентированногоУчета
| ИЛИ Документы.БанковскийСчетКонтрагента.ИностранныйБанк ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ПлатежЗаРубеж,
| Документы.БанковскийСчетОрганизации.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
| Документы.БанковскийСчетОрганизации.СчетВБанкеДляРасчетов КАК СчетВБанкеДляРасчетов,
| ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ) КАК ЭтоСчетЦифровогоРубля,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА Документы.БанковскийСчетОрганизации.ИдентификаторСчетаЦифровогоРубля
| ИНАЧЕ Документы.БанковскийСчетОрганизации.НомерСчета
| КОНЕЦ КАК НомерБанковскогоСчета,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА """"
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.БИКБанка
| ИНАЧЕ КлассификаторБанков.Код
| КОНЕЦ КАК БИКБанк,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА """"
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанка
| ИНАЧЕ КлассификаторБанков.Наименование
| КОНЕЦ КАК НаименованиеБанка,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА """"
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.КоррСчетБанка
| ИНАЧЕ КлассификаторБанков.КоррСчет
| КОНЕЦ КАК КоррСчетБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанка
| ИНАЧЕ КлассификаторБанков.Город
| КОНЕЦ КАК ГородБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.БИКБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Код
| КОНЕЦ КАК БИКБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Наименование
| КОНЕЦ КАК НаименованиеБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.КоррСчетБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.КоррСчет
| КОНЕЦ КАК КоррСчетБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Город
| КОНЕЦ КАК ГородБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаМеждународное
| ИНАЧЕ КлассификаторБанков.МеждународноеНаименование
| КОНЕЦ КАК НаименованиеБанкаМеждународное,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СВИФТБанка
| ИНАЧЕ КлассификаторБанков.СВИФТБИК
| КОНЕЦ КАК СВИФТБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаМеждународный
| ИНАЧЕ КлассификаторБанков.ГородМеждународный
| КОНЕЦ КАК ГородБанкаМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанка
| ИНАЧЕ КлассификаторБанков.Адрес
| КОНЕЦ КАК АдресБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанкаМеждународный
| ИНАЧЕ КлассификаторБанков.АдресМеждународный
| КОНЕЦ КАК АдресБанкаМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СтранаБанка
| ИНАЧЕ СтраныБанков.Ссылка
| КОНЕЦ КАК СтранаБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаДляРасчетовМеждународное
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.МеждународноеНаименование
| КОНЕЦ КАК НаименованиеБанкаДляРасчетовМеждународное,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СВИФТБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.СВИФТБИК
| КОНЕЦ КАК СВИФТБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаДляРасчетовМеждународный
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.ГородМеждународный
| КОНЕЦ КАК ГородБанкаДляРасчетовМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанкаДляРасчетовМеждународный
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.АдресМеждународный
| КОНЕЦ КАК АдресБанкаДляРасчетовМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Адрес
| КОНЕЦ КАК АдресБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СтранаБанкаДляРасчетов
| ИНАЧЕ СтраныБанковКорреспондентовРФ.Ссылка
| КОНЕЦ КАК СтранаБанкаДляРасчетов,
| Документы.БанковскийСчетОрганизации.ТекстКорреспондента КАК БанковскийСчетТекстКорреспондента,
| Документы.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| Документы.Валюта КАК Валюта,
| Документы.Менеджер.ФизическоеЛицо КАК Менеджер,
| Документы.СуммаДокумента КАК СуммаДокумента
|ИЗ
| Документ.КорректировкаРеализации КАК Документы
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
| ПО Документы.Ссылка = ТаблицаОтветственныеЛица.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанков
| ПО Документы.БанковскийСчетОрганизации.Банк = КлассификаторБанков.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтраныМира КАК СтраныБанков
| ПО КлассификаторБанков.КодСтраны = СтраныБанков.Код
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанковКорреспондентовРФ
| ПО Документы.БанковскийСчетОрганизации.БанкДляРасчетов = КлассификаторБанковКорреспондентовРФ.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтраныМира КАК СтраныБанковКорреспондентовРФ
| ПО КлассификаторБанковКорреспондентовРФ.КодСтраны = СтраныБанковКорреспондентовРФ.Код
| ЛЕВОЕ СОЕДИНЕНИЕ Константы
| ПО ИСТИНА
|ГДЕ
| Документы.Ссылка В(&МассивОбъектов)
|
|УПОРЯДОЧИТЬ ПО
| Документы.МоментВремени
|;
|
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
|
| ВариантыКомплектацииНоменклатуры.Ссылка КАК ВариантКомплектацииНоменклатуры,
| ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
|
| Таблица.НомерСтроки КАК НомерСтроки,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Содержание КАК Содержание,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Упаковка КАК Упаковка,
| -Таблица.Количество КАК Количество,
| -Таблица.КоличествоУпаковок КАК КоличествоУпаковок,
| ВЫБОР
| КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА ВЫБОР КОГДА Таблица.КоличествоУпаковок <> 0 ТОГДА Таблица.Сумма / Таблица.КоличествоУпаковок ИНАЧЕ 0 КОНЕЦ
| ИНАЧЕ ВЫБОР КОГДА Таблица.Количество <> 0 ТОГДА Таблица.Сумма / Таблица.Количество ИНАЧЕ 0 КОНЕЦ
| КОНЕЦ КАК Цена,
| -Таблица.Сумма КАК Сумма,
| Таблица.СтавкаНДС КАК СтавкаНДС,
| -Таблица.СуммаНДС КАК СуммаНДС
|
|ПОМЕСТИТЬ Товары
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК Таблица
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
| ПО ВариантыКомплектацииНоменклатуры.Владелец = Таблица.НоменклатураНабора
| И ВариантыКомплектацииНоменклатуры.Характеристика = Таблица.ХарактеристикаНабора
| И ВариантыКомплектацииНоменклатуры.Основной
|
|ГДЕ
| Таблица.Ссылка В (&МассивОбъектов)
| И &КредитНота
| И Таблица.Сумма < 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
|
| ВариантыКомплектацииНоменклатуры.Ссылка КАК ВариантКомплектацииНоменклатуры,
| ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
|
| Таблица.НомерСтроки КАК НомерСтроки,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Содержание КАК Содержание,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Упаковка КАК Упаковка,
| Таблица.Количество КАК Количество,
| Таблица.КоличествоУпаковок КАК КоличествоУпаковок,
| ВЫБОР
| КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА ВЫБОР КОГДА Таблица.КоличествоУпаковок <> 0 ТОГДА Таблица.Сумма / Таблица.КоличествоУпаковок ИНАЧЕ 0 КОНЕЦ
| ИНАЧЕ ВЫБОР КОГДА Таблица.Количество <> 0 ТОГДА Таблица.Сумма / Таблица.Количество ИНАЧЕ 0 КОНЕЦ
| КОНЕЦ КАК Цена,
| Таблица.Сумма КАК Сумма,
| Таблица.СтавкаНДС КАК СтавкаНДС,
| Таблица.СуммаНДС КАК СуммаНДС
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК Таблица
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
| ПО ВариантыКомплектацииНоменклатуры.Владелец = Таблица.НоменклатураНабора
| И ВариантыКомплектацииНоменклатуры.Характеристика = Таблица.ХарактеристикаНабора
| И ВариантыКомплектацииНоменклатуры.Основной
|
|ГДЕ
| Таблица.Ссылка В (&МассивОбъектов)
| И &ДебетНота
| И Таблица.Сумма > 0
|;
|
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| МИНИМУМ(Таблица.НомерСтроки) КАК НомерСтроки,
| СУММА(Таблица.Сумма) КАК Сумма,
| СУММА(Таблица.СуммаНДС) КАК СуммаНДС
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыПодготовка
|ИЗ
| Товары КАК Таблица
|ГДЕ
| Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
|СГРУППИРОВАТЬ ПО
| Таблица.Ссылка,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТоваров.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ТоварыРазличные
|ИЗ
| Товары КАК ТаблицаТоваров
|;
|
|
|ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.ВариантКомплектацииНоменклатуры КАК ВариантКомплектацииНоменклатуры,
| Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| Товары.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Товары.НоменклатураНабора,
| Товары.ХарактеристикаНабора,
| Товары.Номенклатура,
| Товары.Характеристика,
| ВЫБОР КОГДА Товары.ВариантКомплектацииНоменклатуры.НоменклатураОсновногоКомпонента = Товары.Номенклатура
| И Товары.ВариантКомплектацииНоменклатуры.ХарактеристикаОсновногоКомпонента = Товары.Характеристика ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ОсновнаяКомплектующая,
| 0 КАК КоличествоПоУмолчанию,
| Товары.Количество КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьПервая
|ИЗ
| Товары КАК Товары
|ГДЕ
| Товары.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТоварыРазличные.Ссылка КАК Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка КАК ВариантКомплектацииНоменклатуры,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец КАК НоменклатураНабора,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика КАК ХарактеристикаНабора,
| ВариантыКомплектацииНоменклатурыТовары.Номенклатура КАК Номенклатура,
| ВариантыКомплектацииНоменклатурыТовары.Характеристика КАК Характеристика,
| ЛОЖЬ КАК ОсновнаяКомплектующая,
| СУММА(ВариантыКомплектацииНоменклатурыТовары.Количество) КАК КоличествоПоУмолчанию,
| 0 КАК Количество
|ИЗ
| Справочник.ВариантыКомплектацииНоменклатуры.Товары КАК ВариантыКомплектацииНоменклатурыТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыРазличные КАК ТоварыРазличные
| ПО ИСТИНА
|ГДЕ
| ВариантыКомплектацииНоменклатурыТовары.Ссылка В (ВЫБРАТЬ Т.ВариантКомплектацииНоменклатуры ИЗ Товары КАК Т)
|
|СГРУППИРОВАТЬ ПО
| ТоварыРазличные.Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика,
| ВариантыКомплектацииНоменклатурыТовары.Номенклатура,
| ВариантыКомплектацииНоменклатурыТовары.Характеристика,
| ВариантыКомплектацииНоменклатурыТовары.Упаковка
|;
|
|
|ВЫБРАТЬ
| Таблица.Ссылка,
| Таблица.ВариантКомплектацииНоменклатуры,
| Таблица.ВариантРасчетаЦеныНабора,
| Таблица.ВариантПредставленияНабораВПечатныхФормах,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора,
| Таблица.Номенклатура,
| Таблица.Характеристика,
| МАКСИМУМ(Таблица.ОсновнаяКомплектующая) КАК ОсновнаяКомплектующая,
| СУММА(Таблица.КоличествоПоУмолчанию) КАК КоличествоПоУмолчанию,
| СУММА(Таблица.Количество) КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьВторая
|ИЗ
| ВременнаяТаблицаНаборыДополнительноЧастьПервая КАК Таблица
|
|СГРУППИРОВАТЬ ПО
| Таблица.Ссылка,
| Таблица.ВариантКомплектацииНоменклатуры,
| Таблица.ВариантРасчетаЦеныНабора,
| Таблица.ВариантПредставленияНабораВПечатныхФормах,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора,
| Таблица.Номенклатура,
| Таблица.Характеристика
|;
|
|
|ВЫБРАТЬ
| Результат.Ссылка,
| Результат.ВариантКомплектацииНоменклатуры,
| Результат.ВариантРасчетаЦеныНабора,
| Результат.ВариантПредставленияНабораВПечатныхФормах,
| Результат.НоменклатураНабора,
| Результат.ХарактеристикаНабора,
| ВЫРАЗИТЬ(МИНИМУМ(ВЫБОР
| КОГДА Результат.КоличествоПоУмолчанию <> 0 И Результат.ОсновнаяКомплектующая
| ТОГДА Результат.Количество / Результат.КоличествоПоУмолчанию
| ИНАЧЕ NULL
| КОНЕЦ) + 0.5 КАК Число(10,0)) - 1 КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительно
|ИЗ
| ВременнаяТаблицаНаборыДополнительноЧастьВторая КАК Результат
|СГРУППИРОВАТЬ ПО
| Результат.Ссылка,
| Результат.ВариантКомплектацииНоменклатуры,
| Результат.ВариантРасчетаЦеныНабора,
| Результат.ВариантПредставленияНабораВПечатныхФормах,
| Результат.НоменклатураНабора,
| Результат.ХарактеристикаНабора
|;
|
|
|ВЫБРАТЬ
| ВременнаяТаблицаНаборыДополнительно.ВариантКомплектацииНоменклатуры,
| ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВременнаяТаблицаНаборыДополнительно.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Таблица.Ссылка КАК Ссылка,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Таблица.НомерСтроки КАК НомерСтроки,
| ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК КоличествоУпаковок,
| ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК Количество,
| Таблица.Сумма КАК Сумма,
| Таблица.СуммаНДС КАК СуммаНДС
|ПОМЕСТИТЬ ВременнаяТаблицаНаборы
|ИЗ
| ВременнаяТаблицаНаборыПодготовка КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборыДополнительно КАК ВременнаяТаблицаНаборыДополнительно
| ПО Таблица.НоменклатураНабора = ВременнаяТаблицаНаборыДополнительно.НоменклатураНабора
| И Таблица.ХарактеристикаНабора = ВременнаяТаблицаНаборыДополнительно.ХарактеристикаНабора
| И Таблица.Ссылка = ВременнаяТаблицаНаборыДополнительно.Ссылка
|;
|
|
|ВЫБРАТЬ
|
| Товары.Ссылка КАК Ссылка,
| Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| Товары.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Товары.НоменклатураНабора КАК НоменклатураНабора,
| ЕСТЬNULL(НоменклатураНабораПредставления.НаименованиеПолное, Товары.НоменклатураНабора.НаименованиеПолное) КАК НоменклатураНабораНаименованиеПолное,
| Товары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ЕСТЬNULL(ХарактеристикиНоменклатурыНабораПредставления.НаименованиеПолное, ЕСТЬNULL(Товары.ХарактеристикаНабора.НаименованиеПолное, """")) КАК ХарактеристикаНабораНаименованиеПолное,
| Товары.ЭтоНабор КАК ЭтоНабор,
| Товары.ЭтоКомплектующие КАК ЭтоКомплектующие,
|
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Номенклатура.Код КАК Код,
| Товары.Номенклатура.Артикул КАК Артикул,
| ЕСТЬNULL(НоменклатураПредставления.НаименованиеПолное, ЕСТЬNULL(Товары.Номенклатура.НаименованиеПолное, Товары.Содержание)) КАК НаименованиеПолное,
| &ТекстЗапросаНаименованиеЕдиницыИзмерения КАК ЕдиницаИзмерения,
| Товары.КоличествоУпаковок КАК Количество,
| Товары.Цена КАК Цена,
| Товары.Сумма КАК Сумма,
| Товары.СтавкаНДС КАК СтавкаНДС,
| Товары.СуммаНДС КАК СуммаНДС,
| НЕОПРЕДЕЛЕНО КАК ВидЦеныИсполнителя,
| ЕСТЬNULL(ХарактеристикиНоменклатурыПредставления.НаименованиеПолное, ЕСТЬNULL(Товары.Характеристика.НаименованиеПолное, """")) КАК Характеристика,
| ВЫБОР КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1 ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| Товары.Упаковка.Наименование
| КОНЕЦ КАК Упаковка,
| Товары.Содержание КАК Содержание
|ИЗ (
| ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
| ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ПустаяСсылка)
| КОНЕЦ КАК ВариантПредставленияНабораВПечатныхФормах,
|
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
| ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)
| КОНЕЦ КАК ВариантРасчетаЦеныНабора,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ЭтоКомплектующие,
| ЛОЖЬ КАК ЭтоНабор,
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
| ВременнаяТаблицаНаборы.НомерСтроки
| ИНАЧЕ
| Таблица.НомерСтроки
| КОНЕЦ КАК НомерСтроки,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Количество КАК Количество,
| Таблица.КоличествоУпаковок КАК КоличествоУпаковок,
| Таблица.Цена КАК Цена,
| Таблица.Сумма КАК Сумма,
| Таблица.СтавкаНДС КАК СтавкаНДС,
| Таблица.СуммаНДС КАК СуммаНДС,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Упаковка КАК Упаковка,
| Таблица.Содержание КАК Содержание
| ИЗ
| Товары КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
| ПО ВременнаяТаблицаНаборы.НоменклатураНабора = Таблица.НоменклатураНабора
| И ВременнаяТаблицаНаборы.ХарактеристикаНабора = Таблица.ХарактеристикаНабора
| И ВременнаяТаблицаНаборы.Ссылка = Таблица.Ссылка
|
| ГДЕ
| Таблица.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ (Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| И ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоКомплектующие),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВременнаяТаблицаНаборы.Ссылка КАК Ссылка,
| ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| ВременнаяТаблицаНаборы.НоменклатураНабора КАК НоменклатураНабора,
| ВременнаяТаблицаНаборы.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ЛОЖЬ КАК ЭтоКомплектующие,
| ИСТИНА КАК ЭтоНабор,
| ВременнаяТаблицаНаборы.НомерСтроки КАК НомерСтроки,
| ВременнаяТаблицаНаборы.НоменклатураНабора КАК Номенклатура,
| ВременнаяТаблицаНаборы.Количество КАК Количество,
| ВременнаяТаблицаНаборы.КоличествоУпаковок КАК КоличествоУпаковок,
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1) <> 0 ТОГДА
| (ВременнаяТаблицаНаборы.Сумма) / ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1)
| ИНАЧЕ
| 0
| КОНЕЦ КАК Цена,
| ВременнаяТаблицаНаборы.Сумма КАК Сумма,
| ВременнаяТаблицаНаборы.НоменклатураНабора.СтавкаНДС КАК СтавкаНДС,
| ВременнаяТаблицаНаборы.СуммаНДС КАК СуммаНДС,
| ВременнаяТаблицаНаборы.ХарактеристикаНабора КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| """" КАК Содержание
| ИЗ
| ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
| ГДЕ
| ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоНабор),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ПустаяСсылка) КАК ВариантПредставленияНабораВПечатныхФормах,
| ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка) КАК ВариантРасчетаЦеныНабора,
| НЕОПРЕДЕЛЕНО КАК НоменклатураНабора,
| НЕОПРЕДЕЛЕНО КАК ХарактеристикаНабора,
| ЛОЖЬ КАК ЭтоКомплектующие,
| ЛОЖЬ КАК ЭтоНабор,
| Таблица.НомерСтроки КАК НомерСтроки,
| НЕОПРЕДЕЛЕНО КАК Номенклатура,
| 0 КАК Количество,
| 0 КАК КоличествоУпаковок,
| 0 КАК Цена,
| Таблица.СуммаКорректировки КАК Сумма,
| Таблица.СтавкаНДС КАК СтавкаНДС,
| Таблица.СуммаНДСКорректировки КАК СуммаНДС,
| НЕОПРЕДЕЛЕНО КАК Характеристика,
| НЕОПРЕДЕЛЕНО КАК Упаковка,
| Таблица.ПричинаКорректировки КАК Содержание
| ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК Таблица
| ГДЕ
| Таблица.Ссылка В(&МассивОбъектов)
|
|) КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.Представления КАК НоменклатураПредставления
| ПО (Товары.Номенклатура = НоменклатураПредставления.Ссылка
| И НоменклатураПредставления.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.Представления КАК ХарактеристикиНоменклатурыПредставления
| ПО (Товары.Характеристика = ХарактеристикиНоменклатурыПредставления.Ссылка
| И ХарактеристикиНоменклатурыПредставления.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.Представления КАК НоменклатураНабораПредставления
| ПО (Товары.НоменклатураНабора = НоменклатураНабораПредставления.Ссылка
| И НоменклатураНабораПредставления.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.Представления КАК ХарактеристикиНоменклатурыНабораПредставления
| ПО (Товары.ХарактеристикаНабора = ХарактеристикиНоменклатурыНабораПредставления.Ссылка
| И ХарактеристикиНоменклатурыНабораПредставления.КодЯзыка = &КодЯзыка)
|
|УПОРЯДОЧИТЬ ПО
| Товары.НомерСтроки,
| ЭтоНабор УБЫВ
|";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"Товары.Упаковка",
"Товары.Номенклатура"));
Если ЗначениеЗаполнено(КодЯзыка)
И Не КодЯзыка = ОбщегоНазначения.КодОсновногоЯзыка() Тогда
НаименованиеУпаковкиЕдиницыИзмерения = "МеждународноеСокращение";
Иначе
НаименованиеУпаковкиЕдиницыИзмерения = "Наименование";
КонецЕсли;
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаНаименованиеЕдиницыИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
НаименованиеУпаковкиЕдиницыИзмерения,
"Товары.Упаковка",
"Товары.Номенклатура"));
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Запрос.УстановитьПараметр("ВыводитьБазовыеЕдиницыИзмерения", Константы.ВыводитьБазовыеЕдиницыИзмерения.Получить());
Запрос.УстановитьПараметр("ДебетНота", ДебетКредитНота = "ДебетНота");
Запрос.УстановитьПараметр("КредитНота", ДебетКредитНота = "КредитНота");
Запрос.УстановитьПараметр("КодЯзыка", КодЯзыка);
ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
СтруктураДанныхДляПечати = Новый Структура;
СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", ПакетРезультатовЗапроса[0]);
СтруктураДанныхДляПечати.Вставить("РезультатПоТабличнойЧасти", ПакетРезультатовЗапроса[ПакетРезультатовЗапроса.Количество() - 1]);
Возврат СтруктураДанныхДляПечати;
КонецФункции
#КонецОбласти
#Область ШаблоныСообщений
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
КонецПроцедуры
#КонецОбласти
#Область Прочее
#Область УчетНДС
Функция ПараметрыРегистрацииСчетовФактурПолученных(Документ) Экспорт
Реквизиты = Новый Структура("Ссылка, Дата, Контрагент, Организация, НалогообложениеНДС, ВидКорректировки");
Если ТипЗнч(Документ) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Документ, Реквизиты);
Иначе
ЗаполнитьЗначенияСвойств(Реквизиты, Документ);
КонецЕсли;
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурПолученных();
ПараметрыРегистрации.Ссылка = Реквизиты.Ссылка;
ПараметрыРегистрации.Дата = Реквизиты.Дата;
ПараметрыРегистрации.Организация = Реквизиты.Организация;
ПараметрыРегистрации.Контрагент = Реквизиты.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС = Реквизиты.НалогообложениеНДС;
Если Реквизиты.ВидКорректировки = Перечисления.ХозяйственныеОперации.ВозвратНедопоставленногоТовара Тогда
ПараметрыРегистрации.ВозвратТоваровОтПлательщикаНДС = Истина;
КонецЕсли;
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПараметрыРегистрацииСчетовФактурВыданных(Документ) Экспорт
Реквизиты = Новый Структура("Ссылка, Дата, Контрагент, Организация, НалогообложениеНДС, ВидКорректировки, ДокументОснование, ХозяйственнаяОперация");
Если ТипЗнч(Документ) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Документ, Реквизиты);
Иначе
ЗаполнитьЗначенияСвойств(Реквизиты, Документ);
КонецЕсли;
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурВыданных();
ПараметрыРегистрации.Ссылка = Реквизиты.Ссылка;
ПараметрыРегистрации.Дата = Реквизиты.Дата;
ПараметрыРегистрации.Организация = Реквизиты.Организация;
ПараметрыРегистрации.Контрагент = Реквизиты.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС = Реквизиты.НалогообложениеНДС;
Если Реквизиты.ВидКорректировки = Перечисления.ХозяйственныеОперации.ИсправлениеОшибок Тогда
ПараметрыРегистрации.ИсправлениеОшибок = Истина;
ИначеЕсли Реквизиты.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон Тогда
ПараметрыРегистрации.КорректировкаПоСогласованиюСторон = Истина;
ИначеЕсли Реквизиты.ВидКорректировки = Перечисления.ХозяйственныеОперации.РеализацияПерепоставленногоТовара Тогда
ПараметрыРегистрации.РеализацияТоваров = Истина;
КонецЕсли;
ПараметрыРегистрации.ПереходПраваСобственности = (Реквизиты.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПереходПраваСобственности);
ПараметрыРегистрации.РеализацияЧерезКомиссионера = КомиссионнаяТорговляСервер.РеализацияЧерезКомиссионера(
ХозяйственнаяОперацияДокументаОснования(Реквизиты.ДокументОснование));
Возврат ПараметрыРегистрации;
КонецФункции
#КонецОбласти
Функция ПараметрыОпределенияДоступностиВыбораСтатейИАналитик() Экспорт
ПараметрыОпределенияДоступности = Новый Структура;
ПараметрыОпределенияДоступности.Вставить("ДатаДокумента", Дата(1, 1, 1));
ПараметрыОпределенияДоступности.Вставить("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ПустаяСсылка());
ПараметрыОпределенияДоступности.Вставить("ТипКорректировки", Перечисления.ТипыКорректировки.ПустаяСсылка());
ПараметрыОпределенияДоступности.Вставить("ДокументОснование", Неопределено);
ПараметрыОпределенияДоступности.Вставить("ОтразитьНаПрочихДоходах", Ложь);
ПараметрыОпределенияДоступности.Вставить("СписатьНаРасходы", Ложь);
Возврат ПараметрыОпределенияДоступности;
КонецФункции
Функция ПараметрыВыбораСтатейИАналитик(ПараметрыОпределенияДоступности) Экспорт
МассивПаметровВыбора = Новый Массив;
КорректировкаУслугПрочихАктивовТекущегоПериода = Ложь;
КорректировкаУслугПрочихАктивов = Ложь;
КорректировкаПрошлогоПериода = Ложь;
КорректировкаТекущегоПериода = Истина;
Если ПараметрыОпределенияДоступности.Свойство("ДокументОснование") И ЗначениеЗаполнено(ПараметрыОпределенияДоступности.ДокументОснование) Тогда
УстановитьПривилегированныйРежим(Истина);
ДатаОснования = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПараметрыОпределенияДоступности.ДокументОснование, "Дата");
УстановитьПривилегированныйРежим(Ложь);
ДатаДокумента = ?(ЗначениеЗаполнено(ПараметрыОпределенияДоступности.ДатаДокумента), ПараметрыОпределенияДоступности.ДатаДокумента, ТекущаяДатаСеанса());
КорректировкаПрошлогоПериода = НачалоГода(ДатаДокумента) > НачалоГода(ДатаОснования);
КорректировкаТекущегоПериода = Не КорректировкаПрошлогоПериода;
КорректировкаУслугПрочихАктивов = ТипЗнч(ПараметрыОпределенияДоступности.ДокументОснование) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов")
Или ПараметрыОпределенияДоступности.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
Если КорректировкаУслугПрочихАктивов
И Не КорректировкаПрошлогоПериода Тогда
КорректировкаУслугПрочихАктивовТекущегоПериода = Истина;
КонецЕсли;
КонецЕсли;
КорректировкаОтчетаДавальца = Ложь;
ИсправлениеИлиСогласованиеСторон = ПараметрыОпределенияДоступности.Свойство("ХозяйственнаяОперация") И
НЕ (ПараметрыОпределенияДоступности.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияПерепоставленногоТовара
ИЛИ ПараметрыОпределенияДоступности.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратНедопоставленногоТовара);
ДоступныСтатьиДоходовРасходов = (ИсправлениеИлиСогласованиеСторон И (КорректировкаПрошлогоПериода ИЛИ (КорректировкаТекущегоПериода И НЕ КорректировкаУслугПрочихАктивов))) ИЛИ НЕ (КорректировкаУслугПрочихАктивов ИЛИ ИсправлениеИлиСогласованиеСторон);
СкрыватьСтатьиДоходовРасходов = ИсправлениеИлиСогласованиеСторон И КорректировкаУслугПрочихАктивовТекущегоПериода;
ОтразитьНаПрочихДоходах = Ложь;
Если ПараметрыОпределенияДоступности.Свойство("ОтразитьНаПрочихДоходах") Тогда
ОтразитьНаПрочихДоходах = ПараметрыОпределенияДоступности.ОтразитьНаПрочихДоходах;
КонецЕсли;
СписатьНаРасходы = Ложь;
Если ПараметрыОпределенияДоступности.Свойство("СписатьНаРасходы") Тогда
СписатьНаРасходы = ПараметрыОпределенияДоступности.СписатьНаРасходы;
КонецЕсли;
#Область СтатьяДоходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = СкрыватьСтатьиДоходовРасходов;
Если НЕ (ДоступныСтатьиДоходовРасходов И ОтразитьНаПрочихДоходах) Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяДоходов");
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяДоходовДополнительно");
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяДоходовКорректировкаЗадолженности");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("АналитикаДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("АналитикаДоходовДополнительно");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("АналитикаДоходовКорректировкаЗадолженности");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область СтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = СкрыватьСтатьиДоходовРасходов;
Если Не (ДоступныСтатьиДоходовРасходов И СписатьНаРасходы) Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходовДополнительно");
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходовКорректировкаЗадолженности");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходовДополнительно");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходовКорректировкаЗадолженности");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область ТоварыСтатьяДоходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Товары";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = Истина;
ПараметрыВыбора.СкрыватьНедоступныеСтатьиВСтроках = Истина;
Если НЕ КорректировкаУслугПрочихАктивовТекущегоПериода Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ТоварыСтатьяДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("ТоварыАналитикаДоходов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область РасхожденияСтатьяДоходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Расхождения";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = Истина;
ПараметрыВыбора.СкрыватьНедоступныеСтатьиВСтроках = Истина;
Если НЕ КорректировкаУслугПрочихАктивовТекущегоПериода Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("РасхожденияСтатьяДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("РасхожденияАналитикаДоходов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область ТоварыСтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Товары";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.ДоступностьПоОперации = КорректировкаОтчетаДавальца;
ПараметрыВыбора.СкрыватьНедоступныеСтатьиВСтроках = Истина;
ПараметрыВыбора.ВыборСтатьиРасходов = КорректировкаОтчетаДавальца;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = КорректировкаОтчетаДавальца;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ПараметрыВыбора.УсловияДоступностиСтатьиВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ТоварыСтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("ТоварыАналитикаРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("ТоварыАналитикаАктивовПассивов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область РасхожденияСтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Расхождения";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.ДоступностьПоОперации = КорректировкаОтчетаДавальца;
ПараметрыВыбора.СкрыватьНедоступныеСтатьиВСтроках = Истина;
ПараметрыВыбора.ВыборСтатьиРасходов = КорректировкаОтчетаДавальца;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = КорректировкаОтчетаДавальца;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ПараметрыВыбора.УсловияДоступностиСтатьиВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("РасхожденияСтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("РасхожденияАналитикаРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("РасхожденияАналитикаАктивовПассивов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
Возврат МассивПаметровВыбора;
КонецФункции
Функция ПараметрыВыбораСтатейИАналитикДоВводаОстатков(ПараметрыОпределенияДоступности) Экспорт
МассивПаметровВыбора = Новый Массив;
КорректировкаУслугПрочихАктивовТекущегоПериода = Ложь;
КорректировкаУслугПрочихАктивов = Ложь;
КорректировкаПрошлогоПериода = Ложь;
КорректировкаТекущегоПериода = Истина;
Если ПараметрыОпределенияДоступности.Свойство("ДокументОснование") И ЗначениеЗаполнено(ПараметрыОпределенияДоступности.ДокументОснование) Тогда
УстановитьПривилегированныйРежим(Истина);
ДатаОснования = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПараметрыОпределенияДоступности.ДокументОснование, "Дата");
УстановитьПривилегированныйРежим(Ложь);
ДатаДокумента = ?(ЗначениеЗаполнено(ПараметрыОпределенияДоступности.ДатаДокумента), ПараметрыОпределенияДоступности.ДатаДокумента, ТекущаяДатаСеанса());
КорректировкаПрошлогоПериода = НачалоГода(ДатаДокумента) > НачалоГода(ДатаОснования);
КорректировкаТекущегоПериода = Не КорректировкаПрошлогоПериода;
КорректировкаУслугПрочихАктивов = ПараметрыОпределенияДоступности.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
Если КорректировкаУслугПрочихАктивов
И Не КорректировкаПрошлогоПериода Тогда
КорректировкаУслугПрочихАктивовТекущегоПериода = Истина;
КонецЕсли;
КонецЕсли;
ИсправлениеИлиСогласованиеСторон = ПараметрыОпределенияДоступности.Свойство("ХозяйственнаяОперация") И
НЕ (ПараметрыОпределенияДоступности.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияПерепоставленногоТовара
ИЛИ ПараметрыОпределенияДоступности.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратНедопоставленногоТовара);
ДоступныСтатьиДоходовРасходов = (ИсправлениеИлиСогласованиеСторон И (КорректировкаПрошлогоПериода ИЛИ (КорректировкаТекущегоПериода И НЕ КорректировкаУслугПрочихАктивов))) ИЛИ НЕ (КорректировкаУслугПрочихАктивов ИЛИ ИсправлениеИлиСогласованиеСторон);
СкрыватьСтатьиДоходовРасходов = ИсправлениеИлиСогласованиеСторон И КорректировкаУслугПрочихАктивовТекущегоПериода;
ОтразитьНаПрочихДоходах = Ложь;
Если ПараметрыОпределенияДоступности.Свойство("ОтразитьНаПрочихДоходах") Тогда
ОтразитьНаПрочихДоходах = ПараметрыОпределенияДоступности.ОтразитьНаПрочихДоходах;
КонецЕсли;
СписатьНаРасходы = Ложь;
Если ПараметрыОпределенияДоступности.Свойство("СписатьНаРасходы") Тогда
СписатьНаРасходы = ПараметрыОпределенияДоступности.СписатьНаРасходы;
КонецЕсли;
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("ЭтоОбъектНаФорме", Истина);
#Область СтатьяДоходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);
ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = СкрыватьСтатьиДоходовРасходов;
Если НЕ (ДоступныСтатьиДоходовРасходов И ОтразитьНаПрочихДоходах) Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("АналитикаДоходов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область СтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);
ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = СкрыватьСтатьиДоходовРасходов;
Если Не (ДоступныСтатьиДоходовРасходов И СписатьНаРасходы) Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область ТаблицаКорректировкиСтатьяДоходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "ТаблицаКорректировки";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = Истина;
ПараметрыВыбора.СкрыватьНедоступныеСтатьиВСтроках = Истина;
Если НЕ КорректировкаУслугПрочихАктивовТекущегоПериода Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ТаблицаКорректировкиСтатьяДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("ТаблицаКорректировкиАналитикаДоходов");
ПредставленияРеквизитов = Новый Структура;
ПредставленияРеквизитов.Вставить("СтатьяДоходов", НСтр("ru = 'Статья доходов'"));
ПредставленияРеквизитов.Вставить("АналитикаДоходов", НСтр("ru = 'Аналитика доходов'"));
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ПредставлениеТЧ", НСтр("ru = 'Данные корректировки'"));
ДополнительныеПараметры.Вставить("ПредставленияРеквизитов", ПредставленияРеквизитов);
ПараметрыВыбора.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
Возврат МассивПаметровВыбора;
КонецФункции
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Партнер)
| И ЗначениеРазрешено(Подразделение)
| И (ТипЗначения(ДокументОснование) = Тип(Документ.АктВыполненныхРабот)
| ИЛИ ТипЗначения(ДокументОснование) = Тип(Документ.РеализацияУслугПрочихАктивов)
| ИЛИ ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| ИЛИ ЗначениеРазрешено(Склад)
| )";
Ограничение.ТекстДляВнешнихПользователей =
"ПрисоединитьДополнительныеТаблицы
|ЭтотСписок КАК ЭтотСписок
|
|ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВнешниеПользователи КАК ВнешниеПользователиПартнеры
| ПО ВнешниеПользователиПартнеры.ОбъектАвторизации = ЭтотСписок.Партнер
|
|ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КонтактныеЛицаПартнеров КАК КонтактныеЛицаПартнеров
| ПО КонтактныеЛицаПартнеров.Владелец = ЭтотСписок.Партнер
|
|ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВнешниеПользователи КАК ВнешниеПользователиКонтактныеЛица
| ПО ВнешниеПользователиКонтактныеЛица.ОбъектАвторизации = КонтактныеЛицаПартнеров.Ссылка
|;
|РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(ВнешниеПользователиПартнеры.Ссылка)
| ИЛИ ЗначениеРазрешено(ВнешниеПользователиКонтактныеЛица.Ссылка)";
КонецПроцедуры
#КонецОбласти
Процедура ЗаполнитьИменаРеквизитовПоОснованию(ДокументОснование,
МассивВсехРеквизитов,
МассивРеквизитовОперации,
ТипКорректировки = Неопределено) Экспорт
МассивВсехРеквизитов = Новый Массив;
МассивВсехРеквизитов.Добавить("ДокументОснование");
МассивВсехРеквизитов.Добавить("Склад");
МассивВсехРеквизитов.Добавить("Соглашение");
МассивВсехРеквизитов.Добавить("Договор");
МассивВсехРеквизитов.Добавить("ПодразделениеДоходы");
МассивВсехРеквизитов.Добавить("СтатьяДоходов");
МассивВсехРеквизитов.Добавить("АналитикаДоходов");
МассивВсехРеквизитов.Добавить("ПодразделениеРасходы");
МассивВсехРеквизитов.Добавить("СтатьяРасходов");
МассивВсехРеквизитов.Добавить("АналитикаРасходов");
МассивВсехРеквизитов.Добавить("Отпустил");
МассивВсехРеквизитов.Добавить("ОтпустилДолжность");
МассивВсехРеквизитов.Добавить("Грузополучатель");
МассивВсехРеквизитов.Добавить("Грузоотправитель");
МассивВсехРеквизитов.Добавить("БанковскийСчетОрганизации");
МассивВсехРеквизитов.Добавить("БанковскийСчетКонтрагента");
МассивВсехРеквизитов.Добавить("БанковскийСчетГрузоотправителя");
МассивВсехРеквизитов.Добавить("БанковскийСчетГрузополучателя");
МассивВсехРеквизитов.Добавить("АдресДоставки");
МассивВсехРеквизитов.Добавить("ДоверенностьНомер");
МассивВсехРеквизитов.Добавить("ДоверенностьДата");
МассивВсехРеквизитов.Добавить("ДоверенностьВыдана");
МассивВсехРеквизитов.Добавить("ДоверенностьЛицо");
МассивВсехРеквизитов.Добавить("КлиентКонтрагент");
МассивВсехРеквизитов.Добавить("КлиентПартнер");
МассивВсехРеквизитов.Добавить("КлиентДоговор");
МассивВсехРеквизитов.Добавить("Товары.Номенклатура");
МассивВсехРеквизитов.Добавить("Товары.Характеристика");
МассивВсехРеквизитов.Добавить("Товары.Назначение");
МассивВсехРеквизитов.Добавить("Товары.Содержание");
МассивВсехРеквизитов.Добавить("Товары.Упаковка");
МассивВсехРеквизитов.Добавить("Товары.КоличествоУпаковок");
МассивВсехРеквизитов.Добавить("Товары.ВидЦены");
МассивВсехРеквизитов.Добавить("Товары.ЗаказКлиента");
МассивВсехРеквизитов.Добавить("Товары.КодСтроки");
МассивВсехРеквизитов.Добавить("Товары.Склад");
МассивВсехРеквизитов.Добавить("Товары.Серия");
МассивВсехРеквизитов.Добавить("Товары.СтатусУказанияСерий");
МассивВсехРеквизитов.Добавить("Товары.СтатьяДоходов");
МассивВсехРеквизитов.Добавить("Товары.АналитикаДоходов");
МассивВсехРеквизитов.Добавить("Товары.СтатьяРасходов");
МассивВсехРеквизитов.Добавить("Товары.АналитикаРасходов");
МассивВсехРеквизитов.Добавить("Товары.АналитикаАктивовПассивов");
МассивВсехРеквизитов.Добавить("Товары.СписатьНаРасходы");
МассивВсехРеквизитов.Добавить("Расхождения.Серия");
МассивВсехРеквизитов.Добавить("Расхождения.Номенклатура");
МассивВсехРеквизитов.Добавить("Расхождения.Характеристика");
МассивВсехРеквизитов.Добавить("Расхождения.Назначение");
МассивВсехРеквизитов.Добавить("Расхождения.Содержание");
МассивВсехРеквизитов.Добавить("Расхождения.Упаковка");
МассивВсехРеквизитов.Добавить("Расхождения.КоличествоУпаковок");
МассивВсехРеквизитов.Добавить("Расхождения.ЗаказКлиента");
МассивВсехРеквизитов.Добавить("Расхождения.КодСтроки");
МассивВсехРеквизитов.Добавить("Расхождения.Склад");
МассивВсехРеквизитов.Добавить("Расхождения.СтатьяДоходов");
МассивВсехРеквизитов.Добавить("Расхождения.АналитикаДоходов");
МассивВсехРеквизитов.Добавить("Расхождения.СтатьяРасходов");
МассивВсехРеквизитов.Добавить("Расхождения.АналитикаРасходов");
МассивВсехРеквизитов.Добавить("Расхождения.АналитикаАктивовПассивов");
МассивВсехРеквизитов.Добавить("Расхождения.СписатьНаРасходы");
МассивРеквизитовОперации = Новый Массив;
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
МассивРеквизитовОперации.Добавить("ДокументОснование");
МассивРеквизитовОперации.Добавить("Склад");
МассивРеквизитовОперации.Добавить("Соглашение");
МассивРеквизитовОперации.Добавить("Договор");
МассивРеквизитовОперации.Добавить("КлиентКонтрагент");
МассивРеквизитовОперации.Добавить("КлиентПартнер");
МассивРеквизитовОперации.Добавить("КлиентДоговор");
МассивРеквизитовОперации.Добавить("ПодразделениеДоходы");
МассивРеквизитовОперации.Добавить("СтатьяДоходов");
МассивРеквизитовОперации.Добавить("АналитикаДоходов");
МассивРеквизитовОперации.Добавить("ПодразделениеРасходы");
МассивРеквизитовОперации.Добавить("СтатьяРасходов");
МассивРеквизитовОперации.Добавить("АналитикаРасходов");
МассивРеквизитовОперации.Добавить("Отпустил");
МассивРеквизитовОперации.Добавить("ОтпустилДолжность");
МассивРеквизитовОперации.Добавить("Грузополучатель");
МассивРеквизитовОперации.Добавить("Грузоотправитель");
МассивРеквизитовОперации.Добавить("БанковскийСчетОрганизации");
МассивРеквизитовОперации.Добавить("БанковскийСчетКонтрагента");
МассивРеквизитовОперации.Добавить("БанковскийСчетГрузоотправителя");
МассивРеквизитовОперации.Добавить("БанковскийСчетГрузополучателя");
МассивРеквизитовОперации.Добавить("АдресДоставки");
МассивРеквизитовОперации.Добавить("ДоверенностьНомер");
МассивРеквизитовОперации.Добавить("ДоверенностьДата");
МассивРеквизитовОперации.Добавить("ДоверенностьВыдана");
МассивРеквизитовОперации.Добавить("ДоверенностьЛицо");
МассивРеквизитовОперации.Добавить("Товары.Номенклатура");
МассивРеквизитовОперации.Добавить("Товары.Характеристика");
МассивРеквизитовОперации.Добавить("Товары.Назначение");
МассивРеквизитовОперации.Добавить("Товары.Упаковка");
МассивРеквизитовОперации.Добавить("Товары.КоличествоУпаковок");
МассивРеквизитовОперации.Добавить("Товары.ВидЦены");
МассивРеквизитовОперации.Добавить("Товары.ЗаказКлиента");
МассивРеквизитовОперации.Добавить("Товары.КодСтроки");
МассивРеквизитовОперации.Добавить("Товары.Склад");
МассивРеквизитовОперации.Добавить("Товары.Серия");
МассивРеквизитовОперации.Добавить("Товары.СтатусУказанияСерий");
МассивРеквизитовОперации.Добавить("Расхождения.Серия");
МассивРеквизитовОперации.Добавить("Расхождения.Номенклатура");
МассивРеквизитовОперации.Добавить("Расхождения.Характеристика");
МассивРеквизитовОперации.Добавить("Расхождения.Назначение");
МассивРеквизитовОперации.Добавить("Расхождения.Упаковка");
МассивРеквизитовОперации.Добавить("Расхождения.КоличествоУпаковок");
МассивРеквизитовОперации.Добавить("Расхождения.ЗаказКлиента");
МассивРеквизитовОперации.Добавить("Расхождения.КодСтроки");
МассивРеквизитовОперации.Добавить("Расхождения.Склад");
ИначеЕсли ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.АктВыполненныхРабот") Тогда
МассивРеквизитовОперации.Добавить("ДокументОснование");
МассивРеквизитовОперации.Добавить("Соглашение");
МассивРеквизитовОперации.Добавить("Договор");
МассивРеквизитовОперации.Добавить("ПодразделениеДоходы");
МассивРеквизитовОперации.Добавить("СтатьяДоходов");
МассивРеквизитовОперации.Добавить("АналитикаДоходов");
МассивРеквизитовОперации.Добавить("ПодразделениеРасходы");
МассивРеквизитовОперации.Добавить("СтатьяРасходов");
МассивРеквизитовОперации.Добавить("АналитикаРасходов");
МассивРеквизитовОперации.Добавить("Товары.Номенклатура");
МассивРеквизитовОперации.Добавить("Товары.Характеристика");
МассивРеквизитовОперации.Добавить("Товары.Назначение");
МассивРеквизитовОперации.Добавить("Товары.КоличествоУпаковок");
МассивРеквизитовОперации.Добавить("Товары.Содержание");
МассивРеквизитовОперации.Добавить("Товары.ВидЦены");
МассивРеквизитовОперации.Добавить("Товары.ЗаказКлиента");
МассивРеквизитовОперации.Добавить("Товары.КодСтроки");
МассивРеквизитовОперации.Добавить("Расхождения.Номенклатура");
МассивРеквизитовОперации.Добавить("Расхождения.Характеристика");
МассивРеквизитовОперации.Добавить("Расхождения.Назначение");
МассивРеквизитовОперации.Добавить("Расхождения.Содержание");
МассивРеквизитовОперации.Добавить("Расхождения.ЗаказКлиента");
МассивРеквизитовОперации.Добавить("Расхождения.КодСтроки");
ИначеЕсли ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда
МассивРеквизитовОперации.Добавить("ДокументОснование");
МассивРеквизитовОперации.Добавить("Соглашение");
МассивРеквизитовОперации.Добавить("Договор");
МассивРеквизитовОперации.Добавить("ПодразделениеДоходы");
МассивРеквизитовОперации.Добавить("СтатьяДоходов");
МассивРеквизитовОперации.Добавить("АналитикаДоходов");
МассивРеквизитовОперации.Добавить("ПодразделениеРасходы");
МассивРеквизитовОперации.Добавить("СтатьяРасходов");
МассивРеквизитовОперации.Добавить("АналитикаРасходов");
МассивРеквизитовОперации.Добавить("Товары.Содержание");
МассивРеквизитовОперации.Добавить("Товары.КоличествоУпаковок");
МассивРеквизитовОперации.Добавить("Товары.Упаковка");
МассивРеквизитовОперации.Добавить("Расхождения.Содержание");
МассивРеквизитовОперации.Добавить("Расхождения.Упаковка");
МассивРеквизитовОперации.Добавить("Расхождения.КоличествоУпаковок");
МассивРеквизитовОперации.Добавить("Товары.СтатьяДоходов");
МассивРеквизитовОперации.Добавить("Товары.АналитикаДоходов");
МассивРеквизитовОперации.Добавить("Расхождения.СтатьяДоходов");
МассивРеквизитовОперации.Добавить("Расхождения.АналитикаДоходов");
ИначеЕсли ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПервичныйДокумент") Тогда
МассивРеквизитовОперации.Добавить("ДокументОснование");
МассивРеквизитовОперации.Добавить("Соглашение");
МассивРеквизитовОперации.Добавить("Договор");
МассивРеквизитовОперации.Добавить("ПодразделениеДоходы");
МассивРеквизитовОперации.Добавить("СтатьяДоходов");
МассивРеквизитовОперации.Добавить("АналитикаДоходов");
МассивРеквизитовОперации.Добавить("ПодразделениеРасходы");
МассивРеквизитовОперации.Добавить("СтатьяРасходов");
МассивРеквизитовОперации.Добавить("АналитикаРасходов");
МассивРеквизитовОперации.Добавить("Товары.Содержание");
МассивРеквизитовОперации.Добавить("Товары.Упаковка");
МассивРеквизитовОперации.Добавить("Товары.КоличествоУпаковок");
МассивРеквизитовОперации.Добавить("Товары.СтатьяДоходов");
МассивРеквизитовОперации.Добавить("Товары.АналитикаДоходов");
МассивРеквизитовОперации.Добавить("Расхождения.Содержание");
МассивРеквизитовОперации.Добавить("Расхождения.Упаковка");
МассивРеквизитовОперации.Добавить("Расхождения.КоличествоУпаковок");
МассивРеквизитовОперации.Добавить("Расхождения.СтатьяДоходов");
МассивРеквизитовОперации.Добавить("Расхождения.АналитикаДоходов");
Если ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг Тогда
МассивРеквизитовОперации.Добавить("Склад");
МассивРеквизитовОперации.Добавить("Отпустил");
МассивРеквизитовОперации.Добавить("ОтпустилДолжность");
МассивРеквизитовОперации.Добавить("Грузополучатель");
МассивРеквизитовОперации.Добавить("Грузоотправитель");
МассивРеквизитовОперации.Добавить("БанковскийСчетОрганизации");
МассивРеквизитовОперации.Добавить("БанковскийСчетКонтрагента");
МассивРеквизитовОперации.Добавить("БанковскийСчетГрузоотправителя");
МассивРеквизитовОперации.Добавить("БанковскийСчетГрузополучателя");
МассивРеквизитовОперации.Добавить("АдресДоставки");
МассивРеквизитовОперации.Добавить("ДоверенностьНомер");
МассивРеквизитовОперации.Добавить("ДоверенностьДата");
МассивРеквизитовОперации.Добавить("ДоверенностьВыдана");
МассивРеквизитовОперации.Добавить("ДоверенностьЛицо");
МассивРеквизитовОперации.Добавить("Товары.Номенклатура");
МассивРеквизитовОперации.Добавить("Товары.Характеристика");
МассивРеквизитовОперации.Добавить("Товары.Назначение");
МассивРеквизитовОперации.Добавить("Товары.Серия");
МассивРеквизитовОперации.Добавить("Товары.ВидЦены");
МассивРеквизитовОперации.Добавить("Товары.ЗаказКлиента");
МассивРеквизитовОперации.Добавить("Товары.КодСтроки");
МассивРеквизитовОперации.Добавить("Товары.Склад");
МассивРеквизитовОперации.Добавить("Товары.СтатусУказанияСерий");
МассивРеквизитовОперации.Добавить("Товары.НомерГТД");
МассивРеквизитовОперации.Добавить("Товары.КоличествоПоРНПТ");
МассивРеквизитовОперации.Добавить("Расхождения.Номенклатура");
МассивРеквизитовОперации.Добавить("Расхождения.Характеристика");
МассивРеквизитовОперации.Добавить("Расхождения.Назначение");
МассивРеквизитовОперации.Добавить("Расхождения.Серия");
МассивРеквизитовОперации.Добавить("Расхождения.ЗаказКлиента");
МассивРеквизитовОперации.Добавить("Расхождения.КодСтроки");
МассивРеквизитовОперации.Добавить("Расхождения.Склад");
МассивРеквизитовОперации.Добавить("Расхождения.НомерГТД");
МассивРеквизитовОперации.Добавить("Расхождения.КоличествоПоРНПТ");
КонецЕсли;
Иначе
МассивРеквизитовОперации.Добавить("ПодразделениеДоходы");
МассивРеквизитовОперации.Добавить("СтатьяДоходов");
МассивРеквизитовОперации.Добавить("АналитикаДоходов");
МассивРеквизитовОперации.Добавить("ПодразделениеРасходы");
МассивРеквизитовОперации.Добавить("СтатьяРасходов");
МассивРеквизитовОперации.Добавить("АналитикаРасходов");
МассивРеквизитовОперации.Добавить("БанковскийСчетОрганизации");
МассивРеквизитовОперации.Добавить("БанковскийСчетКонтрагента");
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьТоварыПоИсходнымДанным(ДокументОснование, Товары, Расхождения, ДокументСсылка = Неопределено) Экспорт
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
СформироватьВременнуюТаблицуИсходныхДанных(МенеджерВременныхТаблиц, ДокументОснование, ДокументСсылка);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст = "
|ВЫБРАТЬ
| *
|ИЗ ИсходныеДанные КАК ИсходныеДанные
|
|УПОРЯДОЧИТЬ ПО
| ИсходныеДанные.НомерСтроки
|";
ДанныеПоТоварам = Запрос.Выполнить().Выгрузить();
Если Не ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПервичныйДокумент")
Или ДанныеПоТоварам.Количество() > 0 Тогда
Товары.Загрузить(ДанныеПоТоварам);
Расхождения.Очистить();
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьТоварыПоАктуПриемки(Объект, ЭтоВозвратВПуть = Ложь) Экспорт
Объект.Товары.Очистить();
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| АктОРасхожденияхПослеОтгрузкиТовары.НомерСтроки КАК НомерСтроки,
| АктОРасхожденияхПослеОтгрузкиТовары.Номенклатура,
| АктОРасхожденияхПослеОтгрузкиТовары.Характеристика,
| АктОРасхожденияхПослеОтгрузкиТовары.Назначение,
| АктОРасхожденияхПослеОтгрузкиТовары.Упаковка,
|
| ВЫБОР КОГДА &РеализацияПерепоставленногоТовара ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковок - АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковокПоДокументу
| КОГДА &ВозвратНедопоставленногоТовара ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковокПоДокументу - АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковок
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.Действие В (&ВариантыДействийДанныеПоДокументу) ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковокПоДокументу
| КОГДА &ЭтоВозвратВПуть
| И АктОРасхожденияхПослеОтгрузкиТовары.Действие В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ВозвратПерепоставленного),
| ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ТребуетсяОприходованиеВозврат)
| ) ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковокПоДокументу
| КОГДА &ЭтоВозвратВПуть ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковок
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковок > АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковокПоДокументу
| И НЕ АктОРасхожденияхПослеОтгрузкиТовары.ЗаказКлиента = НЕОПРЕДЕЛЕНО
| И НЕ АктОРасхожденияхПослеОтгрузкиТовары.КодСтроки = 0 ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковокПоДокументу
| ИНАЧЕ
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковок
| КОНЕЦ КАК КоличествоУпаковок,
|
| ВЫБОР КОГДА &РеализацияПерепоставленногоТовара ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.Количество - АктОРасхожденияхПослеОтгрузкиТовары.КоличествоПоДокументу
| КОГДА &ВозвратНедопоставленногоТовара ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоПоДокументу - АктОРасхожденияхПослеОтгрузкиТовары.Количество
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.Действие В (&ВариантыДействийДанныеПоДокументу) ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоПоДокументу
| КОГДА &ЭтоВозвратВПуть
| И АктОРасхожденияхПослеОтгрузкиТовары.Действие В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ВозвратПерепоставленного),
| ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ТребуетсяОприходованиеВозврат)
| ) ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоПоДокументу
| КОГДА &ЭтоВозвратВПуть ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.Количество
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.Количество > АктОРасхожденияхПослеОтгрузкиТовары.КоличествоПоДокументу
| И НЕ АктОРасхожденияхПослеОтгрузкиТовары.ЗаказКлиента = НЕОПРЕДЕЛЕНО
| И НЕ АктОРасхожденияхПослеОтгрузкиТовары.КодСтроки = 0 ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоПоДокументу
| ИНАЧЕ
| АктОРасхожденияхПослеОтгрузкиТовары.Количество
| КОНЕЦ КАК Количество,
|
| АктОРасхожденияхПослеОтгрузкиТовары.ВидЦены,
| АктОРасхожденияхПослеОтгрузкиТовары.Цена,
|
| ВЫБОР КОГДА &РеализацияПерепоставленногоТовара ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.Сумма - АктОРасхожденияхПослеОтгрузкиТовары.СуммаПоДокументу
| КОГДА &ВозвратНедопоставленногоТовара ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаПоДокументу - АктОРасхожденияхПослеОтгрузкиТовары.Сумма
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.Действие В (&ВариантыДействийДанныеПоДокументу) ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаПоДокументу
| КОГДА &ЭтоВозвратВПуть
| И АктОРасхожденияхПослеОтгрузкиТовары.Действие В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ВозвратПерепоставленного),
| ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ТребуетсяОприходованиеВозврат)
| ) ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаПоДокументу
| КОГДА &ЭтоВозвратВПуть ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.Сумма
| ИНАЧЕ
| АктОРасхожденияхПослеОтгрузкиТовары.Сумма
| КОНЕЦ КАК Сумма,
|
| АктОРасхожденияхПослеОтгрузкиТовары.СтавкаНДС,
|
| ВЫБОР КОГДА &ПродажаНаЭкспорт ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.Номенклатура.КодТНВЭД
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка)
| КОНЕЦ КАК КодТНВЭД,
|
| ВЫБОР КОГДА &РеализацияПерепоставленногоТовара ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаНДС - АктОРасхожденияхПослеОтгрузкиТовары.СуммаНДСПоДокументу
| КОГДА &ВозвратНедопоставленногоТовара ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаНДСПоДокументу - АктОРасхожденияхПослеОтгрузкиТовары.СуммаНДС
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.Действие В (&ВариантыДействийДанныеПоДокументу) ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаНДСПоДокументу
| КОГДА &ЭтоВозвратВПуть
| И АктОРасхожденияхПослеОтгрузкиТовары.Действие В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ВозвратПерепоставленного),
| ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ТребуетсяОприходованиеВозврат)
| ) ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаНДСПоДокументу
| КОГДА &ЭтоВозвратВПуть ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаНДС
| ИНАЧЕ
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаНДС
| КОНЕЦ КАК СуммаНДС,
|
| ВЫБОР КОГДА &РеализацияПерепоставленногоТовара ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаСНДС - АктОРасхожденияхПослеОтгрузкиТовары.СуммаСНДСПоДокументу
| КОГДА &ВозвратНедопоставленногоТовара ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаСНДСПоДокументу - АктОРасхожденияхПослеОтгрузкиТовары.СуммаСНДС
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.Действие В (&ВариантыДействийДанныеПоДокументу) ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаСНДСПоДокументу
| КОГДА &ЭтоВозвратВПуть
| И АктОРасхожденияхПослеОтгрузкиТовары.Действие В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ВозвратПерепоставленного),
| ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ТребуетсяОприходованиеВозврат)
| ) ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаСНДСПоДокументу
| КОГДА &ЭтоВозвратВПуть ТОГДА
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаСНДС
| ИНАЧЕ
| АктОРасхожденияхПослеОтгрузкиТовары.СуммаСНДС
| КОНЕЦ КАК СуммаСНДС,
|
| АктОРасхожденияхПослеОтгрузкиТовары.ЗаказКлиента,
|
| ВЫБОР КОГДА &РеализацияПерепоставленногоТовара ТОГДА
| 0
| ИНАЧЕ
| АктОРасхожденияхПослеОтгрузкиТовары.КодСтроки
| КОНЕЦ КАК КодСтроки,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| ИНАЧЕ
| АктОРасхожденияхПослеОтгрузкиТовары.Склад
| КОНЕЦ КАК Склад,
| АктОРасхожденияхПослеОтгрузкиТовары.Подразделение,
| ВЫБОР КОГДА АктОРасхожденияхПослеОтгрузкиТовары.СтатусУказанияСерий = 14
| ТОГДА АктОРасхожденияхПослеОтгрузкиТовары.Серия
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ КАК Серия,
| ВЫБОР КОГДА АктОРасхожденияхПослеОтгрузкиТовары.СтатусУказанияСерий = 14
| ТОГДА АктОРасхожденияхПослеОтгрузкиТовары.СтатусУказанияСерий
| ИНАЧЕ 0
| КОНЕЦ КАК СтатусУказанияСерий,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковок > АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковокПоДокументу
| И АктОРасхожденияхПослеОтгрузкиТовары.Действие <> ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ОприходоватьСейчас)
| И НЕ АктОРасхожденияхПослеОтгрузкиТовары.ЗаказКлиента = ЗНАЧЕНИЕ(Документ.ЗаказКлиента.ПустаяСсылка)
| И НЕ АктОРасхожденияхПослеОтгрузкиТовары.КодСтроки = 0
| И НЕ &РеализацияПерепоставленногоТовара
| И НЕ &ВозвратНедопоставленногоТовара
| ТОГДА АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковок - АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковокПоДокументу
| ИНАЧЕ 0
| КОНЕЦ КАК КоличествоУпаковокСверхЗаказа,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.Количество > АктОРасхожденияхПослеОтгрузкиТовары.КоличествоПоДокументу
| И АктОРасхожденияхПослеОтгрузкиТовары.Действие <> ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ОприходоватьСейчас)
| И НЕ АктОРасхожденияхПослеОтгрузкиТовары.ЗаказКлиента = ЗНАЧЕНИЕ(Документ.ЗаказКлиента.ПустаяСсылка)
| И НЕ АктОРасхожденияхПослеОтгрузкиТовары.КодСтроки = 0
| И НЕ &РеализацияПерепоставленногоТовара
| И НЕ &ВозвратНедопоставленногоТовара
| ТОГДА АктОРасхожденияхПослеОтгрузкиТовары.Количество - АктОРасхожденияхПослеОтгрузкиТовары.КоличествоПоДокументу
| ИНАЧЕ 0
| КОНЕЦ КАК КоличествоСверхЗаказа,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| ТОГДА ВЫБОР
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.Количество > АктОРасхожденияхПослеОтгрузкиТовары.КоличествоПоДокументу
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализацию)
| КОГДА АктОРасхожденияхПослеОтгрузкиТовары.Количество < АктОРасхожденияхПослеОтгрузкиТовары.КоличествоПоДокументу
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УменьшитьРеализацию)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ПустаяСсылка)
| КОНЕЦ
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ПустаяСсылка)
| КОНЕЦ КАК ВариантОтражения
|
|ИЗ
| Документ.АктОРасхожденияхПослеОтгрузки.Товары КАК АктОРасхожденияхПослеОтгрузкиТовары
|ГДЕ
| АктОРасхожденияхПослеОтгрузкиТовары.Ссылка = &АктОРасхожденияхПослеОтгрузкиОснование
| И АктОРасхожденияхПослеОтгрузкиТовары.Реализация = &РеализацияОснование
| И (АктОРасхожденияхПослеОтгрузкиТовары.Действие В (&ВариантыДействий)
| ИЛИ (НЕ (&РеализацияПерепоставленногоТовара ИЛИ &ВозвратНедопоставленногоТовара)))
| И (АктОРасхожденияхПослеОтгрузкиТовары.Действие <> ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ОприходоватьСейчас) ИЛИ
| АктОРасхожденияхПослеОтгрузкиТовары.КоличествоУпаковокПоДокументу <> 0)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ВариантыДействий = Новый Массив;
Если Объект.ВидКорректировки = Перечисления.ХозяйственныеОперации.РеализацияПерепоставленногоТовара Тогда
ВариантыДействий.Добавить(Перечисления.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ВозвратПерепоставленного);
ВариантыДействий.Добавить(Перечисления.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ПокупкаПерепоставленного);
РеализацияПерепоставленногоТовара = Истина;
ВозвратНедопоставленногоТовара = Ложь;
ИначеЕсли Объект.ВидКорректировки = Перечисления.ХозяйственныеОперации.ВозвратНедопоставленногоТовара Тогда
ВариантыДействий.Добавить(Перечисления.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ДопоставкаНеТребуется);
ВариантыДействий.Добавить(Перечисления.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ТребуетсяДопоставка);
РеализацияПерепоставленногоТовара = Ложь;
ВозвратНедопоставленногоТовара = Истина;
Иначе
РеализацияПерепоставленногоТовара = Ложь;
ВозвратНедопоставленногоТовара = Ложь;
Если ТипЗнч(Объект.ДокументОснование) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
ДополнитьТекстЗапросаПоРеализации(Запрос.Текст);
ОтборПоТипуНоменклатуры = НоменклатураКлиентСервер.ОтборПоТоваруМногооборотнойТаре();
Запрос.УстановитьПараметр("ТипыНоменклатуры", ОтборПоТипуНоменклатуры);
КонецЕсли;
КонецЕсли;
ВариантыДействийДанныеПоДокументу = Новый Массив;
ВариантыДействийДанныеПоДокументу.Добавить(Перечисления.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ПерепоставленноеДарится);
ВариантыДействийДанныеПоДокументу.Добавить(Перечисления.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.НедостачаНеПризнана);
ВариантыДействийДанныеПоДокументу.Добавить(Перечисления.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ОтгрузитьСейчас);
ВариантыДействийДанныеПоДокументу.Добавить(Перечисления.ВариантыДействийПоРасхождениямВАктеПослеОтгрузки.ОприходоватьСейчас);
Запрос.УстановитьПараметр("АктОРасхожденияхПослеОтгрузкиОснование", Объект.АктОРасхожденияхПослеОтгрузкиОснование);
Запрос.УстановитьПараметр("РеализацияОснование", Объект.ДокументОснование);
Запрос.УстановитьПараметр("ВариантыДействий", ВариантыДействий);
Запрос.УстановитьПараметр("РеализацияПерепоставленногоТовара", РеализацияПерепоставленногоТовара);
Запрос.УстановитьПараметр("ВозвратНедопоставленногоТовара", ВозвратНедопоставленногоТовара);
Запрос.УстановитьПараметр("ВариантыДействийДанныеПоДокументу", ВариантыДействийДанныеПоДокументу);
Запрос.УстановитьПараметр("ПродажаНаЭкспорт", Объект.НалогообложениеНДС = Перечисления.ТипыНалогообложенияНДС.ПродажаНаЭкспорт);
Запрос.УстановитьПараметр("ЭтоВозвратВПуть", ЭтоВозвратВПуть);
ОбрабатываемыеСтроки = Новый Массив();
КэшированныеЗначения = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();
СтруктураДействий = Новый Структура;
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСумму");
ЭтоПереходПраваСобственности =
Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПереходПраваСобственности
Или Объект.ДополнительныеСвойства.Свойство("ХозяйственнаяОперацияОснования")
И Объект.ДополнительныеСвойства.ХозяйственнаяОперацияОснования =
Перечисления.ХозяйственныеОперации.ПереходПраваСобственности;
Если ЭтоПереходПраваСобственности Тогда
ПараметрыУказанияСерий = НоменклатураСервер.ПараметрыУказанияСерий(Объект, Документы.КорректировкаРеализации);
ПроверитьСериюРассчитатьСтатус = Новый Структура;
ПроверитьСериюРассчитатьСтатус.Вставить("Склад", Неопределено);
ПроверитьСериюРассчитатьСтатус.Вставить("ПараметрыУказанияСерий", ПараметрыУказанияСерий.Товары);
СтруктураДействий.Вставить("ПроверитьСериюРассчитатьСтатус", ПроверитьСериюРассчитатьСтатус);
КонецЕсли;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Количество > 0 Тогда
НоваяСтрокаТовары = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаТовары, Выборка);
Если ЗначениеЗаполнено(Выборка.КоличествоУпаковокСверхЗаказа) Тогда
ДополнительнаяСтрокаТовары = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(ДополнительнаяСтрокаТовары, Выборка);
ДополнительнаяСтрокаТовары.КоличествоУпаковок = Выборка.КоличествоУпаковокСверхЗаказа;
ДополнительнаяСтрокаТовары.Количество = Выборка.КоличествоСверхЗаказа;
ДополнительнаяСтрокаТовары.КодСтроки = 0;
ОбрабатываемыеСтроки.Добавить(НоваяСтрокаТовары);
ОбрабатываемыеСтроки.Добавить(ДополнительнаяСтрокаТовары);
ИначеЕсли ЭтоПереходПраваСобственности Тогда
ОбрабатываемыеСтроки.Добавить(НоваяСтрокаТовары);
КонецЕсли;
КонецЕсли;
КонецЦикла;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(
ОбрабатываемыеСтроки,
СтруктураДействий,
Объект.Товары,
КэшированныеЗначения);
Объект.ЗаполнитьРасхождения();
Если ЭтоВозвратВПуть Тогда
Для Каждого СтрокаТЧ Из Объект.Расхождения Цикл
Если СтрокаТЧ.Количество < 0 Тогда
СтрокаТЧ.ВариантОтражения = Перечисления.ВариантыОтраженияКорректировокРеализаций.ВернутьВПуть;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура СформироватьВременнуюТаблицуИсходныхДанных(МенеджерВременныхТаблиц, ДокументОснование, ДокументСсылка = Неопределено) Экспорт
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
ТекстЗапросаПоОснованию = ТекстЗапросаПоИсходнымДаннымРеализацияТоваровУслуг();
ИначеЕсли ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.АктВыполненныхРабот") Тогда
ТекстЗапросаПоОснованию = ТекстЗапросаПоИсходнымДаннымАктВыполненныхРабот();
ИначеЕсли ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда
ТекстЗапросаПоОснованию = ТекстЗапросаПоИсходнымДаннымРеализацияУслугПрочихАктивов();
КонецЕсли;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Если ТипЗнч(ДокументОснование) <> Тип("ДокументСсылка.ПервичныйДокумент") Тогда
ТекстЗапроса = "
|ВЫБРАТЬ ПЕРВЫЕ 1
| КорректировкаРеализации.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ДанныеПоследнейКорректировки
|ИЗ
| Документ.КорректировкаРеализации КАК КорректировкаРеализации
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.РеестрДокументов КАК РеестрДокументовСторноИсправление
| ПО
| КорректировкаРеализации.Ссылка = РеестрДокументовСторноИсправление.СторнируемыйДокумент
| И РеестрДокументовСторноИсправление.Проведен
| И НЕ РеестрДокументовСторноИсправление.ДополнительнаяЗапись
|ГДЕ
| КорректировкаРеализации.Проведен
| И КорректировкаРеализации.ВидКорректировки <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| И КорректировкаРеализации.ВидКорректировки <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара)
| И КорректировкаРеализации.ДокументОснование = &ДокументОснование
| И КорректировкаРеализации.Ссылка <> &ДокументСсылка
| И РеестрДокументовСторноИсправление.Ссылка ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| КорректировкаРеализации.МоментВремени УБЫВ
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.ЗаказКлиента КАК ЗаказКлиента,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.ВидЦены КАК ВидЦены,
|
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы
|
|ПОМЕСТИТЬ ИсходныеДанные
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеПоследнейКорректировки КАК ДанныеПоследнейКорректировки
| ПО ТаблицаТовары.Ссылка = ДанныеПоследнейКорректировки.Ссылка
|";
ТекстЗапросаПоОснованию = ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении() + ТекстЗапросаПоОснованию;
ТекстЗапроса = ТекстЗапроса + ТекстЗапросаПоОснованию
+ ОбщегоНазначения.РазделительПакетаЗапросов() + "УНИЧТОЖИТЬ ДанныеПоследнейКорректировки";
Иначе
ТекстЗапроса = ТекстЗапросаПоИсходнымДаннымКорректировокПервичногоДокумента();
Если ЗначениеЗаполнено(ДокументСсылка) Тогда
ТекущийМоментВремени = ДокументСсылка.МоментВремени();
Иначе
ТекущийМоментВремени = Новый МоментВремени(ТекущаяДатаСеанса(), Документы.КорректировкаРеализации.ПустаяСсылка());
КонецЕсли;
Запрос.УстановитьПараметр("ТекущийМоментВремени", ТекущийМоментВремени);
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
Запрос.Выполнить();
КонецПроцедуры
Процедура ДополнитьТекстЗапросаПоРеализации(ТекстЗапроса)
ТекстПоиска = "
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстОбъединитьВсе = ОбщегоНазначения.ТекстОбъединитьВсе();
ТекстЗапросаПоРеализации = ТекстОбъединитьВсе + "ВЫБРАТЬ
| РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтроки,
| РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
| РеализацияТоваровУслугТовары.Характеристика КАК Характеристика,
| РеализацияТоваровУслугТовары.Назначение КАК Назначение,
| РеализацияТоваровУслугТовары.Упаковка КАК Упаковка,
| РеализацияТоваровУслугТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| РеализацияТоваровУслугТовары.Количество КАК Количество,
| РеализацияТоваровУслугТовары.ВидЦены КАК ВидЦены,
| РеализацияТоваровУслугТовары.Цена КАК Цена,
| РеализацияТоваровУслугТовары.Сумма КАК Сумма,
| РеализацияТоваровУслугТовары.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА &ПродажаНаЭкспорт
| ТОГДА РеализацияТоваровУслугТовары.Номенклатура.КодТНВЭД
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка)
| КОНЕЦ КАК КодТНВЭД,
| РеализацияТоваровУслугТовары.СуммаНДС КАК СуммаНДС,
| РеализацияТоваровУслугТовары.СуммаСНДС КАК СуммаСНДС,
| РеализацияТоваровУслугТовары.ЗаказКлиента КАК ЗаказКлиента,
| РеализацияТоваровУслугТовары.КодСтроки КАК КодСтроки,
| РеализацияТоваровУслугТовары.Склад КАК Склад,
| РеализацияТоваровУслугТовары.Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА РеализацияТоваровУслугТовары.СтатусУказанияСерий = 14
| ТОГДА РеализацияТоваровУслугТовары.Серия
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ КАК Серия,
| ВЫБОР
| КОГДА РеализацияТоваровУслугТовары.СтатусУказанияСерий = 14
| ТОГДА РеализацияТоваровУслугТовары.СтатусУказанияСерий
| ИНАЧЕ 0
| КОНЕЦ КАК СтатусУказанияСерий,
| 0 КАК КоличествоУпаковокСверхЗаказа,
| 0 КАК КоличествоСверхЗаказа,
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ПустаяСсылка) КАК ВариантОтражения
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
| РеализацияТоваровУслугТовары.Ссылка = &РеализацияОснование
| И НЕ &РеализацияПерепоставленногоТовара
| И НЕ &ВозвратНедопоставленногоТовара
| И НЕ РеализацияТоваровУслугТовары.Номенклатура.ТипНоменклатуры В(&ТипыНоменклатуры)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ТекстПоиска, ТекстЗапросаПоРеализации);
КонецПроцедуры
Функция ТекстЗапросаПоИсходнымДаннымРеализацияТоваровУслуг()
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Назначение КАК Назначение,
| ВЫБОР КОГДА ТаблицаТовары.СтатусУказанияСерий В (14,18)
| ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| КОНЕЦ КАК Серия,
| ВЫБОР КОГДА ТаблицаТовары.СтатусУказанияСерий В (14,18)
| ТОГДА ТаблицаТовары.СтатусУказанияСерий
| ИНАЧЕ 0
| КОНЕЦ КАК СтатусУказанияСерий,
| """" КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиДоходов.ПустаяСсылка) КАК СтатьяДоходов,
| Неопределено КАК АналитикаДоходов,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.ЗаказКлиента КАК ЗаказКлиента,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
|
| ВЫБОР
| КОГДА ВЫРАЗИТЬ(ТаблицаТовары.Цена * ТаблицаТовары.КоличествоУпаковок КАК ЧИСЛО(31,2)) = ТаблицаТовары.Сумма
| ТОГДА ТаблицаТовары.Цена
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаТовары.Сумма / ТаблицаТовары.КоличествоУпаковок КАК ЧИСЛО(31,2))
| КОНЕЦ КАК Цена,
|
| ВЫБОР КОГДА ВЫРАЗИТЬ(ТаблицаТовары.Цена * ТаблицаТовары.КоличествоУпаковок КАК ЧИСЛО(31,2)) = ТаблицаТовары.Сумма ТОГДА
| ТаблицаТовары.ВидЦены
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.ВидыЦен.ПустаяСсылка)
| КОНЕЦ КАК ВидЦены,
|
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ЛОЖЬ КАК СписатьНаРасходы
|
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейКорректировки КАК ДанныеПоследнейКорректировки
| ПО ИСТИНА
|ГДЕ
| ДанныеПоследнейКорректировки.Ссылка ЕСТЬ NULL
| И ТаблицаТовары.Ссылка = &ДокументОснование
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПоИсходнымДаннымАктВыполненныхРабот()
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаУслуги.НомерСтроки КАК НомерСтроки,
| ТаблицаУслуги.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаУслуги.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаУслуги.Номенклатура КАК Номенклатура,
| ТаблицаУслуги.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаУслуги.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаУслуги.Характеристика КАК Характеристика,
| ТаблицаУслуги.Назначение КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| 0 КАК СтатусУказанияСерий,
| ТаблицаУслуги.Содержание КАК Содержание,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| ТаблицаУслуги.Количество КАК КоличествоУпаковок,
| ТаблицаУслуги.Количество КАК Количество,
| ТаблицаУслуги.Сумма КАК Сумма,
| ТаблицаУслуги.СтавкаНДС КАК СтавкаНДС,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиДоходов.ПустаяСсылка) КАК СтатьяДоходов,
| Неопределено КАК АналитикаДоходов,
| ТаблицаУслуги.СуммаНДС КАК СуммаНДС,
| 0 КАК СуммаНДСРегл,
| 0 КАК СуммаНДСУпр,
| ТаблицаУслуги.СуммаСНДС КАК СуммаСНДС,
| ТаблицаУслуги.КодСтроки КАК КодСтроки,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад,
| ТаблицаУслуги.Подразделение КАК Подразделение,
| ТаблицаУслуги.ЗаказКлиента КАК ЗаказКлиента,
| ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка) КАК КодТНВЭД,
|
| ВЫБОР
| КОГДА ВЫРАЗИТЬ(ТаблицаУслуги.Цена * ТаблицаУслуги.Количество КАК ЧИСЛО(31,2)) = ТаблицаУслуги.Сумма
| ТОГДА ТаблицаУслуги.Цена
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаУслуги.Сумма / ТаблицаУслуги.Количество КАК ЧИСЛО(31,2))
| КОНЕЦ КАК Цена,
|
| ВЫБОР КОГДА ВЫРАЗИТЬ(ТаблицаУслуги.Цена * ТаблицаУслуги.Количество КАК ЧИСЛО(31,2)) = ТаблицаУслуги.Сумма ТОГДА
| ТаблицаУслуги.ВидЦены
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.ВидыЦен.ПустаяСсылка)
| КОНЕЦ КАК ВидЦены,
|
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ЛОЖЬ КАК СписатьНаРасходы
|
|ИЗ
| Документ.АктВыполненныхРабот.Услуги КАК ТаблицаУслуги
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейКорректировки КАК ДанныеПоследнейКорректировки
| ПО ИСТИНА
|
|ГДЕ
| ДанныеПоследнейКорректировки.Ссылка ЕСТЬ NULL
| И ТаблицаУслуги.Ссылка = &ДокументОснование
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПоИсходнымДаннымРеализацияУслугПрочихАктивов()
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаДоходы.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК НоменклатураНабора,
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаНабора,
| ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура,
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПустаяСсылка) КАК ТипНоменклатуры,
| ЗНАЧЕНИЕ(Справочник.НоменклатураКонтрагентов.ПустаяСсылка) КАК НоменклатураПартнера,
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| 0 КАК СтатусУказанияСерий,
| ТаблицаДоходы.Содержание КАК Содержание,
| ТаблицаДоходы.ЕдиницаИзмерения КАК Упаковка,
| ТаблицаДоходы.Количество КАК КоличествоУпаковок,
| ТаблицаДоходы.Количество КАК Количество,
| ТаблицаДоходы.Сумма КАК Сумма,
| ТаблицаДоходы.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДоходы.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаДоходы.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаДоходы.СуммаНДС КАК СуммаНДС,
| 0 КАК СуммаНДСРегл,
| 0 КАК СуммаНДСУпр,
| ТаблицаДоходы.СуммаСНДС КАК СуммаСНДС,
| 0 КАК КодСтроки,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад,
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка) КАК Подразделение,
| ЗНАЧЕНИЕ(Документ.ЗаказКлиента.ПустаяСсылка) КАК ЗаказКлиента,
| ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка) КАК КодТНВЭД,
|
| ТаблицаДоходы.Цена КАК Цена,
| ЗНАЧЕНИЕ(Справочник.ВидыЦен.ПустаяСсылка) КАК ВидЦены,
|
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ЛОЖЬ КАК СписатьНаРасходы
|
|ИЗ
| Документ.РеализацияУслугПрочихАктивов.Доходы КАК ТаблицаДоходы
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейКорректировки КАК ДанныеПоследнейКорректировки
| ПО ИСТИНА
|ГДЕ
| ДанныеПоследнейКорректировки.Ссылка ЕСТЬ NULL
| И ТаблицаДоходы.Ссылка = &ДокументОснование
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПоИсходнымДаннымКорректировокПервичногоДокумента()
ТекстЗапроса = "
|ВЫБРАТЬ ПЕРВЫЕ 1
| КорректировкаРеализации.Ссылка КАК Ссылка,
| КорректировкаРеализации.МоментВремени КАК МоментВремени,
| КорректировкаРеализации.ТипКорректировки КАК ТипКорректировки,
| КорректировкаРеализации.ЦенаВключаетНДС КАК ЦенаВключаетНДС
|ПОМЕСТИТЬ ДанныеПоследнейИсправительнойКорректировки
|ИЗ
| Документ.КорректировкаРеализации КАК КорректировкаРеализации
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеестрДокументов КАК РеестрДокументовСторноИсправление
| ПО КорректировкаРеализации.Ссылка = РеестрДокументовСторноИсправление.СторнируемыйДокумент
| И (РеестрДокументовСторноИсправление.Проведен)
| И (НЕ РеестрДокументовСторноИсправление.ДополнительнаяЗапись)
|ГДЕ
| КорректировкаРеализации.Проведен
| И КорректировкаРеализации.ВидКорректировки <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| И КорректировкаРеализации.ВидКорректировки <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара)
| И КорректировкаРеализации.ДокументОснование = &ДокументОснование
| И КорректировкаРеализации.Ссылка <> &ДокументСсылка
| И РеестрДокументовСторноИсправление.Ссылка ЕСТЬ NULL
| И КорректировкаРеализации.МоментВремени < &ТекущийМоментВремени
| И КорректировкаРеализации.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
|
|УПОРЯДОЧИТЬ ПО
| КорректировкаРеализации.МоментВремени УБЫВ
|;
|
|
|ВЫБРАТЬ
| КорректировкаРеализации.Ссылка КАК Ссылка,
| КорректировкаРеализации.МоментВремени КАК МоментВремени,
| КорректировкаРеализации.ТипКорректировки КАК ТипКорректировки,
| КорректировкаРеализации.ЦенаВключаетНДС КАК ЦенаВключаетНДС
|ПОМЕСТИТЬ ДанныеПредыдущейКорректировки
|ИЗ
| Документ.КорректировкаРеализации КАК КорректировкаРеализации
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеестрДокументов КАК РеестрДокументовСторноИсправление
| ПО КорректировкаРеализации.Ссылка = РеестрДокументовСторноИсправление.СторнируемыйДокумент
| И (РеестрДокументовСторноИсправление.Проведен)
| И (НЕ РеестрДокументовСторноИсправление.ДополнительнаяЗапись)
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейИсправительнойКорректировки КАК ДанныеПоследнейИсправительнойКорректировки
| ПО (ИСТИНА)
|ГДЕ
| КорректировкаРеализации.Проведен
| И КорректировкаРеализации.ВидКорректировки <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| И КорректировкаРеализации.ВидКорректировки <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара)
| И КорректировкаРеализации.ДокументОснование = &ДокументОснование
| И КорректировкаРеализации.Ссылка <> &ДокументСсылка
| И РеестрДокументовСторноИсправление.Ссылка ЕСТЬ NULL
| И КорректировкаРеализации.МоментВремени < &ТекущийМоментВремени
| И (ДанныеПоследнейИсправительнойКорректировки.МоментВремени ЕСТЬ NULL
| ИЛИ КорректировкаРеализации.МоментВремени > ДанныеПоследнейИсправительнойКорректировки.МоментВремени)
| И КорректировкаРеализации.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| КорректировкаРеализации.МоментВремени КАК МоментВремени,
| КорректировкаРеализации.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| КорректировкаРеализации.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ) КАК ВестиУчетПоГТД
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировки
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеПредыдущейКорректировки КАК КорректировкаРеализации
| ПО ТаблицаТовары.Ссылка = КорректировкаРеализации.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| КорректировкаРеализации.МоментВремени КАК МоментВремени,
| КорректировкаРеализации.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| КорректировкаРеализации.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| 0 КАК КоличествоУпаковок,
| 0 КАК Количество,
| 0 КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| 0 КАК СуммаНДС,
| 0 КАК СуммаНДСРегл,
| 0 КАК СуммаНДСУпр,
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| 0 КАК Цена,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| 0 КАК КоличествоПоРНПТ,
| ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ) КАК ВестиУчетПоГТД
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеПредыдущейКорректировки КАК КорректировкаРеализации
| ПО ТаблицаТовары.Ссылка = КорректировкаРеализации.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| НЕ (ТаблицаТовары.Содержание, ТаблицаТовары.НоменклатураНабора, ТаблицаТовары.ХарактеристикаНабора, ТаблицаТовары.Номенклатура, ТаблицаТовары.Характеристика, ТаблицаТовары.Серия, ТаблицаТовары.Упаковка, ТаблицаТовары.Склад, ТаблицаТовары.СтатьяДоходов, ТаблицаТовары.АналитикаДоходов, ТаблицаТовары.Подразделение, ТаблицаТовары.НомерГТД) В
| (ВЫБРАТЬ
| ТоварыПредыдущейКорректировки.Содержание,
| ТоварыПредыдущейКорректировки.НоменклатураНабора,
| ТоварыПредыдущейКорректировки.ХарактеристикаНабора,
| ТоварыПредыдущейКорректировки.Номенклатура,
| ТоварыПредыдущейКорректировки.Характеристика,
| ТоварыПредыдущейКорректировки.Серия,
| ТоварыПредыдущейКорректировки.Упаковка,
| ТоварыПредыдущейКорректировки.Склад,
| ТоварыПредыдущейКорректировки.СтатьяДоходов,
| ТоварыПредыдущейКорректировки.АналитикаДоходов,
| ТоварыПредыдущейКорректировки.Подразделение,
| ТоварыПредыдущейКорректировки.НомерГТД
| ИЗ
| Документ.КорректировкаРеализации.Товары КАК ТоварыПредыдущейКорректировки
| ГДЕ
| ТоварыПредыдущейКорректировки.Ссылка = ТаблицаТовары.Ссылка)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| КорректировкаРеализации.МоментВремени КАК МоментВремени,
| КорректировкаРеализации.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| КорректировкаРеализации.ТипКорректировки КАК ТипКорректировки,
| КорректировкаРеализации.Ссылка.Дата КАК Дата,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ) КАК ВестиУчетПоГТД
|ПОМЕСТИТЬ ВТТоварыПоследнейИсправительнойКорректировки
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеПоследнейИсправительнойКорректировки КАК КорректировкаРеализации
| ПО ТаблицаТовары.Ссылка = КорректировкаРеализации.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| КорректировкаРеализации.МоментВремени КАК МоментВремени,
| КорректировкаРеализации.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| КорректировкаРеализации.ТипКорректировки КАК ТипКорректировки,
| КорректировкаРеализации.Ссылка.Дата КАК Дата,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| 0 КАК КоличествоУпаковок,
| 0 КАК Количество,
| 0 КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| 0 КАК СуммаНДС,
| 0 КАК СуммаНДСРегл,
| 0 КАК СуммаНДСУпр,
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| 0 КАК Цена,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| 0 КАК КоличествоПоРНПТ,
| ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ) КАК ВестиУчетПоГТД
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеПоследнейИсправительнойКорректировки КАК КорректировкаРеализации
| ПО ТаблицаТовары.Ссылка = КорректировкаРеализации.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| НЕ (ТаблицаТовары.Содержание, ТаблицаТовары.НоменклатураНабора, ТаблицаТовары.ХарактеристикаНабора, ТаблицаТовары.Номенклатура, ТаблицаТовары.Характеристика, ТаблицаТовары.Серия, ТаблицаТовары.Упаковка, ТаблицаТовары.Склад, ТаблицаТовары.СтатьяДоходов, ТаблицаТовары.АналитикаДоходов, ТаблицаТовары.Подразделение, ТаблицаТовары.НомерГТД) В
| (ВЫБРАТЬ
| ТоварыПредыдущейКорректировки.Содержание,
| ТоварыПредыдущейКорректировки.НоменклатураНабора,
| ТоварыПредыдущейКорректировки.ХарактеристикаНабора,
| ТоварыПредыдущейКорректировки.Номенклатура,
| ТоварыПредыдущейКорректировки.Характеристика,
| ТоварыПредыдущейКорректировки.Серия,
| ТоварыПредыдущейКорректировки.Упаковка,
| ТоварыПредыдущейКорректировки.Склад,
| ТоварыПредыдущейКорректировки.СтатьяДоходов,
| ТоварыПредыдущейКорректировки.АналитикаДоходов,
| ТоварыПредыдущейКорректировки.Подразделение,
| ТоварыПредыдущейКорректировки.НомерГТД
| ИЗ
| Документ.КорректировкаРеализации.Товары КАК ТоварыПредыдущейКорректировки
| ГДЕ
| ТоварыПредыдущейКорректировки.Ссылка = ТаблицаТовары.Ссылка)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.МоментВремени КАК МоментВремени,
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировкиСГТД_1
|ИЗ
| ВТТоварыПредыдущейКорректировки КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| (НЕ ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ)
| ИЛИ ТаблицаТовары.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка))
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.МоментВремени КАК МоментВремени,
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировкиСГТД_3
|ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_1 КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ТоварыПредыдущейКорректировки.Ссылка
| ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_1 КАК ТоварыПредыдущейКорректировки
| ГДЕ
| ТоварыПредыдущейКорректировки.Номенклатура = ТаблицаТовары.Номенклатура
| И ТоварыПредыдущейКорректировки.Содержание = ТаблицаТовары.Содержание
| И ТоварыПредыдущейКорректировки.НоменклатураНабора = ТаблицаТовары.НоменклатураНабора
| И ТоварыПредыдущейКорректировки.ХарактеристикаНабора = ТаблицаТовары.ХарактеристикаНабора
| И ТоварыПредыдущейКорректировки.Характеристика = ТаблицаТовары.Характеристика
| И ТоварыПредыдущейКорректировки.Серия = ТаблицаТовары.Серия
| И ТоварыПредыдущейКорректировки.Упаковка = ТаблицаТовары.Упаковка
| И ТоварыПредыдущейКорректировки.Склад = ТаблицаТовары.Склад
| И ТоварыПредыдущейКорректировки.СтатьяДоходов = ТаблицаТовары.СтатьяДоходов
| И ТоварыПредыдущейКорректировки.АналитикаДоходов = ТаблицаТовары.АналитикаДоходов
| И ТоварыПредыдущейКорректировки.Подразделение = ТаблицаТовары.Подразделение
| И ТоварыПредыдущейКорректировки.НомерГТД = ТаблицаТовары.НомерГТД
| УПОРЯДОЧИТЬ ПО
| ТоварыПредыдущейКорректировки.МоментВремени УБЫВ)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| КорректировкаРеализации.МоментВремени КАК МоментВремени,
| КорректировкаРеализации.ТипКорректировки КАК ТипКорректировки,
| ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) КАК Номенклатура,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК Характеристика,
| ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНаборов.НоменклатураНабора, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) КАК НоменклатураНабора,
| ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНаборов.ХарактеристикаНабора, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК ХарактеристикаНабора,
| КорректировкаРеализации.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| КорректировкаРеализации.Серия КАК Серия,
| ТаблицаТовары.Склад КАК Склад,
| КорректировкаРеализации.Подразделение КАК Подразделение,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| КорректировкаРеализации.СтатьяДоходов КАК СтатьяДоходов,
| КорректировкаРеализации.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ВЫБОР
| КОГДА КорректировкаРеализации.ЦенаВключаетНДС
| И ТаблицаТовары.СуммаСНДС > 0
| И ТаблицаТовары.КоличествоУпаковок > 0
| ТОГДА ТаблицаТовары.СуммаСНДС / ТаблицаТовары.КоличествоУпаковок
| КОГДА НЕ КорректировкаРеализации.ЦенаВключаетНДС
| И ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС > 0
| И ТаблицаТовары.КоличествоУпаковок > 0
| ТОГДА (ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС) / ТаблицаТовары.КоличествоУпаковок
| ИНАЧЕ 0
| КОНЕЦ КАК Цена,
| ВЫБОР
| КОГДА КорректировкаРеализации.ЦенаВключаетНДС
| ТОГДА ТаблицаТовары.СуммаСНДС
| ИНАЧЕ ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС
| КОНЕЦ КАК Сумма,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| КорректировкаРеализации.СтатьяРасходов КАК СтатьяРасходов,
| КорректировкаРеализации.АналитикаРасходов КАК АналитикаРасходов,
| КорректировкаРеализации.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| КорректировкаРеализации.СписатьНаРасходы КАК СписатьНаРасходы
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировкиСГТД_2
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТТоварыПредыдущейКорректировки КАК КорректировкаРеализации
| ПО (КорректировкаРеализации.Ссылка = ТаблицаТовары.Ссылка)
| И (КорректировкаРеализации.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.Номенклатура = ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура)
| И (КорректировкаРеализации.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.Характеристика = ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика)
| И (КорректировкаРеализации.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.Серия = ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия)
| И (КорректировкаРеализации.Подразделение = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.Подразделение = ТаблицаТовары.АналитикаУчетаНоменклатуры.Подразделение)
| И (КорректировкаРеализации.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.НоменклатураНабора = ТаблицаТовары.АналитикаУчетаНаборов.НоменклатураНабора)
| И (КорректировкаРеализации.ХарактеристикаНабора = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.ХарактеристикаНабора = ТаблицаТовары.АналитикаУчетаНаборов.ХарактеристикаНабора)
| И (КорректировкаРеализации.Склад = ТаблицаТовары.Склад)
|ГДЕ
| КорректировкаРеализации.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И КорректировкаРеализации.ВестиУчетПоГТД
| И КорректировкаРеализации.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| И КорректировкаРеализации.Количество > 0
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.МоментВремени КАК МоментВремени,
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировкиСГТД_4
|ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_2 КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ТоварыПредыдущейКорректировки.Ссылка
| ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_2 КАК ТоварыПредыдущейКорректировки
| ГДЕ
| ТоварыПредыдущейКорректировки.Номенклатура = ТаблицаТовары.Номенклатура
| И ТоварыПредыдущейКорректировки.Содержание = ТаблицаТовары.Содержание
| И ТоварыПредыдущейКорректировки.НоменклатураНабора = ТаблицаТовары.НоменклатураНабора
| И ТоварыПредыдущейКорректировки.ХарактеристикаНабора = ТаблицаТовары.ХарактеристикаНабора
| И ТоварыПредыдущейКорректировки.Характеристика = ТаблицаТовары.Характеристика
| И ТоварыПредыдущейКорректировки.Серия = ТаблицаТовары.Серия
| И ТоварыПредыдущейКорректировки.Упаковка = ТаблицаТовары.Упаковка
| И ТоварыПредыдущейКорректировки.Склад = ТаблицаТовары.Склад
| И ТоварыПредыдущейКорректировки.СтатьяДоходов = ТаблицаТовары.СтатьяДоходов
| И ТоварыПредыдущейКорректировки.АналитикаДоходов = ТаблицаТовары.АналитикаДоходов
| И ТоварыПредыдущейКорректировки.Подразделение = ТаблицаТовары.Подразделение
| И ТоварыПредыдущейКорректировки.НомерГТД = ТаблицаТовары.НомерГТД
| УПОРЯДОЧИТЬ ПО
| ТоварыПредыдущейКорректировки.МоментВремени УБЫВ)
| И ТаблицаТовары.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры КАК НоменклатураТипНоменклатуры,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировкиИтог
|ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_3 КАК ТаблицаТовары
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.ТипКорректировки,
| ТаблицаТовары.НомерСтроки,
| ТаблицаТовары.НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры,
| ТаблицаТовары.НоменклатураПартнера,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.Серия,
| ТаблицаТовары.Содержание,
| ТаблицаТовары.Упаковка,
| ТаблицаТовары.КоличествоУпаковок,
| ТаблицаТовары.Количество,
| ТаблицаТовары.Сумма,
| ТаблицаТовары.СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов,
| ТаблицаТовары.СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр,
| ТаблицаТовары.Склад,
| ТаблицаТовары.Подразделение,
| ТаблицаТовары.Цена,
| ТаблицаТовары.НомерГТД,
| ТаблицаТовары.КоличествоПоРНПТ,
| ТаблицаТовары.СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы
|ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_4 КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТТоварыПредыдущейКорректировкиСГТД_3 КАК ТоварыПредыдущейКорректировки
| ПО (ТоварыПредыдущейКорректировки.Номенклатура = ТаблицаТовары.Номенклатура)
| И (ТоварыПредыдущейКорректировки.Содержание = ТаблицаТовары.Содержание)
| И (ТоварыПредыдущейКорректировки.НоменклатураНабора = ТаблицаТовары.НоменклатураНабора)
| И (ТоварыПредыдущейКорректировки.ХарактеристикаНабора = ТаблицаТовары.ХарактеристикаНабора)
| И (ТоварыПредыдущейКорректировки.Характеристика = ТаблицаТовары.Характеристика)
| И (ТоварыПредыдущейКорректировки.Серия = ТаблицаТовары.Серия)
| И (ТоварыПредыдущейКорректировки.Упаковка = ТаблицаТовары.Упаковка)
| И (ТоварыПредыдущейКорректировки.Склад = ТаблицаТовары.Склад)
| И (ТоварыПредыдущейКорректировки.СтатьяДоходов = ТаблицаТовары.СтатьяДоходов)
| И (ТоварыПредыдущейКорректировки.АналитикаДоходов = ТаблицаТовары.АналитикаДоходов)
| И (ТоварыПредыдущейКорректировки.Подразделение = ТаблицаТовары.Подразделение)
| И (ТоварыПредыдущейКорректировки.НомерГТД = ТаблицаТовары.НомерГТД)
| И ТаблицаТовары.МоментВремени >= ТоварыПредыдущейКорректировки.МоментВремени
|ГДЕ
| ТаблицаТовары.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И ТоварыПредыдущейКорректировки.Количество > 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.ТипКорректировки,
| ТаблицаТовары.НомерСтроки,
| ТаблицаТовары.НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры,
| ТаблицаТовары.НоменклатураПартнера,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.Серия,
| ТаблицаТовары.Содержание,
| ТаблицаТовары.Упаковка,
| ТаблицаТовары.КоличествоУпаковок,
| ТаблицаТовары.Количество,
| ТаблицаТовары.Сумма,
| ТаблицаТовары.СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов,
| ТаблицаТовары.СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр,
| ТаблицаТовары.Склад,
| ТаблицаТовары.Подразделение,
| ТаблицаТовары.Цена,
| ТаблицаТовары.НомерГТД,
| ТаблицаТовары.КоличествоПоРНПТ,
| ТаблицаТовары.СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы
|ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_4 КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И НЕ (ТаблицаТовары.Содержание, ТаблицаТовары.НоменклатураНабора, ТаблицаТовары.ХарактеристикаНабора, ТаблицаТовары.Номенклатура, ТаблицаТовары.Характеристика, ТаблицаТовары.Серия, ТаблицаТовары.Упаковка, ТаблицаТовары.Склад, ТаблицаТовары.СтатьяДоходов, ТаблицаТовары.АналитикаДоходов, ТаблицаТовары.Подразделение, ТаблицаТовары.НомерГТД) В
| (ВЫБРАТЬ
| ТоварыПредыдущейКорректировки.Содержание,
| ТоварыПредыдущейКорректировки.НоменклатураНабора,
| ТоварыПредыдущейКорректировки.ХарактеристикаНабора,
| ТоварыПредыдущейКорректировки.Номенклатура,
| ТоварыПредыдущейКорректировки.Характеристика,
| ТоварыПредыдущейКорректировки.Серия,
| ТоварыПредыдущейКорректировки.Упаковка,
| ТоварыПредыдущейКорректировки.Склад,
| ТоварыПредыдущейКорректировки.СтатьяДоходов,
| ТоварыПредыдущейКорректировки.АналитикаДоходов,
| ТоварыПредыдущейКорректировки.Подразделение,
| ТоварыПредыдущейКорректировки.НомерГТД
| ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_3 КАК ТоварыПредыдущейКорректировки)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.МоментВремени КАК МоментВремени,
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы
|ПОМЕСТИТЬ ВТТоварыИсправительнойКорректировкиСГТД
|ИЗ
| ВТТоварыПоследнейИсправительнойКорректировки КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| (НЕ ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ)
| ИЛИ ТаблицаТовары.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| КорректировкаРеализации.МоментВремени,
| КорректировкаРеализации.ТипКорректировки,
| КорректировкаРеализации.Номенклатура КАК Номенклатура,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| КорректировкаРеализации.Характеристика КАК Характеристика,
| КорректировкаРеализации.НоменклатураНабора КАК НоменклатураНабора,
| КорректировкаРеализации.ХарактеристикаНабора КАК ХарактеристикаНабора,
| КорректировкаРеализации.Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| КорректировкаРеализации.Серия,
| ТаблицаТовары.Склад КАК Склад,
| КорректировкаРеализации.Подразделение,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| КорректировкаРеализации.СтатьяДоходов,
| КорректировкаРеализации.АналитикаДоходов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ВЫБОР
| КОГДА КорректировкаРеализации.ЦенаВключаетНДС
| И ТаблицаТовары.СуммаСНДС > 0
| И ТаблицаТовары.КоличествоУпаковок > 0
| ТОГДА ТаблицаТовары.СуммаСНДС / ТаблицаТовары.КоличествоУпаковок
| КОГДА НЕ КорректировкаРеализации.ЦенаВключаетНДС
| И ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС > 0
| И ТаблицаТовары.КоличествоУпаковок > 0
| ТОГДА (ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС) / ТаблицаТовары.КоличествоУпаковок
| ИНАЧЕ 0
| КОНЕЦ КАК Цена,
| ВЫБОР
| КОГДА КорректировкаРеализации.ЦенаВключаетНДС
| ТОГДА ТаблицаТовары.СуммаСНДС
| ИНАЧЕ ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС
| КОНЕЦ КАК Сумма,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| КорректировкаРеализации.СтатьяРасходов КАК СтатьяРасходов,
| КорректировкаРеализации.АналитикаРасходов КАК АналитикаРасходов,
| КорректировкаРеализации.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| КорректировкаРеализации.СписатьНаРасходы КАК СписатьНаРасходы
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТТоварыПоследнейИсправительнойКорректировки КАК КорректировкаРеализации
| ПО (КорректировкаРеализации.Ссылка = ТаблицаТовары.Ссылка)
| И (КорректировкаРеализации.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.Номенклатура = ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура)
| И (КорректировкаРеализации.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.Характеристика = ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика)
| И (КорректировкаРеализации.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.Серия = ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия)
| И (КорректировкаРеализации.Подразделение = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.Подразделение = ТаблицаТовары.АналитикаУчетаНоменклатуры.Подразделение)
| И (КорректировкаРеализации.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.НоменклатураНабора = ТаблицаТовары.АналитикаУчетаНаборов.НоменклатураНабора)
| И (КорректировкаРеализации.ХарактеристикаНабора = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
| ИЛИ КорректировкаРеализации.ХарактеристикаНабора = ТаблицаТовары.АналитикаУчетаНаборов.ХарактеристикаНабора)
| И (КорректировкаРеализации.Склад = ТаблицаТовары.Склад)
|ГДЕ
| КорректировкаРеализации.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И КорректировкаРеализации.ВестиУчетПоГТД
| И КорректировкаРеализации.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл КАК СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр КАК СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы
|ПОМЕСТИТЬ ИсходныеДанные
|ИЗ
| ВТТоварыИсправительнойКорректировкиСГТД КАК ТаблицаТовары
|ГДЕ
| ВЫБОР
| КОГДА ТаблицаТовары.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| ТОГДА НЕ (ТаблицаТовары.Содержание, ТаблицаТовары.Подразделение, ТаблицаТовары.СтатьяДоходов, ТаблицаТовары.АналитикаДоходов) В
| (ВЫБРАТЬ
| ТоварыПредыдущейКорректировки.Содержание,
| ТоварыПредыдущейКорректировки.Подразделение,
| ТоварыПредыдущейКорректировки.СтатьяДоходов,
| ТоварыПредыдущейКорректировки.АналитикаДоходов
| ИЗ
| ВТТоварыПредыдущейКорректировкиИтог КАК ТоварыПредыдущейКорректировки)
| И ТаблицаТовары.Сумма > 0
| ИНАЧЕ НЕ (ТаблицаТовары.Содержание, ТаблицаТовары.НоменклатураНабора, ТаблицаТовары.ХарактеристикаНабора, ТаблицаТовары.Номенклатура, ТаблицаТовары.Характеристика, ТаблицаТовары.Серия, ТаблицаТовары.Упаковка, ТаблицаТовары.Склад, ТаблицаТовары.СтатьяДоходов, ТаблицаТовары.АналитикаДоходов, ТаблицаТовары.Подразделение, ТаблицаТовары.НомерГТД) В
| (ВЫБРАТЬ
| ТоварыПредыдущейКорректировки.Содержание,
| ТоварыПредыдущейКорректировки.НоменклатураНабора,
| ТоварыПредыдущейКорректировки.ХарактеристикаНабора,
| ТоварыПредыдущейКорректировки.Номенклатура,
| ТоварыПредыдущейКорректировки.Характеристика,
| ТоварыПредыдущейКорректировки.Серия,
| ТоварыПредыдущейКорректировки.Упаковка,
| ТоварыПредыдущейКорректировки.Склад,
| ТоварыПредыдущейКорректировки.СтатьяДоходов,
| ТоварыПредыдущейКорректировки.АналитикаДоходов,
| ТоварыПредыдущейКорректировки.Подразделение,
| ТоварыПредыдущейКорректировки.НомерГТД
| ИЗ
| ВТТоварыПредыдущейКорректировкиИтог КАК ТоварыПредыдущейКорректировки)
| И ТаблицаТовары.Количество > 0
| КОНЕЦ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки,
| ТаблицаТовары.НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры,
| ТаблицаТовары.НоменклатураПартнера,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.Серия,
| ТаблицаТовары.Содержание,
| ТаблицаТовары.Упаковка,
| ТаблицаТовары.КоличествоУпаковок,
| ТаблицаТовары.Количество,
| ТаблицаТовары.Сумма,
| ТаблицаТовары.СтавкаНДС,
| ТаблицаТовары.СтатьяДоходов,
| ТаблицаТовары.АналитикаДоходов,
| ТаблицаТовары.СуммаНДС,
| ТаблицаТовары.СуммаНДСРегл,
| ТаблицаТовары.СуммаНДСУпр,
| ТаблицаТовары.СуммаСНДС,
| ТаблицаТовары.СуммаБезНДСРегл,
| ТаблицаТовары.СуммаБезНДСУпр,
| ТаблицаТовары.Склад,
| ТаблицаТовары.Подразделение,
| ТаблицаТовары.Цена,
| ТаблицаТовары.НомерГТД,
| ТаблицаТовары.КоличествоПоРНПТ,
| ТаблицаТовары.СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов,
| ТаблицаТовары.АналитикаАктивовПассивов,
| ТаблицаТовары.СписатьНаРасходы
|ИЗ
| ВТТоварыПредыдущейКорректировкиИтог КАК ТаблицаТовары
|ГДЕ
| (ТаблицаТовары.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И ТаблицаТовары.Количество > 0
| ИЛИ ТаблицаТовары.ТипКорректировки <> ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И ТаблицаТовары.Сумма > 0)
|;
|
|
|УНИЧТОЖИТЬ ДанныеПредыдущейКорректировки
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировки
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПоследнейИсправительнойКорректировки
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировкиСГТД_1
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировкиСГТД_3
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировкиСГТД_2
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировкиСГТД_4
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировкиИтог
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыИсправительнойКорректировкиСГТД";
Возврат ТекстЗапроса;
КонецФункции
Процедура ПоместитьВременнуюТаблицуТоваровДляСоглашенийОбИзмененииСтоимости(МенеджерВременныхТаблиц, ПараметрыЗаполнения = Неопределено)
Если ПараметрыЗаполнения = Неопределено Тогда
ПараметрыЗаполнения = ПродажиСервер.ПараметрыЗаполненияВременнойТаблицыТоваров();
КонецЕсли;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("ПересчитыватьВВалютуРегл", ПараметрыЗаполнения.ПересчитыватьВВалютуРегл);
Запрос.УстановитьПараметр("ВключаяНомераГТД", ПараметрыЗаполнения.ВключаяНомераГТД);
Запрос.УстановитьПараметр("ПустаяГТД", Справочники.НомераГТД.ПустаяСсылка());
Если ПараметрыЗаполнения.ПересчитыватьВВалютуРегл И ПараметрыЗаполнения.АктуализироватьРасчеты Тогда
Если НЕ ПолучитьФункциональнуюОпцию("НоваяАрхитектураВзаиморасчетов") Тогда
Запрос.Текст = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| РасчетыСКлиентами.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам
|ИЗ
| РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО
| РасчетыСКлиентами.Регистратор = ДанныеДокументов.Ссылка
|
|ГДЕ
| ДанныеДокументов.Валюта <> ДанныеДокументов.Организация.ВалютаРегламентированногоУчета
| И РасчетыСКлиентами.Активность
|";
ТаблицаАналитик = Запрос.Выполнить().Выгрузить();
МассивАналитикУчетаПоПартнерам = ТаблицаАналитик.ВыгрузитьКолонку("АналитикаУчетаПоПартнерам");
Если МассивАналитикУчетаПоПартнерам.Количество() > 0 Тогда
ОкончаниеПериодаРасчета = КонецМесяца(ВзаиморасчетыСервер.ПолучитьМаксимальнуюДатуВКоллекцииДокументов(МенеджерВременныхТаблиц)) + 1;
АналитикиРасчета = РаспределениеВзаиморасчетовВызовСервера.АналитикиРасчета();
АналитикиРасчета.АналитикиУчетаПоПартнерам = МассивАналитикУчетаПоПартнерам;
Попытка
РаспределениеВзаиморасчетовВызовСервера.РаспределитьВсеРасчетыСКлиентами(ОкончаниеПериодаРасчета, АналитикиРасчета);
Исключение
ТекстСообщения = НСтр("ru = 'Печатная форма сформирована по неактуальным данным.
|Необходимо актуализировать взаиморасчеты вручную и переформировать печатную форму.'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
КонецПопытки;
КонецЕсли;
Иначе
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокументов.Ссылка КАК Ссылка
|ИЗ
| ТаблицаДанныхДокументов КАК ДанныеДокументов
|ГДЕ
| ДанныеДокументов.Валюта <> ДанныеДокументов.Организация.ВалютаРегламентированногоУчета
| ИЛИ ДанныеДокументов.Валюта <> &ВалютаУправленческогоУчета";
МассивДокументов = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
Если ПланыОбмена.ГлавныйУзел() = Неопределено Тогда
НеоперативнаяОчередьЗаданий.ВыполнитьЗаданияНеоперативнойОчередиПоСпискуДокументов(МассивДокументов,
Справочники.ВидыНеоперативныхЗаданий.АктуализацияДвиженийПоФинансовымРегистрам);
Иначе
РегистрыСведений.СуммыДокументовВВалютахУчета.РассчитатьСуммыДокументовВВалютахУчета(МассивДокументов);
КонецЕсли;
КонецЕсли;
КонецЕсли;
УстановитьПараметрыВтВидыЗапасов(
Запрос,
ПараметрыЗаполнения.ПересчитыватьВВалютуРегл,
ПараметрыЗаполнения.ВключаяДоКорректировки);
Запрос.Текст = ТекстЗапросаВтВидыЗапасов() + "
|ВЫБРАТЬ
| СвязанныеДокументы.Основной КАК Основной,
| СвязанныеДокументы.Подчиненный КАК Предыдущий
|ИЗ
| ВтСвязанныеДокументы КАК СвязанныеДокументы
|
|ГДЕ
| СвязанныеДокументы.Подчиненный <> СвязанныеДокументы.Основной
|
|УПОРЯДОЧИТЬ ПО
| СвязанныеДокументы.МоментВремени УБЫВ
|
|ИТОГИ ПО
| СвязанныеДокументы.Основной
|";
РезультатЗапроса = Запрос.Выполнить();
ТаблицаПредыдущихДокументов = Новый ТаблицаЗначений;
ТаблицаПредыдущихДокументов.Колонки.Добавить("Основной", Новый ОписаниеТипов("ДокументСсылка.КорректировкаРеализации"));
ТаблицаПредыдущихДокументов.Колонки.Добавить("Предыдущий", Новый ОписаниеТипов("
|ДокументСсылка.КорректировкаРеализации,
|ДокументСсылка.РеализацияТоваровУслуг,
|ДокументСсылка.АктВыполненныхРабот,
|ДокументСсылка.РеализацияУслугПрочихАктивов"));
ВыборкаПоСсылкам = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоСсылкам.Следующий() Цикл
Выборка = ВыборкаПоСсылкам.Выбрать();
Если Выборка.Следующий() Тогда
ЗаполнитьЗначенияСвойств(ТаблицаПредыдущихДокументов.Добавить(), Выборка);
КонецЕсли;
КонецЦикла;
Запрос.УстановитьПараметр("ПредыдущиеДокументы", ТаблицаПредыдущихДокументов);
Запрос.Текст = "
|////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПредыдущиеДокументы.Основной КАК Основной,
| ПредыдущиеДокументы.Предыдущий КАК Предыдущий
|
|ПОМЕСТИТЬ ПредыдущиеДокументы
|ИЗ
| &ПредыдущиеДокументы КАК ПредыдущиеДокументы
|;
|/////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТаблицаТоваров.Ссылка КАК Ссылка,
| ТаблицаТоваров.Содержание КАК Содержание,
| ТаблицаТоваров.Номенклатура КАК Номенклатура,
| ТаблицаТоваров.Характеристика КАК Характеристика,
| ТаблицаТоваров.Упаковка КАК Упаковка,
| МАКСИМУМ(ТаблицаТоваров.НомерСтроки) КАК НомерСтроки
|
|ПОМЕСТИТЬ СтрокиТоваров
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК ТаблицаТоваров
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО
| ТаблицаТоваров.Ссылка = ДанныеДокументов.Ссылка
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТоваров.Ссылка,
| ТаблицаТоваров.Номенклатура,
| ТаблицаТоваров.Содержание,
| ТаблицаТоваров.Характеристика,
| ТаблицаТоваров.Упаковка
|
|ИНДЕКСИРОВАТЬ ПО
| ТаблицаТоваров.Ссылка,
| ТаблицаТоваров.Номенклатура,
| ТаблицаТоваров.Характеристика,
| ТаблицаТоваров.Упаковка
|;
|/////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ВернутьМногооборотнуюТару КАК ВернутьМногооборотнуюТару,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999) КАК НомерСтроки,
| """" КАК Содержание,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаДокумента.Упаковка КАК Упаковка,
|
| ВЫБОР КОГДА &ВключаяНомераГТД ТОГДА
| ТаблицаДокумента.НомерГТД
| ИНАЧЕ
| &ПустаяГТД
| КОНЕЦ КАК НомерГТД,
|
| ВЫБОР КОГДА СУММА(ТаблицаДокумента.Количество) > 0 ТОГДА
| СУММА(ТаблицаДокумента.Количество)
| ИНАЧЕ
| -СУММА(ТаблицаДокумента.Количество)
| КОНЕЦ КАК Количество,
|
| ВЫБОР КОГДА СУММА(ТаблицаДокумента.КоличествоУпаковок) > 0 ТОГДА
| СУММА(ТаблицаДокумента.КоличествоУпаковок)
| ИНАЧЕ
| -СУММА(ТаблицаДокумента.КоличествоУпаковок)
| КОНЕЦ КАК КоличествоУпаковок,
|
| ВЫБОР КОГДА СУММА(ТаблицаДокумента.СуммаБезНДС) > 0 ТОГДА
| СУММА(ТаблицаДокумента.СуммаБезНДС)
| ИНАЧЕ
| -СУММА(ТаблицаДокумента.СуммаБезНДС)
| КОНЕЦ КАК СуммаБезНДС,
|
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
|
| ВЫБОР КОГДА СУММА(ТаблицаДокумента.СуммаНДС) > 0 ТОГДА
| СУММА(ТаблицаДокумента.СуммаНДС)
| ИНАЧЕ
| -СУММА(ТаблицаДокумента.СуммаНДС)
| КОНЕЦ КАК СуммаНДС,
|
| ИСТИНА КАК ЭтоТовар,
| ВЫБОР
| КОГДА
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ТаблицаДокумента.ВернутьМногооборотнуюТару
| ТОГДА
| ЛОЖЬ
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ КАК ЭтоНеВозвратнаяТара,
| ТаблицаДокумента.ДоКорректировки КАК ДоКорректировки
|
|ПОМЕСТИТЬ КорректировкаРеализацииТаблицаТоваров
|ИЗ
| ВтВидыЗапасов КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО
| ТаблицаДокумента.Ссылка = ДанныеДокументов.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| СтрокиТоваров КАК СтрокиТоваров
| ПО
| ТаблицаДокумента.Ссылка = СтрокиТоваров.Ссылка
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = СтрокиТоваров.Номенклатура
| И СтрокиТоваров.Содержание = """"
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика = СтрокиТоваров.Характеристика
| И ТаблицаДокумента.Упаковка = СтрокиТоваров.Упаковка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| СчетаФактурыОснования КАК СчетаФактуры
| ПО
| ТаблицаДокумента.Ссылка = СчетаФактуры.ДокументОснование
|
|СГРУППИРОВАТЬ ПО
| ТаблицаДокумента.Ссылка,
| ТаблицаДокумента.ВернутьМногооборотнуюТару,
| СтрокиТоваров.НомерСтроки,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика,
| ТаблицаДокумента.Упаковка,
|
| ВЫБОР КОГДА &ВключаяНомераГТД ТОГДА
| ТаблицаДокумента.НомерГТД
| ИНАЧЕ
| &ПустаяГТД
| КОНЕЦ,
|
| ТаблицаДокумента.СтавкаНДС,
| ТаблицаДокумента.ДоКорректировки,
| ДанныеДокументов.ХозяйственнаяОперация
|
|ИМЕЮЩИЕ
| СУММА(ТаблицаДокумента.Количество) <> 0
| И (СУММА(ТаблицаДокумента.Количество) > 0
| ИЛИ ДанныеДокументов.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПредыдущиеДокументы.Основной КАК Ссылка,
| ЛОЖЬ КАК ВернутьМногооборотнуюТару,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999) КАК НомерСтроки,
| ТаблицаДокумента.Содержание КАК Содержание,
| ТаблицаДокумента.Номенклатура КАК Номенклатура,
| ТаблицаДокумента.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| &ПустаяГТД КАК НомерГТД,
| СУММА(ТаблицаДокумента.Количество) КАК Количество,
| СУММА(ТаблицаДокумента.Количество) КАК КоличествоУпаковок,
| СУММА(ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| СУММА(ТаблицаДокумента.СуммаНДС) КАК СуммаНДС,
| ЛОЖЬ КАК ЭтоТовар,
| ЛОЖЬ КАК ЭтоНеВозвратнаяТара,
| ЛОЖЬ КАК ДоКорректировки
|
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ПредыдущиеДокументы КАК ПредыдущиеДокументы
| ПО
| ТаблицаДокумента.Ссылка = ПредыдущиеДокументы.Основной
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.КорректировкаРеализации КАК ДанныеДокументов
| ПО
| ТаблицаДокумента.Ссылка = ДанныеДокументов.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| СтрокиТоваров КАК СтрокиТоваров
| ПО
| ТаблицаДокумента.Ссылка = СтрокиТоваров.Ссылка
| И ТаблицаДокумента.Номенклатура = СтрокиТоваров.Номенклатура
| И ТаблицаДокумента.Содержание = СтрокиТоваров.Содержание
| И ТаблицаДокумента.Характеристика = СтрокиТоваров.Характеристика
| И ТаблицаДокумента.Упаковка = СтрокиТоваров.Упаковка
|
|ГДЕ
| ДанныеДокументов.ВидКорректировки <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
| И ДанныеДокументов.ВидКорректировки <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара)
| И (ТаблицаДокумента.Номенклатура.ТипНоменклатуры НЕ В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ИЛИ ТаблицаДокумента.Номенклатура.ТипНоменклатуры ЕСТЬ NULL)
|
|СГРУППИРОВАТЬ ПО
| ПредыдущиеДокументы.Основной,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999),
| ТаблицаДокумента.Содержание,
| ТаблицаДокумента.Номенклатура,
| ТаблицаДокумента.Характеристика,
| ТаблицаДокумента.СтавкаНДС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументов.Ссылка КАК Ссылка,
| ЛОЖЬ КАК ВернутьМногооборотнуюТару,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999) КАК НомерСтроки,
| ТаблицаДокумента.Содержание КАК Содержание,
| ТаблицаДокумента.Номенклатура КАК Номенклатура,
| ТаблицаДокумента.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| &ПустаяГТД КАК НомерГТД,
|
| ВЫБОР КОГДА СУММА(ТаблицаДокумента.Количество) > 0 ТОГДА
| СУММА(ТаблицаДокумента.Количество)
| ИНАЧЕ
| -СУММА(ТаблицаДокумента.Количество)
| КОНЕЦ КАК Количество,
|
| ВЫБОР КОГДА СУММА(ТаблицаДокумента.Количество) > 0 ТОГДА
| СУММА(ТаблицаДокумента.Количество)
| ИНАЧЕ
| -СУММА(ТаблицаДокумента.Количество)
| КОНЕЦ КАК КоличествоУпаковок,
|
| ВЫБОР КОГДА СУММА(ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) > 0 ТОГДА
| СУММА(ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС)
| ИНАЧЕ
| -(СУММА(ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС))
| КОНЕЦ КАК СуммаБезНДС,
|
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
|
| ВЫБОР КОГДА СУММА(ТаблицаДокумента.СуммаНДС) > 0 ТОГДА
| СУММА(ТаблицаДокумента.СуммаНДС)
| ИНАЧЕ
| -СУММА(ТаблицаДокумента.СуммаНДС)
| КОНЕЦ КАК СуммаНДС,
|
| ЛОЖЬ КАК ЭтоТовар,
| ЛОЖЬ КАК ЭтоНеВозвратнаяТара,
| ЛОЖЬ КАК ДоКорректировки
|
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.КорректировкаРеализации КАК ДанныеДокументов
| ПО
| ТаблицаДокумента.Ссылка = ДанныеДокументов.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| СтрокиТоваров КАК СтрокиТоваров
| ПО
| ТаблицаДокумента.Ссылка = СтрокиТоваров.Ссылка
| И ТаблицаДокумента.Номенклатура = СтрокиТоваров.Номенклатура
| И ТаблицаДокумента.Содержание = СтрокиТоваров.Содержание
| И ТаблицаДокумента.Характеристика = СтрокиТоваров.Характеристика
| И ТаблицаДокумента.Упаковка = СтрокиТоваров.Упаковка
|
|ГДЕ
| ДанныеДокументов.ВидКорректировки В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
| И (ТаблицаДокумента.Номенклатура.ТипНоменклатуры НЕ В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ИЛИ ТаблицаДокумента.Номенклатура.ТипНоменклатуры ЕСТЬ NULL)
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокументов.Ссылка,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999),
| ТаблицаДокумента.Содержание,
| ТаблицаДокумента.Номенклатура,
| ТаблицаДокумента.Характеристика,
| ТаблицаДокумента.СтавкаНДС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПредыдущиеДокументы.Основной КАК Ссылка,
| ЛОЖЬ КАК ВернутьМногооборотнуюТару,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999) КАК НомерСтроки,
| ТаблицаДокумента.Содержание КАК Содержание,
| ТаблицаДокумента.Номенклатура КАК Номенклатура,
| ТаблицаДокумента.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| &ПустаяГТД КАК НомерГТД,
| СУММА(ТаблицаДокумента.Количество) КАК Количество,
| СУММА(ТаблицаДокумента.Количество) КАК КоличествоУпаковок,
| СУММА(ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| СУММА(ТаблицаДокумента.СуммаНДС) КАК СуммаНДС,
| ЛОЖЬ КАК ЭтоТовар,
| ЛОЖЬ КАК ЭтоНеВозвратнаяТара,
| ИСТИНА КАК ДоКорректировки
|
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ПредыдущиеДокументы КАК ПредыдущиеДокументы
| ПО
| ТаблицаДокумента.Ссылка = ПредыдущиеДокументы.Предыдущий
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| СтрокиТоваров КАК СтрокиТоваров
| ПО
| ТаблицаДокумента.Ссылка = СтрокиТоваров.Ссылка
| И ТаблицаДокумента.Номенклатура = СтрокиТоваров.Номенклатура
| И ТаблицаДокумента.Содержание = СтрокиТоваров.Содержание
| И ТаблицаДокумента.Характеристика = СтрокиТоваров.Характеристика
| И ТаблицаДокумента.Упаковка = СтрокиТоваров.Упаковка
|
|ГДЕ
| &ВключаяДоКорректировки
| И (ТаблицаДокумента.Номенклатура.ТипНоменклатуры НЕ В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ИЛИ ТаблицаДокумента.Номенклатура.ТипНоменклатуры ЕСТЬ NULL)
|
|СГРУППИРОВАТЬ ПО
| ПредыдущиеДокументы.Основной,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999),
| ТаблицаДокумента.Содержание,
| ТаблицаДокумента.Номенклатура,
| ТаблицаДокумента.Характеристика,
| ТаблицаДокумента.СтавкаНДС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПредыдущиеДокументы.Основной КАК Ссылка,
| ЛОЖЬ КАК ВернутьМногооборотнуюТару,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999) КАК НомерСтроки,
| """" КАК Содержание,
| ТаблицаДокумента.Номенклатура КАК Номенклатура,
| ТаблицаДокумента.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| &ПустаяГТД КАК НомерГТД,
| СУММА(ТаблицаДокумента.Количество) КАК Количество,
| СУММА(ТаблицаДокумента.Количество) КАК КоличествоУпаковок,
| СУММА(ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| СУММА(ТаблицаДокумента.СуммаНДС) КАК СуммаНДС,
| ЛОЖЬ КАК ЭтоТовар,
| ЛОЖЬ КАК ЭтоНеВозвратнаяТара,
| ИСТИНА КАК ДоКорректировки
|
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ПредыдущиеДокументы КАК ПредыдущиеДокументы
| ПО
| ТаблицаДокумента.Ссылка = ПредыдущиеДокументы.Предыдущий
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| СтрокиТоваров КАК СтрокиТоваров
| ПО
| ТаблицаДокумента.Ссылка = СтрокиТоваров.Ссылка
| И ТаблицаДокумента.Номенклатура = СтрокиТоваров.Номенклатура
| И СтрокиТоваров.Содержание = """"
| И ТаблицаДокумента.Характеристика = СтрокиТоваров.Характеристика
| И ТаблицаДокумента.Упаковка = СтрокиТоваров.Упаковка
|
|ГДЕ
| &ВключаяДоКорректировки
| И ТаблицаДокумента.Номенклатура.ТипНоменклатуры НЕ В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
|
|СГРУППИРОВАТЬ ПО
| ПредыдущиеДокументы.Основной,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999),
| ТаблицаДокумента.Номенклатура,
| ТаблицаДокумента.Характеристика,
| ТаблицаДокумента.СтавкаНДС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПредыдущиеДокументы.Основной КАК Ссылка,
| ЛОЖЬ КАК ВернутьМногооборотнуюТару,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999) КАК НомерСтроки,
| ТаблицаДокумента.Содержание КАК Содержание,
| ТаблицаДокумента.Номенклатура КАК Номенклатура,
| ТаблицаДокумента.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| &ПустаяГТД КАК НомерГТД,
| СУММА(ТаблицаДокумента.Количество) КАК Количество,
| СУММА(ТаблицаДокумента.Количество) КАК КоличествоУпаковок,
| СУММА(ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| СУММА(ТаблицаДокумента.СуммаНДС) КАК СуммаНДС,
| ЛОЖЬ КАК ЭтоТовар,
| ЛОЖЬ КАК ЭтоНеВозвратнаяТара,
| ИСТИНА КАК ДоКорректировки
|
|ИЗ
| Документ.АктВыполненныхРабот.Услуги КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ПредыдущиеДокументы КАК ПредыдущиеДокументы
| ПО
| ТаблицаДокумента.Ссылка = ПредыдущиеДокументы.Предыдущий
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| СтрокиТоваров КАК СтрокиТоваров
| ПО
| ТаблицаДокумента.Ссылка = СтрокиТоваров.Ссылка
| И ТаблицаДокумента.Номенклатура = СтрокиТоваров.Номенклатура
| И ТаблицаДокумента.Содержание = СтрокиТоваров.Содержание
| И ТаблицаДокумента.Характеристика = СтрокиТоваров.Характеристика
| И СтрокиТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
|
|ГДЕ
| &ВключаяДоКорректировки
|
|СГРУППИРОВАТЬ ПО
| ПредыдущиеДокументы.Основной,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999),
| ТаблицаДокумента.Содержание,
| ТаблицаДокумента.Номенклатура,
| ТаблицаДокумента.Характеристика,
| ТаблицаДокумента.СтавкаНДС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПредыдущиеДокументы.Основной КАК Ссылка,
| ЛОЖЬ КАК ВернутьМногооборотнуюТару,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999) КАК НомерСтроки,
| ТаблицаДокумента.Содержание КАК Содержание,
| ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура,
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| &ПустаяГТД КАК НомерГТД,
| СУММА(ТаблицаДокумента.Количество) КАК Количество,
| СУММА(ТаблицаДокумента.Количество) КАК КоличествоУпаковок,
| СУММА(ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| СУММА(ТаблицаДокумента.СуммаНДС) КАК СуммаНДС,
| ЛОЖЬ КАК ЭтоТовар,
| ЛОЖЬ КАК ЭтоНеВозвратнаяТара,
| ИСТИНА КАК ДоКорректировки
|
|ИЗ
| Документ.РеализацияУслугПрочихАктивов.Доходы КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ПредыдущиеДокументы КАК ПредыдущиеДокументы
| ПО
| ТаблицаДокумента.Ссылка = ПредыдущиеДокументы.Предыдущий
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| СтрокиТоваров КАК СтрокиТоваров
| ПО
| ТаблицаДокумента.Ссылка = СтрокиТоваров.Ссылка
| И СтрокиТоваров.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| И ТаблицаДокумента.Содержание = СтрокиТоваров.Содержание
| И СтрокиТоваров.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
| И СтрокиТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
|
|ГДЕ
| &ВключаяДоКорректировки
|
|СГРУППИРОВАТЬ ПО
| ПредыдущиеДокументы.Основной,
| ЕСТЬNULL(СтрокиТоваров.НомерСтроки, 99999),
| ТаблицаДокумента.Содержание,
| ТаблицаДокумента.СтавкаНДС
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| НомерСтроки
|;
|/////////////////////////////////////////////////////////////////////////////
|УНИЧТОЖИТЬ ВтСвязанныеДокументы
|;
|/////////////////////////////////////////////////////////////////////////////
|УНИЧТОЖИТЬ ПредыдущиеДокументы
|;
|/////////////////////////////////////////////////////////////////////////////
|УНИЧТОЖИТЬ СтрокиТоваров
|;
|/////////////////////////////////////////////////////////////////////////////
|УНИЧТОЖИТЬ ВтВидыЗапасов
|";
Запрос.Выполнить();
КонецПроцедуры
Функция СтруктураОснования(Объект, ПорядокРасчетов)
СтруктураОснование = Новый Структура;
СтруктураОснование.Вставить("Основание");
СтруктураОснование.Вставить("ОснованиеНомер");
СтруктураОснование.Вставить("ОснованиеДата");
Если (ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов
Или ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоДоговорамНакладным)
И ЗначениеЗаполнено(Объект.Договор) Тогда
Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДоговорыКонтрагентов.НаименованиеДляПечати КАК Основание,
| ДоговорыКонтрагентов.Дата КАК ОснованиеДата,
| ДоговорыКонтрагентов.Номер КАК ОснованиеНомер
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
| ДоговорыКонтрагентов.Ссылка = &Ссылка");
Запрос.УстановитьПараметр("Ссылка", Объект.Договор);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
СтруктураОснование.Основание = СокрЛП(Выборка.Основание);
СтруктураОснование.ОснованиеДата = Выборка.ОснованиеДата;
СтруктураОснование.ОснованиеНомер = СокрЛП(Выборка.ОснованиеНомер);
КонецЕсли;
ИначеЕсли (ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоЗаказам
Или ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоЗаказамНакладным)
И Объект.ПродажаПоЗаказам Тогда
Если Объект.Товары.Количество() <> 0 Тогда
ТекстыЗапросов = Новый Массив;
Если ПравоДоступа("Чтение", Метаданные.Документы.ЗаказКлиента) Тогда
ТекстЗапросаДокумент =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВЫБОР
| КОГДА
| ЗаказыКлиентов.НомерПоДаннымКлиента <> """" И ЗаказыКлиентов.ДатаПоДаннымКлиента <> ДАТАВРЕМЯ(1,1,1)
| ТОГДА
| ЗаказыКлиентов.НомерПоДаннымКлиента
| ИНАЧЕ
| ЗаказыКлиентов.Номер
| КОНЕЦ КАК Номер,
| ВЫБОР
| КОГДА
| ЗаказыКлиентов.НомерПоДаннымКлиента <> """" И ЗаказыКлиентов.ДатаПоДаннымКлиента <> ДАТАВРЕМЯ(1,1,1)
| ТОГДА
| ЗаказыКлиентов.ДатаПоДаннымКлиента
| ИНАЧЕ
| ЗаказыКлиентов.Дата
| КОНЕЦ КАК Дата,
| &СинонимЗаказа КАК Синоним
|ИЗ
| Документ.ЗаказКлиента КАК ЗаказыКлиентов
|ГДЕ
| ЗаказыКлиентов.Ссылка В(&МассивЗаказов)";
ТекстыЗапросов.Добавить(ТекстЗапросаДокумент);
КонецЕсли;
Если ПравоДоступа("Чтение", Метаданные.Документы.ЗаявкаНаВозвратТоваровОтКлиента) Тогда
ТекстЗапросаДокумент =
"ВЫБРАТЬ
| ЗаявкиНаВозврат.Номер КАК Номер,
| ЗаявкиНаВозврат.Дата КАК Дата,
| &СинонимЗаявки КАК Синоним
|ИЗ
| Документ.ЗаявкаНаВозвратТоваровОтКлиента КАК ЗаявкиНаВозврат
|ГДЕ
| ЗаявкиНаВозврат.Ссылка В(&МассивЗаказов)";
Если ТекстыЗапросов.Количество() = 0 Тогда
ТекстЗапросаДокумент = СтрЗаменить(ТекстЗапросаДокумент, "ВЫБРАТЬ", "ВЫБРАТЬ РАЗРЕШЕННЫЕ");
КонецЕсли;
ТекстыЗапросов.Добавить(ТекстЗапросаДокумент);
КонецЕсли;
Если ТекстыЗапросов.Количество() = 0 Тогда
Возврат СтруктураОснование;
КонецЕсли;
ТекстЗапроса = СтрСоединить(ТекстыЗапросов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
Запрос = Новый Запрос(ТекстЗапроса);
Если ТипЗнч(Объект) = Тип("Структура") Тогда
МассивЗаказов = Объект.Товары.ВыгрузитьКолонку("ЗаказКлиента");
Иначе
МассивЗаказов = Объект.Товары.Выгрузить(,"ЗаказКлиента").ВыгрузитьКолонку("ЗаказКлиента");
КонецЕсли;
Запрос.УстановитьПараметр("МассивЗаказов", МассивЗаказов);
Запрос.УстановитьПараметр("СинонимЗаказа", НСтр("ru = 'Заказ клиента'"));
Запрос.УстановитьПараметр("СинонимЗаявки", НСтр("ru = 'Заявка на замену'"));
Выборка = Запрос.Выполнить().Выбрать();
СтруктураОснование.Основание = "";
ОдноОснование = Выборка.Количество() = 1;
Пока Выборка.Следующий() Цикл
СтруктураОснование.Основание = СтруктураОснование.Основание + ", " + ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(Выборка, Выборка.Синоним);
ДатаПоЗаказам = Выборка.Дата;
НомерПоЗаказам = Выборка.Номер;
КонецЦикла;
СтруктураОснование.Основание = СокрЛП(Сред(СтруктураОснование.Основание, 3));
СтруктураОснование.ОснованиеДата = ?(ОдноОснование, ДатаПоЗаказам, "");
СтруктураОснование.ОснованиеНомер = ?(ОдноОснование,ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(НомерПоЗаказам),"");
КонецЕсли;
КонецЕсли;
Возврат СтруктураОснование;
КонецФункции
Функция СуммыПоЗаказам(СсылкаОбъект, ЗначенияРеквизитов = Неопределено) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| Товары.СуммаСНДС КАК Сумма,
| Товары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
| &ВернутьМногооборотнуюТару КАК ВернутьМногооборотнуюТару,
| &ТребуетсяЗалогЗаТару КАК ТребуетсяЗалогЗаТару
|ПОМЕСТИТЬ ВТТовары
|ИЗ &ТаблицаЗначений КАК Товары
|ГДЕ &УсловиеСсылка
|;
|ВЫБРАТЬ
| Неопределено КАК Заказ,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаЗаказа,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаСогласования,
| ЛОЖЬ КАК СверхЗаказа,
| СУММА(ВложенныйЗапрос.СуммаПлатежа) КАК СуммаПлатежа,
| СУММА(ВложенныйЗапрос.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| СУММА(ВложенныйЗапрос.СуммаЗалогаЗаТару) КАК СуммаЗалогаЗаТару,
| СУММА(ВложенныйЗапрос.СуммаВзаиморасчетовПоТаре) КАК СуммаВзаиморасчетовПоТаре
|ИЗ (ВЫБРАТЬ
| ВЫБОР
| КОГДА (Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ Товары.ВернутьМногооборотнуюТару)
| И Товары.Сумма > 0
| ТОГДА Товары.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаПлатежа,
| ВЫБОР
| КОГДА (Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ Товары.ВернутьМногооборотнуюТару)
| И Товары.СуммаВзаиморасчетов > 0
| ТОГДА Товары.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И Товары.ТребуетсяЗалогЗаТару
| И Товары.Сумма > 0
| ТОГДА Товары.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаЗалогаЗаТару,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И Товары.ТребуетсяЗалогЗаТару
| И Товары.СуммаВзаиморасчетов > 0
| ТОГДА Товары.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетовПоТаре
| ИЗ ВТТовары КАК Товары) КАК ВложенныйЗапрос
|;";
Если ЗначенияРеквизитов = Неопределено Тогда
ВидКорректировки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаОбъект, "ВидКорректировки");
Запрос.УстановитьПараметр("Ссылка", СсылкаОбъект);
Если ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно
ИЛИ ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУменьшениеЗадолженностиСводно Тогда
Запрос.Текст = "
|ВЫБРАТЬ
| Неопределено КАК Заказ,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаЗаказа,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаСогласования,
| ЛОЖЬ КАК СверхЗаказа,
| СУММА(ВЫБОР
| КОГДА КорректировкаЗадолженности.СуммаСНДС > 0
| ТОГДА КорректировкаЗадолженности.СуммаСНДС
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаПлатежа,
| СУММА(ВЫБОР
| КОГДА КорректировкаЗадолженности.СуммаВзаиморасчетов > 0
| ТОГДА КорректировкаЗадолженности.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаВзаиморасчетов,
| 0 КАК СуммаЗалогаЗаТару,
| 0 КАК СуммаВзаиморасчетовПоТаре
|ИЗ
| Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.Ссылка = &Ссылка";
Иначе
УсловиеВернутьМногооборотнуюТару = "ВЫБОР
| КОГДА Товары.Ссылка.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА ЕСТЬNULL(Товары.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару, ЛОЖЬ)
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ";
УсловиеТребуетсяЗалогЗаТару = "ВЫБОР
| КОГДА Товары.Ссылка.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА ЕСТЬNULL(Товары.Ссылка.ДокументОснование.ТребуетсяЗалогЗаТару, ЛОЖЬ)
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТаблицаЗначений", "Документ.КорректировкаРеализации.Расхождения");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТаблицаКорректировкаЗадолженности", "Документ.КорректировкаРеализации.КорректировкаЗадолженности");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ВернутьМногооборотнуюТару", УсловиеВернутьМногооборотнуюТару);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТребуетсяЗалогЗаТару", УсловиеТребуетсяЗалогЗаТару);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеСсылка", "Товары.Ссылка = &Ссылка");
КонецЕсли;
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеСсылка", "ИСТИНА");
Для Каждого КлючЗначение Из ЗначенияРеквизитов Цикл
Запрос.УстановитьПараметр(КлючЗначение.Ключ, КлючЗначение.Значение);
КонецЦикла;
Если ЗначенияРеквизитов.ТаблицаЗначений.Количество() = 0
Или НЕ ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ЗначенияРеквизитов.ТаблицаЗначений[0],"Номенклатура") Тогда
Запрос.Текст = "
|ВЫБРАТЬ
| Товары.СуммаСНДС КАК Сумма,
| Товары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов
|ПОМЕСТИТЬ ВТТовары
|ИЗ &ТаблицаЗначений КАК Товары
|;
|ВЫБРАТЬ
| Неопределено КАК Заказ,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаЗаказа,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаСогласования,
| ЛОЖЬ КАК СверхЗаказа,
| СУММА(ВЫБОР
| КОГДА ВТТовары.Сумма > 0
| ТОГДА ВТТовары.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаПлатежа,
| СУММА(ВЫБОР
| КОГДА ВТТовары.СуммаВзаиморасчетов > 0
| ТОГДА ВТТовары.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаВзаиморасчетов,
| 0 КАК СуммаЗалогаЗаТару,
| 0 КАК СуммаВзаиморасчетовПоТаре
|ИЗ ВТТовары КАК ВТТовары";
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеСсылка", "ИСТИНА");
КонецЕсли;
КонецЕсли;
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
Функция ХозяйственнаяОперацияДокументаОснования(ДокументОснование) Экспорт
Операция = Перечисления.ХозяйственныеОперации.ПустаяСсылка();
ТипОснования = ТипЗнч(ДокументОснование);
Если ЗначениеЗаполнено(ДокументОснование) Тогда
Если ТипОснования = Тип("ДокументСсылка.АктВыполненныхРабот")
Или ТипОснования = Тип("ДокументСсылка.ПервичныйДокумент") Тогда
Операция = Перечисления.ХозяйственныеОперации.РеализацияКлиенту;
Иначе
УстановитьПривилегированныйРежим(Истина);
Операция = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОснование, "ХозяйственнаяОперация");
КонецЕсли;
КонецЕсли;
Возврат Операция;
КонецФункции
Функция ВариантыОтраженийСОбязательнымСкладом() Экспорт
ВариантыОтраженияСОбязательнымСкладом = Новый СписокЗначений();
ВариантыОтраженияСОбязательнымСкладом.Добавить(
Перечисления.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализациюУменьшитьСкладскиеОстатки);
ВариантыОтраженияСОбязательнымСкладом.Добавить(
Перечисления.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализациюУчестьПриИнвентаризации);
ВариантыОтраженияСОбязательнымСкладом.Добавить(
Перечисления.ВариантыОтраженияКорректировокРеализаций.УменьшитьРеализациюУвеличитьСкладскиеОстатки);
ВариантыОтраженияСОбязательнымСкладом.Добавить(
Перечисления.ВариантыОтраженияКорректировокРеализаций.УменьшитьРеализациюУчестьПриИнвентаризации);
Возврат ВариантыОтраженияСОбязательнымСкладом;
КонецФункции
#Область ПроверкаЗаполненияДокумента
Функция ТаблицаТоваровПоВариантуОтражения(ТЗТаблицаКорректировки, ОтборСтрокСписания = Истина)
ТЗСписываемыхТоваров = ТЗТаблицаКорректировки.СкопироватьКолонки();
ТипыНоменклатуры = НоменклатураКлиентСервер.ОтборПоТоваруМногооборотнойТаре(Ложь);
ТипыНоменклатуры.Добавить(Перечисления.ТипыНоменклатуры.Работа);
СоответствиеНоменклатурыТипу = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(
ТЗТаблицаКорректировки.ВыгрузитьКолонку("Номенклатура"),
"ТипНоменклатуры");
Для Каждого СтрокаТЧ Из ТЗТаблицаКорректировки Цикл
ТипНоменклатуры = СоответствиеНоменклатурыТипу.Получить(СтрокаТЧ.Номенклатура);
Если ОтборСтрокСписания
И ТипыНоменклатуры.Найти(ТипНоменклатуры) <> Неопределено
И Не (СтрокаТЧ.Количество - СтрокаТЧ.КоличествоПосле < 0
Или СтрокаТЧ.КоличествоУпаковок - СтрокаТЧ.КоличествоУпаковокПосле < 0) Тогда
НоваяСтрока = ТЗСписываемыхТоваров.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ,);
ИначеЕсли Не ОтборСтрокСписания
И ТипыНоменклатуры.Найти(ТипНоменклатуры) <> Неопределено Тогда
НоваяСтрока = ТЗСписываемыхТоваров.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ);
КонецЕсли;
КонецЦикла;
Возврат ТЗСписываемыхТоваров;
КонецФункции
Функция ТекстЗапросаВТДокументаПродажи()
ТекстЗапроса =
"ВЫБРАТЬ
| &НалогообложениеНДС КАК НалогообложениеНДС
|ПОМЕСТИТЬ ВременнаяТаблицаДокументПродажи";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТТаблицыТоваровДляЗапроса()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ТаблицаТоваров.Содержание КАК Содержание,
| ВЫРАЗИТЬ(ТаблицаТоваров.НоменклатураНабора КАК Справочник.Номенклатура) КАК НоменклатураНабора,
| ВЫРАЗИТЬ(ТаблицаТоваров.ХарактеристикаНабора КАК Справочник.ХарактеристикиНоменклатуры) КАК ХарактеристикаНабора,
| ВЫРАЗИТЬ(ТаблицаТоваров.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
| ВЫРАЗИТЬ(ТаблицаТоваров.Характеристика КАК Справочник.ХарактеристикиНоменклатуры) КАК Характеристика,
| ВЫРАЗИТЬ(ТаблицаТоваров.Упаковка КАК Справочник.УпаковкиЕдиницыИзмерения) КАК Упаковка,
| ВЫРАЗИТЬ(ТаблицаТоваров.НомерГТД КАК Справочник.НомераГТД) КАК НомерГТД,
| ТаблицаТоваров.Количество КАК Количество,
| ТаблицаТоваров.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТоваров.КоличествоПосле КАК КоличествоПосле,
| ТаблицаТоваров.КоличествоУпаковокПосле КАК КоличествоУпаковокПосле,
| ТаблицаТоваров.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТоваров.КоличествоПоРНПТПосле КАК КоличествоПоРНПТПосле,
| ТаблицаТоваров.Цена КАК Цена,
| ЕСТЬNULL(ТаблицаТоваров.ЦенаПосле,0) КАК ЦенаПосле,
| ТаблицаТоваров.Сумма КАК Сумма,
| ЕСТЬNULL(ТаблицаТоваров.СуммаПосле,0) КАК СуммаПосле,
| ЕСТЬNULL(ТаблицаТоваров.СтавкаНДС, ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)) КАК СтавкаНДС,
| ЕСТЬNULL(ТаблицаТоваров.СтавкаНДСПосле, ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)) КАК СтавкаНДСПосле,
| ТаблицаТоваров.СуммаНДС КАК СуммаНДС,
| ТаблицаТоваров.СуммаНДСПосле КАК СуммаНДСПосле,
| ТаблицаТоваров.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТоваров.СуммаСНДСПосле КАК СуммаСНДСПосле,
| ТаблицаТоваров.ВариантОтражения КАК ВариантОтражения,
| ТаблицаТоваров.ВариантОтраженияСписания КАК ВариантОтраженияСписания,
| ВЫРАЗИТЬ(ТаблицаТоваров.Склад КАК Справочник.Склады) КАК Склад,
| ВЫРАЗИТЬ(ТаблицаТоваров.Подразделение КАК Справочник.СтруктураПредприятия) КАК Подразделение,
| ТаблицаТоваров.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| ТаблицаТоваров.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаТоваров.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаТоваров.Серия КАК Серия,
| ТаблицаТоваров.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаТоваров.СуммаВзаиморасчетовПосле КАК СуммаВзаиморасчетовПосле
|
|ПОМЕСТИТЬ ТаблицаТоваровДляЗапроса
|ИЗ
| &ТаблицаТоваров КАК ТаблицаТоваров";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТТаблицыНаборыПодготовка()
ТекстЗапроса =
"ВЫБРАТЬ
| МИНИМУМ(ТаблицаТоваров.НомерСтроки) КАК НомерСтроки,
| ТаблицаТоваров.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТоваров.ХарактеристикаНабора КАК ХарактеристикаНабора,
| СУММА(ТаблицаТоваров.Сумма) КАК Сумма,
| СУММА(ТаблицаТоваров.СуммаНДС) КАК СуммаНДС,
| СУММА(ТаблицаТоваров.СуммаПосле) КАК СуммаПосле,
| СУММА(ТаблицаТоваров.СуммаНДСПосле) КАК СуммаНДСПосле,
| МАКСИМУМ(ТаблицаТоваров.СтавкаНДС) КАК МаксимумСтавкаНДС,
| МАКСИМУМ(ТаблицаТоваров.СтавкаНДСПосле) КАК МаксимумСтавкаНДСПосле,
| МИНИМУМ(ТаблицаТоваров.СтавкаНДС) КАК МинимумСтавкаНДС,
| МИНИМУМ(ТаблицаТоваров.СтавкаНДСПосле) КАК МинимумСтавкаНДСПосле
|ПОМЕСТИТЬ ТаблицаНаборыПодготовка
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
| ПО ТаблицаТоваров.НоменклатураНабора = ВариантыКомплектацииНоменклатуры.Владелец
| И ТаблицаТоваров.ХарактеристикаНабора = ВариантыКомплектацииНоменклатуры.Характеристика
| И ВариантыКомплектацииНоменклатуры.Основной
|ГДЕ
| ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора В
| (ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ЦенаЗадаетсяЗаНаборРаспределяетсяПоЦенам),
| ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ЦенаЗадаетсяЗаНаборРаспределяетсяПоДолям))
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТоваров.НоменклатураНабора,
| ТаблицаТоваров.ХарактеристикаНабора";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТТаблицыНаборыДополнительно()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТоваров.ХарактеристикаНабора КАК ХарактеристикаНабора,
| СУММА(ВЫБОР
| КОГДА ЕСТЬNULL(Комплектующие.Количество, 0) <> 0
| ТОГДА ТаблицаТоваров.Количество / Комплектующие.Количество
| ИНАЧЕ 1
| КОНЕЦ) КАК Количество,
| СУММА(ВЫБОР
| КОГДА ЕСТЬNULL(Комплектующие.Количество, 0) <> 0
| ТОГДА ТаблицаТоваров.КоличествоПосле / Комплектующие.Количество
| ИНАЧЕ 1
| КОНЕЦ) КАК КоличествоПосле
|ПОМЕСТИТЬ ТаблицаНаборыДополнительно
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
| ПО ТаблицаТоваров.НоменклатураНабора = ВариантыКомплектацииНоменклатуры.Владелец
| И ТаблицаТоваров.ХарактеристикаНабора = ВариантыКомплектацииНоменклатуры.Характеристика
| И ВариантыКомплектацииНоменклатуры.Основной
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры.Товары КАК Комплектующие
| ПО Комплектующие.Ссылка = ВариантыКомплектацииНоменклатуры.Ссылка
| И ТаблицаТоваров.Номенклатура = Комплектующие.Ссылка.НоменклатураОсновногоКомпонента
| И ТаблицаТоваров.Характеристика = Комплектующие.Ссылка.ХарактеристикаОсновногоКомпонента
| И ТаблицаТоваров.Номенклатура = Комплектующие.Номенклатура
| И ТаблицаТоваров.Характеристика = Комплектующие.Характеристика
|
|ГДЕ
| НЕ Комплектующие.Количество ЕСТЬ NULL
| И ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора В
| (ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ЦенаЗадаетсяЗаНаборРаспределяетсяПоЦенам),
| ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ЦенаЗадаетсяЗаНаборРаспределяетсяПоДолям))
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТоваров.НоменклатураНабора,
| ТаблицаТоваров.ХарактеристикаНабора";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТТаблицыНаборы()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ТаблицаТоваров.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТоваров.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаНаборыДополнительно.Количество, 1) <> 0
| ТОГДА ТаблицаТоваров.Сумма / ЕСТЬNULL(ТаблицаНаборыДополнительно.Количество, 1)
| ИНАЧЕ ТаблицаТоваров.Сумма
| КОНЕЦ КАК Цена,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаНаборыДополнительно.КоличествоПосле, 1) <> 0
| ТОГДА ТаблицаТоваров.СуммаПосле / ЕСТЬNULL(ТаблицаНаборыДополнительно.КоличествоПосле, 1)
| ИНАЧЕ ТаблицаТоваров.СуммаПосле
| КОНЕЦ КАК ЦенаПосле,
| ТаблицаТоваров.Сумма КАК Сумма,
| ТаблицаТоваров.СуммаПосле КАК СуммаПосле,
| ВЫБОР
| КОГДА ТаблицаТоваров.МаксимумСтавкаНДС = ТаблицаТоваров.МинимумСтавкаНДС
| ТОГДА ТаблицаТоваров.МаксимумСтавкаНДС
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| КОНЕЦ КАК СтавкаНДС,
| ВЫБОР
| КОГДА ТаблицаТоваров.МаксимумСтавкаНДСПосле = ТаблицаТоваров.МинимумСтавкаНДСПосле
| ТОГДА ТаблицаТоваров.МаксимумСтавкаНДСПосле
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| КОНЕЦ КАК СтавкаНДСПосле,
| ТаблицаТоваров.СуммаНДС КАК СуммаНДС,
| ТаблицаТоваров.СуммаНДСПосле КАК СуммаНДСПосле
|ПОМЕСТИТЬ ТаблицаНаборы
|ИЗ
| ТаблицаНаборыПодготовка КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаНаборыДополнительно КАК ТаблицаНаборыДополнительно
| ПО ТаблицаТоваров.НоменклатураНабора = ТаблицаНаборыДополнительно.НоменклатураНабора
| И ТаблицаТоваров.ХарактеристикаНабора = ТаблицаНаборыДополнительно.ХарактеристикаНабора";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТТаблицыТовары()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ТаблицаТоваров.ИсходныйНомерСтроки КАК ИсходныйНомерСтроки,
| ТаблицаТоваров.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТоваров.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаТоваров.ЭтоКомплектующие КАК ЭтоКомплектующие,
| ТаблицаТоваров.ЭтоНабор КАК ЭтоНабор,
| ТаблицаТоваров.Номенклатура КАК Номенклатура,
| ТаблицаТоваров.Характеристика КАК Характеристика,
| ТаблицаТоваров.Цена КАК Цена,
| ТаблицаТоваров.ЦенаПосле КАК ЦенаПосле,
| ТаблицаТоваров.Сумма КАК Сумма,
| ТаблицаТоваров.СуммаПосле КАК СуммаПосле,
| ТаблицаТоваров.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТоваров.СтавкаНДСПосле КАК СтавкаНДСПосле,
| ТаблицаТоваров.СуммаНДС КАК СуммаНДС,
| ТаблицаТоваров.СуммаНДСПосле КАК СуммаНДСПосле
|ПОМЕСТИТЬ ВременнаяТаблицаТовары
|ИЗ
| (ВЫБРАТЬ
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаНаборы.НомерСтроки, 0) <> 0
| ТОГДА ТаблицаНаборы.НомерСтроки
| ИНАЧЕ Таблица.НомерСтроки
| КОНЕЦ КАК НомерСтроки,
| Таблица.НомерСтроки КАК ИсходныйНомерСтроки,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаНаборы.НомерСтроки, 0) <> 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоКомплектующие,
| ЛОЖЬ КАК ЭтоНабор,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Цена КАК Цена,
| Таблица.ЦенаПосле КАК ЦенаПосле,
| Таблица.Сумма КАК Сумма,
| Таблица.СуммаПосле КАК СуммаПосле,
| Таблица.СтавкаНДС КАК СтавкаНДС,
| Таблица.СтавкаНДСПосле КАК СтавкаНДСПосле,
| Таблица.СуммаНДС КАК СуммаНДС,
| Таблица.СуммаНДСПосле КАК СуммаНДСПосле
| ИЗ
| ТаблицаТоваровДляЗапроса КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаНаборы КАК ТаблицаНаборы
| ПО Таблица.НоменклатураНабора = ТаблицаНаборы.НоменклатураНабора
| И Таблица.ХарактеристикаНабора = ТаблицаНаборы.ХарактеристикаНабора
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Таблица.НомерСтроки КАК НомерСтроки,
| Таблица.НомерСтроки КАК ИсходныйНомерСтроки,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ЛОЖЬ КАК ЭтоКомплектующие,
| ИСТИНА КАК ЭтоНабор,
| Таблица.НоменклатураНабора КАК Номенклатура,
| Таблица.ХарактеристикаНабора КАК Характеристика,
| Таблица.Цена КАК Цена,
| Таблица.ЦенаПосле КАК ЦенаПосле,
| Таблица.Сумма КАК Сумма,
| Таблица.СуммаПосле КАК СуммаПосле,
| Таблица.СтавкаНДС КАК СтавкаНДС,
| Таблица.СтавкаНДСПосле КАК СтавкаНДСПосле,
| Таблица.СуммаНДС КАК СуммаНДС,
| Таблица.СуммаНДСПосле КАК СуммаНДСПосле
| ИЗ
| ТаблицаНаборы КАК Таблица
|
| ) КАК ТаблицаТоваров";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТДанныеДокументаОснования()
ТекстЗапроса =
"ВЫБРАТЬ
| ДокументОснование.Организация КАК Организация,
| ДокументОснование.Контрагент КАК Контрагент,
| ДокументОснование.Договор КАК Договор,
| ДокументОснование.Партнер КАК Партнер,
| ДокументОснование.ПорядокРасчетов КАК ПорядокРасчетов,
| ДокументОснование.НалогообложениеНДС КАК НалогообложениеНДС
|ПОМЕСТИТЬ ДанныеДокументаОснования
|ИЗ
| Документ.ПервичныйДокумент КАК ДокументОснование
|ГДЕ
| ДокументОснование.Ссылка = &ДокументОснование";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТДанныеПредыдущейКорректировки() Экспорт
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1
| КорректировкаРеализации.Ссылка КАК Ссылка,
| КорректировкаРеализации.ТипКорректировки КАК ТипКорректировки,
| КорректировкаРеализации.ДокументОснование КАК ДокументОснование,
| КорректировкаРеализации.Дата КАК Дата,
| КорректировкаРеализации.ЦенаВключаетНДС КАК ЦенаВключаетНДС
|ПОМЕСТИТЬ ВТПредыдущаяКорректировка
|ИЗ
| Документ.КорректировкаРеализации КАК КорректировкаРеализации
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеестрДокументов КАК РеестрДокументовСторноИсправление
| ПО КорректировкаРеализации.Ссылка = РеестрДокументовСторноИсправление.СторнируемыйДокумент
| И (РеестрДокументовСторноИсправление.Проведен)
| И (НЕ РеестрДокументовСторноИсправление.ДополнительнаяЗапись)
|ГДЕ
| КорректировкаРеализации.Проведен
| И КорректировкаРеализации.Дата < &Дата
| И КорректировкаРеализации.ДокументОснование = &ДокументОснование
| И РеестрДокументовСторноИсправление.Ссылка ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| КорректировкаРеализации.МоментВремени УБЫВ
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТПроверкиДанныхПоПоследнейКорректировке()
ТекстЗапроса = "ВЫБРАТЬ
| МАКСИМУМ(ТаблицаКорректировки.НомерСтроки) КАК НомерСтроки,
| ТаблицаКорректировки.Номенклатура КАК Номенклатура,
| ТаблицаКорректировки.Характеристика КАК Характеристика,
| ТаблицаКорректировки.Содержание КАК Содержание,
| ТаблицаКорректировки.Упаковка КАК Упаковка,
| ТаблицаКорректировки.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаКорректировки.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаКорректировки.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаКорректировки.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаКорректировки.Серия КАК Серия,
| ТаблицаКорректировки.Склад КАК Склад,
| ТаблицаКорректировки.Подразделение КАК Подразделение,
| ТаблицаКорректировки.СтавкаНДС КАК СтавкаНДС,
| СУММА(ТаблицаКорректировки.Количество) КАК Количество,
| СУММА(ТаблицаКорректировки.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(ТаблицаКорректировки.Сумма) КАК Сумма,
| СУММА(ТаблицаКорректировки.СуммаНДС) КАК СуммаНДС,
| СУММА(ТаблицаКорректировки.СуммаСНДС) КАК СуммаСНДС
|ПОМЕСТИТЬ ВТТаблицаТоваровИтог
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаКорректировки
|ГДЕ
| ТаблицаКорректировки.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаКорректировки.Номенклатура,
| ТаблицаКорректировки.Характеристика,
| ТаблицаКорректировки.Содержание,
| ТаблицаКорректировки.Упаковка,
| ТаблицаКорректировки.НоменклатураНабора,
| ТаблицаКорректировки.ХарактеристикаНабора,
| ТаблицаКорректировки.СтатьяДоходов,
| ТаблицаКорректировки.АналитикаДоходов,
| ТаблицаКорректировки.Серия,
| ТаблицаКорректировки.Склад,
| ТаблицаКорректировки.Подразделение,
| ТаблицаКорректировки.СтавкаНДС
|;
|
|
|ВЫБРАТЬ
| ДанныеПоследнейКорректировки.Номенклатура КАК Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика КАК Характеристика,
| ДанныеПоследнейКорректировки.Содержание КАК Содержание,
| ДанныеПоследнейКорректировки.Упаковка КАК Упаковка,
| ДанныеПоследнейКорректировки.НоменклатураНабора КАК НоменклатураНабора,
| ДанныеПоследнейКорректировки.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ДанныеПоследнейКорректировки.СтатьяДоходов КАК СтатьяДоходов,
| ДанныеПоследнейКорректировки.АналитикаДоходов КАК АналитикаДоходов,
| ДанныеПоследнейКорректировки.Серия КАК Серия,
| ДанныеПоследнейКорректировки.Склад КАК Склад,
| ДанныеПоследнейКорректировки.Подразделение КАК Подразделение,
| СУММА(ДанныеПоследнейКорректировки.Количество) КАК Количество,
| СУММА(ДанныеПоследнейКорректировки.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(ДанныеПоследнейКорректировки.Сумма) КАК Сумма,
| СУММА(ДанныеПоследнейКорректировки.СуммаНДС) КАК СуммаНДС,
| СУММА(ДанныеПоследнейКорректировки.СуммаСНДС) КАК СуммаСНДС,
| МАКСИМУМ(ДанныеПоследнейКорректировки.СтавкаНДС) КАК СтавкаНДС
|ПОМЕСТИТЬ ИсходныеДанныеБезГТД
|ИЗ
| (ВЫБРАТЬ
| ДанныеПоследнейКорректировки.Номенклатура КАК Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика КАК Характеристика,
| ДанныеПоследнейКорректировки.Содержание КАК Содержание,
| ДанныеПоследнейКорректировки.Упаковка КАК Упаковка,
| ДанныеПоследнейКорректировки.НоменклатураНабора КАК НоменклатураНабора,
| ДанныеПоследнейКорректировки.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ДанныеПоследнейКорректировки.СтатьяДоходов КАК СтатьяДоходов,
| ДанныеПоследнейКорректировки.АналитикаДоходов КАК АналитикаДоходов,
| ДанныеПоследнейКорректировки.Серия КАК Серия,
| ДанныеПоследнейКорректировки.Склад КАК Склад,
| ДанныеПоследнейКорректировки.Подразделение КАК Подразделение,
| ДанныеПоследнейКорректировки.Количество КАК Количество,
| ДанныеПоследнейКорректировки.КоличествоУпаковок КАК КоличествоУпаковок,
| ДанныеПоследнейКорректировки.Сумма КАК Сумма,
| ДанныеПоследнейКорректировки.СуммаНДС КАК СуммаНДС,
| ДанныеПоследнейКорректировки.СуммаСНДС КАК СуммаСНДС,
| ДанныеПоследнейКорректировки.СтавкаНДС КАК СтавкаНДС
| ИЗ
| ИсходныеДанные КАК ДанныеПоследнейКорректировки
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеПоследнейКорректировки.Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика,
| ДанныеПоследнейКорректировки.Содержание,
| ДанныеПоследнейКорректировки.Упаковка,
| ДанныеПоследнейКорректировки.НоменклатураНабора,
| ДанныеПоследнейКорректировки.ХарактеристикаНабора,
| ДанныеПоследнейКорректировки.СтатьяДоходов,
| ДанныеПоследнейКорректировки.АналитикаДоходов,
| ДанныеПоследнейКорректировки.Серия,
| ДанныеПоследнейКорректировки.Склад,
| ДанныеПоследнейКорректировки.Подразделение,
| -ДанныеПоследнейКорректировки.Количество,
| -ДанныеПоследнейКорректировки.КоличествоУпаковок,
| -ДанныеПоследнейКорректировки.Сумма,
| -ДанныеПоследнейКорректировки.СуммаНДС,
| -ДанныеПоследнейКорректировки.СуммаСНДС,
| ДанныеПоследнейКорректировки.СтавкаНДС
| ИЗ
| ТаблицаТоваровДляЗапроса КАК ДанныеПоследнейКорректировки
| ГДЕ
| ДанныеПоследнейКорректировки.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеПоследнейКорректировки.Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика,
| ДанныеПоследнейКорректировки.Содержание,
| ДанныеПоследнейКорректировки.Упаковка,
| ДанныеПоследнейКорректировки.НоменклатураНабора,
| ДанныеПоследнейКорректировки.ХарактеристикаНабора,
| ДанныеПоследнейКорректировки.СтатьяДоходов,
| ДанныеПоследнейКорректировки.АналитикаДоходов,
| ДанныеПоследнейКорректировки.Серия,
| ДанныеПоследнейКорректировки.Склад,
| ДанныеПоследнейКорректировки.Подразделение,
| ДанныеПоследнейКорректировки.КоличествоПосле,
| ДанныеПоследнейКорректировки.КоличествоУпаковокПосле,
| ДанныеПоследнейКорректировки.СуммаПосле,
| ДанныеПоследнейКорректировки.СуммаНДСПосле,
| ДанныеПоследнейКорректировки.СуммаСНДСПосле,
| ДанныеПоследнейКорректировки.СтавкаНДСПосле
| ИЗ
| ТаблицаТоваровДляЗапроса КАК ДанныеПоследнейКорректировки
| ГДЕ
| ДанныеПоследнейКорректировки.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)) КАК ДанныеПоследнейКорректировки
|
|СГРУППИРОВАТЬ ПО
| ДанныеПоследнейКорректировки.Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика,
| ДанныеПоследнейКорректировки.Содержание,
| ДанныеПоследнейКорректировки.Упаковка,
| ДанныеПоследнейКорректировки.НоменклатураНабора,
| ДанныеПоследнейКорректировки.ХарактеристикаНабора,
| ДанныеПоследнейКорректировки.СтатьяДоходов,
| ДанныеПоследнейКорректировки.АналитикаДоходов,
| ДанныеПоследнейКорректировки.Серия,
| ДанныеПоследнейКорректировки.Склад,
| ДанныеПоследнейКорректировки.Подразделение
|;
|
|
|ВЫБРАТЬ
| ДанныеПоследнейКорректировки.Номенклатура КАК Номенклатура,
| ДанныеПоследнейКорректировки.НомерГТД КАК НомерГТД,
| ДанныеПоследнейКорректировки.Характеристика КАК Характеристика,
| ДанныеПоследнейКорректировки.Содержание КАК Содержание,
| ДанныеПоследнейКорректировки.Упаковка КАК Упаковка,
| ДанныеПоследнейКорректировки.НоменклатураНабора КАК НоменклатураНабора,
| ДанныеПоследнейКорректировки.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ДанныеПоследнейКорректировки.СтатьяДоходов КАК СтатьяДоходов,
| ДанныеПоследнейКорректировки.АналитикаДоходов КАК АналитикаДоходов,
| ДанныеПоследнейКорректировки.Серия КАК Серия,
| ДанныеПоследнейКорректировки.Склад КАК Склад,
| ДанныеПоследнейКорректировки.Подразделение КАК Подразделение,
| СУММА(ДанныеПоследнейКорректировки.Количество) КАК Количество,
| СУММА(ДанныеПоследнейКорректировки.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(ДанныеПоследнейКорректировки.Сумма) КАК Сумма,
| СУММА(ДанныеПоследнейКорректировки.СуммаНДС) КАК СуммаНДС,
| СУММА(ДанныеПоследнейКорректировки.СуммаСНДС) КАК СуммаСНДС,
| ДанныеПоследнейКорректировки.СтавкаНДС КАК СтавкаНДС
|ПОМЕСТИТЬ ИсходныеДанныеПоГТД
|ИЗ
| ИсходныеДанные КАК ДанныеПоследнейКорректировки
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ДанныеПоследнейКорректировки.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
|
|СГРУППИРОВАТЬ ПО
| ДанныеПоследнейКорректировки.Номенклатура,
| ДанныеПоследнейКорректировки.НомерГТД,
| ДанныеПоследнейКорректировки.Характеристика,
| ДанныеПоследнейКорректировки.Содержание,
| ДанныеПоследнейКорректировки.Упаковка,
| ДанныеПоследнейКорректировки.НоменклатураНабора,
| ДанныеПоследнейКорректировки.ХарактеристикаНабора,
| ДанныеПоследнейКорректировки.СтатьяДоходов,
| ДанныеПоследнейКорректировки.АналитикаДоходов,
| ДанныеПоследнейКорректировки.Серия,
| ДанныеПоследнейКорректировки.Склад,
| ДанныеПоследнейКорректировки.Подразделение,
| ДанныеПоследнейКорректировки.СтавкаНДС
|;
|
|
|ВЫБРАТЬ
| ВТРасхождения.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Количество ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.Количество - ЕСТЬNULL(ДанныеПоследнейКорректировки.Количество, 0)
| КОНЕЦ КАК Количество,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.КоличествоУпаковок ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.КоличествоУпаковок - ЕСТЬNULL(ДанныеПоследнейКорректировки.КоличествоУпаковок, 0)
| КОНЕЦ КАК КоличествоУпаковок,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Сумма ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.Сумма - ЕСТЬNULL(ДанныеПоследнейКорректировки.Сумма, 0)
| КОНЕЦ КАК Сумма,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаНДС ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.СуммаНДС - ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаНДС, 0)
| КОНЕЦ КАК СуммаНДС,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаСНДС ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.СуммаСНДС - ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаСНДС, 0)
| КОНЕЦ КАК СуммаСНДС,
| ВЫБОР
| КОГДА ДанныеПоследнейКорректировки.СтавкаНДС ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| КОГДА ВТРасхождения.СтавкаНДС <> ДанныеПоследнейКорректировки.СтавкаНДС
| И ВТРасхождения.Количество > 0
| И ВТРасхождения.КоличествоУпаковок > 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЕстьОшибкаПоНДС,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Количество ЕСТЬ NULL
| ТОГДА ВТРасхождения.Количество
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.Количество, 0)
| КОНЕЦ КАК ИсходноеКоличество,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.КоличествоУпаковок ЕСТЬ NULL
| ТОГДА ВТРасхождения.КоличествоУпаковок
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.КоличествоУпаковок, 0)
| КОНЕЦ КАК ИсходноеКоличествоУпаковок,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Сумма ЕСТЬ NULL
| ТОГДА ВТРасхождения.Сумма
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.Сумма, 0)
| КОНЕЦ КАК ИсходнаяСумма,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СуммаНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаНДС, 0)
| КОНЕЦ КАК ИсходнаяСуммаНДС,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаСНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СуммаСНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаСНДС, 0)
| КОНЕЦ КАК ИсходнаяСуммаСНДС,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СтавкаНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СтавкаНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СтавкаНДС, 0)
| КОНЕЦ КАК ИсходнаяСтавкаНДС
|ПОМЕСТИТЬ ВТПроверкиДанныхПоПоследнейКорректировке
|ИЗ
| ВТТаблицаТоваровИтог КАК ВТРасхождения
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеТовара
| ПО ВТРасхождения.Номенклатура = ДанныеТовара.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ИсходныеДанныеБезГТД КАК ДанныеПоследнейКорректировки
| ПО (ВЫБОР
| КОГДА &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| ТОГДА ДанныеПоследнейКорректировки.Номенклатура = ВТРасхождения.Номенклатура
| И ДанныеПоследнейКорректировки.Характеристика = ВТРасхождения.Характеристика
| И ДанныеПоследнейКорректировки.Содержание = ВТРасхождения.Содержание
| И ДанныеПоследнейКорректировки.Упаковка = ВТРасхождения.Упаковка
| И ДанныеПоследнейКорректировки.НоменклатураНабора = ВТРасхождения.НоменклатураНабора
| И ДанныеПоследнейКорректировки.ХарактеристикаНабора = ВТРасхождения.ХарактеристикаНабора
| И ДанныеПоследнейКорректировки.СтатьяДоходов = ВТРасхождения.СтатьяДоходов
| И ДанныеПоследнейКорректировки.АналитикаДоходов = ВТРасхождения.АналитикаДоходов
| И ДанныеПоследнейКорректировки.Серия = ВТРасхождения.Серия
| И ДанныеПоследнейКорректировки.Склад = ВТРасхождения.Склад
| И ДанныеПоследнейКорректировки.Подразделение = ВТРасхождения.Подразделение
| ИНАЧЕ ДанныеПоследнейКорректировки.Содержание = ВТРасхождения.Содержание
| И ДанныеПоследнейКорректировки.Подразделение = ВТРасхождения.Подразделение
| И ДанныеПоследнейКорректировки.СтатьяДоходов = ВТРасхождения.СтатьяДоходов
| И ДанныеПоследнейКорректировки.АналитикаДоходов = ВТРасхождения.АналитикаДоходов
| КОНЕЦ)
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейИсправительнойКорректировки КАК ДанныеПоследнейИсправительнойКорректировки
| ПО (ИСТИНА)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВТРасхождения.НомерСтроки,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Количество ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.Количество - ЕСТЬNULL(ДанныеПоследнейКорректировки.Количество, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.КоличествоУпаковок ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.КоличествоУпаковок - ЕСТЬNULL(ДанныеПоследнейКорректировки.КоличествоУпаковок, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Сумма ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.Сумма - ЕСТЬNULL(ДанныеПоследнейКорректировки.Сумма, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаНДС ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.СуммаНДС - ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаНДС, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаСНДС ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.СуммаСНДС - ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаСНДС, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейКорректировки.СтавкаНДС ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| КОГДА ВТРасхождения.СтавкаНДС <> ДанныеПоследнейКорректировки.СтавкаНДС
| И ВТРасхождения.Количество > 0
| И ВТРасхождения.КоличествоУпаковок > 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Количество ЕСТЬ NULL
| ТОГДА ВТРасхождения.Количество
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.Количество, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.КоличествоУпаковок ЕСТЬ NULL
| ТОГДА ВТРасхождения.КоличествоУпаковок
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.КоличествоУпаковок, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Сумма ЕСТЬ NULL
| ТОГДА ВТРасхождения.Сумма
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.Сумма, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СуммаНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаНДС, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаСНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СуммаСНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаСНДС, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СтавкаНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СтавкаНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СтавкаНДС, 0)
| КОНЕЦ
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ВТРасхождения
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеТовара
| ПО ВТРасхождения.Номенклатура = ДанныеТовара.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ИсходныеДанныеПоГТД КАК ДанныеПоследнейКорректировки
| ПО (ДанныеПоследнейКорректировки.Номенклатура = ВТРасхождения.Номенклатура)
| И (ДанныеПоследнейКорректировки.Характеристика = ВТРасхождения.Характеристика)
| И (ДанныеПоследнейКорректировки.Содержание = ВТРасхождения.Содержание)
| И (ДанныеПоследнейКорректировки.Упаковка = ВТРасхождения.Упаковка)
| И (ДанныеПоследнейКорректировки.НоменклатураНабора = ВТРасхождения.НоменклатураНабора)
| И (ДанныеПоследнейКорректировки.ХарактеристикаНабора = ВТРасхождения.ХарактеристикаНабора)
| И (ДанныеПоследнейКорректировки.СтатьяДоходов = ВТРасхождения.СтатьяДоходов)
| И (ДанныеПоследнейКорректировки.АналитикаДоходов = ВТРасхождения.АналитикаДоходов)
| И (ДанныеПоследнейКорректировки.Серия = ВТРасхождения.Серия)
| И (ДанныеПоследнейКорректировки.Склад = ВТРасхождения.Склад)
| И (ДанныеПоследнейКорректировки.НомерГТД = ВТРасхождения.НомерГТД)
| И (ДанныеПоследнейКорректировки.Подразделение = ВТРасхождения.Подразделение)
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейИсправительнойКорректировки КАК ДанныеПоследнейИсправительнойКорректировки
| ПО (ИСТИНА)
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ВТРасхождения.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияСклада()
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1
| 0 КАК НомерСтроки,
| ""НеУказанСклад"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| &ИспользоватьНесколькоСкладов
| И &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияНоменклатурыИСодержания()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаНоменклатура"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ТаблицаТоваров.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказаноСодержание"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| ТаблицаТоваров.Содержание = """"
| И &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ТаблицаТоваров.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказаноСодержание"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.Содержание = """"
| И НЕ &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияХарактеристик()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаХарактеристика"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| &ИспользоватьХарактеристикиНоменклатуры
| И ЕСТЬNULL(ДанныеНоменклатуры.ИспользованиеХарактеристик, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеДляВидаНоменклатуры),
| ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеСДругимВидомНоменклатуры),
| ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ИндивидуальныеДляНоменклатуры))
| И ТаблицаТоваров.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияНомеровГТД()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанНомерГТД"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И ((&ЗапретитьПоступлениеТоваровБезНомеровГТД
| И НЕ ЕСТЬNULL(ДанныеНоменклатуры.ПрослеживаемыйТовар, ЛОЖЬ))
| ИЛИ (&ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ЕСТЬNULL(ДанныеНоменклатуры.ПрослеживаемыйТовар, ЛОЖЬ)))
| И ТаблицаТоваров.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| И НЕ ((ТаблицаТоваров.Количество - ТаблицаТоваров.КоличествоПосле < 0
| ИЛИ ТаблицаТоваров.КоличествоУпаковок - ТаблицаТоваров.КоличествоУпаковокПосле < 0)
| И (ТаблицаТоваров.СтавкаНДС = ТаблицаТоваров.СтавкаНДСПосле
| ИЛИ ТаблицаТоваров.КоличествоУпаковок = 0
| ИЛИ ТаблицаТоваров.Количество = 0))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанНомерГТД"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И ((&ЗапретитьПоступлениеТоваровБезНомеровГТД
| И НЕ ЕСТЬNULL(ДанныеНоменклатуры.ПрослеживаемыйТовар, ЛОЖЬ))
| ИЛИ (&ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ЕСТЬNULL(ДанныеНоменклатуры.ПрослеживаемыйТовар, ЛОЖЬ)))
| И ТаблицаТоваров.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| И ТаблицаТоваров.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах)
| И ((ТаблицаТоваров.Количество - ТаблицаТоваров.КоличествоПосле < 0
| ИЛИ ТаблицаТоваров.КоличествоУпаковок - ТаблицаТоваров.КоличествоУпаковокПосле < 0)
| И (ТаблицаТоваров.СтавкаНДС = ТаблицаТоваров.СтавкаНДСПосле
| ИЛИ ТаблицаТоваров.КоличествоУпаковок = 0
| ИЛИ ТаблицаТоваров.Количество = 0))";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияКоличества()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ТаблицаТоваров.Количество = 0
| И ТаблицаТоваров.КоличествоУпаковок <> 0
| ТОГДА ""ОшибкаПересчетаКоличества""
| ИНАЧЕ ""НеУказаноКоличествоУпаковок""
| КОНЕЦ КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ((ТаблицаТоваров.Количество = 0
| И ТаблицаТоваров.КоличествоУпаковок <> 0)
| ИЛИ (НЕ (ТаблицаТоваров.КоличествоПосле = 0
| И ТаблицаТоваров.КоличествоУпаковокПосле <> 0)
| И ((ТаблицаТоваров.Количество = 0
| И ТаблицаТоваров.КоличествоПосле = 0)
| ИЛИ (ТаблицаТоваров.КоличествоУпаковок = 0
| И ТаблицаТоваров.КоличествоУпаковокПосле = 0))
| ИЛИ (ТаблицаТоваров.КоличествоУпаковок = 0
| И ТаблицаТоваров.Цена > 0)))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ТаблицаТоваров.КоличествоПосле = 0
| И ТаблицаТоваров.КоличествоУпаковокПосле <> 0
| ТОГДА ""ОшибкаПересчетаКоличестваПосле""
| ИНАЧЕ ""НеУказаноКоличествоУпаковокПосле""
| КОНЕЦ КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ((ТаблицаТоваров.КоличествоПосле = 0
| И ТаблицаТоваров.КоличествоУпаковокПосле <> 0)
| ИЛИ (НЕ (ТаблицаТоваров.Количество = 0
| И ТаблицаТоваров.КоличествоУпаковок <> 0)
| И ((ТаблицаТоваров.Количество = 0
| И ТаблицаТоваров.КоличествоПосле = 0)
| ИЛИ (ТаблицаТоваров.КоличествоУпаковок = 0
| И ТаблицаТоваров.КоличествоУпаковокПосле = 0))
| ИЛИ (ТаблицаТоваров.КоличествоУпаковокПосле = 0
| И ТаблицаТоваров.ЦенаПосле > 0)))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказаноКоличествоПоРНПТ"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| ТаблицаТоваров.КоличествоПоРНПТ = 0
| И (ТаблицаТоваров.Цена > 0
| ИЛИ ТаблицаТоваров.Количество <> 0
| ИЛИ ТаблицаТоваров.КоличествоУпаковок <> 0)
| И &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ)
| И ЕСТЬNULL(ДанныеНоменклатуры.ПрослеживаемыйТовар, ЛОЖЬ)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И (НЕ (ТаблицаТоваров.Количество - ТаблицаТоваров.КоличествоПосле < 0
| ИЛИ ТаблицаТоваров.КоличествоУпаковок - ТаблицаТоваров.КоличествоУпаковокПосле < 0)
| ИЛИ ТаблицаТоваров.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказаноКоличествоПоРНПТПосле"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| ТаблицаТоваров.КоличествоПоРНПТПосле = 0
| И (ТаблицаТоваров.ЦенаПосле > 0
| ИЛИ ТаблицаТоваров.КоличествоПосле <> 0
| ИЛИ ТаблицаТоваров.КоличествоУпаковокПосле <> 0)
| И &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ)
| И ЕСТЬNULL(ДанныеНоменклатуры.ПрослеживаемыйТовар, ЛОЖЬ)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И (НЕ (ТаблицаТоваров.Количество - ТаблицаТоваров.КоличествоПосле < 0
| ИЛИ ТаблицаТоваров.КоличествоУпаковок - ТаблицаТоваров.КоличествоУпаковокПосле < 0)
| ИЛИ ТаблицаТоваров.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""КоличествоПоГТДПриУвеличении"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ)
| И ТаблицаТоваров.КоличествоУпаковок > 0
| И ТаблицаТоваров.ВариантОтражения <> ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах)
| И ТаблицаТоваров.КоличествоУпаковок < ТаблицаТоваров.КоличествоУпаковокПосле
| И ТаблицаТоваров.СтавкаНДС = ТаблицаТоваров.СтавкаНДСПосле
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияСуммовыхПоказателей()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаЦенаДо"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| (ТаблицаТоваров.Цена = 0 И ТаблицаТоваров.Количество > 0)
| ИЛИ (ТаблицаТоваров.Цена = 0 И ТаблицаТоваров.ЦенаПосле = 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаЦенаПосле"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| (ТаблицаТоваров.ЦенаПосле = 0 И ТаблицаТоваров.КоличествоПосле > 0)
| ИЛИ (ТаблицаТоваров.Цена = 0 И ТаблицаТоваров.ЦенаПосле = 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаСуммаДо"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| (ТаблицаТоваров.Сумма = 0 И ТаблицаТоваров.Количество > 0)
| ИЛИ (ТаблицаТоваров.Сумма = 0 И ТаблицаТоваров.СуммаПосле = 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаСуммаПосле"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| (ТаблицаТоваров.СуммаПосле = 0 И ТаблицаТоваров.КоличествоПосле > 0)
| ИЛИ (ТаблицаТоваров.Сумма = 0 И ТаблицаТоваров.СуммаПосле = 0)";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияСтавокНДС()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаСтавкаНДС"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &ИспользоватьУчетНДС
| И ТаблицаТоваров.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| И ((ТаблицаТоваров.Количество > 0 И &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг)
| ИЛИ (ТаблицаТоваров.Сумма > 0 И НЕ &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаСтавкаНДСПосле"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &ИспользоватьУчетНДС
| И ТаблицаТоваров.СтавкаНДСПосле = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| И ((ТаблицаТоваров.КоличествоПосле > 0 И &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг)
| ИЛИ (ТаблицаТоваров.СуммаПосле > 0 И НЕ &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг))";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиВариантовОтражения()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаВариантОтраженияСписания"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.СтавкаНДС <> ТаблицаТоваров.СтавкаНДСПосле
| И ТаблицаТоваров.СтавкаНДС <> ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| И ТаблицаТоваров.СтавкаНДСПосле <> ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| И ТаблицаТоваров.ВариантОтраженияСписания = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаВариантОтраженияРасхождения"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| (ТаблицаТоваров.СуммаНДС <> ТаблицаТоваров.СуммаНДСПосле
| ИЛИ ТаблицаТоваров.СуммаСНДС <> ТаблицаТоваров.СуммаСНДСПосле
| ИЛИ ТаблицаТоваров.Количество <> ТаблицаТоваров.КоличествоПосле)
| И ТаблицаТоваров.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ПустаяСсылка)";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияСкладаВТабличнойЧасти()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанСкладВТабличнойЧасти"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| &ИспользоватьНесколькоСкладов
| И ВЫРАЗИТЬ(&Склад КАК Справочник.Склады).ЭтоГруппа
| И &Склад <> ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| И ТаблицаТоваров.Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияПодразделенияВТабличнойЧасти()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказаноПодразделениеВТабличнойЧасти"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| &ИспользоватьПодразделения
| И ТаблицаТоваров.Подразделение = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиСпособовОпределенияСебестоимости()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанСпособОпределенияСебестоимости"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| ((ТаблицаТоваров.СтавкаНДС = ТаблицаТоваров.СтавкаНДСПосле
| И ТаблицаТоваров.Количество > ТаблицаТоваров.КоличествоПосле
| И ТаблицаТоваров.ВариантОтражения <> ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.СписатьНаРасходы))
| ИЛИ (ТаблицаТоваров.Количество > 0
| И ТаблицаТоваров.СтавкаНДС <> ТаблицаТоваров.СтавкаНДСПосле)
| И ТаблицаТоваров.ВариантОтраженияСписания <> ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.СписатьНаРасходы))
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И ТаблицаТоваров.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ПустаяСсылка)";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиНалогообложениеНДССоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""НалогообложениеНДСНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.НалогообложениеНДС <> &НалогообложениеНДС";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиОрганизацияСоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""ОрганизацияНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.Организация <> &Организация";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиДоговорСоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""ДоговорНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.Договор <> &Договор";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиПартнерСоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""ПартнерНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.Партнер <> &Партнер";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиКонтрагентСоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""КонтрагентНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.Контрагент <> &Контрагент";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиПорядокРасчетовСоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""ПорядокРасчетовНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.ПорядокРасчетов <> &ПорядокРасчетов";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиТипКорректировкиНеСоответствуетПредыдущей()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""ТипКорректировкиНеСоответствуетПредыдущей"" КАК ТипПроверки
|ИЗ
| ВТПредыдущаяКорректировка КАК ПредыдущаяКорректировка
|ГДЕ ПредыдущаяКорректировка.ТипКорректировки <> &ТипКорректировки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""ЦенаВключаетНДСНеСоответствуетПредыдущей"" КАК ТипПроверки
|ИЗ
| ВТПредыдущаяКорректировка КАК ПредыдущаяКорректировка
|ГДЕ ПредыдущаяКорректировка.ЦенаВключаетНДС <> &ЦенаВключаетНДС
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиДанныхПоПоследнейКорректировке()
ТекстЗапроса = "ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""ОшибкаКоличествоПоИсходнойКорректировки"" КАК ТипПроверки,
| ТаблицаТоваров.ИсходноеКоличество КАК ИсходноеЗначение
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.Количество <> 0
| И ТаблицаТоваров.КоличествоУпаковок = 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки,
| ""ОшибкаКоличествоУпаковокПоИсходнойКорректировки"",
| ТаблицаТоваров.ИсходноеКоличествоУпаковок
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.КоличествоУпаковок <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки,
| ""ОшибкаСуммыПоИсходнойКорректировки"",
| ТаблицаТоваров.ИсходнаяСумма
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.Сумма <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки,
| ""ОшибкаСуммыНДСПоИсходнойКорректировки"",
| ТаблицаТоваров.ИсходнаяСуммаНДС
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.СуммаНДС <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки,
| ""ОшибкаСуммыСНДСПоИсходнойКорректировки"",
| ТаблицаТоваров.ИсходнаяСуммаСНДС
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.СуммаСНДС <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки,
| ""ОшибкаСтавкиНДС"",
| ТаблицаТоваров.ИсходнаяСтавкаНДС
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.ЕстьОшибкаПоНДС ";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияСуммыВзаиморасчетов()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаСуммаВзаиморасчетов"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &РазныеВалюты
| И ТаблицаТоваров.СуммаВзаиморасчетов = 0
| И ТаблицаТоваров.СуммаВзаиморасчетовПосле <> 0
| И ТаблицаТоваров.Сумма > 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаСуммаВзаиморасчетовПосле"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &РазныеВалюты
| И ТаблицаТоваров.СуммаВзаиморасчетовПосле = 0
| И ТаблицаТоваров.СуммаВзаиморасчетов <> 0
| И ТаблицаТоваров.СуммаПосле > 0";
Возврат ТекстЗапроса;
КонецФункции
Процедура СообщитьОшибкиЗаполнения(Выборка, Отказ)
ИмяТЧ = "ТаблицаКорректировки";
ПредставлениеТЧ = НСтр("ru = 'Данные корректировки'");
ШаблонСообщенияНеЗаполненоПоле = НСтр("ru = 'Поле ""%1"" не заполнено'");
ШаблонСообщенияНеЗаполненаКолонка = НСтр("ru = 'Не заполнена колонка ""%1"" в строке %2 списка ""%3""'");
ШаблонСообщенияОшибкаПересчетаКоличества = НСтр("ru = 'Обнаружено нулевое %1 при пересчете в единицу хранения в строке %2 списка ""%3""'");
ШаблонСообщенияНеУказанаВариантОтраженияСписания = НСтр("ru = 'Не указан вариант списания принятых позиций в строке %1 списка ""%2""'");
ШаблонСообщенияНеУказанаВариантОтраженияРасхождения = НСтр("ru = 'Не указан вариант отражения расхождений по строке %1 списка ""%2""'");
ШаблонСообщенияНеУказанСпособОпределенияСебестоимости = НСтр("ru = 'Не указан способ определения себестоимости по строке %1 списка ""%2""'");
ШаблонСообщенияНеСоответствуетОснованию = НСтр("ru = 'Поле ""%1"" не соответствует аналогичному полю документа основания'");
ШаблонСообщенияНеСоответствуетПерыдущейКорректировке = НСтр("ru = 'Поле ""%1"" не соответствует аналогичному полю предыдущей корректировки'");
ШаблонСообщенияНеЗаполненаКолонкаСуммыВознаграждения = НСтр("ru = 'Не заполнена колонка ""%1"" в строке %2 списка ""%3"". %4'");
ШаблонСообщенияКоличествоГТДУвеличения = НСтр("ru = 'Для товаров с %1 необходимо указать данные %1 уже реализованных товаров, добавив строки с данными до и после корректировки.
|Если они не менялись, то данные до корректировки и после должны совпадать.
|По количеству на увеличение необходимо в строке %2 списка ""%3"" указать исходное количество 0, а количество после - количество, на которое увеличена реализация.'");
ТекстГТДРНПТ = НСтр("ru = 'ГТД'");
Если УчетПрослеживаемыхТоваровЛокализация.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров(Дата(1, 1, 1)) Тогда
ТекстГТДРНПТ = НСтр("ru = 'ГТД/РНПТ'");
КонецЕсли;
ШаблонСообщенияКоличествоГТДУвеличения = СтрШаблон(ШаблонСообщенияКоличествоГТДУвеличения, ТекстГТДРНПТ, "%1", "%2");
Пока Выборка.Следующий() Цикл
Если Выборка.ТипПроверки = "НеУказанСклад" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненоПоле, НСтр("ru = 'Склад'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Склад",
"Объект",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаНоменклатура" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Номенклатура'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Номенклатура");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказаноСодержание" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Содержание'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Содержание");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаХарактеристика" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Характеристика'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Характеристика");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанНомерГТД" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Номер ГТД'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"НомерГТД");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаПересчетаКоличества" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияОшибкаПересчетаКоличества,
НСтр("ru = 'количество до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоУпаковок");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказаноКоличествоУпаковок" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Количество упаковок до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоУпаковок");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаПересчетаКоличестваПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияОшибкаПересчетаКоличества,
НСтр("ru = 'количество после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоУпаковокПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказаноКоличествоУпаковокПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Количество упаковок после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоУпаковокПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказаноКоличествоПоРНПТ" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Количество по РНПТ до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоПоРНПТ");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказаноКоличествоПоРНПТПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Количество по РНПТ после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоПоРНПТПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "КоличествоПоГТДПриУвеличении" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияКоличествоГТДУвеличения,
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоУпаковок");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаЦенаДо" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Цена до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Цена");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаЦенаПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Цена после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"ЦенаПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаСуммаДо" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Сумма до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Сумма");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаСуммаПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Сумма после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаСтавкаНДС" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Ставка НДС до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СтавкаНДС");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаСтавкаНДСПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Ставка НДС после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СтавкаНДСПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаВариантОтраженияСписания" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеУказанаВариантОтраженияСписания,
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"ВариантОтраженияСписания");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаВариантОтраженияРасхождения" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеУказанаВариантОтраженияРасхождения,
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"ВариантОтражения");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанСкладВТабличнойЧасти" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Склад'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Склад");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказаноПодразделениеВТабличнойЧасти" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Подразделение-отправитель'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Подразделение");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанСпособОпределенияСебестоимости" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеУказанСпособОпределенияСебестоимости,
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СпособОпределенияСебестоимостиСтрокой");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НалогообложениеНДСНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Налогообложение'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.НалогообложениеНДС",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ОрганизацияНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Организация'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.Организация",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ПартнерНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Клиент'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.Партнер",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "КонтрагентНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Контрагент'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.Контрагент",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ДоговорНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Договор'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.Договор",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ПорядокРасчетовНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Порядок расчетов'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.ПорядокРасчетов",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ТипКорректировкиНеСоответствуетПредыдущей" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетПерыдущейКорректировке, НСтр("ru = 'Тип корректировки'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.ТипКорректировки",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ЦенаВключаетНДСНеСоответствуетПредыдущей" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетПерыдущейКорректировке, НСтр("ru = 'Цена включает НДС'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.ЦенаВключаетНДС",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаСуммаВзаиморасчетов" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонкаСуммыВознаграждения,
НСтр("ru = 'Сумма взаиморасчетов до корректировки.'"),
Выборка.НомерСтроки,
ПредставлениеТЧ,
НСтр("ru = 'Для автоматического расчета необходимо очистить сумму взаиморасчета после корректировки.'"));
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаВзаиморасчетов");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаСуммаВзаиморасчетовПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонкаСуммыВознаграждения,
НСтр("ru = 'Сумма взаиморасчетов после корректировки.'"),
Выборка.НомерСтроки,
ПредставлениеТЧ,
НСтр("ru = 'Для автоматического расчета необходимо очистить сумму взаиморасчета до корректировки.'"));
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаВзаиморасчетовПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура СообщитьОшибкиПоЦепочкеКорректировок(Выборка, Отказ)
ИмяТЧ = "ТаблицаКорректировки";
ПредставлениеТЧ = НСтр("ru = 'Данные корректировки'");
ШаблонСообщенияРасходитсяЗначениеКоличество = НСтр("ru = 'Предупреждение: в поле ""%1"" в строке %2 указано количество отличное от количества %3 после последней корректировки'");
ШаблонСообщенияРасходитсяЗначениеСумма = НСтр("ru = 'Предупреждение: в поле ""%1"" в строке %2 указана сумма отличная от суммы %3 после последней корректировки'");
ШаблонСообщенияРасходитсяСтавкаНДС = НСтр("ru = 'Предупреждение: ставка НДС в строке %1 отличается от ставки НДС %2 после последней корректировки'");
Пока Выборка.Следующий() Цикл
Если Выборка.ТипПроверки = "ОшибкаКоличествоПоИсходнойКорректировки" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяЗначениеКоличество,
НСтр("ru = 'Количество'"),
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Количество");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаКоличествоУпаковокПоИсходнойКорректировки" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяЗначениеКоличество,
НСтр("ru = 'Количество упаковок'"),
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоУпаковок");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаСуммыПоИсходнойКорректировки" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяЗначениеСумма,
НСтр("ru = 'Сумма'"),
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Сумма");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаСуммыНДСПоИсходнойКорректировки" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяЗначениеСумма,
НСтр("ru = 'Сумма НДС'"),
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаНДС");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаСуммыСНДСПоИсходнойКорректировки" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяЗначениеСумма,
НСтр("ru = 'Сумма с НДС'"),
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаСНДС");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаСтавкиНДС" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяСтавкаНДС,
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СтавкаСНДС");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ПроверитьУказаниеСуммыИСуммыНДС(Объект, МенеджерВременныхТаблиц, Отказ)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст = ТекстЗапросаПроверкиУказанияСуммыИСуммыНДС();
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
ИмяТЧ = "ТаблицаКорректировки";
ПредставлениеТЧ = НСтр("ru = 'Данные корректировки'");
ШаблонСообщенияОшибкаУказанияСуммы = НСтр("ru = 'Сумма НДС до корректировки %1 %2 при ставке ""%3"" больше общей суммы до корректировки по строке %4 %5 в строке %6 списка ""%7""'");
ШаблонСообщенияОшибкаУказанияСуммыПосле = НСтр("ru = 'Сумма НДС после корректировки %1 %2 при ставке ""%3"" больше общей суммы после корректировки по строке %4 %5 в строке %6 списка ""%7""'");
Пока Выборка.Следующий() Цикл
ПроверятьСуммуНДС = Истина;
Если ЗначениеЗаполнено(Выборка.НоменклатураНабора) Тогда
Если Выборка.ВариантРасчетаЦеныНабора = Перечисления.ВариантыРасчетаЦенНаборов.ЦенаЗадаетсяЗаНаборРаспределяетсяПоДолям
Или Выборка.ВариантРасчетаЦеныНабора = Перечисления.ВариантыРасчетаЦенНаборов.ЦенаЗадаетсяЗаНаборРаспределяетсяПоЦенам Тогда
ПроверятьСуммуНДС = Ложь;
КонецЕсли;
КонецЕсли;
Если Не ПроверятьСуммуНДС Тогда
Продолжить;
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаУказанияСуммы" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияОшибкаУказанияСуммы,
Выборка.СуммаНДС,
Объект.Валюта,
Выборка.СтавкаНДС,
Выборка.Сумма,
Объект.Валюта,
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаНДС");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаУказанияСуммыПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияОшибкаУказанияСуммы,
Выборка.СуммаНДС,
Объект.Валюта,
Выборка.СтавкаНДС,
Выборка.Сумма,
Объект.Валюта,
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаНДСПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Функция ТекстЗапросаПроверкиУказанияСуммыИСуммыНДС()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""ОшибкаУказанияСуммы"" КАК ТипПроверки,
| ТаблицаТоваров.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТоваров.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ЕСТЬNULL(ВариантыКомплектации.ВариантРасчетаЦеныНабора, НЕОПРЕДЕЛЕНО) КАК ВариантРасчетаЦеныНабора,
| ТаблицаТоваров.Сумма КАК Сумма,
| ТаблицаТоваров.СуммаНДС КАК СуммаНДС,
| ТаблицаТоваров.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ТаблицаТоваров.Сумма < 0
| И ТаблицаТоваров.Сумма - ТаблицаТоваров.СуммаНДС <= 0
| ТОГДА ЛОЖЬ
| КОГДА ТаблицаТоваров.Сумма >= 0
| И ТаблицаТоваров.Сумма - ТаблицаТоваров.СуммаНДС >= 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьОшибкиСуммыНДС
|ИЗ
| ВременнаяТаблицаТовары КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектации
| ПО ТаблицаТоваров.НоменклатураНабора = ВариантыКомплектации.Владелец
| И ТаблицаТоваров.ХарактеристикаНабора = ВариантыКомплектации.Характеристика
|
|ГДЕ
| ВЫБОР
| КОГДА ТаблицаТоваров.Сумма < 0
| И ТаблицаТоваров.Сумма - ТаблицаТоваров.СуммаНДС <= 0
| ТОГДА ЛОЖЬ
| КОГДА ТаблицаТоваров.Сумма >= 0
| И ТаблицаТоваров.Сумма - ТаблицаТоваров.СуммаНДС >= 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""ОшибкаУказанияСуммыПосле"" КАК ТипПроверки,
| ТаблицаТоваров.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТоваров.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ЕСТЬNULL(ВариантыКомплектации.ВариантРасчетаЦеныНабора, НЕОПРЕДЕЛЕНО) КАК ВариантРасчетаЦеныНабора,
| ТаблицаТоваров.СуммаПосле КАК Сумма,
| ТаблицаТоваров.СуммаНДСПосле КАК СуммаНДС,
| ТаблицаТоваров.СтавкаНДСПосле КАК СтавкаНДС,
| ВЫБОР
| КОГДА ТаблицаТоваров.СуммаПосле < 0
| И ТаблицаТоваров.СуммаПосле - ТаблицаТоваров.СуммаНДСПосле <= 0
| ТОГДА ЛОЖЬ
| КОГДА ТаблицаТоваров.СуммаПосле >= 0
| И ТаблицаТоваров.СуммаПосле - ТаблицаТоваров.СуммаНДСПосле >= 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьОшибкиСуммыНДС
|ИЗ
| ВременнаяТаблицаТовары КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектации
| ПО ТаблицаТоваров.НоменклатураНабора = ВариантыКомплектации.Владелец
| И ТаблицаТоваров.ХарактеристикаНабора = ВариантыКомплектации.Характеристика
|
|ГДЕ
| ВЫБОР
| КОГДА ТаблицаТоваров.СуммаПосле < 0
| И ТаблицаТоваров.СуммаПосле - ТаблицаТоваров.СуммаНДСПосле <= 0
| ТОГДА ЛОЖЬ
| КОГДА ТаблицаТоваров.СуммаПосле >= 0
| И ТаблицаТоваров.СуммаПосле - ТаблицаТоваров.СуммаНДСПосле >= 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
Процедура ПроверитьКорректностьВыбораНоменклатурыПоНалогообложениюНДС(МенеджерВременныхТаблиц, Отказ)
ПараметрыЗапроса = Новый Структура;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст = УчетНДСУП.ТекстЗапросаКорректностьВыбораНоменклатурыПоНалогообложениюНДСПродажи(ПараметрыЗапроса);
Для Каждого ПараметрЗапроса Из ПараметрыЗапроса Цикл
Запрос.УстановитьПараметр(ПараметрЗапроса.Ключ, ПараметрЗапроса.Значение);
КонецЦикла;
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
ИмяТЧ = "ТаблицаКорректировки";
ПредставлениеТЧ = НСтр("ru = 'Данные корректировки'");
УчетНДСУП.СообщитьОбОшибкахКорректностьВыбораНоменклатурыПоНалогообложениюНДСПродажи(
Выборка,
Неопределено,
ИмяТЧ,
ПредставлениеТЧ,
Отказ);
КонецПроцедуры
Функция РезультатПроверкиПоРасхождениям(Объект, ТЗТаблицаКорректировки)
РезультатПроверки = Новый Структура;
РезультатПроверки.Вставить("СуммаНаПрочиеДоходы", 0);
РезультатПроверки.Вставить("СуммаНаПрочиеРасходы", 0);
КорректировкаУслугПрочихАктивов = Объект.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
КорректировкаПрошлогоПериода = Ложь;
Если ЗначениеЗаполнено(Объект.ДокументОснование) Тогда
УстановитьПривилегированныйРежим(Истина);
ДатаОснования = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ДокументОснование, "Дата");
УстановитьПривилегированныйРежим(Ложь);
ДатаДокумента = ?(ЗначениеЗаполнено(Объект.Дата), Объект.Дата, ТекущаяДатаСеанса());
КорректировкаПрошлогоПериода = НачалоГода(ДатаДокумента) > НачалоГода(ДатаОснования);
КонецЕсли;
Для Каждого СтрокаРасхождений Из ТЗТаблицаКорректировки Цикл
Если СтрокаРасхождений.СтавкаНДС = СтрокаРасхождений.СтавкаНДСПосле
Или (СтрокаРасхождений.КоличествоПосле = 0
И СтрокаРасхождений.СуммаНДСПосле = 0
И СтрокаРасхождений.СуммаНДСПосле = 0) Тогда
РасхождениеСуммаСНДС = СтрокаРасхождений.СуммаСНДСПосле - СтрокаРасхождений.СуммаСНДС;
РасхождениеСуммаНДС = СтрокаРасхождений.СуммаНДСПосле - СтрокаРасхождений.СуммаНДС;
РассчитатьСуммыОтраженияРасходовИДоходов(РезультатПроверки, РасхождениеСуммаСНДС, РасхождениеСуммаНДС,
СтрокаРасхождений.ВариантОтражения, КорректировкаУслугПрочихАктивов, КорректировкаПрошлогоПериода);
Иначе
РасхождениеСуммаСНДС = -СтрокаРасхождений.СуммаСНДС;
РасхождениеСуммаНДС = -СтрокаРасхождений.СуммаНДС;
РассчитатьСуммыОтраженияРасходовИДоходов(РезультатПроверки, РасхождениеСуммаСНДС, РасхождениеСуммаНДС,
СтрокаРасхождений.ВариантОтраженияСписания, КорректировкаУслугПрочихАктивов, КорректировкаПрошлогоПериода);
РасхождениеСуммаСНДС = СтрокаРасхождений.СуммаСНДСПосле;
РасхождениеСуммаНДС = СтрокаРасхождений.СуммаНДСПосле;
РассчитатьСуммыОтраженияРасходовИДоходов(РезультатПроверки, РасхождениеСуммаСНДС, РасхождениеСуммаНДС,
СтрокаРасхождений.ВариантОтражения, КорректировкаУслугПрочихАктивов, КорректировкаПрошлогоПериода);
КонецЕсли;
КонецЦикла;
Возврат РезультатПроверки;
КонецФункции
Процедура РассчитатьСуммыОтраженияРасходовИДоходов(ДанныеСумм,
РасхождениеСуммаСНДС,
РасхождениеСуммаНДС,
ВариантОтражения,
КорректировкаУслугПрочихАктивов,
КорректировкаПрошлогоПериода)
Если ВариантОтражения = Перечисления.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах Тогда
Если КорректировкаУслугПрочихАктивов
И Не КорректировкаПрошлогоПериода Тогда
ДанныеСумм.СуммаНаПрочиеДоходы = ДанныеСумм.СуммаНаПрочиеДоходы + РасхождениеСуммаСНДС;
Иначе
ДанныеСумм.СуммаНаПрочиеДоходы = ДанныеСумм.СуммаНаПрочиеДоходы + ?(РасхождениеСуммаСНДС < 0,
-РасхождениеСуммаСНДС,
РасхождениеСуммаСНДС);
КонецЕсли;
ИначеЕсли ВариантОтражения = Перечисления.ВариантыОтраженияКорректировокРеализаций.СписатьНаРасходы
Или ВариантОтражения = Перечисления.ВариантыОтраженияКорректировокРеализаций.УменьшитьРеализациюСписатьНаРасходы Тогда
ДанныеСумм.СуммаНаПрочиеРасходы = ДанныеСумм.СуммаНаПрочиеРасходы + ?(РасхождениеСуммаСНДС < 0,
-РасхождениеСуммаСНДС,
РасхождениеСуммаСНДС);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область Серии
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерийТовары()
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Склад КАК Склад,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Серия КАК Серия,
| Товары.Количество КАК Количество,
| Товары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Товары.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Товары.Склад КАК Склад,
| Товары.Номенклатура КАК Номенклатура,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры
|ПОМЕСТИТЬ ТоварыДляЗапроса
|ИЗ
| Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерий,
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА
| ВЫБОР
| КОГДА &ОперацияДокумента В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| И ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийВПереданныхНаКомиссиюТоваров
| ИЛИ &ОперацияДокумента = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
| И ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийТоваровОтгруженныхКлиенту
| ТОГДА
| ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 18
| ИНАЧЕ 17
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерийПереданныхТоваров
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
| ПО ПолитикиУчетаСерий.Склад = Склады.Ссылка
| ПО (ПолитикиУчетаСерий.Склад = ТоварыДляЗапроса.Склад)
| И (ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка)
| ПО Товары.Номенклатура = ТоварыДляЗапроса.Номенклатура
| И Товары.Склад = ТоварыДляЗапроса.Склад
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА Статусы.СтатусУказанияСерий = 0
| ТОГДА Статусы.СтатусУказанияСерийПереданныхТоваров
| ИНАЧЕ Статусы.СтатусУказанияСерий
| КОНЕЦ КАК СтатусУказанияСерий
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| ВЫБОР
| КОГДА Статусы.СтатусУказанияСерий = 0
| ТОГДА Статусы.СтатусУказанияСерийПереданныхТоваров
| ИНАЧЕ Статусы.СтатусУказанияСерий
| КОНЕЦ <> Статусы.СтарыйСтатусУказанияСерий
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерийРасхождения()
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Склад КАК Склад,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Серия КАК Серия,
| Товары.Количество КАК Количество,
| Товары.ВариантОтражения КАК ВариантОтражения,
| Товары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Товары.СтатусУказанияСерийНаСкладах КАК СтатусУказанияСерийНаСкладах,
| Товары.СтатусУказанияСерийПереданныхТоваров КАК СтатусУказанияСерийПереданныхТоваров,
| Товары.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Товары.Склад КАК Склад,
| Товары.Номенклатура КАК Номенклатура,
| Товары.ВариантОтражения КАК ВариантОтражения,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры
|ПОМЕСТИТЬ ТоварыДляЗапроса
|ИЗ
| Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| Товары.СтатусУказанияСерийНаСкладах КАК СтарыйСтатусУказанияСерийНаСкладах,
| Товары.СтатусУказанияСерийПереданныхТоваров КАК СтарыйСтатусУказанияСерийПереданныхТоваров,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| КОГДА &ОперацияДокумента = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
| И НЕ Товары.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УменьшитьРеализациюУчестьПриИнвентаризации),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УменьшитьРеализациюУвеличитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализациюУчестьПриИнвентаризации),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализациюУменьшитьСкладскиеОстатки)
| )
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерий,
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА
| ВЫБОР
| КОГДА &ОперацияДокумента В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| И ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийВПереданныхНаКомиссиюТоваров
| ИЛИ &ОперацияДокумента = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
| И ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийТоваровОтгруженныхКлиенту
| ИЛИ &ОперацияДокумента = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| И ТоварыДляЗапроса.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ВернутьВПуть)
| ТОГДА
| ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 18
| ИНАЧЕ 17
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерийПереданныхТоваров
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
| ПО ПолитикиУчетаСерий.Склад = Склады.Ссылка
| ПО ПолитикиУчетаСерий.Склад = ТоварыДляЗапроса.Склад
| И ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
| ПО Товары.Номенклатура = ТоварыДляЗапроса.Номенклатура
| И Товары.Склад = ТоварыДляЗапроса.Склад
| И Товары.ВариантОтражения = ТоварыДляЗапроса.ВариантОтражения
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА Статусы.СтатусУказанияСерий = 0
| ТОГДА Статусы.СтатусУказанияСерийПереданныхТоваров
| ИНАЧЕ Статусы.СтатусУказанияСерий
| КОНЕЦ КАК СтатусУказанияСерий,
| Статусы.СтатусУказанияСерий КАК СтатусУказанияСерийНаСкладах,
| Статусы.СтатусУказанияСерийПереданныхТоваров КАК СтатусУказанияСерийПереданныхТоваров
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| ВЫБОР
| КОГДА Статусы.СтатусУказанияСерий = 0
| ТОГДА Статусы.СтатусУказанияСерийПереданныхТоваров
| ИНАЧЕ Статусы.СтатусУказанияСерий
| КОНЕЦ <> Статусы.СтарыйСтатусУказанияСерий
| ИЛИ Статусы.СтатусУказанияСерий <> Статусы.СтарыйСтатусУказанияСерийНаСкладах
| ИЛИ Статусы.СтатусУказанияСерийПереданныхТоваров <> Статусы.СтарыйСтатусУказанияСерийПереданныхТоваров
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
#Конецобласти
#Конецобласти
#Область ОбновлениеИнформационнойБазы
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
#Область Документы_КорректировкаРеализации_ОбработатьДанныеДляПереходаНаНовуюВерсию
Обработчик = Обработчики.Добавить();
Обработчик.Процедура = "Документы.КорректировкаРеализации.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.Версия = "11.5.25.22";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.Порядок = Перечисления.ПорядокОбработчиковОбновления.Некритичный;
Обработчик.Идентификатор = Новый УникальныйИдентификатор("d307c19a-eb0b-4bc4-830d-3e2270e401b6");
Обработчик.Многопоточный = Истина;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Документы.КорректировкаРеализации.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
СписокОписаний = Новый Массив;
СписокОписаний.Добавить(НСтр("ru = 'Обновление документов ""Корректировка реализации"":'"));
СписокОписаний.Добавить(НСтр("ru = '- заполнение реквизитов ""Статус указания серий на складах"" и ""Статус указания серий, переданных товаров"" в табличной части ""Расхождения"".';"));
СписокОписаний.Добавить(НСтр("ru = '- заполнение реквизита ""Кор. аналитика учета номенклатуры"" в табличных частях ""Расхождения"", ""Виды запасов оприходование"" для документов с основанием ""Реализация товаров и услуг"" с операцией ""Реализация"".';"));
СписокОписаний.Добавить(НСтр("ru = '- заполнение реквизита ""Кор. аналитика учета номенклатуры"" в табличной части ""Виды запасов списание"" для документов с основанием ""Реализация товаров и услуг"" с операциями ""Реализация"" и ""Переход права собственности"".';"));
Обработчик.Комментарий = СтрСоединить(СписокОписаний, Символы.ПС);
Изменяемые = Новый Массив;
Изменяемые.Добавить(Метаданные.Документы.КорректировкаРеализации.ПолноеИмя());
Обработчик.ИзменяемыеОбъекты = СтрСоединить(Изменяемые, ",");
Блокируемые = Новый Массив;
Блокируемые.Добавить(Метаданные.Документы.КорректировкаРеализации.ПолноеИмя());
Обработчик.БлокируемыеОбъекты = СтрСоединить(Блокируемые, ",");
#КонецОбласти
КонецПроцедуры
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ПараметрыВыборки = Параметры.ПараметрыВыборки;
ПараметрыВыборки.ПолныеИменаОбъектов = ПустаяСсылка().Метаданные().ПолноеИмя();
ПараметрыВыборки.ПоляУпорядочиванияПриРаботеПользователей.Добавить("Дата УБЫВ");
ПараметрыВыборки.ПоляУпорядочиванияПриОбработкеДанных.Добавить("Дата УБЫВ");
ПараметрыВыборки.СпособВыборки = ОбновлениеИнформационнойБазы.СпособВыборкиСсылки();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| РеквизитыШапки.Ссылка КАК Ссылка
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ДанныеРасхождений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК РеквизитыШапки
| ПО ДанныеРасхождений.Ссылка = РеквизитыШапки.Ссылка
|ГДЕ
| НЕ РеквизитыШапки.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| И ДанныеРасхождений.СтатусУказанияСерий > 0
| И ДанныеРасхождений.СтатусУказанияСерий <> ДанныеРасхождений.СтатусУказанияСерийНаСкладах
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| РеквизитыШапки.Ссылка КАК Ссылка
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ДанныеРасхождений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК РеквизитыШапки
| ПО ДанныеРасхождений.Ссылка = РеквизитыШапки.Ссылка
|ГДЕ
| РеквизитыШапки.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
| И ДанныеРасхождений.СтатусУказанияСерий > 0
| И ДанныеРасхождений.СтатусУказанияСерий <> ДанныеРасхождений.СтатусУказанияСерийПереданныхТоваров
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| РеквизитыШапки.Ссылка КАК Ссылка
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ДанныеРасхождений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК РеквизитыШапки
| ПО ДанныеРасхождений.Ссылка = РеквизитыШапки.Ссылка
|ГДЕ
| РеквизитыШапки.Проведен
| И РеквизитыШапки.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| И РеквизитыШапки.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
| И ДанныеРасхождений.КорАналитикаУчетаНоменклатуры = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| РеквизитыШапки.Ссылка КАК Ссылка
|ИЗ
| Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ДанныеРасхождений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК РеквизитыШапки
| ПО ДанныеРасхождений.Ссылка = РеквизитыШапки.Ссылка
|ГДЕ
| РеквизитыШапки.Проведен
| И РеквизитыШапки.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности))
| И РеквизитыШапки.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
| И ДанныеРасхождений.КорАналитикаУчетаНоменклатуры = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)";
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
КонецПроцедуры
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ПолноеИмяОбъекта = ПустаяСсылка().Метаданные().ПолноеИмя();
ОбновляемыеДанные = ОбновлениеИнформационнойБазы.ДанныеДляОбновленияВМногопоточномОбработчике(Параметры);
ОтборПустыхАналитик = Новый Структура("КорАналитикаУчетаНоменклатуры",
Справочники.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка());
ОперацииРеализацииЧерезКомиссионера = Новый Массив;
ОперацииРеализацииЧерезКомиссионера.Добавить(Перечисления.ХозяйственныеОперации.РеализацияЧерезКомиссионера);
ОперацииРеализацииЧерезКомиссионера.Добавить(Перечисления.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеРасхождений.НомерСтроки КАК НомерСтроки
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ДанныеРасхождений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК РеквизитыШапки
| ПО ДанныеРасхождений.Ссылка = РеквизитыШапки.Ссылка
|
|ГДЕ
| ДанныеРасхождений.Ссылка = &Ссылка
| И ДанныеРасхождений.СтатусУказанияСерий > 0
| И ДанныеРасхождений.СтатусУказанияСерий <> ДанныеРасхождений.СтатусУказанияСерийНаСкладах
| И НЕ РеквизитыШапки.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеРасхождений.НомерСтроки КАК НомерСтроки
|ИЗ
| Документ.КорректировкаРеализации.Расхождения КАК ДанныеРасхождений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК РеквизитыШапки
| ПО ДанныеРасхождений.Ссылка = РеквизитыШапки.Ссылка
|
|ГДЕ
| ДанныеРасхождений.Ссылка = &Ссылка
| И ДанныеРасхождений.СтатусУказанияСерий > 0
| И ДанныеРасхождений.СтатусУказанияСерий <> ДанныеРасхождений.СтатусУказанияСерийПереданныхТоваров
| И РеквизитыШапки.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))";
Для Каждого Документ Из ОбновляемыеДанные Цикл
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(ПолноеИмяОбъекта);
ЭлементБлокировки.УстановитьЗначение("Ссылка", Документ.Ссылка);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();
ДокументОбъект = Документ.Ссылка.ПолучитьОбъект();
Если ДокументОбъект <> Неопределено Тогда
Если ДокументОбъект.Проведен
И ТипЗнч(ДокументОбъект.ДокументОснование) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
Если ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту Тогда
СтрокиРасхождений = ДокументОбъект.Расхождения.НайтиСтроки(ОтборПустыхАналитик);
Для Каждого СтрокаТЧ Из СтрокиРасхождений Цикл
СтрокаТЧ.КорАналитикаУчетаНоменклатуры = СтрокаТЧ.АналитикаУчетаНоменклатуры;
КонецЦикла;
СтрокиЗапасов = ДокументОбъект.ВидыЗапасовОприходование.НайтиСтроки(ОтборПустыхАналитик);
Для Каждого СтрокаТЧ Из СтрокиЗапасов Цикл
СтрокаТЧ.КорАналитикаУчетаНоменклатуры = СтрокаТЧ.АналитикаУчетаНоменклатуры;
КонецЦикла;
КонецЕсли;
ЗаполнитьКорАналитикаУчетаНоменклатурыВВидыЗапасовСписание(ДокументОбъект);
КонецЕсли;
Запрос.УстановитьПараметр("Ссылка", ДокументОбъект.Ссылка);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
ИмяПолеСтатуса = ?(ОперацииРеализацииЧерезКомиссионера.Найти(ДокументОбъект.ХозяйственнаяОперация) = Неопределено,
"СтатусУказанияСерийНаСкладах",
"СтатусУказанияСерийПереданныхТоваров");
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
СтрокаРасхождения = ДокументОбъект.Расхождения[Выборка.НомерСтроки - 1];
СтрокаРасхождения[ИмяПолеСтатуса] = СтрокаРасхождения.СтатусУказанияСерий;
КонецЦикла;
КонецЕсли;
КонецЕсли;
Если ДокументОбъект <> Неопределено
И ДокументОбъект.Модифицированность() Тогда
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ДокументОбъект);
Иначе
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(Документ.Ссылка);
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ОбновлениеИнформационнойБазыУТ.СообщитьОНеудачнойОбработке(ИнформацияОбОшибке(), Документ.Ссылка);
КонецПопытки;
КонецЦикла;
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
КонецПроцедуры
Процедура ЗаполнитьКорАналитикаУчетаНоменклатурыВВидыЗапасовСписание(ДокументОбъект)
ВидыЗапасов = ДокументОбъект.ВидыЗапасовСписание;
Если ВидыЗапасов.Количество() = 0
Или Не (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту
Или ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПереходПраваСобственности) Тогда
Возврат;
КонецЕсли;
Расхождения = ДокументОбъект.Расхождения;
ОтборПустыхАналитик = Новый Структура("КорАналитикаУчетаНоменклатуры",
Справочники.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка());
СтрокиРасхождений = Расхождения.НайтиСтроки(ОтборПустыхАналитик);
Если СтрокиРасхождений.Количество() = Расхождения.Количество() Тогда
Возврат;
КонецЕсли;
ИменаКолонокГруппировки = "АналитикаУчетаНоменклатуры, АналитикаУчетаНаборов, Склад, Упаковка, ЗаказКлиента,
|КодТНВЭД, ОбъектРасчетов, КорАналитикаУчетаНоменклатуры,
|СтатьяРасходов, АналитикаРасходов, АналитикаАктивовПассивов, СписатьНаРасходы";
ИменаКолонокСуммирования = "Количество, КоличествоУпаковок, СуммаСНДС, СуммаНДС, СуммаВзаиморасчетов,
|СуммаБезНДСРегл, СуммаБезНДСУпр, СуммаНДСРегл, СуммаНДСУпр";
ВыгружаемыеКолонки = ИменаКолонокГруппировки + ", " + ИменаКолонокСуммирования;
ТаблицаТовары = Расхождения.ВыгрузитьКолонки(ВыгружаемыеКолонки);
ТаблицаТовары.Колонки.Добавить("НаДоходыРасходы");
МассивВариантовОтражения = Новый Массив;
МассивВариантовОтражения.Добавить(Перечисления.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализацию);
МассивВариантовОтражения.Добавить(Перечисления.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализациюУчестьПриИнвентаризации);
МассивВариантовОтражения.Добавить(Перечисления.ВариантыОтраженияКорректировокРеализаций.УвеличитьРеализациюУменьшитьСкладскиеОстатки);
МассивВариантовОтражения.Добавить(Перечисления.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах);
Для Каждого СтрокаРасхождений Из Расхождения Цикл
УчитыватьСтроку = Ложь;
Для Каждого ВариантОтражения Из МассивВариантовОтражения Цикл
Если СтрокаРасхождений.ВариантОтражения = ВариантОтражения Тогда
УчитыватьСтроку = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если УчитыватьСтроку Тогда
СтрокаТоваров = ТаблицаТовары.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТоваров, СтрокаРасхождений);
Если СтрокаРасхождений.Количество < 0 Тогда
СтрокаТоваров.Количество = -СтрокаРасхождений.Количество;
СтрокаТоваров.КоличествоУпаковок = -СтрокаРасхождений.КоличествоУпаковок;
СтрокаТоваров.СуммаВзаиморасчетов = -СтрокаРасхождений.СуммаВзаиморасчетов;
СтрокаТоваров.СуммаБезНДСРегл = -СтрокаРасхождений.СуммаБезНДСРегл;
СтрокаТоваров.СуммаБезНДСУпр = -СтрокаРасхождений.СуммаБезНДСУпр;
СтрокаТоваров.СуммаНДСРегл = -СтрокаРасхождений.СуммаНДСРегл;
СтрокаТоваров.СуммаНДСУпр = -СтрокаРасхождений.СуммаНДСУпр;
КонецЕсли;
СтрокаТоваров.НаДоходыРасходы =
СтрокаРасхождений.ВариантОтражения = Перечисления.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах;
КонецЕсли;
КонецЦикла;
ИменаКолонокГруппировки = ИменаКолонокГруппировки + ", " + "НаДоходыРасходы";
ТаблицаТовары.Свернуть(ИменаКолонокГруппировки , ИменаКолонокСуммирования);
СтруктураПоиска = Новый Структура("АналитикаУчетаНоменклатуры");
ЗаполняемыеСвойстваАналитик = "АналитикаУчетаНоменклатуры, КорАналитикаУчетаНоменклатуры";
Для Каждого СтрокаТоваров Из ТаблицаТовары Цикл
КоличествоТоваров = СтрокаТоваров.Количество;
КоличествоУпаковок = СтрокаТоваров.КоличествоУпаковок;
СуммаВзаиморасчетовТоваров = СтрокаТоваров.СуммаВзаиморасчетов;
СуммаБезНДСРегл = СтрокаТоваров.СуммаБезНДСРегл;
СуммаБезНДСУпр = СтрокаТоваров.СуммаБезНДСУпр;
СтруктураПоиска.АналитикаУчетаНоменклатуры = СтрокаТоваров.АналитикаУчетаНоменклатуры;
Для Каждого СтрокаЗапасов Из ВидыЗапасов.НайтиСтроки(СтруктураПоиска) Цикл
Если СтрокаЗапасов.Количество = 0 Тогда
Продолжить;
КонецЕсли;
Количество = Мин(КоличествоТоваров, СтрокаЗапасов.Количество);
НоваяСтрока = ВидыЗапасов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаЗапасов);
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТоваров, ЗаполняемыеСвойстваАналитик);
НоваяСтрока.Упаковка = СтрокаТоваров.Упаковка;
НоваяСтрока.ЗаказКлиента = СтрокаТоваров.ЗаказКлиента;
НоваяСтрока.ОбъектРасчетов = СтрокаТоваров.ОбъектРасчетов;
НоваяСтрока.КодТНВЭД = СтрокаТоваров.КодТНВЭД;
НоваяСтрока.НаДоходыРасходы = СтрокаТоваров.НаДоходыРасходы;
НоваяСтрока.АналитикаУчетаНаборов = СтрокаТоваров.АналитикаУчетаНаборов;
НоваяСтрока.СтатьяРасходов = СтрокаТоваров.СтатьяРасходов;
НоваяСтрока.АналитикаРасходов = СтрокаТоваров.АналитикаРасходов;
НоваяСтрока.АналитикаАктивовПассивов = СтрокаТоваров.АналитикаАктивовПассивов;
НоваяСтрока.СписатьНаРасходы = СтрокаТоваров.СписатьНаРасходы;
НоваяСтрока.КоличествоУпаковок = ?(КоличествоТоваров <> 0,
КоличествоУпаковок * Количество / КоличествоТоваров,
0);
НоваяСтрока.Количество = Количество;
НоваяСтрока.КоличествоПоРНПТ = Количество * СтрокаЗапасов.КоличествоПоРНПТ
/ СтрокаЗапасов.Количество;
НоваяСтрока.СуммаСНДС = ?(СтрокаЗапасов.Количество <> 0,
Количество * СтрокаЗапасов.СуммаСНДС / СтрокаЗапасов.Количество,
0);
НоваяСтрока.СуммаНДС = ?(СтрокаЗапасов.Количество <> 0,
Количество * СтрокаЗапасов.СуммаНДС / СтрокаЗапасов.Количество,
0);
НоваяСтрока.СуммаНДСРегл = ?(СтрокаЗапасов.Количество <> 0,
Количество * СтрокаТоваров.СуммаНДСРегл / СтрокаЗапасов.Количество,
0);
НоваяСтрока.СуммаНДСУпр = ?(СтрокаЗапасов.Количество <> 0,
Количество * СтрокаТоваров.СуммаНДСУпр / СтрокаЗапасов.Количество,
0);
НоваяСтрока.СуммаВзаиморасчетов = ?(КоличествоТоваров <> 0,
Количество * СуммаВзаиморасчетовТоваров / КоличествоТоваров,
0);
НоваяСтрока.СуммаБезНДСРегл = ?(КоличествоТоваров <> 0,
Количество * СуммаБезНДСРегл / КоличествоТоваров,
0);
НоваяСтрока.СуммаБезНДСУпр = ?(КоличествоТоваров <> 0,
Количество * СуммаБезНДСУпр / КоличествоТоваров,
0);
СтрокаЗапасов.Количество = СтрокаЗапасов.Количество - НоваяСтрока.Количество;
СтрокаЗапасов.КоличествоПоРНПТ = СтрокаЗапасов.КоличествоПоРНПТ - НоваяСтрока.КоличествоПоРНПТ;
СтрокаЗапасов.СуммаСНДС = СтрокаЗапасов.СуммаСНДС - НоваяСтрока.СуммаСНДС;
СтрокаЗапасов.СуммаНДС = СтрокаЗапасов.СуммаНДС - НоваяСтрока.СуммаНДС;
СтрокаЗапасов.СуммаНДСРегл = СтрокаЗапасов.СуммаНДСРегл - НоваяСтрока.СуммаНДСРегл;
СтрокаЗапасов.СуммаНДСУпр = СтрокаЗапасов.СуммаНДСУпр - НоваяСтрока.СуммаНДСУпр;
КоличествоТоваров = КоличествоТоваров - НоваяСтрока.Количество;
КоличествоУпаковок = КоличествоУпаковок - НоваяСтрока.КоличествоУпаковок;
СуммаВзаиморасчетовТоваров = СуммаВзаиморасчетовТоваров - НоваяСтрока.СуммаВзаиморасчетов;
СуммаБезНДСРегл = СуммаБезНДСРегл - НоваяСтрока.СуммаБезНДСРегл;
СуммаБезНДСУпр = СуммаБезНДСУпр - НоваяСтрока.СуммаБезНДСУпр;
Если КоличествоТоваров = 0 Тогда
Прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ПараметрыПоиска = Новый Структура("Количество", 0);
МассивУдаляемыхСтрок = ВидыЗапасов.НайтиСтроки(ПараметрыПоиска);
Для Каждого СтрокаТаблицы Из МассивУдаляемыхСтрок Цикл
ВидыЗапасов.Удалить(СтрокаТаблицы);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли