Таможенная декларация на импорт / Модуль менеджера

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

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

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

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

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

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

#Область НеоперативноеДопроведение

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

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

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

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

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

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

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

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

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

		Возврат КомандаСоздатьНаОсновании;
	КонецЕсли;
	
	ТаможеннаяДекларацияИмпортЛокализация.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	Возврат Неопределено;
КонецФункции

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

// Заполняет список команд печати.
//
// Параметры:
//   КомандыПечати - см. УправлениеПечатью.СоздатьКоллекциюКомандПечати
//
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
	
	ТаможеннаяДекларацияИмпортЛокализация.ДобавитьКомандыПечати(КомандыПечати);
	
КонецПроцедуры

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

// Получает реквизиты документа
//
// Параметры:
//  ДокументСсылка	 - ДокументСсылка.ТаможеннаяДекларацияИмпорт - Ссылка на документ.
//
// Возвращаемое значение:
//  Структура - Структура реквизитов.
//
Функция РеквизитыДокумента(ДокументСсылка) Экспорт
	
	Реквизиты = Новый Структура;
	Реквизиты.Вставить("Дата", '00010101');
	Реквизиты.Вставить("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ОформлениеГТДБрокером);
	Реквизиты.Вставить("Организация", Справочники.Организации.ПустаяСсылка());
	Реквизиты.Вставить("Партнер", Справочники.Партнеры.ПустаяСсылка());
	Реквизиты.Вставить("Контрагент", Справочники.Контрагенты.ПустаяСсылка());
	Реквизиты.Вставить("Договор", Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
	Реквизиты.Вставить("ПорядокРасчетов", Перечисления.ПорядокРасчетов.ПустаяСсылка());
	Реквизиты.Вставить("ПоЗаказу", Ложь);
	Реквизиты.Вставить("ВалютаВзаиморасчетов", Справочники.Валюты.ПустаяСсылка());
	Реквизиты.Вставить("СуммаДокумента", 0);
	Реквизиты.Вставить("СуммаВзаиморасчетов", 0);
	Реквизиты.Вставить("НаправлениеДеятельности", Справочники.НаправленияДеятельности.ПустаяСсылка());
	
	Запрос = Новый Запрос("
	|ВЫБРАТЬ
	|	Данные.Дата КАК Дата,
	|	Данные.ВариантОформления КАК ХозяйственнаяОперация,
	|	Данные.Организация КАК Организация,
	|	Данные.Партнер КАК Партнер,
	|	Данные.Контрагент КАК Контрагент,
	|	Данные.Договор КАК Договор,
	|	Данные.ПорядокРасчетов КАК ПорядокРасчетов,
	|	ЛОЖЬ КАК ПоЗаказу,
	|	Данные.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
	|	Данные.СуммаДокумента КАК СуммаДокумента,
	|	ВЫБОР КОГДА Данные.Проведен ТОГДА
	|		Данные.СуммаВзаиморасчетов
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК СуммаВзаиморасчетов,
	|	Данные.НаправлениеДеятельности КАК НаправлениеДеятельности
	|ИЗ
	|	Документ.ТаможеннаяДекларацияИмпорт КАК Данные
	|ГДЕ
	|	Данные.Ссылка = &ДокументСсылка
	|");
	Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		ЗаполнитьЗначенияСвойств(Реквизиты, Выборка);
	КонецЕсли;
	Возврат Реквизиты;
КонецФункции

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

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

// Возвращает текст запроса для расчета статусов указания серий
//	Параметры:
//		ПараметрыУказанияСерий - см. НоменклатураКлиентСервер.ПараметрыУказанияСерий
//	Возвращаемое значение:
//		Строка - текст запроса.
//
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
	
	ТекстЗапроса = 
	"ВЫБРАТЬ
	|	Товары.Номенклатура,
	|	Товары.Характеристика,
	|	Товары.Склад,
	|	Товары.Серия,
	|	Товары.Количество,
	|	Товары.СтатусУказанияСерий,
	|	Товары.ХозяйственнаяОперация,
	|	Товары.НомерСтроки
	|ПОМЕСТИТЬ Товары
	|ИЗ
	|	&Товары КАК Товары
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	Товары.НомерСтроки КАК НомерСтроки,
	|	Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
	|	ВЫБОР
	|		КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL 
	|			ТОГДА 0
	|		ИНАЧЕ ВЫБОР
	|				КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
	|					ТОГДА ВЫБОР
	|							КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
	|								ТОГДА 14
	|							ИНАЧЕ 13
	|						КОНЕЦ
	|				ИНАЧЕ 0
	|			КОНЕЦ
	|	КОНЕЦ КАК СтатусУказанияСерий
	|ПОМЕСТИТЬ Статусы
	|ИЗ
	|	Товары КАК Товары
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
	|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
	|			ПО ПолитикиУчетаСерий.Склад = Склады.Ссылка
	|		ПО (ПолитикиУчетаСерий.Склад = Товары.Склад)
	|			И (ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка)
	|ГДЕ
	|	НЕ Товары.ХозяйственнаяОперация В (&ХозОперацииТоварыВПути)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	Товары.НомерСтроки КАК НомерСтроки,
	|	Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
	|	ВЫБОР
	|		КОГДА ВидНоменклатуры.ПолитикаУчетаСерий ЕСТЬ NULL
	|			ТОГДА 0
	|		ИНАЧЕ ВЫБОР
	|				КОГДА ВидНоменклатуры.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
	|					ТОГДА
	|						ВЫБОР
	|							КОГДА ВидНоменклатуры.ПолитикаУчетаСерий.УчетТоваровВПутиОтПоставщикаПоСериям
	|								ТОГДА
	|									ВЫБОР
	|										КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
	|											ТОГДА 18
	|										ИНАЧЕ 17
	|									КОНЕЦ
	|								ИНАЧЕ 0
	|						КОНЕЦ
	|					ИНАЧЕ 0
	|			КОНЕЦ
	|	КОНЕЦ КАК СтатусУказанияСерий
	|ИЗ
	|	Товары КАК Товары
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры КАК ВидНоменклатуры
	|	ПО ВидНоменклатуры.Ссылка = ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры
	|ГДЕ
	|	Товары.ХозяйственнаяОперация В (&ХозОперацииТоварыВПути)
	|
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	Статусы.НомерСтроки КАК НомерСтроки,
	|	Статусы.СтатусУказанияСерий КАК СтатусУказанияСерий
	|ИЗ
	|	Статусы КАК Статусы
	|ГДЕ
	|	Статусы.СтатусУказанияСерий <> Статусы.СтарыйСтатусУказанияСерий
	|
	|УПОРЯДОЧИТЬ ПО
	|	НомерСтроки";
	
	Возврат ТекстЗапроса;

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

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

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

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

//++ НЕ УТ

// Функция возвращает текст запроса для отражения документа в регламентированном учете.
//
// Возвращаемое значение:
//	Строка - Текст запроса
//
Функция ТекстОтраженияВРеглУчете() Экспорт

	Возврат ТаможеннаяДекларацияИмпортЛокализация.ТекстОтраженияВРеглУчете();
	
КонецФункции

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

//-- НЕ УТ

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

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

#Область ДляВызоваИзДругихПодсистем

// СтандартныеПодсистемы.УправлениеДоступом

// Параметры:
//   Ограничение - см. УправлениеДоступомПереопределяемый.ПриЗаполненииОграниченияДоступа.Ограничение.
//
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт

	Ограничение.Текст =
	"РазрешитьЧтениеИзменение
	|ГДЕ
	|	ЗначениеРазрешено(Организация)
	|	И ЗначениеРазрешено(Подразделение)
	|	И ( ЗначениеРазрешено(Партнер)
	|	ИЛИ ЗначениеРазрешено(Поставщик)
	|	) ";

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

// Конец СтандартныеПодсистемы.УправлениеДоступом

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

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

#Область СлужебныеПроцедурыИФункции

Функция СуммаДокумента(Объект) Экспорт
	
	СуммаДокумента = Объект.ТаможенныйСбор + Объект.ТаможенныйШтраф + Объект.Товары.Итог("СуммаПошлины")
		+ Объект.Товары.Итог("СуммаНДС") + Объект.Товары.Итог("СуммаАкциза");
	
	Возврат СуммаДокумента;
	
КонецФункции

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

Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт

	ИсточникиДанных = Новый Соответствие;
	
	Возврат ИсточникиДанных; 

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

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

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

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

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

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

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

	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

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

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

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

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

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

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

Функция ТекстЗапросаТаблицаПартииРасходовНаСебестоимостьТоваров(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ПартииРасходовНаСебестоимостьТоваров";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
	
	Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
		ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
	КонецЕсли; 
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&Период КАК Период,
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) 			КАК ВидДвижения,
	|	ДанныеДокумента.Организация 					КАК Организация,
	|	ТоварыДокумента.АналитикаУчетаНоменклатуры		КАК АналитикаУчетаНоменклатуры,
	|	&Ссылка											КАК ДокументПоступления,
	|	ТоварыДокумента.ВидЗапасов 						КАК ВидЗапасов,
	|	ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
	|	&Ссылка 										КАК ДокументПоступленияРасходов,
	|	НЕОПРЕДЕЛЕНО 									КАК СтатьяРасходов,
	|
	|	СУММА(ТоварыДокумента.Количество)				КАК Количество,
	|	СУММА(&КоэффициентПересчетаВВалютуУпр 
	|			* (ТоварыДокумента.СуммаПошлины + ТоварыДокумента.СуммаНДС)) КАК Стоимость,
	|	СУММА(&КоэффициентПересчетаВВалютуУпр
	|			* ТоварыДокумента.СуммаПошлины) 						КАК СтоимостьБезНДС,
	|	СУММА(ТоварыДокумента.СуммаПошлины) 							КАК СтоимостьРегл,
	|	СУММА(
	|		ВЫБОР 
	|			КОГДА ТаблицаАналитикУчетаПартий.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
	|				ТОГДА 0 
	|				ИНАЧЕ ТоварыДокумента.СуммаНДС
	|		КОНЕЦ) 														КАК НДСРегл,
	|	&Подразделение													КАК ПодразделениеРасходов,
	|	0																КАК ПостояннаяРазница,
	|	0																КАК ВременнаяРазница
	|ИЗ
	|	Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ 
	|		Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
	|	ПО 
	|		ТоварыДокумента.Ссылка = ДанныеДокумента.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
	|	ПО ТаблицаАналитикУчетаПартий.НомерСтроки 	    = ТоварыДокумента.НомерСтроки
	|	 И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
	|	
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|	И &ВыпущеноСТаможни
	|	И &ПартионныйУчетВерсии21
	|
	|СГРУППИРОВАТЬ ПО
	|	ДанныеДокумента.Организация,
	|	ТоварыДокумента.АналитикаУчетаНоменклатуры,
	|	ТоварыДокумента.ВидЗапасов,
	|	ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

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

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

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

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

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

	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

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

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

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

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

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

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

	ТекстЗапроса = РасходыНаТаможенныеСборы
		+ " ОБЪЕДИНИТЬ ВСЕ " + РасходыНаТаможенныеШтрафы;
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;


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

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

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

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


	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

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

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

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

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

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

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

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

#Область ПартионныйУчет

Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
	
	ОписаниеРегистров = Новый Массив;
	ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
	
	Возврат ОписаниеРегистров;
	
КонецФункции

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

Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
	
	ДополнительныеТаблицы = Новый Массив;
	ДополнительныеТаблицы.Добавить("ВтСуммыДокументовВВалютахУчета");
	ДополнительныеТаблицы.Добавить("ВТТоварыКОформлениюДокументовИмпорта");
	ДополнительныеТаблицы.Добавить("ВтТаблицаАналитикУчетаПартий");
	ДополнительныеТаблицы.Добавить("ВтСуммыДокументовВВалютахУчета");
	
	Если Запрос <> Неопределено Тогда
	
		СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
		
		Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[1], ТекстыЗапроса) Тогда
			ТекстЗапросаВТТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса);
		КонецЕсли;
		
		Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[2], ТекстыЗапроса) Тогда
			ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
		КонецЕсли;
		
		Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[2], ТекстыЗапроса) Тогда
			СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
		КонецЕсли;
		
	КонецЕсли;
	
	Возврат ДополнительныеТаблицы;
	
КонецФункции

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

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

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

#Область ИнициализацияИЗаполнение

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

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

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

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

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

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

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

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

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

#Область ФормированиеГиперссылкиВЖурналеЗакупок

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

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

Функция ИмяФормыРабочееМестоТаможеннаяДекларацияИмпорт() Экспорт
	
	Возврат "Документ.ТаможеннаяДекларацияИмпорт.Форма.РабочееМесто";
	
КонецФункции

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

#КонецЕсли

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