#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("НематериальныеАктивы");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("ОбесценениеВНА");
ПринятиеКУчетуНМАЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ПринятиеКУчетуНМА2_4") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ДопПараметры.ТолькоПомеченные = Регистры <> Неопределено;
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДокументыПоНМА(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаМестоУчетаНМА(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПорядокУчетаНМА(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПорядокУчетаНМАБУ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПорядокУчетаНМАУУ(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПараметрыАмортизацииНМАБУ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПараметрыАмортизацииНМАУУ(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПервоначальныеСведенияНМА(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаСтоимостьНМА(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаСоставЕГДС(Запрос, ТекстыЗапроса, Регистры);
ПринятиеКУчетуНМАЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ТаблицыДвижений = ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
Возврат ТаблицыДвижений;
КонецФункции
Функция ТаблицыДвиженийРасчетаСтоимости(МенеджерВременныхТаблиц) Экспорт
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
ПолучитьДанныеДокумента(Запрос);
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализацииПоПериодам(Запрос, Запрос.Параметры,, "ВтСписокДокументов");
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения();
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
ТекстыЗапроса = Новый СписокЗначений;
ТекстЗапросаТаблицаСтоимостьНМА(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаПервоначальныеСведенияНМА(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Неопределено);
ПринятиеКУчетуНМАЛокализация.ТаблицыДвиженийРасчетаСтоимости(Запрос, ТекстыЗапроса);
ТаблицыДвижений = ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса);
Возврат ТаблицыДвижений;
КонецФункции
#КонецОбласти
#Область Команды
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ИзменениеПараметровНМА2_4.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаСтоимостиИАмортизацииНМА.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Команда = ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если Команда <> Неопределено Тогда
Команда.ВидимостьВФормах = "ФормаСписка";
КонецЕсли;
ПринятиеКУчетуНМАЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ПринятиеКУчетуНМА2_4) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ПринятиеКУчетуНМА2_4.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ПринятиеКУчетуНМА2_4);
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьВнеоборотныеАктивы2_4";
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КонецПроцедуры
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
Процедура ЗаполнитьСтоимость(Объект) Экспорт
Если НЕ РасчетСебестоимостиПовтИсп.ФормироватьДвиженияПоРегистрамСебестоимости(Объект.Дата) Тогда
Возврат;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Объект.НематериальныйАктив) Тогда
Возврат;
КонецЕсли;
ДатаДокумента = ?(Объект.Дата <> '000101010000', Объект.Дата, ТекущаяДатаСеанса());
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Дата КАК Дата,
| &Организация КАК Организация,
| &ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| &ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| &НематериальныйАктив КАК ОбъектУчета,
| 1 КАК Приоритет
|
|ПОМЕСТИТЬ ВтПорцияДанныхКРасчету
|
|;
|
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Дата КАК Дата,
| &Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
|
| 1 КАК НомерСтроки,
| &НематериальныйАктив КАК ОбъектУчета,
|
| ЛОЖЬ КАК РасходыРаспределяютсяПоОбъектам,
|
| &НематериальныйАктив КАК АналитикаКапитализацииРасходов,
|
| ЛОЖЬ КАК ФактическаяСтоимость,
|
| &СтоимостьУУ КАК СтоимостьУУ,
| &СтоимостьБУ КАК СтоимостьБУ,
| &СтоимостьНУ КАК СтоимостьНУ,
|
| &ВариантПримененияЦелевогоФинансирования КАК ВариантПримененияЦелевогоФинансирования,
| &СуммаЦелевыхСредств КАК СуммаЦелевыхСредств,
| &СтоимостьНУ КАК ПервоначальнаяСтоимостьНУ,
|
| &ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| &ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| &ОтражатьВБУ КАК ОтражатьВБУ,
| &ОтражатьВНУ КАК ОтражатьВНУ,
| &ОтражатьВБУ КАК УчестьПР,
|
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ВтТаблицаОбъектов
|
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Запрос.УстановитьПараметр("Дата", ДатаДокумента);
Запрос.УстановитьПараметр("Организация", Объект.Организация);
Запрос.УстановитьПараметр("НематериальныйАктив", Объект.НематериальныйАктив);
Запрос.УстановитьПараметр("СтоимостьУУ", Объект.ПервоначальнаяСтоимостьУУ);
Запрос.УстановитьПараметр("СтоимостьБУ", Объект.ПервоначальнаяСтоимостьБУ);
Запрос.УстановитьПараметр("СтоимостьНУ", Объект.ПервоначальнаяСтоимостьНУ);
Запрос.УстановитьПараметр("СуммаЦелевыхСредств", Объект.СуммаЦелевыхСредств);
Запрос.УстановитьПараметр("ПорядокУчетаУУ", Объект.ПорядокУчетаУУ);
Запрос.УстановитьПараметр("ПорядокУчетаБУ", Объект.ПорядокУчетаБУ);
Запрос.УстановитьПараметр("ХозяйственнаяОперация", Объект.ХозяйственнаяОперация);
Запрос.УстановитьПараметр("ВариантПримененияЦелевогоФинансирования", Объект.ВариантПримененияЦелевогоФинансирования);
Запрос.УстановитьПараметр("ОтражатьВУпрУчете", Объект.ОтражатьВУпрУчете);
Запрос.УстановитьПараметр("ОтражатьВРеглУчете", Объект.ОтражатьВРеглУчете);
Запрос.УстановитьПараметр("ОтражатьВБУ", Объект.ОтражатьВБУ);
Запрос.УстановитьПараметр("ОтражатьВНУ", Объект.ОтражатьВНУ);
Результат = Запрос.Выполнить();
РасчетСтоимостиВНА.СформироватьВтТекущиеРасходы(ДатаДокумента, МенеджерВременныхТаблиц);
ТекстЗапроса =
"ВЫБРАТЬ
| ВтТекущиеРасходы.ОбъектУчета КАК ОбъектУчета,
| СУММА(ВтТекущиеРасходы.СуммаУпр) КАК СуммаУпр,
| СУММА(ВтТекущиеРасходы.СуммаРегл) КАК СуммаРегл
|ИЗ
| ВтТекущиеРасходы КАК ВтТекущиеРасходы
|
|СГРУППИРОВАТЬ ПО
| ВтТекущиеРасходы.ОбъектУчета
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Результат = Запрос.Выполнить();
РасходыПоДокументу = Результат.Выгрузить();
Если Объект.ОтражатьВРеглУчете Тогда
Если РасходыПоДокументу.Количество() <> 0 Тогда
Объект.ПервоначальнаяСтоимостьБУ = РасходыПоДокументу[0].СуммаРегл;
Иначе
Объект.ПервоначальнаяСтоимостьБУ = 0;
КонецЕсли;
КонецЕсли;
Если Объект.ОтражатьВУпрУчете Тогда
Если РасходыПоДокументу.Количество() <> 0 Тогда
Объект.ПервоначальнаяСтоимостьУУ = РасходыПоДокументу[0].СуммаУпр;
Иначе
Объект.ПервоначальнаяСтоимостьУУ = 0;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.ПринятиеКУчетуНМА2_4";
ЗначенияПараметров = ЗначенияПараметровПроведения();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстЗапроса = Неопределено;
КонецЕсли;
Если ТекстЗапроса = Неопределено Тогда
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры)
ПроведениеДокументов.ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
СформироватьТаблицуВтСписокДокументов(Запрос);
ПолучитьДанныеДокумента(Запрос);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения(Реквизиты);
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализацииПоПериодам(Запрос, Запрос.Параметры,, "ВтСписокДокументов");
КонецПроцедуры
Процедура СформироватьТаблицуВтСписокДокументов(Запрос)
Запрос.Текст =
"ВЫБРАТЬ
| СписокДокументов.Ссылка КАК Ссылка,
| СписокДокументов.Организация КАК Организация,
| СписокДокументов.Дата КАК Период
|
|ПОМЕСТИТЬ ВтСписокДокументов
|
|ИЗ
| Документ.ПринятиеКУчетуНМА2_4 КАК СписокДокументов
|
|ГДЕ
| СписокДокументов.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
Запрос.Выполнить();
КонецПроцедуры
Процедура ПолучитьДанныеДокумента(Запрос)
СписокЗапросов = Новый Массив;
#Область ДанныеДокументаРеквизиты
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ВидОбъектаУчета КАК ВидОбъектаУчета,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.КоэффициентБУ КАК КоэффициентБУ,
| ДанныеДокумента.КоэффициентУскоренияУУ КАК КоэффициентУскоренияУУ,
| ДанныеДокумента.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ДанныеДокумента.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.ОбъемНаработки КАК ОбъемНаработки,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.ОтражатьВБУ КАК ОтражатьВБУ,
| ДанныеДокумента.ПервоначальнаяСтоимостьБУ КАК ПервоначальнаяСтоимостьБУ,
| ДанныеДокумента.ПервоначальнаяСтоимостьУУ КАК ПервоначальнаяСтоимостьУУ,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Подразделение КАК Местонахождение,
| ДанныеДокумента.ПорядокУчетаБУ КАК ПорядокУчетаБУ,
| ДанныеДокумента.ПорядокУчетаУУ КАК ПорядокУчетаУУ,
| ДанныеДокумента.МетодНачисленияАмортизацииБУ КАК МетодНачисленияАмортизацииБУ,
| ДанныеДокумента.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизацииУУ,
| ДанныеДокумента.СпособПоступления КАК СпособПоступления,
| ДанныеДокумента.СрокИспользованияБУ КАК СрокИспользованияБУ,
| ДанныеДокумента.СрокИспользованияУУ КАК СрокИспользованияУУ,
| ДанныеДокумента.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| ДанныеДокумента.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов,
| ДанныеДокумента.ЕГДС КАК ЕГДС,
| ДанныеДокумента.СпособОтраженияРасходовБУ КАК СпособОтраженияРасходовБУ,
| ДанныеДокумента.СтатьяРасходовБУ КАК СтатьяРасходовБУ,
| ДанныеДокумента.АналитикаРасходовБУ КАК АналитикаРасходовБУ,
| ДанныеДокумента.ПодразделениеБУ КАК ПодразделениеБУ,
| ДанныеДокумента.НаправлениеДеятельностиБУ КАК НаправлениеДеятельностиБУ,
| ДанныеДокумента.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ КАК ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.ВключениеВРасходыПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаНУ
|
| ИНАЧЕ ДанныеДокумента.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ
|
| КОНЕЦ КАК ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВБУ
| И ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
|
| ТОГДА ДанныеДокумента.СпособОтраженияРасходовБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВНУ
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.СписыватьПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислениеАмортизацииИлиСписаниеНаРасходы))
|
| ТОГДА ДанныеДокумента.СпособОтраженияРасходовНУ
|
| ИНАЧЕ ДанныеДокумента.СпособОтраженияРасходовУУ
| КОНЕЦ КАК СпособОтраженияРасходовУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислитьАмортизациюПриПринятииКУчету)
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
|
| ТОГДА ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВБУ
| И ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
|
| ТОГДА ДанныеДокумента.СтатьяРасходовБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВНУ
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.СписыватьПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислениеАмортизацииИлиСписаниеНаРасходы))
|
| ТОГДА ДанныеДокумента.СтатьяРасходовНУ
|
| ИНАЧЕ ДанныеДокумента.СтатьяРасходовУУ
| КОНЕЦ КАК СтатьяРасходовУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислитьАмортизациюПриПринятииКУчету)
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
|
| ТОГДА НЕОПРЕДЕЛЕНО
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
|
| ТОГДА ДанныеДокумента.АналитикаРасходовБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.СписыватьПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислениеАмортизацииИлиСписаниеНаРасходы))
|
| ТОГДА ДанныеДокумента.АналитикаРасходовНУ
|
| ИНАЧЕ ДанныеДокумента.АналитикаРасходовУУ
| КОНЕЦ КАК АналитикаРасходовУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
|
| ТОГДА ДанныеДокумента.ПодразделениеБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.СписыватьПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислениеАмортизацииИлиСписаниеНаРасходы))
|
| ТОГДА ДанныеДокумента.ПодразделениеНУ
|
| ИНАЧЕ ДанныеДокумента.ПодразделениеУУ
| КОНЕЦ КАК ПодразделениеУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
|
| ТОГДА ДанныеДокумента.НаправлениеДеятельностиБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.СписыватьПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислениеАмортизацииИлиСписаниеНаРасходы))
|
| ТОГДА ДанныеДокумента.НаправлениеДеятельностиНУ
|
| ИНАЧЕ ДанныеДокумента.НаправлениеДеятельностиУУ
| КОНЕЦ КАК НаправлениеДеятельностиУУ,
|
| ДанныеДокумента.ИдентификаторДокумента КАК ИдентификаторДокумента,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации,
|
| ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию) КАК НачислятьАмортизациюБУ,
| ДанныеДокумента.ПорядокУчетаУУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию) КАК НачислятьАмортизациюУУ,
|
| &ПринятиеКУчетуНМА_РеквизитыДокумента
|
|ПОМЕСТИТЬ ДанныеДокументаРеквизиты
|
|ИЗ
| Документ.ПринятиеКУчетуНМА2_4 КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|
|ГДЕ
| ДанныеДокумента.Ссылка В (
| ВЫБРАТЬ
| ВтСписокДокументов.Ссылка
| ИЗ
| ВтСписокДокументов КАК ВтСписокДокументов)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
ПринятиеКУчетуНМАЛокализация.ДобавитьВТекстЗапросаРеквизитыДокумента(ТекстЗапроса, "ДанныеДокумента");
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.Выполнить();
КонецПроцедуры
Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)
ЗначенияПараметровПроведения = Новый Структура;
ВнеоборотныеАктивыСлужебный.ЗначенияПараметровПроведенияПринятияКУчетуНМА(ЗначенияПараметровПроведения);
ПринятиеКУчетуНМАЛокализация.ЗначенияПараметровПроведения(ЗначенияПараметровПроведения);
ЗначенияПараметровПроведения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ПринятиеКУчетуНМА2_4"));
ЗначенияПараметровПроведения.Вставить("НазваниеДокумента", НСтр("ru='Принятие к учету НМА'"));
ЗначенияПараметровПроведения.Вставить("ВедетсяРегламентированныйУчетВНА", ВнеоборотныеАктивыСлужебный.ВедетсяРегламентированныйУчетВНА());
ЗначенияПараметровПроведения.Вставить("ИдентификаторНеиспользуемойФинЗаписи", ПроведениеДокументов.ИдентификаторНеиспользуемойФинЗаписи());
Если Реквизиты <> Неопределено Тогда
ЗначенияПараметровПроведения.Вставить("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
КонецЕсли;
Возврат ЗначенияПараметровПроведения;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК ДатаДокументаИБ,
| ДанныеДокумента.Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| ДанныеДокумента.Дата КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| ЛОЖЬ КАК СторноИсправление,
| НЕОПРЕДЕЛЕНО КАК СторнируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ДанныеДокумента.Дата КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|
|ИЗ
| Документ.ПринятиеКУчетуНМА2_4 КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДокументыПоНМА(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДокументыПоНМА";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерЗаписи,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &ИдентификаторМетаданных КАК ТипСсылки,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив
|
|ИЗ
| Документ.ПринятиеКУчетуНМА2_4 КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаМестоУчетаНМА(ТекстыЗапроса, Регистры)
ИмяРегистра = "МестоУчетаНМА";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПорядокУчетаНМА(ТекстыЗапроса, Регистры)
ИмяРегистра = "ПорядокУчетаНМА";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.ОбъемНаработки КАК ОбъемНаработки,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПорядокУчетаНМАБУ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПорядокУчетаНМАБУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса = ПринятиеКУчетуНМАЛокализация.ТекстЗапросаТаблицаПорядокУчетаНМАБУ(Запрос, ТекстыЗапроса);
Если ТекстЗапроса = Неопределено Тогда
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтУчетнаяПолитикаФинансовогоУчета(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
|
| ЗНАЧЕНИЕ(Перечисление.СостоянияНМА.ПринятКУчету) КАК СостояниеБУ,
|
| ДанныеДокумента.НачислятьАмортизациюБУ КАК НачислятьАмортизациюБУ,
|
| ДанныеДокумента.СпособОтраженияРасходовБУ КАК СпособОтраженияРасходовБУ,
| ДанныеДокумента.СтатьяРасходовБУ КАК СтатьяРасходовБУ,
| ДанныеДокумента.АналитикаРасходовБУ КАК АналитикаРасходовБУ,
| ДанныеДокумента.ПодразделениеБУ КАК ПодразделениеБУ,
| ДанныеДокумента.НаправлениеДеятельностиБУ КАК НаправлениеДеятельностиБУ
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ДанныеДокумента.ОтражатьВРеглУчете
| И ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
|
| ЗНАЧЕНИЕ(Перечисление.СостоянияНМА.ПринятКУчету) КАК СостояниеБУ,
|
| ДанныеДокумента.НачислятьАмортизациюУУ КАК НачислятьАмортизациюБУ,
|
| ДанныеДокумента.СпособОтраженияРасходовБУ КАК СпособОтраженияРасходовБУ,
| ДанныеДокумента.СтатьяРасходовУУ КАК СтатьяРасходовБУ,
| ДанныеДокумента.АналитикаРасходовУУ КАК АналитикаРасходовБУ,
| ДанныеДокумента.ПодразделениеУУ КАК ПодразделениеБУ,
| ДанныеДокумента.НаправлениеДеятельностиУУ КАК НаправлениеДеятельностиБУ
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПорядокУчетаНМАУУ(ТекстыЗапроса, Регистры)
ИмяРегистра = "ПорядокУчетаНМАУУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
| ЗНАЧЕНИЕ(Перечисление.СостоянияНМА.ПринятКУчету) КАК Состояние,
| ДанныеДокумента.НачислятьАмортизациюУУ КАК НачислятьАмортизацию,
| ДанныеДокумента.СпособОтраженияРасходовУУ КАК СпособОтраженияРасходов,
| ДанныеДокумента.СтатьяРасходовУУ КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходовУУ КАК АналитикаРасходов,
| ДанныеДокумента.ПодразделениеУУ КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельностиУУ КАК НаправлениеДеятельности,
| ДанныеДокумента.ПередаватьРасходыВДругуюОрганизацию КАК ПередаватьРасходыВДругуюОрганизацию,
| ДанныеДокумента.ОрганизацияПолучательРасходов КАК ОрганизацияПолучательРасходов
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Функция ТекстЗапросаТаблицаПараметрыАмортизацииНМАБУ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПараметрыАмортизацииНМАБУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПараметрыАмортизацииНМАБУ(ТекстыЗапроса, "ДанныеДокументаРеквизиты");
ТекстЗапроса = ПринятиеКУчетуНМАЛокализация.ТекстЗапросаТаблицаПараметрыАмортизацииНМАБУ(Запрос, ТекстыЗапроса);
Если ТекстЗапроса = Неопределено Тогда
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтУчетнаяПолитикаФинансовогоУчета(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Период КАК ДатаПоследнегоИзменения,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.СрокИспользованияБУ КАК СрокПолезногоИспользованияБУ,
| ДанныеДокумента.СрокИспользованияБУ КАК СрокИспользованияДляВычисленияАмортизации,
| ДанныеДокумента.ОбъемНаработки КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ДанныеДокумента.КоэффициентБУ КАК КоэффициентБУ,
| ДанныеДокумента.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимость
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ДанныеДокумента.ОтражатьВРеглУчете
| И ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Период КАК ДатаПоследнегоИзменения,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.СрокИспользованияУУ КАК СрокПолезногоИспользованияБУ,
| ДанныеДокумента.СрокИспользованияУУ КАК СрокИспользованияДляВычисленияАмортизации,
| ДанныеДокумента.ОбъемНаработки КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ДанныеДокумента.КоэффициентУскоренияУУ КАК КоэффициентБУ,
| ДанныеДокумента.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимость
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаПараметрыАмортизацииНМАУУ(ТекстыЗапроса, Регистры)
ИмяРегистра = "ПараметрыАмортизацииНМАУУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Период КАК ДатаПоследнегоИзменения,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.СрокИспользованияУУ КАК СрокИспользования,
| ДанныеДокумента.СрокИспользованияУУ КАК СрокИспользованияДляВычисленияАмортизации,
| ДанныеДокумента.ОбъемНаработки КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ДанныеДокумента.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизации,
| ДанныеДокумента.КоэффициентУскоренияУУ КАК КоэффициентУскорения,
| ДанныеДокумента.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ДанныеДокумента.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Функция ТекстЗапросаТаблицаПервоначальныеСведенияНМА(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПервоначальныеСведенияНМА";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
РасчетСтоимостиВНА.ДобавитьПустыеТаблицыРасчетаСтоимости(Запрос, ТекстыЗапроса);
ТекстЗапроса = ПринятиеКУчетуНМАЛокализация.ТекстЗапросаТаблицаПервоначальныеСведенияНМА(Запрос, ТекстыЗапроса);
Если ТекстЗапроса = Неопределено Тогда
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПервоначальныеСведенияНМА(ТекстыЗапроса, "ДанныеДокументаРеквизиты");
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтУчетнаяПолитикаФинансовогоУчета(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ДанныеДокумента.Период
| ИНАЧЕ ПервоначальныеСведенияНМА.ДатаПринятияКУчетуУУ
| КОНЕЦ КАК ДатаПринятияКУчетуУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.Период
| ИНАЧЕ ПервоначальныеСведенияНМА.ДатаПринятияКУчетуБУ
| КОНЕЦ КАК ДатаПринятияКУчетуБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ДанныеДокумента.Ссылка
| ИНАЧЕ ПервоначальныеСведенияНМА.ДокументПринятияКУчетуУУ
| КОНЕЦ КАК ДокументПринятияКУчетуУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.Ссылка
| ИНАЧЕ ПервоначальныеСведенияНМА.ДокументПринятияКУчетуБУ
| КОНЕЦ КАК ДокументПринятияКУчетуБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.МетодНачисленияАмортизацииБУ
| ИНАЧЕ ПервоначальныеСведенияНМА.МетодНачисленияАмортизацииБУ
| КОНЕЦ КАК МетодНачисленияАмортизацииБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ЕСТЬNULL(РасчетСтоимости.СуммаУУ, ДанныеДокумента.ПервоначальнаяСтоимостьУУ)
| ИНАЧЕ ПервоначальныеСведенияНМА.ПервоначальнаяСтоимостьУУ
| КОНЕЦ КАК ПервоначальнаяСтоимостьУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ДанныеДокумента.ПервоначальнаяСтоимостьБУ)
| ИНАЧЕ ПервоначальныеСведенияНМА.ПервоначальнаяСтоимостьБУ
| КОНЕЦ КАК ПервоначальнаяСтоимостьБУ
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ДанныеДокумента.Ссылка
| И РасчетСтоимости.ОбъектУчета = ДанныеДокумента.НематериальныйАктив
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПервоначальныеСведенияНМА КАК ПервоначальныеСведенияНМА
| ПО ПервоначальныеСведенияНМА.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
|
| ДанныеДокумента.Период КАК ДатаПринятияКУчетуУУ,
| ДанныеДокумента.Период КАК ДатаПринятияКУчетуБУ,
|
| ДанныеДокумента.Ссылка КАК ДокументПринятияКУчетуУУ,
| ДанныеДокумента.Ссылка КАК ДокументПринятияКУчетуБУ,
|
| ДанныеДокумента.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизацииБУ,
|
| ЕСТЬNULL(РасчетСтоимости.СуммаУУ, ДанныеДокумента.ПервоначальнаяСтоимостьУУ) КАК ПервоначальнаяСтоимостьУУ,
| ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ДанныеДокумента.ПервоначальнаяСтоимостьБУ) КАК ПервоначальнаяСтоимостьБУ
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ДанныеДокумента.Ссылка
| И РасчетСтоимости.ОбъектУчета = ДанныеДокумента.НематериальныйАктив
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаСтоимостьНМА(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "СтоимостьНМА";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
РасчетСтоимостиВНА.ДобавитьПустыеТаблицыРасчетаСтоимости(Запрос, ТекстыЗапроса);
ТекстЗапроса = ПринятиеКУчетуНМАЛокализация.ТекстЗапросаТаблицаСтоимостьНМА(Запрос, ТекстыЗапроса);
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ВЫБОР
| КОГДА НЕ ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(РасчетСтоимости.СуммаУУ, ДанныеДокумента.ПервоначальнаяСтоимостьУУ)
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР
| КОГДА НЕ ДанныеДокумента.ОтражатьВРеглУчете
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ДанныеДокумента.ПервоначальнаяСтоимостьБУ)
| КОНЕЦ КАК СтоимостьРегл,
|
| 0 КАК ПредварительнаяСтоимость,
| 0 КАК ПредварительнаяСтоимостьРегл,
|
| 0 КАК КорПостояннаяРазница,
| 0 КАК КорВременнаяРазница,
|
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
|
| ЕСТЬNULL(РасчетСтоимости.Подразделение, НЕОПРЕДЕЛЕНО) КАК КорПодразделение,
| ЕСТЬNULL(РасчетСтоимости.НаправлениеДеятельности, НЕОПРЕДЕЛЕНО) КАК КорНаправлениеДеятельности,
| ЕСТЬNULL(РасчетСтоимости.СтатьяРасходов, НЕОПРЕДЕЛЕНО) КАК КорСтатьяРасходов,
| ЕСТЬNULL(РасчетСтоимости.АналитикаРасходов, НЕОПРЕДЕЛЕНО) КАК КорАналитикаРасходов,
|
| НЕ РасчетСтоимости.ОбъектУчета ЕСТЬ NULL КАК РасчетСтоимости,
|
| ЕСТЬNULL(РасчетСтоимости.ИдентификаторСтроки, &ИдентификаторНеиспользуемойФинЗаписи) КАК ИдентификаторФинЗаписи,
| ДанныеДокумента.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимости КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ДанныеДокумента.Ссылка
| И РасчетСтоимости.ОбъектУчета = ДанныеДокумента.НематериальныйАктив
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.НематериальныйАктив КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| 0 КАК Стоимость,
| 0 КАК СтоимостьРегл,
|
| ДанныеДокумента.ПервоначальнаяСтоимостьУУ КАК ПредварительнаяСтоимость,
| ДанныеДокумента.ПервоначальнаяСтоимостьБУ КАК ПредварительнаяСтоимостьРегл,
|
| 0 КАК КорПостояннаяРазница,
| 0 КАК КорВременнаяРазница,
|
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
|
| НЕОПРЕДЕЛЕНО КАК КорПодразделение,
| НЕОПРЕДЕЛЕНО КАК КорНаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК КорСтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаРасходов,
|
| ЛОЖЬ КАК РасчетСтоимости,
|
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.ПервоначальнаяСтоимостьУУ <> 0
| ИЛИ ДанныеДокумента.ПервоначальнаяСтоимостьБУ <> 0
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ДопПоля = "Регистратор";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса, ДопПоля);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы(ДопПоля, Истина);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияДоходыРасходыПрочиеАктивыПассивы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
РасчетСтоимостиВНА.ДобавитьПустыеТаблицыРасчетаСтоимости(Запрос, ТекстыЗапроса);
СписокЗапросовОбъединение = Новый Массив;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаДвиженияДоходыРасходыПрочиеАктивыПассивыПринятияКУчету(СписокЗапросовОбъединение);
ПринятиеКУчетуНМАЛокализация.ДополнитьТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивы(СписокЗапросовОбъединение);
ТекстЗапроса = СтрСоединить(СписокЗапросовОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаСоставЕГДС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "СоставЕГДС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.НематериальныйАктив КАК ВнеоборотныйАктив,
| ДанныеДокумента.ЕГДС КАК ЕГДС
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.ЕГДС <> ЗНАЧЕНИЕ(Справочник.ЕдиницыГенерирующиеДенежныеСредства.ПустаяСсылка)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса, ДопПоля)
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса, ДопПоля);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы(ДопПоля, Истина);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса, ДопПоля)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
РасчетСтоимостиВНА.ДобавитьПустыеТаблицыРасчетаСтоимости(Запрос, ТекстыЗапроса);
ТекстЗапроса = ПринятиеКУчетуНМАЛокализация.ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса, ДопПоля);
Если ТекстЗапроса = Неопределено Тогда
ЗапросыРегистра = Новый Массив;
ЗапросыРегистра.Добавить(РегистрыНакопления.ПрочиеРасходы.ТекстОписаниеВтИсходныеПрочиеРасходы(ДопПоля));
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ВтРасчетСтоимости.Подразделение КАК Подразделение,
| ВтРасчетСтоимости.СтатьяРасходов КАК СтатьяРасходов,
| ВтРасчетСтоимости.АналитикаРасходов КАК АналитикаРасходов,
| ВтРасчетСтоимости.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| ВтРасчетСтоимости.Сумма КАК СуммаСНДС,
| ВтРасчетСтоимости.СуммаБезНДС КАК СуммаБезНДС,
| ВтРасчетСтоимости.СуммаУУ КАК СуммаБезНДСУпр,
|
| ВтРасчетСтоимости.СуммаБУ КАК СуммаСНДСРегл,
| ВтРасчетСтоимости.СуммаБУ КАК СуммаБезНДСРегл,
|
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ВтРасчетСтоимости.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ДанныеДокумента.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
|
| ДанныеДокумента.Ссылка КАК Регистратор
|
|
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРасчетСтоимости КАК ВтРасчетСтоимости
| ПО ВтРасчетСтоимости.Ссылка = ДанныеДокумента.Ссылка
| И ВтРасчетСтоимости.ОбъектУчета = ДанныеДокумента.НематериальныйАктив
|";
ЗапросыРегистра.Добавить(ТекстЗапроса);
ТекстЗапроса = СтрСоединить(ЗапросыРегистра, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#Область ПроведениеПоРеглУчету
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат ПринятиеКУчетуНМАЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат ПринятиеКУчетуНМАЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
ПринятиеКУчетуНМАЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПринятиеКУчетуНМАЛокализация.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
КонецПроцедуры
#КонецОбласти
#Область РабочееМесто
Функция ДанныеРабочегоМеста(Параметры) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДоступныеСтатьи.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ДоступныеСтатьи
|
|ИЗ
| ПланВидовХарактеристик.СтатьиРасходов КАК ДоступныеСтатьи
|ГДЕ
| ДоступныеСтатьи.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И (ДоступныеСтатьи.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ИЛИ ДоступныеСтатьи.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ИЛИ ДоступныеСтатьи.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы))
| И ДоступныеСтатьи.РасходыНаНМАиНИОКР
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПрочиеРасходы.НематериальныйАктив КАК НематериальныйАктив,
| ПрочиеРасходы.Организация КАК Организация,
|
| СУММА(ПрочиеРасходы.СтоимостьУУ) КАК СтоимостьУУ,
| СУММА(ПрочиеРасходы.СтоимостьБУ) КАК СтоимостьБУ,
| СУММА(ПрочиеРасходы.СтоимостьНУ) КАК СтоимостьНУ
|
|ПОМЕСТИТЬ ПрочиеРасходы
|
|ИЗ
| (ВЫБРАТЬ
| ПрочиеРасходы.АналитикаРасходов КАК НематериальныйАктив,
| ПрочиеРасходы.Организация КАК Организация,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.СтатьяРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И ПрочиеРасходы.СтатьяРасходов.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ПрочиеРасходы.СуммаУпрОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУУ,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.СтатьяРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И ПрочиеРасходы.СтатьяРасходов.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ПрочиеРасходы.СуммаРеглОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБУ,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.СтатьяРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И ПрочиеРасходы.СтатьяРасходов.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ПрочиеРасходы.СуммаРеглОстаток - ПрочиеРасходы.ПостояннаяРазницаОстаток - ПрочиеРасходы.ВременнаяРазницаОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьНУ
|
| ИЗ
| РегистрНакопления.ПрочиеРасходы.Остатки(
| &НачалоМесяца,
| (Организация = &Организация
| ИЛИ &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка))
| И СтатьяРасходов В (
| ВЫБРАТЬ
| ДоступныеСтатьи.Ссылка
| ИЗ
| ДоступныеСтатьи)
| ) КАК ПрочиеРасходы
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ПрочиеРасходы.АналитикаРасходов КАК НематериальныйАктив,
| ПрочиеРасходы.Организация КАК Организация,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.СтатьяРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И ПрочиеРасходы.СтатьяРасходов.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ВЫБОР
| КОГДА ПрочиеРасходы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ПрочиеРасходы.СуммаУпр
| ИНАЧЕ -ПрочиеРасходы.СуммаУпр
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУУ,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.СтатьяРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И ПрочиеРасходы.СтатьяРасходов.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ВЫБОР
| КОГДА ПрочиеРасходы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ПрочиеРасходы.СуммаРегл
| ИНАЧЕ -ПрочиеРасходы.СуммаРегл
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБУ,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.СтатьяРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И ПрочиеРасходы.СтатьяРасходов.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ВЫБОР
| КОГДА ПрочиеРасходы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ПрочиеРасходы.СуммаРегл
| ИНАЧЕ -ПрочиеРасходы.СуммаРегл
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьНУ
|
| ИЗ
| РегистрНакопления.ПрочиеРасходы КАК ПрочиеРасходы
| ГДЕ
| ПрочиеРасходы.Период МЕЖДУ &НачалоМесяца И &Дата
| И ПрочиеРасходы.Активность
|
| И (ПрочиеРасходы.Организация = &Организация
| ИЛИ &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка))
|
| И ПрочиеРасходы.СтатьяРасходов В (
| ВЫБРАТЬ
| ДоступныеСтатьи.Ссылка
| ИЗ
| ДоступныеСтатьи)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТаблицаТовары.АналитикаРасходов КАК НематериальныйАктив,
| ДанныеДокумента.Организация КАК Организация,
|
| 0 КАК СтоимостьУУ,
| 0 КАК СтоимостьБУ,
| 0 КАК СтоимостьНУ
|
| ИЗ
| Документ.ВнутреннееПотребление КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВнутреннееПотребление.Товары ТаблицаТовары
| ПО ТаблицаТовары.Ссылка = ДанныеДокумента.Ссылка
|
| ГДЕ
| ДанныеДокумента.Дата МЕЖДУ &НачалоМесяца И &Дата
| И ДанныеДокумента.Проведен
|
| И (ДанныеДокумента.Организация = &Организация
| ИЛИ &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка))
|
| И ТаблицаТовары.СтатьяРасходов В (
| ВЫБРАТЬ
| ДоступныеСтатьи.Ссылка
| ИЗ
| ДоступныеСтатьи)
|
| ) КАК ПрочиеРасходы
|
|ГДЕ
| ТИПЗНАЧЕНИЯ(ПрочиеРасходы.НематериальныйАктив) = ТИП(Справочник.НематериальныеАктивы)
| И ВЫРАЗИТЬ(ПрочиеРасходы.НематериальныйАктив КАК Справочник.НематериальныеАктивы).ВидОбъектаУчета = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовУчетаНМА.НематериальныйАктив)
|
|СГРУППИРОВАТЬ ПО
| ПрочиеРасходы.НематериальныйАктив,
| ПрочиеРасходы.Организация
|
|ИНДЕКСИРОВАТЬ ПО
| НематериальныйАктив
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПрочиеРасходы.НематериальныйАктив КАК НематериальныйАктив,
| МАКСИМУМ(ЕСТЬNULL(ПорядокУчетаНМАБУ.СостояниеБУ, ЗНАЧЕНИЕ(Перечисление.СостоянияНМА.НеПринятКУчету))) КАК СостояниеБУ,
| МАКСИМУМ(ЕСТЬNULL(ПорядокУчетаНМАБУ.СостояниеНУ, ЗНАЧЕНИЕ(Перечисление.СостоянияНМА.НеПринятКУчету))) КАК СостояниеНУ,
| МАКСИМУМ(ЕСТЬNULL(ПорядокУчетаНМАУУ.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияНМА.НеПринятКУчету))) КАК СостояниеУУ
|
|ПОМЕСТИТЬ СостояниеНМА
|
|ИЗ
| ПрочиеРасходы КАК ПрочиеРасходы
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПорядокУчетаНМАУУ.СрезПоследних(
| &Дата,
| НематериальныйАктив В
| (ВЫБРАТЬ
| ПрочиеРасходы.НематериальныйАктив
| ИЗ
| ПрочиеРасходы КАК ПрочиеРасходы)) КАК ПорядокУчетаНМАУУ
| ПО ПорядокУчетаНМАУУ.НематериальныйАктив = ПрочиеРасходы.НематериальныйАктив
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПорядокУчетаНМАБУ.СрезПоследних(
| &Дата,
| НематериальныйАктив В
| (ВЫБРАТЬ
| ПрочиеРасходы.НематериальныйАктив
| ИЗ
| ПрочиеРасходы КАК ПрочиеРасходы)) КАК ПорядокУчетаНМАБУ
| ПО ПорядокУчетаНМАБУ.НематериальныйАктив = ПрочиеРасходы.НематериальныйАктив
|
|СГРУППИРОВАТЬ ПО
| ПрочиеРасходы.НематериальныйАктив
|
|ИНДЕКСИРОВАТЬ ПО
| НематериальныйАктив
|;
|
|
|ВЫБРАТЬ
| ПрочиеРасходы.НематериальныйАктив КАК Ссылка,
|
| ПрочиеРасходы.Организация КАК Организация,
|
| ЕСТЬNULL(СостояниеНМА.СостояниеУУ, ЗНАЧЕНИЕ(Перечисление.СостоянияНМА.НеПринятКУчету)) КАК СостояниеУУ,
| ЕСТЬNULL(СостояниеНМА.СостояниеБУ, ЗНАЧЕНИЕ(Перечисление.СостоянияНМА.НеПринятКУчету)) КАК СостояниеБУ,
| ЕСТЬNULL(СостояниеНМА.СостояниеНУ, ЗНАЧЕНИЕ(Перечисление.СостоянияНМА.НеПринятКУчету)) КАК СостояниеНУ,
|
| ПрочиеРасходы.СтоимостьУУ КАК СтоимостьУУ,
| ПрочиеРасходы.СтоимостьБУ КАК СтоимостьБУ,
| ПрочиеРасходы.СтоимостьНУ КАК СтоимостьНУ
|
|ИЗ
| ПрочиеРасходы КАК ПрочиеРасходы
|
| ЛЕВОЕ СОЕДИНЕНИЕ СостояниеНМА КАК СостояниеНМА
| ПО ПрочиеРасходы.НематериальныйАктив = СостояниеНМА.НематериальныйАктив
|
|ГДЕ
| ПрочиеРасходы.СтоимостьУУ <> 0
| ИЛИ ПрочиеРасходы.СтоимостьБУ <> 0
|
|УПОРЯДОЧИТЬ ПО
| Организация,
| Ссылка";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("НачалоМесяца", НачалоМесяца(?(Параметры.Дата <> '000101010000', Параметры.Дата, ТекущаяДатаСеанса())));
Запрос.УстановитьПараметр("Дата", КонецДня(?(Параметры.Дата <> '000101010000', Параметры.Дата, ТекущаяДатаСеанса())));
Запрос.УстановитьПараметр("Организация", Параметры.Организация);
Результат = Запрос.Выполнить().Выгрузить();
Возврат Результат;
КонецФункции
#КонецОбласти
#Область Прочее
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
ПараметрыВыбораСтатьиИАналитики = Новый Массив;
ПринятиеКУчетуНМАЛокализация.ДополнитьПараметрыВыбораСтатейИАналитик(ПараметрыВыбораСтатьиИАналитики);
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходовБУ";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходовБУ";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходовБУ");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходовБУ");
ПараметрыВыбораСтатьиИАналитики.Добавить(ПараметрыВыбора);
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходовУУ";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходовУУ";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходовУУ");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходовУУ");
ПараметрыВыбораСтатьиИАналитики.Добавить(ПараметрыВыбора);
Возврат ПараметрыВыбораСтатьиИАналитики;
КонецФункции
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Ответственный";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Ответственный";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "СпособОтраженияРасходовБУ", Параметры);
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "СпособОтраженияРасходовНУ", Параметры);
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "СпособОтраженияРасходовУУ", Параметры);
КонецПроцедуры
#КонецОбласти
#Область ОбновлениеИнформационнойБазы
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
Обработчик = Обработчики.Добавить();
Обработчик.Процедура = "Документы.ПринятиеКУчетуНМА2_4.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.Версия = "2.5.25.92";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("300f41e6-6029-451d-8f0e-b5a1f807c520");
Обработчик.Многопоточный = Истина;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Документы.ПринятиеКУчетуНМА2_4.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.Порядок = Перечисления.ПорядокОбработчиковОбновления.Обычный;
Обработчик.Комментарий = НСтр("ru = 'Обновляет документы ""Принятие к учету НМА""'");
Обработчик.Комментарий = НСтр("ru = 'Обновляет документы ""Принятие к учету НМА"":
|- Заполняет реквизит ""Инвестиционный налоговый вычет""'");
Читаемые = Новый Массив;
Читаемые.Добавить(Метаданные.Документы.ПринятиеКУчетуНМА2_4.ПолноеИмя());
Обработчик.ЧитаемыеОбъекты = СтрСоединить(Читаемые, ",");
Изменяемые = Новый Массив;
Изменяемые.Добавить(Метаданные.Документы.ПринятиеКУчетуНМА2_4.ПолноеИмя());
Обработчик.ИзменяемыеОбъекты = СтрСоединить(Изменяемые, ",");
Блокируемые = Новый Массив;
Блокируемые.Добавить(Метаданные.Документы.ПринятиеКУчетуНМА2_4.ПолноеИмя());
Обработчик.БлокируемыеОбъекты = СтрСоединить(Блокируемые, ",");
КонецПроцедуры
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ПараметрыВыборки = Параметры.ПараметрыВыборки;
ПараметрыВыборки.ПолныеИменаОбъектов = "Документ.ПринятиеКУчетуНМА2_4";
ПараметрыВыборки.ПоляУпорядочиванияПриРаботеПользователей.Добавить("Ссылка.Дата УБЫВ");
ПараметрыВыборки.ПоляУпорядочиванияПриОбработкеДанных.Добавить("Ссылка");
ПараметрыВыборки.СпособВыборки = ОбновлениеИнформационнойБазы.СпособВыборкиСсылки();
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка
|ИЗ
| Документ.ПринятиеКУчетуНМА2_4 КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Дата >= ДАТАВРЕМЯ(2025,1,1)
| И ДанныеДокумента.ИнвестиционныйНалоговыйВычет = ЗНАЧЕНИЕ(Перечисление.ВариантыПримененияИНВ.ПустаяСсылка)
|";
Запрос = Новый Запрос(ТекстЗапроса);
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
КонецПроцедуры
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
Замер = ОценкаПроизводительности.НачатьЗамерДлительнойОперации(
"Документ.ПринятиеКУчетуНМА2_4.ОбработатьДанныеДляПереходаНаНовуюВерсию");
ПолноеИмяОбъекта = "Документ.ПринятиеКУчетуНМА2_4";
ОбновляемыеДанные = ОбновлениеИнформационнойБазы.ДанныеДляОбновленияВМногопоточномОбработчике(Параметры);
ПроблемныхОбъектов = 0;
ОбъектовОбработано = 0;
Для Каждого Документ Из ОбновляемыеДанные Цикл
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(ПолноеИмяОбъекта);
ЭлементБлокировки.УстановитьЗначение("Ссылка", Документ.Ссылка);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();
ДокументОбъект = Документ.Ссылка.ПолучитьОбъект();
Если ДокументОбъект = Неопределено Тогда
ЗафиксироватьТранзакцию();
Продолжить;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ДокументОбъект.ИнвестиционныйНалоговыйВычет)
И ДокументОбъект.Дата >= '20250101' Тогда
ДокументОбъект.ИнвестиционныйНалоговыйВычет = Перечисления.ВариантыПримененияИНВ.НеПрименяется;
КонецЕсли;
Если ДокументОбъект.Модифицированность() Тогда
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ДокументОбъект);
Иначе
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(ДокументОбъект.Ссылка);
КонецЕсли;
ОбъектовОбработано = ОбъектовОбработано + 1;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ПроблемныхОбъектов = ПроблемныхОбъектов + 1;
ОбновлениеИнформационнойБазыУТ.СообщитьОНеудачнойОбработке(ИнформацияОбОшибке(), Документ.Ссылка);
КонецПопытки;
КонецЦикла;
ВнеоборотныеАктивыСлужебный.ПроверитьВыполнениеОбработчика(
ПроблемныхОбъектов,
ОбъектовОбработано,
ПолноеИмяОбъекта);
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(Замер, ОбъектовОбработано);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли