Ситуация, когда бухгалтерия требует добавить новые субконто на счета затрат (например, на 26 счет), является классическим вызовом для разработчика 1С. В системе 1С:ERP эта задача осложняется тем, что бухгалтерский учет тесно связан с оперативным контуром и сложными механизмами закрытия месяца. Рассмотрим подробно, почему прямое добавление субконто — это опасный путь, и разберем архитектурно правильные способы решения этой задачи.
Прежде чем приступать к реализации, проанализируем технические риски. План счетов Хозрасчетный в 1С:ERP является «верхушкой айсберга». Большинство проводок формируется не вручную, а через механизм «Отражение документов в регламентированном учете». Если мы добавим новое субконто, система столкнется со следующими проблемами:
В 1С:ERP основной аналитикой счета 26 является субконто Статьи затрат. Вместо того чтобы менять план счетов, мы можем расширить свойства самой статьи (либо использовать программное создание элементов статьи расходов по шаблону). Это наиболее «безопасный» и гибкий путь.
Разберем этот метод по шагам:
Статьи расходов.Для вывода этой информации в отчетах (например, в ОСВ по счету 26) нам не нужно писать код. Достаточно в настройках отчета на вкладке «Группировка» добавить поле СтатьяЗатрат.ВашДопРеквизит. Система компоновки данных (СКД) автоматически вытащит эти значения, при необходимости можно настроить в СКД расчет нарастающего итога или дельты.
Если бухгалтеру требуется сквозная аналитика для отслеживания финансового результата в разрезе проектов, покупателей или направлений, проанализируем возможность использования штатного механизма Направления деятельности.
Этот разрез учета поддерживается в ERP на большинстве счетов затрат и доходов «из коробки». Включение этой опции в учетной политике позволит разделять затраты на 26 счете без модификации конфигурации. Это позволит видеть «Карточку счета» с детализацией до конкретного проекта или покупателя, а также строить анализ прибыли и рентабельности по направлениям деятельности, если настроено соответствующее распределение.
Зачастую бухгалтеру нужны данные «Поставщик» и «Договор» на 26 счете только для визуального контроля в отчете. В 1С:ERP эти данные уже хранятся в регистре накопления Прочие расходы или Движения Контрагент - Доходы/Расходы.
Мы можем создать копию стандартного отчета Карточка счета и изменить его схему компоновки данных. Выясним причину, по которой данные отсутствуют в проводке: проводка — это лишь краткое отражение хозяйственной операции. Полные данные лежат в документе-основании и связанных с ним регистрах. Программный код для получения таких данных в отчете может выглядеть так:
// Пример логики получения данных контрагента для отчета
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйДвиженияССубконто.Регистратор КАК Документ,
| ПрочиеРасходы.Контрагент КАК ИстинныйПоставщик,
| ПрочиеРасходы.Договор КАК Договор
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&НачалоПериода, &КонецПериода, Счет = &Счет26) КАК ХозрасчетныйДвиженияССубконто
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПрочиеРасходы КАК ПрочиеРасходы
| ПО ХозрасчетныйДвиженияССубконто.Регистратор = ПрочиеРасходы.Регистратор";
Таким образом, мы сохраняем типовой план счетов нетронутым, но предоставляем пользователю отчет, который выглядит именно так, как он привык видеть в старых системах.
Если задача «не обсуждается» и данные действительно нужно где-то хранить в разрезе каждой проводки, рассмотрим вариант с созданием регистра сведений или регистра накопления, который будет дублировать движения по 26 счету, но с расширенным набором измерений.
Рассмотрим алгоритм реализации:
ДополнительнаяАналитикаПроводок.Регистратор, НомерСтроки (для связи с регистром бухгалтерии), Контрагент, Договор.ОбработкаПроведения документов, формирующих затраты, или добавим расширение к процедуре отражения в регл. учете.ПоступлениеУслугПрочихАктивов).Проанализируем преимущества: план счетов чист, закрытие месяца работает штатно, а для отчетов мы всегда можем соединить таблицу Хозрасчетный.ОстаткиИОбороты с нашим регистром по ключу Регистратор.
Как программисты, мы должны понимать, что бухгалтер часто просит «сделать как было в 7.7 или 2.0», не осознавая архитектуру ERP. Посмотрим на ситуацию глазами бизнеса: им нужна информация, а не конкретное «субконто».
Рассмотрим аргументы для диалога:
Доходы и расходы или Анализ расходов. В этих отчетах аналитика по поставщикам и статьям уже есть в типовом функционале.Дополнительными реквизитами. Это штатный механизм, который не снимает базу с поддержки и полностью решает задачу классификации затрат.Помните, что в 1С:ERP счет 26 — это счет накопления затрат для их последующего распределения на себестоимость продукции или финансовый результат. Ведение взаиморасчетов (субконто Контрагент/Договор) на нем методологически неверно. Все расчеты должны оставаться на 60-х и 76-х счетах.