При передаче товаров или малоценных активов в эксплуатацию в 1С:ERP Управление предприятием может возникнуть специфическая бизнес-задача: требуется единовременно признать в регламентированном учете только часть стоимости (например, 50%), а оставшуюся часть списывать постепенно через механизмы амортизации или ежемесячного погашения стоимости. Рассмотрим подробнее, как устроена архитектура учета в 1С:ERP, к каким последствиям приводит прямая доработка проводок в модулях регламентированного учета и как корректно решить эту задачу.
Разберем ключевой принцип работы 1С:ERP: регламентированный (бухгалтерский и налоговый) учет в системе является вторичным по отношению к оперативному учету. Это означает, что проводки по регистру бухгалтерии Хозрасчетный не формируются «напрямую» из документа в момент нажатия кнопки проведения, если не включено непосредственное проведение проводок.
Процесс формирования проводок выглядит следующим образом:
Себестоимость товаров, ТМЦ в эксплуатации, Расходы предприятия).При поиске точки входа для изменения сумм проводок разработчики часто обращаются к процедурам выборки данных. Проанализируем пример, когда изменения вносятся в процедуру ТекстСебестоимость общего модуля РеглУчетВыборкиСерверПовтИсп, где сумма себестоемости делится на 2:
// Пример корректировки текста запроса выборки данных для проводок
// В процедуре ТекстСебестоимость делим суммовые показатели пополам
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаСебестоимость.Стоимость", "ТаблицаСебестоимость.Стоимость / 2");
Посмотрим, к каким серьезным последствиям приводит такой подход:
Себестоимость товаров и ТМЦ в эксплуатации остаток уменьшится на все 100% (или наоборот, останется 100% первоначальной стоимости).ПовтИсп (повторное использование значений) кэшируют результаты работы в рамках сеанса. Изменения логики в таких модулях могут срабатывать нестабильно при работе фоновых заданий.Выясним, как реализовать требования бизнеса без нарушения целостности базы данных.
Прежде чем вносить изменения в конфигурацию, разберем методически верные варианты оформления операции пользовательскими средствами:
Если требования учета жестко задают автоматическое деление суммы 50/50 при проведении конкретного документа, доработку следует выполнять через Расширение конфигурации, соблюдая правила работы с обоими контурами учета:
ОбработкаПроведения модуля объекта или менеджер документа).ТМЦ в эксплуатации и регистрам учета себестоимости, чтобы оперативный учет отражал ровно ту сумму, которая должна списаться на расходы и отправиться на амортизацию.СформироватьДвиженияРасходыРеглУчет или аналогичная в зависимости от версии ERP).Никогда не меняйте логику только в регистрах бухгалтерии или модулях выборки проводок в отрыве от оперативных регистров — это гарантирует корректность выполнения процедуры «Закрытие месяца» и совпадение данных во всех видах учета.