Как добавить дополнительную аналитику к счетам в 1С:ERP без изменения типового плана счетов?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Бухгалтерский учет
← На главную

Ситуация, когда бухгалтерия требует добавить новые субконто на счета затрат (например, на 26 счет), является классическим вызовом для разработчика 1С. В системе 1С:ERP эта задача осложняется тем, что бухгалтерский учет тесно связан с оперативным контуром и сложными механизмами закрытия месяца. Рассмотрим подробно, почему прямое добавление субконто — это опасный путь, и разберем архитектурно правильные способы решения этой задачи.

Почему нельзя просто добавить субконто в план счетов?

Прежде чем приступать к реализации, проанализируем технические риски. План счетов Хозрасчетный в 1С:ERP является «верхушкой айсберга». Большинство проводок формируется не вручную, а через механизм «Отражение документов в регламентированном учете». Если мы добавим новое субконто, система столкнется со следующими проблемами:

  1. Нарушение алгоритмов закрытия месяца: Процедуры распределения затрат и формирования финансового результата не знают о вашем новом субконто. В итоге счет (например, 26) может не закрыться в ноль, так как остатки будут висеть в разрезе пустой или нераспределенной аналитики.
  2. Проблемы с обновлением: План счетов и модули отражения проводок часто обновляются фирмой «1С». Каждое обновление будет требовать ручного слияния кода и проверки заполнения ваших кастомных аналитик.
  3. Дублирование данных: В ERP информация о поставщиках и договорах на счетах затрат часто является избыточной, так как она уже содержится в аналитике корреспондирующих счетов (например, 60.01) или в оперативных регистрах.
  4. Производительность: Увеличение количества субконто на высокооборотных счетах замедляет работу регистра бухгалтерии и стандартных отчетов (ОСВ, Карточка счета).

Решение 1: Использование дополнительных реквизитов статей расходов

В 1С:ERP основной аналитикой счета 26 является субконто Статьи затрат. Вместо того чтобы менять план счетов, мы можем расширить свойства самой статьи (либо использовать программное создание элементов статьи расходов по шаблону). Это наиболее «безопасный» и гибкий путь.

Разберем этот метод по шагам:

  1. Перейдем в раздел Администрирование — Общие настройки — Дополнительные реквизиты и сведения.
  2. Найдем в списке справочник Статьи расходов.
  3. Добавим новый дополнительный реквизит (например, «Контрагент-поставщик» или «Тип контракта»), чтобы в дальнейшем получать остатки и обороты по счетам с субконто по месяцам.
  4. Теперь в каждой статье расходов бухгалтер сможет указать нужные данные.

Для вывода этой информации в отчетах (например, в ОСВ по счету 26) нам не нужно писать код. Достаточно в настройках отчета на вкладке «Группировка» добавить поле СтатьяЗатрат.ВашДопРеквизит. Система компоновки данных (СКД) автоматически вытащит эти значения, при необходимости можно настроить в СКД расчет нарастающего итога или дельты.

Решение 2: Использование аналитики «Направления деятельности»

Если бухгалтеру требуется сквозная аналитика для отслеживания финансового результата в разрезе проектов, покупателей или направлений, проанализируем возможность использования штатного механизма Направления деятельности.

Этот разрез учета поддерживается в ERP на большинстве счетов затрат и доходов «из коробки». Включение этой опции в учетной политике позволит разделять затраты на 26 счете без модификации конфигурации. Это позволит видеть «Карточку счета» с детализацией до конкретного проекта или покупателя, а также строить анализ прибыли и рентабельности по направлениям деятельности, если настроено соответствующее распределение.

Решение 3: Доработка отчета «Карточка счета» (извлечение данных из регистров)

Зачастую бухгалтеру нужны данные «Поставщик» и «Договор» на 26 счете только для визуального контроля в отчете. В 1С:ERP эти данные уже хранятся в регистре накопления Прочие расходы или Движения Контрагент - Доходы/Расходы.

Мы можем создать копию стандартного отчета Карточка счета и изменить его схему компоновки данных. Выясним причину, по которой данные отсутствуют в проводке: проводка — это лишь краткое отражение хозяйственной операции. Полные данные лежат в документе-основании и связанных с ним регистрах. Программный код для получения таких данных в отчете может выглядеть так:


// Пример логики получения данных контрагента для отчета
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ХозрасчетныйДвиженияССубконто.Регистратор КАК Документ,
    |	ПрочиеРасходы.Контрагент КАК ИстинныйПоставщик,
    |	ПрочиеРасходы.Договор КАК Договор
    |ИЗ
    |	РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&НачалоПериода, &КонецПериода, Счет = &Счет26) КАК ХозрасчетныйДвиженияССубконто
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПрочиеРасходы КАК ПрочиеРасходы
    |		ПО ХозрасчетныйДвиженияССубконто.Регистратор = ПрочиеРасходы.Регистратор";

Таким образом, мы сохраняем типовой план счетов нетронутым, но предоставляем пользователю отчет, который выглядит именно так, как он привык видеть в старых системах.

Решение 4: Создание отдельного регистра для специфической аналитики

Если задача «не обсуждается» и данные действительно нужно где-то хранить в разрезе каждой проводки, рассмотрим вариант с созданием регистра сведений или регистра накопления, который будет дублировать движения по 26 счету, но с расширенным набором измерений.

Рассмотрим алгоритм реализации:

  1. Создадим непериодический регистр сведений ДополнительнаяАналитикаПроводок.
  2. Добавим измерения: Регистратор, НомерСтроки (для связи с регистром бухгалтерии), Контрагент, Договор.
  3. Подпишемся на событие ОбработкаПроведения документов, формирующих затраты, или добавим расширение к процедуре отражения в регл. учете.
  4. При проведении документа будем записывать в наш регистр нужные данные, подсматривая их в табличных частях документа (например, ПоступлениеУслугПрочихАктивов).

Проанализируем преимущества: план счетов чист, закрытие месяца работает штатно, а для отчетов мы всегда можем соединить таблицу Хозрасчетный.ОстаткиИОбороты с нашим регистром по ключу Регистратор.

Рекомендации по общению с заказчиком

Как программисты, мы должны понимать, что бухгалтер часто просит «сделать как было в 7.7 или 2.0», не осознавая архитектуру ERP. Посмотрим на ситуацию глазами бизнеса: им нужна информация, а не конкретное «субконто».

Рассмотрим аргументы для диалога:

Помните, что в 1С:ERP счет 26 — это счет накопления затрат для их последующего распределения на себестоимость продукции или финансовый результат. Ведение взаиморасчетов (субконто Контрагент/Договор) на нем методологически неверно. Все расчеты должны оставаться на 60-х и 76-х счетах.

← На главную