#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("ОсновныеСредства");
МеханизмыДокумента.Добавить("РегламентированныйУчет");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.МодернизацияОС") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
УчетОСВызовСервера.ПрочиеРасходы(ТекстыЗапроса, Регистры, ПрочиеРасходы(ТекстыЗапроса, Регистры));
УчетОСВызовСервера.ПартииПрочихРасходов(ТекстыЗапроса, Регистры, ПартииПрочихРасходов(ТекстыЗапроса, Регистры));
УчетОСВызовСервера.ПрочиеДоходы(ТекстыЗапроса, Регистры);
УчетОСВызовСервера.ПрочиеАктивыПассивы(ТекстыЗапроса, Регистры);
УчетОСВызовСервера.ПорядокОтраженияПрочихОпераций(ТекстыЗапроса, Регистры);
УчетОСВызовСервера.ОтражениеДокументовВРеглУчете(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПараметрыАмортизацииОСБУ(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаСобытияОСОрганизаций(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПараметрыЦелевогоФинансированияОС(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ИзменениеПараметровОС.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.МодернизацияОС) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.МодернизацияОС.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.МодернизацияОС);
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ОтображатьВнеоборотныеАктивы2_2";
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КонецПроцедуры
Процедура ЗаполнитьПараметрыНачисленияАмортизацииПриОтражении(МенеджерВременныхТаблиц) Экспорт
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| МодернизацияОС.Ссылка КАК Ссылка,
| МодернизацияОС.Дата КАК Дата
|ИЗ
| Документ.МодернизацияОС КАК МодернизацияОС
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДокументыКОтражению КАК ДокументыКОтражению
| ПО МодернизацияОС.Ссылка = ДокументыКОтражению.Ссылка";
РеквизитыДокумента = Запрос.Выполнить().Выбрать();
Если Не РеквизитыДокумента.Следующий() Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", РеквизитыДокумента.Ссылка);
Запрос.УстановитьПараметр("ПериодИсключая", Новый Граница(РеквизитыДокумента.Дата, ВидГраницы.Исключая));
Запрос.УстановитьПараметр("КонецМесяца", Новый Граница(КонецМесяца(РеквизитыДокумента.Дата), ВидГраницы.Включая));
Запрос.Текст =
"ВЫБРАТЬ
| Операция.Организация КАК Организация,
| ТабличнаяЧасть.ОсновноеСредство КАК ОсновноеСредство
|ПОМЕСТИТЬ втТаблицаДокумента
|ИЗ
| Документ.МодернизацияОС КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.МодернизацияОС.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Ссылка = &Ссылка
|;
|
|
|ВЫБРАТЬ
| СчетаОтражения.ОсновноеСредство КАК ОсновноеСредство,
| СчетаОтражения.СчетУчета КАК СчетУчета,
| СчетаОтражения.СчетНачисленияАмортизации КАК СчетАмортизации
|ПОМЕСТИТЬ втСчетаОтражения
|ИЗ
| РегистрСведений.ПорядокУчетаОС.СрезПоследних(
| &ПериодИсключая,
| ОсновноеСредство В
| (ВЫБРАТЬ
| Т.ОсновноеСредство
| ИЗ
| втТаблицаДокумента КАК Т)) КАК СчетаОтражения
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПараметрыЦелевогоФинансирования.ОсновноеСредство,
| ПараметрыЦелевогоФинансирования.СчетУчета,
| ПараметрыЦелевогоФинансирования.СчетАмортизации
|ИЗ
| РегистрСведений.ПараметрыЦелевогоФинансированияОС КАК ПараметрыЦелевогоФинансирования
|ГДЕ
| ПараметрыЦелевогоФинансирования.Регистратор = &Ссылка
| И ПараметрыЦелевогоФинансирования.ОсновноеСредство В
| (ВЫБРАТЬ
| Т.ОсновноеСредство
| ИЗ
| втТаблицаДокумента КАК Т)
|;
|
|
|ВЫБРАТЬ
| втТаблицаДокумента.ОсновноеСредство,
| ЕСТЬNULL(ОстаткиСчетУчета.СуммаОстатокДт, 0) - ЕСТЬNULL(ОстаткиСчетАмортизации.СуммаОстатокКт, 0) КАК СуммаБУ,
| ЕСТЬNULL(ОстаткиСчетУчета.СуммаПРОстатокДт, 0) - ЕСТЬNULL(ОстаткиСчетАмортизации.СуммаПРОстатокКт, 0) КАК СуммаПР
|ИЗ
| втТаблицаДокумента КАК втТаблицаДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(
| &КонецМесяца,
| Счет В
| (ВЫБРАТЬ
| Т.СчетУчета
| ИЗ
| втСчетаОтражения КАК Т),
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства),
| (Организация, Субконто1) В
| (ВЫБРАТЬ
| Т.Организация,
| Т.ОсновноеСредство
| ИЗ
| втТаблицаДокумента КАК Т)) КАК ОстаткиСчетУчета
| ПО втТаблицаДокумента.ОсновноеСредство = ОстаткиСчетУчета.Субконто1
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(
| &КонецМесяца,
| Счет В
| (ВЫБРАТЬ
| Т.СчетАмортизации
| ИЗ
| втСчетаОтражения КАК Т),
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства),
| (Организация, Субконто1) В
| (ВЫБРАТЬ
| Т.Организация,
| Т.ОсновноеСредство
| ИЗ
| втТаблицаДокумента КАК Т)) КАК ОстаткиСчетАмортизации
| ПО втТаблицаДокумента.ОсновноеСредство = ОстаткиСчетАмортизации.Субконто1";
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат;
КонецЕсли;
Выборка = Результат.Выбрать();
Стоимости = Новый Соответствие;
Пока Выборка.Следующий() Цикл
Стоимости.Вставить(Выборка.ОсновноеСредство, Новый Структура("СуммаБУ, СуммаПР", Выборка.СуммаБУ, Выборка.СуммаПР));
КонецЦикла;
НачатьТранзакцию();
Попытка
#Область БлокировкаДанных
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ПараметрыАмортизацииОСБУ.НаборЗаписей");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.УстановитьЗначение("Регистратор", РеквизитыДокумента.Ссылка);
Блокировка.Заблокировать();
#КонецОбласти
НаборЗаписей = РегистрыСведений.ПараметрыАмортизацииОСБУ.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(РеквизитыДокумента.Ссылка);
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Если Стоимости.Получить(Запись.ОсновноеСредство) <> Неопределено Тогда
Запись.СтоимостьДляВычисленияАмортизации = Стоимости.Получить(Запись.ОсновноеСредство).СуммаБУ;
Запись.ПРДляВычисленияАмортизации = Стоимости.Получить(Запись.ОсновноеСредство).СуммаПР;
КонецЕсли;
КонецЦикла;
НаборЗаписей.Записать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Заполнение регистров ОС после отражения документа в регламентированном учете'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
КонецПроцедуры
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.МодернизацияОС";
ЗначенияПараметров = ЗначенияПараметровПроведения();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
ВЗапросеЕстьИсточник = Истина;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Ложь;
ИначеЕсли ИмяРегистра = "ДокументыПоОС" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов"
ИЛИ ИмяРегистра = "ДокументыПоОС" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры)
ПроведениеДокументов.ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
ПолучитьДанныеДокумента(Запрос);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.ПометкаУдаления,
| ДанныеДокумента.Проведен,
| ДанныеДокумента.Комментарий,
| ДанныеДокумента.Ответственный,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.СобытиеОС КАК СобытиеОС,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ВключитьАмортизационнуюПремиюВСоставРасходов КАК ВключитьАмортизационнуюПремиюВСоставРасходов,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.ВариантПримененияЦелевогоФинансирования,
| ДанныеДокумента.СчетУчетаЦФ,
| ДанныеДокумента.СчетАмортизацииЦФ,
| ДанныеДокумента.СтатьяДоходов,
| ДанныеДокумента.АналитикаДоходов,
| ДанныеДокумента.НаправлениеДеятельности
|ИЗ
| Документ.МодернизацияОС КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
УчетОСВызовСервера.ИнициализироватьПараметрыЗапросаПриОтраженииАмортизации(Запрос, ДопПараметры);
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Запрос.УстановитьПараметр("Граница", Новый Граница(НачалоМесяца(Реквизиты.Период), ВидГраницы.Исключая));
Запрос.УстановитьПараметр("КонецМесяца", Новый Граница(КонецМесяца(Реквизиты.Период), ВидГраницы.Включая));
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения(Реквизиты);
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
КонецПроцедуры
Процедура ПолучитьДанныеДокумента(Запрос)
СписокЗапросов = Новый Массив;
#Область ДанныеДокументаРеквизиты
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация
|
|ПОМЕСТИТЬ ДанныеДокументаРеквизиты
|
|ИЗ
| Документ.МодернизацияОС КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ДанныеДокументаТаблицаОС
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаДокумента.ОсновноеСредство КАК ОбъектУчета
|
|ПОМЕСТИТЬ ДанныеДокументаТаблицаОС
|
|ИЗ
| Документ.МодернизацияОС.ОС КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| ОсновноеСредство
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.Выполнить();
КонецПроцедуры
Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)
ЗначенияПараметровПроведения = Новый Структура;
ЗначенияПараметровПроведения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.МодернизацияОС"));
ЗначенияПараметровПроведения.Вставить("НазваниеДокумента", НСтр("ru='Модернизация ОС'"));
ЗначенияПараметровПроведения.Вставить("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.МодернизацияОС);
Если Реквизиты <> Неопределено Тогда
ЗначенияПараметровПроведения.Вставить("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
КонецЕсли;
Возврат ЗначенияПараметровПроведения;
КонецФункции
Процедура ТекстЗапросаТаблицаВтОсновныеСредства(ТекстыЗапроса)
ИмяТаблицы = "втОсновныеСредства";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОС(ТекстыЗапроса);
Текст =
"ВЫБРАТЬ
| втПорядокУчетаОС.ОсновноеСредство КАК ОсновноеСредство,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА &ВариантПримененияЦелевогоФинансирования = ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.НеИспользуется)
| ТОГДА втПорядокУчетаОС.НаправлениеДеятельности
| ИНАЧЕ &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности
|ПОМЕСТИТЬ втОсновныеСредства
|ИЗ
| втПорядокУчетаОС КАК втПорядокУчетаОС
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| Организация,
| Подразделение";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы);
КонецПроцедуры
Процедура ВременнаяТаблицаСчетаУчетаОС(ТекстыЗапроса)
ИмяТаблицы = "СчетаУчетаОС";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтСписокОС(ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОС(ТекстыЗапроса);
Текст =
"ВЫБРАТЬ
| втПорядокУчетаОС.ОсновноеСредство,
| втПорядокУчетаОС.СчетУчета,
| втПорядокУчетаОС.СчетНачисленияАмортизации КАК СчетАмортизации,
| ПараметрыЦелевогоФинансирования.СчетУчета КАК СчетУчетаЦФ,
| ПараметрыЦелевогоФинансирования.СчетАмортизации КАК СчетАмортизацииЦФ
|ПОМЕСТИТЬ СчетаУчетаОС
|ИЗ
| втПорядокУчетаОС КАК втПорядокУчетаОС
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыЦелевогоФинансированияОС.СрезПоследних(
| &Период,
| Регистратор <> &Ссылка
| И ОсновноеСредство В
| (ВЫБРАТЬ
| втСписокОС.ОсновноеСредство
| ИЗ
| втСписокОС КАК втСписокОС)) КАК ПараметрыЦелевогоФинансирования
| ПО ПараметрыЦелевогоФинансирования.ОсновноеСредство = втПорядокУчетаОС.ОсновноеСредство";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы);
КонецПроцедуры
Процедура ВременнаяТаблицаСчетаУчетаОССгруппированные(ТекстыЗапроса)
ИмяТаблицы = "СчетаУчетаОССгруппированные";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ВременнаяТаблицаСчетаУчетаОС(ТекстыЗапроса);
Текст = "
|////////////////////////////////////////////////////////////////////////////////
|// Временная таблица СчетаУчетаОССгруппированные
|"+
"ВЫБРАТЬ
| СчетаУчетаОС.СчетУчета КАК Счет
|ПОМЕСТИТЬ СчетаУчетаОССгруппированные
|ИЗ
| СчетаУчетаОС КАК СчетаУчетаОС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетаУчетаОС.СчетУчетаЦФ
|ИЗ
| СчетаУчетаОС КАК СчетаУчетаОС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетаУчетаОС.СчетАмортизации
|ИЗ
| СчетаУчетаОС КАК СчетаУчетаОС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетаУчетаОС.СчетАмортизацииЦФ
|ИЗ
| СчетаУчетаОС КАК СчетаУчетаОС";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы);
КонецПроцедуры
Процедура ВременнаяТаблицаОстаткиПоСчетам(ТекстыЗапроса)
ИмяТаблицы = "втОстаткиПоСчетам";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаТаблицаВтОсновныеСредства(ТекстыЗапроса);
ВременнаяТаблицаСчетаУчетаОССгруппированные(ТекстыЗапроса);
Текст =
"ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК ОсновноеСредство,
| ХозрасчетныйОстатки.Счет КАК Счет,
| ХозрасчетныйОстатки.СуммаОстаток КАК СуммаБУ,
| ХозрасчетныйОстатки.СуммаНУОстаток КАК СуммаНУ,
| ХозрасчетныйОстатки.СуммаПРОстаток КАК СуммаПР,
| ХозрасчетныйОстатки.СуммаВРОстаток КАК СуммаВР
|ПОМЕСТИТЬ втОстаткиПоСчетам
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(
| &Период,
| Счет В
| (ВЫБРАТЬ
| Т.Счет
| ИЗ
| СчетаУчетаОССгруппированные КАК Т),
| ,
| (Организация, Подразделение, Субконто1, НаправлениеДеятельности) В
| (ВЫБРАТЬ
| втОсновныеСредства.Организация,
| втОсновныеСредства.Подразделение,
| втОсновныеСредства.ОсновноеСредство,
| втОсновныеСредства.НаправлениеДеятельности
| ИЗ
| втОсновныеСредства КАК втОсновныеСредства)) КАК ХозрасчетныйОстатки";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы, Ложь);
КонецПроцедуры
Процедура ВременнаяТаблицаСгруппированнаяНачисленнаяАмортизация(ТекстыЗапроса)
ИмяТаблицы = "НачисленнаяАмортизация";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
УчетОСВызовСервера.ВременнаяТаблицаНачисленнаяАмортизация(ТекстыЗапроса);
Текст = "
|////////////////////////////////////////////////////////////////////////////////
|// Временная таблица НачисленнаяАмортизация
|"+
"ВЫБРАТЬ
| НачисленнаяАмортизация.ОбъектУчета КАК ОсновноеСредство,
| СУММА(НачисленнаяАмортизация.СуммаБУ) КАК СуммаБУ,
| СУММА(НачисленнаяАмортизация.СуммаНУ) КАК СуммаНУ,
| СУММА(НачисленнаяАмортизация.СуммаПР) КАК СуммаПР,
| СУММА(НачисленнаяАмортизация.СуммаВР) КАК СуммаВР
|ПОМЕСТИТЬ НачисленнаяАмортизация
|ИЗ
| втНачисленнаяАмортизация КАК НачисленнаяАмортизация
|
|СГРУППИРОВАТЬ ПО
| НачисленнаяАмортизация.ОбъектУчета";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы);
КонецПроцедуры
Процедура ВременнаяТаблицаДанныеСчетаНакопленияСтоимости(ТекстыЗапроса)
ИмяТаблицы = "втДанныеСчетаНакопленияСтоимости";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаТаблицаВтОсновныеСредства(ТекстыЗапроса);
Текст =
"ВЫБРАТЬ
| ДанныеСчетаНакопленияСтоимости.Субконто1 КАК ОсновноеСредство,
| СУММА(ДанныеСчетаНакопленияСтоимости.СуммаОборот) КАК СуммаБУ,
| СУММА(ДанныеСчетаНакопленияСтоимости.СуммаНУОборот) КАК СуммаНУ,
| СУММА(ДанныеСчетаНакопленияСтоимости.СуммаПРОборот) КАК СуммаПР,
| СУММА(ДанныеСчетаНакопленияСтоимости.СуммаВРОборот) КАК СуммаВР
|ПОМЕСТИТЬ втДанныеСчетаНакопленияСтоимости
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(
| ,
| &КонецМесяца,
| Регистратор,
| Счет В (
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПодготовкаКВводуВЭксплуатацию),
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПриобретениеЗемельныхУчастков),
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПриобретениеОбъектовПриродопользования),
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СтроительствоОбъектовОсновныхСредств)
| ),,
| (Организация, Подразделение, Субконто1, НаправлениеДеятельности) В
| (ВЫБРАТЬ
| втОсновныеСредства.Организация,
| втОсновныеСредства.Подразделение,
| втОсновныеСредства.ОсновноеСредство,
| втОсновныеСредства.НаправлениеДеятельности
| ИЗ
| втОсновныеСредства КАК втОсновныеСредства),,
| ) КАК ДанныеСчетаНакопленияСтоимости
|ГДЕ
| ДанныеСчетаНакопленияСтоимости.Регистратор <> &Ссылка
| И ДанныеСчетаНакопленияСтоимости.СуммаОборот <> 0
|
|СГРУППИРОВАТЬ ПО
| ДанныеСчетаНакопленияСтоимости.Субконто1";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы);
КонецПроцедуры
Процедура ВременнаяТаблицаОсновныхСредств(ТекстыЗапроса)
ИмяТаблицы = "ТаблицаОС";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ВременнаяТаблицаСчетаУчетаОС(ТекстыЗапроса);
ВременнаяТаблицаОстаткиПоСчетам(ТекстыЗапроса);
ВременнаяТаблицаДанныеСчетаНакопленияСтоимости(ТекстыЗапроса);
ВременнаяТаблицаСгруппированнаяНачисленнаяАмортизация(ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОС(ТекстыЗапроса);
Текст =
"ВЫБРАТЬ
| ТаблицаОС.Ссылка,
| ТаблицаОС.НомерСтроки,
| ТаблицаОС.ОсновноеСредство,
| ЕСТЬNULL(втПорядокУчетаОС.ПоказательНаработки, ЗНАЧЕНИЕ(Справочник.ПоказателиНаработки.ПустаяСсылка)) КАК ПоказательНаработки,
| ЕСТЬNULL(ДанныеСчетаНакопленияСтоимости.СуммаБУ, 0) КАК СтоимостьМодернизацииБУ,
| ЕСТЬNULL(ДанныеСчетаНакопленияСтоимости.СуммаНУ, 0) КАК СтоимостьМодернизацииНУ,
|
| ЕСТЬNULL(втОстаткиСтоимость.СуммаБУ, 0) + ЕСТЬNULL(втОстаткиСтоимостьЦФ.СуммаБУ, 0)
| - ЕСТЬNULL(-втОстаткиАмортизация.СуммаБУ, 0) - ЕСТЬNULL(-втОстаткиАмортизацияЦФ.СуммаБУ, 0) - ЕСТЬNULL(НачисленнаяАмортизация.СуммаБУ, 0)
| + ЕСТЬNULL(ДанныеСчетаНакопленияСтоимости.СуммаБУ, 0) КАК СтоимостьБУ,
|
| ЕСТЬNULL(втОстаткиСтоимость.СуммаПР, 0) + ЕСТЬNULL(втОстаткиСтоимостьЦФ.СуммаПР, 0)
| - ЕСТЬNULL(-втОстаткиАмортизация.СуммаПР, 0) - ЕСТЬNULL(-втОстаткиАмортизацияЦФ.СуммаПР, 0) - ЕСТЬNULL(НачисленнаяАмортизация.СуммаПР, 0)
| + ЕСТЬNULL(ДанныеСчетаНакопленияСтоимости.СуммаПР, 0) КАК СтоимостьПР
|
|ПОМЕСТИТЬ ТаблицаОС
|ИЗ
| Документ.МодернизацияОС.ОС КАК ТаблицаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ СчетаУчетаОС КАК СчетаУчетаОС
| ПО ТаблицаОС.ОсновноеСредство = СчетаУчетаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втОстаткиПоСчетам КАК втОстаткиСтоимость
| ПО ТаблицаОС.ОсновноеСредство = втОстаткиСтоимость.ОсновноеСредство
| И (СчетаУчетаОС.СчетУчета = втОстаткиСтоимость.Счет)
|
| ЛЕВОЕ СОЕДИНЕНИЕ втОстаткиПоСчетам КАК втОстаткиАмортизация
| ПО (ТаблицаОС.ОсновноеСредство = втОстаткиАмортизация.ОсновноеСредство)
| И (СчетаУчетаОС.СчетАмортизации = втОстаткиАмортизация.Счет)
|
| ЛЕВОЕ СОЕДИНЕНИЕ втОстаткиПоСчетам КАК втОстаткиСтоимостьЦФ
| ПО ТаблицаОС.ОсновноеСредство = втОстаткиСтоимостьЦФ.ОсновноеСредство
| И (СчетаУчетаОС.СчетУчетаЦФ = втОстаткиСтоимостьЦФ.Счет)
|
| ЛЕВОЕ СОЕДИНЕНИЕ втОстаткиПоСчетам КАК втОстаткиАмортизацияЦФ
| ПО (ТаблицаОС.ОсновноеСредство = втОстаткиАмортизацияЦФ.ОсновноеСредство)
| И (СчетаУчетаОС.СчетАмортизацииЦФ = втОстаткиАмортизацияЦФ.Счет)
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК втПорядокУчетаОС
| ПО ТаблицаОС.ОсновноеСредство = втПорядокУчетаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втДанныеСчетаНакопленияСтоимости КАК ДанныеСчетаНакопленияСтоимости
| ПО ТаблицаОС.ОсновноеСредство = ДанныеСчетаНакопленияСтоимости.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ НачисленнаяАмортизация КАК НачисленнаяАмортизация
| ПО ТаблицаОС.ОсновноеСредство = НачисленнаяАмортизация.ОсновноеСредство
|
|ГДЕ
| ТаблицаОС.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПараметрыАмортизацииОСБУ(ТекстыЗапроса, Регистры)
ИмяРегистра = "ПараметрыАмортизацииОСБУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВременнаяТаблицаОсновныхСредств(ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтНаработкиОбъектовЭксплуатации(ТекстыЗапроса);
Текст =
"ВЫБРАТЬ
| &Ссылка КАК Регистратор,
| &Период КАК Период,
| &Период КАК ДатаПоследнегоИзменения,
|
| &Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ПараметрыАмортизацииОСБУ.СрокПолезногоИспользованияБУ КАК СрокПолезногоИспользованияБУ,
| ПараметрыАмортизацииОСБУ.СрокПолезногоИспользованияНУ КАК СрокПолезногоИспользованияНУ,
|
| ПараметрыАмортизацииОСБУ.СрокИспользованияДляВычисленияАмортизации
| - РАЗНОСТЬДАТ(ЕСТЬNULL(ПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения, &Период), &Период, МЕСЯЦ) КАК СрокИспользованияДляВычисленияАмортизации,
|
| ПараметрыАмортизацииОСБУ.ОбъемПродукцииРаботДляВычисленияАмортизации
| - ЕСТЬNULL(НаработкиОбъектовЭксплуатации.Значение, 0) КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ТаблицаОС.СтоимостьБУ КАК СтоимостьДляВычисленияАмортизации,
| ТаблицаОС.СтоимостьПР КАК ПРДляВычисленияАмортизации,
| ПараметрыАмортизацииОСБУ.ГрафикАмортизации КАК ГрафикАмортизации,
| ПараметрыАмортизацииОСБУ.СпециальныйКоэффициент КАК СпециальныйКоэффициент,
| ПараметрыАмортизацииОСБУ.КоэффициентАмортизацииБУ КАК КоэффициентАмортизацииБУ,
| ПараметрыАмортизацииОСБУ.КоэффициентУскорения КАК КоэффициентУскорения
|ИЗ
| ТаблицаОС КАК ТаблицаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыАмортизацииОСБУ.СрезПоследних(
| &Период,
| Организация = &Организация
| И Регистратор <> &Ссылка
| И ОсновноеСредство В (ВЫБРАТЬ Т.ОсновноеСредство ИЗ ТаблицаОС КАК Т)) КАК ПараметрыАмортизацииОСБУ
| ПО ТаблицаОС.ОсновноеСредство = ПараметрыАмортизацииОСБУ.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтНаработкиОбъектовЭксплуатации КАК НаработкиОбъектовЭксплуатации
| ПО ТаблицаОС.ОсновноеСредство = НаработкиОбъектовЭксплуатации.ОбъектЭксплуатации";
ТекстыЗапроса.Добавить(Текст, ИмяРегистра);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаСобытияОСОрганизаций(ТекстыЗапроса, Регистры)
ИмяРегистра = "СобытияОСОрганизаций";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВременнаяТаблицаОсновныхСредств(ТекстыЗапроса);
Текст = "
|////////////////////////////////////////////////////////////////////////////////
|// Таблица СобытияОСОрганизаций
|"+
"ВЫБРАТЬ
| ТаблицаОС.НомерСтроки,
|
| &Ссылка КАК Регистратор,
| &Период КАК Период,
|
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| &Организация КАК Организация,
|
| &СобытиеОС КАК Событие,
|
| &НазваниеДокумента КАК НазваниеДокумента,
| &Номер КАК НомерДокумента,
| ТаблицаОС.СтоимостьМодернизацииБУ КАК СуммаЗатратБУ,
| ТаблицаОС.СтоимостьМодернизацииНУ КАК СуммаЗатратНУ
|
|ИЗ
| ТаблицаОС КАК ТаблицаОС
|
|УПОРЯДОЧИТЬ ПО
| ТаблицаОС.НомерСтроки";
ТекстыЗапроса.Добавить(Текст, ИмяРегистра);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПараметрыЦелевогоФинансированияОС(ТекстыЗапроса, Регистры)
ИмяРегистра = "ПараметрыЦелевогоФинансированияОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВременнаяТаблицаОсновныхСредств(ТекстыЗапроса);
Текст = "
|////////////////////////////////////////////////////////////////////////////////
|// Таблица ПараметрыЦелевогоФинансированияОС
|"+
"ВЫБРАТЬ
| &Ссылка КАК Регистратор,
| &Период КАК Период,
|
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ИСТИНА КАК ПрименениеЦелевогоФинансирования,
| &СчетУчетаЦФ КАК СчетУчета,
| &СчетАмортизацииЦФ КАК СчетАмортизации,
| &СтатьяДоходов КАК СтатьяДоходов,
| &АналитикаДоходов КАК АналитикаДоходов
|
|ИЗ
| ТаблицаОС КАК ТаблицаОС
|
|ГДЕ
| &ВариантПримененияЦелевогоФинансирования В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Полное),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Частичное)
| )";
ТекстыЗапроса.Добавить(Текст, ИмяРегистра);
КонецПроцедуры
Функция ПрочиеРасходы(ТекстыЗапроса, Регистры)
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений("ПрочиеРасходы", Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &СтатьяРасходов КАК СтатьяРасходов,
| &АналитикаРасходов КАК АналитикаРасходов,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| 0 КАК СуммаБезНДСУпр,
| 0 КАК СуммаСНДСРегл,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| -ТаблицаОС.СуммаКапитальныхВложенийВключаемыхВРасходыНУ КАК ВременнаяРазница,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПустаяСсылка) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка) КАК АналитикаУчетаНоменклатуры,
|
| """" КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.МодернизацияОС.ОС КАК ТаблицаОС
|ГДЕ
| ТаблицаОС.Ссылка = &Ссылка
| И &ВключитьАмортизационнуюПремиюВСоставРасходов
| И ТаблицаОС.СуммаКапитальныхВложенийВключаемыхВРасходыНУ > 0";
Возврат ТекстЗапроса;
КонецФункции
Функция ПартииПрочихРасходов(ТекстыЗапроса, Регистры)
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений("ПартииПрочихРасходов", Регистры) Тогда
Возврат "";
КонецЕсли;
ВременнаяТаблицаОсновныхСредств(ТекстыЗапроса);
Возврат
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &СтатьяРасходов КАК СтатьяРасходов,
| &АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| &Ссылка КАК ДокументПоступленияРасходов,
| ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаПартий.ПустаяСсылка) КАК АналитикаУчетаПартий,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка) КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| 0 КАК Сумма,
| 0 КАК СуммаБезНДС,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьРегл,
| 0 КАК НДСРегл,
| 0 КАК ПостояннаяРазница,
| -ТаблицаОС.СуммаКапитальныхВложенийВключаемыхВРасходыНУ КАК ВременнаяРазница,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПустаяСсылка) КАК ХозяйственнаяОперация,
|
| """" КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.МодернизацияОС.ОС КАК ТаблицаОС
|ГДЕ
| ТаблицаОС.Ссылка = &Ссылка
| И &ВключитьАмортизационнуюПремиюВСоставРасходов
| И ТаблицаОС.СуммаКапитальныхВложенийВключаемыхВРасходыНУ > 0";
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Ответственный КАК Ответственный,
| &Комментарий КАК Комментарий,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &Период КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| ЛОЖЬ КАК СторноИсправление,
| НЕОПРЕДЕЛЕНО КАК СторнируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДокументыПоОС";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаОС.НомерСтроки-1, 0) КАК НомерЗаписи,
| &Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Проведен КАК Проведен,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &СобытиеОС КАК СобытиеОС,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ЛОЖЬ КАК ОтражатьВУпрУчете,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство
|ИЗ
| Документ.МодернизацияОС КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.МодернизацияОС.ОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#Область ПроведениеРегламентированныйУчет
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
ТекстыВременныхТаблиц = Новый Массив;
ТекстыВременныхТаблиц.Добавить(УчетОСВызовСервера.ТекстЗапросаВТОтраженияВРеглУчетеНачисленнойАмортизации("МодернизацияОС"));
ТекстыВременныхТаблиц.Добавить(УчетОСВызовСервера.ТекстЗапросаВТОтраженияВРеглУчетеОстаткиПоСчетам());
ТекстыВременныхТаблиц.Добавить(ВременнаяТаблицаДанныеДокумента());
ТекстыВременныхТаблиц.Добавить(ВременнаяТаблицаОстаткиСчетаКапитализации());
ТекстыВременныхТаблиц.Добавить(ВременнаяТаблицаЦелевоеФинансирование());
ТекстыВременныхТаблиц.Добавить(Символы.ПС);
Возврат СтрСоединить(ТекстыВременныхТаблиц, ОбщегоНазначения.РазделительПакетаЗапросов());
КонецФункции
Функция ВременнаяТаблицаДанныеДокумента()
Возврат
"ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Дата КАК Дата,
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Подразделение КАК Местонахождение,
| ТабличнаяЧасть.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаДокумента.ВариантПримененияЦелевогоФинансирования,
| ВЫБОР
| КОГДА ТаблицаДокумента.ВариантПримененияЦелевогоФинансирования = ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.НеИспользуется)
| ТОГДА ПервоначальныеСведения.НаправлениеДеятельности
| ИНАЧЕ ТаблицаДокумента.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ТабличнаяЧасть.СуммаЦелевыхСредств КАК СуммаЦелевыхСредств,
| ТаблицаДокумента.СчетУчетаЦФ,
| ТаблицаДокумента.СчетАмортизацииЦФ,
| ТаблицаДокумента.СтатьяДоходов,
| ТаблицаДокумента.АналитикаДоходов,
| ТаблицаДокумента.ВключитьАмортизационнуюПремиюВСоставРасходов,
| ТабличнаяЧасть.СуммаКапитальныхВложенийВключаемыхВРасходыНУ,
| ТаблицаДокумента.СтатьяРасходов,
| ТаблицаДокумента.АналитикаРасходов
|ПОМЕСТИТЬ втДанныеДокумента
|ИЗ
| Документ.МодернизацияОС КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.МодернизацияОС.ОС КАК ТабличнаяЧасть
| ПО ТаблицаДокумента.Ссылка = ТабличнаяЧасть.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ втПервоначальныеСведения КАК ПервоначальныеСведения
| ПО ПервоначальныеСведения.ОбъектУчета = ТабличнаяЧасть.ОсновноеСредство
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка";
КонецФункции
Функция ВременнаяТаблицаОстаткиСчетаКапитализации()
Возврат
"ВЫБРАТЬ
| ДанныеУчета.Счет КАК Счет,
| ДанныеУчета.Субконто1 КАК ОсновноеСредство,
| СУММА(ДанныеУчета.СуммаОборот) КАК СуммаБУ,
| СУММА(ДанныеУчета.СуммаНУОборот) КАК СуммаНУ,
| СУММА(ДанныеУчета.СуммаПРОборот) КАК СуммаПР,
| СУММА(ДанныеУчета.СуммаВРОборот) КАК СуммаВР
|ПОМЕСТИТЬ втОстатки
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(
| ,
| &ГраницаМесяцОкончание,
| Регистратор,
| Счет В (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПодготовкаКВводуВЭксплуатацию), ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПриобретениеЗемельныхУчастков), ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПриобретениеОбъектовПриродопользования), ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СтроительствоОбъектовОсновныхСредств)),
| ,
| (Организация, Подразделение, НаправлениеДеятельности, Субконто1) В
| (ВЫБРАТЬ
| Т.Организация,
| Т.Подразделение,
| Т.НаправлениеДеятельности,
| Т.ОсновноеСредство
| ИЗ
| втДанныеДокумента КАК Т),
| ,
| ) КАК ДанныеУчета
|ГДЕ
| ДанныеУчета.Регистратор <> &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ДанныеУчета.Субконто1,
| ДанныеУчета.Счет
|;
|
|
|ВЫБРАТЬ
| втОстатки.ОсновноеСредство,
| СУММА(втОстатки.СуммаБУ) КАК СуммаБУ,
| СУММА(втОстатки.СуммаНУ) КАК СуммаНУ,
| СУММА(втОстатки.СуммаПР) КАК СуммаПР,
| СУММА(втОстатки.СуммаВР) КАК СуммаВР
|ПОМЕСТИТЬ втОстаткиСгруппированные
|ИЗ
| втОстатки КАК втОстатки
|
|СГРУППИРОВАТЬ ПО
| втОстатки.ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| втОстатки.Счет КАК Счет,
| втОстатки.ОсновноеСредство,
| ВЫРАЗИТЬ(втДанныеДокумента.СуммаЦелевыхСредств * (втОстатки.СуммаБУ / втОстаткиСгруппированные.СуммаБУ) КАК ЧИСЛО(31,2)) КАК Сумма
|ПОМЕСТИТЬ втСуммыЦелевыхСредствПоСчетам
|ИЗ
| втОстатки КАК втОстатки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втОстаткиСгруппированные КАК втОстаткиСгруппированные
| ПО втОстатки.ОсновноеСредство = втОстаткиСгруппированные.ОсновноеСредство
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втДанныеДокумента КАК втДанныеДокумента
| ПО втОстатки.ОсновноеСредство = втДанныеДокумента.ОсновноеСредство
|ГДЕ
| втДанныеДокумента.СуммаЦелевыхСредств <> 0
| И втОстаткиСгруппированные.СуммаБУ <> 0
|;
|
|
|ВЫБРАТЬ
| МАКСИМУМ(втСуммыЦелевыхСредствПоСчетам.Счет) КАК Счет,
| втСуммыЦелевыхСредствПоСчетам.ОсновноеСредство,
| СУММА(втСуммыЦелевыхСредствПоСчетам.Сумма) КАК Сумма
|ПОМЕСТИТЬ втСуммыЦелевыхСредствПоСчетамСгруппированные
|ИЗ
| втСуммыЦелевыхСредствПоСчетам КАК втСуммыЦелевыхСредствПоСчетам
|
|СГРУППИРОВАТЬ ПО
| втСуммыЦелевыхСредствПоСчетам.ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| втСуммыЦелевыхСредствПоСчетам.Счет КАК Счет,
| втСуммыЦелевыхСредствПоСчетам.ОсновноеСредство,
| ВЫБОР
| КОГДА втДанныеДокумента.СуммаЦелевыхСредств = втСуммыЦелевыхСредствПоСчетамСгруппированные.Сумма
| ТОГДА втСуммыЦелевыхСредствПоСчетам.Сумма
| КОГДА втДанныеДокумента.СуммаЦелевыхСредств <> втСуммыЦелевыхСредствПоСчетамСгруппированные.Сумма
| И втСуммыЦелевыхСредствПоСчетам.Счет = втСуммыЦелевыхСредствПоСчетамСгруппированные.Счет
| ТОГДА втСуммыЦелевыхСредствПоСчетам.Сумма + (втДанныеДокумента.СуммаЦелевыхСредств - втСуммыЦелевыхСредствПоСчетамСгруппированные.Сумма)
| ИНАЧЕ втСуммыЦелевыхСредствПоСчетам.Сумма
| КОНЕЦ КАК Сумма
|ПОМЕСТИТЬ втСуммыЦелевыхСредств
|ИЗ
| втДанныеДокумента КАК втДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втСуммыЦелевыхСредствПоСчетам КАК втСуммыЦелевыхСредствПоСчетам
| ПО втДанныеДокумента.ОсновноеСредство = втСуммыЦелевыхСредствПоСчетам.ОсновноеСредство
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втСуммыЦелевыхСредствПоСчетамСгруппированные КАК втСуммыЦелевыхСредствПоСчетамСгруппированные
| ПО втДанныеДокумента.ОсновноеСредство = втСуммыЦелевыхСредствПоСчетамСгруппированные.ОсновноеСредство
|ГДЕ
| втДанныеДокумента.СуммаЦелевыхСредств <> 0
|;
|
|
|ВЫБРАТЬ
| втОстатки.Счет КАК Счет,
| втОстатки.ОсновноеСредство,
| втСуммыЦелевыхСредств.Сумма КАК СуммаБУЦФ,
| втСуммыЦелевыхСредств.Сумма
| - ВЫБОР
| КОГДА втОстатки.СуммаПР > 0 И втОстатки.СуммаПР > втСуммыЦелевыхСредств.Сумма
| ТОГДА втСуммыЦелевыхСредств.Сумма
| КОГДА втОстатки.СуммаПР > 0 И втОстатки.СуммаПР <= втСуммыЦелевыхСредств.Сумма
| ТОГДА втОстатки.СуммаПР
| ИНАЧЕ 0
| КОНЕЦ
| - ВЫБОР
| КОГДА втОстатки.СуммаПР > 0 И втОстатки.СуммаПР > втСуммыЦелевыхСредств.Сумма
| ТОГДА 0
| КОГДА втОстатки.СуммаВР > 0 И втОстатки.СуммаВР > втСуммыЦелевыхСредств.Сумма - втОстатки.СуммаПР
| ТОГДА втСуммыЦелевыхСредств.Сумма - втОстатки.СуммаПР
| КОГДА втОстатки.СуммаВР > 0 И втОстатки.СуммаПР <= втСуммыЦелевыхСредств.Сумма - втОстатки.СуммаПР
| ТОГДА втОстатки.СуммаВР
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаНУЦФ,
| ВЫБОР
| КОГДА втОстатки.СуммаПР > 0 И втОстатки.СуммаПР > втСуммыЦелевыхСредств.Сумма
| ТОГДА втСуммыЦелевыхСредств.Сумма
| КОГДА втОстатки.СуммаПР > 0 И втОстатки.СуммаПР <= втСуммыЦелевыхСредств.Сумма
| ТОГДА втОстатки.СуммаПР
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаПРЦФ,
| ВЫБОР
| КОГДА втОстатки.СуммаПР > 0 И втОстатки.СуммаПР > втСуммыЦелевыхСредств.Сумма
| ТОГДА 0
| КОГДА втОстатки.СуммаВР > 0 И втОстатки.СуммаВР > втСуммыЦелевыхСредств.Сумма - втОстатки.СуммаПР
| ТОГДА втСуммыЦелевыхСредств.Сумма - втОстатки.СуммаПР
| КОГДА втОстатки.СуммаВР > 0 И втОстатки.СуммаПР <= втСуммыЦелевыхСредств.Сумма - втОстатки.СуммаПР
| ТОГДА втОстатки.СуммаВР
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВРЦФ
|ПОМЕСТИТЬ втЦелевоеФинансированиеСтоимости
|ИЗ
| втОстатки КАК втОстатки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втСуммыЦелевыхСредств КАК втСуммыЦелевыхСредств
| ПО втОстатки.ОсновноеСредство = втСуммыЦелевыхСредств.ОсновноеСредство
| И втОстатки.Счет = втСуммыЦелевыхСредств.Счет
|
|;
|
|
|ВЫБРАТЬ
| втОстатки.Счет КАК Счет,
| втОстатки.ОсновноеСредство,
| втОстатки.СуммаБУ - ЕСТЬNULL(втЦелевоеФинансированиеСтоимости.СуммаБУЦФ, 0) КАК СуммаБУ,
| втОстатки.СуммаНУ - ЕСТЬNULL(втЦелевоеФинансированиеСтоимости.СуммаНУЦФ, 0) КАК СуммаНУ,
| втОстатки.СуммаПР - ЕСТЬNULL(втЦелевоеФинансированиеСтоимости.СуммаПРЦФ, 0) КАК СуммаПР,
| втОстатки.СуммаВР - ЕСТЬNULL(втЦелевоеФинансированиеСтоимости.СуммаВРЦФ, 0) КАК СуммаВР,
| ЕСТЬNULL(втЦелевоеФинансированиеСтоимости.СуммаБУЦФ, 0) КАК СуммаБУЦФ,
| ЕСТЬNULL(втЦелевоеФинансированиеСтоимости.СуммаНУЦФ, 0) КАК СуммаНУЦФ,
| ЕСТЬNULL(втЦелевоеФинансированиеСтоимости.СуммаПРЦФ, 0) КАК СуммаПРЦФ,
| ЕСТЬNULL(втЦелевоеФинансированиеСтоимости.СуммаВРЦФ, 0) КАК СуммаВРЦФ
|ПОМЕСТИТЬ втДанныеСчетаКапитализации
|ИЗ
| втОстатки КАК втОстатки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втДанныеДокумента КАК втДанныеДокумента
| ПО втОстатки.ОсновноеСредство = втДанныеДокумента.ОсновноеСредство
| ЛЕВОЕ СОЕДИНЕНИЕ втЦелевоеФинансированиеСтоимости КАК втЦелевоеФинансированиеСтоимости
| ПО втОстатки.ОсновноеСредство = втЦелевоеФинансированиеСтоимости.ОсновноеСредство
| И втОстатки.Счет = втЦелевоеФинансированиеСтоимости.Счет
|;
|
|
|ВЫБРАТЬ
| втДанныеСчетаКапитализации.ОсновноеСредство,
| СУММА(втДанныеСчетаКапитализации.СуммаБУ) КАК СуммаБУ,
| СУММА(втДанныеСчетаКапитализации.СуммаНУ) КАК СуммаНУ,
| СУММА(втДанныеСчетаКапитализации.СуммаПР) КАК СуммаПР,
| СУММА(втДанныеСчетаКапитализации.СуммаВР) КАК СуммаВР,
| СУММА(втДанныеСчетаКапитализации.СуммаБУЦФ) КАК СуммаБУЦФ,
| СУММА(втДанныеСчетаКапитализации.СуммаНУЦФ) КАК СуммаНУЦФ,
| СУММА(втДанныеСчетаКапитализации.СуммаПРЦФ) КАК СуммаПРЦФ,
| СУММА(втДанныеСчетаКапитализации.СуммаВРЦФ) КАК СуммаВРЦФ
|ПОМЕСТИТЬ втДанныеСчетаКапитализацииСгруппированные
|ИЗ
| втДанныеСчетаКапитализации КАК втДанныеСчетаКапитализации
|
|СГРУППИРОВАТЬ ПО
| втДанныеСчетаКапитализации.ОсновноеСредство";
КонецФункции
Функция ВременнаяТаблицаЦелевоеФинансирование()
Возврат
"ВЫБРАТЬ
| ТабличнаяЧасть.Счет,
| ТабличнаяЧасть.Субконто1,
| ТабличнаяЧасть.Субконто2,
| ТабличнаяЧасть.Субконто3,
| ТабличнаяЧасть.Сумма,
| ТаблицаДокумента.Организация,
| ТаблицаДокумента.Подразделение,
| ТаблицаДокумента.НаправлениеДеятельности,
| ТаблицаДокумента.ВариантПримененияЦелевогоФинансирования,
| ТаблицаДокумента.Ссылка,
| ТаблицаДокумента.Дата,
| ТабличнаяЧасть.НомерСтроки
|ПОМЕСТИТЬ втТабличнаяЧастьЦелевоеФинансирование
|ИЗ
| Документ.МодернизацияОС КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.МодернизацияОС.ЦелевоеФинансирование КАК ТабличнаяЧасть
| ПО ТаблицаДокумента.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И ТаблицаДокумента.ВариантПримененияЦелевогоФинансирования <> ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.НеИспользуется)
|;
|
|
|ВЫБРАТЬ
| втТабличнаяЧастьЦелевоеФинансирование.Счет,
| втТабличнаяЧастьЦелевоеФинансирование.Субконто1,
| втТабличнаяЧастьЦелевоеФинансирование.Субконто2,
| втТабличнаяЧастьЦелевоеФинансирование.Субконто3,
| ЕСТЬNULL(ХозрасчетныйОстатки.СуммаОстаток, втТабличнаяЧастьЦелевоеФинансирование.Сумма) КАК Сумма,
| втТабличнаяЧастьЦелевоеФинансирование.Организация,
| втТабличнаяЧастьЦелевоеФинансирование.Подразделение,
| втТабличнаяЧастьЦелевоеФинансирование.НаправлениеДеятельности,
| втТабличнаяЧастьЦелевоеФинансирование.ВариантПримененияЦелевогоФинансирования,
| втТабличнаяЧастьЦелевоеФинансирование.Ссылка,
| втТабличнаяЧастьЦелевоеФинансирование.Дата,
| втТабличнаяЧастьЦелевоеФинансирование.НомерСтроки
|ПОМЕСТИТЬ втИсточникиЦелевогоФинансирования
|ИЗ
| втТабличнаяЧастьЦелевоеФинансирование КАК втТабличнаяЧастьЦелевоеФинансирование
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(
| &Дата,
| Счет В
| (ВЫБРАТЬ
| Т.Счет
| ИЗ
| втТабличнаяЧастьЦелевоеФинансирование КАК Т),
| ,
| (Организация, Подразделение, НаправлениеДеятельности) В
| (ВЫБРАТЬ
| втТабличнаяЧастьЦелевоеФинансирование.Организация,
| втТабличнаяЧастьЦелевоеФинансирование.Подразделение,
| втТабличнаяЧастьЦелевоеФинансирование.НаправлениеДеятельности
| ИЗ
| втТабличнаяЧастьЦелевоеФинансирование КАК втТабличнаяЧастьЦелевоеФинансирование)) КАК ХозрасчетныйОстатки
| ПО (втТабличнаяЧастьЦелевоеФинансирование.ВариантПримененияЦелевогоФинансирования = ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Полное))
| И втТабличнаяЧастьЦелевоеФинансирование.Счет = ХозрасчетныйОстатки.Счет
| И втТабличнаяЧастьЦелевоеФинансирование.Субконто1 = ХозрасчетныйОстатки.Субконто1
| И втТабличнаяЧастьЦелевоеФинансирование.Субконто2 = ХозрасчетныйОстатки.Субконто2
| И втТабличнаяЧастьЦелевоеФинансирование.Субконто3 = ХозрасчетныйОстатки.Субконто3
|;
|
|
|ВЫБРАТЬ
| СУММА(втИсточникиЦелевогоФинансирования.Сумма) КАК Сумма,
| КОЛИЧЕСТВО(втИсточникиЦелевогоФинансирования.Счет) КАК Количество
|ПОМЕСТИТЬ втИсточникиЦелевогоФинансированияСгруппированные
|ИЗ
| втИсточникиЦелевогоФинансирования КАК втИсточникиЦелевогоФинансирования
|;
|
|
|ВЫБРАТЬ
| втДанныеСчетаКапитализации.ОсновноеСредство,
| СУММА(ВЫБОР
| КОГДА втДанныеДокумента.ВариантПримененияЦелевогоФинансирования = ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Полное)
| ТОГДА втДанныеСчетаКапитализации.СуммаБУ
| ИНАЧЕ втДанныеСчетаКапитализации.СуммаБУЦФ
| КОНЕЦ) КАК Сумма
|ПОМЕСТИТЬ втЦелевоеФинансированиеОС
|ИЗ
| втДанныеДокумента КАК втДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втДанныеСчетаКапитализации КАК втДанныеСчетаКапитализации
| ПО втДанныеДокумента.ОсновноеСредство = втДанныеСчетаКапитализации.ОсновноеСредство
|ГДЕ
| втДанныеДокумента.ВариантПримененияЦелевогоФинансирования <> ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.НеИспользуется)
|
|СГРУППИРОВАТЬ ПО
| втДанныеСчетаКапитализации.ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| втЦелевоеФинансированиеОС.ОсновноеСредство КАК ОсновноеСредство,
| втИсточникиЦелевогоФинансирования.Счет КАК Счет,
| втИсточникиЦелевогоФинансирования.Субконто1 КАК Субконто1,
| втИсточникиЦелевогоФинансирования.Субконто2 КАК Субконто2,
| втИсточникиЦелевогоФинансирования.Субконто3 КАК Субконто3,
| ВЫБОР
| КОГДА втИсточникиЦелевогоФинансированияСгруппированные.Количество = 0
| И втИсточникиЦелевогоФинансированияСгруппированные.Сумма = 0
| ТОГДА 0
| КОГДА втИсточникиЦелевогоФинансированияСгруппированные.Сумма = 0
| ТОГДА ВЫРАЗИТЬ(втЦелевоеФинансированиеОС.Сумма / втИсточникиЦелевогоФинансированияСгруппированные.Количество КАК ЧИСЛО(31,2))
| ИНАЧЕ ВЫРАЗИТЬ(втЦелевоеФинансированиеОС.Сумма * (втИсточникиЦелевогоФинансирования.Сумма / втИсточникиЦелевогоФинансированияСгруппированные.Сумма) КАК ЧИСЛО(31,2))
| КОНЕЦ КАК Сумма,
| втИсточникиЦелевогоФинансирования.Организация,
| втИсточникиЦелевогоФинансирования.Подразделение,
| втИсточникиЦелевогоФинансирования.НаправлениеДеятельности,
| втИсточникиЦелевогоФинансирования.ВариантПримененияЦелевогоФинансирования,
| втИсточникиЦелевогоФинансирования.Ссылка,
| втИсточникиЦелевогоФинансирования.Дата,
| втИсточникиЦелевогоФинансирования.НомерСтроки,
| втЦелевоеФинансированиеОС.Сумма КАК ПолнаяСуммаПоОС
|ПОМЕСТИТЬ втЦелевоеФинансирование
|ИЗ
| втЦелевоеФинансированиеОС КАК втЦелевоеФинансированиеОС
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втИсточникиЦелевогоФинансирования КАК втИсточникиЦелевогоФинансирования
| ПО (ИСТИНА)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втИсточникиЦелевогоФинансированияСгруппированные КАК втИсточникиЦелевогоФинансированияСгруппированные
| ПО (ИСТИНА)
|;
|
|
|ВЫБРАТЬ
| втЦелевоеФинансирование.ОсновноеСредство КАК ОсновноеСредство,
| СУММА(втЦелевоеФинансирование.Сумма) КАК Сумма,
| МАКСИМУМ(втЦелевоеФинансирование.НомерСтроки) КАК НомерСтроки
|ПОМЕСТИТЬ втЦелевоеФинансированиеСгруппированное
|ИЗ
| втЦелевоеФинансирование КАК втЦелевоеФинансирование
|
|СГРУППИРОВАТЬ ПО
| втЦелевоеФинансирование.ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| втЦелевоеФинансирование.ОсновноеСредство,
| втЦелевоеФинансирование.Счет,
| втЦелевоеФинансирование.Субконто1,
| втЦелевоеФинансирование.Субконто2,
| втЦелевоеФинансирование.Субконто3,
| ВЫБОР
| КОГДА НЕ втЦелевоеФинансированиеСгруппированное.ОсновноеСредство ЕСТЬ NULL
| И втЦелевоеФинансированиеСгруппированное.Сумма <> втЦелевоеФинансирование.ПолнаяСуммаПоОС
| ТОГДА втЦелевоеФинансирование.Сумма + втЦелевоеФинансирование.ПолнаяСуммаПоОС - втЦелевоеФинансированиеСгруппированное.Сумма
| ИНАЧЕ втЦелевоеФинансирование.Сумма
| КОНЕЦ КАК Сумма,
| втЦелевоеФинансирование.Организация,
| втЦелевоеФинансирование.Подразделение,
| втЦелевоеФинансирование.НаправлениеДеятельности,
| втЦелевоеФинансирование.ВариантПримененияЦелевогоФинансирования,
| втЦелевоеФинансирование.Ссылка,
| втЦелевоеФинансирование.Дата
|ПОМЕСТИТЬ втЦелевоеФинансированиеИтог
|ИЗ
| втЦелевоеФинансирование КАК втЦелевоеФинансирование
| ЛЕВОЕ СОЕДИНЕНИЕ втЦелевоеФинансированиеСгруппированное КАК втЦелевоеФинансированиеСгруппированное
| ПО втЦелевоеФинансирование.ОсновноеСредство = втЦелевоеФинансированиеСгруппированное.ОсновноеСредство
| И втЦелевоеФинансирование.НомерСтроки = втЦелевоеФинансированиеСгруппированное.НомерСтроки";
КонецФункции
Функция ТекстОтраженияВРеглУчете() Экспорт
ТекстыОтражения = Новый Массив;
ТекстыОтражения.Добавить(УчетОСВызовСервера.ТекстОтраженияВРеглУчетеНачисленнойАмортизации());
ТекстыОтражения.Добавить(УвеличениеСтоимостиОС());
ТекстыОтражения.Добавить(УвеличениеСтоимостиОСЦелевыеСредства());
ТекстыОтражения.Добавить(УвеличениеСтоимостиОСЧастичныеЦелевыеСредства());
ТекстыОтражения.Добавить(ПеремещениеВосстановительнойСтоимостиЦФ());
ТекстыОтражения.Добавить(ПеремещениеНакопленнойАмортизацииЦФ());
ТекстыОтражения.Добавить(АмортизационнаяПремияДтКВ());
ТекстыОтражения.Добавить(АмортизационнаяПремияКтКВ());
ТекстыОтражения.Добавить(АмортизационнаяПремияМодернизации());
ТекстыОтражения.Добавить(ПризнаниеДоходовБудущихПериодов());
Возврат СтрСоединить(ТекстыОтражения, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
КонецФункции
Функция УвеличениеСтоимостиОС()
Возврат "
|////////////////////////////////////////////////////////////////////////////////
|// Увеличение стоимости ОС (Дт СчетУчета:: Кт 08.03)
|ВЫБРАТЬ
|
| втДанныеДокумента.Ссылка КАК Ссылка,
| втДанныеДокумента.Дата КАК Период,
| втДанныеДокумента.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаБУ, 0) КАК Сумма,
| 0 КАК СуммаУУ,
|
| // Дт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаДт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| втДанныеДокумента.Подразделение КАК ПодразделениеДт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| СчетаОтражения.СчетУчета КАК СчетДт,
| втДанныеДокумента.ОсновноеСредство КАК СубконтоДт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаНУ, 0) КАК СуммаНУДт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаПР, 0) КАК СуммаПРДт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаВР, 0) КАК СуммаВРДт,
|
| // Кт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаКт,
| втДанныеДокумента.Подразделение КАК ПодразделениеКт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| втДанныеСчетаКапитализации.Счет КАК СчетКт,
| втДанныеДокумента.ОсновноеСредство КАК СубконтоКт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаНУ, 0) КАК СуммаНУКт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаПР, 0) КАК СуммаПРКт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаВР, 0) КАК СуммаВРКт,
|
| ""Увеличение стоимости ОС"" КАК Содержание
|ИЗ
| втДанныеДокумента КАК втДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втДанныеСчетаКапитализации
| ПО втДанныеДокумента.ОсновноеСредство = втДанныеСчетаКапитализации.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втСчетаОтражения КАК СчетаОтражения
| ПО втДанныеДокумента.ОсновноеСредство = СчетаОтражения.ОбъектУчета
|ГДЕ
| втДанныеДокумента.ВариантПримененияЦелевогоФинансирования В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.НеИспользуется),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Частичное),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.ПустаяСсылка)
| )
|";
КонецФункции
Функция УвеличениеСтоимостиОСЦелевыеСредства()
Возврат "
|////////////////////////////////////////////////////////////////////////////////
|// Увеличение стоимости ОС (Дт СчетУчетаЦФ:: Кт 08.03)
|ВЫБРАТЬ
|
| втДанныеДокумента.Ссылка КАК Ссылка,
| втДанныеДокумента.Дата КАК Период,
| втДанныеДокумента.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаБУ, 0) КАК Сумма,
| 0 КАК СуммаУУ,
|
| // Дт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаДт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| втДанныеДокумента.Подразделение КАК ПодразделениеДт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| втДанныеДокумента.СчетУчетаЦФ КАК СчетДт,
| втДанныеДокумента.ОсновноеСредство КАК СубконтоДт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаНУ, 0) + ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаПР, 0) + ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаВР, 0) КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| // Кт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаКт,
| втДанныеДокумента.Подразделение КАК ПодразделениеКт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| втДанныеСчетаКапитализации.Счет КАК СчетКт,
| втДанныеДокумента.ОсновноеСредство КАК СубконтоКт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаНУ, 0) КАК СуммаНУКт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаПР, 0) КАК СуммаПРКт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаВР, 0) КАК СуммаВРКт,
|
| ""Увеличение стоимости ОС"" КАК Содержание
|ИЗ
| втДанныеДокумента КАК втДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втДанныеСчетаКапитализации
| ПО втДанныеДокумента.ОсновноеСредство = втДанныеСчетаКапитализации.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втСчетаОтражения КАК СчетаОтражения
| ПО втДанныеДокумента.ОсновноеСредство = СчетаОтражения.ОбъектУчета
|ГДЕ
| втДанныеДокумента.ВариантПримененияЦелевогоФинансирования В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Полное)
| )
|";
КонецФункции
Функция УвеличениеСтоимостиОСЧастичныеЦелевыеСредства()
Возврат "
|////////////////////////////////////////////////////////////////////////////////////////////////////
|// Увеличение стоимости ОС (Дт СчетУчетаЦФ:: Кт 08.03)
|//
|ВЫБРАТЬ
|
| втДанныеДокумента.Ссылка КАК Ссылка,
| втДанныеДокумента.Дата КАК Период,
| втДанныеДокумента.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаБУЦФ, 0) КАК Сумма,
| 0 КАК СуммаУУ,
|
| // Дт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаДт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| втДанныеДокумента.Местонахождение КАК ПодразделениеДт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| втДанныеДокумента.СчетУчетаЦФ КАК СчетДт,
|
| втДанныеДокумента.ОсновноеСредство КАК СубконтоДт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаНУЦФ, 0) + ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаПРЦФ, 0) + ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаВРЦФ, 0) КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| // Кт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаКт,
| втДанныеДокумента.Подразделение КАК ПодразделениеКт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| втДанныеСчетаКапитализации.Счет КАК СчетКт,
|
| втДанныеДокумента.ОсновноеСредство КАК СубконтоКт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаНУЦФ, 0) КАК СуммаНУКт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаПРЦФ, 0) КАК СуммаПРКт,
| ЕСТЬNULL(втДанныеСчетаКапитализации.СуммаВРЦФ, 0) КАК СуммаВРКт,
|
| ""Увеличение стоимости ОС"" КАК Содержание
|ИЗ
| втДанныеДокумента КАК втДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втДанныеСчетаКапитализации
| ПО втДанныеДокумента.ОсновноеСредство = втДанныеСчетаКапитализации.ОсновноеСредство
|ГДЕ
| втДанныеДокумента.ВариантПримененияЦелевогоФинансирования В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Частичное)
| )
|";
КонецФункции
Функция ПеремещениеВосстановительнойСтоимостиЦФ()
Возврат "
|////////////////////////////////////////////////////////////////////////////////
|// Перемещение целевых средств в восстановительной стоимости ОС (Дт СчетУчетаЦФ:: Кт СчетУчетаЦФ)
|ВЫБРАТЬ
|
| втДанныеДокумента.Ссылка КАК Ссылка,
| втДанныеДокумента.Дата КАК Период,
| втДанныеДокумента.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(втОстаткиПоСчетам.ВосстановительнаяСтоимостьБУЦФ, 0) КАК Сумма,
| 0 КАК СуммаУУ,
|
| // Дт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаДт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| втДанныеДокумента.Подразделение КАК ПодразделениеДт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| втДанныеДокумента.СчетУчетаЦФ КАК СчетДт,
| втДанныеДокумента.ОсновноеСредство КАК СубконтоДт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| ЕСТЬNULL(втОстаткиПоСчетам.ВосстановительнаяСтоимостьНУЦФ, 0) КАК СуммаНУДт,
| ЕСТЬNULL(втОстаткиПоСчетам.ВосстановительнаяСтоимостьПРЦФ, 0) КАК СуммаПРДт,
| ЕСТЬNULL(втОстаткиПоСчетам.ВосстановительнаяСтоимостьВРЦФ, 0) КАК СуммаВРДт,
|
| // Кт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаКт,
| втДанныеДокумента.Подразделение КАК ПодразделениеКт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| СчетаОтражения.СчетУчетаЦФ КАК СчетКт,
| втДанныеДокумента.ОсновноеСредство КАК СубконтоКт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| ЕСТЬNULL(втОстаткиПоСчетам.ВосстановительнаяСтоимостьНУЦФ, 0) КАК СуммаНУКт,
| ЕСТЬNULL(втОстаткиПоСчетам.ВосстановительнаяСтоимостьПРЦФ, 0) КАК СуммаПРКт,
| ЕСТЬNULL(втОстаткиПоСчетам.ВосстановительнаяСтоимостьВРЦФ, 0) КАК СуммаВРКт,
|
| ""Перемещение целевых средств в восстановительной стоимости ОС "" КАК Содержание
|ИЗ
| втДанныеДокумента КАК втДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ втСчетаОтражения КАК СчетаОтражения
| ПО втДанныеДокумента.ОсновноеСредство = СчетаОтражения.ОбъектУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ втОстаткиПоСчетам КАК втОстаткиПоСчетам
| ПО втДанныеДокумента.ОсновноеСредство = втОстаткиПоСчетам.ОбъектУчета
|ГДЕ
| втДанныеДокумента.ВариантПримененияЦелевогоФинансирования В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Полное),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Частичное)
| )
| И СчетаОтражения.ПрименениеЦелевогоФинансирования
| И втДанныеДокумента.СчетУчетаЦФ <> СчетаОтражения.СчетУчетаЦФ
|";
КонецФункции
Функция ПеремещениеНакопленнойАмортизацииЦФ()
Возврат "
|////////////////////////////////////////////////////////////////////////////////
|// Перемещение целевых средств в накопленной амортизации ОС (Дт СчетУчетаЦФ:: Кт СчетУчетаЦФ)
|ВЫБРАТЬ
|
| втДанныеДокумента.Ссылка КАК Ссылка,
| втДанныеДокумента.Дата КАК Период,
| втДанныеДокумента.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(втОстаткиПоСчетам.НакопленнаяАмортизацияБУЦФ, 0) КАК Сумма,
| 0 КАК СуммаУУ,
|
| // Дт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаДт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| втДанныеДокумента.Подразделение КАК ПодразделениеДт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| СчетаОтражения.СчетНачисленияАмортизацииЦФ КАК СчетДт,
| втДанныеДокумента.ОсновноеСредство КАК СубконтоДт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| ЕСТЬNULL(втОстаткиПоСчетам.НакопленнаяАмортизацияНУЦФ, 0) КАК СуммаНУДт,
| ЕСТЬNULL(втОстаткиПоСчетам.НакопленнаяАмортизацияПРЦФ, 0) КАК СуммаПРДт,
| ЕСТЬNULL(втОстаткиПоСчетам.НакопленнаяАмортизацияВРЦФ, 0) КАК СуммаВРДт,
|
| // Кт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаКт,
| втДанныеДокумента.Подразделение КАК ПодразделениеКт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| втДанныеДокумента.СчетАмортизацииЦФ КАК СчетКт,
| втДанныеДокумента.ОсновноеСредство КАК СубконтоКт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| ЕСТЬNULL(втОстаткиПоСчетам.НакопленнаяАмортизацияНУЦФ, 0) КАК СуммаНУКт,
| ЕСТЬNULL(втОстаткиПоСчетам.НакопленнаяАмортизацияПРЦФ, 0) КАК СуммаПРКт,
| ЕСТЬNULL(втОстаткиПоСчетам.НакопленнаяАмортизацияВРЦФ, 0) КАК СуммаВРКт,
|
| ""Перемещение целевых средств в накопленной амортизации ОС "" КАК Содержание
|ИЗ
| втДанныеДокумента КАК втДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ втСчетаОтражения КАК СчетаОтражения
| ПО втДанныеДокумента.ОсновноеСредство = СчетаОтражения.ОбъектУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПервоначальныеСведения КАК втПервоначальныеСведения
| ПО втДанныеДокумента.ОсновноеСредство = втПервоначальныеСведения.ОбъектУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ втОстаткиПоСчетам КАК втОстаткиПоСчетам
| ПО втДанныеДокумента.ОсновноеСредство = втОстаткиПоСчетам.ОбъектУчета
|ГДЕ
| втДанныеДокумента.ВариантПримененияЦелевогоФинансирования В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Полное),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Частичное)
| )
| И втПервоначальныеСведения.ЕстьСчетАмортизации
| И СчетаОтражения.ПрименениеЦелевогоФинансирования
| И втДанныеДокумента.СчетАмортизацииЦФ <> СчетаОтражения.СчетНачисленияАмортизацииЦФ
|";
КонецФункции
Функция АмортизационнаяПремияДтКВ()
Возврат "
|////////////////////////////////////////////////////////////////////////////////
|// Амортизационная премия (Дт КВ:: __)
|
|ВЫБРАТЬ
|
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| 0 КАК Сумма,
| 0 КАК СуммаУУ,
|
| // Дт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаДт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| Операция.Подразделение КАК ПодразделениеДт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасходыНаКапитальныеВложения) КАК СчетДт,
| Строки.ОсновноеСредство КАК СубконтоДт1,
| &Ссылка КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| Строки.СуммаКапитальныхВложенийВключаемыхВРасходыНУ КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| // Кт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаКт,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеКт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиКт,
|
| НЕОПРЕДЕЛЕНО КАК СчетКт,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Амортизационная премия"" КАК Содержание
|ИЗ
| Документ.МодернизацияОС КАК Операция
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.МодернизацияОС.ОС КАК Строки
| ПО Строки.Ссылка = Операция.Ссылка
|
|ГДЕ
| Операция.Ссылка = &Ссылка
| И Операция.ВключитьАмортизационнуюПремиюВСоставРасходов
| И Строки.СуммаКапитальныхВложенийВключаемыхВРасходыНУ > 0";
КонецФункции
Функция АмортизационнаяПремияКтКВ()
Возврат "
|////////////////////////////////////////////////////////////////////////////////
|// Амортизационная премия (Дт __:: КВ)
|
|ВЫБРАТЬ
|
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| 0 КАК Сумма,
| 0 КАК СуммаУУ,
|
| // Дт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаДт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаДт,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеДт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиДт,
|
| НЕОПРЕДЕЛЕНО КАК СчетДт,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| // Кт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаКт,
| Операция.Подразделение КАК ПодразделениеКт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиКт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасходыНаКапитальныеВложения) КАК СчетКт,
| Строки.ОсновноеСредство КАК СубконтоКт1,
| &Ссылка КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| Строки.СуммаКапитальныхВложенийВключаемыхВРасходыНУ КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Амортизационная премия"" КАК Содержание
|ИЗ
| Документ.МодернизацияОС КАК Операция
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.МодернизацияОС.ОС КАК Строки
| ПО Строки.Ссылка = Операция.Ссылка
|
|ГДЕ
| Операция.Ссылка = &Ссылка
| И Операция.ВключитьАмортизационнуюПремиюВСоставРасходов
| И Строки.СуммаКапитальныхВложенийВключаемыхВРасходыНУ > 0";
КонецФункции
Функция АмортизационнаяПремияМодернизации()
Возврат "
|////////////////////////////////////////////////////////////////////////////////
|// Амортизационная премия (Дт 20, 25, 44 :: Кт Счет учета ОС)
|
|ВЫБРАТЬ
|
| втДанныеДокумента.Ссылка КАК Ссылка,
| втДанныеДокумента.Дата КАК Период,
| втДанныеДокумента.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| 0 КАК Сумма,
| 0 КАК СуммаУУ,
|
| // Дт ///////////////////////////////////////////////////////////////////////////////////////////
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.Расходы) КАК ВидСчетаДт,
| втДанныеДокумента.СтатьяРасходов КАК АналитикаУчетаДт,
| втДанныеДокумента.Подразделение КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| втДанныеДокумента.Подразделение КАК ПодразделениеДт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
| втДанныеДокумента.СтатьяРасходов КАК СубконтоДт1,
| втДанныеДокумента.АналитикаРасходов КАК СубконтоДт2,
| ВЫБОР КОГДА СтатьиСтроительства.Ссылка ЕСТЬ НЕ NULL ТОГДА
| ЗНАЧЕНИЕ(Перечисление.СпособыСтроительства.Подрядный)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ТипыЗатратРегл.Прочее)
| КОНЕЦ КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| втДанныеДокумента.СуммаКапитальныхВложенийВключаемыхВРасходыНУ КАК СуммаНУДт,
| ВЫБОР КОГДА втДанныеДокумента.СтатьяРасходов.ПринятиеКНалоговомуУчету
| ТОГДА 0
| ИНАЧЕ -втДанныеДокумента.СуммаКапитальныхВложенийВключаемыхВРасходыНУ
| КОНЕЦ КАК СуммаПРДт,
| ВЫБОР КОГДА втДанныеДокумента.СтатьяРасходов.ПринятиеКНалоговомуУчету
| ТОГДА -втДанныеДокумента.СуммаКапитальныхВложенийВключаемыхВРасходыНУ
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВРДт,
|
| // Кт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаКт,
| втДанныеДокумента.Подразделение КАК ПодразделениеКт,
| втДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| СчетаОтражения.СчетУчета КАК СчетКт,
| втДанныеДокумента.ОсновноеСредство КАК СубконтоКт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| втДанныеДокумента.СуммаКапитальныхВложенийВключаемыхВРасходыНУ КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| -втДанныеДокумента.СуммаКапитальныхВложенийВключаемыхВРасходыНУ КАК СуммаВРКт,
| ""Амортизационная премия"" КАК Содержание
|ИЗ
| втДанныеДокумента КАК втДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ втСчетаОтражения КАК СчетаОтражения
| ПО втДанныеДокумента.ОсновноеСредство = СчетаОтражения.ОбъектУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиСтроительства
| ПО
| втДанныеДокумента.СтатьяРасходов = СтатьиСтроительства.Ссылка
| И СтатьиСтроительства.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
|
|ГДЕ
| втДанныеДокумента.ВключитьАмортизационнуюПремиюВСоставРасходов
| И втДанныеДокумента.СуммаКапитальныхВложенийВключаемыхВРасходыНУ > 0
|";
КонецФункции
Функция ПризнаниеДоходовБудущихПериодов()
Возврат "
|////////////////////////////////////////////////////////////////////////////////////////////////////
|// Признание доходов будущих периодов (Дт 86:: Кт 98)
|//
|ВЫБРАТЬ
|
| втЦелевоеФинансирование.Ссылка КАК Ссылка,
| втЦелевоеФинансирование.Дата КАК Период,
| втЦелевоеФинансирование.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| втЦелевоеФинансирование.Сумма КАК Сумма,
| 0 КАК СуммаУУ,
|
| // Дт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаДт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| втЦелевоеФинансирование.Подразделение КАК ПодразделениеДт,
| втЦелевоеФинансирование.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| втЦелевоеФинансирование.Счет КАК СчетДт,
|
| втЦелевоеФинансирование.Субконто1 КАК СубконтоДт1,
| втЦелевоеФинансирование.Субконто2 КАК СубконтоДт2,
| втЦелевоеФинансирование.Субконто3 КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| втЦелевоеФинансирование.Сумма КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| // Кт ///////////////////////////////////////////////////////////////////////////////////////////
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаКт,
| втЦелевоеФинансирование.Подразделение ПодразделениеКт,
| втЦелевоеФинансирование.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ДоходыБудущихПериодовОтЦелевогоФинансированияОС) КАК СчетКт,
|
| втЦелевоеФинансирование.ОсновноеСредство КАК СубконтоКт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| втЦелевоеФинансирование.Сумма КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Признание доходов будущих периодов"" КАК Содержание
|ИЗ
| втЦелевоеФинансированиеИтог КАК втЦелевоеФинансирование
|
|ГДЕ
| втЦелевоеФинансирование.ВариантПримененияЦелевогоФинансирования В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Полное),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияЦелевогоФинансирования.Частичное)
| )
|";
КонецФункции
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "ОС3";
КомандаПечати.Представление = НСтр("ru = 'Акт о приеме-сдаче ОС (ОС-3)'");
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ОС3") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ОС3",
НСтр("ru = 'ОС-3 (Акт о приеме-сдаче отремонтированных ОС)'"),
ПечатьОС3(МассивОбъектов, ОбъектыПечати, ПараметрыПечати));
КонецЕсли;
КонецПроцедуры
Функция ПечатьОС3(МассивОбъектов, ОбъектыПечати, ПараметрыПечати)
УстановитьПривилегированныйРежим(Истина);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Форма_ОС3";
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.МодернизацияОС.ПФ_MXL_ОС3");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка1");
СтрокаТаблицы = Макет.ПолучитьОбласть("Строка1");
ОбластьШапка2 = Макет.ПолучитьОбласть("Шапка2");
СтрокаТаблицы2 = Макет.ПолучитьОбласть("Строка2");
ПодвалДокумента = Макет.ПолучитьОбласть("Подвал");
ОбластьПечати = Макет.ПолучитьОбласть("ОборотнаяСторона");
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Запрос.УстановитьПараметр("СчетаНакопленияСтоимостиОС",
Обработки.НастройкаОтраженияДокументовВРеглУчете.ДоступныеСчетаУчетаРасходов("2.2").СчетаОС);
СоздатьЗапросОС3(Запрос);
ПервыйДокумент = Истина;
Шапка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Ссылка");
Пока Шапка.Следующий() Цикл
Если НЕ ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ВыборкаПоОС = Шапка.Выбрать();
ВыборкаПоОС.Следующий();
ОбластьШапка.Параметры.Заполнить(ВыборкаПоОС);
СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата);
ПредставлениеОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,");
ОбластьШапка.Параметры.Организация = ПредставлениеОрганизации;
ОбластьШапка.Параметры.Номер = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Шапка.Номер);
ПодразделениеОтветственныхЛиц = Шапка.Подразделение;
ОтветственныеЛица = ОтветственныеЛицаБП.ОтветственныеЛица(Шапка.Организация, Шапка.Дата, ПодразделениеОтветственныхЛиц);
ОбластьШапка.Параметры.Руководитель = ОтветственныеЛица.РуководительПредставление;
ОбластьШапка.Параметры.ДолжностьРуководителя = ОтветственныеЛица.РуководительДолжностьПредставление;
ТабличныйДокумент.Вывести(ОбластьШапка);
ДокВводаБУ = Неопределено;
ДатаВводаБУ = '00010101';
ВыборкаПоОС.Сбросить();
Пока ВыборкаПоОС.Следующий() Цикл
СтрокаТаблицы.Параметры.Заполнить(ВыборкаПоОС);
УчетОСВызовСервера.СведенияОПринятииКУчетуОС(
ВыборкаПоОС.ОсновноеСредство,
Шапка.Организация,
ДокВводаБУ,
ДатаВводаБУ);
СтрокаТаблицы.Параметры.СрокЭкспл = ?(НЕ ЗначениеЗаполнено(ВыборкаПоОС.СрокЭксплуатации), "-",
Строка(ВыборкаПоОС.СрокЭксплуатации) + " мес.");
СтрокаТаблицы.Параметры.ВосстановительнаяСтоимостьПеч = ВыборкаПоОС.СтоимостьБУ;
ТабличныйДокумент.Вывести(СтрокаТаблицы);
КонецЦикла;
ТабличныйДокумент.Вывести(ОбластьШапка2);
ВыборкаПоОС.Сбросить();
Пока ВыборкаПоОС.Следующий() Цикл
СтрокаТаблицы2.Параметры.Заполнить(ВыборкаПоОС);
ТабличныйДокумент.Вывести(СтрокаТаблицы2);
КонецЦикла;
ПодвалДокумента.Параметры.ИтогоСуммаЗатрат = Шапка.СуммаЗатрат;
Если ВыборкаПоОС.Количество() = 1 Тогда
ПодвалДокумента.Параметры.СтоимостьКонечнаяПеч = Шапка.СтоимостьБУ + Шапка.СуммаЗатрат;
Иначе
ПодвалДокумента.Параметры.СтоимостьКонечнаяПеч = Неопределено;
КонецЕсли;
ТабличныйДокумент.Вывести(ПодвалДокумента);
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ОбластьПечати.Параметры.ГлавБух = ОтветственныеЛица.ГлавныйБухгалтерПредставление;
ТабличныйДокумент.Вывести(ОбластьПечати);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Возврат ТабличныйДокумент;
КонецФункции
Процедура СоздатьЗапросОС3(Запрос)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| Документ.Ссылка,
| Документ.Дата,
| Документ.Организация,
| ТабличнаяЧасть.НомерСтроки,
| ТабличнаяЧасть.ОсновноеСредство
|ПОМЕСТИТЬ втОбъектыДокументов
|ИЗ
| Документ.МодернизацияОС КАК Документ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.МодернизацияОС.ОС КАК ТабличнаяЧасть
| ПО Документ.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Документ.Ссылка В(&МассивОбъектов)";
Запрос.Выполнить();
УчетОСВызовСервера.СоздатьВременнуюТаблицуСостоянияОС(Запрос.МенеджерВременныхТаблиц);
Запрос.Текст =
"ВЫБРАТЬ
| втОбъектыДокументов.Ссылка КАК Ссылка,
| втОбъектыДокументов.ОсновноеСредство КАК ОсновноеСредство,
| СУММА(ХозрасчетныйДвижения.Сумма) КАК СтоимостьМодернизации
|ПОМЕСТИТЬ втСтоимостиМодернизации
|ИЗ
| втОбъектыДокументов КАК втОбъектыДокументов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
| ,
| ,
| Регистратор В
| (ВЫБРАТЬ
| Т.Ссылка
| ИЗ
| втОбъектыДокументов КАК Т),
| ,
| ) КАК ХозрасчетныйДвижения
| ПО втОбъектыДокументов.Ссылка = ХозрасчетныйДвижения.Регистратор
| И (втОбъектыДокументов.ОсновноеСредство = ХозрасчетныйДвижения.СубконтоДт1
| ИЛИ втОбъектыДокументов.ОсновноеСредство = ХозрасчетныйДвижения.СубконтоДт2
| ИЛИ втОбъектыДокументов.ОсновноеСредство = ХозрасчетныйДвижения.СубконтоДт3)
| И (ХозрасчетныйДвижения.СчетКт В (&СчетаНакопленияСтоимостиОС))
|
|СГРУППИРОВАТЬ ПО
| втОбъектыДокументов.Ссылка,
| втОбъектыДокументов.ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| НачисленнаяАмортизация.Ссылка КАК Ссылка,
| НачисленнаяАмортизация.ОбъектУчета КАК ОсновноеСредство,
| СУММА(НачисленнаяАмортизация.СуммаБУ) КАК СуммаБУ
|ПОМЕСТИТЬ втДоначисленнаяАмортизация
|ИЗ
| Документ.МодернизацияОС.НачисленнаяАмортизация КАК НачисленнаяАмортизация
|ГДЕ
| НачисленнаяАмортизация.Ссылка В
| (ВЫБРАТЬ
| Т.Ссылка
| ИЗ
| втОбъектыДокументов КАК Т)
|
|СГРУППИРОВАТЬ ПО
| НачисленнаяАмортизация.ОбъектУчета,
| НачисленнаяАмортизация.Ссылка
|;
|
|
|ВЫБРАТЬ
| Документ.Ссылка КАК Ссылка,
| Документ.Организация.КодПоОКПО КАК КодПоОКПООрганизации,
| Документ.Номер КАК Номер,
| Документ.Дата КАК Дата,
| Документ.Организация КАК Организация,
| Документ.Подразделение КАК Подразделение,
| Документ.СобытиеОС КАК ВидРабот,
| втОбъектыДокументов.НомерСтроки КАК ПорядковыйНомер,
| втОбъектыДокументов.ОсновноеСредство,
| ВЫБОР
| КОГДА втОбъектыДокументов.ОсновноеСредство.НаименованиеПолное = """"
| ТОГДА втОбъектыДокументов.ОсновноеСредство.Наименование
| ИНАЧЕ втОбъектыДокументов.ОсновноеСредство.НаименованиеПолное
| КОНЕЦ КАК НаимОС,
| втОбъектыДокументов.ОсновноеСредство.ДатаВыпуска,
| втОбъектыДокументов.ОсновноеСредство.НомерПаспорта,
| втОбъектыДокументов.ОсновноеСредство.ЗаводскойНомер,
| втСведенияОбъектовДокументов.ОстаточнаяСтоимость - ЕСТЬNULL(втДоначисленнаяАмортизация.СуммаБУ, 0) КАК СтоимостьБУ,
| ЕСТЬNULL(втСтоимостиМодернизации.СтоимостьМодернизации, 0) КАК СуммаЗатрат,
| втСведенияОбъектовДокументов.НакопленнаяАмортизация + ЕСТЬNULL(втДоначисленнаяАмортизация.СуммаБУ, 0) КАК НакопленнаяАмортизация,
| РАЗНОСТЬДАТ(втСведенияОбъектовДокументов.ДатаПринятияКУчету, втОбъектыДокументов.Дата, МЕСЯЦ) КАК СрокЭксплуатации,
| втСведенияОбъектовДокументов.ИнвентарныйНомер КАК ИнвНомер
|ИЗ
| Документ.МодернизацияОС КАК Документ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втОбъектыДокументов КАК втОбъектыДокументов
| ПО (втОбъектыДокументов.Ссылка = Документ.Ссылка)
| ЛЕВОЕ СОЕДИНЕНИЕ втСведенияОбъектовДокументов КАК втСведенияОбъектовДокументов
| ПО (втОбъектыДокументов.Ссылка = втСведенияОбъектовДокументов.Ссылка)
| И (втОбъектыДокументов.ОсновноеСредство = втСведенияОбъектовДокументов.ОсновноеСредство)
| ЛЕВОЕ СОЕДИНЕНИЕ втСтоимостиМодернизации КАК втСтоимостиМодернизации
| ПО (втОбъектыДокументов.Ссылка = втСтоимостиМодернизации.Ссылка)
| И (втОбъектыДокументов.ОсновноеСредство = втСтоимостиМодернизации.ОсновноеСредство)
| ЛЕВОЕ СОЕДИНЕНИЕ втДоначисленнаяАмортизация КАК втДоначисленнаяАмортизация
| ПО (втОбъектыДокументов.Ссылка = втДоначисленнаяАмортизация.Ссылка)
| И (втОбъектыДокументов.ОсновноеСредство = втДоначисленнаяАмортизация.ОсновноеСредство)
|
|УПОРЯДОЧИТЬ ПО
| Дата,
| Ссылка
|ИТОГИ
| СУММА(СтоимостьБУ),
| СУММА(СуммаЗатрат),
| СУММА(СрокЭксплуатации)
|ПО
| Ссылка";
КонецПроцедуры
#КонецОбласти
#Область БлокировкаПриОбновленииИБ
Процедура ПроверитьБлокировкуВходящихДанныхПриОбновленииИБ(ПредставлениеОперации) Экспорт
ВходящиеДанные = Новый Соответствие;
УчетОСВызовСервера.ЗаполнитьВходящиеДанныеАмортизации(ВходящиеДанные);
ЗакрытиеМесяцаСервер.ПроверитьБлокировкуВходящихДанныхПриОбновленииИБ(ВходящиеДанные, ПредставлениеОперации);
КонецПроцедуры
#КонецОбласти
#Область Прочее
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
ПараметрыВыбораСтатьиИАналитики = Новый Массив;
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
ПараметрыВыбораСтатьиИАналитики.Добавить(ПараметрыВыбора);
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("АналитикаДоходов");
ПараметрыВыбораСтатьиИАналитики.Добавить(ПараметрыВыбора);
Возврат ПараметрыВыбораСтатьиИАналитики;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли