#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("ОсновныеСредства");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("ОбесценениеВНА");
ПринятиеКУчетуОСЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ПринятиеКУчетуОС2_4") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ДопПараметры.ТолькоПомеченные = Регистры <> Неопределено;
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаМестонахождениеОС(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПорядокУчетаОС(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПорядокУчетаОСБУ(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПорядокУчетаОСУУ(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПараметрыАмортизацииОСБУ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПараметрыАмортизацииОСУУ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПервоначальныеСведенияОС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаАрендованныеОС(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаСтоимостьОС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаАмортизацияОС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаСоставЕГДС(Запрос, ТекстыЗапроса, Регистры);
ПринятиеКУчетуОСЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ТаблицыДвижений = ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
Возврат ТаблицыДвижений;
КонецФункции
Функция ТаблицыДвиженийРасчетаСтоимости(МенеджерВременныхТаблиц) Экспорт
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
ПолучитьДанныеДокумента(Запрос);
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализацииПоПериодам(Запрос, Запрос.Параметры,, "ВтСписокДокументов");
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения();
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
ТекстыЗапроса = Новый СписокЗначений;
ТекстЗапросаТаблицаСтоимостьОС(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаАмортизацияОС(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаПервоначальныеСведенияОС(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаПараметрыАмортизацииОСБУ(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаПараметрыАмортизацииОСУУ(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Неопределено);
ТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Неопределено);
ПринятиеКУчетуОСЛокализация.ТаблицыДвиженийРасчетаСтоимости(Запрос, ТекстыЗапроса);
ТаблицыДвижений = ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса);
Возврат ТаблицыДвижений;
КонецФункции
#КонецОбласти
#Область Команды
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ИзменениеПараметровОС2_4.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаСтоимостиИАмортизацииОС.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.СписаниеОС2_4.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Команда = ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если Команда <> Неопределено Тогда
Команда.ВидимостьВФормах = "ФормаСписка";
КонецЕсли;
ПринятиеКУчетуОСЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, Порядок = 0) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ПринятиеКУчетуОС2_4) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ПринятиеКУчетуОС2_4.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ПринятиеКУчетуОС2_4);
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьВнеоборотныеАктивы2_4";
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.Порядок = Порядок;
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
Если ПраваПользователяПовтИсп.ПечатьЭтикетокИЦенников() Тогда
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Обработчик = "ВнеоборотныеАктивыКлиент.ПечатьЭтикетокОбъектовЭксплуатацииИзДокумента";
КомандаПечати.МенеджерПечати = "";
КомандаПечати.Идентификатор = "Этикетки";
КомандаПечати.Представление = НСтр("ru = 'Этикетки'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КонецЕсли;
ПринятиеКУчетуОСЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
ПринятиеКУчетуОСЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
#Область РабочееМесто
Функция ДанныеРабочегоМеста(Параметры) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДоступныеСтатьи.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ДоступныеСтатьи
|
|ИЗ
| ПланВидовХарактеристик.СтатьиРасходов КАК ДоступныеСтатьи
|ГДЕ
| ДоступныеСтатьи.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И (ДоступныеСтатьи.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ИЛИ ДоступныеСтатьи.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы))
| И (ДоступныеСтатьи.РасходыНаОбъектыЭксплуатации
| ИЛИ ДоступныеСтатьи.РасходыНаОбъектыСтроительства)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПрочиеРасходы.ОсновноеСредство КАК ОсновноеСредство,
| ПрочиеРасходы.Организация КАК Организация,
|
| СУММА(ПрочиеРасходы.СтоимостьУпр) КАК СтоимостьУпр,
| СУММА(ПрочиеРасходы.СтоимостьРегл) КАК СтоимостьРегл
|
|ПОМЕСТИТЬ ПрочиеРасходы
|
|ИЗ
| (ВЫБРАТЬ
| ПрочиеРасходы.АналитикаРасходов КАК ОсновноеСредство,
| ПрочиеРасходы.Организация КАК Организация,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.СтатьяРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И ПрочиеРасходы.СтатьяРасходов.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ПрочиеРасходы.СуммаУпрОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.СтатьяРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И ПрочиеРасходы.СтатьяРасходов.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ПрочиеРасходы.СуммаРеглОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл
|
| ИЗ
| РегистрНакопления.ПрочиеРасходы.Остатки(
| &НачалоМесяца,
| (Организация = &Организация
| ИЛИ &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка))
| И СтатьяРасходов В (
| ВЫБРАТЬ
| ДоступныеСтатьи.Ссылка
| ИЗ
| ДоступныеСтатьи)
| ) КАК ПрочиеРасходы
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ПрочиеРасходы.АналитикаРасходов КАК ОсновноеСредство,
| ПрочиеРасходы.Организация КАК Организация,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.СтатьяРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И ПрочиеРасходы.СтатьяРасходов.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ВЫБОР
| КОГДА ПрочиеРасходы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ПрочиеРасходы.СуммаУпр
| ИНАЧЕ -ПрочиеРасходы.СуммаУпр
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.СтатьяРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И ПрочиеРасходы.СтатьяРасходов.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| ТОГДА ВЫБОР
| КОГДА ПрочиеРасходы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ПрочиеРасходы.СуммаРегл
| ИНАЧЕ -ПрочиеРасходы.СуммаРегл
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл
|
| ИЗ
| РегистрНакопления.ПрочиеРасходы КАК ПрочиеРасходы
| ГДЕ
| ПрочиеРасходы.Период МЕЖДУ &НачалоМесяца И &Дата
| И ПрочиеРасходы.Активность
|
| И (ПрочиеРасходы.Организация = &Организация
| ИЛИ &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка))
|
| И ПрочиеРасходы.СтатьяРасходов В (
| ВЫБРАТЬ
| ДоступныеСтатьи.Ссылка
| ИЗ
| ДоступныеСтатьи)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТаблицаТовары.АналитикаРасходов КАК ОсновноеСредство,
| ДанныеДокумента.Организация КАК Организация,
|
| 0 КАК СтоимостьУпр,
| 0 КАК СтоимостьРегл
|
| ИЗ
| Документ.ВнутреннееПотребление КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВнутреннееПотребление.Товары ТаблицаТовары
| ПО ТаблицаТовары.Ссылка = ДанныеДокумента.Ссылка
|
| ГДЕ
| ДанныеДокумента.Дата МЕЖДУ &НачалоМесяца И &Дата
| И ДанныеДокумента.Проведен
|
| И (ДанныеДокумента.Организация = &Организация
| ИЛИ &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка))
|
| И ТаблицаТовары.СтатьяРасходов В (
| ВЫБРАТЬ
| ДоступныеСтатьи.Ссылка
| ИЗ
| ДоступныеСтатьи)
|
| ) КАК ПрочиеРасходы
|
|ГДЕ
| ТИПЗНАЧЕНИЯ(ПрочиеРасходы.ОсновноеСредство) В (
| ТИП(Справочник.ОбъектыЭксплуатации),
| ТИП(Справочник.ОбъектыСтроительства))
|
|СГРУППИРОВАТЬ ПО
| ПрочиеРасходы.ОсновноеСредство,
| ПрочиеРасходы.Организация
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПрочиеРасходы.ОсновноеСредство КАК ОсновноеСредство,
| МАКСИМУМ(ЕСТЬNULL(ПорядокУчетаОСБУ.СостояниеБУ, ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету))) КАК СостояниеРегл,
| МАКСИМУМ(ЕСТЬNULL(ПорядокУчетаОСУУ.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету))) КАК СостояниеУпр
|
|ПОМЕСТИТЬ СостояниеОС
|
|ИЗ
| ПрочиеРасходы КАК ПрочиеРасходы
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПорядокУчетаОСУУ.СрезПоследних(&КонецМесяца, ОсновноеСредство В
| (ВЫБРАТЬ
| ПрочиеРасходы.ОсновноеСредство
| ИЗ
| ПрочиеРасходы КАК ПрочиеРасходы)) КАК ПорядокУчетаОСУУ
| ПО ПорядокУчетаОСУУ.ОсновноеСредство = ПрочиеРасходы.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПорядокУчетаОСБУ.СрезПоследних(&КонецМесяца, ОсновноеСредство В
| (ВЫБРАТЬ
| ПрочиеРасходы.ОсновноеСредство
| ИЗ
| ПрочиеРасходы КАК ПрочиеРасходы)) КАК ПорядокУчетаОСБУ
| ПО ПорядокУчетаОСБУ.ОсновноеСредство = ПрочиеРасходы.ОсновноеСредство
|
|СГРУППИРОВАТЬ ПО
| ПрочиеРасходы.ОсновноеСредство
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ПрочиеРасходы.ОсновноеСредство КАК Ссылка,
| ЕСТЬNULL(ОбъектыЭксплуатации.Представление, ОбъектыСтроительства.Представление) КАК СсылкаПредставление,
| ПрочиеРасходы.Организация КАК Организация,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.ОсновноеСредство ССЫЛКА Справочник.ОбъектыЭксплуатации
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыАналитикиКапитализацииРасходов.ОсновныеСредства)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыАналитикиКапитализацииРасходов.ОбъектСтроительства)
| КОНЕЦ КАК ВидАналитикиКапитализацииРасходов,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.ОсновноеСредство ССЫЛКА Справочник.ОбъектыЭксплуатации
| ТОГДА ПрочиеРасходы.ОсновноеСредство.ТипОС
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыОС.ПустаяСсылка)
| КОНЕЦ КАК ТипОС,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.ОсновноеСредство ССЫЛКА Справочник.ОбъектыЭксплуатации
| ТОГДА ЕСТЬNULL(СостояниеОС.СостояниеУпр, ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету))
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПустаяСсылка)
| КОНЕЦ КАК СостояниеУпр,
|
| ВЫБОР
| КОГДА ПрочиеРасходы.ОсновноеСредство ССЫЛКА Справочник.ОбъектыЭксплуатации
| ТОГДА ЕСТЬNULL(СостояниеОС.СостояниеРегл, ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету))
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПустаяСсылка)
| КОНЕЦ КАК СостояниеРегл,
|
| ПрочиеРасходы.СтоимостьУпр КАК СтоимостьУпр,
| ПрочиеРасходы.СтоимостьРегл КАК СтоимостьРегл
|
|ИЗ
| ПрочиеРасходы КАК ПрочиеРасходы
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыЭксплуатации КАК ОбъектыЭксплуатации
| ПО ОбъектыЭксплуатации.Ссылка = ПрочиеРасходы.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыСтроительства КАК ОбъектыСтроительства
| ПО ОбъектыСтроительства.Ссылка = ПрочиеРасходы.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ СостояниеОС КАК СостояниеОС
| ПО ПрочиеРасходы.ОсновноеСредство = СостояниеОС.ОсновноеСредство
|
|УПОРЯДОЧИТЬ ПО
| СсылкаПредставление
|";
НаДату = ?(Параметры.Дата <> '000101010000', Параметры.Дата, ТекущаяДатаСеанса());
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("НачалоМесяца", НачалоМесяца(НаДату));
Запрос.УстановитьПараметр("КонецМесяца", КонецМесяца(НаДату));
Запрос.УстановитьПараметр("Дата", КонецДня(НаДату));
Запрос.УстановитьПараметр("Организация", Параметры.Организация);
Результат = Запрос.Выполнить().Выгрузить();
Возврат Результат;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
Процедура ЗаполнитьСтоимость(Объект, ВыбранныеСтроки = Неопределено) Экспорт
Если НЕ РасчетСебестоимостиПовтИсп.ФормироватьДвиженияПоРегистрамСебестоимости(Объект.Дата) Тогда
Возврат;
КонецЕсли;
ДатаДокумента = ?(Объект.Дата <> '000101010000', Объект.Дата, ТекущаяДатаСеанса());
ТаблицаОС = Объект.ОС.Выгрузить(ВыбранныеСтроки);
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаОС.НомерСтроки КАК НомерСтроки,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаОС.СтоимостьУУ КАК СтоимостьУУ,
| ТаблицаОС.СтоимостьБУ КАК СтоимостьБУ,
| ТаблицаОС.СтоимостьНУ КАК СтоимостьНУ,
| ТаблицаОС.СуммаЦелевыхСредств КАК СуммаЦелевыхСредств,
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ТаблицаОС
|
|ИЗ
| &ТаблицаОС КАК ТаблицаОС
|
|ГДЕ
| ТаблицаОС.ОсновноеСредство <> ЗНАЧЕНИЕ(Справочник.ОбъектыЭксплуатации.ПустаяСсылка)
|;
|
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Дата КАК Дата,
| &Организация КАК Организация,
| &ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| &ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ТаблицаОС.ОсновноеСредство КАК ОбъектУчета,
| 1 КАК Приоритет
|
|ПОМЕСТИТЬ ВтПорцияДанныхКРасчету
|
|ИЗ
| ТаблицаОС КАК ТаблицаОС
|;
|
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Дата КАК Дата,
| &Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
|
| ТаблицаОС.НомерСтроки КАК НомерСтроки,
| ТаблицаОС.ОсновноеСредство КАК ОбъектУчета,
|
| ВЫБОР
| КОГДА &ВидАналитикиКапитализацииРасходов = ЗНАЧЕНИЕ(Перечисление.ВидыАналитикиКапитализацииРасходов.ОбъектСтроительства)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК РасходыРаспределяютсяПоОбъектам,
|
| ВЫБОР
| КОГДА &ВидАналитикиКапитализацииРасходов = ЗНАЧЕНИЕ(Перечисление.ВидыАналитикиКапитализацииРасходов.ОбъектСтроительства)
| ТОГДА &ОбъектСтроительства
| ИНАЧЕ ТаблицаОС.ОсновноеСредство
| КОНЕЦ КАК АналитикаКапитализацииРасходов,
|
| &ЧастичныйВводВЭксплуатацию
| ИЛИ &ПорядокУчетаУУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.АмортизацияНачислена)
| ИЛИ &ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена)
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуОСпоИнвентаризации) КАК ФактическаяСтоимость,
|
| ТаблицаОС.СтоимостьУУ КАК СтоимостьУУ,
| ТаблицаОС.СтоимостьБУ КАК СтоимостьБУ,
| ТаблицаОС.СтоимостьНУ КАК СтоимостьНУ,
|
| &ВариантПримененияЦелевогоФинансирования КАК ВариантПримененияЦелевогоФинансирования,
| ТаблицаОС.СуммаЦелевыхСредств КАК СуммаЦелевыхСредств,
| ТаблицаОС.СтоимостьНУ КАК ПервоначальнаяСтоимостьНУ,
|
| &ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| &ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| &ОтражатьВБУ КАК ОтражатьВБУ,
| &ОтражатьВНУ КАК ОтражатьВНУ,
| &ОтражатьВБУ КАК УчестьПР,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ВтТаблицаОбъектов
|
|ИЗ
| ТаблицаОС КАК ТаблицаОС
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Запрос.УстановитьПараметр("Дата", ДатаДокумента);
Запрос.УстановитьПараметр("Организация", Объект.Организация);
Запрос.УстановитьПараметр("ВидАналитикиКапитализацииРасходов", Объект.ВидАналитикиКапитализацииРасходов);
Запрос.УстановитьПараметр("ОбъектСтроительства", Объект.ОбъектСтроительства);
Запрос.УстановитьПараметр("ЧастичныйВводВЭксплуатацию", Объект.ЧастичныйВводВЭксплуатацию);
Запрос.УстановитьПараметр("ПорядокУчетаУУ", Объект.ПорядокУчетаУУ);
Запрос.УстановитьПараметр("ПорядокУчетаБУ", Объект.ПорядокУчетаБУ);
Запрос.УстановитьПараметр("ХозяйственнаяОперация", Объект.ХозяйственнаяОперация);
Запрос.УстановитьПараметр("ВариантПримененияЦелевогоФинансирования", Объект.ВариантПримененияЦелевогоФинансирования);
Запрос.УстановитьПараметр("ОтражатьВУпрУчете", Объект.ОтражатьВУпрУчете);
Запрос.УстановитьПараметр("ОтражатьВРеглУчете", Объект.ОтражатьВРеглУчете);
Запрос.УстановитьПараметр("ОтражатьВБУ", Объект.ОтражатьВБУ);
Запрос.УстановитьПараметр("ОтражатьВНУ", Объект.ОтражатьВНУ);
Запрос.УстановитьПараметр("ТаблицаОС", ТаблицаОС);
Запрос.Выполнить();
РасчетСтоимостиВНА.СформироватьВтТекущиеРасходы(ДатаДокумента, МенеджерВременныхТаблиц);
ТекстЗапроса =
"ВЫБРАТЬ
| ВтТекущиеРасходы.ОбъектУчета КАК ОбъектУчета,
| СУММА(ВтТекущиеРасходы.СуммаУпр) КАК СуммаУпр,
| СУММА(ВтТекущиеРасходы.СуммаРегл) КАК СуммаРегл,
| СУММА(ВтТекущиеРасходы.СуммаРегл - ВтТекущиеРасходы.ПостояннаяРазница - ВтТекущиеРасходы.ВременнаяРазница) КАК СуммаНУ
|ИЗ
| ВтТекущиеРасходы КАК ВтТекущиеРасходы
|
|СГРУППИРОВАТЬ ПО
| ВтТекущиеРасходы.ОбъектУчета
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Результат = Запрос.Выполнить();
РасходыПоДокументу = Результат.Выгрузить();
Если ВыбранныеСтроки <> Неопределено Тогда
СписокСтрок = ВыбранныеСтроки;
Иначе
СписокСтрок = Объект.ОС;
КонецЕсли;
Для каждого ДанныеСтроки Из СписокСтрок Цикл
СтруктураПоиска = Новый Структура("ОбъектУчета", ДанныеСтроки.ОсновноеСредство);
СписокСтрокРасходы = РасходыПоДокументу.НайтиСтроки(СтруктураПоиска);
Если СписокСтрокРасходы.Количество() <> 0 Тогда
Если Объект.ОтражатьВУпрУчете Тогда
ДанныеСтроки.СтоимостьУУ = СписокСтрокРасходы[0].СуммаУпр;
КонецЕсли;
Если Объект.ОтражатьВБУ Тогда
ДанныеСтроки.СтоимостьБУ = СписокСтрокРасходы[0].СуммаРегл;
КонецЕсли;
Если Объект.ОтражатьВНУ Тогда
ДанныеСтроки.СтоимостьНУ = СписокСтрокРасходы[0].СуммаНУ;
КонецЕсли;
Иначе
ДанныеСтроки.СтоимостьУУ = 0;
ДанныеСтроки.СтоимостьБУ = 0;
ДанныеСтроки.СтоимостьНУ = 0;
КонецЕсли;
КонецЦикла;
ПринятиеКУчетуОСЛокализация.ЗаполнитьСтоимость(Объект, СписокСтрок, ТаблицаОС);
КонецПроцедуры
Функция ПредставлениеРеквизитов(Организация) Экспорт
ПредставлениеРеквизитов = Новый Соответствие;
ВалютаУпр = Константы.ВалютаУправленческогоУчета.Получить();
ВалютаРегл = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Организация);
ВалютаУпрПредставление = Строка(ВалютаУпр);
ВалютаРеглПредставление = Строка(ВалютаРегл);
ПредставлениеРеквизитов.Вставить(
"ОС.СтоимостьБУ",
?(ЗначениеЗаполнено(ВалютаРегл),
СтрШаблон(НСтр("ru = 'Стоимость регл. (%1)'"), ВалютаРеглПредставление),
НСтр("ru = 'Стоимость регл.'")));
ПредставлениеРеквизитов.Вставить("ОС.СтоимостьУУ", СтрШаблон(НСтр("ru = 'Стоимость упр. (%1)'"), ВалютаУпрПредставление));
ПредставлениеРеквизитов.Вставить(
"ОС.ЛиквидационнаяСтоимостьРегл",
?(ЗначениеЗаполнено(ВалютаРегл),
СтрШаблон(НСтр("ru = 'Ликвидационная стоимость регл. (%1)'"), ВалютаРеглПредставление),
НСтр("ru = 'Ликвидационная стоимость регл.'")));
ПредставлениеРеквизитов.Вставить("ОС.ЛиквидационнаяСтоимость", СтрШаблон(НСтр("ru = 'Ликвидационная стоимость упр. (%1)'"), ВалютаУпрПредставление));
Возврат ПредставлениеРеквизитов;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.ПринятиеКУчетуОС2_4";
ТекстыЗапросаВременныхТаблиц = Новый Соответствие();
ЗначенияПараметров = ЗначенияПараметровПроведения();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("Партнер", "ДанныеДокумента.Договор.Партнер");
ПереопределениеРасчетаПараметров.Вставить("Контрагент", "ДанныеДокумента.Договор.Контрагент");
ВЗапросеЕстьИсточник = Истина;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
ИначеЕсли ИмяРегистра = "ДокументыПоОС" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстЗапроса = ПринятиеКУчетуОСЛокализация.АдаптированныйТекстЗапросаДвиженийПоРегистру(
ИмяРегистра, ПереопределениеРасчетаПараметров, СинонимТаблицыДокумента);
КонецЕсли;
Если ТекстЗапроса = Неопределено Тогда
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов"
ИЛИ ИмяРегистра = "ДокументыПоОС" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры)
ПроведениеДокументов.ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
СформироватьТаблицуВтСписокДокументов(Запрос);
ПолучитьДанныеДокумента(Запрос);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения(Реквизиты);
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализацииПоПериодам(Запрос, Запрос.Параметры,, "ВтСписокДокументов");
КонецПроцедуры
Процедура СформироватьТаблицуВтСписокДокументов(Запрос)
Запрос.Текст =
"ВЫБРАТЬ
| СписокДокументов.Ссылка КАК Ссылка,
| СписокДокументов.Организация КАК Организация,
| СписокДокументов.Дата КАК Период
|
|ПОМЕСТИТЬ ВтСписокДокументов
|
|ИЗ
| Документ.ПринятиеКУчетуОС2_4 КАК СписокДокументов
|
|ГДЕ
| СписокДокументов.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
Запрос.Выполнить();
КонецПроцедуры
Процедура ПолучитьДанныеДокумента(Запрос)
СписокЗапросов = Новый Массив;
#Область ДанныеДокументаРеквизиты
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ДанныеДокумента.Договор.Партнер КАК Партнер,
| ДанныеДокумента.Договор.Контрагент КАК Контрагент,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.Местонахождение КАК Местонахождение,
| ДанныеДокумента.МОЛ КАК МОЛ,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.ОтражатьВБУ КАК ОтражатьВБУ,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеДокумента.ОбъектСтроительства КАК ОбъектСтроительства,
| ДанныеДокумента.ВидАналитикиКапитализацииРасходов КАК ВидАналитикиКапитализацииРасходов,
| ДанныеДокумента.ПорядокУчетаБУ КАК ПорядокУчетаБУ,
| ДанныеДокумента.ПорядокУчетаУУ КАК ПорядокУчетаУУ,
| ДанныеДокумента.АдресМестонахождения КАК АдресМестонахождения,
| ДанныеДокумента.АдресМестонахожденияЗначение КАК АдресМестонахожденияЗначение,
| ДанныеДокумента.НачислятьАмортизациюБУ КАК НачислятьАмортизациюБУ,
| ДанныеДокумента.НачислятьАмортизациюУУ КАК НачислятьАмортизациюУУ,
| ДанныеДокумента.СобытиеОС КАК СобытиеОС,
| ДанныеДокумента.СрокИспользованияБУ КАК СрокИспользованияБУ,
| ДанныеДокумента.СрокИспользованияУУ КАК СрокИспользованияУУ,
| ДанныеДокумента.КоэффициентУскоренияБУ КАК КоэффициентУскоренияБУ,
| ДанныеДокумента.КоэффициентУскоренияУУ КАК КоэффициентУскоренияУУ,
|
| ВЫБОР КОГДА ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.Линейный)
| ИНАЧЕ ДанныеДокумента.МетодНачисленияАмортизацииБУ
| КОНЕЦ КАК МетодНачисленияАмортизацииБУ,
|
| ВЫБОР
| КОГДА
| ДанныеДокумента.ПорядокУчетаУУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислитьАмортизациюПриПринятииКУчету)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.Линейный)
| ИНАЧЕ ДанныеДокумента.МетодНачисленияАмортизацииУУ
| КОНЕЦ КАК МетодНачисленияАмортизацииУУ,
|
| ДанныеДокумента.РежимИсправленияСПрошлойДаты КАК РежимИсправленияСПрошлойДаты,
|
| ВЫБОР
| КОГДА ДанныеДокумента.РежимИсправленияСПрошлойДаты
| ТОГДА ДанныеДокумента.ДатаПринятияКУчету
| ИНАЧЕ ДанныеДокумента.Дата
| КОНЕЦ КАК ДатаПринятияКУчету,
|
| ДанныеДокумента.СпособОтраженияРасходовБУ КАК СпособОтраженияРасходовБУ,
| ДанныеДокумента.СтатьяРасходовБУ КАК СтатьяРасходовБУ,
| ДанныеДокумента.СтатьяРасходовБУ.ВариантРаспределенияРасходовРегл КАК ВариантРаспределенияРасходовРегл,
| ДанныеДокумента.АналитикаРасходовБУ КАК АналитикаРасходовБУ,
| ДанныеДокумента.ПодразделениеБУ КАК ПодразделениеБУ,
| ДанныеДокумента.НаправлениеДеятельностиБУ КАК НаправлениеДеятельностиБУ,
| ДанныеДокумента.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ КАК ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.ВключениеВРасходыПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаНУ
|
| ИНАЧЕ ДанныеДокумента.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ
|
| КОНЕЦ КАК ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.СпособОтраженияРасходовБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.ВключениеВРасходыПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.СпособОтраженияРасходовНУ
|
| ИНАЧЕ ДанныеДокумента.СпособОтраженияРасходовУУ
|
| КОНЕЦ КАК СпособОтраженияРасходовУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислитьАмортизациюПриПринятииКУчету)
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
|
| ТОГДА ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.СтатьяРасходовБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.ВключениеВРасходыПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.СтатьяРасходовНУ
|
| ИНАЧЕ ДанныеДокумента.СтатьяРасходовУУ
|
| КОНЕЦ КАК СтатьяРасходовУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислитьАмортизациюПриПринятииКУчету)
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
|
| ТОГДА НЕОПРЕДЕЛЕНО
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.АналитикаРасходовБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.ВключениеВРасходыПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.АналитикаРасходовНУ
|
| ИНАЧЕ ДанныеДокумента.АналитикаРасходовУУ
|
| КОНЕЦ КАК АналитикаРасходовУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.ПодразделениеБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.ВключениеВРасходыПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.ПодразделениеНУ
|
| ИНАЧЕ ДанныеДокумента.ПодразделениеУУ
|
| КОНЕЦ КАК ПодразделениеУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислитьАмортизациюПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.НаправлениеДеятельностиБУ
|
| КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ОтражатьВРеглУчете
| И (ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.НачислениеАмортизации)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.ВключениеВРасходыПриПринятииКУчету)
| ИЛИ ДанныеДокумента.ПорядокУчетаНУ = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.АмортизацияНачислена))
|
| ТОГДА ДанныеДокумента.НаправлениеДеятельностиНУ
|
| ИНАЧЕ ДанныеДокумента.НаправлениеДеятельностиУУ
|
| КОНЕЦ КАК НаправлениеДеятельностиУУ,
|
| ВЫБОР КОГДА ДанныеДокумента.СтатьяРасходовУУ = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ДанныеДокумента.СтатьяРасходовБУ.ВариантРаспределенияРасходовУпр
| ИНАЧЕ ДанныеДокумента.СтатьяРасходовУУ.ВариантРаспределенияРасходовУпр
| КОНЕЦ КАК ВариантРаспределенияРасходовУпр,
|
| ДанныеДокумента.ЕГДС КАК ЕГДС,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации,
|
| 0 КАК НомерПакета,
|
| &ПринятиеКУчетуОС_РеквизитыДокумента
|
|ПОМЕСТИТЬ ДанныеДокументаРеквизиты
|
|ИЗ
| Документ.ПринятиеКУчетуОС2_4 КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|
|ГДЕ
| ДанныеДокумента.Ссылка В (
| ВЫБРАТЬ
| ВтСписокДокументов.Ссылка
| ИЗ
| ВтСписокДокументов КАК ВтСписокДокументов)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
ПринятиеКУчетуОСЛокализация.ДобавитьВТекстЗапросаРеквизитыДокумента(ТекстЗапроса, "ДанныеДокумента");
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ДанныеДокументаТаблицаОС
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаДокумента.ОсновноеСредство КАК ОбъектУчета,
|
| ТаблицаДокумента.СтоимостьУУ КАК СтоимостьУУ,
| ТаблицаДокумента.СтоимостьБУ КАК СтоимостьБУ,
| ТаблицаДокумента.СтоимостьНУ КАК СтоимостьНУ,
| ТаблицаДокумента.СтоимостьПР КАК СтоимостьПР,
| ТаблицаДокумента.СтоимостьВР КАК СтоимостьВР,
|
| ТаблицаДокумента.СуммаЦелевыхСредств КАК СуммаЦелевыхСредств,
| ТаблицаДокумента.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ТаблицаДокумента.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
| ТаблицаДокумента.ПоказательНаработки КАК ПоказательНаработки,
| ТаблицаДокумента.ОбъемНаработки КАК ОбъемНаработки
|
|ПОМЕСТИТЬ ДанныеДокументаТаблицаОС
|
|ИЗ
| Документ.ПринятиеКУчетуОС2_4.ОС КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (
| ВЫБРАТЬ
| ВтСписокДокументов.Ссылка
| ИЗ
| ВтСписокДокументов КАК ВтСписокДокументов)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| ОсновноеСредство
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.Выполнить();
КонецПроцедуры
Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)
ЗначенияПараметровПроведения = Новый Структура;
ВнеоборотныеАктивыСлужебный.ЗначенияПараметровПроведенияПринятияКУчетуОС(ЗначенияПараметровПроведения);
ПринятиеКУчетуОСЛокализация.ЗначенияПараметровПроведения(ЗначенияПараметровПроведения);
ЗначенияПараметровПроведения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ПринятиеКУчетуОС2_4"));
ЗначенияПараметровПроведения.Вставить("НазваниеДокумента", НСтр("ru='Принятие к учету ОС'"));
ЗначенияПараметровПроведения.Вставить("ВедетсяРегламентированныйУчетВНА", ВнеоборотныеАктивыСлужебный.ВедетсяРегламентированныйУчетВНА());
ЗначенияПараметровПроведения.Вставить("ИдентификаторНеиспользуемойФинЗаписи", ПроведениеДокументов.ИдентификаторНеиспользуемойФинЗаписи());
Если Реквизиты <> Неопределено Тогда
ЗначенияПараметровПроведения.Вставить("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
КонецЕсли;
Возврат ЗначенияПараметровПроведения;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК ДатаДокументаИБ,
| ДанныеДокумента.Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Договор.Партнер КАК Партнер,
| ДанныеДокумента.Договор.Контрагент КАК Контрагент,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Местонахождение КАК Подразделение,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| ДанныеДокумента.Дата КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| ЛОЖЬ КАК СторноИсправление,
| НЕОПРЕДЕЛЕНО КАК СторнируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ДанныеДокумента.Дата КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|
|ИЗ
| Документ.ПринятиеКУчетуОС2_4 КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДокументыПоОС";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаОС.НомерСтроки-1, 0) КАК НомерЗаписи,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Местонахождение КАК Подразделение,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &ИдентификаторМетаданных КАК ТипСсылки,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.СобытиеОС КАК СобытиеОС,
| ДанныеДокумента.РежимИсправленияСПрошлойДаты КАК ЭтоИсправление,
|
| ВЫБОР
| КОГДА ДанныеДокумента.РежимИсправленияСПрошлойДаты
| ТОГДА ДанныеДокумента.ДатаПринятияКУчету
| ИНАЧЕ ДАТАВРЕМЯ(1,1,1)
| КОНЕЦ КАК НачалоПериодаИсправления,
|
| ВЫБОР
| КОГДА ДанныеДокумента.РежимИсправленияСПрошлойДаты
| ТОГДА НАЧАЛОПЕРИОДА(КОНЕЦПЕРИОДА(ДанныеДокумента.Дата, МЕСЯЦ), ДЕНЬ)
| ИНАЧЕ ДАТАВРЕМЯ(1,1,1)
| КОНЕЦ КАК КонецПериодаИсправления,
|
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство
|
|ИЗ
| Документ.ПринятиеКУчетуОС2_4 КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4.ОС КАК ТаблицаОС
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаМестонахождениеОС(ТекстыЗапроса, Регистры)
ИмяРегистра = "МестонахождениеОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ДанныеДокумента.МОЛ КАК МОЛ,
| ДанныеДокумента.Местонахождение КАК Местонахождение,
| ДанныеДокумента.АдресМестонахождения КАК АдресМестонахождения,
| ДанныеДокумента.АдресМестонахожденияЗначение КАК АдресМестонахожденияЗначение,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.ДатаПринятияКУчету КАК Период,
| ДанныеДокумента.Период КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ДанныеДокумента.МОЛ КАК МОЛ,
| ДанныеДокумента.Местонахождение КАК Местонахождение,
| ДанныеДокумента.АдресМестонахождения КАК АдресМестонахождения,
| ДанныеДокумента.АдресМестонахожденияЗначение КАК АдресМестонахожденияЗначение,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.РежимИсправленияСПрошлойДаты
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПорядокУчетаОС(ТекстыЗапроса, Регистры)
ИмяРегистра = "ПорядокУчетаОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса = ПринятиеКУчетуОСЛокализация.ТекстЗапросаТаблицаПорядокУчетаОС();
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ТаблицаОС.ПоказательНаработки КАК ПоказательНаработки,
| ТаблицаОС.ОбъемНаработки КАК ОбъемНаработки,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| (ДанныеДокумента.ОтражатьВБУ
| ИЛИ ДанныеДокумента.ОтражатьВУпрУчете)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.ДатаПринятияКУчету КАК Период,
| ДанныеДокумента.Период КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ТаблицаОС.ПоказательНаработки КАК ПоказательНаработки,
| ТаблицаОС.ОбъемНаработки КАК ОбъемНаработки,
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.РежимИсправленияСПрошлойДаты
| И (ДанныеДокумента.ОтражатьВБУ
| ИЛИ ДанныеДокумента.ОтражатьВУпрУчете)
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПорядокУчетаОСБУ(ТекстыЗапроса, Регистры)
ИмяРегистра = "ПорядокУчетаОСБУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОСБУ(ТекстыЗапроса);
ТекстЗапроса = ПринятиеКУчетуОСЛокализация.ТекстЗапросаТаблицаПорядокУчетаОСБУ();
Если ТекстЗапроса = Неопределено Тогда
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтУчетнаяПолитикаФинансовогоУчета(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету) КАК СостояниеБУ,
| ДанныеДокумента.НачислятьАмортизациюБУ КАК НачислятьАмортизациюБУ,
| ДанныеДокумента.СпособОтраженияРасходовБУ КАК СпособОтраженияРасходовБУ,
| ДанныеДокумента.СтатьяРасходовБУ КАК СтатьяРасходовБУ,
| ДанныеДокумента.АналитикаРасходовБУ КАК АналитикаРасходовБУ,
| ДанныеДокумента.ПодразделениеБУ КАК ПодразделениеБУ,
| ДанныеДокумента.НаправлениеДеятельностиБУ КАК НаправлениеДеятельностиБУ
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.ОтражатьВБУ
| И ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.ДатаПринятияКУчету КАК Период,
| ДанныеДокумента.Период КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету) КАК СостояниеБУ,
| ДанныеДокумента.НачислятьАмортизациюБУ КАК НачислятьАмортизациюБУ,
| ДанныеДокумента.СпособОтраженияРасходовБУ КАК СпособОтраженияРасходовБУ,
| ДанныеДокумента.СтатьяРасходовБУ КАК СтатьяРасходовБУ,
| ДанныеДокумента.АналитикаРасходовБУ КАК АналитикаРасходовБУ,
| ДанныеДокумента.ПодразделениеБУ КАК ПодразделениеБУ,
| ДанныеДокумента.НаправлениеДеятельностиБУ КАК НаправлениеДеятельностиБУ
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.ОтражатьВБУ
| И ДанныеДокумента.РежимИсправленияСПрошлойДаты
| И ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету) КАК СостояниеБУ,
|
| ДанныеДокумента.НачислятьАмортизациюУУ КАК НачислятьАмортизациюБУ,
| ДанныеДокумента.СпособОтраженияРасходовУУ КАК СпособОтраженияРасходовБУ,
| ДанныеДокумента.СтатьяРасходовУУ КАК СтатьяРасходовБУ,
| ДанныеДокумента.АналитикаРасходовУУ КАК АналитикаРасходовБУ,
| ДанныеДокумента.ПодразделениеУУ КАК ПодразделениеБУ,
| ДанныеДокумента.НаправлениеДеятельностиУУ КАК НаправлениеДеятельностиБУ
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.ДатаПринятияКУчету КАК Период,
| ДанныеДокумента.Период КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету) КАК СостояниеБУ,
|
| ДанныеДокумента.НачислятьАмортизациюУУ КАК НачислятьАмортизациюБУ,
| ДанныеДокумента.СпособОтраженияРасходовУУ КАК СпособОтраженияРасходовБУ,
| ДанныеДокумента.СтатьяРасходовУУ КАК СтатьяРасходовБУ,
| ДанныеДокумента.АналитикаРасходовУУ КАК АналитикаРасходовБУ,
| ДанныеДокумента.ПодразделениеУУ КАК ПодразделениеБУ,
| ДанныеДокумента.НаправлениеДеятельностиУУ КАК НаправлениеДеятельностиБУ
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.РежимИсправленияСПрошлойДаты
| И ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПорядокУчетаОСУУ(ТекстыЗапроса, Регистры)
ИмяРегистра = "ПорядокУчетаОСУУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса = ПринятиеКУчетуОСЛокализация.ТекстЗапросаТаблицаПорядокУчетаОСУУ();
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету) КАК Состояние,
| ДанныеДокумента.НачислятьАмортизациюУУ КАК НачислятьАмортизацию,
| ДанныеДокумента.СпособОтраженияРасходовУУ КАК СпособОтраженияРасходов,
| ДанныеДокумента.СтатьяРасходовУУ КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходовУУ КАК АналитикаРасходов,
| ДанныеДокумента.ПодразделениеУУ КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельностиУУ КАК НаправлениеДеятельности
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.ДатаПринятияКУчету КАК Период,
| ДанныеДокумента.Период КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету) КАК Состояние,
| ДанныеДокумента.НачислятьАмортизациюУУ КАК НачислятьАмортизацию,
| ДанныеДокумента.СпособОтраженияРасходовУУ КАК СпособОтраженияРасходов,
| ДанныеДокумента.СтатьяРасходовУУ КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходовУУ КАК АналитикаРасходов,
| ДанныеДокумента.ПодразделениеУУ КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельностиУУ КАК НаправлениеДеятельности
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.РежимИсправленияСПрошлойДаты
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПараметрыАмортизацииОСБУ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПараметрыАмортизацииОСБУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПараметрыАмортизацииОСБУ(ТекстыЗапроса);
РасчетСтоимостиВНА.ДобавитьПустыеТаблицыРасчетаСтоимости(Запрос, ТекстыЗапроса);
ТекстЗапроса = ПринятиеКУчетуОСЛокализация.ТекстЗапросаТаблицаПараметрыАмортизацииОСБУ();
Если ТекстЗапроса = Неопределено Тогда
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтУчетнаяПолитикаФинансовогоУчета(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.ДатаПринятияКУчету
| ИНАЧЕ втПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения
| КОНЕЦ КАК ДатаПоследнегоИзменения,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.СрокИспользованияБУ
| ИНАЧЕ втПараметрыАмортизацииОСБУ.СрокПолезногоИспользованияБУ
| КОНЕЦ КАК СрокПолезногоИспользованияБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.КоэффициентУскоренияБУ
| ИНАЧЕ втПараметрыАмортизацииОСБУ.КоэффициентУскорения
| КОНЕЦ КАК КоэффициентУскорения,
|
| ВЫБОР
| КОГДА ДанныеДокумента.МетодНачисленияАмортизацииБУ = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ТаблицаОС.ОбъемНаработки
| ИНАЧЕ втПараметрыАмортизацииОСБУ.ОбъемПродукцииРаботДляВычисленияАмортизации
| КОНЕЦ КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.СрокИспользованияБУ
| ИНАЧЕ втПараметрыАмортизацииОСБУ.СрокИспользованияДляВычисленияАмортизации
| КОНЕЦ КАК СрокИспользованияДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ТаблицаОС.СтоимостьБУ)
| ИНАЧЕ втПараметрыАмортизацииОСБУ.СтоимостьДляВычисленияАмортизации
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ТаблицаОС.ЛиквидационнаяСтоимостьРегл
| ИНАЧЕ втПараметрыАмортизацииОСБУ.ЛиквидационнаяСтоимость
| КОНЕЦ КАК ЛиквидационнаяСтоимость
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПараметрыАмортизацииОСБУ КАК втПараметрыАмортизацииОСБУ
| ПО втПараметрыАмортизацииОСБУ.Ссылка = ТаблицаОС.Ссылка
| И втПараметрыАмортизацииОСБУ.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ТаблицаОС.Ссылка
| И РасчетСтоимости.ОбъектУчета = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.ОтражатьВРеглУчете
| И ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.ДатаПринятияКУчету КАК Период,
| ДанныеДокумента.Период КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.ДатаПринятияКУчету
| ИНАЧЕ втПараметрыАмортизацииОСБУ.ДатаПоследнегоИзменения
| КОНЕЦ КАК ДатаПоследнегоИзменения,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.СрокИспользованияБУ
| ИНАЧЕ втПараметрыАмортизацииОСБУ.СрокПолезногоИспользованияБУ
| КОНЕЦ КАК СрокПолезногоИспользованияБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.КоэффициентУскоренияБУ
| ИНАЧЕ втПараметрыАмортизацииОСБУ.КоэффициентУскорения
| КОНЕЦ КАК КоэффициентУскорения,
|
| ВЫБОР
| КОГДА ДанныеДокумента.МетодНачисленияАмортизацииБУ = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ТаблицаОС.ОбъемНаработки
| ИНАЧЕ втПараметрыАмортизацииОСБУ.ОбъемПродукцииРаботДляВычисленияАмортизации
| КОНЕЦ КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.СрокИспользованияБУ
| ИНАЧЕ втПараметрыАмортизацииОСБУ.СрокИспользованияДляВычисленияАмортизации
| КОНЕЦ КАК СрокИспользованияДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ТаблицаОС.СтоимостьБУ)
| ИНАЧЕ втПараметрыАмортизацииОСБУ.СтоимостьДляВычисленияАмортизации
| КОНЕЦ КАК СтоимостьДляВычисленияАмортизации,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ТаблицаОС.ЛиквидационнаяСтоимостьРегл
| ИНАЧЕ втПараметрыАмортизацииОСБУ.ЛиквидационнаяСтоимость
| КОНЕЦ КАК ЛиквидационнаяСтоимость
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПараметрыАмортизацииОСБУ КАК втПараметрыАмортизацииОСБУ
| ПО втПараметрыАмортизацииОСБУ.Ссылка = ТаблицаОС.Ссылка
| И втПараметрыАмортизацииОСБУ.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ТаблицаОС.Ссылка
| И РасчетСтоимости.ОбъектУчета = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.ОтражатьВРеглУчете
| И ДанныеДокумента.РежимИсправленияСПрошлойДаты
| И ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ДанныеДокумента.Период КАК ДатаПоследнегоИзменения,
|
| ДанныеДокумента.СрокИспользованияУУ КАК СрокПолезногоИспользованияБУ,
|
| ДанныеДокумента.КоэффициентУскоренияУУ КАК КоэффициентУскорения,
|
| ВЫБОР
| КОГДА ДанныеДокумента.МетодНачисленияАмортизацииБУ = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ТаблицаОС.ОбъемНаработки
| ИНАЧЕ 0
| КОНЕЦ КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ДанныеДокумента.СрокИспользованияУУ КАК СрокИспользованияДляВычисленияАмортизации,
|
| ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ТаблицаОС.СтоимостьБУ) КАК СтоимостьДляВычисленияАмортизации,
|
| ТаблицаОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимость
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ТаблицаОС.Ссылка
| И РасчетСтоимости.ОбъектУчета = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.ДатаПринятияКУчету КАК Период,
| ДанныеДокумента.Период КАК ДатаИсправления,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ДанныеДокумента.Период КАК ДатаПоследнегоИзменения,
|
| ДанныеДокумента.СрокИспользованияУУ КАК СрокПолезногоИспользованияБУ,
|
| ДанныеДокумента.КоэффициентУскоренияУУ КАК КоэффициентУскорения,
|
| ВЫБОР
| КОГДА ДанныеДокумента.МетодНачисленияАмортизацииБУ = ЗНАЧЕНИЕ(Перечисление.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции)
| ТОГДА ТаблицаОС.ОбъемНаработки
| ИНАЧЕ 0
| КОНЕЦ КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
|
| ДанныеДокумента.СрокИспользованияУУ КАК СрокИспользованияДляВычисленияАмортизации,
|
| ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ТаблицаОС.СтоимостьБУ) КАК СтоимостьДляВычисленияАмортизации,
|
| ТаблицаОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимость
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ТаблицаОС.Ссылка
| И РасчетСтоимости.ОбъектУчета = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.РежимИсправленияСПрошлойДаты
| И ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПараметрыАмортизацииОСУУ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПараметрыАмортизацииОСУУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
РасчетСтоимостиВНА.ДобавитьПустыеТаблицыРасчетаСтоимости(Запрос, ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаИсправления,
| ДанныеДокумента.ДатаПринятияКУчету КАК ДатаПоследнегоИзменения,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ДанныеДокумента.СрокИспользованияУУ КАК СрокИспользования,
| ДанныеДокумента.СрокИспользованияУУ КАК СрокИспользованияДляВычисленияАмортизации,
| ТаблицаОС.ОбъемНаработки КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ДанныеДокумента.КоэффициентУскоренияУУ КАК КоэффициентУскорения,
| ДанныеДокумента.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизации,
|
| ТаблицаОС.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ТаблицаОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
|
| ЕСТЬNULL(РасчетСтоимости.СуммаУУ, ТаблицаОС.СтоимостьУУ) КАК СтоимостьДляВычисленияАмортизации,
| ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ТаблицаОС.СтоимостьБУ) КАК СтоимостьДляВычисленияАмортизацииРегл
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ТаблицаОС.Ссылка
| И РасчетСтоимости.ОбъектУчета = ТаблицаОС.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.ДатаПринятияКУчету КАК Период,
| ДанныеДокумента.Период КАК ДатаИсправления,
| ДанныеДокумента.ДатаПринятияКУчету КАК ДатаПоследнегоИзменения,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ДанныеДокумента.СрокИспользованияУУ КАК СрокИспользования,
| ДанныеДокумента.СрокИспользованияУУ КАК СрокИспользованияДляВычисленияАмортизации,
| ТаблицаОС.ОбъемНаработки КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
| ДанныеДокумента.КоэффициентУскоренияУУ КАК КоэффициентУскорения,
| ДанныеДокумента.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизации,
|
| ТаблицаОС.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| ТаблицаОС.ЛиквидационнаяСтоимостьРегл КАК ЛиквидационнаяСтоимостьРегл,
|
| ЕСТЬNULL(РасчетСтоимости.СуммаУУ, ТаблицаОС.СтоимостьУУ) КАК СтоимостьДляВычисленияАмортизации,
| ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ТаблицаОС.СтоимостьБУ) КАК СтоимостьДляВычисленияАмортизацииРегл
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ТаблицаОС.Ссылка
| И РасчетСтоимости.ОбъектУчета = ТаблицаОС.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| И ДанныеДокумента.РежимИсправленияСПрошлойДаты
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Функция ТекстЗапросаТаблицаПервоначальныеСведенияОС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПервоначальныеСведенияОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
РасчетСтоимостиВНА.ДобавитьПустыеТаблицыРасчетаСтоимости(Запрос, ТекстыЗапроса);
ТекстЗапроса = ПринятиеКУчетуОСЛокализация.ТекстЗапросаТаблицаПервоначальныеСведенияОС(Запрос, ТекстыЗапроса);
Если ТекстЗапроса = Неопределено Тогда
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПервоначальныеСведенияОС(ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтУчетнаяПолитикаФинансовогоУчета(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаИсправления,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ДанныеДокумента.Организация КАК Организация,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| И ДанныеДокумента.ПорядокУчетаБУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НеПриниматьКУчетуВключитьВРасходы)
| ТОГДА ДанныеДокумента.ДатаПринятияКУчету
| ИНАЧЕ ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюБУ
| КОНЕЦ КАК ДатаВводаВЭксплуатациюБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| ТОГДА ДанныеДокумента.ДатаПринятияКУчету
| ИНАЧЕ ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ
| КОНЕЦ КАК ДатаВводаВЭксплуатациюУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| И ДанныеДокумента.ПорядокУчетаБУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НеПриниматьКУчетуВключитьВРасходы)
| ТОГДА ДанныеДокумента.Ссылка
| ИНАЧЕ ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ
| КОНЕЦ КАК ДокументВводаВЭксплуатациюБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| ТОГДА ДанныеДокумента.Ссылка
| ИНАЧЕ ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюУУ
| КОНЕЦ КАК ДокументВводаВЭксплуатациюУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.МетодНачисленияАмортизацииБУ
| ИНАЧЕ ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ
| КОНЕЦ КАК МетодНачисленияАмортизацииБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.ПорядокУчетаБУ
| ИНАЧЕ ПервоначальныеСведенияОС.ПорядокУчетаБУ
| КОНЕЦ КАК ПорядокУчетаБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ДанныеДокумента.ПорядокУчетаУУ
| ИНАЧЕ ПервоначальныеСведенияОС.ПорядокУчетаУУ
| КОНЕЦ КАК ПорядокУчетаУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| И ДанныеДокумента.ПорядокУчетаБУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НеПриниматьКУчетуВключитьВРасходы)
| ТОГДА ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ТаблицаОС.СтоимостьБУ)
| ИНАЧЕ ПервоначальныеСведенияОС.ПервоначальнаяСтоимостьБУ
| КОНЕЦ КАК ПервоначальнаяСтоимостьБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| ТОГДА ЕСТЬNULL(РасчетСтоимости.СуммаУУ, ТаблицаОС.СтоимостьУУ)
| ИНАЧЕ ПервоначальныеСведенияОС.ПервоначальнаяСтоимостьУУ
| КОНЕЦ КАК ПервоначальнаяСтоимостьУУ
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
| ПО ПервоначальныеСведенияОС.Ссылка = ТаблицаОС.Ссылка
| И ПервоначальныеСведенияОС.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ТаблицаОС.Ссылка
| И РасчетСтоимости.ОбъектУчета = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| (ДанныеДокумента.ОтражатьВРеглУчете
| И ДанныеДокумента.ПорядокУчетаБУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НеПриниматьКУчетуВключитьВРасходы)
| ИЛИ ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы))
|
| И ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.ДатаПринятияКУчету КАК Период,
| ДанныеДокумента.Период КАК ДатаИсправления,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ДанныеДокумента.Организация КАК Организация,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| И ДанныеДокумента.ПорядокУчетаБУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НеПриниматьКУчетуВключитьВРасходы)
| ТОГДА ДанныеДокумента.ДатаПринятияКУчету
| ИНАЧЕ ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюБУ
| КОНЕЦ КАК ДатаВводаВЭксплуатациюБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| ТОГДА ДанныеДокумента.ДатаПринятияКУчету
| ИНАЧЕ ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюУУ
| КОНЕЦ КАК ДатаВводаВЭксплуатациюУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| И ДанныеДокумента.ПорядокУчетаБУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НеПриниматьКУчетуВключитьВРасходы)
| ТОГДА ДанныеДокумента.Ссылка
| ИНАЧЕ ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ
| КОНЕЦ КАК ДокументВводаВЭксплуатациюБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| И ДанныеДокумента.ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| ТОГДА ДанныеДокумента.Ссылка
| ИНАЧЕ ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюУУ
| КОНЕЦ КАК ДокументВводаВЭксплуатациюУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.МетодНачисленияАмортизацииБУ
| ИНАЧЕ ПервоначальныеСведенияОС.МетодНачисленияАмортизацииБУ
| КОНЕЦ КАК МетодНачисленияАмортизацииБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| ТОГДА ДанныеДокумента.ПорядокУчетаБУ
| ИНАЧЕ ПервоначальныеСведенияОС.ПорядокУчетаБУ
| КОНЕЦ КАК ПорядокУчетаБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ДанныеДокумента.ПорядокУчетаУУ
| ИНАЧЕ ПервоначальныеСведенияОС.ПорядокУчетаУУ
| КОНЕЦ КАК ПорядокУчетаУУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВБУ
| И ДанныеДокумента.ПорядокУчетаБУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НеПриниматьКУчетуВключитьВРасходы)
| ТОГДА ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ТаблицаОС.СтоимостьБУ)
| ИНАЧЕ ПервоначальныеСведенияОС.ПервоначальнаяСтоимостьБУ
| КОНЕЦ КАК ПервоначальнаяСтоимостьБУ,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА ЕСТЬNULL(РасчетСтоимости.СуммаУУ, ТаблицаОС.СтоимостьУУ)
| ИНАЧЕ ПервоначальныеСведенияОС.ПервоначальнаяСтоимостьУУ
| КОНЕЦ КАК ПервоначальнаяСтоимостьУУ
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
| ПО ПервоначальныеСведенияОС.Ссылка = ТаблицаОС.Ссылка
| И ПервоначальныеСведенияОС.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ТаблицаОС.Ссылка
| И РасчетСтоимости.ОбъектУчета = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.РежимИсправленияСПрошлойДаты
| И ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаИсправления,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ДанныеДокумента.Организация КАК Организация,
|
| ДанныеДокумента.ДатаПринятияКУчету КАК ДатаВводаВЭксплуатациюБУ,
| ДанныеДокумента.ДатаПринятияКУчету КАК ДатаВводаВЭксплуатациюУУ,
|
| ДанныеДокумента.Ссылка КАК ДокументВводаВЭксплуатациюБУ,
| ДанныеДокумента.Ссылка КАК ДокументВводаВЭксплуатациюУУ,
|
| ДанныеДокумента.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизацииБУ,
|
| ВЫБОР ДанныеДокумента.ПорядокУчетаУУ
| КОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| КОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеНачислятьАмортизацию)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.СтоимостьНеПогашается)
| КОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.АмортизацияНачислена)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена)
| КОНЕЦ КАК ПорядокУчетаБУ,
|
| ДанныеДокумента.ПорядокУчетаУУ КАК ПорядокУчетаУУ,
|
| ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ТаблицаОС.СтоимостьБУ) КАК ПервоначальнаяСтоимостьБУ,
| ЕСТЬNULL(РасчетСтоимости.СуммаУУ, ТаблицаОС.СтоимостьУУ) КАК ПервоначальнаяСтоимостьУУ
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ТаблицаОС.Ссылка
| И РасчетСтоимости.ОбъектУчета = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.ДатаПринятияКУчету КАК Период,
| ДанныеДокумента.Период КАК ДатаИсправления,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ДанныеДокумента.Организация КАК Организация,
|
| ДанныеДокумента.ДатаПринятияКУчету КАК ДатаВводаВЭксплуатациюБУ,
| ДанныеДокумента.ДатаПринятияКУчету КАК ДатаВводаВЭксплуатациюУУ,
|
| ДанныеДокумента.Ссылка КАК ДокументВводаВЭксплуатациюБУ,
| ДанныеДокумента.Ссылка КАК ДокументВводаВЭксплуатациюУУ,
|
| ДанныеДокумента.МетодНачисленияАмортизацииУУ КАК МетодНачисленияАмортизацииБУ,
|
| ВЫБОР ДанныеДокумента.ПорядокУчетаУУ
| КОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации)
| КОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеНачислятьАмортизацию)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.СтоимостьНеПогашается)
| КОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.АмортизацияНачислена)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена)
| КОНЕЦ КАК ПорядокУчетаБУ,
|
| ДанныеДокумента.ПорядокУчетаУУ КАК ПорядокУчетаУУ,
|
| ЕСТЬNULL(РасчетСтоимости.СуммаБУ, ТаблицаОС.СтоимостьБУ) КАК ПервоначальнаяСтоимостьБУ,
| ЕСТЬNULL(РасчетСтоимости.СуммаУУ, ТаблицаОС.СтоимостьУУ) КАК ПервоначальнаяСтоимостьУУ
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ТаблицаОС.Ссылка
| И РасчетСтоимости.ОбъектУчета = ТаблицаОС.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтУчетнаяПолитикаФинансовогоУчета КАК ВтУчетнаяПолитикаФинансовогоУчета
| ПО ВтУчетнаяПолитикаФинансовогоУчета.Ссылка = ТаблицаОС.Ссылка
|
|ГДЕ
| ДанныеДокумента.РежимИсправленияСПрошлойДаты
| И ЕСТЬNULL(ВтУчетнаяПолитикаФинансовогоУчета.ПорядокУчетаВНАРегл, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаВНАРегл.Независимый)
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаАрендованныеОС(ТекстыЗапроса, Регистры)
ИмяРегистра = "АрендованныеОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтАрендованныеОС(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| втАрендованныеОС.Стоимость КАК Стоимость,
| втАрендованныеОС.НоминальнаяСтоимость КАК НоминальнаяСтоимость,
| втАрендованныеОС.Партнер КАК Партнер,
| втАрендованныеОС.Контрагент КАК Контрагент,
| втАрендованныеОС.Договор КАК Договор,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ВАренде) КАК Состояние
|
|ИЗ
| ДанныеДокументаТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ втАрендованныеОС КАК втАрендованныеОС
| ПО втАрендованныеОС.Ссылка = ТаблицаОС.Ссылка
| И втАрендованныеОС.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаСтоимостьОС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "СтоимостьОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
РасчетСтоимостиВНА.ДобавитьПустыеТаблицыРасчетаСтоимости(Запрос, ТекстыЗапроса);
ТекстЗапроса = ПринятиеКУчетуОСЛокализация.ТекстЗапросаТаблицаСтоимостьОС(Запрос, ТекстыЗапроса);
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Местонахождение КАК Подразделение,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ПорядокУчетаБУ = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.АмортизацияНачислена)
| ИЛИ ДанныеДокумента.ПорядокУчетаУУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.АмортизацияНачислена)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПринятиеКУчетуСамортизированногоОС)
| ИНАЧЕ ДанныеДокумента.ХозяйственнаяОперация
| КОНЕЦ КАК ХозяйственнаяОперация,
|
| ДанныеДокумента.ОтражатьВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.ОтражатьВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.ВидАналитикиКапитализацииРасходов КАК ВидАналитикиКапитализацииРасходов,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
|
| ВЫБОР
| КОГДА ДанныеДокумента.ВидАналитикиКапитализацииРасходов = ЗНАЧЕНИЕ(Перечисление.ВидыАналитикиКапитализацииРасходов.ОбъектСтроительства)
| ТОГДА ДанныеДокумента.ОбъектСтроительства
| ИНАЧЕ ТаблицаОС.ОсновноеСредство
| КОНЕЦ КАК АналитикаКапитализацииРасходов,
|
| ЕСТЬNULL(ВтРасчетСтоимости.Подразделение, НЕОПРЕДЕЛЕНО) КАК КорПодразделение,
| ЕСТЬNULL(ВтРасчетСтоимости.НаправлениеДеятельности, НЕОПРЕДЕЛЕНО) КАК КорНаправлениеДеятельности,
| ЕСТЬNULL(ВтРасчетСтоимости.СтатьяРасходов, НЕОПРЕДЕЛЕНО) КАК КорСтатьяРасходов,
| ЕСТЬNULL(ВтРасчетСтоимости.АналитикаРасходов, НЕОПРЕДЕЛЕНО) КАК КорАналитикаРасходов,
| НЕ ВтРасчетСтоимости.ОбъектУчета ЕСТЬ NULL КАК РасчетСтоимости,
|
| ВЫБОР
| КОГДА НЕ ДанныеДокумента.ОтражатьВУпрУчете
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(ВтРасчетСтоимости.СуммаУУ, ТаблицаОС.СтоимостьУУ)
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР
| КОГДА НЕ ДанныеДокумента.ОтражатьВБУ
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(ВтРасчетСтоимости.СуммаБУ, ТаблицаОС.СтоимостьБУ)
| КОНЕЦ КАК СтоимостьРегл,
|
| 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 КАК ОстатокОбесцененияУпр,
| НЕОПРЕДЕЛЕНО КАК ПорядокУчетаУУ,
| НЕОПРЕДЕЛЕНО КАК ПорядокУчетаБУ,
| НЕОПРЕДЕЛЕНО КАК ПорядокНачисленияАмортизацииУУ,
| НЕОПРЕДЕЛЕНО КАК ПорядокНачисленияАмортизацииБУ,
| НЕОПРЕДЕЛЕНО КАК ВариантПроводокПоОбесценениюВНА,
| ЛОЖЬ КАК ЭтоДоначисление,
| ЛОЖЬ КАК ЭтоДоначислениеБУ,
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРасчетСтоимостиСгруппированная КАК РасчетСтоимости
| ПО РасчетСтоимости.Ссылка = ТаблицаОС.Ссылка
| И РасчетСтоимости.ОбъектУчета = ТаблицаОС.ОсновноеСредство
|
|ГДЕ
| ДанныеДокумента.ПорядокУчетаУУ = ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислитьАмортизациюПриПринятииКУчету)
| И РасчетСтоимости.СуммаУУ > ТаблицаОС.СтоимостьУУ
|";
Документы.АмортизацияОС2_4.ТекстЗапросаВтНачисленнаяАмортизация(ТекстыЗапроса, ТекстПодзапроса, Истина);
КонецПроцедуры
#КонецОбласти
#Область ПроведениеПоРеглУчету
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат ПринятиеКУчетуОСЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат ПринятиеКУчетуОСЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
#Область Печать
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПринятиеКУчетуОСЛокализация.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
КонецПроцедуры
Функция ПолучитьДанныеДляПечатнойФормыОС1(ПараметрыПечати, МассивОбъектов) Экспорт
Возврат ПринятиеКУчетуОСЛокализация.ПолучитьДанныеДляПечатнойФормыОС1(ПараметрыПечати, МассивОбъектов);
КонецФункции
Функция ДанныеДляПечатиЭтикеток(МассивДокументов) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаОС.НомерСтроки КАК НомерСтроки
|ИЗ
| Документ.ПринятиеКУчетуОС2_4.ОС КАК ТаблицаОС
|ГДЕ
| ТаблицаОС.Ссылка В(&МассивДокументов)
|
|УПОРЯДОЧИТЬ ПО
| ТаблицаОС.НомерСтроки";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("МассивДокументов", МассивДокументов);
РезультатЗапроса = Запрос.Выполнить();
МассивОбъектов = РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("ОсновноеСредство");
Возврат МассивОбъектов;
КонецФункции
#КонецОбласти
#Область Заполнение
Функция ЗаполнитьНаОснованииЗаключенияДоговораАренды(Объект, Основание) Экспорт
Если Не ЗначениеЗаполнено(Основание) Тогда
Объект.ДокументОснование = Неопределено;
Объект.ДокументНаОсновании = Ложь;
Возврат Неопределено;
КонецЕсли;
Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды;
Объект.ДокументОснование = Основание;
Объект.ДокументНаОсновании = Истина;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Местонахождение,
| ДанныеДокумента.Ссылка КАК ДокументОснование,
| ДанныеДокумента.Дата КАК ДатаОснования,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.Договор.Балансодержатель КАК Балансодержатель,
| ДанныеДокумента.Договор.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Договор.УчитыватьПредметыАрендыВРеглУчете КАК ОтражатьВБУ,
| ЛОЖЬ КАК ОтражатьВНУ,
| ДанныеДокумента.Договор.УчитыватьПредметыАрендыВРеглУчете КАК ОтражатьВРеглУчете,
| ДанныеДокумента.Договор.УчитыватьПредметыАрендыВУпрУчете КАК ОтражатьВУпрУчете,
| ДанныеДокумента.Договор.НалогообложениеНДС КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.ИзДокумента) КАК ВариантРаздельногоУчетаНДС
|
|ИЗ
| Документ.ЗаключениеДоговораАренды КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Основание
|;
|
|
|ВЫБРАТЬ
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство
|ИЗ
| Документ.ЗаключениеДоговораАренды.ОС КАК ТаблицаОС
|
|ГДЕ
| ТаблицаОС.Ссылка = &Основание
|
|УПОРЯДОЧИТЬ ПО
| ТаблицаОС.НомерСтроки
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Основание", Объект.ДокументОснование);
Пакет = Запрос.ВыполнитьПакет();
Выборка = Пакет[0].Выбрать();
Если НЕ Выборка.Следующий() Тогда
Возврат Неопределено;
КонецЕсли;
Если Выборка.Балансодержатель = Перечисления.БалансодержательПредметовАренды.Арендодатель
И НЕ УчетАрендованныхОС.ИспользуетсяУчетАрендыПоФСБУ25_2018(Выборка.Организация, Объект.Дата) Тогда
ТекстОшибки = НСтр("ru = 'Принятие к учету основных средств, учитываемых на балансе арендодателя, не предусмотрено'");
Возврат ТекстОшибки;
КонецЕсли;
ЗаполнитьЗначенияСвойств(Объект, Выборка);
Если НачалоДня(Выборка.ДатаОснования) = НачалоДня(ТекущаяДатаСеанса())
И Объект.Дата < Выборка.ДатаОснования Тогда
Объект.Дата = Выборка.ДатаОснования + 1;
КонецЕсли;
Выборка = Пакет[1].Выбрать();
Объект.ОС.Очистить();
Пока Выборка.Следующий() Цикл
ЗаполнитьЗначенияСвойств(Объект.ОС.Добавить(), Выборка);
КонецЦикла;
ЗаполнитьСтоимость(Объект);
ПринятиеКУчетуОСЛокализация.ЗаполнитьНаОснованииЗаключенияДоговораАренды(Объект, Основание);
Возврат Неопределено;
КонецФункции
Функция ЗаполнитьНаОснованииИзмененияУсловийДоговораАренды(Объект, Основание) Экспорт
Если Не ЗначениеЗаполнено(Основание) Тогда
Объект.ДокументОснование = Неопределено;
Объект.ДокументНаОсновании = Ложь;
Возврат Неопределено;
КонецЕсли;
Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды;
Объект.ДокументОснование = Основание;
Объект.ДокументНаОсновании = Истина;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Договор.Подразделение КАК Местонахождение,
| ДанныеДокумента.Ссылка КАК ДокументОснование,
| ДанныеДокумента.Дата КАК ДатаОснования,
| ВЫБОР КОГДА ДанныеДокумента.НовыйДоговор = ЗНАЧЕНИЕ(Справочник.ДоговорыАренды.ПустаяСсылка) ТОГДА
| ДанныеДокумента.Договор
| ИНАЧЕ ДанныеДокумента.НовыйДоговор КОНЕЦ КАК Договор,
| ВЫБОР КОГДА ДанныеДокумента.НовыйДоговор = ЗНАЧЕНИЕ(Справочник.ДоговорыАренды.ПустаяСсылка) ТОГДА
| ДанныеДокумента.Договор.Балансодержатель
| ИНАЧЕ ДанныеДокумента.НовыйДоговор.Балансодержатель КОНЕЦ КАК Балансодержатель,
| ВЫБОР КОГДА ДанныеДокумента.НовыйДоговор = ЗНАЧЕНИЕ(Справочник.ДоговорыАренды.ПустаяСсылка) ТОГДА
| ДанныеДокумента.Договор.НаправлениеДеятельности
| ИНАЧЕ ДанныеДокумента.НовыйДоговор.НаправлениеДеятельности КОНЕЦ КАК НаправлениеДеятельности,
| ВЫБОР КОГДА ДанныеДокумента.НовыйДоговор = ЗНАЧЕНИЕ(Справочник.ДоговорыАренды.ПустаяСсылка) ТОГДА
| ДанныеДокумента.Договор.УчитыватьПредметыАрендыВРеглУчете
| ИНАЧЕ ДанныеДокумента.НовыйДоговор.УчитыватьПредметыАрендыВРеглУчете КОНЕЦ КАК ОтражатьВБУ,
| ЛОЖЬ КАК ОтражатьВНУ,
| ВЫБОР КОГДА ДанныеДокумента.НовыйДоговор = ЗНАЧЕНИЕ(Справочник.ДоговорыАренды.ПустаяСсылка) ТОГДА
| ДанныеДокумента.Договор.УчитыватьПредметыАрендыВРеглУчете
| ИНАЧЕ ДанныеДокумента.НовыйДоговор.УчитыватьПредметыАрендыВРеглУчете КОНЕЦ КАК ОтражатьВРеглУчете,
| ВЫБОР КОГДА ДанныеДокумента.НовыйДоговор = ЗНАЧЕНИЕ(Справочник.ДоговорыАренды.ПустаяСсылка) ТОГДА
| ДанныеДокумента.Договор.УчитыватьПредметыАрендыВУпрУчете
| ИНАЧЕ ДанныеДокумента.НовыйДоговор.УчитыватьПредметыАрендыВУпрУчете КОНЕЦ КАК ОтражатьВУпрУчете,
| ВЫБОР КОГДА ДанныеДокумента.НовыйДоговор = ЗНАЧЕНИЕ(Справочник.ДоговорыАренды.ПустаяСсылка) ТОГДА
| ДанныеДокумента.Договор.НалогообложениеНДС
| ИНАЧЕ ДанныеДокумента.НовыйДоговор.НалогообложениеНДС КОНЕЦ КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.ИзДокумента) КАК ВариантРаздельногоУчетаНДС
|ИЗ
| Документ.ИзменениеУсловийДоговораАренды КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Основание
|;
|
|
|ВЫБРАТЬ
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство
|ИЗ
| Документ.ИзменениеУсловийДоговораАренды.ОС КАК ТаблицаОС
|
|ГДЕ
| ТаблицаОС.Ссылка = &Основание
| И ТаблицаОС.ДействиеСПредметомАренды = ЗНАЧЕНИЕ(Перечисление.ДействияСПредметамиАренды.ВзятиеВАренду)
|
|УПОРЯДОЧИТЬ ПО
| ТаблицаОС.НомерСтроки
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Основание", Объект.ДокументОснование);
Пакет = Запрос.ВыполнитьПакет();
Выборка = Пакет[0].Выбрать();
Если НЕ Выборка.Следующий() Тогда
Возврат Неопределено;
КонецЕсли;
Если Выборка.Балансодержатель = Перечисления.БалансодержательПредметовАренды.Арендодатель
И НЕ УчетАрендованныхОСЛокализация.ИспользуетсяУчетАрендыПоФСБУ25_2018(Выборка.Организация, Объект.Дата) Тогда
ТекстОшибки = НСтр("ru = 'Принятие к учету основных средств, учитываемых на балансе арендодателя, не предусмотрено'");
Возврат ТекстОшибки;
КонецЕсли;
Если Пакет[1].Пустой() Тогда
ТекстОшибки = НСтр("ru = 'В документе нет основных средств, которые необходимо принять к учету'");
Возврат ТекстОшибки;
КонецЕсли;
ЗаполнитьЗначенияСвойств(Объект, Выборка);
Если НачалоДня(Выборка.ДатаОснования) = НачалоДня(ТекущаяДатаСеанса())
И Объект.Дата < Выборка.ДатаОснования Тогда
Объект.Дата = Выборка.ДатаОснования + 1;
КонецЕсли;
Выборка = Пакет[1].Выбрать();
Объект.ОС.Очистить();
Пока Выборка.Следующий() Цикл
ЗаполнитьЗначенияСвойств(Объект.ОС.Добавить(), Выборка);
КонецЦикла;
ЗаполнитьСтоимость(Объект);
ПринятиеКУчетуОСЛокализация.ЗаполнитьНаОснованииИзмененияУсловийДоговораАренды(Объект, Основание);
Возврат Неопределено;
КонецФункции
#КонецОбласти
#Область Прочее
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
ПараметрыВыбораСтатьиИАналитики = Новый Массив;
ПринятиеКУчетуОСЛокализация.ДополнитьПараметрыВыбораСтатейИАналитик(ПараметрыВыбораСтатьиИАналитики);
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходовБУ";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходовБУ";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходовБУ");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходовБУ");
ПараметрыВыбораСтатьиИАналитики.Добавить(ПараметрыВыбора);
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходовУУ";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходовУУ";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходовУУ");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходовУУ");
ПараметрыВыбораСтатьиИАналитики.Добавить(ПараметрыВыбора);
Возврат ПараметрыВыбораСтатьиИАналитики;
КонецФункции
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Ответственный";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Ответственный";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "СпособОтраженияРасходовБУ", Параметры);
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "СпособОтраженияРасходовНУ", Параметры);
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "СпособОтраженияРасходовУУ", Параметры);
КонецПроцедуры
#КонецОбласти
#Область ОбновлениеИнформационнойБазы
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
Обработчик = Обработчики.Добавить();
Обработчик.Процедура = "Документы.ПринятиеКУчетуОС2_4.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.Версия = "2.5.25.92";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("91a1bcf2-75a9-4983-9424-0a46fc3c1ce9");
Обработчик.Многопоточный = Истина;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Документы.ПринятиеКУчетуОС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;
ОбновлениеИнформационнойБазыУТ.СообщитьОНеудачнойОбработке(ИнформацияОбОшибке(), Документ.Ссылка);
КонецПопытки;
КонецЦикла;
ВнеоборотныеАктивыСлужебный.ПроверитьВыполнениеОбработчика(
ПроблемныхОбъектов,
ОбъектовОбработано,
ПолноеИмяОбъекта);
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(Замер, ОбъектовОбработано);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли