Регламентная операция / Модуль объекта

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

#Область ОбработчикиСобытий

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

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

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

Процедура ПриЗаписи(Отказ)
	
	Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;
	
	ПроведениеДокументов.ПриЗаписиДокумента(ЭтотОбъект, Отказ);
	
КонецПроцедуры

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

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

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

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

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

Процедура ПроверитьДоступностьРегламентнойОперации(ОрганизацияДляУчетнойПолитики, Отказ)
	
	Если Отказ Тогда
		Возврат;
	КонецЕсли;
	
	// Проверим наличие учетной политики
	Если Не УчетнаяПолитика.Существует(ОрганизацияДляУчетнойПолитики, Дата, Ложь, Ссылка) Тогда
		
		ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru='Для организации %1 на %2 не заполнена учетная политика.'"),
			ОрганизацияДляУчетнойПолитики,
			Формат(НачалоМесяца(Дата), "ДФ='MMMM yyyy'"));
			
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ЭтотОбъект, "Организация", "Объект", Отказ);
			
	КонецЕсли;
	
	// Проверим выполнение условия для операций регл. учета
	ОперацииРеглУчета = Новый Массив;
	ОперацииРеглУчета.Добавить(Перечисления.ТипыРегламентныхОпераций.РасчетДолейСписанияКосвенныхРасходов);
	ОперацииРеглУчета.Добавить(Перечисления.ТипыРегламентныхОпераций.РасчетКурсовыхРазниц);
	ОперацииРеглУчета.Добавить(Перечисления.ТипыРегламентныхОпераций.СписаниеКосвенныхРасходов);
	ОперацииРеглУчета.Добавить(Перечисления.ТипыРегламентныхОпераций.ФормированиеФинансовогоРезультата);
	ОперацииРеглУчета.Добавить(Перечисления.ТипыРегламентныхОпераций.СписаниеУбытковПрошлыхЛет);
	ОперацииРеглУчета.Добавить(Перечисления.ТипыРегламентныхОпераций.РасчетНалогаНаПрибыль);
	ОперацииРеглУчета.Добавить(Перечисления.ТипыРегламентныхОпераций.РасчетОтложенногоНалога);
	ОперацииРеглУчета.Добавить(Перечисления.ТипыРегламентныхОпераций.ПереоценкаСуммыВВалютеФинОтчетности);
	ОперацииРеглУчета.Добавить(Перечисления.ТипыРегламентныхОпераций.ЗакрытиеГода);
	
	Если ОперацииРеглУчета.Найти(ТипОперации) <> Неопределено
		И (Не ПолучитьФункциональнуюОпцию("ИспользоватьРеглУчет") ИЛИ Дата < Константы.ДатаНачалаВеденияРеглУчета.Получить()) Тогда
		
		ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru='Выполнение операции %1 не доступно на %2.'"),
			ТипОперации,
			Формат(НачалоМесяца(Дата), "ДФ='MMMM yyyy'"));
			
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ЭтотОбъект, "ТипОперации", "Объект", Отказ);
		
	КонецЕсли;
		
	// Проверим выполнение условия для признания расходов УСН
	Если ТипОперации = Перечисления.ТипыРегламентныхОпераций.ПризнаниеРасходовПриУСН
		И Не УчетнаяПолитика.ПрименяетсяУСНДоходыМинусРасходы(Организация, КонецМесяца(Дата)) Тогда
		
		ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru='Для организации %1 не доступно признание расходов на %2.'"),
			Организация,
			Формат(КонецМесяца(Дата), "ДФ='MMMM yyyy'"));
			
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ЭтотОбъект, "Организация", "Объект", Отказ);
		
	КонецЕсли;
	
	// Проверим выполнение условия для расчета налога УСН
	Если ТипОперации = Перечисления.ТипыРегламентныхОпераций.РасчетНалогаУСН
		И Не УчетнаяПолитика.ПрименяетсяУСН(Организация, КонецМесяца(Дата)) Тогда
		
		ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru='Для организации %1 не доступен расчет налога УСН на %2.'"),
			Организация,
			Формат(КонецМесяца(Дата), "ДФ='MMMM yyyy'"));
			
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ЭтотОбъект, "Организация", "Объект", Отказ);
		
	КонецЕсли;
	
КонецПроцедуры

Функция УчетнаяПолитикаСуществует(ОрганизацияДляУчетнойПолитики)
	
	Существует = УчетнаяПолитика.Существует(ОрганизацияДляУчетнойПолитики, Дата, Ложь, Ссылка);
	Отказ      = Не Существует;
	
	Если Не Существует Тогда
		
		ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru='Для организации %1 на %2 не заполнена учетная политика.'"),
			ОрганизацияДляУчетнойПолитики,
			Формат(НачалоМесяца(Дата), "ДФ='MMMM yyyy'"));
		
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ЭтотОбъект, "Организация", "Объект", Отказ);
		
	КонецЕсли;
	
	Возврат Отказ;
	
КонецФункции

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

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

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

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

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

Процедура СформироватьЗаданияКРасчетуНалоговПриОтменеПроведения()

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

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

// Расчет долей списания косвенных расходов

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

// Переоценка валютных средств

Процедура РасчетКурсовыхРазницРегл(СтруктураШапкиДокумента, Отказ)
	
	Документы.РегламентнаяОперация.РасчетКурсовыхРазниц(СтруктураШапкиДокумента, Отказ);
	
КонецПроцедуры

Процедура РасчетКорректировкаНалоговойБазыПоКурсовымРазницам(СтруктураШапкиДокумента, Отказ)
	
	Документы.РегламентнаяОперация.РасчетКорректировкаНалоговойБазыПоКурсовымРазницам(СтруктураШапкиДокумента, Отказ);
	
КонецПроцедуры

Процедура РасчетКурсовыхРазницФО(СтруктураШапкиДокумента, Отказ)
	
	Документы.РегламентнаяОперация.РасчетКурсовыхРазницФО(СтруктураШапкиДокумента, Отказ);
	
КонецПроцедуры

// Определение финансового результата

Процедура ЗакрытиеСчетов90_91(СтруктураШапкиДокумента, Отказ)
	
	// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
	
	ПараметрыПроведения = Документы.РегламентнаяОперация.ПодготовитьПараметрыЗакрытиеСчетов90_91(СтруктураШапкиДокумента, Отказ);
	Если Отказ Тогда
		Возврат;
	КонецЕсли;
	
	Реквизиты = ПараметрыПроведения.ТаблицаРеквизитыЗакрытие90_91[0];
	
	// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ИНФОРМАЦИОННОЙ БАЗЫ
	
	ПроводкиЗакрытиеСчета90 = ЗакрытиеМесяца.ПроводкиЗакрытиеСчета90(Реквизиты.Период, Реквизиты.Организация);
	
	ПроводкиЗакрытиеСчета91 = ЗакрытиеМесяца.ПодготовитьТаблицыЗакрытиеСчета91(
		ПараметрыПроведения.ТаблицаРеквизитыЗакрытие90_91,
		СтруктураШапкиДокумента.СписокОрганизаций, Отказ);
	
	Если Отказ Тогда
		Возврат;
	КонецЕсли;
	
	// ФОРМИРОВАНИЕ ДВИЖЕНИЙ
	
	ЗакрытиеМесяца.СформироватьДвиженияЗакрытиеЗакрытиеСчетов90_91(
		Движения,
		ПроводкиЗакрытиеСчета90,
		Реквизиты.Период,
		Реквизиты.Организация);
	
	ЗакрытиеМесяца.СформироватьДвиженияЗакрытиеЗакрытиеСчетов90_91(
		Движения,
		ПроводкиЗакрытиеСчета91,
		Реквизиты.Период,
		Реквизиты.Организация);
	
КонецПроцедуры

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

