V82.ОбщиеМодули.ПроцедурыРасчетаСебестоимостиВыпуска.СформироватьТекстЗапросаБазаРаспределенияЗатрат C# (CSharp) Method

СформироватьТекстЗапросаБазаРаспределенияЗатрат() public method

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