#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("ОсновныеСредства");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("ОбесценениеВНА");
АмортизацияОСЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.АмортизацияОС2_4") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаАмортизацияОС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаОбесценениеВНА(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
АмортизацияОСЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ТаблицыДвижений = ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
Возврат ТаблицыДвижений;
КонецФункции
#КонецОбласти
#Область Команды
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
Отчеты.СправкаРасчетАмортизацииОС_МУ.ДобавитьКомандуОтчетаПоДокументуАмортизацииОС(КомандыОтчетов);
АмортизацияОСЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
АмортизацияОСЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
АмортизацияОСЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Представление = СтрШаблон(НСтр("ru = 'Амортизация ОС %1 за %2'"), Данные.Номер, Формат(Данные.Дата, НСтр("ru = 'ДФ=''ММММ гггг'''")));
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныйПрограммныйИнтерфейс
Функция РассчитатьАмортизацию(ИсходныеПараметрыРасчета) Экспорт
ОписаниеЗамера = ОценкаПроизводительности.НачатьЗамерДлительнойОперации("АмортизацияОС.РассчитатьАмортизацию");
ПараметрыРасчета = ОбщегоНазначения.СкопироватьРекурсивно(ИсходныеПараметрыРасчета);
ВнеоборотныеАктивыСлужебный.ДополнитьПараметрамиУчетаВнеоборотныхАктивов(ПараметрыРасчета);
Если ПараметрыРасчета.МенеджерВременныхТаблиц = Неопределено Тогда
ПараметрыРасчета.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ИсходныеПараметрыРасчета.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
КонецЕсли;
Попытка
ПодготовитьСписокОбъектов(ПараметрыРасчета);
ДоначислитьАмортизациюПринятыхКУчетуПрошлойДатой(ПараметрыРасчета);
ПодготовитьПараметрыДляРасчетаАмортизации(ПараметрыРасчета);
ВыполнитьРасчетАмортизации(ПараметрыРасчета);
ЗарегистрироватьОшибкиРасчетаАмортизации(ПараметрыРасчета);
ОбщегоНазначенияУТ.УничтожитьВременныеТаблицы(ПараметрыРасчета.МенеджерВременныхТаблиц,, ПараметрыРасчета.ИспользуемыеТаблицы);
ЗаписатьРасчетАмортизации(ПараметрыРасчета);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПараметрыРасчета.ЕстьОшибки = Истина;
ПараметрыРасчета.ТекстОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
ВнеоборотныеАктивыСлужебный.ЗарегистрироватьПроблемуВыполненияРасчета(
Справочники.ОперацииЗакрытияМесяца.НачислениеАмортизацииОС,
ПараметрыРасчета.Период,
ПараметрыРасчета.ПакетыАмортизации.ВыгрузитьКолонку("Организация"),
ПараметрыРасчета.ТекстОшибки);
КонецПопытки;
ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, ПараметрыРасчета.КоличествоОбработанныхДанных);
РезультатРасчета = Новый Структура;
РезультатРасчета.Вставить("КоличествоОбработанныхДанных", ПараметрыРасчета.КоличествоОбработанныхДанных);
РезультатРасчета.Вставить("ЕстьОшибки", ПараметрыРасчета.ЕстьОшибки);
РезультатРасчета.Вставить("ТекстОшибки", ПараметрыРасчета.ТекстОшибки);
Возврат РезультатРасчета;
КонецФункции
Функция НомерПакетаПоУмолчанию(Организация) Экспорт
Если НЕ ЗначениеЗаполнено(Организация) Тогда
Возврат 0;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| МАКСИМУМ(ПакетыАмортизацииОС.НомерПакета) КАК НомерПакета,
| ЕСТЬNULL(КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПакетыАмортизацииОС.НомерПакета), 0) КАК КоличествоНомеров
|ИЗ
| РегистрСведений.ПакетыАмортизацииОС КАК ПакетыАмортизацииОС
|ГДЕ
| ПакетыАмортизацииОС.Организация = &Организация
|
|СГРУППИРОВАТЬ ПО
| ПакетыАмортизацииОС.Организация";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Организация", Организация);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
НомерПакета = 0;
Если Выборка.Следующий() Тогда
Если Выборка.КоличествоНомеров = 1 Тогда
НомерПакета = Выборка.НомерПакета;
КонецЕсли;
КонецЕсли;
Возврат НомерПакета;
КонецФункции
Процедура ТекстЗапросаВтНачисленнаяАмортизация(СписокЗапросов, ТекстПодзапроса, ПроведениеДокумента = Ложь) Экспорт
ИмяТаблицы = "НачисленнаяАмортизация";
ТекстЗапроса = АмортизацияОСЛокализация.ТекстЗапросаВтНачисленнаяАмортизация();
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(Перечисление.ВидыВнеоборотныхАктивов.ОсновноеСредство) КАК ВидВНА,
| НачисленнаяАмортизация.Ссылка КАК Ссылка,
| НачисленнаяАмортизация.ПериодРасчета КАК ПериодРасчета,
| НачисленнаяАмортизация.ПериодНачисления КАК ПериодНачисления,
| НачисленнаяАмортизация.Организация КАК Организация,
| ЕСТЬNULL(ПакетыАмортизацииОС.НомерПакета, 0) КАК НомерПакета,
| НачисленнаяАмортизация.Подразделение КАК Подразделение,
| НачисленнаяАмортизация.КорПодразделение КАК КорПодразделение,
| НачисленнаяАмортизация.ОсновноеСредство КАК ОсновноеСредство,
| НачисленнаяАмортизация.ЕГДС КАК ЕГДС,
| НачисленнаяАмортизация.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| НачисленнаяАмортизация.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НачисленнаяАмортизация.КорНаправлениеДеятельности КАК КорНаправлениеДеятельности,
| НачисленнаяАмортизация.СтатьяРасходов КАК СтатьяРасходов,
| НачисленнаяАмортизация.АналитикаРасходов КАК АналитикаРасходов,
| ЛОЖЬ КАК ПередаватьРасходыВДругуюОрганизацию,
| ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК ОрганизацияПолучательРасходов,
| ЛОЖЬ КАК НачислятьИзнос,
| НачисленнаяАмортизация.ЭтоДоначисление КАК ЭтоДоначисление,
| НачисленнаяАмортизация.ЭтоДоначислениеБУ КАК ЭтоДоначислениеБУ,
| ЛОЖЬ КАК ЭтоАмортизационнаяПремия,
| МАКСИМУМ(НачисленнаяАмортизация.РесурсВыработанныйЗаПрошлыйПериод) КАК РесурсВыработанныйЗаПрошлыйПериод,
| МАКСИМУМ(НачисленнаяАмортизация.РесурсВыработанныйЗаТекущийПериод) КАК РесурсВыработанныйЗаТекущийПериод,
| МАКСИМУМ(НачисленнаяАмортизация.РесурсВыработанныйЗаПрошлыйПериодБУ) КАК РесурсВыработанныйЗаПрошлыйПериодБУ,
| МАКСИМУМ(НачисленнаяАмортизация.РесурсВыработанныйЗаТекущийПериодБУ) КАК РесурсВыработанныйЗаТекущийПериодБУ,
| МАКСИМУМ(НачисленнаяАмортизация.СтоимостьДляВычисленияАмортизации) КАК СтоимостьДляВычисленияАмортизации,
| МАКСИМУМ(НачисленнаяАмортизация.СтоимостьДляВычисленияАмортизацииРегл) КАК СтоимостьДляВычисленияАмортизацииРегл,
| МАКСИМУМ(НачисленнаяАмортизация.ОстатокОбесцененияРегл) КАК ОстатокОбесцененияРегл,
| МАКСИМУМ(НачисленнаяАмортизация.ОстатокОбесцененияУпр) КАК ОстатокОбесцененияУпр,
| МАКСИМУМ(НачисленнаяАмортизация.ПорядокУчетаУУ) КАК ПорядокУчетаУУ,
| НЕОПРЕДЕЛЕНО КАК ПорядокУчетаБУ,
| МАКСИМУМ(НачисленнаяАмортизация.ПорядокНачисленияАмортизацииУУ) КАК ПорядокНачисленияАмортизацииУУ,
| МАКСИМУМ(НачисленнаяАмортизация.ПорядокНачисленияАмортизацииБУ) КАК ПорядокНачисленияАмортизацииБУ,
| МАКСИМУМ(НачисленнаяАмортизация.ВариантПроводокПоОбесценениюВНА) КАК ВариантПроводокПоОбесценениюВНА,
|
| &ИдентификаторСтрокиТаблицы КАК ИдентификаторСтроки,
|
| СУММА(НачисленнаяАмортизация.СуммаУУ) КАК СуммаУУ,
| СУММА(НачисленнаяАмортизация.СуммаБУ) КАК СуммаБУ,
| 0 КАК СуммаНУ,
| 0 КАК СуммаПР,
| 0 КАК СуммаВР,
| 0 КАК СуммаЦФ,
| 0 КАК СуммаНУЦФ,
| 0 КАК СуммаПРЦФ,
| 0 КАК СуммаВРЦФ,
|
| СУММА(НачисленнаяАмортизация.ОбесценениеУУ) КАК ОбесценениеУУ,
| СУММА(НачисленнаяАмортизация.ОбесценениеБУ) КАК ОбесценениеБУ,
| 0 КАК ОбесценениеЦФ
|
|ПОМЕСТИТЬ НачисленнаяАмортизация
|
|ИЗ
| &ТекстПодзапроса КАК НачисленнаяАмортизация
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПакетыАмортизацииОС КАК ПакетыАмортизацииОС
| ПО ПакетыАмортизацииОС.Организация = НачисленнаяАмортизация.Организация
| И ПакетыАмортизацииОС.ОсновноеСредство = НачисленнаяАмортизация.ОсновноеСредство
|
|СГРУППИРОВАТЬ ПО
| НачисленнаяАмортизация.Ссылка,
| НачисленнаяАмортизация.ПериодРасчета,
| НачисленнаяАмортизация.ПериодНачисления,
| НачисленнаяАмортизация.Организация,
| НачисленнаяАмортизация.ЕГДС,
| ЕСТЬNULL(ПакетыАмортизацииОС.НомерПакета, 0),
| НачисленнаяАмортизация.Подразделение,
| НачисленнаяАмортизация.КорПодразделение,
| НачисленнаяАмортизация.ГруппаФинансовогоУчета,
| НачисленнаяАмортизация.НаправлениеДеятельности,
| НачисленнаяАмортизация.КорНаправлениеДеятельности,
| НачисленнаяАмортизация.ОсновноеСредство,
| НачисленнаяАмортизация.СтатьяРасходов,
| НачисленнаяАмортизация.АналитикаРасходов,
| НачисленнаяАмортизация.ЭтоДоначисление,
| НачисленнаяАмортизация.ЭтоДоначислениеБУ,
| &ГруппировкаИдентификатора";
КонецЕсли;
Если ПроведениеДокумента Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИдентификаторСтрокиТаблицы", "НачисленнаяАмортизация.ИдентификаторСтроки");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ГруппировкаИдентификатора", "НачисленнаяАмортизация.ИдентификаторСтроки");
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИдентификаторСтрокиТаблицы", "АВТОНОМЕРЗАПИСИ()");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ГруппировкаИдентификатора", "ИСТИНА");
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстПодзапроса", "(" + ТекстПодзапроса + ")");
Если ТипЗнч(СписокЗапросов) = Тип("СписокЗначений") Тогда
СписокЗапросов.Добавить(ТекстЗапроса, ИмяТаблицы);
Иначе
СписокЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
КонецПроцедуры
Функция РассчитатьАмортизациюПоТаблице(ТаблицыРасчета, ПараметрыРасчета) Экспорт
РезультатРасчета = Новый Структура;
НачатьРасчетАмортизацииПоЗаданнымПараметрамБУ(РезультатРасчета, ТаблицыРасчета, ПараметрыРасчета);
НачатьРасчетАмортизацииПоЗаданнымПараметрамУУ(РезультатРасчета, ТаблицыРасчета, ПараметрыРасчета);
АмортизацияОСЛокализация.РассчитатьАмортизациюПоТаблице(РезультатРасчета, ТаблицыРасчета, ПараметрыРасчета);
Возврат РезультатРасчета;
КонецФункции
Функция ПараметрыДляРасчетаАмортизацииПоТаблице(ПараметрыРасчета) Экспорт
ПорядокУчетаВНА = НастройкиНалоговУчетныхПолитикПовтИсп.ПорядокУчетаВНА(
ПараметрыРасчета.Организация, ПараметрыРасчета.КонецПериода);
ПорядокНачисленияАмортизацииУпр = НастройкиНалоговУчетныхПолитикПовтИсп.ПорядокНачисленияАмортизацииОСУпр(
ПараметрыРасчета.Организация, ПараметрыРасчета.КонецПериода);
ПорядокНачисленияАмортизацииРегл = НастройкиНалоговУчетныхПолитикПовтИсп.ПорядокНачисленияАмортизацииОСРегл(
ПараметрыРасчета.Организация, ПараметрыРасчета.КонецПериода);
РеглУчетВНАВедетсяНезависимо = НастройкиНалоговУчетныхПолитикПовтИсп.РеглУчетВНАВедетсяНезависимо(
ПараметрыРасчета.Организация, ПараметрыРасчета.КонецПериода);
СтандартныеДаты = Новый ТаблицаЗначений();
СтандартныеДаты.Колонки.Добавить("Дата", ОбщегоНазначения.ОписаниеТипаДата(ЧастиДаты.Дата));
Период = НачалоДня(КонецМесяца(ПараметрыРасчета.НачалоПериода));
Пока Период <= ПараметрыРасчета.КонецПериода Цикл
СтрокаПараметры = СтандартныеДаты.Добавить();
СтрокаПараметры.Дата = Период;
Период = НачалоДня(КонецМесяца(ДобавитьМесяц(Период, 1)));
КонецЦикла;
Если СтандартныеДаты.Найти(НачалоДня(ПараметрыРасчета.КонецПериода), "Дата") = Неопределено Тогда
СтрокаПараметры = СтандартныеДаты.Добавить();
СтрокаПараметры.Дата = НачалоДня(ПараметрыРасчета.КонецПериода);
КонецЕсли;
ПериодСреза = ПараметрыРасчета.НачалоПериода - 1;
Параметры = Новый Структура;
Параметры.Вставить("МенеджерВременныхТаблиц", Новый МенеджерВременныхТаблиц());
Параметры.Вставить("Ссылка", ПараметрыРасчета.Ссылка);
Параметры.Вставить("Дата", ПараметрыРасчета.Дата);
Параметры.Вставить("Организация", ПараметрыРасчета.Организация);
Параметры.Вставить("ОсновноеСредство", ПараметрыРасчета.ОсновноеСредство);
Параметры.Вставить("НачалоПериода", ПараметрыРасчета.НачалоПериода);
Параметры.Вставить("КонецПериода", ПараметрыРасчета.КонецПериода);
Параметры.Вставить("КонецПериодаУУ", ПараметрыРасчета.КонецПериодаУУ);
Параметры.Вставить("КонецПериодаБУ", ПараметрыРасчета.КонецПериодаБУ);
Параметры.Вставить("КонецПериодаНУ", ПараметрыРасчета.КонецПериодаНУ);
Параметры.Вставить("ПериодСреза", ПериодСреза);
Параметры.Вставить("ПоСтандартамМУ", ПорядокУчетаВНА = Перечисления.ПорядокУчетаВНА.ПоСтандартамМУ);
Параметры.Вставить("ПорядокНачисленияАмортизацииУпр", ПорядокНачисленияАмортизацииУпр);
Параметры.Вставить("ПорядокНачисленияАмортизацииРегл", ПорядокНачисленияАмортизацииРегл);
Параметры.Вставить("РеглУчетВНАВедетсяНезависимо", РеглУчетВНАВедетсяНезависимо);
Параметры.Вставить("АмортизационнаяПремия", ПараметрыРасчета.АмортизационнаяПремия);
Параметры.Вставить("ЗаполнитьУУ", ПараметрыРасчета.ЗаполнитьУУ);
Параметры.Вставить("ЗаполнитьБУ", ПараметрыРасчета.ЗаполнитьБУ);
Параметры.Вставить("ЗаполнитьНУ", ПараметрыРасчета.ЗаполнитьНУ);
Параметры.Вставить("СтандартныеДаты", СтандартныеДаты);
СписокРегистров = Новый Массив;
СписокРегистров.Добавить(Метаданные.РегистрыСведений.ПорядокУчетаОС.Имя);
СписокРегистров.Добавить(Метаданные.РегистрыСведений.ПорядокУчетаОСБУ.Имя);
СписокРегистров.Добавить(Метаданные.РегистрыСведений.ПорядокУчетаОСУУ.Имя);
СписокРегистров.Добавить(Метаданные.РегистрыСведений.ПараметрыАмортизацииОСБУ.Имя);
СписокРегистров.Добавить(Метаданные.РегистрыСведений.ПараметрыАмортизацииОСУУ.Имя);
СписокРегистров.Добавить(Метаданные.РегистрыСведений.МестонахождениеОС.Имя);
СписокРегистров.Добавить(Метаданные.РегистрыСведений.ПервоначальныеСведенияОС.Имя);
СписокЗапросов = Новый Массив;
Для Каждого ИмяРегистра Из СписокРегистров Цикл
СписокЗапросов.Добавить(ВнеоборотныеАктивы.ТекстЗапросаСрезПоследнихРегистраСУчетомИсправлений(ИмяРегистра));
КонецЦикла;
ТекстЗапроса = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = Параметры.МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Организация", Параметры.Организация);
Запрос.УстановитьПараметр("ДатаДокумента", КонецДня(Параметры.Дата));
Запрос.УстановитьПараметр("Дата", Параметры.ПериодСреза);
Запрос.УстановитьПараметр("СписокОС", Параметры.ОсновноеСредство);
Запрос.УстановитьПараметр("БезОтбораОС", Ложь);
Запрос.Выполнить();
СписокЗапросов = Новый Массив;
Для Каждого ИмяРегистра Из СписокРегистров Цикл
СписокЗапросов.Добавить(ВнеоборотныеАктивы.ТекстЗапросаЗаписиРегистраСУчетомИсправлений(ИмяРегистра));
КонецЦикла;
ТекстЗапроса = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = Параметры.МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Организация", Параметры.Организация);
Запрос.УстановитьПараметр("ДатаДокумента", Параметры.Дата);
Запрос.УстановитьПараметр("НачалоПериода", Параметры.НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", Параметры.КонецПериода);
Запрос.УстановитьПараметр("СписокОС", Параметры.ОсновноеСредство);
Запрос.УстановитьПараметр("БезОтбораОС", Ложь);
Запрос.Выполнить();
СписокЗапросов = Новый Массив;
#Область СтандартныеДаты
ТекстЗапроса =
"ВЫБРАТЬ
| КОНЕЦПЕРИОДА(СтандартныеДаты.Дата, ДЕНЬ) КАК Дата
|
|ПОМЕСТИТЬ СтандартныеДаты
|
|ИЗ
| &СтандартныеДаты КАК СтандартныеДаты";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область МестонахождениеОС_Записи
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация
|
|ПОМЕСТИТЬ МестонахождениеОС_Записи
|
|ИЗ
| МестонахождениеОС_СрезПоследнихСУчетомИсправлений КАК ДанныеРегистра
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация
|ИЗ
| МестонахождениеОС_ЗаписиСУчетомИсправлений КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.Период МЕЖДУ &НачалоПериода И &КонецПериода
| И ДанныеРегистра.ОсновноеСредство = &ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ВыработкаОС_Записи
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.ПоказательНаработки КАК ПоказательНаработки,
| ДанныеРегистра.Значение КАК ОбъемВыработки
|ПОМЕСТИТЬ ВыработкаОС_Записи
|ИЗ
| РегистрСведений.НаработкиОбъектовЭксплуатации.СрезПоследних(
| &КонецПредыдущегоМесяца,
| ОбъектЭксплуатации = &ОсновноеСредство) КАК ДанныеРегистра
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.ПоказательНаработки КАК ПоказательНаработки,
| ДанныеРегистра.Значение КАК ОбъемВыработки
|ИЗ
| РегистрСведений.НаработкиОбъектовЭксплуатации КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.Период МЕЖДУ &НачалоПериода И &КонецПериода
| И ДанныеРегистра.ОбъектЭксплуатации = &ОсновноеСредство
| И ДанныеРегистра.Активность";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СтоимостьОС_Записи
ТекстЗапроса =
"ВЫБРАТЬ
| СтоимостьОС.Период КАК Период,
| СтоимостьОС.Регистратор КАК Регистратор,
| СтоимостьОС.Организация КАК Организация,
| СтоимостьОС.СтоимостьКонечныйОстаток КАК Стоимость,
| СтоимостьОС.СтоимостьРеглКонечныйОстаток КАК СтоимостьРегл,
| СтоимостьОС.СтоимостьНУКонечныйОстаток КАК СтоимостьНУ,
| СтоимостьОС.СтоимостьПРКонечныйОстаток КАК СтоимостьПР,
| СтоимостьОС.СтоимостьЦФКонечныйОстаток КАК СтоимостьЦФ,
| СтоимостьОС.СтоимостьПРЦФКонечныйОстаток КАК СтоимостьПРЦФ,
| СтоимостьОС.ПредварительнаяСтоимостьКонечныйОстаток КАК ПредварительнаяСтоимость,
| СтоимостьОС.ПредварительнаяСтоимостьРеглКонечныйОстаток КАК ПредварительнаяСтоимостьРегл,
| СтоимостьОС.АмортизационнаяПремияКонечныйОстаток КАК АмортизационнаяПремия
|
|ПОМЕСТИТЬ СтоимостьОС_Записи
|
|ИЗ
| РегистрНакопления.СтоимостьОС.ОстаткиИОбороты(
| &КонецПредыдущегоМесяцаГраница,
| &КонецПериода,
| Регистратор,
| ДвиженияИГраницыПериода,
| ОсновноеСредство = &ОсновноеСредство) КАК СтоимостьОС";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраСрезПоследнихСУчетомИсправлений(
"МестонахождениеОС_СрезПоследнихСУчетомИсправлений", Метаданные.РегистрыСведений.МестонахождениеОС.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраЗаписиСУчетомИсправлений(
"МестонахождениеОС_ЗаписиСУчетомИсправлений", Метаданные.РегистрыСведений.МестонахождениеОС.Имя, ТекстЗапроса);
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = Параметры.МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Дата", Параметры.КонецПериода);
Запрос.УстановитьПараметр("Организация", Параметры.Организация);
Запрос.УстановитьПараметр("ОсновноеСредство", Параметры.ОсновноеСредство);
Запрос.УстановитьПараметр("НачалоПериода", Параметры.НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", Параметры.КонецПериода);
Запрос.УстановитьПараметр("КонецПредыдущегоМесяца", Параметры.НачалоПериода-1);
Запрос.УстановитьПараметр("КонецПредыдущегоМесяцаГраница", Новый Граница(Параметры.НачалоПериода-1, ВидГраницы.Включая));
Запрос.УстановитьПараметр("СтандартныеДаты", Параметры.СтандартныеДаты);
Запрос.Выполнить();
ПараметрыДляРасчета = Новый Структура;
ЗаполнитьПараметрыЗаПериодУУ(ПараметрыДляРасчета, Параметры);
ЗаполнитьПараметрыЗаПериодБУ(ПараметрыДляРасчета, Параметры);
АмортизацияОСЛокализация.ПараметрыДляРасчетаАмортизацииПоТаблице(ПараметрыДляРасчета, Параметры);
Возврат ПараметрыДляРасчета;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.АмортизацияОС2_4";
ВЗапросеЕстьИсточник = Истина;
ЗначенияПараметров = ЗначенияПараметровПроведения();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры)
ПроведениеДокументов.ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
СформироватьТаблицуВтСписокДокументов(Запрос);
ПолучитьДанныеДокумента(Запрос);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения(Реквизиты);
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
КонецПроцедуры
Процедура СформироватьТаблицуВтСписокДокументов(Запрос)
Запрос.Текст =
"ВЫБРАТЬ
| СписокДокументов.Ссылка КАК Ссылка,
| СписокДокументов.Организация КАК Организация,
| СписокДокументов.Дата КАК Период
|
|ПОМЕСТИТЬ ВтСписокДокументов
|
|ИЗ
| Документ.АмортизацияОС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)
|";
ТекстыЗапросаОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(ТекстыЗапросаОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ДополнительныеПоля = "";
РасчетСебестоимостиЛокализация.ДобавитьДополнительныеПоляПоНДД(ДополнительныеПоля);
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы(ДополнительныеПоля);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК ДатаДокументаИБ,
| ДанныеДокумента.Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| ДанныеДокумента.Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| ДанныеДокумента.Дата КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| ЛОЖЬ КАК СторноИсправление,
| НЕОПРЕДЕЛЕНО КАК СторнируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ДанныеДокумента.Дата КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|
|ИЗ
| Документ.АмортизацияОС2_4 КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ДополнительныеПоля = "";
РасчетСебестоимостиЛокализация.ДобавитьДополнительныеПоляПоНДД(ДополнительныеПоля);
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы(ДополнительныеПоля);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
ДополнительныеПоля = "";
РасчетСебестоимостиЛокализация.ДобавитьДополнительныеПоляПоНДД(ДополнительныеПоля);
СписокЗапросовОбъединение = Новый Массив;
СписокЗапросовОбъединение.Добавить(РегистрыНакопления.ПрочиеРасходы.ТекстОписаниеВтИсходныеПрочиеРасходы(ДополнительныеПоля));
СписокЗапросовОбъединение.Добавить(ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаОтражениеНачисленнойАмортизацииВПрочихРасходах(ДополнительныеПоля));
СписокЗапросовОбъединение.Добавить(ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаОтражениеОбесцененияВПрочихРасходах(ДополнительныеПоля));
АмортизацияОСЛокализация.ДополнитьТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(СписокЗапросовОбъединение, ДополнительныеПоля);
ТекстЗапроса = СтрСоединить(СписокЗапросовОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПартииПрочихРасходов";
СписокЗапросовОбъединение = Новый Массив;
СписокЗапросовОбъединение.Добавить(РегистрыНакопления.ПартииПрочихРасходов.ТекстОписаниеВтИсходныеПартииПрочихРасходов());
СписокЗапросовОбъединение.Добавить(ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаОтражениеНачисленнойАмортизацииВПартияхПрочихРасходов());
СписокЗапросовОбъединение.Добавить(ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаОтражениеОбесцененияВПартияхПрочихРасходах());
ТекстЗапроса = СтрСоединить(СписокЗапросовОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияПоПрочимАктивамПассивам";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
СписокЗапросовОбъединение = Новый Массив;
#Область Амортизация
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| НачисленнаяАмортизация.ПериодРасчета КАК Период,
| НачисленнаяАмортизация.Организация КАК Организация,
| НачисленнаяАмортизация.Подразделение КАК Подразделение,
| НачисленнаяАмортизация.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.РасчетыПоВыделенномуИмуществу) КАК Статья,
| НачисленнаяАмортизация.ОрганизацияПолучательРасходов КАК Аналитика,
| НЕОПРЕДЕЛЕНО КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет) КАК ДебетКредит,
|
| НачисленнаяАмортизация.СуммаБУ КАК СуммаРегл,
| НачисленнаяАмортизация.СуммаПР КАК ПостояннаяРазница,
| НачисленнаяАмортизация.СуммаВР КАК ВременнаяРазница,
| НачисленнаяАмортизация.СуммаУУ КАК СуммаУпр,
| НачисленнаяАмортизация.СуммаУУ КАК СуммаСНДС,
| НачисленнаяАмортизация.СуммаУУ КАК СуммаБезНДС,
|
| НачисленнаяАмортизация.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.АмортизацияОСвДругуюОрганизацию) КАК НастройкаХозяйственнойОперации
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НачисленнаяАмортизация КАК НачисленнаяАмортизация
| ПО НачисленнаяАмортизация.Организация = ДанныеДокумента.Организация
| И НачисленнаяАмортизация.НомерПакета = ДанныеДокумента.НомерПакета
|
|ГДЕ
| НачисленнаяАмортизация.ПередаватьРасходыВДругуюОрганизацию
| И НачисленнаяАмортизация.ОрганизацияПолучательРасходов <> ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
| И НЕ НачисленнаяАмортизация.НачислятьИзнос
|
| И (НачисленнаяАмортизация.СуммаБУ <> 0
| ИЛИ НачисленнаяАмортизация.СуммаПР <> 0
| ИЛИ НачисленнаяАмортизация.СуммаВР <> 0
| ИЛИ НачисленнаяАмортизация.СуммаУУ <> 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| НачисленнаяАмортизация.ПериодРасчета КАК Период,
| НачисленнаяАмортизация.ОрганизацияПолучательРасходов КАК Организация,
| НачисленнаяАмортизация.КорПодразделение КАК Подразделение,
| НачисленнаяАмортизация.КорНаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.РасчетыПоВыделенномуИмуществу) КАК Статья,
| НачисленнаяАмортизация.Организация КАК Аналитика,
| НЕОПРЕДЕЛЕНО КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит) КАК ДебетКредит,
|
| НачисленнаяАмортизация.СуммаБУ КАК СуммаРегл,
| НачисленнаяАмортизация.СуммаПР КАК ПостояннаяРазница,
| НачисленнаяАмортизация.СуммаВР КАК ВременнаяРазница,
| НачисленнаяАмортизация.СуммаУУ КАК СуммаУпр,
| НачисленнаяАмортизация.СуммаУУ КАК СуммаСНДС,
| НачисленнаяАмортизация.СуммаУУ КАК СуммаБезНДС,
|
| НачисленнаяАмортизация.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.АмортизацияОСизДругойОрганизации) КАК НастройкаХозяйственнойОперации
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НачисленнаяАмортизация КАК НачисленнаяАмортизация
| ПО НачисленнаяАмортизация.Организация = ДанныеДокумента.Организация
| И НачисленнаяАмортизация.НомерПакета = ДанныеДокумента.НомерПакета
|
|ГДЕ
| НачисленнаяАмортизация.ПередаватьРасходыВДругуюОрганизацию
| И НачисленнаяАмортизация.ОрганизацияПолучательРасходов <> ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
| И НЕ НачисленнаяАмортизация.НачислятьИзнос
|
| И (НачисленнаяАмортизация.СуммаБУ <> 0
| ИЛИ НачисленнаяАмортизация.СуммаПР <> 0
| ИЛИ НачисленнаяАмортизация.СуммаВР <> 0
| ИЛИ НачисленнаяАмортизация.СуммаУУ <> 0)
|";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СторноОбесценения
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| НачисленнаяАмортизация.ПериодРасчета КАК Период,
| НачисленнаяАмортизация.Организация КАК Организация,
| НачисленнаяАмортизация.Подразделение КАК Подразделение,
| НачисленнаяАмортизация.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.РасчетыПоВыделенномуИмуществу) КАК Статья,
| НачисленнаяАмортизация.ОрганизацияПолучательРасходов КАК Аналитика,
| НЕОПРЕДЕЛЕНО КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет) КАК ДебетКредит,
|
| -НачисленнаяАмортизация.ОбесценениеБУ КАК СуммаРегл,
| 0 КАК ПостояннаяРазница,
| -НачисленнаяАмортизация.ОбесценениеБУ КАК ВременнаяРазница,
| -НачисленнаяАмортизация.ОбесценениеУУ КАК СуммаУпр,
| -НачисленнаяАмортизация.ОбесценениеУУ КАК СуммаСНДС,
| -НачисленнаяАмортизация.ОбесценениеУУ КАК СуммаБезНДС,
|
| НачисленнаяАмортизация.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноОбесцененияОСВДругуюОрганизацию) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НачисленнаяАмортизация КАК НачисленнаяАмортизация
| ПО НачисленнаяАмортизация.Организация = ДанныеДокумента.Организация
| И НачисленнаяАмортизация.НомерПакета = ДанныеДокумента.НомерПакета
|
|ГДЕ
| НачисленнаяАмортизация.ПередаватьРасходыВДругуюОрганизацию
| И НачисленнаяАмортизация.ОрганизацияПолучательРасходов <> ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
| И НЕ НачисленнаяАмортизация.НачислятьИзнос
|
| И НачисленнаяАмортизация.ВариантПроводокПоОбесценениюВНА = &СторнироватьКорректировкуОбесценения
|
| И (НачисленнаяАмортизация.ОбесценениеУУ <> 0
| ИЛИ НачисленнаяАмортизация.ОбесценениеБУ <> 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| НачисленнаяАмортизация.ПериодРасчета КАК Период,
| НачисленнаяАмортизация.ОрганизацияПолучательРасходов КАК Организация,
| НачисленнаяАмортизация.КорПодразделение КАК Подразделение,
| НачисленнаяАмортизация.КорНаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.РасчетыПоВыделенномуИмуществу) КАК Статья,
| НачисленнаяАмортизация.Организация КАК Аналитика,
| НЕОПРЕДЕЛЕНО КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит) КАК ДебетКредит,
|
| -НачисленнаяАмортизация.ОбесценениеБУ КАК СуммаРегл,
| 0 КАК ПостояннаяРазница,
| -НачисленнаяАмортизация.ОбесценениеБУ КАК ВременнаяРазница,
| -НачисленнаяАмортизация.ОбесценениеУУ КАК СуммаУпр,
| -НачисленнаяАмортизация.ОбесценениеУУ КАК СуммаСНДС,
| -НачисленнаяАмортизация.ОбесценениеУУ КАК СуммаБезНДС,
|
| НачисленнаяАмортизация.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноОбесцененияОСизДругойОрганизации) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НачисленнаяАмортизация КАК НачисленнаяАмортизация
| ПО НачисленнаяАмортизация.Организация = ДанныеДокумента.Организация
| И НачисленнаяАмортизация.НомерПакета = ДанныеДокумента.НомерПакета
|
|ГДЕ
| НачисленнаяАмортизация.ПередаватьРасходыВДругуюОрганизацию
| И НачисленнаяАмортизация.ОрганизацияПолучательРасходов <> ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
| И НЕ НачисленнаяАмортизация.НачислятьИзнос
|
| И НачисленнаяАмортизация.ВариантПроводокПоОбесценениюВНА = &СторнироватьКорректировкуОбесценения
|
| И (НачисленнаяАмортизация.ОбесценениеУУ <> 0
| ИЛИ НачисленнаяАмортизация.ОбесценениеБУ <> 0)
|";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
АмортизацияОСЛокализация.ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(СписокЗапросовОбъединение);
ТекстЗапроса = СтрСоединить(СписокЗапросовОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияДоходыРасходыПрочиеАктивыПассивы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстыЗапросаОбъединение = Новый Массив;
#Область СторноОбесценения
ТекстЗапроса =
"ВЫБРАТЬ
| НачисленнаяАмортизация.ПериодРасчета КАК Период,
| НачисленнаяАмортизация.Организация КАК Организация,
|
| НачисленнаяАмортизация.Подразделение КАК Подразделение,
| НачисленнаяАмортизация.НаправлениеДеятельности КАК НаправлениеДеятельности,
| &СтатьяАП_ОС КАК Статья,
| НачисленнаяАмортизация.ОсновноеСредство КАК АналитикаАктивовПассивов,
| НачисленнаяАмортизация.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
|
| НачисленнаяАмортизация.КорПодразделение КАК КорПодразделение,
| НачисленнаяАмортизация.КорНаправлениеДеятельности КАК КорНаправлениеДеятельности,
| НачисленнаяАмортизация.СтатьяРасходов КАК КорСтатья,
| НачисленнаяАмортизация.АналитикаРасходов КАК КорАналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК КорГруппаФинансовогоУчета,
|
| -НачисленнаяАмортизация.ОбесценениеУУ КАК Сумма,
| -НачисленнаяАмортизация.ОбесценениеУУ КАК СуммаУпр,
| -(НачисленнаяАмортизация.ОбесценениеБУ + НачисленнаяАмортизация.ОбесценениеЦФ) КАК СуммаРегл,
|
| ВЫБОР
| КОГДА НачисленнаяАмортизация.ПередаватьРасходыВДругуюОрганизацию
| И НачисленнаяАмортизация.ОрганизацияПолучательРасходов <> ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноОбесцененияОСВДругуюОрганизацию)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноОбесцененияОС)
| КОНЕЦ КАК ХозяйственнаяОперация
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НачисленнаяАмортизация КАК НачисленнаяАмортизация
| ПО НачисленнаяАмортизация.Организация = ДанныеДокумента.Организация
| И НачисленнаяАмортизация.НомерПакета = ДанныеДокумента.НомерПакета
|
|ГДЕ
| НачисленнаяАмортизация.ВариантПроводокПоОбесценениюВНА = &СторнироватьКорректировкуОбесценения
|
| И (НачисленнаяАмортизация.ОбесценениеУУ <> 0
| ИЛИ НачисленнаяАмортизация.ОбесценениеБУ <> 0
| ИЛИ НачисленнаяАмортизация.ОбесценениеЦФ <> 0)
|";
ТекстыЗапросаОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область КорректировкаОбесценения
ТекстЗапроса =
"ВЫБРАТЬ
| НачисленнаяАмортизация.ПериодРасчета КАК Период,
| НачисленнаяАмортизация.Организация КАК Организация,
|
| НачисленнаяАмортизация.Подразделение КАК Подразделение,
| НачисленнаяАмортизация.НаправлениеДеятельности КАК НаправлениеДеятельности,
| &СтатьяАП_ОС КАК Статья,
| НачисленнаяАмортизация.ОсновноеСредство КАК АналитикаАктивовПассивов,
| НачисленнаяАмортизация.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
|
| НачисленнаяАмортизация.Подразделение КАК КорПодразделение,
| НачисленнаяАмортизация.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| &СтатьяАП_ОС КАК КорСтатья,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаРасходов,
| НачисленнаяАмортизация.ОсновноеСредство КАК КорАналитикаАктивовПассивов,
| НачисленнаяАмортизация.ГруппаФинансовогоУчета КАК КорГруппаФинансовогоУчета,
|
| НачисленнаяАмортизация.ОбесценениеУУ КАК Сумма,
| НачисленнаяАмортизация.ОбесценениеУУ КАК СуммаУпр,
| НачисленнаяАмортизация.ОбесценениеБУ + НачисленнаяАмортизация.ОбесценениеЦФ КАК СуммаРегл,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОбесцененияОС) КАК ХозяйственнаяОперация
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НачисленнаяАмортизация КАК НачисленнаяАмортизация
| ПО НачисленнаяАмортизация.Организация = ДанныеДокумента.Организация
| И НачисленнаяАмортизация.НомерПакета = ДанныеДокумента.НомерПакета
|
|ГДЕ
| НачисленнаяАмортизация.ВариантПроводокПоОбесценениюВНА = &ДоначислятьКорректировкуОбесценения
|
| И (НачисленнаяАмортизация.ОбесценениеУУ <> 0
| ИЛИ НачисленнаяАмортизация.ОбесценениеБУ <> 0
| ИЛИ НачисленнаяАмортизация.ОбесценениеЦФ <> 0)
|";
ТекстыЗапросаОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(ТекстыЗапросаОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
#КонецОбласти
#Область ПроведениеПоРеглУчету
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат АмортизацияОСЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат АмортизацияОСЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
#Область РасчетАмортизации
Процедура ПодготовитьСписокОбъектов(ПараметрыРасчета)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
РасчетАмортизацииОС.УстановитьПараметрыЗапросаДляРасчетаАмортизации(Запрос, ПараметрыРасчета);
СписокЗапросов = Новый Массив;
ТекстЗапросаВтДанныеКРасчету(СписокЗапросов);
ТекстЗапросаСписокВсехОС(СписокЗапросов, ПараметрыРасчета);
ТекстЗапросаСписокОбъектовУчета(СписокЗапросов, ПараметрыРасчета);
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
УстановитьПривилегированныйРежим(Истина);
Запрос.Выполнить();
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
Процедура ПодготовитьПараметрыДляРасчетаАмортизации(ПараметрыРасчета)
ОписаниеЗамера = ОценкаПроизводительности.НачатьЗамерДлительнойОперации("АмортизацияОС.РассчитатьАмортизацию.ПодготовитьПараметры");
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
РасчетАмортизацииОС.УстановитьПараметрыЗапросаДляРасчетаАмортизации(Запрос, ПараметрыРасчета);
Запрос.УстановитьПараметр("Дата", КонецМесяца(ПараметрыРасчета.Период));
Запрос.УстановитьПараметр("БазоваяВалюта", ЗначениеНастроекПовтИсп.БазоваяВалютаПоУмолчанию());
Запрос.УстановитьПараметр("ТипыДоговоровПоФСБУ25", УчетАрендованныхОСКлиентСервер.ТипыДоговоровДоходнойАренды());
СписокЗапросов = Новый Массив;
ТекстЗапросаПараметрыРасчетаАмортизации(СписокЗапросов, ПараметрыРасчета);
ТекстЗапросаПроверкаПараметровРасчета(СписокЗапросов, ПараметрыРасчета);
ТекстЗапросаКоличествоПараметровРасчета(СписокЗапросов, ПараметрыРасчета);
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
УстановитьПривилегированныйРежим(Истина);
РезультатЗапроса = Запрос.Выполнить();
УстановитьПривилегированныйРежим(Ложь);
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
КоличествоДанных = Выборка.КоличествоДанных;
ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, КоличествоДанных);
КонецПроцедуры
Процедура ВыполнитьРасчетАмортизации(ПараметрыРасчета)
ОписаниеЗамера = ОценкаПроизводительности.НачатьЗамерДлительнойОперации("АмортизацияОС.РассчитатьАмортизацию.ВыполнитьРасчет");
АмортизацияОСЛокализация.ВыполнитьРасчетАмортизации(ПараметрыРасчета);
ДоначислитьАмортизациюУУЗаПрошлыйМесяц(ПараметрыРасчета);
ДоначислитьАмортизациюБУЗаПрошлыйМесяц(ПараметрыРасчета);
РассчитатьАмортизациюУУЗаТекущийМесяц(ПараметрыРасчета);
РассчитатьАмортизациюБУЗаТекущийМесяц(ПараметрыРасчета);
ОбъединитьРезультатыРасчета(ПараметрыРасчета);
ПроверитьРезультатыРасчета(ПараметрыРасчета);
ПолучитьКоличествоОбработанныхДанных(ПараметрыРасчета);
ОбщегоНазначенияУТ.ДобавитьИдентификаторыВоВременнуюТаблицу("НачисленнаяАмортизация", ПараметрыРасчета.МенеджерВременныхТаблиц);
ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, ПараметрыРасчета.КоличествоОбработанныхДанных);
КонецПроцедуры
Процедура ДоначислитьАмортизациюУУЗаПрошлыйМесяц(ПараметрыРасчета)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
РасчетАмортизацииОС.УстановитьПараметрыЗапросаДляРасчетаАмортизации(Запрос, ПараметрыРасчета);
СписокЗапросов = Новый Массив;
ТекстЗапросаДоначислениеАмортизацииБезИзмененийУУ(СписокЗапросов, ПараметрыРасчета);
ТекстЗапросаДоначислениеАмортизацииВыборкаИзмененийУУ(СписокЗапросов, ПараметрыРасчета);
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
РезультатЗапроса = Запрос.Выполнить();
АмортизацияИзменений = РассчитатьАмортизациюПриИзмененииПараметров(РезультатЗапроса, Неопределено);
СписокЗапросов = Новый Массив;
ТекстЗапросаДоначислениеАмортизацииУУ(СписокЗапросов, ПараметрыРасчета);
ТекстЗапросаДоначислениеАмортизацииУУ_Сгруппированная(СписокЗапросов, ПараметрыРасчета);
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.УстановитьПараметр("АмортизацияИзменений_УУ", АмортизацияИзменений);
РезультатЗапроса = Запрос.ВыполнитьПакет();
КонецПроцедуры
Процедура ДоначислитьАмортизациюБУЗаПрошлыйМесяц(ПараметрыРасчета)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
РасчетАмортизацииОС.УстановитьПараметрыЗапросаДляРасчетаАмортизации(Запрос, ПараметрыРасчета);
СписокЗапросов = Новый Массив;
ТекстЗапросаДоначислениеАмортизацииБезИзмененийБУ(СписокЗапросов, ПараметрыРасчета);
ТекстЗапросаДоначислениеАмортизацииВыборкаИзмененийБУ(СписокЗапросов, ПараметрыРасчета);
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
РезультатЗапроса = Запрос.Выполнить();
АмортизацияИзменений = РассчитатьАмортизациюПриИзмененииПараметров(РезультатЗапроса, Неопределено);
СписокЗапросов = Новый Массив;
ТекстЗапросаДоначислениеАмортизацииБУ(СписокЗапросов, ПараметрыРасчета);
ТекстЗапросаДоначислениеАмортизацииБУ_Сгруппированная(СписокЗапросов, ПараметрыРасчета);
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.УстановитьПараметр("АмортизацияИзменений_БУ_МУ", АмортизацияИзменений);
РезультатЗапроса = Запрос.ВыполнитьПакет();
КонецПроцедуры
Процедура РассчитатьАмортизациюУУЗаТекущийМесяц(ПараметрыРасчета)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
РасчетАмортизацииОС.УстановитьПараметрыЗапросаДляРасчетаАмортизации(Запрос, ПараметрыРасчета);
СписокЗапросов = Новый Массив;
ТекстЗапросаРасчетАмортизацииБезИзмененийУУ(СписокЗапросов, ПараметрыРасчета);
ТекстЗапросаРасчетАмортизацииВыборкаИзмененийУУ(СписокЗапросов, ПараметрыРасчета);
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
РезультатЗапроса = Запрос.ВыполнитьПакет();
АмортизацияИзменений = РассчитатьАмортизациюПриИзмененииПараметров(
РезультатЗапроса[РезультатЗапроса.ВГраница()],
РезультатЗапроса[РезультатЗапроса.ВГраница()-1].Выгрузить());
Запрос.Текст =
"ВЫБРАТЬ
| СписокОС.Период КАК Период,
| СписокОС.Организация КАК Организация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.СуммаУУ КАК СуммаУУ,
| СписокОС.СуммаБУ КАК СуммаБУ,
| СписокОС.ОбесценениеУУ КАК ОбесценениеУУ,
| СписокОС.ОбесценениеБУ КАК ОбесценениеБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.ОстатокОбесцененияУпр КАК ОстатокОбесцененияУпр,
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА
|
|ПОМЕСТИТЬ РасчетАмортизацииСУчетомИзмененийУУ
|
|ИЗ
| &АмортизацияИзменений_УУ КАК СписокОС
|
|ГДЕ
| СписокОС.ЭтоИзменения";
Запрос.УстановитьПараметр("АмортизацияИзменений_УУ", АмортизацияИзменений);
Запрос.Выполнить();
КонецПроцедуры
Процедура РассчитатьАмортизациюБУЗаТекущийМесяц(ПараметрыРасчета)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
РасчетАмортизацииОС.УстановитьПараметрыЗапросаДляРасчетаАмортизации(Запрос, ПараметрыРасчета);
СписокЗапросов = Новый Массив;
ТекстЗапросаРасчетАмортизацииБезИзмененийБУ(СписокЗапросов, ПараметрыРасчета);
ТекстЗапросаРасчетАмортизацииВыборкаИзмененийБУ(СписокЗапросов, ПараметрыРасчета);
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
РезультатЗапроса = Запрос.ВыполнитьПакет();
АмортизацияИзменений = РассчитатьАмортизациюПриИзмененииПараметров(
РезультатЗапроса[РезультатЗапроса.ВГраница()],
РезультатЗапроса[РезультатЗапроса.ВГраница()-1].Выгрузить());
Запрос.Текст =
"ВЫБРАТЬ
| СписокОС.Период КАК Период,
| СписокОС.Организация КАК Организация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.СуммаБУ КАК СуммаБУ,
| СписокОС.ОбесценениеБУ КАК ОбесценениеБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА
|
|ПОМЕСТИТЬ РасчетАмортизацииСУчетомИзмененийБУ_МУ
|
|ИЗ
| &АмортизацияИзменений_БУ_МУ КАК СписокОС
|
|ГДЕ
| СписокОС.ЭтоИзменения";
Запрос.УстановитьПараметр("АмортизацияИзменений_БУ_МУ", АмортизацияИзменений);
Запрос.Выполнить();
КонецПроцедуры
Процедура ОбъединитьРезультатыРасчета(ПараметрыРасчета)
СписокЗапросов = Новый Массив;
ТекстЗапросаРасчетАмортизации_УУ(СписокЗапросов, ПараметрыРасчета);
ТекстЗапросаРасчетАмортизации_БУ_МУ(СписокЗапросов, ПараметрыРасчета);
ТекстЗапросаНачисленнаяАмортизация(СписокЗапросов, ПараметрыРасчета);
ТекстЗапроса = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
РасчетАмортизацииОС.УстановитьПараметрыЗапросаДляРасчетаАмортизации(Запрос, ПараметрыРасчета);
Запрос.Выполнить();
КонецПроцедуры
Процедура ПроверитьРезультатыРасчета(ПараметрыРасчета)
АмортизацияОСЛокализация.ПроверитьРезультатыРасчета(ПараметрыРасчета);
СписокЗапросов = Новый Массив;
#Область ПроверкаРасчета_УУ
ТекстЗапроса =
"ВЫБРАТЬ
| РасчетАмортизации.Организация КАК Организация,
| РасчетАмортизации.ОбъектУчета КАК ОбъектУчета,
| РасчетАмортизации.НеУказанаСтатьяРасходов КАК НеУказанаСтатьяРасходов
|
|ПОМЕСТИТЬ ПроверкаРасчета_УУ
|
|ИЗ
| (ВЫБРАТЬ
| РасчетАмортизации.Организация КАК Организация,
| РасчетАмортизации.ОсновноеСредство КАК ОбъектУчета,
|
| РасчетАмортизации.СтатьяРасходов = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка) КАК НеУказанаСтатьяРасходов
|
| ИЗ
| РасчетАмортизации_УУ КАК РасчетАмортизации
|
| ГДЕ
| (РасчетАмортизации.СуммаУУ <> 0
| ИЛИ РасчетАмортизации.СуммаБУ <> 0)
|
| ) КАК РасчетАмортизации
|
|ГДЕ
| РасчетАмортизации.НеУказанаСтатьяРасходов
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектУчета";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПроверкаРасчета_БУ_МУ
ТекстЗапроса =
"ВЫБРАТЬ
| РасчетАмортизации.Организация КАК Организация,
| РасчетАмортизации.ОбъектУчета КАК ОбъектУчета,
| РасчетАмортизации.НеУказанаСтатьяРасходов КАК НеУказанаСтатьяРасходов
|
|ПОМЕСТИТЬ ПроверкаРасчета_БУ_МУ
|
|ИЗ
| (ВЫБРАТЬ
| РасчетАмортизации.Организация КАК Организация,
| РасчетАмортизации.ОсновноеСредство КАК ОбъектУчета,
|
| РасчетАмортизации.СтатьяРасходов = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка) КАК НеУказанаСтатьяРасходов
|
| ИЗ
| РасчетАмортизации_БУ_МУ КАК РасчетАмортизации
|
| ГДЕ
| РасчетАмортизации.СуммаБУ <> 0
|
| ) КАК РасчетАмортизации
|
|ГДЕ
| РасчетАмортизации.НеУказанаСтатьяРасходов
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектУчета";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
Запрос.Выполнить();
КонецПроцедуры
Процедура ПолучитьКоличествоОбработанныхДанных(ПараметрыРасчета)
ТекстЗапроса = ТекстЗапросаКоличествоОбработанныхДанных(ПараметрыРасчета);
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
ПараметрыРасчета.КоличествоОбработанныхДанных = Выборка.КоличествоДанных;
КонецПроцедуры
Функция РассчитатьАмортизациюПриИзмененииПараметров(РезультатЗапроса, ТаблицаИсточникИПолучатель) Экспорт
АмортизацияИзменений = РезультатЗапроса.Выгрузить();
Если АмортизацияИзменений.Количество() = 0 Тогда
Возврат АмортизацияИзменений;
КонецЕсли;
АмортизацияИзменений.Сортировать("ЭтоИзменения,Период,Приоритет");
Если ТаблицаИсточникИПолучатель <> Неопределено Тогда
ТаблицаИсточникИПолучатель.Индексы.Добавить("ОсновноеСредствоПолучатель,Ссылка");
КонецЕсли;
ЗначенияПараметровРасчетаИзменений = Новый Соответствие;
Для каждого ДанныеСтроки Из АмортизацияИзменений Цикл
ЗначенияПараметров = ЗначенияПараметровРасчетаИзменений.Получить(ДанныеСтроки.ОсновноеСредство);
Если ЗначенияПараметров = Неопределено Тогда
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("СтоимостьУпр", 0);
ЗначенияПараметров.Вставить("СтоимостьРегл", 0);
ЗначенияПараметров.Вставить("СтоимостьЦФ", 0);
ЗначенияПараметров.Вставить("СтоимостьПР", 0);
ЗначенияПараметров.Вставить("АмортизацияУпр", 0);
ЗначенияПараметров.Вставить("АмортизацияРегл", 0);
ЗначенияПараметров.Вставить("АмортизацияЦФ", 0);
ЗначенияПараметров.Вставить("АмортизацияПР", 0);
ЗначенияПараметров.Вставить("ОбесценениеУпр", 0);
ЗначенияПараметров.Вставить("ОбесценениеРегл", 0);
ЗначенияПараметров.Вставить("АмортизацияЗаМесяцУпр", 0);
ЗначенияПараметров.Вставить("АмортизацияЗаМесяцРегл", 0);
ЗначенияПараметров.Вставить("АмортизацияЗаМесяцПР", 0);
ЗначенияПараметров.Вставить("ОбесценениеЗаМесяцУпр", 0);
ЗначенияПараметров.Вставить("ОбесценениеЗаМесяцРегл", 0);
ЗначенияПараметров.СтоимостьУпр = ДанныеСтроки.Стоимость;
ЗначенияПараметров.СтоимостьРегл = ДанныеСтроки.СтоимостьРегл;
ЗначенияПараметров.СтоимостьЦФ = ДанныеСтроки.СтоимостьЦФ;
ЗначенияПараметров.СтоимостьПР = ДанныеСтроки.СтоимостьПР;
ЗначенияПараметров.АмортизацияУпр = ДанныеСтроки.Амортизация;
ЗначенияПараметров.АмортизацияРегл = ДанныеСтроки.АмортизацияРегл;
ЗначенияПараметров.АмортизацияЦФ = ДанныеСтроки.АмортизацияЦФ;
ЗначенияПараметров.АмортизацияПР = ДанныеСтроки.АмортизацияПР;
ЗначенияПараметров.ОбесценениеУпр = ДанныеСтроки.ОстатокОбесцененияУпр;
ЗначенияПараметров.ОбесценениеРегл = ДанныеСтроки.ОстатокОбесцененияРегл;
ЗначенияПараметровРасчетаИзменений.Вставить(ДанныеСтроки.ОсновноеСредство, ЗначенияПараметров);
КонецЕсли;
УвеличитьСтоимостьИАмортизациюПриРазукомплектацииИОбъединении(
ДанныеСтроки,
ЗначенияПараметровРасчетаИзменений,
ТаблицаИсточникИПолучатель);
Если ДанныеСтроки.ЭтоИзменения Тогда
Если ТипЗнч(ДанныеСтроки.Регистратор) = Тип("ДокументСсылка.ПереоценкаОС2_4") Тогда
РезультатПереоценки = ВнеоборотныеАктивыСлужебный.РезультатПереоценки(
ЗначенияПараметров.СтоимостьУпр,
ЗначенияПараметров.АмортизацияУпр + ЗначенияПараметров.АмортизацияЗаМесяцУпр,
ЗначенияПараметров.ОбесценениеУпр,
ДанныеСтроки.СтоимостьИзменение,
ДанныеСтроки.МетодПереоценки,
ДанныеСтроки.ПереоценкаПоСправедливойСтоимости);
ЗначенияПараметров.СтоимостьУпр = ЗначенияПараметров.СтоимостьУпр + РезультатПереоценки.ИзменениеСтоимости;
ЗначенияПараметров.АмортизацияУпр = ЗначенияПараметров.АмортизацияУпр + РезультатПереоценки.ИзменениеАмортизации;
ЗначенияПараметров.ОбесценениеУпр = ЗначенияПараметров.ОбесценениеУпр + РезультатПереоценки.ИзменениеОбесценения;
РезультатПереоценки = ВнеоборотныеАктивыСлужебный.РезультатПереоценки(
ЗначенияПараметров.СтоимостьРегл,
ЗначенияПараметров.АмортизацияРегл + ЗначенияПараметров.АмортизацияЗаМесяцРегл,
ЗначенияПараметров.ОбесценениеРегл,
ДанныеСтроки.СтоимостьРеглИзменение,
ДанныеСтроки.МетодПереоценки,
ДанныеСтроки.ПереоценкаПоСправедливойСтоимости);
ЗначенияПараметров.СтоимостьРегл = ЗначенияПараметров.СтоимостьРегл + РезультатПереоценки.ИзменениеСтоимости;
ЗначенияПараметров.АмортизацияРегл = ЗначенияПараметров.АмортизацияРегл + РезультатПереоценки.ИзменениеАмортизации;
ЗначенияПараметров.ОбесценениеРегл = ЗначенияПараметров.ОбесценениеРегл + РезультатПереоценки.ИзменениеОбесценения;
ИначеЕсли ТипЗнч(ДанныеСтроки.Регистратор) = Тип("ДокументСсылка.ИзменениеУсловийДоговораАренды") Тогда
Если ДанныеСтроки.Стоимость <> 0 Тогда
ЗначенияПараметров.СтоимостьУпр = ДанныеСтроки.СтоимостьИзменение;
КонецЕсли;
Если ДанныеСтроки.СтоимостьРегл <> 0 Тогда
ЗначенияПараметров.СтоимостьРегл = ДанныеСтроки.СтоимостьРеглИзменение;
КонецЕсли;
ИначеЕсли ТипЗнч(ДанныеСтроки.Регистратор) = Тип("ДокументСсылка.СписаниеОС2_4")
ИЛИ ТипЗнч(ДанныеСтроки.Регистратор) = Тип("ДокументСсылка.РазукомплектацияОС")
И НЕ ДанныеСтроки.ПолученПриРазукомплектацииОбъединении Тогда
Если ДанныеСтроки.НачислятьАмортизацию Тогда
ЗначенияПараметров.СтоимостьУпр = ЗначенияПараметров.СтоимостьУпр + ДанныеСтроки.СтоимостьИзменение;
ЗначенияПараметров.СтоимостьРегл = ЗначенияПараметров.СтоимостьРегл + ДанныеСтроки.СтоимостьРеглИзменение;
ЗначенияПараметров.СтоимостьПР = ЗначенияПараметров.СтоимостьПР + ДанныеСтроки.СтоимостьПРИзменение;
Если ДанныеСтроки.Стоимость <> 0
И ДанныеСтроки.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации Тогда
ДоляСписания = ?(ДанныеСтроки.Стоимость <> 0, Окр(-ДанныеСтроки.СтоимостьИзменение / ДанныеСтроки.Стоимость, 12), 1);
ЗначенияПараметров.АмортизацияУпр =
ЗначенияПараметров.АмортизацияУпр
- Окр((ЗначенияПараметров.АмортизацияУпр + ЗначенияПараметров.АмортизацияЗаМесяцУпр) * ДоляСписания, 2);
КонецЕсли;
Если ДанныеСтроки.СтоимостьРегл <> 0
И ДанныеСтроки.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации Тогда
ДоляСписания = ?(ДанныеСтроки.СтоимостьРегл <> 0, Окр(-ДанныеСтроки.СтоимостьРеглИзменение / ДанныеСтроки.СтоимостьРегл, 12), 1);
ЗначенияПараметров.АмортизацияРегл =
ЗначенияПараметров.АмортизацияРегл
- Окр((ЗначенияПараметров.АмортизацияРегл + ЗначенияПараметров.АмортизацияЗаМесяцРегл) * ДоляСписания, 2);
КонецЕсли;
Если ДанныеСтроки.СтоимостьПР <> 0
И ДанныеСтроки.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации Тогда
ДоляСписания = ?(ДанныеСтроки.СтоимостьПР <> 0, Окр(-ДанныеСтроки.СтоимостьПРИзменение / ДанныеСтроки.СтоимостьПР, 12), 1);
ЗначенияПараметров.АмортизацияПР =
ЗначенияПараметров.АмортизацияПР
- Окр((ЗначенияПараметров.АмортизацияПР + ЗначенияПараметров.АмортизацияЗаМесяцПР) * ДоляСписания, 2);
КонецЕсли;
Иначе
ЗначенияПараметров.СтоимостьУпр = 0;
ЗначенияПараметров.СтоимостьРегл = 0;
ЗначенияПараметров.СтоимостьПР = 0;
ЗначенияПараметров.АмортизацияУпр = 0;
ЗначенияПараметров.АмортизацияРегл = 0;
ЗначенияПараметров.АмортизацияПР = 0;
ЗначенияПараметров.ОбесценениеУпр = 0;
ЗначенияПараметров.ОбесценениеРегл = 0;
КонецЕсли;
ИначеЕсли ТипЗнч(ДанныеСтроки.Регистратор) = Тип("ДокументСсылка.КорректировкаСтоимостиИАмортизацииОС") Тогда
Если ДанныеСтроки.КорректировкаСтоимостиУУ
ИЛИ ДанныеСтроки.СтоимостьИзменение <> 0 Тогда
ЗначенияПараметров.СтоимостьУпр = ДанныеСтроки.СтоимостьИзменение;
КонецЕсли;
Если ДанныеСтроки.КорректировкаСтоимостиБУ
ИЛИ ДанныеСтроки.СтоимостьРеглИзменение <> 0 Тогда
ЗначенияПараметров.СтоимостьРегл = ДанныеСтроки.СтоимостьРеглИзменение;
КонецЕсли;
Если ДанныеСтроки.КорректировкаСтоимостиБУ
ИЛИ ДанныеСтроки.СтоимостьПРИзменение <> 0 Тогда
ЗначенияПараметров.СтоимостьПР = ДанныеСтроки.СтоимостьПРИзменение;
КонецЕсли;
Если ДанныеСтроки.КорректировкаАмортизацииУУ
ИЛИ ДанныеСтроки.АмортизацияИзменение <> 0 Тогда
ЗначенияПараметров.АмортизацияУпр = ДанныеСтроки.АмортизацияИзменение;
ЗначенияПараметров.АмортизацияЗаМесяцУпр = 0;
КонецЕсли;
Если ДанныеСтроки.КорректировкаАмортизацииБУ
ИЛИ ДанныеСтроки.АмортизацияРеглИзменение <> 0 Тогда
ЗначенияПараметров.АмортизацияРегл = ДанныеСтроки.АмортизацияРеглИзменение;
ЗначенияПараметров.АмортизацияЗаМесяцРегл = 0;
КонецЕсли;
Если ДанныеСтроки.КорректировкаАмортизацииБУ
ИЛИ ДанныеСтроки.АмортизацияПРИзменение <> 0 Тогда
ЗначенияПараметров.АмортизацияПР = ДанныеСтроки.АмортизацияПРИзменение;
ЗначенияПараметров.АмортизацияЗаМесяцПР = 0;
КонецЕсли;
Иначе
ЗначенияПараметров.СтоимостьУпр = ЗначенияПараметров.СтоимостьУпр + ДанныеСтроки.СтоимостьИзменение;
ЗначенияПараметров.СтоимостьРегл = ЗначенияПараметров.СтоимостьРегл + ДанныеСтроки.СтоимостьРеглИзменение;
ЗначенияПараметров.СтоимостьПР = ЗначенияПараметров.СтоимостьПР + ДанныеСтроки.СтоимостьПРИзменение;
КонецЕсли;
ДанныеСтроки.СтоимостьДляВычисленияАмортизации = ЗначенияПараметров.СтоимостьУпр - ЗначенияПараметров.АмортизацияУпр;
ДанныеСтроки.СтоимостьДляВычисленияАмортизацииРегл =
ЗначенияПараметров.СтоимостьРегл + ЗначенияПараметров.СтоимостьЦФ
- ЗначенияПараметров.АмортизацияРегл - ЗначенияПараметров.АмортизацияЦФ;
ДанныеСтроки.СтоимостьДляВычисленияАмортизацииПР = ЗначенияПараметров.СтоимостьПР - ЗначенияПараметров.АмортизацияПР;
ОбесценениеУУ = ?(
ДанныеСтроки.ВариантПроводокПоОбесценениюВНА = Перечисления.ВариантыПроводокПоОбесценениюВНА.ДоначислятьКорректировкуОбесценения,
ЗначенияПараметров.ОбесценениеУпр,
0);
ОбесценениеБУ = ?(
ДанныеСтроки.ВариантПроводокПоОбесценениюВНА = Перечисления.ВариантыПроводокПоОбесценениюВНА.ДоначислятьКорректировкуОбесценения,
ЗначенияПараметров.ОбесценениеРегл,
0);
ДанныеСтроки.СуммаУУ = РассчитатьСуммуАмортизацииУУ(
ДанныеСтроки,
ДанныеСтроки.СтоимостьДляВычисленияАмортизации,
ДанныеСтроки.ЛиквидационнаяСтоимость,
ОбесценениеУУ,
ЗначенияПараметров.АмортизацияЗаМесяцУпр,
ВнеоборотныеАктивыСлужебный.МинимальнаяОстаточнаяСтоимостьУпр());
ДанныеСтроки.СуммаБУ = РассчитатьСуммуАмортизацииУУ(
ДанныеСтроки,
ДанныеСтроки.СтоимостьДляВычисленияАмортизацииРегл,
ДанныеСтроки.ЛиквидационнаяСтоимостьРегл,
ОбесценениеБУ,
ЗначенияПараметров.АмортизацияЗаМесяцРегл,
ВнеоборотныеАктивыСлужебный.МинимальнаяОстаточнаяСтоимостьРегл());
ДанныеСтроки.ОбесценениеУУ = РассчитатьСуммуОбесценения(
ДанныеСтроки,
ЗначенияПараметров.ОбесценениеУпр,
ЗначенияПараметров.ОбесценениеЗаМесяцУпр,
ВнеоборотныеАктивыСлужебный.МинимальнаяОстаточнаяСтоимостьУпр());
ДанныеСтроки.ОбесценениеБУ = РассчитатьСуммуОбесценения(
ДанныеСтроки,
ЗначенияПараметров.ОбесценениеРегл,
ЗначенияПараметров.ОбесценениеЗаМесяцРегл,
ВнеоборотныеАктивыСлужебный.МинимальнаяОстаточнаяСтоимостьРегл());
Если (ЗначенияПараметров.СтоимостьПР - ЗначенияПараметров.АмортизацияПР) = 0
ИЛИ ДанныеСтроки.СтоимостьДляВычисленияАмортизацииРегл <= 0
ИЛИ ДанныеСтроки.СуммаБУ = 0 Тогда
ДанныеСтроки.СуммаПР = 0;
ИначеЕсли ДанныеСтроки.СуммаБУ = ДанныеСтроки.СтоимостьДляВычисленияАмортизацииРегл Тогда
ДанныеСтроки.СуммаПР = ЗначенияПараметров.СтоимостьПР - ЗначенияПараметров.АмортизацияПР;
Иначе
КоэффициентАмортизции =
Окр((ДанныеСтроки.СуммаБУ - Окр(ДанныеСтроки.СуммаБУ * ДанныеСтроки.КоэффициентЦФБУ, 2) + ДанныеСтроки.ОбесценениеБУ)
/ (ЗначенияПараметров.СтоимостьРегл - ЗначенияПараметров.АмортизацияРегл), 12);
ДанныеСтроки.СуммаПР = (ЗначенияПараметров.СтоимостьПР - ЗначенияПараметров.АмортизацияПР) * КоэффициентАмортизции;
ДанныеСтроки.СуммаПР = Окр(ДанныеСтроки.СуммаПР, 2);
КонецЕсли;
КонецЕсли;
ЗначенияПараметров.АмортизацияЗаМесяцУпр = ЗначенияПараметров.АмортизацияЗаМесяцУпр + ДанныеСтроки.СуммаУУ;
ЗначенияПараметров.АмортизацияЗаМесяцРегл = ЗначенияПараметров.АмортизацияЗаМесяцРегл + ДанныеСтроки.СуммаБУ;
ЗначенияПараметров.АмортизацияЗаМесяцПР = ЗначенияПараметров.АмортизацияЗаМесяцПР + ДанныеСтроки.СуммаПР;
ЗначенияПараметров.ОбесценениеЗаМесяцУпр = ЗначенияПараметров.ОбесценениеЗаМесяцУпр + ДанныеСтроки.ОбесценениеУУ;
ЗначенияПараметров.ОбесценениеЗаМесяцРегл = ЗначенияПараметров.ОбесценениеЗаМесяцРегл + ДанныеСтроки.ОбесценениеБУ;
КонецЦикла;
Возврат АмортизацияИзменений;
КонецФункции
Процедура УвеличитьСтоимостьИАмортизациюПриРазукомплектацииИОбъединении(ДанныеСтроки, ЗначенияПараметровРасчетаИзменений, ТаблицаИсточникИПолучатель)
Если ТаблицаИсточникИПолучатель = Неопределено
ИЛИ НЕ ДанныеСтроки.ПолученПриРазукомплектацииОбъединении Тогда
Возврат;
КонецЕсли;
СтруктураПоиска = Новый Структура("ОсновноеСредствоПолучатель,Ссылка", ДанныеСтроки.ОсновноеСредство, ДанныеСтроки.Регистратор);
ИсходныеОС = ТаблицаИсточникИПолучатель.НайтиСтроки(СтруктураПоиска);
Если ИсходныеОС.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ЕстьУУ = ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ДанныеСтроки, "Стоимость");
ЕстьБУ = ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ДанныеСтроки, "СтоимостьБУ")
ИЛИ ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ДанныеСтроки, "СтоимостьРегл");
ЕстьПР = ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ДанныеСтроки, "СтоимостьПР");
Для каждого СтрокаИсходноеОС Из ИсходныеОС Цикл
ЗначенияПараметров = ЗначенияПараметровРасчетаИзменений.Получить(СтрокаИсходноеОС.ОсновноеСредствоИсточник);
Если ЗначенияПараметров = Неопределено Тогда
Продолжить;
КонецЕсли;
УвеличениеСтоимостиУпр = 0;
УвеличениеСтоимостиРегл = 0;
УвеличениеСтоимостиПР = 0;
УвеличениеАмортизацииУпр = 0;
УвеличениеАмортизацииРегл = 0;
УвеличениеАмортизацииПР = 0;
Если ЕстьУУ И СтрокаИсходноеОС.СтоимостьСписанияУпр <> 0 Тогда
УвеличениеСтоимостиУпр = СтрокаИсходноеОС.СтоимостьСписанияУпр;
Если ДанныеСтроки.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации Тогда
Если ЗначенияПараметров.СтоимостьУпр <> 0 Тогда
УвеличениеАмортизацииУпр =
(ЗначенияПараметров.АмортизацияУпр + ЗначенияПараметров.АмортизацияЗаМесяцУпр)
* СтрокаИсходноеОС.СтоимостьСписанияУпр
/ ЗначенияПараметров.СтоимостьУпр;
УвеличениеАмортизацииУпр = Окр(УвеличениеАмортизацииУпр, 2);
Иначе
УвеличениеАмортизацииУпр = 0;
КонецЕсли;
КонецЕсли;
ИначеЕсли ЕстьУУ Тогда
УвеличениеСтоимостиУпр = ЗначенияПараметров.СтоимостьУпр;
Если ДанныеСтроки.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации Тогда
УвеличениеАмортизацииУпр = ЗначенияПараметров.АмортизацияУпр + ЗначенияПараметров.АмортизацияЗаМесяцУпр;
КонецЕсли;
КонецЕсли;
Если ЕстьБУ И СтрокаИсходноеОС.СтоимостьСписанияРегл <> 0 Тогда
УвеличениеСтоимостиРегл = СтрокаИсходноеОС.СтоимостьСписанияРегл;
Если ДанныеСтроки.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации Тогда
Если ЗначенияПараметров.СтоимостьРегл <> 0 Тогда
УвеличениеАмортизацииРегл =
(ЗначенияПараметров.АмортизацияРегл + ЗначенияПараметров.АмортизацияЗаМесяцРегл)
* СтрокаИсходноеОС.СтоимостьСписанияРегл
/ ЗначенияПараметров.СтоимостьРегл;
УвеличениеАмортизацииРегл = Окр(УвеличениеАмортизацииРегл, 2);
Иначе
УвеличениеАмортизацииРегл = 0;
КонецЕсли;
КонецЕсли;
ИначеЕсли ЕстьБУ Тогда
УвеличениеСтоимостиРегл = ЗначенияПараметров.СтоимостьРегл;
Если ДанныеСтроки.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации Тогда
УвеличениеАмортизацииРегл = ЗначенияПараметров.АмортизацияРегл + ЗначенияПараметров.АмортизацияЗаМесяцРегл;
КонецЕсли;
КонецЕсли;
Если ЕстьПР И СтрокаИсходноеОС.СтоимостьСписанияПР <> 0 Тогда
УвеличениеСтоимостиПР = СтрокаИсходноеОС.СтоимостьСписанияПР;
Если ДанныеСтроки.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации Тогда
Если ЗначенияПараметров.СтоимостьПР <> 0 Тогда
УвеличениеАмортизацииПР =
(ЗначенияПараметров.АмортизацияПР + ЗначенияПараметров.АмортизацияЗаМесяцПР)
* СтрокаИсходноеОС.СтоимостьСписанияПР
/ ЗначенияПараметров.СтоимостьПР;
УвеличениеАмортизацииПР = Окр(УвеличениеАмортизацииПР, 2);
Иначе
УвеличениеАмортизацииПР = 0;
КонецЕсли;
КонецЕсли;
ИначеЕсли ЕстьПР Тогда
УвеличениеСтоимостиПР = ЗначенияПараметров.СтоимостьПР;
Если ДанныеСтроки.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации Тогда
УвеличениеАмортизацииПР = ЗначенияПараметров.АмортизацияПР + ЗначенияПараметров.АмортизацияЗаМесяцПР;
КонецЕсли;
КонецЕсли;
Если ЕстьУУ Тогда
ДанныеСтроки.Стоимость = ДанныеСтроки.Стоимость + УвеличениеСтоимостиУпр;
ДанныеСтроки.Амортизация = ДанныеСтроки.Амортизация + УвеличениеАмортизацииУпр;
КонецЕсли;
Если ЕстьБУ Тогда
ДанныеСтроки.СтоимостьРегл = ДанныеСтроки.СтоимостьРегл + УвеличениеСтоимостиРегл;
ДанныеСтроки.АмортизацияРегл = ДанныеСтроки.АмортизацияРегл + УвеличениеАмортизацииРегл;
КонецЕсли;
Если ЕстьПР Тогда
ДанныеСтроки.СтоимостьПР = ДанныеСтроки.СтоимостьПР + УвеличениеСтоимостиПР;
ДанныеСтроки.АмортизацияПР = ДанныеСтроки.АмортизацияПР + УвеличениеАмортизацииПР;
ДанныеСтроки.ОстаточнаяСтоимостьПР = ДанныеСтроки.СтоимостьПР - ДанныеСтроки.АмортизацияПР;
ДанныеСтроки.СтоимостьДляВычисленияПР = ДанныеСтроки.СтоимостьПР;
КонецЕсли;
КонецЦикла;
ЗначенияПараметров = ЗначенияПараметровРасчетаИзменений.Получить(ДанныеСтроки.ОсновноеСредство);
ЗначенияПараметров.СтоимостьУпр = ДанныеСтроки.Стоимость;
ЗначенияПараметров.СтоимостьРегл = ДанныеСтроки.СтоимостьРегл;
ЗначенияПараметров.СтоимостьПР = ДанныеСтроки.СтоимостьПР;
ЗначенияПараметров.АмортизацияУпр = ДанныеСтроки.Амортизация;
ЗначенияПараметров.АмортизацияРегл = ДанныеСтроки.АмортизацияРегл;
ЗначенияПараметров.АмортизацияПР = ДанныеСтроки.АмортизацияПР;
КонецПроцедуры
Функция РассчитатьСуммуАмортизацииУУ(ДанныеСтроки, ОстаточнаяСтоимость, ЛиквидационнаяСтоимость, Обесценение, НачисленнаяАмортизацияЗаМесяц, МинимальнаяОстаточнаяСтоимость)
СуммаУУ = 0;
ОстаточнаяСтоимостьПослеНачисленияАмортизации =
(ОстаточнаяСтоимость
- НачисленнаяАмортизацияЗаМесяц
- ЛиквидационнаяСтоимость);
Если НЕ ДанныеСтроки.НачислятьАмортизацию
ИЛИ ДанныеСтроки.РесурсНазначенный <= 0
ИЛИ ОстаточнаяСтоимостьПослеНачисленияАмортизации = 0
ИЛИ ОстаточнаяСтоимостьПослеНачисленияАмортизации < 0
И НЕ ДанныеСтроки.УчитыватьСтоимостьЛиквидационногоОбязательства Тогда
СуммаУУ = 0;
ИначеЕсли (ДанныеСтроки.РесурсВыработанныйЗаПрошлыйПериод + ДанныеСтроки.РесурсВыработанныйЗаТекущийПериод) >= ДанныеСтроки.РесурсНазначенный Тогда
СуммаУУ = ОстаточнаяСтоимость - Обесценение - ЛиквидационнаяСтоимость;
ИначеЕсли ДанныеСтроки.МетодНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.Линейный
ИЛИ ДанныеСтроки.МетодНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции
ИЛИ ДанныеСтроки.МетодНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.УменьшаемогоОстатка
И (ДанныеСтроки.РесурсНазначенный
- ДанныеСтроки.РесурсВыработанныйЗаПрошлыйПериод
- ДанныеСтроки.РесурсВыработанныйЗаТекущийПериод) <= 12 Тогда
Если (ОстаточнаяСтоимость - Обесценение) < 0
И ДанныеСтроки.УчитыватьСтоимостьЛиквидационногоОбязательства Тогда
СуммаУУ = (ОстаточнаяСтоимость - Обесценение)
* (ДанныеСтроки.РесурсВыработанныйЗаТекущийПериод)
/ (ДанныеСтроки.РесурсНазначенный - ДанныеСтроки.РесурсВыработанныйЗаПрошлыйПериод);
Иначе
СуммаУУ = (ОстаточнаяСтоимость - ЛиквидационнаяСтоимость - Обесценение)
* (ДанныеСтроки.РесурсВыработанныйЗаТекущийПериод)
/ (ДанныеСтроки.РесурсНазначенный - ДанныеСтроки.РесурсВыработанныйЗаПрошлыйПериод);
КонецЕсли;
ИначеЕсли ДанныеСтроки.МетодНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.УменьшаемогоОстатка Тогда
СуммаУУ = ОстаточнаяСтоимость
* ДанныеСтроки.КоэффициентУскорения
* ДанныеСтроки.РесурсВыработанныйЗаТекущийПериод
/ (ДанныеСтроки.РесурсНазначенный - ДанныеСтроки.КоэффициентУскорения
*(ДанныеСтроки.РесурсВыработанныйЗаПрошлыйПериод - ДанныеСтроки.ОтработанныхМесяцевПолныхЛет));
КонецЕсли;
Если (СуммаУУ > ОстаточнаяСтоимостьПослеНачисленияАмортизации
ИЛИ (ОстаточнаяСтоимостьПослеНачисленияАмортизации - СуммаУУ) < МинимальнаяОстаточнаяСтоимость)
И НЕ ДанныеСтроки.УчитыватьСтоимостьЛиквидационногоОбязательства Тогда
СуммаУУ = Макс(ОстаточнаяСтоимостьПослеНачисленияАмортизации, 0);
КонецЕсли;
Возврат Окр(СуммаУУ, 2);
КонецФункции
Функция РассчитатьСуммуОбесценения(ДанныеСтроки, ОстатокОбесценение, НачисленноеОбесценениеЗаМесяц, МинимальнаяОстаточнаяСтоимость)
СуммаОбесценения = 0;
ОстатокОбесценениеПослеНачисления = ОстатокОбесценение - НачисленноеОбесценениеЗаМесяц;
Если НЕ ДанныеСтроки.НачислятьАмортизацию
ИЛИ ОстатокОбесценениеПослеНачисления <= 0
ИЛИ ДанныеСтроки.РесурсНазначенный <= 0 Тогда
СуммаОбесценения = 0;
ИначеЕсли (ДанныеСтроки.РесурсВыработанныйЗаПрошлыйПериод + ДанныеСтроки.РесурсВыработанныйЗаТекущийПериод) >= ДанныеСтроки.РесурсНазначенный Тогда
СуммаОбесценения = ОстатокОбесценение;
ИначеЕсли ДанныеСтроки.МетодНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.Линейный
ИЛИ ДанныеСтроки.МетодНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции Тогда
СуммаОбесценения = ОстатокОбесценение
* (ДанныеСтроки.РесурсВыработанныйЗаТекущийПериод)
/ (ДанныеСтроки.РесурсНазначенный - ДанныеСтроки.РесурсВыработанныйЗаПрошлыйПериод);
КонецЕсли;
Если СуммаОбесценения > ОстатокОбесценениеПослеНачисления
ИЛИ (ОстатокОбесценениеПослеНачисления - СуммаОбесценения) < МинимальнаяОстаточнаяСтоимость Тогда
СуммаОбесценения = Макс(ОстатокОбесценениеПослеНачисления, 0);
КонецЕсли;
Возврат Окр(СуммаОбесценения, 2);
КонецФункции
Процедура ЗарегистрироватьОшибкиРасчетаАмортизации(ПараметрыРасчета)
ОписаниеЗамера = ОценкаПроизводительности.НачатьЗамерДлительнойОперации("АмортизацияОС.РассчитатьАмортизацию.ЗарегистрироватьОшибки");
ПараметрыРасчета.ИспользуемыеТаблицы = ПараметрыРасчета.ИспользуемыеТаблицы + "," + "НомераПакетовСОшибками";
ИспользуемыеВТ = ОбщегоНазначенияУТ.СписокВременныхТаблиц(ПараметрыРасчета.МенеджерВременныхТаблиц);
ИспользуемыеВТ.Добавить("НомераПакетовСОшибками");
ТекстЗапроса =
"ВЫБРАТЬ
| ДокументыПоОС.ТипСсылки КАК ТипСсылки,
| ДокументыПоОС.Ссылка КАК Ссылка,
| ДокументыПоОС.Дата КАК Дата,
| ДокументыПоОС.Организация КАК Организация,
| ДокументыПоОС.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ДокументыПоОС.ОсновноеСредство КАК ОсновноеСредство
|
|ПОМЕСТИТЬ ВтДокументыПоОС
|
|ИЗ
| РегистрСведений.ДокументыПоОС КАК ДокументыПоОС
|
|ГДЕ
| ДокументыПоОС.ТипСсылки В (&ИдентификаторыДокументов)
| И ДокументыПоОС.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ДокументыПоОС.Проведен
|
| И ДокументыПоОС.ОсновноеСредство В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|
|ИНДЕКСИРОВАТЬ ПО
| ТипСсылки,
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ПроверкаПараметровРасчета.ОбъектУчета КАК ОбъектУчета,
| ПроверкаПараметровРасчета.Организация КАК Организация,
| МАКСИМУМ(ПроверкаПараметровРасчета.НеУказанСрокИспользованияУУ) КАК НеУказанСрокИспользованияУУ,
| МАКСИМУМ(ПроверкаПараметровРасчета.НеУказанСрокИспользованияБУ) КАК НеУказанСрокИспользованияБУ,
| МАКСИМУМ(ПроверкаПараметровРасчета.НеУказанРесурсВыработанный) КАК НеУказанРесурсВыработанный,
| МАКСИМУМ(ПроверкаПараметровРасчета.ОбъемНаработкиВыработан) КАК ОбъемНаработкиВыработан,
| МАКСИМУМ(ПроверкаПараметровРасчета.НеУказанОбъемНаработки) КАК НеУказанОбъемНаработки,
| МАКСИМУМ(ПроверкаПараметровРасчета.НевернаяДатаРазукомплектации) КАК НевернаяДатаРазукомплектации,
| МАКСИМУМ(ПроверкаПараметровРасчета.РазукомплектацияИПредварительнаяСтоимость) КАК РазукомплектацияИПредварительнаяСтоимость,
| МАКСИМУМ(ПроверкаПараметровРасчета.ОбъединениеИПредварительнаяСтоимость) КАК ОбъединениеИПредварительнаяСтоимость,
| МАКСИМУМ(ПроверкаПараметровРасчета.НеУказанаСтатьяРасходовУУ) КАК НеУказанаСтатьяРасходовУУ,
| МАКСИМУМ(ПроверкаПараметровРасчета.НеУказанаСтатьяРасходовБУ) КАК НеУказанаСтатьяРасходовБУ
|
|ПОМЕСТИТЬ ПроверкаВсехПараметровРасчетаУУ
|
|ИЗ
| (ВЫБРАТЬ
| ПроверкаПараметровРасчета.Организация КАК Организация,
| ПроверкаПараметровРасчета.ОбъектУчета КАК ОбъектУчета,
| ПроверкаПараметровРасчета.НеУказанСрокИспользованияУУ КАК НеУказанСрокИспользованияУУ,
| ЛОЖЬ КАК НеУказанСрокИспользованияБУ,
| ЛОЖЬ КАК НеУказанРесурсВыработанный,
| ПроверкаПараметровРасчета.НеУказанОбъемНаработки КАК НеУказанОбъемНаработки,
| ПроверкаПараметровРасчета.ОбъемНаработкиВыработан КАК ОбъемНаработкиВыработан,
| ЛОЖЬ КАК НевернаяДатаРазукомплектации,
| ЛОЖЬ КАК РазукомплектацияИПредварительнаяСтоимость,
| ЛОЖЬ КАК ОбъединениеИПредварительнаяСтоимость,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовУУ,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовБУ
| ИЗ
| ПроверкаПараметровРасчета_УУ КАК ПроверкаПараметровРасчета
| ГДЕ
| ПроверкаПараметровРасчета.Организация В(&СписокОрганизаций)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ПроверкаПараметровРасчета.Организация КАК Организация,
| ПроверкаПараметровРасчета.ОбъектУчета КАК ОбъектУчета,
| ЛОЖЬ КАК НеУказанСрокИспользованияУУ,
| ПроверкаПараметровРасчета.НеУказанСрокИспользования КАК НеУказанСрокИспользованияБУ,
| ЛОЖЬ КАК НеУказанРесурсВыработанный,
| ПроверкаПараметровРасчета.НеУказанОбъемНаработки КАК НеУказанОбъемНаработки,
| ПроверкаПараметровРасчета.ОбъемНаработкиВыработан КАК ОбъемНаработкиВыработан,
| ЛОЖЬ КАК НевернаяДатаРазукомплектации,
| ЛОЖЬ КАК РазукомплектацияИПредварительнаяСтоимость,
| ЛОЖЬ КАК ОбъединениеИПредварительнаяСтоимость,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовУУ,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовБУ
| ИЗ
| ПроверкаПараметровРасчета_БУ_МУ КАК ПроверкаПараметровРасчета
| ГДЕ
| ПроверкаПараметровРасчета.Организация В(&СписокОрганизаций)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ПроверкаПараметровРасчета.Организация КАК Организация,
| ПроверкаПараметровРасчета.ОбъектУчета КАК ОбъектУчета,
| ПроверкаПараметровРасчета.НеУказанСрокИспользованияУУ КАК НеУказанСрокИспользованияУУ,
| ЛОЖЬ КАК НеУказанСрокИспользованияБУ,
| ПроверкаПараметровРасчета.НеУказанРесурсВыработанный КАК НеУказанРесурсВыработанный,
| ПроверкаПараметровРасчета.НеУказанОбъемНаработки КАК НеУказанОбъемНаработки,
| ЛОЖЬ КАК ОбъемНаработкиВыработан,
| ЛОЖЬ КАК НевернаяДатаРазукомплектации,
| ЛОЖЬ КАК РазукомплектацияИПредварительнаяСтоимость,
| ЛОЖЬ КАК ОбъединениеИПредварительнаяСтоимость,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовУУ,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовБУ
| ИЗ
| ПроверкаПараметровРасчетаИзменения_УУ КАК ПроверкаПараметровРасчета
| ГДЕ
| ПроверкаПараметровРасчета.Организация В(&СписокОрганизаций)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ПроверкаПараметровРасчета.Организация КАК Организация,
| ПроверкаПараметровРасчета.ОбъектУчета КАК ОбъектУчета,
| ЛОЖЬ КАК НеУказанСрокИспользованияУУ,
| ПроверкаПараметровРасчета.НеУказанСрокИспользования КАК НеУказанСрокИспользованияБУ,
| ПроверкаПараметровРасчета.НеУказанРесурсВыработанный КАК НеУказанРесурсВыработанный,
| ПроверкаПараметровРасчета.НеУказанОбъемНаработки КАК НеУказанОбъемНаработки,
| ЛОЖЬ КАК ОбъемНаработкиВыработан,
| ЛОЖЬ КАК НевернаяДатаРазукомплектации,
| ЛОЖЬ КАК РазукомплектацияИПредварительнаяСтоимость,
| ЛОЖЬ КАК ОбъединениеИПредварительнаяСтоимость,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовУУ,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовБУ
| ИЗ
| ПроверкаПараметровРасчетаИзменения_БУ_МУ КАК ПроверкаПараметровРасчета
| ГДЕ
| ПроверкаПараметровРасчета.Организация В(&СписокОрганизаций)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РазукомплектацияОС.Организация КАК Организация,
| РазукомплектацияОС.ОсновноеСредство КАК ОбъектУчета,
| ЛОЖЬ КАК НеУказанСрокИспользованияУУ,
| ЛОЖЬ КАК НеУказанСрокИспользованияБУ,
| ЛОЖЬ КАК НеУказанРесурсВыработанный,
| ЛОЖЬ КАК НеУказанОбъемНаработки,
| ЛОЖЬ КАК ОбъемНаработкиВыработан,
| ИСТИНА КАК НевернаяДатаРазукомплектации,
| ЛОЖЬ КАК РазукомплектацияИПредварительнаяСтоимость,
| ЛОЖЬ КАК ОбъединениеИПредварительнаяСтоимость,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовУУ,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовБУ
| ИЗ
| ВтДокументыПоОС КАК РазукомплектацияОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДокументыПоОС КАК ОбъединениеОС
| ПО ОбъединениеОС.ТипСсылки = &ИдентификаторОбъединениеОС
| И ОбъединениеОС.ОсновноеСредство = РазукомплектацияОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = РазукомплектацияОС.ГоловнаяОрганизация
|
| ГДЕ
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)
|
| И РазукомплектацияОС.ТипСсылки = &ИдентификаторРазукомплектацияОС
| И РазукомплектацияОС.Дата >= ОбъединениеОС.Дата
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РазукомплектацияОС.Организация КАК Организация,
| РазукомплектацияОС.ОсновноеСредство КАК ОбъектУчета,
| ЛОЖЬ КАК НеУказанСрокИспользованияУУ,
| ЛОЖЬ КАК НеУказанСрокИспользованияБУ,
| ЛОЖЬ КАК НеУказанРесурсВыработанный,
| ЛОЖЬ КАК НеУказанОбъемНаработки,
| ЛОЖЬ КАК ОбъемНаработкиВыработан,
| ЛОЖЬ КАК НевернаяДатаРазукомплектации,
| ИСТИНА КАК РазукомплектацияИПредварительнаяСтоимость,
| ЛОЖЬ КАК ОбъединениеИПредварительнаяСтоимость,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовУУ,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовБУ
| ИЗ
| ВтДокументыПоОС КАК РазукомплектацияОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтДокументыПоОС КАК ПринятиеКУчетуОС
| ПО ПринятиеКУчетуОС.ТипСсылки = &ИдентификаторПринятиеКУчетуОС
| И ПринятиеКУчетуОС.ОсновноеСредство = РазукомплектацияОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтДокументыПоОС КАК МодернизацияОС
| ПО МодернизацияОС.ТипСсылки = &ИдентификаторМодернизацияОС
| И МодернизацияОС.ОсновноеСредство = РазукомплектацияОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = РазукомплектацияОС.ГоловнаяОрганизация
| ГДЕ
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)
|
| И РазукомплектацияОС.ТипСсылки = &ИдентификаторРазукомплектацияОС
|
| И (НЕ ПринятиеКУчетуОС.Ссылка ЕСТЬ NULL
| ИЛИ НЕ МодернизацияОС.Ссылка ЕСТЬ NULL)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ОбъединениеОС.Организация КАК Организация,
| ОбъединениеОС.ОсновноеСредство КАК ОбъектУчета,
| ЛОЖЬ КАК НеУказанСрокИспользованияУУ,
| ЛОЖЬ КАК НеУказанСрокИспользованияБУ,
| ЛОЖЬ КАК НеУказанРесурсВыработанный,
| ЛОЖЬ КАК НеУказанОбъемНаработки,
| ЛОЖЬ КАК ОбъемНаработкиВыработан,
| ЛОЖЬ КАК НевернаяДатаРазукомплектации,
| ЛОЖЬ КАК РазукомплектацияИПредварительнаяСтоимость,
| ИСТИНА КАК ОбъединениеИПредварительнаяСтоимость,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовУУ,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовБУ
| ИЗ
| ВтДокументыПоОС КАК ОбъединениеОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтДокументыПоОС КАК ПринятиеКУчетуОС
| ПО ПринятиеКУчетуОС.ТипСсылки = &ИдентификаторПринятиеКУчетуОС
| И ПринятиеКУчетуОС.ОсновноеСредство = ОбъединениеОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтДокументыПоОС КАК МодернизацияОС
| ПО МодернизацияОС.ТипСсылки = &ИдентификаторМодернизацияОС
| И МодернизацияОС.ОсновноеСредство = ОбъединениеОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = ОбъединениеОС.ГоловнаяОрганизация
| ГДЕ
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)
|
| И ОбъединениеОС.ТипСсылки = &ИдентификаторОбъединениеОС
|
| И (НЕ ПринятиеКУчетуОС.Ссылка ЕСТЬ NULL
| ИЛИ НЕ МодернизацияОС.Ссылка ЕСТЬ NULL)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ПроверкаРасчета.Организация КАК Организация,
| ПроверкаРасчета.ОбъектУчета КАК ОбъектУчета,
| ЛОЖЬ КАК НеУказанСрокИспользованияУУ,
| ЛОЖЬ КАК НеУказанСрокИспользованияБУ,
| ЛОЖЬ КАК НеУказанРесурсВыработанный,
| ЛОЖЬ КАК НеУказанОбъемНаработки,
| ЛОЖЬ КАК ОбъемНаработкиВыработан,
| ЛОЖЬ КАК НевернаяДатаРазукомплектации,
| ЛОЖЬ КАК РазукомплектацияИПредварительнаяСтоимость,
| ЛОЖЬ КАК ОбъединениеИПредварительнаяСтоимость,
| ПроверкаРасчета.НеУказанаСтатьяРасходов КАК НеУказанаСтатьяРасходовУУ,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовБУ
| ИЗ
| ПроверкаРасчета_УУ КАК ПроверкаРасчета
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ПроверкаРасчета.Организация КАК Организация,
| ПроверкаРасчета.ОбъектУчета КАК ОбъектУчета,
| ЛОЖЬ КАК НеУказанСрокИспользованияУУ,
| ЛОЖЬ КАК НеУказанСрокИспользованияБУ,
| ЛОЖЬ КАК НеУказанРесурсВыработанный,
| ЛОЖЬ КАК НеУказанОбъемНаработки,
| ЛОЖЬ КАК ОбъемНаработкиВыработан,
| ЛОЖЬ КАК НевернаяДатаРазукомплектации,
| ЛОЖЬ КАК РазукомплектацияИПредварительнаяСтоимость,
| ЛОЖЬ КАК ОбъединениеИПредварительнаяСтоимость,
| ЛОЖЬ КАК НеУказанаСтатьяРасходовУУ,
| ПроверкаРасчета.НеУказанаСтатьяРасходов КАК НеУказанаСтатьяРасходовБУ
| ИЗ
| ПроверкаРасчета_БУ_МУ КАК ПроверкаРасчета
|
| ) КАК ПроверкаПараметровРасчета
|
|СГРУППИРОВАТЬ ПО
| ПроверкаПараметровРасчета.ОбъектУчета,
| ПроверкаПараметровРасчета.Организация
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| ОбъектУчета
|;
|
|
|ВЫБРАТЬ
| ПроверкаПараметровРасчета.ОбъектУчета КАК ОбъектУчета,
| ПроверкаПараметровРасчета.Организация КАК Организация,
| ВЫРАЗИТЬ(ПроверкаПараметровРасчета.ОбъектУчета КАК Справочник.ОбъектыЭксплуатации).Наименование КАК ОбъектУчетаПредставление,
| ВЫРАЗИТЬ(ПроверкаПараметровРасчета.ОбъектУчета КАК Справочник.ОбъектыЭксплуатации).ИнвентарныйНомер КАК ИнвентарныйНомер,
| ПроверкаПараметровРасчета.НеУказанСрокИспользованияУУ КАК НеУказанСрокИспользованияУУ,
| ПроверкаПараметровРасчета.НеУказанСрокИспользованияБУ КАК НеУказанСрокИспользованияБУ,
| ПроверкаПараметровРасчета.НеУказанРесурсВыработанный КАК НеУказанРесурсВыработанный,
| ПроверкаПараметровРасчета.ОбъемНаработкиВыработан КАК ОбъемНаработкиВыработан,
| ПроверкаПараметровРасчета.НеУказанОбъемНаработки КАК НеУказанОбъемНаработки,
| ПроверкаПараметровРасчета.НевернаяДатаРазукомплектации КАК НевернаяДатаРазукомплектации,
| ПроверкаПараметровРасчета.РазукомплектацияИПредварительнаяСтоимость КАК РазукомплектацияИПредварительнаяСтоимость,
| ПроверкаПараметровРасчета.ОбъединениеИПредварительнаяСтоимость КАК ОбъединениеИПредварительнаяСтоимость,
| ПроверкаПараметровРасчета.НеУказанаСтатьяРасходовУУ КАК НеУказанаСтатьяРасходовУУ,
| ПроверкаПараметровРасчета.НеУказанаСтатьяРасходовБУ КАК НеУказанаСтатьяРасходовБУ
|
|ИЗ
| ПроверкаВсехПараметровРасчетаУУ КАК ПроверкаПараметровРасчета
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("СписокОрганизаций", ПараметрыРасчета.СписокОрганизаций);
Запрос.УстановитьПараметр("ИдентификаторРазукомплектацияОС", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Метаданные.Документы.РазукомплектацияОС));
Запрос.УстановитьПараметр("ИдентификаторОбъединениеОС", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Метаданные.Документы.ОбъединениеОС));
Запрос.УстановитьПараметр("ИдентификаторПринятиеКУчетуОС", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Метаданные.Документы.ПринятиеКУчетуОС2_4));
Запрос.УстановитьПараметр("ИдентификаторМодернизацияОС", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Метаданные.Документы.МодернизацияОС2_4));
ИдентификаторыДокументов = Новый Массив;
ИдентификаторыДокументов.Добавить(Запрос.Параметры.ИдентификаторРазукомплектацияОС);
ИдентификаторыДокументов.Добавить(Запрос.Параметры.ИдентификаторОбъединениеОС);
ИдентификаторыДокументов.Добавить(Запрос.Параметры.ИдентификаторПринятиеКУчетуОС);
ИдентификаторыДокументов.Добавить(Запрос.Параметры.ИдентификаторМодернизацияОС);
Запрос.УстановитьПараметр("ИдентификаторыДокументов", ИдентификаторыДокументов);
РасчетАмортизацииОС.УстановитьПараметрыЗапросаДляРасчетаАмортизации(Запрос, ПараметрыРасчета);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ШаблонОбъемНаработки = НСтр("ru = 'Для основного средства ""%1"" (инв. №%2) в управленческом учете не определен предполагаемый объем наработки (продукции, работ).'");
ШаблонОбъемНаработкиВыработан = НСтр("ru = 'Для основного средства ""%1"" (инв. №%2) в управленческом учете предполагаемый объем наработки полностью выработан.
|Если была произведена модернизация после полной выработки ресурса, то необходимо оформить документ ""Изменение параметров ОС"" и увеличить предполагаемый объем наработки или приостановить начисление амортизации в управленческом учете.'");
ШаблонСрокИспользованияУУ = НСтр("ru = 'Для основного средства ""%1"" (инв. №%2) в управленческом учете не определен срок использования, необходимый для вычисления амортизации.
|Если была произведена модернизация после окончания срока использования, то следует оформить документ ""Изменение параметров ОС"" и указать новый срок (первоначальный + срок, на который произошло увеличение после модернизации) или приостановить начисление амортизации.'");
ШаблонРесурсВыработанный = НСтр("ru = 'Для основного средства ""%1"" (инв. №%2) не удалось определить выработанный ресурс в управленческом учете.'");
ШаблонНевернаяДатаРазукомплектации = НСтр("ru = 'Для основного средства ""%1"" (инв. №%2) дата и время разукомплектации должны быть раньше, чем дата и время объединения.'");
ШаблонОбъединениеИПредварительнаяСтоимость = НСтр("ru = 'Не поддерживается объединение основного средства ""%1"" (инв. №%2), т.к. в этом же месяце оформлено принятие к учету или модернизация.
|Для обхода ограничения можно оформить объединение в следующем месяце.'");
ШаблонРазукомплектацияИПредварительнаяСтоимость = НСтр("ru = 'Не поддерживается разукомплектация основного средства ""%1"" (инв. №%2), т.к. в этом же месяце оформлено принятие к учету или модернизация.
|Для обхода ограничения можно оформить разукомплектацию в следующем месяце.'");
ШаблонНеУказанаСтатьяРасходовУУ = НСтр("ru = 'Для основного средства ""%1"" (инв. №%2) в управленческом учете не определена статья расходов отражения амортизации.'");
ШаблонНеУказанаСтатьяРасходовБУ = НСтр("ru = 'Для основного средства ""%1"" (инв. №%2) в бухгалтерском учете не определена статья расходов отражения амортизации.'");
Пока Выборка.Следующий() Цикл
Если Выборка.НеУказанОбъемНаработки Тогда
ТекстОшибки = СтрШаблон(ШаблонОбъемНаработки, Выборка.ОбъектУчетаПредставление, СокрЛП(Выборка.ИнвентарныйНомер));
ВнеоборотныеАктивыСлужебный.ЗарегистрироватьПроблемуВыполненияРасчета(
Справочники.ОперацииЗакрытияМесяца.НачислениеАмортизацииОС,
ПараметрыРасчета.Период,
Выборка.Организация,
ТекстОшибки,,
Выборка.ОбъектУчета,
ПараметрыРасчета.ЕстьОшибки);
КонецЕсли;
Если Выборка.ОбъемНаработкиВыработан Тогда
ТекстОшибки = СтрШаблон(ШаблонОбъемНаработкиВыработан, Выборка.ОбъектУчетаПредставление, СокрЛП(Выборка.ИнвентарныйНомер));
ВнеоборотныеАктивыСлужебный.ЗарегистрироватьПроблемуВыполненияРасчета(
Справочники.ОперацииЗакрытияМесяца.НачислениеАмортизацииОС,
ПараметрыРасчета.Период,
Выборка.Организация,
ТекстОшибки,,
Выборка.ОбъектУчета,
ПараметрыРасчета.ЕстьОшибки);
КонецЕсли;
Если Выборка.НеУказанРесурсВыработанный Тогда
ТекстОшибки = СтрШаблон(ШаблонРесурсВыработанный, Выборка.ОбъектУчетаПредставление, СокрЛП(Выборка.ИнвентарныйНомер));
ВнеоборотныеАктивыСлужебный.ЗарегистрироватьПроблемуВыполненияРасчета(
Справочники.ОперацииЗакрытияМесяца.НачислениеАмортизацииОС,
ПараметрыРасчета.Период,
Выборка.Организация,
ТекстОшибки,,
Выборка.ОбъектУчета,
ПараметрыРасчета.ЕстьОшибки);
КонецЕсли;
Если Выборка.НеУказанСрокИспользованияУУ Тогда
ТекстОшибки = СтрШаблон(ШаблонСрокИспользованияУУ, Выборка.ОбъектУчетаПредставление, СокрЛП(Выборка.ИнвентарныйНомер));
ВнеоборотныеАктивыСлужебный.ЗарегистрироватьПроблемуВыполненияРасчета(
Справочники.ОперацииЗакрытияМесяца.НачислениеАмортизацииОС,
ПараметрыРасчета.Период,
Выборка.Организация,
ТекстОшибки,,
Выборка.ОбъектУчета,
ПараметрыРасчета.ЕстьОшибки);
КонецЕсли;
Если Выборка.НевернаяДатаРазукомплектации Тогда
ТекстОшибки = СтрШаблон(ШаблонНевернаяДатаРазукомплектации, Выборка.ОбъектУчетаПредставление, СокрЛП(Выборка.ИнвентарныйНомер));
ВнеоборотныеАктивыСлужебный.ЗарегистрироватьПроблемуВыполненияРасчета(
Справочники.ОперацииЗакрытияМесяца.НачислениеАмортизацииОС,
ПараметрыРасчета.Период,
Выборка.Организация,
ТекстОшибки,,
Выборка.ОбъектУчета,
ПараметрыРасчета.ЕстьОшибки);
КонецЕсли;
Если Выборка.ОбъединениеИПредварительнаяСтоимость Тогда
ТекстОшибки = СтрШаблон(ШаблонОбъединениеИПредварительнаяСтоимость, Выборка.ОбъектУчетаПредставление, СокрЛП(Выборка.ИнвентарныйНомер));
ВнеоборотныеАктивыСлужебный.ЗарегистрироватьПроблемуВыполненияРасчета(
Справочники.ОперацииЗакрытияМесяца.НачислениеАмортизацииОС,
ПараметрыРасчета.Период,
Выборка.Организация,
ТекстОшибки,,
Выборка.ОбъектУчета,
ПараметрыРасчета.ЕстьОшибки);
КонецЕсли;
Если Выборка.РазукомплектацияИПредварительнаяСтоимость Тогда
ТекстОшибки = СтрШаблон(ШаблонРазукомплектацияИПредварительнаяСтоимость, Выборка.ОбъектУчетаПредставление, СокрЛП(Выборка.ИнвентарныйНомер));
ВнеоборотныеАктивыСлужебный.ЗарегистрироватьПроблемуВыполненияРасчета(
Справочники.ОперацииЗакрытияМесяца.НачислениеАмортизацииОС,
ПараметрыРасчета.Период,
Выборка.Организация,
ТекстОшибки,,
Выборка.ОбъектУчета,
ПараметрыРасчета.ЕстьОшибки);
КонецЕсли;
Если Выборка.НеУказанаСтатьяРасходовУУ Тогда
ТекстОшибки = СтрШаблон(ШаблонНеУказанаСтатьяРасходовУУ, Выборка.ОбъектУчетаПредставление, СокрЛП(Выборка.ИнвентарныйНомер));
ВнеоборотныеАктивыСлужебный.ЗарегистрироватьПроблемуВыполненияРасчета(
Справочники.ОперацииЗакрытияМесяца.НачислениеАмортизацииОС,
ПараметрыРасчета.Период,
Выборка.Организация,
ТекстОшибки,,
Выборка.ОбъектУчета,
ПараметрыРасчета.ЕстьОшибки);
КонецЕсли;
Если Выборка.НеУказанаСтатьяРасходовБУ Тогда
ТекстОшибки = СтрШаблон(ШаблонНеУказанаСтатьяРасходовБУ, Выборка.ОбъектУчетаПредставление, СокрЛП(Выборка.ИнвентарныйНомер));
ВнеоборотныеАктивыСлужебный.ЗарегистрироватьПроблемуВыполненияРасчета(
Справочники.ОперацииЗакрытияМесяца.НачислениеАмортизацииОС,
ПараметрыРасчета.Период,
Выборка.Организация,
ТекстОшибки,,
Выборка.ОбъектУчета,
ПараметрыРасчета.ЕстьОшибки);
КонецЕсли;
КонецЦикла;
АмортизацияОСЛокализация.ЗарегистрироватьОшибкиРасчетаАмортизации(ПараметрыРасчета);
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПакетыАмортизации.Организация КАК Организация,
| ПакетыАмортизации.НомерПакета КАК НомерПакета
|
|ПОМЕСТИТЬ НомераПакетовСОшибками
|
|ИЗ
| ПроверкаВсехПараметровРасчетаУУ КАК ПроверкаПараметровРасчета
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПакетыАмортизацииОС КАК ПакетыАмортизации
| ПО ПакетыАмортизации.Организация = ПроверкаПараметровРасчета.Организация
| И ПакетыАмортизации.ОсновноеСредство = ПроверкаПараметровРасчета.ОбъектУчета
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| НомерПакета
|";
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПакетыАмортизации.Организация КАК Организация,
| ПакетыАмортизации.НомерПакета КАК НомерПакета
|
|ПОМЕСТИТЬ НомераПакетовСОшибками
|
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПакетыАмортизации.Организация КАК Организация,
| ПакетыАмортизации.НомерПакета КАК НомерПакета
| ИЗ
| ПроверкаВсехПараметровРасчетаУУ КАК ПроверкаПараметровРасчета
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПакетыАмортизацииОС КАК ПакетыАмортизации
| ПО ПакетыАмортизации.Организация = ПроверкаПараметровРасчета.Организация
| И ПакетыАмортизации.ОсновноеСредство = ПроверкаПараметровРасчета.ОбъектУчета
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПакетыАмортизации.Организация КАК Организация,
| ПакетыАмортизации.НомерПакета КАК НомерПакета
|
| ИЗ
| ПроверкаВсехПараметровРасчетаБУ КАК ПроверкаПараметровРасчета
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПакетыАмортизацииОС КАК ПакетыАмортизации
| ПО ПакетыАмортизации.Организация = ПроверкаПараметровРасчета.Организация
| И ПакетыАмортизации.ОсновноеСредство = ПроверкаПараметровРасчета.ОбъектУчета
|
| ) КАК ПакетыАмортизации
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| НомерПакета
|";
Запрос.Текст = ТекстЗапроса;
Запрос.Выполнить();
ОбщегоНазначенияУТ.УничтожитьВременныеТаблицы(ПараметрыРасчета.МенеджерВременныхТаблиц,, ИспользуемыеВТ);
ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, 1);
КонецПроцедуры
Процедура ЗаписатьРасчетАмортизации(ПараметрыРасчета)
Если НЕ ПараметрыРасчета.ЗаписатьДанные Тогда
Возврат;
КонецЕсли;
Для Каждого Выборка Из ПараметрыРасчета.ПакетыАмортизации Цикл
НачатьТранзакцию();
Попытка
ОписаниеЗамера = ОценкаПроизводительности.НачатьЗамерДлительнойОперации("АмортизацияОС.РассчитатьАмортизацию.ЗаписатьРасчет");
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Документ.АмортизацияОС2_4");
ЭлементБлокировки.УстановитьЗначение("Дата", Новый Диапазон(НачалоМесяца(ПараметрыРасчета.Период),КонецМесяца(ПараметрыРасчета.Период)));
ЭлементБлокировки.УстановитьЗначение("Организация", Выборка.Организация);
ЭлементБлокировки.УстановитьЗначение("НомерПакета", Выборка.НомерПакета);
Блокировка.Заблокировать();
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
|ИЗ
| НачисленнаяАмортизация КАК НачисленнаяАмортизация
|ГДЕ
| НачисленнаяАмортизация.Организация = &Организация
| И НачисленнаяАмортизация.НомерПакета = &НомерПакета
|;
|
|
|ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
|ИЗ
| НомераПакетовСОшибками КАК НомераПакетовСОшибками
|ГДЕ
| НомераПакетовСОшибками.Организация = &Организация
| И НомераПакетовСОшибками.НомерПакета = &НомерПакета
|;
|
|
|ВЫБРАТЬ
| МАКСИМУМ(ВЫБОР
| КОГДА РегламентныйДокумент.Проведен = ИСТИНА
| ТОГДА РегламентныйДокумент.Ссылка
| ИНАЧЕ ЗНАЧЕНИЕ(Документ.АмортизацияОС2_4.ПустаяСсылка)
| КОНЕЦ) КАК СсылкаПроведен,
|
| МАКСИМУМ(ВЫБОР
| КОГДА РегламентныйДокумент.Проведен = ЛОЖЬ
| ТОГДА РегламентныйДокумент.Ссылка
| ИНАЧЕ ЗНАЧЕНИЕ(Документ.АмортизацияОС2_4.ПустаяСсылка)
| КОНЕЦ) КАК СсылкаНеПроведен,
|
| МАКСИМУМ(ВЫБОР
| КОГДА РегламентныйДокумент.ПометкаУдаления = ИСТИНА
| ТОГДА РегламентныйДокумент.Ссылка
| ИНАЧЕ ЗНАЧЕНИЕ(Документ.АмортизацияОС2_4.ПустаяСсылка)
| КОНЕЦ) КАК СсылкаУдален
|ИЗ
| Документ.АмортизацияОС2_4 КАК РегламентныйДокумент
|
|ГДЕ
| РегламентныйДокумент.Организация = &Организация
| И РегламентныйДокумент.НомерПакета = &НомерПакета
| И РегламентныйДокумент.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("НачалоМесяца", НачалоМесяца(ПараметрыРасчета.Период));
Запрос.УстановитьПараметр("КонецМесяца", КонецМесяца(ПараметрыРасчета.Период));
Запрос.УстановитьПараметр("Организация", Выборка.Организация);
Запрос.УстановитьПараметр("НомерПакета", Выборка.НомерПакета);
Результат = Запрос.ВыполнитьПакет();
ЕстьНачисленнаяАмортизация = НЕ Результат[Результат.ВГраница()-2].Пустой();
ЕстьОшибки = НЕ Результат[Результат.ВГраница()-1].Пустой();
ВыборкаДокумент = Результат[Результат.ВГраница()].Выбрать();
ВыборкаДокумент.Следующий();
Ответственный = Пользователи.ТекущийПользователь();
Если Выборка.НомерПакета = ПараметрыРасчета.НомерПакета Тогда
Если ЗначениеЗаполнено(ПараметрыРасчета.Ссылка) Тогда
ДокументОбъект = ПараметрыРасчета.Ссылка.ПолучитьОбъект();
ДокументОбъект.Комментарий = ПараметрыРасчета.Комментарий;
Ответственный = ПараметрыРасчета.Ответственный;
Иначе
ДокументОбъект = ВнеоборотныеАктивыСлужебный.ПолучитьРегламентныйДокумент(
ВыборкаДокумент.СсылкаПроведен,
Неопределено,
Неопределено,
Документы.АмортизацияОС2_4);
КонецЕсли;
Иначе
ДокументОбъект = ВнеоборотныеАктивыСлужебный.ПолучитьРегламентныйДокумент(
ВыборкаДокумент.СсылкаПроведен,
ВыборкаДокумент.СсылкаНеПроведен,
ВыборкаДокумент.СсылкаУдален,
Документы.АмортизацияОС2_4);
КонецЕсли;
Если ЕстьНачисленнаяАмортизация
ИЛИ ЗначениеЗаполнено(ПараметрыРасчета.Ссылка) Тогда
ДокументОбъект.Дата = КонецМесяца(ПараметрыРасчета.Период);
ДокументОбъект.НомерПакета = Выборка.НомерПакета;
ДокументОбъект.Организация = Выборка.Организация;
ДокументОбъект.Ответственный = Ответственный;
ДокументОбъект.ПометкаУдаления = Ложь;
ДокументОбъект.ДополнительныеСвойства.Вставить("МенеджерВременныхТаблиц", ПараметрыРасчета.МенеджерВременныхТаблиц);
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
ИначеЕсли НЕ ДокументОбъект.ПометкаУдаления
И НЕ ДокументОбъект.ЭтоНовый() Тогда
ДокументОбъект.УстановитьПометкуУдаления(Истина);
КонецЕсли;
ВнеоборотныеАктивыСлужебный.УничтожитьВременныеТаблицыПослеЗаписиРасчетаАмортизации(
ПараметрыРасчета.МенеджерВременныхТаблиц, ПараметрыРасчета);
Если ПараметрыРасчета.ЗафиксироватьРасчет Тогда
Если ЕстьОшибки Тогда
РегистрыСведений.ЗаданияКРасчетуАмортизацииОС.СоздатьЗаписьРегистра(
ПараметрыРасчета.Период, Неопределено, Выборка.Организация, Выборка.НомерПакета);
Иначе
ПакетыАмортизации = ПараметрыРасчета.ПакетыАмортизации.Скопировать(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Выборка));
РегистрыСведений.ЗаданияКРасчетуАмортизацииОС.ЗафиксироватьРасчет(
ПараметрыРасчета.Период,
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Выборка.Организация),
ПараметрыРасчета.НомерДоРасчета,
ПакетыАмортизации);
КонецЕсли;
КонецЕсли;
ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, ПараметрыРасчета.КоличествоОбработанныхДанных);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
ВызватьИсключение ТекстОшибки;
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Процедура ДоначислитьАмортизациюПринятыхКУчетуПрошлойДатой(ПараметрыРасчета)
ИспользуемыеВТ = ОбщегоНазначенияУТ.СписокВременныхТаблиц(ПараметрыРасчета.МенеджерВременныхТаблиц);
ИспользуемыеВТ.Добавить("ДоначислениеПринятыхКУчетуПрошлойДатой");
#Область ПолучениеДокументовПоКоторымНуженРасчет
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Местонахождение КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеДокумента.ДатаПринятияКУчету КАК ДатаПринятияКУчету,
| ДанныеДокумента.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| ДанныеДокумента.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.СтатьяРасходовБУ
|
| ИНАЧЕ ДанныеДокумента.СтатьяРасходовУУ
|
| КОНЕЦ КАК СтатьяРасходовУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.АналитикаРасходовБУ
|
| ИНАЧЕ ДанныеДокумента.АналитикаРасходовУУ
|
| КОНЕЦ КАК АналитикаРасходовУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.ПодразделениеБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.ВключениеВРасходыПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.ПодразделениеНУ
|
| ИНАЧЕ ДанныеДокумента.ПодразделениеУУ
|
| КОНЕЦ КАК ПодразделениеУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.НаправлениеДеятельностиБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.ВключениеВРасходыПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.НаправлениеДеятельностиНУ
|
| ИНАЧЕ ДанныеДокумента.НаправлениеДеятельностиУУ
|
| КОНЕЦ КАК НаправлениеДеятельностиУУ,
|
| ДанныеДокумента.СтатьяРасходовБУ КАК СтатьяРасходовБУ,
| ДанныеДокумента.АналитикаРасходовБУ КАК АналитикаРасходовБУ,
| ДанныеДокумента.ПодразделениеБУ КАК ПодразделениеБУ,
| ДанныеДокумента.НаправлениеДеятельностиБУ КАК НаправлениеДеятельностиБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовНУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.СтатьяРасходовБУ
|
| ИНАЧЕ ДанныеДокумента.СтатьяРасходовНУ
| КОНЕЦ КАК СтатьяРасходовНУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовНУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.АналитикаРасходовБУ
|
| ИНАЧЕ ДанныеДокумента.АналитикаРасходовНУ
| КОНЕЦ КАК АналитикаРасходовНУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовНУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.ПодразделениеБУ
|
| ИНАЧЕ ДанныеДокумента.ПодразделениеНУ
| КОНЕЦ КАК ПодразделениеНУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовНУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.НаправлениеДеятельностиБУ
|
| ИНАЧЕ ДанныеДокумента.НаправлениеДеятельностиНУ
| КОНЕЦ КАК НаправлениеДеятельностиНУ,
|
| ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды) КАК ЭтоАрендованныеОС,
|
| ДанныеДокумента.ОтражатьВБУ
| И ДанныеДокумента.ПорядокУчетаБУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НеПриниматьКУчетуВключитьВРасходы) КАК ЗаполнитьБУ,
|
| ДанныеДокумента.ОтражатьВНУ
| И ДанныеДокумента.ПорядокУчетаНУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.НеПриниматьКУчетуВключитьВРасходы) КАК ЗаполнитьНУ,
|
| ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы) КАК ЗаполнитьУУ,
|
| ТаблицаОС.НомерСтроки КАК НомерСтроки,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство
|
|ПОМЕСТИТЬ ТаблицаОС
|
|ИЗ
| Документ.ПринятиеКУчетуОС2_4 КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4.ОС ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ДанныеДокумента.ДоначислитьАмортизациюЗаПрошлыйПериод
| И ДанныеДокумента.РежимИсправленияСПрошлойДаты
| И ДанныеДокумента.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ДанныеДокумента.Проведен
|
| И ТаблицаОС.ОсновноеСредство В (
| ВЫБРАТЬ
| СписокОбъектовУчета.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета КАК СписокОбъектовУчета)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ТаблицаОС.Ссылка КАК Ссылка,
| ТаблицаОС.Дата КАК Дата,
| ТаблицаОС.Организация КАК Организация,
| ТаблицаОС.ДатаПринятияКУчету КАК ДатаПринятияКУчету,
| ТаблицаОС.ЭтоАрендованныеОС КАК ЭтоАрендованныеОС,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаОС.СтатьяРасходовБУ КАК СтатьяРасходовБУ,
| ТаблицаОС.СтатьяРасходовНУ КАК СтатьяРасходовНУ,
| ТаблицаОС.СтатьяРасходовУУ КАК СтатьяРасходовУУ,
| ТаблицаОС.АналитикаРасходовБУ КАК АналитикаРасходовБУ,
| ТаблицаОС.АналитикаРасходовНУ КАК АналитикаРасходовНУ,
| ТаблицаОС.АналитикаРасходовУУ КАК АналитикаРасходовУУ,
| ТаблицаОС.ПодразделениеБУ КАК ПодразделениеБУ,
| ТаблицаОС.ПодразделениеНУ КАК ПодразделениеНУ,
| ТаблицаОС.ПодразделениеУУ КАК ПодразделениеУУ,
| ТаблицаОС.НаправлениеДеятельностиБУ КАК НаправлениеДеятельностиБУ,
| ТаблицаОС.НаправлениеДеятельностиНУ КАК НаправлениеДеятельностиНУ,
| ТаблицаОС.НаправлениеДеятельностиУУ КАК НаправлениеДеятельностиУУ,
| ТаблицаОС.ЗаполнитьУУ КАК ЗаполнитьУУ,
| ТаблицаОС.ЗаполнитьБУ КАК ЗаполнитьБУ,
| ТаблицаОС.ЗаполнитьНУ КАК ЗаполнитьНУ
|
|ИЗ
| ТаблицаОС КАК ТаблицаОС
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = ПараметрыРасчета.МенеджерВременныхТаблиц;
РасчетАмортизацииОС.УстановитьПараметрыЗапросаДляРасчетаАмортизации(Запрос, ПараметрыРасчета);
Результат = Запрос.Выполнить();
#КонецОбласти
#Область РасчетАмортизацииПоДокументам
МетаданныеРегистра = Метаданные.РегистрыНакопления.АмортизацияОС;
РасчетАмортизации = Новый ТаблицаЗначений();
РасчетАмортизации.Колонки.Добавить("Ссылка", Новый ОписаниеТипов("ДокументСсылка.ПринятиеКУчетуОС2_4"));
РасчетАмортизации.Колонки.Добавить("Период", ОбщегоНазначения.ОписаниеТипаДата(ЧастиДаты.Дата));
РасчетАмортизации.Колонки.Добавить("ОсновноеСредство", МетаданныеРегистра.Измерения.ОсновноеСредство.Тип);
РасчетАмортизации.Колонки.Добавить("СуммаУУ", МетаданныеРегистра.Ресурсы.Амортизация.Тип);
РасчетАмортизации.Колонки.Добавить("СуммаБУ", МетаданныеРегистра.Ресурсы.АмортизацияРегл.Тип);
РасчетАмортизации.Колонки.Добавить("СуммаНУ", МетаданныеРегистра.Ресурсы.АмортизацияНУ.Тип);
РасчетАмортизации.Колонки.Добавить("СуммаПР", МетаданныеРегистра.Ресурсы.АмортизацияПР.Тип);
РасчетАмортизации.Колонки.Добавить("СуммаЦФ", МетаданныеРегистра.Ресурсы.АмортизацияЦФ.Тип);
РасчетАмортизации.Колонки.Добавить("СуммаНУЦФ", МетаданныеРегистра.Ресурсы.АмортизацияНУЦФ.Тип);
РасчетАмортизации.Колонки.Добавить("СуммаПРЦФ", МетаданныеРегистра.Ресурсы.АмортизацияПРЦФ.Тип);
РасчетАмортизации.Колонки.Добавить("РесурсВыработанныйЗаПрошлыйПериодУУ", МетаданныеРегистра.Реквизиты.РесурсВыработанныйЗаПрошлыйПериод.Тип);
РасчетАмортизации.Колонки.Добавить("РесурсВыработанныйЗаПрошлыйПериодБУ", МетаданныеРегистра.Реквизиты.РесурсВыработанныйЗаПрошлыйПериодБУ.Тип);
РасчетАмортизации.Колонки.Добавить("РесурсВыработанныйЗаТекущийПериодУУ", МетаданныеРегистра.Реквизиты.РесурсВыработанныйЗаТекущийПериод.Тип);
РасчетАмортизации.Колонки.Добавить("РесурсВыработанныйЗаТекущийПериодБУ", МетаданныеРегистра.Реквизиты.РесурсВыработанныйЗаТекущийПериодБУ.Тип);
РасчетАмортизации.Колонки.Добавить("СтоимостьДляВычисленияАмортизацииУУ", МетаданныеРегистра.Реквизиты.СтоимостьДляВычисленияАмортизации.Тип);
РасчетАмортизации.Колонки.Добавить("СтоимостьДляВычисленияАмортизацииБУ", МетаданныеРегистра.Реквизиты.СтоимостьДляВычисленияАмортизацииРегл.Тип);
РасчетАмортизации.Колонки.Добавить("ПорядокНачисленияАмортизацииУУ", МетаданныеРегистра.Реквизиты.ПорядокНачисленияАмортизацииУУ.Тип);
РасчетАмортизации.Колонки.Добавить("ПорядокНачисленияАмортизацииБУ", МетаданныеРегистра.Реквизиты.ПорядокНачисленияАмортизацииБУ.Тип);
РасчетАмортизации.Колонки.Добавить("ПорядокУчетаУУ", МетаданныеРегистра.Реквизиты.ПорядокУчетаУУ.Тип);
РасчетАмортизации.Колонки.Добавить("ПорядокУчетаБУ", МетаданныеРегистра.Реквизиты.ПорядокУчетаБУ.Тип);
РасчетАмортизации.Колонки.Добавить("СтатьяРасходов", МетаданныеРегистра.Реквизиты.КорСтатьяРасходов.Тип);
РасчетАмортизации.Колонки.Добавить("АналитикаРасходов", МетаданныеРегистра.Реквизиты.КорАналитикаРасходов.Тип);
РасчетАмортизации.Колонки.Добавить("ПодразделениеРасходов", МетаданныеРегистра.Реквизиты.КорПодразделение.Тип);
РасчетАмортизации.Колонки.Добавить("НаправлениеДеятельностиРасходов", МетаданныеРегистра.Реквизиты.КорНаправлениеДеятельности.Тип);
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
#Область ПолучениеПараметровРасчета
РеглУчетВНАВедетсяНезависимо = НастройкиНалоговУчетныхПолитикПовтИсп.РеглУчетВНАВедетсяНезависимо(
Выборка.Организация, КонецМесяца(Выборка.Дата));
Параметры = Новый Структура;
Параметры.Вставить("Ссылка", Выборка.Ссылка);
Параметры.Вставить("Организация", Выборка.Организация);
Параметры.Вставить("ОсновноеСредство", Выборка.ОсновноеСредство);
Параметры.Вставить("Дата", Выборка.Дата);
Параметры.Вставить("НачалоПериода", НачалоМесяца(Выборка.ДатаПринятияКУчету));
Параметры.Вставить("КонецПериода", НачалоМесяца(Выборка.Дата) - 1);
Параметры.Вставить("КонецПериодаУУ", НачалоМесяца(Выборка.Дата) - 1);
Параметры.Вставить("КонецПериодаБУ", НачалоМесяца(Выборка.Дата) - 1);
Параметры.Вставить("КонецПериодаНУ", НачалоМесяца(Выборка.Дата) - 1);
Параметры.Вставить("АмортизационнаяПремия", 0);
Параметры.Вставить("ЗаполнитьУУ", Выборка.ЗаполнитьУУ);
Параметры.Вставить("ЗаполнитьБУ", Выборка.ЗаполнитьБУ И РеглУчетВНАВедетсяНезависимо);
Параметры.Вставить("ЗаполнитьНУ", Выборка.ЗаполнитьНУ);
ПараметрыДляРасчета = ПараметрыДляРасчетаАмортизацииПоТаблице(Параметры);
#КонецОбласти
#Область РасчетАмортизации
Параметры = Новый Структура;
Параметры.Вставить("Организация", Выборка.Организация);
Параметры.Вставить("ОсновноеСредство", Выборка.ОсновноеСредство);
Параметры.Вставить("ЭтоАрендованныеОС", Выборка.ЭтоАрендованныеОС);
Если Выборка.ЗаполнитьУУ Тогда
Параметры.Вставить("ДатаВводаВЭксплуатациюУУ", ПараметрыДляРасчета.ДатаВводаВЭксплуатациюУУ);
Параметры.Вставить("СтоимостьНаНачалоГода", ПараметрыДляРасчета.СтоимостьНаНачалоГода);
Параметры.Вставить("СтоимостьРеглНаНачалоГода", ПараметрыДляРасчета.СтоимостьРеглНаНачалоГода);
Параметры.Вставить("АмортизацияНаНачалоГода", ПараметрыДляРасчета.АмортизацияНаНачалоГода);
Параметры.Вставить("АмортизацияРеглНаНачалоГода", ПараметрыДляРасчета.АмортизацияРеглНаНачалоГода);
Параметры.Вставить("АмортизацияНаНачалоПериода", ПараметрыДляРасчета.АмортизацияНаНачалоПериода);
Параметры.Вставить("АмортизацияРеглНаНачалоПериода", ПараметрыДляРасчета.АмортизацияРеглНаНачалоПериода);
КонецЕсли;
Если Выборка.ЗаполнитьБУ И РеглУчетВНАВедетсяНезависимо Тогда
Параметры.Вставить("ДатаВводаВЭксплуатациюБУ", ПараметрыДляРасчета.ДатаВводаВЭксплуатациюБУ);
Параметры.Вставить("СтоимостьРеглНаНачалоГода", ПараметрыДляРасчета.СтоимостьРеглНаНачалоГода);
Параметры.Вставить("АмортизацияРеглНаНачалоГода", ПараметрыДляРасчета.АмортизацияРеглНаНачалоГода);
Параметры.Вставить("АмортизацияРеглНаНачалоПериода", ПараметрыДляРасчета.АмортизацияРеглНаНачалоПериода);
Параметры.Вставить("АмортизацияЦФНаНачалоПериода", ПараметрыДляРасчета.АмортизацияЦФНаНачалоПериода);
Параметры.Вставить("АмортизацияПРНаНачалоПериода", ПараметрыДляРасчета.АмортизацияПРНаНачалоПериода);
Параметры.Вставить("АмортизацияПРЦФНаНачалоПериода", ПараметрыДляРасчета.АмортизацияПРЦФНаНачалоПериода);
КонецЕсли;
Если Выборка.ЗаполнитьНУ Тогда
Параметры.Вставить("АмортизацияНУНаНачалоПериода", ПараметрыДляРасчета.АмортизацияНУНаНачалоПериода);
Параметры.Вставить("ДатаВводаВЭксплуатациюНУ", ПараметрыДляРасчета.ДатаВводаВЭксплуатациюНУ);
Параметры.Вставить("АмортизацияНУНаНачалоПериода", ПараметрыДляРасчета.АмортизацияНУНаНачалоПериода);
Параметры.Вставить("АмортизацияДо2009", ПараметрыДляРасчета.АмортизацияДо2009);
Параметры.Вставить("ФактическийСрокИспользованияДо2009", ПараметрыДляРасчета.ФактическийСрокИспользованияДо2009);
КонецЕсли;
ТаблицыРасчета = Новый Структура;
Если Выборка.ЗаполнитьУУ Тогда
ТаблицыРасчета.Вставить("ПараметрыЗаПериодУУ", ПараметрыДляРасчета.ПараметрыЗаПериодУУ.Скопировать());
КонецЕсли;
Если Выборка.ЗаполнитьБУ Тогда
ТаблицыРасчета.Вставить("ПараметрыЗаПериодБУ", ПараметрыДляРасчета.ПараметрыЗаПериодБУ.Скопировать());
КонецЕсли;
Если Выборка.ЗаполнитьНУ Тогда
ТаблицыРасчета.Вставить("ПараметрыЗаПериодНУ", ПараметрыДляРасчета.ПараметрыЗаПериодНУ.Скопировать());
КонецЕсли;
РезультатРасчета = РассчитатьАмортизациюПоТаблице(ТаблицыРасчета, Параметры);
#КонецОбласти
#Область ДобавлениеРасчетаВТаблицу
Если РезультатРасчета.Свойство("РезультатРасчетаУУ") Тогда
Для Каждого ДанныеСтроки Из РезультатРасчета.РезультатРасчетаУУ Цикл
НоваяСтрока = РасчетАмортизации.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ДанныеСтроки);
НоваяСтрока.СуммаУУ = ДанныеСтроки.Амортизация;
НоваяСтрока.Ссылка = Выборка.Ссылка;
НоваяСтрока.ОсновноеСредство = Выборка.ОсновноеСредство;
НоваяСтрока.СтатьяРасходов = Выборка.СтатьяРасходовУУ;
НоваяСтрока.АналитикаРасходов = Выборка.АналитикаРасходовУУ;
НоваяСтрока.ПодразделениеРасходов = Выборка.ПодразделениеУУ;
НоваяСтрока.НаправлениеДеятельностиРасходов = Выборка.НаправлениеДеятельностиУУ;
НоваяСтрока.СтоимостьДляВычисленияАмортизацииУУ = ДанныеСтроки.СтоимостьДляВычисленияАмортизации;
НоваяСтрока.РесурсВыработанныйЗаТекущийПериодУУ = ДанныеСтроки.РесурсВыработанныйЗаТекущийПериод;
НоваяСтрока.РесурсВыработанныйЗаПрошлыйПериодУУ = ДанныеСтроки.РесурсВыработанныйЗаПрошлыйПериод;
НоваяСтрока.ПорядокНачисленияАмортизацииУУ = ДанныеСтроки.ПорядокНачисленияАмортизации;
НоваяСтрока.ПорядокУчетаУУ = ДанныеСтроки.ПорядокУчета;
КонецЦикла;
КонецЕсли;
Если РезультатРасчета.Свойство("РезультатРасчетаБУ") Тогда
Для Каждого ДанныеСтроки Из РезультатРасчета.РезультатРасчетаБУ Цикл
НоваяСтрока = РасчетАмортизации.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ДанныеСтроки);
НоваяСтрока.СуммаБУ = ДанныеСтроки.АмортизацияБУ;
НоваяСтрока.СуммаПР = ДанныеСтроки.АмортизацияПР;
НоваяСтрока.СуммаЦФ = ДанныеСтроки.АмортизацияЦФ;
НоваяСтрока.Ссылка = Выборка.Ссылка;
НоваяСтрока.ОсновноеСредство = Выборка.ОсновноеСредство;
НоваяСтрока.СтатьяРасходов = Выборка.СтатьяРасходовБУ;
НоваяСтрока.АналитикаРасходов = Выборка.АналитикаРасходовБУ;
НоваяСтрока.ПодразделениеРасходов = Выборка.ПодразделениеБУ;
НоваяСтрока.НаправлениеДеятельностиРасходов = Выборка.НаправлениеДеятельностиБУ;
НоваяСтрока.СтоимостьДляВычисленияАмортизацииБУ = ДанныеСтроки.СтоимостьДляВычисленияАмортизации;
НоваяСтрока.РесурсВыработанныйЗаТекущийПериодБУ = ДанныеСтроки.РесурсВыработанныйЗаТекущийПериод;
НоваяСтрока.РесурсВыработанныйЗаПрошлыйПериодБУ = ДанныеСтроки.РесурсВыработанныйЗаПрошлыйПериод;
НоваяСтрока.ПорядокНачисленияАмортизацииБУ = ДанныеСтроки.ПорядокНачисленияАмортизации;
НоваяСтрока.ПорядокУчетаБУ = ДанныеСтроки.ПорядокУчета;
КонецЦикла;
КонецЕсли;
Если РезультатРасчета.Свойство("РезультатРасчетаНУ") Тогда
Для Каждого ДанныеСтроки Из РезультатРасчета.РезультатРасчетаНУ Цикл
НоваяСтрока = РасчетАмортизации.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ДанныеСтроки);
НоваяСтрока.СуммаНУ = ДанныеСтроки.АмортизацияНУ;
НоваяСтрока.Ссылка = Выборка.Ссылка;
НоваяСтрока.ОсновноеСредство = Выборка.ОсновноеСредство;
НоваяСтрока.СтатьяРасходов = Выборка.СтатьяРасходовНУ;
НоваяСтрока.АналитикаРасходов = Выборка.АналитикаРасходовНУ;
НоваяСтрока.ПодразделениеРасходов = Выборка.ПодразделениеНУ;
НоваяСтрока.НаправлениеДеятельностиРасходов = Выборка.НаправлениеДеятельностиНУ;
КонецЦикла;
КонецЕсли;
#КонецОбласти
КонецЦикла;
#КонецОбласти
#Область ФормированиеТаблицыДоначислениеПринятыхКУчетуПрошлойДатой
Запрос.Текст =
"ВЫБРАТЬ
| РасчетАмортизации.Ссылка КАК Ссылка,
| РасчетАмортизации.Период КАК Период,
| РасчетАмортизации.ОсновноеСредство КАК ОсновноеСредство,
| РасчетАмортизации.РесурсВыработанныйЗаПрошлыйПериодУУ КАК РесурсВыработанныйЗаПрошлыйПериодУУ,
| РасчетАмортизации.РесурсВыработанныйЗаТекущийПериодУУ КАК РесурсВыработанныйЗаТекущийПериодУУ,
| РасчетАмортизации.РесурсВыработанныйЗаПрошлыйПериодБУ КАК РесурсВыработанныйЗаПрошлыйПериодБУ,
| РасчетАмортизации.РесурсВыработанныйЗаТекущийПериодБУ КАК РесурсВыработанныйЗаТекущийПериодБУ,
| РасчетАмортизации.СтоимостьДляВычисленияАмортизацииУУ КАК СтоимостьДляВычисленияАмортизацииУУ,
| РасчетАмортизации.СтоимостьДляВычисленияАмортизацииБУ КАК СтоимостьДляВычисленияАмортизацииБУ,
| РасчетАмортизации.ПорядокУчетаУУ КАК ПорядокУчетаУУ,
| РасчетАмортизации.ПорядокУчетаБУ КАК ПорядокУчетаБУ,
| РасчетАмортизации.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| РасчетАмортизации.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| РасчетАмортизации.СтатьяРасходов КАК СтатьяРасходов,
| РасчетАмортизации.АналитикаРасходов КАК АналитикаРасходов,
| РасчетАмортизации.ПодразделениеРасходов КАК ПодразделениеРасходов,
| РасчетАмортизации.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| РасчетАмортизации.СуммаУУ КАК СуммаУУ,
| РасчетАмортизации.СуммаБУ КАК СуммаБУ,
| РасчетАмортизации.СуммаНУ КАК СуммаНУ,
| РасчетАмортизации.СуммаПР КАК СуммаПР,
| РасчетАмортизации.СуммаЦФ КАК СуммаЦФ,
| РасчетАмортизации.СуммаНУЦФ КАК СуммаНУЦФ,
| РасчетАмортизации.СуммаПРЦФ КАК СуммаПРЦФ
|
|ПОМЕСТИТЬ РасчетАмортизации
|
|ИЗ
| &РасчетАмортизации КАК РасчетАмортизации
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| &КонецМесяца КАК ПериодРасчета,
| РасчетАмортизации.Период КАК ПериодНачисления,
|
| ТаблицаОС.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаОС.Подразделение КАК Подразделение,
| ТаблицаОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ТаблицаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| РасчетАмортизации.СтатьяРасходов КАК СтатьяРасходов,
| РасчетАмортизации.АналитикаРасходов КАК АналитикаРасходов,
|
| ВЫБОР
| КОГДА РасчетАмортизации.ПодразделениеРасходов <> ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА РасчетАмортизации.ПодразделениеРасходов
| ИНАЧЕ ТаблицаОС.Подразделение
| КОНЕЦ КАК КорПодразделение,
|
| ВЫБОР
| КОГДА РасчетАмортизации.ПодразделениеРасходов <> ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА РасчетАмортизации.НаправлениеДеятельностиРасходов
| ИНАЧЕ ТаблицаОС.НаправлениеДеятельности
| КОНЕЦ КАК КорНаправлениеДеятельности,
|
| ТаблицаОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| ТаблицаОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
|
| РасчетАмортизации.РесурсВыработанныйЗаПрошлыйПериодУУ КАК РесурсВыработанныйЗаПрошлыйПериодУУ,
| РасчетАмортизации.РесурсВыработанныйЗаТекущийПериодУУ КАК РесурсВыработанныйЗаТекущийПериодУУ,
| РасчетАмортизации.РесурсВыработанныйЗаПрошлыйПериодБУ КАК РесурсВыработанныйЗаПрошлыйПериодБУ,
| РасчетАмортизации.РесурсВыработанныйЗаТекущийПериодБУ КАК РесурсВыработанныйЗаТекущийПериодБУ,
| РасчетАмортизации.СтоимостьДляВычисленияАмортизацииУУ КАК СтоимостьДляВычисленияАмортизации,
| РасчетАмортизации.СтоимостьДляВычисленияАмортизацииБУ КАК СтоимостьДляВычисленияАмортизацииРегл,
| РасчетАмортизации.ПорядокУчетаУУ КАК ПорядокУчетаУУ,
| РасчетАмортизации.ПорядокУчетаБУ КАК ПорядокУчетаБУ,
| РасчетАмортизации.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| РасчетАмортизации.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
|
| РасчетАмортизации.СуммаУУ КАК СуммаУУ,
| РасчетАмортизации.СуммаБУ КАК СуммаБУ,
| РасчетАмортизации.СуммаНУ КАК СуммаНУ,
| РасчетАмортизации.СуммаПР КАК СуммаПР,
| РасчетАмортизации.СуммаЦФ КАК СуммаЦФ,
| РасчетАмортизации.СуммаНУЦФ КАК СуммаНУЦФ,
| РасчетАмортизации.СуммаПРЦФ КАК СуммаПРЦФ,
|
| РасчетАмортизации.СуммаБУ
| - РасчетАмортизации.СуммаНУ
| - РасчетАмортизации.СуммаПР КАК СуммаВР,
|
| РасчетАмортизации.СуммаЦФ
| - РасчетАмортизации.СуммаНУЦФ
| - РасчетАмортизации.СуммаПРЦФ КАК СуммаВРЦФ
|
|ПОМЕСТИТЬ ДоначислениеПринятыхКУчетуПрошлойДатой
|
|ИЗ
| РасчетАмортизации КАК РасчетАмортизации
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = РасчетАмортизации.Ссылка
| И ТаблицаОС.ОсновноеСредство = РасчетАмортизации.ОсновноеСредство
|";
Запрос.УстановитьПараметр("РасчетАмортизации", РасчетАмортизации);
Запрос.Выполнить();
#КонецОбласти
КонецПроцедуры
#Область ТекстыЗапросовДляРасчетаАмортизации
Процедура ТекстЗапросаВтДанныеКРасчету(СписокЗапросов)
ТекстЗапроса =
"ВЫБРАТЬ
| ПакетыАмортизации.Организация КАК Организация,
| ПакетыАмортизации.НомерПакета КАК НомерПакета
|
|ПОМЕСТИТЬ НомераПакетов
|
|ИЗ
| &ПакетыАмортизации КАК ПакетыАмортизации
|
|ИНДЕКСИРОВАТЬ ПО
| НомерПакета
|;
|
|
|ВЫБРАТЬ
| ПакетыАмортизации.Организация КАК Организация,
| ПакетыАмортизации.ОсновноеСредство КАК ОбъектУчета
|
|ПОМЕСТИТЬ ОбъектыПакетовАмортизации
|
|ИЗ
| РегистрСведений.ПакетыАмортизацииОС КАК ПакетыАмортизации
|
|ГДЕ
| (ПакетыАмортизации.Организация, ПакетыАмортизации.НомерПакета) В
| (ВЫБРАТЬ
| НомераПакетов.Организация,
| НомераПакетов.НомерПакета
| ИЗ
| НомераПакетов КАК НомераПакетов)
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектУчета
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДанныеКРасчету.Организация КАК Организация,
| ВЫРАЗИТЬ(ДанныеКРасчету.Организация КАК Справочник.Организации).ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ДанныеКРасчету.ОбъектУчета КАК ОбъектУчета
|
|ПОМЕСТИТЬ ВтДанныеКРасчету
|
|ИЗ
| (ВЫБРАТЬ
| ОбъектыПакетовАмортизации.Организация КАК Организация,
| ОбъектыПакетовАмортизации.ОбъектУчета КАК ОбъектУчета
| ИЗ
| ОбъектыПакетовАмортизации
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОсновноеСредство КАК ОбъектУчета
| ИЗ
| Документ.РазукомплектацияОС КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РазукомплектацияОС.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка)
|
| ГДЕ
| ДанныеДокумента.Дата МЕЖДУ &НачалоПредыдущегоМесяца И &КонецМесяца
| И ДанныеДокумента.Проведен
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| ОбъектыПакетовАмортизации.ОбъектУчета
| ИЗ
| ОбъектыПакетовАмортизации КАК ОбъектыПакетовАмортизации)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.Организация,
| ТаблицаОС.ОсновноеСредство
| ИЗ
| Документ.ОбъединениеОС КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОбъединениеОС.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка)
|
| ГДЕ
| ДанныеДокумента.Дата МЕЖДУ &НачалоПредыдущегоМесяца И &КонецМесяца
| И ДанныеДокумента.Проведен
|
| И ДанныеДокумента.ОсновноеСредство В
| (ВЫБРАТЬ
| ОбъектыПакетовАмортизации.ОбъектУчета
| ИЗ
| ОбъектыПакетовАмортизации КАК ОбъектыПакетовАмортизации)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.Организация,
| ТаблицаОС.ОсновноеСредство
| ИЗ
| Документ.ПеремещениеОС2_4 КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПеремещениеОС2_4.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка)
|
| ГДЕ
| ДанныеДокумента.Дата МЕЖДУ &НачалоПредыдущегоМесяца И &КонецМесяца
| И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеремещениеОСвПодразделениеВыделенноеНаБаланс)
| И ДанныеДокумента.Проведен
|
| И (ДанныеДокумента.ОрганизацияПолучатель, ТаблицаОС.ОсновноеСредство) В
| (ВЫБРАТЬ
| ОбъектыПакетовАмортизации.Организация,
| ОбъектыПакетовАмортизации.ОбъектУчета
| ИЗ
| ОбъектыПакетовАмортизации КАК ОбъектыПакетовАмортизации)
|
| ) КАК ДанныеКРасчету
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектУчета,
| Организация
|";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаСписокОбъектовУчета(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса = АмортизацияОСЛокализация.ТекстЗапросаСписокОбъектовУчета(ПараметрыРасчета);
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| СписокОС.НачалоМесяца КАК НачалоМесяца,
| СписокОС.КонецМесяца КАК КонецМесяца,
| СписокОС.Организация КАК Организация,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| ЕСТЬNULL(ПакетыАмортизацииОС.НомерПакета, 0) КАК НомерПакета,
|
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету КАК АмортизацияНачисляетсяСДатыПринятияКУчету,
|
| (ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ))
| = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК АмортизацияНачисляетсяПоСтандартамМУ,
|
| (ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ))
| = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК АмортизацияНачисляетсяПоСтандартамМУ_УУ
|
|ПОМЕСТИТЬ СписокОбъектовУчета
|
|ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПакетыАмортизацииОС КАК ПакетыАмортизацииОС
| ПО ПакетыАмортизацииОС.Организация = СписокОС.Организация
| И ПакетыАмортизацииОС.ОсновноеСредство = СписокОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = СписокОС.ГоловнаяОрганизация
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| СписокОС.НачалоМесяца КАК НачалоМесяца,
| СписокОС.КонецМесяца КАК КонецМесяца,
| СписокОС.Организация КАК Организация,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| ЕСТЬNULL(ПакетыАмортизацииОС.НомерПакета, 0) КАК НомерПакета,
|
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету КАК АмортизацияНачисляетсяСДатыПринятияКУчету,
|
| ИСТИНА КАК АмортизацияНачисляетсяПоСтандартамМУ,
| ИСТИНА КАК АмортизацияНачисляетсяПоСтандартамМУ_УУ
|
|ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПакетыАмортизацииОС КАК ПакетыАмортизацииОС
| ПО ПакетыАмортизацииОС.Организация = СписокОС.Организация
| И ПакетыАмортизацииОС.ОсновноеСредство = СписокОС.ОсновноеСредство
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| Организация";
КонецЕсли;
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаСписокВсехОС(СписокЗапросов, ПараметрыРасчета)
#Область ВТ_АрендованныеОС
ТекстЗапроса =
"ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство
|
|ПОМЕСТИТЬ ВТ_АрендованныеОС
|
|ИЗ
| РегистрСведений.АрендованныеОС.СрезПоследних(
| &КонецПредыдущегоМесяца,
| ОсновноеСредство В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)) КАК ТаблицаРегистра
|ГДЕ
| ТаблицаРегистра.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ВАренде)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство
|ИЗ
| РегистрСведений.АрендованныеОС КАК ТаблицаРегистра
|
|ГДЕ
| ТаблицаРегистра.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ТаблицаРегистра.Активность
|
| И ТИПЗНАЧЕНИЯ(ТаблицаРегистра.Регистратор) В (&ТипПринятиеКУчету)
| И ТаблицаРегистра.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ВАренде)
|
| И ТаблицаРегистра.ОсновноеСредство В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство
|
|ИЗ
| РегистрСведений.АрендованныеОС.СрезПоследних(
| &КонецПозапрошлогоМесяца,
| ОсновноеСредство В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)) КАК ТаблицаРегистра
|ГДЕ
| ТаблицаРегистра.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ВАренде)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство
|ИЗ
| РегистрСведений.АрендованныеОС КАК ТаблицаРегистра
|
|ГДЕ
| ТаблицаРегистра.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И ТаблицаРегистра.Активность
|
| И ТИПЗНАЧЕНИЯ(ТаблицаРегистра.Регистратор) В (&ТипПринятиеКУчету)
| И ТаблицаРегистра.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ВАренде)
|
| И ТаблицаРегистра.ОсновноеСредство В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|
|ИНДЕКСИРОВАТЬ ПО
| НачалоМесяца,
| ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ОбъектыПоКоторымНеНужноНачислятьАмортизацию
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.ОтражатьВБУ КАК ОтражатьВБУ,
| ДанныеДокумента.ОтражатьВНУ КАК ОтражатьВНУ,
| ТаблицаОбъектов.ОсновноеСредство КАК ОбъектУчета
|
|ПОМЕСТИТЬ ОбъектыПоКоторымНеНужноНачислятьАмортизацию
|
|ИЗ
| Документ.КорректировкаСтоимостиИАмортизацииОС КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаСтоимостиИАмортизацииОС.ОС КАК ТаблицаОбъектов
| ПО ТаблицаОбъектов.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ДанныеДокумента.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ДанныеДокумента.ВключаетАмортизациюТекущегоМесяца
| И ДанныеДокумента.Проведен
|
| И ТаблицаОбъектов.ОсновноеСредство В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектУчета
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
АмортизацияОСЛокализация.ДополнитьТекстЗапросаСписокВсехОС(СписокЗапросов, ПараметрыРасчета);
#Область СписокОбъектовУчета_Доначисление_УУ
ТекстЗапроса =
"ВЫБРАТЬ
| СтоимостьОС.Организация КАК Организация,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
| МИНИМУМ(СтоимостьОС.Период) КАК Период
|
|ПОМЕСТИТЬ СписокОбъектовУчета_Доначисление_УУ
|
|ИЗ
| РегистрНакопления.СтоимостьОС КАК СтоимостьОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецПредыдущегоМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = СтоимостьОС.Организация.ГоловнаяОрганизация
|
|ГДЕ
| СтоимостьОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И СтоимостьОС.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| И СтоимостьОС.Активность
|
| И СтоимостьОС.ОтражатьВУпрУчете
| И (ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ))
|
| И ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = СтоимостьОС.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоПредыдущегоМесяца)
| ТОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАренда, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| ИНАЧЕ ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОС, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
|
| И СтоимостьОС.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуОС),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.МодернизацияОС))
|
| И (СтоимостьОС.Организация, СтоимостьОС.ОсновноеСредство) В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.Организация,
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|
| И НЕ ИСТИНА В (
| ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию КАК ОбъектыПоКоторымНеНужноНачислятьАмортизацию
| ГДЕ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОбъектУчета = СтоимостьОС.ОсновноеСредство
| И ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОтражатьВУпрУчете)
|
|СГРУППИРОВАТЬ ПО
| СтоимостьОС.Организация,
| СтоимостьОС.ОсновноеСредство
|
|ИМЕЮЩИЕ
| СУММА(СтоимостьОС.Стоимость - СтоимостьОС.ПредварительнаяСтоимость) > 0
| ИЛИ &ЭтоМеждународнаяВерсия
| И МАКСИМУМ(УчетнаяПолитика.ПорядокУчетаВНАРегл) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| И СУММА(СтоимостьОС.СтоимостьРегл - СтоимостьОС.ПредварительнаяСтоимостьРегл) > 0
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СписокОбъектовУчета_Доначисление_БУ_МУ
ТекстЗапроса =
"ВЫБРАТЬ
| СтоимостьОС.Организация КАК Организация,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
| МИНИМУМ(СтоимостьОС.Период) КАК Период
|ПОМЕСТИТЬ СписокОбъектовУчета_Доначисление_БУ_МУ
|ИЗ
| РегистрНакопления.СтоимостьОС КАК СтоимостьОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецПредыдущегоМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = СтоимостьОС.Организация.ГоловнаяОрганизация
|ГДЕ
| СтоимостьОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И СтоимостьОС.Активность
| И СтоимостьОС.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
|
| И СтоимостьОС.ОтражатьВРеглУчете
| И &ЭтоМеждународнаяВерсия
| И (ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый))
|
| И ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = СтоимостьОС.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоПредыдущегоМесяца)
| ТОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАрендаРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| ИНАЧЕ ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОСРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
|
| И СтоимостьОС.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуОС),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.МодернизацияОС))
|
| И (СтоимостьОС.Организация, СтоимостьОС.ОсновноеСредство) В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.Организация,
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|
| И НЕ ИСТИНА В (
| ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию КАК ОбъектыПоКоторымНеНужноНачислятьАмортизацию
| ГДЕ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОбъектУчета = СтоимостьОС.ОсновноеСредство
| И ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОтражатьВБУ)
|
|СГРУППИРОВАТЬ ПО
| СтоимостьОС.Организация,
| СтоимостьОС.ОсновноеСредство
|
|ИМЕЮЩИЕ
| СУММА(СтоимостьОС.СтоимостьРегл - СтоимостьОС.ПредварительнаяСтоимостьРегл) > 0
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СписокОбъектовУчета_УУ
ТекстЗапроса =
"ВЫБРАТЬ
| &КонецМесяца КАК ПериодНачисления,
| &НачалоМесяца КАК НачалоМесяца,
| &КонецМесяца КАК КонецМесяца,
| &КонецПредыдущегоМесяца КАК Период,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ЛОЖЬ КАК ЭтоДоначисление,
| ЛОЖЬ КАК ПолученПриРазукомплектацииОбъединении,
| ПорядокУчетаОС.Организация КАК Организация,
| ПорядокУчетаОС.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ПорядокУчетаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) КАК МесяцНачалаФинансовогоГода,
| ЕСТЬNULL(УчетнаяПолитика.ВариантПроводокПоОбесценениюВНА, ЗНАЧЕНИЕ(Перечисление.ВариантыПроводокПоОбесценениюВНА.ДоначислятьКорректировкуОбесценения)) КАК ВариантПроводокПоОбесценениюВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК ПорядокУчетаВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) КАК ПорядокУчетаВНАРегл,
| ЕСТЬNULL(УчетнаяПолитика.МетодПереоценкиОС, ЗНАЧЕНИЕ(Перечисление.МетодыПереоценкиВНА.МетодПропорциональногоПересчета)) КАК МетодПереоценки,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 13)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| КОНЕЦ КАК НачалоФинансовогоГода,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 11)
| КОНЕЦ КАК КонецФинансовогоГода,
|
| (ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ))
| = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК АмортизацияНачисляетсяПоСтандартамМУ,
|
| ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоМесяца)
| ТОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАренда, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| ИНАЧЕ ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОС, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету) КАК АмортизацияНачисляетсяСДатыПринятияКУчету
|
|ПОМЕСТИТЬ СписокОбъектовУчета_УУ
|
|ИЗ
| РегистрСведений.ПорядокУчетаОСУУ.СрезПоследних(
| &КонецПредыдущегоМесяца,
| ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И (Организация, ОсновноеСредство) В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.Организация,
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)) КАК ПорядокУчетаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = ПорядокУчетаОС.Организация.ГоловнаяОрганизация
|
|ГДЕ
| НЕ ИСТИНА В (
| ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию КАК ОбъектыПоКоторымНеНужноНачислятьАмортизацию
| ГДЕ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОбъектУчета = ПорядокУчетаОС.ОсновноеСредство
| И ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОтражатьВУпрУчете)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| &КонецМесяца КАК ПериодНачисления,
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК КонецМесяца,
| &НачалоПредыдущегоМесяца КАК Период,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| ИСТИНА КАК ЭтоДоначисление,
| ЛОЖЬ КАК ПолученПриРазукомплектацииОбъединении,
| ПорядокУчетаОС.Организация КАК Организация,
| ПорядокУчетаОС.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ПорядокУчетаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) КАК МесяцНачалаФинансовогоГода,
| ЕСТЬNULL(УчетнаяПолитика.ВариантПроводокПоОбесценениюВНА, ЗНАЧЕНИЕ(Перечисление.ВариантыПроводокПоОбесценениюВНА.ДоначислятьКорректировкуОбесценения)) КАК ВариантПроводокПоОбесценениюВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК ПорядокУчетаВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) КАК ПорядокУчетаВНАРегл,
| ЕСТЬNULL(УчетнаяПолитика.МетодПереоценкиОС, ЗНАЧЕНИЕ(Перечисление.МетодыПереоценкиВНА.МетодПропорциональногоПересчета)) КАК МетодПереоценки,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоПредыдущегоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 13)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| КОНЕЦ КАК НачалоФинансовогоГода,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоПредыдущегоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 11)
| КОНЕЦ КАК КонецФинансовогоГода,
|
| (ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ))
| = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК АмортизацияНачисляетсяПоСтандартамМУ,
|
| ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоПредыдущегоМесяца)
| ТОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАренда, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| ИНАЧЕ ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОС, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету) КАК АмортизацияНачисляетсяСДатыПринятияКУчету
|
|ИЗ
| РегистрСведений.ПорядокУчетаОСУУ.СрезПоследних(
| &КонецПозапрошлогоМесяца,
| ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И (Организация, ОсновноеСредство) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_Доначисление_УУ КАК СписокОС)) КАК ПорядокУчетаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецПредыдущегоМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = ПорядокУчетаОС.Организация.ГоловнаяОрганизация
|
|ГДЕ
| НЕ ИСТИНА В (
| ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию КАК ОбъектыПоКоторымНеНужноНачислятьАмортизацию
| ГДЕ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОбъектУчета = ПорядокУчетаОС.ОсновноеСредство
| И ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОтражатьВУпрУчете)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| &КонецМесяца КАК ПериодНачисления,
| &НачалоМесяца КАК НачалоМесяца,
| &КонецМесяца КАК КонецМесяца,
| НАЧАЛОПЕРИОДА(ПорядокУчетаОС.Период, ДЕНЬ) КАК Период,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(ПринятиеКУчетуОС.РежимИсправленияСПрошлойДаты, ЛОЖЬ)
| ТОГДА &КонецПредыдущегоМесяца
| ИНАЧЕ НАЧАЛОПЕРИОДА(ПорядокУчетаОС.Период, ДЕНЬ)
| КОНЕЦ КАК ПериодПараметров,
|
| ЛОЖЬ КАК ЭтоДоначисление,
| ТИПЗНАЧЕНИЯ(ПорядокУчетаОС.Регистратор) В (ТИП(Документ.РазукомплектацияОС), ТИП(Документ.ОбъединениеОС)) КАК ПолученПриРазукомплектацииОбъединении,
| ПорядокУчетаОС.Организация КАК Организация,
| ПорядокУчетаОС.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ПорядокУчетаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) КАК МесяцНачалаФинансовогоГода,
| ЕСТЬNULL(УчетнаяПолитика.ВариантПроводокПоОбесценениюВНА, ЗНАЧЕНИЕ(Перечисление.ВариантыПроводокПоОбесценениюВНА.ДоначислятьКорректировкуОбесценения)) КАК ВариантПроводокПоОбесценениюВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК ПорядокУчетаВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) КАК ПорядокУчетаВНАРегл,
| ЕСТЬNULL(УчетнаяПолитика.МетодПереоценкиОС, ЗНАЧЕНИЕ(Перечисление.МетодыПереоценкиВНА.МетодПропорциональногоПересчета)) КАК МетодПереоценки,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 13)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| КОНЕЦ КАК НачалоФинансовогоГода,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 11)
| КОНЕЦ КАК КонецФинансовогоГода,
|
| (ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ))
| = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК АмортизацияНачисляетсяПоСтандартамМУ,
|
| ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоМесяца)
| ТОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАренда, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| ИНАЧЕ ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОС, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету) КАК АмортизацияНачисляетсяСДатыПринятияКУчету
|
|ИЗ
| РегистрСведений.ПорядокУчетаОСУУ КАК ПорядокУчетаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4 КАК ПринятиеКУчетуОС
| ПО ПринятиеКУчетуОС.Ссылка = ПорядокУчетаОС.Регистратор
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = ПорядокУчетаОС.Организация.ГоловнаяОрганизация
|
|ГДЕ
| ПорядокУчетаОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ПорядокУчетаОС.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету)
| И ПорядокУчетаОС.Активность
|
| И (ЕСТЬNULL(ПринятиеКУчетуОС.РежимИсправленияСПрошлойДаты, ЛОЖЬ)
| И ЕСТЬNULL(ПринятиеКУчетуОС.ОтражатьВУпрУчете, ЛОЖЬ)
| ИЛИ ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)
| И ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоМесяца)
| ТОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАренда, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| ИНАЧЕ ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОС, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
|
| И ТИПЗНАЧЕНИЯ(ПорядокУчетаОС.Регистратор) В (
| ТИП(Документ.ПринятиеКУчетуОС2_4),
| ТИП(Документ.ПринятиеКУчетуУзловКомпонентовАмортизации),
| ТИП(Документ.РазукомплектацияОС),
| ТИП(Документ.ОбъединениеОС))
|
| И (ПорядокУчетаОС.Организация, ПорядокУчетаОС.ОсновноеСредство) В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.Организация,
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|
| И НЕ ИСТИНА В (
| ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию КАК ОбъектыПоКоторымНеНужноНачислятьАмортизацию
| ГДЕ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОбъектУчета = ПорядокУчетаОС.ОсновноеСредство
| И ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОтражатьВУпрУчете)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| &КонецМесяца КАК ПериодНачисления,
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК КонецМесяца,
| НАЧАЛОПЕРИОДА(ПорядокУчетаОС.Период, ДЕНЬ) КАК Период,
| НАЧАЛОПЕРИОДА(ПорядокУчетаОС.Период, ДЕНЬ) КАК ПериодПараметров,
| ИСТИНА КАК ЭтоДоначисление,
| ЛОЖЬ КАК ПолученПриРазукомплектацииОбъединении,
| ПорядокУчетаОС.Организация КАК Организация,
| ПорядокУчетаОС.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ПорядокУчетаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) КАК МесяцНачалаФинансовогоГода,
| ЕСТЬNULL(УчетнаяПолитика.ВариантПроводокПоОбесценениюВНА, ЗНАЧЕНИЕ(Перечисление.ВариантыПроводокПоОбесценениюВНА.ДоначислятьКорректировкуОбесценения)) КАК ВариантПроводокПоОбесценениюВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК ПорядокУчетаВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) КАК ПорядокУчетаВНАРегл,
| ЕСТЬNULL(УчетнаяПолитика.МетодПереоценкиОС, ЗНАЧЕНИЕ(Перечисление.МетодыПереоценкиВНА.МетодПропорциональногоПересчета)) КАК МетодПереоценки,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоПредыдущегоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 13)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| КОНЕЦ КАК НачалоФинансовогоГода,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоПредыдущегоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 11)
| КОНЕЦ КАК КонецФинансовогоГода,
|
| ИСТИНА КАК АмортизацияНачисляетсяПоСтандартамМУ,
| ИСТИНА КАК АмортизацияНачисляетсяСДатыПринятияКУчету
|
|ИЗ
| РегистрСведений.ПорядокУчетаОСУУ КАК ПорядокУчетаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецПредыдущегоМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = ПорядокУчетаОС.Организация.ГоловнаяОрганизация
|
|ГДЕ
| ПорядокУчетаОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И ПорядокУчетаОС.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету)
| И ПорядокУчетаОС.Активность
|
| И ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)
|
| И ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоПредыдущегоМесяца)
| ТОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАренда, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| ИНАЧЕ ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОС, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
|
| И ТИПЗНАЧЕНИЯ(ПорядокУчетаОС.Регистратор) В (
| ТИП(Документ.ПринятиеКУчетуОС2_4),
| ТИП(Документ.ПринятиеКУчетуУзловКомпонентовАмортизации),
| ТИП(Документ.РазукомплектацияОС))
|
| И (ПорядокУчетаОС.Организация, ПорядокУчетаОС.ОсновноеСредство) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_Доначисление_УУ КАК СписокОС)
|
| И НЕ ИСТИНА В (
| ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию КАК ОбъектыПоКоторымНеНужноНачислятьАмортизацию
| ГДЕ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОбъектУчета = ПорядокУчетаОС.ОсновноеСредство
| И ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОтражатьВУпрУчете)
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СписокОбъектовУчета_БУ_МУ
ТекстЗапроса =
"ВЫБРАТЬ
| &КонецМесяца КАК ПериодНачисления,
| &НачалоМесяца КАК НачалоМесяца,
| &КонецМесяца КАК КонецМесяца,
| &КонецПредыдущегоМесяца КАК Период,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ЛОЖЬ КАК ЭтоДоначисление,
| ЛОЖЬ КАК ПолученПриРазукомплектацииОбъединении,
| ПорядокУчетаОС.Организация КАК Организация,
| ПорядокУчетаОС.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ПорядокУчетаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) КАК МесяцНачалаФинансовогоГода,
| ЕСТЬNULL(УчетнаяПолитика.ВариантПроводокПоОбесценениюВНА, ЗНАЧЕНИЕ(Перечисление.ВариантыПроводокПоОбесценениюВНА.ДоначислятьКорректировкуОбесценения)) КАК ВариантПроводокПоОбесценениюВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК ПорядокУчетаВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) КАК ПорядокУчетаВНАРегл,
| ЕСТЬNULL(УчетнаяПолитика.МетодПереоценкиОС, ЗНАЧЕНИЕ(Перечисление.МетодыПереоценкиВНА.МетодПропорциональногоПересчета)) КАК МетодПереоценки,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 13)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| КОНЕЦ КАК НачалоФинансовогоГода,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 11)
| КОНЕЦ КАК КонецФинансовогоГода,
|
| ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоМесяца)
| ТОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАрендаРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| ИНАЧЕ ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОСРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету) КАК АмортизацияНачисляетсяСДатыПринятияКУчету
|
|ПОМЕСТИТЬ СписокОбъектовУчета_БУ_МУ
|
|ИЗ
| РегистрСведений.ПорядокУчетаОСБУ.СрезПоследних(
| &КонецПредыдущегоМесяца,
| &ЭтоМеждународнаяВерсия
| И ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И (Организация, ОсновноеСредство) В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.Организация,
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)) КАК ПорядокУчетаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = ПорядокУчетаОС.Организация.ГоловнаяОрганизация
|
|ГДЕ
| &ЭтоМеждународнаяВерсия
| И ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
| И НЕ ИСТИНА В (
| ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию КАК ОбъектыПоКоторымНеНужноНачислятьАмортизацию
| ГДЕ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОбъектУчета = ПорядокУчетаОС.ОсновноеСредство
| И ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОтражатьВБУ)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| &КонецМесяца КАК ПериодНачисления,
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК КонецМесяца,
| &НачалоПредыдущегоМесяца КАК Период,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| ИСТИНА КАК ЭтоДоначисление,
| ЛОЖЬ КАК ПолученПриРазукомплектацииОбъединении,
| ПорядокУчетаОС.Организация КАК Организация,
| ПорядокУчетаОС.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ПорядокУчетаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) КАК МесяцНачалаФинансовогоГода,
| ЕСТЬNULL(УчетнаяПолитика.ВариантПроводокПоОбесценениюВНА, ЗНАЧЕНИЕ(Перечисление.ВариантыПроводокПоОбесценениюВНА.ДоначислятьКорректировкуОбесценения)) КАК ВариантПроводокПоОбесценениюВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК ПорядокУчетаВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) КАК ПорядокУчетаВНАРегл,
| ЕСТЬNULL(УчетнаяПолитика.МетодПереоценкиОС, ЗНАЧЕНИЕ(Перечисление.МетодыПереоценкиВНА.МетодПропорциональногоПересчета)) КАК МетодПереоценки,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоПредыдущегоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 13)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| КОНЕЦ КАК НачалоФинансовогоГода,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоПредыдущегоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 11)
| КОНЕЦ КАК КонецФинансовогоГода,
|
| ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоПредыдущегоМесяца)
| ТОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАрендаРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| ИНАЧЕ ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОСРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету) КАК АмортизацияНачисляетсяСДатыПринятияКУчету
|
|ИЗ
| РегистрСведений.ПорядокУчетаОСБУ.СрезПоследних(
| &КонецПозапрошлогоМесяца,
| &ЭтоМеждународнаяВерсия
| И ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И (Организация, ОсновноеСредство) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_Доначисление_БУ_МУ КАК СписокОС)) КАК ПорядокУчетаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецПредыдущегоМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = ПорядокУчетаОС.Организация.ГоловнаяОрганизация
|
|ГДЕ
| &ЭтоМеждународнаяВерсия
| И ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
| И НЕ ИСТИНА В (
| ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию КАК ОбъектыПоКоторымНеНужноНачислятьАмортизацию
| ГДЕ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОбъектУчета = ПорядокУчетаОС.ОсновноеСредство
| И ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОтражатьВБУ)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| &КонецМесяца КАК ПериодНачисления,
| &НачалоМесяца КАК НачалоМесяца,
| &КонецМесяца КАК КонецМесяца,
| НАЧАЛОПЕРИОДА(ПорядокУчетаОС.Период, ДЕНЬ) КАК Период,
| НАЧАЛОПЕРИОДА(ПорядокУчетаОС.Период, ДЕНЬ) КАК ПериодПараметров,
| ЛОЖЬ КАК ЭтоДоначисление,
| ТИПЗНАЧЕНИЯ(ПорядокУчетаОС.Регистратор) В (ТИП(Документ.РазукомплектацияОС), ТИП(Документ.ОбъединениеОС)) КАК ПолученПриРазукомплектацииОбъединении,
| ПорядокУчетаОС.Организация КАК Организация,
| ПорядокУчетаОС.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ПорядокУчетаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) КАК МесяцНачалаФинансовогоГода,
| ЕСТЬNULL(УчетнаяПолитика.ВариантПроводокПоОбесценениюВНА, ЗНАЧЕНИЕ(Перечисление.ВариантыПроводокПоОбесценениюВНА.ДоначислятьКорректировкуОбесценения)) КАК ВариантПроводокПоОбесценениюВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК ПорядокУчетаВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) КАК ПорядокУчетаВНАРегл,
| ЕСТЬNULL(УчетнаяПолитика.МетодПереоценкиОС, ЗНАЧЕНИЕ(Перечисление.МетодыПереоценкиВНА.МетодПропорциональногоПересчета)) КАК МетодПереоценки,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 13)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| КОНЕЦ КАК НачалоФинансовогоГода,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 11)
| КОНЕЦ КАК КонецФинансовогоГода,
|
| ИСТИНА КАК АмортизацияНачисляетсяСДатыПринятияКУчету
|
|ИЗ
| РегистрСведений.ПорядокУчетаОСБУ КАК ПорядокУчетаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = ПорядокУчетаОС.Организация.ГоловнаяОрганизация
|
|ГДЕ
| ПорядокУчетаОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ПорядокУчетаОС.СостояниеБУ = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету)
| И ПорядокУчетаОС.Активность
|
| И ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоМесяца)
| ТОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАрендаРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| ИНАЧЕ ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОСРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
|
| И &ЭтоМеждународнаяВерсия
| И ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
| И ТИПЗНАЧЕНИЯ(ПорядокУчетаОС.Регистратор) В (
| ТИП(Документ.ПринятиеКУчетуОС2_4),
| ТИП(Документ.РазукомплектацияОС),
| ТИП(Документ.ОбъединениеОС))
|
| И (ПорядокУчетаОС.Организация, ПорядокУчетаОС.ОсновноеСредство) В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.Организация,
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|
| И НЕ ИСТИНА В (
| ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию КАК ОбъектыПоКоторымНеНужноНачислятьАмортизацию
| ГДЕ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОбъектУчета = ПорядокУчетаОС.ОсновноеСредство
| И ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОтражатьВБУ)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| &КонецМесяца КАК ПериодНачисления,
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК КонецМесяца,
| НАЧАЛОПЕРИОДА(ПорядокУчетаОС.Период, ДЕНЬ) КАК Период,
| НАЧАЛОПЕРИОДА(ПорядокУчетаОС.Период, ДЕНЬ) КАК ПериодПараметров,
| ИСТИНА КАК ЭтоДоначисление,
| ЛОЖЬ КАК ПолученПриРазукомплектацииОбъединении,
| ПорядокУчетаОС.Организация КАК Организация,
| ПорядокУчетаОС.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ПорядокУчетаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) КАК МесяцНачалаФинансовогоГода,
| ЕСТЬNULL(УчетнаяПолитика.ВариантПроводокПоОбесценениюВНА, ЗНАЧЕНИЕ(Перечисление.ВариантыПроводокПоОбесценениюВНА.ДоначислятьКорректировкуОбесценения)) КАК ВариантПроводокПоОбесценениюВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК ПорядокУчетаВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) КАК ПорядокУчетаВНАРегл,
| ЕСТЬNULL(УчетнаяПолитика.МетодПереоценкиОС, ЗНАЧЕНИЕ(Перечисление.МетодыПереоценкиВНА.МетодПропорциональногоПересчета)) КАК МетодПереоценки,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоПредыдущегоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 13)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| КОНЕЦ КАК НачалоФинансовогоГода,
|
| ВЫБОР
| КОГДА МЕСЯЦ(&НачалоПредыдущегоМесяца) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПредыдущегоМесяца, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 11)
| КОНЕЦ КАК КонецФинансовогоГода,
|
| ИСТИНА КАК АмортизацияНачисляетсяСДатыПринятияКУчету
|
|ИЗ
| РегистрСведений.ПорядокУчетаОСБУ КАК ПорядокУчетаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&КонецПредыдущегоМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = ПорядокУчетаОС.Организация.ГоловнаяОрганизация
|
|ГДЕ
| ПорядокУчетаОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И ПорядокУчетаОС.СостояниеБУ = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету)
|
| И ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоПредыдущегоМесяца)
| ТОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАрендаРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| ИНАЧЕ ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОСРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
| КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
|
| И &ЭтоМеждународнаяВерсия
| И ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНАРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
| И ТИПЗНАЧЕНИЯ(ПорядокУчетаОС.Регистратор) В (
| ТИП(Документ.ПринятиеКУчетуОС2_4),
| ТИП(Документ.РазукомплектацияОС))
|
| И (ПорядокУчетаОС.Организация, ПорядокУчетаОС.ОсновноеСредство) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_Доначисление_БУ_МУ КАК СписокОС)
|
| И НЕ ИСТИНА В (
| ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию КАК ОбъектыПоКоторымНеНужноНачислятьАмортизацию
| ГДЕ
| ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОбъектУчета = ПорядокУчетаОС.ОсновноеСредство
| И ОбъектыПоКоторымНеНужноНачислятьАмортизацию.ОтражатьВБУ)
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СписокОбъектовУчета_Доначисление_Все
ТекстЗапроса = АмортизацияОСЛокализация.ТекстЗапросаСписокОбъектовУчетаДоначислениеВсе();
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОбъектовУчета.Организация КАК Организация,
| СписокОбъектовУчета.ОсновноеСредство КАК ОсновноеСредство,
| СписокОбъектовУчета.Период КАК Период
|
|ПОМЕСТИТЬ СписокОбъектовУчета_Доначисление_Все
|ИЗ
| СписокОбъектовУчета_Доначисление_УУ КАК СписокОбъектовУчета
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СписокОбъектовУчета.Организация КАК Организация,
| СписокОбъектовУчета.ОсновноеСредство КАК ОсновноеСредство,
| СписокОбъектовУчета.Период КАК Период
|
|ИЗ
| СписокОбъектовУчета_Доначисление_БУ_МУ КАК СписокОбъектовУчета
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| Организация";
КонецЕсли;
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
КонецПроцедуры
Процедура ТекстЗапросаПараметрыРасчетаАмортизации(СписокЗапросов, ПараметрыРасчета)
ОбъектУчета = "ОсновноеСредство";
ВнеоборотныеАктивыСлужебный.ТекстЗапросаПараметрыРасчетаАмортизации(
"МестонахождениеОС", "", ОбъектУчета, СписокЗапросов);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаПараметрыРасчетаАмортизации(
"ПараметрыАмортизацииОСБУ", "", ОбъектУчета, СписокЗапросов);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаПараметрыРасчетаАмортизации(
"ПорядокУчетаОСУУ", "", ОбъектУчета, СписокЗапросов);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаПараметрыРасчетаАмортизации(
"ПорядокУчетаОСБУ", "", ОбъектУчета, СписокЗапросов);
Если НЕ ПараметрыРасчета.ПараметрыРасчетаПереопределены Тогда
ВнеоборотныеАктивыСлужебный.ТекстЗапросаПараметрыРасчетаАмортизации(
"ПервоначальныеСведенияОС", "", ОбъектУчета, СписокЗапросов);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаПараметрыРасчетаАмортизации(
"ПорядокУчетаОС", "", ОбъектУчета, СписокЗапросов);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаПараметрыРасчетаАмортизации(
"ПараметрыАмортизацииОСУУ", "", ОбъектУчета, СписокЗапросов);
КонецЕсли;
#Область ДатыПоследнегоИзмененияУУ
ТекстЗапроса =
"ВЫБРАТЬ
| ВложенныйЗапрос.НачалоМесяца КАК НачалоМесяца,
| ВложенныйЗапрос.Организация КАК Организация,
| ВложенныйЗапрос.ОсновноеСредство КАК ОсновноеСредство,
|
| МАКСИМУМ(ВложенныйЗапрос.Дата) КАК Дата,
| МАКСИМУМ(ВложенныйЗапрос.КонецФинансовогоГода) КАК КонецФинансовогоГода,
| МАКСИМУМ(ВложенныйЗапрос.РежимИсправленияСПрошлойДаты) КАК РежимИсправленияСПрошлойДаты,
| МАКСИМУМ(ВложенныйЗапрос.ДатаДокументаПринятияКУчету) КАК ДатаДокументаПринятияКУчету
|
|ПОМЕСТИТЬ ДатыПоследнегоИзмененияУУ
|
|ИЗ
| (ВЫБРАТЬ
| ПараметрыАмортизацииОСУУ.НачалоМесяца КАК НачалоМесяца,
| ПараметрыАмортизацииОСУУ.Организация КАК Организация,
| ПараметрыАмортизацииОСУУ.ОсновноеСредство КАК ОсновноеСредство,
|
| ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = ПараметрыАмортизацииОСУУ.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоМесяца)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАренда, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)) = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| ТОГДА ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения
| ИНАЧЕ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения, МЕСЯЦ, 1), МЕСЯЦ)
| КОНЕЦ
|
| КОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОС, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)) = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| ТОГДА ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения
|
| ИНАЧЕ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения, МЕСЯЦ, 1), МЕСЯЦ)
|
| КОНЕЦ КАК Дата,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)
| ТОГДА
| ВЫБОР
| КОГДА МЕСЯЦ(ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 0)
| ТОГДА КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 2), МЕСЯЦ)
| ИНАЧЕ КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 10), МЕСЯЦ)
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА МЕСЯЦ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения, МЕСЯЦ, 1), МЕСЯЦ)) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 0)
| ТОГДА КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения, МЕСЯЦ, 1), МЕСЯЦ), ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 2), МЕСЯЦ)
| ИНАЧЕ КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения, МЕСЯЦ, 1), МЕСЯЦ), ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 10), МЕСЯЦ)
| КОНЕЦ
| КОНЕЦ КАК КонецФинансовогоГода,
|
| ЕСТЬNULL(ПринятиеКУчетуОС.РежимИсправленияСПрошлойДаты, ЛОЖЬ)
| И ЕСТЬNULL(ПринятиеКУчетуОС.ОтражатьВУпрУчете, ЛОЖЬ) КАК РежимИсправленияСПрошлойДаты,
|
| ЕСТЬNULL(ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюУУ.Дата, ДАТАВРЕМЯ(1,1,1)) КАК ДатаДокументаПринятияКУчету
|
| ИЗ
| ПараметрыАмортизацииОСУУ КАК ПараметрыАмортизацииОСУУ
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
| ПО (ПервоначальныеСведенияОС.Организация = ПараметрыАмортизацииОСУУ.Организация)
| И (ПервоначальныеСведенияОС.ОсновноеСредство = ПараметрыАмортизацииОСУУ.ОсновноеСредство)
| И (ПервоначальныеСведенияОС.НачалоМесяца = ПараметрыАмортизацииОСУУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4 КАК ПринятиеКУчетуОС
| ПО (ПринятиеКУчетуОС.Ссылка = ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюУУ)
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&НачалоМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = ПараметрыАмортизацииОСУУ.Организация.ГоловнаяОрганизация
|
| ) КАК ВложенныйЗапрос
|
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.НачалоМесяца,
| ВложенныйЗапрос.Организация,
| ВложенныйЗапрос.ОсновноеСредство
|
|ИНДЕКСИРОВАТЬ ПО
| НачалоМесяца,
| Организация,
| ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ДатыПоследнегоИзмененияБУ_МУ
ТекстЗапроса =
"ВЫБРАТЬ
| ВложенныйЗапрос.НачалоМесяца КАК НачалоМесяца,
| ВложенныйЗапрос.Организация КАК Организация,
| ВложенныйЗапрос.ОсновноеСредство КАК ОсновноеСредство,
|
| МАКСИМУМ(ВложенныйЗапрос.Дата) КАК Дата,
| МАКСИМУМ(ВложенныйЗапрос.КонецФинансовогоГода) КАК КонецФинансовогоГода,
| МАКСИМУМ(ВложенныйЗапрос.РежимИсправленияСПрошлойДаты) КАК РежимИсправленияСПрошлойДаты,
| МАКСИМУМ(ВложенныйЗапрос.ДатаДокументаПринятияКУчету) КАК ДатаДокументаПринятияКУчету
|
|ПОМЕСТИТЬ ДатыПоследнегоИзмененияБУ_МУ
|
|ИЗ
| (ВЫБРАТЬ
| ПараметрыАмортизацииОСБУ.НачалоМесяца КАК НачалоМесяца,
| ПараметрыАмортизацииОСБУ.Организация КАК Организация,
| ПараметрыАмортизацииОСБУ.ОсновноеСредство КАК ОсновноеСредство,
|
| ВЫБОР
| КОГДА ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ ВТ_АрендованныеОС КАК АрендованныеОС ГДЕ АрендованныеОС.ОсновноеСредство = ПараметрыАмортизацииОСБУ.ОсновноеСредство И АрендованныеОС.НачалоМесяца = &НачалоМесяца)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииАрендаРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)) = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| ТОГДА ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения
| ИНАЧЕ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения, МЕСЯЦ, 1), МЕСЯЦ)
| КОНЕЦ
|
| КОГДА ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизацииОСРегл, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)) = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| ТОГДА ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения
|
| ИНАЧЕ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения, МЕСЯЦ, 1), МЕСЯЦ)
|
| КОНЕЦ КАК Дата,
|
| ВЫБОР
| КОГДА МЕСЯЦ(ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 0)
| ТОГДА КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 2), МЕСЯЦ)
| ИНАЧЕ КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 10), МЕСЯЦ)
| КОНЕЦ КАК КонецФинансовогоГода,
|
| ЕСТЬNULL(ПринятиеКУчетуОС.РежимИсправленияСПрошлойДаты, ЛОЖЬ)
| И ЕСТЬNULL(ПринятиеКУчетуОС.ОтражатьВРеглУчете, ЛОЖЬ) КАК РежимИсправленияСПрошлойДаты,
|
| ЕСТЬNULL(ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ.Дата, ДАТАВРЕМЯ(1,1,1)) КАК ДатаДокументаПринятияКУчету
|
| ИЗ
| ПараметрыАмортизацииОСБУ КАК ПараметрыАмортизацииОСБУ
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
| ПО (ПервоначальныеСведенияОС.Организация = ПараметрыАмортизацииОСБУ.Организация)
| И (ПервоначальныеСведенияОС.ОсновноеСредство = ПараметрыАмортизацииОСБУ.ОсновноеСредство)
| И (ПервоначальныеСведенияОС.НачалоМесяца = ПараметрыАмортизацииОСБУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4 КАК ПринятиеКУчетуОС
| ПО (ПринятиеКУчетуОС.Ссылка = ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ)
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета.СрезПоследних(&НачалоМесяца) КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = ПараметрыАмортизацииОСБУ.Организация.ГоловнаяОрганизация
|
| ) КАК ВложенныйЗапрос
|
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.НачалоМесяца,
| ВложенныйЗапрос.Организация,
| ВложенныйЗапрос.ОсновноеСредство
|
|ИНДЕКСИРОВАТЬ ПО
| НачалоМесяца,
| Организация,
| ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СтоимостьОСНаНачалоМесяца
ТекстЗапроса =
"ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
| СтоимостьОС.СтоимостьОстаток КАК Стоимость,
| СтоимостьОС.СтоимостьРеглОстаток КАК СтоимостьРегл,
| СтоимостьОС.СтоимостьНУОстаток КАК СтоимостьНУ,
| СтоимостьОС.СтоимостьПРОстаток КАК СтоимостьПР,
| СтоимостьОС.СтоимостьВРОстаток КАК СтоимостьВР,
| СтоимостьОС.СтоимостьЦФОстаток КАК СтоимостьЦФ,
| СтоимостьОС.СтоимостьНУЦФОстаток КАК СтоимостьНУЦФ,
| СтоимостьОС.СтоимостьПРЦФОстаток КАК СтоимостьПРЦФ,
| СтоимостьОС.СтоимостьВРЦФОстаток КАК СтоимостьВРЦФ,
| СтоимостьОС.АмортизационнаяПремияОстаток КАК АмортизационнаяПремия
|
|ПОМЕСТИТЬ СтоимостьОС_НаНачалоМесяца
|
| ИЗ
| РегистрНакопления.СтоимостьОС.Остатки(
| &КонецПредыдущегоМесяцаГраница,
| (Организация, ОсновноеСредство) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета КАК СписокОС)) КАК СтоимостьОС
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СтоимостьИАмортизацияНаНачалоГода
ТекстЗапроса = АмортизацияОСЛокализация.ТекстЗапросаВтСписокОСУменьшаемогоОстатка(ПараметрыРасчета);
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.ОсновноеСредство
|ПОМЕСТИТЬ втСписокОСУменьшаемогоОстатка
|ИЗ
| ПервоначальныеСведенияОС КАК СписокОС
|ГДЕ
| СписокОС.МетодНачисленияАмортизацииБУ = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.УменьшаемогоОстатка)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| СписокОС.ОсновноеСредство
|ИЗ
| ПараметрыАмортизацииОСУУ КАК СписокОС
|ГДЕ
| СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.УменьшаемогоОстатка)
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство";
КонецЕсли;
СписокЗапросов.Добавить(ТекстЗапроса);
ТекстЗапроса = АмортизацияОСЛокализация.ТекстЗапросаСтоимостьИАмортизацияНаНачалоГода(ПараметрыРасчета);
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
| СтоимостьОС.СтоимостьОстаток КАК Стоимость,
| СтоимостьОС.СтоимостьРеглОстаток КАК СтоимостьРегл,
| СтоимостьОС.СтоимостьЦФОстаток КАК СтоимостьЦФ
|ПОМЕСТИТЬ СтоимостьОС_НаНачалоГода
|ИЗ
| РегистрНакопления.СтоимостьОС.Остатки(
| &НачалоГода,
| ОсновноеСредство В
| (ВЫБРАТЬ СписокОС.ОсновноеСредство ИЗ втСписокОСУменьшаемогоОстатка КАК СписокОС)) КАК СтоимостьОС
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| АмортизацияОС.ОсновноеСредство КАК ОсновноеСредство,
| -АмортизацияОС.АмортизацияОстаток КАК Амортизация,
| -АмортизацияОС.АмортизацияРеглОстаток КАК АмортизацияРегл,
| -АмортизацияОС.АмортизацияЦФОстаток КАК АмортизацияЦФ
|ПОМЕСТИТЬ АмортизацияОС_НаНачалоГода
|ИЗ
| РегистрНакопления.АмортизацияОС.Остатки(
| &НачалоГода,
| ОсновноеСредство В
| (ВЫБРАТЬ СписокОС.ОсновноеСредство ИЗ втСписокОСУменьшаемогоОстатка КАК СписокОС)) КАК АмортизацияОС
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство";
КонецЕсли;
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПредварительнаяСтоимостьОС
ТекстЗапроса =
"ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
|
| СУММА(СтоимостьОС.ПредварительнаяСтоимость) КАК Стоимость,
| СУММА(СтоимостьОС.ПредварительнаяСтоимостьРегл) КАК СтоимостьРегл,
|
| МАКСИМУМ(ВЫБОР
| КОГДА ДанныеДокумента.ИнвестиционныйНалоговыйВычет = ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияИНВ.Региональный)
| ТОГДА ЕСТЬNULL(ТаблицаОС.СтоимостьПР + ТаблицаОС.СтоимостьБУ, 0)
| КОГДА ДанныеДокумента.ИнвестиционныйНалоговыйВычет = ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияИНВ.Федеральный)
| ТОГДА ЕСТЬNULL(ТаблицаОС.СтоимостьПР + ВЫРАЗИТЬ(ЕСТЬNULL(ТаблицаОС.СтоимостьБУ, 0) * ЕСТЬNULL(НастройкиУчетаНалогаНаПрибыль.ДоляРасходовИНВ, 0) / 100 КАК ЧИСЛО (31,2)), 0)
| ИНАЧЕ ЕСТЬNULL(ТаблицаОС.СтоимостьПР, 0)
| КОНЕЦ) КАК СтоимостьПР,
|
| МАКСИМУМ(ЕСТЬNULL(ТаблицаОС.СтоимостьНУ, 0)) КАК СтоимостьНУ,
|
| МАКСИМУМ(ВЫРАЗИТЬ(ЕСТЬNULL(ТаблицаОС.СтоимостьНУ, 0)
| * ЕСТЬNULL(ДанныеДокумента.ПроцентКапитальныхВложенийВключаемыхВРасходыНУ, 0) КАК ЧИСЛО(31,2)) / 100) КАК АмортизационнаяПремия,
|
| ВЫБОР
| КОГДА СУММА(СтоимостьОС.ПредварительнаяСтоимостьРегл) <> 0
| ТОГДА ВЫРАЗИТЬ(МАКСИМУМ(ЕСТЬNULL(ТаблицаОС.СуммаЦелевыхСредств, 0)) / СУММА(СтоимостьОС.ПредварительнаяСтоимостьРегл) КАК ЧИСЛО (23, 10))
| ИНАЧЕ 0
| КОНЕЦ КАК ДоляЦФ
|
|ПОМЕСТИТЬ ПредварительнаяСтоимостьОС
|
|ИЗ
| РегистрНакопления.СтоимостьОС КАК СтоимостьОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4 КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = СтоимостьОС.Регистратор
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4.ОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = СтоимостьОС.Регистратор
| И ТаблицаОС.ОсновноеСредство = СтоимостьОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиУчетаНалогаНаПрибыль.СрезПоследних(&КонецМесяца) КАК НастройкиУчетаНалогаНаПрибыль
| ПО НастройкиУчетаНалогаНаПрибыль.Организация = ДанныеДокумента.Организация.ГоловнаяОрганизация
|
|ГДЕ
| СтоимостьОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
|
| И (СтоимостьОС.ПредварительнаяСтоимость <> 0
| ИЛИ СтоимостьОС.ПредварительнаяСтоимостьРегл <> 0)
|
| И СтоимостьОС.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуОС),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуОСПоИнвентаризации),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуУзловКомпонентовАмортизации))
|
| И СтоимостьОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета КАК СписокОС)
|
|СГРУППИРОВАТЬ ПО
| СтоимостьОС.ОсновноеСредство
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ВЫБОР
| КОГДА СУММА(СтоимостьОС.Стоимость - СтоимостьОС.ПредварительнаяСтоимость) > 0
| ТОГДА СУММА(СтоимостьОС.Стоимость - СтоимостьОС.ПредварительнаяСтоимость)
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР
| КОГДА СУММА(СтоимостьОС.СтоимостьРегл - СтоимостьОС.ПредварительнаяСтоимостьРегл) > 0
| ТОГДА СУММА(СтоимостьОС.СтоимостьРегл - СтоимостьОС.ПредварительнаяСтоимостьРегл)
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
|
| 0 КАК СтоимостьПР,
| 0 КАК СтоимостьНУ,
| 0 КАК АмортизационнаяПремия,
|
| ВЫБОР
| КОГДА СУММА(СтоимостьОС.СтоимостьРегл - СтоимостьОС.ПредварительнаяСтоимостьРегл) > 0
| ТОГДА ВЫРАЗИТЬ(МАКСИМУМ(ЕСТЬNULL(ТаблицаОС.СуммаЦелевыхСредств, 0)) / СУММА(СтоимостьОС.СтоимостьРегл) КАК ЧИСЛО (23, 10))
| ИНАЧЕ 0
| КОНЕЦ КАК ДоляЦФ
|
|ИЗ
| РегистрНакопления.СтоимостьОС КАК СтоимостьОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4.ОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = СтоимостьОС.Регистратор
| И ТаблицаОС.ОсновноеСредство = СтоимостьОС.ОсновноеСредство
|
|ГДЕ
| СтоимостьОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
|
| И СтоимостьОС.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуОС),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуОСПоИнвентаризации),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуУзловКомпонентовАмортизации),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.МодернизацияОС))
|
| И СтоимостьОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_Доначисление_УУ КАК СписокОС)
|
|СГРУППИРОВАТЬ ПО
| СтоимостьОС.ОсновноеСредство
|
|ИМЕЮЩИЕ
| СУММА(СтоимостьОС.Стоимость - СтоимостьОС.ПредварительнаяСтоимость) > 0
| ИЛИ СУММА(СтоимостьОС.СтоимостьРегл - СтоимостьОС.ПредварительнаяСтоимостьРегл) > 0
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область КорректировкаАмортизацииУУ
ТекстЗапроса =
"ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| ТаблицаОС.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| СУММА(ТаблицаОС.Амортизация) КАК Амортизация,
| СУММА(ТаблицаОС.АмортизацияРегл) КАК АмортизацияРегл
|
|ПОМЕСТИТЬ КорректировкаАмортизацииУУ
|
|ИЗ
| (ВЫБРАТЬ
| Корректировка.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ТаблицаОС.АмортизацияУУ КАК Амортизация,
| ТаблицаОС.АмортизацияБУ + ТаблицаОС.АмортизацияЦФ КАК АмортизацияРегл
|
| ИЗ
| Документ.КорректировкаСтоимостиИАмортизацииОС КАК Корректировка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаСтоимостиИАмортизацииОС.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = Корректировка.Ссылка)
|
| ГДЕ
| Корректировка.Проведен
| И Корректировка.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И Корректировка.ОтражатьВУпрУчете
| И Корректировка.РежимИсправленияСПрошлойДаты
|
| И ИСТИНА В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ДатыПоследнегоИзмененияУУ КАК ДатыПоследнегоИзменения
| ГДЕ
| ДатыПоследнегоИзменения.НачалоМесяца = &НачалоМесяца
| И ДатыПоследнегоИзменения.Организация = Корректировка.Организация
| И ДатыПоследнегоИзменения.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
| И ДатыПоследнегоИзменения.РежимИсправленияСПрошлойДаты
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.ДатаДокументаПринятияКУчету, ДЕНЬ) = НАЧАЛОПЕРИОДА(Корректировка.Дата, ДЕНЬ))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТаблицаОС.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ТаблицаОС.СуммаУУ КАК Амортизация,
| ТаблицаОС.СуммаБУ + ТаблицаОС.СуммаЦФ КАК АмортизацияРегл
|
| ИЗ
| ДоначислениеПринятыхКУчетуПрошлойДатой ТаблицаОС
|
| ) КАК ТаблицаОС
|
|СГРУППИРОВАТЬ ПО
| ТаблицаОС.Организация,
| ТаблицаОС.ОсновноеСредство
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область АмортизацияОСНаНачалоМесяца
ТекстЗапроса =
"ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| АмортизацияОС.Организация КАК Организация,
| АмортизацияОС.ОсновноеСредство КАК ОсновноеСредство,
| -АмортизацияОС.АмортизацияОстаток КАК Амортизация,
| -АмортизацияОС.АмортизацияРеглОстаток КАК АмортизацияРегл,
| -АмортизацияОС.АмортизацияНУОстаток КАК АмортизацияНУ,
| -АмортизацияОС.АмортизацияПРОстаток КАК АмортизацияПР,
| -АмортизацияОС.АмортизацияВРОстаток КАК АмортизацияВР,
| -АмортизацияОС.АмортизацияЦФОстаток КАК АмортизацияЦФ,
| -АмортизацияОС.АмортизацияНУЦФОстаток КАК АмортизацияНУЦФ,
| -АмортизацияОС.АмортизацияПРЦФОстаток КАК АмортизацияПРЦФ,
| -АмортизацияОС.АмортизацияВРЦФОстаток КАК АмортизацияВРЦФ
|ПОМЕСТИТЬ АмортизацияОС_НаНачалоМесяца
|ИЗ
| РегистрНакопления.АмортизацияОС.Остатки(
| &КонецПредыдущегоМесяцаГраница,
| (Организация, ОсновноеСредство) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета КАК СписокОС)) КАК АмортизацияОС
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ОбесценениеВНА
ТекстЗапроса =
"ВЫБРАТЬ
| СоставЕГД_НаКонецМесяцаРасчета.Организация КАК Организация,
| СоставЕГД_НаКонецМесяцаРасчета.ВнеоборотныйАктив КАК ВнеоборотныйАктив,
| СоставЕГД_НаКонецМесяцаРасчета.ЕГДС КАК ЕГДСНаКонецМесяца
|ПОМЕСТИТЬ ЕГДСВНАНаКонецМесяцаРасчета
|ИЗ
| РегистрСведений.СоставЕГДС.СрезПоследних(
| КОНЕЦПЕРИОДА(&НачалоМесяца, МЕСЯЦ),
| (Организация, ВнеоборотныйАктив) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета КАК СписокОС)) КАК СоставЕГД_НаКонецМесяцаРасчета
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| ВнеоборотныйАктив
|;
|
|
|ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| ОбесценениеВНА.Организация КАК Организация,
| ОбесценениеВНА.ВнеоборотныйАктив КАК ОсновноеСредство,
|
| -СУММА(ОбесценениеВНА.ОбесценениеРеглКонечныйОстаток) КАК ОстатокОбесцененияРегл,
| -СУММА(ОбесценениеВНА.ОбесценениеУпрКонечныйОстаток) КАК ОстатокОбесцененияУпр,
|
| МАКСИМУМ(ОбесценениеВНА.ЕГДС) КАК ЕГДС,
| МАКСИМУМ(ЕСТЬNULL(ЕГДСВНАНаКонецМесяцаРасчета.ЕГДСНаКонецМесяца, ЗНАЧЕНИЕ(Справочник.ЕдиницыГенерирующиеДенежныеСредства.ПустаяСсылка))) КАК ЕГДСНаКонецМесяца
|
|ПОМЕСТИТЬ ОбесценениеВНА_СИзменившимиЕГДС
|
|ИЗ
| РегистрНакопления.ОбесценениеВНА.ОстаткиИОбороты(
| &КонецПредыдущегоМесяцаГраница,
| &КонецПредыдущегоМесяцаГраница,,
| ДвиженияИГраницыПериода,
| (Организация, ВнеоборотныйАктив) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета КАК СписокОС)) КАК ОбесценениеВНА
|
| ЛЕВОЕ СОЕДИНЕНИЕ ЕГДСВНАНаКонецМесяцаРасчета КАК ЕГДСВНАНаКонецМесяцаРасчета
| ПО ОбесценениеВНА.Организация = ЕГДСВНАНаКонецМесяцаРасчета.Организация
| И ОбесценениеВНА.ВнеоборотныйАктив = ЕГДСВНАНаКонецМесяцаРасчета.ВнеоборотныйАктив
|
|СГРУППИРОВАТЬ ПО
| ОбесценениеВНА.Организация,
| ОбесценениеВНА.ВнеоборотныйАктив
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| ЕГДСНаКонецМесяца,
| ЕГДС
|;
|
|
|ВЫБРАТЬ
| ОбесценениеВНА_СИзменившимиЕГДС.НачалоМесяца КАК НачалоМесяца,
| ОбесценениеВНА_СИзменившимиЕГДС.Организация КАК Организация,
| ОбесценениеВНА_СИзменившимиЕГДС.ОсновноеСредство КАК ОсновноеСредство,
| ОбесценениеВНА_СИзменившимиЕГДС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| ОбесценениеВНА_СИзменившимиЕГДС.ОстатокОбесцененияУпр КАК ОстатокОбесцененияУпр,
| ОбесценениеВНА_СИзменившимиЕГДС.ЕГДС КАК ЕГДС
|
|ПОМЕСТИТЬ ОбесценениеВНА
|
|ИЗ
| ОбесценениеВНА_СИзменившимиЕГДС КАК ОбесценениеВНА_СИзменившимиЕГДС
|
|ГДЕ
| ОбесценениеВНА_СИзменившимиЕГДС.ЕГДСНаКонецМесяца = ОбесценениеВНА_СИзменившимиЕГДС.ЕГДС
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| ОсновноеСредство
|;
|
|
|УНИЧТОЖИТЬ ЕГДСВНАНаКонецМесяцаРасчета
|
|;
|
|УНИЧТОЖИТЬ ОбесценениеВНА_СИзменившимиЕГДС
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ИнвестицииВАренду
ТекстЗапроса =
"ВЫБРАТЬ
| ВозвратОСИзАренды.Ссылка КАК Ссылка,
| ВозвратОСИзАренды.Дата КАК Дата,
| ВозвратОСИзАренды.Организация КАК Организация,
| ВозвратОСИзАренды.ОтражатьВУпрУчете,
| ВозвратОСИзАренды.ОтражатьВРеглУчете,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство
|
|ПОМЕСТИТЬ ВтВозвратИзФинАренды
|
|ИЗ
| Документ.ВозвратОСИзАренды2_4 КАК ВозвратОСИзАренды
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратОСИзАренды2_4.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = ВозвратОСИзАренды.Ссылка)
|
|ГДЕ
| ВозвратОСИзАренды.Проведен
| И ВозвратОСИзАренды.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ТаблицаОС.ПорядокУчетаОС = ЗНАЧЕНИЕ(Перечисление.ВариантыУчетаОСПриВозвратеИзАренды.УчитыватьВСоставеОС)
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ИнвестицииВАренду.ОсновноеСредство КАК ОсновноеСредство,
|
| ИнвестицииВАренду.АрендныеПлатежиУпрОстаток
| + ИнвестицииВАренду.ПроцентныйДисконтУпрОстаток
| + ИнвестицииВАренду.НГЛСУпрОстаток КАК Стоимость,
|
| ИнвестицииВАренду.АрендныеПлатежиРеглОстаток
| + ИнвестицииВАренду.ПроцентныйДисконтРеглОстаток
| + ИнвестицииВАренду.НГЛСРеглОстаток КАК СтоимостьРегл
|
|ПОМЕСТИТЬ ИнвестицииВАрендуОстаток
|
|ИЗ
| РегистрНакопления.ИнвестицииВАренду.Остатки(
| &НачалоМесяца,
| ОсновноеСредство В (ВЫБРАТЬ ВтВозвратИзФинАренды.ОсновноеСредство ИЗ ВтВозвратИзФинАренды КАК ВтВозвратИзФинАренды)
| И ВЫРАЗИТЬ(Договор КАК Справочник.ДоговорыКонтрагентов).ТипДоговора В (&ТипыДоговоровПоФСБУ25)) КАК ИнвестицииВАренду
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ИнвестицииВАренду.Период,
| ИнвестицииВАренду.Ссылка,
| ИнвестицииВАренду.Организация,
| ИнвестицииВАренду.ОсновноеСредство,
| ИнвестицииВАренду.ОтражатьВУпрУчете,
| ИнвестицииВАренду.ОтражатьВРеглУчете,
|
| СУММА(ИнвестицииВАренду.Стоимость) КАК Стоимость,
| СУММА(ИнвестицииВАренду.СтоимостьРегл) КАК СтоимостьРегл
|
|ПОМЕСТИТЬ ИнвестицииВАренду
|
|ИЗ
| (ВЫБРАТЬ
| ВтВозвратИзФинАренды.Дата КАК Период,
| ВтВозвратИзФинАренды.Ссылка КАК Ссылка,
| ВтВозвратИзФинАренды.Организация КАК Организация,
| ВтВозвратИзФинАренды.ОсновноеСредство КАК ОсновноеСредство,
| ВтВозвратИзФинАренды.ОтражатьВУпрУчете,
| ВтВозвратИзФинАренды.ОтражатьВРеглУчете,
|
| ИнвестицииВАренду.Стоимость КАК Стоимость,
| ИнвестицииВАренду.СтоимостьРегл КАК СтоимостьРегл
|
| ИЗ
| ВтВозвратИзФинАренды КАК ВтВозвратИзФинАренды
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИнвестицииВАрендуОстаток КАК ИнвестицииВАренду
| ПО ИнвестицииВАренду.ОсновноеСредство = ВтВозвратИзФинАренды.ОсновноеСредство
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВтВозвратИзФинАренды.Дата КАК Период,
| ВтВозвратИзФинАренды.Ссылка КАК Ссылка,
| ВтВозвратИзФинАренды.Организация КАК Организация,
| ВтВозвратИзФинАренды.ОсновноеСредство КАК ОсновноеСредство,
| ВтВозвратИзФинАренды.ОтражатьВУпрУчете,
| ВтВозвратИзФинАренды.ОтражатьВРеглУчете,
|
| ВЫБОР КОГДА ИнвестицииВАренду.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ИнвестицииВАренду.АрендныеПлатежиУпр
| + ИнвестицииВАренду.ПроцентныйДисконтУпр
| + ИнвестицииВАренду.НГЛСУпр
| ИНАЧЕ -ИнвестицииВАренду.АрендныеПлатежиУпр
| - ИнвестицииВАренду.ПроцентныйДисконтУпр
| - ИнвестицииВАренду.НГЛСУпр
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР КОГДА ИнвестицииВАренду.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ИнвестицииВАренду.АрендныеПлатежиРегл
| + ИнвестицииВАренду.ПроцентныйДисконтРегл
| + ИнвестицииВАренду.НГЛСРегл
| ИНАЧЕ -ИнвестицииВАренду.АрендныеПлатежиРегл
| - ИнвестицииВАренду.ПроцентныйДисконтРегл
| - ИнвестицииВАренду.НГЛСРегл
| КОНЕЦ КАК СтоимостьРегл
|
| ИЗ
| ВтВозвратИзФинАренды КАК ВтВозвратИзФинАренды
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ИнвестицииВАренду КАК ИнвестицииВАренду
| ПО ИнвестицииВАренду.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ИнвестицииВАренду.ОсновноеСредство = ВтВозвратИзФинАренды.ОсновноеСредство
| И ВЫРАЗИТЬ(ИнвестицииВАренду.Договор КАК Справочник.ДоговорыКонтрагентов).ТипДоговора В (&ТипыДоговоровПоФСБУ25)
| И ИнвестицииВАренду.Регистратор <> ВтВозвратИзФинАренды.Ссылка
| И (ИнвестицииВАренду.Период <= ВтВозвратИзФинАренды.Дата
| ИЛИ ТИПЗНАЧЕНИЯ(ИнвестицииВАренду.Регистратор) = ТИП(Документ.НачислениеПроцентовПоАренде))
| И ИнвестицииВАренду.Активность
|
| ) КАК ИнвестицииВАренду
|
|СГРУППИРОВАТЬ ПО
| ИнвестицииВАренду.Ссылка,
| ИнвестицииВАренду.Период,
| ИнвестицииВАренду.Организация,
| ИнвестицииВАренду.ОсновноеСредство,
| ИнвестицииВАренду.ОтражатьВУпрУчете,
| ИнвестицииВАренду.ОтражатьВРеглУчете
|
|ИМЕЮЩИЕ
| СУММА(ИнвестицииВАренду.Стоимость) <> 0
| ИЛИ СУММА(ИнвестицииВАренду.СтоимостьРегл) <> 0
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ВыработкаОС
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ВЫБОР
| КОГДА ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ <> ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения
| И ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ <> ДАТАВРЕМЯ(1,1,1)
| ТОГДА ЕСТЬNULL(КОНЕЦПЕРИОДА(ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения, МЕСЯЦ), ДАТАВРЕМЯ(1,1,1))
| ИНАЧЕ ДАТАВРЕМЯ(1,1,1)
| КОНЕЦ КАК ДатаПоследнегоИзмененияУУ,
|
| ВЫБОР
| КОГДА ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюБУ <> ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения
| И ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюБУ <> ДАТАВРЕМЯ(1,1,1)
| ТОГДА ЕСТЬNULL(КОНЕЦПЕРИОДА(ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения, МЕСЯЦ), ДАТАВРЕМЯ(1,1,1))
| ИНАЧЕ ДАТАВРЕМЯ(1,1,1)
| КОНЕЦ КАК ДатаПоследнегоИзмененияБУ,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&НачалоМесяца, МЕСЯЦ, -1), МЕСЯЦ) = НАЧАЛОПЕРИОДА(ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюБУ, МЕСЯЦ)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ПринятоКУчетуВПрошломМесяце
|
|ПОМЕСТИТЬ СписокОС_Выработка
|
|ИЗ
| СписокОбъектовУчета КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
| ПО (ПервоначальныеСведенияОС.Организация = СписокОС.Организация)
| И (ПервоначальныеСведенияОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПервоначальныеСведенияОС.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСУУ КАК ПараметрыАмортизацииОСУУ
| ПО (ПараметрыАмортизацииОСУУ.Организация = СписокОС.Организация)
| И (ПараметрыАмортизацииОСУУ.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПараметрыАмортизацииОСУУ.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСБУ КАК ПараметрыАмортизацииОСБУ
| ПО (ПараметрыАмортизацииОСБУ.Организация = СписокОС.Организация)
| И (ПараметрыАмортизацииОСБУ.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПараметрыАмортизацииОСБУ.НачалоМесяца = СписокОС.НачалоМесяца)
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ВыработкаОС.ОбъектЭксплуатации КАК ОсновноеСредство,
| ВыработкаОС.ПоказательНаработки КАК ПоказательНаработки,
| МАКСИМУМ(ВыработкаОС.Период) КАК Период
|
|ПОМЕСТИТЬ ВыработкаОС_НаДатуПоследнегоИзмененияУУ_Период
|
|ИЗ
| СписокОС_Выработка КАК СписокОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаработкиОбъектовЭксплуатации КАК ВыработкаОС
| ПО ВыработкаОС.ОбъектЭксплуатации = СписокОС.ОсновноеСредство
| И ВыработкаОС.Период <= СписокОС.ДатаПоследнегоИзмененияУУ
|
|СГРУППИРОВАТЬ ПО
| ВыработкаОС.ОбъектЭксплуатации,
| ВыработкаОС.ПоказательНаработки
|
|ИНДЕКСИРОВАТЬ ПО
| Период,
| ОсновноеСредство,
| ПоказательНаработки
|;
|
|
|ВЫБРАТЬ
| ВыработкаОС.ОбъектЭксплуатации КАК ОсновноеСредство,
| ВыработкаОС.ПоказательНаработки КАК ПоказательНаработки,
| МАКСИМУМ(ВыработкаОС.Период) КАК Период
|
|ПОМЕСТИТЬ ВыработкаОС_НаДатуПоследнегоИзмененияБУ_Период
|
|ИЗ
| СписокОС_Выработка КАК СписокОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаработкиОбъектовЭксплуатации КАК ВыработкаОС
| ПО ВыработкаОС.ОбъектЭксплуатации = СписокОС.ОсновноеСредство
| И ВыработкаОС.Период <= СписокОС.ДатаПоследнегоИзмененияБУ
|
|СГРУППИРОВАТЬ ПО
| ВыработкаОС.ОбъектЭксплуатации,
| ВыработкаОС.ПоказательНаработки
|
|ИНДЕКСИРОВАТЬ ПО
| Период,
| ОсновноеСредство,
| ПоказательНаработки
|;
|
|
|ВЫБРАТЬ
| ВыработкаОС.ОбъектЭксплуатации КАК ОсновноеСредство,
| ВыработкаОС.ПоказательНаработки КАК ПоказательНаработки,
| ВыработкаОС.Значение КАК ОбъемВыработки
|
|ПОМЕСТИТЬ ВыработкаОС_НаДатуПоследнегоИзмененияУУ
|
|ИЗ
| ВыработкаОС_НаДатуПоследнегоИзмененияУУ_Период КАК СписокОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаработкиОбъектовЭксплуатации КАК ВыработкаОС
| ПО ВыработкаОС.ОбъектЭксплуатации = СписокОС.ОсновноеСредство
| И ВыработкаОС.ПоказательНаработки = СписокОС.ПоказательНаработки
| И ВыработкаОС.Период = СписокОС.Период
|;
|
|
|ВЫБРАТЬ
| ВыработкаОС.ОбъектЭксплуатации КАК ОсновноеСредство,
| ВыработкаОС.ПоказательНаработки КАК ПоказательНаработки,
| ВыработкаОС.Значение КАК ОбъемВыработки
|
|ПОМЕСТИТЬ ВыработкаОС_НаДатуПоследнегоИзмененияБУ
|
|ИЗ
| ВыработкаОС_НаДатуПоследнегоИзмененияБУ_Период КАК СписокОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаработкиОбъектовЭксплуатации КАК ВыработкаОС
| ПО ВыработкаОС.ОбъектЭксплуатации = СписокОС.ОсновноеСредство
| И ВыработкаОС.ПоказательНаработки = СписокОС.ПоказательНаработки
| И ВыработкаОС.Период = СписокОС.Период
|;
|
|
|УНИЧТОЖИТЬ ВыработкаОС_НаДатуПоследнегоИзмененияУУ_Период
|;
|
|
|УНИЧТОЖИТЬ ВыработкаОС_НаДатуПоследнегоИзмененияБУ_Период
|;
|
|
|ВЫБРАТЬ
| ВыработкаОС.ОбъектЭксплуатации КАК ОсновноеСредство,
| ВыработкаОС.ПоказательНаработки КАК ПоказательНаработки,
| ВыработкаОС.Значение КАК ОбъемВыработки
|
|ПОМЕСТИТЬ ВыработкаОС_НаНачалоМесяца
|
|ИЗ
| РегистрСведений.НаработкиОбъектовЭксплуатации.СрезПоследних(
| &КонецПредыдущегоМесяца,
| ОбъектЭксплуатации В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОС_Выработка КАК СписокОС)) КАК ВыработкаОС
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| ПоказательНаработки
|;
|
|
|ВЫБРАТЬ
| ВыработкаОС.ОбъектЭксплуатации КАК ОсновноеСредство,
| ВыработкаОС.ПоказательНаработки КАК ПоказательНаработки,
| ВыработкаОС.Значение КАК ОбъемВыработки,
| СписокОС.ПринятоКУчетуВПрошломМесяце КАК ПринятоКУчетуВПрошломМесяце
|
|ПОМЕСТИТЬ ВыработкаОС_НаКонецМесяца
|
|ИЗ
| РегистрСведений.НаработкиОбъектовЭксплуатации.СрезПоследних(
| &КонецМесяца,
| ОбъектЭксплуатации В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОС_Выработка КАК СписокОС)) КАК ВыработкаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ СписокОС_Выработка КАК СписокОС
| ПО (СписокОС.ОсновноеСредство = ВыработкаОС.ОбъектЭксплуатации)
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| ПоказательНаработки
|;
|
|
|ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| ВыработкаОС.ОсновноеСредство КАК ОсновноеСредство,
| ВыработкаОС.ПоказательНаработки КАК ПоказательНаработки,
|
| СУММА(ВыработкаОС.ОбъемВыработкиЗаМесяц) КАК ОбъемВыработкиЗаМесяц,
| СУММА(ВыработкаОС.ОбъемВыработкиЗаПрошлыйПериод) КАК ОбъемВыработкиЗаПрошлыйПериод
|
|ПОМЕСТИТЬ ВыработкаОС
|
|ИЗ
| (ВЫБРАТЬ
| ВыработкаОС.ОсновноеСредство КАК ОсновноеСредство,
| ВыработкаОС.ПоказательНаработки КАК ПоказательНаработки,
|
| -ВыработкаОС.ОбъемВыработки КАК ОбъемВыработкиЗаМесяц,
| ВыработкаОС.ОбъемВыработки КАК ОбъемВыработкиЗаПрошлыйПериод
| ИЗ
| ВыработкаОС_НаНачалоМесяца КАК ВыработкаОС
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВыработкаОС.ОсновноеСредство,
| ВыработкаОС.ПоказательНаработки КАК ПоказательНаработки,
|
| ВыработкаОС.ОбъемВыработки КАК ОбъемВыработкиЗаМесяц,
| 0 КАК ОбъемВыработкиЗаПрошлыйПериод
| ИЗ
| ВыработкаОС_НаКонецМесяца КАК ВыработкаОС
|
| ) КАК ВыработкаОС
|
|СГРУППИРОВАТЬ ПО
| ВыработкаОС.ОсновноеСредство,
| ВыработкаОС.ПоказательНаработки
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| ПоказательНаработки";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область Изменения_УУ
#Область ИзменениеПараметров
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ПараметрыАмортизацииОСУУ.Период КАК Период,
| ПараметрыАмортизацииОСУУ.МоментВремени,
| ПараметрыАмортизацииОСУУ.Регистратор,
| ПараметрыАмортизацииОСУУ.ОсновноеСредство,
| ПараметрыАмортизацииОСУУ.Организация,
| ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ПараметрыАмортизацииОСУУ.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользования,
| ПараметрыАмортизацииОСУУ.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемНаработки,
| ПараметрыАмортизацииОСУУ.КоэффициентУскорения,
| ПараметрыАмортизацииОСУУ.МетодНачисленияАмортизации,
| ПараметрыАмортизацииОСУУ.ЛиквидационнаяСтоимость,
| ПараметрыАмортизацииОСУУ.ЛиквидационнаяСтоимостьРегл
|
|ПОМЕСТИТЬ ПараметрыАмортизацииОСУУ_Изменения
|
|ИЗ
| РегистрСведений.ПараметрыАмортизацииОСУУ КАК ПараметрыАмортизацииОСУУ
|
|ГДЕ
| ПараметрыАмортизацииОСУУ.Активность
| И ПараметрыАмортизацииОСУУ.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПараметрыАмортизацииОСУУ.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
|
| И НЕ ПараметрыАмортизацииОСУУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПараметрыАмортизацииОСУУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ПараметрыАмортизацииОСУУ.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПараметрыАмортизацииОСУУ.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|
| И ПараметрыАмортизацииОСУУ.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| ПараметрыАмортизацииОСУУ.Период КАК Период,
| ПараметрыАмортизацииОСУУ.МоментВремени,
| ПараметрыАмортизацииОСУУ.Регистратор,
| ПараметрыАмортизацииОСУУ.ОсновноеСредство,
| ПараметрыАмортизацииОСУУ.Организация,
| ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ПараметрыАмортизацииОСУУ.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользования,
| ПараметрыАмортизацииОСУУ.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемНаработки,
| ПараметрыАмортизацииОСУУ.КоэффициентУскорения,
| ПараметрыАмортизацииОСУУ.МетодНачисленияАмортизации,
| ПараметрыАмортизацииОСУУ.ЛиквидационнаяСтоимость,
| ПараметрыАмортизацииОСУУ.ЛиквидационнаяСтоимостьРегл
|ИЗ
| РегистрСведений.ПараметрыАмортизацииОСУУ КАК ПараметрыАмортизацииОСУУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОбъектовУчета_Доначисление_УУ КАК Доначисление
| ПО ПараметрыАмортизацииОСУУ.ОсновноеСредство = Доначисление.ОсновноеСредство
|
|ГДЕ
| ПараметрыАмортизацииОСУУ.Активность
| И ПараметрыАмортизацииОСУУ.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПараметрыАмортизацииОСУУ.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И ПараметрыАмортизацииОСУУ.Период >= Доначисление.Период
|
| И НЕ ПараметрыАмортизацииОСУУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПараметрыАмортизацииОСУУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ПараметрыАмортизацииОСУУ.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПараметрыАмортизацииОСУУ.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ПорядокУчетаОС.Период КАК Период,
| ПорядокУчетаОС.МоментВремени,
| ПорядокУчетаОС.Регистратор,
| ПорядокУчетаОС.ОсновноеСредство,
| ПорядокУчетаОС.Организация,
| ПорядокУчетаОС.ГруппаФинансовогоУчета,
| ПорядокУчетаОС.НаправлениеДеятельности,
| ПорядокУчетаОС.ПоказательНаработки,
| ПорядокУчетаОС.ОбъемНаработки
|
|ПОМЕСТИТЬ ПорядокУчетаОС_ИзмененияУУ
|
|ИЗ
| РегистрСведений.ПорядокУчетаОС КАК ПорядокУчетаОС
|
|ГДЕ
| ПорядокУчетаОС.Активность
| И ПорядокУчетаОС.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПорядокУчетаОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
|
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|
| И ПорядокУчетаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| ПорядокУчетаОС.Период КАК Период,
| ПорядокУчетаОС.МоментВремени,
| ПорядокУчетаОС.Регистратор,
| ПорядокУчетаОС.ОсновноеСредство,
| ПорядокУчетаОС.Организация,
| ПорядокУчетаОС.ГруппаФинансовогоУчета,
| ПорядокУчетаОС.НаправлениеДеятельности,
| ПорядокУчетаОС.ПоказательНаработки,
| ПорядокУчетаОС.ОбъемНаработки
|ИЗ
| РегистрСведений.ПорядокУчетаОС КАК ПорядокУчетаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОбъектовУчета_Доначисление_УУ КАК Доначисление
| ПО ПорядокУчетаОС.ОсновноеСредство = Доначисление.ОсновноеСредство
|
|ГДЕ
| ПорядокУчетаОС.Активность
| И ПорядокУчетаОС.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПорядокУчетаОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И ПорядокУчетаОС.Период >= Доначисление.Период
|
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ПорядокУчетаОСУУ.Период КАК Период,
| ПорядокУчетаОСУУ.МоментВремени,
| ПорядокУчетаОСУУ.Регистратор,
| ПорядокУчетаОСУУ.ОсновноеСредство,
| ПорядокУчетаОСУУ.Организация,
| ПорядокУчетаОСУУ.Состояние,
| ПорядокУчетаОСУУ.НачислятьАмортизацию,
| ПорядокУчетаОСУУ.СпособОтраженияАмортизации,
| ПорядокУчетаОСУУ.СтатьяРасходов,
| ПорядокУчетаОСУУ.АналитикаРасходов,
| ПорядокУчетаОСУУ.Подразделение,
| ПорядокУчетаОСУУ.НаправлениеДеятельности,
| ПорядокУчетаОСУУ.ПередаватьРасходыВДругуюОрганизацию,
| ПорядокУчетаОСУУ.ОрганизацияПолучательРасходов
|
|ПОМЕСТИТЬ ПорядокУчетаОСУУ_Изменения
|
|ИЗ
| РегистрСведений.ПорядокУчетаОСУУ КАК ПорядокУчетаОСУУ
|
|ГДЕ
| ПорядокУчетаОСУУ.Активность
| И ПорядокУчетаОСУУ.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПорядокУчетаОСУУ.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
|
| И НЕ ПорядокУчетаОСУУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПорядокУчетаОСУУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ПорядокУчетаОСУУ.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПорядокУчетаОСУУ.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|
| И ПорядокУчетаОСУУ.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| ПорядокУчетаОСУУ.Период КАК Период,
| ПорядокУчетаОСУУ.МоментВремени,
| ПорядокУчетаОСУУ.Регистратор,
| ПорядокУчетаОСУУ.ОсновноеСредство,
| ПорядокУчетаОСУУ.Организация,
| ПорядокУчетаОСУУ.Состояние,
| ПорядокУчетаОСУУ.НачислятьАмортизацию,
| ПорядокУчетаОСУУ.СпособОтраженияАмортизации,
| ПорядокУчетаОСУУ.СтатьяРасходов,
| ПорядокУчетаОСУУ.АналитикаРасходов,
| ПорядокУчетаОСУУ.Подразделение,
| ПорядокУчетаОСУУ.НаправлениеДеятельности,
| ПорядокУчетаОСУУ.ПередаватьРасходыВДругуюОрганизацию,
| ПорядокУчетаОСУУ.ОрганизацияПолучательРасходов
|ИЗ
| РегистрСведений.ПорядокУчетаОСУУ КАК ПорядокУчетаОСУУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОбъектовУчета_Доначисление_УУ КАК Доначисление
| ПО ПорядокУчетаОСУУ.ОсновноеСредство = Доначисление.ОсновноеСредство
|
|ГДЕ
| ПорядокУчетаОСУУ.Активность
| И ПорядокУчетаОСУУ.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПорядокУчетаОСУУ.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И ПорядокУчетаОСУУ.Период >= Доначисление.Период
|
| И НЕ ПорядокУчетаОСУУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПорядокУчетаОСУУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ПорядокУчетаОСУУ.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПорядокУчетаОСУУ.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| МестонахождениеОС.Период КАК Период,
| МестонахождениеОС.МоментВремени,
| МестонахождениеОС.Регистратор,
| МестонахождениеОС.ОсновноеСредство,
| МестонахождениеОС.Организация,
| МестонахождениеОС.Местонахождение
|
|ПОМЕСТИТЬ МестонахождениеОС_ИзмененияУУ
|
|ИЗ
| РегистрСведений.МестонахождениеОС КАК МестонахождениеОС
|
|ГДЕ
| МестонахождениеОС.Активность
| И МестонахождениеОС.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И МестонахождениеОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
|
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|
| И МестонахождениеОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| МестонахождениеОС.Период КАК Период,
| МестонахождениеОС.МоментВремени,
| МестонахождениеОС.Регистратор,
| МестонахождениеОС.ОсновноеСредство,
| МестонахождениеОС.Организация,
| МестонахождениеОС.Местонахождение
|ИЗ
| РегистрСведений.МестонахождениеОС КАК МестонахождениеОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОбъектовУчета_Доначисление_УУ КАК Доначисление
| ПО МестонахождениеОС.ОсновноеСредство = Доначисление.ОсновноеСредство
|
|ГДЕ
| МестонахождениеОС.Активность
| И МестонахождениеОС.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И МестонахождениеОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И МестонахождениеОС.Период >= Доначисление.Период
|
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ИзменениеСтоимости
ТекстЗапроса =
"ВЫБРАТЬ
| СтоимостьОС.НачалоМесяца КАК НачалоМесяца,
| СтоимостьОС.ПериодПараметров КАК ПериодПараметров,
| СтоимостьОС.Период КАК Период,
| СтоимостьОС.Регистратор КАК Регистратор,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
| СтоимостьОС.Организация КАК Организация,
|
| СУММА(СтоимостьОС.Стоимость) КАК Стоимость,
| СУММА(СтоимостьОС.СтоимостьРегл) КАК СтоимостьРегл
|
|ПОМЕСТИТЬ СтоимостьОС_ИзмененияУУ
|
|ИЗ
| (ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| СтоимостьОС.Период КАК Период,
| СтоимостьОС.Регистратор КАК Регистратор,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
| СтоимостьОС.Организация КАК Организация,
| СтоимостьОС.ПредварительнаяСтоимость КАК Стоимость,
| СтоимостьОС.ПредварительнаяСтоимостьРегл КАК СтоимостьРегл
| ИЗ
| РегистрНакопления.СтоимостьОС КАК СтоимостьОС
| ГДЕ
| СтоимостьОС.Активность
| И СтоимостьОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
| И СтоимостьОС.ОтражатьВУпрУчете
| И СтоимостьОС.Регистратор ССЫЛКА Документ.МодернизацияОС2_4
|
| И СтоимостьОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| СписаниеОС2_4.Дата,
| СписаниеОС2_4.Ссылка,
| ТаблицаОС.ОсновноеСредство,
| СписаниеОС2_4.Организация,
| -ТаблицаОС.СуммаСписанияУУ,
| -ТаблицаОС.СуммаСписанияБУ
| ИЗ
| Документ.СписаниеОС2_4 КАК СписаниеОС2_4
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СписаниеОС2_4.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = СписаниеОС2_4.Ссылка)
|
| ГДЕ
| СписаниеОС2_4.Проведен
| И СписаниеОС2_4.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И СписаниеОС2_4.ОтражатьВУпрУчете
| И СписаниеОС2_4.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеОСЧастичное)
| И ТаблицаОС.СуммаСписанияУУ <> 0
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ДанныеДокумента.Дата,
| ДанныеДокумента.Ссылка,
| ДанныеДокумента.ОсновноеСредство,
| ДанныеДокумента.Организация,
| -СУММА(ТаблицаОС.СтоимостьУУ),
| -СУММА(ТаблицаОС.СтоимостьБУ)
| ИЗ
| Документ.РазукомплектацияОС КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РазукомплектацияОС.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка)
|
| ГДЕ
| ДанныеДокумента.Проведен
| И ДанныеДокумента.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации))
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Дата,
| ДанныеДокумента.Ссылка,
| ДанныеДокумента.ОсновноеСредство,
| ДанныеДокумента.Организация
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ПереоценкаОС.Дата,
| ПереоценкаОС.Ссылка,
| ТаблицаОС.ОсновноеСредство,
| ПереоценкаОС.Организация,
| ТаблицаОС.СтоимостьУУ,
| ТаблицаОС.СтоимостьБУ
| ИЗ
| Документ.ПереоценкаОС2_4 КАК ПереоценкаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПереоценкаОС2_4.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = ПереоценкаОС.Ссылка)
|
| ГДЕ
| ПереоценкаОС.Проведен
| И ПереоценкаОС.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ПереоценкаОС.ОтражатьВУпрУчете
| И ТаблицаОС.СтоимостьУУ <> 0
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ИзменениеУсловийДоговораАренды.Дата,
| ИзменениеУсловийДоговораАренды.Ссылка,
| ТаблицаОС.ОсновноеСредство,
| ИзменениеУсловийДоговораАренды.Организация,
| ТаблицаОС.СтоимостьУУ,
| ТаблицаОС.СтоимостьБУ
| ИЗ
| Документ.ИзменениеУсловийДоговораАренды КАК ИзменениеУсловийДоговораАренды
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИзменениеУсловийДоговораАренды.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = ИзменениеУсловийДоговораАренды.Ссылка)
|
| ГДЕ
| ИзменениеУсловийДоговораАренды.Проведен
| И ИзменениеУсловийДоговораАренды.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ТаблицаОС.СтоимостьУУ <> 0
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| Корректировка.Дата,
| Корректировка.Ссылка,
| ТаблицаОС.ОсновноеСредство,
| Корректировка.Организация,
| ТаблицаОС.СтоимостьУУ,
| ТаблицаОС.СтоимостьБУ
| ИЗ
| Документ.КорректировкаСтоимостиИАмортизацииОС КАК Корректировка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаСтоимостиИАмортизацииОС.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = Корректировка.Ссылка)
|
| ГДЕ
| Корректировка.Проведен
| И Корректировка.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И Корректировка.ОтражатьВУпрУчете
| И ТаблицаОС.СтоимостьУУ <> 0
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоПредыдущегоМесяца,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| СтоимостьОС.Период,
| СтоимостьОС.Регистратор,
| СтоимостьОС.ОсновноеСредство,
| СтоимостьОС.Организация,
| СтоимостьОС.Стоимость - СтоимостьОС.ПредварительнаяСтоимость,
| СтоимостьОС.СтоимостьРегл - СтоимостьОС.ПредварительнаяСтоимостьРегл
| ИЗ
| РегистрНакопления.СтоимостьОС КАК СтоимостьОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОбъектовУчета_Доначисление_УУ КАК Доначисление
| ПО СтоимостьОС.ОсновноеСредство = Доначисление.ОсновноеСредство
|
| ГДЕ
| СтоимостьОС.Активность
| И СтоимостьОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И СтоимостьОС.Период >= Доначисление.Период
|
| И СтоимостьОС.Регистратор ССЫЛКА Документ.МодернизацияОС2_4
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| СтоимостьОС.Период,
| СтоимостьОС.Регистратор,
| СтоимостьОС.ОсновноеСредство,
| СтоимостьОС.Организация,
| СтоимостьОС.Стоимость,
| СтоимостьОС.СтоимостьРегл
| ИЗ
| РегистрНакопления.СтоимостьОС КАК СтоимостьОС
|
| ГДЕ
| СтоимостьОС.Активность
| И СтоимостьОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
| И СтоимостьОС.Регистратор ССЫЛКА Документ.НачислениеСписаниеРезервовПредстоящихРасходов
| И СтоимостьОС.Стоимость <> 0
|
| И (СтоимостьОС.Организация, СтоимостьОС.ОсновноеСредство) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ИнвестицииВАренду.Период,
| ИнвестицииВАренду.Ссылка,
| ИнвестицииВАренду.ОсновноеСредство,
| ИнвестицииВАренду.Организация,
| ИнвестицииВАренду.Стоимость,
| ИнвестицииВАренду.СтоимостьРегл
| ИЗ
| ИнвестицииВАренду КАК ИнвестицииВАренду
| ГДЕ
| ИнвестицииВАренду.ОтражатьВУпрУчете
| И ИнвестицииВАренду.Стоимость <> 0
|
| И ИнвестицииВАренду.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ) КАК СтоимостьОС
|
|СГРУППИРОВАТЬ ПО
| СтоимостьОС.НачалоМесяца,
| СтоимостьОС.ПериодПараметров,
| СтоимостьОС.Период,
| СтоимостьОС.Регистратор,
| СтоимостьОС.ОсновноеСредство,
| СтоимостьОС.Организация
|
|ИМЕЮЩИЕ
| (СУММА(СтоимостьОС.Стоимость) <> 0
| ИЛИ СУММА(СтоимостьОС.СтоимостьРегл) <> 0)
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ИзменениеАмортизации
ТекстЗапроса =
"ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| Корректировка.Дата КАК Период,
| Корректировка.Ссылка КАК Регистратор,
| Корректировка.Организация КАК Организация,
| Корректировка.ОсновноеСредство КАК ОсновноеСредство,
|
| СУММА(Корректировка.АмортизацияУУ) КАК Амортизация,
| СУММА(Корректировка.АмортизацияБУ) КАК АмортизацияРегл
|
|ПОМЕСТИТЬ АмортизацияОС_ИзмененияУУ
|
|ИЗ
| (ВЫБРАТЬ
| Корректировка.Дата КАК Дата,
| Корректировка.Ссылка КАК Ссылка,
| Корректировка.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ТаблицаОС.АмортизацияУУ КАК АмортизацияУУ,
| ТаблицаОС.АмортизацияБУ КАК АмортизацияБУ
|
| ИЗ
| Документ.КорректировкаСтоимостиИАмортизацииОС КАК Корректировка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаСтоимостиИАмортизацииОС.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = Корректировка.Ссылка)
|
| ГДЕ
| Корректировка.Проведен
| И Корректировка.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И Корректировка.ОтражатьВУпрУчете
|
| И ТаблицаОС.АмортизацияУУ <> 0
|
| И ИСТИНА В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца КАК Дата,
| ЗНАЧЕНИЕ(Документ.КорректировкаСтоимостиИАмортизацииОС.ПустаяСсылка) КАК Ссылка,
| ДоначислениеПринятыхКУчетуПрошлойДатой.Организация КАК Организация,
| ДоначислениеПринятыхКУчетуПрошлойДатой.ОсновноеСредство КАК ОсновноеСредство,
|
| ДоначислениеПринятыхКУчетуПрошлойДатой.СуммаУУ КАК АмортизацияУУ,
| ДоначислениеПринятыхКУчетуПрошлойДатой.СуммаБУ + ДоначислениеПринятыхКУчетуПрошлойДатой.СуммаЦФ КАК АмортизацияБУ
| ИЗ
| ДоначислениеПринятыхКУчетуПрошлойДатой КАК ДоначислениеПринятыхКУчетуПрошлойДатой
|
| ) КАК Корректировка
|
|СГРУППИРОВАТЬ ПО
| Корректировка.Дата,
| Корректировка.Ссылка,
| Корректировка.ОсновноеСредство,
| Корректировка.Организация
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ОбъединениеВсехИзменений
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца КАК НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров КАК ПериодПараметров,
| ТаблицаИзменений.Регистратор КАК Регистратор,
| МАКСИМУМ(ТаблицаИзменений.Период) КАК Период,
| МАКСИМУМ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ТаблицаИзменений.Период, МЕСЯЦ, 1), МЕСЯЦ)) КАК НачалоСледующегоМесяца,
| ТаблицаИзменений.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаИзменений.Организация КАК Организация,
| МАКСИМУМ(ПараметрыАмортизацииОСУУПоследнее.Период) КАК ПараметрыАмортизацииОСУУПоследнееПериод,
| МАКСИМУМ(ПорядокУчетаОСИзмененияПоследнее.Период) КАК ПорядокУчетаОСИзмененияПоследнееПериод,
| МАКСИМУМ(ПорядокУчетаОСУУИзмененияПоследнее.Период) КАК ПорядокУчетаОСУУИзмененияПоследнееПериод,
| МАКСИМУМ(МестонахождениеОСИзмененияПоследнее.Период) КАК МестонахождениеОСИзмененияПоследнееПериод
|
|ПОМЕСТИТЬ ТаблицаИзмененийУУ
|
|ИЗ
| (ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца КАК НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров КАК ПериодПараметров,
| ТаблицаИзменений.Регистратор КАК Регистратор,
| ТаблицаИзменений.Период КАК Период,
| ТаблицаИзменений.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаИзменений.Организация КАК Организация
| ИЗ
| ПараметрыАмортизацииОСУУ_Изменения КАК ТаблицаИзменений
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Период,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.Организация
| ИЗ
| ПорядокУчетаОС_ИзмененияУУ КАК ТаблицаИзменений
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Период,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.Организация
| ИЗ
| ПорядокУчетаОСУУ_Изменения КАК ТаблицаИзменений
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Период,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.Организация
| ИЗ
| МестонахождениеОС_ИзмененияУУ КАК ТаблицаИзменений
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Период,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.Организация
| ИЗ
| СтоимостьОС_ИзмененияУУ КАК ТаблицаИзменений
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Период,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.Организация
| ИЗ
| АмортизацияОС_ИзмененияУУ КАК ТаблицаИзменений
|
| ) КАК ТаблицаИзменений
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСУУ_Изменения КАК ПараметрыАмортизацииОСУУПоследнее
| ПО (ПараметрыАмортизацииОСУУПоследнее.Организация = ТаблицаИзменений.Организация)
| И (ПараметрыАмортизацииОСУУПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПараметрыАмортизацииОСУУПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПараметрыАмортизацииОСУУПоследнее.Период <= ТаблицаИзменений.Период)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС_ИзмененияУУ КАК ПорядокУчетаОСИзмененияПоследнее
| ПО (ПорядокУчетаОСИзмененияПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПорядокУчетаОСИзмененияПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПорядокУчетаОСИзмененияПоследнее.Период <= ТаблицаИзменений.Период)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСУУ_Изменения КАК ПорядокУчетаОСУУИзмененияПоследнее
| ПО (ПорядокУчетаОСУУИзмененияПоследнее.Организация = ТаблицаИзменений.Организация)
| И (ПорядокУчетаОСУУИзмененияПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПорядокУчетаОСУУИзмененияПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПорядокУчетаОСУУИзмененияПоследнее.Период <= ТаблицаИзменений.Период)
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_ИзмененияУУ КАК МестонахождениеОСИзмененияПоследнее
| ПО (МестонахождениеОСИзмененияПоследнее.Организация = ТаблицаИзменений.Организация)
| И (МестонахождениеОСИзмененияПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (МестонахождениеОСИзмененияПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (МестонахождениеОСИзмененияПоследнее.Период <= ТаблицаИзменений.Период)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Организация,
| ТаблицаИзменений.ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ТаблицаИзменений.Организация,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.Регистратор,
| МИНИМУМ(ТаблицаИзмененийСледующее.Период) КАК ПериодСледующее
|
|ПОМЕСТИТЬ ТаблицаИзмененийСледующее
|
|ИЗ
| ТаблицаИзмененийУУ КАК ТаблицаИзменений
|
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаИзмененийУУ КАК ТаблицаИзмененийСледующее
| ПО (ТаблицаИзмененийСледующее.Организация = ТаблицаИзменений.Организация)
| И (ТаблицаИзмененийСледующее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ТаблицаИзмененийСледующее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ТаблицаИзмененийСледующее.Период > ТаблицаИзменений.Период
| ИЛИ ТаблицаИзмененийСледующее.Период = ТаблицаИзменений.Период
| И ТаблицаИзмененийСледующее.Регистратор > ТаблицаИзменений.Регистратор)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Организация,
| ТаблицаИзменений.ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ТаблицаИзменений.Организация,
| ТаблицаИзменений.ОсновноеСредство,
| МИНИМУМ(ТаблицаИзменений.Период) КАК ПериодСледующее
|
|ПОМЕСТИТЬ ТаблицаИзмененийВЭтомМесяце
|
|ИЗ
| ТаблицаИзмененийУУ КАК ТаблицаИзменений
|ГДЕ
| (ТаблицаИзменений.НачалоМесяца = &НачалоМесяца)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаИзменений.Организация,
| ТаблицаИзменений.ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область Изменения_УУ
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца КАК НачалоМесяца,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.ДатаДокументаПринятияКУчету, МЕСЯЦ) = ТаблицаИзменений.НачалоМесяца
| И НЕ ДатыПоследнегоИзменения.РежимИсправленияСПрошлойДаты
| ТОГДА НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.ДатаДокументаПринятияКУчету, ДЕНЬ)
| ИНАЧЕ ТаблицаИзменений.ПериодПараметров
| КОНЕЦ КАК ПериодПараметров,
|
| КОНЕЦПЕРИОДА(ТаблицаИзменений.НачалоМесяца, МЕСЯЦ) КАК КонецМесяца,
| КОНЕЦПЕРИОДА(ТаблицаИзменений.Период, ДЕНЬ) КАК ДатаИзменений,
| ТаблицаИзменений.Регистратор КАК Регистратор,
| ЕСТЬNULL(РеестрДокументов.ХозяйственнаяОперация, НЕОПРЕДЕЛЕНО) КАК ХозяйственнаяОперация,
|
| (НЕ ОбъединениеОС.Ссылка ЕСТЬ NULL
| ИЛИ НЕ РазукомплектацияОС.Ссылка ЕСТЬ NULL) КАК ПолученПриРазукомплектацииОбъединении,
|
| ВЫБОР
| КОГДА ТаблицаИзменений.НачалоМесяца = &НачалоПредыдущегоМесяца
|
| ТОГДА ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ЕСТЬNULL(ТаблицаИзмененийВЭтомМесяце.ПериодСледующее, &КонецМесяца), ДЕНЬ) = &НачалоМесяца
| ТОГДА &НачалоМесяца
| ИНАЧЕ ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ТаблицаИзмененийВЭтомМесяце.ПериодСледующее, ДЕНЬ, -1), &КонецМесяца)
| КОНЕЦ
|
| КОГДА НАЧАЛОПЕРИОДА(ЕСТЬNULL(ТаблицаИзмененийСледующее.ПериодСледующее, &КонецМесяца), ДЕНЬ) = &НачалоМесяца
|
| ТОГДА &НачалоМесяца
|
| ИНАЧЕ ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ТаблицаИзмененийСледующее.ПериодСледующее, ДЕНЬ, -1), &КонецМесяца)
|
| КОНЕЦ КАК Период,
|
| РАЗНОСТЬДАТ(ТаблицаИзменений.Период, ЕСТЬNULL(ТаблицаИзмененийСледующее.ПериодСледующее, ТаблицаИзменений.НачалоСледующегоМесяца), ДЕНЬ) КАК СрокДействия,
| ТаблицаИзменений.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаИзменений.Организация КАК Организация,
| ЕСТЬNULL(СтоимостьОСИзменения.Стоимость, 0) КАК СтоимостьИзменение,
| ЕСТЬNULL(СтоимостьОСИзменения.СтоимостьРегл, 0) КАК СтоимостьРеглИзменение,
| ЕСТЬNULL(АмортизацияОСИзменения.Амортизация, 0) КАК АмортизацияИзменение,
| ЕСТЬNULL(АмортизацияОСИзменения.АмортизацияРегл, 0) КАК АмортизацияРеглИзменение,
| ПараметрыАмортизацииОСУУПоследнее.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ПараметрыАмортизацииОСУУПоследнее.СрокИспользования КАК СрокИспользования,
| ПараметрыАмортизацииОСУУПоследнее.ОбъемНаработки КАК ОбъемНаработки,
| ПараметрыАмортизацииОСУУПоследнее.КоэффициентУскорения КАК КоэффициентУскорения,
| ПараметрыАмортизацииОСУУПоследнее.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| ПараметрыАмортизацииОСУУПоследнее.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ПараметрыАмортизацииОСУУПоследнее.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| ПорядокУчетаОСИзмененияПоследнее.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ПорядокУчетаОСИзмененияПоследнее.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ПорядокУчетаОСИзмененияПоследнее.ПоказательНаработки КАК ПоказательНаработки,
| ПорядокУчетаОСУУИзмененияПоследнее.Состояние,
| ПорядокУчетаОСУУИзмененияПоследнее.НачислятьАмортизацию КАК НачислятьАмортизацию,
|
| ВЫБОР
| КОГДА ТаблицаИзменений.ОсновноеСредство.ТипОС = ЗНАЧЕНИЕ(Перечисление.ТипыОС.ГрупповоеОС)
| И ЕСТЬNULL(ПорядокУчетаОСУУИзмененияПоследнее.СпособОтраженияАмортизации, НЕОПРЕДЕЛЕНО) В (&ПустыеСпособыОтраженияАмортизации)
| ТОГДА ТаблицаИзменений.ОсновноеСредство
| ИНАЧЕ ПорядокУчетаОСУУИзмененияПоследнее.СпособОтраженияАмортизации
| КОНЕЦ КАК СпособОтраженияАмортизации,
|
| ПорядокУчетаОСУУИзмененияПоследнее.СтатьяРасходов КАК СтатьяРасходов,
| ПорядокУчетаОСУУИзмененияПоследнее.АналитикаРасходов КАК АналитикаРасходов,
| ПорядокУчетаОСУУИзмененияПоследнее.Подразделение КАК ПодразделениеРасходов,
| ПорядокУчетаОСУУИзмененияПоследнее.НаправлениеДеятельности КАК НаправлениеДеятельностиРасходов,
| ПорядокУчетаОСУУИзмененияПоследнее.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| ПорядокУчетаОСУУИзмененияПоследнее.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| МестонахождениеОСИзмененияПоследнее.Местонахождение КАК Местонахождение
|
|ПОМЕСТИТЬ Изменения_УУ
|
|ИЗ
| ТаблицаИзмененийУУ КАК ТаблицаИзменений
|
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаИзмененийСледующее КАК ТаблицаИзмененийСледующее
| ПО (ТаблицаИзмененийСледующее.Организация = ТаблицаИзменений.Организация)
| И (ТаблицаИзмененийСледующее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ТаблицаИзмененийСледующее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ТаблицаИзмененийСледующее.Регистратор = ТаблицаИзменений.Регистратор)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаИзмененийВЭтомМесяце КАК ТаблицаИзмененийВЭтомМесяце
| ПО (ТаблицаИзмененийВЭтомМесяце.Организация = ТаблицаИзменений.Организация)
| И (ТаблицаИзмененийВЭтомМесяце.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДатыПоследнегоИзмененияУУ КАК ДатыПоследнегоИзменения
| ПО (ДатыПоследнегоИзменения.Организация = ТаблицаИзменений.Организация)
| И (ДатыПоследнегоИзменения.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ДатыПоследнегоИзменения.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСУУ_Изменения КАК ПараметрыАмортизацииОСУУПоследнее
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСУУ_Изменения КАК ПараметрыАмортизацииОСУУСледующее
| ПО (ПараметрыАмортизацииОСУУСледующее.Организация = ПараметрыАмортизацииОСУУПоследнее.Организация)
| И (ПараметрыАмортизацииОСУУСледующее.ОсновноеСредство = ПараметрыАмортизацииОСУУПоследнее.ОсновноеСредство)
| И (ПараметрыАмортизацииОСУУСледующее.НачалоМесяца = ПараметрыАмортизацииОСУУПоследнее.НачалоМесяца)
| И (ПараметрыАмортизацииОСУУСледующее.Период = ПараметрыАмортизацииОСУУПоследнее.Период)
| И (ПараметрыАмортизацииОСУУСледующее.МоментВремени > ПараметрыАмортизацииОСУУПоследнее.МоментВремени)
| ПО (ПараметрыАмортизацииОСУУПоследнее.Организация = ТаблицаИзменений.Организация)
| И (ПараметрыАмортизацииОСУУПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПараметрыАмортизацииОСУУПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПараметрыАмортизацииОСУУПоследнее.Период = ТаблицаИзменений.ПараметрыАмортизацииОСУУПоследнееПериод)
| И (ПараметрыАмортизацииОСУУСледующее.Регистратор ЕСТЬ NULL)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС_ИзмененияУУ КАК ПорядокУчетаОСИзмененияПоследнее
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС_ИзмененияУУ КАК ПорядокУчетаОСИзмененияСледующее
| ПО (ПорядокУчетаОСИзмененияСледующее.Организация = ПорядокУчетаОСИзмененияПоследнее.Организация)
| И (ПорядокУчетаОСИзмененияСледующее.ОсновноеСредство = ПорядокУчетаОСИзмененияПоследнее.ОсновноеСредство)
| И (ПорядокУчетаОСИзмененияСледующее.НачалоМесяца = ПорядокУчетаОСИзмененияПоследнее.НачалоМесяца)
| И (ПорядокУчетаОСИзмененияСледующее.Период = ПорядокУчетаОСИзмененияПоследнее.Период)
| И (ПорядокУчетаОСИзмененияСледующее.МоментВремени > ПорядокУчетаОСИзмененияПоследнее.МоментВремени)
| ПО (ПорядокУчетаОСИзмененияПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПорядокУчетаОСИзмененияПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПорядокУчетаОСИзмененияПоследнее.Период = ТаблицаИзменений.ПорядокУчетаОСИзмененияПоследнееПериод)
| И (ПорядокУчетаОСИзмененияСледующее.Регистратор ЕСТЬ NULL)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСУУ_Изменения КАК ПорядокУчетаОСУУИзмененияПоследнее
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСУУ_Изменения КАК ПорядокУчетаОСУУИзмененияСледующее
| ПО (ПорядокУчетаОСУУИзмененияСледующее.Организация = ПорядокУчетаОСУУИзмененияПоследнее.Организация)
| И (ПорядокУчетаОСУУИзмененияСледующее.ОсновноеСредство = ПорядокУчетаОСУУИзмененияПоследнее.ОсновноеСредство)
| И (ПорядокУчетаОСУУИзмененияСледующее.НачалоМесяца = ПорядокУчетаОСУУИзмененияПоследнее.НачалоМесяца)
| И (ПорядокУчетаОСУУИзмененияСледующее.Период = ПорядокУчетаОСУУИзмененияПоследнее.Период)
| И (ПорядокУчетаОСУУИзмененияСледующее.МоментВремени > ПорядокУчетаОСУУИзмененияПоследнее.МоментВремени)
| ПО (ПорядокУчетаОСУУИзмененияПоследнее.Организация = ТаблицаИзменений.Организация)
| И (ПорядокУчетаОСУУИзмененияПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПорядокУчетаОСУУИзмененияПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПорядокУчетаОСУУИзмененияПоследнее.Период = ТаблицаИзменений.ПорядокУчетаОСУУИзмененияПоследнееПериод)
| И (ПорядокУчетаОСУУИзмененияСледующее.Регистратор ЕСТЬ NULL)
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_ИзмененияУУ КАК МестонахождениеОСИзмененияПоследнее
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_ИзмененияУУ КАК МестонахождениеОСИзмененияСледующее
| ПО (МестонахождениеОСИзмененияСледующее.Организация = МестонахождениеОСИзмененияПоследнее.Организация)
| И (МестонахождениеОСИзмененияСледующее.ОсновноеСредство = МестонахождениеОСИзмененияПоследнее.ОсновноеСредство)
| И (МестонахождениеОСИзмененияСледующее.НачалоМесяца = МестонахождениеОСИзмененияПоследнее.НачалоМесяца)
| И (МестонахождениеОСИзмененияСледующее.Период = МестонахождениеОСИзмененияПоследнее.Период)
| И (МестонахождениеОСИзмененияСледующее.МоментВремени > МестонахождениеОСИзмененияПоследнее.МоментВремени)
| ПО (МестонахождениеОСИзмененияПоследнее.Организация = ТаблицаИзменений.Организация)
| И (МестонахождениеОСИзмененияПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (МестонахождениеОСИзмененияПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (МестонахождениеОСИзмененияПоследнее.Период = ТаблицаИзменений.МестонахождениеОСИзмененияПоследнееПериод)
| И (МестонахождениеОСИзмененияСледующее.Регистратор ЕСТЬ NULL)
|
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОС_ИзмененияУУ КАК СтоимостьОСИзменения
| ПО (СтоимостьОСИзменения.Организация = ТаблицаИзменений.Организация)
| И (СтоимостьОСИзменения.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (СтоимостьОСИзменения.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (СтоимостьОСИзменения.Регистратор = ТаблицаИзменений.Регистратор)
|
| ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияОС_ИзмененияУУ КАК АмортизацияОСИзменения
| ПО (АмортизацияОСИзменения.Организация = ТаблицаИзменений.Организация)
| И (АмортизацияОСИзменения.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (АмортизацияОСИзменения.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (АмортизацияОСИзменения.Регистратор = ТаблицаИзменений.Регистратор)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОбъединениеОС КАК ОбъединениеОС
| ПО (ОбъединениеОС.Ссылка = ТаблицаИзменений.Регистратор)
| И (ОбъединениеОС.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РазукомплектацияОС.ОС КАК РазукомплектацияОС
| ПО (РазукомплектацияОС.Ссылка = ТаблицаИзменений.Регистратор)
| И (РазукомплектацияОС.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеестрДокументов КАК РеестрДокументов
| ПО (РеестрДокументов.Ссылка = ТаблицаИзменений.Регистратор)
| И (НЕ РеестрДокументов.ДополнительнаяЗапись)
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#КонецОбласти
#Область Изменения_БУ_МУ
#Область ИзменениеПараметров
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ПараметрыАмортизацииОСБУ.Период КАК Период,
| ПараметрыАмортизацииОСБУ.МоментВремени КАК МоментВремени,
| ПараметрыАмортизацииОСБУ.Регистратор КАК Регистратор,
| ПараметрыАмортизацииОСБУ.ОсновноеСредство КАК ОсновноеСредство,
| ПараметрыАмортизацииОСБУ.Организация КАК Организация,
| ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ПараметрыАмортизацииОСБУ.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользования,
| ПараметрыАмортизацииОСБУ.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемНаработки,
| ПараметрыАмортизацииОСБУ.КоэффициентУскорения КАК КоэффициентУскорения,
| ПараметрыАмортизацииОСБУ.СрокПолезногоИспользованияБУ КАК СрокПолезногоИспользованияБУ,
| ПараметрыАмортизацииОСБУ.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость
|
|ПОМЕСТИТЬ ПараметрыАмортизацииОСБУ_МУ_Изменения
|
|ИЗ
| РегистрСведений.ПараметрыАмортизацииОСБУ КАК ПараметрыАмортизацииОСБУ
|
|ГДЕ
| &ЭтоМеждународнаяВерсия
| И ПараметрыАмортизацииОСБУ.Активность
| И ПараметрыАмортизацииОСБУ.ДатаИсправления = ДАТАВРЕМЯ(1, 1, 1)
| И ПараметрыАмортизацииОСБУ.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
|
| И НЕ ПараметрыАмортизацииОСБУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПараметрыАмортизацииОСБУ.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПараметрыАмортизацииОСБУ.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|
| И ПараметрыАмортизацииОСБУ.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| ПараметрыАмортизацииОСБУ.Период КАК Период,
| ПараметрыАмортизацииОСБУ.МоментВремени КАК МоментВремени,
| ПараметрыАмортизацииОСБУ.Регистратор КАК Регистратор,
| ПараметрыАмортизацииОСБУ.ОсновноеСредство КАК ОсновноеСредство,
| ПараметрыАмортизацииОСБУ.Организация КАК Организация,
| ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ПараметрыАмортизацииОСБУ.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользования,
| ПараметрыАмортизацииОСБУ.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемНаработки,
| ПараметрыАмортизацииОСБУ.КоэффициентУскорения КАК КоэффициентУскорения,
| ПараметрыАмортизацииОСБУ.СрокПолезногоИспользованияБУ КАК СрокПолезногоИспользованияБУ,
| ПараметрыАмортизацииОСБУ.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость
|ИЗ
| РегистрСведений.ПараметрыАмортизацииОСБУ КАК ПараметрыАмортизацииОСБУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОбъектовУчета_Доначисление_БУ_МУ КАК Доначисление
| ПО ПараметрыАмортизацииОСБУ.ОсновноеСредство = Доначисление.ОсновноеСредство
|
|ГДЕ
| &ЭтоМеждународнаяВерсия
| И ПараметрыАмортизацииОСБУ.Активность
| И ПараметрыАмортизацииОСБУ.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПараметрыАмортизацииОСБУ.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И ПараметрыАмортизацииОСБУ.Период >= Доначисление.Период
|
| И НЕ ПараметрыАмортизацииОСБУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПараметрыАмортизацииОСБУ.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПараметрыАмортизацииОСБУ.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ПорядокУчетаОС.Период КАК Период,
| ПорядокУчетаОС.МоментВремени,
| ПорядокУчетаОС.Регистратор,
| ПорядокУчетаОС.ОсновноеСредство,
| ПорядокУчетаОС.Организация,
| ПорядокУчетаОС.ГруппаФинансовогоУчета,
| ПорядокУчетаОС.НаправлениеДеятельности,
| ПорядокУчетаОС.ПоказательНаработки,
| ПорядокУчетаОС.ОбъемНаработки
|
|ПОМЕСТИТЬ ПорядокУчетаОС_ИзмененияБУ_МУ
|
|ИЗ
| РегистрСведений.ПорядокУчетаОС КАК ПорядокУчетаОС
|
|ГДЕ
| ПорядокУчетаОС.Активность
| И ПорядокУчетаОС.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПорядокУчетаОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
|
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
|
| И ПорядокУчетаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| ПорядокУчетаОС.Период КАК Период,
| ПорядокУчетаОС.МоментВремени,
| ПорядокУчетаОС.Регистратор,
| ПорядокУчетаОС.ОсновноеСредство,
| ПорядокУчетаОС.Организация,
| ПорядокУчетаОС.ГруппаФинансовогоУчета,
| ПорядокУчетаОС.НаправлениеДеятельности,
| ПорядокУчетаОС.ПоказательНаработки,
| ПорядокУчетаОС.ОбъемНаработки
|ИЗ
| РегистрСведений.ПорядокУчетаОС КАК ПорядокУчетаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОбъектовУчета_Доначисление_БУ_МУ КАК Доначисление
| ПО ПорядокУчетаОС.ОсновноеСредство = Доначисление.ОсновноеСредство
|
|ГДЕ
| ПорядокУчетаОС.Активность
| И ПорядокУчетаОС.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПорядокУчетаОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И ПорядокУчетаОС.Период >= Доначисление.Период
|
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПорядокУчетаОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ПорядокУчетаОСБУ.Период КАК Период,
| ПорядокУчетаОСБУ.МоментВремени,
| ПорядокУчетаОСБУ.Регистратор,
| ПорядокУчетаОСБУ.ОсновноеСредство,
| ПорядокУчетаОСБУ.Организация,
| ПорядокУчетаОСБУ.СостояниеБУ,
| ПорядокУчетаОСБУ.НачислятьАмортизациюБУ,
| ПорядокУчетаОСБУ.СпособОтраженияАмортизацииБУ,
| ПорядокУчетаОСБУ.СтатьяРасходовБУ,
| ПорядокУчетаОСБУ.АналитикаРасходовБУ,
| ПорядокУчетаОСБУ.ПодразделениеБУ,
| ПорядокУчетаОСБУ.НаправлениеДеятельностиБУ,
| ПорядокУчетаОСБУ.ПередаватьРасходыВДругуюОрганизацию,
| ПорядокУчетаОСБУ.ОрганизацияПолучательРасходов
|
|ПОМЕСТИТЬ ПорядокУчетаОСБУ_МУ_Изменения
|
|ИЗ
| РегистрСведений.ПорядокУчетаОСБУ КАК ПорядокУчетаОСБУ
|
|ГДЕ
| &ЭтоМеждународнаяВерсия
| И ПорядокУчетаОСБУ.Активность
| И ПорядокУчетаОСБУ.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПорядокУчетаОСБУ.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
|
| И НЕ ПорядокУчетаОСБУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПорядокУчетаОСБУ.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПорядокУчетаОСБУ.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|
| И ПорядокУчетаОСБУ.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| ПорядокУчетаОСБУ.Период КАК Период,
| ПорядокУчетаОСБУ.МоментВремени,
| ПорядокУчетаОСБУ.Регистратор,
| ПорядокУчетаОСБУ.ОсновноеСредство,
| ПорядокУчетаОСБУ.Организация,
| ПорядокУчетаОСБУ.СостояниеБУ,
| ПорядокУчетаОСБУ.НачислятьАмортизациюБУ,
| ПорядокУчетаОСБУ.СпособОтраженияАмортизацииБУ,
| ПорядокУчетаОСБУ.СтатьяРасходовБУ,
| ПорядокУчетаОСБУ.АналитикаРасходовБУ,
| ПорядокУчетаОСБУ.ПодразделениеБУ,
| ПорядокУчетаОСБУ.НаправлениеДеятельностиБУ,
| ПорядокУчетаОСБУ.ПередаватьРасходыВДругуюОрганизацию,
| ПорядокУчетаОСБУ.ОрганизацияПолучательРасходов
|ИЗ
| РегистрСведений.ПорядокУчетаОСБУ КАК ПорядокУчетаОСБУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОбъектовУчета_Доначисление_БУ_МУ КАК Доначисление
| ПО ПорядокУчетаОСБУ.ОсновноеСредство = Доначисление.ОсновноеСредство
|
|ГДЕ
| &ЭтоМеждународнаяВерсия
| И ПорядокУчетаОСБУ.Активность
| И ПорядокУчетаОСБУ.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПорядокУчетаОСБУ.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И ПорядокУчетаОСБУ.Период >= Доначисление.Период
|
| И НЕ ПорядокУчетаОСБУ.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПорядокУчетаОСБУ.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПорядокУчетаОСБУ.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ПервоначальныеСведенияОС.Период КАК Период,
| ПервоначальныеСведенияОС.МоментВремени,
| ПервоначальныеСведенияОС.Регистратор,
| ПервоначальныеСведенияОС.ОсновноеСредство,
| ПервоначальныеСведенияОС.Организация,
| ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ
|
|ПОМЕСТИТЬ ПервоначальныеСведенияОС_ИзмененияБУ_МУ
|
|ИЗ
| РегистрСведений.ПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
|
|ГДЕ
| &ЭтоМеждународнаяВерсия
| И ПервоначальныеСведенияОС.Активность
| И ПервоначальныеСведенияОС.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПервоначальныеСведенияОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
|
| И НЕ ПервоначальныеСведенияОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПервоначальныеСведенияОС.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПервоначальныеСведенияОС.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|
|
| И ПервоначальныеСведенияОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| ПервоначальныеСведенияОС.Период КАК Период,
| ПервоначальныеСведенияОС.МоментВремени,
| ПервоначальныеСведенияОС.Регистратор,
| ПервоначальныеСведенияОС.ОсновноеСредство,
| ПервоначальныеСведенияОС.Организация,
| ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ
|ИЗ
| РегистрСведений.ПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОбъектовУчета_Доначисление_БУ_МУ КАК Доначисление
| ПО ПервоначальныеСведенияОС.ОсновноеСредство = Доначисление.ОсновноеСредство
|
|ГДЕ
| &ЭтоМеждународнаяВерсия
| И ПервоначальныеСведенияОС.Активность
| И ПервоначальныеСведенияОС.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ПервоначальныеСведенияОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И ПервоначальныеСведенияОС.Период >= Доначисление.Период
|
| И НЕ ПервоначальныеСведенияОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ПервоначальныеСведенияОС.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ПервоначальныеСведенияОС.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| МестонахождениеОС.Период КАК Период,
| МестонахождениеОС.МоментВремени,
| МестонахождениеОС.Регистратор,
| МестонахождениеОС.ОсновноеСредство,
| МестонахождениеОС.Организация,
| МестонахождениеОС.Местонахождение
|
|ПОМЕСТИТЬ МестонахождениеОС_ИзмененияБУ_МУ
|
|ИЗ
| РегистрСведений.МестонахождениеОС КАК МестонахождениеОС
|
|ГДЕ
| МестонахождениеОС.Активность
| И МестонахождениеОС.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И МестонахождениеОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
|
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
|
| И МестонахождениеОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &НачалоПредыдущегоМесяца КАК НачалоМесяца,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| МестонахождениеОС.Период КАК Период,
| МестонахождениеОС.МоментВремени,
| МестонахождениеОС.Регистратор,
| МестонахождениеОС.ОсновноеСредство,
| МестонахождениеОС.Организация,
| МестонахождениеОС.Местонахождение
|ИЗ
| РегистрСведений.МестонахождениеОС КАК МестонахождениеОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОбъектовУчета_Доначисление_БУ_МУ КАК Доначисление
| ПО МестонахождениеОС.ОсновноеСредство = Доначисление.ОсновноеСредство
|
|ГДЕ
| МестонахождениеОС.Активность
| И МестонахождениеОС.ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И МестонахождениеОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И МестонахождениеОС.Период >= Доначисление.Период
|
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации
| И НЕ МестонахождениеОС.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ИзменениеСтоимости
ТекстЗапроса =
"ВЫБРАТЬ
| СтоимостьОС.НачалоМесяца КАК НачалоМесяца,
| СтоимостьОС.ПериодПараметров КАК ПериодПараметров,
| СтоимостьОС.Период КАК Период,
| СтоимостьОС.Регистратор КАК Регистратор,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
| СтоимостьОС.Организация КАК Организация,
| СУММА(СтоимостьОС.СтоимостьРегл) КАК СтоимостьРегл
|
|ПОМЕСТИТЬ СтоимостьОС_ИзмененияБУ_МУ
|
|ИЗ
| (ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| СтоимостьОС.Период КАК Период,
| СтоимостьОС.Регистратор КАК Регистратор,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
| СтоимостьОС.Организация КАК Организация,
| СтоимостьОС.ПредварительнаяСтоимостьРегл КАК СтоимостьРегл
| ИЗ
| РегистрНакопления.СтоимостьОС КАК СтоимостьОС
| ГДЕ
| &ЭтоМеждународнаяВерсия
| И СтоимостьОС.Активность
| И СтоимостьОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
| И СтоимостьОС.ОтражатьВРеглУчете
| И СтоимостьОС.Регистратор ССЫЛКА Документ.МодернизацияОС2_4
|
| И СтоимостьОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| СписаниеОС2_4.Дата,
| СписаниеОС2_4.Ссылка,
| ТаблицаОС.ОсновноеСредство,
| СписаниеОС2_4.Организация,
| -ТаблицаОС.СуммаСписанияБУ
| ИЗ
| Документ.СписаниеОС2_4 КАК СписаниеОС2_4
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СписаниеОС2_4.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = СписаниеОС2_4.Ссылка)
| ГДЕ
| &ЭтоМеждународнаяВерсия
| И СписаниеОС2_4.Проведен
| И СписаниеОС2_4.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И СписаниеОС2_4.ОтражатьВРеглУчете
| И СписаниеОС2_4.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеОСЧастичное)
| И ТаблицаОС.СуммаСписанияУУ <> 0
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ДанныеДокумента.Дата,
| ДанныеДокумента.Ссылка,
| ДанныеДокумента.ОсновноеСредство,
| ДанныеДокумента.Организация,
| -СУММА(ТаблицаОС.СтоимостьБУ)
| ИЗ
| Документ.РазукомплектацияОС КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РазукомплектацияОС.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка)
| ГДЕ
| &ЭтоМеждународнаяВерсия
| И ДанныеДокумента.Проведен
| И ДанныеДокумента.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ДанныеДокумента.ОтражатьВРеглУчете
|
| И ДанныеДокумента.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации))
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Дата,
| ДанныеДокумента.Ссылка,
| ДанныеДокумента.ОсновноеСредство,
| ДанныеДокумента.Организация
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ПереоценкаОС.Дата,
| ПереоценкаОС.Ссылка,
| ТаблицаОС.ОсновноеСредство,
| ПереоценкаОС.Организация,
| ТаблицаОС.СтоимостьБУ
| ИЗ
| Документ.ПереоценкаОС2_4 КАК ПереоценкаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПереоценкаОС2_4.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = ПереоценкаОС.Ссылка)
| ГДЕ
| &ЭтоМеждународнаяВерсия
| И ПереоценкаОС.Проведен
| И ПереоценкаОС.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ПереоценкаОС.ОтражатьВРеглУчете
| И ТаблицаОС.СтоимостьУУ <> 0
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| Корректировка.Дата,
| Корректировка.Ссылка,
| ТаблицаОС.ОсновноеСредство,
| Корректировка.Организация,
| ТаблицаОС.СтоимостьБУ
| ИЗ
| Документ.КорректировкаСтоимостиИАмортизацииОС КАК Корректировка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаСтоимостиИАмортизацииОС.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = Корректировка.Ссылка)
| ГДЕ
| &ЭтоМеждународнаяВерсия
| И Корректировка.Проведен
| И Корректировка.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И Корректировка.ОтражатьВБУ
| И ТаблицаОС.СтоимостьУУ <> 0
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоПредыдущегоМесяца,
| &КонецПозапрошлогоМесяца КАК ПериодПараметров,
| СтоимостьОС.Период,
| СтоимостьОС.Регистратор,
| СтоимостьОС.ОсновноеСредство,
| СтоимостьОС.Организация,
| СтоимостьОС.СтоимостьРегл - СтоимостьОС.ПредварительнаяСтоимостьРегл
| ИЗ
| РегистрНакопления.СтоимостьОС КАК СтоимостьОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОбъектовУчета_Доначисление_УУ КАК Доначисление
| ПО СтоимостьОС.ОсновноеСредство = Доначисление.ОсновноеСредство
|
| ГДЕ
| &ЭтоМеждународнаяВерсия
| И СтоимостьОС.Активность
| И СтоимостьОС.Период МЕЖДУ &НачалоПредыдущегоМесяца И &КонецПредыдущегоМесяца
| И СтоимостьОС.Период >= Доначисление.Период
|
| И СтоимостьОС.Регистратор ССЫЛКА Документ.МодернизацияОС2_4
|
| И СтоимостьОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоПредыдущегоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| СтоимостьОС.Период,
| СтоимостьОС.Регистратор,
| СтоимостьОС.ОсновноеСредство,
| СтоимостьОС.Организация,
| СтоимостьОС.СтоимостьРегл
| ИЗ
| РегистрНакопления.СтоимостьОС КАК СтоимостьОС
|
| ГДЕ
| &ЭтоМеждународнаяВерсия
| И СтоимостьОС.Активность
| И СтоимостьОС.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
| И СтоимостьОС.Регистратор ССЫЛКА Документ.НачислениеСписаниеРезервовПредстоящихРасходов
| И СтоимостьОС.СтоимостьРегл <> 0
|
| И (СтоимостьОС.Организация, СтоимостьОС.ОсновноеСредство) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| ИнвестицииВАренду.Период,
| ИнвестицииВАренду.Ссылка,
| ИнвестицииВАренду.ОсновноеСредство,
| ИнвестицииВАренду.Организация,
| ИнвестицииВАренду.СтоимостьРегл
| ИЗ
| ИнвестицииВАренду КАК ИнвестицииВАренду
| ГДЕ
| ИнвестицииВАренду.ОтражатьВРеглУчете
| И ИнвестицииВАренду.СтоимостьРегл <> 0
|
| И ИнвестицииВАренду.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|
| ) КАК СтоимостьОС
|
|СГРУППИРОВАТЬ ПО
| СтоимостьОС.НачалоМесяца,
| СтоимостьОС.ПериодПараметров,
| СтоимостьОС.Период,
| СтоимостьОС.Регистратор,
| СтоимостьОС.ОсновноеСредство,
| СтоимостьОС.Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ИзменениеАмортизации
ТекстЗапроса =
"ВЫБРАТЬ
| &НачалоМесяца КАК НачалоМесяца,
| &КонецПредыдущегоМесяца КАК ПериодПараметров,
| Корректировка.Дата КАК Период,
| Корректировка.Ссылка КАК Регистратор,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| Корректировка.Организация КАК Организация,
| ТаблицаОС.АмортизацияБУ КАК АмортизацияРегл
|
|ПОМЕСТИТЬ АмортизацияОС_ИзмененияБУ_МУ
|
|ИЗ
| Документ.КорректировкаСтоимостиИАмортизацииОС КАК Корректировка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаСтоимостиИАмортизацииОС.ОС КАК ТаблицаОС
| ПО (ТаблицаОС.Ссылка = Корректировка.Ссылка)
|
|ГДЕ
| Корректировка.Проведен
| И Корректировка.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И Корректировка.ОтражатьВБУ
| И ТаблицаОС.АмортизацияБУ <> 0
|
| И ТаблицаОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ГДЕ
| СписокОС.НачалоМесяца = &НачалоМесяца
| И СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету)
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ОбъединениеВсехИзменений
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца КАК НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров КАК ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| МАКСИМУМ(ТаблицаИзменений.Период) КАК Период,
| МАКСИМУМ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ТаблицаИзменений.Период, МЕСЯЦ, 1), МЕСЯЦ)) КАК НачалоСледующегоМесяца,
| ТаблицаИзменений.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаИзменений.Организация КАК Организация,
| МАКСИМУМ(ПараметрыАмортизацииОСБУПоследнее.Период) КАК ПараметрыАмортизацииОСБУПоследнееПериод,
| МАКСИМУМ(ПорядокУчетаОСИзмененияПоследнее.Период) КАК ПорядокУчетаОСИзмененияПоследнееПериод,
| МАКСИМУМ(ПорядокУчетаОСБУИзмененияПоследнее.Период) КАК ПорядокУчетаОСБУИзмененияПоследнееПериод,
| МАКСИМУМ(МестонахождениеОСИзмененияПоследнее.Период) КАК МестонахождениеОСИзмененияПоследнееПериод,
| МАКСИМУМ(ПервоначальныеСведенияОСИзмененияПоследнее.Период) КАК ПервоначальныеСведенияОСИзмененияПоследнееПериод
|
|ПОМЕСТИТЬ ТаблицаИзмененийБУ_МУ
|
|ИЗ
| (ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца КАК НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров КАК ПериодПараметров,
| ТаблицаИзменений.Регистратор КАК Регистратор,
| ТаблицаИзменений.Период КАК Период,
| ТаблицаИзменений.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаИзменений.Организация КАК Организация
| ИЗ
| ПараметрыАмортизацииОСБУ_МУ_Изменения КАК ТаблицаИзменений
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров КАК ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Период,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.Организация
| ИЗ
| ПорядокУчетаОС_ИзмененияБУ_МУ КАК ТаблицаИзменений
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров КАК ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Период,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.Организация
| ИЗ
| ПорядокУчетаОСБУ_МУ_Изменения КАК ТаблицаИзменений
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров КАК ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Период,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.Организация
| ИЗ
| МестонахождениеОС_ИзмененияБУ_МУ КАК ТаблицаИзменений
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров КАК ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Период,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.Организация
| ИЗ
| ПервоначальныеСведенияОС_ИзмененияБУ_МУ КАК ТаблицаИзменений
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров КАК ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Период,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.Организация
| ИЗ
| СтоимостьОС_ИзмененияБУ_МУ КАК ТаблицаИзменений
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров КАК ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Период,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.Организация
| ИЗ
| АмортизацияОС_ИзмененияБУ_МУ КАК ТаблицаИзменений
|
| ) КАК ТаблицаИзменений
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСБУ_МУ_Изменения КАК ПараметрыАмортизацииОСБУПоследнее
| ПО (ПараметрыАмортизацииОСБУПоследнее.Организация = ТаблицаИзменений.Организация)
| И (ПараметрыАмортизацииОСБУПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПараметрыАмортизацииОСБУПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПараметрыАмортизацииОСБУПоследнее.Период <= ТаблицаИзменений.Период)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС_ИзмененияУУ КАК ПорядокУчетаОСИзмененияПоследнее
| ПО (ПорядокУчетаОСИзмененияПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПорядокУчетаОСИзмененияПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПорядокУчетаОСИзмененияПоследнее.Период <= ТаблицаИзменений.Период)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСБУ_МУ_Изменения КАК ПорядокУчетаОСБУИзмененияПоследнее
| ПО (ПорядокУчетаОСБУИзмененияПоследнее.Организация = ТаблицаИзменений.Организация)
| И (ПорядокУчетаОСБУИзмененияПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПорядокУчетаОСБУИзмененияПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПорядокУчетаОСБУИзмененияПоследнее.Период <= ТаблицаИзменений.Период)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС_ИзмененияБУ_МУ КАК ПервоначальныеСведенияОСИзмененияПоследнее
| ПО (ПервоначальныеСведенияОСИзмененияПоследнее.Организация = ТаблицаИзменений.Организация)
| И (ПервоначальныеСведенияОСИзмененияПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПервоначальныеСведенияОСИзмененияПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПервоначальныеСведенияОСИзмененияПоследнее.Период <= ТаблицаИзменений.Период)
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_ИзмененияУУ КАК МестонахождениеОСИзмененияПоследнее
| ПО (МестонахождениеОСИзмененияПоследнее.Организация = ТаблицаИзменений.Организация)
| И (МестонахождениеОСИзмененияПоследнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (МестонахождениеОСИзмененияПоследнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (МестонахождениеОСИзмененияПоследнее.Период <= ТаблицаИзменений.Период)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.ПериодПараметров,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Организация,
| ТаблицаИзменений.ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ТаблицаИзменений.Организация,
| ТаблицаИзменений.ОсновноеСредство,
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.Регистратор,
| МИНИМУМ(ТаблицаИзмененийСледующее.Период) КАК ПериодСледующее
|
|ПОМЕСТИТЬ ТаблицаИзмененийСледующееБУ_МУ
|
|ИЗ
| ТаблицаИзмененийБУ_МУ КАК ТаблицаИзменений
|
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаИзмененийБУ_МУ КАК ТаблицаИзмененийСледующее
| ПО (ТаблицаИзмененийСледующее.Организация = ТаблицаИзменений.Организация)
| И (ТаблицаИзмененийСледующее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ТаблицаИзмененийСледующее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ТаблицаИзмененийСледующее.Период > ТаблицаИзменений.Период
| ИЛИ ТаблицаИзмененийСледующее.Период = ТаблицаИзменений.Период
| И ТаблицаИзмененийСледующее.Регистратор > ТаблицаИзменений.Регистратор)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаИзменений.НачалоМесяца,
| ТаблицаИзменений.Регистратор,
| ТаблицаИзменений.Организация,
| ТаблицаИзменений.ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ТаблицаИзменений.Организация,
| ТаблицаИзменений.ОсновноеСредство,
| МИНИМУМ(ТаблицаИзменений.Период) КАК ПериодСледующее
|
|ПОМЕСТИТЬ ТаблицаИзмененийВЭтомМесяцеБУ_МУ
|
|ИЗ
| ТаблицаИзмененийБУ_МУ КАК ТаблицаИзменений
|ГДЕ
| (ТаблицаИзменений.НачалоМесяца = &НачалоМесяца)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаИзменений.Организация,
| ТаблицаИзменений.ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область Изменения_БУ_МУ
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаИзменений.НачалоМесяца КАК НачалоМесяца,
| КОНЕЦПЕРИОДА(ТаблицаИзменений.НачалоМесяца, МЕСЯЦ) КАК КонецМесяца,
| КОНЕЦПЕРИОДА(ТаблицаИзменений.Период, ДЕНЬ) КАК ДатаИзменений,
| ТаблицаИзменений.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаИзменений.Организация КАК Организация,
| ТаблицаИзменений.Регистратор КАК Регистратор,
| ЕСТЬNULL(РеестрДокументов.ХозяйственнаяОперация, НЕОПРЕДЕЛЕНО) КАК ХозяйственнаяОперация,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.ДатаДокументаПринятияКУчету, МЕСЯЦ) = ТаблицаИзменений.НачалоМесяца
| И НЕ ДатыПоследнегоИзменения.РежимИсправленияСПрошлойДаты
| ТОГДА НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.ДатаДокументаПринятияКУчету, ДЕНЬ)
| ИНАЧЕ ТаблицаИзменений.ПериодПараметров
| КОНЕЦ КАК ПериодПараметров,
|
| (НЕ ОбъединениеОС.Ссылка ЕСТЬ NULL
| ИЛИ НЕ РазукомплектацияОС.Ссылка ЕСТЬ NULL) КАК ПолученПриРазукомплектацииОбъединении,
|
| ВЫБОР
| КОГДА ТаблицаИзменений.НачалоМесяца = &НачалоПредыдущегоМесяца
|
| ТОГДА ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ЕСТЬNULL(ТаблицаИзмененийВЭтомМесяце.ПериодСледующее, &КонецМесяца), ДЕНЬ) = &НачалоМесяца
| ТОГДА &НачалоМесяца
| ИНАЧЕ ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ТаблицаИзмененийВЭтомМесяце.ПериодСледующее, ДЕНЬ, -1), &КонецМесяца)
| КОНЕЦ
|
| КОГДА НАЧАЛОПЕРИОДА(ЕСТЬNULL(ТаблицаИзмененийСледующее.ПериодСледующее, &КонецМесяца), ДЕНЬ) = &НачалоМесяца
|
| ТОГДА &НачалоМесяца
|
| ИНАЧЕ ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ТаблицаИзмененийСледующее.ПериодСледующее, ДЕНЬ, -1), &КонецМесяца)
|
| КОНЕЦ КАК Период,
|
| РАЗНОСТЬДАТ(ТаблицаИзменений.Период, ЕСТЬNULL(ТаблицаИзмененийСледующее.ПериодСледующее, ТаблицаИзменений.НачалоСледующегоМесяца), ДЕНЬ) КАК СрокДействия,
|
| ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) КАК СтоимостьРеглИзменение,
|
| ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0) КАК АмортизацияРеглИзменение,
|
| ПараметрыАмортизацииОСБУ_Последнее.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ПараметрыАмортизацииОСБУ_Последнее.СрокПолезногоИспользованияБУ КАК СрокИспользования,
| ПараметрыАмортизацииОСБУ_Последнее.ОбъемНаработки КАК ОбъемНаработки,
| ПараметрыАмортизацииОСБУ_Последнее.КоэффициентУскорения КАК КоэффициентУскорения,
| ПервоначальныеСведенияОС_Последнее.МетодНачисленияАмортизацииБУ КАК МетодНачисленияАмортизации,
| ПараметрыАмортизацииОСБУ_Последнее.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ПорядокУчетаОС_Последнее.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ПорядокУчетаОС_Последнее.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ПорядокУчетаОС_Последнее.ПоказательНаработки КАК ПоказательНаработки,
| ПорядокУчетаОСБУ_Последнее.СостояниеБУ КАК Состояние,
| ПорядокУчетаОСБУ_Последнее.НачислятьАмортизациюБУ КАК НачислятьАмортизацию,
|
| ВЫБОР
| КОГДА ВЫРАЗИТЬ(ТаблицаИзменений.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).ТипОС = ЗНАЧЕНИЕ(Перечисление.ТипыОС.ГрупповоеОС)
| И ЕСТЬNULL(ПорядокУчетаОСБУ_Последнее.СпособОтраженияАмортизацииБУ, НЕОПРЕДЕЛЕНО) В (&ПустыеСпособыОтраженияАмортизации)
| ТОГДА ТаблицаИзменений.ОсновноеСредство
| ИНАЧЕ ПорядокУчетаОСБУ_Последнее.СпособОтраженияАмортизацииБУ
| КОНЕЦ КАК СпособОтраженияАмортизации,
|
| ПорядокУчетаОСБУ_Последнее.СтатьяРасходовБУ КАК СтатьяРасходов,
| ПорядокУчетаОСБУ_Последнее.АналитикаРасходовБУ КАК АналитикаРасходов,
| ПорядокУчетаОСБУ_Последнее.ПодразделениеБУ КАК ПодразделениеРасходов,
| ПорядокУчетаОСБУ_Последнее.НаправлениеДеятельностиБУ КАК НаправлениеДеятельностиРасходов,
| ПорядокУчетаОСБУ_Последнее.ПередаватьРасходыВДругуюОрганизацию,
| ПорядокУчетаОСБУ_Последнее.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| МестонахождениеОС_Последнее.Местонахождение КАК Местонахождение
|
|ПОМЕСТИТЬ Изменения_БУ_МУ
|
|ИЗ
| ТаблицаИзмененийБУ_МУ КАК ТаблицаИзменений
|
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаИзмененийСледующееБУ_МУ КАК ТаблицаИзмененийСледующее
| ПО (ТаблицаИзмененийСледующее.Организация = ТаблицаИзменений.Организация)
| И (ТаблицаИзмененийСледующее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ТаблицаИзмененийСледующее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ТаблицаИзмененийСледующее.Регистратор = ТаблицаИзменений.Регистратор)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаИзмененийВЭтомМесяцеБУ_МУ КАК ТаблицаИзмененийВЭтомМесяце
| ПО (ТаблицаИзмененийВЭтомМесяце.Организация = ТаблицаИзменений.Организация)
| И (ТаблицаИзмененийВЭтомМесяце.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДатыПоследнегоИзмененияБУ_МУ КАК ДатыПоследнегоИзменения
| ПО (ДатыПоследнегоИзменения.Организация = ТаблицаИзменений.Организация)
| И (ДатыПоследнегоИзменения.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ДатыПоследнегоИзменения.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС_ИзмененияУУ КАК ПорядокУчетаОС_Последнее
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС_ИзмененияУУ КАК ПорядокУчетаОС_Следующее
| ПО (ПорядокУчетаОС_Следующее.Организация = ПорядокУчетаОС_Последнее.Организация)
| И (ПорядокУчетаОС_Следующее.ОсновноеСредство = ПорядокУчетаОС_Последнее.ОсновноеСредство)
| И (ПорядокУчетаОС_Следующее.НачалоМесяца = ПорядокУчетаОС_Последнее.НачалоМесяца)
| И (ПорядокУчетаОС_Следующее.Период = ПорядокУчетаОС_Последнее.Период)
| И (ПорядокУчетаОС_Следующее.МоментВремени > ПорядокУчетаОС_Последнее.МоментВремени)
| ПО (ПорядокУчетаОС_Последнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПорядокУчетаОС_Последнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПорядокУчетаОС_Последнее.Период = ТаблицаИзменений.ПорядокУчетаОСИзмененияПоследнееПериод)
| И (ПорядокУчетаОС_Следующее.Регистратор ЕСТЬ NULL)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСБУ_МУ_Изменения КАК ПараметрыАмортизацииОСБУ_Последнее
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСБУ_МУ_Изменения КАК ПараметрыАмортизацииОСБУ_Следующее
| ПО (ПараметрыАмортизацииОСБУ_Следующее.Организация = ПараметрыАмортизацииОСБУ_Последнее.Организация)
| И (ПараметрыАмортизацииОСБУ_Следующее.ОсновноеСредство = ПараметрыАмортизацииОСБУ_Последнее.ОсновноеСредство)
| И (ПараметрыАмортизацииОСБУ_Следующее.НачалоМесяца = ПараметрыАмортизацииОСБУ_Последнее.НачалоМесяца)
| И (ПараметрыАмортизацииОСБУ_Следующее.Период = ПараметрыАмортизацииОСБУ_Последнее.Период)
| И (ПараметрыАмортизацииОСБУ_Следующее.МоментВремени > ПараметрыАмортизацииОСБУ_Последнее.МоментВремени)
| ПО (ПараметрыАмортизацииОСБУ_Последнее.Организация = ТаблицаИзменений.Организация)
| И (ПараметрыАмортизацииОСБУ_Последнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПараметрыАмортизацииОСБУ_Последнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПараметрыАмортизацииОСБУ_Последнее.Период = ТаблицаИзменений.ПараметрыАмортизацииОСБУПоследнееПериод)
| И (ПараметрыАмортизацииОСБУ_Следующее.Регистратор ЕСТЬ NULL)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСБУ_МУ_Изменения КАК ПорядокУчетаОСБУ_Последнее
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСБУ_МУ_Изменения КАК ПорядокУчетаОСБУ_Следующее
| ПО (ПорядокУчетаОСБУ_Следующее.Организация = ПорядокУчетаОСБУ_Последнее.Организация)
| И (ПорядокУчетаОСБУ_Следующее.ОсновноеСредство = ПорядокУчетаОСБУ_Последнее.ОсновноеСредство)
| И (ПорядокУчетаОСБУ_Следующее.НачалоМесяца = ПорядокУчетаОСБУ_Последнее.НачалоМесяца)
| И (ПорядокУчетаОСБУ_Следующее.Период = ПорядокУчетаОСБУ_Последнее.Период)
| И (ПорядокУчетаОСБУ_Следующее.МоментВремени > ПорядокУчетаОСБУ_Последнее.МоментВремени)
| ПО (ПорядокУчетаОСБУ_Последнее.Организация = ТаблицаИзменений.Организация)
| И (ПорядокУчетаОСБУ_Последнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПорядокУчетаОСБУ_Последнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПорядокУчетаОСБУ_Последнее.Период = ТаблицаИзменений.ПорядокУчетаОСБУИзмененияПоследнееПериод)
| И (ПорядокУчетаОСБУ_Следующее.Регистратор ЕСТЬ NULL)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС_ИзмененияБУ_МУ КАК ПервоначальныеСведенияОС_Последнее
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС_ИзмененияБУ_МУ КАК ПервоначальныеСведенияОС_Следующее
| ПО (ПервоначальныеСведенияОС_Следующее.Организация = ПервоначальныеСведенияОС_Последнее.Организация)
| И (ПервоначальныеСведенияОС_Следующее.ОсновноеСредство = ПервоначальныеСведенияОС_Последнее.ОсновноеСредство)
| И (ПервоначальныеСведенияОС_Следующее.НачалоМесяца = ПервоначальныеСведенияОС_Последнее.НачалоМесяца)
| И (ПервоначальныеСведенияОС_Следующее.Период = ПервоначальныеСведенияОС_Последнее.Период)
| И (ПервоначальныеСведенияОС_Следующее.МоментВремени > ПервоначальныеСведенияОС_Последнее.МоментВремени)
| ПО (ПервоначальныеСведенияОС_Последнее.Организация = ТаблицаИзменений.Организация)
| И (ПервоначальныеСведенияОС_Последнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (ПервоначальныеСведенияОС_Последнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (ПервоначальныеСведенияОС_Последнее.Период = ТаблицаИзменений.ПорядокУчетаОСБУИзмененияПоследнееПериод)
| И (ПервоначальныеСведенияОС_Следующее.Регистратор ЕСТЬ NULL)
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_ИзмененияУУ КАК МестонахождениеОС_Последнее
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_ИзмененияУУ КАК МестонахождениеОС_Следующее
| ПО (МестонахождениеОС_Следующее.Организация = МестонахождениеОС_Последнее.Организация)
| И (МестонахождениеОС_Следующее.ОсновноеСредство = МестонахождениеОС_Последнее.ОсновноеСредство)
| И (МестонахождениеОС_Следующее.НачалоМесяца = МестонахождениеОС_Последнее.НачалоМесяца)
| И (МестонахождениеОС_Следующее.Период = МестонахождениеОС_Последнее.Период)
| И (МестонахождениеОС_Следующее.МоментВремени > МестонахождениеОС_Последнее.МоментВремени)
| ПО (МестонахождениеОС_Последнее.Организация = ТаблицаИзменений.Организация)
| И (МестонахождениеОС_Последнее.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (МестонахождениеОС_Последнее.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (МестонахождениеОС_Последнее.Период = ТаблицаИзменений.МестонахождениеОСИзмененияПоследнееПериод)
| И (МестонахождениеОС_Следующее.Регистратор ЕСТЬ NULL)
|
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОС_ИзмененияБУ_МУ КАК СтоимостьОС
| ПО (СтоимостьОС.Организация = ТаблицаИзменений.Организация)
| И (СтоимостьОС.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (СтоимостьОС.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (СтоимостьОС.Регистратор = ТаблицаИзменений.Регистратор)
|
| ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияОС_ИзмененияБУ_МУ КАК АмортизацияОС
| ПО (АмортизацияОС.Организация = ТаблицаИзменений.Организация)
| И (АмортизацияОС.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
| И (АмортизацияОС.НачалоМесяца = ТаблицаИзменений.НачалоМесяца)
| И (АмортизацияОС.Регистратор = ТаблицаИзменений.Регистратор)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОбъединениеОС КАК ОбъединениеОС
| ПО (ОбъединениеОС.Ссылка = ТаблицаИзменений.Регистратор)
| И (ОбъединениеОС.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РазукомплектацияОС.ОС КАК РазукомплектацияОС
| ПО (РазукомплектацияОС.Ссылка = ТаблицаИзменений.Регистратор)
| И (РазукомплектацияОС.ОсновноеСредство = ТаблицаИзменений.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеестрДокументов КАК РеестрДокументов
| ПО (РеестрДокументов.Ссылка = ТаблицаИзменений.Регистратор)
| И (НЕ РеестрДокументов.ДополнительнаяЗапись)
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#КонецОбласти
#Область ПериодИзменения_УУ
ТекстЗапроса =
"ВЫБРАТЬ
| Изменения_УУ.НачалоМесяца КАК НачалоМесяца,
| Изменения_УУ.ОсновноеСредство КАК ОсновноеСредство,
| Изменения_УУ.Организация КАК Организация,
| МИНИМУМ(Изменения_УУ.ДатаИзменений) КАК Период
|ПОМЕСТИТЬ ПериодИзменения_УУ
|ИЗ
| Изменения_УУ КАК Изменения_УУ
|
|СГРУППИРОВАТЬ ПО
| Изменения_УУ.НачалоМесяца,
| Изменения_УУ.ОсновноеСредство,
| Изменения_УУ.Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПериодИзменения_БУ_МУ
ТекстЗапроса =
"ВЫБРАТЬ
| Изменения_БУ_МУ.НачалоМесяца КАК НачалоМесяца,
| Изменения_БУ_МУ.ОсновноеСредство КАК ОсновноеСредство,
| Изменения_БУ_МУ.Организация КАК Организация,
| МИНИМУМ(Изменения_БУ_МУ.ДатаИзменений) КАК Период
|ПОМЕСТИТЬ ПериодИзменения_БУ_МУ
|ИЗ
| Изменения_БУ_МУ КАК Изменения_БУ_МУ
|
|СГРУППИРОВАТЬ ПО
| Изменения_БУ_МУ.НачалоМесяца,
| Изменения_БУ_МУ.ОсновноеСредство,
| Изменения_БУ_МУ.Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СписокОССПараметрами_УУ
ТекстЗапроса =
"ВЫБРАТЬ
| ВЫБОР
| КОГДА ПериодИзмененияВТекущемМесяце.Период ЕСТЬ NULL
| ТОГДА СписокОС.ПериодНачисления
| КОГДА НАЧАЛОПЕРИОДА(ПериодИзмененияВТекущемМесяце.Период, ДЕНЬ) = НАЧАЛОПЕРИОДА(ПериодИзмененияВТекущемМесяце.Период, МЕСЯЦ)
| ТОГДА ПериодИзмененияВТекущемМесяце.Период
| ИНАЧЕ ДОБАВИТЬКДАТЕ(ПериодИзмененияВТекущемМесяце.Период, ДЕНЬ, -1)
| КОНЕЦ КАК Период,
|
| СписокОС.ЭтоДоначисление КАК ЭтоДоначисление,
| СписокОС.АмортизацияНачисляетсяПоСтандартамМУ КАК АмортизацияНачисляетсяПоСтандартамМУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ВЫБОР
| КОГДА СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СоСледующегоМесяца)
| КОНЕЦ КАК ПорядокНачисленияАмортизацииУУ,
|
| СписокОС.НачалоФинансовогоГода КАК НачалоФинансовогоГода,
| СписокОС.КонецФинансовогоГода КАК КонецФинансовогоГода,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.Организация КАК Организация,
|
| ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ПорядокУчетаОСНаНачалоМесяца.ГруппаФинансовогоУчета
| ИНАЧЕ ПорядокУчетаОС.ГруппаФинансовогоУчета
| КОНЕЦ КАК ГруппаФинансовогоУчета,
|
| ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ПорядокУчетаОСНаНачалоМесяца.НаправлениеДеятельности
| ИНАЧЕ ПорядокУчетаОС.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
|
| ПорядокУчетаОС.ПоказательНаработки КАК ПоказательНаработки,
| ПорядокУчетаОС.ОбъемНаработки КАК ОбъемНаработки,
|
| ВЫБОР
| КОГДА ПараметрыАмортизацииОСУУ.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ЕСТЬNULL(ПараметрыАмортизацииОСУУ.ОбъемПродукцииРаботДляВычисленияАмортизации, 0)
| ИНАЧЕ ЕСТЬNULL(ПараметрыАмортизацииОСУУ.СрокИспользованияДляВычисленияАмортизации, 0)
| КОНЕЦ КАК РесурсНазначенный,
|
| ВЫБОР
| КОГДА НЕ СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
|
| ТОГДА ПараметрыАмортизацииОСУУ.СтоимостьДляВычисленияАмортизации
|
| КОГДА ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковВнеоборотныхАктивов2_4)
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковУзловКомпонентовАмортизации)
| И (СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ИЛИ ДатыПоследнегоИзменения.РежимИсправленияСПрошлойДаты
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.ДатаДокументаПринятияКУчету, МЕСЯЦ) = СписокОС.НачалоМесяца)
|
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.Стоимость, 0) - ЕСТЬNULL(КорректировкаАмортизации.Амортизация, 0)
|
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.Стоимость, 0) - ЕСТЬNULL(АмортизацияОС.Амортизация, 0)
|
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА НЕ СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
|
| ТОГДА ПараметрыАмортизацииОСУУ.СтоимостьДляВычисленияАмортизацииРегл
|
| КОГДА ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковВнеоборотныхАктивов2_4)
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковУзловКомпонентовАмортизации)
| И (СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ИЛИ ДатыПоследнегоИзменения.РежимИсправленияСПрошлойДаты
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.ДатаДокументаПринятияКУчету, МЕСЯЦ) = СписокОС.НачалоМесяца)
|
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.СтоимостьРегл, 0) - ЕСТЬNULL(КорректировкаАмортизации.АмортизацияРегл, 0)
|
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) - ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0)
|
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизацииРегл,
|
| ЕСТЬNULL(СтоимостьОСНаНачалоГода.Стоимость, 0)
| - ЕСТЬNULL(АмортизацияОСНаНачалоГода.Амортизация, 0) КАК СтоимостьНаНачалоГода,
|
| ЕСТЬNULL(СтоимостьОСНаНачалоГода.СтоимостьРегл, 0)
| - ЕСТЬNULL(АмортизацияОСНаНачалоГода.АмортизацияРегл, 0) КАК СтоимостьРеглНаНачалоГода,
|
| ВЫБОР
| КОГДА ДатыПоследнегоИзменения.Дата = НАЧАЛОПЕРИОДА(ПериодИзменения_УУ.Период, ДЕНЬ)
| ТОГДА 0
|
| КОГДА ПараметрыАмортизацииОСУУ.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ВЫРАЗИТЬ(ВЫБОР
| КОГДА НЕ ПериодИзменения_УУ.Период ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ТОГДА (РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.Дата, ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ПериодИзменения_УУ.Период, ДЕНЬ, -1), СписокОС.КонецМесяца), ДЕНЬ) + 1)
| ИНАЧЕ (РАЗНОСТЬДАТ(СписокОС.НачалоМесяца, ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ПериодИзменения_УУ.Период, ДЕНЬ, -1), СписокОС.КонецМесяца), ДЕНЬ) + 1)
| КОНЕЦ / ДЕНЬ(СписокОС.КонецМесяца)
| ИНАЧЕ 1
| КОНЕЦ * ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаПрошлыйПериод, 0)
| КОГДА НЕ СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ, МЕСЯЦ) = &НачалоПредыдущегоМесяца
| ТОГДА ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаМесяц, 0) + ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаПрошлыйПериод, 0)
| ИНАЧЕ ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаМесяц, 0)
| КОНЕЦ КАК ЧИСЛО(20,8))
|
| КОГДА НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ТОГДА ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.Дата, ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ПериодИзменения_УУ.Период, ДЕНЬ, -1), СписокОС.КонецМесяца), ДЕНЬ) + 1)
| / ДЕНЬ(СписокОС.КонецМесяца) КАК ЧИСЛО(20,8))
|
| ИНАЧЕ ВЫРАЗИТЬ((РАЗНОСТЬДАТ(СписокОС.НачалоМесяца, ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ПериодИзменения_УУ.Период, ДЕНЬ, -1), СписокОС.КонецМесяца), ДЕНЬ) + 1)
| / ДЕНЬ(СписокОС.КонецМесяца) КАК ЧИСЛО(20,8))
|
| КОНЕЦ КАК РесурсВыработанныйЗаТекущийПериод,
|
| ВЫБОР
| КОГДА ПараметрыАмортизацииОСУУ.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
|
| ТОГДА ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ВЫРАЗИТЬ(0 КАК ЧИСЛО(20,8))
| КОГДА НЕ СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ, МЕСЯЦ) = &НачалоПредыдущегоМесяца
| ТОГДА ВЫРАЗИТЬ(0 КАК ЧИСЛО(20,8))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаПрошлыйПериод, 0)
| - ЕСТЬNULL(ВыработкаОС_НаДатуПоследнегоИзменения.ОбъемВыработки, 0) КАК ЧИСЛО(20,8))
| КОНЕЦ
|
| КОГДА НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ИЛИ ДатыПоследнегоИзменения.Дата ЕСТЬ NULL
|
| ТОГДА ВЫРАЗИТЬ(0 КАК ЧИСЛО(20,8))
|
| КОГДА КОНЕЦПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(СписокОС.НачалоМесяца, МЕСЯЦ, -1), МЕСЯЦ)
|
| ТОГДА ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.Дата, КОНЕЦПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ), ДЕНЬ) + 1)
| / ДЕНЬ(КОНЕЦПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ)) КАК ЧИСЛО(20,8))
| ИНАЧЕ
| ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.Дата, КОНЕЦПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ), ДЕНЬ) + 1)
| / ДЕНЬ(КОНЕЦПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ))
| + РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ДатыПоследнегоИзменения.Дата, МЕСЯЦ, 1), МЕСЯЦ), СписокОС.КонецМесяца, МЕСЯЦ) КАК ЧИСЛО(20,8))
|
| КОНЕЦ КАК РесурсВыработанныйЗаПрошлыйПериод,
|
| ВЫБОР
| КОГДА ДатыПоследнегоИзменения.Дата < СписокОС.НачалоФинансовогоГода
| ТОГДА
|
| РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ), ДатыПоследнегоИзменения.КонецФинансовогоГода, МЕСЯЦ) + 1
|
|
| + ВЫБОР
| КОГДА (ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.КонецФинансовогоГода, СписокОС.НачалоМесяца, МЕСЯЦ) - 1) / 12 КАК ЧИСЛО(10, 0))) > (РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.КонецФинансовогоГода, СписокОС.НачалоМесяца, МЕСЯЦ)-1) / 12
| ТОГДА (ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.КонецФинансовогоГода, СписокОС.НачалоМесяца, МЕСЯЦ) - 1) / 12 КАК ЧИСЛО(10, 0))) - 1
| ИНАЧЕ ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.КонецФинансовогоГода, СписокОС.НачалоМесяца, МЕСЯЦ) - 1) / 12 КАК ЧИСЛО(10, 0))
| КОНЕЦ * 12
|
| ИНАЧЕ 0
| КОНЕЦ КАК ОтработанныхМесяцевПолныхЛет,
|
| ЕСТЬNULL(ПорядокУчетаОСУУ.НачислятьАмортизацию, ЛОЖЬ) КАК НачислятьАмортизацию,
| ПорядокУчетаОСУУ.СтатьяРасходов КАК СтатьяРасходовУУ,
| ПорядокУчетаОСУУ.АналитикаРасходов КАК АналитикаРасходовУУ,
|
| ВЫБОР
| КОГДА ПорядокУчетаОСУУ.Подразделение <> ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА ПорядокУчетаОСУУ.Подразделение
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА МестонахождениеОСНаНачалоМесяца.Местонахождение
| ИНАЧЕ МестонахождениеОС.Местонахождение
| КОНЕЦ КАК ПодразделениеРасходов,
|
| ВЫБОР
| КОГДА ПорядокУчетаОСУУ.Подразделение <> ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА ПорядокУчетаОСУУ.НаправлениеДеятельности
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ПорядокУчетаОСНаНачалоМесяца.НаправлениеДеятельности
| ИНАЧЕ ПорядокУчетаОС.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиРасходов,
|
| ВЫБОР
| КОГДА ВЫРАЗИТЬ(СписокОС.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).ТипОС = ЗНАЧЕНИЕ(Перечисление.ТипыОС.ГрупповоеОС)
| И ПорядокУчетаОСУУ.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
| ТОГДА СписокОС.ОсновноеСредство
| ИНАЧЕ ПорядокУчетаОСУУ.СпособОтраженияАмортизации
| КОНЕЦ КАК СпособОтраженияАмортизацииУУ,
|
| ПорядокУчетаОСУУ.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизациюУУ,
| ПорядокУчетаОСУУ.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходовУУ,
|
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковВнеоборотныхАктивов2_4)
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковУзловКомпонентовАмортизации)
| И (СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ИЛИ ДатыПоследнегоИзменения.РежимИсправленияСПрошлойДаты
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.ДатаДокументаПринятияКУчету, МЕСЯЦ) = СписокОС.НачалоМесяца)
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.Стоимость, 0) - ЕСТЬNULL(КорректировкаАмортизации.Амортизация, 0)
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.Стоимость, 0) - ЕСТЬNULL(АмортизацияОС.Амортизация, 0)
| КОНЕЦ КАК ОстаточнаяСтоимость,
|
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковВнеоборотныхАктивов2_4)
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковУзловКомпонентовАмортизации)
| И (СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ИЛИ ДатыПоследнегоИзменения.РежимИсправленияСПрошлойДаты
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.ДатаДокументаПринятияКУчету, МЕСЯЦ) = СписокОС.НачалоМесяца)
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.СтоимостьРегл, 0) - ЕСТЬNULL(КорректировкаАмортизации.АмортизацияРегл, 0)
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) - ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0)
| КОНЕЦ КАК ОстаточнаяСтоимостьРегл,
|
| ЕСТЬNULL(ПараметрыАмортизацииОСУУ.ЛиквидационнаяСтоимость, 0) КАК ЛиквидационнаяСтоимость,
| ЕСТЬNULL(ПараметрыАмортизацииОСУУ.ЛиквидационнаяСтоимостьРегл, 0) КАК ЛиквидационнаяСтоимостьРегл,
|
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковВнеоборотныхАктивов2_4)
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковУзловКомпонентовАмортизации)
| И (СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ИЛИ ДатыПоследнегоИзменения.РежимИсправленияСПрошлойДаты
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.ДатаДокументаПринятияКУчету, МЕСЯЦ) = СписокОС.НачалоМесяца)
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.Стоимость, 0)
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.Стоимость, 0)
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковВнеоборотныхАктивов2_4)
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСУУ.Регистратор) <> ТИП(Документ.ВводОстатковУзловКомпонентовАмортизации)
| И (СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ИЛИ ДатыПоследнегоИзменения.РежимИсправленияСПрошлойДаты
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.ДатаДокументаПринятияКУчету, МЕСЯЦ) = СписокОС.НачалоМесяца)
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.СтоимостьРегл, 0)
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0)
| КОНЕЦ КАК СтоимостьРегл,
|
| ЕСТЬNULL(АмортизацияОС.Амортизация, 0) КАК Амортизация,
| ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0) КАК АмортизацияРегл,
|
| ЕСТЬNULL(ОбесценениеНаНачалоМесяца.ОстатокОбесцененияРегл, 0) КАК ОстатокОбесцененияРегл,
| ЕСТЬNULL(ОбесценениеНаНачалоМесяца.ОстатокОбесцененияУпр, 0) КАК ОстатокОбесцененияУпр,
|
| ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА МестонахождениеОСНаНачалоМесяца.Местонахождение
| ИНАЧЕ МестонахождениеОС.Местонахождение
| КОНЕЦ КАК Местонахождение,
|
| ПараметрыАмортизацииОСУУ.СрокИспользования КАК СрокИспользованияУУ,
| ПараметрыАмортизацииОСУУ.КоэффициентУскорения КАК КоэффициентУскорения,
| ПараметрыАмортизацииОСУУ.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| ДатыПоследнегоИзменения.Дата КАК ДатаПоследнегоИзменения
|
|ПОМЕСТИТЬ СписокОССПараметрами_УУ
|
|ИЗ
| СписокОбъектовУчета_УУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПериодИзменения_УУ КАК ПериодИзменения_УУ
| ПО (ПериодИзменения_УУ.Организация = СписокОС.Организация)
| И (ПериодИзменения_УУ.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПериодИзменения_УУ.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПериодИзменения_УУ КАК ПериодИзмененияВТекущемМесяце
| ПО (ПериодИзмененияВТекущемМесяце.Организация = СписокОС.Организация)
| И (ПериодИзмененияВТекущемМесяце.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПериодИзмененияВТекущемМесяце.НачалоМесяца = &НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДатыПоследнегоИзмененияУУ КАК ДатыПоследнегоИзменения
| ПО (ДатыПоследнегоИзменения.Организация = СписокОС.Организация)
| И (ДатыПоследнегоИзменения.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ДатыПоследнегоИзменения.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС КАК ПорядокУчетаОС
| ПО (ПорядокУчетаОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПорядокУчетаОС.НачалоМесяца = СписокОС.НачалоМесяца)
| И (ПорядокУчетаОС.ПериодПараметров = СписокОС.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС КАК ПорядокУчетаОСНаНачалоМесяца
| ПО (ПорядокУчетаОСНаНачалоМесяца.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПорядокУчетаОСНаНачалоМесяца.НачалоМесяца = &НачалоМесяца)
| И (ПорядокУчетаОСНаНачалоМесяца.ПериодПараметров = &КонецПредыдущегоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОС_НаНачалоМесяца КАК СтоимостьОС
| ПО (СтоимостьОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (СтоимостьОС.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОС_НаНачалоГода КАК СтоимостьОСНаНачалоГода
| ПО (СтоимостьОСНаНачалоГода.ОсновноеСредство = СписокОС.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияОС_НаНачалоГода КАК АмортизацияОСНаНачалоГода
| ПО (АмортизацияОСНаНачалоГода.ОсновноеСредство = СписокОС.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПредварительнаяСтоимостьОС КАК ПредварительнаяСтоимостьОС
| ПО (ПредварительнаяСтоимостьОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПредварительнаяСтоимостьОС.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ КорректировкаАмортизацииУУ КАК КорректировкаАмортизации
| ПО (КорректировкаАмортизации.Организация = СписокОС.Организация)
| И (КорректировкаАмортизации.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (КорректировкаАмортизации.НачалоМесяца = СписокОС.НачалоМесяца)
| И (ДатыПоследнегоИзменения.РежимИсправленияСПрошлойДаты)
|
| ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияОС_НаНачалоМесяца КАК АмортизацияОС
| ПО (АмортизацияОС.Организация = СписокОС.Организация)
| И (АмортизацияОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (АмортизацияОС.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ОбесценениеВНА КАК ОбесценениеНаНачалоМесяца
| ПО (ОбесценениеНаНачалоМесяца.Организация = СписокОС.Организация)
| И (ОбесценениеНаНачалоМесяца.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ОбесценениеНаНачалоМесяца.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС КАК МестонахождениеОС
| ПО (МестонахождениеОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (МестонахождениеОС.НачалоМесяца = СписокОС.НачалоМесяца)
| И (МестонахождениеОС.ПериодПараметров = СписокОС.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС КАК МестонахождениеОСНаНачалоМесяца
| ПО (МестонахождениеОСНаНачалоМесяца.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (МестонахождениеОСНаНачалоМесяца.НачалоМесяца = &НачалоМесяца)
| И (МестонахождениеОСНаНачалоМесяца.ПериодПараметров = &КонецПредыдущегоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
| ПО (ПервоначальныеСведенияОС.Организация = СписокОС.Организация)
| И (ПервоначальныеСведенияОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПервоначальныеСведенияОС.НачалоМесяца = СписокОС.НачалоМесяца)
| И (ПервоначальныеСведенияОС.ПериодПараметров = СписокОС.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСУУ КАК ПараметрыАмортизацииОСУУ
| ПО (ПараметрыАмортизацииОСУУ.Организация = СписокОС.Организация)
| И (ПараметрыАмортизацииОСУУ.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПараметрыАмортизацииОСУУ.НачалоМесяца = СписокОС.НачалоМесяца)
| И (ПараметрыАмортизацииОСУУ.ПериодПараметров = СписокОС.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСУУ КАК ПорядокУчетаОСУУ
| ПО (ПорядокУчетаОСУУ.Организация = СписокОС.Организация)
| И (ПорядокУчетаОСУУ.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПорядокУчетаОСУУ.НачалоМесяца = СписокОС.НачалоМесяца)
| И (ПорядокУчетаОСУУ.ПериодПараметров = СписокОС.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСУУ КАК ПорядокУчетаОСУУ_НаНачалоМесяца
| ПО (ПорядокУчетаОСУУ_НаНачалоМесяца.Организация = СписокОС.Организация)
| И (ПорядокУчетаОСУУ_НаНачалоМесяца.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПорядокУчетаОСУУ_НаНачалоМесяца.НачалоМесяца = &НачалоМесяца)
| И (ПорядокУчетаОСУУ_НаНачалоМесяца.ПериодПараметров = &КонецПредыдущегоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС КАК ВыработкаОС
| ПО (ВыработкаОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство)
| И (ВыработкаОС.ПоказательНаработки = ПорядокУчетаОС.ПоказательНаработки)
| И (ВыработкаОС.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС_НаДатуПоследнегоИзмененияУУ КАК ВыработкаОС_НаДатуПоследнегоИзменения
| ПО (ВыработкаОС_НаДатуПоследнегоИзменения.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство)
| И (ВыработкаОС_НаДатуПоследнегоИзменения.ПоказательНаработки = ПорядокУчетаОС.ПоказательНаработки)
|
|ГДЕ
| (НЕ СписокОС.ЭтоДоначисление
| ИЛИ СписокОС.НачалоМесяца = НАЧАЛОПЕРИОДА(ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ, МЕСЯЦ)
| И ЕСТЬNULL(ПорядокУчетаОСУУ_НаНачалоМесяца.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету)) = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету))
| И ЕСТЬNULL(ПорядокУчетаОСУУ.НачислятьАмортизацию, ЛОЖЬ)
| И НЕ СписокОС.ПолученПриРазукомплектацииОбъединении";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СписокОССПараметрами_БУ_МУ
ТекстЗапроса =
"ВЫБРАТЬ
| ВЫБОР
| КОГДА ПериодИзмененияВТекущемМесяце.Период ЕСТЬ NULL
| ТОГДА СписокОС.ПериодНачисления
| КОГДА НАЧАЛОПЕРИОДА(ПериодИзмененияВТекущемМесяце.Период, ДЕНЬ) = НАЧАЛОПЕРИОДА(ПериодИзмененияВТекущемМесяце.Период, МЕСЯЦ)
| ТОГДА ПериодИзмененияВТекущемМесяце.Период
| ИНАЧЕ ДОБАВИТЬКДАТЕ(ПериодИзмененияВТекущемМесяце.Период, ДЕНЬ, -1)
| КОНЕЦ КАК Период,
|
| СписокОС.ЭтоДоначисление КАК ЭтоДоначисление,
| ИСТИНА КАК АмортизацияНачисляетсяПоСтандартамМУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ВЫБОР
| КОГДА СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СоСледующегоМесяца)
| КОНЕЦ КАК ПорядокНачисленияАмортизацииБУ,
|
| СписокОС.НачалоФинансовогоГода КАК НачалоФинансовогоГода,
| СписокОС.КонецФинансовогоГода КАК КонецФинансовогоГода,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.Организация КАК Организация,
|
| ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ПорядокУчетаОСНаНачалоМесяца.ГруппаФинансовогоУчета
| ИНАЧЕ ПорядокУчетаОС.ГруппаФинансовогоУчета
| КОНЕЦ КАК ГруппаФинансовогоУчета,
|
| ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ПорядокУчетаОСНаНачалоМесяца.НаправлениеДеятельности
| ИНАЧЕ ПорядокУчетаОС.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
|
| ПорядокУчетаОС.ПоказательНаработки КАК ПоказательНаработки,
| ПорядокУчетаОС.ОбъемНаработки КАК ОбъемНаработки,
|
| ВЫБОР
| КОГДА ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ЕСТЬNULL(ПараметрыАмортизацииОСБУ.ОбъемПродукцииРаботДляВычисленияАмортизации, 0)
| ИНАЧЕ ЕСТЬNULL(ПараметрыАмортизацииОСБУ.СрокИспользованияДляВычисленияАмортизации, 0)
| КОНЕЦ КАК РесурсНазначенный,
|
| ВЫБОР
| КОГДА СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСБУ.Регистратор) <> ТИП(Документ.ВводОстатковВнеоборотныхАктивов2_4)
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСБУ.Регистратор) <> ТИП(Документ.ВводОстатковУзловКомпонентовАмортизации)
|
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.СтоимостьРегл, 0) - ЕСТЬNULL(КорректировкаАмортизации.АмортизацияРегл, 0)
|
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) - ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0)
|
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизацииРегл,
|
| ЕСТЬNULL(СтоимостьОСНаНачалоГода.СтоимостьРегл, 0)
| - ЕСТЬNULL(АмортизацияОСНаНачалоГода.АмортизацияРегл, 0) КАК СтоимостьРеглНаНачалоГода,
|
| ВЫБОР
| КОГДА ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ВЫРАЗИТЬ(ВЫБОР
| КОГДА НЕ ПериодИзменения_БУ_МУ.Период ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ТОГДА (РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.Дата, ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ПериодИзменения_БУ_МУ.Период, ДЕНЬ, -1), СписокОС.КонецМесяца), ДЕНЬ) + 1)
| ИНАЧЕ (РАЗНОСТЬДАТ(СписокОС.НачалоМесяца, ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ПериодИзменения_БУ_МУ.Период, ДЕНЬ, -1), СписокОС.КонецМесяца), ДЕНЬ) + 1)
| КОНЕЦ / ДЕНЬ(СписокОС.КонецМесяца)
| ИНАЧЕ 1
| КОНЕЦ * ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаПрошлыйПериод, 0)
| ИНАЧЕ ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаМесяц, 0)
| КОНЕЦ КАК ЧИСЛО(20,8))
|
| КОГДА НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ТОГДА ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.Дата, ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ПериодИзменения_БУ_МУ.Период, ДЕНЬ, -1), СписокОС.КонецМесяца), ДЕНЬ) + 1)
| / ДЕНЬ(СписокОС.КонецМесяца) КАК ЧИСЛО(20,8))
|
| ИНАЧЕ ВЫРАЗИТЬ((РАЗНОСТЬДАТ(СписокОС.НачалоМесяца, ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ПериодИзменения_БУ_МУ.Период, ДЕНЬ, -1), СписокОС.КонецМесяца), ДЕНЬ) + 1)
| / ДЕНЬ(СписокОС.КонецМесяца) КАК ЧИСЛО(20,8))
| КОНЕЦ КАК РесурсВыработанныйЗаТекущийПериод,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| ИЛИ ДатыПоследнегоИзменения.Дата ЕСТЬ NULL
|
| ТОГДА ВЫРАЗИТЬ(0 КАК ЧИСЛО(20,8))
|
| КОГДА ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
|
| ТОГДА ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ВЫРАЗИТЬ(0 КАК ЧИСЛО(20,8))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаПрошлыйПериод, 0)
| - ЕСТЬNULL(ВыработкаОС_НаДатуПоследнегоИзменения.ОбъемВыработки, 0) КАК ЧИСЛО(20,8))
| КОНЕЦ
|
| КОГДА КОНЕЦПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(СписокОС.НачалоМесяца, МЕСЯЦ, -1), МЕСЯЦ)
|
| ТОГДА ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.Дата, КОНЕЦПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ), ДЕНЬ) + 1)
| / ДЕНЬ(КОНЕЦПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ)) КАК ЧИСЛО(20,8))
| ИНАЧЕ
| ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.Дата, КОНЕЦПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ), ДЕНЬ) + 1)
| / ДЕНЬ(КОНЕЦПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ))
| + РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ДатыПоследнегоИзменения.Дата, МЕСЯЦ, 1), МЕСЯЦ), СписокОС.КонецМесяца, МЕСЯЦ) КАК ЧИСЛО(20,8))
|
| КОНЕЦ КАК РесурсВыработанныйЗаПрошлыйПериод,
|
| ВЫБОР
| КОГДА ДатыПоследнегоИзменения.Дата < СписокОС.НачалоФинансовогоГода
| ТОГДА
|
| РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ), ДатыПоследнегоИзменения.КонецФинансовогоГода, МЕСЯЦ) + 1
|
|
| + ВЫБОР
| КОГДА (ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.КонецФинансовогоГода, СписокОС.НачалоМесяца, МЕСЯЦ) - 1) / 12 КАК ЧИСЛО(10, 0))) > (РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.КонецФинансовогоГода, СписокОС.НачалоМесяца, МЕСЯЦ)-1) / 12
| ТОГДА (ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.КонецФинансовогоГода, СписокОС.НачалоМесяца, МЕСЯЦ) - 1) / 12 КАК ЧИСЛО(10, 0))) - 1
| ИНАЧЕ ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДатыПоследнегоИзменения.КонецФинансовогоГода, СписокОС.НачалоМесяца, МЕСЯЦ) - 1) / 12 КАК ЧИСЛО(10, 0))
| КОНЕЦ * 12
|
| ИНАЧЕ 0
| КОНЕЦ КАК ОтработанныхМесяцевПолныхЛет,
|
| ЕСТЬNULL(ПорядокУчетаОСБУ.НачислятьАмортизациюБУ, ЛОЖЬ) КАК НачислятьАмортизацию,
| ПорядокУчетаОСБУ.СтатьяРасходовБУ КАК СтатьяРасходов,
| ПорядокУчетаОСБУ.АналитикаРасходовБУ КАК АналитикаРасходов,
|
| ВЫБОР
| КОГДА ПорядокУчетаОСБУ.ПодразделениеБУ <> ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА ПорядокУчетаОСБУ.ПодразделениеБУ
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА МестонахождениеОСНаНачалоМесяца.Местонахождение
| ИНАЧЕ МестонахождениеОС.Местонахождение
| КОНЕЦ КАК ПодразделениеРасходов,
|
| ВЫБОР
| КОГДА ПорядокУчетаОСБУ.ПодразделениеБУ <> ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА ПорядокУчетаОСБУ.НаправлениеДеятельностиБУ
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ПорядокУчетаОСНаНачалоМесяца.НаправлениеДеятельности
| ИНАЧЕ ПорядокУчетаОС.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиРасходов,
|
| ВЫБОР
| КОГДА ВЫРАЗИТЬ(СписокОС.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).ТипОС = ЗНАЧЕНИЕ(Перечисление.ТипыОС.ГрупповоеОС)
| И ПорядокУчетаОСБУ.СпособОтраженияАмортизацииБУ В (&ПустыеСпособыОтраженияАмортизации)
| ТОГДА СписокОС.ОсновноеСредство
| ИНАЧЕ ПорядокУчетаОСБУ.СпособОтраженияАмортизацииБУ
| КОНЕЦ КАК СпособОтраженияАмортизации,
|
| ПорядокУчетаОСБУ.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| ПорядокУчетаОСБУ.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
|
| ВЫБОР
| КОГДА СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСБУ.Регистратор) <> ТИП(Документ.ВводОстатковВнеоборотныхАктивов2_4)
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСБУ.Регистратор) <> ТИП(Документ.ВводОстатковУзловКомпонентовАмортизации)
|
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.СтоимостьРегл, 0) - ЕСТЬNULL(КорректировкаАмортизации.АмортизацияРегл, 0)
|
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) - ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0)
|
| КОНЕЦ КАК ОстаточнаяСтоимостьРегл,
|
| ЕСТЬNULL(ПараметрыАмортизацииОСБУ.ЛиквидационнаяСтоимость, 0) КАК ЛиквидационнаяСтоимостьРегл,
|
| ВЫБОР
| КОГДА СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ДатыПоследнегоИзменения.Дата, МЕСЯЦ) = СписокОС.НачалоМесяца
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСБУ.Регистратор) <> ТИП(Документ.ВводОстатковВнеоборотныхАктивов2_4)
| И ТИПЗНАЧЕНИЯ(ПараметрыАмортизацииОСБУ.Регистратор) <> ТИП(Документ.ВводОстатковУзловКомпонентовАмортизации)
|
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.СтоимостьРегл, 0)
|
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0)
|
| КОНЕЦ КАК СтоимостьРегл,
|
| ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0) КАК АмортизацияРегл,
|
| ЕСТЬNULL(ОбесценениеНаНачалоМесяца.ОстатокОбесцененияРегл, 0) КАК ОстатокОбесцененияРегл,
|
| ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА МестонахождениеОСНаНачалоМесяца.Местонахождение
| ИНАЧЕ МестонахождениеОС.Местонахождение
| КОНЕЦ КАК Местонахождение,
|
| ПараметрыАмортизацииОСБУ.СрокПолезногоИспользованияБУ КАК СрокИспользования,
| ПараметрыАмортизацииОСБУ.КоэффициентУскорения КАК КоэффициентУскорения,
| ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ КАК МетодНачисленияАмортизации,
| ДатыПоследнегоИзменения.Дата КАК ДатаПоследнегоИзменения
|
|ПОМЕСТИТЬ СписокОССПараметрами_БУ_МУ
|
|ИЗ
| СписокОбъектовУчета_БУ_МУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПериодИзменения_БУ_МУ КАК ПериодИзменения_БУ_МУ
| ПО (ПериодИзменения_БУ_МУ.Организация = СписокОС.Организация)
| И (ПериодИзменения_БУ_МУ.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПериодИзменения_БУ_МУ.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПериодИзменения_БУ_МУ КАК ПериодИзмененияВТекущемМесяце
| ПО (ПериодИзмененияВТекущемМесяце.Организация = СписокОС.Организация)
| И (ПериодИзмененияВТекущемМесяце.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПериодИзмененияВТекущемМесяце.НачалоМесяца = &НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС КАК ПорядокУчетаОС
| ПО (ПорядокУчетаОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПорядокУчетаОС.НачалоМесяца = СписокОС.НачалоМесяца)
| И (ПорядокУчетаОС.ПериодПараметров = СписокОС.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС КАК ПорядокУчетаОСНаНачалоМесяца
| ПО (ПорядокУчетаОСНаНачалоМесяца.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПорядокУчетаОСНаНачалоМесяца.НачалоМесяца = &НачалоМесяца)
| И (ПорядокУчетаОСНаНачалоМесяца.ПериодПараметров = &КонецПредыдущегоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОС_НаНачалоМесяца КАК СтоимостьОС
| ПО (СтоимостьОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (СтоимостьОС.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОС_НаНачалоГода КАК СтоимостьОСНаНачалоГода
| ПО (СтоимостьОСНаНачалоГода.ОсновноеСредство = СписокОС.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияОС_НаНачалоГода КАК АмортизацияОСНаНачалоГода
| ПО (АмортизацияОСНаНачалоГода.ОсновноеСредство = СписокОС.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПредварительнаяСтоимостьОС КАК ПредварительнаяСтоимостьОС
| ПО (ПредварительнаяСтоимостьОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПредварительнаяСтоимостьОС.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ КорректировкаАмортизацииУУ КАК КорректировкаАмортизации
| ПО (КорректировкаАмортизации.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (КорректировкаАмортизации.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияОС_НаНачалоМесяца КАК АмортизацияОС
| ПО (АмортизацияОС.Организация = СписокОС.Организация)
| И (АмортизацияОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (АмортизацияОС.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ОбесценениеВНА КАК ОбесценениеНаНачалоМесяца
| ПО (ОбесценениеНаНачалоМесяца.Организация = СписокОС.Организация)
| И (ОбесценениеНаНачалоМесяца.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ОбесценениеНаНачалоМесяца.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС КАК МестонахождениеОС
| ПО (МестонахождениеОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (МестонахождениеОС.НачалоМесяца = СписокОС.НачалоМесяца)
| И (МестонахождениеОС.ПериодПараметров = СписокОС.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС КАК МестонахождениеОСНаНачалоМесяца
| ПО (МестонахождениеОСНаНачалоМесяца.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (МестонахождениеОСНаНачалоМесяца.НачалоМесяца = &НачалоМесяца)
| И (МестонахождениеОСНаНачалоМесяца.ПериодПараметров = &КонецПредыдущегоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
| ПО (ПервоначальныеСведенияОС.Организация = СписокОС.Организация)
| И (ПервоначальныеСведенияОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПервоначальныеСведенияОС.НачалоМесяца = СписокОС.НачалоМесяца)
| И (ПервоначальныеСведенияОС.ПериодПараметров = СписокОС.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСБУ КАК ПараметрыАмортизацииОСБУ
| ПО (ПараметрыАмортизацииОСБУ.Организация = СписокОС.Организация)
| И (ПараметрыАмортизацииОСБУ.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПараметрыАмортизацииОСБУ.НачалоМесяца = СписокОС.НачалоМесяца)
| И (ПараметрыАмортизацииОСБУ.ПериодПараметров = СписокОС.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСБУ КАК ПорядокУчетаОСБУ
| ПО (ПорядокУчетаОСБУ.Организация = СписокОС.Организация)
| И (ПорядокУчетаОСБУ.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПорядокУчетаОСБУ.НачалоМесяца = СписокОС.НачалоМесяца)
| И (ПорядокУчетаОСБУ.ПериодПараметров = СписокОС.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСБУ КАК ПорядокУчетаОСБУ_НаНачалоМесяца
| ПО (ПорядокУчетаОСБУ_НаНачалоМесяца.Организация = СписокОС.Организация)
| И (ПорядокУчетаОСБУ_НаНачалоМесяца.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ПорядокУчетаОСБУ_НаНачалоМесяца.НачалоМесяца = &НачалоМесяца)
| И (ПорядокУчетаОСБУ_НаНачалоМесяца.ПериодПараметров = &КонецПредыдущегоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС КАК ВыработкаОС
| ПО (ВыработкаОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство)
| И (ВыработкаОС.ПоказательНаработки = ПорядокУчетаОС.ПоказательНаработки)
| И (ВыработкаОС.НачалоМесяца = СписокОС.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС_НаДатуПоследнегоИзмененияБУ КАК ВыработкаОС_НаДатуПоследнегоИзменения
| ПО (ВыработкаОС_НаДатуПоследнегоИзменения.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство)
| И (ВыработкаОС_НаДатуПоследнегоИзменения.ПоказательНаработки = ПорядокУчетаОС.ПоказательНаработки)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДатыПоследнегоИзмененияБУ_МУ КАК ДатыПоследнегоИзменения
| ПО (ДатыПоследнегоИзменения.Организация = СписокОС.Организация)
| И (ДатыПоследнегоИзменения.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (ДатыПоследнегоИзменения.НачалоМесяца = СписокОС.НачалоМесяца)
|
|ГДЕ
| (НЕ СписокОС.ЭтоДоначисление
| ИЛИ СписокОС.НачалоМесяца = НАЧАЛОПЕРИОДА(ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюБУ, МЕСЯЦ)
| И ЕСТЬNULL(ПорядокУчетаОСБУ_НаНачалоМесяца.СостояниеБУ, ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету)) = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету))
| И ЕСТЬNULL(ПорядокУчетаОСБУ.НачислятьАмортизациюБУ, ЛОЖЬ)
| И НЕ СписокОС.ПолученПриРазукомплектацииОбъединении";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СписокОССИзмененнымиПараметрами_УУ
ТекстЗапроса =
"ВЫБРАТЬ
| Изменения_УУ.Период КАК Период,
| Изменения_УУ.Регистратор КАК Регистратор,
| Изменения_УУ.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Изменения_УУ.ОсновноеСредство КАК ОсновноеСредство,
| Изменения_УУ.Организация КАК Организация,
| (Изменения_УУ.НачалоМесяца = &НачалоПредыдущегоМесяца) КАК ЭтоДоначисление,
|
| ВЫБОР
| КОГДА МЕСЯЦ(Изменения_УУ.Период) < ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Изменения_УУ.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1) - 13)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Изменения_УУ.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1) - 1)
| КОНЕЦ КАК НачалоФинансовогоГода,
|
| ВЫБОР
| КОГДА МЕСЯЦ(Изменения_УУ.Период) < ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Изменения_УУ.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1) - 1)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Изменения_УУ.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1) + 11)
| КОНЕЦ КАК КонецФинансовогоГода,
|
| СписокОС.МетодПереоценки КАК МетодПереоценки,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету) КАК ПорядокНачисленияАмортизацииУУ,
|
| Изменения_УУ.ПолученПриРазукомплектацииОбъединении КАК ПолученПриРазукомплектацииОбъединении,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ, МЕСЯЦ) = Изменения_УУ.НачалоМесяца
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.Стоимость, 0)
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.Стоимость, 0) - ЕСТЬNULL(АмортизацияОС.Амортизация, 0)
| КОНЕЦ КАК ОстаточнаяСтоимость,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ, МЕСЯЦ) = Изменения_УУ.НачалоМесяца
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.Стоимость, 0)
| КОГДА Изменения_УУ.НачалоМесяца = &НачалоПредыдущегоМесяца
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.Стоимость, 0)
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ, МЕСЯЦ) = Изменения_УУ.НачалоМесяца
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.СтоимостьРегл, 0)
| КОГДА Изменения_УУ.НачалоМесяца = &НачалоПредыдущегоМесяца
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0)
| КОНЕЦ КАК СтоимостьРегл,
|
| ЕСТЬNULL(АмортизацияОС.Амортизация, 0) КАК Амортизация,
| ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0) КАК АмортизацияРегл,
|
| Изменения_УУ.СтоимостьИзменение КАК СтоимостьИзменение,
| Изменения_УУ.СтоимостьРеглИзменение КАК СтоимостьРеглИзменение,
| Изменения_УУ.АмортизацияИзменение КАК АмортизацияИзменение,
| Изменения_УУ.АмортизацияРеглИзменение КАК АмортизацияРеглИзменение,
|
| ЕСТЬNULL(Изменения_УУ.ГруппаФинансовогоУчета, ПорядокУчетаОС.ГруппаФинансовогоУчета) КАК ГруппаФинансовогоУчета,
| ЕСТЬNULL(Изменения_УУ.НаправлениеДеятельности, ПорядокУчетаОС.НаправлениеДеятельности) КАК НаправлениеДеятельности,
| ЕСТЬNULL(Изменения_УУ.ПоказательНаработки, ПорядокУчетаОС.ПоказательНаработки) КАК ПоказательНаработки,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Изменения_УУ.МетодНачисленияАмортизации, ПараметрыАмортизацииОСУУ.МетодНачисленияАмортизации) = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ЕСТЬNULL(Изменения_УУ.ОбъемНаработки, ЕСТЬNULL(ПараметрыАмортизацииОСУУ.ОбъемПродукцииРаботДляВычисленияАмортизации, 0))
| ИНАЧЕ ЕСТЬNULL(Изменения_УУ.СрокИспользования, ЕСТЬNULL(ПараметрыАмортизацииОСУУ.СрокИспользованияДляВычисленияАмортизации, 0))
| КОНЕЦ КАК РесурсНазначенный,
|
| ВЫРАЗИТЬ(ВЫБОР
| КОГДА ЕСТЬNULL(Изменения_УУ.МетодНачисленияАмортизации, ПараметрыАмортизацииОСУУ.МетодНачисленияАмортизации) = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ВЫБОР
| КОГДА Изменения_УУ.НачалоМесяца = &НачалоПредыдущегоМесяца
| ТОГДА ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаПрошлыйПериод, 0)
| ИНАЧЕ ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаМесяц, 0)
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ * Изменения_УУ.СрокДействия / ДЕНЬ(Изменения_УУ.КонецМесяца) КАК ЧИСЛО(20,8)) КАК РесурсВыработанныйЗаТекущийПериод,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ДатыПоследнегоИзменения.Дата), МЕСЯЦ) = Изменения_УУ.НачалоМесяца
| ИЛИ ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ДатыПоследнегоИзменения.Дата) ЕСТЬ NULL
|
| ТОГДА ВЫРАЗИТЬ(0 КАК ЧИСЛО(20,8))
|
| КОГДА ЕСТЬNULL(Изменения_УУ.МетодНачисленияАмортизации, ПараметрыАмортизацииОСУУ.МетодНачисленияАмортизации) = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
|
| ТОГДА ВЫБОР
| КОГДА Изменения_УУ.НачалоМесяца = &НачалоПредыдущегоМесяца
| ТОГДА ВЫРАЗИТЬ(0 КАК ЧИСЛО(20,8))
| КОГДА НЕ СписокОС.АмортизацияНачисляетсяСДатыПринятияКУчету
| И НАЧАЛОПЕРИОДА(ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ, МЕСЯЦ) = &НачалоПредыдущегоМесяца
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаПрошлыйПериод, 0)
| - ЕСТЬNULL(ВыработкаОС_НаДатуПоследнегоИзменения.ОбъемВыработки, 0) КАК ЧИСЛО(20,8))
| КОНЕЦ
|
| КОГДА КОНЕЦПЕРИОДА(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ДатыПоследнегоИзменения.Дата), МЕСЯЦ) = КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(Изменения_УУ.НачалоМесяца, МЕСЯЦ, -1), МЕСЯЦ)
|
| ТОГДА ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ДатыПоследнегоИзменения.Дата), КОНЕЦПЕРИОДА(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ДатыПоследнегоИзменения.Дата), МЕСЯЦ), ДЕНЬ) + 1)
| / ДЕНЬ(КОНЕЦПЕРИОДА(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ДатыПоследнегоИзменения.Дата), МЕСЯЦ)) КАК ЧИСЛО(20,8))
| ИНАЧЕ
| ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ДатыПоследнегоИзменения.Дата), КОНЕЦПЕРИОДА(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ДатыПоследнегоИзменения.Дата), МЕСЯЦ), ДЕНЬ) + 1)
| / ДЕНЬ(КОНЕЦПЕРИОДА(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ДатыПоследнегоИзменения.Дата), МЕСЯЦ))
| + РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ДатыПоследнегоИзменения.Дата), МЕСЯЦ, 1), МЕСЯЦ), Изменения_УУ.КонецМесяца, МЕСЯЦ) КАК ЧИСЛО(20,8))
|
| КОНЕЦ КАК РесурсВыработанныйЗаПрошлыйПериод,
|
|
| ВЫБОР
| КОГДА ГОД(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения)) <> ГОД(Изменения_УУ.НачалоМесяца) ТОГДА
| 13 - МЕСЯЦ(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения))
| + 12 * (ГОД(Изменения_УУ.НачалоМесяца) - Год(ЕСТЬNULL(Изменения_УУ.ДатаПоследнегоИзменения, ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения)) - 1)
| ИНАЧЕ 0
| КОНЕЦ КАК ОтработанныхМесяцевПолныхЛет,
|
| ЕСТЬNULL(Изменения_УУ.НачислятьАмортизацию, ЕСТЬNULL(ПорядокУчетаОСУУ.НачислятьАмортизацию, ЛОЖЬ)) КАК НачислятьАмортизацию,
| ЕСТЬNULL(Изменения_УУ.СтатьяРасходов, ПорядокУчетаОСУУ.СтатьяРасходов) КАК СтатьяРасходовУУ,
| ЕСТЬNULL(Изменения_УУ.АналитикаРасходов, ПорядокУчетаОСУУ.АналитикаРасходов) КАК АналитикаРасходовУУ,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Изменения_УУ.ПодразделениеРасходов, ПорядокУчетаОСУУ.Подразделение) <> ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА ЕСТЬNULL(Изменения_УУ.ПодразделениеРасходов, ПорядокУчетаОСУУ.Подразделение)
| ИНАЧЕ ЕСТЬNULL(Изменения_УУ.Местонахождение, МестонахождениеОС.Местонахождение)
| КОНЕЦ КАК ПодразделениеРасходов,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Изменения_УУ.ПодразделениеРасходов, ПорядокУчетаОСУУ.Подразделение) <> ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА ЕСТЬNULL(Изменения_УУ.НаправлениеДеятельностиРасходов, ПорядокУчетаОСУУ.НаправлениеДеятельности)
| ИНАЧЕ ЕСТЬNULL(Изменения_УУ.НаправлениеДеятельности, ПорядокУчетаОС.НаправлениеДеятельности)
| КОНЕЦ КАК НаправлениеДеятельностиРасходов,
|
| ЕСТЬNULL(Изменения_УУ.СпособОтраженияАмортизации, ПорядокУчетаОСУУ.СпособОтраженияАмортизации) КАК СпособОтраженияАмортизацииУУ,
| ЕСТЬNULL(Изменения_УУ.ПередаватьРасходыВДругуюОрганизацию, ЕСТЬNULL(ПорядокУчетаОСУУ.ПередаватьРасходыВДругуюОрганизацию, ЛОЖЬ)) КАК ПередаватьРасходыВДругуюОрганизациюУУ,
| ЕСТЬNULL(Изменения_УУ.ОрганизацияПолучательРасходов, ПорядокУчетаОСУУ.ОрганизацияПолучательРасходов) КАК ОрганизацияПолучательРасходовУУ,
|
| ЕСТЬNULL(Изменения_УУ.ЛиквидационнаяСтоимость, ЕСТЬNULL(ПараметрыАмортизацииОСУУ.ЛиквидационнаяСтоимость, 0)) КАК ЛиквидационнаяСтоимость,
| ЕСТЬNULL(Изменения_УУ.ЛиквидационнаяСтоимостьРегл, ЕСТЬNULL(ПараметрыАмортизацииОСУУ.ЛиквидационнаяСтоимостьРегл, 0)) КАК ЛиквидационнаяСтоимостьРегл,
|
| ЕСТЬNULL(ОбесценениеНаНачалоМесяца.ОстатокОбесцененияРегл, 0) КАК ОстатокОбесцененияРегл,
| ЕСТЬNULL(ОбесценениеНаНачалоМесяца.ОстатокОбесцененияУпр, 0) КАК ОстатокОбесцененияУпр,
|
| ЕСТЬNULL(Изменения_УУ.Местонахождение, МестонахождениеОС.Местонахождение) КАК Местонахождение,
|
| ПараметрыАмортизацииОСУУ.СрокИспользования КАК СрокИспользованияУУ,
| ЕСТЬNULL(Изменения_УУ.КоэффициентУскорения, ЕСТЬNULL(ПараметрыАмортизацииОСУУ.КоэффициентУскорения, 0)) КАК КоэффициентУскорения,
| ЕСТЬNULL(Изменения_УУ.МетодНачисленияАмортизации, ПараметрыАмортизацииОСУУ.МетодНачисленияАмортизации) КАК МетодНачисленияАмортизации
|
|ПОМЕСТИТЬ СписокОССИзмененнымиПараметрами_УУ
|
|ИЗ
| Изменения_УУ КАК Изменения_УУ
|
| ЛЕВОЕ СОЕДИНЕНИЕ СписокОбъектовУчета_УУ КАК СписокОС
| ПО (СписокОС.Организация = Изменения_УУ.Организация)
| И (СписокОС.ОсновноеСредство = Изменения_УУ.ОсновноеСредство)
| И (СписокОС.НачалоМесяца = Изменения_УУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС КАК ПорядокУчетаОС
| ПО (ПорядокУчетаОС.ОсновноеСредство = Изменения_УУ.ОсновноеСредство)
| И (ПорядокУчетаОС.НачалоМесяца = Изменения_УУ.НачалоМесяца)
| И (ПорядокУчетаОС.ПериодПараметров = Изменения_УУ.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОС_НаНачалоМесяца КАК СтоимостьОС
| ПО (СтоимостьОС.ОсновноеСредство = Изменения_УУ.ОсновноеСредство)
| И (СтоимостьОС.НачалоМесяца = Изменения_УУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ОбесценениеВНА КАК ОбесценениеНаНачалоМесяца
| ПО (ОбесценениеНаНачалоМесяца.Организация = Изменения_УУ.Организация)
| И (ОбесценениеНаНачалоМесяца.ОсновноеСредство = Изменения_УУ.ОсновноеСредство)
| И (ОбесценениеНаНачалоМесяца.НачалоМесяца = Изменения_УУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПредварительнаяСтоимостьОС КАК ПредварительнаяСтоимостьОС
| ПО (ПредварительнаяСтоимостьОС.ОсновноеСредство = Изменения_УУ.ОсновноеСредство)
| И (ПредварительнаяСтоимостьОС.НачалоМесяца = Изменения_УУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияОС_НаНачалоМесяца КАК АмортизацияОС
| ПО (АмортизацияОС.Организация = Изменения_УУ.Организация)
| И (АмортизацияОС.ОсновноеСредство = Изменения_УУ.ОсновноеСредство)
| И (АмортизацияОС.НачалоМесяца = Изменения_УУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС КАК МестонахождениеОС
| ПО (МестонахождениеОС.ОсновноеСредство = Изменения_УУ.ОсновноеСредство)
| И (МестонахождениеОС.НачалоМесяца = Изменения_УУ.НачалоМесяца)
| И (МестонахождениеОС.ПериодПараметров = Изменения_УУ.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
| ПО (ПервоначальныеСведенияОС.Организация = Изменения_УУ.Организация)
| И (ПервоначальныеСведенияОС.ОсновноеСредство = Изменения_УУ.ОсновноеСредство)
| И (ПервоначальныеСведенияОС.НачалоМесяца = Изменения_УУ.НачалоМесяца)
| И (ПервоначальныеСведенияОС.ПериодПараметров = Изменения_УУ.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСУУ КАК ПараметрыАмортизацииОСУУ
| ПО (ПараметрыАмортизацииОСУУ.Организация = Изменения_УУ.Организация)
| И (ПараметрыАмортизацииОСУУ.ОсновноеСредство = Изменения_УУ.ОсновноеСредство)
| И (ПараметрыАмортизацииОСУУ.НачалоМесяца = Изменения_УУ.НачалоМесяца)
| И (ПараметрыАмортизацииОСУУ.ПериодПараметров = Изменения_УУ.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСУУ КАК ПорядокУчетаОСУУ
| ПО (ПорядокУчетаОСУУ.Организация = Изменения_УУ.Организация)
| И (ПорядокУчетаОСУУ.ОсновноеСредство = Изменения_УУ.ОсновноеСредство)
| И (ПорядокУчетаОСУУ.НачалоМесяца = Изменения_УУ.НачалоМесяца)
| И (ПорядокУчетаОСУУ.ПериодПараметров = Изменения_УУ.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС КАК ВыработкаОС
| ПО (ВыработкаОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство)
| И (ВыработкаОС.ПоказательНаработки = ЕСТЬNULL(Изменения_УУ.ПоказательНаработки, ПорядокУчетаОС.ПоказательНаработки))
| И (ВыработкаОС.НачалоМесяца = Изменения_УУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС_НаДатуПоследнегоИзмененияУУ КАК ВыработкаОС_НаДатуПоследнегоИзменения
| ПО (ВыработкаОС_НаДатуПоследнегоИзменения.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство)
| И (ВыработкаОС_НаДатуПоследнегоИзменения.ПоказательНаработки = ЕСТЬNULL(Изменения_УУ.ПоказательНаработки, ПорядокУчетаОС.ПоказательНаработки))
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДатыПоследнегоИзмененияУУ КАК ДатыПоследнегоИзменения
| ПО (ДатыПоследнегоИзменения.Организация = Изменения_УУ.Организация)
| И (ДатыПоследнегоИзменения.ОсновноеСредство = Изменения_УУ.ОсновноеСредство)
| И (ДатыПоследнегоИзменения.НачалоМесяца = Изменения_УУ.НачалоМесяца)
|
|ИНДЕКСИРОВАТЬ ПО
| ЭтоДоначисление,
| ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СписокОССИзмененнымиПараметрами_БУ_МУ
ТекстЗапроса =
"ВЫБРАТЬ
| Изменения_БУ_МУ.Период КАК Период,
| Изменения_БУ_МУ.Регистратор КАК Регистратор,
| Изменения_БУ_МУ.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Изменения_БУ_МУ.ОсновноеСредство КАК ОсновноеСредство,
| Изменения_БУ_МУ.Организация КАК Организация,
| (Изменения_БУ_МУ.НачалоМесяца = &НачалоПредыдущегоМесяца) КАК ЭтоДоначисление,
|
| ВЫБОР
| КОГДА МЕСЯЦ(Изменения_БУ_МУ.Период) < ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Изменения_БУ_МУ.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1) - 13)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Изменения_БУ_МУ.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1) - 1)
| КОНЕЦ КАК НачалоФинансовогоГода,
|
| ВЫБОР
| КОГДА МЕСЯЦ(Изменения_БУ_МУ.Период) < ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Изменения_БУ_МУ.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1) - 1)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Изменения_БУ_МУ.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(СписокОС.МесяцНачалаФинансовогоГода, 1) + 11)
| КОНЕЦ КАК КонецФинансовогоГода,
|
| СписокОС.МетодПереоценки КАК МетодПереоценки,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
|
| ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету) КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| Изменения_БУ_МУ.ПолученПриРазукомплектацииОбъединении КАК ПолученПриРазукомплектацииОбъединении,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ, МЕСЯЦ) = Изменения_БУ_МУ.НачалоМесяца
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.СтоимостьРегл, 0)
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) - ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0)
| КОНЕЦ КАК ОстаточнаяСтоимостьРегл,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ, МЕСЯЦ) = Изменения_БУ_МУ.НачалоМесяца
| ТОГДА ЕСТЬNULL(ПредварительнаяСтоимостьОС.СтоимостьРегл, 0)
| КОГДА Изменения_БУ_МУ.НачалоМесяца = &НачалоПредыдущегоМесяца
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0)
| КОНЕЦ КАК СтоимостьРегл,
|
| ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0) КАК АмортизацияРегл,
|
| Изменения_БУ_МУ.СтоимостьРеглИзменение КАК СтоимостьРеглИзменение,
| Изменения_БУ_МУ.АмортизацияРеглИзменение КАК АмортизацияРеглИзменение,
|
| ЕСТЬNULL(Изменения_БУ_МУ.ГруппаФинансовогоУчета, ПорядокУчетаОС.ГруппаФинансовогоУчета) КАК ГруппаФинансовогоУчета,
| ЕСТЬNULL(Изменения_БУ_МУ.НаправлениеДеятельности, ПорядокУчетаОС.НаправлениеДеятельности) КАК НаправлениеДеятельности,
| ЕСТЬNULL(Изменения_БУ_МУ.ПоказательНаработки, ПорядокУчетаОС.ПоказательНаработки) КАК ПоказательНаработки,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Изменения_БУ_МУ.МетодНачисленияАмортизации, ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ) = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ЕСТЬNULL(Изменения_БУ_МУ.ОбъемНаработки, ЕСТЬNULL(ПараметрыАмортизацииОСБУ.ОбъемПродукцииРаботДляВычисленияАмортизации, 0))
| ИНАЧЕ ЕСТЬNULL(Изменения_БУ_МУ.СрокИспользования, ЕСТЬNULL(ПараметрыАмортизацииОСБУ.СрокИспользованияДляВычисленияАмортизации, 0))
| КОНЕЦ КАК РесурсНазначенный,
|
| ВЫРАЗИТЬ(ВЫБОР
| КОГДА ЕСТЬNULL(Изменения_БУ_МУ.МетодНачисленияАмортизации, ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ) = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ВЫБОР
| КОГДА Изменения_БУ_МУ.НачалоМесяца = &НачалоПредыдущегоМесяца
| ТОГДА ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаПрошлыйПериод, 0)
| ИНАЧЕ ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаМесяц, 0)
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ * Изменения_БУ_МУ.СрокДействия / ДЕНЬ(Изменения_БУ_МУ.КонецМесяца) КАК ЧИСЛО(20,8)) КАК РесурсВыработанныйЗаТекущийПериод,
|
| ВЫБОР
| КОГДА ПараметрыАмортизацииОСБУ.ОсновноеСредство ЕСТЬ NULL
| ТОГДА ВЫРАЗИТЬ(0 КАК ЧИСЛО(20,8))
|
| КОГДА НАЧАЛОПЕРИОДА(ЕСТЬNULL(Изменения_БУ_МУ.ДатаПоследнегоИзменения, ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения), МЕСЯЦ) = Изменения_БУ_МУ.НачалоМесяца
| ТОГДА ВЫРАЗИТЬ(0 КАК ЧИСЛО(20,8))
|
| КОГДА ЕСТЬNULL(Изменения_БУ_МУ.МетодНачисленияАмортизации, ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ) = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ВЫБОР
| КОГДА Изменения_БУ_МУ.НачалоМесяца = &НачалоПредыдущегоМесяца
| ТОГДА ВЫРАЗИТЬ(0 КАК ЧИСЛО(20,8))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ВыработкаОС.ОбъемВыработкиЗаПрошлыйПериод, 0)
| - ЕСТЬNULL(ВыработкаОС_НаДатуПоследнегоИзменения.ОбъемВыработки, 0) КАК ЧИСЛО(20,8))
| КОНЕЦ
|
| ИНАЧЕ
| ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ЕСТЬNULL(Изменения_БУ_МУ.ДатаПоследнегоИзменения, ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения), КОНЕЦПЕРИОДА(ЕСТЬNULL(Изменения_БУ_МУ.ДатаПоследнегоИзменения, ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения), МЕСЯЦ), ДЕНЬ) + 1)
| / ДЕНЬ(КОНЕЦПЕРИОДА(ЕСТЬNULL(Изменения_БУ_МУ.ДатаПоследнегоИзменения, ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения), МЕСЯЦ))
| + РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ЕСТЬNULL(Изменения_БУ_МУ.ДатаПоследнегоИзменения, ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения), МЕСЯЦ, 1), МЕСЯЦ), Изменения_БУ_МУ.КонецМесяца, МЕСЯЦ) КАК ЧИСЛО(20,8))
| КОНЕЦ КАК РесурсВыработанныйЗаПрошлыйПериод,
|
| ВЫБОР
| КОГДА ГОД(ЕСТЬNULL(Изменения_БУ_МУ.ДатаПоследнегоИзменения, ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения)) <> ГОД(Изменения_БУ_МУ.НачалоМесяца) ТОГДА
| 13 - МЕСЯЦ(ЕСТЬNULL(Изменения_БУ_МУ.ДатаПоследнегоИзменения, ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения))
| + 12 * (ГОД(Изменения_БУ_МУ.НачалоМесяца) - Год(ЕСТЬNULL(Изменения_БУ_МУ.ДатаПоследнегоИзменения, ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения)) - 1)
| ИНАЧЕ 0
| КОНЕЦ КАК ОтработанныхМесяцевПолныхЛет,
|
| ЕСТЬNULL(Изменения_БУ_МУ.НачислятьАмортизацию, ЕСТЬNULL(ПорядокУчетаОСБУ.НачислятьАмортизациюБУ, ЛОЖЬ)) КАК НачислятьАмортизацию,
| ЕСТЬNULL(Изменения_БУ_МУ.СтатьяРасходов, ПорядокУчетаОСБУ.СтатьяРасходовБУ) КАК СтатьяРасходов,
| ЕСТЬNULL(Изменения_БУ_МУ.АналитикаРасходов, ПорядокУчетаОСБУ.АналитикаРасходовБУ) КАК АналитикаРасходов,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Изменения_БУ_МУ.ПодразделениеРасходов, ПорядокУчетаОСБУ.ПодразделениеБУ) <> ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА ЕСТЬNULL(Изменения_БУ_МУ.ПодразделениеРасходов, ПорядокУчетаОСБУ.ПодразделениеБУ)
| ИНАЧЕ ЕСТЬNULL(Изменения_БУ_МУ.Местонахождение, МестонахождениеОС.Местонахождение)
| КОНЕЦ КАК ПодразделениеРасходов,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Изменения_БУ_МУ.ПодразделениеРасходов, ПорядокУчетаОСБУ.ПодразделениеБУ) <> ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА ЕСТЬNULL(Изменения_БУ_МУ.НаправлениеДеятельностиРасходов, ПорядокУчетаОСБУ.НаправлениеДеятельностиБУ)
| ИНАЧЕ ЕСТЬNULL(Изменения_БУ_МУ.НаправлениеДеятельности, ПорядокУчетаОС.НаправлениеДеятельности)
| КОНЕЦ КАК НаправлениеДеятельностиРасходов,
|
| ЕСТЬNULL(Изменения_БУ_МУ.СпособОтраженияАмортизации, ПорядокУчетаОСБУ.СпособОтраженияАмортизацииБУ) КАК СпособОтраженияАмортизации,
| ЕСТЬNULL(Изменения_БУ_МУ.ПередаватьРасходыВДругуюОрганизацию, ЕСТЬNULL(ПорядокУчетаОСБУ.ПередаватьРасходыВДругуюОрганизацию, ЛОЖЬ)) КАК ПередаватьРасходыВДругуюОрганизацию,
| ЕСТЬNULL(Изменения_БУ_МУ.ОрганизацияПолучательРасходов, ПорядокУчетаОСБУ.ОрганизацияПолучательРасходов) КАК ОрганизацияПолучательРасходов,
|
| ЕСТЬNULL(Изменения_БУ_МУ.ЛиквидационнаяСтоимость, ЕСТЬNULL(ПараметрыАмортизацииОСБУ.ЛиквидационнаяСтоимость, 0)) КАК ЛиквидационнаяСтоимостьРегл,
|
| ЕСТЬNULL(ОбесценениеНаНачалоМесяца.ОстатокОбесцененияРегл, 0) КАК ОстатокОбесцененияРегл,
|
| ЕСТЬNULL(Изменения_БУ_МУ.Местонахождение, МестонахождениеОС.Местонахождение) КАК Местонахождение,
|
| ЕСТЬNULL(Изменения_БУ_МУ.КоэффициентУскорения, ЕСТЬNULL(ПараметрыАмортизацииОСБУ.КоэффициентУскорения, 0)) КАК КоэффициентУскорения,
| ЕСТЬNULL(Изменения_БУ_МУ.МетодНачисленияАмортизации, ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ) КАК МетодНачисленияАмортизации
|
|ПОМЕСТИТЬ СписокОССИзмененнымиПараметрами_БУ_МУ
|
|ИЗ
| Изменения_БУ_МУ КАК Изменения_БУ_МУ
|
| ЛЕВОЕ СОЕДИНЕНИЕ СписокОбъектовУчета_БУ_МУ КАК СписокОС
| ПО (СписокОС.Организация = Изменения_БУ_МУ.Организация)
| И (СписокОС.ОсновноеСредство = Изменения_БУ_МУ.ОсновноеСредство)
| И (СписокОС.НачалоМесяца = Изменения_БУ_МУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС КАК ПорядокУчетаОС
| ПО (ПорядокУчетаОС.ОсновноеСредство = Изменения_БУ_МУ.ОсновноеСредство)
| И (ПорядокУчетаОС.НачалоМесяца = Изменения_БУ_МУ.НачалоМесяца)
| И (ПорядокУчетаОС.ПериодПараметров = Изменения_БУ_МУ.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОС_НаНачалоМесяца КАК СтоимостьОС
| ПО (СтоимостьОС.ОсновноеСредство = Изменения_БУ_МУ.ОсновноеСредство)
| И (СтоимостьОС.НачалоМесяца = Изменения_БУ_МУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ОбесценениеВНА КАК ОбесценениеНаНачалоМесяца
| ПО (ОбесценениеНаНачалоМесяца.Организация = Изменения_БУ_МУ.Организация)
| И (ОбесценениеНаНачалоМесяца.ОсновноеСредство = Изменения_БУ_МУ.ОсновноеСредство)
| И (ОбесценениеНаНачалоМесяца.НачалоМесяца = Изменения_БУ_МУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПредварительнаяСтоимостьОС КАК ПредварительнаяСтоимостьОС
| ПО (ПредварительнаяСтоимостьОС.ОсновноеСредство = Изменения_БУ_МУ.ОсновноеСредство)
| И (ПредварительнаяСтоимостьОС.НачалоМесяца = Изменения_БУ_МУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияОС_НаНачалоМесяца КАК АмортизацияОС
| ПО (АмортизацияОС.Организация = Изменения_БУ_МУ.Организация)
| И (АмортизацияОС.ОсновноеСредство = Изменения_БУ_МУ.ОсновноеСредство)
| И (АмортизацияОС.НачалоМесяца = Изменения_БУ_МУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС КАК МестонахождениеОС
| ПО (МестонахождениеОС.ОсновноеСредство = Изменения_БУ_МУ.ОсновноеСредство)
| И (МестонахождениеОС.НачалоМесяца = Изменения_БУ_МУ.НачалоМесяца)
| И (МестонахождениеОС.ПериодПараметров = Изменения_БУ_МУ.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
| ПО (ПервоначальныеСведенияОС.Организация = Изменения_БУ_МУ.Организация)
| И (ПервоначальныеСведенияОС.ОсновноеСредство = Изменения_БУ_МУ.ОсновноеСредство)
| И (ПервоначальныеСведенияОС.НачалоМесяца = Изменения_БУ_МУ.НачалоМесяца)
| И (ПервоначальныеСведенияОС.ПериодПараметров = Изменения_БУ_МУ.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСБУ КАК ПараметрыАмортизацииОСБУ
| ПО (ПараметрыАмортизацииОСБУ.Организация = Изменения_БУ_МУ.Организация)
| И (ПараметрыАмортизацииОСБУ.ОсновноеСредство = Изменения_БУ_МУ.ОсновноеСредство)
| И (ПараметрыАмортизацииОСБУ.НачалоМесяца = Изменения_БУ_МУ.НачалоМесяца)
| И (ПараметрыАмортизацииОСБУ.ПериодПараметров = Изменения_БУ_МУ.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСБУ КАК ПорядокУчетаОСБУ
| ПО (ПорядокУчетаОСБУ.Организация = Изменения_БУ_МУ.Организация)
| И (ПорядокУчетаОСБУ.ОсновноеСредство = Изменения_БУ_МУ.ОсновноеСредство)
| И (ПорядокУчетаОСБУ.НачалоМесяца = Изменения_БУ_МУ.НачалоМесяца)
| И (ПорядокУчетаОСБУ.ПериодПараметров = Изменения_БУ_МУ.ПериодПараметров)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС КАК ВыработкаОС
| ПО (ВыработкаОС.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство)
| И (ВыработкаОС.ПоказательНаработки = ЕСТЬNULL(Изменения_БУ_МУ.ПоказательНаработки, ПорядокУчетаОС.ПоказательНаработки))
| И (ВыработкаОС.НачалоМесяца = Изменения_БУ_МУ.НачалоМесяца)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС_НаДатуПоследнегоИзмененияБУ КАК ВыработкаОС_НаДатуПоследнегоИзменения
| ПО (ВыработкаОС_НаДатуПоследнегоИзменения.ОсновноеСредство = ПорядокУчетаОС.ОсновноеСредство)
| И (ВыработкаОС_НаДатуПоследнегоИзменения.ПоказательНаработки = ЕСТЬNULL(Изменения_БУ_МУ.ПоказательНаработки, ПорядокУчетаОС.ПоказательНаработки))
|
|ИНДЕКСИРОВАТЬ ПО
| ЭтоДоначисление,
| ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ТМЦВЭксплуатации
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| СписокОбъектовУчета.ОсновноеСредство КАК ОсновноеСредство
|ПОМЕСТИТЬ ГрупповыеОС
|ИЗ
| СписокОбъектовУчета КАК СписокОбъектовУчета
|ГДЕ
| СписокОбъектовУчета.ОсновноеСредство.ТипОС = ЗНАЧЕНИЕ(Перечисление.ТипыОС.ГрупповоеОС)
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ПартииТМЦ.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ПартииТМЦ
|ИЗ
| Справочник.ПартииТМЦВЭксплуатации КАК ПартииТМЦ
|ГДЕ
| ПартииТМЦ.ОсновноеСредство В (
| ВЫБРАТЬ
| ГрупповыеОС.ОсновноеСредство
| ИЗ
| ГрупповыеОС КАК ГрупповыеОС)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ТМЦВЭксплуатации.Партия.ОсновноеСредство КАК ОсновноеСредство,
|
| ТМЦВЭксплуатации.Организация КАК Организация,
| ТМЦВЭксплуатации.Подразделение КАК Подразделение,
| ТМЦВЭксплуатации.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ТМЦВЭксплуатации.Номенклатура КАК Номенклатура,
| ТМЦВЭксплуатации.Характеристика КАК Характеристика,
| ТМЦВЭксплуатации.Серия КАК Серия,
| ТМЦВЭксплуатации.ИнвентарныйНомер КАК ИнвентарныйНомер,
| ТМЦВЭксплуатации.Партия КАК Партия,
| ТМЦВЭксплуатации.КоличествоОстаток КАК Количество,
|
| АВТОНОМЕРЗАПИСИ() КАК НомерСтроки
|
|ПОМЕСТИТЬ ТМЦВЭксплуатации
|
|ИЗ
| РегистрНакопления.ТМЦВЭксплуатации.Остатки(
| &НачалоСледующегоМесяца,
| Партия В (ВЫБРАТЬ ПартииТМЦ.Ссылка ИЗ ПартииТМЦ КАК ПартииТМЦ)) КАК ТМЦВЭксплуатации
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| Номенклатура,
| Характеристика,
| Серия,
| ИнвентарныйНомер,
| Партия
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ТМЦВЭксплуатации_Цена
ТекстЗапроса =
"ВЫБРАТЬ
| СтоимостьТМЦ.Организация КАК Организация,
| СтоимостьТМЦ.Номенклатура КАК Номенклатура,
| СтоимостьТМЦ.Характеристика КАК Характеристика,
| СтоимостьТМЦ.Серия КАК Серия,
| СтоимостьТМЦ.ИнвентарныйНомер КАК ИнвентарныйНомер,
| СтоимостьТМЦ.Партия КАК Партия,
|
| ВЫБОР
| КОГДА СУММА(СтоимостьТМЦ.Количество) <> 0
| ТОГДА СУММА(СтоимостьТМЦ.СтоимостьУпр) / СУММА(СтоимостьТМЦ.Количество)
| ИНАЧЕ 0
| КОНЕЦ КАК Цена
|
|ПОМЕСТИТЬ ТМЦВЭксплуатации_Цена
|
|ИЗ
| РегистрСведений.СтоимостьТМЦВЭксплуатации КАК СтоимостьТМЦ
|
|ГДЕ
| СтоимостьТМЦ.Активность
|
| И (Организация, Номенклатура, Характеристика, Серия, ИнвентарныйНомер, Партия) В
| (ВЫБРАТЬ
| ТМЦВЭксплуатации.Организация,
| ТМЦВЭксплуатации.Номенклатура,
| ТМЦВЭксплуатации.Характеристика,
| ТМЦВЭксплуатации.Серия,
| ТМЦВЭксплуатации.ИнвентарныйНомер,
| ТМЦВЭксплуатации.Партия
| ИЗ
| ТМЦВЭксплуатации КАК ТМЦВЭксплуатации)
|
|СГРУППИРОВАТЬ ПО
| СтоимостьТМЦ.Организация,
| СтоимостьТМЦ.Номенклатура,
| СтоимостьТМЦ.Характеристика,
| СтоимостьТМЦ.Серия,
| СтоимостьТМЦ.ИнвентарныйНомер,
| СтоимостьТМЦ.Партия
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| Номенклатура,
| Характеристика,
| Серия,
| ИнвентарныйНомер,
| Партия
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ТМЦВЭксплуатации_Стоимость
ТекстЗапроса =
"ВЫБРАТЬ
| ТМЦВЭксплуатации.ОсновноеСредство КАК ОсновноеСредство,
| ТМЦВЭксплуатации.Организация КАК Организация,
| ТМЦВЭксплуатации.Подразделение КАК Подразделение,
| ТМЦВЭксплуатации.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТМЦВЭксплуатации.НомерСтроки КАК НомерСтроки,
| ТМЦВЭксплуатации.Количество КАК Количество,
| ТМЦВЭксплуатации.Количество * ЕСТЬNULL(ТМЦВЭксплуатации_Цена.Цена, 0) КАК Стоимость
|
|ПОМЕСТИТЬ ТМЦВЭксплуатации_Стоимость
|
|ИЗ
| ТМЦВЭксплуатации КАК ТМЦВЭксплуатации
|
| ЛЕВОЕ СОЕДИНЕНИЕ ТМЦВЭксплуатации_Цена КАК ТМЦВЭксплуатации_Цена
| ПО ТМЦВЭксплуатации_Цена.Организация = ТМЦВЭксплуатации.Организация
| И ТМЦВЭксплуатации_Цена.Номенклатура = ТМЦВЭксплуатации.Номенклатура
| И ТМЦВЭксплуатации_Цена.Характеристика = ТМЦВЭксплуатации.Характеристика
| И ТМЦВЭксплуатации_Цена.Серия = ТМЦВЭксплуатации.Серия
| И ТМЦВЭксплуатации_Цена.ИнвентарныйНомер = ТМЦВЭксплуатации.ИнвентарныйНомер
| И ТМЦВЭксплуатации_Цена.Партия = ТМЦВЭксплуатации.Партия";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ТМЦВЭксплуатации_Распределение
ТекстЗапроса =
"ВЫБРАТЬ
| ТМЦВЭксплуатации_Стоимость.ОсновноеСредство КАК ОсновноеСредство,
| ТМЦВЭксплуатации_Стоимость.Организация КАК Организация,
| ТМЦВЭксплуатации_Стоимость.Подразделение КАК Подразделение,
| ТМЦВЭксплуатации_Стоимость.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СУММА(ТМЦВЭксплуатации_Стоимость.Стоимость) КАК База,
| МАКСИМУМ(ТМЦВЭксплуатации_Стоимость.НомерСтроки) КАК НомерСтроки
|
|ПОМЕСТИТЬ ТМЦВЭксплуатации_База
|
|ИЗ
| ТМЦВЭксплуатации_Стоимость КАК ТМЦВЭксплуатации_Стоимость
|
|СГРУППИРОВАТЬ ПО
| ТМЦВЭксплуатации_Стоимость.ОсновноеСредство,
| ТМЦВЭксплуатации_Стоимость.Организация,
| ТМЦВЭксплуатации_Стоимость.Подразделение,
| ТМЦВЭксплуатации_Стоимость.НаправлениеДеятельности
|;
|
|
|ВЫБРАТЬ
| ТМЦВЭксплуатации_База.ОсновноеСредство КАК ОсновноеСредство,
| СУММА(ТМЦВЭксплуатации_База.База) КАК СуммаБазы
|
|ПОМЕСТИТЬ ТМЦВЭксплуатации_СуммаБазы
|
|ИЗ
| ТМЦВЭксплуатации_База КАК ТМЦВЭксплуатации_База
|
|СГРУППИРОВАТЬ ПО
| ТМЦВЭксплуатации_База.ОсновноеСредство
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ТМЦВЭксплуатации_База.ОсновноеСредство КАК ОсновноеСредство,
| ТМЦВЭксплуатации_База.НомерСтроки КАК НомерСтроки,
| СУММА(ТМЦВЭксплуатации_База.База) КАК БазаНакопленная
|
|ПОМЕСТИТЬ ТМЦВЭксплуатации_БазаНакопленная
|
|ИЗ
| ТМЦВЭксплуатации_База КАК ТМЦВЭксплуатации_База
|
| ЛЕВОЕ СОЕДИНЕНИЕ ТМЦВЭксплуатации_База КАК ТМЦВЭксплуатации_Предыдущие
| ПО ТМЦВЭксплуатации_Предыдущие.ОсновноеСредство = ТМЦВЭксплуатации_База.ОсновноеСредство
| И ТМЦВЭксплуатации_Предыдущие.НомерСтроки < ТМЦВЭксплуатации_База.НомерСтроки
|
|СГРУППИРОВАТЬ ПО
| ТМЦВЭксплуатации_База.ОсновноеСредство,
| ТМЦВЭксплуатации_База.НомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| НомерСтроки
|;
|
|
|ВЫБРАТЬ
| ТМЦВЭксплуатации_База.ОсновноеСредство КАК ОсновноеСредство,
| ТМЦВЭксплуатации_База.Подразделение КАК Подразделение,
| ТМЦВЭксплуатации_База.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТМЦВЭксплуатации_База.Организация КАК Организация,
| ТМЦВЭксплуатации_База.База КАК База,
| ТМЦВЭксплуатации_БазаНакопленная.БазаНакопленная КАК БазаНакопленная,
| ТМЦВЭксплуатации_СуммаБазы.СуммаБазы КАК СуммаБазы
|
|ПОМЕСТИТЬ ТМЦВЭксплуатации_Распределение
|
|ИЗ
| ТМЦВЭксплуатации_База КАК ТМЦВЭксплуатации_База
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТМЦВЭксплуатации_БазаНакопленная КАК ТМЦВЭксплуатации_БазаНакопленная
| ПО ТМЦВЭксплуатации_БазаНакопленная.ОсновноеСредство = ТМЦВЭксплуатации_База.ОсновноеСредство
| И ТМЦВЭксплуатации_БазаНакопленная.НомерСтроки = ТМЦВЭксплуатации_База.НомерСтроки
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТМЦВЭксплуатации_СуммаБазы КАК ТМЦВЭксплуатации_СуммаБазы
| ПО ТМЦВЭксплуатации_СуммаБазы.ОсновноеСредство = ТМЦВЭксплуатации_База.ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СпособыОтраженияАмортизацииУУ
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.СпособОтраженияАмортизацииУУ КАК Ссылка
|
|ПОМЕСТИТЬ втСпособыОтраженияАмортизацииУУ
|
|ИЗ
| СписокОССПараметрами_УУ КАК СписокОС
|
|ГДЕ
| НЕ СписокОС.СпособОтраженияАмортизацииУУ В (&ПустыеСпособыОтраженияАмортизации)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СписокОС.СпособОтраженияАмортизации
|
|ИЗ
| СписокОССПараметрами_БУ_МУ КАК СписокОС
|
|ГДЕ
| НЕ СписокОС.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СписокОС.СпособОтраженияАмортизацииУУ
|
|ИЗ
| СписокОССИзмененнымиПараметрами_УУ КАК СписокОС
|
|ГДЕ
| НЕ СписокОС.СпособОтраженияАмортизацииУУ В (&ПустыеСпособыОтраженияАмортизации)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СписокОС.СпособОтраженияАмортизации
|
|ИЗ
| СписокОССИзмененнымиПараметрами_БУ_МУ КАК СписокОС
|
|ГДЕ
| НЕ СписокОС.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ТаблицаАмортизация.Ссылка КАК СпособОтраженияАмортизации,
| ТаблицаАмортизация.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаАмортизация.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаАмортизация.Подразделение КАК Подразделение,
| ТаблицаАмортизация.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаАмортизация.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчета КАК ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчета,
| ТаблицаАмортизация.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| ТаблицаАмортизация.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| ТаблицаАмортизация.Коэффициент КАК База,
| ТаблицаАмортизация.СуммаКоэффициентовПредыдущихСтрок КАК БазаНакопленная,
| ТаблицаАмортизация.Ссылка.СуммаКоэффициентовАмортизации КАК СуммаБазы
|
|ПОМЕСТИТЬ СпособыОтраженияАмортизацииУУ
|
|ИЗ
| Документ.ИзменениеПараметровОС2_4.Амортизация КАК ТаблицаАмортизация
|
|ГДЕ
| ТаблицаАмортизация.Ссылка В (ВЫБРАТЬ СпособыОтраженияАмортизации.Ссылка ИЗ втСпособыОтраженияАмортизацииУУ КАК СпособыОтраженияАмортизации)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТМЦВЭксплуатации_Распределение.ОсновноеСредство КАК СпособОтраженияАмортизации,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ТМЦВЭксплуатации_Распределение.Подразделение КАК Подразделение,
| ТМЦВЭксплуатации_Распределение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЛОЖЬ КАК ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчета,
| ИСТИНА КАК ПередаватьРасходыВДругуюОрганизацию,
| ТМЦВЭксплуатации_Распределение.Организация КАК ОрганизацияПолучательРасходов,
| ТМЦВЭксплуатации_Распределение.База КАК База,
| ТМЦВЭксплуатации_Распределение.БазаНакопленная КАК БазаНакопленная,
| ТМЦВЭксплуатации_Распределение.СуммаБазы КАК СуммаБазы
|ИЗ
| ТМЦВЭксплуатации_Распределение КАК ТМЦВЭксплуатации_Распределение
|
|ИНДЕКСИРОВАТЬ ПО
| СпособОтраженияАмортизации";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
АмортизацияОСЛокализация.ДополнитьТекстЗапросаПараметрыРасчетаАмортизации(СписокЗапросов, ПараметрыРасчета);
КонецПроцедуры
Процедура ТекстЗапросаПроверкаПараметровРасчета(СписокЗапросов, ПараметрыРасчета)
#Область ПроверкаПараметровРасчета_УУ
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.Организация КАК Организация,
| СписокОС.ОбъектУчета КАК ОбъектУчета,
| СписокОС.НеУказанСрокИспользованияУУ КАК НеУказанСрокИспользованияУУ,
| СписокОС.НеУказанОбъемНаработки КАК НеУказанОбъемНаработки,
| СписокОС.ОбъемНаработкиВыработан КАК ОбъемНаработкиВыработан
|
|ПОМЕСТИТЬ ПроверкаПараметровРасчета_УУ
|
|ИЗ
| (ВЫБРАТЬ
| СписокОС.Организация КАК Организация,
| СписокОС.ОсновноеСредство КАК ОбъектУчета,
|
| СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.Линейный)
| И СписокОС.РесурсНазначенный = 0
| И (НЕ СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| ИЛИ СписокОС.РесурсВыработанныйЗаТекущийПериод > 0) КАК НеУказанСрокИспользованияУУ,
|
| СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| И СписокОС.ОбъемНаработки = 0
| И (НЕ СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| ИЛИ СписокОС.РесурсВыработанныйЗаТекущийПериод > 0) КАК НеУказанОбъемНаработки,
|
| СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| И СписокОС.РесурсНазначенный < (СписокОС.РесурсВыработанныйЗаПрошлыйПериод + СписокОС.РесурсВыработанныйЗаТекущийПериод)
| И СписокОС.РесурсНазначенный <> 0
| И СписокОС.РесурсВыработанныйЗаТекущийПериод > 0 КАК ОбъемНаработкиВыработан
|
| ИЗ
| СписокОССПараметрами_УУ КАК СписокОС
|
| ГДЕ
| СписокОС.НачислятьАмортизацию
| И СписокОС.ОстаточнаяСтоимость > 0
|
| ) КАК СписокОС
|
|ГДЕ
| (СписокОС.НеУказанСрокИспользованияУУ
| ИЛИ СписокОС.НеУказанОбъемНаработки
| ИЛИ СписокОС.ОбъемНаработкиВыработан)
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектУчета";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПроверкаПараметровРасчета_БУ_МУ
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.Организация КАК Организация,
| СписокОС.ОбъектУчета КАК ОбъектУчета,
| СписокОС.НеУказанСрокИспользования КАК НеУказанСрокИспользования,
| СписокОС.НеУказанОбъемНаработки КАК НеУказанОбъемНаработки,
| СписокОС.ОбъемНаработкиВыработан КАК ОбъемНаработкиВыработан
|
|ПОМЕСТИТЬ ПроверкаПараметровРасчета_БУ_МУ
|
|ИЗ
| (ВЫБРАТЬ
| СписокОС.Организация КАК Организация,
| СписокОС.ОсновноеСредство КАК ОбъектУчета,
|
| СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.Линейный)
| И СписокОС.РесурсНазначенный = 0
| И (НЕ СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| ИЛИ СписокОС.РесурсВыработанныйЗаТекущийПериод > 0) КАК НеУказанСрокИспользования,
|
| СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| И СписокОС.ОбъемНаработки = 0
| И СписокОС.РесурсВыработанныйЗаТекущийПериод > 0 КАК НеУказанОбъемНаработки,
|
| СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| И СписокОС.РесурсНазначенный < (СписокОС.РесурсВыработанныйЗаПрошлыйПериод + СписокОС.РесурсВыработанныйЗаТекущийПериод)
| И СписокОС.ОбъемНаработки <> 0
| И СписокОС.РесурсВыработанныйЗаТекущийПериод > 0 КАК ОбъемНаработкиВыработан
|
| ИЗ
| СписокОССПараметрами_БУ_МУ КАК СписокОС
|
| ГДЕ
| СписокОС.НачислятьАмортизацию
| И СписокОС.ОстаточнаяСтоимостьРегл > 0
|
| ) КАК СписокОС
|
|ГДЕ
| (СписокОС.НеУказанСрокИспользования
| ИЛИ СписокОС.НеУказанОбъемНаработки
| ИЛИ СписокОС.ОбъемНаработкиВыработан)
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектУчета";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПроверкаПараметровРасчетаИзменения_УУ
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.Организация КАК Организация,
| СписокОС.ОбъектУчета КАК ОбъектУчета,
| СписокОС.НеУказанСрокИспользованияУУ КАК НеУказанСрокИспользованияУУ,
| СписокОС.НеУказанОбъемНаработки КАК НеУказанОбъемНаработки,
| СписокОС.НеУказанРесурсВыработанный КАК НеУказанРесурсВыработанный
|
|ПОМЕСТИТЬ ПроверкаПараметровРасчетаИзменения_УУ
|
|ИЗ
| (ВЫБРАТЬ
| СписокОС.Организация КАК Организация,
| СписокОС.ОсновноеСредство КАК ОбъектУчета,
|
| СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.Линейный)
| И ЕСТЬNULL(СписокОС.РесурсНазначенный, 0) = 0
| И СписокОС.РесурсВыработанныйЗаТекущийПериод > 0 КАК НеУказанСрокИспользованияУУ,
|
| СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| И ЕСТЬNULL(СписокОС.РесурсНазначенный, 0) = 0
| И СписокОС.РесурсВыработанныйЗаТекущийПериод > 0 КАК НеУказанОбъемНаработки,
|
| СписокОС.РесурсВыработанныйЗаТекущийПериод ЕСТЬ NULL
| ИЛИ СписокОС.РесурсВыработанныйЗаПрошлыйПериод ЕСТЬ NULL КАК НеУказанРесурсВыработанный
|
| ИЗ
| СписокОССИзмененнымиПараметрами_УУ КАК СписокОС
|
| ГДЕ
| СписокОС.НачислятьАмортизацию
| И (СписокОС.ОстаточнаяСтоимость + СписокОС.СтоимостьИзменение) > 0
|
| ) КАК СписокОС
|
|ГДЕ
| (СписокОС.НеУказанСрокИспользованияУУ
| ИЛИ СписокОС.НеУказанОбъемНаработки
| ИЛИ СписокОС.НеУказанРесурсВыработанный)
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектУчета";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПроверкаПараметровРасчетаИзменения_БУ_МУ
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.Организация КАК Организация,
| СписокОС.ОбъектУчета КАК ОбъектУчета,
| СписокОС.НеУказанСрокИспользования КАК НеУказанСрокИспользования,
| СписокОС.НеУказанОбъемНаработки КАК НеУказанОбъемНаработки,
| СписокОС.НеУказанРесурсВыработанный КАК НеУказанРесурсВыработанный
|
|ПОМЕСТИТЬ ПроверкаПараметровРасчетаИзменения_БУ_МУ
|
|ИЗ
| (ВЫБРАТЬ
| СписокОС.Организация КАК Организация,
| СписокОС.ОсновноеСредство КАК ОбъектУчета,
|
| СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.Линейный)
| И ЕСТЬNULL(СписокОС.РесурсНазначенный, 0) = 0
| И СписокОС.РесурсВыработанныйЗаТекущийПериод > 0 КАК НеУказанСрокИспользования,
|
| СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| И ЕСТЬNULL(СписокОС.РесурсНазначенный, 0) = 0
| И СписокОС.РесурсВыработанныйЗаТекущийПериод > 0 КАК НеУказанОбъемНаработки,
|
| СписокОС.РесурсВыработанныйЗаТекущийПериод ЕСТЬ NULL
| ИЛИ СписокОС.РесурсВыработанныйЗаПрошлыйПериод ЕСТЬ NULL КАК НеУказанРесурсВыработанный
|
| ИЗ
| СписокОССИзмененнымиПараметрами_БУ_МУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ СпособыОтраженияАмортизацииУУ КАК СпособыОтраженияАмортизации
| ПО (СпособыОтраженияАмортизации.СпособОтраженияАмортизации = СписокОС.СпособОтраженияАмортизации)
|
| ГДЕ
| СписокОС.НачислятьАмортизацию
| И (СписокОС.ОстаточнаяСтоимостьРегл + СписокОС.СтоимостьРеглИзменение) > 0
|
| ) КАК СписокОС
|
|ГДЕ
| (СписокОС.НеУказанСрокИспользования
| ИЛИ СписокОС.НеУказанОбъемНаработки
| ИЛИ СписокОС.НеУказанРесурсВыработанный)
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектУчета";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
АмортизацияОСЛокализация.ДополнитьТекстЗапросаПроверкаПараметровРасчета(СписокЗапросов, ПараметрыРасчета);
КонецПроцедуры
Процедура ТекстЗапросаКоличествоПараметровРасчета(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СписокОбъектовУчета.ОсновноеСредство), 0) КАК КоличествоДанных
|ИЗ
| СписокОбъектовУчета КАК СписокОбъектовУчета
|";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДоначислениеАмортизацииБезИзмененийУУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.Период КАК Период,
| СписокОС.Организация КАК Организация,
| СписокОС.Местонахождение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходовУУ КАК СтатьяРасходов,
| СписокОС.АналитикаРасходовУУ КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизацииУУ КАК СпособОтраженияАмортизации,
| СписокОС.ПередаватьРасходыВДругуюОрганизациюУУ КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходовУУ КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| СписокОС.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| СписокОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| СписокОС.КоэффициентУскорения КАК КоэффициентУскорения,
| СписокОС.ОтработанныхМесяцевПолныхЛет КАК ОтработанныхМесяцевПолныхЛет,
| СписокОС.НачислятьАмортизацию КАК НачислятьАмортизацию,
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ВЫБОР
| КОГДА (СписокОС.ОстаточнаяСтоимость - (&СуммаАмортизацииУУ)) > СписокОС.ЛиквидационнаяСтоимость
| ТОГДА &СуммаАмортизацииУУ
| КОГДА (СписокОС.ОстаточнаяСтоимость - СписокОС.ЛиквидационнаяСтоимость) > 0
| ТОГДА СписокОС.ОстаточнаяСтоимость - СписокОС.ЛиквидационнаяСтоимость
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаУУ,
|
| ВЫБОР
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - (&СуммаАмортизацииБУ)) > СписокОС.ЛиквидационнаяСтоимостьРегл
| ТОГДА &СуммаАмортизацииБУ
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - СписокОС.ЛиквидационнаяСтоимостьРегл) > 0
| ТОГДА СписокОС.ОстаточнаяСтоимостьРегл - СписокОС.ЛиквидационнаяСтоимостьРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаБУ
|
|ПОМЕСТИТЬ ДоначислениеАмортизацииБезИзмененийУУ
|
|ИЗ
| СписокОССПараметрами_УУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПроверкаПараметровРасчета_УУ КАК ПроверкаПараметровРасчета
| ПО ПроверкаПараметровРасчета.ОбъектУчета = СписокОС.ОсновноеСредство
| И ПроверкаПараметровРасчета.Организация = СписокОС.Организация
|ГДЕ
| СписокОС.ЭтоДоначисление
| И ПроверкаПараметровРасчета.ОбъектУчета ЕСТЬ NULL";
ПараметрыТекстаЗапроса = ПараметрыТекстаЗапросаСуммаАмортизацииУУ();
ПараметрыТекстаЗапроса.ТекстСтоимостьДляВычисленияАмортизации = "СписокОС.СтоимостьДляВычисленияАмортизации";
ПараметрыТекстаЗапроса.ТекстОстаточнаяСтоимость = "СписокОС.ОстаточнаяСтоимость";
ПараметрыТекстаЗапроса.ТекстЛиквидационнаяСтоимость = "0";
ПараметрыТекстаЗапроса.ТекстСтоимостьНаНачалоГода = "СписокОС.СтоимостьНаНачалоГода";
ПараметрыТекстаЗапроса.ТекстОбесценение = "0";
ПараметрыТекстаЗапроса.ТекстСуммаДоначисления = "0";
ТекстСуммаАмортизацииУУ = ТекстЗапросаСуммаАмортизацииУУ(ПараметрыТекстаЗапроса);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СуммаАмортизацииУУ", ТекстСуммаАмортизацииУУ);
ПараметрыТекстаЗапроса.ТекстСтоимостьДляВычисленияАмортизации = "СписокОС.СтоимостьДляВычисленияАмортизацииРегл";
ПараметрыТекстаЗапроса.ТекстОстаточнаяСтоимость = "СписокОС.ОстаточнаяСтоимостьРегл";
ПараметрыТекстаЗапроса.ТекстЛиквидационнаяСтоимость = "0";
ПараметрыТекстаЗапроса.ТекстСтоимостьНаНачалоГода = "СписокОС.СтоимостьРеглНаНачалоГода";
ПараметрыТекстаЗапроса.ТекстОбесценение = "0";
ПараметрыТекстаЗапроса.ТекстСуммаДоначисления = "0";
ТекстСуммаАмортизацииБУ = ТекстЗапросаСуммаАмортизацииУУ(ПараметрыТекстаЗапроса);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СуммаАмортизацииБУ", ТекстСуммаАмортизацииБУ);
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДоначислениеАмортизацииБезИзмененийБУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.Период КАК Период,
| СписокОС.Организация КАК Организация,
| СписокОС.Местонахождение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| СписокОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| СписокОС.КоэффициентУскорения КАК КоэффициентУскорения,
| СписокОС.ОтработанныхМесяцевПолныхЛет КАК ОтработанныхМесяцевПолныхЛет,
| СписокОС.НачислятьАмортизацию КАК НачислятьАмортизацию,
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ВЫБОР
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - (&СуммаАмортизацииБУ)) > СписокОС.ЛиквидационнаяСтоимостьРегл
| ТОГДА &СуммаАмортизацииБУ
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - СписокОС.ЛиквидационнаяСтоимостьРегл) > 0
| ТОГДА СписокОС.ОстаточнаяСтоимостьРегл - СписокОС.ЛиквидационнаяСтоимостьРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаБУ
|
|ПОМЕСТИТЬ ДоначислениеАмортизацииБезИзмененийБУ_МУ
|
|ИЗ
| СписокОССПараметрами_БУ_МУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПроверкаПараметровРасчета_БУ_МУ КАК ПроверкаПараметровРасчета
| ПО ПроверкаПараметровРасчета.ОбъектУчета = СписокОС.ОсновноеСредство
| И ПроверкаПараметровРасчета.Организация = СписокОС.Организация
|ГДЕ
| СписокОС.ЭтоДоначисление
| И ПроверкаПараметровРасчета.ОбъектУчета ЕСТЬ NULL";
ПараметрыТекстаЗапроса = ПараметрыТекстаЗапросаСуммаАмортизацииУУ();
ПараметрыТекстаЗапроса.ТекстСтоимостьДляВычисленияАмортизации = "СписокОС.СтоимостьДляВычисленияАмортизацииРегл";
ПараметрыТекстаЗапроса.ТекстОстаточнаяСтоимость = "СписокОС.ОстаточнаяСтоимостьРегл";
ПараметрыТекстаЗапроса.ТекстЛиквидационнаяСтоимость = "0";
ПараметрыТекстаЗапроса.ТекстСтоимостьНаНачалоГода = "СписокОС.СтоимостьРеглНаНачалоГода";
ПараметрыТекстаЗапроса.ТекстОбесценение = "0";
ПараметрыТекстаЗапроса.ТекстСуммаДоначисления = "0";
ТекстСуммаАмортизацииБУ = ТекстЗапросаСуммаАмортизацииУУ(ПараметрыТекстаЗапроса);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СуммаАмортизацииБУ", ТекстСуммаАмортизацииБУ);
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДоначислениеАмортизацииВыборкаИзмененийУУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| 1 КАК Приоритет,
| &НачалоМесяца КАК Период,
| НЕОПРЕДЕЛЕНО КАК Регистратор,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| СписокОС.Организация КАК Организация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| ВЫРАЗИТЬ(СписокОС.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).УчитыватьСтоимостьЛиквидационногоОбязательства КАК УчитыватьСтоимостьЛиквидационногоОбязательства,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
|
| СписокОС.СуммаУУ КАК СуммаУУ,
| СписокОС.СуммаБУ КАК СуммаБУ,
| 0 КАК СуммаПР,
|
| 0 КАК ОбесценениеУУ,
| 0 КАК ОбесценениеБУ,
|
| 1 КАК Коэффициент,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
|
| СписокОС.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| СписокОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
|
| 0 КАК ОстаточнаяСтоимостьРегл,
| 0 КАК ОстаточнаяСтоимостьЦФ,
| 0 КАК ОстаточнаяСтоимостьПР,
| 0 КАК ОстаточнаяСтоимостьПРЦФ,
|
| 0 КАК ОстатокОбесцененияРегл,
| 0 КАК ОстатокОбесцененияУпр,
|
| СписокОС.КоэффициентУскорения КАК КоэффициентУскорения,
| СписокОС.ОтработанныхМесяцевПолныхЛет КАК ОтработанныхМесяцевПолныхЛет,
| СписокОС.НачислятьАмортизацию КАК НачислятьАмортизацию,
| ЛОЖЬ КАК ПолученПриРазукомплектацииОбъединении,
|
| 0 КАК Стоимость,
| 0 КАК СтоимостьРегл,
| 0 КАК СтоимостьЦФ,
| 0 КАК СтоимостьПР,
|
| 0 КАК СтоимостьИзменение,
| 0 КАК СтоимостьРеглИзменение,
| 0 КАК СтоимостьПРИзменение,
|
| 0 КАК АмортизацияИзменение,
| 0 КАК АмортизацияРеглИзменение,
| 0 КАК АмортизацияПРИзменение,
|
| 0 КАК Амортизация,
| 0 КАК АмортизацияРегл,
| 0 КАК АмортизацияЦФ,
| 0 КАК АмортизацияПР,
|
| 0 КАК СтоимостьДляВычисленияАмортизации,
| 0 КАК СтоимостьДляВычисленияАмортизацииРегл,
| 0 КАК СтоимостьДляВычисленияАмортизацииПР,
|
| 0 КАК КоэффициентЦФБУ,
|
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ЛОЖЬ КАК КорректировкаСтоимостиУУ,
| ЛОЖЬ КАК КорректировкаСтоимостиБУ,
| ЛОЖЬ КАК КорректировкаАмортизацииУУ,
| ЛОЖЬ КАК КорректировкаАмортизацииБУ,
|
| НЕОПРЕДЕЛЕНО КАК МетодПереоценки,
| ЛОЖЬ КАК ПереоценкаПоСправедливойСтоимости,
|
| ЛОЖЬ КАК ЭтоИзменения
|
|ИЗ
| ДоначислениеАмортизацииБезИзмененийУУ КАК СписокОС
|
|ГДЕ
| СписокОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОССИзмененнымиПараметрами_УУ КАК СписокОС)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 1 КАК Приоритет,
| СписокОС.Период КАК Период,
| СписокОС.Регистратор КАК Регистратор,
| СписокОС.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| СписокОС.Организация КАК Организация,
| СписокОС.Местонахождение КАК Местонахождение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| ВЫРАЗИТЬ(СписокОС.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).УчитыватьСтоимостьЛиквидационногоОбязательства КАК УчитыватьСтоимостьЛиквидационногоОбязательства,
| СписокОС.СтатьяРасходовУУ КАК СтатьяРасходовУУ,
| СписокОС.АналитикаРасходовУУ КАК АналитикаРасходовУУ,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизацииУУ КАК СпособОтраженияАмортизацииУУ,
|
| 0 КАК СуммаУУ,
| 0 КАК СуммаБУ,
| 0 КАК СуммаПР,
|
| 0 КАК ОбесценениеУУ,
| 0 КАК ОбесценениеБУ,
|
| 1 КАК Коэффициент,
| СписокОС.ПередаватьРасходыВДругуюОрганизациюУУ КАК ПередаватьРасходыВДругуюОрганизациюУУ,
| СписокОС.ОрганизацияПолучательРасходовУУ КАК ОрганизацияПолучательРасходовУУ,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
|
| СписокОС.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| СписокОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
|
| 0 КАК ОстаточнаяСтоимостьРегл,
| 0 КАК ОстаточнаяСтоимостьЦФ,
| 0 КАК ОстаточнаяСтоимостьПР,
| 0 КАК ОстаточнаяСтоимостьПРЦФ,
|
| 0 КАК ОстатокОбесцененияРегл,
| 0 КАК ОстатокОбесцененияУпр,
|
| СписокОС.КоэффициентУскорения КАК КоэффициентУскорения,
| СписокОС.ОтработанныхМесяцевПолныхЛет КАК ОтработанныхМесяцевПолныхЛет,
| СписокОС.НачислятьАмортизацию КАК НачислятьАмортизацию,
| ЛОЖЬ КАК ПолученПриРазукомплектацииОбъединении,
|
| СписокОС.Стоимость КАК Стоимость,
| СписокОС.СтоимостьРегл КАК СтоимостьРегл,
| 0 КАК СтоимостьЦФ,
| 0 КАК СтоимостьПР,
|
| СписокОС.СтоимостьИзменение КАК СтоимостьИзменение,
| СписокОС.СтоимостьРеглИзменение КАК СтоимостьРеглИзменение,
| 0 КАК СтоимостьПРИзменение,
|
| СписокОС.АмортизацияИзменение КАК АмортизацияИзменение,
| СписокОС.АмортизацияРеглИзменение КАК АмортизацияРеглИзменение,
| 0 КАК АмортизацияПРИзменение,
|
| СписокОС.Амортизация КАК Амортизация,
| СписокОС.АмортизацияРегл КАК АмортизацияРегл,
| 0 КАК АмортизацияЦФ,
| 0 КАК АмортизацияПР,
|
| 0 КАК СтоимостьДляВычисленияАмортизации,
| 0 КАК СтоимостьДляВычисленияАмортизацииРегл,
| 0 КАК СтоимостьДляВычисленияАмортизацииПР,
|
| 0 КАК КоэффициентЦФБУ,
|
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ЕСТЬNULL(Корректировка.КорректировкаСтоимости, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВУпрУчете, ЛОЖЬ) КАК КорректировкаСтоимостиУУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаСтоимости, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВРеглУчете, ЛОЖЬ) КАК КорректировкаСтоимостиБУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаАмортизации, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВУпрУчете, ЛОЖЬ) КАК КорректировкаАмортизацииУУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаАмортизации, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВРеглУчете, ЛОЖЬ) КАК КорректировкаАмортизацииБУ,
|
| СписокОС.МетодПереоценки КАК МетодПереоценки,
| ЕСТЬNULL(Переоценка.ПереоценкаПоСправедливойСтоимости, ЛОЖЬ) КАК ПереоценкаПоСправедливойСтоимости,
|
| ИСТИНА КАК ЭтоИзменения
|
|ИЗ
| СписокОССИзмененнымиПараметрами_УУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаСтоимостиИАмортизацииОС КАК Корректировка
| ПО Корректировка.Ссылка = СписокОС.Регистратор
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПереоценкаОС2_4 КАК Переоценка
| ПО Переоценка.Ссылка = СписокОС.Регистратор
|
|ГДЕ
| СписокОС.ЭтоДоначисление";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДоначислениеАмортизацииВыборкаИзмененийБУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| 1 КАК Приоритет,
| &НачалоМесяца КАК Период,
| НЕОПРЕДЕЛЕНО КАК Регистратор,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| СписокОС.Организация КАК Организация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| ВЫРАЗИТЬ(СписокОС.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).УчитыватьСтоимостьЛиквидационногоОбязательства КАК УчитыватьСтоимостьЛиквидационногоОбязательства,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
|
| 0 КАК СуммаУУ,
| СписокОС.СуммаБУ КАК СуммаБУ,
| 0 КАК СуммаПР,
|
| 0 КАК ОбесценениеУУ,
| 0 КАК ОбесценениеБУ,
|
| 1 КАК Коэффициент,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
|
| 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 КАК КоэффициентЦФБУ,
|
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ЛОЖЬ КАК КорректировкаСтоимостиУУ,
| ЛОЖЬ КАК КорректировкаСтоимостиБУ,
| ЛОЖЬ КАК КорректировкаАмортизацииУУ,
| ЛОЖЬ КАК КорректировкаАмортизацииБУ,
|
| НЕОПРЕДЕЛЕНО КАК МетодПереоценки,
| ЛОЖЬ КАК ПереоценкаПоСправедливойСтоимости,
|
| ЛОЖЬ КАК ЭтоИзменения
|
|ИЗ
| ДоначислениеАмортизацииБезИзмененийБУ_МУ КАК СписокОС
|
|ГДЕ
| СписокОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОССИзмененнымиПараметрами_УУ КАК СписокОС)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 1 КАК Приоритет,
| СписокОС.Период КАК Период,
| СписокОС.Регистратор КАК Регистратор,
| СписокОС.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| СписокОС.Организация КАК Организация,
| СписокОС.Местонахождение КАК Местонахождение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| ВЫРАЗИТЬ(СписокОС.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).УчитыватьСтоимостьЛиквидационногоОбязательства КАК УчитыватьСтоимостьЛиквидационногоОбязательства,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
|
| 0 КАК СуммаУУ,
| 0 КАК СуммаБУ,
| 0 КАК СуммаПР,
|
| 0 КАК ОбесценениеУУ,
| 0 КАК ОбесценениеБУ,
|
| 1 КАК Коэффициент,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
|
| 0 КАК ЛиквидационнаяСтоимость,
| СписокОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
|
| 0 КАК ОстаточнаяСтоимостьРегл,
| 0 КАК ОстаточнаяСтоимостьЦФ,
| 0 КАК ОстаточнаяСтоимостьПР,
| 0 КАК ОстаточнаяСтоимостьПРЦФ,
|
| 0 КАК ОстатокОбесцененияРегл,
| 0 КАК ОстатокОбесцененияУпр,
|
| СписокОС.КоэффициентУскорения КАК КоэффициентУскорения,
| СписокОС.ОтработанныхМесяцевПолныхЛет КАК ОтработанныхМесяцевПолныхЛет,
| СписокОС.НачислятьАмортизацию КАК НачислятьАмортизацию,
| ЛОЖЬ КАК ПолученПриРазукомплектацииОбъединении,
|
| 0 КАК Стоимость,
| СписокОС.СтоимостьРегл КАК СтоимостьРегл,
| 0 КАК СтоимостьЦФ,
| 0 КАК СтоимостьПР,
|
| 0 КАК СтоимостьИзменение,
| СписокОС.СтоимостьРеглИзменение КАК СтоимостьРеглИзменение,
| 0 КАК СтоимостьПРИзменение,
|
| 0 КАК АмортизацияИзменение,
| СписокОС.АмортизацияРеглИзменение КАК АмортизацияРеглИзменение,
| 0 КАК АмортизацияПРИзменение,
|
| 0 КАК Амортизация,
| СписокОС.АмортизацияРегл КАК АмортизацияРегл,
| 0 КАК АмортизацияЦФ,
| 0 КАК АмортизацияПР,
|
| 0 КАК СтоимостьДляВычисленияАмортизации,
| 0 КАК СтоимостьДляВычисленияАмортизацииРегл,
| 0 КАК СтоимостьДляВычисленияАмортизацииПР,
|
| 0 КАК КоэффициентЦФБУ,
|
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ЕСТЬNULL(Корректировка.КорректировкаСтоимости, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВУпрУчете, ЛОЖЬ) КАК КорректировкаСтоимостиУУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаСтоимости, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВРеглУчете, ЛОЖЬ) КАК КорректировкаСтоимостиБУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаАмортизации, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВУпрУчете, ЛОЖЬ) КАК КорректировкаАмортизацииУУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаАмортизации, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВРеглУчете, ЛОЖЬ) КАК КорректировкаАмортизацииБУ,
|
| СписокОС.МетодПереоценки КАК МетодПереоценки,
| ЕСТЬNULL(Переоценка.ПереоценкаПоСправедливойСтоимости, ЛОЖЬ) КАК ПереоценкаПоСправедливойСтоимости,
|
| ИСТИНА КАК ЭтоИзменения
|
|ИЗ
| СписокОССИзмененнымиПараметрами_БУ_МУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаСтоимостиИАмортизацииОС КАК Корректировка
| ПО Корректировка.Ссылка = СписокОС.Регистратор
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПереоценкаОС2_4 КАК Переоценка
| ПО Переоценка.Ссылка = СписокОС.Регистратор
|ГДЕ
| СписокОС.ЭтоДоначисление
|";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДоначислениеАмортизацииУУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.Период КАК Период,
| СписокОС.Организация КАК Организация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.СуммаУУ КАК СуммаУУ,
| СписокОС.СуммаБУ КАК СуммаБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.ОстатокОбесцененияУпр КАК ОстатокОбесцененияУпр,
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА
|
|ПОМЕСТИТЬ ДоначислениеАмортизацииСУчетомИзмененийУУ
|
|ИЗ
| &АмортизацияИзменений_УУ КАК СписокОС
|
|ГДЕ
| СписокОС.ЭтоИзменения
|;
|
|
|ВЫБРАТЬ
| Амортизация.ПериодРасчета КАК ПериодРасчета,
| Амортизация.Организация КАК Организация,
| Амортизация.ОсновноеСредство КАК ОсновноеСредство,
| Амортизация.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| Амортизация.Подразделение КАК Подразделение,
| Амортизация.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.СтатьяРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И СпособыОтраженияАмортизации.СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| ТОГДА СпособыОтраженияАмортизации.СтатьяРасходов
| ИНАЧЕ Амортизация.СтатьяРасходов
| КОНЕЦ КАК СтатьяРасходов,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.СтатьяРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И СпособыОтраженияАмортизации.СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| ТОГДА СпособыОтраженияАмортизации.АналитикаРасходов
| ИНАЧЕ Амортизация.АналитикаРасходов
| КОНЕЦ КАК АналитикаРасходов,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(СпособыОтраженияАмортизации.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчета, ЛОЖЬ)
| ИЛИ ЕСТЬNULL(СпособыОтраженияАмортизации.Подразделение, Амортизация.ПодразделениеРасходов) = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА Амортизация.Подразделение
| ИНАЧЕ ЕСТЬNULL(СпособыОтраженияАмортизации.Подразделение, Амортизация.ПодразделениеРасходов)
| КОНЕЦ КАК ПодразделениеРасходов,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(СпособыОтраженияАмортизации.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчета, ЛОЖЬ)
| ТОГДА Амортизация.НаправлениеДеятельности
| ИНАЧЕ ЕСТЬNULL(СпособыОтраженияАмортизации.НаправлениеДеятельности, Амортизация.НаправлениеДеятельностиРасходов)
| КОНЕЦ КАК НаправлениеДеятельностиРасходов,
|
| Амортизация.СпособОтраженияАмортизации,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.ПередаватьРасходыВДругуюОрганизацию
| И СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов <> Амортизация.Организация
| ТОГДА ИСТИНА
| ИНАЧЕ Амортизация.ПередаватьРасходыВДругуюОрганизацию
| КОНЕЦ КАК ПередаватьРасходыВДругуюОрганизацию,
|
| ЕСТЬNULL(СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов, Амортизация.ОрганизацияПолучательРасходов) КАК ОрганизацияПолучательРасходов,
|
| Амортизация.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| Амортизация.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| Амортизация.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| Амортизация.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| Амортизация.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| Амортизация.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| Амортизация.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| Амортизация.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
|
| ВЫБОР
| КОГДА НЕ Амортизация.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
| ТОГДА &РаспределениеСуммыУУ
| ИНАЧЕ Амортизация.СуммаУУ
| КОНЕЦ КАК СуммаУУ,
|
| ВЫБОР
| КОГДА НЕ Амортизация.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
| ТОГДА &РаспределениеСуммыБУ
| ИНАЧЕ Амортизация.СуммаБУ
| КОНЕЦ КАК СуммаБУ
|
|ПОМЕСТИТЬ ДоначислениеАмортизацииУУ
|
|ИЗ
| (ВЫБРАТЬ
| СписокОС.Период КАК ПериодРасчета,
| СписокОС.Организация КАК Организация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.СуммаУУ КАК СуммаУУ,
| СписокОС.СуммаБУ КАК СуммаБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА
|
| ИЗ
| ДоначислениеАмортизацииБезИзмененийУУ КАК СписокОС
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| СписокОС.Период,
| СписокОС.Организация,
| СписокОС.Подразделение,
| СписокОС.ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности,
| СписокОС.ОсновноеСредство,
| СписокОС.СтатьяРасходов,
| СписокОС.АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации,
| СписокОС.СуммаУУ,
| СписокОС.СуммаБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизации,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.ПорядокНачисленияАмортизацииУУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА
|
| ИЗ
| ДоначислениеАмортизацииСУчетомИзмененийУУ КАК СписокОС
|
| ) КАК Амортизация
|
| ЛЕВОЕ СОЕДИНЕНИЕ СпособыОтраженияАмортизацииУУ КАК СпособыОтраженияАмортизации
| ПО (СпособыОтраженияАмортизации.СпособОтраженияАмортизации = Амортизация.СпособОтраженияАмортизации)";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РаспределениеСуммыУУ", ВнеоборотныеАктивыСлужебный.ТекстРаспределенияСуммыАмортизации("Амортизация.СуммаУУ"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РаспределениеСуммыБУ", ВнеоборотныеАктивыСлужебный.ТекстРаспределенияСуммыАмортизации("Амортизация.СуммаБУ"));
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДоначислениеАмортизацииБУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.Период КАК Период,
| СписокОС.Организация КАК Организация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.СуммаБУ КАК СуммаБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА
|
|ПОМЕСТИТЬ ДоначислениеАмортизацииСУчетомИзмененийБУ_МУ
|
|ИЗ
| &АмортизацияИзменений_БУ_МУ КАК СписокОС
|
|ГДЕ
| СписокОС.ЭтоИзменения
|;
|
|
|ВЫБРАТЬ
| Амортизация.ПериодРасчета КАК ПериодРасчета,
| Амортизация.Организация КАК Организация,
| Амортизация.ОсновноеСредство КАК ОсновноеСредство,
| Амортизация.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| Амортизация.Подразделение КАК Подразделение,
| Амортизация.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.СтатьяРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И СпособыОтраженияАмортизации.СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| ТОГДА СпособыОтраженияАмортизации.СтатьяРасходов
| ИНАЧЕ Амортизация.СтатьяРасходов
| КОНЕЦ КАК СтатьяРасходов,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.СтатьяРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И СпособыОтраженияАмортизации.СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| ТОГДА СпособыОтраженияАмортизации.АналитикаРасходов
| ИНАЧЕ Амортизация.АналитикаРасходов
| КОНЕЦ КАК АналитикаРасходов,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(СпособыОтраженияАмортизации.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчета, ЛОЖЬ)
| ИЛИ ЕСТЬNULL(СпособыОтраженияАмортизации.Подразделение, Амортизация.ПодразделениеРасходов) = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА Амортизация.Подразделение
| ИНАЧЕ ЕСТЬNULL(СпособыОтраженияАмортизации.Подразделение, Амортизация.ПодразделениеРасходов)
| КОНЕЦ КАК ПодразделениеРасходов,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(СпособыОтраженияАмортизации.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчета, ЛОЖЬ)
| ТОГДА Амортизация.НаправлениеДеятельности
| ИНАЧЕ ЕСТЬNULL(СпособыОтраженияАмортизации.НаправлениеДеятельности, Амортизация.НаправлениеДеятельностиРасходов)
| КОНЕЦ КАК НаправлениеДеятельностиРасходов,
|
| Амортизация.СпособОтраженияАмортизации,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.ПередаватьРасходыВДругуюОрганизацию
| И СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов <> Амортизация.Организация
| ТОГДА ИСТИНА
| ИНАЧЕ Амортизация.ПередаватьРасходыВДругуюОрганизацию
| КОНЕЦ КАК ПередаватьРасходыВДругуюОрганизацию,
|
| ЕСТЬNULL(СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов, Амортизация.ОрганизацияПолучательРасходов) КАК ОрганизацияПолучательРасходов,
|
| Амортизация.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| Амортизация.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| Амортизация.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| Амортизация.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| Амортизация.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| Амортизация.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| Амортизация.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
|
| ВЫБОР
| КОГДА НЕ Амортизация.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
| ТОГДА &РаспределениеСуммыБУ
| ИНАЧЕ Амортизация.СуммаБУ
| КОНЕЦ КАК СуммаБУ
|
|ПОМЕСТИТЬ ДоначислениеАмортизацииБУ_МУ
|
|ИЗ
| (ВЫБРАТЬ
| СписокОС.Период КАК ПериодРасчета,
| СписокОС.Организация КАК Организация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.СуммаБУ КАК СуммаБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА
|
| ИЗ
| ДоначислениеАмортизацииБезИзмененийБУ_МУ КАК СписокОС
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| СписокОС.Период,
| СписокОС.Организация,
| СписокОС.Подразделение,
| СписокОС.ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности,
| СписокОС.ОсновноеСредство,
| СписокОС.СтатьяРасходов,
| СписокОС.АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации,
| СписокОС.СуммаБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.ПорядокНачисленияАмортизацииБУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА
|
| ИЗ
| ДоначислениеАмортизацииСУчетомИзмененийБУ_МУ КАК СписокОС
|
| ) КАК Амортизация
|
| ЛЕВОЕ СОЕДИНЕНИЕ СпособыОтраженияАмортизацииУУ КАК СпособыОтраженияАмортизации
| ПО (СпособыОтраженияАмортизации.СпособОтраженияАмортизации = Амортизация.СпособОтраженияАмортизации)";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РаспределениеСуммыБУ", ВнеоборотныеАктивыСлужебный.ТекстРаспределенияСуммыАмортизации("Амортизация.СуммаБУ"));
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДоначислениеАмортизацииУУ_Сгруппированная(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СУММА(СписокОС.СуммаУУ) КАК СуммаУУ,
| СУММА(СписокОС.СуммаБУ) КАК СуммаБУ
|ПОМЕСТИТЬ ДоначислениеАмортизацииУУ_Сгруппированная
|ИЗ
| ДоначислениеАмортизацииУУ КАК СписокОС
|
|СГРУППИРОВАТЬ ПО
| СписокОС.ОсновноеСредство
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДоначислениеАмортизацииБУ_Сгруппированная(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СУММА(СписокОС.СуммаБУ) КАК СуммаБУ
|ПОМЕСТИТЬ ДоначислениеАмортизацииБУ_МУ_Сгруппированная
|ИЗ
| ДоначислениеАмортизацииБУ_МУ КАК СписокОС
|
|СГРУППИРОВАТЬ ПО
| СписокОС.ОсновноеСредство
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаРасчетАмортизацииБезИзмененийУУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.Период КАК Период,
| СписокОС.Организация КАК Организация,
| СписокОС.Местонахождение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходовУУ КАК СтатьяРасходов,
| СписокОС.АналитикаРасходовУУ КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизацииУУ КАК СпособОтраженияАмортизации,
| СписокОС.ПередаватьРасходыВДругуюОрганизациюУУ КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходовУУ КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| СписокОС.Стоимость КАК Стоимость,
| СписокОС.СтоимостьРегл КАК СтоимостьРегл,
| СписокОС.Амортизация КАК Амортизация,
| СписокОС.АмортизацияРегл КАК АмортизацияРегл,
| СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) КАК ОстаточнаяСтоимость,
| СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) КАК ОстаточнаяСтоимостьРегл,
|
| ВЫБОР
| КОГДА СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| ТОГДА СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0)
| ИНАЧЕ СписокОС.СтоимостьДляВычисленияАмортизации
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| ТОГДА СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0)
| ИНАЧЕ СписокОС.СтоимостьДляВычисленияАмортизацииРегл
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизацииРегл,
|
| СписокОС.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| СписокОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.ОстатокОбесцененияУпр КАК ОстатокОбесцененияУпр,
| СписокОС.КоэффициентУскорения КАК КоэффициентУскорения,
| СписокОС.ОтработанныхМесяцевПолныхЛет КАК ОтработанныхМесяцевПолныхЛет,
| СписокОС.НачислятьАмортизацию КАК НачислятьАмортизацию,
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ВЫБОР
| КОГДА &ОбесценениеУУ > СписокОС.ОстатокОбесцененияУпр
| ИЛИ СписокОС.ОстатокОбесцененияУпр - &ОбесценениеУУ < &МинимальнаяОстаточнаяСтоимостьУпр
| ТОГДА СписокОС.ОстатокОбесцененияУпр
|
| ИНАЧЕ &ОбесценениеУУ
| КОНЕЦ КАК ОбесценениеУУ,
|
| ВЫБОР
| КОГДА &ОбесценениеБУ > СписокОС.ОстатокОбесцененияРегл
| ИЛИ СписокОС.ОстатокОбесцененияРегл - &ОбесценениеБУ < &МинимальнаяОстаточнаяСтоимостьРегл
| ТОГДА СписокОС.ОстатокОбесцененияРегл
|
| ИНАЧЕ &ОбесценениеБУ
| КОНЕЦ КАК ОбесценениеБУ,
|
| ВЫБОР
| КОГДА (СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0)) < 0
| ТОГДА
| ВЫБОР
| КОГДА (СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) - (&СуммаАмортизацииУУ)) > -&МинимальнаяОстаточнаяСтоимостьУпр
|
| ТОГДА СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0)
|
| ИНАЧЕ &СуммаАмортизацииУУ
| КОНЕЦ
|
| КОГДА (СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) - (&СуммаАмортизацииУУ) - (&ОбесценениеУУ)) > СписокОС.ЛиквидационнаяСтоимость
| И СписокОС.ВариантПроводокПоОбесценениюВНА = &ДоначислятьКорректировкуОбесценения
| ТОГДА
| ВЫБОР
| КОГДА СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) - (&СуммаАмортизацииУУ) - (&ОбесценениеУУ) - СписокОС.ЛиквидационнаяСтоимость < &МинимальнаяОстаточнаяСтоимостьУпр
|
| ТОГДА СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) - (&ОбесценениеУУ) - СписокОС.ЛиквидационнаяСтоимость
|
| ИНАЧЕ &СуммаАмортизацииУУ
| КОНЕЦ
|
| КОГДА (СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) - (&СуммаАмортизацииУУ)) > СписокОС.ЛиквидационнаяСтоимость
| И СписокОС.ВариантПроводокПоОбесценениюВНА <> &ДоначислятьКорректировкуОбесценения
| ТОГДА
| ВЫБОР
| КОГДА СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) - (&СуммаАмортизацииУУ) - СписокОС.ЛиквидационнаяСтоимость < &МинимальнаяОстаточнаяСтоимостьУпр
|
| ТОГДА СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) - СписокОС.ЛиквидационнаяСтоимость
|
| ИНАЧЕ &СуммаАмортизацииУУ
| КОНЕЦ
|
| КОГДА (СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) - СписокОС.ОстатокОбесцененияУпр - СписокОС.ЛиквидационнаяСтоимость) > 0
| И СписокОС.ВариантПроводокПоОбесценениюВНА = &ДоначислятьКорректировкуОбесценения
| ТОГДА (СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) - СписокОС.ОстатокОбесцененияУпр - СписокОС.ЛиквидационнаяСтоимость)
|
| КОГДА (СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) - СписокОС.ЛиквидационнаяСтоимость) > 0
| И СписокОС.ВариантПроводокПоОбесценениюВНА <> &ДоначислятьКорректировкуОбесценения
| ТОГДА (СписокОС.ОстаточнаяСтоимость - ЕСТЬNULL(Доначисление.СуммаУУ, 0) - СписокОС.ЛиквидационнаяСтоимость)
|
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаУУ,
|
| ВЫБОР
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0)) < 0
| ТОГДА
| ВЫБОР
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&СуммаАмортизацииБУ)) > -&МинимальнаяОстаточнаяСтоимостьРегл
|
| ТОГДА СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0)
|
| ИНАЧЕ &СуммаАмортизацииБУ
| КОНЕЦ
|
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&СуммаАмортизацииБУ) - (&ОбесценениеБУ)) > СписокОС.ЛиквидационнаяСтоимостьРегл
| И СписокОС.ВариантПроводокПоОбесценениюВНА = &ДоначислятьКорректировкуОбесценения
| ТОГДА
| ВЫБОР
| КОГДА СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&СуммаАмортизацииБУ) - (&ОбесценениеБУ) - СписокОС.ЛиквидационнаяСтоимостьРегл < &МинимальнаяОстаточнаяСтоимостьРегл
|
| ТОГДА СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&ОбесценениеБУ) - СписокОС.ЛиквидационнаяСтоимостьРегл
|
| ИНАЧЕ &СуммаАмортизацииБУ
| КОНЕЦ
|
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&СуммаАмортизацииБУ)) > СписокОС.ЛиквидационнаяСтоимостьРегл
| И СписокОС.ВариантПроводокПоОбесценениюВНА <> &ДоначислятьКорректировкуОбесценения
| ТОГДА
| ВЫБОР
| КОГДА СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&СуммаАмортизацииБУ) - СписокОС.ЛиквидационнаяСтоимостьРегл < &МинимальнаяОстаточнаяСтоимостьРегл
|
| ТОГДА СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - СписокОС.ЛиквидационнаяСтоимостьРегл
|
| ИНАЧЕ &СуммаАмортизацииБУ
| КОНЕЦ
|
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - СписокОС.ОстатокОбесцененияРегл - СписокОС.ЛиквидационнаяСтоимостьРегл) > 0
| И СписокОС.ВариантПроводокПоОбесценениюВНА = &ДоначислятьКорректировкуОбесценения
| ТОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - СписокОС.ОстатокОбесцененияРегл - СписокОС.ЛиквидационнаяСтоимостьРегл)
|
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - СписокОС.ЛиквидационнаяСтоимостьРегл) > 0
| И СписокОС.ВариантПроводокПоОбесценениюВНА <> &ДоначислятьКорректировкуОбесценения
| ТОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - СписокОС.ЛиквидационнаяСтоимостьРегл)
|
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаБУ
|
|ПОМЕСТИТЬ РасчетАмортизацииБезИзмененийУУ
|
|ИЗ
| СписокОССПараметрами_УУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДоначислениеАмортизацииУУ_Сгруппированная КАК Доначисление
| ПО Доначисление.ОсновноеСредство = СписокОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПроверкаПараметровРасчета_УУ КАК ПроверкаПараметровРасчета
| ПО ПроверкаПараметровРасчета.ОбъектУчета = СписокОС.ОсновноеСредство
| И ПроверкаПараметровРасчета.Организация = СписокОС.Организация
|ГДЕ
| НЕ СписокОС.ЭтоДоначисление
| И ПроверкаПараметровРасчета.ОбъектУчета ЕСТЬ NULL";
ПараметрыТекстаЗапроса = ПараметрыТекстаЗапросаСуммаАмортизацииУУ();
ПараметрыТекстаЗапроса.ТекстСтоимостьДляВычисленияАмортизации = "СписокОС.СтоимостьДляВычисленияАмортизации";
ПараметрыТекстаЗапроса.ТекстОстаточнаяСтоимость = "СписокОС.ОстаточнаяСтоимость";
ПараметрыТекстаЗапроса.ТекстЛиквидационнаяСтоимость = "СписокОС.ЛиквидационнаяСтоимость";
ПараметрыТекстаЗапроса.ТекстСтоимостьНаНачалоГода = "СписокОС.СтоимостьНаНачалоГода";
ПараметрыТекстаЗапроса.ТекстОбесценение = "СписокОС.ОстатокОбесцененияУпр";
ПараметрыТекстаЗапроса.ТекстСуммаДоначисления = "ЕСТЬNULL(Доначисление.СуммаУУ, 0)";
ТекстСуммаАмортизацииУУ = ТекстЗапросаСуммаАмортизацииУУ(ПараметрыТекстаЗапроса);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СуммаАмортизацииУУ", ТекстСуммаАмортизацииУУ);
ПараметрыТекстаЗапроса = ПараметрыТекстаЗапросаСуммаАмортизацииУУ();
ПараметрыТекстаЗапроса.ТекстСтоимостьДляВычисленияАмортизации = "СписокОС.СтоимостьДляВычисленияАмортизацииРегл";
ПараметрыТекстаЗапроса.ТекстОстаточнаяСтоимость = "СписокОС.ОстаточнаяСтоимостьРегл";
ПараметрыТекстаЗапроса.ТекстЛиквидационнаяСтоимость = "СписокОС.ЛиквидационнаяСтоимостьРегл";
ПараметрыТекстаЗапроса.ТекстСтоимостьНаНачалоГода = "СписокОС.СтоимостьРеглНаНачалоГода";
ПараметрыТекстаЗапроса.ТекстОбесценение = "СписокОС.ОстатокОбесцененияРегл";
ПараметрыТекстаЗапроса.ТекстСуммаДоначисления = "ЕСТЬNULL(Доначисление.СуммаБУ, 0)";
ТекстСуммаАмортизацииБУ = ТекстЗапросаСуммаАмортизацииУУ(ПараметрыТекстаЗапроса);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СуммаАмортизацииБУ", ТекстСуммаАмортизацииБУ);
ТекстОбесценениеУУ = ТекстЗапросаСуммаОбесценения("СписокОС.ОстатокОбесцененияУпр");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбесценениеУУ", ТекстОбесценениеУУ);
ТекстОбесценениеБУ = ТекстЗапросаСуммаОбесценения("СписокОС.ОстатокОбесцененияРегл");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбесценениеБУ", ТекстОбесценениеБУ);
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаРасчетАмортизацииБезИзмененийБУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| СписокОС.Период КАК Период,
| СписокОС.Организация КАК Организация,
| СписокОС.Местонахождение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| СписокОС.СтоимостьРегл КАК СтоимостьРегл,
| СписокОС.АмортизацияРегл КАК АмортизацияРегл,
| СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) КАК ОстаточнаяСтоимостьРегл,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.КоэффициентУскорения КАК КоэффициентУскорения,
| СписокОС.ОтработанныхМесяцевПолныхЛет КАК ОтработанныхМесяцевПолныхЛет,
| СписокОС.НачислятьАмортизацию КАК НачислятьАмортизацию,
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ВЫБОР
| КОГДА &ОбесценениеБУ > СписокОС.ОстатокОбесцененияРегл
| ИЛИ СписокОС.ОстатокОбесцененияРегл - &ОбесценениеБУ < &МинимальнаяОстаточнаяСтоимостьРегл
| ТОГДА СписокОС.ОстатокОбесцененияРегл
|
| ИНАЧЕ &ОбесценениеБУ
| КОНЕЦ КАК ОбесценениеБУ,
|
| ВЫБОР
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0)) < 0
| ТОГДА
| ВЫБОР
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&СуммаАмортизацииБУ)) > -&МинимальнаяОстаточнаяСтоимостьРегл
|
| ТОГДА СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0)
|
| ИНАЧЕ &СуммаАмортизацииБУ
| КОНЕЦ
|
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&СуммаАмортизацииБУ) - (&ОбесценениеБУ)) > СписокОС.ЛиквидационнаяСтоимостьРегл
| И СписокОС.ВариантПроводокПоОбесценениюВНА = &ДоначислятьКорректировкуОбесценения
| ТОГДА
| ВЫБОР
| КОГДА СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&СуммаАмортизацииБУ) - (&ОбесценениеБУ) - СписокОС.ЛиквидационнаяСтоимостьРегл < &МинимальнаяОстаточнаяСтоимостьРегл
|
| ТОГДА СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&ОбесценениеБУ) - СписокОС.ЛиквидационнаяСтоимостьРегл
|
| ИНАЧЕ &СуммаАмортизацииБУ
| КОНЕЦ
|
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&СуммаАмортизацииБУ)) > СписокОС.ЛиквидационнаяСтоимостьРегл
| И СписокОС.ВариантПроводокПоОбесценениюВНА <> &ДоначислятьКорректировкуОбесценения
| ТОГДА
| ВЫБОР
| КОГДА СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - (&СуммаАмортизацииБУ) - СписокОС.ЛиквидационнаяСтоимостьРегл < &МинимальнаяОстаточнаяСтоимостьРегл
|
| ТОГДА СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - СписокОС.ЛиквидационнаяСтоимостьРегл
|
| ИНАЧЕ &СуммаАмортизацииБУ
| КОНЕЦ
|
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - СписокОС.ОстатокОбесцененияРегл - СписокОС.ЛиквидационнаяСтоимостьРегл) > 0
| И СписокОС.ВариантПроводокПоОбесценениюВНА = &ДоначислятьКорректировкуОбесценения
| ТОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - СписокОС.ОстатокОбесцененияРегл - СписокОС.ЛиквидационнаяСтоимостьРегл)
|
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - СписокОС.ЛиквидационнаяСтоимостьРегл) > 0
| И СписокОС.ВариантПроводокПоОбесценениюВНА <> &ДоначислятьКорректировкуОбесценения
| ТОГДА (СписокОС.ОстаточнаяСтоимостьРегл - ЕСТЬNULL(Доначисление.СуммаБУ, 0) - СписокОС.ЛиквидационнаяСтоимостьРегл)
|
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаБУ
|
|ПОМЕСТИТЬ РасчетАмортизацииБезИзмененийБУ_МУ
|
|ИЗ
| СписокОССПараметрами_БУ_МУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДоначислениеАмортизацииБУ_МУ_Сгруппированная КАК Доначисление
| ПО Доначисление.ОсновноеСредство = СписокОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПроверкаПараметровРасчета_БУ_МУ КАК ПроверкаПараметровРасчета
| ПО ПроверкаПараметровРасчета.ОбъектУчета = СписокОС.ОсновноеСредство
| И ПроверкаПараметровРасчета.Организация = СписокОС.Организация
|ГДЕ
| НЕ СписокОС.ЭтоДоначисление
| И ПроверкаПараметровРасчета.ОбъектУчета ЕСТЬ NULL";
ПараметрыТекстаЗапроса = ПараметрыТекстаЗапросаСуммаАмортизацииУУ();
ПараметрыТекстаЗапроса.ТекстСтоимостьДляВычисленияАмортизации = "СписокОС.СтоимостьДляВычисленияАмортизацииРегл";
ПараметрыТекстаЗапроса.ТекстОстаточнаяСтоимость = "СписокОС.ОстаточнаяСтоимостьРегл";
ПараметрыТекстаЗапроса.ТекстЛиквидационнаяСтоимость = "СписокОС.ЛиквидационнаяСтоимостьРегл";
ПараметрыТекстаЗапроса.ТекстСтоимостьНаНачалоГода = "СписокОС.СтоимостьРеглНаНачалоГода";
ПараметрыТекстаЗапроса.ТекстОбесценение = "СписокОС.ОстатокОбесцененияРегл";
ПараметрыТекстаЗапроса.ТекстСуммаДоначисления = "ЕСТЬNULL(Доначисление.СуммаБУ, 0)";
ТекстСуммаАмортизацииБУ = ТекстЗапросаСуммаАмортизацииУУ(ПараметрыТекстаЗапроса);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СуммаАмортизацииБУ", ТекстСуммаАмортизацииБУ);
ТекстОбесценениеБУ = ТекстЗапросаСуммаОбесценения("СписокОС.ОстатокОбесцененияРегл");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбесценениеБУ", ТекстОбесценениеБУ);
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаРасчетАмортизацииВыборкаИзмененийУУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| ОбъединениеОС.Ссылка КАК Ссылка,
| ОбъединениеОС.ОсновноеСредство КАК ОсновноеСредствоПолучатель,
| ТабличнаяЧасть.ОсновноеСредство КАК ОсновноеСредствоИсточник
|
|ПОМЕСТИТЬ ОбъединениеОС
|
|ИЗ
| Документ.ОбъединениеОС КАК ОбъединениеОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОбъединениеОС.ОС КАК ТабличнаяЧасть
| ПО (ТабличнаяЧасть.Ссылка = ОбъединениеОС.Ссылка)
|
|ГДЕ
| ОбъединениеОС.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ОбъединениеОС.Проведен
| И ОбъединениеОС.ОтражатьВУпрУчете
|
| И (ОбъединениеОС.Организация, ТабличнаяЧасть.ОсновноеСредство) В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.Организация,
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|;
|
|
|ВЫБРАТЬ
| СписокОС.ОсновноеСредство КАК ОсновноеСредство
|
|ПОМЕСТИТЬ ОтборОС
|
|ИЗ
| СписокОССИзмененнымиПараметрами_УУ КАК СписокОС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СписокОС.ОсновноеСредствоИсточник
|ИЗ
| ОбъединениеОС КАК СписокОС
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| РазукомплектацияОС.Ссылка КАК Ссылка,
| РазукомплектацияОС.ОсновноеСредство КАК ОсновноеСредствоИсточник,
| ТабличнаяЧасть.ОсновноеСредство КАК ОсновноеСредствоПолучатель,
| ТабличнаяЧасть.СтоимостьУУ КАК СтоимостьСписанияУпр,
| ТабличнаяЧасть.СтоимостьБУ КАК СтоимостьСписанияРегл,
| 0 КАК СтоимостьСписанияПР
|
|ИЗ
| Документ.РазукомплектацияОС КАК РазукомплектацияОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РазукомплектацияОС.ОС КАК ТабличнаяЧасть
| ПО (ТабличнаяЧасть.Ссылка = РазукомплектацияОС.Ссылка)
|
|ГДЕ
| РазукомплектацияОС.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И РазукомплектацияОС.Проведен
| И РазукомплектацияОС.ОтражатьВУпрУчете
|
| И (РазукомплектацияОС.Организация, ТабличнаяЧасть.ОсновноеСредство) В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.Организация,
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОбъединениеОС.Ссылка КАК Ссылка,
| ОбъединениеОС.ОсновноеСредствоИсточник КАК ОсновноеСредствоИсточник,
| ОбъединениеОС.ОсновноеСредствоПолучатель КАК ОсновноеСредствоПолучатель,
| 0 КАК СтоимостьСписанияУпр,
| 0 КАК СтоимостьСписанияРегл,
| 0 КАК СтоимостьСписанияПР
|
|ИЗ
| ОбъединениеОС КАК ОбъединениеОС
|;
|
|
|ВЫБРАТЬ
| 1 КАК Приоритет,
| &НачалоМесяца КАК Период,
| НЕОПРЕДЕЛЕНО КАК Регистратор,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| СписокОС.Организация КАК Организация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| ВЫРАЗИТЬ(СписокОС.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).УчитыватьСтоимостьЛиквидационногоОбязательства КАК УчитыватьСтоимостьЛиквидационногоОбязательства,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
|
| СписокОС.СуммаУУ КАК СуммаУУ,
| СписокОС.СуммаБУ КАК СуммаБУ,
| 0 КАК СуммаПР,
|
| СписокОС.ОбесценениеУУ КАК ОбесценениеУУ,
| СписокОС.ОбесценениеБУ КАК ОбесценениеБУ,
|
| 1 КАК Коэффициент,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
|
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
|
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| СписокОС.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| СписокОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| СписокОС.КоэффициентУскорения КАК КоэффициентУскорения,
| СписокОС.ОтработанныхМесяцевПолныхЛет КАК ОтработанныхМесяцевПолныхЛет,
| СписокОС.НачислятьАмортизацию КАК НачислятьАмортизацию,
| ЛОЖЬ КАК ПолученПриРазукомплектацииОбъединении,
|
| СписокОС.Стоимость КАК Стоимость,
| СписокОС.СтоимостьРегл КАК СтоимостьРегл,
| 0 КАК СтоимостьЦФ,
| 0 КАК СтоимостьПР,
|
| 0 КАК ОстаточнаяСтоимостьРегл,
| 0 КАК ОстаточнаяСтоимостьЦФ,
| 0 КАК ОстаточнаяСтоимостьПР,
| 0 КАК ОстаточнаяСтоимостьПРЦФ,
|
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.ОстатокОбесцененияУпр КАК ОстатокОбесцененияУпр,
|
| 0 КАК СтоимостьИзменение,
| 0 КАК СтоимостьРеглИзменение,
| 0 КАК СтоимостьПРИзменение,
|
| 0 КАК АмортизацияИзменение,
| 0 КАК АмортизацияРеглИзменение,
| 0 КАК АмортизацияПРИзменение,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(СписокОС.Период, МЕСЯЦ) = &НачалоМесяца
| ТОГДА СписокОС.Амортизация + ЕСТЬNULL(Доначисление.СуммаУУ, 0)
| ИНАЧЕ СписокОС.Амортизация
| КОНЕЦ КАК Амортизация,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(СписокОС.Период, МЕСЯЦ) = &НачалоМесяца
| ТОГДА СписокОС.АмортизацияРегл + ЕСТЬNULL(Доначисление.СуммаБУ, 0)
| ИНАЧЕ СписокОС.АмортизацияРегл
| КОНЕЦ КАК АмортизацияРегл,
|
| 0 КАК АмортизацияЦФ,
| 0 КАК АмортизацияПР,
|
| СписокОС.Стоимость - СписокОС.Амортизация КАК СтоимостьДляВычисленияАмортизации,
| СписокОС.СтоимостьРегл - СписокОС.АмортизацияРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| 0 КАК СтоимостьДляВычисленияАмортизацииПР,
| 0 КАК СтоимостьДляВычисленияПР,
|
| 0 КАК КоэффициентЦФБУ,
|
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ЛОЖЬ КАК КорректировкаСтоимостиУУ,
| ЛОЖЬ КАК КорректировкаСтоимостиБУ,
| ЛОЖЬ КАК КорректировкаАмортизацииУУ,
| ЛОЖЬ КАК КорректировкаАмортизацииБУ,
|
| НЕОПРЕДЕЛЕНО КАК МетодПереоценки,
| ЛОЖЬ КАК ПереоценкаПоСправедливойСтоимости,
|
| ЛОЖЬ КАК ЭтоИзменения
|
|ИЗ
| РасчетАмортизацииБезИзмененийУУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДоначислениеАмортизацииУУ_Сгруппированная КАК Доначисление
| ПО Доначисление.ОсновноеСредство = СписокОС.ОсновноеСредство
|ГДЕ
| СписокОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| ОтборОС КАК СписокОС)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(СписокОС.Регистратор) = ТИП(Документ.РазукомплектацияОС)
| И НЕ СписокОС.ПолученПриРазукомплектацииОбъединении
| ТОГДА 3
| КОГДА СписокОС.ПолученПриРазукомплектацииОбъединении
| ТОГДА 2
| ИНАЧЕ 1
| КОНЕЦ КАК Приоритет,
| СписокОС.Период КАК Период,
| СписокОС.Регистратор КАК Регистратор,
| СписокОС.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| СписокОС.Организация КАК Организация,
| СписокОС.Местонахождение КАК Местонахождение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| ВЫРАЗИТЬ(СписокОС.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).УчитыватьСтоимостьЛиквидационногоОбязательства КАК УчитыватьСтоимостьЛиквидационногоОбязательства,
| СписокОС.СтатьяРасходовУУ КАК СтатьяРасходовУУ,
| СписокОС.АналитикаРасходовУУ КАК АналитикаРасходовУУ,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизацииУУ КАК СпособОтраженияАмортизацииУУ,
|
| 0 КАК СуммаУУ,
| 0 КАК СуммаБУ,
| 0 КАК СуммаПР,
|
| 0 КАК ОбесценениеУУ,
| 0 КАК ОбесценениеБУ,
|
| 1 КАК Коэффициент,
| СписокОС.ПередаватьРасходыВДругуюОрганизациюУУ КАК ПередаватьРасходыВДругуюОрганизациюУУ,
| СписокОС.ОрганизацияПолучательРасходовУУ КАК ОрганизацияПолучательРасходовУУ,
|
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
|
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| СписокОС.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| СписокОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| СписокОС.КоэффициентУскорения КАК КоэффициентУскорения,
| СписокОС.ОтработанныхМесяцевПолныхЛет КАК ОтработанныхМесяцевПолныхЛет,
| СписокОС.НачислятьАмортизацию КАК НачислятьАмортизацию,
| СписокОС.ПолученПриРазукомплектацииОбъединении КАК ПолученПриРазукомплектацииОбъединении,
|
| СписокОС.Стоимость КАК Стоимость,
| СписокОС.СтоимостьРегл КАК СтоимостьРегл,
| 0 КАК СтоимостьЦФ,
| 0 КАК СтоимостьПР,
|
| 0 КАК ОстаточнаяСтоимостьРегл,
| 0 КАК ОстаточнаяСтоимостьЦФ,
| 0 КАК ОстаточнаяСтоимостьПР,
| 0 КАК ОстаточнаяСтоимостьПРЦФ,
|
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.ОстатокОбесцененияУпр КАК ОстатокОбесцененияУпр,
|
| СписокОС.СтоимостьИзменение КАК СтоимостьИзменение,
| СписокОС.СтоимостьРеглИзменение КАК СтоимостьРеглИзменение,
| 0 КАК СтоимостьПРИзменение,
|
| СписокОС.АмортизацияИзменение КАК АмортизацияИзменение,
| СписокОС.АмортизацияРеглИзменение КАК АмортизацияРеглИзменение,
| 0 КАК АмортизацияПРИзменение,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(СписокОС.Период, МЕСЯЦ) = &НачалоМесяца
| ТОГДА СписокОС.Амортизация + ЕСТЬNULL(Доначисление.СуммаУУ, 0)
| ИНАЧЕ СписокОС.Амортизация
| КОНЕЦ КАК Амортизация,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(СписокОС.Период, МЕСЯЦ) = &НачалоМесяца
| ТОГДА СписокОС.АмортизацияРегл + ЕСТЬNULL(Доначисление.СуммаБУ, 0)
| ИНАЧЕ СписокОС.АмортизацияРегл
| КОНЕЦ КАК АмортизацияРегл,
|
| 0 КАК АмортизацияЦФ,
| 0 КАК АмортизацияПР,
|
| СписокОС.Стоимость - СписокОС.Амортизация КАК СтоимостьДляВычисленияАмортизации,
| СписокОС.СтоимостьРегл - СписокОС.АмортизацияРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| 0 КАК СтоимостьДляВычисленияАмортизацииПР,
| 0 КАК СтоимостьДляВычисленияПР,
|
| 0 КАК КоэффициентЦФБУ,
|
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ЕСТЬNULL(Корректировка.КорректировкаСтоимости, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВУпрУчете, ЛОЖЬ) КАК КорректировкаСтоимостиУУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаСтоимости, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВРеглУчете, ЛОЖЬ) КАК КорректировкаСтоимостиБУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаАмортизации, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВУпрУчете, ЛОЖЬ) КАК КорректировкаАмортизацииУУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаАмортизации, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВРеглУчете, ЛОЖЬ) КАК КорректировкаАмортизацииБУ,
|
| СписокОС.МетодПереоценки КАК МетодПереоценки,
| ЕСТЬNULL(Переоценка.ПереоценкаПоСправедливойСтоимости, ЛОЖЬ) КАК ПереоценкаПоСправедливойСтоимости,
|
| ИСТИНА КАК ЭтоИзменения
|
|ИЗ
| СписокОССИзмененнымиПараметрами_УУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДоначислениеАмортизацииУУ_Сгруппированная КАК Доначисление
| ПО Доначисление.ОсновноеСредство = СписокОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПроверкаПараметровРасчетаИзменения_УУ КАК ПроверкаПараметровРасчета
| ПО ПроверкаПараметровРасчета.ОбъектУчета = СписокОС.ОсновноеСредство
| И ПроверкаПараметровРасчета.Организация = СписокОС.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаСтоимостиИАмортизацииОС КАК Корректировка
| ПО Корректировка.Ссылка = СписокОС.Регистратор
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПереоценкаОС2_4 КАК Переоценка
| ПО Переоценка.Ссылка = СписокОС.Регистратор
|
|ГДЕ
| НЕ СписокОС.ЭтоДоначисление
| И ПроверкаПараметровРасчета.ОбъектУчета ЕСТЬ NULL";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаРасчетАмортизацииВыборкаИзмененийБУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| ОбъединениеОС.Ссылка КАК Ссылка,
| ОбъединениеОС.ОсновноеСредство КАК ОсновноеСредствоПолучатель,
| ТабличнаяЧасть.ОсновноеСредство КАК ОсновноеСредствоИсточник
|
|ПОМЕСТИТЬ ОбъединениеОС_БУ_МУ
|
|ИЗ
| Документ.ОбъединениеОС КАК ОбъединениеОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОбъединениеОС.ОС КАК ТабличнаяЧасть
| ПО (ТабличнаяЧасть.Ссылка = ОбъединениеОС.Ссылка)
|
|ГДЕ
| &ЭтоМеждународнаяВерсия
| И ОбъединениеОС.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И ОбъединениеОС.Проведен
| И ОбъединениеОС.ОтражатьВРеглУчете
|
| И (ОбъединениеОС.Организация, ТабличнаяЧасть.ОсновноеСредство) В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.Организация,
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|;
|
|
|ВЫБРАТЬ
| СписокОС.ОсновноеСредство КАК ОсновноеСредство
|
|ПОМЕСТИТЬ ОтборОС_БУ_МУ
|
|ИЗ
| СписокОССИзмененнымиПараметрами_БУ_МУ КАК СписокОС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СписокОС.ОсновноеСредствоИсточник
|ИЗ
| ОбъединениеОС_БУ_МУ КАК СписокОС
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| РазукомплектацияОС.Ссылка КАК Ссылка,
| РазукомплектацияОС.ОсновноеСредство КАК ОсновноеСредствоИсточник,
| ТабличнаяЧасть.ОсновноеСредство КАК ОсновноеСредствоПолучатель,
| 0 КАК СтоимостьСписанияУпр,
| ТабличнаяЧасть.СтоимостьБУ КАК СтоимостьСписанияРегл,
| 0 КАК СтоимостьСписанияПР
|ИЗ
| Документ.РазукомплектацияОС КАК РазукомплектацияОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РазукомплектацияОС.ОС КАК ТабличнаяЧасть
| ПО (ТабличнаяЧасть.Ссылка = РазукомплектацияОС.Ссылка)
|ГДЕ
| &ЭтоМеждународнаяВерсия
| И РазукомплектацияОС.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
| И РазукомплектацияОС.Проведен
| И РазукомплектацияОС.ОтражатьВРеглУчете
|
| И (РазукомплектацияОС.Организация, ТабличнаяЧасть.ОсновноеСредство) В
| (ВЫБРАТЬ
| ВтДанныеКРасчету.Организация,
| ВтДанныеКРасчету.ОбъектУчета
| ИЗ
| ВтДанныеКРасчету КАК ВтДанныеКРасчету)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОбъединениеОС.Ссылка КАК Ссылка,
| ОбъединениеОС.ОсновноеСредствоИсточник КАК ОсновноеСредствоИсточник,
| ОбъединениеОС.ОсновноеСредствоПолучатель КАК ОсновноеСредствоПолучатель,
| 0 КАК СтоимостьСписанияУпр,
| 0 КАК СтоимостьСписанияРегл,
| 0 КАК СтоимостьСписанияПР
|
|ИЗ
| ОбъединениеОС_БУ_МУ КАК ОбъединениеОС
|;
|
|
|ВЫБРАТЬ
| 1 КАК Приоритет,
| &НачалоМесяца КАК Период,
| НЕОПРЕДЕЛЕНО КАК Регистратор,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| СписокОС.Организация КАК Организация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| ВЫРАЗИТЬ(СписокОС.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).УчитыватьСтоимостьЛиквидационногоОбязательства КАК УчитыватьСтоимостьЛиквидационногоОбязательства,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
|
| 0 КАК СуммаУУ,
| СписокОС.СуммаБУ КАК СуммаБУ,
| 0 КАК СуммаПР,
|
| 0 КАК ОбесценениеУУ,
| СписокОС.ОбесценениеБУ КАК ОбесценениеБУ,
|
| 1 КАК Коэффициент,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
|
| 0 КАК ЛиквидационнаяСтоимость,
| СписокОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
|
| СписокОС.КоэффициентУскорения КАК КоэффициентУскорения,
| СписокОС.ОтработанныхМесяцевПолныхЛет КАК ОтработанныхМесяцевПолныхЛет,
| СписокОС.НачислятьАмортизацию КАК НачислятьАмортизацию,
| ЛОЖЬ КАК ПолученПриРазукомплектацииОбъединении,
|
| 0 КАК Стоимость,
| СписокОС.СтоимостьРегл КАК СтоимостьРегл,
| 0 КАК СтоимостьЦФ,
| 0 КАК СтоимостьПР,
|
| 0 КАК ОстаточнаяСтоимостьРегл,
| 0 КАК ОстаточнаяСтоимостьЦФ,
| 0 КАК ОстаточнаяСтоимостьПР,
| 0 КАК ОстаточнаяСтоимостьПРЦФ,
|
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| 0 КАК ОстатокОбесцененияУпр,
|
| 0 КАК СтоимостьИзменение,
| 0 КАК СтоимостьРеглИзменение,
| 0 КАК СтоимостьПРИзменение,
|
| 0 КАК АмортизацияИзменение,
| 0 КАК АмортизацияРеглИзменение,
| 0 КАК АмортизацияПРИзменение,
|
| 0 КАК Амортизация,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(СписокОС.Период, МЕСЯЦ) = &НачалоМесяца
| ТОГДА СписокОС.АмортизацияРегл + ЕСТЬNULL(Доначисление.СуммаБУ, 0)
| ИНАЧЕ СписокОС.АмортизацияРегл
| КОНЕЦ КАК АмортизацияРегл,
|
| 0 КАК АмортизацияЦФ,
| 0 КАК АмортизацияПР,
|
| 0 КАК СтоимостьДляВычисленияАмортизации,
| СписокОС.СтоимостьРегл - СписокОС.АмортизацияРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| 0 КАК СтоимостьДляВычисленияАмортизацииПР,
| 0 КАК СтоимостьДляВычисленияПР,
|
| 0 КАК КоэффициентЦФБУ,
|
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ЛОЖЬ КАК КорректировкаСтоимостиУУ,
| ЛОЖЬ КАК КорректировкаСтоимостиБУ,
| ЛОЖЬ КАК КорректировкаАмортизацииУУ,
| ЛОЖЬ КАК КорректировкаАмортизацииБУ,
|
| НЕОПРЕДЕЛЕНО КАК МетодПереоценки,
| ЛОЖЬ КАК ПереоценкаПоСправедливойСтоимости,
|
| ЛОЖЬ КАК ЭтоИзменения
|
|ИЗ
| РасчетАмортизацииБезИзмененийБУ_МУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДоначислениеАмортизацииБУ_МУ_Сгруппированная КАК Доначисление
| ПО Доначисление.ОсновноеСредство = СписокОС.ОсновноеСредство
|
|ГДЕ
| СписокОС.ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| ОтборОС_БУ_МУ КАК СписокОС)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(СписокОС.Регистратор) = ТИП(Документ.РазукомплектацияОС)
| И НЕ СписокОС.ПолученПриРазукомплектацииОбъединении
| ТОГДА 3
| КОГДА СписокОС.ПолученПриРазукомплектацииОбъединении
| ТОГДА 2
| ИНАЧЕ 1
| КОНЕЦ КАК Приоритет,
|
| СписокОС.Период КАК Период,
| СписокОС.Регистратор КАК Регистратор,
| СписокОС.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| СписокОС.Организация КАК Организация,
| СписокОС.Местонахождение КАК Местонахождение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| ВЫРАЗИТЬ(СписокОС.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).УчитыватьСтоимостьЛиквидационногоОбязательства КАК УчитыватьСтоимостьЛиквидационногоОбязательства,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
|
| 0 КАК СуммаУУ,
| 0 КАК СуммаБУ,
| 0 КАК СуммаПР,
|
| 0 КАК ОбесценениеУУ,
| 0 КАК ОбесценениеБУ,
|
| 1 КАК Коэффициент,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.РесурсНазначенный КАК РесурсНазначенный,
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
|
| 0 КАК ЛиквидационнаяСтоимость,
| СписокОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
|
| СписокОС.КоэффициентУскорения КАК КоэффициентУскорения,
| СписокОС.ОтработанныхМесяцевПолныхЛет КАК ОтработанныхМесяцевПолныхЛет,
| СписокОС.НачислятьАмортизацию КАК НачислятьАмортизацию,
| СписокОС.ПолученПриРазукомплектацииОбъединении КАК ПолученПриРазукомплектацииОбъединении,
|
| 0 КАК Стоимость,
| СписокОС.СтоимостьРегл КАК СтоимостьРегл,
| 0 КАК СтоимостьЦФ,
| 0 КАК СтоимостьПР,
|
| 0 КАК ОстаточнаяСтоимостьРегл,
| 0 КАК ОстаточнаяСтоимостьЦФ,
| 0 КАК ОстаточнаяСтоимостьПР,
| 0 КАК ОстаточнаяСтоимостьПРЦФ,
|
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| 0 КАК ОстатокОбесцененияУпр,
|
| 0 КАК СтоимостьИзменение,
| СписокОС.СтоимостьРеглИзменение КАК СтоимостьРеглИзменение,
| 0 КАК СтоимостьПРИзменение,
|
| 0 КАК АмортизацияИзменение,
| СписокОС.АмортизацияРеглИзменение КАК АмортизацияРеглИзменение,
| 0 КАК АмортизацияПРИзменение,
|
| 0 КАК Амортизация,
|
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(СписокОС.Период, МЕСЯЦ) = &НачалоМесяца
| ТОГДА СписокОС.АмортизацияРегл + ЕСТЬNULL(Доначисление.СуммаБУ, 0)
| ИНАЧЕ СписокОС.АмортизацияРегл
| КОНЕЦ КАК АмортизацияРегл,
|
| 0 КАК АмортизацияЦФ,
| 0 КАК АмортизацияПР,
|
| 0 КАК СтоимостьДляВычисленияАмортизации,
| СписокОС.СтоимостьРегл - СписокОС.АмортизацияРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| 0 КАК СтоимостьДляВычисленияАмортизацииПР,
| 0 КАК СтоимостьДляВычисленияПР,
|
| 0 КАК КоэффициентЦФБУ,
|
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
|
| ЕСТЬNULL(Корректировка.КорректировкаСтоимости, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВУпрУчете, ЛОЖЬ) КАК КорректировкаСтоимостиУУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаСтоимости, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВРеглУчете, ЛОЖЬ) КАК КорректировкаСтоимостиБУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаАмортизации, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВУпрУчете, ЛОЖЬ) КАК КорректировкаАмортизацииУУ,
|
| ЕСТЬNULL(Корректировка.КорректировкаАмортизации, ЛОЖЬ)
| И ЕСТЬNULL(Корректировка.ОтражатьВРеглУчете, ЛОЖЬ) КАК КорректировкаАмортизацииБУ,
|
| СписокОС.МетодПереоценки КАК МетодПереоценки,
| ЕСТЬNULL(Переоценка.ПереоценкаПоСправедливойСтоимости, ЛОЖЬ) КАК ПереоценкаПоСправедливойСтоимости,
|
| ИСТИНА КАК ЭтоИзменения
|
|ИЗ
| СписокОССИзмененнымиПараметрами_БУ_МУ КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДоначислениеАмортизацииБУ_МУ_Сгруппированная КАК Доначисление
| ПО Доначисление.ОсновноеСредство = СписокОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПроверкаПараметровРасчетаИзменения_БУ_МУ КАК ПроверкаПараметровРасчета
| ПО ПроверкаПараметровРасчета.ОбъектУчета = СписокОС.ОсновноеСредство
| И ПроверкаПараметровРасчета.Организация = СписокОС.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаСтоимостиИАмортизацииОС КАК Корректировка
| ПО Корректировка.Ссылка = СписокОС.Регистратор
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПереоценкаОС2_4 КАК Переоценка
| ПО Переоценка.Ссылка = СписокОС.Регистратор
|
|ГДЕ
| НЕ СписокОС.ЭтоДоначисление
| И ПроверкаПараметровРасчета.ОбъектУчета ЕСТЬ NULL
|";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаРасчетАмортизации_УУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| Амортизация.ПериодРасчета КАК ПериодРасчета,
| Амортизация.Организация КАК Организация,
| Амортизация.Подразделение КАК Подразделение,
| Амортизация.ОсновноеСредство КАК ОсновноеСредство,
| ОбесценениеВНА.ЕГДС КАК ЕГДС,
| Амортизация.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| Амортизация.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.СтатьяРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И СпособыОтраженияАмортизации.СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| ТОГДА СпособыОтраженияАмортизации.СтатьяРасходов
| ИНАЧЕ Амортизация.СтатьяРасходов
| КОНЕЦ КАК СтатьяРасходов,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.СтатьяРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И СпособыОтраженияАмортизации.СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| ТОГДА СпособыОтраженияАмортизации.АналитикаРасходов
| ИНАЧЕ Амортизация.АналитикаРасходов
| КОНЕЦ КАК АналитикаРасходов,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(СпособыОтраженияАмортизации.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчета, ЛОЖЬ)
| ИЛИ ЕСТЬNULL(СпособыОтраженияАмортизации.Подразделение, Амортизация.ПодразделениеРасходов) = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА Амортизация.Подразделение
| ИНАЧЕ ЕСТЬNULL(СпособыОтраженияАмортизации.Подразделение, Амортизация.ПодразделениеРасходов)
| КОНЕЦ КАК КорПодразделение,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(СпособыОтраженияАмортизации.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчета, ЛОЖЬ)
| ТОГДА Амортизация.НаправлениеДеятельности
| ИНАЧЕ ЕСТЬNULL(СпособыОтраженияАмортизации.НаправлениеДеятельности, Амортизация.НаправлениеДеятельностиРасходов)
| КОНЕЦ КАК КорНаправлениеДеятельности,
|
| Амортизация.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.ПередаватьРасходыВДругуюОрганизацию
| И СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов <> Амортизация.Организация
| ТОГДА ИСТИНА
| ИНАЧЕ Амортизация.ПередаватьРасходыВДругуюОрганизацию
| КОНЕЦ КАК ПередаватьРасходыВДругуюОрганизацию,
|
| ЕСТЬNULL(СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов, Амортизация.ОрганизацияПолучательРасходов) КАК ОрганизацияПолучательРасходов,
|
| Амортизация.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| Амортизация.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| Амортизация.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| Амортизация.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| Амортизация.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| Амортизация.ОстатокОбесцененияУпр КАК ОстатокОбесцененияУпр,
|
| Амортизация.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| Амортизация.ЭтоДоначисление КАК ЭтоДоначисление,
| Амортизация.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| Амортизация.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| Амортизация.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
|
| ВЫБОР
| КОГДА НЕ Амортизация.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
| И НЕ СпособыОтраженияАмортизации.СпособОтраженияАмортизации ЕСТЬ NULL
| ТОГДА &РаспределениеСуммыУУ
| ИНАЧЕ Амортизация.СуммаУУ
| КОНЕЦ КАК СуммаУУ,
|
| ВЫБОР
| КОГДА НЕ Амортизация.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
| И НЕ СпособыОтраженияАмортизации.СпособОтраженияАмортизации ЕСТЬ NULL
| ТОГДА &РаспределениеСуммыБУ
| ИНАЧЕ Амортизация.СуммаБУ
| КОНЕЦ КАК СуммаБУ,
|
| ВЫБОР
| КОГДА НЕ Амортизация.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
| И НЕ СпособыОтраженияАмортизации.СпособОтраженияАмортизации ЕСТЬ NULL
| ТОГДА &РаспределениеОбесцененияУУ
| ИНАЧЕ Амортизация.ОбесценениеУУ
| КОНЕЦ КАК ОбесценениеУУ,
|
| ВЫБОР
| КОГДА НЕ Амортизация.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
| И НЕ СпособыОтраженияАмортизации.СпособОтраженияАмортизации ЕСТЬ NULL
| ТОГДА &РаспределениеОбесцененияБУ
| ИНАЧЕ Амортизация.ОбесценениеБУ
| КОНЕЦ КАК ОбесценениеБУ
|
|ПОМЕСТИТЬ РасчетАмортизации_УУ
|
|ИЗ
| (ВЫБРАТЬ
| СписокОС.Период КАК ПериодРасчета,
| СписокОС.Организация КАК Организация,
| ВЫРАЗИТЬ(СписокОС.Организация КАК Справочник.Организации).ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.СуммаУУ КАК СуммаУУ,
|
| ВЫБОР
| КОГДА СписокОС.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА СписокОС.СуммаБУ
| ИНАЧЕ NULL
| КОНЕЦ КАК СуммаБУ,
|
| СписокОС.ОбесценениеУУ КАК ОбесценениеУУ,
| СписокОС.ОбесценениеБУ КАК ОбесценениеБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА СписокОС.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА СписокОС.СтоимостьДляВычисленияАмортизацииРегл
| ИНАЧЕ NULL
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизацииРегл,
|
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.ОстатокОбесцененияУпр КАК ОстатокОбесцененияУпр,
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| ЛОЖЬ КАК ЭтоДоначисление
|
| ИЗ
| РасчетАмортизацииБезИзмененийУУ КАК СписокОС
|
| ГДЕ
| (СписокОС.СуммаУУ <> 0
| ИЛИ СписокОС.СуммаБУ <> 0
| И СписокОС.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| СписокОС.Период,
| СписокОС.Организация,
| ВЫРАЗИТЬ(СписокОС.Организация КАК Справочник.Организации).ГоловнаяОрганизация,
| СписокОС.Подразделение,
| СписокОС.ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности,
| СписокОС.ОсновноеСредство,
| СписокОС.СтатьяРасходов,
| СписокОС.АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации,
| СписокОС.СуммаУУ,
|
| ВЫБОР
| КОГДА СписокОС.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА СписокОС.СуммаБУ
| ИНАЧЕ NULL
| КОНЕЦ,
|
| СписокОС.ОбесценениеУУ КАК ОбесценениеУУ,
| СписокОС.ОбесценениеБУ КАК ОбесценениеБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
|
| СписокОС.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА СписокОС.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА СписокОС.СтоимостьДляВычисленияАмортизацииРегл
| ИНАЧЕ NULL
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизацииРегл,
|
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.ОстатокОбесцененияУпр КАК ОстатокОбесцененияУпр,
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| ЛОЖЬ КАК ЭтоДоначисление
|
| ИЗ
| РасчетАмортизацииСУчетомИзмененийУУ КАК СписокОС
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| СписокОС.ПериодРасчета КАК ПериодРасчета,
| СписокОС.Организация КАК Организация,
| ВЫРАЗИТЬ(СписокОС.Организация КАК Справочник.Организации).ГоловнаяОрганизация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.СуммаУУ КАК СуммаУУ,
|
| ВЫБОР
| КОГДА СписокОС.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА СписокОС.СуммаБУ
| ИНАЧЕ NULL
| КОНЕЦ КАК СуммаБУ,
|
| 0 КАК ОбесценениеУУ,
| 0 КАК ОбесценениеБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА СписокОС.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА СписокОС.СтоимостьДляВычисленияАмортизацииРегл
| ИНАЧЕ NULL
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизацииРегл,
|
| 0 КАК ОстатокОбесцененияРегл,
| 0 КАК ОстатокОбесцененияУпр,
| СписокОС.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ПорядокУчетаВНАРегл КАК ПорядокУчетаВНАРегл,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| ИСТИНА КАК ЭтоДоначисление
| ИЗ
| ДоначислениеАмортизацииУУ КАК СписокОС
|
| ) КАК Амортизация
|
| ЛЕВОЕ СОЕДИНЕНИЕ СпособыОтраженияАмортизацииУУ КАК СпособыОтраженияАмортизации
| ПО (СпособыОтраженияАмортизации.СпособОтраженияАмортизации = Амортизация.СпособОтраженияАмортизации)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ОбесценениеВНА КАК ОбесценениеВНА
| ПО ОбесценениеВНА.Организация = Амортизация.Организация
| И ОбесценениеВНА.ОсновноеСредство = Амортизация.ОсновноеСредство
|";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РаспределениеСуммыУУ", ВнеоборотныеАктивыСлужебный.ТекстРаспределенияСуммыАмортизации("Амортизация.СуммаУУ"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РаспределениеСуммыБУ", ВнеоборотныеАктивыСлужебный.ТекстРаспределенияСуммыАмортизации("Амортизация.СуммаБУ"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РаспределениеОбесцененияУУ", ВнеоборотныеАктивыСлужебный.ТекстРаспределенияСуммыАмортизации("Амортизация.ОбесценениеУУ"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РаспределениеОбесцененияБУ", ВнеоборотныеАктивыСлужебный.ТекстРаспределенияСуммыАмортизации("Амортизация.ОбесценениеБУ"));
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаРасчетАмортизации_БУ_МУ(СписокЗапросов, ПараметрыРасчета)
ТекстЗапроса =
"ВЫБРАТЬ
| Амортизация.ПериодРасчета КАК ПериодРасчета,
| Амортизация.Организация КАК Организация,
| Амортизация.Подразделение КАК Подразделение,
| Амортизация.ОсновноеСредство КАК ОсновноеСредство,
| ОбесценениеВНА.ЕГДС КАК ЕГДС,
| Амортизация.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| Амортизация.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.СтатьяРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И СпособыОтраженияАмортизации.СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| ТОГДА СпособыОтраженияАмортизации.СтатьяРасходов
| ИНАЧЕ Амортизация.СтатьяРасходов
| КОНЕЦ КАК СтатьяРасходов,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.СтатьяРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И СпособыОтраженияАмортизации.СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| ТОГДА СпособыОтраженияАмортизации.АналитикаРасходов
| ИНАЧЕ Амортизация.АналитикаРасходов
| КОНЕЦ КАК АналитикаРасходов,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(СпособыОтраженияАмортизации.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчета, ЛОЖЬ)
| ИЛИ ЕСТЬNULL(СпособыОтраженияАмортизации.Подразделение, Амортизация.ПодразделениеРасходов) = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА Амортизация.Подразделение
| ИНАЧЕ ЕСТЬNULL(СпособыОтраженияАмортизации.Подразделение, Амортизация.ПодразделениеРасходов)
| КОНЕЦ КАК КорПодразделение,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(СпособыОтраженияАмортизации.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчета, ЛОЖЬ)
| ТОГДА Амортизация.НаправлениеДеятельности
| ИНАЧЕ ЕСТЬNULL(СпособыОтраженияАмортизации.НаправлениеДеятельности, Амортизация.НаправлениеДеятельностиРасходов)
| КОНЕЦ КАК КорНаправлениеДеятельности,
|
| Амортизация.СпособОтраженияАмортизации,
|
| ВЫБОР
| КОГДА НЕ СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов ЕСТЬ NULL
| И СпособыОтраженияАмортизации.ПередаватьРасходыВДругуюОрганизацию
| И СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов <> Амортизация.Организация
| ТОГДА ИСТИНА
| ИНАЧЕ Амортизация.ПередаватьРасходыВДругуюОрганизацию
| КОНЕЦ КАК ПередаватьРасходыВДругуюОрганизацию,
|
| ЕСТЬNULL(СпособыОтраженияАмортизации.ОрганизацияПолучательРасходов, Амортизация.ОрганизацияПолучательРасходов) КАК ОрганизацияПолучательРасходов,
|
| Амортизация.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| Амортизация.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| Амортизация.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| Амортизация.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
|
| Амортизация.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| Амортизация.ЭтоДоначисление КАК ЭтоДоначисление,
| Амортизация.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| Амортизация.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
|
| ВЫБОР
| КОГДА НЕ Амортизация.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
| И НЕ СпособыОтраженияАмортизации.СпособОтраженияАмортизации ЕСТЬ NULL
| ТОГДА &РаспределениеСуммыБУ
| ИНАЧЕ Амортизация.СуммаБУ
| КОНЕЦ КАК СуммаБУ,
|
| ВЫБОР
| КОГДА НЕ Амортизация.СпособОтраженияАмортизации В (&ПустыеСпособыОтраженияАмортизации)
| И НЕ СпособыОтраженияАмортизации.СпособОтраженияАмортизации ЕСТЬ NULL
| ТОГДА &РаспределениеОбесцененияБУ
| ИНАЧЕ Амортизация.ОбесценениеБУ
| КОНЕЦ КАК ОбесценениеБУ
|
|ПОМЕСТИТЬ РасчетАмортизации_БУ_МУ
|
|ИЗ
| (ВЫБРАТЬ
| СписокОС.Период КАК ПериодРасчета,
| СписокОС.Организация КАК Организация,
| ВЫРАЗИТЬ(СписокОС.Организация КАК Справочник.Организации).ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.СуммаБУ КАК СуммаБУ,
| СписокОС.ОбесценениеБУ КАК ОбесценениеБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| ЛОЖЬ КАК ЭтоДоначисление
| ИЗ
| РасчетАмортизацииБезИзмененийБУ_МУ КАК СписокОС
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| СписокОС.Период,
| СписокОС.Организация,
| ВЫРАЗИТЬ(СписокОС.Организация КАК Справочник.Организации).ГоловнаяОрганизация,
| СписокОС.Подразделение,
| СписокОС.ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности,
| СписокОС.ОсновноеСредство,
| СписокОС.СтатьяРасходов,
| СписокОС.АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации,
| СписокОС.СуммаБУ,
| СписокОС.ОбесценениеБУ КАК ОбесценениеБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| СписокОС.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| ЛОЖЬ КАК ЭтоДоначисление
| ИЗ
| РасчетАмортизацииСУчетомИзмененийБУ_МУ КАК СписокОС
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| СписокОС.ПериодРасчета КАК ПериодРасчета,
| СписокОС.Организация КАК Организация,
| ВЫРАЗИТЬ(СписокОС.Организация КАК Справочник.Организации).ГоловнаяОрганизация,
| СписокОС.Подразделение КАК Подразделение,
| СписокОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СписокОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.СтатьяРасходов КАК СтатьяРасходов,
| СписокОС.АналитикаРасходов КАК АналитикаРасходов,
| СписокОС.ПодразделениеРасходов КАК ПодразделениеРасходов,
| СписокОС.НаправлениеДеятельностиРасходов КАК НаправлениеДеятельностиРасходов,
| СписокОС.СпособОтраженияАмортизации КАК СпособОтраженияАмортизации,
| СписокОС.СуммаБУ КАК СуммаБУ,
| 0 КАК ОбесценениеБУ,
| СписокОС.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| СписокОС.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| 0 КАК ОстатокОбесцененияРегл,
| СписокОС.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| СписокОС.ПорядокУчетаВНА КАК ПорядокУчетаВНА,
| СписокОС.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
| ИСТИНА КАК ЭтоДоначисление
| ИЗ
| ДоначислениеАмортизацииБУ_МУ КАК СписокОС
|
| ) КАК Амортизация
|
| ЛЕВОЕ СОЕДИНЕНИЕ СпособыОтраженияАмортизацииУУ КАК СпособыОтраженияАмортизации
| ПО (СпособыОтраженияАмортизации.СпособОтраженияАмортизации = Амортизация.СпособОтраженияАмортизации)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ОбесценениеВНА КАК ОбесценениеВНА
| ПО ОбесценениеВНА.ОсновноеСредство = Амортизация.ОсновноеСредство
|";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РаспределениеСуммыБУ", ВнеоборотныеАктивыСлужебный.ТекстРаспределенияСуммыАмортизации("Амортизация.СуммаБУ"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РаспределениеОбесцененияБУ", ВнеоборотныеАктивыСлужебный.ТекстРаспределенияСуммыАмортизации("Амортизация.ОбесценениеБУ"));
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаНачисленнаяАмортизация(СписокЗапросов, ПараметрыРасчета)
СписокПодзапросов = Новый Массив;
ТекстПодзапроса =
" ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Ссылка,
| РасчетАмортизации.ПериодРасчета КАК ПериодРасчета,
| РасчетАмортизации.ПериодРасчета КАК ПериодНачисления,
| РасчетАмортизации.Организация КАК Организация,
| РасчетАмортизации.Подразделение КАК Подразделение,
| РасчетАмортизации.КорПодразделение КАК КорПодразделение,
| РасчетАмортизации.ОсновноеСредство КАК ОсновноеСредство,
| РасчетАмортизации.ЕГДС КАК ЕГДС,
| РасчетАмортизации.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| РасчетАмортизации.НаправлениеДеятельности КАК НаправлениеДеятельности,
| РасчетАмортизации.КорНаправлениеДеятельности КАК КорНаправлениеДеятельности,
| РасчетАмортизации.СтатьяРасходов КАК СтатьяРасходов,
| РасчетАмортизации.АналитикаРасходов КАК АналитикаРасходов,
| РасчетАмортизации.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| РасчетАмортизации.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| ЛОЖЬ КАК НачислятьИзнос,
|
| РасчетАмортизации.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| РасчетАмортизации.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
|
| ВЫБОР
| КОГДА РасчетАмортизации.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА РасчетАмортизации.РесурсВыработанныйЗаПрошлыйПериод
| ИНАЧЕ NULL
| КОНЕЦ КАК РесурсВыработанныйЗаПрошлыйПериодБУ,
|
| ВЫБОР
| КОГДА РасчетАмортизации.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА РасчетАмортизации.РесурсВыработанныйЗаТекущийПериод
| ИНАЧЕ NULL
| КОНЕЦ КАК РесурсВыработанныйЗаТекущийПериодБУ,
|
| РасчетАмортизации.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА РасчетАмортизации.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА РасчетАмортизации.СтоимостьДляВычисленияАмортизацииРегл
| ИНАЧЕ NULL
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизацииРегл,
|
| ВЫБОР
| КОГДА РасчетАмортизации.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА РасчетАмортизации.ОстатокОбесцененияРегл
| ИНАЧЕ NULL
| КОНЕЦ КАК ОстатокОбесцененияРегл,
|
| РасчетАмортизации.ОстатокОбесцененияУпр КАК ОстатокОбесцененияУпр,
|
| РасчетАмортизации.ЭтоДоначисление КАК ЭтоДоначисление,
|
| ВЫБОР
| КОГДА РасчетАмортизации.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА РасчетАмортизации.ЭтоДоначисление
| ИНАЧЕ NULL
| КОНЕЦ КАК ЭтоДоначислениеБУ,
|
| РасчетАмортизации.ПорядокУчетаВНА КАК ПорядокУчетаУУ,
|
| ВЫБОР
| КОГДА РасчетАмортизации.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА РасчетАмортизации.ПорядокУчетаВНА
| ИНАЧЕ NULL
| КОНЕЦ КАК ПорядокУчетаБУ,
|
| РасчетАмортизации.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
|
| ВЫБОР
| КОГДА РасчетАмортизации.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА РасчетАмортизации.ПорядокНачисленияАмортизацииУУ
| ИНАЧЕ NULL
| КОНЕЦ КАК ПорядокНачисленияАмортизацииБУ,
|
| РасчетАмортизации.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
|
| РасчетАмортизации.СуммаУУ КАК СуммаУУ,
|
| ВЫБОР
| КОГДА РасчетАмортизации.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА РасчетАмортизации.СуммаБУ
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаБУ,
|
| 0 КАК СуммаНУ,
| 0 КАК СуммаПР,
| 0 КАК СуммаВР,
| 0 КАК СуммаЦФ,
| 0 КАК СуммаНУЦФ,
| 0 КАК СуммаПРЦФ,
| 0 КАК СуммаВРЦФ,
|
| РасчетАмортизации.ОбесценениеУУ КАК ОбесценениеУУ,
|
| ВЫБОР
| КОГДА РасчетАмортизации.ПорядокУчетаВНАРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.СовпадаетСУпрУчетом)
| ТОГДА РасчетАмортизации.ОбесценениеБУ
| ИНАЧЕ 0
| КОНЕЦ КАК ОбесценениеБУ,
|
| 0 КАК ОбесценениеЦФ
|
| ИЗ
| РасчетАмортизации_УУ КАК РасчетАмортизации
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Ссылка,
| РасчетАмортизации.ПериодРасчета КАК ПериодРасчета,
| РасчетАмортизации.ПериодРасчета КАК ПериодНачисления,
| РасчетАмортизации.Организация КАК Организация,
| РасчетАмортизации.Подразделение КАК Подразделение,
| РасчетАмортизации.КорПодразделение КАК КорПодразделение,
| РасчетАмортизации.ОсновноеСредство КАК ОсновноеСредство,
| РасчетАмортизации.ЕГДС КАК ЕГДС,
| РасчетАмортизации.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| РасчетАмортизации.НаправлениеДеятельности КАК НаправлениеДеятельности,
| РасчетАмортизации.КорНаправлениеДеятельности КАК КорНаправлениеДеятельности,
| РасчетАмортизации.СтатьяРасходов КАК СтатьяРасходов,
| РасчетАмортизации.АналитикаРасходов КАК АналитикаРасходов,
| РасчетАмортизации.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| РасчетАмортизации.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| ЛОЖЬ КАК НачислятьИзнос,
|
| 0 КАК РесурсВыработанныйЗаПрошлыйПериод,
| 0 КАК РесурсВыработанныйЗаТекущийПериод,
|
| РасчетАмортизации.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериодБУ,
| РасчетАмортизации.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериодБУ,
|
| 0 КАК СтоимостьДляВычисленияАмортизации,
| РасчетАмортизации.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| РасчетАмортизации.ОстатокОбесцененияРегл КАК ОстатокОбесцененияРегл,
| 0 КАК ОстатокОбесцененияУпр,
| ЛОЖЬ КАК ЭтоДоначисление,
| РасчетАмортизации.ЭтоДоначисление КАК ЭтоДоначислениеБУ,
| НЕОПРЕДЕЛЕНО КАК ПорядокУчетаУУ,
| РасчетАмортизации.ПорядокУчетаВНА КАК ПорядокУчетаБУ,
| НЕОПРЕДЕЛЕНО КАК ПорядокНачисленияАмортизацииУУ,
| РасчетАмортизации.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| РасчетАмортизации.ВариантПроводокПоОбесценениюВНА КАК ВариантПроводокПоОбесценениюВНА,
|
| 0 КАК СуммаУУ,
|
| РасчетАмортизации.СуммаБУ КАК СуммаБУ,
|
| 0 КАК СуммаНУ,
| 0 КАК СуммаПР,
| 0 КАК СуммаВР,
| 0 КАК СуммаЦФ,
| 0 КАК СуммаНУЦФ,
| 0 КАК СуммаПРЦФ,
| 0 КАК СуммаВРЦФ,
|
| 0 КАК ОбесценениеУУ,
|
| ВЫБОР
| КОГДА НЕ &ВедетсяРегламентированныйУчетВНА
| ТОГДА РасчетАмортизации.ОбесценениеБУ
| ИНАЧЕ 0
| КОНЕЦ КАК ОбесценениеБУ,
|
| 0 КАК ОбесценениеЦФ
|
| ИЗ
| РасчетАмортизации_БУ_МУ КАК РасчетАмортизации
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Ссылка,
| РасчетАмортизации.ПериодРасчета КАК ПериодРасчета,
| РасчетАмортизации.ПериодНачисления КАК ПериодНачисления,
| РасчетАмортизации.Организация КАК Организация,
| РасчетАмортизации.Подразделение КАК Подразделение,
| РасчетАмортизации.КорПодразделение КАК КорПодразделение,
| РасчетАмортизации.ОсновноеСредство КАК ОсновноеСредство,
| ЗНАЧЕНИЕ(Справочник.ЕдиницыГенерирующиеДенежныеСредства.ПустаяСсылка) КАК ЕГДС,
| РасчетАмортизации.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| РасчетАмортизации.НаправлениеДеятельности КАК НаправлениеДеятельности,
| РасчетАмортизации.КорНаправлениеДеятельности КАК КорНаправлениеДеятельности,
| РасчетАмортизации.СтатьяРасходов КАК СтатьяРасходов,
| РасчетАмортизации.АналитикаРасходов КАК АналитикаРасходов,
| РасчетАмортизации.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| РасчетАмортизации.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| ЛОЖЬ КАК НачислятьИзнос,
| РасчетАмортизации.РесурсВыработанныйЗаПрошлыйПериодУУ КАК РесурсВыработанныйЗаПрошлыйПериод,
| РасчетАмортизации.РесурсВыработанныйЗаТекущийПериодУУ КАК РесурсВыработанныйЗаТекущийПериод,
| РасчетАмортизации.РесурсВыработанныйЗаПрошлыйПериодБУ КАК РесурсВыработанныйЗаПрошлыйПериодБУ,
| РасчетАмортизации.РесурсВыработанныйЗаТекущийПериодБУ КАК РесурсВыработанныйЗаТекущийПериодБУ,
| РасчетАмортизации.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| РасчетАмортизации.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| 0 КАК ОстатокОбесцененияРегл,
| 0 КАК ОстатокОбесцененияУпр,
| ИСТИНА КАК ЭтоДоначисление,
| ИСТИНА КАК ЭтоДоначислениеБУ,
| РасчетАмортизации.ПорядокУчетаУУ КАК ПорядокУчетаУУ,
| РасчетАмортизации.ПорядокУчетаБУ КАК ПорядокУчетаБУ,
| РасчетАмортизации.ПорядокНачисленияАмортизацииУУ КАК ПорядокНачисленияАмортизацииУУ,
| РасчетАмортизации.ПорядокНачисленияАмортизацииБУ КАК ПорядокНачисленияАмортизацииБУ,
| НЕОПРЕДЕЛЕНО КАК ВариантПроводокПоОбесценениюВНА,
|
| РасчетАмортизации.СуммаУУ КАК СуммаУУ,
| РасчетАмортизации.СуммаБУ КАК СуммаБУ,
| РасчетАмортизации.СуммаНУ КАК СуммаНУ,
| РасчетАмортизации.СуммаПР КАК СуммаПР,
| РасчетАмортизации.СуммаВР КАК СуммаВР,
| РасчетАмортизации.СуммаЦФ КАК СуммаЦФ,
| РасчетАмортизации.СуммаНУЦФ КАК СуммаНУЦФ,
| РасчетАмортизации.СуммаПРЦФ КАК СуммаПРЦФ,
| РасчетАмортизации.СуммаВРЦФ КАК СуммаВРЦФ,
|
| 0 КАК ОбесценениеУУ,
| 0 КАК ОбесценениеБУ,
| 0 КАК ОбесценениеЦФ
|
| ИЗ
| ДоначислениеПринятыхКУчетуПрошлойДатой КАК РасчетАмортизации
|";
СписокПодзапросов.Добавить(ТекстПодзапроса);
АмортизацияОСЛокализация.ДополнитьТекстПодзапросаНачисленнаяАмортизация(СписокПодзапросов, ПараметрыРасчета);
ТекстПодзапроса = СтрСоединить(СписокПодзапросов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстЗапросаВтНачисленнаяАмортизация(СписокЗапросов, ТекстПодзапроса);
КонецПроцедуры
Функция ТекстЗапросаКоличествоОбработанныхДанных(ПараметрыРасчета)
ТекстЗапроса = АмортизацияОСЛокализация.ТекстЗапросаКоличествоОбработанныхДанных(ПараметрыРасчета);
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(КОЛИЧЕСТВО(РасчетАмортизации.ОсновноеСредство), 0) КАК КоличествоДанных
|ИЗ
| (ВЫБРАТЬ
| РасчетАмортизации.ОсновноеСредство КАК ОсновноеСредство
| ИЗ
| РасчетАмортизации_УУ КАК РасчетАмортизации
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РасчетАмортизации.ОсновноеСредство
| ИЗ
| РасчетАмортизации_БУ_МУ КАК РасчетАмортизации) КАК РасчетАмортизации";
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаСуммаАмортизацииУУ(ПараметрыТекстаЗапроса) Экспорт
ТекстЗапроса =
"ВЫБОР
| КОГДА НЕ СписокОС.НачислятьАмортизацию
| ИЛИ (&ОстаточнаяСтоимость - &СуммаДоначисления - &ЛиквидационнаяСтоимость - &ОстатокОбесценения) = 0
| ИЛИ (&ОстаточнаяСтоимость - &СуммаДоначисления - &ЛиквидационнаяСтоимость - &ОстатокОбесценения) <= 0
| И (&ОстаточнаяСтоимость - &СуммаДоначисления - &ОстатокОбесценения) >= 0
| ИЛИ (&ОстаточнаяСтоимость - &СуммаДоначисления - &ОстатокОбесценения) < 0
| И (НЕ СписокОС.ОсновноеСредство.УчитыватьСтоимостьЛиквидационногоОбязательства
| ИЛИ НЕ СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| ИЛИ НЕ СписокОС.МетодНачисленияАмортизации В (
| ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.Линейный),
| ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)))
| ИЛИ СписокОС.РесурсВыработанныйЗаТекущийПериод <= 0
|
| ТОГДА 0
|
| КОГДА СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| И (СписокОС.РесурсВыработанныйЗаПрошлыйПериод + СписокОС.РесурсВыработанныйЗаТекущийПериод) >= СписокОС.РесурсНазначенный
|
| ТОГДА &ОстаточнаяСтоимость - &СуммаДоначисления - &ЛиквидационнаяСтоимость - &ОстатокОбесценения
|
| КОГДА СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| И СписокОС.МетодНачисленияАмортизации В (
| ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.Линейный),
| ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции))
|
| ТОГДА ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ВЫРАЗИТЬ(ВЫРАЗИТЬ(&СтоимостьДляВычисленияАмортизации - &СуммаДоначисления КАК ЧИСЛО(20,8))
| * ВЫРАЗИТЬ(СписокОС.РесурсВыработанныйЗаТекущийПериод КАК ЧИСЛО(20,8))
| / ВЫРАЗИТЬ(СписокОС.РесурсНазначенный - СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК ЧИСЛО(20,8)) КАК ЧИСЛО(31,2))
|
| КОГДА (&ОстаточнаяСтоимость - &СуммаДоначисления - &ОстатокОбесценения) < 0
| И СписокОС.ОсновноеСредство.УчитыватьСтоимостьЛиквидационногоОбязательства
|
| ТОГДА ВЫРАЗИТЬ(ВЫРАЗИТЬ(&СтоимостьДляВычисленияАмортизации - &СуммаДоначисления - &ОстатокОбесценения КАК ЧИСЛО(20,8))
| * ВЫРАЗИТЬ(СписокОС.РесурсВыработанныйЗаТекущийПериод КАК ЧИСЛО(20,8))
| / ВЫРАЗИТЬ(СписокОС.РесурсНазначенный - СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК ЧИСЛО(20,8)) КАК ЧИСЛО(31,2))
|
| ИНАЧЕ ВЫРАЗИТЬ(ВЫРАЗИТЬ(&СтоимостьДляВычисленияАмортизации - &СуммаДоначисления - &ЛиквидационнаяСтоимость - &ОстатокОбесценения КАК ЧИСЛО(20,8))
| * ВЫРАЗИТЬ(СписокОС.РесурсВыработанныйЗаТекущийПериод КАК ЧИСЛО(20,8))
| / ВЫРАЗИТЬ(СписокОС.РесурсНазначенный - СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК ЧИСЛО(20,8)) КАК ЧИСЛО(31,2))
| КОНЕЦ
|
| КОГДА СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| И СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.УменьшаемогоОстатка)
| И (СписокОС.РесурсНазначенный - СписокОС.РесурсВыработанныйЗаПрошлыйПериод - СписокОС.РесурсВыработанныйЗаТекущийПериод) <= 12
|
| ТОГДА ВЫБОР
| КОГДА СписокОС.ЭтоДоначисление
| ТОГДА ВЫРАЗИТЬ(ВЫРАЗИТЬ(&СтоимостьДляВычисленияАмортизации - &СуммаДоначисления КАК ЧИСЛО(20,8))
| * ВЫРАЗИТЬ(СписокОС.РесурсВыработанныйЗаТекущийПериод КАК ЧИСЛО(20,8))
| / ВЫРАЗИТЬ(СписокОС.РесурсНазначенный - СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК ЧИСЛО(20,8)) КАК ЧИСЛО(31,2))
|
| ИНАЧЕ ВЫРАЗИТЬ(ВЫРАЗИТЬ(&СтоимостьДляВычисленияАмортизации - &СуммаДоначисления - &ЛиквидационнаяСтоимость КАК ЧИСЛО(20,8))
| * ВЫРАЗИТЬ(СписокОС.РесурсВыработанныйЗаТекущийПериод КАК ЧИСЛО(20,8))
| / ВЫРАЗИТЬ(СписокОС.РесурсНазначенный - СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК ЧИСЛО(20,8)) КАК ЧИСЛО(31,2))
| КОНЕЦ
|
| КОГДА СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| И СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.УменьшаемогоОстатка)
|
| ТОГДА ВЫРАЗИТЬ((&СтоимостьДляВычисленияАмортизации - &СуммаДоначисления)
| * СписокОС.КоэффициентУскорения
| * ВЫРАЗИТЬ(СписокОС.РесурсВыработанныйЗаТекущийПериод КАК ЧИСЛО(20,8))
| / ВЫРАЗИТЬ(СписокОС.РесурсНазначенный
| - СписокОС.КоэффициентУскорения * (СписокОС.РесурсВыработанныйЗаПрошлыйПериод - СписокОС.ОтработанныхМесяцевПолныхЛет) КАК ЧИСЛО(20,8)) КАК ЧИСЛО(31,2))
|
| КОГДА НЕ СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| И СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.Линейный)
|
| ТОГДА ВЫБОР
| КОГДА СписокОС.РесурсНазначенный = 0
| ТОГДА 0
| ИНАЧЕ
| ВЫРАЗИТЬ(ВЫРАЗИТЬ(&СтоимостьДляВычисленияАмортизации КАК ЧИСЛО(20,8))
| / ВЫРАЗИТЬ(СписокОС.РесурсНазначенный КАК ЧИСЛО(20,8)) КАК ЧИСЛО(31,2))
| КОНЕЦ
|
| КОГДА НЕ СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| И СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
|
| ТОГДА ВЫБОР
| КОГДА СписокОС.РесурсВыработанныйЗаТекущийПериод <> 0 И СписокОС.РесурсНазначенный <> 0
| ТОГДА ВЫРАЗИТЬ(ВЫРАЗИТЬ(&СтоимостьДляВычисленияАмортизации КАК ЧИСЛО(20,8))
| * ВЫРАЗИТЬ(СписокОС.РесурсВыработанныйЗаТекущийПериод КАК ЧИСЛО(20,8))
| / ВЫРАЗИТЬ(СписокОС.РесурсНазначенный КАК ЧИСЛО(20,8)) КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ
|
| КОГДА НЕ СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
| И СписокОС.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.УменьшаемогоОстатка)
|
| ТОГДА ВЫБОР
| КОГДА СписокОС.РесурсНазначенный = 0
| ТОГДА 0
| ИНАЧЕ
| ВЫБОР
| КОГДА СписокОС.ДатаПоследнегоИзменения >= СписокОС.НачалоФинансовогоГода
| И СписокОС.ДатаПоследнегоИзменения <= СписокОС.КонецФинансовогоГода
|
| ТОГДА ВЫРАЗИТЬ(&СтоимостьДляВычисленияАмортизации
| / ВЫРАЗИТЬ(СписокОС.РесурсНазначенный КАК ЧИСЛО(20,8))
| * СписокОС.КоэффициентУскорения КАК ЧИСЛО(31,2))
| ИНАЧЕ
| ВЫРАЗИТЬ(&СтоимостьНаНачалоГода
| / ВЫРАЗИТЬ(СписокОС.РесурсНазначенный КАК ЧИСЛО(20,8))
| * СписокОС.КоэффициентУскорения КАК ЧИСЛО(31,2))
| КОНЕЦ
| КОНЕЦ
|КОНЕЦ";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СтоимостьДляВычисленияАмортизации", ПараметрыТекстаЗапроса.ТекстСтоимостьДляВычисленияАмортизации);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ЛиквидационнаяСтоимость", ПараметрыТекстаЗапроса.ТекстЛиквидационнаяСтоимость);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОстаточнаяСтоимость", ПараметрыТекстаЗапроса.ТекстОстаточнаяСтоимость);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СтоимостьНаНачалоГода", ПараметрыТекстаЗапроса.ТекстСтоимостьНаНачалоГода);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СуммаДоначисления", ПараметрыТекстаЗапроса.ТекстСуммаДоначисления);
ТекстОбесценение =
СтрЗаменить(
"(ВЫБОР КОГДА СписокОС.ВариантПроводокПоОбесценениюВНА = &ДоначислятьКорректировкуОбесценения ТОГДА &ОстатокОбесценения ИНАЧЕ 0 КОНЕЦ)",
"&ОстатокОбесценения",
ПараметрыТекстаЗапроса.ТекстОбесценение);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОстатокОбесценения", ТекстОбесценение);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаСуммаОбесценения(ТекстОстатокОбесценение)
ТекстЗапроса =
"ВЫБОР
| КОГДА НЕ СписокОС.НачислятьАмортизацию
| ИЛИ &ОстатокОбесценения <= 0
| ИЛИ НЕ СписокОС.АмортизацияНачисляетсяПоСтандартамМУ
|
| ТОГДА 0
|
| КОГДА (СписокОС.РесурсВыработанныйЗаПрошлыйПериод + СписокОС.РесурсВыработанныйЗаТекущийПериод) >= СписокОС.РесурсНазначенный
|
| ТОГДА &ОстатокОбесценения
|
| КОГДА СписокОС.МетодНачисленияАмортизации В (
| ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.Линейный),
| ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции))
|
| ТОГДА ВЫРАЗИТЬ(&ОстатокОбесценения
| * (ВЫРАЗИТЬ(СписокОС.РесурсВыработанныйЗаТекущийПериод КАК ЧИСЛО(20,8))
| / ВЫРАЗИТЬ(СписокОС.РесурсНазначенный - СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК ЧИСЛО(20,8))) КАК ЧИСЛО(31,2))
|
| ИНАЧЕ 0
|
|КОНЕЦ";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОстатокОбесценения", ТекстОстатокОбесценение);
Возврат ТекстЗапроса;
КонецФункции
Функция ПараметрыТекстаЗапросаСуммаАмортизацииУУ() Экспорт
ПараметрыТекстаЗапроса = Новый Структура;
ПараметрыТекстаЗапроса.Вставить("ТекстСтоимостьДляВычисленияАмортизации", "0");
ПараметрыТекстаЗапроса.Вставить("ТекстОстаточнаяСтоимость", "0");
ПараметрыТекстаЗапроса.Вставить("ТекстЛиквидационнаяСтоимость", "0");
ПараметрыТекстаЗапроса.Вставить("ТекстСтоимостьНаНачалоГода", "0");
ПараметрыТекстаЗапроса.Вставить("ТекстСуммаДоначисления", "0");
ПараметрыТекстаЗапроса.Вставить("ТекстОбесценение", "0");
Возврат ПараметрыТекстаЗапроса;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область РасчетАмортизацииПоТаблице
Процедура НачатьРасчетАмортизацииПоЗаданнымПараметрамБУ(РезультатРасчета, ТаблицыРасчета, ПараметрыРасчета)
ПараметрыЗаПериод = Неопределено;
Если НЕ ТаблицыРасчета.Свойство("ПараметрыЗаПериодБУ", ПараметрыЗаПериод) Тогда
Возврат;
КонецЕсли;
АмортизацияРассчитана = АмортизацияОСЛокализация.НачатьРасчетАмортизацииПоЗаданнымПараметрамБУ(
РезультатРасчета, ТаблицыРасчета, ПараметрыРасчета);
Если АмортизацияРассчитана Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ПараметрыЗаПериод.Дата КАК Период,
| ПараметрыЗаПериод.НеРассчитыватьАмортизациюБУ КАК НеРассчитыватьАмортизацию,
|
| 0 КАК Амортизация,
| ПараметрыЗаПериод.АмортизацияБУ КАК АмортизацияРегл,
| 0 КАК Стоимость,
| ПараметрыЗаПериод.СтоимостьБУ КАК СтоимостьРегл,
| 0 КАК АмортизацияИзменение,
| ПараметрыЗаПериод.АмортизацияРеглИзменение КАК АмортизацияРеглИзменение,
|
| ПараметрыЗаПериод.КоэффициентУскоренияБУ КАК КоэффициентУскорения,
| 0 КАК ЛиквидационнаяСтоимость,
| ПараметрыЗаПериод.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимостьРегл,
| ПараметрыЗаПериод.МетодНачисленияАмортизацииБУ КАК МетодНачисленияАмортизацииУУ,
| ПараметрыЗаПериод.НачислятьАмортизациюБУ КАК НачислятьАмортизациюУУ,
| ПараметрыЗаПериод.ОбъемВыработки КАК ОбъемВыработки,
| ПараметрыЗаПериод.ОбъемВыработкиНаНачалоМесяца КАК ОбъемВыработкиНаНачалоМесяца,
| ПараметрыЗаПериод.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ПараметрыЗаПериод.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ПараметрыЗаПериод.ДатаИзмененияПараметровБУ КАК ДатаИзмененияПараметров,
| 0 КАК СтоимостьДляВычисленияАмортизации,
| 0 КАК СтоимостьДляВычисленияАмортизацииРегл,
|
| &ЭтоАрендованныеОС КАК ЭтоАрендованныеОС,
| &Организация КАК Организация,
| &ОсновноеСредство КАК ОсновноеСредство,
| &ДатаВводаВЭксплуатациюБУ КАК ДатаВводаВЭксплуатациюУУ,
| 0 КАК СтоимостьНаНачалоГода,
| &СтоимостьРеглНаНачалоГода КАК СтоимостьРеглНаНачалоГода,
| 0 КАК АмортизацияНаНачалоГода,
| &АмортизацияРеглНаНачалоГода КАК АмортизацияРеглНаНачалоГода,
| 0 КАК АмортизацияНаНачалоПериода,
| &АмортизацияРеглНаНачалоПериода КАК АмортизацияРеглНаНачалоПериода
|
|ПОМЕСТИТЬ ЗначенияПараметров
|
|ИЗ
| &ПараметрыЗаПериодБУ КАК ПараметрыЗаПериод";
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("ПараметрыЗаПериодБУ", ПараметрыЗаПериод);
Запрос.УстановитьПараметр("Организация", ПараметрыРасчета.Организация);
Запрос.УстановитьПараметр("ОсновноеСредство", ПараметрыРасчета.ОсновноеСредство);
Запрос.УстановитьПараметр("ДатаВводаВЭксплуатациюБУ", ПараметрыРасчета.ДатаВводаВЭксплуатациюБУ);
Запрос.УстановитьПараметр("СтоимостьРеглНаНачалоГода", ПараметрыРасчета.СтоимостьРеглНаНачалоГода);
Запрос.УстановитьПараметр("АмортизацияРеглНаНачалоГода", ПараметрыРасчета.АмортизацияРеглНаНачалоГода);
Запрос.УстановитьПараметр("АмортизацияРеглНаНачалоПериода", ПараметрыРасчета.АмортизацияРеглНаНачалоПериода);
Запрос.УстановитьПараметр("ЭтоАрендованныеОС", ПараметрыРасчета.ЭтоАрендованныеОС);
Запрос.Выполнить();
РезультатРасчетаБУ = РассчитатьАмортизациюПоЗаданнымПараметрам("БУ", МенеджерВременныхТаблиц);
РезультатРасчетаБУ.Колонки.АмортизацияРегл.Имя = "АмортизацияБУ";
РезультатРасчетаБУ.Колонки.Добавить("АмортизацияПР", ОбщегоНазначенияУТ.ОписаниеТипаДенежногоПоля());
РезультатРасчетаБУ.Колонки.Добавить("АмортизацияЦФ", ОбщегоНазначенияУТ.ОписаниеТипаДенежногоПоля());
РезультатРасчета.Вставить("РезультатРасчетаБУ", РезультатРасчетаБУ);
КонецПроцедуры
Процедура НачатьРасчетАмортизацииПоЗаданнымПараметрамУУ(РезультатРасчета, ТаблицыРасчета, ПараметрыРасчета)
ПараметрыЗаПериод = Неопределено;
Если НЕ ТаблицыРасчета.Свойство("ПараметрыЗаПериодУУ", ПараметрыЗаПериод) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ПараметрыЗаПериод.Дата КАК Период,
| ПараметрыЗаПериод.НеРассчитыватьАмортизацию КАК НеРассчитыватьАмортизацию,
|
| ПараметрыЗаПериод.Амортизация КАК Амортизация,
| ПараметрыЗаПериод.АмортизацияРегл КАК АмортизацияРегл,
| ПараметрыЗаПериод.Стоимость КАК Стоимость,
| ПараметрыЗаПериод.СтоимостьРегл КАК СтоимостьРегл,
| ПараметрыЗаПериод.АмортизацияИзменение КАК АмортизацияИзменение,
| ПараметрыЗаПериод.АмортизацияРеглИзменение КАК АмортизацияРеглИзменение,
|
| ПараметрыЗаПериод.КоэффициентУскорения КАК КоэффициентУскорения,
| ПараметрыЗаПериод.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ПараметрыЗаПериод.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| ПараметрыЗаПериод.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизацииУУ,
| ПараметрыЗаПериод.НачислятьАмортизациюУУ КАК НачислятьАмортизациюУУ,
| ПараметрыЗаПериод.ОбъемВыработки КАК ОбъемВыработки,
| ПараметрыЗаПериод.ОбъемВыработкиНаНачалоМесяца КАК ОбъемВыработкиНаНачалоМесяца,
| ПараметрыЗаПериод.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ПараметрыЗаПериод.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ПараметрыЗаПериод.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| ПараметрыЗаПериод.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| ПараметрыЗаПериод.ДатаИзмененияПараметровУУ КАК ДатаИзмененияПараметров,
|
| &ЭтоАрендованныеОС КАК ЭтоАрендованныеОС,
| &Организация КАК Организация,
| &ОсновноеСредство КАК ОсновноеСредство,
| &ДатаВводаВЭксплуатациюУУ КАК ДатаВводаВЭксплуатациюУУ,
| &СтоимостьНаНачалоГода КАК СтоимостьНаНачалоГода,
| &СтоимостьРеглНаНачалоГода КАК СтоимостьРеглНаНачалоГода,
| &АмортизацияНаНачалоГода КАК АмортизацияНаНачалоГода,
| &АмортизацияРеглНаНачалоГода КАК АмортизацияРеглНаНачалоГода,
| &АмортизацияНаНачалоПериода КАК АмортизацияНаНачалоПериода,
| &АмортизацияРеглНаНачалоПериода КАК АмортизацияРеглНаНачалоПериода
|
|ПОМЕСТИТЬ ЗначенияПараметров
|
|ИЗ
| &ПараметрыЗаПериод КАК ПараметрыЗаПериод";
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("ПараметрыЗаПериод", ПараметрыЗаПериод);
Запрос.УстановитьПараметр("Организация", ПараметрыРасчета.Организация);
Запрос.УстановитьПараметр("ОсновноеСредство", ПараметрыРасчета.ОсновноеСредство);
Запрос.УстановитьПараметр("ДатаВводаВЭксплуатациюУУ", ПараметрыРасчета.ДатаВводаВЭксплуатациюУУ);
Запрос.УстановитьПараметр("СтоимостьНаНачалоГода", ПараметрыРасчета.СтоимостьНаНачалоГода);
Запрос.УстановитьПараметр("СтоимостьРеглНаНачалоГода", ПараметрыРасчета.СтоимостьРеглНаНачалоГода);
Запрос.УстановитьПараметр("АмортизацияНаНачалоГода", ПараметрыРасчета.АмортизацияНаНачалоГода);
Запрос.УстановитьПараметр("АмортизацияРеглНаНачалоГода", ПараметрыРасчета.АмортизацияРеглНаНачалоГода);
Запрос.УстановитьПараметр("АмортизацияНаНачалоПериода", ПараметрыРасчета.АмортизацияНаНачалоПериода);
Запрос.УстановитьПараметр("АмортизацияРеглНаНачалоПериода", ПараметрыРасчета.АмортизацияРеглНаНачалоПериода);
Запрос.УстановитьПараметр("ЭтоАрендованныеОС", ПараметрыРасчета.ЭтоАрендованныеОС);
Запрос.Выполнить();
РезультатРасчетаУУ = РассчитатьАмортизациюПоЗаданнымПараметрам("УУ", МенеджерВременныхТаблиц);
РезультатРасчета.Вставить("РезультатРасчетаУУ", РезультатРасчетаУУ);
КонецПроцедуры
Функция РассчитатьАмортизациюПоЗаданнымПараметрам(ВидУчета, МенеджерВременныхТаблиц)
ИспользуемыеВТ = ОбщегоНазначенияУТ.СписокВременныхТаблиц(МенеджерВременныхТаблиц);
МетаданныеРегистра = Метаданные.РегистрыНакопления.АмортизацияОС;
РезультатРасчета = Новый ТаблицаЗначений();
РезультатРасчета.Колонки.Добавить("Период", ОбщегоНазначения.ОписаниеТипаДата(ЧастиДаты.Дата));
РезультатРасчета.Колонки.Добавить("Амортизация", ОбщегоНазначенияУТ.ОписаниеТипаДенежногоПоля());
РезультатРасчета.Колонки.Добавить("АмортизацияРегл", ОбщегоНазначенияУТ.ОписаниеТипаДенежногоПоля());
РезультатРасчета.Колонки.Добавить("РесурсВыработанныйЗаПрошлыйПериод", МетаданныеРегистра.Реквизиты.РесурсВыработанныйЗаПрошлыйПериод.Тип);
РезультатРасчета.Колонки.Добавить("РесурсВыработанныйЗаТекущийПериод", МетаданныеРегистра.Реквизиты.РесурсВыработанныйЗаТекущийПериод.Тип);
РезультатРасчета.Колонки.Добавить("СтоимостьДляВычисленияАмортизации", МетаданныеРегистра.Реквизиты.СтоимостьДляВычисленияАмортизации.Тип);
РезультатРасчета.Колонки.Добавить("ПорядокНачисленияАмортизации", МетаданныеРегистра.Реквизиты.ПорядокНачисленияАмортизацииУУ.Тип);
РезультатРасчета.Колонки.Добавить("ПорядокУчета", МетаданныеРегистра.Реквизиты.ПорядокУчетаУУ.Тип);
ТекстЗапроса =
"ВЫБРАТЬ
| УчетнаяПолитика_Период.Период КАК Период,
| УчетнаяПолитика_Период.Организация КАК Организация,
|
| ВЫБОР
| КОГДА &ВидУчета = ""БУ""
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)
| ИНАЧЕ УчетнаяПолитика.ПорядокУчетаВНА
| КОНЕЦ КАК ПорядокУчетаВНА,
|
| ВЫБОР
| КОГДА &ВидУчета = ""БУ"" И УчетнаяПолитика_Период.ЭтоАрендованныеОС
| ТОГДА УчетнаяПолитика.ПорядокНачисленияАмортизацииАрендаРегл
| КОГДА &ВидУчета = ""БУ"" И НЕ УчетнаяПолитика_Период.ЭтоАрендованныеОС
| ТОГДА УчетнаяПолитика.ПорядокНачисленияАмортизацииОСРегл
| КОГДА УчетнаяПолитика_Период.ЭтоАрендованныеОС
| ТОГДА УчетнаяПолитика.ПорядокНачисленияАмортизацииАренда
| ИНАЧЕ УчетнаяПолитика.ПорядокНачисленияАмортизацииОС
| КОНЕЦ КАК ПорядокНачисленияАмортизации,
|
| УчетнаяПолитика.МесяцНачалаФинансовогоГода КАК МесяцНачалаФинансовогоГода
|
|ПОМЕСТИТЬ УчетнаяПолитика
|
|ИЗ
| (ВЫБРАТЬ
| ЗначенияПараметров.Период КАК Период,
| ЗначенияПараметров.Организация КАК Организация,
| ЗначенияПараметров.ЭтоАрендованныеОС КАК ЭтоАрендованныеОС,
| Организации.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| МАКСИМУМ(УчетнаяПолитика.Период) КАК ПериодУчетнаяПолитика
| ИЗ
| ЗначенияПараметров КАК ЗначенияПараметров
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
| ПО Организации.Ссылка = ЗначенияПараметров.Организация
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = Организации.ГоловнаяОрганизация
| И УчетнаяПолитика.Период <= ЗначенияПараметров.Период
|
| СГРУППИРОВАТЬ ПО
| ЗначенияПараметров.Период,
| ЗначенияПараметров.Организация,
| ЗначенияПараметров.ЭтоАрендованныеОС,
| Организации.ГоловнаяОрганизация
|
| ) КАК УчетнаяПолитика_Период
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаФинансовогоУчета КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Организация = УчетнаяПолитика_Период.ГоловнаяОрганизация
| И УчетнаяПолитика.Период = УчетнаяПолитика_Период.ПериодУчетнаяПолитика
|;
|
|
|ВЫБРАТЬ
| ЗначенияПараметров.Период КАК Период,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) КАК ПорядокУчетаВНА,
| ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизации, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)) КАК ПорядокНачисленияАмортизации,
|
| ВЫБОР
| КОГДА МЕСЯЦ(ЗначенияПараметров.Период) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ЗначенияПараметров.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 13)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ЗначенияПараметров.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| КОНЕЦ КАК НачалоФинансовогоГода,
|
| ВЫБОР
| КОГДА МЕСЯЦ(ЗначенияПараметров.Период) < ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1)
| ТОГДА ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ЗначенияПараметров.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) - 1)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ЗначенияПараметров.Период, ГОД), МЕСЯЦ, ЕСТЬNULL(УчетнаяПолитика.МесяцНачалаФинансовогоГода, 1) + 11)
| КОНЕЦ КАК КонецФинансовогоГода
|
|ИЗ
| ЗначенияПараметров КАК ЗначенияПараметров
|
| ЛЕВОЕ СОЕДИНЕНИЕ УчетнаяПолитика КАК УчетнаяПолитика
| ПО УчетнаяПолитика.Период = ЗначенияПараметров.Период
| И УчетнаяПолитика.Организация = ЗначенияПараметров.Организация
|
|ГДЕ
| (ЕСТЬNULL(УчетнаяПолитика.ПорядокУчетаВНА, ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)
| И ЕСТЬNULL(УчетнаяПолитика.ПорядокНачисленияАмортизации, ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)) = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| ИЛИ КОНЕЦПЕРИОДА(ЗначенияПараметров.Период, ДЕНЬ) = КОНЕЦПЕРИОДА(ЗначенияПараметров.Период, МЕСЯЦ))
|
|УПОРЯДОЧИТЬ ПО
| Период";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("ВидУчета", ВидУчета);
РасчетАмортизацииОС.УстановитьПараметрыЗапросаДляРасчетаАмортизации(Запрос);
АмортизацияЗаПериод = 0;
АмортизацияРеглЗаПериод = 0;
Результат = Запрос.Выполнить();
ВыборкаДат = Результат.Выбрать();
Пока ВыборкаДат.Следующий() Цикл
Запрос.УстановитьПараметр("Период", КонецДня(ВыборкаДат.Период));
Запрос.УстановитьПараметр("НачалоМесяца", НачалоМесяца(ВыборкаДат.Период));
Запрос.УстановитьПараметр("КонецМесяца", КонецМесяца(ВыборкаДат.Период));
Запрос.УстановитьПараметр("АмортизацияЗаПериод", АмортизацияЗаПериод);
Запрос.УстановитьПараметр("АмортизацияРеглЗаПериод", АмортизацияРеглЗаПериод);
Запрос.УстановитьПараметр("ПорядокУчетаВНА", ВыборкаДат.ПорядокУчетаВНА);
Запрос.УстановитьПараметр("ПорядокНачисленияАмортизации", ВыборкаДат.ПорядокНачисленияАмортизации);
Запрос.УстановитьПараметр("НачалоФинансовогоГода", ВыборкаДат.НачалоФинансовогоГода);
Запрос.УстановитьПараметр("КонецФинансовогоГода", ВыборкаДат.КонецФинансовогоГода);
#Область ПодготовкаПараметров
ТекстЗапроса =
"ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(ЗначенияПараметров.Период, МЕСЯЦ) КАК НачалоМесяца,
| КОНЕЦПЕРИОДА(ЗначенияПараметров.Период, МЕСЯЦ) КАК КонецМесяца,
|
| КОНЕЦПЕРИОДА(ЗначенияПараметров.Период, ДЕНЬ) КАК Период,
| ЗначенияПараметров.Организация КАК Организация,
| ЗначенияПараметров.ОсновноеСредство КАК ОсновноеСредство,
| ЗначенияПараметров.НеРассчитыватьАмортизацию КАК НеРассчитыватьАмортизацию,
| ЗначенияПараметров.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ЗначенияПараметров.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| ЗначенияПараметров.НачислятьАмортизациюУУ КАК НачислятьАмортизациюУУ,
| ЗначенияПараметров.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| ЗначенияПараметров.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| ЗначенияПараметров.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизацииУУ,
| ЗначенияПараметров.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ЗначенияПараметров.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
|
| ЗначенияПараметров.Стоимость КАК Стоимость,
| ЗначенияПараметров.СтоимостьРегл КАК СтоимостьРегл,
|
| ЗначенияПараметров.Амортизация КАК Амортизация,
| ЗначенияПараметров.АмортизацияРегл КАК АмортизацияРегл,
| ЗначенияПараметров.АмортизацияИзменение КАК АмортизацияИзменение,
| ЗначенияПараметров.АмортизацияРеглИзменение КАК АмортизацияРеглИзменение,
|
| ЗначенияПараметров.СтоимостьНаНачалоГода КАК СтоимостьНаНачалоГода,
| ЗначенияПараметров.СтоимостьРеглНаНачалоГода КАК СтоимостьРеглНаНачалоГода,
|
| ЗначенияПараметров.АмортизацияНаНачалоГода КАК АмортизацияНаНачалоГода,
| ЗначенияПараметров.АмортизацияРеглНаНачалоГода КАК АмортизацияРеглНаНачалоГода,
|
| ЗначенияПараметров.ОбъемВыработки КАК ОбъемВыработки,
| ЗначенияПараметров.КоэффициентУскорения КАК КоэффициентУскорения,
| ЗначенияПараметров.АмортизацияНаНачалоПериода КАК АмортизацияНаНачалоПериода,
| ЗначенияПараметров.АмортизацияРеглНаНачалоПериода КАК АмортизацияРеглНаНачалоПериода,
| ЗначенияПараметров.ОбъемВыработкиНаНачалоМесяца КАК ОбъемВыработкиНаНачалоМесяца,
|
| ВЫБОР
| КОГДА &ПорядокНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| ТОГДА ЗначенияПараметров.ДатаИзмененияПараметров
| ИНАЧЕ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ЗначенияПараметров.ДатаИзмененияПараметров, МЕСЯЦ, 1), МЕСЯЦ)
| КОНЕЦ КАК ДатаПоследнегоИзменения
|
|ПОМЕСТИТЬ ЗначенияПараметровЗаМесяц
|
|ИЗ
| ЗначенияПараметров КАК ЗначенияПараметров
|
|ГДЕ
| (&ПорядокУчетаВНА = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ)
| И &ПорядокНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| И ЗначенияПараметров.Период МЕЖДУ &НачалоМесяца И &КонецМесяца
|
| ИЛИ (&ПорядокУчетаВНА = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамРегл)
| ИЛИ &ПорядокНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СоСледующегоМесяца))
| И КОНЕЦПЕРИОДА(ЗначенияПараметров.Период, ДЕНЬ) = &Период)
|;
|
|
|ВЫБРАТЬ
| ЗначенияПараметров.НачалоМесяца КАК НачалоМесяца,
| ЗначенияПараметров.Период КАК Период,
| ЕСТЬNULL(МАКСИМУМ(ЗначенияПараметровПредыдущее.Период), ДАТАВРЕМЯ(1,1,1)) КАК ПериодПредыдущее
|
|ПОМЕСТИТЬ ЗначенияПараметровПредыдущее
|
|ИЗ
| ЗначенияПараметровЗаМесяц КАК ЗначенияПараметров
|
| ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПараметровЗаМесяц КАК ЗначенияПараметровПредыдущее
| ПО (ЗначенияПараметровПредыдущее.НачалоМесяца = ЗначенияПараметров.НачалоМесяца)
| И (ЗначенияПараметровПредыдущее.Период < ЗначенияПараметров.Период)
| И (&ПорядокУчетаВНА = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ))
| И (&ПорядокНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету))
|
|СГРУППИРОВАТЬ ПО
| ЗначенияПараметров.НачалоМесяца,
| ЗначенияПараметров.Период
|;
|
|
|ВЫБРАТЬ
| ЗначенияПараметров.НачалоМесяца КАК НачалоМесяца,
| ЗначенияПараметров.Период КАК Период,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(ЗначенияПараметровПредыдущее.ПериодПредыдущее, ДАТАВРЕМЯ(1,1,1)) <> ДАТАВРЕМЯ(1,1,1)
| ТОГДА РАЗНОСТЬДАТ(ЗначенияПараметровПредыдущее.ПериодПредыдущее, ЗначенияПараметров.Период, ДЕНЬ)
| КОГДА НАЧАЛОПЕРИОДА(ЗначенияПараметров.Период, МЕСЯЦ) = НАЧАЛОПЕРИОДА(ЗначенияПараметров.ДатаПоследнегоИзменения, МЕСЯЦ)
| ТОГДА РАЗНОСТЬДАТ(ЗначенияПараметров.ДатаПоследнегоИзменения, ЗначенияПараметров.Период, ДЕНЬ) + 1
| ИНАЧЕ РАЗНОСТЬДАТ(ЗначенияПараметров.НачалоМесяца, ЗначенияПараметров.Период, ДЕНЬ) + 1
| КОНЕЦ КАК Количество
|
|ПОМЕСТИТЬ КоличествоДнейИспользования
|
|ИЗ
| ЗначенияПараметровЗаМесяц КАК ЗначенияПараметров
|
| ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПараметровПредыдущее КАК ЗначенияПараметровПредыдущее
| ПО (ЗначенияПараметровПредыдущее.Период = ЗначенияПараметров.Период)
|;
|
|
|ВЫБРАТЬ
| ЗначенияПараметров.Период КАК Период,
| ЗначенияПараметров.Организация КАК Организация,
| ЗначенияПараметров.ОсновноеСредство КАК ОсновноеСредство,
|
| &ПорядокУчетаВНА = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамМУ) КАК АмортизацияНачисляетсяПоСтандартамМУ,
| НЕОПРЕДЕЛЕНО КАК ВариантПроводокПоОбесценениюВНА,
| &НачалоФинансовогоГода КАК НачалоФинансовогоГода,
| &КонецФинансовогоГода КАК КонецФинансовогоГода,
|
| ЗначенияПараметров.НеРассчитыватьАмортизацию КАК НеРассчитыватьАмортизацию,
| ЗначенияПараметров.Амортизация КАК Амортизация,
| ЗначенияПараметров.АмортизацияРегл КАК АмортизацияРегл,
|
| ЗначенияПараметров.АмортизацияИзменение КАК АмортизацияИзменение,
| ЗначенияПараметров.АмортизацияРеглИзменение КАК АмортизацияРеглИзменение,
|
| ЗначенияПараметров.Стоимость
| - ЗначенияПараметров.АмортизацияНаНачалоПериода
| - &АмортизацияЗаПериод КАК ОстаточнаяСтоимость,
|
| ЗначенияПараметров.СтоимостьРегл
| - ЗначенияПараметров.АмортизацияРеглНаНачалоПериода
| - &АмортизацияРеглЗаПериод КАК ОстаточнаяСтоимостьРегл,
|
| ЗначенияПараметров.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ЗначенияПараметров.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
|
| ЗначенияПараметров.НачислятьАмортизациюУУ КАК НачислятьАмортизацию,
| ЗначенияПараметров.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизации,
|
| ЗначенияПараметров.КоэффициентУскорения КАК КоэффициентУскорения,
| ЗначенияПараметров.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
|
| ЛОЖЬ КАК ЭтоДоначисление,
|
| ВЫБОР
| КОГДА ЗначенияПараметров.МетодНачисленияАмортизацииУУ = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ЗначенияПараметров.ОбъемПродукцииРаботДляВычисленияАмортизации
| ИНАЧЕ ЗначенияПараметров.СрокИспользованияДляВычисленияАмортизации
| КОНЕЦ КАК РесурсНазначенный,
|
| ВЫБОР
| КОГДА ЗначенияПараметров.МетодНачисленияАмортизацииУУ = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ВЫРАЗИТЬ(КоличествоДнейИспользования.Количество / ДЕНЬ(ЗначенияПараметров.КонецМесяца) * ЗначенияПараметров.ОбъемВыработки КАК ЧИСЛО(20,8))
|
| ИНАЧЕ ВЫРАЗИТЬ(КоличествоДнейИспользования.Количество / ДЕНЬ(ЗначенияПараметров.КонецМесяца) КАК ЧИСЛО(20,8))
|
| КОНЕЦ КАК РесурсВыработанныйЗаТекущийПериод,
|
| ВЫРАЗИТЬ(ВЫБОР
| КОГДА ЗначенияПараметров.МетодНачисленияАмортизацииУУ = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ЗначенияПараметров.ОбъемВыработкиНаНачалоМесяца
|
| КОГДА НАЧАЛОПЕРИОДА(ЗначенияПараметров.ДатаПоследнегоИзменения, МЕСЯЦ) = ЗначенияПараметров.НачалоМесяца
| ТОГДА 0
|
| КОГДА КОНЕЦПЕРИОДА(ЗначенияПараметров.ДатаПоследнегоИзменения, МЕСЯЦ) = КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(ЗначенияПараметров.НачалоМесяца, МЕСЯЦ, -1), МЕСЯЦ)
| ТОГДА (РАЗНОСТЬДАТ(ЗначенияПараметров.ДатаПоследнегоИзменения, КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(ЗначенияПараметров.НачалоМесяца, МЕСЯЦ, -1), МЕСЯЦ), ДЕНЬ) + 1)
| / ДЕНЬ(КОНЕЦПЕРИОДА(ЗначенияПараметров.ДатаПоследнегоИзменения, МЕСЯЦ))
|
| ИНАЧЕ
| (РАЗНОСТЬДАТ(ЗначенияПараметров.ДатаПоследнегоИзменения, КОНЕЦПЕРИОДА(ЗначенияПараметров.ДатаПоследнегоИзменения, МЕСЯЦ), ДЕНЬ) + 1)
| / ДЕНЬ(КОНЕЦПЕРИОДА(ЗначенияПараметров.ДатаПоследнегоИзменения, МЕСЯЦ))
| + РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ЗначенияПараметров.ДатаПоследнегоИзменения, МЕСЯЦ, 1), МЕСЯЦ), ЗначенияПараметров.КонецМесяца, МЕСЯЦ)
| КОНЕЦ КАК ЧИСЛО(20,8)) КАК РесурсВыработанныйЗаПрошлыйПериод,
|
| ВЫБОР
| КОГДА &ПорядокУчетаВНА = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамРегл)
| ТОГДА ЗначенияПараметров.СтоимостьДляВычисленияАмортизации
| ИНАЧЕ ЗначенияПараметров.Стоимость - ЗначенияПараметров.АмортизацияНаНачалоПериода - &АмортизацияЗаПериод
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА &ПорядокУчетаВНА = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНА.ПоСтандартамРегл)
| ТОГДА ЗначенияПараметров.СтоимостьДляВычисленияАмортизацииРегл
| ИНАЧЕ ЗначенияПараметров.СтоимостьРегл - ЗначенияПараметров.АмортизацияРеглНаНачалоПериода - &АмортизацияРеглЗаПериод
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизацииРегл,
|
| ЗначенияПараметров.СтоимостьНаНачалоГода
| - ЗначенияПараметров.АмортизацияНаНачалоГода КАК СтоимостьНаНачалоГода,
|
| ЗначенияПараметров.СтоимостьРеглНаНачалоГода
| - ЗначенияПараметров.АмортизацияРеглНаНачалоГода КАК СтоимостьРеглНаНачалоГода,
|
| ВЫБОР
| КОГДА ГОД(ЗначенияПараметров.ДатаПоследнегоИзменения) <> ГОД(ЗначенияПараметров.НачалоМесяца) ТОГДА
| 13 - МЕСЯЦ(ЗначенияПараметров.ДатаПоследнегоИзменения)
| + 12 * (ГОД(ЗначенияПараметров.НачалоМесяца) - Год(ЗначенияПараметров.ДатаПоследнегоИзменения) - 1)
| ИНАЧЕ 0
| КОНЕЦ КАК ОтработанныхМесяцевПолныхЛет
|
|ПОМЕСТИТЬ ВТ_СписокОССПараметрами_УУ
|
|ИЗ
| ЗначенияПараметровЗаМесяц КАК ЗначенияПараметров
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ КоличествоДнейИспользования КАК КоличествоДнейИспользования
| ПО (КоличествоДнейИспользования.Период = ЗначенияПараметров.Период)
|ГДЕ
| ЗначенияПараметров.Период = &Период";
Запрос.Текст = ТекстЗапроса;
Запрос.Выполнить();
#КонецОбласти
#Область РасчетАмортизации
ТекстЗапроса =
"ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(СписокОС.Период, ДЕНЬ) КАК Период,
|
| СписокОС.РесурсВыработанныйЗаПрошлыйПериод КАК РесурсВыработанныйЗаПрошлыйПериод,
| СписокОС.РесурсВыработанныйЗаТекущийПериод КАК РесурсВыработанныйЗаТекущийПериод,
| СписокОС.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| &ПорядокНачисленияАмортизации КАК ПорядокНачисленияАмортизации,
| &ПорядокУчетаВНА КАК ПорядокУчета,
|
| СписокОС.АмортизацияИзменение КАК АмортизацияИзменение,
| СписокОС.АмортизацияРеглИзменение КАК АмортизацияРеглИзменение,
|
| ВЫБОР
| КОГДА СписокОС.НеРассчитыватьАмортизацию
| ТОГДА СписокОС.Амортизация
|
| КОГДА (СписокОС.ОстаточнаяСтоимость - (&СуммаАмортизацииУУ)) > СписокОС.ЛиквидационнаяСтоимость
| ТОГДА
| ВЫБОР
| КОГДА (СписокОС.ОстаточнаяСтоимость - (&СуммаАмортизацииУУ) - СписокОС.ЛиквидационнаяСтоимость) < &МинимальнаяОстаточнаяСтоимостьУпр
|
| ТОГДА СписокОС.ОстаточнаяСтоимость - СписокОС.ЛиквидационнаяСтоимость
|
| ИНАЧЕ &СуммаАмортизацииУУ
| КОНЕЦ
|
| КОГДА (СписокОС.ОстаточнаяСтоимость - СписокОС.ЛиквидационнаяСтоимость) > 0
| ТОГДА (СписокОС.ОстаточнаяСтоимость -СписокОС.ЛиквидационнаяСтоимость)
|
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаУУ,
|
| ВЫБОР
| КОГДА СписокОС.НеРассчитыватьАмортизацию
| ТОГДА СписокОС.АмортизацияРегл
|
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - (&СуммаАмортизацииБУ)) > СписокОС.ЛиквидационнаяСтоимостьРегл
| ТОГДА
| ВЫБОР
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - (&СуммаАмортизацииБУ) - СписокОС.ЛиквидационнаяСтоимостьРегл) < &МинимальнаяОстаточнаяСтоимостьРегл
|
| ТОГДА СписокОС.ОстаточнаяСтоимостьРегл - СписокОС.ЛиквидационнаяСтоимостьРегл
|
| ИНАЧЕ &СуммаАмортизацииБУ
| КОНЕЦ
|
| КОГДА (СписокОС.ОстаточнаяСтоимостьРегл - СписокОС.ЛиквидационнаяСтоимостьРегл) > 0
| ТОГДА (СписокОС.ОстаточнаяСтоимостьРегл - СписокОС.ЛиквидационнаяСтоимостьРегл)
|
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаБУ
|
|ИЗ
| ВТ_СписокОССПараметрами_УУ КАК СписокОС";
ЗаменитьПараметрыТекстаЗапросаДляРасчетаАмортизации(ТекстЗапроса);
Запрос.Текст = ТекстЗапроса;
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
СтрокаАмортизация = РезультатРасчета.Добавить();
СтрокаАмортизация.Период = Выборка.Период;
СтрокаАмортизация.Амортизация = Выборка.СуммаУУ;
СтрокаАмортизация.АмортизацияРегл = Выборка.СуммаБУ;
АмортизацияЗаПериод = АмортизацияЗаПериод + СтрокаАмортизация.Амортизация + Выборка.АмортизацияИзменение;
АмортизацияРеглЗаПериод = АмортизацияРеглЗаПериод + СтрокаАмортизация.АмортизацияРегл + Выборка.АмортизацияРеглИзменение;
СтрокаАмортизация.РесурсВыработанныйЗаПрошлыйПериод = Выборка.РесурсВыработанныйЗаПрошлыйПериод;
СтрокаАмортизация.РесурсВыработанныйЗаТекущийПериод = Выборка.РесурсВыработанныйЗаТекущийПериод;
СтрокаАмортизация.СтоимостьДляВычисленияАмортизации = Выборка.СтоимостьДляВычисленияАмортизации;
СтрокаАмортизация.ПорядокНачисленияАмортизации = Выборка.ПорядокНачисленияАмортизации;
СтрокаАмортизация.ПорядокУчета = Выборка.ПорядокУчета;
КонецЦикла;
#КонецОбласти
ОбщегоНазначенияУТ.УничтожитьВременныеТаблицы(МенеджерВременныхТаблиц,, ИспользуемыеВТ);
КонецЦикла;
Возврат РезультатРасчета;
КонецФункции
Процедура ЗаменитьПараметрыТекстаЗапросаДляРасчетаАмортизации(ТекстЗапроса)
ПараметрыТекстаЗапроса = ПараметрыТекстаЗапросаСуммаАмортизацииУУ();
ПараметрыТекстаЗапроса.ТекстСтоимостьДляВычисленияАмортизации = "СписокОС.СтоимостьДляВычисленияАмортизации";
ПараметрыТекстаЗапроса.ТекстОстаточнаяСтоимость = "СписокОС.ОстаточнаяСтоимость";
ПараметрыТекстаЗапроса.ТекстЛиквидационнаяСтоимость = "СписокОС.ЛиквидационнаяСтоимость";
ПараметрыТекстаЗапроса.ТекстСтоимостьНаНачалоГода = "СписокОС.СтоимостьНаНачалоГода";
ТекстСуммаАмортизацииУУ = ТекстЗапросаСуммаАмортизацииУУ(ПараметрыТекстаЗапроса);
ПараметрыТекстаЗапроса.ТекстСтоимостьДляВычисленияАмортизации = "СписокОС.СтоимостьДляВычисленияАмортизацииРегл";
ПараметрыТекстаЗапроса.ТекстОстаточнаяСтоимость = "СписокОС.ОстаточнаяСтоимостьРегл";
ПараметрыТекстаЗапроса.ТекстЛиквидационнаяСтоимость = "СписокОС.ЛиквидационнаяСтоимостьРегл";
ПараметрыТекстаЗапроса.ТекстСтоимостьНаНачалоГода = "СписокОС.СтоимостьРеглНаНачалоГода";
ТекстСуммаАмортизацииБУ = ТекстЗапросаСуммаАмортизацииУУ(ПараметрыТекстаЗапроса);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СуммаАмортизацииУУ", ТекстСуммаАмортизацииУУ);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СуммаАмортизацииБУ", ТекстСуммаАмортизацииБУ);
КонецПроцедуры
Процедура ЗаполнитьПараметрыЗаПериодУУ(ПараметрыДляРасчета, Параметры)
Если НЕ Параметры.ЗаполнитьУУ Тогда
Возврат;
КонецЕсли;
ИспользуемыеВТ = ОбщегоНазначенияУТ.СписокВременныхТаблиц(Параметры.МенеджерВременныхТаблиц);
ПараметрыДляРасчета.Вставить("ДатаВводаВЭксплуатациюУУ", '00010101');
ПараметрыДляРасчета.Вставить("СтоимостьРеглНаНачалоГода", 0);
ПараметрыДляРасчета.Вставить("СтоимостьНаНачалоГода", 0);
ПараметрыДляРасчета.Вставить("АмортизацияРеглНаНачалоГода", 0);
ПараметрыДляРасчета.Вставить("АмортизацияНаНачалоГода", 0);
ПараметрыДляРасчета.Вставить("АмортизацияРеглНаНачалоПериода", 0);
ПараметрыДляРасчета.Вставить("АмортизацияНаНачалоПериода", 0);
СписокЗапросов = Новый Массив;
#Область ПервоначальныеСведенияОСУУ_Записи
ТекстЗапроса =
"ВЫБРАТЬ
| ЛОЖЬ КАК ЭтоИзменения,
|
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.ПервоначальнаяСтоимостьБУ КАК ПервоначальнаяСтоимостьБУ,
| ДанныеРегистра.ПервоначальнаяСтоимостьУУ КАК ПервоначальнаяСтоимостьУУ,
| ДанныеРегистра.ДокументВводаВЭксплуатациюБУ КАК ДокументВводаВЭксплуатациюБУ,
| ДанныеРегистра.ДокументВводаВЭксплуатациюУУ КАК ДокументВводаВЭксплуатациюУУ
|
|ПОМЕСТИТЬ ПервоначальныеСведенияОСУУ_Записи
|
|ИЗ
| ПервоначальныеСведенияОС_СрезПоследнихСУчетомИсправлений КАК ДанныеРегистра
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| (&ПоСтандартамМУ
| И &ПорядокНачисленияАмортизацииУпр = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации) КАК ЭтоИзменения,
|
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.ПервоначальнаяСтоимостьБУ КАК ПервоначальнаяСтоимостьБУ,
| ДанныеРегистра.ПервоначальнаяСтоимостьУУ КАК ПервоначальнаяСтоимостьУУ,
| ДанныеРегистра.ДокументВводаВЭксплуатациюБУ КАК ДокументВводаВЭксплуатациюБУ,
| ДанныеРегистра.ДокументВводаВЭксплуатациюУУ КАК ДокументВводаВЭксплуатациюУУ
|
|ИЗ
| ПервоначальныеСведенияОС_ЗаписиСУчетомИсправлений КАК ДанныеРегистра
|
|ГДЕ
| ДанныеРегистра.Период МЕЖДУ &НачалоПериода И &КонецПериодаБУ
| И ДанныеРегистра.ОсновноеСредство = &ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПорядокУчетаОС_Записи
ТекстЗапроса =
"ВЫБРАТЬ
| ЛОЖЬ КАК ЭтоИзменения,
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.ПоказательНаработки КАК ПоказательНаработки,
| ДанныеРегистра.ОбъемНаработки КАК ОбъемНаработки
|
|ПОМЕСТИТЬ ПорядокУчетаОС_Записи
|
|ИЗ
| ПорядокУчетаОС_СрезПоследнихСУчетомИсправлений КАК ДанныеРегистра
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| (&ПоСтандартамМУ
| И &ПорядокНачисленияАмортизацииУпр = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации) КАК ЭтоИзменения,
|
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.ПоказательНаработки КАК ПоказательНаработки,
| ДанныеРегистра.ОбъемНаработки КАК ОбъемНаработки
|ИЗ
| ПорядокУчетаОС_ЗаписиСУчетомИсправлений КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.Период МЕЖДУ &НачалоПериода И &КонецПериодаУУ
| И ДанныеРегистра.ОсновноеСредство = &ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПорядокУчетаОСУУ_Записи
ТекстЗапроса =
"ВЫБРАТЬ
| ЛОЖЬ КАК ЭтоИзменения,
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.НачислятьАмортизацию КАК НачислятьАмортизацию
|
|ПОМЕСТИТЬ ПорядокУчетаОСУУ_Записи
|
|ИЗ
| ПорядокУчетаОСУУ_СрезПоследнихСУчетомИсправлений КАК ДанныеРегистра
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| (&ПоСтандартамМУ
| И &ПорядокНачисленияАмортизацииУпр = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации) КАК ЭтоИзменения,
|
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.НачислятьАмортизацию КАК НачислятьАмортизациюУУ
|ИЗ
| ПорядокУчетаОСУУ_ЗаписиСУчетомИсправлений КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.Период МЕЖДУ &НачалоПериода И &КонецПериодаУУ
| И ДанныеРегистра.ОсновноеСредство = &ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПараметрыАмортизацииОСУУ_Записи
ТекстЗапроса =
"ВЫБРАТЬ
| ЛОЖЬ КАК ЭтоИзменения,
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ДанныеРегистра.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| ДанныеРегистра.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| ДанныеРегистра.КоэффициентУскорения КАК КоэффициентУскорения,
| ДанныеРегистра.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| ДанныеРегистра.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ДанныеРегистра.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| ДанныеРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ДанныеРегистра.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения
|
|ПОМЕСТИТЬ ПараметрыАмортизацииОСУУ_Записи
|
|ИЗ
| ПараметрыАмортизацииОСУУ_СрезПоследнихСУчетомИсправлений КАК ДанныеРегистра
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| (&ПоСтандартамМУ
| И &ПорядокНачисленияАмортизацииУпр = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации) КАК ЭтоИзменения,
|
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ДанныеРегистра.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| ДанныеРегистра.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| ДанныеРегистра.КоэффициентУскорения КАК КоэффициентУскорения,
| ДанныеРегистра.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| ДанныеРегистра.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ДанныеРегистра.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| ДанныеРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ДанныеРегистра.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения
|ИЗ
| ПараметрыАмортизацииОСУУ_ЗаписиСУчетомИсправлений КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.Период МЕЖДУ &НачалоПериода И &КонецПериодаУУ
| И ДанныеРегистра.ОсновноеСредство = &ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ТаблицаДатУУ
ТекстЗапроса =
"ВЫБРАТЬ
| СтандартныеДаты.Дата КАК Дата,
|
| ВЫБОР
| КОГДА &ПоСтандартамМУ И &ПорядокНачисленияАмортизацииУпр = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| ТОГДА СтандартныеДаты.Дата
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(СтандартныеДаты.Дата, МЕСЯЦ), СЕКУНДА, -1)
| КОНЕЦ КАК ДатаПараметров
|
|ПОМЕСТИТЬ ТаблицаИзмененийУУ
|
|ИЗ
| СтандартныеДаты КАК СтандартныеДаты
|ГДЕ
| СтандартныеДаты.Дата <= &КонецПериодаУУ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК Дата,
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК ДатаПараметров
|ИЗ
| ПорядокУчетаОСУУ_Записи КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.ЭтоИзменения
| И НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ) <> НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, МЕСЯЦ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК Дата,
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК ДатаПараметров
|ИЗ
| ПараметрыАмортизацииОСУУ_Записи КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.ЭтоИзменения
| И НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ) <> НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, МЕСЯЦ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК Дата,
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК ДатаПараметров
|ИЗ
| ПорядокУчетаОС_Записи КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.ЭтоИзменения
| И НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ) <> НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, МЕСЯЦ)
|;
|
|
|ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ДанныеРегистраРегистраторЗаписи.ДатаПараметров КАК ДатаПараметров,
| МестонахождениеОС_Записи.Организация КАК Организация
|
|ПОМЕСТИТЬ ТаблицаДатУУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ДатаПараметров КАК ДатаПараметров,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаИзменений.Дата КАК Дата,
| ТаблицаИзменений.ДатаПараметров КАК ДатаПараметров,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаИзмененийУУ КАК ТаблицаИзменений
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= ТаблицаИзменений.ДатаПараметров
|
| СГРУППИРОВАТЬ ПО
| ТаблицаИзменений.Дата,
| ТаблицаИзменений.ДатаПараметров
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи,
| ДанныеРегистраПериодЗаписи.ДатаПараметров
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК МестонахождениеОС_Записи
| ПО МестонахождениеОС_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И МестонахождениеОС_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область МестонахождениеОСУУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ДанныеРегистраРегистраторЗаписи.ДатаПараметров КАК ДатаПараметров,
| МестонахождениеОС_Записи.Организация КАК Организация
|
|ПОМЕСТИТЬ МестонахождениеОСУУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ДатаПараметров КАК ДатаПараметров,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатУУ.Дата КАК Дата,
| ТаблицаДатУУ.ДатаПараметров КАК ДатаПараметров,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатУУ КАК ТаблицаДатУУ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= ТаблицаДатУУ.ДатаПараметров
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатУУ.Дата,
| ТаблицаДатУУ.ДатаПараметров
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи,
| ДанныеРегистраПериодЗаписи.ДатаПараметров
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК МестонахождениеОС_Записи
| ПО МестонахождениеОС_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И МестонахождениеОС_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПервоначальныеСведенияОСУУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ПервоначальныеСведенияОСУУ_Записи.ПервоначальнаяСтоимостьБУ КАК ПервоначальнаяСтоимостьБУ,
| ПервоначальныеСведенияОСУУ_Записи.ПервоначальнаяСтоимостьУУ КАК ПервоначальнаяСтоимостьУУ,
| ЕСТЬNULL(ПринятиеКУчетуБУ.Ссылка.Дата, ДАТАВРЕМЯ(1,1,1)) КАК ДатаДокументаПринятияКУчетуБУ,
| ЕСТЬNULL(ПринятиеКУчетуБУ.Ссылка.РежимИсправленияСПрошлойДаты, ЛОЖЬ) КАК РежимИсправленияСПрошлойДатыБУ,
| ЕСТЬNULL(ПринятиеКУчетуУУ.Ссылка.Дата, ДАТАВРЕМЯ(1,1,1)) КАК ДатаДокументаПринятияКУчетуУУ,
| ЕСТЬNULL(ПринятиеКУчетуУУ.Ссылка.РежимИсправленияСПрошлойДаты, ЛОЖЬ) КАК РежимИсправленияСПрошлойДатыУУ,
| ЕСТЬNULL(ПринятиеКУчетуБУ.СтоимостьБУ, 0) КАК ПредварительнаяСтоимостьБУ,
| ЕСТЬNULL(ПринятиеКУчетуУУ.СтоимостьУУ, 0) КАК ПредварительнаяСтоимостьУУ
|
|ПОМЕСТИТЬ ПервоначальныеСведенияОСУУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.Организация КАК Организация,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| МестонахождениеОСУУ.Дата КАК Дата,
| МестонахождениеОСУУ.Организация КАК Организация,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| МестонахождениеОСУУ КАК МестонахождениеОСУУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОСУУ_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= МестонахождениеОСУУ.ДатаПараметров
| И ДанныеРегистраПериодЗаписи.Организация = МестонахождениеОСУУ.Организация
|
| СГРУППИРОВАТЬ ПО
| МестонахождениеОСУУ.Дата,
| МестонахождениеОСУУ.Организация
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОСУУ_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.Организация = ДанныеРегистраПериодЗаписи.Организация
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи,
| ДанныеРегистраПериодЗаписи.Организация
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОСУУ_Записи КАК ПервоначальныеСведенияОСУУ_Записи
| ПО ПервоначальныеСведенияОСУУ_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ПервоначальныеСведенияОСУУ_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи
| И ПервоначальныеСведенияОСУУ_Записи.Организация = ДанныеРегистраРегистраторЗаписи.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4.ОС КАК ПринятиеКУчетуБУ
| ПО ПринятиеКУчетуБУ.Ссылка = ПервоначальныеСведенияОСУУ_Записи.ДокументВводаВЭксплуатациюБУ
| И ПринятиеКУчетуБУ.ОсновноеСредство = &ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4.ОС КАК ПринятиеКУчетуУУ
| ПО ПринятиеКУчетуУУ.Ссылка = ПервоначальныеСведенияОСУУ_Записи.ДокументВводаВЭксплуатациюУУ
| И ПринятиеКУчетуУУ.ОсновноеСредство = &ОсновноеСредство
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПорядокУчетаОСУУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ПорядокУчетаОСУУ_Записи.НачислятьАмортизацию КАК НачислятьАмортизацию
|
|ПОМЕСТИТЬ ПорядокУчетаОСУУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.Организация КАК Организация,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатУУ.Дата КАК Дата,
| ТаблицаДатУУ.Организация КАК Организация,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатУУ КАК ТаблицаДатУУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОСУУ_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= ТаблицаДатУУ.ДатаПараметров
| И ДанныеРегистраПериодЗаписи.Организация = ТаблицаДатУУ.Организация
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатУУ.Дата,
| ТаблицаДатУУ.Организация
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОСУУ_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.Организация = ДанныеРегистраПериодЗаписи.Организация
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи,
| ДанныеРегистраПериодЗаписи.Организация
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОСУУ_Записи КАК ПорядокУчетаОСУУ_Записи
| ПО ПорядокУчетаОСУУ_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ПорядокУчетаОСУУ_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи
| И ПорядокУчетаОСУУ_Записи.Организация = ДанныеРегистраРегистраторЗаписи.Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПараметрыАмортизацииОСУУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ПараметрыАмортизацииОСУУ_Записи.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ПараметрыАмортизацииОСУУ_Записи.СтоимостьДляВычисленияАмортизации КАК СтоимостьДляВычисленияАмортизации,
| ПараметрыАмортизацииОСУУ_Записи.СтоимостьДляВычисленияАмортизацииРегл КАК СтоимостьДляВычисленияАмортизацииРегл,
| ПараметрыАмортизацииОСУУ_Записи.КоэффициентУскорения КАК КоэффициентУскорения,
| ПараметрыАмортизацииОСУУ_Записи.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| ПараметрыАмортизацииОСУУ_Записи.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ПараметрыАмортизацииОСУУ_Записи.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| ПараметрыАмортизацииОСУУ_Записи.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ПараметрыАмортизацииОСУУ_Записи.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения
|
|ПОМЕСТИТЬ ПараметрыАмортизацииОСУУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.Организация КАК Организация,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатУУ.Дата КАК Дата,
| ТаблицаДатУУ.Организация КАК Организация,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатУУ КАК ТаблицаДатУУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСУУ_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= ТаблицаДатУУ.ДатаПараметров
| И ДанныеРегистраПериодЗаписи.Организация = ТаблицаДатУУ.Организация
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатУУ.Дата,
| ТаблицаДатУУ.Организация
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСУУ_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.Организация = ДанныеРегистраПериодЗаписи.Организация
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи,
| ДанныеРегистраПериодЗаписи.Организация
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСУУ_Записи КАК ПараметрыАмортизацииОСУУ_Записи
| ПО ПараметрыАмортизацииОСУУ_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ПараметрыАмортизацииОСУУ_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи
| И ПараметрыАмортизацииОСУУ_Записи.Организация = ДанныеРегистраРегистраторЗаписи.Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПорядокУчетаОС
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ПорядокУчетаОС_Записи.ПоказательНаработки КАК ПоказательНаработки,
| ПорядокУчетаОС_Записи.ОбъемНаработки КАК ОбъемНаработки
|
|ПОМЕСТИТЬ ПорядокУчетаОС
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатУУ.Дата КАК Дата,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатУУ КАК ТаблицаДатУУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОС_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= ТаблицаДатУУ.ДатаПараметров
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатУУ.Дата
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОС_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОС_Записи КАК ПорядокУчетаОС_Записи
| ПО ПорядокУчетаОС_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ПорядокУчетаОС_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ВыработкаУУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ВыработкаОС_Записи.ПоказательНаработки КАК ПоказательНаработки,
| ВыработкаОС_Записи.ОбъемВыработки КАК ОбъемВыработки
|
|ПОМЕСТИТЬ ВыработкаОС_НаНачалоМесяцаУУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки КАК ПоказательНаработки,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатУУ.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки КАК ПоказательНаработки,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатУУ КАК ТаблицаДатУУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период < НАЧАЛОПЕРИОДА(ТаблицаДатУУ.Дата, МЕСЯЦ)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатУУ.Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.ПоказательНаработки = ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ВыработкаОС_Записи
| ПО ВыработкаОС_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ВыработкаОС_Записи.ПоказательНаработки = ДанныеРегистраРегистраторЗаписи.ПоказательНаработки
|;
|
|
|ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ДанныеРегистраРегистраторЗаписи.ПоказательНаработки КАК ПоказательНаработки,
| ВыработкаОС_Записи.ОбъемВыработки КАК ОбъемВыработки
|
|ПОМЕСТИТЬ ВыработкаОС_НаКонецМесяцаУУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки КАК ПоказательНаработки,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатУУ.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки КАК ПоказательНаработки,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатУУ КАК ТаблицаДатУУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= КОНЕЦПЕРИОДА(ТаблицаДатУУ.Дата, МЕСЯЦ)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатУУ.Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.ПоказательНаработки = ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ВыработкаОС_Записи
| ПО ВыработкаОС_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ВыработкаОС_Записи.ПоказательНаработки = ДанныеРегистраРегистраторЗаписи.ПоказательНаработки";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СтоимостьОСУУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| СтоимостьОС_Записи.Стоимость КАК Стоимость,
| СтоимостьОС_Записи.СтоимостьРегл КАК СтоимостьРегл,
| СтоимостьОС_Записи.ПредварительнаяСтоимость КАК ПредварительнаяСтоимость,
| СтоимостьОС_Записи.ПредварительнаяСтоимостьРегл КАК ПредварительнаяСтоимостьРегл
|
|ПОМЕСТИТЬ СтоимостьОСУУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.Организация КАК Организация,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатУУ.Дата КАК Дата,
| ТаблицаДатУУ.Организация КАК Организация,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатУУ КАК ТаблицаДатУУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтоимостьОС_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= ТаблицаДатУУ.ДатаПараметров
| И ДанныеРегистраПериодЗаписи.Организация = ТаблицаДатУУ.Организация
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатУУ.Дата,
| ТаблицаДатУУ.Организация
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтоимостьОС_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.Организация = ДанныеРегистраПериодЗаписи.Организация
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.Организация,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтоимостьОС_Записи КАК СтоимостьОС_Записи
| ПО СтоимостьОС_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И СтоимостьОС_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи
| И СтоимостьОС_Записи.Организация = ДанныеРегистраРегистраторЗаписи.Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СтоимостьНаНачалоГода
ТекстЗапроса =
"ВЫБРАТЬ
| СтоимостьОС.СтоимостьОстаток КАК Стоимость,
| СтоимостьОС.СтоимостьРеглОстаток КАК СтоимостьРегл
|ИЗ
| РегистрНакопления.СтоимостьОС.Остатки(&КонецПредыдущегоГодаГраница, ОсновноеСредство = &ОсновноеСредство) КАК СтоимостьОС";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область АмортизацияНаНачалоГода
ТекстЗапроса =
"ВЫБРАТЬ
| -АмортизацияОС.АмортизацияОстаток КАК Амортизация,
| -АмортизацияОС.АмортизацияРеглОстаток КАК АмортизацияРегл
|ИЗ
| РегистрНакопления.АмортизацияОС.Остатки(&КонецПредыдущегоГодаГраница, ОсновноеСредство = &ОсновноеСредство) КАК АмортизацияОС";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область АмортизацияНаНачалоПериода
ТекстЗапроса =
"ВЫБРАТЬ
| -АмортизацияОС.АмортизацияОстаток КАК Амортизация,
| -АмортизацияОС.АмортизацияРеглОстаток КАК АмортизацияРегл
|ИЗ
| РегистрНакопления.АмортизацияОС.Остатки(&КонецПредыдущегоМесяцаГраница, ОсновноеСредство = &ОсновноеСредство) КАК АмортизацияОС";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ДатаВводаВЭксплуатациюУУ
ТекстЗапроса =
"ВЫБРАТЬ
| ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ КАК ДатаВводаВЭксплуатациюУУ
|ИЗ
| РегистрСведений.ПервоначальныеСведенияОС.СрезПоследних(
| &Дата,
| ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И Регистратор <> &Ссылка
| И Организация = &Организация
| И ОсновноеСредство = &ОсновноеСредство) КАК ПервоначальныеСведенияОС";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ВыборкаПараметровУУ
ТекстЗапроса =
"ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(ТаблицаДатУУ.Дата, ДЕНЬ) КАК Дата,
|
| ВЫБОР
| КОГДА ТаблицаДатУУ.Дата <= КОНЕЦПЕРИОДА(ПервоначальныеСведенияОС.ДатаДокументаПринятияКУчетуУУ, МЕСЯЦ)
| И ПервоначальныеСведенияОС.РежимИсправленияСПрошлойДатыУУ
| ТОГДА ЕСТЬNULL(ПервоначальныеСведенияОС.ПредварительнаяСтоимостьУУ, ЕСТЬNULL(ПервоначальныеСведенияОС.ПервоначальнаяСтоимостьУУ, 0))
|
| ИНАЧЕ ЕСТЬNULL(СтоимостьОСУУ.Стоимость, ЕСТЬNULL(ПервоначальныеСведенияОС.ПервоначальнаяСтоимостьУУ, 0))
|
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР
| КОГДА ТаблицаДатУУ.Дата <= КОНЕЦПЕРИОДА(ПервоначальныеСведенияОС.ДатаДокументаПринятияКУчетуБУ, МЕСЯЦ)
| И ПервоначальныеСведенияОС.РежимИсправленияСПрошлойДатыБУ
| ТОГДА ЕСТЬNULL(ПервоначальныеСведенияОС.ПредварительнаяСтоимостьБУ, ЕСТЬNULL(ПервоначальныеСведенияОС.ПервоначальнаяСтоимостьБУ, 0))
|
| ИНАЧЕ ЕСТЬNULL(СтоимостьОСУУ.СтоимостьРегл, ЕСТЬNULL(ПервоначальныеСведенияОС.ПервоначальнаяСтоимостьБУ, 0))
|
| КОНЕЦ КАК СтоимостьРегл,
|
| ЕСТЬNULL(ПараметрыАмортизацииОСУУ.КоэффициентУскорения, 0) КАК КоэффициентУскорения,
| ЕСТЬNULL(ПараметрыАмортизацииОСУУ.ЛиквидационнаяСтоимость, 0) КАК ЛиквидационнаяСтоимость,
| ЕСТЬNULL(ПараметрыАмортизацииОСУУ.ЛиквидационнаяСтоимостьРегл, 0) КАК ЛиквидационнаяСтоимостьРегл,
| ЕСТЬNULL(ПараметрыАмортизацииОСУУ.МетодНачисленияАмортизации, ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПустаяСсылка)) КАК МетодНачисленияАмортизацииУУ,
|
| ЕСТЬNULL(ПорядокУчетаОСУУ.НачислятьАмортизацию, ЛОЖЬ) КАК НачислятьАмортизациюУУ,
|
| ЕСТЬNULL(ВыработкаОС_НаКонецМесяцаУУ.ОбъемВыработки, 0)
| -ЕСТЬNULL(ВыработкаОС_НаНачалоМесяцаУУ.ОбъемВыработки, 0) КАК ОбъемВыработки,
|
| ЕСТЬNULL(ВыработкаОС_НаНачалоМесяцаУУ.ОбъемВыработки, 0) КАК ОбъемВыработкиНаНачалоМесяца,
|
| ВЫБОР
| КОГДА &ПоСтандартамМУ И &ПорядокНачисленияАмортизацииУпр = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| ТОГДА ЕСТЬNULL(ПорядокУчетаОС.ОбъемНаработки, 0)
| ИНАЧЕ ЕСТЬNULL(ПараметрыАмортизацииОСУУ.ОбъемПродукцииРаботДляВычисленияАмортизации, 0)
| КОНЕЦ КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ЕСТЬNULL(ПорядокУчетаОС.ПоказательНаработки, ЗНАЧЕНИЕ(Справочник.ПоказателиНаработки.ПустаяСсылка)) КАК ПоказательНаработки,
| ЕСТЬNULL(ПараметрыАмортизацииОСУУ.СрокИспользованияДляВычисленияАмортизации, 0) КАК СрокИспользованияДляВычисленияАмортизации,
| ЕСТЬNULL(ПараметрыАмортизацииОСУУ.ДатаПоследнегоИзменения, ДАТАВРЕМЯ(1,1,1)) КАК ДатаИзмененияПараметровУУ,
|
| ВЫБОР
| КОГДА &ПоСтандартамМУ
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(ПараметрыАмортизацииОСУУ.СтоимостьДляВычисленияАмортизации, 0)
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА &ПоСтандартамМУ
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(ПараметрыАмортизацииОСУУ.СтоимостьДляВычисленияАмортизацииРегл, 0)
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизацииРегл,
|
| ЛОЖЬ КАК НеРассчитыватьАмортизацию,
| 0 КАК Амортизация,
| 0 КАК АмортизацияРегл,
| 0 КАК АмортизацияИзменение,
| 0 КАК АмортизацияРеглИзменение
|
|ИЗ
| ТаблицаДатУУ КАК ТаблицаДатУУ
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОСУУ КАК ПервоначальныеСведенияОС
| ПО ПервоначальныеСведенияОС.Дата = ТаблицаДатУУ.Дата
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСУУ КАК ПорядокУчетаОСУУ
| ПО ПорядокУчетаОСУУ.Дата = ТаблицаДатУУ.Дата
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСУУ КАК ПараметрыАмортизацииОСУУ
| ПО ПараметрыАмортизацииОСУУ.Дата = ТаблицаДатУУ.Дата
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Дата = ТаблицаДатУУ.Дата
|
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОСУУ КАК СтоимостьОСУУ
| ПО СтоимостьОСУУ.Дата = ТаблицаДатУУ.Дата
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС_НаНачалоМесяцаУУ КАК ВыработкаОС_НаНачалоМесяцаУУ
| ПО ВыработкаОС_НаНачалоМесяцаУУ.Дата = ПорядокУчетаОС.Дата
| И ВыработкаОС_НаНачалоМесяцаУУ.ПоказательНаработки = ПорядокУчетаОС.ПоказательНаработки
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС_НаКонецМесяцаУУ КАК ВыработкаОС_НаКонецМесяцаУУ
| ПО ВыработкаОС_НаКонецМесяцаУУ.Дата = ПорядокУчетаОС.Дата
| И ВыработкаОС_НаКонецМесяцаУУ.ПоказательНаработки = ПорядокУчетаОС.ПоказательНаработки
|
|УПОРЯДОЧИТЬ ПО
| Дата";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраЗаписиСУчетомИсправлений(
"ПервоначальныеСведенияОС_ЗаписиСУчетомИсправлений", Метаданные.РегистрыСведений.ПервоначальныеСведенияОС.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраЗаписиСУчетомИсправлений(
"ПорядокУчетаОСУУ_ЗаписиСУчетомИсправлений", Метаданные.РегистрыСведений.ПорядокУчетаОСУУ.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраЗаписиСУчетомИсправлений(
"ПараметрыАмортизацииОСУУ_ЗаписиСУчетомИсправлений", Метаданные.РегистрыСведений.ПараметрыАмортизацииОСУУ.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраЗаписиСУчетомИсправлений(
"ПорядокУчетаОС_ЗаписиСУчетомИсправлений", Метаданные.РегистрыСведений.ПорядокУчетаОС.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраСрезПоследнихСУчетомИсправлений(
"ПервоначальныеСведенияОС_СрезПоследнихСУчетомИсправлений", Метаданные.РегистрыСведений.ПервоначальныеСведенияОС.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраСрезПоследнихСУчетомИсправлений(
"ПорядокУчетаОСУУ_СрезПоследнихСУчетомИсправлений", Метаданные.РегистрыСведений.ПорядокУчетаОСУУ.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраСрезПоследнихСУчетомИсправлений(
"ПараметрыАмортизацииОСУУ_СрезПоследнихСУчетомИсправлений", Метаданные.РегистрыСведений.ПараметрыАмортизацииОСУУ.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраСрезПоследнихСУчетомИсправлений(
"ПорядокУчетаОС_СрезПоследнихСУчетомИсправлений", Метаданные.РегистрыСведений.ПорядокУчетаОС.Имя, ТекстЗапроса);
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = Параметры.МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", Параметры.Ссылка);
Запрос.УстановитьПараметр("Дата", Параметры.Дата);
Запрос.УстановитьПараметр("Организация", Параметры.Организация);
Запрос.УстановитьПараметр("ОсновноеСредство", Параметры.ОсновноеСредство);
Запрос.УстановитьПараметр("НачалоПериода", Параметры.НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", Параметры.КонецПериода);
Запрос.УстановитьПараметр("КонецПериодаУУ", КонецДня(Параметры.КонецПериодаУУ));
Запрос.УстановитьПараметр("КонецПериодаБУ", КонецДня(Параметры.КонецПериодаБУ));
Запрос.УстановитьПараметр("КонецПредыдущегоМесяца", Параметры.НачалоПериода-1);
Запрос.УстановитьПараметр("КонецПредыдущегоМесяцаГраница", Новый Граница(Параметры.НачалоПериода-1, ВидГраницы.Включая));
Запрос.УстановитьПараметр("КонецПредыдущегоГодаГраница", Новый Граница(НачалоГода(Параметры.НачалоПериода)-1, ВидГраницы.Включая));
Запрос.УстановитьПараметр("ПоСтандартамМУ", Параметры.ПоСтандартамМУ);
Запрос.УстановитьПараметр("ПорядокНачисленияАмортизацииУпр", Параметры.ПорядокНачисленияАмортизацииУпр);
Запрос.УстановитьПараметр("ПериодСреза", Параметры.ПериодСреза);
Результат = Запрос.ВыполнитьПакет();
Выборка = Результат[Результат.ВГраница()-4].Выбрать();
Если Выборка.Следующий() Тогда
Если НЕ Параметры.РеглУчетВНАВедетсяНезависимо Тогда
ПараметрыДляРасчета.СтоимостьРеглНаНачалоГода = Выборка.СтоимостьРегл;
КонецЕсли;
ПараметрыДляРасчета.СтоимостьНаНачалоГода = Выборка.Стоимость;
Иначе
Если НЕ Параметры.РеглУчетВНАВедетсяНезависимо Тогда
ПараметрыДляРасчета.СтоимостьРеглНаНачалоГода = 0;
КонецЕсли;
ПараметрыДляРасчета.СтоимостьНаНачалоГода = 0;
КонецЕсли;
Выборка = Результат[Результат.ВГраница()-3].Выбрать();
Если Выборка.Следующий() Тогда
Если НЕ Параметры.РеглУчетВНАВедетсяНезависимо Тогда
ПараметрыДляРасчета.АмортизацияРеглНаНачалоГода = Выборка.АмортизацияРегл;
КонецЕсли;
ПараметрыДляРасчета.АмортизацияНаНачалоГода = Выборка.Амортизация;
Иначе
Если НЕ Параметры.РеглУчетВНАВедетсяНезависимо Тогда
ПараметрыДляРасчета.АмортизацияРеглНаНачалоГода = 0;
КонецЕсли;
ПараметрыДляРасчета.АмортизацияНаНачалоГода = 0;
КонецЕсли;
Выборка = Результат[Результат.ВГраница()-2].Выбрать();
Если Выборка.Следующий() Тогда
Если НЕ Параметры.РеглУчетВНАВедетсяНезависимо Тогда
ПараметрыДляРасчета.АмортизацияРеглНаНачалоПериода = Выборка.АмортизацияРегл;
КонецЕсли;
ПараметрыДляРасчета.АмортизацияНаНачалоПериода = Выборка.Амортизация;
Иначе
Если НЕ Параметры.РеглУчетВНАВедетсяНезависимо Тогда
ПараметрыДляРасчета.АмортизацияРеглНаНачалоПериода = 0;
КонецЕсли;
ПараметрыДляРасчета.АмортизацияНаНачалоПериода = 0;
КонецЕсли;
Выборка = Результат[Результат.ВГраница()-1].Выбрать();
Если Выборка.Следующий() Тогда
ПараметрыДляРасчета.ДатаВводаВЭксплуатациюУУ = Выборка.ДатаВводаВЭксплуатациюУУ;
КонецЕсли;
ПараметрыЗаПериодУУ = Результат[Результат.ВГраница()].Выгрузить();
ПараметрыДляРасчета.Вставить("ПараметрыЗаПериодУУ", ПараметрыЗаПериодУУ);
ОбщегоНазначенияУТ.УничтожитьВременныеТаблицы(Параметры.МенеджерВременныхТаблиц,, ИспользуемыеВТ);
КонецПроцедуры
Процедура ЗаполнитьПараметрыЗаПериодБУ(ПараметрыДляРасчета, Параметры)
Если НЕ Параметры.ЗаполнитьБУ
ИЛИ НЕ Параметры.РеглУчетВНАВедетсяНезависимо Тогда
Возврат;
КонецЕсли;
ПараметрыЗаполнены = АмортизацияОСЛокализация.ЗаполнитьПараметрыЗаПериодБУ(ПараметрыДляРасчета, Параметры);
Если ПараметрыЗаполнены Тогда
Возврат;
КонецЕсли;
ИспользуемыеВТ = ОбщегоНазначенияУТ.СписокВременныхТаблиц(Параметры.МенеджерВременныхТаблиц);
ПараметрыДляРасчета.Вставить("ДатаВводаВЭксплуатациюБУ", '00010101');
ПараметрыДляРасчета.Вставить("СтоимостьРеглНаНачалоГода", 0);
ПараметрыДляРасчета.Вставить("АмортизацияРеглНаНачалоГода", 0);
ПараметрыДляРасчета.Вставить("АмортизацияРеглНаНачалоПериода", 0);
СписокЗапросов = Новый Массив;
#Область ПервоначальныеСведенияОСБУ_Записи
ТекстЗапроса =
"ВЫБРАТЬ
| ЛОЖЬ КАК ЭтоИзменения,
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.ПервоначальнаяСтоимостьБУ КАК ПервоначальнаяСтоимостьБУ,
| ДанныеРегистра.МетодНачисленияАмортизацииБУ КАК МетодНачисленияАмортизацииБУ,
| ДанныеРегистра.ДокументВводаВЭксплуатациюБУ КАК ДокументВводаВЭксплуатациюБУ
|
|ПОМЕСТИТЬ ПервоначальныеСведенияОСБУ_Записи
|
|ИЗ
| ПервоначальныеСведенияОС_СрезПоследнихСУчетомИсправлений КАК ДанныеРегистра
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| (&ПорядокНачисленияАмортизацииРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации) КАК ЭтоИзменения,
|
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.ПервоначальнаяСтоимостьБУ КАК ПервоначальнаяСтоимостьБУ,
| ДанныеРегистра.МетодНачисленияАмортизацииБУ КАК МетодНачисленияАмортизацииБУ,
| ДанныеРегистра.ДокументВводаВЭксплуатациюБУ КАК ДокументВводаВЭксплуатациюБУ
|
|ИЗ
| ПервоначальныеСведенияОС_ЗаписиСУчетомИсправлений КАК ДанныеРегистра
|ГДЕ
| &РеглУчетВНАВедетсяНезависимо
| И ДанныеРегистра.Период МЕЖДУ &НачалоПериода И &КонецПериодаБУ
| И ДанныеРегистра.ОсновноеСредство = &ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПорядокУчетаОС_Записи_БУ
ТекстЗапроса =
"ВЫБРАТЬ
| ЛОЖЬ КАК ЭтоИзменения,
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.ПоказательНаработки КАК ПоказательНаработки,
| ДанныеРегистра.ОбъемНаработки КАК ОбъемНаработки
|
|ПОМЕСТИТЬ ПорядокУчетаОС_Записи_БУ
|
|ИЗ
| ПорядокУчетаОС_СрезПоследнихСУчетомИсправлений КАК ДанныеРегистра
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| (&ПорядокНачисленияАмортизацииРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации) КАК ЭтоИзменения,
|
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.ПоказательНаработки КАК ПоказательНаработки,
| ДанныеРегистра.ОбъемНаработки КАК ОбъемНаработки
|ИЗ
| ПорядокУчетаОС_ЗаписиСУчетомИсправлений КАК ДанныеРегистра
|ГДЕ
| &РеглУчетВНАВедетсяНезависимо
| И ДанныеРегистра.Период МЕЖДУ &НачалоПериода И &КонецПериодаБУ
| И ДанныеРегистра.ОсновноеСредство = &ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПорядокУчетаОСБУ_Записи
ТекстЗапроса =
"ВЫБРАТЬ
| ЛОЖЬ КАК ЭтоИзменения,
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.НачислятьАмортизациюБУ КАК НачислятьАмортизациюБУ
|
|ПОМЕСТИТЬ ПорядокУчетаОСБУ_Записи
|
|ИЗ
| ПорядокУчетаОСБУ_СрезПоследнихСУчетомИсправлений КАК ДанныеРегистра
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| (&ПорядокНачисленияАмортизацииРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации) КАК ЭтоИзменения,
|
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.НачислятьАмортизациюБУ КАК НачислятьАмортизациюБУ
|ИЗ
| ПорядокУчетаОСБУ_ЗаписиСУчетомИсправлений КАК ДанныеРегистра
|ГДЕ
| &РеглУчетВНАВедетсяНезависимо
| И ДанныеРегистра.Период МЕЖДУ &НачалоПериода И &КонецПериодаБУ
| И ДанныеРегистра.ОсновноеСредство = &ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПараметрыАмортизацииОСБУ_Записи
ТекстЗапроса =
"ВЫБРАТЬ
| ЛОЖЬ КАК ЭтоИзменения,
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.КоэффициентУскорения КАК КоэффициентУскорения,
| ДанныеРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ДанныеРегистра.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ДанныеРегистра.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ДанныеРегистра.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения
|
|ПОМЕСТИТЬ ПараметрыАмортизацииОСБУ_Записи
|
|ИЗ
| ПараметрыАмортизацииОСБУ_СрезПоследнихСУчетомИсправлений КАК ДанныеРегистра
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| (&ПорядокНачисленияАмортизацииРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ПринятиеКУчетуУзловКомпонентовАмортизации
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| И НЕ ДанныеРегистра.Регистратор ССЫЛКА Документ.ВводОстатковУзловКомпонентовАмортизации) КАК ЭтоИзменения,
|
| ДанныеРегистра.Период КАК Период,
| ДанныеРегистра.Регистратор КАК Регистратор,
| ДанныеРегистра.Организация КАК Организация,
| ДанныеРегистра.КоэффициентУскорения КАК КоэффициентУскорения,
| ДанныеРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ДанныеРегистра.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ДанныеРегистра.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ДанныеРегистра.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения
|
|ИЗ
| ПараметрыАмортизацииОСБУ_ЗаписиСУчетомИсправлений КАК ДанныеРегистра
|
|ГДЕ
| &РеглУчетВНАВедетсяНезависимо
| И ДанныеРегистра.Период МЕЖДУ &НачалоПериода И &КонецПериодаБУ
| И ДанныеРегистра.ОсновноеСредство = &ОсновноеСредство";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ТаблицаДатБУ
ТекстЗапроса =
"ВЫБРАТЬ
| СтандартныеДаты.Дата КАК Дата,
|
| ВЫБОР
| КОГДА &ПорядокНачисленияАмортизацииРегл = ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету)
| ТОГДА СтандартныеДаты.Дата
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(СтандартныеДаты.Дата, МЕСЯЦ), СЕКУНДА, -1)
| КОНЕЦ КАК ДатаПараметров
|
|ПОМЕСТИТЬ ТаблицаИзмененийБУ
|
|ИЗ
| СтандартныеДаты КАК СтандартныеДаты
|ГДЕ
| &РеглУчетВНАВедетсяНезависимо
| И СтандартныеДаты.Дата <= &КонецПериодаБУ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК Дата,
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК ДатаПараметров
|ИЗ
| ПервоначальныеСведенияОСБУ_Записи КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.ЭтоИзменения
| И НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ) <> НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, МЕСЯЦ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК Дата,
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК ДатаПараметров
|ИЗ
| ПорядокУчетаОСБУ_Записи КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.ЭтоИзменения
| И НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ) <> НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, МЕСЯЦ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК Дата,
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК ДатаПараметров
|ИЗ
| ПараметрыАмортизацииОСБУ_Записи КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.ЭтоИзменения
| И НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ) <> НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, МЕСЯЦ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК Дата,
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ), ДЕНЬ, -1) КАК ДатаПараметров
|ИЗ
| ПорядокУчетаОС_Записи_БУ КАК ДанныеРегистра
|ГДЕ
| ДанныеРегистра.ЭтоИзменения
| И НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, ДЕНЬ) <> НАЧАЛОПЕРИОДА(ДанныеРегистра.Период, МЕСЯЦ)
|;
|
|
|ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ДанныеРегистраРегистраторЗаписи.ДатаПараметров КАК ДатаПараметров,
| МестонахождениеОС_Записи.Организация КАК Организация
|
|ПОМЕСТИТЬ ТаблицаДатБУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ДатаПараметров КАК ДатаПараметров,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаИзменений.Дата КАК Дата,
| ТаблицаИзменений.ДатаПараметров КАК ДатаПараметров,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаИзмененийБУ КАК ТаблицаИзменений
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= ТаблицаИзменений.ДатаПараметров
|
| СГРУППИРОВАТЬ ПО
| ТаблицаИзменений.Дата,
| ТаблицаИзменений.ДатаПараметров
| ) КАК ДанныеРегистраПериодЗаписи
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи,
| ДанныеРегистраПериодЗаписи.ДатаПараметров
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК МестонахождениеОС_Записи
| ПО МестонахождениеОС_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И МестонахождениеОС_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область МестонахождениеОСБУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ДанныеРегистраРегистраторЗаписи.ДатаПараметров КАК ДатаПараметров,
| МестонахождениеОС_Записи.Организация КАК Организация
|
|ПОМЕСТИТЬ МестонахождениеОСБУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ДатаПараметров КАК ДатаПараметров,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатБУ.Дата КАК Дата,
| ТаблицаДатБУ.ДатаПараметров КАК ДатаПараметров,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатБУ КАК ТаблицаДатБУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= ТаблицаДатБУ.ДатаПараметров
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатБУ.Дата,
| ТаблицаДатБУ.ДатаПараметров
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи,
| ДанныеРегистраПериодЗаписи.ДатаПараметров
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ МестонахождениеОС_Записи КАК МестонахождениеОС_Записи
| ПО МестонахождениеОС_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И МестонахождениеОС_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПервоначальныеСведенияОСБУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ПервоначальныеСведенияОСБУ_Записи.ПервоначальнаяСтоимостьБУ КАК ПервоначальнаяСтоимостьБУ,
| ПервоначальныеСведенияОСБУ_Записи.МетодНачисленияАмортизацииБУ КАК МетодНачисленияАмортизацииБУ,
| ЕСТЬNULL(ВЫРАЗИТЬ(ПервоначальныеСведенияОСБУ_Записи.ДокументВводаВЭксплуатациюБУ КАК Документ.ПринятиеКУчетуОС2_4).Дата, ДАТАВРЕМЯ(1,1,1)) КАК ДатаДокументаПринятияКУчету,
| ЕСТЬNULL(ВЫРАЗИТЬ(ПервоначальныеСведенияОСБУ_Записи.ДокументВводаВЭксплуатациюБУ КАК Документ.ПринятиеКУчетуОС2_4).РежимИсправленияСПрошлойДаты, ЛОЖЬ) КАК РежимИсправленияСПрошлойДаты,
| ЕСТЬNULL(ПринятиеКУчетуБУ.СтоимостьБУ, 0) КАК ПредварительнаяСтоимостьБУ
|
|ПОМЕСТИТЬ ПервоначальныеСведенияОСБУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.Организация КАК Организация,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| МестонахождениеОСБУ.Дата КАК Дата,
| МестонахождениеОСБУ.Организация КАК Организация,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| МестонахождениеОСБУ КАК МестонахождениеОСБУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОСБУ_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= МестонахождениеОСБУ.ДатаПараметров
| И ДанныеРегистраПериодЗаписи.Организация = МестонахождениеОСБУ.Организация
|
| СГРУППИРОВАТЬ ПО
| МестонахождениеОСБУ.Дата,
| МестонахождениеОСБУ.Организация
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОСБУ_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.Организация = ДанныеРегистраПериодЗаписи.Организация
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи,
| ДанныеРегистраПериодЗаписи.Организация
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОСБУ_Записи КАК ПервоначальныеСведенияОСБУ_Записи
| ПО ПервоначальныеСведенияОСБУ_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ПервоначальныеСведенияОСБУ_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи
| И ПервоначальныеСведенияОСБУ_Записи.Организация = ДанныеРегистраРегистраторЗаписи.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4.ОС КАК ПринятиеКУчетуБУ
| ПО ПринятиеКУчетуБУ.Ссылка = ПервоначальныеСведенияОСБУ_Записи.ДокументВводаВЭксплуатациюБУ
| И ПринятиеКУчетуБУ.ОсновноеСредство = &ОсновноеСредство
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПорядокУчетаОСБУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ПорядокУчетаОСБУ_Записи.НачислятьАмортизациюБУ КАК НачислятьАмортизациюБУ
|
|ПОМЕСТИТЬ ПорядокУчетаОСБУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.Организация КАК Организация,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| МестонахождениеОСБУ.Дата КАК Дата,
| МестонахождениеОСБУ.Организация КАК Организация,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| МестонахождениеОСБУ КАК МестонахождениеОСБУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОСБУ_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= МестонахождениеОСБУ.ДатаПараметров
| И ДанныеРегистраПериодЗаписи.Организация = МестонахождениеОСБУ.Организация
|
| СГРУППИРОВАТЬ ПО
| МестонахождениеОСБУ.Дата,
| МестонахождениеОСБУ.Организация
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОСБУ_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.Организация = ДанныеРегистраПериодЗаписи.Организация
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи,
| ДанныеРегистраПериодЗаписи.Организация
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОСБУ_Записи КАК ПорядокУчетаОСБУ_Записи
| ПО ПорядокУчетаОСБУ_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ПорядокУчетаОСБУ_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи
| И ПорядокУчетаОСБУ_Записи.Организация = ДанныеРегистраРегистраторЗаписи.Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПараметрыАмортизацииОСБУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ПараметрыАмортизацииОСБУ_Записи.КоэффициентУскорения КАК КоэффициентУскорения,
| ПараметрыАмортизацииОСБУ_Записи.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ПараметрыАмортизацииОСБУ_Записи.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ПараметрыАмортизацииОСБУ_Записи.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ПараметрыАмортизацииОСБУ_Записи.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения
|
|ПОМЕСТИТЬ ПараметрыАмортизацииОСБУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.Организация КАК Организация,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| МестонахождениеОСБУ.Дата КАК Дата,
| МестонахождениеОСБУ.Организация КАК Организация,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| МестонахождениеОСБУ КАК МестонахождениеОСБУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСБУ_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= МестонахождениеОСБУ.ДатаПараметров
| И ДанныеРегистраПериодЗаписи.Организация = МестонахождениеОСБУ.Организация
|
| СГРУППИРОВАТЬ ПО
| МестонахождениеОСБУ.Дата,
| МестонахождениеОСБУ.Организация
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСБУ_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.Организация = ДанныеРегистраПериодЗаписи.Организация
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи,
| ДанныеРегистраПериодЗаписи.Организация
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСБУ_Записи КАК ПараметрыАмортизацииОСБУ_Записи
| ПО ПараметрыАмортизацииОСБУ_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ПараметрыАмортизацииОСБУ_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи
| И ПараметрыАмортизацииОСБУ_Записи.Организация = ДанныеРегистраРегистраторЗаписи.Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПорядокУчетаОС_БУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ПорядокУчетаОС_Записи_БУ.ПоказательНаработки КАК ПоказательНаработки,
| ПорядокУчетаОС_Записи_БУ.ОбъемНаработки КАК ОбъемНаработки
|
|ПОМЕСТИТЬ ПорядокУчетаОС_БУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатБУ.Дата КАК Дата,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатБУ КАК ТаблицаДатБУ
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОС_Записи_БУ КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= ТаблицаДатБУ.ДатаПараметров
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатБУ.Дата
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОС_Записи_БУ КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПорядокУчетаОС_Записи_БУ КАК ПорядокУчетаОС_Записи_БУ
| ПО ПорядокУчетаОС_Записи_БУ.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ПорядокУчетаОС_Записи_БУ.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ВыработкаБУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ВыработкаОС_Записи.ПоказательНаработки КАК ПоказательНаработки,
| ВыработкаОС_Записи.ОбъемВыработки КАК ОбъемВыработки
|
|ПОМЕСТИТЬ ВыработкаОС_НаНачалоМесяцаБУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки КАК ПоказательНаработки,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатБУ.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки КАК ПоказательНаработки,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатБУ КАК ТаблицаДатБУ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период < НАЧАЛОПЕРИОДА(ТаблицаДатБУ.Дата, МЕСЯЦ)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатБУ.Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.ПоказательНаработки = ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ВыработкаОС_Записи
| ПО ВыработкаОС_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ВыработкаОС_Записи.ПоказательНаработки = ДанныеРегистраРегистраторЗаписи.ПоказательНаработки
|;
|
|
|ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| ДанныеРегистраРегистраторЗаписи.ПоказательНаработки КАК ПоказательНаработки,
| ВыработкаОС_Записи.ОбъемВыработки КАК ОбъемВыработки
|
|ПОМЕСТИТЬ ВыработкаОС_НаКонецМесяцаБУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки КАК ПоказательНаработки,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатБУ.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки КАК ПоказательНаработки,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатБУ КАК ТаблицаДатБУ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= КОНЕЦПЕРИОДА(ТаблицаДатБУ.Дата, МЕСЯЦ)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатБУ.Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.ПоказательНаработки = ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.ПоказательНаработки
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыработкаОС_Записи КАК ВыработкаОС_Записи
| ПО ВыработкаОС_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И ВыработкаОС_Записи.ПоказательНаработки = ДанныеРегистраРегистраторЗаписи.ПоказательНаработки";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СтоимостьОСБУ
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеРегистраРегистраторЗаписи.Дата КАК Дата,
| СтоимостьОС_Записи.Стоимость КАК Стоимость,
| СтоимостьОС_Записи.СтоимостьРегл КАК СтоимостьРегл,
| СтоимостьОС_Записи.ПредварительнаяСтоимостьРегл КАК ПредварительнаяСтоимостьРегл
|
|ПОМЕСТИТЬ СтоимостьОСБУ
|
|ИЗ
| (ВЫБРАТЬ
| ДанныеРегистраПериодЗаписи.Дата КАК Дата,
| ДанныеРегистраПериодЗаписи.Организация КАК Организация,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи КАК ПериодЗаписи,
| МАКСИМУМ(ДанныеРегистраРегистраторЗаписи.Регистратор) КАК РегистраторЗаписи
| ИЗ
| (ВЫБРАТЬ
| ТаблицаДатБУ.Дата КАК Дата,
| ТаблицаДатБУ.Организация КАК Организация,
| МАКСИМУМ(ДанныеРегистраПериодЗаписи.Период) КАК ПериодЗаписи
| ИЗ
| ТаблицаДатБУ КАК ТаблицаДатБУ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтоимостьОС_Записи КАК ДанныеРегистраПериодЗаписи
| ПО ДанныеРегистраПериодЗаписи.Период <= ТаблицаДатБУ.ДатаПараметров
| И ДанныеРегистраПериодЗаписи.Организация = ТаблицаДатБУ.Организация
|
| СГРУППИРОВАТЬ ПО
| ТаблицаДатБУ.Дата,
| ТаблицаДатБУ.Организация
|
| ) КАК ДанныеРегистраПериодЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтоимостьОС_Записи КАК ДанныеРегистраРегистраторЗаписи
| ПО ДанныеРегистраРегистраторЗаписи.Период = ДанныеРегистраПериодЗаписи.ПериодЗаписи
| И ДанныеРегистраРегистраторЗаписи.Организация = ДанныеРегистраПериодЗаписи.Организация
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистраПериодЗаписи.Дата,
| ДанныеРегистраПериодЗаписи.Организация,
| ДанныеРегистраПериодЗаписи.ПериодЗаписи
|
| ) КАК ДанныеРегистраРегистраторЗаписи
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтоимостьОС_Записи КАК СтоимостьОС_Записи
| ПО СтоимостьОС_Записи.Регистратор = ДанныеРегистраРегистраторЗаписи.РегистраторЗаписи
| И СтоимостьОС_Записи.Период = ДанныеРегистраРегистраторЗаписи.ПериодЗаписи
| И СтоимостьОС_Записи.Организация = ДанныеРегистраРегистраторЗаписи.Организация";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область СтоимостьНаНачалоГода
ТекстЗапроса =
"ВЫБРАТЬ
| СтоимостьОС.СтоимостьОстаток КАК Стоимость,
| СтоимостьОС.СтоимостьРеглОстаток КАК СтоимостьРегл
|ИЗ
| РегистрНакопления.СтоимостьОС.Остатки(&КонецПредыдущегоГодаГраница, ОсновноеСредство = &ОсновноеСредство) КАК СтоимостьОС";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область АмортизацияНаНачалоГода
ТекстЗапроса =
"ВЫБРАТЬ
| -АмортизацияОС.АмортизацияОстаток КАК Амортизация,
| -АмортизацияОС.АмортизацияРеглОстаток КАК АмортизацияРегл
|ИЗ
| РегистрНакопления.АмортизацияОС.Остатки(&КонецПредыдущегоГодаГраница, ОсновноеСредство = &ОсновноеСредство) КАК АмортизацияОС";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область АмортизацияНаНачалоПериода
ТекстЗапроса =
"ВЫБРАТЬ
| -АмортизацияОС.АмортизацияОстаток КАК Амортизация,
| -АмортизацияОС.АмортизацияРеглОстаток КАК АмортизацияРегл
|ИЗ
| РегистрНакопления.АмортизацияОС.Остатки(&КонецПредыдущегоМесяцаГраница, ОсновноеСредство = &ОсновноеСредство) КАК АмортизацияОС";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ДатаВводаВЭксплуатациюБУ
ТекстЗапроса =
"ВЫБРАТЬ
| ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюБУ КАК ДатаВводаВЭксплуатациюБУ
|ИЗ
| РегистрСведений.ПервоначальныеСведенияОС.СрезПоследних(
| &Дата,
| ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И Регистратор <> &Ссылка
| И Организация = &Организация
| И ОсновноеСредство = &ОсновноеСредство) КАК ПервоначальныеСведенияОС";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ВыборкаПараметровБУ
ТекстЗапроса =
"ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(ТаблицаДатБУ.Дата, ДЕНЬ) КАК Дата,
|
| ВЫБОР
| КОГДА ТаблицаДатБУ.Дата <= КОНЕЦПЕРИОДА(ПервоначальныеСведенияОС.ДатаДокументаПринятияКУчету, МЕСЯЦ)
| И ПервоначальныеСведенияОС.РежимИсправленияСПрошлойДаты
| ТОГДА ЕСТЬNULL(ПервоначальныеСведенияОС.ПредварительнаяСтоимостьБУ, ЕСТЬNULL(ПервоначальныеСведенияОС.ПервоначальнаяСтоимостьБУ, 0))
|
| ИНАЧЕ ЕСТЬNULL(СтоимостьОСБУ.СтоимостьРегл, ЕСТЬNULL(ПервоначальныеСведенияОС.ПервоначальнаяСтоимостьБУ, 0))
|
| КОНЕЦ КАК СтоимостьБУ,
|
| ЕСТЬNULL(ПараметрыАмортизацииОСБУ.КоэффициентУскорения, 0) КАК КоэффициентУскоренияБУ,
| ЕСТЬNULL(ПараметрыАмортизацииОСБУ.ЛиквидационнаяСтоимость, 0) КАК ЛиквидационнаяСтоимость,
| ЕСТЬNULL(ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ, ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПустаяСсылка)) КАК МетодНачисленияАмортизацииБУ,
|
| ЕСТЬNULL(ПорядокУчетаОСБУ.НачислятьАмортизациюБУ, ЛОЖЬ) КАК НачислятьАмортизациюБУ,
|
| ЕСТЬNULL(ВыработкаОС_НаКонецМесяцаБУ.ОбъемВыработки, 0)
| -ЕСТЬNULL(ВыработкаОС_НаНачалоМесяцаБУ.ОбъемВыработки, 0) КАК ОбъемВыработки,
|
| ЕСТЬNULL(ВыработкаОС_НаНачалоМесяцаБУ.ОбъемВыработки, 0) КАК ОбъемВыработкиНаНачалоМесяца,
|
| ЕСТЬNULL(ПараметрыАмортизацииОСБУ.ОбъемПродукцииРаботДляВычисленияАмортизации, 0) КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ЕСТЬNULL(ПорядокУчетаОС.ПоказательНаработки, ЗНАЧЕНИЕ(Справочник.ПоказателиНаработки.ПустаяСсылка)) КАК ПоказательНаработки,
|
| ЕСТЬNULL(ПараметрыАмортизацииОСБУ.СрокИспользованияДляВычисленияАмортизации, 0) КАК СрокИспользованияДляВычисленияАмортизации,
| ЕСТЬNULL(ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения, ДАТАВРЕМЯ(1,1,1)) КАК ДатаИзмененияПараметровБУ,
|
| ЛОЖЬ КАК НеРассчитыватьАмортизациюБУ,
| 0 КАК АмортизацияБУ,
| 0 КАК АмортизацияРеглИзменение
|
|ИЗ
| ТаблицаДатБУ КАК ТаблицаДатБУ
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОСБУ КАК ПервоначальныеСведенияОС
| ПО ПервоначальныеСведенияОС.Дата = ТаблицаДатБУ.Дата
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОСБУ КАК ПорядокУчетаОСБУ
| ПО ПорядокУчетаОСБУ.Дата = ТаблицаДатБУ.Дата
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииОСБУ КАК ПараметрыАмортизацииОСБУ
| ПО ПараметрыАмортизацииОСБУ.Дата = ТаблицаДатБУ.Дата
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПорядокУчетаОС_БУ КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Дата = ТаблицаДатБУ.Дата
|
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОСБУ КАК СтоимостьОСБУ
| ПО СтоимостьОСБУ.Дата = ТаблицаДатБУ.Дата
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС_НаНачалоМесяцаБУ КАК ВыработкаОС_НаНачалоМесяцаБУ
| ПО ВыработкаОС_НаНачалоМесяцаБУ.Дата = ПорядокУчетаОС.Дата
| И ВыработкаОС_НаНачалоМесяцаБУ.ПоказательНаработки = ПорядокУчетаОС.ПоказательНаработки
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС_НаКонецМесяцаБУ КАК ВыработкаОС_НаКонецМесяцаБУ
| ПО ВыработкаОС_НаКонецМесяцаБУ.Дата = ПорядокУчетаОС.Дата
| И ВыработкаОС_НаКонецМесяцаБУ.ПоказательНаработки = ПорядокУчетаОС.ПоказательНаработки
|
|УПОРЯДОЧИТЬ ПО
| Дата";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраЗаписиСУчетомИсправлений(
"ПервоначальныеСведенияОС_ЗаписиСУчетомИсправлений", Метаданные.РегистрыСведений.ПервоначальныеСведенияОС.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраЗаписиСУчетомИсправлений(
"ПорядокУчетаОСБУ_ЗаписиСУчетомИсправлений", Метаданные.РегистрыСведений.ПорядокУчетаОСБУ.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраЗаписиСУчетомИсправлений(
"ПараметрыАмортизацииОСБУ_ЗаписиСУчетомИсправлений", Метаданные.РегистрыСведений.ПараметрыАмортизацииОСБУ.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраЗаписиСУчетомИсправлений(
"ПорядокУчетаОС_ЗаписиСУчетомИсправлений", Метаданные.РегистрыСведений.ПорядокУчетаОС.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраСрезПоследнихСУчетомИсправлений(
"ПервоначальныеСведенияОС_СрезПоследнихСУчетомИсправлений", Метаданные.РегистрыСведений.ПервоначальныеСведенияОС.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраСрезПоследнихСУчетомИсправлений(
"ПорядокУчетаОСБУ_СрезПоследнихСУчетомИсправлений", Метаданные.РегистрыСведений.ПорядокУчетаОСБУ.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраСрезПоследнихСУчетомИсправлений(
"ПараметрыАмортизацииОСБУ_СрезПоследнихСУчетомИсправлений", Метаданные.РегистрыСведений.ПараметрыАмортизацииОСБУ.Имя, ТекстЗапроса);
ВнеоборотныеАктивы.ЗаменитьИмяТаблицыРегистраСрезПоследнихСУчетомИсправлений(
"ПорядокУчетаОС_СрезПоследнихСУчетомИсправлений", Метаданные.РегистрыСведений.ПорядокУчетаОС.Имя, ТекстЗапроса);
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = Параметры.МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", Параметры.Ссылка);
Запрос.УстановитьПараметр("Дата", Параметры.Дата);
Запрос.УстановитьПараметр("Организация", Параметры.Организация);
Запрос.УстановитьПараметр("ОсновноеСредство", Параметры.ОсновноеСредство);
Запрос.УстановитьПараметр("НачалоПериода", Параметры.НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", Параметры.КонецПериода);
Запрос.УстановитьПараметр("КонецПериодаУУ", КонецДня(Параметры.КонецПериодаУУ));
Запрос.УстановитьПараметр("КонецПериодаБУ", КонецДня(Параметры.КонецПериодаБУ));
Запрос.УстановитьПараметр("КонецПредыдущегоМесяца", Параметры.НачалоПериода-1);
Запрос.УстановитьПараметр("КонецПредыдущегоМесяцаГраница", Новый Граница(Параметры.НачалоПериода-1, ВидГраницы.Включая));
Запрос.УстановитьПараметр("КонецПредыдущегоГодаГраница", Новый Граница(НачалоГода(Параметры.НачалоПериода)-1, ВидГраницы.Включая));
Запрос.УстановитьПараметр("ПоСтандартамМУ", Параметры.ПоСтандартамМУ);
Запрос.УстановитьПараметр("ПорядокНачисленияАмортизацииРегл", Параметры.ПорядокНачисленияАмортизацииРегл);
Запрос.УстановитьПараметр("РеглУчетВНАВедетсяНезависимо", Параметры.РеглУчетВНАВедетсяНезависимо);
Запрос.УстановитьПараметр("ПериодСреза", Параметры.ПериодСреза);
Результат = Запрос.ВыполнитьПакет();
Выборка = Результат[Результат.ВГраница()-4].Выбрать();
Если Выборка.Следующий() Тогда
ПараметрыДляРасчета.СтоимостьРеглНаНачалоГода = Выборка.СтоимостьРегл;
КонецЕсли;
Выборка = Результат[Результат.ВГраница()-3].Выбрать();
Если Выборка.Следующий() Тогда
ПараметрыДляРасчета.АмортизацияРеглНаНачалоГода = Выборка.АмортизацияРегл;
Иначе
ПараметрыДляРасчета.АмортизацияРеглНаНачалоГода = 0;
КонецЕсли;
Выборка = Результат[Результат.ВГраница()-2].Выбрать();
Если Выборка.Следующий() Тогда
ПараметрыДляРасчета.АмортизацияРеглНаНачалоПериода = Выборка.АмортизацияРегл;
Иначе
ПараметрыДляРасчета.АмортизацияРеглНаНачалоПериода = 0;
КонецЕсли;
Выборка = Результат[Результат.ВГраница()-1].Выбрать();
Если Выборка.Следующий() Тогда
ПараметрыДляРасчета.ДатаВводаВЭксплуатациюБУ = Выборка.ДатаВводаВЭксплуатациюБУ;
КонецЕсли;
ПараметрыЗаПериодБУ = Результат[Результат.ВГраница()].Выгрузить();
ПараметрыДляРасчета.Вставить("ПараметрыЗаПериодБУ", ПараметрыЗаПериодБУ);
ОбщегоНазначенияУТ.УничтожитьВременныеТаблицы(Параметры.МенеджерВременныхТаблиц,, ИспользуемыеВТ);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли