#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("ОсновныеСредства");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("ОбесценениеВНА");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
РазукомплектацияОСЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.РазукомплектацияОС") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ДопПараметры.ТолькоПомеченные = Регистры <> Неопределено;
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаВтСписокВсехОС(ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтСписокОС(ТекстыЗапроса, "ВтСписокВсехОС");
ТекстЗапросаТаблицаСтоимостьОС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПорядокУчетаОС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПорядокУчетаОСБУ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПорядокУчетаОСУУ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПараметрыАмортизацииОСБУ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПараметрыАмортизацииОСУУ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПервоначальныеСведенияОС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаМестонахождениеОС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаУзлыКомпонентыАмортизации(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаСоставЕГДС(Запрос, ТекстыЗапроса, Регистры);
РазукомплектацияОСЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ТаблицыДвижений = ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
Возврат ТаблицыДвижений;
КонецФункции
Функция ТаблицыОтложенногоФормированияДвижений(МенеджерВременныхТаблиц) Экспорт
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
ПолучитьДанныеДокумента(Запрос);
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения();
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
ТекстыЗапроса = Новый СписокЗначений;
ТекстЗапросаТаблицаВтСписокВсехОС(ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтСписокОС(ТекстыЗапроса, "ВтСписокВсехОС");
ТекстЗапросаТаблицаСтоимостьОС(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаАмортизацияОС(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаОбесценениеВНА(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивы(ТекстыЗапроса);
ТекстЗапросаТаблицаПорядокУчетаОС(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаПорядокУчетаОСБУ(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаПорядокУчетаОСУУ(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаПараметрыАмортизацииОСБУ(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаПараметрыАмортизацииОСУУ(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаПервоначальныеСведенияОС(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаМестонахождениеОС(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаСоставЕГДС(Запрос, ТекстыЗапроса, Неопределено);
РазукомплектацияОСЛокализация.ТаблицыОтложенногоФормированияДвижений(Запрос, ТекстыЗапроса);
ТаблицыДвижений = ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса);
Возврат ТаблицыДвижений;
КонецФункции
#КонецОбласти
#Область Команды
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ИзменениеПараметровОС2_4.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Команда = ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если Команда <> Неопределено Тогда
Команда.ВидимостьВФормах = "ФормаСписка";
КонецЕсли;
РазукомплектацияОСЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.РазукомплектацияОС) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.РазукомплектацияОС.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.РазукомплектацияОС);
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьВнеоборотныеАктивы2_4";
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
РазукомплектацияОСЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
РазукомплектацияОСЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
Функция ВспомогательныеРеквизиты(Объект) Экспорт
ВспомогательныеРеквизиты = Новый Структура;
ВспомогательныеРеквизиты.Вставить("ОтражатьВРеглУчете", Объект.ОтражатьВРеглУчете);
ВспомогательныеРеквизиты.Вставить("ОтражатьВУпрУчете", Объект.ОтражатьВУпрУчете);
ВспомогательныеРеквизиты.Вставить("Организация", Объект.Организация);
ВспомогательныеРеквизиты.Вставить("ХозяйственнаяОперация", Объект.ХозяйственнаяОперация);
ВспомогательныеРеквизиты.Вставить("Дата", Объект.Дата);
ВспомогательныеРеквизиты.Вставить("ВедетсяРегламентированныйУчетВНА", ВнеоборотныеАктивыСлужебный.ВедетсяРегламентированныйУчетВНА());
ВспомогательныеРеквизиты.Вставить("ИспользоватьРеглУчет", РеглУчетСервер.ВедетсяРеглУчет(Объект.Дата));
ВалютаУпр = Константы.ВалютаУправленческогоУчета.Получить();
ВалютаРегл = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Объект.Организация);
ВспомогательныеРеквизиты.Вставить("ВалютыСовпадают", ВалютаУпр = ВалютаРегл);
ВспомогательныеРеквизиты.Вставить(
"РеглУчетВНАВедетсяНезависимо",
НастройкиНалоговУчетныхПолитикПовтИсп.РеглУчетВНАВедетсяНезависимо(Объект.Организация, КонецМесяца(?(Объект.Дата <> '000101010000', Объект.Дата, ТекущаяДатаСеанса()))));
РазукомплектацияОСЛокализация.ДополнитьВспомогательныеРеквизиты(Объект, ВспомогательныеРеквизиты);
ВспомогательныеРеквизиты = Новый ФиксированнаяСтруктура(ВспомогательныеРеквизиты);
Возврат ВспомогательныеРеквизиты;
КонецФункции
Функция ЗаполнитьРеквизитыВЗависимостиОтСвойств(Объект, ВспомогательныеРеквизиты, ПараметрыРеквизитовОбъекта) Экспорт
ИзмененныеРеквизиты = Новый Массив;
Для каждого ПараметрыРеквизита Из ПараметрыРеквизитовОбъекта Цикл
Если ПараметрыРеквизита.Свойство = "Видимость" И ПараметрыРеквизита.Значение = Ложь
ИЛИ ПараметрыРеквизита.Свойство = "ТолькоПросмотр" И ПараметрыРеквизита.Значение = Истина Тогда
Действие = "Очистить";
ИначеЕсли ПараметрыРеквизита.Свойство = "Видимость" И ПараметрыРеквизита.Значение = Истина Тогда
Действие = "Заполнить";
Иначе
Продолжить;
КонецЕсли;
Если ПараметрыРеквизита.ИмяРеквизита = "МетодНачисленияАмортизацииУУ" Тогда
ЗначениеРеквизита = Перечисления.СпособыНачисленияАмортизацииОС.Линейный;
ВнеоборотныеАктивыСлужебный.ЗаполнитьОчиститьРеквизит(
Объект,
ПараметрыРеквизита.ИмяРеквизита,
Действие,
ЗначениеРеквизита,
Неопределено,
ИзмененныеРеквизиты);
ИначеЕсли ПараметрыРеквизита.ИмяРеквизита = "СрокИспользованияУУ" Тогда
ВнеоборотныеАктивыСлужебный.ЗаполнитьОчиститьРеквизит(
Объект,
ПараметрыРеквизита.ИмяРеквизита,
Действие,
Объект.СрокИспользованияБУ,
0,
ИзмененныеРеквизиты);
ИначеЕсли ПараметрыРеквизита.ИмяРеквизита = "КоэффициентУскоренияУУ" Тогда
ВнеоборотныеАктивыСлужебный.ЗаполнитьОчиститьРеквизит(
Объект,
ПараметрыРеквизита.ИмяРеквизита,
Действие,
1,
0,
ИзмененныеРеквизиты);
ИначеЕсли ПараметрыРеквизита.ИмяРеквизита = "МетодНачисленияАмортизацииБУ" Тогда
ЗначениеРеквизита = Перечисления.СпособыНачисленияАмортизацииОС.Линейный;
ВнеоборотныеАктивыСлужебный.ЗаполнитьОчиститьРеквизит(
Объект,
ПараметрыРеквизита.ИмяРеквизита,
Действие,
ЗначениеРеквизита,
Неопределено,
ИзмененныеРеквизиты);
ИначеЕсли ПараметрыРеквизита.ИмяРеквизита = "СрокИспользованияБУ" Тогда
ВнеоборотныеАктивыСлужебный.ЗаполнитьОчиститьРеквизит(
Объект,
ПараметрыРеквизита.ИмяРеквизита,
Действие,
Объект.СрокИспользованияУУ,
0,
ИзмененныеРеквизиты);
ИначеЕсли ПараметрыРеквизита.ИмяРеквизита = "КоэффициентУскоренияБУ" Тогда
ВнеоборотныеАктивыСлужебный.ЗаполнитьОчиститьРеквизит(
Объект,
ПараметрыРеквизита.ИмяРеквизита,
Действие,
1,
0,
ИзмененныеРеквизиты);
КонецЕсли;
КонецЦикла;
Возврат СтрСоединить(ИзмененныеРеквизиты, ",");
КонецФункции
Процедура ЗаполнитьЗначенияПоУмолчанию(ДанныеСтроки, Объект) Экспорт
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации Тогда
Если НЕ ЗначениеЗаполнено(ДанныеСтроки.ГруппаФинансовогоУчета) Тогда
ДанныеСтроки.ГруппаФинансовогоУчета = Справочники.ГруппыФинансовогоУчетаВнеоборотныхАктивов.ЗначениеПоУмолчанию(
Перечисления.ВидыВнеоборотныхАктивов.ОсновноеСредство);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Функция ПроверитьВыборОсновныхСредств(ОсновноеСредство, СписокОС, Дата) Экспорт
ПараметрыВыбораОсновныхСредств = Новый Структура;
ПараметрыВыбораОсновныхСредств.Вставить("ПроблемныеОС", Новый Массив);
ПараметрыВыбораОсновныхСредств.Вставить("ЗначенияПараметров", Новый Структура);
ТекстЗапроса = РазукомплектацияОСЛокализация.ТекстЗапросаДляПроверкиОС();
Если ТекстЗапроса <> Неопределено Тогда
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("СписокОС", СписокОС);
Запрос.УстановитьПараметр("ОсновноеСредство", ОсновноеСредство);
Запрос.УстановитьПараметр("Дата", Дата);
Результат = Запрос.ВыполнитьПакет();
ВыборкаОС = Результат[0].Выбрать();
ВыборкаОС.Выбрать();
ВыборкаОС.Следующий();
Выборка = Результат[1].Выбрать();
Пока Выборка.Следующий() Цикл
ПараметрыВыбораОсновныхСредств.ПроблемныеОС.Добавить(Выборка.Ссылка);
КонецЦикла;
РазукомплектацияОСЛокализация.ДополнитьРезультатПроверкиОС(Выборка, ВыборкаОС, ПараметрыВыбораОсновныхСредств);
КонецЕсли;
Возврат ПараметрыВыбораОсновныхСредств;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.РазукомплектацияОС";
ТекстыЗапросаВременныхТаблиц = Новый Соответствие();
ЗначенияПараметров = ЗначенияПараметровПроведения();
ПереопределениеРасчетаПараметров = Новый Структура;
ВЗапросеЕстьИсточник = Истина;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
ИначеЕсли ИмяРегистра = "ДокументыПоОС" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов"
ИЛИ ИмяРегистра = "ДокументыПоОС" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры)
ПроведениеДокументов.ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
СформироватьТаблицуВтСписокДокументов(Запрос);
ПолучитьДанныеДокумента(Запрос);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения(Реквизиты);
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
КонецПроцедуры
Процедура СформироватьТаблицуВтСписокДокументов(Запрос)
Запрос.Текст =
"ВЫБРАТЬ
| СписокДокументов.Ссылка КАК Ссылка,
| СписокДокументов.Организация КАК Организация,
| СписокДокументов.Дата КАК Период
|
|ПОМЕСТИТЬ ВтСписокДокументов
|
|ИЗ
| Документ.РазукомплектацияОС КАК СписокДокументов
|
|ГДЕ
| СписокДокументов.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
Запрос.Выполнить();
КонецПроцедуры
Процедура ПолучитьДанныеДокумента(Запрос)
СписокЗапросов = Новый Массив;
РазукомплектацияОСЛокализация.ПолучитьДанныеДокумента(СписокЗапросов);
#Область ДанныеДокументаРеквизиты
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| ДанныеДокумента.СтатьяРасходовБУ КАК СтатьяРасходовБУ,
| ДанныеДокумента.АналитикаРасходовБУ КАК АналитикаРасходовБУ,
| ДанныеДокумента.СтатьяРасходовУУ КАК СтатьяРасходовУУ,
| ДанныеДокумента.АналитикаРасходовУУ КАК АналитикаРасходовУУ,
| ДанныеДокумента.СобытиеОС КАК СобытиеОС,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ДанныеДокументаРеквизиты
|
|ИЗ
| Документ.РазукомплектацияОС КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|
|ГДЕ
| ДанныеДокумента.Ссылка В (
| ВЫБРАТЬ
| ВтСписокДокументов.Ссылка
| ИЗ
| ВтСписокДокументов КАК ВтСписокДокументов)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ДанныеДокументаТаблицаОС
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаДокумента.ОсновноеСредство КАК ОбъектУчета,
|
| ТаблицаДокумента.СтоимостьУУ КАК СтоимостьУУ,
| ТаблицаДокумента.СтоимостьБУ КАК СтоимостьБУ,
| ТаблицаДокумента.СтоимостьНУ КАК СтоимостьНУ,
| ТаблицаДокумента.СтоимостьПР КАК СтоимостьПР,
| ТаблицаДокумента.СтоимостьВР КАК СтоимостьВР,
|
| ТаблицаДокумента.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ТаблицаДокумента.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
|
| ТаблицаДокумента.ГодоваяНормаАмортизацииБУ КАК ГодоваяНормаАмортизацииБУ,
| ТаблицаДокумента.ГрафикАмортизации КАК ГрафикАмортизации,
| ТаблицаДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ТаблицаДокумента.КоэффициентУскоренияБУ КАК КоэффициентУскоренияБУ,
| ТаблицаДокумента.КоэффициентУскоренияУУ КАК КоэффициентУскоренияУУ,
| ТаблицаДокумента.МетодНачисленияАмортизацииБУ КАК МетодНачисленияАмортизацииБУ,
| ТаблицаДокумента.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизацииУУ,
| ТаблицаДокумента.СрокИспользованияБУ КАК СрокИспользованияБУ,
| ТаблицаДокумента.СрокИспользованияУУ КАК СрокИспользованияУУ,
| ТаблицаДокумента.ПоказательНаработки КАК ПоказательНаработки,
| ТаблицаДокумента.ОбъемНаработки КАК ОбъемНаработки
|
|ПОМЕСТИТЬ ДанныеДокументаТаблицаОС
|
|ИЗ
| Документ.РазукомплектацияОС.ОС КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (
| ВЫБРАТЬ
| ВтСписокДокументов.Ссылка
| ИЗ
| ВтСписокДокументов КАК ВтСписокДокументов)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| ОсновноеСредство
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.Выполнить();
КонецПроцедуры
Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)
ЗначенияПараметровПроведения = Новый Структура;
ЗначенияПараметровПроведения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.РазукомплектацияОС"));
ЗначенияПараметровПроведения.Вставить("НазваниеДокумента", НСтр("ru='Разукомплектация ОС'"));
ЗначенияПараметровПроведения.Вставить("СтатьяАП_ОС", ПланыВидовХарактеристик.СтатьиАктивовПассивов.УпрБалансОсновныеСредства);
ЗначенияПараметровПроведения.Вставить("ВедетсяРегламентированныйУчетВНА", ВнеоборотныеАктивыСлужебный.ВедетсяРегламентированныйУчетВНА());
ЗначенияПараметровПроведения.Вставить("ИдентификаторНеиспользуемойФинЗаписи", ПроведениеДокументов.ИдентификаторНеиспользуемойФинЗаписи());
Если Реквизиты <> Неопределено Тогда
ЗначенияПараметровПроведения.Вставить("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
КонецЕсли;
Возврат ЗначенияПараметровПроведения;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК ДатаДокументаИБ,
| ДанныеДокумента.Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| ДанныеДокумента.Дата КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| ЛОЖЬ КАК СторноИсправление,
| НЕОПРЕДЕЛЕНО КАК СторнируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ДанныеДокумента.Дата КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|
|ИЗ
| Документ.РазукомплектацияОС КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДокументыПоОС";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерЗаписи,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &ИдентификаторМетаданных КАК ТипСсылки,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.СобытиеОС КАК СобытиеОС,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство
|
|ИЗ
| Документ.РазукомплектацияОС КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.ОсновноеСредство <> ЗНАЧЕНИЕ(Справочник.ОбъектыЭксплуатации.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ДанныеДокумента.ОсновноеСредство <> ЗНАЧЕНИЕ(Справочник.ОбъектыЭксплуатации.ПустаяСсылка)
| ТОГДА ТаблицаОС.НомерСтроки
| ИНАЧЕ ЕСТЬNULL(ТаблицаОС.НомерСтроки-1, 0)
| КОНЕЦ КАК НомерЗаписи,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &ИдентификаторМетаданных КАК ТипСсылки,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.СобытиеОС КАК СобытиеОС,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство
|ИЗ
| Документ.РазукомплектацияОС КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РазукомплектацияОС.ОС КАК ТаблицаОС
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И (ДанныеДокумента.ОсновноеСредство = ЗНАЧЕНИЕ(Справочник.ОбъектыЭксплуатации.ПустаяСсылка)
| ИЛИ НЕ ТаблицаОС.Ссылка ЕСТЬ NULL)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаСтоимостьОС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "СтоимостьОС";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаПустаяТаблицаСтоимостьВНА(Запрос, ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаПустаяТаблицаАмортизацияВНА(Запрос, ТекстыЗапроса);
ОбесценениеВНАСервер.ТекстЗапросаПустаяТаблицаОбесценениеВНА(Запрос, ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтМестонахождениеОС(ТекстыЗапроса, "втСписокВсехОС");
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОС(ТекстыЗапроса, "втСписокВсехОС");
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтНалогообложениеНДС(ТекстыЗапроса, "втСписокВсехОС");
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОСБУ(ТекстыЗапроса, "втСписокВсехОС");
ТекстЗапросаТаблицаВтКоэффициенты(ТекстыЗапроса);
ТекстЗапросаТаблицаВтСуммаКоэффициентов(ТекстыЗапроса);
ТекстЗапросаТаблицаВтВыделениеСтоимости(ТекстыЗапроса);
ТекстыЗапросаОбъединение = Новый Массив;
#Область ПринятиеКУчету
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| ТОГДА ТаблицаОС.ГруппаФинансовогоУчета
| ИНАЧЕ ПорядокУчетаОС.ГруппаФинансовогоУчета
| КОНЕЦ КАК ГруппаФинансовогоУчета,
|
| ПорядокУчетаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| МестонахождениеОС.Арендатор КАК Арендатор,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| втНалогообложениеНДС.НалогообложениеНДС КАК НалогообложениеНДС,
|
| ДанныеДокумента.Подразделение КАК КорПодразделение,
| ПорядокУчетаОС.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК КорГруппаФинансовогоУчета,
| НЕ ВТ_СтоимостьВНА.ОбъектУчета ЕСТЬ NULL КАК РасчетСтоимости,
| ТаблицаОС.СтоимостьУУ КАК ПредварительнаяСтоимость,
| ТаблицаОС.СтоимостьБУ КАК ПредварительнаяСтоимостьРегл,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ТаблицаОС.СтоимостьУУ
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| И ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьБУ - ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2))
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| И ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьБУ - &СтоимостьЦФ
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| И ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьБУ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьНУ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьНУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьПР
| - ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| ТОГДА ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2))
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА &СтоимостьЦФ
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьПР,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| ТОГДА ТаблицаОС.СтоимостьБУ - ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2))
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| ТОГДА ТаблицаОС.СтоимостьБУ
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА ТаблицаОС.СтоимостьБУ - &СтоимостьЦФ
| ИНАЧЕ 0
| КОНЕЦ
| - ТаблицаОС.СтоимостьНУ
| - (ТаблицаОС.СтоимостьПР
| - ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| ТОГДА ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2))
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА &СтоимостьЦФ
| ИНАЧЕ 0
| КОНЕЦ)
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьВР,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| И ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2))
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| И ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА &СтоимостьЦФ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЦФ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| И ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2))
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| И ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА &СтоимостьЦФ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьПРЦФ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ВТ_СтоимостьВНА.РезервПереоценкиСтоимости
| * ВЫБОР КОГДА ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0) = 0
| ТОГДА 1
| ИНАЧЕ ТаблицаОС.СтоимостьУУ / ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0)
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК РезервПереоценкиСтоимости,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВТ_СтоимостьВНА.РезервПереоценкиСтоимостиРегл
| * ВЫБОР КОГДА (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0)) = 0
| ТОГДА 1
| ИНАЧЕ ТаблицаОС.СтоимостьБУ / (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0))
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК РезервПереоценкиСтоимостиРегл,
|
| ВЫБОР
| КОГДА НЕ ДанныеДокумента.ОтражатьВРеглУчете
|
| ТОГДА 0
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
|
| ТОГДА 0
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| И ЕСТЬNULL(ВтПорядокУчетаОСБУ.ИнвестиционныйНалоговыйВычет, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияИНВ.Региональный)
| И (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0)
| + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0)) <> 0
|
| ТОГДА ВЫРАЗИТЬ(ВЫРАЗИТЬ(ВТ_СтоимостьВНА.СуммаРасходовНУПриИНВ КАК ЧИСЛО (31, 10))
| * ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ КАК ЧИСЛО (31, 10))
| / ВЫРАЗИТЬ(ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0)
| + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0) КАК ЧИСЛО (31, 10)) КАК ЧИСЛО (31,2))
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| И ЕСТЬNULL(ВтПорядокУчетаОСБУ.ИнвестиционныйНалоговыйВычет, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияИНВ.Федеральный)
| И (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьНУ, 0)
| - ЕСТЬNULL(АмортизацияОС.АмортизацияНУ, 0)) <> 0
|
| ТОГДА ВЫРАЗИТЬ(ВЫРАЗИТЬ(ВТ_СтоимостьВНА.СуммаРасходовНУПриИНВ КАК ЧИСЛО (31, 10))
| * ВЫРАЗИТЬ(ТаблицаОС.СтоимостьНУ КАК ЧИСЛО (31, 10))
| / ВЫРАЗИТЬ(ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьНУ, 0)
| - ЕСТЬNULL(АмортизацияОС.АмортизацияНУ, 0) КАК ЧИСЛО (31, 10)) КАК ЧИСЛО (31,2))
|
| ИНАЧЕ 0
|
| КОНЕЦ КАК СуммаРасходовНУПриИНВ,
|
| 0 КАК ПриростСтоимости,
| 0 КАК ПриростСтоимостиРегл,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыделениеСтоимостиОСПриРазукомплектации) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
| И ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втМестонахождениеОС КАК МестонахождениеОС
| ПО МестонахождениеОС.Ссылка = ДанныеДокумента.Ссылка
| И МестонахождениеОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втНалогообложениеНДС КАК втНалогообложениеНДС
| ПО втНалогообложениеНДС.Ссылка = ДанныеДокумента.Ссылка
| И втНалогообложениеНДС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтКоэффициенты КАК ВтКоэффициенты
| ПО ВтКоэффициенты.Ссылка = ДанныеДокумента.Ссылка
| И ВтКоэффициенты.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСуммаКоэффициентов КАК ВтСуммаКоэффициентов
| ПО ВтСуммаКоэффициентов.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_АмортизацияВНА КАК АмортизацияОС
| ПО АмортизацияОС.Ссылка = ДанныеДокумента.Ссылка
| И АмортизацияОС.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОбесценениеВНА КАК ОбесценениеОС
| ПО ОбесценениеОС.Ссылка = ДанныеДокумента.Ссылка
| И ОбесценениеОС.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПорядокУчетаОСБУ КАК ВтПорядокУчетаОСБУ
| ПО ВтПорядокУчетаОСБУ.Ссылка = ДанныеДокумента.Ссылка
| И ВтПорядокУчетаОСБУ.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|";
ТекстыЗапросаОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область УменьшениеСтоимостиИсходногоОСПриЧастичнойРазукомплектации
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ПорядокУчетаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| МестонахождениеОС.Арендатор КАК Арендатор,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| втНалогообложениеНДС.НалогообложениеНДС КАК НалогообложениеНДС,
|
| ДанныеДокумента.Подразделение КАК КорПодразделение,
| ПорядокУчетаОС.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| ТОГДА ТаблицаОС.ГруппаФинансовогоУчета
| ИНАЧЕ ПорядокУчетаОС.ГруппаФинансовогоУчета
| КОНЕЦ КАК КорГруппаФинансовогоУчета,
|
| НЕ ВТ_СтоимостьВНА.ОбъектУчета ЕСТЬ NULL КАК РасчетСтоимости,
| 0 КАК ПредварительнаяСтоимость,
| 0 КАК ПредварительнаяСтоимостьРегл,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ТаблицаОС.СтоимостьУУ
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьБУ - ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьНУ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьНУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьПР - ВЫРАЗИТЬ(ТаблицаОС.СтоимостьПР * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьПР,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьБУ - ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2))
| - ТаблицаОС.СтоимостьНУ
| - (ТаблицаОС.СтоимостьПР - ВЫРАЗИТЬ(ТаблицаОС.СтоимостьПР * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2)))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьВР,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЦФ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ * ЕСТЬNULL(ВТ_СтоимостьВНА.ДоляЦФБУ, 0) КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьПРЦФ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ВТ_СтоимостьВНА.РезервПереоценкиСтоимости
| * ВЫБОР КОГДА ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0) = 0
| ТОГДА 1
| ИНАЧЕ ТаблицаОС.СтоимостьУУ / ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0)
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК РезервПереоценкиСтоимости,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВТ_СтоимостьВНА.РезервПереоценкиСтоимостиРегл
| * ВЫБОР КОГДА (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0)) = 0
| ТОГДА 1
| ИНАЧЕ ТаблицаОС.СтоимостьБУ / (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0))
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК РезервПереоценкиСтоимостиРегл,
|
| ВЫБОР
| КОГДА НЕ ДанныеДокумента.ОтражатьВРеглУчете
|
| ТОГДА 0
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
|
| ТОГДА ВТ_СтоимостьВНА.СуммаРасходовНУПриИНВ
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| И ЕСТЬNULL(ВтПорядокУчетаОСБУ.ИнвестиционныйНалоговыйВычет, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияИНВ.Региональный)
| И (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0)
| + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0)) <> 0
|
| ТОГДА ВЫРАЗИТЬ(ВЫРАЗИТЬ(ВТ_СтоимостьВНА.СуммаРасходовНУПриИНВ КАК ЧИСЛО (31, 10))
| * ВЫРАЗИТЬ(ТаблицаОС.СтоимостьБУ КАК ЧИСЛО (31, 10))
| / ВЫРАЗИТЬ(ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0)
| + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0) КАК ЧИСЛО (31, 10)) КАК ЧИСЛО (31,2))
|
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| И ЕСТЬNULL(ВтПорядокУчетаОСБУ.ИнвестиционныйНалоговыйВычет, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияИНВ.Федеральный)
| И (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьНУ, 0)
| - ЕСТЬNULL(АмортизацияОС.АмортизацияНУ, 0)) <> 0
|
| ТОГДА ВЫРАЗИТЬ(ВЫРАЗИТЬ(ВТ_СтоимостьВНА.СуммаРасходовНУПриИНВ КАК ЧИСЛО (31, 10))
| * ВЫРАЗИТЬ(ТаблицаОС.СтоимостьНУ КАК ЧИСЛО (31, 10))
| / ВЫРАЗИТЬ(ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьНУ, 0)
| - ЕСТЬNULL(АмортизацияОС.АмортизацияНУ, 0) КАК ЧИСЛО (31, 10)) КАК ЧИСЛО (31,2))
|
| ИНАЧЕ 0
|
| КОНЕЦ КАК СуммаРасходовНУПриИНВ,
| 0 КАК ПриростСтоимости,
| 0 КАК ПриростСтоимостиРегл,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыделениеСтоимостиОСПриРазукомплектации) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
| И ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втМестонахождениеОС КАК МестонахождениеОС
| ПО МестонахождениеОС.Ссылка = ДанныеДокумента.Ссылка
| И МестонахождениеОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втНалогообложениеНДС КАК втНалогообложениеНДС
| ПО втНалогообложениеНДС.Ссылка = ДанныеДокумента.Ссылка
| И втНалогообложениеНДС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_АмортизацияВНА КАК АмортизацияОС
| ПО АмортизацияОС.Ссылка = ДанныеДокумента.Ссылка
| И АмортизацияОС.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОбесценениеВНА КАК ОбесценениеОС
| ПО ОбесценениеОС.Ссылка = ДанныеДокумента.Ссылка
| И ОбесценениеОС.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПорядокУчетаОСБУ КАК ВтПорядокУчетаОСБУ
| ПО ВтПорядокУчетаОСБУ.Ссылка = ДанныеДокумента.Ссылка
| И ВтПорядокУчетаОСБУ.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации))
|";
ТекстыЗапросаОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область УменьшениеСтоимостиИсходногоОСПриПолнойРазукомплектации
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ПорядокУчетаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| МестонахождениеОС.Арендатор КАК Арендатор,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| втНалогообложениеНДС.НалогообложениеНДС КАК НалогообложениеНДС,
|
| ДанныеДокумента.Подразделение КАК КорПодразделение,
| ПорядокУчетаОС.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК КорГруппаФинансовогоУчета,
| ИСТИНА КАК РасчетСтоимости,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ВыделениеСтоимости.ПредварительнаяСтоимость
| ИНАЧЕ 0
| КОНЕЦ КАК ПредварительнаяСтоимость,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВыделениеСтоимости.ПредварительнаяСтоимостьРегл
| ИНАЧЕ 0
| КОНЕЦ КАК ПредварительнаяСтоимостьРегл,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ВыделениеСтоимости.Стоимость
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВыделениеСтоимости.СтоимостьРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВыделениеСтоимости.СтоимостьНУ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьНУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВыделениеСтоимости.СтоимостьПР
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьПР,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВыделениеСтоимости.СтоимостьРегл
| ИНАЧЕ 0
| КОНЕЦ
| -ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВыделениеСтоимости.СтоимостьНУ
| ИНАЧЕ 0
| КОНЕЦ
| -ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВыделениеСтоимости.СтоимостьПР
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьВР,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВыделениеСтоимости.СтоимостьЦФ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЦФ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВыделениеСтоимости.СтоимостьПРЦФ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьПРЦФ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ВыделениеСтоимости.РезервПереоценкиСтоимости
| ИНАЧЕ 0
| КОНЕЦ КАК РезервПереоценкиСтоимости,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВыделениеСтоимости.РезервПереоценкиСтоимостиРегл
| ИНАЧЕ 0
| КОНЕЦ КАК РезервПереоценкиСтоимостиРегл,
|
| 0 КАК СуммаРасходовНУПриИНВ,
| 0 КАК ПриростСтоимости,
| 0 КАК ПриростСтоимостиРегл,
|
| ВыделениеСтоимости.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыделениеСтоимостиОСПриРазукомплектации) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВыделениеСтоимости КАК ВыделениеСтоимости
| ПО ВыделениеСтоимости.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ втМестонахождениеОС КАК МестонахождениеОС
| ПО МестонахождениеОС.Ссылка = ДанныеДокумента.Ссылка
| И МестонахождениеОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втНалогообложениеНДС КАК втНалогообложениеНДС
| ПО втНалогообложениеНДС.Ссылка = ДанныеДокумента.Ссылка
| И втНалогообложениеНДС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ПорядокУчетаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| МестонахождениеОС.Арендатор КАК Арендатор,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| втНалогообложениеНДС.НалогообложениеНДС КАК НалогообложениеНДС,
|
| ДанныеДокумента.Подразделение КАК КорПодразделение,
| ПорядокУчетаОС.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК КорГруппаФинансовогоУчета,
| ЛОЖЬ КАК РасчетСтоимости,
| 0 КАК ПредварительнаяСтоимость,
| 0 КАК ПредварительнаяСтоимостьРегл,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ТаблицаОС.СтоимостьУУ
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьБУ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьНУ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьНУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьПР
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьПР,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьВР
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьВР,
| 0 КАК СтоимостьЦФ,
| 0 КАК СтоимостьПРЦФ,
| 0 КАК РезервПереоценкиСтоимости,
| 0 КАК РезервПереоценкиСтоимостиРегл,
| 0 КАК СуммаРасходовНУПриИНВ,
| 0 КАК ПриростСтоимости,
| 0 КАК ПриростСтоимостиРегл,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыделениеСтоимостиОСПриРазукомплектации) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
| И ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втМестонахождениеОС КАК МестонахождениеОС
| ПО МестонахождениеОС.Ссылка = ДанныеДокумента.Ссылка
| И МестонахождениеОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втНалогообложениеНДС КАК втНалогообложениеНДС
| ПО втНалогообложениеНДС.Ссылка = ДанныеДокумента.Ссылка
| И втНалогообложениеНДС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| И ВТ_СтоимостьВНА.Ссылка ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ПорядокУчетаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| МестонахождениеОС.Арендатор КАК Арендатор,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ЛОЖЬ КАК ОтражатьВУпрУчете,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| НЕОПРЕДЕЛЕНО КАК НалогообложениеНДС,
|
| ДанныеДокумента.Подразделение КАК КорПодразделение,
| ПорядокУчетаОС.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК КорГруппаФинансовогоУчета,
| ИСТИНА КАК РасчетСтоимости,
|
| 0 КАК ПредварительнаяСтоимость,
| 0 КАК ПредварительнаяСтоимостьРегл,
| 0 КАК Стоимость,
| 0 КАК СтоимостьРегл,
| 0 КАК СтоимостьНУ,
| 0 КАК СтоимостьПР,
| 0 КАК СтоимостьВР,
| 0 КАК СтоимостьЦФ,
| 0 КАК СтоимостьПРЦФ,
| 0 КАК РезервПереоценкиСтоимости,
| 0 КАК РезервПереоценкиСтоимостиРегл,
|
| ВТ_СтоимостьВНА.СуммаРасходовНУПриИНВ КАК СуммаРасходовНУПриИНВ,
|
| 0 КАК ПриростСтоимости,
| 0 КАК ПриростСтоимостиРегл,
|
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
| И ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втМестонахождениеОС КАК МестонахождениеОС
| ПО МестонахождениеОС.Ссылка = ДанныеДокумента.Ссылка
| И МестонахождениеОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| И ДанныеДокумента.ОтражатьВРеглУчете
| И ВТ_СтоимостьВНА.СуммаРасходовНУПриИНВ <> 0
|";
ТекстыЗапросаОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПриростСтоимости
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| ТОГДА ТаблицаОС.ГруппаФинансовогоУчета
| ИНАЧЕ ПорядокУчетаОС.ГруппаФинансовогоУчета
| КОНЕЦ КАК ГруппаФинансовогоУчета,
| ПорядокУчетаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК Арендатор,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| НЕОПРЕДЕЛЕНО КАК НалогообложениеНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорПодразделение,
| ПорядокУчетаОС.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК КорГруппаФинансовогоУчета,
| НЕ ВТ_СтоимостьВНА.ОбъектУчета ЕСТЬ NULL КАК РасчетСтоимости,
|
| 0 КАК ПредварительнаяСтоимость,
| 0 КАК ПредварительнаяСтоимостьРегл,
| 0 КАК Стоимость,
| 0 КАК СтоимостьРегл,
| 0 КАК СтоимостьНУ,
| 0 КАК СтоимостьПР,
| 0 КАК СтоимостьВР,
| 0 КАК СтоимостьЦФ,
| 0 КАК СтоимостьПРЦФ,
| 0 КАК РезервПереоценкиСтоимости,
| 0 КАК РезервПереоценкиСтоимостиРегл,
| 0 КАК СуммаРасходовНУПриИНВ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ВТ_СтоимостьВНА.ПриростСтоимости
| * ВЫБОР КОГДА ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0) = 0
| ТОГДА 1
| ИНАЧЕ ТаблицаОС.СтоимостьУУ / ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0)
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК ПриростСтоимости,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВТ_СтоимостьВНА.ПриростСтоимостиРегл
| * ВЫБОР КОГДА (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0)) = 0
| ТОГДА 1
| ИНАЧЕ ТаблицаОС.СтоимостьБУ / (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0))
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК ПриростСтоимостиРегл,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыделениеСтоимостиОСПриРазукомплектации) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
| И ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втМестонахождениеОС КАК МестонахождениеОС
| ПО МестонахождениеОС.Ссылка = ДанныеДокумента.Ссылка
| И МестонахождениеОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| (ДанныеДокумента.ОтражатьВУпрУчете И ВТ_СтоимостьВНА.ПриростСтоимости <> 0
| ИЛИ ДанныеДокумента.ОтражатьВРеглУчете И ВТ_СтоимостьВНА.ПриростСтоимостиРегл <> 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ПорядокУчетаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК Арендатор,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| НЕОПРЕДЕЛЕНО КАК НалогообложениеНДС,
|
| ДанныеДокумента.Подразделение КАК КорПодразделение,
| ПорядокУчетаОС.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| ТОГДА ТаблицаОС.ГруппаФинансовогоУчета
| ИНАЧЕ ПорядокУчетаОС.ГруппаФинансовогоУчета
| КОНЕЦ КАК КорГруппаФинансовогоУчета,
| НЕ ВТ_СтоимостьВНА.ОбъектУчета ЕСТЬ NULL КАК РасчетСтоимости,
|
| 0 КАК ПредварительнаяСтоимость,
| 0 КАК ПредварительнаяСтоимостьРегл,
| 0 КАК Стоимость,
| 0 КАК СтоимостьРегл,
| 0 КАК СтоимостьНУ,
| 0 КАК СтоимостьПР,
| 0 КАК СтоимостьВР,
| 0 КАК СтоимостьЦФ,
| 0 КАК СтоимостьПРЦФ,
| 0 КАК РезервПереоценкиСтоимости,
| 0 КАК РезервПереоценкиСтоимостиРегл,
| 0 КАК СуммаРасходовНУПриИНВ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ВТ_СтоимостьВНА.ПриростСтоимости
| * ВЫБОР КОГДА ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0) = 0
| ТОГДА 1
| ИНАЧЕ ТаблицаОС.СтоимостьУУ / ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0)
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК ПриростСтоимости,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВТ_СтоимостьВНА.ПриростСтоимостиРегл
| * ВЫБОР КОГДА (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0)) = 0
| ТОГДА 1
| ИНАЧЕ ТаблицаОС.СтоимостьБУ / (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0))
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК ПриростСтоимостиРегл,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВыделениеСтоимостиОСПриРазукомплектации) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
| И ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втМестонахождениеОС КАК МестонахождениеОС
| ПО МестонахождениеОС.Ссылка = ДанныеДокумента.Ссылка
| И МестонахождениеОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| (ДанныеДокумента.ОтражатьВУпрУчете И ВТ_СтоимостьВНА.ПриростСтоимости <> 0
| ИЛИ ДанныеДокумента.ОтражатьВРеглУчете И ВТ_СтоимостьВНА.ПриростСтоимостиРегл <> 0)
|";
ТекстыЗапросаОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(ТекстыЗапросаОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬ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
| ИЛИ ВыделениеОбесценения.ОбесценениеРегл <> 0)
|";
ТекстыЗапросаОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(ТекстыЗапросаОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивы(ТекстыЗапроса)
ИмяРегистра = "ДвиженияДоходыРасходыПрочиеАктивыПассивы";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяРегистра, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаТаблицаВтВыделениеАмортизации(ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОС(ТекстыЗапроса, "ВтСписокВсехОС");
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеАмортизацииОСПриРазукомплектации) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
|
| ДанныеДокумента.Подразделение КАК Подразделение,
| АмортизацияОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| &СтатьяАП_ОС КАК Статья,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ТаблицаОС.ОсновноеСредство КАК АналитикаАктивовПассивов,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| ТОГДА ТаблицаОС.ГруппаФинансовогоУчета
| ИНАЧЕ АмортизацияОС.ГруппаФинансовогоУчета
| КОНЕЦ КАК ГруппаФинансовогоУчета,
|
| ДанныеДокумента.Подразделение КАК КорПодразделение,
| АмортизацияОС.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| &СтатьяАП_ОС КАК КорСтатья,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаРасходов,
| ДанныеДокумента.ОсновноеСредство КАК КорАналитикаАктивовПассивов,
| АмортизацияОС.ГруппаФинансовогоУчета КАК КорГруппаФинансовогоУчета,
|
| ДанныеДокумента.Организация КАК КорОрганизация,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА АмортизацияОС.Амортизация
| ИНАЧЕ 0
| КОНЕЦ КАК Сумма,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА АмортизацияОС.Амортизация
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаУпр,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА АмортизацияОС.АмортизацияРегл + АмортизацияОС.АмортизацияЦФ
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаРегл
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтВыделениеАмортизации КАК АмортизацияОС
| ПО АмортизацияОС.Ссылка = ТаблицаОС.Ссылка
| И АмортизацияОС.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеСтоимостиОСПриРазукомплектации) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
|
| ДанныеДокумента.Подразделение КАК Подразделение,
| ПорядокУчетаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| &СтатьяАП_ОС КАК Статья,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ДанныеДокумента.ОсновноеСредство КАК АналитикаАктивовПассивов,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
|
| ДанныеДокумента.Подразделение КАК КорПодразделение,
| ПорядокУчетаОС.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| &СтатьяАП_ОС КАК КорСтатья,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаРасходов,
| ТаблицаОС.ОсновноеСредство КАК КорАналитикаАктивовПассивов,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| ТОГДА ТаблицаОС.ГруппаФинансовогоУчета
| ИНАЧЕ ПорядокУчетаОС.ГруппаФинансовогоУчета
| КОНЕЦ КАК КорГруппаФинансовогоУчета,
|
| ДанныеДокумента.Организация КАК КорОрганизация,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ТаблицаОС.СтоимостьУУ
| ИНАЧЕ 0
| КОНЕЦ КАК Сумма,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ТаблицаОС.СтоимостьУУ
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаУпр,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьБУ
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаРегл
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Ссылка = ТаблицаОС.Ссылка
| И ПорядокУчетаОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПорядокУчетаОС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПорядокУчетаОС";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОС(ТекстыЗапроса, "втСписокВсехОС");
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| ТОГДА ТаблицаОС.ГруппаФинансовогоУчета
| ИНАЧЕ ПорядокУчетаОС.ГруппаФинансовогоУчета
| КОНЕЦ КАК ГруппаФинансовогоУчета,
|
| ПорядокУчетаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| ТОГДА ТаблицаОС.ПоказательНаработки
| ИНАЧЕ ПорядокУчетаОС.ПоказательНаработки
| КОНЕЦ КАК ПоказательНаработки,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| ТОГДА ТаблицаОС.ОбъемНаработки
| ИНАЧЕ ПорядокУчетаОС.ОбъемНаработки
| КОНЕЦ КАК ОбъемНаработки
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПорядокУчетаОСБУ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПорядокУчетаОСБУ";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОСБУ(ТекстыЗапроса, "ВтСписокВсехОС");
ТекстЗапроса = РазукомплектацияОСЛокализация.ТекстЗапросаТаблицаПорядокУчетаОСБУ();
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ПорядокУчетаОСБУ.СостояниеБУ КАК СостояниеБУ,
| ПорядокУчетаОСБУ.НачислятьАмортизациюБУ КАК НачислятьАмортизациюБУ,
| ПорядокУчетаОСБУ.СтатьяРасходовБУ КАК СтатьяРасходовБУ,
| ПорядокУчетаОСБУ.АналитикаРасходовБУ КАК АналитикаРасходовБУ
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОСБУ КАК ПорядокУчетаОСБУ
| ПО ПорядокУчетаОСБУ.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОСБУ.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ОтражатьВРеглУчете
| И ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету) КАК СостояниеБУ,
| ИСТИНА КАК НачислятьАмортизациюБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовБУ <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| ТОГДА ДанныеДокумента.СтатьяРасходовБУ
| ИНАЧЕ ПорядокУчетаОСБУ.СтатьяРасходовБУ
| КОНЕЦ КАК СтатьяРасходовБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовБУ <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| ТОГДА ДанныеДокумента.СтатьяРасходовБУ
| ИНАЧЕ ПорядокУчетаОСБУ.АналитикаРасходовБУ
| КОНЕЦ КАК АналитикаРасходовБУ
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОСБУ КАК ПорядокУчетаОСБУ
| ПО ПорядокУчетаОСБУ.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОСБУ.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ОтражатьВРеглУчете
| И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.СнятоСУчета) КАК СостояниеБУ,
| ЛОЖЬ КАК НачислятьАмортизациюБУ,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходовБУ,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходовБУ
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.ОтражатьВРеглУчете
| И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПорядокУчетаОСУУ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПорядокУчетаОСУУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОСУУ(ТекстыЗапроса, "втСписокВсехОС");
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету) КАК Состояние,
| ПорядокУчета.НачислятьАмортизацию КАК НачислятьАмортизацию,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| И ДанныеДокумента.СтатьяРасходовУУ <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| ТОГДА ДанныеДокумента.СтатьяРасходовУУ
| ИНАЧЕ ПорядокУчета.СтатьяРасходов
| КОНЕЦ КАК СтатьяРасходов,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
| И ДанныеДокумента.СтатьяРасходовУУ <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| ТОГДА ДанныеДокумента.АналитикаРасходовУУ
| ИНАЧЕ ПорядокУчета.АналитикаРасходов
| КОНЕЦ КАК АналитикаРасходов,
|
| ПорядокУчета.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| ПорядокУчета.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПорядокУчетаОСУУ КАК ПорядокУчета
| ПО ПорядокУчета.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчета.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.СнятоСУчета) КАК Состояние,
| ЛОЖЬ КАК НачислятьАмортизацию,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ЛОЖЬ КАК ПередаватьРасходыВДругуюОрганизацию,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияПолучательРасходов
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПараметрыАмортизацииОСБУ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПараметрыАмортизацииОСБУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаПустаяТаблицаСтоимостьВНА(Запрос, ТекстыЗапроса);
ТекстЗапроса = РазукомплектацияОСЛокализация.ТекстЗапросаТаблицаПараметрыАмортизацииОСБУ(ТекстыЗапроса);
Если ТекстЗапроса = Неопределено Тогда
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПараметрыАмортизацииОСБУ(ТекстыЗапроса, "втСписокВсехОС");
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ТаблицаРегистра.СрокПолезногоИспользованияБУ КАК СрокПолезногоИспользованияБУ,
| ТаблицаРегистра.КоэффициентУскорения КАК КоэффициентУскорения,
| ТаблицаОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимость,
|
| ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ТаблицаРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА ТаблицаРегистра.СрокПолезногоИспользованияБУ <> ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации
| ТОГДА
| ВЫБОР
| КОГДА (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0)) = 0
| ТОГДА 0
| ИНАЧЕ ТаблицаРегистра.СтоимостьДляВычисленияАмортизации
| * ТаблицаОС.СтоимостьБУ / (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0))
| КОНЕЦ
| ИНАЧЕ ТаблицаОС.СтоимостьБУ
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
| И ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыАмортизацииОСБУ КАК ТаблицаРегистра
| ПО ТаблицаРегистра.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаРегистра.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ОтражатьВРеглУчете
| И ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ТаблицаОС.СрокИспользованияБУ КАК СрокПолезногоИспользованияБУ,
| ТаблицаОС.КоэффициентУскоренияБУ КАК КоэффициентУскорения,
| ТаблицаОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимость,
|
| ТаблицаОС.СрокИспользованияБУ КАК СрокИспользованияДляВычисленияАмортизации,
| ТаблицаОС.ОбъемНаработки КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ТаблицаОС.СтоимостьБУ КАК СтоимостьДляВычисленияАмортизации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыАмортизацииОСБУ КАК ТаблицаРегистра
| ПО ТаблицаРегистра.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаРегистра.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ОтражатьВРеглУчете
| И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ТаблицаРегистра.СрокПолезногоИспользованияБУ КАК СрокПолезногоИспользованияБУ,
| ТаблицаРегистра.КоэффициентУскорения КАК КоэффициентУскорения,
| ТаблицаРегистра.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
|
| ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ТаблицаРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ТаблицаРегистра.СтоимостьДляВычисленияАмортизации
| - СУММА(ВЫБОР
| КОГДА ТаблицаРегистра.СрокПолезногоИспользованияБУ <> ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации
| ТОГДА ВЫБОР
| КОГДА (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0)) = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаРегистра.СтоимостьДляВычисленияАмортизации
| * ТаблицаОС.СтоимостьБУ / (ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) + ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0)) КАК ЧИСЛО(31, 2))
| КОНЕЦ
| ИНАЧЕ
| ТаблицаОС.СтоимостьБУ
| КОНЕЦ) КАК СтоимостьДляВычисленияАмортизации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыАмортизацииОСБУ КАК ТаблицаРегистра
| ПО ТаблицаРегистра.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаРегистра.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
| И ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ДанныеДокумента.ОтражатьВРеглУчете
| И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Ссылка,
| ДанныеДокумента.Период,
| ДанныеДокумента.Организация,
| ДанныеДокумента.ОсновноеСредство,
| ТаблицаРегистра.ДатаПоследнегоИзменения,
| ТаблицаРегистра.СрокПолезногоИспользованияБУ,
| ТаблицаРегистра.КоэффициентУскорения,
| ТаблицаРегистра.ЛиквидационнаяСтоимость,
| ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации,
| ТаблицаРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации,
| ТаблицаРегистра.СтоимостьДляВычисленияАмортизации
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПараметрыАмортизацииОСУУ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПараметрыАмортизацииОСУУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаПустаяТаблицаСтоимостьВНА(Запрос, ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПараметрыАмортизацииОСУУ(ТекстыЗапроса, "втСписокВсехОС");
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ТаблицаРегистра.СрокИспользования КАК СрокИспользования,
| ТаблицаРегистра.КоэффициентУскорения КАК КоэффициентУскорения,
| ТаблицаРегистра.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| ТаблицаОС.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ТаблицаОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ТаблицаРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА ТаблицаРегистра.СрокИспользования <> ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации
| ТОГДА
| ВЫБОР
| КОГДА ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0) = 0
| ТОГДА 0
| ИНАЧЕ ТаблицаРегистра.СтоимостьДляВычисленияАмортизации
| * ТаблицаОС.СтоимостьУУ / ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0)
| КОНЕЦ
| ИНАЧЕ ТаблицаОС.СтоимостьУУ
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА ТаблицаРегистра.СрокИспользования <> ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации
| ТОГДА
| ВЫБОР
| КОГДА ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) = 0
| ТОГДА 0
| ИНАЧЕ ТаблицаРегистра.СтоимостьДляВычисленияАмортизацииРегл
| * ТаблицаОС.СтоимостьБУ / ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0)
| КОНЕЦ
| ИНАЧЕ ТаблицаОС.СтоимостьБУ
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизацииРегл
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
| И ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыАмортизацииОСУУ КАК ТаблицаРегистра
| ПО ТаблицаРегистра.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаРегистра.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ТаблицаОС.СрокИспользованияУУ КАК СрокИспользования,
| ТаблицаОС.КоэффициентУскоренияУУ КАК КоэффициентУскорения,
| ТаблицаОС.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизации,
| ТаблицаОС.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ТаблицаОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| ТаблицаОС.СрокИспользованияУУ КАК СрокИспользованияДляВычисленияАмортизации,
| ТаблицаОС.ОбъемНаработки КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ТаблицаОС.СтоимостьУУ КАК СтоимостьДляВычисленияАмортизации,
| ТаблицаОС.СтоимостьБУ КАК СтоимостьДляВычисленияАмортизацииРегл
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыАмортизацииОСУУ КАК ТаблицаРегистра
| ПО ТаблицаРегистра.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаРегистра.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ТаблицаРегистра.СрокИспользования КАК СрокИспользования,
| ТаблицаРегистра.КоэффициентУскорения КАК КоэффициентУскорения,
| ТаблицаРегистра.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| ТаблицаРегистра.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ТаблицаРегистра.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
|
| ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ТаблицаРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ТаблицаРегистра.СтоимостьДляВычисленияАмортизации
| - СУММА(ВЫБОР
| КОГДА ТаблицаРегистра.СрокИспользования <> ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0) = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаРегистра.СтоимостьДляВычисленияАмортизации
| * ТаблицаОС.СтоимостьУУ / ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0) КАК ЧИСЛО(31, 2))
| КОНЕЦ
| ИНАЧЕ
| ТаблицаОС.СтоимостьУУ
| КОНЕЦ) КАК СтоимостьДляВычисленияАмортизации,
|
| ТаблицаРегистра.СтоимостьДляВычисленияАмортизацииРегл
| - СУММА(ВЫБОР
| КОГДА ТаблицаРегистра.СрокИспользования <> ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаРегистра.СтоимостьДляВычисленияАмортизацииРегл
| * ТаблицаОС.СтоимостьБУ / ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) КАК ЧИСЛО(31, 2))
| КОНЕЦ
| ИНАЧЕ
| ТаблицаОС.СтоимостьБУ
| КОНЕЦ) КАК СтоимостьДляВычисленияАмортизацииРегл
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
| И ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыАмортизацииОСУУ КАК ТаблицаРегистра
| ПО ТаблицаРегистра.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаРегистра.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Ссылка,
| ДанныеДокумента.Период,
| ДанныеДокумента.Организация,
| ДанныеДокумента.ОсновноеСредство,
| ТаблицаРегистра.ДатаПоследнегоИзменения,
| ТаблицаРегистра.СрокИспользования,
| ТаблицаРегистра.КоэффициентУскорения,
| ТаблицаРегистра.МетодНачисленияАмортизации,
| ТаблицаРегистра.ЛиквидационнаяСтоимость,
| ТаблицаРегистра.ЛиквидационнаяСтоимостьРегл,
| ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации,
| ТаблицаРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации,
| ТаблицаРегистра.СтоимостьДляВычисленияАмортизации,
| ТаблицаРегистра.СтоимостьДляВычисленияАмортизацииРегл
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
| ТаблицаРегистра.СрокИспользования КАК СрокИспользования,
| ТаблицаРегистра.КоэффициентУскорения КАК КоэффициентУскорения,
| ТаблицаРегистра.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
|
| ТаблицаРегистра.ЛиквидационнаяСтоимость
| - СУММА(ТаблицаОС.ЛиквидационнаяСтоимость) КАК ЛиквидационнаяСтоимость,
|
| ТаблицаРегистра.ЛиквидационнаяСтоимостьРегл
| - СУММА(ТаблицаОС.ЛиквидационнаяСтоимостьРегл) КАК ЛиквидационнаяСтоимостьРегл,
|
| ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации КАК СрокИспользованияДляВычисленияАмортизации,
| ТаблицаРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ТаблицаРегистра.СтоимостьДляВычисленияАмортизации
| - СУММА(ВЫБОР
| КОГДА ТаблицаРегистра.СрокИспользования <> ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0) = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаРегистра.СтоимостьДляВычисленияАмортизации
| * ТаблицаОС.СтоимостьУУ / ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0) КАК ЧИСЛО(31, 2))
| КОНЕЦ
| ИНАЧЕ
| ТаблицаОС.СтоимостьУУ
| КОНЕЦ) КАК СтоимостьДляВычисленияАмортизации,
|
| ТаблицаРегистра.СтоимостьДляВычисленияАмортизацииРегл
| - СУММА(ВЫБОР
| КОГДА ТаблицаРегистра.СрокИспользования <> ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаРегистра.СтоимостьДляВычисленияАмортизацииРегл
| * ТаблицаОС.СтоимостьБУ / ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0) КАК ЧИСЛО(31, 2))
| КОНЕЦ
| ИНАЧЕ
| ТаблицаОС.СтоимостьБУ
| КОНЕЦ) КАК СтоимостьДляВычисленияАмортизацииРегл
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
| И ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыАмортизацииОСУУ КАК ТаблицаРегистра
| ПО ТаблицаРегистра.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаРегистра.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Ссылка,
| ДанныеДокумента.Период,
| ДанныеДокумента.Организация,
| ДанныеДокумента.ОсновноеСредство,
| ТаблицаРегистра.ДатаПоследнегоИзменения,
| ТаблицаРегистра.СрокИспользования,
| ТаблицаРегистра.КоэффициентУскорения,
| ТаблицаРегистра.МетодНачисленияАмортизации,
| ТаблицаРегистра.ЛиквидационнаяСтоимость,
| ТаблицаРегистра.ЛиквидационнаяСтоимостьРегл,
| ТаблицаРегистра.СрокИспользованияДляВычисленияАмортизации,
| ТаблицаРегистра.ОбъемПродукцииРаботДляВычисленияАмортизации,
| ТаблицаРегистра.СтоимостьДляВычисленияАмортизации,
| ТаблицаРегистра.СтоимостьДляВычисленияАмортизацииРегл
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПервоначальныеСведенияОС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПервоначальныеСведенияОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса = РазукомплектацияОСЛокализация.ТекстЗапросаТаблицаПервоначальныеСведенияОС(ТекстыЗапроса);
Если ТекстЗапроса = Неопределено Тогда
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПервоначальныеСведенияОС(ТекстыЗапроса, "втСписокВсехОС");
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.Контрагент КАК Контрагент,
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаРегистра.ПорядокУчетаБУ
| ИНАЧЕ ТаблицаРегистраНовыхОС.ПорядокУчетаБУ
| КОНЕЦ КАК ПорядокУчетаБУ,
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ТаблицаРегистра.ПорядокУчетаУУ
| ИНАЧЕ ТаблицаРегистраНовыхОС.ПорядокУчетаУУ
| КОНЕЦ КАК ПорядокУчетаУУ,
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаРегистра.МетодНачисленияАмортизацииБУ
| ИНАЧЕ ТаблицаРегистраНовыхОС.МетодНачисленияАмортизацииБУ
| КОНЕЦ КАК МетодНачисленияАмортизацииБУ,
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьБУ
| ИНАЧЕ ТаблицаРегистраНовыхОС.ПервоначальнаяСтоимостьБУ
| КОНЕЦ КАК ПервоначальнаяСтоимостьБУ,
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаОС.СтоимостьУУ
| ИНАЧЕ ТаблицаРегистраНовыхОС.ПервоначальнаяСтоимостьУУ
| КОНЕЦ КАК ПервоначальнаяСтоимостьУУ,
| ВЫБОР
| КОГДА ТаблицаРегистра.ДатаВводаВЭксплуатациюБУ = ДАТАВРЕМЯ(1,1,1)
| ТОГДА ДАТАВРЕМЯ(1,1,1)
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ТаблицаРегистра.ДатаВводаВЭксплуатациюБУ
| ИНАЧЕ ТаблицаРегистраНовыхОС.ДатаВводаВЭксплуатациюБУ
| КОНЕЦ КАК ДатаВводаВЭксплуатациюБУ,
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ТаблицаРегистра.ДатаВводаВЭксплуатациюУУ
| ИНАЧЕ ТаблицаРегистраНовыхОС.ДатаВводаВЭксплуатациюУУ
| КОНЕЦ КАК ДатаВводаВЭксплуатациюУУ,
| ВЫБОР
| КОГДА ТаблицаРегистра.ДатаВводаВЭксплуатациюБУ = ДАТАВРЕМЯ(1,1,1)
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ДанныеДокумента.Ссылка
| ИНАЧЕ ТаблицаРегистраНовыхОС.ДокументВводаВЭксплуатациюБУ
| КОНЕЦ КАК ДокументВводаВЭксплуатациюБУ,
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ДанныеДокумента.Ссылка
| ИНАЧЕ ТаблицаРегистраНовыхОС.ДокументВводаВЭксплуатациюУУ
| КОНЕЦ КАК ДокументВводаВЭксплуатациюУУ,
|
| НЕОПРЕДЕЛЕНО КАК ДокументСнятияСУчетаБУ,
| НЕОПРЕДЕЛЕНО КАК ДокументСнятияСУчетаУУ
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПервоначальныеСведенияОС КАК ТаблицаРегистра
| ПО ТаблицаРегистра.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаРегистра.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПервоначальныеСведенияОС КАК ТаблицаРегистраНовыхОС
| ПО ТаблицаРегистраНовыхОС.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаРегистраНовыхОС.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.Контрагент КАК Контрагент,
|
| ТаблицаРегистра.ПорядокУчетаБУ КАК ПорядокУчетаБУ,
| ТаблицаРегистра.ПорядокУчетаУУ КАК ПорядокУчетаУУ,
| ТаблицаРегистра.МетодНачисленияАмортизацииБУ КАК МетодНачисленияАмортизацииБУ,
| ТаблицаРегистра.ПервоначальнаяСтоимостьБУ КАК ПервоначальнаяСтоимостьБУ,
| ТаблицаРегистра.ПервоначальнаяСтоимостьУУ КАК ПервоначальнаяСтоимостьУУ,
| ТаблицаРегистра.ДатаВводаВЭксплуатациюБУ КАК ДатаВводаВЭксплуатациюБУ,
| ТаблицаРегистра.ДатаВводаВЭксплуатациюУУ КАК ДатаВводаВЭксплуатациюУУ,
| ТаблицаРегистра.ДокументВводаВЭксплуатациюБУ КАК ДокументВводаВЭксплуатациюБУ,
| ТаблицаРегистра.ДокументВводаВЭксплуатациюУУ КАК ДокументВводаВЭксплуатациюУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| И ТаблицаРегистра.ДатаВводаВЭксплуатациюБУ <> ДАТАВРЕМЯ(1,1,1)
| ТОГДА ДанныеДокумента.Ссылка
| ИНАЧЕ ТаблицаРегистра.ДокументСнятияСУчетаБУ
| КОНЕЦ КАК ДокументСнятияСУчетаБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| И ТаблицаРегистра.ДатаВводаВЭксплуатациюУУ <> ДАТАВРЕМЯ(1,1,1)
| ТОГДА ДанныеДокумента.Ссылка
| ИНАЧЕ ТаблицаРегистра.ДокументСнятияСУчетаУУ
| КОНЕЦ КАК ДокументСнятияСУчетаУУ
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПервоначальныеСведенияОС КАК ТаблицаРегистра
| ПО ТаблицаРегистра.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаРегистра.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаМестонахождениеОС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "МестонахождениеОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтМестонахождениеОС(ТекстыЗапроса, "втСписокВсехОС");
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.МОЛ КАК МОЛ,
| ТаблицаРегистра.Местонахождение КАК Местонахождение,
| ТаблицаРегистра.АдресМестонахождения КАК АдресМестонахождения,
| ТаблицаРегистра.АдресМестонахожденияЗначение КАК АдресМестонахожденияЗначение,
| ТаблицаРегистра.Арендатор КАК Арендатор,
| ТаблицаРегистра.ПодразделениеАрендатора КАК ПодразделениеАрендатора,
| ТаблицаРегистра.МОЛАрендатора КАК МОЛАрендатора,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтМестонахождениеОС КАК ТаблицаРегистра
| ПО ТаблицаРегистра.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаРегистра.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаУзлыКомпонентыАмортизации(ТекстыЗапроса, Регистры)
ИмяРегистра = "УзлыКомпонентыАмортизации";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ТаблицаОС.ОсновноеСредство КАК УзелКомпонент,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаСоставЕГДС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "СоставЕГДС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтСоставЕГДС(ТекстыЗапроса, "втСписокВсехОС");
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ВнеоборотныйАктив,
| СоставЕГДС.ЕГДС КАК ЕГДС
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСоставЕГДС КАК СоставЕГДС
| ПО СоставЕГДС.Ссылка = ДанныеДокумента.Ссылка
| И СоставЕГДС.ВнеоборотныйАктив = ДанныеДокумента.ОсновноеСредство
|
|ГДЕ
| СоставЕГДС.ЕГДС <> ЗНАЧЕНИЕ(Справочник.ЕдиницыГенерирующиеДенежныеСредства.ПустаяСсылка)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаВтСписокВсехОС(ТекстыЗапроса)
ИмяТаблицы = "втСписокВсехОС";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство
|
|ПОМЕСТИТЬ втСписокВсехОС
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаОС.Ссылка КАК Ссылка,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяТаблицы, Ложь);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаВтВыделениеСтоимости(ТекстыЗапроса)
ИмяТаблицы = "ВтВыделениеСтоимости";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаТаблицаВтКоэффициенты(ТекстыЗапроса);
ТекстЗапросаТаблицаВтСуммаКоэффициентов(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаОС.Ссылка КАК Ссылка,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовУУ <> 0
| ТОГДА &ПредварительнаяСтоимостьУпр
| ИНАЧЕ 0
| КОНЕЦ КАК ПредварительнаяСтоимость,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовБУ <> 0
| ТОГДА &ПредварительнаяСтоимостьРегл
| ИНАЧЕ 0
| КОНЕЦ КАК ПредварительнаяСтоимостьРегл,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовУУ <> 0
| ТОГДА &СтоимостьУпр
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовБУ <> 0
| ТОГДА &СтоимостьРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовНУ <> 0
| ТОГДА &СтоимостьНУ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьНУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовПР <> 0
| ТОГДА &СтоимостьПР1
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовБУ <> 0
| ТОГДА &СтоимостьПР2
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьПР,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовВР <> 0
| ТОГДА &СтоимостьВР
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьВР,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовБУ <> 0
| ТОГДА &СтоимостьЦФ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЦФ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовБУ <> 0
| ТОГДА &Стоимость_ПРЦФ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьПРЦФ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовУУ <> 0
| ТОГДА &РезервПереоценкиСтоимостиУпр
| ИНАЧЕ 0
| КОНЕЦ КАК РезервПереоценкиСтоимости,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| И ВтСуммаКоэффициентов.СуммаКоэффициентовБУ <> 0
| ТОГДА &РезервПереоценкиСтоимостиРегл
| ИНАЧЕ 0
| КОНЕЦ КАК РезервПереоценкиСтоимостиРегл,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА ВТ_СтоимостьВНА.СуммаРасходовНУПриИНВ
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаРасходовНУПриИНВ,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ВтВыделениеСтоимости
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК ВТ_СтоимостьВНА
| ПО ВТ_СтоимостьВНА.Ссылка = ДанныеДокумента.Ссылка
| И ВТ_СтоимостьВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтКоэффициенты КАК ВтКоэффициенты
| ПО ВтКоэффициенты.Ссылка = ТаблицаОС.Ссылка
| И ВтКоэффициенты.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСуммаКоэффициентов КАК ВтСуммаКоэффициентов
| ПО ВтСуммаКоэффициентов.Ссылка = ТаблицаОС.Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| ОсновноеСредство
|";
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬNULL(ВТ_СтоимостьВНА.ПредварительнаяСтоимость, 0)",
"ТаблицаОС.СтоимостьУУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокУУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовУУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПредварительнаяСтоимостьУпр", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬNULL(ВТ_СтоимостьВНА.ПредварительнаяСтоимостьРегл, 0)",
"ТаблицаОС.СтоимостьБУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокБУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовБУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПредварительнаяСтоимостьРегл", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬNULL(ВТ_СтоимостьВНА.Стоимость, 0)",
"ТаблицаОС.СтоимостьУУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокУУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовУУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СтоимостьУпр", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьРегл, 0)",
"ТаблицаОС.СтоимостьБУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокБУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовБУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СтоимостьРегл", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьНУ, 0)",
"ТаблицаОС.СтоимостьНУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокНУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовНУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СтоимостьНУ", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьПР, 0)",
"ТаблицаОС.СтоимостьПР",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокПР",
"ВтСуммаКоэффициентов.СуммаКоэффициентовПР");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СтоимостьПР1", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьПР, 0)",
"ТаблицаОС.СтоимостьБУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокБУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовБУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СтоимостьПР2", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьВР, 0)",
"ТаблицаОС.СтоимостьВР",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокВР",
"ВтСуммаКоэффициентов.СуммаКоэффициентовВР");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СтоимостьВР", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьЦФ, 0)",
"ТаблицаОС.СтоимостьБУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокБУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовБУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СтоимостьЦФ", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬNULL(ВТ_СтоимостьВНА.СтоимостьПРЦФ, 0)",
"ТаблицаОС.СтоимостьБУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокБУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовБУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Стоимость_ПРЦФ", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬNULL(ВТ_СтоимостьВНА.РезервПереоценкиСтоимости, 0)",
"ТаблицаОС.СтоимостьУУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокУУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовУУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РезервПереоценкиСтоимостиУпр", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ЕСТЬ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
| ТОГДА &РезервПереоценкиАмортизацииРегл
| ИНАЧЕ 0
| КОНЕЦ КАК РезервПереоценкиАмортизацииРегл,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ВтВыделениеАмортизации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_АмортизацияВНА КАК АмортизацияОС
| ПО АмортизацияОС.Ссылка = ДанныеДокумента.Ссылка
| И АмортизацияОС.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК СтоимостьОС
| ПО СтоимостьОС.Ссылка = ДанныеДокумента.Ссылка
| И СтоимостьОС.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтКоэффициенты КАК ВтКоэффициенты
| ПО ВтКоэффициенты.Ссылка = ТаблицаОС.Ссылка
| И ВтКоэффициенты.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСуммаКоэффициентов КАК ВтСуммаКоэффициентов
| ПО ВтСуммаКоэффициентов.Ссылка = ТаблицаОС.Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| ОсновноеСредство
|";
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(СтоимостьОС.Стоимость, 0) <> 0
| ТОГДА ЕСТЬNULL(АмортизацияОС.Амортизация, 0) * (ВЫРАЗИТЬ(ВтСуммаКоэффициентов.СуммаКоэффициентовУУ КАК ЧИСЛО (25, 12)) / ВЫРАЗИТЬ(ЕСТЬNULL(СтоимостьОС.Стоимость, 0) КАК ЧИСЛО (25, 12)))
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(АмортизацияОС.Амортизация, 0)
|КОНЕЦ",
"ТаблицаОС.СтоимостьУУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокУУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовУУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&АмортизацияУпр", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьЦФ, 0) <> 0
| ТОГДА ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0) * (ВЫРАЗИТЬ(ВтСуммаКоэффициентов.СуммаКоэффициентовБУ КАК ЧИСЛО (25, 12)) / ВЫРАЗИТЬ(ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьЦФ, 0) КАК ЧИСЛО (25, 12)))
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(АмортизацияОС.АмортизацияРегл, 0)
|КОНЕЦ",
"ТаблицаОС.СтоимостьБУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокБУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовБУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&АмортизацияРегл", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(СтоимостьОС.СтоимостьНУ, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьНУЦФ, 0) <> 0
| ТОГДА ЕСТЬNULL(АмортизацияОС.АмортизацияНУ, 0) * (ВЫРАЗИТЬ(ВтСуммаКоэффициентов.СуммаКоэффициентовНУ КАК ЧИСЛО (25, 12)) / ВЫРАЗИТЬ(ЕСТЬNULL(СтоимостьОС.СтоимостьНУ, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьНУЦФ, 0) КАК ЧИСЛО (25, 12)))
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(АмортизацияОС.АмортизацияНУ, 0)
|КОНЕЦ",
"ТаблицаОС.СтоимостьНУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокНУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовНУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&АмортизацияНУ", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(СтоимостьОС.СтоимостьПР, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьПРЦФ, 0) <> 0
| ТОГДА ЕСТЬNULL(АмортизацияОС.АмортизацияПР, 0) * (ВЫРАЗИТЬ(ВтСуммаКоэффициентов.СуммаКоэффициентовПР КАК ЧИСЛО (25, 12)) / ВЫРАЗИТЬ(ЕСТЬNULL(СтоимостьОС.СтоимостьПР, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьПРЦФ, 0) КАК ЧИСЛО (25, 12)))
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(АмортизацияОС.АмортизацияПР, 0)
|КОНЕЦ",
"ТаблицаОС.СтоимостьПР",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокПР",
"ВтСуммаКоэффициентов.СуммаКоэффициентовПР");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&АмортизацияПР", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(СтоимостьОС.СтоимостьПР, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьЦФ, 0) <> 0
| ТОГДА ЕСТЬNULL(АмортизацияОС.АмортизацияЦФ, 0) * (ВЫРАЗИТЬ(ВтСуммаКоэффициентов.СуммаКоэффициентовБУ КАК ЧИСЛО (25, 12)) / ВЫРАЗИТЬ(ЕСТЬNULL(СтоимостьОС.СтоимостьПР, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьЦФ, 0) КАК ЧИСЛО (25, 12)))
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(АмортизацияОС.АмортизацияЦФ, 0)
|КОНЕЦ",
"ТаблицаОС.СтоимостьБУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокБУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовБУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Амортизация_ЦФ", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(СтоимостьОС.СтоимостьНУ, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьНУЦФ, 0) <> 0
| ТОГДА ЕСТЬNULL(АмортизацияОС.АмортизацияНУЦФ, 0) * (ВЫРАЗИТЬ(ВтСуммаКоэффициентов.СуммаКоэффициентовНУ КАК ЧИСЛО (25, 12)) / ВЫРАЗИТЬ(ЕСТЬNULL(СтоимостьОС.СтоимостьНУ, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьНУЦФ, 0) КАК ЧИСЛО (25, 12)))
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(АмортизацияОС.АмортизацияНУЦФ, 0)
|КОНЕЦ",
"ТаблицаОС.СтоимостьНУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокНУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовНУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Амортизация_НУЦФ", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(СтоимостьОС.СтоимостьПР, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьПРЦФ, 0) <> 0
| ТОГДА ЕСТЬNULL(АмортизацияОС.АмортизацияПРЦФ, 0) * (ВЫРАЗИТЬ(ВтСуммаКоэффициентов.СуммаКоэффициентовНУ КАК ЧИСЛО (25, 12)) / ВЫРАЗИТЬ(ЕСТЬNULL(СтоимостьОС.СтоимостьПР, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьПРЦФ, 0) КАК ЧИСЛО (25, 12)))
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(АмортизацияОС.АмортизацияПРЦФ, 0)
|КОНЕЦ",
"ТаблицаОС.СтоимостьПР",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокПР",
"ВтСуммаКоэффициентов.СуммаКоэффициентовПР");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Амортизация_ПРЦФ", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(СтоимостьОС.Стоимость, 0) <> 0
| ТОГДА ЕСТЬNULL(АмортизацияОС.РезервПереоценкиАмортизации, 0) * (ВЫРАЗИТЬ(ВтСуммаКоэффициентов.СуммаКоэффициентовУУ КАК ЧИСЛО (25, 12)) / ВЫРАЗИТЬ(ЕСТЬNULL(СтоимостьОС.Стоимость, 0) КАК ЧИСЛО (25, 12)))
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(АмортизацияОС.РезервПереоценкиАмортизации, 0)
|КОНЕЦ",
"ТаблицаОС.СтоимостьУУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокУУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовУУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РезервПереоценкиАмортизацииУпр", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСПолная)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьЦФ, 0) <> 0
| ТОГДА ЕСТЬNULL(АмортизацияОС.РезервПереоценкиАмортизацииРегл, 0) * (ВЫРАЗИТЬ(ВтСуммаКоэффициентов.СуммаКоэффициентовБУ КАК ЧИСЛО (25, 12)) / ВЫРАЗИТЬ(ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьЦФ, 0) КАК ЧИСЛО (25, 12)))
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(АмортизацияОС.РезервПереоценкиАмортизацииРегл, 0)
|КОНЕЦ",
"ТаблицаОС.СтоимостьБУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокБУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовБУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&РезервПереоценкиАмортизацииРегл", ТекстРаспределенияСуммы);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяТаблицы, Ложь);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаВтВыделениеОбесценения(ТекстыЗапроса)
ИмяТаблицы = "ВтВыделениеОбесценения";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОС(ТекстыЗапроса, "втСписокВсехОС");
ТекстЗапросаТаблицаВтКоэффициенты(ТекстыЗапроса);
ТекстЗапросаТаблицаВтСуммаКоэффициентов(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаОС.Ссылка КАК Ссылка,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ПорядокУчетаОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ПорядокУчетаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ОбесценениеВНА.ЕГДС КАК ЕГДС,
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете И ВтСуммаКоэффициентов.СуммаКоэффициентовУУ <> 0
| ТОГДА &ОбесценениеУпр
| ИНАЧЕ 0
| КОНЕЦ КАК ОбесценениеУпр,
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВРеглУчете И ВтСуммаКоэффициентов.СуммаКоэффициентовБУ <> 0
| ТОГДА &ОбесценениеРегл
| ИНАЧЕ 0
| КОНЕЦ КАК ОбесценениеРегл,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ВтВыделениеОбесценения
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ОбесценениеВНА КАК ОбесценениеВНА
| ПО ОбесценениеВНА.Ссылка = ДанныеДокумента.Ссылка
| И ОбесценениеВНА.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК СтоимостьОС
| ПО СтоимостьОС.Ссылка = ДанныеДокумента.Ссылка
| И СтоимостьОС.ОбъектУчета = ДанныеДокумента.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчетаОС
| ПО ПорядокУчетаОС.Ссылка = ДанныеДокумента.Ссылка
| И ПорядокУчетаОС.ОсновноеСредство = ДанныеДокумента.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтКоэффициенты КАК ВтКоэффициенты
| ПО ВтКоэффициенты.Ссылка = ДанныеДокумента.Ссылка
| И ВтКоэффициенты.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтСуммаКоэффициентов КАК ВтСуммаКоэффициентов
| ПО ВтСуммаКоэффициентов.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| ОсновноеСредство
|";
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(СтоимостьОС.Стоимость, 0) <> 0
| ТОГДА ЕСТЬNULL(ОбесценениеВНА.ОбесценениеУпр, 0) * ВтСуммаКоэффициентов.СуммаКоэффициентовУУ / ЕСТЬNULL(СтоимостьОС.Стоимость, 0)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(ОбесценениеВНА.ОбесценениеУпр, 0)
|КОНЕЦ",
"ТаблицаОС.СтоимостьУУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокУУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовУУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбесценениеУпр", ТекстРаспределенияСуммы);
ТекстРаспределенияСуммы = ОбщегоНазначенияУТ.ТекстРаспределенияСуммы(
"ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РазукомплектацияОСЧастичная)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьЦФ, 0) <> 0
| ТОГДА ЕСТЬNULL(ОбесценениеВНА.ОбесценениеРегл, 0) * ВтСуммаКоэффициентов.СуммаКоэффициентовБУ / (ЕСТЬNULL(СтоимостьОС.СтоимостьРегл, 0) + ЕСТЬNULL(СтоимостьОС.СтоимостьЦФ, 0))
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(ОбесценениеВНА.ОбесценениеРегл, 0)
|КОНЕЦ",
"ТаблицаОС.СтоимостьБУ",
"ВтКоэффициенты.СуммаКоэффициентовПредыдущихСтрокБУ",
"ВтСуммаКоэффициентов.СуммаКоэффициентовБУ");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбесценениеРегл", ТекстРаспределенияСуммы);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяТаблицы, Ложь);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаВтКоэффициенты(ТекстыЗапроса)
ИмяТаблицы = "ВтКоэффициенты";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаОС.Ссылка КАК Ссылка,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| СУММА(ЕСТЬNULL(ТаблицаОСПредыдущие.СтоимостьБУ, 0)) КАК СуммаКоэффициентовПредыдущихСтрокБУ,
| СУММА(ЕСТЬNULL(ТаблицаОСПредыдущие.СтоимостьНУ, 0)) КАК СуммаКоэффициентовПредыдущихСтрокНУ,
| СУММА(ЕСТЬNULL(ТаблицаОСПредыдущие.СтоимостьПР, 0)) КАК СуммаКоэффициентовПредыдущихСтрокПР,
| СУММА(ЕСТЬNULL(ТаблицаОСПредыдущие.СтоимостьВР, 0)) КАК СуммаКоэффициентовПредыдущихСтрокВР,
| СУММА(ЕСТЬNULL(ТаблицаОСПредыдущие.СтоимостьУУ, 0)) КАК СуммаКоэффициентовПредыдущихСтрокУУ
|
|ПОМЕСТИТЬ ВтКоэффициенты
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОСПредыдущие
| ПО ТаблицаОСПредыдущие.Ссылка = ТаблицаОС.Ссылка
| И ТаблицаОСПредыдущие.НомерСтроки < ТаблицаОС.НомерСтроки
|
|СГРУППИРОВАТЬ ПО
| ТаблицаОС.Ссылка,
| ТаблицаОС.ОсновноеСредство
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| ОсновноеСредство
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяТаблицы, Ложь);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаВтСуммаКоэффициентов(ТекстыЗапроса)
ИмяТаблицы = "ВтСуммаКоэффициентов";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаОС.Ссылка КАК Ссылка,
| СУММА(ТаблицаОС.СтоимостьБУ) КАК СуммаКоэффициентовБУ,
| СУММА(ТаблицаОС.СтоимостьНУ) КАК СуммаКоэффициентовНУ,
| СУММА(ТаблицаОС.СтоимостьПР) КАК СуммаКоэффициентовПР,
| СУММА(ТаблицаОС.СтоимостьВР) КАК СуммаКоэффициентовВР,
| СУММА(ТаблицаОС.СтоимостьУУ) КАК СуммаКоэффициентовУУ
|
|ПОМЕСТИТЬ ВтСуммаКоэффициентов
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
|СГРУППИРОВАТЬ ПО
| ТаблицаОС.Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяТаблицы, Ложь);
КонецПроцедуры
#КонецОбласти
#Область ПроведениеПоРеглУчету
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат РазукомплектацияОСЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат РазукомплектацияОСЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
#Область Печать
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
КонецПроцедуры
Функция ПолучитьДанныеДляПечатнойФормыОС4(МассивОбъектов) Экспорт
Возврат РазукомплектацияОСЛокализация.ПолучитьДанныеДляПечатнойФормыОС4(МассивОбъектов);
КонецФункции
#КонецОбласти
#Область Прочее
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
ПараметрыВыбораСтатьиИАналитики = Новый Массив;
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходовБУ";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходовБУ";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходовБУ");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходовБУ");
ПараметрыВыбораСтатьиИАналитики.Добавить(ПараметрыВыбора);
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходовУУ";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходовУУ";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходовУУ");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходовУУ");
ПараметрыВыбораСтатьиИАналитики.Добавить(ПараметрыВыбора);
Возврат ПараметрыВыбораСтатьиИАналитики;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли