gifts2017

Закрытие счета 26 (методом "Директ-костинг") и счетов 44.01, 44.02 по номенклатурным группам в 1С Бухгалтерия Предприятия 3.0

Опубликовал Сергей (Sergant) в раздел Программирование - Практика программирования

Стояла задача добавить аналитику на счет 90.07 "Номенклатурная группа" и изменить алгоритм закрытия 26 счета по номенклатурным группам используя базу выручка за минусом НДС.
Аналогично добавить аналитику на счет 90.08 "Номенклатурная группа" и изменить алгоритм закрытия 44.01,44.02.


В типовой конфигурации на счете 90.07 изначально нет субконто "Номенклатурные группы". Таким образом при директ-костинге суммы со счета 26 списываются на счет 90.07 (по субсчету вида налогообложения) без распределения по номенклатурным группам.

1. Добавим на 26 счет субконто "Номенклатурные группы".
2. Изменим алгоритмы закрытия счета 26.

В 1С БП релиз 3.0 все затраты, подлежащие распределению, собираются воедино.
Далее к ним применяются правила распределения в строго заданном  порядке.
Можно добавлять свои и переопределять существующие правила.

В правилах определяется база распределения, счета для отбора расходов и многое другое.
Изменим существующую процедуру ОбщийМодуль.ПравилаРаспределенияРасходов.ДобавитьПравилоДиректКостинг()

	Процедура ДобавитьПравилоДиректКостинг(ПравилаРаспределения, Период, Организация)
   
    // Списываем расходы на продажу (на финансовый результат)
    Правило = ПравилаРаспределения.Добавить();
    Правило.Имя                = "ДиректКостинг";
    Правило.Наименование       = НСтр("ru = 'Списать расходы на результат текущего периода методом ""Директ-костинг""'");
    Правило.СодержаниеПроводки = НСтр("ru = 'Закрытие счетов косвенных расходов'");
   
    // Отбор источника
    Правило.ОтборРасходов = Новый Структура;
    СчетаРасходовНаУправление = Новый Массив;
    СчетаРасходовНаУправление.Добавить(ПланыСчетов.Хозрасчетный.ОбщехозяйственныеРасходы);
    Правило.ОтборРасходов.Вставить("Счет", БухгалтерскийУчет.ПолучитьМассивСчетовССубсчетами(СчетаРасходовНаУправление));
   
    Правило.Действие = "РаспределитьНаСубконто";
   
    ПоляПриемника = Новый Структура;
    ПоляПриемника.Вставить("Субконто1");
    Правило.ПоляПриемника=ПоляПриемника;
   
    Правило.ПоляИсточника.Вставить("ВидДеятельности", "ВидДеятельности");
   
    ТекстЗапроса =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    Хозрасчетный.Ссылка КАК Счет
    |ПОМЕСТИТЬ ВТ_СчетаВыручки
    |ИЗ
    |    ПланСчетов.Хозрасчетный КАК Хозрасчетный
    |ГДЕ
    |    (Хозрасчетный.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Выручка))
    |            ИЛИ Хозрасчетный.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи_НДС)))
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    Счет
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ЗНАЧЕНИЕ(Перечисление.ВидыДеятельностиДляНалоговогоУчетаЗатрат.ОсновнаяСистемаНалогообложения) КАК ВидДеятельности,
    |    &ПустоеПодразделение КАК Подразделение,
    |    ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи_РасходыНаПродажуНеЕНВД) КАК Счет,
    |    ХозрасчетныйОбороты.Субконто1 КАК Субконто1,
    |    НЕОПРЕДЕЛЕНО КАК Субконто2,
    |    НЕОПРЕДЕЛЕНО КАК Субконто3,
    |    ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура,
    |    ЕСТЬNULL(ХозрасчетныйОбороты.СуммаОборотКт, 0) - ЕСТЬNULL(ХозрасчетныйОбороты.СуммаОборотДт, 0) КАК База
    |ПОМЕСТИТЬ БазаРаспределения_СписатьРасходыТекущегоПериода
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Обороты(
    |            &НачалоПериода,
    |            &КонецПериода,
    |            ,
    |            Счет В
    |                (ВЫБРАТЬ
    |                    ВТ_СчетаВыручки.Счет
    |                ИЗ
    |                    ВТ_СчетаВыручки),
    |            ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы),
    |            Организация = &Организация,
    |            ,
    |            ) КАК ХозрасчетныйОбороты
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    ВидДеятельности
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |УНИЧТОЖИТЬ ВТ_СчетаВыручки";
   
    Правило.БазаРаспределения.Вставить("Имя",          "БазаРаспределения_СписатьРасходыТекущегоПериода");
    Правило.БазаРаспределения.Вставить("ТекстЗапроса", ТекстЗапроса);
   
КонецПроцедуры

  Аналогично решается закрытие субсчетов  44 счета (расходы на продажу) на 90.08 счет.
Сам алгоритм приведен в прикрепленном файле.




Скачать файлы

Наименование Файл Версия Размер
Закрытие субсчетов 44 счета 9
.txt 2,59Kb
18.07.14
9
.txt 2,59Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Светлана Мамонтова (Saifa) 05.05.15 11:20
Добрый день! В релизе 3.0.34 кажется уже появился модуль, позволяющий делать свою настройку по закрытию счетов, и он не затирается при обновлении. Скажите, вы его не пробовали использовать? Просто у меня стоит такая же задача, но нужно с использованием этого модуля сделать.
2. Алексей Ермилов (Alex_E) 05.05.15 11:39
Стояла задача добавить аналитику на счет 90.07 "Номенклатурная группа" и изменить алгоритм закрытия 26 счета по номенклатурным группам используя базу выручка за минусом НДС.
Аналогично добавить аналитику на счет 90.08 "Номенклатурная группа" и изменить алгоритм закрытия 44.01,44.02.
- поменяйте 90.07 для 26 на 90.08, и 90.08 на 90.07 для 44, а то что-то не то получается :-)
3. Светлана Мамонтова (Saifa) 06.05.15 09:55
И еще вопрос: у вас в примере закрытие происходит только по основной системе (без ЕНВД) ?
4. Елена Konyavka (konyavka) 15.07.15 11:39
Спасибо. Мне очень пригодилось.

У меня такой вопрос: подскажите, каким образом с небольшим внесением изменений можно закрывать субсчета 20-го по отдельному подразделению? У нас на сч.20 заведено аж 8 субсчетов и каждый надо закрывать отдельно да еще по конкретному подразделению.
5. Ольга Гурова (blizarda) 16.10.15 13:26
Добрый день!
Подскажите, влияет ли на что отсутствие номенклатурной группы на счете 90.08? Это связано с тем, что в месяце не было выручки, а 26 счет закрывается на 90.08 по оборотам 90.01.1 по НГ.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа