#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("ОсновныеСредства");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("ФинансовыеИнструменты");
МеханизмыДокумента.Добавить("УчетИмпорта");
ЗаключениеДоговораАрендыЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ЗаключениеДоговораАренды") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
СформироватьВтКурсы(ТекстыЗапроса);
ТекстЗапросаТаблицаПрочиеРасходы(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеДоходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивы(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРасчетыПоФинансовымИнструментам(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПорядокУчетаОС(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаМестонахождениеОС(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаСтоимостьОС(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПервоначальныеСведенияОС(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаАрендованныеОС(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаУсловияДоговоровАренды(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаГрафикОплатУслугПоАренде(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаГрафикНачисленияУслугПоАренде(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаГрафикНачисленияПроцентовПоАренде(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДокументыПоОС(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(ТекстыЗапроса, Регистры);
ЗаключениеДоговораАрендыЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
#Область УчетНДС
Функция ПараметрыЗаполненияВидаДеятельностиНДС(Объект) Экспорт
РеквизитыДоговора = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.Договор, "НаправлениеДеятельности,Балансодержатель");
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияВидаДеятельностиНДС();
ПараметрыЗаполнения.Организация = Объект.Организация;
ПараметрыЗаполнения.Дата = Объект.Дата;
ПараметрыЗаполнения.Договор = Объект.Договор;
ПараметрыЗаполнения.НаправлениеДеятельности = РеквизитыДоговора.НаправлениеДеятельности;
ПараметрыЗаполнения.ПриобретениеНаСтатьи = Истина;
ПараметрыЗаполнения.ЛизинговоеИмуществоНаБалансе =
(РеквизитыДоговора.Балансодержатель = Перечисления.БалансодержательПредметовАренды.Арендатор);
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыЗаполненияНалогообложенияНДСЗакупки(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСЗакупки();
ПараметрыЗаполнения.Контрагент = Объект.Контрагент;
ПараметрыЗаполнения.Договор = Объект.Договор;
ПараметрыЗаполнения.Период = Объект.Дата;
ПараметрыЗаполнения.УслугаПоАренде = Истина;
Если ЗначениеЗаполнено(Объект.Договор) Тогда
ПараметрыЗаполнения.ВвозТоваровИзТаможенногоСоюза = Справочники.ДоговорыАренды.ТребуетсяОформлениеЗаявленийОВвозеТоваровИзЕАЭС(Объект.Договор);
КонецЕсли;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыПроверкиЗаполнениеДокументаПоНалогообложениюНДСЗакупки(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУП.ПараметрыПроверкиЗаполнениеДокументаПоНалогообложениюНДСЗакупки();
ПараметрыЗаполнения.ИмяТабличнойЧасти = "ОС";
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыПроверкиЗаполненияДокументаПоВидуДеятельностиНДС(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУП.ПараметрыПроверкиЗаполненияДокументаПоВидуДеятельностиНДС();
ПараметрыЗаполнения.ИмяТабличнойЧасти = "ОС";
Возврат ПараметрыЗаполнения;
КонецФункции
#КонецОбласти
#Область Команды
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ПринятиеКУчетуОС2_4.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, 2);
ЗаключениеДоговораАрендыЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, Порядок = 0) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ЗаключениеДоговораАренды) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ЗаключениеДоговораАренды.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ЗаключениеДоговораАренды);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.Порядок = Порядок;
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьВнеоборотныеАктивы2_4";
КомандаСоздатьНаОсновании.ФункциональныеОпции =
КомандаСоздатьНаОсновании.ФункциональныеОпции
+ ",ИспользоватьВнеоборотныеАктивы2_2";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КонецПроцедуры
#КонецОбласти
#Область Прочее
Функция СтоимостьПредметовАренды(СписокОС, Организация, Дата) Экспорт
СтоимостьОС = Новый Соответствие;
Для каждого ОсновноеСредство Из СписокОС Цикл
СтоимостьОС.Вставить(ОсновноеСредство, 0);
КонецЦикла;
ТекстЗапроса =
"ВЫБРАТЬ
| АрендованныеОС.ОсновноеСредство КАК ОсновноеСредство,
| ВЫРАЗИТЬ(АрендованныеОС.Договор КАК Справочник.ДоговорыАренды).ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Организации.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| АрендованныеОС.Стоимость КАК Стоимость
|ИЗ
| РегистрСведений.АрендованныеОС.СрезПоследних(
| &Дата,
| ОсновноеСредство В(&СписокОС)
| И Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ЗаключенДоговорАренды)) КАК АрендованныеОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
| ПО Организации.Ссылка = &Организация";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("СписокОС", СписокОС);
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Дата", КонецДня(?(Дата <> '000101010000', Дата, ТекущаяДатаСеанса())));
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Коэффициент = РаботаСКурсамивалютУТ.ПолучитьКоэффициентПересчетаИзВалютыВВалюту(
Выборка.ВалютаВзаиморасчетов, Выборка.ВалютаРегламентированногоУчета, ?(Дата <> '000101010000', Дата, ТекущаяДатаСеанса()));
СтоимостьОС.Вставить(Выборка.ОсновноеСредство, Выборка.Стоимость * Коэффициент);
КонецЦикла;
Возврат СтоимостьОС;
КонецФункции
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
ДанныеЗаполнения,
"Договор");
Договор = СтруктураДанныеЗаполнения.Договор;
ИначеЕсли ДанныеЗаполнения = Неопределено Тогда
Договор = Неопределено;
Иначе
Договор = ДанныеЗаполнения.Договор;
КонецЕсли;
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ИзменяетПланОплаты = Ложь;
СтруктураПараметров.ИзменяетПланОтгрузкиПоставки = Ложь;
#Область НеобязательныеПараметры
СтруктураПараметров.ВалютаВзаиморасчетов = "Объект.ВалютаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетов = "Объект.СуммаВзаиморасчетов";
СтруктураПараметров.НаправлениеДеятельности = "";
СтруктураПараметров.ПорядокРасчетов = "";
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.ОС";
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.БанковскийСчетОрганизации = "";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.ФормаОплаты = "";
СтруктураПараметров.ОплатаВВалюте = "";
СтруктураПараметров.ИдентификаторПлатежа = "";
СтруктураПараметров.Договор = "";
СтруктураПараметров.ГруппаФинансовогоУчета = "";
СтруктураПараметров.Подразделение = "";
СтруктураПараметров.КурсЧислитель = "Объект.КурсЧислитель";
СтруктураПараметров.КурсЗнаменатель = "Объект.КурсЗнаменатель";
СтруктураПараметров.ЭлементыФормы.НадписьВалюты = "ДекорацияВалюты";
СтруктураПараметров.ВалютыИКурсДокументаТолькоПросмотр = Ложь;
Если Договор <> Неопределено Тогда
Балансодержатель = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Договор, "Балансодержатель");
СтруктураПараметров.ВалютаДокументаТолькоПросмотр = (Балансодержатель = ПредопределенноеЗначение("Перечисление.БалансодержательПредметовАренды.Арендодатель"));
КонецЕсли;
СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр = Истина;
#КонецОбласти
Возврат СтруктураПараметров;
КонецФункции
Функция НаименованияВходящихДокументов() Экспорт
МассивНаименований = Новый Массив();
МассивНаименований.Добавить(НСтр("ru='Договор аренды'"));
МассивНаименований.Добавить(НСтр("ru='Договор лизинга'"));
Возврат МассивНаименований
КонецФункции
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
ОбщегоНазначенияУТКлиентСервер.ОбработкаПолученияПредставленияВходящегоДокумента(
Данные, Представление, СтандартнаяОбработка, "ЗаключениеДоговораАренды");
КонецПроцедуры
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Очистить();
Поля.Добавить("НаименованиеВходящегоДокумента");
Поля.Добавить("НомерВходящегоДокумента");
Поля.Добавить("ДатаВходящегоДокумента");
Поля.Добавить("Дата");
Поля.Добавить("Номер");
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Процедура ИнициализироватьКлючиАналитикиУчетаПоПартнерам(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаПоПартнерамИнициализированы") Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК Договор,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельности
|ИЗ
| Документ.ЗаключениеДоговораАренды КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО ДанныеДокумента.Организация = РегистрАналитикаУчетаПоПартнерам.Организация
| И ДанныеДокумента.Партнер = РегистрАналитикаУчетаПоПартнерам.Партнер
| И ДанныеДокумента.Контрагент = РегистрАналитикаУчетаПоПартнерам.Контрагент
| И ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) = РегистрАналитикаУчетаПоПартнерам.Договор
| И ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) = РегистрАналитикаУчетаПоПартнерам.НаправлениеДеятельности
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И РегистрАналитикаУчетаПоПартнерам.КлючАналитики ЕСТЬ NULL";
ЗапросАналитик = Новый Запрос(ТекстЗапроса);
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
РезультатЗапроса = ЗапросАналитик.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаПоПартнерам.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаПоПартнерамИнициализированы", Истина);
КонецПроцедуры
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.ЗаключениеДоговораАренды";
ЗначенияПараметров = ЗначенияПараметровПроведения();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("Балансодержатель",
"ДанныеДокумента.Договор.Балансодержатель");
ВЗапросеЕстьИсточник = Истина;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Ложь;
ИначеЕсли ИмяРегистра = "ДокументыПоОС" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаДокументыПоОС(ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
ИначеЕсли ИмяРегистра = "АрендованныеОС" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаАрендованныеОС(ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов"
ИЛИ ИмяРегистра = "ДокументыПоОС" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ТекстЗапросаДанных =
"ВЫБРАТЬ
| ""ОС"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка.Дата КАК Дата,
| ТаблицаДокумента.Ссылка.Организация КАК Организация,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.Ссылка.Дата КАК ПериодБазыНДС,
| ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаБУ КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаБУ КАК СуммаВзаиморасчетов,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ЛОЖЬ КАК ОтражаетсяВРасчетах,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| ЛОЖЬ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.ЗаключениеДоговораАренды.ОС КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
|";
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
КонецПроцедуры
Процедура СформироватьВтКурсы(ТекстыЗапроса) Экспорт
ИмяТаблицы = "ВтКурсы";
ТекстЗапроса =
"ВЫБРАТЬ
| Курсы.ДатаКурса КАК ДатаКурса,
| Курсы.Валюта КАК Валюта,
| Курсы.КурсРегл КАК КурсРегл,
| Курсы.КурсУпр КАК КурсУпр,
| Курсы.КоэффициентПереоценкиРегл КАК КоэффициентПереоценкиРегл,
| Курсы.КоэффициентПереоценкиУпр КАК КоэффициентПереоценкиУпр,
| Курсы.КурсНаДатуДокумента КАК КурсНаДатуДокумента
|ПОМЕСТИТЬ ВтКурсы
|ИЗ
| &КурсыНаДатуДокумента КАК Курсы
|
|ИНДЕКСИРОВАТЬ ПО
| ДатаКурса,
| Валюта,
| КурсНаДатуДокумента";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяТаблицы);
КонецПроцедуры
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры)
ПроведениеДокументов.ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
ПолучитьДанныеДокумента(Запрос);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.Договор.ТипДоговора КАК ТипДоговора,
| ДанныеДокумента.Договор.Балансодержатель КАК Балансодержатель,
| ДанныеДокумента.Договор.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЕСТЬNULL(ДанныеДокумента.Договор.УчитыватьПредметыАрендыВРеглУчете, ЛОЖЬ) КАК УчитыватьПредметыАрендыВРеглУчете,
| ЕСТЬNULL(ДанныеДокумента.Договор.УчитыватьПредметыАрендыВУпрУчете, ЛОЖЬ) КАК УчитыватьПредметыАрендыВУпрУчете,
| ДанныеДокумента.СчетУчета КАК СчетУчета,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.НаименованиеВходящегоДокумента КАК НаименованиеВходящегоДокумента,
| ДанныеДокумента.Сумма КАК Сумма,
| ДанныеДокумента.СуммаОбеспечительногоПлатежа КАК СуммаОбеспечительногоПлатежа,
| ДанныеДокумента.СуммаУслугПоАренде КАК СуммаУслугПоАренде,
| ДанныеДокумента.СуммаВыкупаПредметовАренды КАК СуммаВыкупаПредметовАренды,
| ДанныеДокумента.СуммаНДСВыкупаПредметовАренды КАК СуммаНДСВыкупаПредметовАренды,
| ДанныеДокумента.СуммаПроцентов КАК СуммаПроцентов,
| ДанныеДокумента.СуммаСНДС КАК СуммаСНДС,
| ДанныеДокумента.СуммаНДС КАК СуммаНДС,
| ДанныеДокумента.СтавкаНДС КАК СтавкаНДС,
| ЕСТЬNULL(ДанныеДокумента.СтавкаНДС.Ставка, 0) КАК ЗначениеСтавкиНДС,
| ДанныеДокумента.СрокЛет КАК СрокЛет,
| ДанныеДокумента.СрокМес КАК СрокМес,
| ДанныеДокумента.СрокДней КАК СрокДней,
| ДанныеДокумента.ДатаНачалаАренды КАК ДатаНачалаАренды,
| ДанныеДокумента.ДатаПервогоПлатежа КАК ДатаПервогоПлатежа,
| ДанныеДокумента.ДатаПервогоОбеспечительногоПлатежа КАК ДатаПервогоОбеспечительногоПлатежа,
| ДанныеДокумента.ДатаВыкупа КАК ДатаВыкупа,
| ДанныеДокумента.ПроцентнаяСтавка КАК ПроцентнаяСтавка,
| ДанныеДокумента.ПериодичностьОплат КАК ПериодичностьОплат,
| ДанныеДокумента.ПериодичностьНачислений КАК ПериодичностьНачислений,
| ДанныеДокумента.СтоимостьПредметовАренды КАК СтоимостьПредметовАренды,
| ДанныеДокумента.ОплатаУслугиПоАренде КАК ОплатаУслугиПоАренде,
| ДанныеДокумента.НачислениеУслугиПоАренде КАК НачислениеУслугиПоАренде,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.АналитикаАктивовПассивовРасходов КАК АналитикаАктивовПассивовРасходов,
| ДанныеДокумента.АналитикаАктивовПассивовДоходов КАК АналитикаАктивовПассивовДоходов,
| ДанныеДокумента.СтатьяДоходов КАК СтатьяДоходов,
| ДанныеДокумента.АналитикаДоходов КАК АналитикаДоходов,
| ДанныеДокумента.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| ДанныеДокумента.ИдентификаторДокумента КАК ИдентификаторДокумента,
| ДанныеДокумента.ГрафикНачисленияПроцентовВведенВручную КАК ГрафикНачисленияПроцентовВведенВручную,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| ДанныеДокумента.НастройкаСчетовУчетаДоходов КАК НастройкаСчетовУчетаДоходов,
| ДанныеДокумента.НастройкаСчетовУчетаРасходов КАК НастройкаСчетовУчетаРасходов,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС
|ИЗ
| Документ.ЗаключениеДоговораАренды КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения(Реквизиты);
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
КонецПроцедуры
Процедура ПолучитьДанныеДокумента(Запрос)
СписокЗапросов = Новый Массив;
#Область ДанныеДокументаРеквизиты
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация
|
|ПОМЕСТИТЬ ДанныеДокументаРеквизиты
|
|ИЗ
| Документ.ЗаключениеДоговораАренды КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ДанныеДокументаТаблицаОС
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаДокумента.ОсновноеСредство КАК ОбъектУчета
|
|ПОМЕСТИТЬ ДанныеДокументаТаблицаОС
|
|ИЗ
| Документ.ЗаключениеДоговораАренды.ОС КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| ОсновноеСредство
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.Выполнить();
КонецПроцедуры
Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)
ЗначенияПараметровПроведения = Новый Структура;
УчетАрендованныхОС.ДополнитьЗначенияПараметровПроведенияДокументаАренды(ЗначенияПараметровПроведения);
ЗначенияПараметровПроведения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ЗаключениеДоговораАренды"));
ЗначенияПараметровПроведения.Вставить("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ЗаключениеДоговораАренды);
ЗначенияПараметровПроведения.Вставить("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
ЗначенияПараметровПроведения.Вставить("НастройкаХозяйственнойОперации", Справочники.НастройкиХозяйственныхОпераций.ЗаключениеДоговораАренды);
ЗначенияПараметровПроведения.Вставить("ХО_ФормированиеСтоимостиАрендованныхОС", Перечисления.ХозяйственныеОперации.ФормированиеСтоимостиАрендованныхОС);
ЗначенияПараметровПроведения.Вставить("НастройкаХО_ФормированиеСтоимостиАрендованныхОС", Справочники.НастройкиХозяйственныхОпераций.ФормированиеСтоимостиАрендованныхОС);
ЗначенияПараметровПроведения.Вставить("ХО_КорректировкаАрендныхОбязательств", Перечисления.ХозяйственныеОперации.КорректировкаАрендныхОбязательств);
ЗначенияПараметровПроведения.Вставить("НастройкаХО_КорректировкаАрендныхОбязательств", Справочники.НастройкиХозяйственныхОпераций.КорректировкаАрендныхОбязательств);
ЗначенияПараметровПроведения.Вставить("ИдентификаторЗаявлениеОВвозеТоваров", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ЗаявлениеОВвозеТоваров"));
ЗначенияПараметровПроведения.Вставить("ХО_ПереоценкаРасчетовПоАренде", Перечисления.ХозяйственныеОперации.ПереоценкаРасчетовПоАренде);
ЗначенияПараметровПроведения.Вставить("НастройкаХО_ПереоценкаРасчетовПоАренде", Справочники.НастройкиХозяйственныхОпераций.ПереоценкаРасчетовПоАренде);
Если Реквизиты <> Неопределено Тогда
ЗначенияПараметровПроведения.Вставить("ИспользуетсяУправлениеВНА_2_4", ВнеоборотныеАктивы.ИспользуетсяУправлениеВНА_2_4(Реквизиты.Период));
ЗначенияПараметровПроведения.Вставить("ИспользуетсяУчетАрендыПоФСБУ25_2018",
УчетАрендованныхОС.ИспользуетсяУчетАрендыПоФСБУ25_2018(Реквизиты.Организация, Реквизиты.Период, Истина));
ЗначенияПараметровПроведения.Вставить("СозданДляПерехода",
УчетАрендованныхОС.СозданДляПереходаНаФСБУ25_2018(Реквизиты.Период, Реквизиты.Организация));
Коэффициенты = ПолучитьКоэффициентыПересчетаВалюты(Реквизиты);
ЗначенияПараметровПроведения.Вставить("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
ЗначенияПараметровПроведения.Вставить("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
ЗначенияПараметровПроведения.Вставить("КурсыНаДатуДокумента", Коэффициенты.Курсы);
ЗначенияПараметровПроведения.Вставить("ГраницаДокумента",
Новый Граница(Новый МоментВремени(Реквизиты.Период, Реквизиты.Ссылка),
ВидГраницы.Исключая));
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(
Реквизиты.Валюта, Неопределено, Реквизиты.Период, Реквизиты.Организация);
ЗначенияПараметровПроведения.Вставить("КоэффициентПересчетаВВалютуУпрНаДатуДокумента", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
ЗначенияПараметровПроведения.Вставить("КоэффициентПересчетаВВалютуРеглНаДатуДокумента", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
ОтразитьУслугиВРасходахРегл =
НЕ ЗначенияПараметровПроведения.ИспользуетсяУчетАрендыПоФСБУ25_2018
И НЕ ЗначенияПараметровПроведения.СозданДляПерехода
И Реквизиты.Балансодержатель = Перечисления.БалансодержательПредметовАренды.Арендодатель
ИЛИ (ЗначенияПараметровПроведения.ИспользуетсяУчетАрендыПоФСБУ25_2018
ИЛИ ЗначенияПараметровПроведения.СозданДляПерехода)
И НЕ Реквизиты.УчитыватьПредметыАрендыВРеглУчете;
ЗначенияПараметровПроведения.Вставить("ОтразитьУслугиВРасходахРегл", ОтразитьУслугиВРасходахРегл);
ОтразитьУслугиВРасходахУпр =
НЕ ЗначенияПараметровПроведения.ИспользуетсяУчетАрендыПоФСБУ25_2018
И НЕ ЗначенияПараметровПроведения.СозданДляПерехода
И Реквизиты.Балансодержатель = Перечисления.БалансодержательПредметовАренды.Арендодатель
ИЛИ (ЗначенияПараметровПроведения.ИспользуетсяУчетАрендыПоФСБУ25_2018
ИЛИ ЗначенияПараметровПроведения.СозданДляПерехода)
И НЕ Реквизиты.УчитыватьПредметыАрендыВУпрУчете;
ЗначенияПараметровПроведения.Вставить("ОтразитьУслугиВРасходахУпр", ОтразитьУслугиВРасходахУпр);
ПараметрыУчетаПредметовАренды = УчетАрендованныхОСКлиентСервер.ПараметрыУчетаПредметовАренды(
ЗначенияПараметровПроведения.ИспользуетсяУчетАрендыПоФСБУ25_2018, Реквизиты);
ЗначенияПараметровПроведения.Вставить("ЕстьУчетУУ", ПараметрыУчетаПредметовАренды.ЕстьУчетУУ);
ЗначенияПараметровПроведения.Вставить("ЕстьУчетБУ", ПараметрыУчетаПредметовАренды.ЕстьУчетБУ);
ЗначенияПараметровПроведения.Вставить("ЕстьУчетНУ", ПараметрыУчетаПредметовАренды.ЕстьУчетНУ);
КонецЕсли;
ЗаключениеДоговораАрендыЛокализация.ДополнитьЗначенияПараметровПроведения(ЗначенияПараметровПроведения, Реквизиты);
Возврат ЗначенияПараметровПроведения;
КонецФункции
Функция ПолучитьКоэффициентыПересчетаВалюты(Реквизиты)
КоэффициентыПересчета = Новый Структура("КоэффициентПересчетаВВалютуУпр,
|КоэффициентПересчетаВВалютуРегл,
|Курсы",
1,
1,
Неопределено);
Запрос = Новый Запрос();
ТекстЗапроса = "ВЫБРАТЬ
| ВЫБОР КОГДА РасчетыПоФинансовымИнструментамОстатки.РасчетныйДокумент ССЫЛКА Документ.СписаниеБезналичныхДенежныхСредств ТОГДА
| НАЧАЛОПЕРИОДА(ВЫРАЗИТЬ(РасчетыПоФинансовымИнструментамОстатки.РасчетныйДокумент КАК Документ.СписаниеБезналичныхДенежныхСредств).Дата, ДЕНЬ)
| КОГДА РасчетыПоФинансовымИнструментамОстатки.РасчетныйДокумент ССЫЛКА Документ.РасходныйКассовыйОрдер ТОГДА
| НАЧАЛОПЕРИОДА(ВЫРАЗИТЬ(РасчетыПоФинансовымИнструментамОстатки.РасчетныйДокумент КАК Документ.РасходныйКассовыйОрдер).Дата, ДЕНЬ)
| КОГДА РасчетыПоФинансовымИнструментамОстатки.РасчетныйДокумент ССЫЛКА Документ.ПервичныйДокумент ТОГДА
| НАЧАЛОПЕРИОДА(ВЫРАЗИТЬ(РасчетыПоФинансовымИнструментамОстатки.РасчетныйДокумент КАК Документ.ПервичныйДокумент).Дата, ДЕНЬ)
| ИНАЧЕ
| &ДатаПервогоОбеспечительногоПлатежа
| КОНЕЦ КАК ДатаОплаты,
| РасчетыПоФинансовымИнструментамОстатки.Валюта КАК ВалютаПлатежа
|ИЗ
| РегистрНакопления.РасчетыПоФинансовымИнструментам.Остатки(&ГраницаДокумента, Договор = &Договор
| И ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.ОбеспечительныйПлатеж)) КАК
| РасчетыПоФинансовымИнструментамОстатки
|ГДЕ
| РасчетыПоФинансовымИнструментамОстатки.СуммаОстаток > 0
| ИЛИ РасчетыПоФинансовымИнструментамОстатки.СуммаУпрОстаток > 0
| ИЛИ РасчетыПоФинансовымИнструментамОстатки.СуммаРеглОстаток > 0";
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Договор", Реквизиты.Договор);
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("ВалютаРегламентированногоУчета", Реквизиты.ВалютаРегламентированногоУчета);
Запрос.УстановитьПараметр("ВалютаЗаключенияАренды", Реквизиты.Валюта);
Запрос.УстановитьПараметр("Ссылка", Реквизиты.Ссылка);
Запрос.УстановитьПараметр("ДатаПервогоОбеспечительногоПлатежа", Реквизиты.ДатаПервогоОбеспечительногоПлатежа);
Запрос.УстановитьПараметр("ГраницаДокумента",
Новый Граница(Новый МоментВремени(Реквизиты.Период, Реквизиты.Ссылка),
ВидГраницы.Исключая));
ВалютыИДатыПлатежей = Запрос.Выполнить().Выгрузить();
СтрокаЗаключенияДоговораАренды = ВалютыИДатыПлатежей.Добавить();
СтрокаЗаключенияДоговораАренды.ДатаОплаты = НачалоДня(Реквизиты.Период);
СтрокаЗаключенияДоговораАренды.ВалютаПлатежа = Реквизиты.Валюта;
Валюты = ВалютыИДатыПлатежей.ВыгрузитьКолонку("ВалютаПлатежа");
Валюты.Добавить(Реквизиты.ВалютаВзаиморасчетов);
Валюты.Добавить(Реквизиты.ВалютаРегламентированногоУчета);
Валюты.Добавить(Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("СписокВалют", Валюты);
ТекстКурсовВалют = "
|ВЫБРАТЬ
| &ДатаКурса КАК ДатаКурса,
| КурсыВалютСрезПоследних.Валюта КАК Валюта,
| КурсыВалютСрезПоследних.КурсЧислитель КАК КурсЧислитель,
| КурсыВалютСрезПоследних.КурсЗнаменатель КАК КурсЗнаменатель
|ИЗ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&ДатаКурса,
| БазоваяВалюта = &ВалютаРегламентированногоУчета
| И Валюта В (&СписокВалют)
| ) КАК КурсыВалютСрезПоследних";
ТекстЗапроса = "";
КурсыНаДаты = Новый Массив;
Счетчик = ВалютыИДатыПлатежей.Количество();
КурсыНаДаты.Добавить("(");
Для Каждого СтрокаПлатежей из ВалютыИДатыПлатежей Цикл
ТекстЗапроса = СтрЗаменить(ТекстКурсовВалют,"&ДатаКурса", Формат(СтрокаПлатежей.ДатаОплаты,"ДФ='""ДАТАВРЕМЯ(""yyyy,MM,dd"")""';"));
КурсыНаДаты.Добавить(ТекстЗапроса);
Счетчик = Счетчик -1;
Если Счетчик > 0 Тогда
КурсыНаДаты.Добавить("ОБЪЕДИНИТЬ ВСЕ");
КонецЕсли;
КонецЦикла;
КурсыНаДаты.Добавить(")");
ТекстПодзапросаКурсов = СтрСоединить(КурсыНаДаты,Символы.ПС);
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| КурсыВалют.ДатаКурса КАК ДатаКурса,
| КурсыВалют.Валюта КАК Валюта,
| КурсыВалют.КурсЧислитель КАК КурсЧислитель,
| КурсыВалют.КурсЗнаменатель КАК КурсЗнаменатель,
| КурсыВалют.ДатаКурса = &ДатаДокумента КАК КурсНаДатуДокумента
|ПОМЕСТИТЬ Курсы
|ИЗ
| &Подзапрос КАК КурсыВалют
|ИНДЕКСИРОВАТЬ ПО
| ДатаКурса,
| Валюта,
| КурсНаДатуДокумента
|";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Подзапрос", ТекстПодзапросаКурсов);
Запрос.УстановитьПараметр("ДатаДокумента", НачалоДня(Реквизиты.Период));
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();
Запрос.Выполнить();
Запрос.Текст =
"ВЫБРАТЬ
| СУММА(ВЫРАЗИТЬ(РасчетыПоФинансовымИнструментамОстатки.СуммаОстаток
| * КурсыПлатежа.КурсЧислитель / КурсыПлатежа.КурсЗнаменатель КАК ЧИСЛО(31,2))) КАК СуммаРегл,
| СУММА(ВЫРАЗИТЬ(РасчетыПоФинансовымИнструментамОстатки.СуммаОстаток * КурсыПлатежа.КурсЧислитель
| * КурсыУпр.КурсЗнаменатель / (КурсыУпр.КурсЧислитель * КурсыПлатежа.КурсЗнаменатель) КАК ЧИСЛО(31,2))) КАК СуммаУпр,
| СУММА(ВЫРАЗИТЬ(РасчетыПоФинансовымИнструментамОстатки.СуммаОстаток
| * КурсыПлатежа.КурсЧислитель * КурсыЗаключенияАренды.КурсЗнаменатель
| / (КурсыЗаключенияАренды.КурсЧислитель * КурсыПлатежа.КурсЗнаменатель) КАК ЧИСЛО(31,2))) КАК СуммаВВалютеЗаключения
|ИЗ
| РегистрНакопления.РасчетыПоФинансовымИнструментам.Остатки(
| &ГраницаДокумента,
| Договор = &Договор
| И ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.ОбеспечительныйПлатеж)) КАК РасчетыПоФинансовымИнструментамОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК КурсыПлатежа
| ПО РасчетыПоФинансовымИнструментамОстатки.Валюта = КурсыПлатежа.Валюта
| И (НАЧАЛОПЕРИОДА(РасчетыПоФинансовымИнструментамОстатки.РасчетныйДокумент.Дата, ДЕНЬ) = КурсыПлатежа.ДатаКурса)
| ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК КурсыУпр
| ПО (НАЧАЛОПЕРИОДА(РасчетыПоФинансовымИнструментамОстатки.РасчетныйДокумент.Дата, ДЕНЬ) = КурсыУпр.ДатаКурса)
| И (КурсыУпр.Валюта = &ВалютаУправленческогоУчета)
| ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК КурсыЗаключенияАренды
| ПО (НАЧАЛОПЕРИОДА(РасчетыПоФинансовымИнструментамОстатки.РасчетныйДокумент.Дата, ДЕНЬ) = КурсыЗаключенияАренды.ДатаКурса)
| И (КурсыЗаключенияАренды.Валюта = &ВалютаЗаключенияАренды)
|ИМЕЮЩИЕ
| СУММА(РасчетыПоФинансовымИнструментамОстатки.СуммаОстаток * КурсыПлатежа.КурсЧислитель) <> 0
|;
|
|
|ВЫБРАТЬ
| СУММА(ЗаключениеДоговораАрендыГрафикНачисленияУслуг.ОбеспечительныйПлатежНДС) КАК ОбеспечительныйПлатежНДС
|ИЗ
| Документ.ЗаключениеДоговораАренды.ГрафикНачисленияУслуг КАК ЗаключениеДоговораАрендыГрафикНачисленияУслуг
|ГДЕ
| ЗаключениеДоговораАрендыГрафикНачисленияУслуг.Ссылка = &Ссылка";
Результат = Запрос.ВыполнитьПакет();
ВсегоНДСПоОбеспечительнымПлатежам = Результат[1].Выгрузить()[0].ОбеспечительныйПлатежНДС;
ОбеспечительныеПлатежи = Результат[0].Выгрузить();
ОбеспечительныеПлатежи.Колонки.Добавить("СуммаНДСВВалютеПлатежа", ОбщегоНазначения.ОписаниеТипаЧисло(31,2));
Если ОбеспечительныеПлатежи.Итог("СуммаВВалютеЗаключения") > 0 Тогда
СуммыПлатежей = ОбеспечительныеПлатежи.ВыгрузитьКолонку("СуммаВВалютеЗаключения");
СуммыНДС = ОбщегоНазначенияУТКлиентСервер.РаспределитьПропорционально(ВсегоНДСПоОбеспечительнымПлатежам, СуммыПлатежей);
Если СуммыНДС <> Неопределено Тогда
ОбеспечительныеПлатежи.ЗагрузитьКолонку(СуммыНДС, "СуммаНДСВВалютеПлатежа");
Для Каждого СтрокаАванса Из ОбеспечительныеПлатежи Цикл
Если СтрокаАванса.СуммаВВалютеЗаключения <> 0 Тогда
СтрокаАванса.СуммаРегл = СтрокаАванса.СуммаРегл - СтрокаАванса.СуммаНДСВВалютеПлатежа
* (СтрокаАванса.СуммаРегл / СтрокаАванса.СуммаВВалютеЗаключения);
СтрокаАванса.СуммаУпр = СтрокаАванса.СуммаУпр - СтрокаАванса.СуммаНДСВВалютеПлатежа
* (СтрокаАванса.СуммаУпр / СтрокаАванса.СуммаВВалютеЗаключения);
СтрокаАванса.СуммаВВалютеЗаключения = СтрокаАванса.СуммаВВалютеЗаключения
- СтрокаАванса.СуммаНДСВВалютеПлатежа;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ОбеспечительныеПлатежи.Свернуть(,"СуммаРегл,СуммаУпр,СуммаВВалютеЗаключения");
КонецЕсли;
Запрос.УстановитьПараметр("ОбеспечительныеПлатежи",ОбеспечительныеПлатежи);
Запрос.Текст =
"ВЫБРАТЬ
| Т.СуммаРегл КАК СуммаРегл,
| Т.СуммаУпр КАК СуммаУпр,
| Т.СуммаВВалютеЗаключения КАК СуммаВВалютеЗаключения
|ПОМЕСТИТЬ ОбеспечительныеПлатежи
|ИЗ
| &ОбеспечительныеПлатежи КАК Т
|;
|
|
|ВЫБРАТЬ
| СУММА(ВЫРАЗИТЬ(ЗаключениеДоговораАрендыОС.СуммаБУ * Курсы.КурсЧислитель / Курсы.КурсЗнаменатель КАК ЧИСЛО(31,2))) КАК СуммаРегл,
| СУММА(ВЫРАЗИТЬ(ЗаключениеДоговораАрендыОС.СуммаБУ * Курсы.КурсЧислитель * КурсыУпр.КурсЗнаменатель
| / (КурсыУпр.КурсЧислитель * Курсы.КурсЗнаменатель) КАК ЧИСЛО(31,2))) КАК СуммаУпр,
| СУММА(ЗаключениеДоговораАрендыОС.СуммаБУ) КАК СуммаВВалютеЗаключения,
| ВЫРАЗИТЬ(МАКСИМУМ(КурсыЗаключения.КурсЧислитель / КурсыЗаключения.КурсЗнаменатель) КАК ЧИСЛО(17,6)) КАК КурсЗаключения,
| ВЫРАЗИТЬ(МАКСИМУМ(КурсыЗаключенияУпр.КурсЧислитель / КурсыЗаключенияУпр.КурсЗнаменатель) КАК ЧИСЛО(17,6)) КАК КурсЗаключенияУпр
|ПОМЕСТИТЬ ЗаключениеАренды
|ИЗ
| Документ.ЗаключениеДоговораАренды.ОС КАК ЗаключениеДоговораАрендыОС
| ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК Курсы
| ПО ЗаключениеДоговораАрендыОС.Ссылка.Валюта = Курсы.Валюта
| И (НАЧАЛОПЕРИОДА(ЗаключениеДоговораАрендыОС.Ссылка.Дата, ДЕНЬ) = Курсы.ДатаКурса)
| ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК КурсыУпр
| ПО (НАЧАЛОПЕРИОДА(ЗаключениеДоговораАрендыОС.Ссылка.Дата, ДЕНЬ) = КурсыУпр.ДатаКурса)
| И (КурсыУпр.Валюта = &ВалютаУправленческогоУчета)
| ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК КурсыЗаключения
| ПО (НАЧАЛОПЕРИОДА(ЗаключениеДоговораАрендыОС.Ссылка.Дата, ДЕНЬ) = КурсыЗаключения.ДатаКурса)
| И (КурсыЗаключения.Валюта = &ВалютаЗаключенияАренды)
| ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК КурсыЗаключенияУпр
| ПО (НАЧАЛОПЕРИОДА(ЗаключениеДоговораАрендыОС.Ссылка.Дата, ДЕНЬ) = КурсыЗаключенияУпр.ДатаКурса)
| И (КурсыЗаключенияУпр.Валюта = &ВалютаУправленческогоУчета)
|ГДЕ
| ЗаключениеДоговораАрендыОС.Ссылка = &Ссылка
|;
|
|
|ВЫБРАТЬ
| ВЫРАЗИТЬ((БазаРасчета.СуммаБУБезОбеспеченияРегл + БазаРасчета.СуммаОбеспеченияРегл) / ВЫБОР
| КОГДА БазаРасчета.СуммаВВалютеЗаключения = 0
| ТОГДА 1
| ИНАЧЕ БазаРасчета.СуммаВВалютеЗаключения
| КОНЕЦ КАК ЧИСЛО(17,6)) КАК КоэффициентПересчетаВВалютуРегл,
| ВЫРАЗИТЬ((БазаРасчета.СуммаБУБезОбеспеченияУпр + БазаРасчета.СуммаОбеспеченияУпр) / ВЫБОР
| КОГДА БазаРасчета.СуммаВВалютеЗаключения = 0
| ТОГДА 1
| ИНАЧЕ БазаРасчета.СуммаВВалютеЗаключения
| КОНЕЦ КАК ЧИСЛО(17,6)) КАК КоэффициентПересчетаВВалютуУпр
|ИЗ
| (ВЫБРАТЬ
| ВЫРАЗИТЬ((ЗаключениеАренды.СуммаВВалютеЗаключения - ЕСТЬNULL(ОбеспечительныеПлатежи.СуммаВВалютеЗаключения, 0)) *
| ЗаключениеАренды.КурсЗаключения КАК ЧИСЛО(31,2)) КАК СуммаБУБезОбеспеченияРегл,
| ЕСТЬNULL(ОбеспечительныеПлатежи.СуммаРегл, 0) КАК СуммаОбеспеченияРегл,
| ВЫРАЗИТЬ((ЗаключениеАренды.СуммаВВалютеЗаключения - ЕСТЬNULL(ОбеспечительныеПлатежи.СуммаВВалютеЗаключения, 0)) *
| ЗаключениеАренды.КурсЗаключения / ЗаключениеАренды.КурсЗаключенияУпр КАК ЧИСЛО(31,2)) КАК СуммаБУБезОбеспеченияУпр,
| ЕСТЬNULL(ОбеспечительныеПлатежи.СуммаУпр, 0) КАК СуммаОбеспеченияУпр,
| ЗаключениеАренды.СуммаВВалютеЗаключения КАК СуммаВВалютеЗаключения
| ИЗ
| ЗаключениеАренды КАК ЗаключениеАренды
| ЛЕВОЕ СОЕДИНЕНИЕ ОбеспечительныеПлатежи КАК ОбеспечительныеПлатежи
| ПО (ИСТИНА)) КАК БазаРасчета
|";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
КоэффициентыПересчета.КоэффициентПересчетаВВалютуУпр = Выборка.КоэффициентПересчетаВВалютуУпр;
КоэффициентыПересчета.КоэффициентПересчетаВВалютуРегл = Выборка.КоэффициентПересчетаВВалютуРегл;
КонецЦикла;
ТекстЗапроса = "
|ВЫБРАТЬ
| Курсы.ДатаКурса КАК ДатаКурса,
| Курсы.Валюта КАК Валюта,
| ВЫРАЗИТЬ(Курсы.КурсЧислитель / Курсы.КурсЗнаменатель КАК ЧИСЛО(17,6)) КАК КурсРегл,
| ВЫРАЗИТЬ(Курсы.КурсЧислитель * КурсВалютыУпр.КурсЗнаменатель
| / (КурсВалютыУпр.КурсЧислитель * Курсы.КурсЗнаменатель) КАК ЧИСЛО(17,6)) КАК КурсУпр,
|
| ВЫРАЗИТЬ(-(КурсПереоценкиРегл.КурсЧислитель / КурсПереоценкиРегл.КурсЗнаменатель
| - (Курсы.КурсЧислитель / Курсы.КурсЗнаменатель)) КАК ЧИСЛО(17,6)) КАК КоэффициентПереоценкиРегл,
|
| ВЫРАЗИТЬ(-(КурсВалютыНаДатуПереоценки.КурсЧислитель * КурсПереоценкиУпр.КурсЗнаменатель
| / (КурсПереоценкиУпр.КурсЧислитель * КурсВалютыНаДатуПереоценки.КурсЗнаменатель)
| - (Курсы.КурсЧислитель * КурсВалютыУпр.КурсЗнаменатель)
| / (КурсВалютыУпр.КурсЧислитель * Курсы.КурсЗнаменатель)) КАК ЧИСЛО(17,6)) КАК КоэффициентПереоценкиУпр,
|
| Курсы.КурсНаДатуДокумента КАК КурсНаДатуДокумента
|ИЗ
| Курсы КАК Курсы
|
| ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК КурсВалютыУпр
| ПО Курсы.ДатаКурса = КурсВалютыУпр.ДатаКурса
| И КурсВалютыУпр.Валюта = &ВалютаУправленческогоУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК КурсПереоценкиРегл
| ПО КурсПереоценкиРегл.КурсНаДатуДокумента
| И Курсы.Валюта = КурсПереоценкиРегл.Валюта
|
| ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК КурсПереоценкиУпр
| ПО КурсПереоценкиУпр.КурсНаДатуДокумента
| И КурсПереоценкиУпр.Валюта = &ВалютаУправленческогоУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК КурсВалютыНаДатуПереоценки
| ПО КурсВалютыНаДатуПереоценки.КурсНаДатуДокумента
| И КурсВалютыНаДатуПереоценки.Валюта = Курсы.Валюта
|";
Запрос.Текст = ТекстЗапроса;
Курсы = Запрос.Выполнить().Выгрузить();
КоэффициентыПересчета.Курсы = Курсы;
Возврат КоэффициентыПересчета;
КонецФункции
#Область ТекстыЗапросаДляПроведения
Функция ТекстЗапросаТаблицаРеестрДокументов(ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &Подразделение КАК Подразделение,
| &Ответственный КАК Ответственный,
| &Комментарий КАК Комментарий,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &ДатаВходящегоДокумента КАК ДатаПервичногоДокумента,
| &НомерВходящегоДокумента КАК НомерПервичногоДокумента,
| &НаименованиеВходящегоДокумента КАК НаименованиеПервичногоДокумента,
| &СуммаДокумента КАК Сумма,
| &Валюта КАК Валюта,
| ЛОЖЬ КАК СторноИсправление,
| НЕОПРЕДЕЛЕНО КАК СторнируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДокументыПоОС(ТекстыЗапроса, Регистры)
ИмяРегистра = "ДокументыПоОС";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаОС.НомерСтроки-1, 0) КАК НомерЗаписи,
| &Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Проведен КАК Проведен,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &ИдентификаторМетаданных КАК ТипСсылки,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ИСТИНА КАК ОтражатьВУпрУчете,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство
|ИЗ
| Документ.ЗаключениеДоговораАренды КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаключениеДоговораАренды.ОС КАК ТаблицаОС
| ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаПорядокУчетаОС(ТекстыЗапроса, Регистры)
ИмяРегистра = "ПорядокУчетаОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Регистратор,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| &ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| &СчетУчета КАК СчетУчета,
| &НаправлениеДеятельности КАК НаправлениеДеятельности
|ИЗ
| Документ.ЗаключениеДоговораАренды.ОС КАК ТаблицаОС
|ГДЕ
| ТаблицаОС.Ссылка = &Ссылка
| И &Балансодержатель = ЗНАЧЕНИЕ(Перечисление.БалансодержательПредметовАренды.Арендодатель)
| И НЕ &ИспользуетсяУчетАрендыПоФСБУ25_2018
| И НЕ &СозданДляПерехода";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаМестонахождениеОС(ТекстыЗапроса, Регистры)
ИмяРегистра = "МестонахождениеОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Регистратор,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаОС.Подразделение КАК Местонахождение,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ИСТИНА КАК ОтражатьВУпрУчете
|ИЗ
| Документ.ЗаключениеДоговораАренды.ОС КАК ТаблицаОС
|ГДЕ
| ТаблицаОС.Ссылка = &Ссылка
| И &Балансодержатель = ЗНАЧЕНИЕ(Перечисление.БалансодержательПредметовАренды.Арендодатель)
| И НЕ &ИспользуетсяУчетАрендыПоФСБУ25_2018
| И НЕ &СозданДляПерехода";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаСтоимостьОС(ТекстыЗапроса, Регистры)
ИмяРегистра = "СтоимостьОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаТаблицаВтОсновныеСредства(ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтАрендованныеОС(ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОС(ТекстыЗапроса);
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтМестонахождениеОС(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаОС.Подразделение КАК Подразделение,
| &Контрагент КАК Контрагент,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| &ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ТаблицаОС.СуммаБУ КАК ЗалоговаяСтоимость,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ЛОЖЬ КАК ОтражатьВУпрУчете,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗаключениеДоговораАренды) КАК ХозяйственнаяОперация,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтОсновныеСредства КАК ТаблицаОС
|ГДЕ
| &Балансодержатель = ЗНАЧЕНИЕ(Перечисление.БалансодержательПредметовАренды.Арендодатель)
| И &ИспользуетсяУправлениеВНА_2_4
| И НЕ &ИспользуетсяУчетАрендыПоФСБУ25_2018
| И НЕ &СозданДляПерехода
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ВтМестонахождениеОС.Местонахождение КАК Подразделение,
| &Контрагент КАК Контрагент,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ВтПорядокУчетаОС.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ВтАрендованныеОС.Стоимость КАК ЗалоговаяСтоимость,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ЛОЖЬ КАК ОтражатьВУпрУчете,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗаключениеДоговораАренды) КАК ХозяйственнаяОперация,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ЗаключениеДоговораАренды.ОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтАрендованныеОС КАК ВтАрендованныеОС
| ПО ВтАрендованныеОС.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПорядокУчетаОС КАК ВтПорядокУчетаОС
| ПО ВтПорядокУчетаОС.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтМестонахождениеОС КАК ВтМестонахождениеОС
| ПО ВтПорядокУчетаОС.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
|
|ГДЕ
| ТаблицаОС.Ссылка = &Ссылка
| И &Балансодержатель = ЗНАЧЕНИЕ(Перечисление.БалансодержательПредметовАренды.Арендодатель)
| И &ИспользуетсяУправлениеВНА_2_4
| И &СозданДляПерехода";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Функция ТекстЗапросаТаблицаРасчетыПоФинансовымИнструментам(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РасчетыПоФинансовымИнструментам";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьКлючиАналитикиУчетаПоПартнерам(Запрос);
ТекстЗапросаТаблицаВтОсновныеСредства(ТекстыЗапроса);
ТекстЗапросаТаблицаВтСуммаПроцентов(ТекстыЗапроса);
ТекстЗапросаТаблицаВтСуммаНДС(ТекстыЗапроса);
ТекстЗапросаТаблицаВтКорректировкаАрендныхОбязательств(ТекстыЗапроса);
ИнициализироватьВтИдентификаторыАвансов(Запрос,ТекстыЗапроса);
ТекстЗапросаТаблицаВтПереоценкаАвансов(ТекстыЗапроса);
СписокЗапросовОбъединение = Новый Массив;
#Область ФормированиеСтоимостиАрендованныхОС
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
|
| ЕСТЬNULL(АналитикаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерам,
| &Договор КАК Договор,
| ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.АрендныеОбязательства) КАК ТипСуммы,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
| &ВалютаВзаиморасчетов КАК Валюта,
|
| ТаблицаОС.СуммаБУ КАК Сумма,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахУпр
| ТОГДА 0
| ИНАЧЕ ТаблицаОС.СуммаУУ_БезНДС_Упр
| КОНЕЦ КАК СуммаУпр,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахРегл
| ТОГДА 0
| ИНАЧЕ ТаблицаОС.СуммаБУ_БезНДС_Регл
| КОНЕЦ КАК СуммаРегл,
|
| НЕОПРЕДЕЛЕНО КАК ТипГрафика,
| НЕОПРЕДЕЛЕНО КАК СтатьяАналитики,
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &ХО_ФормированиеСтоимостиАрендованныхОС КАК ХозяйственнаяОперация,
| &НастройкаХО_ФормированиеСтоимостиАрендованныхОС КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтОсновныеСредства КАК ТаблицаОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПоПартнерам
| ПО АналитикаПоПартнерам.Организация = &Организация
| И АналитикаПоПартнерам.Партнер = &Партнер
| И АналитикаПоПартнерам.Контрагент = &Контрагент
| И АналитикаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И АналитикаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|ГДЕ
| (НЕ &ОтразитьУслугиВРасходахУпр ИЛИ НЕ &ОтразитьУслугиВРасходахРегл)";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область УвеличениеПроцентовПоАренде
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| ЕСТЬNULL(АналитикаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерам,
| &Договор КАК Договор,
| ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.Проценты) КАК ТипСуммы,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
| &ВалютаВзаиморасчетов КАК Валюта,
|
| ВтСуммаПроцентов.Сумма КАК Сумма,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахУпр
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ВтСуммаПроцентов.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(ВтСуммаПроцентов.Сумма * Курсы.КурсУпр
| КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаУпр,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахРегл
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ВтСуммаПроцентов.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(ВтСуммаПроцентов.Сумма * Курсы.КурсРегл
| КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаРегл,
|
| НЕОПРЕДЕЛЕНО КАК ТипГрафика,
| НЕОПРЕДЕЛЕНО КАК СтатьяАналитики,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| &ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| &ХО_УвеличениеПроцентовПоАренде КАК ХозяйственнаяОперация,
| &НастройкаХО_УвеличениеПроцентовПоАренде КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтСуммаПроцентов КАК ВтСуммаПроцентов
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПоПартнерам
| ПО АналитикаПоПартнерам.Организация = &Организация
| И АналитикаПоПартнерам.Партнер = &Партнер
| И АналитикаПоПартнерам.Контрагент = &Контрагент
| И АналитикаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И АналитикаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсы КАК Курсы
| ПО Курсы.Валюта = &ВалютаВзаиморасчетов
| И Курсы.КурсНаДатуДокумента
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
|
| ЕСТЬNULL(АналитикаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерам,
| &Договор КАК Договор,
| ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.АрендныеОбязательства) КАК ТипСуммы,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
| &ВалютаВзаиморасчетов КАК Валюта,
|
| ВтСуммаПроцентов.Сумма КАК Сумма,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахУпр
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ВтСуммаПроцентов.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(ВтСуммаПроцентов.Сумма * Курсы.КурсУпр КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаУпр,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахРегл
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ВтСуммаПроцентов.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(ВтСуммаПроцентов.Сумма * Курсы.КурсРегл КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаРегл,
|
| НЕОПРЕДЕЛЕНО КАК ТипГрафика,
| НЕОПРЕДЕЛЕНО КАК СтатьяАналитики,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| &ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| &ХО_УвеличениеПроцентовПоАренде КАК ХозяйственнаяОперация,
| &НастройкаХО_УвеличениеПроцентовПоАренде КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтСуммаПроцентов КАК ВтСуммаПроцентов
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПоПартнерам
| ПО АналитикаПоПартнерам.Организация = &Организация
| И АналитикаПоПартнерам.Партнер = &Партнер
| И АналитикаПоПартнерам.Контрагент = &Контрагент
| И АналитикаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И АналитикаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсы КАК Курсы
| ПО Курсы.Валюта = &ВалютаВзаиморасчетов
| И Курсы.КурсНаДатуДокумента";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область УвеличениеНДСПоАренде
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| ЕСТЬNULL(АналитикаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерам,
| &Договор КАК Договор,
| ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.НДС) КАК ТипСуммы,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
| &ВалютаВзаиморасчетов КАК Валюта,
|
| ВтСуммаНДС.Сумма КАК Сумма,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахУпр
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ВтСуммаНДС.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(ВтСуммаНДС.Сумма * Курсы.КурсУпр КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаУпр,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахРегл
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ВтСуммаНДС.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(ВтСуммаНДС.Сумма * Курсы.КурсРегл КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаРегл,
|
| НЕОПРЕДЕЛЕНО КАК ТипГрафика,
| НЕОПРЕДЕЛЕНО КАК СтатьяАналитики,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| &ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| &ХО_УвеличениеНДСПоАренде КАК ХозяйственнаяОперация,
| &НастройкаХО_УвеличениеНДСПоАренде КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтСуммаНДС КАК ВтСуммаНДС
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПоПартнерам
| ПО
| АналитикаПоПартнерам.Организация = &Организация
| И АналитикаПоПартнерам.Партнер = &Партнер
| И АналитикаПоПартнерам.Контрагент = &Контрагент
| И АналитикаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И АналитикаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсы КАК Курсы
| ПО Курсы.Валюта = &ВалютаВзаиморасчетов
| И Курсы.КурсНаДатуДокумента
|
|ГДЕ
| (НЕ &ОтразитьУслугиВРасходахУпр ИЛИ НЕ &ОтразитьУслугиВРасходахРегл)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
|
| ЕСТЬNULL(АналитикаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерам,
| &Договор КАК Договор,
| ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.АрендныеОбязательства) КАК ТипСуммы,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
| &ВалютаВзаиморасчетов КАК Валюта,
|
| ВтСуммаНДС.Сумма КАК Сумма,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахУпр
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ВтСуммаНДС.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(ВтСуммаНДС.Сумма * Курсы.КурсУпр КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаУпр,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахРегл
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ВтСуммаНДС.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(ВтСуммаНДС.Сумма * Курсы.КурсРегл КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаРегл,
|
| НЕОПРЕДЕЛЕНО КАК ТипГрафика,
| НЕОПРЕДЕЛЕНО КАК СтатьяАналитики,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| &ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| &ХО_УвеличениеНДСПоАренде КАК ХозяйственнаяОперация,
| &НастройкаХО_УвеличениеНДСПоАренде КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтСуммаНДС КАК ВтСуммаНДС
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПоПартнерам
| ПО АналитикаПоПартнерам.Организация = &Организация
| И АналитикаПоПартнерам.Партнер = &Партнер
| И АналитикаПоПартнерам.Контрагент = &Контрагент
| И АналитикаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И АналитикаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсы КАК Курсы
| ПО Курсы.Валюта = &ВалютаВзаиморасчетов
| И Курсы.КурсНаДатуДокумента
|
|ГДЕ
| (НЕ &ОтразитьУслугиВРасходахУпр ИЛИ НЕ &ОтразитьУслугиВРасходахРегл)";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область КорректировкаАрендныхОбязательств
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
|
| ЕСТЬNULL(АналитикаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерам,
| &Договор КАК Договор,
| ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.АрендныеОбязательства) КАК ТипСуммы,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
| &ВалютаВзаиморасчетов КАК Валюта,
|
| ВтКорректировкаАрендныхОбязательств.Сумма КАК Сумма,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахУпр
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ВтКорректировкаАрендныхОбязательств.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(ВтКорректировкаАрендныхОбязательств.Сумма * Курсы.КурсУпр КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаУпр,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахРегл
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ВтКорректировкаАрендныхОбязательств.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(ВтКорректировкаАрендныхОбязательств.Сумма * Курсы.КурсРегл КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаРегл,
|
| НЕОПРЕДЕЛЕНО КАК ТипГрафика,
| НЕОПРЕДЕЛЕНО КАК СтатьяАналитики,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| &ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| &ХО_КорректировкаАрендныхОбязательств КАК ХозяйственнаяОперация,
| &НастройкаХО_КорректировкаАрендныхОбязательств КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтКорректировкаАрендныхОбязательств КАК ВтКорректировкаАрендныхОбязательств
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПоПартнерам
| ПО
| АналитикаПоПартнерам.Организация = &Организация
| И АналитикаПоПартнерам.Партнер = &Партнер
| И АналитикаПоПартнерам.Контрагент = &Контрагент
| И АналитикаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И АналитикаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсы КАК Курсы
| ПО Курсы.Валюта = &ВалютаВзаиморасчетов
| И Курсы.КурсНаДатуДокумента
|
|ГДЕ
| ВтКорректировкаАрендныхОбязательств.Сумма > 0
| И (НЕ &ОтразитьУслугиВРасходахУпр ИЛИ НЕ &ОтразитьУслугиВРасходахРегл)";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область КорректировкаАрендныхОбязательств
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| ЕСТЬNULL(АналитикаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерам,
| &Договор КАК Договор,
| ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.АрендныеОбязательства) КАК ТипСуммы,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
| &ВалютаВзаиморасчетов КАК Валюта,
|
| -ВтКорректировкаАрендныхОбязательств.Сумма КАК Сумма,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахУпр
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА -ВтКорректировкаАрендныхОбязательств.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(-ВтКорректировкаАрендныхОбязательств.Сумма * Курсы.КурсУпр КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаУпр,
|
| ВЫБОР
| КОГДА &ОтразитьУслугиВРасходахРегл
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА -ВтКорректировкаАрендныхОбязательств.Сумма
| ИНАЧЕ ВЫРАЗИТЬ(-ВтКорректировкаАрендныхОбязательств.Сумма * Курсы.КурсРегл КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаРегл,
|
| НЕОПРЕДЕЛЕНО КАК ТипГрафика,
| НЕОПРЕДЕЛЕНО КАК СтатьяАналитики,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| &ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| &ХО_КорректировкаАрендныхОбязательств КАК ХозяйственнаяОперация,
| &НастройкаХО_КорректировкаАрендныхОбязательств КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтКорректировкаАрендныхОбязательств КАК ВтКорректировкаАрендныхОбязательств
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПоПартнерам
| ПО
| АналитикаПоПартнерам.Организация = &Организация
| И АналитикаПоПартнерам.Партнер = &Партнер
| И АналитикаПоПартнерам.Контрагент = &Контрагент
| И АналитикаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И АналитикаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсы КАК Курсы
| ПО Курсы.Валюта = &ВалютаВзаиморасчетов
| И Курсы.КурсНаДатуДокумента
|
|ГДЕ
| ВтКорректировкаАрендныхОбязательств.Сумма < 0
| И (НЕ &ОтразитьУслугиВРасходахУпр ИЛИ НЕ &ОтразитьУслугиВРасходахРегл)";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПереоценкаАвансовДоКурсаДокумента
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ЕСТЬNULL(АналитикаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерам,
| &Договор КАК Договор,
| ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.АрендныеОбязательства) КАК ТипСуммы,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
| &ВалютаВзаиморасчетов КАК Валюта,
| 0 КАК Сумма,
| ВтПереоценкаАвансов.СуммаПереоценкиУпр КАК СуммаУпр,
| ВтПереоценкаАвансов.СуммаПереоценкиРегл КАК СуммаРегл,
| НЕОПРЕДЕЛЕНО КАК ТипГрафика,
| НЕОПРЕДЕЛЕНО КАК СтатьяАналитики,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ВтПереоценкаАвансов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| &ХО_ПереоценкаРасчетовПоАренде КАК ХозяйственнаяОперация,
| &НастройкаХО_ПереоценкаРасчетовПоАренде КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтПереоценкаАвансов КАК ВтПереоценкаАвансов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПоПартнерам
| ПО АналитикаПоПартнерам.Организация = &Организация
| И АналитикаПоПартнерам.Партнер = &Партнер
| И АналитикаПоПартнерам.Контрагент = &Контрагент
| И АналитикаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И АналитикаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ЕСТЬNULL(АналитикаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерам,
| &Договор КАК Договор,
| ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.ОбеспечительныйПлатеж) КАК ТипСуммы,
| ВтПереоценкаАвансов.РасчетныйДокумент КАК РасчетныйДокумент,
| &ВалютаВзаиморасчетов КАК Валюта,
| 0 КАК Сумма,
| ВтПереоценкаАвансов.СуммаПереоценкиУпр КАК СуммаУпр,
| ВтПереоценкаАвансов.СуммаПереоценкиРегл КАК СуммаРегл,
| НЕОПРЕДЕЛЕНО КАК ТипГрафика,
| НЕОПРЕДЕЛЕНО КАК СтатьяАналитики,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ВтПереоценкаАвансов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| &ХО_ПереоценкаРасчетовПоАренде КАК ХозяйственнаяОперация,
| &НастройкаХО_ПереоценкаРасчетовПоАренде КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтПереоценкаАвансов КАК ВтПереоценкаАвансов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПоПартнерам
| ПО АналитикаПоПартнерам.Организация = &Организация
| И АналитикаПоПартнерам.Партнер = &Партнер
| И АналитикаПоПартнерам.Контрагент = &Контрагент
| И АналитикаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И АналитикаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(СписокЗапросовОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаПервоначальныеСведенияОС(ТекстыЗапроса, Регистры)
ИмяРегистра = "ПервоначальныеСведенияОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| &Организация КАК Организация,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| ТаблицаОС.Стоимость КАК ПервоначальнаяСтоимостьБУ,
| &Период КАК ДатаВводаВЭксплуатациюБУ,
| &Ссылка КАК ДокументВводаВЭксплуатациюБУ
|ИЗ
| Документ.ЗаключениеДоговораАренды.ОС КАК ТаблицаОС
|ГДЕ
| ТаблицаОС.Ссылка = &Ссылка
| И &Балансодержатель = ЗНАЧЕНИЕ(Перечисление.БалансодержательПредметовАренды.Арендодатель)
| И НЕ &ИспользуетсяУчетАрендыПоФСБУ25_2018";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Функция ТекстЗапросаТаблицаАрендованныеОС(ТекстыЗапроса, Регистры)
ИмяРегистра = "АрендованныеОС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаОС.Стоимость КАК Стоимость,
| ТаблицаОС.СправедливаяСтоимость КАК НоминальнаяСтоимость,
| &Организация КАК Организация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
|
| ВЫБОР
| КОГДА &Балансодержатель = ЗНАЧЕНИЕ(Перечисление.БалансодержательПредметовАренды.Арендодатель)
| И &ИспользуетсяУправлениеВНА_2_4
| И НЕ &ИспользуетсяУчетАрендыПоФСБУ25_2018
| И НЕ &СозданДляПерехода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ВАренде)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ЗаключенДоговорАренды)
| КОНЕЦ КАК Состояние
|ИЗ
| Документ.ЗаключениеДоговораАренды КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаключениеДоговораАренды.ОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ТаблицаОС.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаУсловияДоговоровАренды(ТекстыЗапроса, Регистры)
ИмяРегистра = "УсловияДоговоровАренды";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Регистратор,
| &Период КАК Период,
| &Договор КАК Договор,
| &СуммаОбеспечительногоПлатежа КАК СуммаОбеспечительногоПлатежа,
| &СуммаУслугПоАренде КАК СуммаУслугПоАренде,
| &СуммаВыкупаПредметовАренды КАК СуммаВыкупаПредметовАренды,
| &СуммаПроцентов КАК СуммаПроцентов,
| &СуммаНДС КАК СуммаНДС,
| &СтавкаНДС КАК СтавкаНДС,
| &СрокЛет КАК СрокЛет,
| &СрокМес КАК СрокМес,
| &СрокДней КАК СрокДней,
| &ДатаНачалаАренды КАК ДатаНачалаАренды,
| &ДатаПервогоПлатежа КАК ДатаПервогоПлатежа,
| &ДатаПервогоОбеспечительногоПлатежа КАК ДатаПервогоОбеспечительногоПлатежа,
| &ДатаВыкупа КАК ДатаВыкупа,
| &ПроцентнаяСтавка КАК ПроцентнаяСтавка,
| &ПериодичностьОплат КАК ПериодичностьОплат,
| &ПериодичностьНачислений КАК ПериодичностьНачислений,
| &СтоимостьПредметовАренды КАК СтоимостьПредметовАренды,
| &ОплатаУслугиПоАренде КАК ОплатаУслугиПоАренде,
| &НачислениеУслугиПоАренде КАК НачислениеУслугиПоАренде,
| &ГрафикНачисленияПроцентовВведенВручную КАК ГрафикНачисленияПроцентовВведенВручную,
| &Ссылка КАК АктуальныеУсловияДоговора,
| &НалогообложениеНДС КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.СостоянияДоговоровКонтрагентов.Действует) КАК Состояние
|ИЗ
| Документ.ЗаключениеДоговораАренды КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Функция ТекстЗапросаТаблицаГрафикОплатУслугПоАренде(ТекстыЗапроса, Регистры)
ИмяРегистра = "ГрафикОплатУслугПоАренде";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК ДатаИзменения,
| &Договор КАК Договор,
| &Ссылка КАК АктуальныеУсловияДоговора,
| ТаблицаГрафика.Дата КАК Дата,
| ТаблицаГрафика.УслугаПоАренде КАК УслугаПоАренде,
| ТаблицаГрафика.УслугаПоАрендеНДС КАК УслугаПоАрендеНДС,
| ТаблицаГрафика.ОбеспечительныйПлатеж КАК ОбеспечительныйПлатеж,
| ТаблицаГрафика.ОбеспечительныйПлатежНДС КАК ОбеспечительныйПлатежНДС,
| ТаблицаГрафика.ВыкупнаяСтоимостьНДС КАК ВыкупнаяСтоимостьНДС,
|
| ВЫБОР
| КОГДА ТаблицаГрафика.Дата >= &ДатаВыкупа
| ТОГДА ТаблицаГрафика.ВыкупнаяСтоимость
| ИНАЧЕ 0
| КОНЕЦ КАК ВыкупнаяСтоимость,
|
| ВЫБОР
| КОГДА ТаблицаГрафика.Дата < &ДатаВыкупа
| ТОГДА ТаблицаГрафика.ВыкупнаяСтоимость
| ИНАЧЕ 0
| КОНЕЦ КАК ВыкупнаяСтоимостьАванс
|ИЗ
| Документ.ЗаключениеДоговораАренды.ГрафикОплатУслуг КАК ТаблицаГрафика
|ГДЕ
| ТаблицаГрафика.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаГрафикНачисленияУслугПоАренде(ТекстыЗапроса, Регистры)
ИмяРегистра = "ГрафикНачисленияУслугПоАренде";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК ДатаИзменения,
| &Договор КАК Договор,
| &Ссылка КАК АктуальныеУсловияДоговора,
| ТаблицаГрафика.Дата КАК Дата,
| ТаблицаГрафика.УслугаПоАренде КАК УслугаПоАренде,
| ТаблицаГрафика.УслугаПоАрендеНДС КАК УслугаПоАрендеНДС,
| ТаблицаГрафика.ОбеспечительныйПлатеж КАК ОбеспечительныйПлатеж,
| ТаблицаГрафика.ОбеспечительныйПлатежНДС КАК ОбеспечительныйПлатежНДС,
| ВЫБОР
| КОГДА &ДатаВыкупа = ТаблицаГрафика.Дата
| ТОГДА &СуммаВыкупаПредметовАренды
| ИНАЧЕ 0
| КОНЕЦ КАК ВыкупнаяСтоимость,
| ВЫБОР
| КОГДА &ДатаВыкупа = ТаблицаГрафика.Дата
| ТОГДА &СуммаНДСВыкупаПредметовАренды
| ИНАЧЕ 0
| КОНЕЦ КАК ВыкупнаяСтоимостьНДС
|ИЗ
| Документ.ЗаключениеДоговораАренды.ГрафикНачисленияУслуг КАК ТаблицаГрафика
|ГДЕ
| ТаблицаГрафика.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК ДатаИзменения,
| &Договор КАК Договор,
| &Ссылка КАК АктуальныеУсловияДоговора,
| &ДатаВыкупа КАК Дата,
| 0 КАК УслугаПоАренде,
| 0 КАК УслугаПоАрендеНДС,
| 0 КАК ОбеспечительныйПлатеж,
| 0 КАК ОбеспечительныйПлатежНДС,
| &СуммаВыкупаПредметовАренды КАК ВыкупнаяСтоимость,
| &СуммаНДСВыкупаПредметовАренды КАК ВыкупнаяСтоимостьНДС
|ИЗ
| Документ.ЗаключениеДоговораАренды КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаключениеДоговораАренды.ГрафикНачисленияУслуг КАК ТаблицаГрафика
| ПО ТаблицаГрафика.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаГрафика.Дата = ДанныеДокумента.ДатаВыкупа
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ТаблицаГрафика.Ссылка ЕСТЬ NULL
| И &СуммаВыкупаПредметовАренды <> 0";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаГрафикНачисленияПроцентовПоАренде(ТекстыЗапроса, Регистры)
ИмяРегистра = "ГрафикНачисленияПроцентовПоАренде";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК ДатаИзменения,
| &Договор КАК Договор,
| &Ссылка КАК АктуальныеУсловияДоговора,
| ТаблицаГрафика.Дата КАК Дата,
| СУММА(ТаблицаГрафика.Проценты) КАК Проценты
|ИЗ
| Документ.ЗаключениеДоговораАренды.ГрафикНачисленияПроцентов КАК ТаблицаГрафика
|ГДЕ
| ТаблицаГрафика.Ссылка = &Ссылка
|СГРУППИРОВАТЬ ПО
| ТаблицаГрафика.Дата";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаПрочиеДоходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеДоходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаТаблицаВтКорректировкаАрендныхОбязательств(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &СтатьяДоходов КАК СтатьяДоходов,
| &АналитикаДоходов КАК АналитикаДоходов,
| -ТаблицаДоходы.Сумма КАК Сумма,
| -ТаблицаДоходы.СуммаУпр КАК СуммаУпр,
| -ТаблицаДоходы.СуммаРегл КАК СуммаРегл,
| &ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| &ХО_КорректировкаАрендныхОбязательств КАК ХозяйственнаяОперация,
| &НастройкаХО_КорректировкаАрендныхОбязательств КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтКорректировкаАрендныхОбязательств КАК ТаблицаДоходы
|ГДЕ
| ТаблицаДоходы.Сумма < 0
| И ТИПЗНАЧЕНИЯ(&СтатьяДоходов) = ТИП(ПланВидовХарактеристик.СтатьиДоходов)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияПоПрочимАктивамПассивам";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаТаблицаВтКорректировкаАрендныхОбязательств(ТекстыЗапроса);
ТекстЗапроса =
"// Пассивы.
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &СтатьяДоходов КАК Статья,
| &АналитикаАктивовПассивовДоходов КАК Аналитика,
| &НастройкаСчетовУчетаДоходов КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит) КАК ДебетКредит,
| -ТаблицаДоходы.СуммаРегл КАК СуммаБезНДС,
| -ТаблицаДоходы.СуммаРегл КАК СуммаСНДС,
| -ТаблицаДоходы.СуммаРегл КАК СуммаРегл,
| -ТаблицаДоходы.СуммаУпр КАК СуммаУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| &НастройкаХО_КорректировкаАрендныхОбязательств КАК НастройкаХозяйственнойОперации,
| &ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Перечисление.ВидыИсточниковДвижений.ДвиженияБаланса) КАК ВидИсточника
|ИЗ
| ВтКорректировкаАрендныхОбязательств КАК ТаблицаДоходы
|ГДЕ
| (ТаблицаДоходы.Сумма < 0
| ИЛИ ТаблицаДоходы.СуммаУпр < 0)
| И ТИПЗНАЧЕНИЯ(&СтатьяДоходов) = ТИП(ПланВидовХарактеристик.СтатьиАктивовПассивов)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|// Активы.
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| Строки.Подразделение КАК Подразделение,
| Строки.НаправлениеДеятельности КАК НаправлениеДеятельности,
| &СтатьяРасходов КАК Статья,
| &АналитикаАктивовПассивовРасходов КАК Аналитика,
| &НастройкаСчетовУчетаРасходов КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет) КАК ДебетКредит,
| Строки.СуммаБезНДСРегл КАК СуммаБезНДС,
| Строки.СуммаСНДСРегл КАК СуммаСНДС,
| Строки.СуммаБезНДСРегл КАК СуммаРегл,
| Строки.СуммаБезНДСУпр КАК СуммаУпр,
| Строки.ПостояннаяРазница КАК ПостояннаяРазница,
| Строки.ВременнаяРазница КАК ВременнаяРазница,
| Строки.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| Строки.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Перечисление.ВидыИсточниковДвижений.ДвиженияБаланса) КАК ВидИсточника
|ИЗ
| ВтИсходныеПрочиеРасходы КАК Строки
|ГДЕ
| (Строки.СуммаБезНДСРегл <> 0
| ИЛИ Строки.СуммаБезНДСУпр <> 0
| ИЛИ Строки.ПостояннаяРазница <> 0
| ИЛИ Строки.ВременнаяРазница <> 0)
| И ТИПЗНАЧЕНИЯ(&СтатьяРасходов) = ТИП(ПланВидовХарактеристик.СтатьиАктивовПассивов)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивы(ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияДоходыРасходыПрочиеАктивыПассивы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаТаблицаВтОсновныеСредства(ТекстыЗапроса);
Текст =
"ВЫБРАТЬ
| ТаблицаОС.НомерСтроки,
|
| &Ссылка КАК Регистратор,
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтражениеРасходовЗаСчетПрочихАктивовПассивов) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
|
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.УпрБалансЛизинг) КАК Статья,
| &Договор КАК АналитикаАктивовПассивов,
|
| ТаблицаОС.Подразделение КАК КорПодразделение,
| &НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ТаблицаОС.СтатьяРасходов КАК КорСтатья,
| ТаблицаОС.ОсновноеСредство КАК КорАналитикаРасходов,
|
| ТаблицаОС.СуммаУУ_СНДС_Упр КАК Сумма,
| ТаблицаОС.СуммаУУ_БезНДС_Упр КАК СуммаУпр,
| ТаблицаОС.СуммаБУ_СНДС_Регл КАК СуммаРегл,
|
| &Валюта КАК Валюта,
| ТаблицаОС.СуммаБУ КАК СуммаВВалюте,
| НЕОПРЕДЕЛЕНО КАК ВидОперацииПоЗарплате
|ИЗ
| ВтОсновныеСредства КАК ТаблицаОС
|ГДЕ
| &Балансодержатель = ЗНАЧЕНИЕ(Перечисление.БалансодержательПредметовАренды.Арендатор)
| ИЛИ &ИспользуетсяУчетАрендыПоФСБУ25_2018
| ИЛИ &СозданДляПерехода";
ТекстыЗапроса.Добавить(Текст, ИмяРегистра, Истина);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыКОформлениюДокументовИмпорта";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| КОНЕЦПЕРИОДА(ТаблицаГрафика.Дата, МЕСЯЦ) КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Ссылка КАК Регистратор,
| &Организация КАК Организация,
| &Партнер КАК Поставщик,
| &Ссылка КАК ДокументПоступления,
| &ИдентификаторЗаявлениеОВвозеТоваров КАК ТипДокументаИмпорта,
| 0 КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| ТаблицаГрафика.УслугаПоАренде + ТаблицаГрафика.ОбеспечительныйПлатеж + ТаблицаГрафика.ВыкупнаяСтоимость КАК Сумма,
| ИСТИНА КАК Первичное
|ИЗ
| Документ.ЗаключениеДоговораАренды.ГрафикОплатУслуг КАК ТаблицаГрафика
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ДоговорыАренды КАК ДоговорыАренды
| ПО ДоговорыАренды.Ссылка = &Договор
|ГДЕ
| ТаблицаГрафика.Ссылка = &Ссылка
| И ДоговорыАренды.ТребуетсяОформлениеЗаявленийОВвозе";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
#КонецОбласти
#Область ФормированиеВременныхТаблицыДляПроведения
Процедура ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
ТекстЗапросаТаблицаВтОсновныеСредства(ТекстыЗапроса);
ТекстЗапросаТаблицаВтКорректировкаАрендныхОбязательств(ТекстыЗапроса);
СписокЗапросовОбъединение = Новый Массив;
СписокЗапросовОбъединение.Добавить(РегистрыНакопления.ПрочиеРасходы.ТекстОписаниеВтИсходныеПрочиеРасходы());
ТекстЗапроса = ЗаключениеДоговораАрендыЛокализация.ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы();
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| &Организация КАК Организация,
| ТаблицаОС.Подразделение КАК Подразделение,
| ТаблицаОС.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаОС.ОсновноеСредство КАК АналитикаРасходов,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| ВЫБОР
| КОГДА НЕ &ОтразитьУслугиВРасходахУпр
| ТОГДА ТаблицаОС.СуммаУУ_БезНДС_Упр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаСНДС,
|
| ВЫБОР
| КОГДА НЕ &ОтразитьУслугиВРасходахУпр
| ТОГДА ТаблицаОС.СуммаУУ_БезНДС_Упр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаБезНДС,
|
| ВЫБОР
| КОГДА НЕ &ОтразитьУслугиВРасходахУпр
| ТОГДА ТаблицаОС.СуммаУУ_БезНДС_Упр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаБезНДСУпр,
|
| ВЫБОР
| КОГДА НЕ &ОтразитьУслугиВРасходахРегл
| ТОГДА ТаблицаОС.СуммаБУ_СНДС_Регл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаСНДСРегл,
|
| ВЫБОР
| КОГДА НЕ &ОтразитьУслугиВРасходахРегл
| ТОГДА ТаблицаОС.СуммаБУ_БезНДС_Регл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаБезНДСРегл,
|
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| &ХО_ФормированиеСтоимостиАрендованныхОС КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаОС.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХО_ФормированиеСтоимостиАрендованныхОС КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтОсновныеСредства КАК ТаблицаОС
|ГДЕ
| (НЕ &ОтразитьУслугиВРасходахРегл ИЛИ НЕ &ОтразитьУслугиВРасходахУпр)";
КонецЕсли;
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
ТекстЗапроса = СтрСоединить(СписокЗапросовОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра, Истина);
КонецПроцедуры
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(ТекстыЗапроса)
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаВтОсновныеСредства(ТекстыЗапроса)
ИмяТаблицы = "ВтОсновныеСредства";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
Текст =
"ВЫБРАТЬ
| ТаблицаОС.Ссылка,
| ТаблицаОС.НомерСтроки,
| ТаблицаОС.ОсновноеСредство,
| ТаблицаОС.ИдентификаторСтроки,
| ТаблицаОС.Подразделение КАК Подразделение,
| ТаблицаОС.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаОС.СтатьяРасходов.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы) КАК РаспределениеНаВНА,
| ТаблицаОС.СуммаБУ КАК СуммаБУ,
| ТаблицаОС.СуммаНДС КАК СуммаНДС,
| ТаблицаОС.СтавкаНДС КАК СтавкаНДС,
|
| ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаОС.СуммаБУ + ТаблицаОС.СуммаНДС
| ИНАЧЕ ВЫРАЗИТЬ((ТаблицаОС.СуммаБУ * &КоэффициентПересчетаВВалютуУпр +
| ТаблицаОС.СуммаНДС * &КоэффициентПересчетаВВалютуУпрНаДатуДокумента) КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаУУ_СНДС_Упр,
|
| ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаОС.СуммаБУ
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаОС.СуммаБУ * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаУУ_БезНДС_Упр,
|
| ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ТаблицаОС.СуммаБУ + ТаблицаОС.СуммаНДС
| ИНАЧЕ ВЫРАЗИТЬ((ТаблицаОС.СуммаБУ * &КоэффициентПересчетаВВалютуРегл
| + ТаблицаОС.СуммаНДС * &КоэффициентПересчетаВВалютуРеглНаДатуДокумента) КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаБУ_СНДС_Регл,
|
| ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ТаблицаОС.СуммаБУ
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаОС.СуммаБУ * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаБУ_БезНДС_Регл,
|
| ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ТаблицаОС.СуммаНУ
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаОС.СуммаНУ * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаНУ_БезНДС_Регл,
|
| ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаОС.СуммаНДС
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаОС.СуммаНДС * &КоэффициентПересчетаВВалютуУпрНаДатуДокумента КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаНДС_Упр,
|
| ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ТаблицаОС.СуммаНДС
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаОС.СуммаНДС * &КоэффициентПересчетаВВалютуРеглНаДатуДокумента КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаНДС_Регл
|
|ПОМЕСТИТЬ ВтОсновныеСредства
|ИЗ
| Документ.ЗаключениеДоговораАренды.ОС КАК ТаблицаОС
|
|ГДЕ
| ТаблицаОС.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы, Ложь);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаВтСуммаПроцентов(ТекстыЗапроса)
ИмяТаблицы = "ВтСуммаПроцентов";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
Текст =
"ВЫБРАТЬ
| СУММА(ГрафикНачисленияПроцентов.Проценты) КАК Сумма
|ПОМЕСТИТЬ ВтСуммаПроцентов
|ИЗ
| Документ.ЗаключениеДоговораАренды.ГрафикНачисленияПроцентов КАК ГрафикНачисленияПроцентов
|
|ГДЕ
| ГрафикНачисленияПроцентов.Ссылка = &Ссылка
| И (НЕ &СозданДляПерехода
| ИЛИ ГрафикНачисленияПроцентов.Дата > КОНЕЦПЕРИОДА(&Период, МЕСЯЦ))";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаВтСуммаНДС(ТекстыЗапроса)
ИмяТаблицы = "ВтСуммаНДС";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
Текст =
"ВЫБРАТЬ
| ДанныеДокумента.СуммаНДС КАК Сумма
|ПОМЕСТИТЬ ВтСуммаНДС
|ИЗ
| Документ.ЗаключениеДоговораАренды КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И НЕ &СозданДляПерехода
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СУММА(ВЫРАЗИТЬ(ГрафикНачисленияУслуг.УслугаПоАренде - 100 * ГрафикНачисленияУслуг.УслугаПоАренде / (100 + &ЗначениеСтавкиНДС) КАК ЧИСЛО(31, 2)))
|
| + СУММА(ВЫРАЗИТЬ(ГрафикНачисленияУслуг.ОбеспечительныйПлатеж - 100 * ГрафикНачисленияУслуг.ОбеспечительныйПлатеж / (100 + &ЗначениеСтавкиНДС) КАК ЧИСЛО(31, 2)))
|
| + ВЫБОР
| КОГДА &ДатаВыкупа > КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА ВЫРАЗИТЬ(&СуммаВыкупаПредметовАренды - 100 * &СуммаВыкупаПредметовАренды / (100 + &ЗначениеСтавкиНДС) КАК ЧИСЛО(31, 2))
| ИНАЧЕ 0
| КОНЕЦ КАК Сумма
|ИЗ
| Документ.ЗаключениеДоговораАренды.ГрафикНачисленияУслуг КАК ГрафикНачисленияУслуг
|
|ГДЕ
| ГрафикНачисленияУслуг.Ссылка = &Ссылка
| И &СозданДляПерехода
| И ГрафикНачисленияУслуг.Дата > КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаВтКорректировкаАрендныхОбязательств(ТекстыЗапроса)
ИмяТаблицы = "ВтКорректировкаАрендныхОбязательств";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
Текст =
"ВЫБРАТЬ
| СУММА(ВложенныйЗапрос.Сумма) КАК Сумма,
| ВЫБОР
| КОГДА НЕ &ЕстьУчетУУ
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА СУММА(ВложенныйЗапрос.Сумма)
| ИНАЧЕ ВЫРАЗИТЬ(СУММА(ВложенныйЗапрос.Сумма) * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31, 2))
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР
| КОГДА НЕ &ЕстьУчетБУ
| ТОГДА 0
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА СУММА(ВложенныйЗапрос.Сумма)
| ИНАЧЕ ВЫРАЗИТЬ(СУММА(ВложенныйЗапрос.Сумма) * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31, 2))
| КОНЕЦ КАК СуммаРегл
|ПОМЕСТИТЬ ВтКорректировкаАрендныхОбязательств
|ИЗ
| (ВЫБРАТЬ
| ГрафикНачисленияУслуг.УслугаПоАренде + ГрафикНачисленияУслуг.ОбеспечительныйПлатеж -
| ВЫРАЗИТЬ(ГрафикНачисленияУслуг.УслугаПоАренде - 100 * ГрафикНачисленияУслуг.УслугаПоАренде / (100 +
| &ЗначениеСтавкиНДС) КАК ЧИСЛО(31, 2)) - ВЫРАЗИТЬ(ГрафикНачисленияУслуг.ОбеспечительныйПлатеж - 100 *
| ГрафикНачисленияУслуг.ОбеспечительныйПлатеж / (100 + &ЗначениеСтавкиНДС) КАК ЧИСЛО(31, 2)) КАК Сумма
| ИЗ
| Документ.ЗаключениеДоговораАренды.ГрафикНачисленияУслуг КАК ГрафикНачисленияУслуг
| ГДЕ
| ГрафикНачисленияУслуг.Ссылка = &Ссылка
| И &СозданДляПерехода
| И ГрафикНачисленияУслуг.Дата > КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| -ГрафикНачисленияПроцентов.Проценты КАК Проценты
| ИЗ
| Документ.ЗаключениеДоговораАренды.ГрафикНачисленияПроцентов КАК ГрафикНачисленияПроцентов
| ГДЕ
| ГрафикНачисленияПроцентов.Ссылка = &Ссылка
| И &СозданДляПерехода
| И ГрафикНачисленияПроцентов.Дата > КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| -ТаблицаОС.ОстаточнаяСтоимость КАК ОстаточнаяСтоимость
| ИЗ
| Документ.ЗаключениеДоговораАренды.ОС КАК ТаблицаОС
| ГДЕ
| ТаблицаОС.Ссылка = &Ссылка
| И &СозданДляПерехода
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Операция.СуммаВыкупаПредметовАренды-Операция.СуммаНДСВыкупаПредметовАренды КАК ОстаточнаяСтоимость
| ИЗ
| Документ.ЗаключениеДоговораАренды КАК Операция
| ГДЕ
| Операция.Ссылка = &Ссылка
| И &СозданДляПерехода
|) КАК ВложенныйЗапрос";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы);
КонецПроцедуры
Процедура ИнициализироватьВтИдентификаторыАвансов(Запрос,ТекстыЗапроса)
Если Запрос.Параметры.Свойство("ИдентификаторыАвансовИнициализированы") Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Авансы.РасчетныйДокумент КАК РасчетныйДокумент,
| ВЫРАЗИТЬ("""" КАК СТРОКА(36)) КАК ИдентификаторФинзаписи
|ИЗ
| РегистрНакопления.РасчетыПоФинансовымИнструментам.Остатки(&ГраницаДокумента, Договор = &Договор
| И ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.ОбеспечительныйПлатеж)) КАК Авансы";
ЗапросАвансов = Новый Запрос(ТекстЗапроса);
ЗапросАвансов.УстановитьПараметр("ГраницаДокумента", Запрос.Параметры.ГраницаДокумента);
ЗапросАвансов.УстановитьПараметр("Договор", Запрос.Параметры.Договор);
ИдентификаторыАвансов = ЗапросАвансов.Выполнить().Выгрузить();
Для Каждого СтрокаАвансов Из ИдентификаторыАвансов Цикл
СтрокаАвансов.ИдентификаторФинзаписи = Строка(Новый УникальныйИдентификатор());
КонецЦикла;
Запрос.УстановитьПараметр("ИдентификаторыАвансов", ИдентификаторыАвансов);
Запрос.УстановитьПараметр("ИдентификаторыАвансовИнициализированы", Истина);
ИмяТаблицы = "ВтИдентификаторыАвансов";
Текст = "
|ВЫБРАТЬ
| ИдентификаторыАвансов.РасчетныйДокумент КАК РасчетныйДокумент,
| ИдентификаторыАвансов.ИдентификаторФинзаписи КАК ИдентификаторФинзаписи
|
|ПОМЕСТИТЬ ВтИдентификаторыАвансов
|
|ИЗ
| &ИдентификаторыАвансов КАК ИдентификаторыАвансов
|";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаВтПереоценкаАвансов(ТекстыЗапроса)
ИмяТаблицы = "ВтПереоценкаАвансов";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
Текст = "
|ВЫБРАТЬ
| Авансы.РасчетныйДокумент КАК РасчетныйДокумент,
|
| ВЫРАЗИТЬ(Авансы.СуммаОстаток * ВтКурсы.КоэффициентПереоценкиРегл
| КАК ЧИСЛО(31, 2)) КАК СуммаПереоценкиРегл,
|
| ВЫРАЗИТЬ(Авансы.СуммаОстаток * ВтКурсы.КоэффициентПереоценкиУпр
| КАК ЧИСЛО(31, 2)) КАК СуммаПереоценкиУпр,
|
| ВтИдентификаторыАвансов.ИдентификаторФинзаписи КАК ИдентификаторФинзаписи
|
|ПОМЕСТИТЬ ВтПереоценкаАвансов
|
|ИЗ
| РегистрНакопления.РасчетыПоФинансовымИнструментам.Остатки(&ГраницаДокумента, Договор = &Договор
| И ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.ОбеспечительныйПлатеж)) КАК Авансы
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсы КАК ВтКурсы
| ПО Авансы.Валюта = ВтКурсы.Валюта
| И НАЧАЛОПЕРИОДА(Авансы.РасчетныйДокумент.Дата, ДЕНЬ) = ВтКурсы.ДатаКурса
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтИдентификаторыАвансов КАК ВтИдентификаторыАвансов
| ПО Авансы.РасчетныйДокумент = ВтИдентификаторыАвансов.РасчетныйДокумент
|ГДЕ
| Авансы.СуммаОстаток <> 0
| И НЕ ВтИдентификаторыАвансов.ИдентификаторФинзаписи ЕСТЬ NULL
| ";
ТекстыЗапроса.Добавить(Текст, ИмяТаблицы);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область ПроведениеПоРеглУчету
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат ЗаключениеДоговораАрендыЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат ЗаключениеДоговораАрендыЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = Справочники.ДоговорыАренды.ДобавитьКомандуРасшифровкиРасчетаПроцентов(КомандыПечати);
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "ГрафикНачисленияПроцентовВведенВручную", Ложь);
КонецПроцедуры
#КонецОбласти
#Область Прочее
Функция ПредставлениеРеквизитов(Балансодержатель, ТипДоговора, ИспользуетсяУчетАрендыПоФСБУ25_2018) Экспорт
ПредставлениеРеквизитов = Новый Соответствие;
Если ИспользуетсяУчетАрендыПоФСБУ25_2018 Тогда
Если ТипДоговора = Перечисления.ТипыДоговоровАренды.Лизинг Тогда
ОССумма_Заголовок = НСтр("ru = 'Сумма вложений лизингодателя (без НДС)'");
ОССумма_Подсказка = "";
Иначе
ОССумма_Заголовок = НСтр("ru = 'Стоимость (без НДС)'");
ОССумма_Подсказка = НСтр("ru = 'Стоимость предметов аренды, которая рассчитывается на основании справедливой и негарантированной стоимости'");
КонецЕсли;
Иначе
Если Балансодержатель = Перечисления.БалансодержательПредметовАренды.Арендодатель Тогда
ОССумма_Заголовок = НСтр("ru='Залоговая стоимость'");
ОССумма_Подсказка = НСтр("ru = 'Залоговая стоимость предмета аренды'");
Иначе
ОССумма_Заголовок = НСтр("ru = 'Сумма вложений лизингодателя (без НДС)'");
ОССумма_Подсказка = "";
КонецЕсли;
КонецЕсли;
ПредставлениеРеквизитов.Вставить("ОС.Стоимость_Заголовок", ОССумма_Заголовок);
ПредставлениеРеквизитов.Вставить("ОС.Стоимость_Подсказка", ОССумма_Подсказка);
Возврат ПредставлениеРеквизитов;
КонецФункции
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
СписокПараметров = Новый Массив;
#Область Расходы
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьиРасходы";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивовРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("АналитикаАктивовПассивовРасходов");
СписокПараметров.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область Доходы
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьиДоходы";
ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивовДоходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("АналитикаДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("АналитикаАктивовПассивовДоходов");
СписокПараметров.Добавить(ПараметрыВыбора);
#КонецОбласти
Возврат СписокПараметров;
КонецФункции
Функция ПараметрыНастройкиСчетовУчета() Экспорт
МассивПараметров = Новый Массив();
#Область НастройкаПредставлениеОтраженияРасходовВРеглУчете
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ПутьКДанным = "Объект";
ПараметрыНастройки.НастройкаСчетовУчета = "НастройкаСчетовУчетаРасходов";
ПараметрыНастройки.СтатьяАктивовПассивов = "СтатьяРасходов";
ПараметрыНастройки.АналитикаАктивовПассивов = "АналитикаАктивовПассивовРасходов";
ПараметрыНастройки.Представление = "ПредставлениеОтраженияРасходовВРеглУчете";
ПараметрыНастройки.ТипСтатьи = "ТипСтатьиРасходы";
ПараметрыНастройки.Организация = "Объект.Организация";
ПараметрыНастройки.ЭлементыФормы.Добавить("ПредставлениеОтраженияРасходовВРеглУчете");
МассивПараметров.Добавить(ПараметрыНастройки);
#КонецОбласти
#Область НастройкаПредставлениеОтраженияРасходовВРеглУчете
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ПутьКДанным = "Объект";
ПараметрыНастройки.НастройкаСчетовУчета = "НастройкаСчетовУчетаДоходов";
ПараметрыНастройки.СтатьяАктивовПассивов = "СтатьяДоходов";
ПараметрыНастройки.АналитикаАктивовПассивов = "АналитикаАктивовПассивовДоходов";
ПараметрыНастройки.Представление = "ПредставлениеОтраженияДоходовВРеглУчете";
ПараметрыНастройки.ТипСтатьи = "ТипСтатьиДоходы";
ПараметрыНастройки.Организация = "Объект.Организация";
ПараметрыНастройки.ЭлементыФормы.Добавить("ПредставлениеОтраженияДоходовВРеглУчете");
МассивПараметров.Добавить(ПараметрыНастройки);
#КонецОбласти
Возврат МассивПараметров;
КонецФункции
Процедура РассчитатьСтавкуСтоимостьПроценты(Объект, РеквизитыДоговора) Экспорт
ПараметрыРасчета = УчетАрендованныхОС.ПараметрыРасчетаСтавкиСтоимостиПроцентов(Объект, РеквизитыДоговора);
ПараметрыРасчета.ТаблицаОС = Объект.ОС;
Если РеквизитыДоговора.ТипДоговора = ПредопределенноеЗначение("Перечисление.ТипыДоговоровАренды.Аренда")
И РеквизитыДоговора.СпособОпределенияСтоимостиАктивов = ПредопределенноеЗначение("Перечисление.СпособыОпределенияСтоимостиПредметовАренды.Вручную") Тогда
ПараметрыРасчета.СтоимостьПредметовАренды = Объект.ОС.Итог("СправедливаяСтоимость") - Объект.ОС.Итог("НегарантированнаяСтоимость");
Иначе
ПараметрыРасчета.СтоимостьПредметовАренды = Объект.ОС.Итог("Стоимость");
КонецЕсли;
УчетАрендованныхОС.РассчитатьСтавкуСтоимостьПроценты(ПараметрыРасчета);
Объект.ПроцентнаяСтавка = ПараметрыРасчета.ПроцентнаяСтавка;
Объект.СуммаПроцентов = ПараметрыРасчета.СуммаПроцентов;
Объект.ПриведеннаяСтоимость = ПараметрыРасчета.ПриведеннаяСтоимость;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли