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