Перемещение ОС (2.2) / Модуль менеджера

файл

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Процедура ВременнаяТаблицаСпособыОтраженияРасходовПоИмущественнымНалогам(ТекстыЗапроса)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	// ОС-2 (Накладная на внутреннее перемещение ОС)
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "ОС2";
	КомандаПечати.Представление = НСтр("ru = 'ОС-2 (Накладная на внутреннее перемещение ОС)'");

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

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

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

	Запрос.Текст = СтрЗаменить(Запрос.Текст, 
		"ПеремещениеОС.ПодразделениеПолучатель.НаименованиеПолное", 
		БухгалтерскийУчетПереопределяемый.ТекстЗапросаПолноеНаименованиеПодразделения("ПеремещениеОС.ПодразделениеПолучатель"));

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

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

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

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

#Область БлокировкаПриОбновленииИБ

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

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

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

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

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

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

#КонецЕсли

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