Как правильно настроить разделение суммы при передаче в эксплуатацию в 1С:ERP

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

При передаче товаров или малоценных активов в эксплуатацию в 1С:ERP Управление предприятием может возникнуть специфическая бизнес-задача: требуется единовременно признать в регламентированном учете только часть стоимости (например, 50%), а оставшуюся часть списывать постепенно через механизмы амортизации или ежемесячного погашения стоимости. Рассмотрим подробнее, как устроена архитектура учета в 1С:ERP, к каким последствиям приводит прямая доработка проводок в модулях регламентированного учета и как корректно решить эту задачу.

Архитектурные особенности регламентированного учета в 1С:ERP

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

Процесс формирования проводок выглядит следующим образом:

  1. При проведении документа формируются движения по регистрам накопления оперативного контура (в частности, Себестоимость товаров, ТМЦ в эксплуатации, Расходы предприятия).
  2. Формирование проводок выполняется механизмом «Отражение документов в регламентированном учете» (в фоновом режиме или по кнопке отражения в документе).
  3. Обработка отражения выбирает данные из оперативных регистров с помощью запросов, формируемых в общих модулях и модулях менеджеров документов, после чего записывает проводки.

Анализ решения с корректировкой общего модуля РеглУчетВыборкиСерверПовтИсп

При поиске точки входа для изменения сумм проводок разработчики часто обращаются к процедурам выборки данных. Проанализируем пример, когда изменения вносятся в процедуру ТекстСебестоимость общего модуля РеглУчетВыборкиСерверПовтИсп, где сумма себестоемости делится на 2:


// Пример корректировки текста запроса выборки данных для проводок
// В процедуре ТекстСебестоимость делим суммовые показатели пополам
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаСебестоимость.Стоимость", "ТаблицаСебестоимость.Стоимость / 2");

Посмотрим, к каким серьезным последствиям приводит такой подход:

  1. Рассогласование контуров учета: В регистре бухгалтерии спишется 50% стоимости, но в регистре накопления Себестоимость товаров и ТМЦ в эксплуатации остаток уменьшится на все 100% (или наоборот, останется 100% первоначальной стоимости).
  2. Ошибки при закрытии месяца: Ежемесячный расчет амортизации и погашения стоимости в 1С:ERP опирается исключительно на данные регистров накопления. Если оперативный учет не знает о делении суммы пополам, последующие расчеты будут ошибочными, что приведет к завышению списания или отрицательным остаткам.
  3. Проблемы с кэшированием: Общие модули с суффиксом ПовтИсп (повторное использование значений) кэшируют результаты работы в рамках сеанса. Изменения логики в таких модулях могут срабатывать нестабильно при работе фоновых заданий.
  4. Расхождения в стандартных отчетах: Отчет «Сверка данных оперативного и бухгалтерского учета» покажет постоянные суммовые нестыковки.

Корректные способы решения задачи

Выясним, как реализовать требования бизнеса без нарушения целостности базы данных.

Вариант 1. Использование штатных механизмов (без программирования)

Прежде чем вносить изменения в конфигурацию, разберем методически верные варианты оформления операции пользовательскими средствами:

  1. Разделение позиции на две строки или два документа: В документе передачи позицию разбивают на равные части. Для первой части выбирается статья расходов с единовременным списанием 100% стоимости, а для второй части — категория эксплуатации с линейным способом погашения стоимости по сроку полезного использования.
  2. Настройка справочника «Категории эксплуатации»: В 1С:ERP порядок погашения стоимости и правила учета задаются через категории объектов. Правильная настройка сроков и способов списания позволяет распределить расходы без правки конфигуратора.

Вариант 2. Разработка расширения конфигурации с изменением оперативных регистров

Если требования учета жестко задают автоматическое деление суммы 50/50 при проведении конкретного документа, доработку следует выполнять через Расширение конфигурации, соблюдая правила работы с обоими контурами учета:

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

Никогда не меняйте логику только в регистрах бухгалтерии или модулях выборки проводок в отрыве от оперативных регистров — это гарантирует корректность выполнения процедуры «Закрытие месяца» и совпадение данных во всех видах учета.

← На главную