Корректировка реализации / Модуль менеджера

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

#Область Проведение

// Описывает учетные механизмы используемые в документе для регистрации в механизме проведения.
//
// Параметры:
//  МеханизмыДокумента - Массив - список имен учетных механизмов, для которых будет выполнена
//              регистрация в механизме проведения.
//
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
	
	МеханизмыДокумента.Добавить("Взаиморасчеты");
	МеханизмыДокумента.Добавить("Закупки");
	МеханизмыДокумента.Добавить("Обеспечение");
	МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
	МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
	МеханизмыДокумента.Добавить("Продажи");
	МеханизмыДокумента.Добавить("ПередачаНаОтветхранение");
	МеханизмыДокумента.Добавить("ПриемНаОтветхранение");
	МеханизмыДокумента.Добавить("РеестрДокументов");
	МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
	МеханизмыДокумента.Добавить("СерийныйУчет");
	МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
	МеханизмыДокумента.Добавить("АдресныйСклад");
	МеханизмыДокумента.Добавить("УчетДоходовРасходов");
	МеханизмыДокумента.Добавить("УчетНДС");
	МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
	МеханизмыДокумента.Добавить("УчетРабот");
	МеханизмыДокумента.Добавить("ЦеныИСкидки");
	МеханизмыДокумента.Добавить("ИсправлениеДокументов");
	
	КорректировкаРеализацииЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
	
КонецПроцедуры

// Возвращает таблицы для движений, необходимые для проведения документа по регистрам учетных механизмов.
//
// Параметры:
//  Документ - ДокументСсылка, ДокументОбъект - ссылка на документ или объект, по которому необходимо получить данные
//  Регистры - Структура - список имен регистров, для которых необходимо получить таблицы
//  ДопПараметры - Структура - дополнительные параметры для получения данных, определяющие контекст проведения.
//
// Возвращаемое значение:
//  Структура - коллекция элементов - таблиц значений - данных для отражения в регистр.
//
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
	
	Если ДопПараметры = Неопределено Тогда
		ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
	КонецЕсли;
	
	Если ТипЗнч(Документ) = Тип("ДокументОбъект.КорректировкаРеализации") Тогда
		ДокументСсылка = Документ.Ссылка;
	Иначе
		ДокументСсылка = Документ;
	КонецЕсли;
	
	Запрос			= Новый Запрос;
	ТекстыЗапроса	= Новый СписокЗначений;
	
	Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
		////////////////////////////////////////////////////////////////////////////
		// Создадим запрос инициализации движений
		
		ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
		
		////////////////////////////////////////////////////////////////////////////
		// Сформируем текст запроса
		СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
		
		ТекстЗапросаТаблицаПереданнаяВозвратнаяТара(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаРаспоряженияНаОтгрузку(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаТоварыОрганизацийКПередаче(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаТоварыКОформлениюОтчетовКомитенту(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаПрочиеДоходы(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаУслугиКОформлениюОтчетовПринципалу(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаБонусныеБаллы(Запрос, ТекстыЗапроса, Регистры, ДокументСсылка);
		ТекстЗапросаТаблицаИсправленияДокументов(Запрос, ТекстыЗапроса, Регистры);
		
		ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры, ДокументСсылка);
		
		РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(
			ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
		
		// Исполнение запроса и выгрузка полученных таблиц для движений.
		КорректировкаРеализацииЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
	КонецЕсли;
	
	ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры);
	ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры);
	ОформитьИзлишкиНедостачиНаСкладе(Запрос, ТекстыЗапроса, Регистры);
	ОтразитьПрочуюВыручку(Запрос, ТекстыЗапроса, Регистры);
	
	////////////////////////////////////////////////////////////////////////////
	// Получим таблицы для движений
	
	Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
	
КонецФункции

#КонецОбласти

// СтандартныеПодсистемы.ВерсионированиеОбъектов

// Определяет настройки объекта для подсистемы ВерсионированиеОбъектов.
//
// Параметры:
//  Настройки - Структура - настройки подсистемы.
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт

КонецПроцедуры

// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов

// Определяет список команд создания на основании.
//
// Параметры:
//  КомандыСозданияНаОсновании - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.КомандыСозданияНаОсновании
//  Параметры - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.Параметры
//
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
	
	Справочники.Претензии.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	КомандаСоздания =
		Документы.ПоступлениеТоваровОтКлиента.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	Если КомандаСоздания <> Неопределено Тогда
		
		ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
			КомандаСоздания, 
			"ТипКорректировки", 
			Перечисления.ТипыКорректировки.ОбычнаяКорректировка,
			ВидСравненияКомпоновкиДанных.Равно);
		
	КонецЕсли;
	
	ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
	ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
	
	КорректировкаРеализацииЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);

КонецПроцедуры

// Добавляет команду создания документа "Корректировка реализации".
//
// Параметры:
//	КомандыСозданияНаОсновании - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.КомандыСозданияНаОсновании
//
// Возвращаемое значение:
//	ТаблицаЗначений, Неопределено - сформированные команды для вывода в подменю.
//
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
	
	Если ПравоДоступа("Добавление", Метаданные.Документы.КорректировкаРеализации) Тогда
		КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
		КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.КорректировкаРеализации.ПолноеИмя();
		КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.КорректировкаРеализации);
		КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
		КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьКорректировкиРеализаций";
		
		Возврат КомандаСоздатьНаОсновании;
	КонецЕсли;
	
	Возврат Неопределено;
	
КонецФункции

// Определяет список команд отчетов.
//
// Параметры:
//   КомандыОтчетов - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.КомандыОтчетов
//   Параметры - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.Параметры
//
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
	
	ВзаиморасчетыСервер.КарточкаРасчетовСКлиентом_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
	ВзаиморасчетыСервер.ЗадолженностьКлиентов_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
	
	КорректировкаРеализацииЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);

КонецПроцедуры

#Область Серии

// Имена реквизитов, от значений которых зависят параметры указания серий
//
//	Возвращаемое значение:
//		Строка - имена реквизитов, перечисленные через запятую.
//
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
	ИменаРеквизитов = "ДокументОснование,Склад,Дата";
	
	Возврат ИменаРеквизитов;
КонецФункции

// Возвращает параметры указания серий для товаров, указанных в документе.
//
// Параметры:
// 	Объект - Структура - структура значений реквизитов объекта, необходимых для заполнения параметров указания серий.
//
// Возвращаемое значение:
// 	Структура - коллекция, содержащая следующие свойства:
// 		* Товары - см. НоменклатураКлиентСервер.ПараметрыУказанияСерий.
// 		* Расхождения - см. НоменклатураКлиентСервер.ПараметрыУказанияСерий.
//
Функция ПараметрыУказанияСерий(Объект) Экспорт
	
	ПараметрыУказанияСерий = Новый Структура;
	
	#Область Товары
	ПараметрыУказанияСерийТовары = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
	
	ПараметрыУказанияСерийТовары.ПолноеИмяОбъекта = "Документ.КорректировкаРеализации";
	
	ДокументОснованиеХозяйственнаяОперация = ХозяйственнаяОперацияДокументаОснования(Объект.ДокументОснование);
	РеализацияЧерезКомиссионера = КомиссионнаяТорговляСервер.РеализацияЧерезКомиссионера(ДокументОснованиеХозяйственнаяОперация);
	РеализацияПоПереходуПраваСобственности = ДокументОснованиеХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПереходПраваСобственности;
	
	Если РеализацияЧерезКомиссионера
		Или РеализацияПоПереходуПраваСобственности Тогда
		
		ПараметрыУказанияСерийТовары.УчитыватьСебестоимостьПоСериям = ПолучитьФункциональнуюОпцию("УчитыватьСебестоимостьПоСериямСклад",
																		Новый Структура());
		ПараметрыУказанияСерийТовары.ИспользоватьСерииНоменклатуры  = ПолучитьФункциональнуюОпцию("ИспользоватьСерииНоменклатурыСклад",
																		Новый Структура());
		
	Иначе
		ПараметрыСерийСклада = СкладыСервер.ИспользованиеСерийНаСкладе(Объект.Склад, Истина);
		ПараметрыУказанияСерийТовары.ИспользоватьСерииНоменклатуры  = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
		ПараметрыУказанияСерийТовары.УчитыватьСебестоимостьПоСериям = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
	КонецЕсли;
	
	ПараметрыУказанияСерийТовары.ТолькоСерииДляСебестоимости = Истина;
	
	ПараметрыУказанияСерийТовары.ИмяТЧСерии = ПараметрыУказанияСерийТовары.ИмяТЧТовары;
	
	ПараметрыУказанияСерийТовары.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ПустаяСсылка());
	
	ПараметрыУказанияСерийТовары.ИменаПолейДополнительные.Добавить("Склад");
	
	ПараметрыУказанияСерийТовары.ЭтоНакладная = Истина;
	ПараметрыУказанияСерийТовары.Дата = Объект.Дата;
	
	ПараметрыУказанияСерийТовары.ОперацияДокумента = ДокументОснованиеХозяйственнаяОперация;
	
	ПараметрыУказанияСерий.Вставить("Товары", ПараметрыУказанияСерийТовары);
	
	#КонецОбласти
	
	#Область Расхождения
	ПараметрыУказанияСерийРасхождения = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
	
	ПараметрыУказанияСерийРасхождения.ПолноеИмяОбъекта = ПараметрыУказанияСерийТовары.ПолноеИмяОбъекта;
	
	ПараметрыУказанияСерийРасхождения.УчитыватьСебестоимостьПоСериям = ПараметрыУказанияСерийТовары.УчитыватьСебестоимостьПоСериям;
	ПараметрыУказанияСерийРасхождения.ИспользоватьСерииНоменклатуры  = ПараметрыУказанияСерийТовары.ИспользоватьСерииНоменклатуры;
	
	ПараметрыУказанияСерийРасхождения.ТолькоСерииДляСебестоимости = Истина;
	
	ПараметрыУказанияСерийРасхождения.ИмяТЧТовары	= "Расхождения";
	ПараметрыУказанияСерийРасхождения.ИмяТЧСерии	= "Расхождения";
	
	ПараметрыУказанияСерийРасхождения.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ПустаяСсылка());
	
	ПараметрыУказанияСерийРасхождения.ИменаПолейДополнительные.Добавить("Склад");
	ПараметрыУказанияСерийРасхождения.ИменаПолейДополнительные.Добавить("ВариантОтражения");
	
	ПараметрыУказанияСерийРасхождения.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерий");
	ПараметрыУказанияСерийРасхождения.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерийНаСкладах");
	ПараметрыУказанияСерийРасхождения.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерийПереданныхТоваров");
	
	ПараметрыУказанияСерийРасхождения.ЭтоНакладная = Истина;
	ПараметрыУказанияСерийРасхождения.Дата = Объект.Дата;
	
	ПараметрыУказанияСерийРасхождения.ОперацияДокумента = ДокументОснованиеХозяйственнаяОперация;
	
	ПараметрыУказанияСерий.Вставить("Расхождения", ПараметрыУказанияСерийРасхождения);
	
	#КонецОбласти
	
	Возврат ПараметрыУказанияСерий;
	
КонецФункции

// Возвращает текст запроса для расчета статусов указания серий.
//
// Параметры:
//	ПараметрыУказанияСерий - см. НоменклатураКлиентСервер.ПараметрыУказанияСерий.
//
// Возвращаемое значение:
//	Строка - текст запроса.
//
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
	
	Если ПараметрыУказанияСерий.ИмяТЧТовары = "Расхождения" Тогда
		ТекстЗапроса = ТекстЗапросаЗаполненияСтатусовУказанияСерийРасхождения();
	Иначе
		ТекстЗапроса = ТекстЗапросаЗаполненияСтатусовУказанияСерийТовары();
	КонецЕсли;
	
	Возврат ТекстЗапроса;
	
КонецФункции

#КонецОбласти

#Область ОснованиеДляПечати

// Возвращает структуру основания по данными документа
//
// Параметры:
//	Объект - ДанныеФормыСтруктура, ДокументОбъект.КорректировкаРеализации - Объект документа, по которму необходимо получить текст основания.
//
// Возвращаемое значение:
//	Структура - Структура с наименованием, датой и номером основания.
//
Функция СтруктураОснованияДляПечати(Объект) Экспорт
	
	СтруктураОснования = СтруктураОснования(Объект, Объект.ПорядокРасчетов);
	
	Возврат СтруктураОснования;
	
КонецФункции

// Возвращает таблицу значений по умолчанию для реквизита "Основание"
//
// Параметры:
//	Объект - ДанныеФормыСтруктура, ДокументОбъект.КорректировкаРеализации - Объект документа, по которму необходимо получить список выбора.
//
// Возвращаемое значение:
//	ТаблицаЗначений - Таблица значений с реквизитами оснований.
//
Функция ТаблицаОснованийДляПечати(Объект) Экспорт
	
	ТаблицаОснований = Новый ТаблицаЗначений;
	ТаблицаОснований.Колонки.Добавить("Основание",      Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(300)));
	ТаблицаОснований.Колонки.Добавить("ОснованиеДата",  Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата))); 
	ТаблицаОснований.Колонки.Добавить("ОснованиеНомер", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(128)));
	
	СтруктураОснования = СтруктураОснования(Объект, Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов);
	Если ЗначениеЗаполнено(СтруктураОснования.Основание) Тогда
		ДобавленнаяСтрока = ТаблицаОснований.Добавить();
		ЗаполнитьЗначенияСвойств(ДобавленнаяСтрока, СтруктураОснования);
	КонецЕсли;
	
	СтруктураОснования = СтруктураОснования(Объект, Перечисления.ПорядокРасчетов.ПоЗаказам);
	Если ЗначениеЗаполнено(СтруктураОснования.Основание) Тогда
		ДобавленнаяСтрока = ТаблицаОснований.Добавить();
		ЗаполнитьЗначенияСвойств(ДобавленнаяСтрока, СтруктураОснования);
	КонецЕсли;
	
	Возврат ТаблицаОснований;
	
КонецФункции

#КонецОбласти


// Возвращает текст запроса для получениях доступных назначений
//	Параметры:
//		ПараметрыФормированияЗапроса - Структура - параметры для формирования текстов запросов
//	Возвращаемое значение:
//		Строка - текст запроса.
//
Функция ТекстЗапросаДоступныхНазначений(ПараметрыФормированияЗапроса) Экспорт
	
	Возврат Справочники.Назначения.ТекстЗапросаВсехНазначений(ПараметрыФормированияЗапроса);
	
КонецФункции

// Возвращает структуру параметров порядка обработки документа
// 
// Параметры:
// 	Форма - ФормаКлиентскогоПриложения
// 	
// Возвращаемое значение:
// Структура - см. НаправленияДеятельностиСервер.ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности
//
Функция ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности(Форма) Экспорт
	
	ПорядокОбработкиДокумента = НаправленияДеятельностиСервер.ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности();
	ПорядокОбработкиДокумента.ИменаТабличныхЧастейДляЗаполненияНазначения = "Товары";
	ТаблицаУсловий = НаправленияДеятельностиСервер.УсловияОбработкиНазначенийВСтроках("ТипНоменклатуры,КодСтроки");
	ПорядокОбработкиДокумента.УсловияОбработкиСтрок.Вставить("Товары", ТаблицаУсловий);
	
	Возврат ПорядокОбработкиДокумента;
	
КонецФункции

#Область Печать

// Возвращает правила печати печатной формы Задания на отбор (размещение) товаров.
//
// Возвращаемое значение:
//	Структура - состав свойств см. Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ДобавитьКомандуПечати.
//
Функция ПравилаПечатиЗаданияНаОтборРазмещение() Экспорт
	
	ПравилаПечатиЗадания = Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ПравилаПечатиЗаданияНаОтборРазмещение();
	ПравилаПечатиЗадания.СкладыВТЧ				= Истина;
	ПравилаПечатиЗадания.КорректировкаТоваров	= Истина;
	ПравилаПечатиЗадания.ИмяТЧТовары			= "Расхождения";
	
	Возврат ПравилаПечатиЗадания;
	
КонецФункции

#Конецобласти

