V82.ОбщиеМодули.БухгалтерскийУчет.РасчетИСписаниеРБП C# (CSharp) Method

РасчетИСписаниеРБП() public method

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

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

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