Подготовка к передаче НМА / Модуль менеджера

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Функция ТекстОтраженияВРеглУчете() Экспорт
	
	Возврат ПодготовкаКПередачеНМАЛокализация.ТекстОтраженияВРеглУчете();

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

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

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

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

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

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

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

#КонецЕсли

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