V82.ОбщиеМодули.ПроцедурыРасчетаСебестоимостиРасширеннаяАналитика.ЗаполнитьСпособыРаспределенияЗатратУпр C# (CSharp) Method

ЗаполнитьСпособыРаспределенияЗатратУпр() public method

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

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