V82.ОбщиеМодули.УправлениеПроизводством.ЗаполнитьПрочиеЗатратыПоОстаткамНЗП C# (CSharp) Method

ЗаполнитьПрочиеЗатратыПоОстаткамНЗП() public method

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