Процедура СписаниеУбытковПрошлыхЛет(СтруктураШапкиДокумента, Отказ)
	
	// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
	
	ПараметрыПроведения = Документы.РегламентнаяОперация.ПодготовитьПараметрыСписаниеУбытков(СтруктураШапкиДокумента, Отказ);
	Если Отказ Тогда
		Возврат;
	КонецЕсли;
	
	// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ИНФОРМАЦИОННОЙ БАЗЫ
	
	ТаблицаУбытков = ЗакрытиеМесяца.ПодготовитьТаблицуУбытков(ПараметрыПроведения.ТаблицаРеквизитыСписаниеУбытков, Отказ);
	
	Если Отказ Тогда
		Возврат;
	КонецЕсли;
	
	// ФОРМИРОВАНИЕ ДВИЖЕНИЙ
	
	ЗакрытиеМесяца.СформироватьДвиженияСписаниеУбытков(ТаблицаУбытков,
		ПараметрыПроведения.ТаблицаРеквизитыСписаниеУбытков, Движения, Отказ);
	
	// ПЕРЕНОС УБЫТКА НА БУДУЩЕЕ
	
	Если КонецГода(СтруктураШапкиДокумента.КонДата) <> СтруктураШапкиДокумента.КонДата Тогда
		Возврат;
	КонецЕсли;
	
	ЗакрытиеМесяца.СформироватьДвиженияПереносУбыткаНаБудущее(
		СтруктураШапкиДокумента,
		Движения,
		Отказ);
	
КонецПроцедуры // СписаниеУбытковПрошлыхЛет()

Процедура СписаниеКосвенныхРасходов(СтруктураШапкиДокумента, Отказ)
	
	// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
	
	ПараметрыПроведения = ЗакрытиеМесяца.КонтекстСписаниеКосвенныхРасходов(СтруктураШапкиДокумента, Отказ);
	Если Отказ Тогда
		Возврат;
	КонецЕсли;
	
	// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ИНФОРМАЦИОННОЙ БАЗЫ
	
	ТаблицаДанных = НалоговыйУчет.ПолучитьРасчетСписанияКосвенныхРасходов(ПараметрыПроведения, Отказ);
	
	Если Отказ Тогда
		Возврат;
	КонецЕсли;
	
	// ФОРМИРОВАНИЕ ДВИЖЕНИЙ
	
	ЗакрытиеМесяца.СформироватьДвиженияСписаниеКосвенныхРасходов(ТаблицаДанных, ПараметрыПроведения, Движения, Отказ);
	
КонецПроцедуры // СписаниеКосвенныхРасходов()

// Расчет налога на прибыль (ПБУ 18/02)

Процедура ВыполнитьРасчетНалогаНаПрибыльСЗамеромВремени(СтруктураШапкиДокумента, Отказ)
	
	КоличествоОбрабатываемыхДанных = 0;
	
	ОписаниеЗамера = ОценкаПроизводительности.НачатьЗамерДлительнойОперации("РегламентированныйУчет.РасчетНалогаНаПрибыль");
	
	ВыполнитьРасчетНалогаНаПрибыль(СтруктураШапкиДокумента, Отказ, КоличествоОбрабатываемыхДанных);
	
	ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, КоличествоОбрабатываемыхДанных);
	
КонецПроцедуры

Процедура ВыполнитьРасчетНалогаНаПрибыль(СтруктураШапкиДокумента, Отказ, КоличествоОбрабатываемыхДанных)

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

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

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

// Закрытие года

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

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

Процедура ПроведениеРеформацииБаланса(ПараметрыПроведения, СтруктураШапкиДокумента, Отказ)
	
	ТаблицаЗакрытия = ПараметрыПроведения.ТаблицаРеквизитыЗакрытиеГода;
	ТаблицыДвижений = Новый Массив;
	
	// Подготовка проведения по данным информационноя базы
	ТаблицыДвижений.Добавить(ЗакрытиеМесяца.ПодготовитьТаблицуЗакрытие99Реформация(ТаблицаЗакрытия, Отказ));
	ТаблицыДвижений.Добавить(ЗакрытиеМесяца.ПодготовитьТаблицуЗакрытие90БУ(ТаблицаЗакрытия, Отказ));
	ТаблицыДвижений.Добавить(ЗакрытиеМесяца.ПодготовитьТаблицуЗакрытие91БУ(ТаблицаЗакрытия, Отказ));
	
	// Закрытие счетов в НУ
	ТаблицыДвижений.Добавить(ЗакрытиеМесяца.ПодготовитьТаблицуЗакрытиеСчетаНЕ(ТаблицаЗакрытия, Отказ));
	
	Если Отказ Тогда
		Возврат;
	КонецЕсли;
	
	// Формирование движений
	Для Каждого ТаблицаДвижений Из ТаблицыДвижений Цикл
		
		ЗакрытиеМесяца.СформироватьДвиженияЗакрытиеГода(
			ТаблицаДвижений,
			ТаблицаЗакрытия,
			Движения,
			Отказ);
		
	КонецЦикла;
	
КонецПроцедуры

#Область УСН

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

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

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

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

Процедура ВыполнитьРасчетОтложенногоНалога(СтруктураШапкиДокумента, Отказ, КоличествоОбрабатываемыхДанных)

	// ОТЛОЖЕННЫЙ НАЛОГ НА ПРИБЫЛЬ
		
	// Инициализация
	
	// Основной алгоритм расчета опирается на оценку отложенных налогов на начало периода,
	// выполненную предыдущими регламентными операциями и записанную в служебные регистры.
	// Если в служебных регистрах такая информация отсутствует, то требуется ее записать - инициализировать расчет.
	// Такое может быть при первом выполнении после изменения учетной политики, а также, если по каким-то причинам
	// регламентные операции за отдельные месяцы были пропущены.
	//
	// После инициализации выполняется оценка на отчетную дату (конец периода) в общем порядке,
	// обращающаяся к только что записанным данным.
	//
	// Алгоритм инициализации отличается от общего алгоритма (на отчетную дату) следующими моментами:
	// - ставка налога может определяться исходя из соотношения фактически отраженных сумм на счетах 09 и 77
	//   и временных разниц;
	// - при инициализации не формируются проводки, поэтому погрешности округления нивелируются так,
	//   чтобы общая сумма по виду отложенных активов или обязательств точно соответствовала суммам на счетах;
	// - записи о временных разницах и суммах отложенного налога, которые заведомо не соответствуют друг-другу игнорируются.
	
	НалогНаПрибыльБухгалтерскийУчет.ИнициализироватьРасчетОтложенногоНалога(
		Движения,
		СтруктураШапкиДокумента.Дата,
		СтруктураШапкиДокумента.Организация);
		
	ИменаРегистровИнициализации = Новый Массив;
	ИменаРегистровИнициализации.Добавить("РасчетОтложенногоНалога");
	ИменаРегистровИнициализации.Добавить("ПримененныеСтавкиОтложенногоНалога");
	
	ИнициализированныеРегистры = Новый Массив;
	
	Для Каждого ИмяРегистра Из ИменаРегистровИнициализации Цикл
		
		НаборЗаписей = Движения[ИмяРегистра];
		Если Не НаборЗаписей.Модифицированность() Тогда
			Продолжить;
		КонецЕсли;
		
		ИнициализированныеРегистры.Добавить(НаборЗаписей);
		НаборЗаписей.Записать(Ложь);
		
	КонецЦикла;
	
	// Основные действия
	НалогНаПрибыльБухгалтерскийУчет.ОтразитьПоследствияНачисленияНалога(
		Движения,
		СтруктураШапкиДокумента.Дата,
		СтруктураШапкиДокумента.Организация,
		СтруктураШапкиДокумента.Ссылка,
		КоличествоОбрабатываемыхДанных);
		
	Для Каждого НаборЗаписей Из ИнициализированныеРегистры Цикл
		
		Если Не НаборЗаписей.Модифицированность() Тогда
			Продолжить;
		КонецЕсли;
		
		// Запишем принудительно в режиме дополнения, чтобы не потерять ранее записанные записи.
		НаборЗаписей.Записать(Ложь);
		НаборЗаписей.Записывать = Ложь;
		
	КонецЦикла;
	
КонецПроцедуры

#Область РеклассификацияДолгосрочныхАктивовОбязательств

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

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

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

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

#Область КурсыВалют

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

#Область вт_ДолгосрочнаяЗадолженностьРасчетыПоФинансовымИнструментамПоКурсу

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

	ТекстыЗапроса.Добавить(ТекстЗапроса);
	
#КонецОбласти

#Область РасчетыПоАренде_Предварительная

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

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

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

#Область РасчетыПоКредитамИДепозитам

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

#Область РасчетыПоАренде

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

	ТекстыЗапроса.Добавить(ТекстЗапроса);

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

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

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

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

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

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

#Область РасчетЕНС

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

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

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

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

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

#КонецЕсли

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