Процедура ЗакрытиеСчета91(СтруктураШапкиДокумента, Отказ, Заголовок)

       

       Сч_91_09 = ПланыСчетов. Хозрасчетный. СальдоПрочихДоходовИРасходов;

       КоэффициентЕНВД = НалоговыйУчет. КоэффициентРаспределенияРасходовПоВидамДеятельности(СтруктураШапкиДокумента. Организация, мКонДата, мНачДата, "БУ", Ложь);

       

       Запрос = Новый Запрос;

       Запрос. УстановитьПараметр("ДатаНач",  мНачДата);

       Запрос. УстановитьПараметр("ДатаКон",  мКонГраница);

       Запрос. УстановитьПараметр("Организация", СтруктураШапкиДокумента. СписокОП);

       Запрос. Текст =

       "ВЫБРАТЬ

       |        ВЫБОР

       |                КОГДА Хозрасчетный. Субконто1 = ЗНАЧЕНИЕ(Справочник. ПрочиеДоходыИРасходы. ПустаяСсылка)

       |                        ТОГДА ВЫБОР

       |                                        КОГДА Хозрасчетный. КорСчет = ЗНАЧЕНИЕ(ПланСчетов. Хозрасчетный. ПрибылиИУбыткиЕНВД)

       |                                                ТОГДА ЗНАЧЕНИЕ(Перечисление. ВидыДеятельностиДляНалоговогоУчетаЗатрат. ПредпринимательскаяДеятельностьОблагаемаяЕНВД)

НЕ нашли? Не то? Что вы ищете?

       |                                        ИНАЧЕ ЗНАЧЕНИЕ(Перечисление. ВидыДеятельностиДляНалоговогоУчетаЗатрат. ПредпринимательскаяДеятельностьНеОблагаемаяЕНВД)

       |                                КОНЕЦ

       |                ИНАЧЕ ВЫРАЗИТЬ(Хозрасчетный. Субконто1 КАК Справочник. ПрочиеДоходыИРасходы).ВидДеятельностиДляНалоговогоУчетаЗатрат

       |        КОНЕЦ КАК ВидДеятельности,

       |        СУММА(Хозрасчетный. СуммаОборотКт) КАК СуммаОборотКт,

       |        СУММА(Хозрасчетный. СуммаПРОборотКт) КАК СуммаПРОборотКт,

       |        СУММА(Хозрасчетный. СуммаВРОборотКт) КАК СуммаВРОборотКт,

       |        СУММА(Хозрасчетный. СуммаНУОборотКт) КАК СуммаНУОборотКт,

       |        СУММА(Хозрасчетный. СуммаОборотДт) КАК СуммаОборотДт,

       |        СУММА(Хозрасчетный. СуммаПРОборотДт) КАК СуммаПРОборотДт,

       |        СУММА(Хозрасчетный. СуммаВРОборотДт) КАК СуммаВРОборотДт,

       |        СУММА(Хозрасчетный. СуммаНУОборотДт) КАК СуммаНУОборотДт

       |ИЗ

       |        РегистрБухгалтерии. Хозрасчетный. Обороты(&ДатаНач, &ДатаКон, , ЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов. Хозрасчетный. ПрочиеДоходыИРасходы)), ЗНАЧЕНИЕ(ПланВидовХарактеристик. ВидыСубконтоХозрасчетные. ПрочиеДоходыИРасходы), ЕРАРХИИ (&Организация), , ) КАК Хозрасчетный

       |ГДЕ

       |        (Хозрасчетный. Субконто1 <> ЗНАЧЕНИЕ(Справочник. ПрочиеДоходыИРасходы. ПустаяСсылка)

       |                        ИЛИ Хозрасчетный. Счет = ЗНАЧЕНИЕ(ПланСчетов. Хозрасчетный. СальдоПрочихДоходовИРасходов)

       |                                И (НЕ Хозрасчетный. КорЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов. Хозрасчетный. ПрочиеДоходыИРасходы))))

       |

       |СГРУППИРОВАТЬ ПО

       |        ВЫБОР

       |                КОГДА Хозрасчетный. Субконто1 = ЗНАЧЕНИЕ(Справочник. ПрочиеДоходыИРасходы. ПустаяСсылка)

       |                        ТОГДА ВЫБОР

       |                                        КОГДА Хозрасчетный. КорСчет = ЗНАЧЕНИЕ(ПланСчетов. Хозрасчетный. ПрибылиИУбыткиЕНВД)

       |                                                ТОГДА ЗНАЧЕНИЕ(Перечисление. ВидыДеятельностиДляНалоговогоУчетаЗатрат. ПредпринимательскаяДеятельностьОблагаемаяЕНВД)

       |                                        ИНАЧЕ ЗНАЧЕНИЕ(Перечисление. ВидыДеятельностиДляНалоговогоУчетаЗатрат. ПредпринимательскаяДеятельностьНеОблагаемаяЕНВД)

       |                                КОНЕЦ

       |                ИНАЧЕ ВЫРАЗИТЬ(Хозрасчетный. Субконто1 КАК Справочник. ПрочиеДоходыИРасходы).ВидДеятельностиДляНалоговогоУчетаЗатрат

       |        КОНЕЦ";

       ТаблицаОборотов = Запрос. Выполнить().Выгрузить();

       

       ПараметрыНеЕНВД = Новый Структура;

       ПараметрыНеЕНВД. Вставить("ВидДеятельности",

               Перечисления. ВидыДеятельностиДляНалоговогоУчетаЗатрат. ПредпринимательскаяДеятельностьНеОблагаемаяЕНВД);

       ПараметрыНеЕНВД. Вставить("СчетПрибылейИУбытков", ПланыСчетов. Хозрасчетный. ПрибылиИУбыткиНеЕНВД);

       ПараметрыНеЕНВД. Вставить("Коэффициент", 1 - КоэффициентЕНВД);

       

       ПараметрыЕНВД = Новый Структура;

       ПараметрыЕНВД. Вставить("ВидДеятельности",

               Перечисления. ВидыДеятельностиДляНалоговогоУчетаЗатрат. ПредпринимательскаяДеятельностьОблагаемаяЕНВД);

       ПараметрыЕНВД. Вставить("СчетПрибылейИУбытков", ПланыСчетов. Хозрасчетный. ПрибылиИУбыткиЕНВД);

       ПараметрыЕНВД. Вставить("Коэффициент", КоэффициентЕНВД);

       

       МассивПараметров = Новый Массив;

       МассивПараметров. Добавить(ПараметрыНеЕНВД);

       МассивПараметров. Добавить(ПараметрыЕНВД);

       

       Для каждого Параметры Из МассивПараметров Цикл

               

               Прибыль = 0;

               ПрибыльНУ = 0;

               ПрибыльПР = 0;

               ПрибыльВР = 0;

               

               ОсновныеОбороты = ТаблицаОборотов. Найти(Параметры. ВидДеятельности, "ВидДеятельности");

               Если ОсновныеОбороты <> Неопределено Тогда

                       Прибыль = ОсновныеОбороты. СуммаОборотКт - ОсновныеОбороты. СуммаОборотДт;

                       ПрибыльНУ = ОсновныеОбороты. СуммаНУОборотКт - ОсновныеОбороты. СуммаНУОборотДт;

                       ПрибыльПР = ОсновныеОбороты. СуммаПРОборотКт - ОсновныеОбороты. СуммаПРОборотДт;

                       ПрибыльВР = ОсновныеОбороты. СуммаВРОборотКт - ОсновныеОбороты. СуммаВРОборотДт;

               КонецЕсли;

               

               РаспределяемыеОбороты = ТаблицаОборотов. Найти(

                       Перечисления. ВидыДеятельностиДляНалоговогоУчетаЗатрат. ВидДеятельностиОпределяетсяПоДоходам, "ВидДеятельности");

               Если РаспределяемыеОбороты <> Неопределено Тогда

                       Прибыль = Прибыль

                               + (РаспределяемыеОбороты. СуммаОборотКт - РаспределяемыеОбороты. СуммаОборотДт) * Параметры. Коэффициент;;

                       ПрибыльНУ = ПрибыльНУ

                               + (РаспределяемыеОбороты. СуммаНУОборотКт - РаспределяемыеОбороты. СуммаНУОборотДт) * Параметры. Коэффициент;

                       ПрибыльПР = ПрибыльПР

                               + (РаспределяемыеОбороты. СуммаПРОборотКт - РаспределяемыеОбороты. СуммаПРОборотДт) * Параметры. Коэффициент;

                       ПрибыльВР = ПрибыльВР

                               + (РаспределяемыеОбороты. СуммаВРОборотКт - РаспределяемыеОбороты. СуммаВРОборотДт) * Параметры. Коэффициент;

               КонецЕсли;

               

               Если Прибыль <> 0 ИЛИ ПрибыльНУ <> 0 ИЛИ ПрибыльПР <> 0 ИЛИ ПрибыльВР <> 0 Тогда

                       

                       Проводка = мПроводки. Добавить();

                       

                       Если Прибыль >= 0 Тогда

                               Проводка. Период  = Дата;

                               Проводка. Организация  = СтруктураШапкиДокумента. Организация;

                               Проводка. СчетДт  = Сч_91_09;

                               Проводка. СчетКт  = Параметры. СчетПрибылейИУбытков;

                               Проводка. СубконтоКт. ПрибылиИУбытки = Перечисления. ПрибылиИУбытки. СальдоПрочихДоходовИРасходов;

                               Проводка. Сумма = Прибыль;

                               Проводка. Содержание  = "Определение финансовых результатов";

                               НалоговыйУчет. ЗаполнитьНалоговыеСуммыПроводки(ПрибыльНУ, ПрибыльНУ, ПрибыльПР, ПрибыльПР, ПрибыльВР, ПрибыльВР,

                                       Проводка, СтруктураШапкиДокумента. ПрименениеПБУ18);

                               

                       КонецЕсли;

                       

                       Если Прибыль < 0 Тогда

                               Проводка. Период  = Дата;

                               Проводка. Организация  = СтруктураШапкиДокумента. Организация;

                               Проводка. СчетКт  = Сч_91_09;

                               Проводка. СчетДт  = Параметры. СчетПрибылейИУбытков;

                               Проводка. СубконтоДт. ПрибылиИУбытки = Перечисления. ПрибылиИУбытки. СальдоПрочихДоходовИРасходов;

                               Проводка. Сумма = - Прибыль;

                               Проводка. Содержание  = "Определение финансовых результатов";

                               НалоговыйУчет. ЗаполнитьНалоговыеСуммыПроводки(-ПрибыльНУ, - ПрибыльНУ, - ПрибыльПР, - ПрибыльПР, - ПрибыльВР, - ПрибыльВР,

                                       Проводка, СтруктураШапкиДокумента. ПрименениеПБУ18);

                               

                       КонецЕсли;

               КонецЕсли;

               

       КонецЦикла;

       

       мПроводки. Записать(Ложь);

       

КонецПроцедуры