#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("РеестрДокументов");
РаспределениеРасходовБудущихПериодовЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.РаспределениеРасходовБудущихПериодов") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаДвиженияДоходыРасходыПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
РаспределениеРасходовБудущихПериодовЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
РаспределениеРасходовБудущихПериодовЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.РаспределениеРасходовБудущихПериодов) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.РаспределениеРасходовБудущихПериодов.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.РаспределениеРасходовБудущихПериодов);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьУчетПрочихДоходовРасходов";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
РаспределениеРасходовБудущихПериодовЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат РаспределениеРасходовБудущихПериодовЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат РаспределениеРасходовБудущихПериодовЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
МассивПаметровВыбора = Новый Массив;
#Область СтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область РаспределениеРасходовСтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.РаспределениеРасходов";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("РаспределениеРасходовСтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("РаспределениеРасходовАналитикаРасходов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
Возврат МассивПаметровВыбора;
КонецФункции
Функция ПолучитьДатуВозникновенияРБП(ДанныеЗаполнения) Экспорт
ТекстЗапроса = "
|ВЫБРАТЬ
| МАКСИМУМ(ДатыРасходов.Период) КАК Период
|ИЗ
| (ВЫБРАТЬ
| ПрочиеРасходы.Период КАК Период
| ИЗ
| РегистрНакопления.ПрочиеРасходы КАК ПрочиеРасходы
| ГДЕ
| ПрочиеРасходы.Организация = &Организация
| И ПрочиеРасходы.Подразделение = &Подразделение
| И ПрочиеРасходы.НаправлениеДеятельности = &НаправлениеДеятельности
| И ПрочиеРасходы.СтатьяРасходов = &СтатьяРасходов
| И ПрочиеРасходы.АналитикаРасходов = &АналитикаРасходов
| И ПрочиеРасходы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| И ПрочиеРасходы.Активность
| И ПрочиеРасходы.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| СебестоимостьТоваров.Период
| ИЗ
| РегистрНакопления.СебестоимостьТоваров КАК СебестоимостьТоваров
| ГДЕ
| СебестоимостьТоваров.Организация = &Организация
| И СебестоимостьТоваров.Подразделение = &Подразделение
| И СебестоимостьТоваров.КорНаправлениеДеятельности = &НаправлениеДеятельности
| И СебестоимостьТоваров.СтатьяРасходовСписания = &СтатьяРасходов
| И СебестоимостьТоваров.АналитикаРасходов = &АналитикаРасходов
| И СебестоимостьТоваров.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| И СебестоимостьТоваров.Активность
| И СебестоимостьТоваров.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
| И СебестоимостьТоваров.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеТоваровПоТребованию)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
|) КАК ДатыРасходов";
Если НЕ ЗначениеЗаполнено(ДанныеЗаполнения.СтатьяРасходов)
И ТипЗнч(ДанныеЗаполнения.АналитикаРасходов) = Тип("СправочникСсылка.ОбъектыВозникновенияЗатрат") Тогда
ТекстЗапроса = "
|ВЫБРАТЬ
| МАКСИМУМ(ДатыРасходов.Период) КАК Период
|ИЗ
| (ВЫБРАТЬ
| ПрочиеРасходы.Период КАК Период
| ИЗ
| РегистрНакопления.ПрочиеРасходы КАК ПрочиеРасходы
| ГДЕ
| ПрочиеРасходы.Организация = &Организация
| И ПрочиеРасходы.Подразделение = &Подразделение
| И ПрочиеРасходы.АналитикаРасходов = &АналитикаРасходов
| И ПрочиеРасходы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| И ПрочиеРасходы.Активность
| И ПрочиеРасходы.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| СебестоимостьТоваров.Период
| ИЗ
| РегистрНакопления.СебестоимостьТоваров КАК СебестоимостьТоваров
| ГДЕ
| СебестоимостьТоваров.Организация = &Организация
| И СебестоимостьТоваров.Подразделение = &Подразделение
| И СебестоимостьТоваров.АналитикаРасходов = &АналитикаРасходов
| И СебестоимостьТоваров.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| И СебестоимостьТоваров.Активность
| И СебестоимостьТоваров.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
| И СебестоимостьТоваров.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеТоваровПоТребованию)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
|) КАК ДатыРасходов";
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
ОбщегоНазначенияУТ.УстановитьПараметрыЗапроса(Запрос, ДанныеЗаполнения);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Выборка.Следующий();
Возврат НачалоДня(Выборка.Период);
КонецФункции
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
Функция ТекстЗапросаРасходыКРаспределениюИсточники(РежимОтладкиПоИсточникам = Ложь) Экспорт
#Область ТекстОписаниеПолей
ТекстОписаниеПолей = "
|ВЫБРАТЬ ПЕРВЫЕ 0
| "" КАК ЗапросИсточник,
| ДД.Организация КАК Организация,
| ДД.Подразделение КАК Подразделение,
| ДД.СтатьяРасходов КАК СтатьяРасходов,
| ДД.АналитикаРасходов КАК АналитикаРасходов,
| ДД.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДД.Сумма КАК СуммаПриход,
| ДД.Сумма КАК СуммаБезНДСПриход,
| ДД.Сумма КАК СуммаУпрПриход,
| ДД.Сумма КАК СуммаРеглПриход,
| ДД.Сумма КАК ПостояннаяРазницаПриход,
| ДД.Сумма КАК ВременнаяРазницаПриход,
| ДД.Сумма КАК СуммаНДДПриход,
| ДД.Сумма КАК СуммаРасход,
| ДД.Сумма КАК СуммаБезНДСРасход,
| ДД.Сумма КАК СуммаУпрРасход,
| ДД.Сумма КАК СуммаРеглРасход,
| ДД.Сумма КАК ПостояннаяРазницаРасход,
| ДД.Сумма КАК ВременнаяРазницаРасход,
| ДД.Сумма КАК СуммаНДДРасход,
| ДД.Сумма КАК СуммаОстаток,
| ДД.Сумма КАК СуммаБезНДСОстаток,
| ДД.Сумма КАК СуммаУпрОстаток,
| ДД.Сумма КАК СуммаРеглОстаток,
| ДД.Сумма КАК ПостояннаяРазницаОстаток,
| ДД.Сумма КАК ВременнаяРазницаОстаток,
| ДД.Сумма КАК СуммаНДДОстаток,
| ДД.Сумма КАК СуммаОстатокИтог,
| ДД.Сумма КАК СуммаБезНДСОстатокИтог,
| ДД.Сумма КАК СуммаУпрОстатокИтог,
| ДД.Сумма КАК СуммаРеглОстатокИтог,
| ДД.Сумма КАК ПостояннаяРазницаОстатокИтог,
| ДД.Сумма КАК ВременнаяРазницаОстатокИтог,
| ДД.Сумма КАК СуммаНДДОстатокИтог,
| ЛОЖЬ КАК БезСуммУпр,
| ЛОЖЬ КАК БезСуммРегл,
| ЛОЖЬ КАК БезСуммНУ,
| ЛОЖЬ КАК БезСуммНДД,
| ЛОЖЬ КАК ЭтоОВЗ
|ИЗ
| РегистрНакопления.ПрочиеРасходы КАК ДД";
#КонецОбласти
#Область ТекстИзмененияРБП
ТекстИзмененияРБП = "
|ВЫБРАТЬ
| "",
| ДД.Организация,
| ДД.Подразделение,
| ДД.СтатьяРасходов,
| ДД.АналитикаРасходов,
| ДД.НаправлениеДеятельности,
| ВЫБОР КОГДА СтатьяУпр.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| ВЫБОР КОГДА ДД.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ *
| ДД.Сумма,
| ВЫБОР КОГДА СтатьяУпр.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| ВЫБОР КОГДА ДД.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ *
| ДД.СуммаБезНДС,
| ВЫБОР КОГДА СтатьяУпр.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| ВЫБОР КОГДА ДД.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ *
| ДД.СуммаУпр,
| ВЫБОР КОГДА СтатьяРегл.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| ВЫБОР КОГДА ДД.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ *
| ДД.СуммаРегл,
| ВЫБОР КОГДА СтатьяРегл.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| ВЫБОР КОГДА ДД.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ *
| ДД.ПостояннаяРазница +
| 0,
| ВЫБОР КОГДА СтатьяРегл.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| ВЫБОР КОГДА ДД.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ *
| (ДД.СуммаРегл - ДД.ПостояннаяРазница) +
| ВЫБОР КОГДА СтатьяНУ.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| ВЫБОР КОГДА ДД.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ *
| (ДД.ПостояннаяРазница + ДД.ВременнаяРазница-ДД.СуммаРегл) +
| 0,
| ВЫБОР КОГДА СтатьяНУ.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| ДД.СуммаНДД +
| 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,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| ВЫБОР КОГДА СтатьяУпр.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| Расходы.Сумма,
| ВЫБОР КОГДА СтатьяУпр.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| Расходы.СуммаБезНДС,
| ВЫБОР КОГДА СтатьяУпр.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| Расходы.СуммаУпр,
| Расходы.СуммаРегл,
| ВЫБОР КОГДА СтатьяРегл.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| Расходы.ПостояннаяРазница +
| 0,
| ВЫБОР КОГДА СтатьяРегл.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| (Расходы.СуммаРегл - Расходы.ПостояннаяРазница) +
| ВЫБОР КОГДА СтатьяНУ.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| Расходы.ПостояннаяРазница + Расходы.ВременнаяРазница-Расходы.СуммаРегл +
| 0,
| ВЫБОР КОГДА СтатьяНУ.Ссылка ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ *
| Расходы.СуммаНДД +
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| ЛОЖЬ КАК БезСуммУпр,
| ЛОЖЬ КАК БезСуммРегл,
| ЛОЖЬ КАК БезСуммНУ,
| ЛОЖЬ КАК БезСуммНДД,
| ЛОЖЬ
| ИЗ
| РегистрНакопления.ПрочиеРасходы КАК Расходы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК Распределение
| ПО Расходы.Регистратор = Распределение.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьяУпр
| ПО СтатьяУпр.Ссылка = Расходы.СтатьяРасходов
| И СтатьяУпр.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| И Распределение.УправленческийУчет
| И (Распределение.Дата <= &КонецПериода
| И НЕ Расходы.РасчетСебестоимости
| И НЕ Распределение.ВариантУказанияСуммыУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| ИЛИ Распределение.Дата < &НачалоПериода)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьяРегл
| ПО СтатьяРегл.Ссылка = Расходы.СтатьяРасходов
| И СтатьяРегл.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| И Распределение.РегламентированныйУчет
| И (Распределение.Дата <= &КонецПериода
| И НЕ Расходы.РасчетСебестоимости
| И НЕ Распределение.ВариантУказанияСуммыРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| ИЛИ Распределение.Дата < &НачалоПериода)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьяНУ
| ПО СтатьяНУ.Ссылка = Расходы.СтатьяРасходов
| И СтатьяНУ.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| И Распределение.НалоговыйУчет
| И (Распределение.Дата <= &КонецПериода
| И НЕ Расходы.РасчетСебестоимости
| И НЕ Распределение.ВариантУказанияСуммыРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| ИЛИ Распределение.Дата < &НачалоПериода)
| ГДЕ
| Расходы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| И Расходы.Период >= &НачалоПериода
| И Расходы.Активность
| И (&ПоВсемОрганизациям ИЛИ Расходы.Организация = &Организация)
| И (&ПоВсемПодразделениям ИЛИ Расходы.Подразделение = &Подразделение)
| И (
| СтатьяУпр.Ссылка ЕСТЬ НЕ NULL
| ИЛИ СтатьяРегл.Ссылка ЕСТЬ НЕ NULL
| ИЛИ СтатьяНУ.Ссылка ЕСТЬ НЕ NULL
| )
|";
#КонецОбласти
#Область ТекстСписаниеМатериаловРаботНаРБП
ТекстСписаниеМатериаловРаботНаРБП = "
| ВЫБРАТЬ
| "",
| ЕСТЬNULL(ОрганизацияПолучатель.Ссылка, Себестоимость.Организация),
| Себестоимость.Подразделение,
| Себестоимость.СтатьяРасходовСписания,
| Себестоимость.АналитикаРасходов,
| ЕСТЬNULL(Назначения.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)),
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| СтатьяУпр.Ссылка ЕСТЬ НЕ NULL И РаспределениеУпр.Ссылка ЕСТЬ NULL КАК БезСуммУпр,
| СтатьяРегл.Ссылка ЕСТЬ НЕ NULL И РаспределениеРегл.Ссылка ЕСТЬ NULL КАК БезСуммРегл,
| СтатьяНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL ИЛИ
| ЛОЖЬ КАК БезСуммНУ,
| СтатьяНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL ИЛИ
| ЛОЖЬ КАК БезСуммДД,
| ЛОЖЬ
| ИЗ
| РегистрНакопления.СебестоимостьТоваров КАК Себестоимость
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Назначения КАК Назначения
| ПО Назначения.Ссылка = Себестоимость.АналитикаУчетаНоменклатуры.Назначение
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК ОрганизацияПолучатель
| ПО ОрганизацияПолучатель.Ссылка = Себестоимость.КорОрганизация
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьяУпр
| ПО СтатьяУпр.Ссылка = Себестоимость.СтатьяРасходовСписания
| И СтатьяУпр.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьяРегл
| ПО СтатьяРегл.Ссылка = Себестоимость.СтатьяРасходовСписания
| И СтатьяРегл.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьяНУ
| ПО СтатьяНУ.Ссылка = Себестоимость.СтатьяРасходовСписания
| И СтатьяНУ.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеУпр
| ПО
| РаспределениеУпр.Организация = ЕСТЬNULL(ОрганизацияПолучатель.Ссылка, Себестоимость.Организация)
| И РаспределениеУпр.Подразделение = Себестоимость.Подразделение
| И РаспределениеУпр.СтатьяРасходов = СтатьяУпр.Ссылка
| И РаспределениеУпр.АналитикаРасходов = Себестоимость.АналитикаРасходов
| И РаспределениеУпр.НаправлениеДеятельности = ЕСТЬNULL(Назначения.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| И РаспределениеУпр.УправленческийУчет
| И РаспределениеУпр.Проведен
| И РаспределениеУпр.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеРегл
| ПО
| РаспределениеРегл.Организация = ЕСТЬNULL(ОрганизацияПолучатель.Ссылка, Себестоимость.Организация)
| И РаспределениеРегл.Подразделение = Себестоимость.Подразделение
| И РаспределениеРегл.СтатьяРасходов = СтатьяРегл.Ссылка
| И РаспределениеРегл.АналитикаРасходов = Себестоимость.АналитикаРасходов
| И РаспределениеРегл.НаправлениеДеятельности = ЕСТЬNULL(Назначения.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| И РаспределениеРегл.РегламентированныйУчет
| И РаспределениеРегл.Проведен
| И РаспределениеРегл.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеНУ
| ПО
| РаспределениеНУ.Организация = ЕСТЬNULL(ОрганизацияПолучатель.Ссылка, Себестоимость.Организация)
| И РаспределениеНУ.Подразделение = Себестоимость.Подразделение
| И РаспределениеНУ.СтатьяРасходов = СтатьяНУ.Ссылка
| И РаспределениеНУ.АналитикаРасходов = Себестоимость.АналитикаРасходов
| И РаспределениеНУ.НаправлениеДеятельности = ЕСТЬNULL(Назначения.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| И РаспределениеНУ.НалоговыйУчет
| И РаспределениеНУ.Проведен
| И РаспределениеНУ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| ГДЕ
| Себестоимость.Период МЕЖДУ &НачалоПериода И &КонецПериода
| И Себестоимость.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| И (&ПоВсемОрганизациям ИЛИ Себестоимость.Организация = &Организация)
| И (&ПоВсемПодразделениям ИЛИ Себестоимость.Подразделение = &Подразделение)
| И ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
| ИЗ РегистрСведений.ЗаданияКРасчетуСебестоимости КАК Задания
| ГДЕ
| Задания.Месяц <= &НачалоПериода
| И Задания.Организация = Себестоимость.Организация
| )
| И (
| СтатьяУпр.Ссылка ЕСТЬ НЕ NULL И РаспределениеУпр.Ссылка ЕСТЬ NULL
| ИЛИ СтатьяРегл.Ссылка ЕСТЬ НЕ NULL И РаспределениеРегл.Ссылка ЕСТЬ NULL
| ИЛИ СтатьяНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL
| )
|";
#КонецОбласти
#Область ТекстСписаниеРасходовНаРБП
ТекстСписаниеРасходовНаРБП = "
| ВЫБРАТЬ
| "",
| ДД.Организация,
| СписаниеРасходов.Подразделение,
| СписаниеРасходов.СтатьяРасходов,
| СписаниеРасходов.АналитикаРасходов,
| СписаниеРасходов.НаправлениеДеятельности,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| СтатьяУпр.Ссылка ЕСТЬ НЕ NULL И РаспределениеУпр.Ссылка ЕСТЬ NULL КАК БезСуммУпр,
| СтатьяРегл.Ссылка ЕСТЬ НЕ NULL И РаспределениеРегл.Ссылка ЕСТЬ NULL КАК БезСуммРегл,
| СтатьяНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL ИЛИ
| ЛОЖЬ КАК БезСуммНУ,
| СтатьяНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL ИЛИ
| ЛОЖЬ КАК БезСуммДД,
| ЛОЖЬ
| ИЗ
| Документ.РаспределениеПрочихЗатрат.Списание КАК СписаниеРасходов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РаспределениеПрочихЗатрат КАК ДД
| ПО СписаниеРасходов.Ссылка = ДД.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьяУпр
| ПО СтатьяУпр.Ссылка = СписаниеРасходов.СтатьяРасходов
| И СтатьяУпр.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьяРегл
| ПО СтатьяРегл.Ссылка = СписаниеРасходов.СтатьяРасходов
| И СтатьяРегл.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьяНУ
| ПО СтатьяНУ.Ссылка = СписаниеРасходов.СтатьяРасходов
| И СтатьяНУ.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеУпр
| ПО
| РаспределениеУпр.Организация = ДД.Организация
| И РаспределениеУпр.Подразделение = СписаниеРасходов.Подразделение
| И РаспределениеУпр.СтатьяРасходов = СтатьяУпр.Ссылка
| И РаспределениеУпр.АналитикаРасходов = СписаниеРасходов.АналитикаРасходов
| И РаспределениеУпр.НаправлениеДеятельности = СписаниеРасходов.НаправлениеДеятельности
| И РаспределениеУпр.УправленческийУчет
| И РаспределениеУпр.Проведен
| И РаспределениеУпр.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеРегл
| ПО
| РаспределениеРегл.Организация = ДД.Организация
| И РаспределениеРегл.Подразделение = СписаниеРасходов.Подразделение
| И РаспределениеРегл.СтатьяРасходов = СтатьяРегл.Ссылка
| И РаспределениеРегл.АналитикаРасходов = СписаниеРасходов.АналитикаРасходов
| И РаспределениеРегл.НаправлениеДеятельности = СписаниеРасходов.НаправлениеДеятельности
| И РаспределениеРегл.РегламентированныйУчет
| И РаспределениеРегл.Проведен
| И РаспределениеРегл.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеНУ
| ПО
| РаспределениеНУ.Организация = ДД.Организация
| И РаспределениеНУ.Подразделение = СписаниеРасходов.Подразделение
| И РаспределениеНУ.СтатьяРасходов = СтатьяНУ.Ссылка
| И РаспределениеНУ.АналитикаРасходов = СписаниеРасходов.АналитикаРасходов
| И РаспределениеНУ.НаправлениеДеятельности = СписаниеРасходов.НаправлениеДеятельности
| И РаспределениеНУ.НалоговыйУчет
| И РаспределениеНУ.Проведен
| И РаспределениеНУ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| ГДЕ
| ДД.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И ДД.УправленческийУчет
| И ДД.Проведен
| И (&ПоВсемОрганизациям ИЛИ ДД.Организация = &Организация)
| И (&ПоВсемПодразделениям ИЛИ СписаниеРасходов.Подразделение = &Подразделение)
| И ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
| ИЗ РегистрСведений.ЗаданияКРасчетуСебестоимости КАК Задания
| ГДЕ
| Задания.Месяц <= ДД.Дата
| И Задания.Организация = ДД.Организация
| )
| И (
| СтатьяУпр.Ссылка ЕСТЬ НЕ NULL И РаспределениеУпр.Ссылка ЕСТЬ NULL
| ИЛИ СтатьяРегл.Ссылка ЕСТЬ НЕ NULL И РаспределениеРегл.Ссылка ЕСТЬ NULL
| ИЛИ СтатьяНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL
| )
|";
#КонецОбласти
#Область ТекстПереходящийОстатокРБП
ТекстПереходящийОстатокРБП = "
| ВЫБРАТЬ
| "",
| Остатки.Организация,
| Остатки.Подразделение,
| Остатки.СтатьяРасходов,
| Остатки.АналитикаРасходов,
| Остатки.НаправлениеДеятельности,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовУпр =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| Остатки.СуммаОстаток,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовУпр =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| Остатки.СуммаБезНДСОстаток,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовУпр =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| Остатки.СуммаУпрОстаток,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовРегл =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| Остатки.СуммаРеглОстаток,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовРегл =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| Остатки.ПостояннаяРазницаОстаток +
| 0,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовРегл =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| (Остатки.СуммаРеглОстаток - Остатки.ПостояннаяРазницаОстаток) +
|
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовНУ =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| (Остатки.ПостояннаяРазницаОстаток + Остатки.ВременнаяРазницаОстаток - Остатки.СуммаРеглОстаток) +
| 0,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовНУ =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 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,
| 0,
| 0,
| 0,
| 0,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовУпр =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| Остатки.СуммаОстаток,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовУпр =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| Остатки.СуммаБезНДСОстаток,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовУпр =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| Остатки.СуммаУпрОстаток,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовРегл =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| Остатки.СуммаРеглОстаток,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовРегл =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| Остатки.ПостояннаяРазницаОстаток +
| 0,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовРегл =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| (Остатки.СуммаРеглОстаток - Остатки.ПостояннаяРазницаОстаток) +
|
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовНУ =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| (Остатки.ПостояннаяРазницаОстаток + Остатки.ВременнаяРазницаОстаток - Остатки.СуммаРеглОстаток) +
| 0,
| ВЫБОР КОГДА
| СтатьяРасходов.ВариантРаспределенияРасходовНУ =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ТОГДА 1 ИНАЧЕ 0
| КОНЕЦ *
| Остатки.СуммаНДДОстаток,
| ЛОЖЬ КАК БезСуммУпр,
| ЛОЖЬ КАК БезСуммРегл,
| ЛОЖЬ КАК БезСуммНУ,
| ЛОЖЬ КАК БезСуммДД,
| ЛОЖЬ
| ИЗ
| РегистрНакопления.ПрочиеРасходы.Остатки(
| ДАТАВРЕМЯ(3999, 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,
| 0,
| 0,
| 0,
| ОВЗУпр.Ссылка ЕСТЬ НЕ NULL И РаспределениеУпр.Ссылка ЕСТЬ NULL КАК БезСуммУпр,
| ОВЗРегл.Ссылка ЕСТЬ НЕ NULL И РаспределениеРегл.Ссылка ЕСТЬ NULL КАК БезСуммРегл,
| ОВЗНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL ИЛИ
| ЛОЖЬ КАК БезСуммНУ,
| ОВЗНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL ИЛИ
| ЛОЖЬ КАК БезСуммДД,
| ИСТИНА
| ИЗ
| РегистрНакопления.ПрочиеРасходы КАК Приходы
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОВЗУпр
| ПО (ОВЗУпр.Ссылка = Приходы.АналитикаРасходов)
| И ОВЗУпр.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеУпр
| ПО НАЧАЛОПЕРИОДА(РаспределениеУпр.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Приходы.Период, МЕСЯЦ)
| И РаспределениеУпр.Проведен
| И РаспределениеУпр.УправленческийУчет
| И РаспределениеУпр.ВариантУказанияСуммыУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| И РаспределениеУпр.Организация = Приходы.Организация
| И РаспределениеУпр.Подразделение = Приходы.Подразделение
| И РаспределениеУпр.АналитикаРасходов = ОВЗУпр.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОВЗРегл
| ПО (ОВЗРегл.Ссылка = Приходы.АналитикаРасходов)
| И ОВЗРегл.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеРегл
| ПО НАЧАЛОПЕРИОДА(РаспределениеРегл.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Приходы.Период, МЕСЯЦ)
| И РаспределениеРегл.Проведен
| И РаспределениеРегл.РегламентированныйУчет
| И РаспределениеРегл.ВариантУказанияСуммыРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| И РаспределениеРегл.Организация = Приходы.Организация
| И РаспределениеРегл.Подразделение = Приходы.Подразделение
| И РаспределениеРегл.АналитикаРасходов = ОВЗРегл.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОВЗНУ
| ПО (ОВЗНУ.Ссылка = Приходы.АналитикаРасходов)
| И ОВЗНУ.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеНУ
| ПО НАЧАЛОПЕРИОДА(РаспределениеНУ.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Приходы.Период, МЕСЯЦ)
| И РаспределениеНУ.Проведен
| И РаспределениеНУ.НалоговыйУчет
| И РаспределениеНУ.ВариантУказанияСуммыРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| И РаспределениеНУ.Организация = Приходы.Организация
| И РаспределениеНУ.Подразделение = Приходы.Подразделение
| И РаспределениеНУ.АналитикаРасходов = ОВЗНУ.Ссылка
| ГДЕ
| Приходы.Период МЕЖДУ &НачалоПериода И &КонецПериода
| И Приходы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| И (&ПоВсемОрганизациям ИЛИ Приходы.Организация = &Организация)
| И (&ПоВсемПодразделениям ИЛИ Приходы.Подразделение = &Подразделение)
| И (
| ОВЗУпр.Ссылка ЕСТЬ НЕ NULL И РаспределениеУпр.Ссылка ЕСТЬ NULL
| ИЛИ ОВЗРегл.Ссылка ЕСТЬ НЕ NULL И РаспределениеРегл.Ссылка ЕСТЬ NULL
| ИЛИ ОВЗНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL
| )
|";
#КонецОбласти
#Область ТекстСписаниеМатериаловРаботНаРБПОВЗ
ТекстСписаниеМатериаловРаботНаРБПОВЗ = "
| ВЫБРАТЬ
| "",
| Себестоимость.Организация,
| Себестоимость.Подразделение,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка),
| Себестоимость.АналитикаРасходов,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка),
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| ОВЗУпр.Ссылка ЕСТЬ НЕ NULL И РаспределениеУпр.Ссылка ЕСТЬ NULL КАК БезСуммУпр,
| ОВЗРегл.Ссылка ЕСТЬ НЕ NULL И РаспределениеРегл.Ссылка ЕСТЬ NULL КАК БезСуммРегл,
| ОВЗНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL ИЛИ
| ЛОЖЬ КАК БезСуммНУ,
| ОВЗНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL ИЛИ
| ЛОЖЬ КАК БезСуммДД,
| ИСТИНА
| ИЗ
| РегистрНакопления.СебестоимостьТоваров КАК Себестоимость
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Назначения КАК Назначения
| ПО (Назначения.Ссылка = Себестоимость.АналитикаУчетаНоменклатуры.Назначение)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОВЗУпр
| ПО (ОВЗУпр.Ссылка = Себестоимость.АналитикаРасходов)
| И ОВЗУпр.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеУпр
| ПО НАЧАЛОПЕРИОДА(РаспределениеУпр.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Себестоимость.Период, МЕСЯЦ)
| И РаспределениеУпр.Проведен
| И РаспределениеУпр.УправленческийУчет
| И РаспределениеУпр.ВариантУказанияСуммыУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| И РаспределениеУпр.Организация = Себестоимость.Организация
| И РаспределениеУпр.Подразделение = Себестоимость.Подразделение
| И РаспределениеУпр.АналитикаРасходов = ОВЗУпр.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОВЗРегл
| ПО (ОВЗРегл.Ссылка = Себестоимость.АналитикаРасходов)
| И ОВЗРегл.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеРегл
| ПО НАЧАЛОПЕРИОДА(РаспределениеРегл.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Себестоимость.Период, МЕСЯЦ)
| И РаспределениеРегл.Проведен
| И РаспределениеРегл.РегламентированныйУчет
| И РаспределениеРегл.ВариантУказанияСуммыРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| И РаспределениеРегл.Организация = Себестоимость.Организация
| И РаспределениеРегл.Подразделение = Себестоимость.Подразделение
| И РаспределениеРегл.АналитикаРасходов = ОВЗРегл.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОВЗНУ
| ПО (ОВЗНУ.Ссылка = Себестоимость.АналитикаРасходов)
| И ОВЗНУ.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеНУ
| ПО НАЧАЛОПЕРИОДА(РаспределениеНУ.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Себестоимость.Период, МЕСЯЦ)
| И РаспределениеНУ.Проведен
| И РаспределениеНУ.НалоговыйУчет
| И РаспределениеНУ.ВариантУказанияСуммыРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| И РаспределениеНУ.Организация = Себестоимость.Организация
| И РаспределениеНУ.Подразделение = Себестоимость.Подразделение
| И РаспределениеНУ.АналитикаРасходов = ОВЗНУ.Ссылка
| ГДЕ
| Себестоимость.Период МЕЖДУ &НачалоПериода И &КонецПериода
| И Себестоимость.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| И (&ПоВсемОрганизациям ИЛИ Себестоимость.Организация = &Организация)
| И (&ПоВсемПодразделениям ИЛИ Себестоимость.Подразделение = &Подразделение)
| И (
| ОВЗУпр.Ссылка ЕСТЬ НЕ NULL И РаспределениеУпр.Ссылка ЕСТЬ NULL
| ИЛИ ОВЗРегл.Ссылка ЕСТЬ НЕ NULL И РаспределениеРегл.Ссылка ЕСТЬ NULL
| ИЛИ ОВЗНУ.Ссылка ЕСТЬ НЕ NULL И РаспределениеНУ.Ссылка ЕСТЬ NULL
| )
|";
#КонецОбласти
#Область ТекстРБПизТранзитныхОВЗПостоянныеПоказатели
ТекстРБПизТранзитныхОВЗПостоянныеПоказателиУпр = "
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| "",
| ОбъектыВозникновенияЗатрат.Организация,
| ОбъектыВозникновенияЗатрат.Подразделение,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка),
| ОбъектыВозникновенияЗатрат.Ссылка,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка),
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| ИСТИНА КАК БезСуммУпр,
| ЛОЖЬ КАК БезСуммРегл,
| ЛОЖЬ КАК БезСуммНУ,
| ЛОЖЬ КАК БезСуммДД,
| ИСТИНА
| ИЗ
| Документ.РаспределениеПрочихЗатрат КАК РаспределениеПрочихИзОВЗ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПоказателейДляРаспределенияРасходовНаОВЗ.СрезПоследних(&КонецПериода) КАК СрезЗначений
| ПО СрезЗначений.Показатель = РаспределениеПрочихИзОВЗ.Показатель
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОбъектыВозникновенияЗатрат
| ПО ОбъектыВозникновенияЗатрат.Ссылка = СрезЗначений.ОВЗ
| И ОбъектыВозникновенияЗатрат.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеРБП
| ПО РаспределениеРБП.Организация = ОбъектыВозникновенияЗатрат.Организация
| И РаспределениеРБП.Подразделение = ОбъектыВозникновенияЗатрат.Подразделение
| И РаспределениеРБП.АналитикаРасходов = ОбъектыВозникновенияЗатрат.Ссылка
| И РаспределениеРБП.УправленческийУчет
| И РаспределениеРБП.Проведен
| И НАЧАЛОПЕРИОДА(РаспределениеРБП.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РаспределениеПрочихИзОВЗ.Дата, МЕСЯЦ)
| ГДЕ
| РаспределениеПрочихИзОВЗ.Проведен
| И РаспределениеПрочихИзОВЗ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И РаспределениеПрочихИзОВЗ.УправленческийУчет
| И НЕ СрезЗначений.ЗначениеПоказателя = 0
| И (&ПоВсемОрганизациям ИЛИ ОбъектыВозникновенияЗатрат.Организация = &Организация)
| И (&ПоВсемПодразделениям ИЛИ ОбъектыВозникновенияЗатрат.Подразделение = &Подразделение)
| И РаспределениеРБП.Ссылка ЕСТЬ NULL
| И ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 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,
| 0,
| 0,
| 0,
| ЛОЖЬ КАК БезСуммУпр,
| ИСТИНА КАК БезСуммРегл,
| ЛОЖЬ КАК БезСуммНУ,
| ЛОЖЬ КАК БезСуммДД,
| ИСТИНА
| ИЗ
| Документ.РаспределениеПрочихЗатрат КАК РаспределениеПрочихИзОВЗ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПоказателейДляРаспределенияРасходовНаОВЗ.СрезПоследних(&КонецПериода) КАК СрезЗначений
| ПО СрезЗначений.Показатель = РаспределениеПрочихИзОВЗ.Показатель
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОбъектыВозникновенияЗатрат
| ПО ОбъектыВозникновенияЗатрат.Ссылка = СрезЗначений.ОВЗ
| И ОбъектыВозникновенияЗатрат.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеРБП
| ПО РаспределениеРБП.Организация = ОбъектыВозникновенияЗатрат.Организация
| И РаспределениеРБП.Подразделение = ОбъектыВозникновенияЗатрат.Подразделение
| И РаспределениеРБП.АналитикаРасходов = ОбъектыВозникновенияЗатрат.Ссылка
| И РаспределениеРБП.РегламентированныйУчет
| И РаспределениеРБП.Проведен
| И НАЧАЛОПЕРИОДА(РаспределениеРБП.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РаспределениеПрочихИзОВЗ.Дата, МЕСЯЦ)
| ГДЕ
| РаспределениеПрочихИзОВЗ.Проведен
| И РаспределениеПрочихИзОВЗ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И РаспределениеПрочихИзОВЗ.РегламентированныйУчет
| И НЕ СрезЗначений.ЗначениеПоказателя = 0
| И (&ПоВсемОрганизациям ИЛИ ОбъектыВозникновенияЗатрат.Организация = &Организация)
| И (&ПоВсемПодразделениям ИЛИ ОбъектыВозникновенияЗатрат.Подразделение = &Подразделение)
| И РаспределениеРБП.Ссылка ЕСТЬ NULL
| И ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 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,
| 0,
| 0,
| 0,
| ЛОЖЬ КАК БезСуммУпр,
| ЛОЖЬ КАК БезСуммРегл,
| ИСТИНА КАК БезСуммНУ,
| ИСТИНА КАК БезСуммДД,
| ИСТИНА
| ИЗ
| Документ.РаспределениеПрочихЗатрат КАК РаспределениеПрочихИзОВЗ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПоказателейДляРаспределенияРасходовНаОВЗ.СрезПоследних(&КонецПериода) КАК СрезЗначений
| ПО СрезЗначений.Показатель = РаспределениеПрочихИзОВЗ.Показатель
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОбъектыВозникновенияЗатрат
| ПО ОбъектыВозникновенияЗатрат.Ссылка = СрезЗначений.ОВЗ
| И ОбъектыВозникновенияЗатрат.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеРБП
| ПО РаспределениеРБП.Организация = ОбъектыВозникновенияЗатрат.Организация
| И РаспределениеРБП.Подразделение = ОбъектыВозникновенияЗатрат.Подразделение
| И РаспределениеРБП.АналитикаРасходов = ОбъектыВозникновенияЗатрат.Ссылка
| И РаспределениеРБП.НалоговыйУчет
| И РаспределениеРБП.Проведен
| И НАЧАЛОПЕРИОДА(РаспределениеРБП.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РаспределениеПрочихИзОВЗ.Дата, МЕСЯЦ)
| ГДЕ
| РаспределениеПрочихИзОВЗ.Проведен
| И РаспределениеПрочихИзОВЗ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И РаспределениеПрочихИзОВЗ.НалоговыйУчет
| И НЕ СрезЗначений.ЗначениеПоказателя = 0
| И (&ПоВсемОрганизациям ИЛИ ОбъектыВозникновенияЗатрат.Организация = &Организация)
| И (&ПоВсемПодразделениям ИЛИ ОбъектыВозникновенияЗатрат.Подразделение = &Подразделение)
| И РаспределениеРБП.Ссылка ЕСТЬ NULL
| И ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 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,
| 0,
| 0,
| 0,
| ИСТИНА КАК БезСуммУпр,
| ЛОЖЬ КАК БезСуммРегл,
| ЛОЖЬ КАК БезСуммНУ,
| ЛОЖЬ КАК БезСуммДД,
| ИСТИНА
| ИЗ
| Документ.РаспределениеПрочихЗатрат КАК РаспределениеПрочихИзОВЗ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПоказателейДляРаспределенияРасходовНаОВЗ КАК ЗначенияНаОВЗ
| ПО РаспределениеПрочихИзОВЗ.Показатель = ЗначенияНаОВЗ.Показатель
| И ЗначенияНаОВЗ.Показатель.БазаРаспределения = ЗНАЧЕНИЕ(Перечисление.ТипыБазыРаспределенияРасходов.ВводитсяЕжемесячно)
| И НАЧАЛОПЕРИОДА(РаспределениеПрочихИзОВЗ.Дата, МЕСЯЦ) = ЗначенияНаОВЗ.Период
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОбъектыВозникновенияЗатрат
| ПО ОбъектыВозникновенияЗатрат.Ссылка = ЗначенияНаОВЗ.ОВЗ
| И ОбъектыВозникновенияЗатрат.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеРБП
| ПО РаспределениеРБП.Организация = ОбъектыВозникновенияЗатрат.Организация
| И РаспределениеРБП.Подразделение = ОбъектыВозникновенияЗатрат.Подразделение
| И РаспределениеРБП.АналитикаРасходов = ОбъектыВозникновенияЗатрат.Ссылка
| И РаспределениеРБП.Проведен
| И РаспределениеРБП.УправленческийУчет
| И ОбъектыВозникновенияЗатрат.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| И НАЧАЛОПЕРИОДА(РаспределениеРБП.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РаспределениеПрочихИзОВЗ.Дата, МЕСЯЦ)
| ГДЕ
| НЕ ЗначенияНаОВЗ.ЗначениеПоказателя = 0
| И РаспределениеПрочихИзОВЗ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И РаспределениеПрочихИзОВЗ.УправленческийУчет
| И (&ПоВсемОрганизациям ИЛИ ОбъектыВозникновенияЗатрат.Организация = &Организация)
| И (&ПоВсемПодразделениям ИЛИ ОбъектыВозникновенияЗатрат.Подразделение = &Подразделение)
| И РаспределениеРБП.Ссылка ЕСТЬ NULL
| И ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 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,
| 0,
| 0,
| 0,
| ЛОЖЬ КАК БезСуммУпр,
| ИСТИНА КАК БезСуммРегл,
| ЛОЖЬ КАК БезСуммНУ,
| ЛОЖЬ КАК БезСуммДД,
| ИСТИНА
| ИЗ
| Документ.РаспределениеПрочихЗатрат КАК РаспределениеПрочихИзОВЗ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПоказателейДляРаспределенияРасходовНаОВЗ КАК ЗначенияНаОВЗ
| ПО РаспределениеПрочихИзОВЗ.Показатель = ЗначенияНаОВЗ.Показатель
| И ЗначенияНаОВЗ.Показатель.БазаРаспределения = ЗНАЧЕНИЕ(Перечисление.ТипыБазыРаспределенияРасходов.ВводитсяЕжемесячно)
| И НАЧАЛОПЕРИОДА(РаспределениеПрочихИзОВЗ.Дата, МЕСЯЦ) = ЗначенияНаОВЗ.Период
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОбъектыВозникновенияЗатрат
| ПО ОбъектыВозникновенияЗатрат.Ссылка = ЗначенияНаОВЗ.ОВЗ
| И ОбъектыВозникновенияЗатрат.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеРБП
| ПО РаспределениеРБП.Организация = ОбъектыВозникновенияЗатрат.Организация
| И РаспределениеРБП.Подразделение = ОбъектыВозникновенияЗатрат.Подразделение
| И РаспределениеРБП.АналитикаРасходов = ОбъектыВозникновенияЗатрат.Ссылка
| И РаспределениеРБП.Проведен
| И РаспределениеРБП.РегламентированныйУчет
| И ОбъектыВозникновенияЗатрат.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| И НАЧАЛОПЕРИОДА(РаспределениеРБП.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РаспределениеПрочихИзОВЗ.Дата, МЕСЯЦ)
| ГДЕ
| НЕ ЗначенияНаОВЗ.ЗначениеПоказателя = 0
| И РаспределениеПрочихИзОВЗ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И РаспределениеПрочихИзОВЗ.РегламентированныйУчет
| И (&ПоВсемОрганизациям ИЛИ ОбъектыВозникновенияЗатрат.Организация = &Организация)
| И (&ПоВсемПодразделениям ИЛИ ОбъектыВозникновенияЗатрат.Подразделение = &Подразделение)
| И РаспределениеРБП.Ссылка ЕСТЬ NULL
| И ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 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,
| 0,
| 0,
| 0,
| ЛОЖЬ КАК БезСуммУпр,
| ЛОЖЬ КАК БезСуммРегл,
| ИСТИНА КАК БезСуммНУ,
| ИСТИНА КАК БезСуммДД,
| ИСТИНА
| ИЗ
| Документ.РаспределениеПрочихЗатрат КАК РаспределениеПрочихИзОВЗ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПоказателейДляРаспределенияРасходовНаОВЗ КАК ЗначенияНаОВЗ
| ПО РаспределениеПрочихИзОВЗ.Показатель = ЗначенияНаОВЗ.Показатель
| И ЗначенияНаОВЗ.Показатель.БазаРаспределения = ЗНАЧЕНИЕ(Перечисление.ТипыБазыРаспределенияРасходов.ВводитсяЕжемесячно)
| И НАЧАЛОПЕРИОДА(РаспределениеПрочихИзОВЗ.Дата, МЕСЯЦ) = ЗначенияНаОВЗ.Период
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыВозникновенияЗатрат КАК ОбъектыВозникновенияЗатрат
| ПО ОбъектыВозникновенияЗатрат.Ссылка = ЗначенияНаОВЗ.ОВЗ
| И ОбъектыВозникновенияЗатрат.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеРБП
| ПО РаспределениеРБП.Организация = ОбъектыВозникновенияЗатрат.Организация
| И РаспределениеРБП.Подразделение = ОбъектыВозникновенияЗатрат.Подразделение
| И РаспределениеРБП.АналитикаРасходов = ОбъектыВозникновенияЗатрат.Ссылка
| И РаспределениеРБП.Проведен
| И РаспределениеРБП.НалоговыйУчет
| И ОбъектыВозникновенияЗатрат.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| И НАЧАЛОПЕРИОДА(РаспределениеРБП.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РаспределениеПрочихИзОВЗ.Дата, МЕСЯЦ)
| ГДЕ
| НЕ ЗначенияНаОВЗ.ЗначениеПоказателя = 0
| И РаспределениеПрочихИзОВЗ.НалоговыйУчет
| И РаспределениеПрочихИзОВЗ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И (&ПоВсемОрганизациям ИЛИ ОбъектыВозникновенияЗатрат.Организация = &Организация)
| И (&ПоВсемПодразделениям ИЛИ ОбъектыВозникновенияЗатрат.Подразделение = &Подразделение)
| И РаспределениеРБП.Ссылка ЕСТЬ NULL
| И ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
| ИЗ РегистрСведений.ЗаданияКРасчетуСебестоимости КАК Задания
| ГДЕ
| Задания.Месяц <= РаспределениеПрочихИзОВЗ.Дата
| И Задания.Организация = РаспределениеПрочихИзОВЗ.Организация
| )
|";
#КонецОбласти
ТекстыЗапроса = Новый Массив;
ТекстыЗапроса.Добавить(ТекстОписаниеПолей);
ТекстыЗапроса.Добавить(ТекстИзмененияРБП);
ТекстыЗапроса.Добавить(ТекстРасходыРБП);
ТекстыЗапроса.Добавить(ТекстСписаниеМатериаловРаботНаРБП);
ТекстыЗапроса.Добавить(ТекстПереходящийОстатокРБП);
ТекстыЗапроса.Добавить(ТекстОстатокНераспределенныхРБП);
ТекстыЗапроса.Добавить(ТекстСписаниеРасходовНаРБП);
Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоОбъектамВозникновенияЗатрат") Тогда
ТекстыЗапроса.Добавить(ТекстПриходыРБПОВЗ);
ТекстыЗапроса.Добавить(ТекстСписаниеМатериаловРаботНаРБПОВЗ);
ТекстыЗапроса.Добавить(ТекстРБПизТранзитныхОВЗПостоянныеПоказателиУпр);
ТекстыЗапроса.Добавить(ТекстРБПизТранзитныхОВЗПеременныеПоказателиУпр);
ТекстыЗапроса.Добавить(ТекстРБПизТранзитныхОВЗПостоянныеПоказателиРегл);
ТекстыЗапроса.Добавить(ТекстРБПизТранзитныхОВЗПеременныеПоказателиРегл);
ТекстыЗапроса.Добавить(ТекстРБПизТранзитныхОВЗПостоянныеПоказателиНУ);
ТекстыЗапроса.Добавить(ТекстРБПизТранзитныхОВЗПеременныеПоказателиНУ);
КонецЕсли;
Возврат СтрСоединить(ТекстыЗапроса, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
КонецФункции
Функция ТекстЗапросаРасходыКРаспределению(Первые = Ложь) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Данные.Организация КАК Организация,
| Данные.Подразделение КАК Подразделение,
| Данные.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Данные.СтатьяРасходов КАК СтатьяРасходов,
| СтатьяДанных.ВариантРаспределенияРасходовУпр КАК ВариантРаспределенияРасходовУпр,
| СтатьяДанных.ВариантРаспределенияРасходовРегл КАК ВариантРаспределенияРасходовРегл,
| СтатьяДанных.ВариантРаспределенияРасходовНУ КАК ВариантРаспределенияРасходовНУ,
| Данные.АналитикаРасходов КАК АналитикаРасходов,
| Данные.СуммаОстаток + Данные.СуммаПриход - Данные.СуммаРасход КАК Сумма,
| Данные.СуммаУпрОстаток + Данные.СуммаУпрПриход - Данные.СуммаУпрРасход КАК СуммаУпр,
| Данные.СуммаРеглОстаток + Данные.СуммаРеглПриход - Данные.СуммаРеглРасход КАК СуммаРегл,
| Данные.СуммаРеглОстаток + Данные.СуммаРеглПриход - Данные.СуммаРеглРасход
| - (Данные.ПостояннаяРазницаОстаток + Данные.ПостояннаяРазницаПриход - Данные.ПостояннаяРазницаРасход)
| - (Данные.ВременнаяРазницаОстаток + Данные.ВременнаяРазницаПриход - Данные.ВременнаяРазницаРасход) КАК СуммаНУ,
| Данные.ПостояннаяРазницаОстаток + Данные.ПостояннаяРазницаПриход - Данные.ПостояннаяРазницаРасход КАК ПостояннаяРазница,
| Данные.ВременнаяРазницаОстаток + Данные.ВременнаяРазницаПриход - Данные.ВременнаяРазницаРасход КАК ВременнаяРазница,
| Данные.СуммаНДДОстаток + Данные.СуммаНДДПриход - Данные.СуммаНДДРасход КАК СуммаНДД,
| ВЫБОР
| КОГДА СтатьяДанных.ВариантРаспределенияРасходовУпр
| <> ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов) ТОГДА 1
| КОГДА Данные.БезСуммУпр ТОГДА 2
| КОГДА Данные.СуммаОстаток + Данные.СуммаПриход - Данные.СуммаРасход = 0 ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаСтатус,
| ВЫБОР
| КОГДА СтатьяДанных.ВариантРаспределенияРасходовУпр
| <> ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов) ТОГДА 1
| КОГДА Данные.БезСуммУпр ТОГДА 2
| КОГДА Данные.СуммаУпрОстаток + Данные.СуммаУпрПриход - Данные.СуммаУпрРасход = 0 ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаУпрСтатус,
| ВЫБОР
| КОГДА СтатьяДанных.ВариантРаспределенияРасходовРегл
| <> ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов) ТОГДА 1
| КОГДА Данные.БезСуммРегл ТОГДА 2
| КОГДА Данные.СуммаРеглОстаток + Данные.СуммаРеглПриход - Данные.СуммаРеглРасход = 0 ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаРеглСтатус,
| ВЫБОР
| КОГДА СтатьяДанных.ВариантРаспределенияРасходовНУ
| <> ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов) ТОГДА 1
| КОГДА Данные.БезСуммНУ ТОГДА 2
| КОГДА Данные.СуммаРеглОстаток + Данные.СуммаРеглПриход - Данные.СуммаРеглРасход
| - (Данные.ПостояннаяРазницаОстаток + Данные.ПостояннаяРазницаПриход - Данные.ПостояннаяРазницаРасход)
| - (Данные.ВременнаяРазницаОстаток + Данные.ВременнаяРазницаПриход - Данные.ВременнаяРазницаРасход) = 0 ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаНУСтатус,
|
| ВЫБОР
| КОГДА СтатьяДанных.ВариантРаспределенияРасходовНУ
| <> ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов) ТОГДА 1
| КОГДА Данные.БезСуммНДД ТОГДА 2
| КОГДА Данные.СуммаНДДОстаток + Данные.СуммаНДДПриход - Данные.СуммаНДДРасход = 0 ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаНДДСтатус,
| Данные.БезСуммУпр КАК РасчетСуммАвтоУпр,
| Данные.БезСуммРегл КАК РасчетСуммАвтоРегл,
| Данные.БезСуммНУ КАК РасчетСуммАвтоНУ,
| Данные.БезСуммНДД КАК РасчетСуммАвтоНДД,
| (Данные.СуммаОстаток + Данные.СуммаПриход - Данные.СуммаРасход) <> 0
| И ЕСТЬNULL(Данные.СуммаОстаток, 0) <> 0 КАК ЕстьОстаткиСумма,
| (Данные.СуммаУпрОстаток + Данные.СуммаУпрПриход - Данные.СуммаУпрРасход) <> 0
| И ЕСТЬNULL(Данные.СуммаУпрОстаток, 0) <> 0 КАК ЕстьОстаткиСуммаУпр,
| (Данные.СуммаРеглОстаток + Данные.СуммаРеглПриход - Данные.СуммаРеглРасход) <> 0
| И ЕСТЬNULL(Данные.СуммаРеглОстаток, 0) <> 0 КАК ЕстьОстаткиСуммаРегл,
| (Данные.СуммаРеглОстаток + Данные.СуммаРеглПриход - Данные.СуммаРеглРасход - (Данные.ПостояннаяРазницаОстаток + Данные.ПостояннаяРазницаПриход
| - Данные.ПостояннаяРазницаРасход) - (Данные.ВременнаяРазницаОстаток + Данные.ВременнаяРазницаПриход - Данные.ВременнаяРазницаРасход)) <> 0
| И (ЕСТЬNULL(Данные.СуммаРеглОстаток, 0)
| - ЕСТЬNULL(Данные.ПостояннаяРазницаОстаток, 0)
| - ЕСТЬNULL(Данные.ВременнаяРазницаОстаток, 0)) <> 0 КАК ЕстьОстаткиСуммаНУ,
| (Данные.СуммаНДДОстаток + Данные.СуммаНДДПриход - Данные.СуммаНДДРасход) <> 0
| И ЕСТЬNULL(Данные.СуммаНДДОстаток, 0) <> 0 КАК ЕстьОстаткиСуммаНДД,
| ЕСТЬNULL(Данные.СуммаОстатокИтог, 0) = 0 КАК ВсеРаспределеноСумма,
| ЕСТЬNULL(Данные.СуммаУпрОстатокИтог, 0) = 0 КАК ВсеРаспределеноСуммаУпр,
| ЕСТЬNULL(Данные.СуммаРеглОстатокИтог, 0) = 0 КАК ВсеРаспределеноСуммаРегл,
| (ЕСТЬNULL(Данные.СуммаРеглОстатокИтог, 0)
| - ЕСТЬNULL(Данные.ПостояннаяРазницаОстатокИтог, 0)
| - ЕСТЬNULL(Данные.ВременнаяРазницаОстатокИтог, 0)) = 0 КАК ВсеРаспределеноСуммаНУ,
| ЕСТЬNULL(Данные.СуммаНДДОстатокИтог, 0) = 0 КАК ВсеРаспределеноСуммаНДД
|ИЗ
| (ВЫБРАТЬ
| Данные.Организация КАК Организация,
| Данные.Подразделение КАК Подразделение,
| Данные.СтатьяРасходов КАК СтатьяРасходов,
| Данные.АналитикаРасходов КАК АналитикаРасходов,
| Данные.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СУММА(Данные.СуммаПриход) КАК СуммаПриход,
| СУММА(Данные.СуммаУпрПриход) КАК СуммаУпрПриход,
| СУММА(Данные.СуммаРеглПриход) КАК СуммаРеглПриход,
| СУММА(Данные.ПостояннаяРазницаПриход) КАК ПостояннаяРазницаПриход,
| СУММА(Данные.ВременнаяРазницаПриход) КАК ВременнаяРазницаПриход,
| СУММА(ВЫБОР
| КОГДА ЕСТЬNULL(РеквизитыСтатьи.ПризнаютсяВРасходахНДД, ИСТИНА)
| ТОГДА Данные.СуммаНДДПриход
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаНДДПриход,
| СУММА(Данные.СуммаРасход) КАК СуммаРасход,
| СУММА(Данные.СуммаУпрРасход) КАК СуммаУпрРасход,
| СУММА(Данные.СуммаРеглРасход) КАК СуммаРеглРасход,
| СУММА(Данные.ПостояннаяРазницаРасход) КАК ПостояннаяРазницаРасход,
| СУММА(Данные.ВременнаяРазницаРасход) КАК ВременнаяРазницаРасход,
| СУММА(ВЫБОР
| КОГДА ЕСТЬNULL(РеквизитыСтатьи.ПризнаютсяВРасходахНДД, ИСТИНА)
| ТОГДА Данные.СуммаНДДРасход
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаНДДРасход,
| СУММА(Данные.СуммаОстаток) КАК СуммаОстаток,
| СУММА(Данные.СуммаУпрОстаток) КАК СуммаУпрОстаток,
| СУММА(Данные.СуммаРеглОстаток) КАК СуммаРеглОстаток,
| СУММА(Данные.ПостояннаяРазницаОстаток) КАК ПостояннаяРазницаОстаток,
| СУММА(Данные.ВременнаяРазницаОстаток) КАК ВременнаяРазницаОстаток,
| СУММА(ВЫБОР
| КОГДА ЕСТЬNULL(РеквизитыСтатьи.ПризнаютсяВРасходахНДД, ИСТИНА)
| ТОГДА Данные.СуммаНДДОстаток
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаНДДОстаток,
| СУММА(Данные.СуммаОстатокИтог) КАК СуммаОстатокИтог,
| СУММА(Данные.СуммаУпрОстатокИтог) КАК СуммаУпрОстатокИтог,
| СУММА(Данные.СуммаРеглОстатокИтог) КАК СуммаРеглОстатокИтог,
| СУММА(Данные.ПостояннаяРазницаОстатокИтог) КАК ПостояннаяРазницаОстатокИтог,
| СУММА(Данные.ВременнаяРазницаОстатокИтог) КАК ВременнаяРазницаОстатокИтог,
| СУММА(ВЫБОР
| КОГДА ЕСТЬNULL(РеквизитыСтатьи.ПризнаютсяВРасходахНДД, ИСТИНА)
| ТОГДА Данные.СуммаНДДОстатокИтог
| КОГДА ИСТИНА ТОГДА 0
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаНДДОстатокИтог,
| МАКСИМУМ(Данные.БезСуммУпр) КАК БезСуммУпр,
| МАКСИМУМ(Данные.БезСуммРегл) КАК БезСуммРегл,
| МАКСИМУМ(Данные.БезСуммНУ) КАК БезСуммНУ,
| МАКСИМУМ(Данные.БезСуммНДД) КАК БезСуммНДД
| ИЗ
| &ИсточникиРБП КАК Данные
| ЛЕВОЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК РеквизитыСтатьи
| ПО Данные.СтатьяРасходов = РеквизитыСтатьи.Ссылка
|
| СГРУППИРОВАТЬ ПО
| Данные.Организация,
| Данные.Подразделение,
| Данные.СтатьяРасходов,
| Данные.АналитикаРасходов,
| Данные.НаправлениеДеятельности) КАК Данные
|ЛЕВОЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьяДанных
| ПО Данные.СтатьяРасходов = СтатьяДанных.Ссылка
|ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеУпр
| ПО РаспределениеУпр.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И РаспределениеУпр.СтатьяРасходов = Данные.СтатьяРасходов
| И РаспределениеУпр.Проведен
| И РаспределениеУпр.УправленческийУчет
| И РаспределениеУпр.ВариантУказанияСуммыУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| И РаспределениеУпр.Организация = Данные.Организация
| И РаспределениеУпр.Подразделение = Данные.Подразделение
| И РаспределениеУпр.АналитикаРасходов = Данные.АналитикаРасходов
| И РаспределениеУпр.НаправлениеДеятельности = Данные.НаправлениеДеятельности
|ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеРегл
| ПО РаспределениеРегл.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И РаспределениеРегл.СтатьяРасходов = Данные.СтатьяРасходов
| И РаспределениеРегл.Проведен
| И РаспределениеРегл.РегламентированныйУчет
| И РаспределениеРегл.ВариантУказанияСуммыРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| И РаспределениеРегл.Организация = Данные.Организация
| И РаспределениеРегл.Подразделение = Данные.Подразделение
| И РаспределениеРегл.АналитикаРасходов = Данные.АналитикаРасходов
| И РаспределениеРегл.НаправлениеДеятельности = Данные.НаправлениеДеятельности
|ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеНУ
| ПО РаспределениеНУ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И РаспределениеНУ.СтатьяРасходов = Данные.СтатьяРасходов
| И РаспределениеНУ.Проведен
| И РаспределениеНУ.НалоговыйУчет
| И РаспределениеНУ.ВариантУказанияСуммыРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| И РаспределениеНУ.Организация = Данные.Организация
| И РаспределениеНУ.Подразделение = Данные.Подразделение
| И РаспределениеНУ.АналитикаРасходов = Данные.АналитикаРасходов
| И РаспределениеНУ.НаправлениеДеятельности = Данные.НаправлениеДеятельности
|ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК РаспределениеНДД
| ПО РаспределениеНУ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И РаспределениеНУ.СтатьяРасходов = Данные.СтатьяРасходов
| И РаспределениеНУ.Проведен
| И РаспределениеНУ.НДД
| И РаспределениеНУ.ВариантУказанияСуммыРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыУказанияСуммыРБП.ОпределяетсяАвтоматически)
| И РаспределениеНУ.Организация = Данные.Организация
| И РаспределениеНУ.Подразделение = Данные.Подразделение
| И РаспределениеНУ.АналитикаРасходов = Данные.АналитикаРасходов
| И РаспределениеНУ.НаправлениеДеятельности = Данные.НаправлениеДеятельности
|ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.ОбъектыВозникновенияЗатрат КАК ОВЗДанных
| ПО Данные.АналитикаРасходов = ОВЗДанных.Ссылка
| И Данные.СтатьяРасходов = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
|ГДЕ
| (Данные.СуммаОстаток + Данные.СуммаПриход - Данные.СуммаРасход <> 0
| ИЛИ Данные.СуммаУпрОстаток + Данные.СуммаУпрПриход - Данные.СуммаУпрРасход <> 0
| ИЛИ Данные.БезСуммУпр) И РаспределениеУпр.Ссылка ЕСТЬ NULL
| ИЛИ (Данные.СуммаРеглОстаток + Данные.СуммаРеглПриход - Данные.СуммаРеглРасход <> 0
| ИЛИ Данные.БезСуммРегл) И РаспределениеРегл.Ссылка ЕСТЬ NULL
| ИЛИ (Данные.СуммаРеглОстаток + Данные.СуммаРеглПриход - Данные.СуммаРеглРасход
| - (Данные.ПостояннаяРазницаОстаток + Данные.ПостояннаяРазницаПриход - Данные.ПостояннаяРазницаРасход)
| - (Данные.ВременнаяРазницаОстаток + Данные.ВременнаяРазницаПриход - Данные.ВременнаяРазницаРасход) <> 0
| ИЛИ Данные.БезСуммНУ) И РаспределениеНУ.Ссылка ЕСТЬ NULL
| ИЛИ (Данные.СуммаНДДОстаток + Данные.СуммаНДДПриход - Данные.СуммаНДДРасход <> 0
| ИЛИ Данные.БезСуммНДД) И РаспределениеНДД.Ссылка ЕСТЬ NULL
|";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИсточникиРБП", "("+ТекстЗапросаРасходыКРаспределениюИсточники()+")");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "СтатьяДанных.ВариантРаспределенияРасходовУпр",
"ЕСТЬNULL(СтатьяДанных.ВариантРаспределенияРасходовУпр, ОВЗДанных.ВариантРаспределенияРасходовУпр)");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "СтатьяДанных.ВариантРаспределенияРасходовРегл",
"ЕСТЬNULL(СтатьяДанных.ВариантРаспределенияРасходовРегл, ОВЗДанных.ВариантРаспределенияРасходовРегл)");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "СтатьяДанных.ВариантРаспределенияРасходовНУ",
"ЕСТЬNULL(СтатьяДанных.ВариантРаспределенияРасходовНУ, ОВЗДанных.ВариантРаспределенияРасходовНУ)");
Если Первые Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//**01", "ПЕРВЫЕ 1");
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
РаспределениеРасходовБудущихПериодовЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
#КонецОбласти
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Подразделение КАК Подразделение
|ИЗ
| Документ.РаспределениеРасходовБудущихПериодов КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.РаспределениеРасходовБудущихПериодов"));
Запрос.УстановитьПараметр("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
Запрос.УстановитьПараметр("ХозОперацияДляРеестра", Перечисления.ХозяйственныеОперации.РаспределениеРБП);
Запрос.УстановитьПараметр("Валюта", Константы.ВалютаУправленческогоУчета.Получить());
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Строки.Дата КАК Дата
|ИЗ
| Документ.РаспределениеРасходовБудущихПериодов.РаспределениеРасходов КАК Строки
|ГДЕ
| Строки.Ссылка = &Ссылка
|";
РезультатЗапроса = Запрос.Выполнить().Выбрать();
ШаблонЗапретаДанных = ДатыЗапретаИзменения.ШаблонДанныхДляПроверки();
СтрокаШаблона = ШаблонЗапретаДанных.Добавить();
СтрокаШаблона.Раздел = "РегламентныеОперации";
ПериодЗапретаИзмененияДанных = Дата(1,1,1);
Пока РезультатЗапроса.Следующий() Цикл
СтрокаШаблона.Дата = НачалоДня(РезультатЗапроса.Дата);
Если ДатыЗапретаИзменения.НайденЗапретИзмененияДанных(ШаблонЗапретаДанных)
И ПериодЗапретаИзмененияДанных < РезультатЗапроса.Дата Тогда
ПериодЗапретаИзмененияДанных = РезультатЗапроса.Дата;
КонецЕсли;
КонецЦикла;
Запрос.УстановитьПараметр("ПериодЗапретаИзмененияДанных", ПериодЗапретаИзмененияДанных);
КонецПроцедуры
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
ТекстЗапросаУчетнойПолитикиПоНДД = РасчетСебестоимостиЛокализация.ТекстЗапросаНастроекНДД("", "РаспределениеРасходовБудущихПериодов_ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы");
ТекстыЗапроса.Добавить(ТекстЗапросаУчетнойПолитикиПоНДД, ИмяРегистра);
ТекстЗапроса = "
|ВЫБРАТЬ
| Строки.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| ДанныеДокумента.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| Строки.Подразделение КАК КорПодразделение,
| Строки.СтатьяРасходов КАК КорСтатьяРасходов,
| Строки.АналитикаРасходов КАК КорАналитикаРасходов,
| ВЫБОР
| КОГДА ДанныеДокумента.УправленческийУчет
| ТОГДА СУММА(Строки.Сумма) ИНАЧЕ 0
| КОНЕЦ КАК СуммаСНДС,
| ВЫБОР
| КОГДА ДанныеДокумента.УправленческийУчет
| ТОГДА СУММА(Строки.СуммаУпр) ИНАЧЕ 0
| КОНЕЦ КАК СуммаБезНДС,
| ВЫБОР
| КОГДА ДанныеДокумента.УправленческийУчет
| ТОГДА СУММА(Строки.СуммаУпр) ИНАЧЕ 0
| КОНЕЦ КАК СуммаБезНДСУпр,
| ВЫБОР
| КОГДА ДанныеДокумента.РегламентированныйУчет
| ТОГДА СУММА(Строки.СуммаРегл) ИНАЧЕ 0
| КОНЕЦ КАК СуммаСНДСРегл,
| ВЫБОР
| КОГДА ДанныеДокумента.РегламентированныйУчет
| ТОГДА СУММА(Строки.СуммаРегл) ИНАЧЕ 0
| КОНЕЦ КАК СуммаБезНДСРегл,
| ВЫБОР
| КОГДА ДанныеДокумента.РегламентированныйУчет И ДанныеДокумента.НалоговыйУчет ИЛИ ДанныеДокумента.НалоговыйУчет
| ТОГДА СУММА(Строки.ПостояннаяРазница)
| КОГДА ДанныеДокумента.РегламентированныйУчет И НЕ ДанныеДокумента.НалоговыйУчет И НЕ ДанныеДокумента.СтатьяРасходов.ПринятиеКНалоговомуУчету
| ТОГДА СУММА(Строки.СуммаРегл)
| ИНАЧЕ 0
| КОНЕЦ КАК ПостояннаяРазница,
| ВЫБОР
| КОГДА ДанныеДокумента.РегламентированныйУчет И ДанныеДокумента.НалоговыйУчет ИЛИ ДанныеДокумента.НалоговыйУчет
| ТОГДА СУММА(Строки.ВременнаяРазница)
| КОГДА ДанныеДокумента.РегламентированныйУчет И НЕ ДанныеДокумента.НалоговыйУчет И ДанныеДокумента.СтатьяРасходов.ПринятиеКНалоговомуУчету
| ТОГДА СУММА(Строки.СуммаРегл)
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| ВЫБОР
| КОГДА ДанныеДокумента.НДД И ЕСТЬNULL(УчетнаяПолитикаПоНДД.ПлательщикНДД, ЛОЖЬ)
| ТОГДА ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходов.ПризнаютсяВРасходахНДД
| ТОГДА СУММА(Строки.СуммаНДД)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаНДД,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РаспределениеРБП) КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| Строки.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РаспределениеРБП) КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| Документ.РаспределениеРасходовБудущихПериодов КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов.РаспределениеРасходов КАК Строки
| ПО ДанныеДокумента.Ссылка = Строки.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ УчетнаяПолитикаПоНДД КАК УчетнаяПолитикаПоНДД
| ПО ДанныеДокумента.Организация = УчетнаяПолитикаПоНДД.Организация
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И (Строки.Сумма <> 0 ИЛИ Строки.СуммаУпр <> 0
| ИЛИ Строки.СуммаРегл <> 0
| ИЛИ Строки.ПостояннаяРазница <> 0
| ИЛИ Строки.ВременнаяРазница <> 0
| ИЛИ Строки.СуммаНДД <> 0
| )
| И Строки.Дата > &ПериодЗапретаИзмененияДанных
|
|СГРУППИРОВАТЬ ПО
| Строки.Дата,
| ДанныеДокумента.Организация,
| ДанныеДокумента.Подразделение,
| ДанныеДокумента.СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходов,
| ДанныеДокумента.НаправлениеДеятельности,
| ДанныеДокумента.УправленческийУчет,
| ДанныеДокумента.РегламентированныйУчет,
| ДанныеДокумента.НалоговыйУчет,
| ДанныеДокумента.НДД,
| УчетнаяПолитикаПоНДД.ПлательщикНДД,
| Строки.ИдентификаторСтроки,
| Строки.Подразделение,
| Строки.СтатьяРасходов,
| Строки.АналитикаРасходов
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Строки.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| Строки.Подразделение КАК Подразделение,
| Строки.СтатьяРасходов КАК СтатьяРасходов,
| Строки.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| ДанныеДокумента.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ДанныеДокумента.Подразделение КАК КорПодразделение,
| ДанныеДокумента.СтатьяРасходов КАК КорСтатьяРасходов,
| ДанныеДокумента.АналитикаРасходов КАК КорАналитикаРасходов,
| ВЫБОР
| КОГДА ДанныеДокумента.УправленческийУчет
| ТОГДА СУММА(Строки.Сумма) ИНАЧЕ 0
| КОНЕЦ КАК СуммаСНДС,
| ВЫБОР
| КОГДА ДанныеДокумента.УправленческийУчет
| ТОГДА СУММА(Строки.СуммаУпр) ИНАЧЕ 0
| КОНЕЦ КАК СуммаБезНДС,
| ВЫБОР
| КОГДА ДанныеДокумента.УправленческийУчет
| ТОГДА СУММА(Строки.СуммаУпр) ИНАЧЕ 0
| КОНЕЦ КАК СуммаБезНДСУпр,
| ВЫБОР
| КОГДА ДанныеДокумента.РегламентированныйУчет
| ТОГДА СУММА(Строки.СуммаРегл) ИНАЧЕ 0
| КОНЕЦ КАК СуммаСНДСРегл,
| ВЫБОР
| КОГДА ДанныеДокумента.РегламентированныйУчет
| ТОГДА СУММА(Строки.СуммаРегл) ИНАЧЕ 0
| КОНЕЦ КАК СуммаБезНДСРегл,
| ВЫБОР
| КОГДА ДанныеДокумента.РегламентированныйУчет И ДанныеДокумента.НалоговыйУчет ИЛИ ДанныеДокумента.НалоговыйУчет
| ТОГДА СУММА(Строки.ПостояннаяРазница)
| КОГДА ДанныеДокумента.РегламентированныйУчет И НЕ ДанныеДокумента.НалоговыйУчет
| И (НЕ Строки.СтатьяРасходов.ПринятиеКНалоговомуУчету ИЛИ НЕ ДанныеДокумента.СтатьяРасходов.ПринятиеКНалоговомуУчету)
| ТОГДА СУММА(Строки.СуммаРегл)
| ИНАЧЕ 0
| КОНЕЦ КАК ПостояннаяРазница,
| ВЫБОР
| КОГДА ДанныеДокумента.РегламентированныйУчет И ДанныеДокумента.НалоговыйУчет ИЛИ ДанныеДокумента.НалоговыйУчет
| ТОГДА СУММА(Строки.ВременнаяРазница)
| КОГДА ДанныеДокумента.РегламентированныйУчет И НЕ ДанныеДокумента.НалоговыйУчет И Строки.СтатьяРасходов.ПринятиеКНалоговомуУчету
| И Строки.СтатьяРасходов.ПринятиеКНалоговомуУчету И ДанныеДокумента.СтатьяРасходов.ПринятиеКНалоговомуУчету
| ТОГДА СУММА(Строки.СуммаРегл)
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| ВЫБОР
| КОГДА ДанныеДокумента.НДД И ЕСТЬNULL(УчетнаяПолитикаПоНДД.ПлательщикНДД, ЛОЖЬ)
| ТОГДА ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходов.ПризнаютсяВРасходахНДД
| ТОГДА СУММА(Строки.СуммаНДД)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаНДД,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РаспределениеРБП) КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| Строки.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РаспределениеРБП) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.РаспределениеРасходовБудущихПериодов.РаспределениеРасходов КАК Строки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = Строки.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ УчетнаяПолитикаПоНДД КАК УчетнаяПолитикаПоНДД
| ПО ДанныеДокумента.Организация = УчетнаяПолитикаПоНДД.Организация
|
|ГДЕ
| Строки.Ссылка = &Ссылка
| И (Строки.Сумма <> 0 ИЛИ Строки.СуммаУпр <> 0
| ИЛИ Строки.СуммаРегл <> 0
| ИЛИ Строки.ПостояннаяРазница <> 0
| ИЛИ Строки.ВременнаяРазница <> 0
| ИЛИ Строки.СуммаНДД <> 0
| )
| И Строки.Дата > &ПериодЗапретаИзмененияДанных
|
|СГРУППИРОВАТЬ ПО
| Строки.Дата,
| ДанныеДокумента.Организация,
| Строки.Подразделение,
| Строки.СтатьяРасходов,
| Строки.АналитикаРасходов,
| ДанныеДокумента.НаправлениеДеятельности,
| ДанныеДокумента.УправленческийУчет,
| ДанныеДокумента.РегламентированныйУчет,
| ДанныеДокумента.НалоговыйУчет,
| ДанныеДокумента.НДД,
| УчетнаяПолитикаПоНДД.ПлательщикНДД,
| Строки.ИдентификаторСтроки,
| ДанныеДокумента.Подразделение,
| ДанныеДокумента.СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходов
|
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ
| Движения.Период,
| Движения.ВидДвижения,
| Движения.Организация,
| Движения.Подразделение,
| Движения.СтатьяРасходов,
| Движения.АналитикаРасходов,
| Движения.НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| Движения.КорНаправлениеДеятельности,
| Движения.КорПодразделение,
| Движения.КорСтатьяРасходов,
| Движения.КорАналитикаРасходов,
| Движения.Сумма КАК СуммаСНДС,
| Движения.СуммаБезНДС КАК СуммаБезНДС,
| Движения.СуммаУпр КАК СуммаБезНДСУпр,
| Движения.СуммаРегл КАК СуммаСНДСРегл,
| Движения.СуммаРегл КАК СуммаБезНДСРегл,
| Движения.ПостояннаяРазница,
| Движения.ВременнаяРазница,
| ВЫБОР
| КОГДА Движения.СтатьяРасходов.ПризнаютсяВРасходахНДД И ЕСТЬNULL(УчетнаяПолитикаПоНДД.ПлательщикНДД, ЛОЖЬ)
| ТОГДА Движения.СуммаНДД
| ИНАЧЕ 0
| КОНЕЦ,
| Движения.ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| Движения.ИдентификаторФинЗаписи,
| Движения.НастройкаХозяйственнойОперации
|ИЗ
| РегистрНакопления.ПрочиеРасходы КАК Движения
|
| ЛЕВОЕ СОЕДИНЕНИЕ УчетнаяПолитикаПоНДД КАК УчетнаяПолитикаПоНДД
| ПО Движения.Организация = УчетнаяПолитикаПоНДД.Организация
|ГДЕ
| Движения.Регистратор = &Ссылка
| И Движения.Период <= &ПериодЗапретаИзмененияДанных
| И НЕ Движения.РасчетПартий
| И НЕ Движения.РасчетСебестоимости
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ДополнительныеПоля = "КорНаправлениеДеятельности,КорПодразделение,КорСтатьяРасходов,КорАналитикаРасходов";
РасчетСебестоимостиЛокализация.ДобавитьДополнительныеПоляПоНДД(ДополнительныеПоля);
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы(ДополнительныеПоля);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ДополнительныеПоля = "КорНаправлениеДеятельности,КорПодразделение,КорСтатьяРасходов,КорАналитикаРасходов";
РасчетСебестоимостиЛокализация.ДобавитьДополнительныеПоляПоНДД(ДополнительныеПоля);
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы(ДополнительныеПоля);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПартииПрочихРасходов";
ТекстЗапроса = "
|ВЫБРАТЬ
| Строки.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| Строки.Ссылка.Организация КАК Организация,
| ВЫБОР
| КОГДА Строки.Подразделение <> ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА Строки.Подразделение
| ИНАЧЕ Строки.Ссылка.Подразделение
| КОНЕЦ КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| Строки.СтатьяРасходов КАК СтатьяРасходов,
| Строки.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| Строки.Сумма КАК Стоимость,
| Строки.СуммаУпр КАК СтоимостьБезНДС,
| 0 КАК НДСУпр,
| Строки.СуммаРегл КАК СтоимостьРегл,
| Строки.ПостояннаяРазница КАК ПостояннаяРазница,
| Строки.ВременнаяРазница КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РаспределениеРБП) КАК ХозяйственнаяОперация,
|
| Строки.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РаспределениеРБП) КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПартииПрочихРасходов
|ИЗ
| Документ.РаспределениеРасходовБудущихПериодов.РаспределениеРасходов КАК Строки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = Строки.Ссылка
|ГДЕ
| Строки.Ссылка = &Ссылка
| И (Строки.Сумма <> 0 ИЛИ Строки.СуммаУпр <> 0
| ИЛИ Строки.СуммаРегл <> 0
| ИЛИ Строки.ПостояннаяРазница <> 0
| ИЛИ Строки.ВременнаяРазница <> 0)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаДвиженияДоходыРасходыПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияДоходыРасходыПрочиеАктивыПассивы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| Строки.НомерСтроки,
| Строки.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РаспределениеРБП) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.СтатьяРасходов КАК Статья,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
|
| Строки.Подразделение КАК КорПодразделение,
| Строки.СтатьяРасходов КАК КорСтатья,
| Строки.АналитикаРасходов КАК КорАналитикаРасходов,
|
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| Строки.Сумма КАК Сумма,
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходов.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаСебестоимостьТоваров)
| ИЛИ НЕ &УправленческийУчетОрганизаций
| ТОГДА 0
| ИНАЧЕ
| Строки.СуммаУпр
| КОНЕЦ КАК СуммаУпр,
| Строки.СуммаРегл КАК СуммаРегл,
|
| &Валюта КАК Валюта,
| Строки.Сумма КАК СуммаВВалюте
|
|ИЗ
| Документ.РаспределениеРасходовБудущихПериодов КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РаспределениеРасходовБудущихПериодов.РаспределениеРасходов КАК Строки
| ПО Строки.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И (Строки.Сумма <> 0 ИЛИ Строки.СуммаУпр <> 0 ИЛИ Строки.СуммаРегл <> 0)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеАктивыПассивы.ТекстЗапросаТаблицаПрочиеАктивыПассивы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ХозОперацияДляРеестра КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК Партнер,
| НЕОПРЕДЕЛЕНО КАК МестоХранения,
| НЕОПРЕДЕЛЕНО КАК Контрагент,
| &Подразделение КАК Подразделение,
| &Период КАК ДатаДокументаИБ,
| &Ссылка КАК Ссылка,
| &Номер КАК НомерДокументаИБ,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Ответственный КАК Ответственный,
| НЕОПРЕДЕЛЕНО КАК Автор,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| НЕОПРЕДЕЛЕНО КАК Дополнительно,
| &Комментарий КАК Комментарий,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| &Период КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| 0 КАК Сумма,
| НЕОПРЕДЕЛЕНО КАК Валюта,
| НЕОПРЕДЕЛЕНО КАК Договор,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| ЛОЖЬ КАК СторноИсправление,
| НЕОПРЕДЕЛЕНО КАК СторнируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.РаспределениеРасходовБудущихПериодов";
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.РаспределениеРасходовБудущихПериодов"));
ЗначенияПараметров.Вставить("ХозОперацияДляРеестра", Перечисления.ХозяйственныеОперации.РаспределениеРБП);
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса, ПолноеИмяДокумента, СинонимТаблицыДокумента, Ложь);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса, ПолноеИмяДокумента, СинонимТаблицыДокумента);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
#КонецОбласти
#Область ОбновлениеИнформационнойБазы
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
#Область Документы_РаспределениеРасходовБудущихПериодов_ОбработатьДанныеДляПереходаНаНовуюВерсию
Обработчик = Обработчики.Добавить();
Обработчик.Процедура = "Документы.РаспределениеРасходовБудущихПериодов.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.Версия = "11.5.7.228";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("173afe82-319c-4c13-91f4-d2ca087cdc11");
Обработчик.Многопоточный = Истина;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Документы.РаспределениеРасходовБудущихПериодов.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.Комментарий = НСтр("ru = 'Заполняет поле ""Идентификатор строки"" в табличных частях.'");
Читаемые = Новый Массив;
Читаемые.Добавить(Метаданные.ПланыВидовХарактеристик.СтатьиРасходов.ПолноеИмя());
Читаемые.Добавить(Метаданные.Документы.РаспределениеРасходовБудущихПериодов.ПолноеИмя());
Обработчик.ЧитаемыеОбъекты = СтрСоединить(Читаемые, ",");
Изменяемые = Новый Массив;
Изменяемые.Добавить(Метаданные.Документы.РаспределениеРасходовБудущихПериодов.ПолноеИмя());
Обработчик.ИзменяемыеОбъекты = СтрСоединить(Изменяемые, ",");
#КонецОбласти
КонецПроцедуры
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ПараметрыВыборки = Параметры.ПараметрыВыборки;
ПараметрыВыборки.ПолныеИменаОбъектов = ПустаяСсылка().Метаданные().ПолноеИмя();
ПараметрыВыборки.ПоляУпорядочиванияПриРаботеПользователей.Добавить("Дата УБЫВ");
ПараметрыВыборки.ПоляУпорядочиванияПриОбработкеДанных.Добавить("Дата УБЫВ");
ПараметрыВыборки.СпособВыборки = ОбновлениеИнформационнойБазы.СпособВыборкиСсылки();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Документ.Ссылка КАК Ссылка
|ИЗ
| Документ.РаспределениеРасходовБудущихПериодов КАК Документ
|ГДЕ
| ИСТИНА В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| Документ.РаспределениеРасходовБудущихПериодов.РаспределениеРасходов КАК ТабЧасть
| ГДЕ
| ТабЧасть.Ссылка = Документ.Ссылка
| И ТабЧасть.ИдентификаторСтроки = """")
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| Документ.Ссылка КАК Ссылка
|ИЗ
| Документ.РаспределениеРасходовБудущихПериодов КАК Документ
|ГДЕ
| Документ.Проведен
| И НЕ Документ.УправленческийУчет
| И НЕ Документ.РегламентированныйУчет
| И НЕ Документ.НалоговыйУчет
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| Документ.Ссылка КАК Ссылка
|ИЗ
| Документ.РаспределениеРасходовБудущихПериодов КАК Документ
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК Статьи
| ПО Статьи.Ссылка = Документ.СтатьяРасходов
|
|ГДЕ
| Документ.Проведен
| И Документ.РегламентированныйУчет
| И НЕ Документ.НалоговыйУчет
| И Статьи.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)";
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
КонецПроцедуры
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ПолноеИмяОбъекта = ПустаяСсылка().Метаданные().ПолноеИмя();
ОбновляемыеДанные = ОбновлениеИнформационнойБазы.ДанныеДляОбновленияВМногопоточномОбработчике(Параметры);
Если ОбновляемыеДанные.Количество() = 0 Тогда
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
Возврат;
КонецЕсли;
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| Статьи.Ссылка КАК СтатьяРасходов,
| Статьи.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов) КАК УправленческийУчет,
| Статьи.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов) КАК РегламентированныйУчет,
| Статьи.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов) КАК НалоговыйУчет
|ИЗ ПланВидовХарактеристик.СтатьиРасходов КАК Статьи
|ГДЕ
| Статьи.ВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ИЛИ Статьи.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
| ИЛИ Статьи.ВариантРаспределенияРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаРасходыБудущихПериодов)
|";
Выборка = Запрос.Выполнить().Выбрать();
НастройкиСтатей = Новый Соответствие();
Пока Выборка.Следующий() Цикл
НастройкиСтатей.Вставить(Выборка.СтатьяРасходов, Новый Структура("УправленческийУчет,РегламентированныйУчет,НалоговыйУчет",
Выборка.УправленческийУчет, Выборка.РегламентированныйУчет, Выборка.НалоговыйУчет));
КонецЦикла;
Для Каждого Документ Из ОбновляемыеДанные Цикл
НачатьТранзакцию();
Попытка
Ссылка = Документ.Ссылка;
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(ПолноеИмяОбъекта);
ЭлементБлокировки.УстановитьЗначение("Ссылка", Ссылка);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();
ДокументОбъект = Ссылка.ПолучитьОбъект();
Если ДокументОбъект <> Неопределено Тогда
ОбщегоНазначенияУТ.ЗаполнитьИдентификаторыДокумента(ДокументОбъект, "РаспределениеРасходов");
НастройкаСтатьи = НастройкиСтатей.Получить(ДокументОбъект.СтатьяРасходов);
Если НЕ НастройкаСтатьи = Неопределено Тогда
Если Не ДокументОбъект.УправленческийУчет И Не ДокументОбъект.РегламентированныйУчет И Не ДокументОбъект.НалоговыйУчет Тогда
ДокументОбъект.УправленческийУчет = НастройкаСтатьи.УправленческийУчет;
ДокументОбъект.РегламентированныйУчет = НастройкаСтатьи.РегламентированныйУчет;
ДокументОбъект.НалоговыйУчет = НастройкаСтатьи.НалоговыйУчет;
КонецЕсли;
Если НастройкаСтатьи.НалоговыйУчет И ДокументОбъект.РегламентированныйУчет И Не ДокументОбъект.НалоговыйУчет Тогда
ДокументОбъект.НалоговыйУчет = НастройкаСтатьи.НалоговыйУчет;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ДокументОбъект <> Неопределено И ДокументОбъект.Модифицированность() Тогда
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ДокументОбъект);
Иначе
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(Ссылка);
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ОбновлениеИнформационнойБазыУТ.СообщитьОНеудачнойОбработке(ИнформацияОбОшибке(), Документ.Ссылка);
КонецПопытки;
КонецЦикла;
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
КонецПроцедуры
#КонецОбласти
#Область ФормированиеГиперссылкиВЖурналеПроизводства
Функция СформироватьГиперссылкуКОформлению(Параметры) Экспорт
Если Не ПравоДоступа("Изменение", Метаданные.Документы.РаспределениеРасходовБудущихПериодов) Тогда
Возврат Неопределено;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапросаРасходыКРаспределению(Истина);
лНачалоПериода = ?(ЗначениеЗаполнено(Параметры.Период), НачалоМесяца(Параметры.Период), НачалоМесяца(ТекущаяДатаСеанса()));
лКонецПериода = ?(ЗначениеЗаполнено(Параметры.Период), КонецМесяца(Параметры.Период), КонецМесяца(ТекущаяДатаСеанса()));
Запрос.УстановитьПараметр("НачалоПериода", лНачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", лКонецПериода);
Запрос.УстановитьПараметр("Организация", Параметры.Организация);
Запрос.УстановитьПараметр("ПоВсемОрганизациям", Не ЗначениеЗаполнено(Параметры.Организация));
Запрос.УстановитьПараметр("Подразделение", Параметры.Подразделение);
Запрос.УстановитьПараметр("ПоВсемПодразделениям", Не ЗначениеЗаполнено(Параметры.Подразделение));
ТекстГиперссылки = НСтр("ru = 'Распределение расходов будущих периодов'");
УстановитьПривилегированныйРежим(Истина);
Если Запрос.Выполнить().Пустой() Тогда
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,,ЦветаСтиля.НезаполненноеПолеТаблицы,,
"Документ.РаспределениеРасходовБудущихПериодов.Форма.ФормаСпискаДокументов");
Иначе
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,,,,
"Документ.РаспределениеРасходовБудущихПериодов.Форма.ФормаСпискаДокументов");
КонецЕсли;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли