Объекты эксплуатации / Модуль менеджера

файл

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

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


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

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

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

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

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

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

	Возврат Результат;
	
КонецФункции

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

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

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

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

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

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

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

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

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

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

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

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

#КонецЕсли

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

Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
	
	ОбработкаВыполнена = ВнеоборотныеАктивыВызовСервера.ОбработкаПолученияФормы_ОбъектыЭксплуатации(
							ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка);
	
	Если ВидФормы = "ФормаВыбора" И НЕ ОбработкаВыполнена Тогда
		
		ВыбраннаяФорма = "ФормаВыбора2_4";
		СтандартнаяОбработка = Ложь;

	КонецЕсли;
	
КонецПроцедуры

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

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

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

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

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

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

	// Отборы

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

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

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

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

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

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

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

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

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

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

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

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

			ОтражатьВУпрУчете = Ложь;
			ОтражатьВБУ = Ложь;
			ОтражатьВНУ = Ложь;

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

		КонецЕсли; 
		
		ВнеоборотныеАктивыСлужебный.ДобавитьТекстОтбора(ОписаниеЗапроса.ТекстОтборы, ТекстУсловия);
		
	КонецЕсли; 
	
	//++ Локализация

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

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

Функция ЕстьПраваНаЧтениеСведений() Экспорт

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

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

Функция ПредставлениеСведенийОбУчете(СведенияОбУчете, СтоимостьИАмортизация, ВключитьНезаполненные = Истина) Экспорт

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

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

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

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

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

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

// Определяет признак отбора по сведениям.
// 
// Параметры:
//  ИмяОтбора - Строка - Имя отбора
// 
// Возвращаемое значение:
//  Булево - Истина, если это отбор по сведениям
Функция ЭтоОтборПоСведениям(ИмяОтбора) Экспорт

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

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

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

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

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

Функция ИсторияИзмененияРеквизита(ОсновноеСредство, ИмяРеквизита) Экспорт

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

	Возврат ИсторияИзменений;
	
КонецФункции


#Область ПодключаемыеКоманды

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

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

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

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

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

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

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

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

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

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

#КонецЕсли

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