public object СформироватьТекстЗапросаБазаРаспределенияЗатратРасширеннаяАналитика(/**/)
{
/*ТекстЗапроса = "
|ВЫБРАТЬ
| Ложь КАК РаспределениеПоПродажам,
| Ложь КАК ДиректКостинг,
|
| //ДляРеглУчета БазаРаспределенияЗатрат.Организация,
| БазаРаспределенияЗатрат.СпособРаспределенияЗатрат КАК СпособРаспределенияЗатрат,
| БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения КАК РаспределятьНаПодчиненныеПодразделения,
| БазаРаспределенияЗатрат.Подразделение,
| БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
| БазаРаспределенияЗатрат.Заказ,
| БазаРаспределенияЗатрат.ПодразделениеНЗП,
| БазаРаспределенияЗатрат.НоменклатурнаяГруппаНЗП,
| БазаРаспределенияЗатрат.ЗаказНЗП,
| БазаРаспределенияЗатрат.ИндексБазыРаспределения,
| БазаРаспределенияЗатрат.ВидВыпуска,
|
| ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Затраты) КАК РазделУчета,
|
| Неопределено КАК Продукция,
| Неопределено КАК ХарактеристикаПродукции,
| Неопределено КАК СерияПродукции,
|
| БазаРаспределенияЗатрат.АналитикаВидаУчета,
| БазаРаспределенияЗатрат.АналитикаРаспределенияЗатрат,
| БазаРаспределенияЗатрат.АналитикаУчетаПартий,
|
| //ДляРеглУчета РегистрАналитикаВидаУчета.СчетУчета,
| //ДляРеглУчета РегистрАналитикаВидаУчета.СчетУчетаНУ,
| //ДляРеглУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь) КАК ЕНВД,
|
| //ДляНалУчета ВЫБОР КОГДА БазаРаспределенияНаПодчиненные.БазаПриходНУ ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненные.БазаПриходНУ = 0 ТОГДА
| //ДляНалУчета БазаРаспределенияЗатрат.БазаПриходНУ
| //ДляНалУчета ИНАЧЕ
| //ДляНалУчета (БазаРаспределенияЗатрат.БазаПриходНУ /
| //ДляНалУчета ВЫБОР КОГДА БазаРаспределенияЗатратВсего.БазаПриходНУ ЕСТЬ NULL ИЛИ БазаРаспределенияЗатратВсего.БазаПриходНУ = 0 ТОГДА
| //ДляНалУчета 1
| //ДляНалУчета ИНАЧЕ
| //ДляНалУчета БазаРаспределенияЗатратВсего.БазаПриходНУ
| //ДляНалУчета КОНЕЦ)
| //ДляНалУчета КОНЕЦ КАК БазаПриходНУ,
|
| //ДляНалУчета ВЫБОР КОГДА БазаРаспределенияНаПодчиненные.БазаПриходНУ ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненные.БазаПриходНУ = 0 ТОГДА
| //ДляНалУчета 1
| //ДляНалУчета ИНАЧЕ
| //ДляНалУчета (БазаРаспределенияНаПодчиненные.БазаПриходНУ /
| //ДляНалУчета ВЫБОР КОГДА БазаРаспределенияНаПодчиненныеВсего.БазаПриходНУ ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненныеВсего.БазаПриходНУ = 0 ТОГДА
| //ДляНалУчета 1
| //ДляНалУчета ИНАЧЕ
| //ДляНалУчета БазаРаспределенияНаПодчиненныеВсего.БазаПриходНУ
| //ДляНалУчета КОНЕЦ)
| //ДляНалУчета КОНЕЦ КАК БазаНаПодчиненныеНУ,
|
| //ДляНалУчета 0 КАК БазаНУ,
| //ДляНалУчета БазаРаспределенияЗатрат.БазаОстатокНЗПНУ,
|
| ВЫБОР КОГДА БазаРаспределенияНаПодчиненные.БазаПриход ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненные.БазаПриход = 0 ТОГДА
| БазаРаспределенияЗатрат.БазаПриход
| ИНАЧЕ
| (БазаРаспределенияЗатрат.БазаПриход /
| ВЫБОР КОГДА БазаРаспределенияЗатратВсего.БазаПриход ЕСТЬ NULL ИЛИ БазаРаспределенияЗатратВсего.БазаПриход = 0 ТОГДА
| 1
| ИНАЧЕ
| БазаРаспределенияЗатратВсего.БазаПриход
| КОНЕЦ)
| КОНЕЦ КАК БазаПриход,
|
| ВЫБОР КОГДА БазаРаспределенияНаПодчиненные.БазаПриход ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненные.БазаПриход = 0 ТОГДА
| 1
| ИНАЧЕ
| (БазаРаспределенияНаПодчиненные.БазаПриход /
| ВЫБОР КОГДА БазаРаспределенияНаПодчиненныеВсего.БазаПриход ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненныеВсего.БазаПриход = 0 ТОГДА
| 1
| ИНАЧЕ
| БазаРаспределенияНаПодчиненныеВсего.БазаПриход
| КОНЕЦ)
| КОНЕЦ КАК БазаНаПодчиненные,
|
| 0 КАК База,
| БазаРаспределенияЗатрат.БазаОстатокНЗП
|
|ПОМЕСТИТЬ БазаРаспределенияЗатрат
|ИЗ
| РегистрСведений.БазаРаспределенияЗатрат%СуффиксУчета% КАК БазаРаспределенияЗатрат
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
| ПО
| БазаРаспределенияЗатрат.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
| ПО
| БазаРаспределенияЗатрат.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ (
| ВЫБРАТЬ
| БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
| БазаРаспределенияЗатрат.Подразделение,
| //ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
| //ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаПриходНУ) КАК БазаПриходНУ,
| СУММА(БазаРаспределенияЗатрат.БазаПриход) КАК БазаПриход
| ИЗ
| РегистрСведений.БазаРаспределенияЗатрат%СуффиксУчета% КАК БазаРаспределенияЗатрат
| ГДЕ
| БазаРаспределенияЗатрат.Период МЕЖДУ &НачДата И &КонДата
| И БазаРаспределенияЗатрат.РаспределениеКосвенныхЗатрат = &РаспределениеКосвенныхЗатрат
| И БазаРаспределенияЗатрат.РасчетСебестоимостиВыпуска
| //ДляРеглУчета И БазаРаспределенияЗатрат.Организация = &Организация
|
| СГРУППИРОВАТЬ ПО
| БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
| //ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
| БазаРаспределенияЗатрат.Подразделение
|
| ) КАК БазаРаспределенияЗатратВсего
| ПО
| БазаРаспределенияЗатрат.СпособРаспределенияЗатрат = БазаРаспределенияЗатратВсего.СпособРаспределенияЗатрат
| И БазаРаспределенияЗатрат.Подразделение = БазаРаспределенияЗатратВсего.Подразделение
| И БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения
| //ДляРеглУчета И БазаРаспределенияЗатрат.СчетУчета = БазаРаспределенияЗатратВсего.СчетУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ (
| ВЫБРАТЬ
| БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
| БазаРаспределенияЗатрат.Подразделение,
| //ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
| //ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаПриходНУ) КАК БазаПриходНУ,
| СУММА(БазаРаспределенияЗатрат.БазаПриход) КАК БазаПриход
| ИЗ
| РегистрСведений.БазаРаспределенияЗатрат%СуффиксУчета% КАК БазаРаспределенияЗатрат
| ГДЕ
| БазаРаспределенияЗатрат.Период МЕЖДУ &НачДата И &КонДата
| И БазаРаспределенияЗатрат.РаспределениеКосвенныхЗатрат = &РаспределениеКосвенныхЗатрат
| И БазаРаспределенияЗатрат.РасчетСебестоимостиВыпуска
| //ДляРеглУчета И БазаРаспределенияЗатрат.Организация = &Организация
|
| СГРУППИРОВАТЬ ПО
| БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
| //ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
| БазаРаспределенияЗатрат.Подразделение
|
| ) КАК БазаРаспределенияНаПодчиненные
| ПО
| БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.СпособРаспределенияЗатратПоПодразделениям
| = БазаРаспределенияНаПодчиненные.СпособРаспределенияЗатрат
| И БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения
| И БазаРаспределенияЗатрат.Подразделение = БазаРаспределенияНаПодчиненные.Подразделение
| //ДляРеглУчета И БазаРаспределенияЗатрат.СчетУчета = БазаРаспределенияНаПодчиненные.СчетУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ (
| ВЫБРАТЬ
| БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
| //ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаПриходНУ) КАК БазаПриходНУ,
| СУММА(БазаРаспределенияЗатрат.БазаПриход) КАК БазаПриход
| ИЗ
| РегистрСведений.БазаРаспределенияЗатрат%СуффиксУчета% КАК БазаРаспределенияЗатрат
| ГДЕ
| БазаРаспределенияЗатрат.Период МЕЖДУ &НачДата И &КонДата
| И БазаРаспределенияЗатрат.РаспределениеКосвенныхЗатрат = &РаспределениеКосвенныхЗатрат
| И БазаРаспределенияЗатрат.РасчетСебестоимостиВыпуска
| //ДляРеглУчета И БазаРаспределенияЗатрат.Организация = &Организация
|
| СГРУППИРОВАТЬ ПО
| БазаРаспределенияЗатрат.СпособРаспределенияЗатрат
|
| ) КАК БазаРаспределенияНаПодчиненныеВсего
| ПО
| БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.СпособРаспределенияЗатратПоПодразделениям
| = БазаРаспределенияНаПодчиненныеВсего.СпособРаспределенияЗатрат
| И БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения
|
|
| //ДляБухУчета ЛЕВОЕ СОЕДИНЕНИЕ (
| //ДляБухУчета ВЫБРАТЬ
| //ДляБухУчета СчетаУчетаЕНВД.Счет,
| //ДляБухУчета Истина КАК ЕНВД
| //ДляБухУчета ИЗ
| //ДляБухУчета РегистрСведений.СчетаУчетаПоДеятельностиЕНВД КАК СчетаУчетаЕНВД
| //ДляБухУчета ГДЕ
| //ДляБухУчета Не СчетаУчетаЕНВД.ПодлежитРаспределению
| //ДляБухУчета ) КАК СчетаУчетаЕНВД
| //ДляБухУчета ПО
| //ДляБухУчета БазаРаспределенияЗатрат.СчетУчета = СчетаУчетаЕНВД.Счет
|
|ГДЕ
| БазаРаспределенияЗатрат.Период МЕЖДУ &НачДата И &КонДата
| И БазаРаспределенияЗатрат.РаспределениеКосвенныхЗатрат = &РаспределениеКосвенныхЗатрат
| И БазаРаспределенияЗатрат.РасчетСебестоимостиВыпуска
| И (БазаРаспределенияЗатрат.БазаПриход <> 0
| ИЛИ БазаРаспределенияЗатрат.БазаОстатокНЗП <> 0)
| И (БазаРаспределенияЗатрат.Продукция = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения)
|
| //ДляРеглУчета И БазаРаспределенияЗатрат.Организация = &Организация
| //ДляБухУчета И Не БазаРаспределенияЗатрат.СчетУчета.Забалансовый
|
|";*/
return null;
}