Прекращение договора аренды / Модуль менеджера

файл

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

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

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

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

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

	Возврат ИсточникиДанных; 

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

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

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

	Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
	Результат.ЗначенияПараметров = ЗначенияПараметров;
	Результат.ТекстЗапроса = ТекстЗапроса;
	
	Возврат Результат;
	
КонецФункции

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

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

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

	ТекстЗапросаТаблицаПервоначальныеСведенияОС(ТекстыЗапроса, Неопределено);
	ТекстЗапросаТаблицаПорядокУчетаОСБУ(ТекстыЗапроса, Неопределено);
	ТекстЗапросаТаблицаПорядокУчетаОСУУ(ТекстыЗапроса, Неопределено);
	ТекстЗапросаТаблицаАрендованныеОС(ТекстыЗапроса, Неопределено);
	ТекстЗапросаТаблицаУсловияДоговоровАренды(ТекстыЗапроса, Неопределено);

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

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

#Область Команды

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

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

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

	Возврат Неопределено;
	
КонецФункции

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

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

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

// Возвращает массив допустимых наименований входящих документов.
// 
// Возвращаемое значение:
// 	Массив - массив наименований.
Функция НаименованияВходящихДокументов() Экспорт
	МассивНаименований = Новый Массив();
	МассивНаименований.Добавить(НСтр("ru='Акт'"));
	Возврат МассивНаименований
КонецФункции

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

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

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

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

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

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

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

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

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

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

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

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

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

#КонецЕсли

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

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
	
	ОбщегоНазначенияУТКлиентСервер.ОбработкаПолученияПредставленияВходящегоДокумента(
		Данные, Представление, СтандартнаяОбработка, "ПрекращениеДоговораАренды");
	
КонецПроцедуры

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	Поля.Очистить();
	Поля.Добавить("НаименованиеВходящегоДокумента");
	Поля.Добавить("НомерВходящегоДокумента");
	Поля.Добавить("ДатаВходящегоДокумента");
	Поля.Добавить("Дата");
	Поля.Добавить("Номер");
	
КонецПроцедуры

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

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

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

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

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

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

Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)

	ЗначенияПараметровПроведения = Новый Структура;
	УчетАрендованныхОС.ДополнитьЗначенияПараметровПроведенияДокументаАренды(ЗначенияПараметровПроведения);
	ВнеоборотныеАктивы.ДополнитьЗначенияПараметровПроведенияПриСписанииОС(ЗначенияПараметровПроведения);

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

	ЗначенияПараметровПроведения.Вставить("ХО_СписаниеСтоимостиОС", Перечисления.ХозяйственныеОперации.СписаниеСтоимостиАрендованныхОС);
	ЗначенияПараметровПроведения.Вставить("НастройкаХО_СписаниеСтоимостиАрендованныхОС", Справочники.НастройкиХозяйственныхОпераций.СписаниеСтоимостиАрендованныхОС);

	ЗначенияПараметровПроведения.Вставить("ХО_СписаниеЗалоговойСтоимостиОС", Перечисления.ХозяйственныеОперации.СписаниеЗалоговойСтоимостиАрендованныхОС);
	ЗначенияПараметровПроведения.Вставить("НастройкаХО_СписаниеЗалоговойСтоимостиОС", Справочники.НастройкиХозяйственныхОпераций.СписаниеЗалоговойСтоимостиАрендованныхОС);
	
	ЗначенияПараметровПроведения.Вставить("ИдентификаторЗаявлениеОВвозеТоваров", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ЗаявлениеОВвозеТоваров"));

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

Процедура СформироватьРасширеннуюТаблицуОС(Запрос, ТекстыЗапроса)

	ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтРасширеннаяТаблицаОС(ТекстыЗапроса);

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

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

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

Процедура ТекстЗапросаТаблицаАмортизацияОС(ТекстыЗапроса)

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

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

Процедура ТекстЗапросаТаблицаОбесценениеВНА(ТекстыЗапроса)

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

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

Процедура ТекстЗапросаТаблицаСтоимостьОС(ТекстыЗапроса)

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

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

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

Процедура ТекстЗапросаТаблицаПервоначальныеСведенияОС(ТекстыЗапроса, Регистры)

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

Процедура ТекстЗапросаТаблицаПорядокУчетаОСБУ(ТекстыЗапроса, Регистры)

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

Процедура ТекстЗапросаТаблицаПорядокУчетаОСУУ(ТекстыЗапроса, Регистры)

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

Процедура ТекстЗапросаТаблицаАрендованныеОС(ТекстыЗапроса, Регистры)

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

Процедура ТекстЗапросаТаблицаУсловияДоговоровАренды(ТекстыЗапроса, Регистры)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


#Область ФормированиеВременныхТаблицыДляПроведения

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

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

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

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

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

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

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

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

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

	Возврат ТекстЗапроса;
	
КонецФункции

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

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

#Область ПроведениеПоРеглУчету

Функция ТекстОтраженияВРеглУчете() Экспорт

	Возврат ПрекращениеДоговораАрендыЛокализация.ТекстОтраженияВРеглУчете();

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

Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт

	Возврат "";

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

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

#Область Заполнение

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

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

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

Функция ПараметрыВыбораСтатейИАналитик() Экспорт

	СписокПараметров = Новый Массив;
	
	#Область Расходы
	ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
	ПараметрыВыбора.ПутьКДанным = "Объект";
	ПараметрыВыбора.Статья = "СтатьяРасходов";
	
	ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
	ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
	
	ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
	ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
	
	СписокПараметров.Добавить(ПараметрыВыбора);
	#КонецОбласти
	
	#Область Доходы
	ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
	ПараметрыВыбора.ПутьКДанным = "Объект";
	ПараметрыВыбора.Статья = "СтатьяДоходов";
	
	ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
	ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";

	ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяДоходов");
	ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("АналитикаДоходов");
	
	СписокПараметров.Добавить(ПараметрыВыбора);
	#КонецОбласти

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

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

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

#КонецЕсли

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