Принятие к учету ОС / Модуль менеджера

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

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

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

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

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

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

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

	ПолучитьДанныеДокумента(Запрос);

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

	ЗначенияПараметровПроведения = ЗначенияПараметровПроведения();
	Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
		Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
	КонецЦикла; 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#Область РабочееМесто

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

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

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

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

Процедура ЗаполнитьСтоимость(Объект, ВыбранныеСтроки = Неопределено) Экспорт

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

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

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

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

	ПредставлениеРеквизитов = Новый Соответствие;

	ВалютаУпр = Константы.ВалютаУправленческогоУчета.Получить();
	ВалютаРегл = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Организация);
	
	ВалютаУпрПредставление = Строка(ВалютаУпр);
	ВалютаРеглПредставление = Строка(ВалютаРегл);
	
	ПредставлениеРеквизитов.Вставить(
		"ОС.СтоимостьБУ", 
		?(ЗначениеЗаполнено(ВалютаРегл), 
			СтрШаблон(НСтр("ru = 'Стоимость регл. (%1)'"), ВалютаРеглПредставление), 
			НСтр("ru = 'Стоимость регл.'")));
		
	ПредставлениеРеквизитов.Вставить("ОС.СтоимостьУУ", СтрШаблон(НСтр("ru = 'Стоимость упр. (%1)'"), ВалютаУпрПредставление));
	
	ПредставлениеРеквизитов.Вставить(
		"ОС.ЛиквидационнаяСтоимостьРегл", 
		?(ЗначениеЗаполнено(ВалютаРегл), 
			СтрШаблон(НСтр("ru = 'Ликвидационная стоимость регл. (%1)'"), ВалютаРеглПредставление), 
			НСтр("ru = 'Ликвидационная стоимость регл.'")));
	
	ПредставлениеРеквизитов.Вставить("ОС.ЛиквидационнаяСтоимость", СтрШаблон(НСтр("ru = 'Ликвидационная стоимость упр. (%1)'"), ВалютаУпрПредставление));
		
	Возврат ПредставлениеРеквизитов;
	
КонецФункции
 
#КонецОбласти

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

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

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

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

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

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

Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт

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

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

Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры)
	
	ПроведениеДокументов.ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
	
	СформироватьТаблицуВтСписокДокументов(Запрос);
	ПолучитьДанныеДокумента(Запрос);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	ПринятиеКУчетуОСЛокализация.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);

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

Функция ПолучитьДанныеДляПечатнойФормыОС1(ПараметрыПечати, МассивОбъектов) Экспорт

	Возврат ПринятиеКУчетуОСЛокализация.ПолучитьДанныеДляПечатнойФормыОС1(ПараметрыПечати, МассивОбъектов);

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

Функция ДанныеДляПечатиЭтикеток(МассивДокументов) Экспорт

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

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

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

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

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

	Объект.ОС.Очистить();

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

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

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

	Объект.ОС.Очистить();

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

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

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

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

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

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

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

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

#Область ОбновлениеИнформационнойБазы

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

	Обработчик = Обработчики.Добавить();
	Обработчик.Процедура = "Документы.ПринятиеКУчетуОС2_4.ОбработатьДанныеДляПереходаНаНовуюВерсию";
	Обработчик.Версия = "2.5.25.92";
	Обработчик.РежимВыполнения = "Отложенно";
	Обработчик.Идентификатор = Новый УникальныйИдентификатор("91a1bcf2-75a9-4983-9424-0a46fc3c1ce9");
	Обработчик.Многопоточный = Истина;
	Обработчик.ПроцедураЗаполненияДанныхОбновления = "Документы.ПринятиеКУчетуОС2_4.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
	Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
	Обработчик.Порядок = Перечисления.ПорядокОбработчиковОбновления.Обычный;
	Обработчик.Комментарий = НСтр("ru = 'Обновляет документы ""Принятие к учету ОС""'");
	//++ Локализация
	Обработчик.Комментарий = НСтр("ru = 'Обновляет документы ""Принятие к учету ОС"":
								  |- Заполняет реквизит ""Инвестиционный налоговый вычет""'");
	//-- Локализация
	
	Читаемые = Новый Массив;
	Читаемые.Добавить(Метаданные.Документы.ПринятиеКУчетуОС2_4.ПолноеИмя());
	Обработчик.ЧитаемыеОбъекты = СтрСоединить(Читаемые, ",");
	
	Изменяемые = Новый Массив;
	Изменяемые.Добавить(Метаданные.Документы.ПринятиеКУчетуОС2_4.ПолноеИмя());
	Обработчик.ИзменяемыеОбъекты = СтрСоединить(Изменяемые, ",");
	
	Блокируемые = Новый Массив;
	Блокируемые.Добавить(Метаданные.Документы.ПринятиеКУчетуОС2_4.ПолноеИмя());
	Обработчик.БлокируемыеОбъекты = СтрСоединить(Блокируемые, ",");

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

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

	ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
	//-- Локализация
	
КонецПроцедуры

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

	ПолноеИмяОбъекта = "Документ.ПринятиеКУчетуОС2_4";
	
	ОбновляемыеДанные = ОбновлениеИнформационнойБазы.ДанныеДляОбновленияВМногопоточномОбработчике(Параметры);
	
	ПроблемныхОбъектов = 0;
	ОбъектовОбработано = 0;

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

			ОбновлениеИнформационнойБазыУТ.СообщитьОНеудачнойОбработке(ИнформацияОбОшибке(), Документ.Ссылка);
			
		КонецПопытки;
		
	КонецЦикла;
	
 	ВнеоборотныеАктивыСлужебный.ПроверитьВыполнениеОбработчика(
 		ПроблемныхОбъектов, 
 		ОбъектовОбработано, 
 		ПолноеИмяОбъекта);
 		
	Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
	
	ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(Замер, ОбъектовОбработано);	
	
КонецПроцедуры
 
#КонецОбласти

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

#КонецЕсли

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