// Возвращает параметры механизма взаиморасчетов.
//
// Параметры:
// 	ДанныеЗаполнения - ДокументОбъект, СправочникОбъект, ДокументСсылка, СправочникСсылка, Структура, ДанныеФормыСтруктура - Объект или коллекция для
//              расчета параметров взаиморасчетов.
//
// Возвращаемое значение:
// 	Массив из см. ВзаиморасчетыСервер.ПараметрыМеханизма - Массив параметров функций механизма взаиморасчетов
//
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
	
	ЭтоКорректировкаЗадолженности = Ложь;
	ВестиРасчетыЧерезКонечныхПокупателей = Ложь;
	РеализацияЧерезКомиссионера = Ложь;
	ЭтоКорректировкаПервичногоДокумента = Ложь;
	ДокументОснование = Неопределено;
	Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
		СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
			ДанныеЗаполнения,
			"ВидКорректировки,
			|ДокументОснование,
			|Договор,
			|ТипКорректировки");
		ЭтоКорректировкаЗадолженности = 
			СтруктураДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно
			ИЛИ СтруктураДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУменьшениеЗадолженностиСводно;
		РеализацияЧерезКомиссионера = КомиссионнаяТорговляСервер.РеализацияЧерезКомиссионера(
										ХозяйственнаяОперацияДокументаОснования(СтруктураДанныеЗаполнения.ДокументОснование));
		ВестиРасчетыЧерезКонечныхПокупателей = РеализацияЧерезКомиссионера И СтруктураДанныеЗаполнения.Договор.ВестиРасчетыЧерезКонечныхПокупателей;
		ЭтоКорректировкаПервичногоДокумента = СтруктураДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
			Или СтруктураДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
		ДокументОснование = СтруктураДанныеЗаполнения.ДокументОснование;
	ИначеЕсли ДанныеЗаполнения <> Неопределено Тогда
		ЭтоКорректировкаЗадолженности = 
			ДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно
			ИЛИ ДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУменьшениеЗадолженностиСводно;
		РеализацияЧерезКомиссионера = КомиссионнаяТорговляСервер.РеализацияЧерезКомиссионера(
										ХозяйственнаяОперацияДокументаОснования(ДанныеЗаполнения.ДокументОснование));
		ВестиРасчетыЧерезКонечныхПокупателей = РеализацияЧерезКомиссионера 
			И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДанныеЗаполнения.Договор, "ВестиРасчетыЧерезКонечныхПокупателей");
		ЭтоКорректировкаПервичногоДокумента = ДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
			Или ДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
		ДокументОснование = ДанныеЗаполнения.ДокументОснование;
	КонецЕсли;
	
	СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
	
	#Область ОбязательныеПараметры
	
	// Если все опции ложь, то это платеж или служебный документ.
	СтруктураПараметров.ЭтоЗаказ                         = Ложь;
	СтруктураПараметров.ЭтоСправочник                    = Ложь;
	СтруктураПараметров.ЭтоПродажаЗакупка                = Истина;
	
	// Определяет какой регистр двигают параметры, какие общие формы, перечисления и справочники использовать.
	СтруктураПараметров.ТипРасчетов                      = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
	
	// Дата отражения документа в системе.
	// Используется для получения остатков просроченной задолженности для функции ограничения задолженности.
	// Используется для получения курсов валют документа. 
	// Используется для заполнения этапов оплаты и расшифровки платежа по умолчанию.
	СтруктураПараметров.Дата                             = "Объект.Дата"; 
	
	// Валюта и сумма операции. Обязательно путь к реквизитам объекта.
	СтруктураПараметров.ВалютаДокумента                  = "Объект.Валюта";
	СтруктураПараметров.СуммаДокумента                   = "";
	
	// Используются для генерации объектов расчетов и аналитики.
	СтруктураПараметров.Организация                      = "Объект.Организация";
	СтруктураПараметров.Партнер                          = ?(ВестиРасчетыЧерезКонечныхПокупателей, "Объект.КлиентПартнер",    "Объект.Партнер");
	СтруктураПараметров.Контрагент                       = ?(ВестиРасчетыЧерезКонечныхПокупателей, "Объект.КлиентКонтрагент", "Объект.Контрагент");
	
	// Для поиска и генерации объекта
	Если ЭтоКорректировкаЗадолженности Тогда
		СтруктураПараметров.Ссылка                           = "";
	Иначе
		СтруктураПараметров.Ссылка                           = "Объект.ДокументОснование";
	КонецЕсли;
	
	#КонецОбласти
	
	#Область НеобязательныеПараметры
	
	// Отличные от валюты и суммы документа реквизиты. Если не заполнен, то для чтения будет взята валюта документа.
	СтруктураПараметров.ВалютаВзаиморасчетов             = "Объект.ВалютаВзаиморасчетов";
	СтруктураПараметров.СуммаВзаиморасчетов              = "Объект.СуммаВзаиморасчетов";
	СтруктураПараметров.СуммаВзаиморасчетовПоТаре        = "";
	
	// Используется для генерации аналитики проведения и объекта расчетов, определения графика исполнения договора.
	Если ЭтоКорректировкаЗадолженности Тогда
		СтруктураПараметров.Договор                          = "";
	ИначеЕсли РеализацияЧерезКомиссионера Тогда
		СтруктураПараметров.Договор                          = "Объект.КлиентДоговор";
	Иначе
		СтруктураПараметров.Договор                          = "Объект.Договор";
	КонецЕсли;
	// Используется для получения реквизитов ГФУ, ПорядокРасчетов, ВалютаВзаиморасчетов, ОплатаВВалюте при учете продаж конечным покупателям.
	СтруктураПараметров.ДоговорКомиссионера              = ?(РеализацияЧерезКомиссионера, "Объект.Договор", "");
	// Используется для генерации аналитики проведения и объекта расчетов.
	СтруктураПараметров.НаправлениеДеятельности          = "Объект.НаправлениеДеятельности";
	
	// Порядок расчетов документа.
	Если ЭтоКорректировкаЗадолженности Тогда
		СтруктураПараметров.ПорядокРасчетов                  = "";
	Иначе
		СтруктураПараметров.ПорядокРасчетов                  = "Объект.ПорядокРасчетов";
	КонецЕсли;
	// Сумма всего с залоговой тарой. Путь к итоговому показателю формы (реквизиту).
	// Используется для отображения гиперссылок, редактирования и заполнения графика плановых оплат
	// редактирования расшифровки платежа и т.д.
	СтруктураПараметров.СуммаДокументаФорма              = "";
	
	// Реквизит формы итоговых показателей, содержащий сумму залога за тару в валюте документа.
	// Используется в заполнении этапов графика оплаты.
	СтруктураПараметров.СуммаЗалогаЗаТаруФорма            = ""; 

	// Табличная часть, по которой распределяется сумма взаиморасчетов и есть поле "заказ".
	// Используется для отображения гиперссылок, редактирования и заполнения графика плановых оплат
	// редактирования расшифровки платежа, если не заполнен параметр СуммаДокументаФорма.
	// В ТЧ заполняются объекты расчетов по заказам.
	Если ЭтоКорректировкаЗадолженности Тогда
		СтруктураПараметров.ПутьКДаннымТЧ                    = "Объект.КорректировкаЗадолженности";
		// Имя реквизита суммы с ндс табличной части.
		СтруктураПараметров.ИмяРеквизитаТЧСуммаСНДС          = "СуммаКорректировки";
	Иначе 
		СтруктураПараметров.ПутьКДаннымТЧ                    = "Объект.Расхождения";
		// Имя реквизита суммы с ндс табличной части.
		СтруктураПараметров.ИмяРеквизитаТЧСуммаСНДС          = "СуммаСНДС";
		// Имя реквизита тч, содержащего заказ.
		СтруктураПараметров.ИмяРеквизитаТЧЗаказ              = "ЗаказКлиента";
	КонецЕсли;
	
	// Путь к табличной части Расшифровка платежа.
	// Используется в функция зачета оплат, распределения взаиморасчетов, распределения оплаты.
	СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа  = "";
	
	// Используется для заполнения значений по умолчанию, заполнения графика плановых оплат и даты платежа.
	Если ЭтоКорректировкаЗадолженности Тогда
		СтруктураПараметров.Соглашение                       = "";
	Иначе
		СтруктураПараметров.Соглашение                       = "Объект.Соглашение";
	КонецЕсли;
	
	// Используются для определения значения ОплатаВВалюте и в форме редактирования правил оплаты.
	СтруктураПараметров.Касса                            = "";
	СтруктураПараметров.ФормаОплаты                      = "Объект.ФормаОплаты";
	СтруктураПараметров.ОплатаВВалюте                    = "";
	// Используется в форме правил оплаты и для подбора в расшифровку платежа объектов расчетов.
	СтруктураПараметров.ИдентификаторПлатежа             = "";
	
	// Реквизиты для объекта расчетов, используются в проведении.
	Если ЭтоКорректировкаЗадолженности Тогда
		// Объекты расчетов выбираются при заполнении документа, а не генерируются
		СтруктураПараметров.ГруппаФинансовогоУчета       = "";
		СтруктураПараметров.Подразделение                = "";
		СтруктураПараметров.Менеджер                     = "";
		СтруктураПараметров.НомерВходящегоДокумента      = "";
		СтруктураПараметров.ДатаВходящегоДокумента       = "";
		СтруктураПараметров.ОбъектРасчетов               = "";
		СтруктураПараметров.НакладнаяПоЗаказам           = "";
	Иначе
		СтруктураПараметров.ГруппаФинансовогоУчета       = "";
		СтруктураПараметров.Подразделение                = "Объект.Подразделение";
		СтруктураПараметров.Менеджер                     = "Объект.Менеджер";
		СтруктураПараметров.НомерВходящегоДокумента      = "";
		СтруктураПараметров.ДатаВходящегоДокумента       = "";
		СтруктураПараметров.ОбъектРасчетов               = "Объект.Расхождения.ОбъектРасчетов";
		// Используется для определения объекта расчетов.
		СтруктураПараметров.НакладнаяПоЗаказам            = "Объект.ПродажаПоЗаказам";
	КонецЕсли;
	
	// Используется при определении порядка расчетов по умолчанию и списка доступных порядков для выбора.
	// Используется для определения объекта расчетов.
	ЕстьДокументыБезОбъектовРасчетов = Ложь;
	
	Если ДанныеЗаполнения <> Неопределено
		И ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ДанныеЗаполнения, "ХозяйственнаяОперация")
		И ДанныеЗаполнения.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПереходПраваСобственности
		И ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ДанныеЗаполнения, "Расхождения") Тогда
		
		ДокументыОснования = ДанныеЗаполнения.Расхождения.Выгрузить(, "ЗаказКлиента").ВыгрузитьКолонку("ЗаказКлиента");
		
		ДокументыПоВидам = ПродажиСервер.ДокументыПоПризнакуНаличияОбъектовРасчетов(ДокументыОснования);
		ЕстьДокументыБезОбъектовРасчетов = ДокументыПоВидам.ДокументыБезОбъектовРасчетов.Количество() > 0;
		
	КонецЕсли;
	
	Если ЕстьДокументыБезОбъектовРасчетов Тогда
		
		СтруктураПараметров.ИмяРеквизитаТЧЗаказ = "";
		СтруктураПараметров.ЗаказОснование = "Объект.ДокументОснование";
		
	Иначе
		СтруктураПараметров.ЗаказОснование = "";
	КонецЕсли;
	
	// Имя кнопки, открывающей помощник зачета оплат для текущего набора параметров.
	СтруктураПараметров.ЭлементыФормы.ЗачетОплаты                      = "";
	
	// Имя элемента таблицы формы, отображающей сумму взаиморасчетов.
	// Используется для установки условного оформления.
	// Следует заполнить если документ поддерживает построчное ручное редактирование сумм взаиморасчетов.
	Если ЭтоКорректировкаЗадолженности Тогда
		СтруктураПараметров.ЭлементыФормы.СуммаВзаиморасчетовТЧ = "КорректировкаЗадолженностиСуммаВзаиморасчетов";
	Иначе
		СтруктураПараметров.ЭлементыФормы.СуммаВзаиморасчетовТЧ = "РасхожденияСуммаВзаиморасчетов";
	КонецЕсли;
	
	#КонецОбласти
	
	#Область РедактированиеВалютИВалютныхСуммДокумента
	
	// Курс и кратность документа - одна пара для документа.
	// Используются для расчета суммы взаиморасчетов и в форме редактирования валют и курсов документа.
	СтруктураПараметров.КурсЧислитель                          = "Объект.КурсЧислитель";
	СтруктураПараметров.КурсЗнаменатель                        = "Объект.КурсЗнаменатель";
	
	// Имя гиперссылки, отображающей текущий курс взаиморасчетов документа и открывающей соответствующую форму.
	СтруктураПараметров.ЭлементыФормы.НадписьВалюты                    = "ДекорацияВалюты";
	
	// Используются в условии через ИЛИ с правом отклонения от условий продаж/закупок.
	Если ЭтоКорректировкаЗадолженности Тогда
		СтруктураПараметров.ВалютаДокументаТолькоПросмотр                  = Ложь;
		СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр             = Ложь;
	ИначеЕсли ЭтоКорректировкаПервичногоДокумента Тогда
		СтруктураПараметров.ВалютаДокументаТолькоПросмотр                  = Ложь;
		СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр             = Истина;
	Иначе
		СтруктураПараметров.ВалютаДокументаТолькоПросмотр                  = Истина;
		СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр             = Истина;
	КонецЕсли;
	
	// Если не следует показывать сумму и валюту взаиморасчетов исходя из данных документа.
	СтруктураПараметров.НеПоказыватьРасчеты                            = Ложь;
	// Если не требуется предлагать пересчет суммы документа.
	СтруктураПараметров.НеПересчитыватьСуммуДокумента                  = Ложь;
	
	#КонецОбласти
	
	#Область ГрафикПлановойОплатыИДатаПлатежа
	
	// Функция Этапы оплаты и дата платежа
	СтруктураПараметров.ПутьКДаннымТЧЭтапыОплаты         = "";
	СтруктураПараметров.ДатаПлатежа                      = "Объект.ДатаПлатежа";
	СтруктураПараметров.НадписьЭтапыОплаты               = "Форма.НадписьЭтапыОплаты";
	СтруктураПараметров.ИсточникСуммТабличнаяЧасть       = Истина;
	Если ЭтоКорректировкаЗадолженности Тогда
		СтруктураПараметров.ГрафикОплаты                 = "";
	Иначе
		СтруктураПараметров.ГрафикОплаты                 = "Объект.ГрафикОплаты";
	КонецЕсли;
	
	// Имя гиперссылки, отображающей текущие правила оплаты документа и открывающей форму Правила оплаты.
	СтруктураПараметров.ЭлементыФормы.НадписьЭтапы             = "ДекорацияЭтапыОплаты";
	
	// Если требуется ограничить редактирование плавил оплаты.
	СтруктураПараметров.ЭтапыОплатыТолькоПросмотр                      = Ложь;
	// Если истина и накладная по заказам то будет отображена расширенная форма графика оплаты, несмотря на функциональную опцию "Упрощенная форма оплаты".
	СтруктураПараметров.ВозможнаНакладнаяПоНесколькимЗаказам           = Ложь;
	#КонецОбласти
	
	#Область СостояниеВзаиморасчетов
	
	// Имя гиперссылки, отображающей состояние расчетов и открывающей соответствующий отчет,
	СтруктураПараметров.ЭлементыФормы.НадписьРасчеты                   = "";
	
	#КонецОбласти
	
	#Область ОграниченияЗадолженностиПоДоговору
	
	// Гиперссылка отображающая состояние ограничения задолженности
	СтруктураПараметров.ЭлементыФормы.ОграничениеЗадолженностиТекст    = "";
	// Картинка отображающая запрет отгрузки
	СтруктураПараметров.ЭлементыФормы.ОграничениеЗадолженностиКартинка = ""; 
	
	#КонецОбласти
	
	Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
		СтруктураПараметров.ВернутьМногооборотнуюТару = "Объект.ДокументОснование.ВернутьМногооборотнуюТару";
		СтруктураПараметров.ТребуетсяЗалогЗаТару      = "Объект.ДокументОснование.ТребуетсяЗалогЗаТару";
	Иначе
		СтруктураПараметров.ВернутьМногооборотнуюТару = Ложь;
		СтруктураПараметров.ТребуетсяЗалогЗаТару      = Ложь;
	КонецЕсли;


	Возврат СтруктураПараметров;
КонецФункции

// Возвращает структуру параметров для заполнения налогообложения НДС продажи.
//
// Параметры:
//  Объект - ДокументОбъект.КорректировкаРеализации, 
//  		 ДокументСсылка.КорректировкаРеализации,
//  		 ДанныеФормыСтруктура - документ, по которому необходимо сформировать параметры.
//
// Возвращаемое значение:
//  См. УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСПродажи
//
Функция ПараметрыЗаполненияНалогообложенияНДСПродажи(Объект) Экспорт
	
	ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСПродажи();
	
	Если ТипЗнч(Объект) = Тип("ДокументОбъект.КорректировкаРеализации")
		Или ТипЗнч(Объект) = Тип("ДанныеФормыСтруктура") Тогда
		ДанныеОбъекта = Объект;
	ИначеЕсли ТипЗнч(Объект) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
		ДанныеОбъекта = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект, "Организация, Договор, Склад, Дата, НаправлениеДеятельности, Подразделение, ХозяйственнаяОперация");
	КонецЕсли;
	
	ПараметрыЗаполнения.Организация = ДанныеОбъекта.Организация;
	ПараметрыЗаполнения.Дата = ДанныеОбъекта.Дата;
	ПараметрыЗаполнения.Договор = ДанныеОбъекта.Договор;
	ПараметрыЗаполнения.НаправлениеДеятельности = ДанныеОбъекта.НаправлениеДеятельности;
	
		ПараметрыЗаполнения.Склад = ДанныеОбъекта.Склад;
		ПараметрыЗаполнения.Подразделение = ДанныеОбъекта.Подразделение;
		
		ПараметрыЗаполнения.РеализацияТоваров       = Истина;
		ПараметрыЗаполнения.РеализацияРаботУслуг    = Истина;
		ПараметрыЗаполнения.РеализацияПрочихАктивов = Истина;
	
	Возврат ПараметрыЗаполнения;
	
КонецФункции

// Возвращает структуру с наименованием табличных частей документа, хранящих информацию о товарах.
//
// Возвращаемое значение:
//	Структура - коллекция, содержащая следующие наименования табличных частей:
//		* Товары - ТаблицаЗначений, ТабличнаяЧасть, Неопределено - данные о товарах документа.
//		* Расхождения - ТаблицаЗначений, ТабличнаяЧасть, Неопределено - данные о расхождениях приобретения документа.
//	
Функция КоллекцияТабличныхЧастейТоваров() Экспорт
	
	ТаблицыДокумента = Новый Структура;
	ТаблицыДокумента.Вставить("Товары");
	ТаблицыДокумента.Вставить("Расхождения");
	
	Возврат ТаблицыДокумента;
	
КонецФункции

// Возвращает таблицу с данными до и после корректировки.
//
// Параметры:
//  Объект  - ДокументОбъект.КорректировкаРеализации,
//  		 ДокументСсылка.КорректировкаРеализации,
//  		 ДанныеФормыСтруктура - документ корректировки.
//  ИспользуетсяКоличествоУпаковок - Булево - расчет цены для количества или для количества упаковок
//
// Возвращаемое значение:
//  ТаблицаЗначений - данные табличной части, как они отображаются пользователю.
//
Функция ДанныеКорректировкиДоВводаОстатков(Объект, ИспользуетсяКоличествоУпаковок = Ложь) Экспорт

	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Т.Номенклатура КАК Номенклатура,
	|	Т.НоменклатураПартнера КАК НоменклатураПартнера,
	|	Т.Характеристика КАК Характеристика,
	|	Т.НоменклатураНабора КАК НоменклатураНабора,
	|	Т.ХарактеристикаНабора КАК ХарактеристикаНабора,
	|	Т.Содержание КАК Содержание,
	|	Т.Упаковка КАК Упаковка,
	|	Т.Серия КАК Серия,
	|	Т.СтатусУказанияСерий КАК СтатусУказанияСерий,
	|	Т.Склад КАК Склад,
	|	Т.Подразделение КАК Подразделение,
	|	Т.СтатьяДоходов КАК СтатьяДоходов,
	|	Т.АналитикаДоходов КАК АналитикаДоходов,
	|	Т.НомерГТД КАК НомерГТД,
	|	Т.Цена КАК Цена,
	|	Т.СтавкаНДС КАК СтавкаНДС,
	|	Т.КоличествоУпаковок КАК КоличествоУпаковок,
	|	Т.Количество КАК Количество,
	|	Т.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
	|	Т.Сумма КАК Сумма,
	|	Т.СуммаНДС КАК СуммаНДС,
	|	Т.СуммаСНДС КАК СуммаСНДС,
	|	Т.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
	|	Т.НомерСтроки КАК НомерСтроки,
	|	Т.КодТНВЭД КАК КодТНВЭД,
	|	Т.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
	|	Т.СуммаБезНДСУпр КАК СуммаБезНДСУпр
	|ПОМЕСТИТЬ ВТТовары
	|ИЗ
	|	&Товары КАК Т
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	Т.Номенклатура КАК Номенклатура,
	|	Т.НоменклатураПартнера КАК НоменклатураПартнера,
	|	Т.Характеристика КАК Характеристика,
	|	Т.НоменклатураНабора КАК НоменклатураНабора,
	|	Т.ХарактеристикаНабора КАК ХарактеристикаНабора,
	|	Т.Содержание КАК Содержание,
	|	Т.Упаковка КАК Упаковка,
	|	Т.Серия КАК Серия,
	|	Т.СтатусУказанияСерий КАК СтатусУказанияСерий,
	|	Т.Склад КАК Склад,
	|	Т.Подразделение КАК Подразделение,
	|	Т.СтатьяДоходов КАК СтатьяДоходов,
	|	Т.АналитикаДоходов КАК АналитикаДоходов,
	|	Т.НомерГТД КАК НомерГТД,
	|	Т.СтавкаНДС КАК СтавкаНДС,
	|	Т.КоличествоУпаковок КАК КоличествоУпаковок,
	|	Т.Количество КАК Количество,
	|	Т.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
	|	Т.Сумма КАК Сумма,
	|	Т.СуммаНДС КАК СуммаНДС,
	|	Т.СуммаСНДС КАК СуммаСНДС,
	|	Т.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
	|	Т.ВариантОтражения КАК ВариантОтражения,
	|	Т.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
	|	Т.Себестоимость КАК Себестоимость,
	|	Т.СебестоимостьБезНДС КАК СебестоимостьБезНДС,
	|	Т.СебестоимостьРегл КАК СебестоимостьРегл,
	|	Т.СебестоимостьПР КАК СебестоимостьПР,
	|	Т.СебестоимостьВР КАК СебестоимостьВР,
	|	Т.ВидЦеныСебестоимости КАК ВидЦеныСебестоимости,
	|	Т.ДатаЗаполненияСебестоимостиПоВидуЦены КАК ДатаЗаполненияСебестоимостиПоВидуЦены,
	|	Т.КодТНВЭД КАК КодТНВЭД,
	|	Т.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
	|	Т.СуммаБезНДСУпр КАК СуммаБезНДСУпр	
	|ПОМЕСТИТЬ ВТРасхождения
	|ИЗ
	|	&Расхождения КАК Т
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	Таблица.Номенклатура КАК Номенклатура,
	|	Таблица.Характеристика КАК Характеристика,
	|	Таблица.НоменклатураНабора КАК НоменклатураНабора,
	|	Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
	|	Таблица.Содержание КАК Содержание,
	|	ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
	|	Таблица.Упаковка КАК Упаковка,
	|	Таблица.Серия КАК Серия,
	|	Таблица.СтатусУказанияСерий КАК СтатусУказанияСерий,
	|	Таблица.Склад КАК Склад,
	|	Таблица.Подразделение КАК Подразделение,
	|	Таблица.НомерГТД КАК НомерГТД,
	|	Таблица.КодТНВЭД КАК КодТНВЭД,
	|	Таблица.НоменклатураПартнера КАК НоменклатураПартнера,
	|	Таблица.СтатьяДоходов КАК СтатьяДоходов,
	|	Таблица.АналитикаДоходов КАК АналитикаДоходов,
	|	МАКСИМУМ(Таблица.СтавкаНДС) КАК СтавкаНДС,
	|	МАКСИМУМ(Таблица.Цена) КАК Цена,
	|	СУММА(Таблица.КоличествоУпаковок) КАК КоличествоУпаковок,
	|	СУММА(Таблица.Количество) КАК Количество,
	|	СУММА(Таблица.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
	|	СУММА(Таблица.Сумма) КАК Сумма,
	|	СУММА(Таблица.СуммаНДС) КАК СуммаНДС,
	|	СУММА(Таблица.СуммаСНДС) КАК СуммаСНДС,
	|	СУММА(Таблица.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
	|	МАКСИМУМ(Таблица.СтавкаНДСПосле) КАК СтавкаНДСПосле,
	|	МАКСИМУМ(Таблица.ЦенаПосле) КАК ЦенаПосле,
	|	СУММА(Таблица.КоличествоУпаковокПосле) КАК КоличествоУпаковокПосле,
	|	СУММА(Таблица.КоличествоПосле) КАК КоличествоПосле,
	|	СУММА(Таблица.КоличествоПоРНПТПосле) КАК КоличествоПоРНПТПосле,
	|	СУММА(Таблица.СуммаПосле) КАК СуммаПосле,
	|	СУММА(Таблица.СуммаНДСПосле) КАК СуммаНДСПосле,
	|	СУММА(Таблица.СуммаСНДСПосле) КАК СуммаСНДСПосле,
	|	СУММА(Таблица.СуммаВзаиморасчетовПосле) КАК СуммаВзаиморасчетовПосле,
	|	ЕСТЬ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 КАК НомерСтроки,
	|			-Расхождения.СуммаБезНДСРегл,
	|			-Расхождения.СуммаБезНДСУпр,
	|			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,
	|		Товары.СуммаБезНДСРегл,
	|		Товары.СуммаБезНДСУпр
	|	ИЗ
	|		ВТТовары КАК Товары
	|			ЛЕВОЕ СОЕДИНЕНИЕ ВТРасхождения КАК РасхожденияПосле
	|			ПО (РасхожденияПосле.Номенклатура = Товары.Номенклатура)
	|				И (РасхожденияПосле.Номенклатура = Товары.Номенклатура)
	|				И (РасхожденияПосле.Характеристика = Товары.Характеристика)
	|				И (РасхожденияПосле.НоменклатураНабора = Товары.НоменклатураНабора)
	|				И (РасхожденияПосле.ХарактеристикаНабора = Товары.ХарактеристикаНабора)
	|				И (РасхожденияПосле.Содержание = Товары.Содержание)
	|				И (РасхожденияПосле.Упаковка = Товары.Упаковка)
	|				И (РасхожденияПосле.Серия = Товары.Серия)
	|				И (РасхожденияПосле.СтатусУказанияСерий = Товары.СтатусУказанияСерий)
	|				И (РасхожденияПосле.Склад = Товары.Склад)
	|				И (РасхожденияПосле.Подразделение = Товары.Подразделение)
	|				И (РасхожденияПосле.НомерГТД = Товары.НомерГТД)
	|				И (РасхожденияПосле.СтатьяДоходов = Товары.СтатьяДоходов)
	|				И (РасхожденияПосле.АналитикаДоходов = Товары.АналитикаДоходов)
	|				И (РасхожденияПосле.СтавкаНДС = Товары.СтавкаНДС)) КАК Таблица
	|
	|СГРУППИРОВАТЬ ПО
	|	Таблица.Номенклатура,
	|	Таблица.НоменклатураПартнера,
	|	Таблица.КодТНВЭД,
	|	Таблица.Характеристика,
	|	Таблица.НоменклатураНабора,
	|	Таблица.ХарактеристикаНабора,
	|	Таблица.Содержание,
	|	Таблица.Упаковка,
	|	Таблица.Серия,
	|	Таблица.СтатусУказанияСерий,
	|	Таблица.Склад,
	|	Таблица.Подразделение,
	|	Таблица.НомерГТД,
	|	Таблица.СтатьяДоходов,
	|	Таблица.АналитикаДоходов
	|
	|УПОРЯДОЧИТЬ ПО
	|	НомерСтроки";

	
	Запрос.УстановитьПараметр("Товары", Объект.Товары.Выгрузить());
	Запрос.УстановитьПараметр("Расхождения", Объект.Расхождения.Выгрузить());
	
	ТаблицаРезультата = Запрос.Выполнить().Выгрузить();
	
	// Так как цена в табличной части "Расхождения" не хранится, рассчитаем "Цену до" отдельно
	ИмяКоличества = ?(ИспользуетсяКоличествоУпаковок, "КоличествоУпаковок", "Количество");
	Для каждого ТекущаяСтрока Из ТаблицаРезультата Цикл
		Если ТекущаяСтрока[ИмяКоличества] = 0 Тогда
			ТекущаяСтрока.Цена = ТекущаяСтрока.Сумма;
		Иначе
			ТекущаяСтрока.Цена = Окр(ТекущаяСтрока.Сумма / ТекущаяСтрока[ИмяКоличества], 2);
		КонецЕсли;
		ТекущаяСтрока.НомерСтроки = ТаблицаРезультата.Индекс(ТекущаяСтрока)+1;
	КонецЦикла;
	
	Возврат ТаблицаРезультата;

КонецФункции

// Возвращает строку с реквизитами для связи строк ТЧ "Товары" и ТЧ "Расхождения"
//
// Параметры:
//  КорректировкаУслугПрочихАктивов - Булево - корректировка услуг и прочих активов
//
// Возвращаемое значение:
//  Строка - список реквизитов связи.
//
Функция КлючевыеРеквизитыСвязиСтрокТаблиц(КорректировкаУслугПрочихАктивов) Экспорт
	
	Если КорректировкаУслугПрочихАктивов Тогда
		КлючевыеРеквизиты = "Содержание,Подразделение,СтатьяДоходов,АналитикаДоходов";
	Иначе
		КлючевыеРеквизиты = "Содержание,НоменклатураНабора,ХарактеристикаНабора,Номенклатура,Характеристика,Серия,Упаковка,Склад,НомерГТД,СтатьяДоходов,АналитикаДоходов,Подразделение";
	КонецЕсли;
	
	Возврат КлючевыеРеквизиты;

КонецФункции

// Функция-конструктор параметров процедуры ИсправляемыйДокумент
// 
// Возвращаемое значение:
// 	Структура - Описание:
// * ИсправляемыйДокумент - ДокументСсылка.РеализацияТоваровУслуг
// * ДокументОснование - ДокументСсылка.РеализацияТоваровУслуг
// * Дата - Дата
// * ВидКорректировки - ПеречислениеСсылка.ХозяйственныеОперации
//
Функция ПараметрыПолученияИсправляемогоДокумента() Экспорт
	
	Параметры = Новый Структура;
	Параметры.Вставить("ИсправляемыйДокумент", Документы.РеализацияТоваровУслуг.ПустаяСсылка());
	Параметры.Вставить("ДокументОснование", Документы.РеализацияТоваровУслуг.ПустаяСсылка());
	Параметры.Вставить("Дата", Дата(1, 1, 1));
	Параметры.Вставить("ВидКорректировки", Перечисления.ХозяйственныеОперации.ПустаяСсылка());
	
	Возврат Параметры;	
	
КонецФункции

// Возвращает исправляемый документ корректировки приобретения.
//
// Параметры:
//	РеквизитыДокумента - См. ПараметрыПолученияИсправляемогоДокумента
//
// Возвращаемое значение:
//  ДокументСсылка - Исправляемый документ.
//
Функция ИсправляемыйДокумент(Знач РеквизитыДокумента) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);

	ИсправляемыйДокумент = Неопределено;
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ИсправляемыйДокумент", РеквизитыДокумента.ИсправляемыйДокумент);
	Запрос.УстановитьПараметр("ДокументОснование", РеквизитыДокумента.ДокументОснование);
	Запрос.УстановитьПараметр("Период", РеквизитыДокумента.Дата);
	Запрос.УстановитьПараметр("ВидКорректировки", РеквизитыДокумента.ВидКорректировки);
	
	Запрос.Текст = ТекстЗапросаВтИсправляемыйДокументКорректировки(Запрос);
	
	Запрос.Текст = Запрос.Текст + 
	"ВЫБРАТЬ
	|	ВТ_ИсправляемыйДокументКорректировки.ИсправляемыйДокумент
	|ИЗ
	|	ВТ_ИсправляемыйДокументКорректировки КАК ВТ_ИсправляемыйДокументКорректировки";
	
	Результат = Запрос.Выполнить();
	
	Если НЕ Результат.Пустой() Тогда
		Выборка = Результат.Выбрать();
		Выборка.Следующий();
		ИсправляемыйДокумент = Выборка.ИсправляемыйДокумент;	
	КонецЕсли;
	
	Возврат ИсправляемыйДокумент;
	
КонецФункции

#Область ПроверкаЗаполненияДокумента

// Выполняет проверку заполнения таблицы 'ТаблицаКорректировки' формы документа корректировки до ввода остатков.
//
// Параметры:
//	Форма - Структура - коллекция содержащая сведения о документе и включающая следующие поля:
//		* Объект - ДокументОбъект.КорректировкаПриобретения - объект документа.
//		* ПараметрыУказанияСерий - см. НоменклатураСервер.ПараметрыУказанияСерий.
//		* ТаблицаКорректировки - ТаблицаЗначений - таблица, содержащая сведения о корректируемых товарах, работах и услугах.
//	ПроверяемыеРеквизиты - Массив Из Строка - описание проверяемых полей объекта документа, перечисленных через запятую.
//	Отказ - Булево - признак отказа выполнения дальнейших действий с объектом документа, из-за найденных ошибках при
//						проверке заполнения.
//
Процедура ПроверитьЗаполнениеРеквизитов(Форма, ПроверяемыеРеквизиты, Отказ) Экспорт
	
	ТЗТаблицаКорректировки	= Форма.ТаблицаКорректировки;
	ИмяТЧ					= "ТаблицаКорректировки";
	ПредставлениеТЧ			= НСтр("ru = 'Данные корректировки'");
	
	Если ТЗТаблицаКорректировки.Количество() = 0 Тогда
		ТекстСообщения= НСтр("ru = 'Не введено ни одной строки в список ""%1""'");
		ТекстСообщения = СтрШаблон(ТекстСообщения, ПредставлениеТЧ);
		
		ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
												Неопределено,
												ИмяТЧ,
												"",
												Отказ);
	КонецЕсли;
	
	Объект = Форма.Объект;
	
	ТЗПриходуемыхТоваров = ТаблицаТоваровПоВариантуОтражения(ТЗТаблицаКорректировки, Ложь);
	
	ИспользоватьУчетНДС = ПолучитьФункциональнуюОпцию("ИспользоватьУчетНДС")
							И Объект.НалогообложениеНДС <> Перечисления.ТипыНалогообложенияНДС.ПустаяСсылка()
							И Объект.НалогообложениеНДС <> Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС;
	ЭтоПрослеживаемыйДокумент = УчетПрослеживаемыхТоваровЛокализация.ЭтоПрослеживаемыйДокумент(ТЗПриходуемыхТоваров,
																								Объект.Дата);
	ИспользоватьПодразделения = ПолучитьФункциональнуюОпцию("ИспользоватьПодразделения");
	ИспользоватьНесколькоСкладов = ПолучитьФункциональнуюОпцию("ИспользоватьНесколькоСкладов");
	ИспользоватьХарактеристикиНоменклатуры = ПолучитьФункциональнуюОпцию("ИспользоватьХарактеристикиНоменклатуры");
	ЗапретитьПоступлениеТоваровБезНомеровГТД = ПолучитьФункциональнуюОпцию("ЗапретитьПоступлениеТоваровБезНомеровГТД");
	ЭтоКорректировкаДоВводаОстатковТоваровИУслуг =
		Объект.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг;
	ИспользоватьУчетПрослеживаемыхИмпортныхТоваров = УчетПрослеживаемыхТоваровЛокализация.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров(
														Объект.Дата);
	
	ТекстыЗапроса = Новый Массив;
	ТекстыЗапроса.Добавить(ТекстЗапросаВТДокументаПродажи());
	ТекстыЗапроса.Добавить(ТекстЗапросаВТТаблицыТоваровДляЗапроса());
	ТекстыЗапроса.Добавить(ТекстЗапросаВТТаблицыНаборыПодготовка());
	ТекстыЗапроса.Добавить(ТекстЗапросаВТТаблицыНаборыДополнительно());
	ТекстыЗапроса.Добавить(ТекстЗапросаВТТаблицыНаборы());
	ТекстыЗапроса.Добавить(ТекстЗапросаВТТаблицыТовары());
	ТекстыЗапроса.Добавить(ТекстЗапросаВТДанныеДокументаОснования());
	ТекстыЗапроса.Добавить(ТекстЗапросаВТДанныеПредыдущейКорректировки());
	ТекстыЗапроса.Добавить(ТекстЗапросаВТПроверкиДанныхПоПоследнейКорректировке());
	
	ТекстыЗапросовПроверки = Новый Массив;
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСклада());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияНоменклатурыИСодержания());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияХарактеристик());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияНомеровГТД());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияКоличества());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСуммовыхПоказателей());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСтавокНДС());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиВариантовОтражения());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСкладаВТабличнойЧасти());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияПодразделенияВТабличнойЧасти());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиСпособовОпределенияСебестоимости());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиТипКорректировкиНеСоответствуетПредыдущей());
	
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиНалогообложениеНДССоответствуетОснованию());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиОрганизацияСоответствуетОснованию());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиПартнерСоответствуетОснованию());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиКонтрагентСоответствуетОснованию());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиДоговорСоответствуетОснованию());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиПорядокРасчетовСоответствуетОснованию());
	ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСуммыВзаиморасчетов());
	
	ТекстЗапросаПроверки = СтрСоединить(ТекстыЗапросовПроверки, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
	ТекстЗапросаПроверки = ТекстЗапросаПроверки + "
	|УПОРЯДОЧИТЬ ПО
	|	НомерСтроки";
	
	ТекстыЗапроса.Добавить(ТекстЗапросаПроверки);
	
	ТекстыЗапросовПроверкиПоИсходнойКорректировки = Новый Массив;
	ТекстыЗапросовПроверкиПоИсходнойКорректировки.Добавить(ТекстЗапросаПроверкиДанныхПоПоследнейКорректировке());

	ТекстЗапросовПроверкиПоИсходнойКорректировки = СтрСоединить(ТекстыЗапросовПроверкиПоИсходнойКорректировки, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
	
	ТекстЗапросовПроверкиПоИсходнойКорректировки = ТекстЗапросовПроверкиПоИсходнойКорректировки + "
	|УПОРЯДОЧИТЬ ПО
	|	НомерСтроки";

	ТекстыЗапроса.Добавить(ТекстЗапросовПроверкиПоИсходнойКорректировки);
	
	ТекстЗапроса = СтрСоединить(ТекстыЗапроса, ОбщегоНазначения.РазделительПакетаЗапросов());
	
	МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	
	СформироватьВременнуюТаблицуИсходныхДанных(МенеджерВременныхТаблиц, Объект.ДокументОснование, Объект.Ссылка);
	
	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	Запрос.Текст = ТекстЗапроса;
	
	Запрос.УстановитьПараметр("Ссылка",				Объект.Ссылка);
	Запрос.УстановитьПараметр("Дата",				?(ЗначениеЗаполнено(Объект.Ссылка), Объект.Дата, ТекущаяДатаСеанса()));
	Запрос.УстановитьПараметр("ДокументОснование",	Объект.ДокументОснование);
	Запрос.УстановитьПараметр("Организация",		Объект.Организация);
	Запрос.УстановитьПараметр("Партнер",			Объект.Партнер);
	Запрос.УстановитьПараметр("Контрагент",			Объект.Контрагент);
	Запрос.УстановитьПараметр("Договор",			Объект.Договор);
	Запрос.УстановитьПараметр("ПорядокРасчетов",	Объект.ПорядокРасчетов);
	Запрос.УстановитьПараметр("Склад",				Объект.Склад);
	Запрос.УстановитьПараметр("НалогообложениеНДС",	Объект.НалогообложениеНДС);
	Запрос.УстановитьПараметр("ТипКорректировки",	Объект.ТипКорректировки);
	Запрос.УстановитьПараметр("ЦенаВключаетНДС",	Объект.ЦенаВключаетНДС);
	Запрос.УстановитьПараметр("РазныеВалюты"	,	Объект.Валюта <> Объект.ВалютаВзаиморасчетов);
	Запрос.УстановитьПараметр("ТаблицаТоваров",		ТЗТаблицаКорректировки);
	Запрос.УстановитьПараметр("ИспользоватьУчетНДС",
								ИспользоватьУчетНДС);
	Запрос.УстановитьПараметр("ИспользоватьПодразделения",
								ИспользоватьПодразделения);
	Запрос.УстановитьПараметр("ИспользоватьНесколькоСкладов",
								ИспользоватьНесколькоСкладов);
	Запрос.УстановитьПараметр("ИспользоватьХарактеристикиНоменклатуры",
								ИспользоватьХарактеристикиНоменклатуры);
	Запрос.УстановитьПараметр("ЗапретитьПоступлениеТоваровБезНомеровГТД",
								ЗапретитьПоступлениеТоваровБезНомеровГТД);
	Запрос.УстановитьПараметр("ЭтоКорректировкаДоВводаОстатковТоваровИУслуг",
								ЭтоКорректировкаДоВводаОстатковТоваровИУслуг);
	Запрос.УстановитьПараметр("ИспользоватьУчетПрослеживаемыхИмпортныхТоваров",
								ИспользоватьУчетПрослеживаемыхИмпортныхТоваров);
	
	ПакетРезультатов = Запрос.ВыполнитьПакет();
	
	ВыборкаОшибокЗаролнения = ПакетРезультатов[ПакетРезультатов.Количество()-2].Выбрать();
	ВыборкаОшибокПоЦепочкеКорректировок = ПакетРезультатов[ПакетРезультатов.Количество()-1].Выбрать();
	
	СообщитьОшибкиЗаполнения(ВыборкаОшибокЗаролнения, Отказ);
	СообщитьОшибкиПоЦепочкеКорректировок(ВыборкаОшибокПоЦепочкеКорректировок, Отказ);
	
	ПроверитьКорректностьВыбораНоменклатурыПоНалогообложениюНДС(МенеджерВременныхТаблиц, Отказ);
	
	ПараметрыПроверки = НоменклатураСервер.ПараметрыПроверкиЗаполненияСерий();
	ПараметрыПроверки.ПредставлениеТЧ			= ПредставлениеТЧ;
	ПараметрыПроверки.ИмяРеквизитаСерия			= "Серия";
	ПараметрыПроверки.ПутьКДаннымТаблицыФормы	= "";
	
	НоменклатураСервер.ПроверитьЗаполнениеСерий(Форма,
												Форма.ПараметрыУказанияСерий,
												Отказ,
												Неопределено,
												ПараметрыПроверки);
	
	Если ЭтоПрослеживаемыйДокумент Тогда
		СписокСтрок = ОбщегоНазначения.ТаблицаЗначенийВМассив(ТЗПриходуемыхТоваров);
		
		УчетПрослеживаемыхТоваровЛокализация.ПроверитьКорректностьНастроекТоваровРНПТ(
			Форма, ТЗТаблицаКорректировки, Объект.Дата, СписокСтрок);
			
		УчетПрослеживаемыхТоваровЛокализация.ПроверитьДанныеПрослеживаемостиНомеровГТД(
			Форма, ТЗТаблицаКорректировки, Объект.Дата, "ТаблицаКорректировки");
			
	КонецЕсли;
	
	Если ИспользоватьУчетНДС Тогда
		ПроверитьУказаниеСуммыИСуммыНДС(Объект, МенеджерВременныхТаблиц, Отказ);
	КонецЕсли;
	
	ДополнительныеПроверяемыеРеквизиты = Новый Массив;
	
	Если Объект.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов Тогда
		ДополнительныеПроверяемыеРеквизиты.Добавить("ТаблицаКорректировки.СтатьяДоходов");
		ДополнительныеПроверяемыеРеквизиты.Добавить("ТаблицаКорректировки.АналитикаДоходов");
	КонецЕсли;
	
	ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ПроверяемыеРеквизиты, ДополнительныеПроверяемыеРеквизиты);
	
	РезультатПроверки = РезультатПроверкиПоРасхождениям(Объект, ТЗТаблицаКорректировки);
	
	ПараметрыДляВыбора = Новый Структура;
	ПараметрыДляВыбора.Вставить("ДатаДокумента",			Объект.Дата);
	ПараметрыДляВыбора.Вставить("ДокументОснование",		Объект.ДокументОснование);
	ПараметрыДляВыбора.Вставить("ХозяйственнаяОперация",	Объект.ВидКорректировки);
	ПараметрыДляВыбора.Вставить("ТипКорректировки",			Объект.ТипКорректировки);
	ПараметрыДляВыбора.Вставить("ОтразитьНаПрочихДоходах",	РезультатПроверки.СуммаНаПрочиеДоходы > 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(ВидыЗапасов.КодТНВЭД.СырьевойТовар,ЛОЖЬ) КАК СырьевойТовар,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика                 КАК Характеристика,
	|	ВидыЗапасов.ВидЗапасов                   КАК ВидЗапасов,
	|	ВидыЗапасов.КорВидЗапасов                КАК КорВидЗапасов,
	|	ВидыЗапасов.ВидЗапасов.ТипЗапасов        КАК ТипЗапасов,
	|	ВидыЗапасов.ВидЗапасов.Валюта            КАК Валюта,
	|	ВидыЗапасов.НомерГТД                     КАК НомерГТД,
	|	ВидыЗапасов.Количество                   КАК Количество,
	|	ВидыЗапасов.КоличествоПоРНПТ             КАК КоличествоПоРНПТ,
	|	ВидыЗапасов.СуммаСНДС                    КАК СуммаСНДС,
	|	ВидыЗапасов.СуммаНДС                     КАК СуммаНДС,
	|	ВидыЗапасов.СуммаНДСРегл КАК СуммаНДСРегл,
	|	ВидыЗапасов.СуммаНДСУпр КАК СуммаНДСУпр,
	|
	|	ЕСТЬ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(ВидыЗапасов.КодТНВЭД.СырьевойТовар,ЛОЖЬ)   КАК СырьевойТовар,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика                            КАК Характеристика,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия                                     КАК Серия,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение                                КАК Назначение,
	|	ВидыЗапасов.ВидЗапасов                              КАК ВидЗапасов,
	|	ВидыЗапасов.КорВидЗапасов                           КАК КорВидЗапасов,
	|	ТаблицаАналитикУчетаПартий.ВидЦенности				КАК ВидЦенности,
	|	ТаблицаАналитикУчетаПартий.НалогообложениеНДС		КАК ВидДеятельностиНДС,
	|	ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий 	КАК АналитикаУчетаПартий,
	|	ВидыЗапасов.ВидЗапасов.ТипЗапасов                   КАК ТипЗапасов,
	|	ВидыЗапасов.ВидЗапасов.Валюта                       КАК Валюта,
	|	ВидыЗапасов.НомерГТД                     			КАК НомерГТД,
	|	ВидыЗапасов.Количество                              КАК Количество,
	|	ВидыЗапасов.КоличествоПоРНПТ                        КАК КоличествоПоРНПТ,
	|	ВидыЗапасов.СуммаСНДС					 			КАК СуммаСНДС,
	|	ВидыЗапасов.СуммаНДС					 			КАК СуммаНДС,
	|	ВидыЗапасов.СуммаНДСРегл				 			КАК СуммаНДСРегл,
	|	ВидыЗапасов.СуммаНДСУпр					 			КАК СуммаНДСУпр,
	|
	|	-ЕСТЬ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)                                 КАК НДСРегл,
	|
	|	ТаблицаВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
	|	ВЫБОР КОГДА ТаблицаВидыЗапасов.СуммаСНДС <> 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
	|			ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации)
	|		ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
	|	КОНЕЦ КАК ХозяйственнаяОперация,
	|
	|	ТаблицаРасхождения.Номенклатура КАК ИсточникГФУНоменклатуры,
	|	ТаблицаРасхождения.ОбъектРасчетов КАК ИсточникГФУРасчетов,
	|	
	// Поля ИдентификаторФинЗаписи и НастройкаХозяйственнойОперации должны одинаково заполняться
	// в себестоимости товаров и в выручке и себестоимости продаж. Функция ТекстЗапросаТаблицаСебестоимостьТоваров().
	|	ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
	|	(ВЫБОР
	|		КОГДА ТаблицаРасхождения.СпособОпределенияСебестоимости В (
	|				ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
	|				ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
	|			ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаДоВводаОстатков)
	|		ИНАЧЕ &НастройкаХозяйственнойОперации КОНЕЦ) КАК НастройкаХозяйственнойОперации,
	|	ВЫБОР
	|		КОГДА &ПартионныйУчетВерсии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 КАК СуммаАвтоматическойСкидки,
	|	ТаблицаВидыЗапасов.Склад КАК Склад,
	|	ВЫБОР КОГДА &РеализацияЧерезКомиссионера
	|		ТОГДА &КлиентДоговор
	|		ИНАЧЕ &Договор
	|	КОНЕЦ КАК Договор,
	|	&Соглашение КАК Соглашение,
	|
	|	&ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
	|	ТаблицаВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
	|	ТаблицаВидыЗапасов.СуммаВзаиморасчетов - ТаблицаВидыЗапасов.СуммаНДСВзаиморасчетов КАК СуммаБезНДСВВалютеВзаиморасчетов,
	|
	|	&Валюта КАК ВалютаДокумента,
	|	ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
	|	ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
	|
	|	ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
	|	ВЫБОР
	|		КОГДА &РеализацияЧерезКомиссионера 
	|			ТОГДА &ХозОперацияОснования
	|		ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
	|	КОНЕЦ КАК ХозяйственнаяОперация,
	|
	|	ВЫБОР КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета ТОГДА
	|		ТаблицаВидыЗапасов.ВидЗапасов
	|	ИНАЧЕ
	|		ТаблицаВидыЗапасов.Номенклатура
	|	КОНЕЦ КАК ИсточникГФУНоменклатуры,
	|	ТаблицаВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов,
	|	
	|	ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
	|	&НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
	|	НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
	|	НЕОПРЕДЕЛЕНО КАК Партия
	|	
	|ИЗ
	|	ВтВидыЗапасовКорректировкаВыручки КАК ТаблицаВидыЗапасов
	|
	|ГДЕ
	|	(ТаблицаВидыЗапасов.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
	|	ИЛИ (ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) И НЕ &ВернутьМногооборотнуюТару)
	|	ИЛИ ТаблицаВидыЗапасов.ТипНоменклатуры ЕСТЬ 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
	|			ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации)
	|		ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
	|	КОНЕЦ КАК ХозяйственнаяОперация,
	|	ТаблицаДоходы.СтатьяДоходов КАК СтатьяДоходов,
	|	ТаблицаДоходы.АналитикаДоходов КАК АналитикаДоходов,
	|	ТаблицаДоходы.Количество КАК Количество,
	|	ТаблицаДоходы.СуммаБезНДСУпр КАК ВыручкаБезНДСУпр,
	|	ТаблицаДоходы.СуммаБезНДСРегл КАК ВыручкаБезНДСРегл,
	|	ТаблицаДоходы.СуммаСНДСУпр - ТаблицаДоходы.СуммаБезНДСУпр КАК НДСУпр,
	|	ТаблицаДоходы.НДСРегл КАК НДСРегл,
	|	ТаблицаДоходы.СтавкаНДС КАК СтавкаНДС,
	|	&НалогообложениеНДС КАК НалогообложениеНДС,
	|	&ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
	|	ТаблицаДоходы.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
	|	ТаблицаДоходы.ОбъектРасчетов КАК ОбъектРасчетов,
	|	ТаблицаДоходы.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
	|	ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту) КАК НастройкаХозяйственнойОперации
	|ИЗ
	|	ВтТаблицаРасхождения КАК ТаблицаДоходы
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК ДанныеДокумента
	|		ПО ДанныеДокумента.Ссылка = ТаблицаДоходы.Ссылка
	|ГДЕ
	|	ТаблицаДоходы.НаДоходы
	|	И &ЭтоКорректировкаРеализацииУслугПрочихАктивов
	|	И НАЧАЛОПЕРИОДА(ДанныеДокумента.Дата, ГОД) = НАЧАЛОПЕРИОДА(ДанныеДокумента.ДокументОснование.Дата, ГОД)
	|";
	
	ДоходыИРасходыСервер.ОтразитьПрочуюВыручку(Запрос, ТекстыЗапроса, Регистры, ТекстПрочаяВыручка);
	
КонецПроцедуры

Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ПрочиеРасходы";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы();
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ПартииПрочихРасходов";

	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
	КонецЕсли;

	Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
		ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
	КонецЕсли; 
	
	ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов();
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "МатериалыИРаботыВПроизводстве";

	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРасхожденияРаботыУслуги", ТекстыЗапроса) Тогда
		ТекстЗапросаВтРасхожденияРаботыУслуги(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	Работы.НомерСтроки,
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
	|	&Период КАК Период,
	|	&Период КАК ДатаРегистратора,
	|	&Организация КАК Организация,
	|	Работы.Подразделение КАК Подразделение,
	|	Работы.Номенклатура,
	|	Работы.Характеристика,
	|	Работы.АналитикаУчетаНоменклатуры,
	|	Работы.Количество,
	|	Работы.Назначение,
	|	ВЫБОР 
	|		КОГДА &НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНаЭкспорт)
	|		ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЭкспортСырьевыхТоваровУслуг)
	|			ИНАЧЕ &НалогообложениеНДС 
	|	КОНЕЦ КАК НалогообложениеНДС
	|ИЗ
	|	ВтРасхожденияРаботыУслуги КАК Работы
	|ГДЕ
	|	НЕ Работы.НаДоходыРасходы
	|	И Работы.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
	|	И Работы.Количество <> 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
	|		ИНАЧЕ 1
	|	КОНЕЦ * ТаблицаРасхождения.СуммаНДСРегл КАК СуммаРегл,
	|	ВЫБОР
	|		КОГДА ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ВернутьВПуть)
	|			ТОГДА -1
	|		ИНАЧЕ 1
	|	КОНЕЦ * ТаблицаРасхождения.СуммаНДСУпр КАК СуммаУпр,
	|	ВЫБОР
	|		КОГДА ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ВернутьВПуть)
	|			ТОГДА -1
	|		ИНАЧЕ 1
	|	КОНЕЦ * ТаблицаРасхождения.СуммаСНДС КАК СуммаСНДС,
	|	ВЫБОР
	|		КОГДА ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ВернутьВПуть)
	|			ТОГДА -1
	|		ИНАЧЕ 1
	|	КОНЕЦ * ТаблицаРасхождения.СуммаСНДС - ТаблицаРасхождения.СуммаНДС КАК СуммаБезНДС,
	|
	|	НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
	|	ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
	|	ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.НачислениеНДСпоОтгрузкеТоваровВПути) КАК НастройкаХозяйственнойОперации
	|ИЗ
	|	Документ.КорректировкаРеализации.Расхождения КАК ТаблицаРасхождения
	|ГДЕ
	|	ТаблицаРасхождения.Ссылка = &Ссылка
	|	И ТИПЗНАЧЕНИЯ(ТаблицаРасхождения.Ссылка.ДокументОснование) = ТИП(Документ.РеализацияТоваровУслуг)
	|	И ВЫРАЗИТЬ(ТаблицаРасхождения.Ссылка.ДокументОснование КАК
	|		Документ.РеализацияТоваровУслуг).ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности)
	|
	|УПОРЯДОЧИТЬ ПО
	|	НомерСтроки";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;

КонецФункции

Процедура ИнициализироватьВтВидыЗапасовДокументаОснования(Запрос, ТекстыЗапроса)
	
	Если Запрос.Параметры.Свойство("ВтВидыЗапасовДокументаОснования") Тогда
		Возврат;
	КонецЕсли;
	
	ЗапросВидыЗапасов = Новый Запрос;
	ЗапросВидыЗапасов.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
	
	ЗапросВидыЗапасов.УстановитьПараметр("Ссылка",				Запрос.Параметры.Ссылка);
	ЗапросВидыЗапасов.УстановитьПараметр("ДокументОснование",	Запрос.Параметры.ДокументОснование);
	ЗапросВидыЗапасов.УстановитьПараметр("ТипКорректировки",	Запрос.Параметры.ТипКорректировки);
	
	ЗапросВидыЗапасов.Текст =
	"ВЫБРАТЬ
	|	ВидыЗапасовОснований.Номенклатура			КАК Номенклатура,
	|	ВидыЗапасовОснований.Характеристика			КАК Характеристика,
	|	МАКСИМУМ(ВидыЗапасовОснований.ВидЗапасов)	КАК ВидЗапасов,
	|	МАКСИМУМ(ВидыЗапасовОснований.НомерГТД)		КАК НомерГТД
	|ПОМЕСТИТЬ ВтВидыЗапасовДокументаОснования
	|ИЗ
	|	(ВЫБРАТЬ
	|		Т.АналитикаУчетаНоменклатуры.Номенклатура	КАК Номенклатура,
	|		Т.АналитикаУчетаНоменклатуры.Характеристика	КАК Характеристика,
	|		Т.ВидЗапасов								КАК ВидЗапасов,
	|		Т.НомерГТД									КАК НомерГТД
	|	ИЗ
	|		Документ.РеализацияТоваровУслуг.ВидыЗапасов КАК Т
	|	ГДЕ
	|		Т.Ссылка = &ДокументОснование
	|		И &ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		Т.АналитикаУчетаНоменклатуры.Номенклатура	КАК Номенклатура,
	|		Т.АналитикаУчетаНоменклатуры.Характеристика	КАК Характеристика,
	|		Т.ВидЗапасов								КАК ВидЗапасов,
	|		Т.НомерГТД									КАК НомерГТД
	|	ИЗ
	|		Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК Т
	|	ГДЕ
	|		Т.Ссылка В (&Ссылка)
	|		И &ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		Т.АналитикаУчетаНоменклатуры.Номенклатура	КАК Номенклатура,
	|		Т.АналитикаУчетаНоменклатуры.Характеристика	КАК Характеристика,
	|		Т.ВидЗапасов								КАК ВидЗапасов,
	|		Т.НомерГТД									КАК НомерГТД
	|	ИЗ
	|		Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК Т
	|	ГДЕ
	|		Т.Ссылка В (&Ссылка)
	|		И &ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
	|	
	|	) КАК ВидыЗапасовОснований
	|
	|СГРУППИРОВАТЬ ПО
	|	ВидыЗапасовОснований.Номенклатура,
	|	ВидыЗапасовОснований.Характеристика
	|";
	
	ЗапросВидыЗапасов.Выполнить();
	
	Запрос.УстановитьПараметр("ВтВидыЗапасовДокументаОснования", Истина);
	
