V82.ОбщиеМодули.КорректировкаСтоимостиУчетЗатрат.СформироватьКорректирующиеДвиженияРасширеннаяАналитика C# (CSharp) Method

СформироватьКорректирующиеДвиженияРасширеннаяАналитика() public method

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

            НаборЗаписей.Записать(Ложь);*/
            }
        }
КорректировкаСтоимостиУчетЗатрат