V82.ОбщиеМодули.ПроведениеРасчетовПереопределяемый.ПереРассчитатьЗаписиРегистраРасчета C# (CSharp) Method

ПереРассчитатьЗаписиРегистраРасчета() public method

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

            НеобходимыеДанные = ПолучитьСтруктуруНеобходимыхДанных(МассивСпособовРасчета, ТаблицаПоказателей);*/
                //НеобходимыеДанные.НормаВремени			= НеобходимыеДанные.НормаВремени ИЛИ НормаВремени ИЛИ (НеобходимыеДанные.База И (ИмяПВР = "ОсновныеНачисленияОрганизаций" Или ИмяПВР = "УправленческиеНачисления"));
                //НеобходимыеДанные.ОтработаноВремени		= НеобходимыеДанные.ОтработаноВремени ИЛИ ОтработаноВремени ИЛИ (НеобходимыеДанные.База И (ИмяПВР = "ОсновныеНачисленияОрганизаций" Или ИмяПВР = "УправленческиеНачисления"));
                //НеобходимыеДанные.ВычетыКДоходамНДФЛ	= РасчетВычетов;
                if(true/*НеобходимыеДанные.База*/)
                {
                    //НеобходимыеДанные.НормаВремениЗаМесяц	= НеобходимыеДанные.НормаВремениЗаМесяц ИЛИ НеобходимБазовыйПериод;
                }
                if(true/*ИмяРегистра = "ОсновныеНачисленияОрганизаций" Или ИмяРегистра = "УправленческиеНачисления"*/)
                {
                    //НеобходимыеДанные.НормаВремениЗаМесяц = Истина;
                    /*// для предотвращения ложных сообщений об отсутствии графика
            */
                }
                if(true/*Не НеобходимыеДанные.НакопленныеДанныеПоДокументуОснованию*/)
                {
                    //НеобходимыеДанные.НакопленныеДанныеПоДокументуОснованию = ИмяРегистра = "УдержанияРаботниковОрганизаций" И (НеобходимыеДанные.База Или НеобходимыеДанные.ДоходыОблагаемыеЕСН);
                }
                /*// если нужны данные для расчета среднего заработка
            */
                if(true/*СчитатьСреднийЗаработок И (НеобходимыеДанные.СреднийЗаработок ИЛИ НеобходимыеДанные.СреднийЗаработокОтпуска) И (НаборЗаписейРасчетСреднего <> Неопределено)*/)
                {
                    //СформироватьИЗаписатьДанныеРасчетаСреднего(ИмяРегистра, Регистратор, НаборЗаписейРасчетСреднего);
                    if(true/*ОднократныйРасчетСреднего*/)
                    {
                        //СчитатьСреднийЗаработок = Ложь;
                    }
                }
                //ИсходныеДанные = ПолучитьДанныеДляРасчета(ИмяРегистра, ВыборкаКатегорий.КатегорияРасчета, НеобходимыеДанные, Регистратор, ГоловнаяОрганизация, ПериодРегистрации, Истина, Физлица);
                /*// Курс результата передаем равным 1, т.к. считаем, что перерасчет доступен только для реглучета
            */
                //РассчитатьЗаписиНабора(ИсходныеДанные, НаборЗаписейРегистра, НеобходимыеДанные, ЗаписиДоходыНДФЛ, ГоловнаяОрганизация, ОбособленноеПодразделение, ТабличнаяЧастьДокумента);
                /*// записываем набор после расчета каждой очередной категории
            */
                //НаборЗаписейРегистра.Записать(Истина, Истина);
            }
            //;;
        }
ПроведениеРасчетовПереопределяемый