КонецПроцедуры

Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры, ДокументСсылка)
	
	Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
		Возврат;
	КонецЕсли;
	
	Если ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументСсылка, "ХозяйственнаяОперация") = Перечисления.ХозяйственныеОперации.ПереходПраваСобственности Тогда 
		Возврат;
	КонецЕсли;
	
	ИнициализироватьВтВидыЗапасовДокументаОснования(Запрос, ТекстыЗапроса);
	
	ТекстТовары =
	"ВЫБРАТЬ
	|	Товары.Ссылка.Дата КАК Период,
	|	Товары.Ссылка КАК Ссылка,
	|	Товары.Ссылка.ВидКорректировки КАК ХозяйственнаяОперация,
	|	Товары.Ссылка.Контрагент КАК Контрагент,
	|	Товары.Ссылка.Договор КАК Договор,
	|	Товары.Ссылка.Грузоотправитель КАК Грузоотправитель,
	|	Товары.Ссылка.Грузополучатель КАК Грузополучатель,
	|	Товары.Ссылка.Организация КАК Организация,
	|	Товары.Ссылка.Подразделение КАК Подразделение,
	|	Товары.Ссылка.КлиентКонтрагент КАК ПокупательКомиссионногоТовара,
	|	&РеализацияЧерезКомиссионера КАК РеализацияЧерезКомиссионера,
	|	Товары.Ссылка.ДокументОснование КАК ДокументРеализации,
	|	Товары.Ссылка КАК ДокументКорректировкиРеализации,
	|	ИСТИНА КАК ИсправлениеОшибок,
	|	ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
	|	ЛОЖЬ КАК РеализацияВРозницу,
	|	НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
	|	Товары.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
	|	Товары.Номенклатура КАК Номенклатура,
	|	Товары.Характеристика КАК Характеристика,
	|	Товары.Серия КАК Серия,
	|	Товары.НоменклатураПартнера КАК НоменклатураПартнера,	
	|	Товары.НоменклатураНабора КАК НоменклатураНабора,
	|	Товары.ХарактеристикаНабора КАК ХарактеристикаНабора,
	|	Товары.Содержание КАК Содержание,
	|	0 КАК Количество,
	|	ВЫБОР
	|		КОГДА &ВыводитьБазовыеЕдиницыИзмерения
	|			ТОГДА Товары.Номенклатура.ЕдиницаИзмерения
	|		ИНАЧЕ &ТекстЗапросаЕдиницаИзмеренияТовары
	|	КОНЕЦ КАК ЕдиницаИзмерения,
	|	0 КАК КоличествоПоРНПТ,
	|	ВидыЗапасов.НомерГТД КАК НомерГТД,
	|	Товары.СтавкаНДС КАК СтавкаНДС,
	|	ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка) КАК КодТНВЭД,
	|	ВЫБОР
	|		КОГДА ИСТИНА
	|			ТОГДА ВидыЗапасов.ВидЗапасов
	|	КОНЕЦ КАК ВидЗапасов,
	|	0 КАК НомерСтроки,
	|	"""" КАК ИдентификаторСтроки,
	|	Расхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
	|	&НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
	|ИЗ
	|	Документ.КорректировкаРеализации.Товары КАК Товары
	|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Расхождения КАК Расхождения
	|		ПО (Расхождения.Ссылка В (&Ссылка))
	|			И (Расхождения.НомерСтроки = 1)
	|		
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗапасовДокументаОснования КАК ВидыЗапасов
	|		ПО (ВидыЗапасов.Номенклатура = Товары.Номенклатура)
	|			И (ВидыЗапасов.Характеристика = Товары.Характеристика)
	|ГДЕ
	|	Товары.Ссылка В(&Ссылка)
	|	И Расхождения.Ссылка ЕСТЬ NULL
	|	И (НЕ Товары.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)))
	|	И Товары.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
	|	И Товары.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	Расхождения.Ссылка.Дата КАК Период,
	|	Расхождения.Ссылка КАК Ссылка,
	|	Расхождения.Ссылка.ВидКорректировки КАК ХозяйственнаяОперация,
	|	Расхождения.Ссылка.Контрагент КАК Контрагент,
	|	Расхождения.Ссылка.Договор КАК Договор,
	|	Расхождения.Ссылка.Грузоотправитель КАК Грузоотправитель,
	|	Расхождения.Ссылка.Грузополучатель КАК Грузополучатель,
	|	Расхождения.Ссылка.Организация КАК Организация,
	|	Расхождения.Ссылка.Подразделение КАК Подразделение,
	|	Расхождения.Ссылка.КлиентКонтрагент КАК ПокупательКомиссионногоТовара,
	|	&РеализацияЧерезКомиссионера КАК РеализацияЧерезКомиссионера,
	|	ВЫБОР
	|		КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
	|			ТОГДА Расхождения.Ссылка
	|		ИНАЧЕ Расхождения.Ссылка.ДокументОснование
	|	КОНЕЦ КАК ДокументРеализации,
	|	ВЫБОР
	|		КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
	|			ТОГДА НЕОПРЕДЕЛЕНО
	|		ИНАЧЕ Расхождения.Ссылка
	|	КОНЕЦ КАК ДокументКорректировкиРеализации,
	|	ВЫБОР
	|		КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК ИсправлениеОшибок,
	|	ВЫБОР
	|		КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК КорректировкаПоСогласованиюСторон,
	|	ЛОЖЬ КАК РеализацияВРозницу,
	|	ВЫБОР
	|		КОГДА &ЭтоКорректировкаРеализацииУслугПрочихАктивов
	|			ТОГДА ВЫБОР
	|				КОГДА НАЧАЛОПЕРИОДА(&Период, ГОД) = НАЧАЛОПЕРИОДА(&ПериодОтгрузки, ГОД)
	|					ТОГДА Расхождения.ОбъектРасчетов
	|				ИНАЧЕ НЕОПРЕДЕЛЕНО
	|			КОНЕЦ
	|		КОГДА Расхождения.ВариантОтражения В 
	|			(ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ОтразитьНаПрочихДоходах),
	|			 ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.СписатьНаРасходы))
	|			ТОГДА НЕОПРЕДЕЛЕНО
	|		ИНАЧЕ Расхождения.ОбъектРасчетов
	|	КОНЕЦ КАК ОбъектРасчетов,
	|	Расхождения.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
	|	Расхождения.Номенклатура КАК Номенклатура,
	|	Расхождения.Характеристика КАК Характеристика,
	|	Расхождения.Серия КАК Серия,
	|	Расхождения.НоменклатураПартнера КАК НоменклатураПартнера,	
	|	Расхождения.НоменклатураНабора КАК НоменклатураНабора,
	|	Расхождения.ХарактеристикаНабора КАК ХарактеристикаНабора,
	|	Расхождения.Содержание КАК Содержание,
	|	ВЫБОР
	|		КОГДА &ВыводитьБазовыеЕдиницыИзмерения ИЛИ Расхождения.КоличествоУпаковок = 0
	|			ТОГДА Расхождения.Количество
	|		ИНАЧЕ Расхождения.КоличествоУпаковок
	|	КОНЕЦ КАК Количество,
	|	ВЫБОР
	|		КОГДА Расхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
	|			ТОГДА Расхождения.Упаковка
	|		КОГДА &ВыводитьБазовыеЕдиницыИзмерения
	|			ТОГДА Расхождения.Номенклатура.ЕдиницаИзмерения
	|		ИНАЧЕ &ТекстЗапросаЕдиницаИзмеренияРасхождения
	|	КОНЕЦ КАК ЕдиницаИзмерения,
	|	0 КАК КоличествоПоРНПТ,
	|	ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
	|	Расхождения.СтавкаНДС КАК СтавкаНДС,
	|	ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка) КАК КодТНВЭД,
	|	ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) КАК ВидЗапасов,
	|	ВЫБОР
	|		КОГДА Расхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
	|			ТОГДА Расхождения.НомерСтроки
	|		ИНАЧЕ 0
	|	КОНЕЦ КАК НомерСтроки,
	|	Расхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
	|	Расхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
	|	(ВЫБОР
	|		КОГДА Расхождения.СпособОпределенияСебестоимости В (
	|				ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную),
	|				ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
	|			ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаДоВводаОстатков)
	|		ИНАЧЕ &НастройкаХозяйственнойОперации КОНЕЦ) КАК НастройкаХозяйственнойОперации
	|ИЗ
	|	Документ.КорректировкаРеализации.Расхождения КАК Расхождения
	|ГДЕ
	|	Расхождения.Ссылка В (&Ссылка)
	|	И (Расхождения.Номенклатура.ТипНоменклатуры В (
	|			ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
	|			ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
	|		ИЛИ Расхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка))
	|	И НЕ (ЕСТЬNULL(Расхождения.Номенклатура.ТипНоменклатуры, ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПустаяСсылка)) = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
	|			И ЕСТЬNULL(Расхождения.Номенклатура.ПрослеживаемыйТовар, ЛОЖЬ)
	|			И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров)
	|	И (Расхождения.Ссылка.ВидКорректировки В (
	|			ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок),
	|			ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон),
	|			ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратНедопоставленногоТовара))
	|		ИЛИ (Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
	|			И НЕ Расхождения.СтавкаНДС.ПеречислениеСтавкаНДС = &СтавкаНДСНаЭкспорт))
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ВидыЗапасов.Ссылка.Дата КАК Период,
	|	ВидыЗапасов.Ссылка КАК Ссылка,
	|	ВидыЗапасов.Ссылка.ВидКорректировки КАК ХозяйственнаяОперация,
	|	ВидыЗапасов.Ссылка.Контрагент КАК Контрагент,
	|	ВидыЗапасов.Ссылка.Договор КАК Договор,
	|	ВидыЗапасов.Ссылка.Грузоотправитель КАК Грузоотправитель,
	|	ВидыЗапасов.Ссылка.Грузополучатель КАК Грузополучатель,
	|	ВидыЗапасов.Ссылка.Организация КАК Организация,
	|	ВидыЗапасов.Ссылка.Подразделение КАК Подразделение,
	|	ВидыЗапасов.Ссылка.КлиентКонтрагент КАК ПокупательКомиссионногоТовара,
	|	&РеализацияЧерезКомиссионера КАК РеализацияЧерезКомиссионера,
	|	ВЫБОР
	|		КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
	|			ТОГДА ВидыЗапасов.Ссылка
	|		ИНАЧЕ ВидыЗапасов.Ссылка.ДокументОснование
	|	КОНЕЦ КАК ДокументРеализации,
	|	ВЫБОР
	|		КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПерепоставленногоТовара)
	|			ТОГДА НЕОПРЕДЕЛЕНО
	|		ИНАЧЕ ВидыЗапасов.Ссылка
	|	КОНЕЦ КАК ДокументКорректировкиРеализации,
	|	ВЫБОР
	|		КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК ИсправлениеОшибок,
	|	ВЫБОР
	|		КОГДА ВидыЗапасов.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК КорректировкаПоСогласованиюСторон,
	|	ЛОЖЬ КАК РеализацияВРозницу,
	|	ВидыЗапасов.ОбъектРасчетов КАК ОбъектРасчетов,
	|	ВидыЗапасов.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК Серия,
	|	ВидыЗапасов.НоменклатураПартнера КАК НоменклатураПартнера,	
	|	ВидыЗапасов.АналитикаУчетаНаборов.НоменклатураНабора КАК НоменклатураНабора,
	|	ВидыЗапасов.АналитикаУчетаНаборов.ХарактеристикаНабора КАК ХарактеристикаНабора,
	|	"""" КАК Содержание,
	|	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)
	|			ТОГДА ТаблицаРасхождения.Серия
	|		ИНАЧЕ
	|			ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
	|	КОНЕЦ КАК Серия,
	|	ТаблицаПоказателей.Ссылка КАК Показатель,
	|	-ТаблицаРасхождения.Количество КАК Количество,
	|	-ТаблицаРасхождения.СуммаВзаиморасчетов КАК Сумма,
	|	-ТаблицаРасхождения.СуммаНДСРегл КАК СуммаНДСРегл,
	|	-ТаблицаРасхождения.СуммаНДСУпр КАК СуммаНДСУпр
	|ИЗ
	|	Документ.КорректировкаРеализации.Расхождения КАК ТаблицаРасхождения
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат КАК ТаблицаПоказателей
	|		ПО ТаблицаПоказателей.Ссылка В (ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.ЗаявленоНаВозврат),
	|			ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КОформлениюПоВозвратам),
	|			ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.ОформленоПоВозвратам),
	|			ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КПриемке))
	|ГДЕ
	|	ТаблицаРасхождения.Ссылка = &Ссылка
	|	И ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокРеализаций.ВернутьВПуть)
	|	И ТИПЗНАЧЕНИЯ(ТаблицаРасхождения.Ссылка.ДокументОснование) = ТИП(Документ.РеализацияТоваровУслуг)
	|	И ТаблицаРасхождения.Ссылка.ХозяйственнаяОперация В
	|	(ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереходПраваСобственности),
	|		ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту))
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
	|	ТаблицаРасхождения.Ссылка.Дата КАК Период,
	|	ТаблицаРасхождения.Ссылка КАК Распоряжение,
	|	ТаблицаРасхождения.Номенклатура КАК Номенклатура,
	|	ТаблицаРасхождения.Характеристика КАК Характеристика,
	|	ТаблицаРасхождения.КодСтроки КАК КодСтроки,
	|	ВЫБОР
	|		КОГДА ТаблицаПоказателей.Ссылка В (ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Заказано),
	|			ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КОтгрузке),
	|			ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Отгружено))
	|			ТОГДА ТаблицаРасхождения.Склад
	|		ИНАЧЕ
	|			ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
	|	КОНЕЦ КАК Склад,
	|	ВЫБОР
	|		КОГДА ТаблицаПоказателей.Ссылка В (
	|				ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Заказано),
	|				ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.КОтгрузке),
	|				ЗНАЧЕНИЕ(Перечисление.ПоказателиРаспоряженийНаОтгрузкуИВозврат.Отгружено)
	|				)
	|			И ТаблицаРасхождения.СтатусУказанияСерий В (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, УсловиеВидимостиПечатныхФормПоТоварам);
		КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПереходПраваСобственности);
		
	КонецЕсли;
	
	Если НЕ ПраваПользователяПовтИсп.ЭтоПартнер() И Константы.ИспользоватьМеждународныеПечатныеФормы.Получить() Тогда
		// Invoice
		КомандаПечати = КомандыПечати.Добавить();
		КомандаПечати.Идентификатор = "InvoiceInt";
		КомандаПечати.МенеджерПечати = "Обработка.ПечатьСчетовНаОплату";
		КомандаПечати.Представление = НСтр("ru = 'Commercial invoice'");
		КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
		КомандаПечати.Порядок = 2;
		КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимостиПечатныхФормПоТоварам);
		
		// DebitNote
		УсловиеВидимости = Новый Структура;
		УсловиеВидимости.Вставить("Реквизит", Метаданные.Документы.КорректировкаРеализации.Реквизиты.ВидКорректировки.Имя);
		УсловиеВидимости.Вставить("ВидСравнения", ВидСравнения.ВСписке);
		МассивОпераций = Новый СписокЗначений();
		МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно);
		МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон);
		УсловиеВидимости.Вставить("Значение", МассивОпераций);
		
		КомандаПечати = КомандыПечати.Добавить();
		КомандаПечати.Идентификатор = "DebitNote";
		КомандаПечати.МенеджерПечати = "Обработка.ПечатьСчетовНаОплату";
		КомандаПечати.Представление = НСтр("ru = 'Debit Note'");
		КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
		КомандаПечати.Порядок = 3;
		КомандаПечати.УсловияВидимости.Добавить(УсловиеВидимости);
		
		// CreditNote
		УсловиеВидимости = Новый Структура;
		УсловиеВидимости.Вставить("Реквизит", Метаданные.Документы.КорректировкаРеализации.Реквизиты.ВидКорректировки.Имя);
		УсловиеВидимости.Вставить("ВидСравнения", ВидСравнения.ВСписке);
		МассивОпераций = Новый СписокЗначений();
		МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУменьшениеЗадолженностиСводно);
		МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон);
		МассивОпераций.Добавить(Перечисления.ХозяйственныеОперации.ВозвратНедопоставленногоТовара);
		УсловиеВидимости.Вставить("Значение", МассивОпераций);
		
		КомандаПечати = КомандыПечати.Добавить();
		КомандаПечати.Идентификатор = "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 КАК КоличествоПоРНПТ,
	|	
	|	ЕСТЬNULL(
	|		СуммыРегл.СуммаБезНДСРегл,
	|		ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.СтавкаНДС,
	|	
	|	ЕСТЬNULL(
	|		СуммыРегл.СуммаНДСРегл,
	|		ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.ЗаказКлиента,
	|
	|	ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
	|	ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
	|	ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
	|	ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
	|
	|ИЗ
	|	Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ВидыЗапасов
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
	|		ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
	|			И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И СуммыРегл.Активность
	|			И &ПересчитыватьВВалютуРегл
	|ГДЕ
	|	ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной,
	|	ИСТИНА,
	|	ВидыЗапасов.НомерСтроки,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры,
	|	ВидыЗапасов.АналитикаУчетаНаборов,
	|	ВидыЗапасов.Упаковка,
	|	ВидыЗапасов.ВидЗапасов,
	|	ВидыЗапасов.НомерГТД,
	|	ВидыЗапасов.КодТНВЭД,
	|	0,
	|	0,
	|	0 КАК КоличествоПоРНПТ,
	|	
	|	ЕСТЬNULL(
	|		СуммыРегл.СуммаБезНДСРегл,
	|		ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.СтавкаНДС,
	|	
	|	ЕСТЬNULL(
	|		СуммыРегл.СуммаНДСРегл,
	|		ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.ЗаказКлиента,
	|
	|	ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
	|	ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
	|	ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
	|	ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
	|
	|ИЗ
	|	Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ВидыЗапасов
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
	|		ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
	|			И ВидыЗапасов.Ссылка <> СвязанныеДокументы.Основной
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
	|			И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И СуммыРегл.Активность
	|			И &ПересчитыватьВВалютуРегл
	|ГДЕ
	|	&ВключаяДоКорректировки
	|	И ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной,
	|	ЛОЖЬ,
	|	ВидыЗапасов.НомерСтроки,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры,
	|	ВидыЗапасов.АналитикаУчетаНаборов,
	|	ВидыЗапасов.Упаковка,
	|	ВидыЗапасов.ВидЗапасов,
	|	ВидыЗапасов.НомерГТД,
	|	ВидыЗапасов.КодТНВЭД,
	|	-ВидыЗапасов.КоличествоУпаковок,
	|	-ВидыЗапасов.Количество,
	|	-ВидыЗапасов.КоличествоПоРНПТ,
	|	
	|	-ЕСТЬNULL(
	|		-СуммыРегл.СуммаБезНДСРегл,
	|		ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.СтавкаНДС,
	|	
	|	-ЕСТЬNULL(
	|		-СуммыРегл.СуммаНДСРегл,
	|		ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.ЗаказКлиента,
	|
	|	ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
	|	ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
	|	ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
	|	ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
	|
	|ИЗ
	|	Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК ВидыЗапасов
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
	|		ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
	|			И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И СуммыРегл.Активность
	|			И &ПересчитыватьВВалютуРегл
	|ГДЕ
	|	ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной,
	|	ИСТИНА,
	|	ВидыЗапасов.НомерСтроки,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры,
	|	ВидыЗапасов.АналитикаУчетаНаборов,
	|	ВидыЗапасов.Упаковка,
	|	ВидыЗапасов.ВидЗапасов,
	|	ВидыЗапасов.НомерГТД,
	|	ВидыЗапасов.КодТНВЭД,
	|	-ВидыЗапасов.КоличествоУпаковок,
	|	-ВидыЗапасов.Количество,
	|	-ВидыЗапасов.КоличествоПоРНПТ,
	|	
	|	-ЕСТЬNULL(
	|		-СуммыРегл.СуммаБезНДСРегл,
	|		ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.СтавкаНДС,
	|	
	|	-ЕСТЬNULL(
	|		-СуммыРегл.СуммаНДСРегл,
	|		ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.ЗаказКлиента,
	|
	|	ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
	|	ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
	|	ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
	|	ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
	|
	|ИЗ
	|	Документ.КорректировкаРеализации.ВидыЗапасовОприходование КАК ВидыЗапасов
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
	|		ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
	|			И ВидыЗапасов.Ссылка <> СвязанныеДокументы.Основной
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
	|			И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И СуммыРегл.Активность
	|			И &ПересчитыватьВВалютуРегл
	|ГДЕ
	|	&ВключаяДоКорректировки
	|	И ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной,
	|	ЛОЖЬ,
	|	ВидыЗапасов.НомерСтроки,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры,
	|	ВидыЗапасов.АналитикаУчетаНаборов,
	|	ВидыЗапасов.Упаковка,
	|	ВидыЗапасов.ВидЗапасов,
	|	ВидыЗапасов.НомерГТД,
	|	ВидыЗапасов.КодТНВЭД,
	|	ВидыЗапасов.КоличествоУпаковок,
	|	ВидыЗапасов.Количество,
	|	ВидыЗапасов.КоличествоПоРНПТ,
	|	
	|	ЕСТЬNULL(
	|		СуммыРегл.СуммаБезНДСРегл,
	|		ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.СтавкаНДС,
	|	
	|	ЕСТЬNULL(
	|		СуммыРегл.СуммаНДСРегл,
	|		ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.ЗаказКлиента,
	|
	|	ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
	|	ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
	|	ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
	|	ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
	|
	|ИЗ
	|	Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ВидыЗапасов
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
	|		ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
	|			И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И СуммыРегл.Активность
	|			И &ПересчитыватьВВалютуРегл
	|ГДЕ
	|	ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной,
	|	ИСТИНА,
	|	ВидыЗапасов.НомерСтроки,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры,
	|	ВидыЗапасов.АналитикаУчетаНаборов,
	|	ВидыЗапасов.Упаковка,
	|	ВидыЗапасов.ВидЗапасов,
	|	ВидыЗапасов.НомерГТД,
	|	ВидыЗапасов.КодТНВЭД,
	|	ВидыЗапасов.КоличествоУпаковок,
	|	ВидыЗапасов.Количество,
	|	ВидыЗапасов.КоличествоПоРНПТ,
	|	
	|	ЕСТЬNULL(
	|		СуммыРегл.СуммаБезНДСРегл,
	|		ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.СтавкаНДС,
	|	
	|	ЕСТЬNULL(
	|		СуммыРегл.СуммаНДСРегл,
	|		ВидыЗапасов.СуммаНДС
	|	),
	|	
	|	ВидыЗапасов.ЗаказКлиента,
	|
	|	ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
	|	ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
	|	ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
	|	ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
	|
	|ИЗ
	|	Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ВидыЗапасов
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
	|		ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
	|			И ВидыЗапасов.Ссылка <> СвязанныеДокументы.Основной
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
	|			И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И СуммыРегл.Активность
	|			И &ПересчитыватьВВалютуРегл
	|ГДЕ
	|	&ВключаяДоКорректировки
	|	И ВидыЗапасов.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.ОбычнаяКорректировка)
	|
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	// По Первичному документу, без расхождений.
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной,
	|	ЛОЖЬ,
	|	Товары.НомерСтроки,
	|	Аналитика.КлючАналитики,
	|	ЕСТЬNULL(АналитикаНаборов.КлючАналитики, ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНаборов.ПустаяСсылка)),
	|	Товары.Упаковка,
	// Исходного документа откуда можно извлечь ВидЗапасов не существует.
	|	НЕОПРЕДЕЛЕНО,
	|	Товары.НомерГТД,
	|	Товары.КодТНВЭД,
	|	Товары.КоличествоУпаковок,
	|	Товары.Количество,
	|	Товары.КоличествоПоРНПТ,
	|	ЕСТЬNULL(СуммыРегл.СуммаБезНДСРегл, Товары.Сумма),
	|	Товары.СтавкаНДС,
	|	ЕСТЬNULL(СуммыРегл.СуммаНДСРегл, Товары.СуммаНДС),
	|	Товары.ЗаказКлиента,
	|
	|	Товары.СтатьяРасходов КАК СтатьяРасходов,
	|	Товары.АналитикаРасходов КАК АналитикаРасходов,
	|	Товары.СписатьНаРасходы КАК СписатьНаРасходы,
	|	Товары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
	|
	|ИЗ
	|	Документ.КорректировкаРеализации.Товары КАК Товары
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
	|		ПО Товары.Ссылка = СвязанныеДокументы.Основной
	|	ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Расхождения КАК Расхождения
	|		ПО Товары.Ссылка = Расхождения.Ссылка
	|		И Товары.Номенклатура = Расхождения.АналитикаУчетаНоменклатуры.Номенклатура
	|		И Товары.Характеристика = Расхождения.АналитикаУчетаНоменклатуры.Характеристика
	|		И Товары.Серия = Расхождения.АналитикаУчетаНоменклатуры.Серия
	|		И Товары.Назначение = Расхождения.АналитикаУчетаНоменклатуры.Назначение
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
	|		ПО Аналитика.Номенклатура = Товары.Номенклатура
	|		И Аналитика.Характеристика = Товары.Характеристика
	|		И Аналитика.Серия = Товары.Серия
	|		И Аналитика.МестоХранения = Товары.Ссылка.Склад
	|		И Аналитика.Назначение = Товары.Назначение
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНаборов КАК АналитикаНаборов
	|		ПО АналитикаНаборов.НоменклатураНабора = Товары.НоменклатураНабора
	|		И АналитикаНаборов.ХарактеристикаНабора = Товары.ХарактеристикаНабора
	|	ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО Товары.Ссылка = СуммыРегл.Ссылка
	|			И Товары.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И &ПересчитыватьВВалютуРегл
	|
	|ГДЕ
	|	Товары.Ссылка.ТипКорректировки В (
	|		ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
	|		ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
	|	)
	|	И Расхождения.АналитикаУчетаНоменклатуры ЕСТЬ NULL
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной,
	|	ИСТИНА,
	|	Товары.НомерСтроки,
	|	Аналитика.КлючАналитики,
	|	ЕСТЬNULL(АналитикаНаборов.КлючАналитики, ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНаборов.ПустаяСсылка)),
	|	Товары.Упаковка,
	// Исходного документа откуда можно извлечь ВидЗапасов не существует.
	|	НЕОПРЕДЕЛЕНО,
	|	Товары.НомерГТД,
	|	Товары.КодТНВЭД,
	|	Товары.КоличествоУпаковок,
	|	Товары.Количество,
	|	Товары.КоличествоПоРНПТ,
	|	ЕСТЬNULL(СуммыРегл.СуммаБезНДСРегл, Товары.Сумма),
	|	Товары.СтавкаНДС,
	|	ЕСТЬNULL(СуммыРегл.СуммаНДСРегл, Товары.СуммаНДС),
	|	Товары.ЗаказКлиента,
	|
	|	Товары.СтатьяРасходов КАК СтатьяРасходов,
	|	Товары.АналитикаРасходов КАК АналитикаРасходов,
	|	Товары.СписатьНаРасходы КАК СписатьНаРасходы,
	|	Товары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
	|
	|ИЗ
	|	Документ.КорректировкаРеализации.Товары КАК Товары
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
	|		ПО Товары.Ссылка = СвязанныеДокументы.Основной
	|	ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Расхождения КАК Расхождения
	|		ПО Товары.Ссылка = Расхождения.Ссылка
	|		И Товары.Номенклатура = Расхождения.АналитикаУчетаНоменклатуры.Номенклатура
	|		И Товары.Характеристика = Расхождения.АналитикаУчетаНоменклатуры.Характеристика
	|		И Товары.Серия = Расхождения.АналитикаУчетаНоменклатуры.Серия
	|		И Товары.Назначение = Расхождения.АналитикаУчетаНоменклатуры.Назначение
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
	|		ПО Аналитика.Номенклатура = Товары.Номенклатура
	|		И Аналитика.Характеристика = Товары.Характеристика
	|		И Аналитика.Серия = Товары.Серия
	|		И Аналитика.МестоХранения = Товары.Ссылка.Склад
	|		И Аналитика.Назначение = Товары.Назначение
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНаборов КАК АналитикаНаборов
	|		ПО АналитикаНаборов.НоменклатураНабора = Товары.НоменклатураНабора
	|		И АналитикаНаборов.ХарактеристикаНабора = Товары.ХарактеристикаНабора
	|	ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО Товары.Ссылка = СуммыРегл.Ссылка
	|			И Товары.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И &ПересчитыватьВВалютуРегл
	|ГДЕ
	|	&ВключаяДоКорректировки
	|	И Товары.Ссылка.ТипКорректировки В (
	|		ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
	|		ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
	|	)
	|	И Расхождения.АналитикаУчетаНоменклатуры ЕСТЬ NULL
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	// По Первичному документу, только суммовые расхождения. Состояние "после" изменений.
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной,
	|	ЛОЖЬ,
	|	Товары.НомерСтроки,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры,
	|	ВидыЗапасов.АналитикаУчетаНаборов,
	|	Товары.Упаковка,
	|	ВидыЗапасов.ВидЗапасов,
	|	ВидыЗапасов.НомерГТД,
	|	ВидыЗапасов.КодТНВЭД,
	|	Товары.КоличествоУпаковок,
	|	Товары.Количество,
	|	Товары.КоличествоПоРНПТ,
	|	ЕСТЬNULL(СуммыРегл.СуммаБезНДСРегл, Товары.Сумма),
	|	Товары.СтавкаНДС,
	|	ЕСТЬNULL(СуммыРегл.СуммаНДСРегл, Товары.СуммаНДС),
	|	Товары.ЗаказКлиента,
	|
	|	ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
	|	ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
	|	ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
	|	ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
	|ИЗ
	|	Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ВидыЗапасов
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
	|		ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Основной
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Товары КАК Товары
	|		ПО ВидыЗапасов.Ссылка = Товары.Ссылка
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = Товары.Номенклатура
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = Товары.Характеристика
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = Товары.Серия
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = Товары.Ссылка.Склад
	|		И ВидыЗапасов.НомерГТД = Товары.НомерГТД
	|	ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО Товары.Ссылка = СуммыРегл.Ссылка
	|			И Товары.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И &ПересчитыватьВВалютуРегл
	|ГДЕ
	|	Товары.Ссылка.ТипКорректировки В (
	|		ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
	|		ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
	|	)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	// По Первичному документу, только суммовые расхождения. Состояние "до" изменений.
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной,
	|	ИСТИНА,
	|	Товары.НомерСтроки,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры,
	|	ВидыЗапасов.АналитикаУчетаНаборов,
	|	Товары.Упаковка,
	|	ВидыЗапасов.ВидЗапасов,
	|	Товары.НомерГТД,
	|	Товары.КодТНВЭД,
	|	Товары.КоличествоУпаковок,
	|	Товары.Количество,
	|	Товары.КоличествоПоРНПТ,
	|	ЕСТЬNULL(СуммыРеглТовары.СуммаБезНДСРегл - СуммыРегл.СуммаБезНДСРегл,
	|		Товары.Сумма - (ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС)),
	|	ВидыЗапасов.СтавкаНДС,
	|	ЕСТЬNULL(СуммыРеглТовары.СуммаНДСРегл - СуммыРегл.СуммаНДСРегл,
	|		Товары.СуммаНДС - ВидыЗапасов.СуммаНДС),
	|	ВидыЗапасов.ЗаказКлиента,
	|
	|	ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
	|	ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
	|	ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
	|	ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
	|ИЗ
	|	Документ.КорректировкаРеализации.ВидыЗапасовКорректировкаВыручки КАК ВидыЗапасов
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
	|		ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Основной
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Товары КАК Товары
	|		ПО ВидыЗапасов.Ссылка = Товары.Ссылка
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = Товары.Номенклатура
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = Товары.Характеристика
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = Товары.Серия
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = Товары.Ссылка.Склад
	|		И ВидыЗапасов.НомерГТД = Товары.НомерГТД
	|	ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммыДокументовВВалютахУчета КАК СуммыРеглТовары
	|		ПО Товары.Ссылка = СуммыРеглТовары.Ссылка
	|			И Товары.ИдентификаторСтроки = СуммыРеглТовары.ИдентификаторСтроки
	|			И &ПересчитыватьВВалютуРегл
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
	|			И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И СуммыРегл.Активность
	|			И &ПересчитыватьВВалютуРегл
	|ГДЕ
	|	&ВключаяДоКорректировки
	|	И Товары.Ссылка.ТипКорректировки В (
	|		ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
	|		ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
	|	)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	// Корректировка (по первичному документу), уменьшение продажи, возвращает состояние "после корректировки".
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной,
	|	ЛОЖЬ,
	|	ВидыЗапасов.НомерСтроки,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры,
	|	ВидыЗапасов.АналитикаУчетаНаборов,
	|	ВидыЗапасов.Упаковка,
	|	ВидыЗапасов.ВидЗапасов,
	|	ВидыЗапасов.НомерГТД,
	|	ВидыЗапасов.КодТНВЭД,
	// Уменьшение продаж возможно до нуля.
	|	ЕСТЬNULL(Товары.КоличествоУпаковок, 0),
	|	ЕСТЬNULL(Товары.Количество, 0),
	|	ЕСТЬNULL(Товары.КоличествоПоРНПТ, 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(Товары.СуммаНДСРегл - СуммыРегл.СуммаНДСРегл,
	|		Товары.СуммаНДС - ВидыЗапасов.СуммаНДС),
	|	ВидыЗапасов.ЗаказКлиента,
	|
	|	ВидыЗапасов.СтатьяРасходов КАК СтатьяРасходов,
	|	ВидыЗапасов.АналитикаРасходов КАК АналитикаРасходов,
	|	ВидыЗапасов.СписатьНаРасходы КАК СписатьНаРасходы,
	|	ВидыЗапасов.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов
	|
	|ИЗ
	|	Документ.КорректировкаРеализации.ВидыЗапасовСписание КАК ВидыЗапасов
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам КАК СвязанныеДокументы
	|		ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Основной
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеКорректировкиПосле КАК Товары
	|		ПО ВидыЗапасов.Ссылка = Товары.Ссылка
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = Товары.Номенклатура
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = Товары.Характеристика
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = Товары.Серия
	|		И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = Товары.Ссылка.Склад
	|		И ВидыЗапасов.НомерГТД = Товары.НомерГТД
	|		И ВидыЗапасов.НаДоходыРасходы = Товары.НаДоходыРасходы
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
	|			И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И СуммыРегл.Активность
	|			И &ПересчитыватьВВалютуРегл
	|ГДЕ
	|	&ВключаяДоКорректировки
	|	И ВидыЗапасов.Ссылка.ТипКорректировки В (
	|		ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг),
	|		ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
	|	)
	|
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной КАК Ссылка,
	|	ЛОЖЬ КАК ДоКорректировки,
	|	ВидыЗапасов.НомерСтроки КАК НомерСтроки,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
	|	ВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
	|	ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)  КАК Упаковка,
	|	ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
	|	ВидыЗапасов.НомерГТД КАК НомерГТД,
	|	ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка)        КАК КодТНВЭД,
	|	ВидыЗапасов.Количество КАК КоличествоУпаковок,
	|	ВидыЗапасов.Количество КАК Количество,
	|	ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
	|	
	|	ЕСТЬNULL(
	|		СуммыРегл.СуммаБезНДСРегл,
	|		ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС
	|	) КАК СуммаБезНДС,
	|	
	|	ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
	|	
	|	ЕСТЬNULL(
	|		СуммыРегл.СуммаНДСРегл,
	|		ВидыЗапасов.СуммаНДС
	|	) КАК СуммаНДС,
	|	
	|	ВидыЗапасов.ЗаказКлиента КАК ЗаказКлиента,
	|
	|	НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
	|	НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
	|	ЛОЖЬ 		 КАК СписатьНаРасходы,
	|	НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов
	|
	|ИЗ
	|	Документ.АктВыполненныхРабот.ВидыЗапасов КАК ВидыЗапасов
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСвязанныеДокументы КАК СвязанныеДокументы
	|		ПО ВидыЗапасов.Ссылка = СвязанныеДокументы.Подчиненный
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыРегл
	|		ПО ВидыЗапасов.Ссылка = СуммыРегл.Регистратор
	|			И ВидыЗапасов.ИдентификаторСтроки = СуммыРегл.ИдентификаторСтроки
	|			И СуммыРегл.Активность
	|			И &ПересчитыватьВВалютуРегл
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	СвязанныеДокументы.Основной КАК Ссылка,
	|	ИСТИНА КАК ДоКорректировки,
	|	ВидыЗапасов.НомерСтроки КАК НомерСтроки,
	|	ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
	|	ВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
	|	ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)  КАК Упаковка,
	|	ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
	|	ВидыЗапасов.НомерГТД КАК НомерГТД,
	|	ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка)        КАК КодТНВЭД,
	|	ВидыЗапасов.Количество КАК КоличествоУпаковок,
	|	ВидыЗапасов.Количество КАК Количество,
	|	ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
	|	
	|	ЕСТЬ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_РеестрНомеровГТД");
	
	МассивРезультатов = Запрос.ВыполнитьПакет();
	// МассивРезультатов[0] - ВТТовары
	// МассивРезультатов[1] - ВТРасхождения
	// МассивРезультатов[2] - ВтДанныеПоКорректировкеДоВводаОстатков
	// МассивРезультатов[3] - УничтожитьВТТовары
	// МассивРезультатов[4] - УничтожитьВТРасхождения
	// МассивРезультатов[5] - ВтСвязанныеДокументы
	// МассивРезультатов[6] - ВтСвязанныеДокументыКорректировкаПоПервичнымДокументам
	// МассивРезультатов[7] - ВтДанныеКорректировкиПосле
	// МассивРезультатов[8] - ВсеВидыЗапасов
	// МассивРезультатов[9] - ВтВидыЗапасов
	// МассивРезультатов[10] - УничтожитьВсеВидыЗапасов
	// МассивРезультатов[11] - УничтожитьВтДанныеПоКорректировкеДоВводаОстатков
	// МассивРезультатов[12] - ВтТаблицаДокументов.
	РезультатДанныеПечати 		= МассивРезультатов[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]);
	
	Возврат СтруктураДанныхДляПечати;
	
КонецФункции

#КонецОбласти

#Область ШаблоныСообщений

// Вызывается при подготовке шаблонов сообщений и позволяет переопределить список реквизитов и вложений.
//
// Параметры:
//  Реквизиты               - ДеревоЗначений - список реквизитов шаблона:
//         * Имя            - Строка - Уникальное имя общего реквизита.
//         * Представление  - Строка - Представление общего реквизита.
//         * Тип            - Тип    - Тип реквизита. По умолчанию строка.
//         * Формат         - Строка - Формат вывода значения для чисел, дат, строк и булевых значений.
//  Вложения                - ТаблицаЗначений - печатные формы и вложения:
//         * Имя            - Строка - Уникальное имя вложения.
//         * Представление  - Строка - Представление варианта.
//         * ТипФайла       - Строка - Тип вложения, который соответствует расширению файла: "pdf", "png", "jpg", mxl"
//                                      и др.
//  ДополнительныеПараметры - Структура - дополнительные сведения о шаблоне сообщений.
//
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, ДополнительныеПараметры) Экспорт
	
КонецПроцедуры

// Вызывается в момент создания сообщений по шаблону для заполнения значений реквизитов и вложений.
//
// Параметры:
//  Сообщение - Структура - структура с ключами:
//    * ЗначенияРеквизитов - Соответствие из КлючИЗначение- список используемых в шаблоне реквизитов:
//      * Ключ     - Строка - имя реквизита в шаблоне;
//      * Значение - Строка - значение заполнения в шаблоне.
//    * ЗначенияОбщихРеквизитов - Соответствие из КлючИЗначение - список используемых в шаблоне общих реквизитов:
//      * Ключ     - Строка - имя реквизита в шаблоне;
//      * Значение - Строка - значение заполнения в шаблоне.
//    * Вложения - Соответствие из КлючИЗначение - значения реквизитов
//      * Ключ     - Строка - имя вложения в шаблоне;
//      * Значение - ДвоичныеДанные, Строка - двоичные данные или адрес во временном хранилище вложения.
//  ПредметСообщения - ЛюбаяСсылка - ссылка на объект являющийся источником данных.
//  ДополнительныеПараметры - Структура -  Дополнительная информация о шаблоне сообщения.
//
Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт
	
КонецПроцедуры

// Заполняет список получателей SMS при отправке сообщения сформированного по шаблону.
//
// Параметры:
//   ПолучателиSMS - ТаблицаЗначений - список получается SMS:
//     * НомерТелефона - Строка - номер телефона, куда будет отправлено сообщение SMS.
//     * Представление - Строка - представление получателя сообщения SMS.
//     * Контакт       - СправочникСсылка - контакт, которому принадлежит номер телефона.
//  ПредметСообщения - ЛюбаяСсылка - ссылка на объект являющийся источником данных.
//
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(Получатели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 Тогда
					ТекстЗапросаДокумент = СтрЗаменить(ТекстЗапросаДокумент, "ВЫБРАТЬ", "ВЫБРАТЬ РАЗРЕШЕННЫЕ"); //@Query-part-1 @Query-part-2
				КонецЕсли;
				ТекстыЗапросов.Добавить(ТекстЗапросаДокумент);
			КонецЕсли;
			
			Если ТекстыЗапросов.Количество() = 0 Тогда
				Возврат СтруктураОснование; // Возврат значения по умолчанию
			КонецЕсли;
			
			ТекстЗапроса = СтрСоединить(ТекстыЗапросов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
			
			Запрос = Новый Запрос(ТекстЗапроса);
			
			Если ТипЗнч(Объект) = Тип("Структура") Тогда
				МассивЗаказов = Объект.Товары.ВыгрузитьКолонку("ЗаказКлиента");
			Иначе
				МассивЗаказов = Объект.Товары.Выгрузить(,"ЗаказКлиента").ВыгрузитьКолонку("ЗаказКлиента");
			КонецЕсли;
			
			Запрос.УстановитьПараметр("МассивЗаказов", МассивЗаказов);
			Запрос.УстановитьПараметр("СинонимЗаказа", НСтр("ru = 'Заказ клиента'"));
			Запрос.УстановитьПараметр("СинонимЗаявки", НСтр("ru = 'Заявка на замену'"));
			Выборка = Запрос.Выполнить().Выбрать();
			
			СтруктураОснование.Основание = "";
			ОдноОснование = Выборка.Количество() = 1;
			Пока Выборка.Следующий() Цикл
				СтруктураОснование.Основание = СтруктураОснование.Основание + ", " + ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(Выборка, Выборка.Синоним);
				ДатаПоЗаказам  = Выборка.Дата;
				НомерПоЗаказам = Выборка.Номер;
			КонецЦикла;
			СтруктураОснование.Основание = СокрЛП(Сред(СтруктураОснование.Основание, 3));
			СтруктураОснование.ОснованиеДата = ?(ОдноОснование, ДатаПоЗаказам, "");
			СтруктураОснование.ОснованиеНомер = ?(ОдноОснование,ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(НомерПоЗаказам),"");
		КонецЕсли;
		
	КонецЕсли;
	
	Возврат СтруктураОснование; // Возврат значения по умолчанию
	
КонецФункции

// Возвращает таблицу сумм взаиморасчетов с разбивкой на тару/ не тару и с разбивкой по заказам.
// 
// Параметры:
//  СсылкаОбъект - ДокументСсылка.КорректировкаРеализации - Документ, по которому нужно получить данные.
//  ЗначенияРеквизитов - Структура
// 
// Возвращаемое значение:
//  ТаблицаЗначений - ТаблицаЗначений:
// 		* Заказ - ДокументСсылка - Заказ
// 		* Дата - Дата - Дата документа
// 		* ДатаСогласования - Дата - Дата согласования (для заказов)
// 		* ДатаОтгрузки - Дата - Дата плановой отгрузки
// 		* СуммаВзаиморасчетов - Число - Сумма взаиморасчетов по строке
// 		* СуммаВзаиморасчетовПоТаре - Число - Сумма взаиморасчетов по таре по строке
Функция СуммыПоЗаказам(СсылкаОбъект, ЗначенияРеквизитов = Неопределено) Экспорт
	
	Запрос = Новый Запрос;
	
	Запрос.Текст = "
	|ВЫБРАТЬ
	|	Товары.СуммаСНДС           КАК Сумма,
	|	Товары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
	|	ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
	|	&ВернутьМногооборотнуюТару КАК ВернутьМногооборотнуюТару,
	|	&ТребуетсяЗалогЗаТару      КАК ТребуетсяЗалогЗаТару
	|ПОМЕСТИТЬ ВТТовары
	|ИЗ &ТаблицаЗначений КАК Товары
	|ГДЕ &УсловиеСсылка
	|;
	|ВЫБРАТЬ 
	|	Неопределено                                     КАК Заказ,
	|	ДАТАВРЕМЯ(1,1,1)                                 КАК ДатаЗаказа,
	|	ДАТАВРЕМЯ(1,1,1)                                 КАК ДатаСогласования,
	|	ЛОЖЬ                                             КАК СверхЗаказа,
	|	СУММА(ВложенныйЗапрос.СуммаПлатежа)              КАК СуммаПлатежа,
	|	СУММА(ВложенныйЗапрос.СуммаВзаиморасчетов)       КАК СуммаВзаиморасчетов,
	|	СУММА(ВложенныйЗапрос.СуммаЗалогаЗаТару)         КАК СуммаЗалогаЗаТару,
	|	СУММА(ВложенныйЗапрос.СуммаВзаиморасчетовПоТаре) КАК СуммаВзаиморасчетовПоТаре
	|ИЗ (ВЫБРАТЬ
	|		ВЫБОР
	|			КОГДА Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
	|					ИЛИ НЕ Товары.ВернутьМногооборотнуюТару
	|				ТОГДА Товары.Сумма
	|			ИНАЧЕ 0 
	|		КОНЕЦ                             КАК СуммаПлатежа,
	|		ВЫБОР
	|			КОГДА Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
	|					ИЛИ НЕ Товары.ВернутьМногооборотнуюТару
	|				ТОГДА Товары.СуммаВзаиморасчетов
	|			ИНАЧЕ 0 
	|		КОНЕЦ                             КАК СуммаВзаиморасчетов,
	|		ВЫБОР 
	|			КОГДА Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
	|				И Товары.ТребуетсяЗалогЗаТару
	|				ТОГДА Товары.Сумма
	|			ИНАЧЕ 0 
	|		КОНЕЦ                            КАК СуммаЗалогаЗаТару,
	|		ВЫБОР 
	|			КОГДА Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
	|				И Товары.ТребуетсяЗалогЗаТару
	|				ТОГДА Товары.СуммаВзаиморасчетов
	|			ИНАЧЕ 0 
	|		КОНЕЦ                            КАК СуммаВзаиморасчетовПоТаре
	|	ИЗ ВТТовары КАК Товары) КАК ВложенныйЗапрос
	|;";
	
	Если ЗначенияРеквизитов = Неопределено Тогда
		
		ВидКорректировки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаОбъект, "ВидКорректировки");
		Запрос.УстановитьПараметр("Ссылка", СсылкаОбъект);
		
		Если ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУвеличениеЗадолженностиСводно
			ИЛИ ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаРеализацииУменьшениеЗадолженностиСводно Тогда
				
			Запрос.Текст = "
			|ВЫБРАТЬ 
			|	Неопределено                                     КАК Заказ,
			|	ДАТАВРЕМЯ(1,1,1)                                 КАК ДатаЗаказа,
			|	ДАТАВРЕМЯ(1,1,1)                                 КАК ДатаСогласования,
			|	ЛОЖЬ                                             КАК СверхЗаказа,
			|	СУММА(КорректировкаЗадолженности.СуммаСНДС)           КАК СуммаПлатежа,
			|	СУММА(КорректировкаЗадолженности.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
			|	0                                                     КАК СуммаЗалогаЗаТару,
			|	0                                                     КАК СуммаВзаиморасчетовПоТаре
			|ИЗ 
			|	Документ.КорректировкаРеализации.КорректировкаЗадолженности КАК КорректировкаЗадолженности
			|ГДЕ
			|	КорректировкаЗадолженности.Ссылка = &Ссылка";
			
		Иначе
			
			УсловиеВернутьМногооборотнуюТару = "ВЫБОР
			|		КОГДА Товары.Ссылка.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
			|			ТОГДА ЕСТЬNULL(Товары.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару, ЛОЖЬ)
			|		ИНАЧЕ ЛОЖЬ
			|	КОНЕЦ";
			
			УсловиеТребуетсяЗалогЗаТару = "ВЫБОР
			|		КОГДА Товары.Ссылка.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
			|			ТОГДА ЕСТЬNULL(Товары.Ссылка.ДокументОснование.ТребуетсяЗалогЗаТару, ЛОЖЬ)
			|		ИНАЧЕ ЛОЖЬ
			|	КОНЕЦ";
			
			Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТаблицаЗначений", "Документ.КорректировкаРеализации.Расхождения");
			Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТаблицаКорректировкаЗадолженности", "Документ.КорректировкаРеализации.КорректировкаЗадолженности");
			Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ВернутьМногооборотнуюТару", УсловиеВернутьМногооборотнуюТару);
			Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТребуетсяЗалогЗаТару", УсловиеТребуетсяЗалогЗаТару);
			Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеСсылка", "Товары.Ссылка = &Ссылка");
		КонецЕсли;
		
	Иначе
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеСсылка", "ИСТИНА");
		
		Для Каждого КлючЗначение Из ЗначенияРеквизитов Цикл
			Запрос.УстановитьПараметр(КлючЗначение.Ключ, КлючЗначение.Значение);
		КонецЦикла;
		
		Если ЗначенияРеквизитов.ТаблицаЗначений.Количество() = 0
			Или НЕ ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ЗначенияРеквизитов.ТаблицаЗначений[0],"Номенклатура") Тогда
			Запрос.Текст = "
			|ВЫБРАТЬ
			|	Товары.СуммаСНДС           КАК Сумма,
			|	Товары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов
			|ПОМЕСТИТЬ ВТТовары
			|ИЗ &ТаблицаЗначений КАК Товары
			|;
			|ВЫБРАТЬ 
			|	Неопределено                                     КАК Заказ,
			|	ДАТАВРЕМЯ(1,1,1)                                 КАК ДатаЗаказа,
			|	ДАТАВРЕМЯ(1,1,1)                                 КАК ДатаСогласования,
			|	ЛОЖЬ                                             КАК СверхЗаказа,
			|	СУММА(ВТТовары.Сумма)                            КАК СуммаПлатежа,
			|	СУММА(ВТТовары.СуммаВзаиморасчетов)              КАК СуммаВзаиморасчетов,
			|	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.23.24";
	Обработчик.РежимВыполнения = "Отложенно";
	Обработчик.Порядок = Перечисления.ПорядокОбработчиковОбновления.Обычный;
	Обработчик.Идентификатор = Новый УникальныйИдентификатор("d307c19a-eb0b-4bc4-830d-3e2270e401b6");
	Обработчик.Многопоточный = Истина;
	Обработчик.ПроцедураЗаполненияДанныхОбновления = "Документы.КорректировкаРеализации.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
	Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
	СписокОписаний = Новый Массив;
	СписокОписаний.Добавить(НСтр("ru = 'Обновление документов ""Корректировка реализации"":'"));
	СписокОписаний.Добавить(НСтр("ru = '- заполнение реквизитов ""Статус указания серий на складах"" и ""Статус указания серий, переданных товаров"" в табличной части ""Расхождения"".';"));
	СписокОписаний.Добавить(НСтр("ru = '- заполнение реквизита ""Кор. аналитика учета номенклатуры"" в табличных частях ""Расхождения"" и ""Виды запасов оприходование"" для документов с основанием ""Реализация товаров и услуг"" с операцией ""Реализация"".';"));
	
	Обработчик.Комментарий = СтрСоединить(СписокОписаний, Символы.ПС);
	
	Изменяемые = Новый Массив;
	Изменяемые.Добавить(Метаданные.Документы.КорректировкаРеализации.ПолноеИмя());
	Обработчик.ИзменяемыеОбъекты = СтрСоединить(Изменяемые, ",");
	
	Блокируемые = Новый Массив;
	Блокируемые.Добавить(Метаданные.Документы.КорректировкаРеализации.ПолноеИмя());
	Обработчик.БлокируемыеОбъекты = СтрСоединить(Блокируемые, ",");
	
	#КонецОбласти
	
КонецПроцедуры

// Регистрирует документы к обработке для изменения.
//
// Параметры:
//	Параметры - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке.
//
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт

	ПараметрыВыборки = Параметры.ПараметрыВыборки;
	ПараметрыВыборки.ПолныеИменаОбъектов = ПустаяСсылка().Метаданные().ПолноеИмя();
	ПараметрыВыборки.ПоляУпорядочиванияПриРаботеПользователей.Добавить("Дата УБЫВ");
	ПараметрыВыборки.ПоляУпорядочиванияПриОбработкеДанных.Добавить("Дата УБЫВ");
	ПараметрыВыборки.СпособВыборки = ОбновлениеИнформационнойБазы.СпособВыборкиСсылки();
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	РеквизитыШапки.Ссылка КАК Ссылка
	|ИЗ
	|	Документ.КорректировкаРеализации.Расхождения КАК ДанныеРасхождений
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК РеквизитыШапки
	|		ПО ДанныеРасхождений.Ссылка = РеквизитыШапки.Ссылка
	|ГДЕ
	|	НЕ РеквизитыШапки.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
	|												ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
	|	И ДанныеРасхождений.СтатусУказанияСерий > 0
	|	И ДанныеРасхождений.СтатусУказанияСерий <> ДанныеРасхождений.СтатусУказанияСерийНаСкладах
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	РеквизитыШапки.Ссылка КАК Ссылка
	|ИЗ
	|	Документ.КорректировкаРеализации.Расхождения КАК ДанныеРасхождений
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК РеквизитыШапки
	|		ПО ДанныеРасхождений.Ссылка = РеквизитыШапки.Ссылка
	|ГДЕ
	|	РеквизитыШапки.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
	|											ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
	|	И ДанныеРасхождений.СтатусУказанияСерий > 0
	|	И ДанныеРасхождений.СтатусУказанияСерий <> ДанныеРасхождений.СтатусУказанияСерийПереданныхТоваров
	|
	|ОБЪЕДИНИТЬ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	РеквизитыШапки.Ссылка КАК Ссылка
	|ИЗ
	|	Документ.КорректировкаРеализации.Расхождения КАК ДанныеРасхождений
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК РеквизитыШапки
	|		ПО ДанныеРасхождений.Ссылка = РеквизитыШапки.Ссылка
	|ГДЕ
	|	РеквизитыШапки.Проведен
	|	И РеквизитыШапки.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
	|	И РеквизитыШапки.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
	|	И ДанныеРасхождений.КорАналитикаУчетаНоменклатуры = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка)";
	
	ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
		
КонецПроцедуры

// Обработчик обновления
//
// Параметры:
//	Параметры - См. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляМногопоточнойОбработки.
//
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
	
	ПолноеИмяОбъекта	= ПустаяСсылка().Метаданные().ПолноеИмя();
	ОбновляемыеДанные	= ОбновлениеИнформационнойБазы.ДанныеДляОбновленияВМногопоточномОбработчике(Параметры);
	
	ОтборПустыхАналитик = Новый Структура("КорАналитикаУчетаНоменклатуры",
											Справочники.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка());
	
	ОперацииРеализацииЧерезКомиссионера = Новый Массив;
	ОперацииРеализацииЧерезКомиссионера.Добавить(Перечисления.ХозяйственныеОперации.РеализацияЧерезКомиссионера);
	ОперацииРеализацииЧерезКомиссионера.Добавить(Перечисления.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности);
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ДанныеРасхождений.НомерСтроки КАК НомерСтроки
	|ИЗ
	|	Документ.КорректировкаРеализации.Расхождения КАК ДанныеРасхождений
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК РеквизитыШапки
	|		ПО ДанныеРасхождений.Ссылка = РеквизитыШапки.Ссылка
	|
	|ГДЕ
	|	ДанныеРасхождений.Ссылка = &Ссылка
	|	И ДанныеРасхождений.СтатусУказанияСерий > 0
	|	И ДанныеРасхождений.СтатусУказанияСерий <> ДанныеРасхождений.СтатусУказанияСерийНаСкладах
	|	И НЕ РеквизитыШапки.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
	|												ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ДанныеРасхождений.НомерСтроки КАК НомерСтроки
	|ИЗ
	|	Документ.КорректировкаРеализации.Расхождения КАК ДанныеРасхождений
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК РеквизитыШапки
	|		ПО ДанныеРасхождений.Ссылка = РеквизитыШапки.Ссылка
	|
	|ГДЕ
	|	ДанныеРасхождений.Ссылка = &Ссылка
	|	И ДанныеРасхождений.СтатусУказанияСерий > 0
	|	И ДанныеРасхождений.СтатусУказанияСерий <> ДанныеРасхождений.СтатусУказанияСерийПереданныхТоваров
	|	И РеквизитыШапки.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера),
	|												ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионераБезПереходаПраваСобственности))";
	
	Для Каждого Документ Из ОбновляемыеДанные Цикл
		
		НачатьТранзакцию();
		
		Попытка
			
			Блокировка = Новый БлокировкаДанных;
			
			ЭлементБлокировки = Блокировка.Добавить(ПолноеИмяОбъекта);
			ЭлементБлокировки.УстановитьЗначение("Ссылка", Документ.Ссылка);
			ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
			
			Блокировка.Заблокировать();
			
			ДокументОбъект = Документ.Ссылка.ПолучитьОбъект(); // ДокументОбъект.КорректировкаРеализации - 
			
			Если ДокументОбъект <> Неопределено Тогда
				Если ДокументОбъект.Проведен
					И ТипЗнч(ДокументОбъект.ДокументОснование) = Тип("ДокументСсылка.РеализацияТоваровУслуг")
					И ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту Тогда
					
					СтрокиРасхождений = ДокументОбъект.Расхождения.НайтиСтроки(ОтборПустыхАналитик);
					
					Для Каждого СтрокаТЧ Из СтрокиРасхождений Цикл
						СтрокаТЧ.КорАналитикаУчетаНоменклатуры = СтрокаТЧ.АналитикаУчетаНоменклатуры;
					КонецЦикла;
					
					СтрокиЗапасов = ДокументОбъект.ВидыЗапасовОприходование.НайтиСтроки(ОтборПустыхАналитик);
					
					Для Каждого СтрокаТЧ Из СтрокиЗапасов Цикл
						СтрокаТЧ.КорАналитикаУчетаНоменклатуры = СтрокаТЧ.АналитикаУчетаНоменклатуры;
					КонецЦикла;
					
				КонецЕсли;
				
				Запрос.УстановитьПараметр("Ссылка", ДокументОбъект.Ссылка);
				
				РезультатЗапроса = Запрос.Выполнить();
				
				Если Не РезультатЗапроса.Пустой() Тогда
					ИмяПолеСтатуса = ?(ОперацииРеализацииЧерезКомиссионера.Найти(ДокументОбъект.ХозяйственнаяОперация) = Неопределено,
										"СтатусУказанияСерийНаСкладах",
										"СтатусУказанияСерийПереданныхТоваров");
					
					Выборка = РезультатЗапроса.Выбрать();
					
					Пока Выборка.Следующий() Цикл
						СтрокаРасхождения = ДокументОбъект.Расхождения[Выборка.НомерСтроки - 1];
						СтрокаРасхождения[ИмяПолеСтатуса] = СтрокаРасхождения.СтатусУказанияСерий;
					КонецЦикла;
				КонецЕсли;
			КонецЕсли;
			
			Если ДокументОбъект <> Неопределено
				И ДокументОбъект.Модифицированность() Тогда
				
				ОбновлениеИнформационнойБазы.ЗаписатьДанные(ДокументОбъект);
				
			Иначе
				ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(Документ.Ссылка);
			КонецЕсли;
			
			ЗафиксироватьТранзакцию();
			
		Исключение
			
			ОтменитьТранзакцию();
			
			ОбновлениеИнформационнойБазыУТ.СообщитьОНеудачнойОбработке(ИнформацияОбОшибке(), Документ.Ссылка);
			
		КонецПопытки;
		
	КонецЦикла;
	
	Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
	
КонецПроцедуры

#КонецОбласти

#КонецОбласти

#КонецЕсли

Связанные материалы