В процессе эксплуатации 1С:ERP Управление предприятием 2 (особенно в версии 2.5.12) пользователи и администраторы могут столкнуться с ситуацией, когда в системе образуются дублирующие элементы в справочнике Ключи аналитики учета номенклатуры. Это приводит к тому, что при проведении документов система выбирает один ("актуальный") ключ, в то время как остатки продолжают числиться на другом ("задублированном"). В результате при закрытии месяца возникают ошибки: суммы «зависают» на остатках без количества, а расчет себестоимости выполняется некорректно — для их исправления поможет обработка исправления ошибок учета для закрытия периода в ERP/КА/УТ. Чтобы оценить масштаб проблемы, в первую очередь стоит проверить остатки товаров организаций с себестоимостью и датами последних закупок.
Проанализируем причины возникновения этой проблемы и разберем по шагам, как правильно выполнить перенос остатков и объединить аналитики, чтобы восстановить целостность учета.
Ключ аналитики учета номенклатуры — это технический объект, который система генерирует автоматически на основании уникального набора данных: номенклатура, характеристика, склад, назначение и серия. Для оптимизации поиска система использует хеширование. Понимание того, как реализовано техническое устройство справочников ключей аналитики и партий, помогает быстрее диагностировать причины сбоев. Проблема дублей чаще всего возникает в следующих случаях:
Выясним причину: если набор полей в двух разных ключах идентичен, но ссылки (GUID) разные, типовой расчет себестоимости не сможет «схлопнуть» эти данные, так как для него это разные объекты учета.
Прежде чем приступать к ручным корректировкам регистров, рассмотрим самый безопасный и правильный с точки зрения платформы способ — устранение дублей ключей аналитики учета номенклатуры через типовую обработку замены ссылок.
Проанализируем алгоритм действий:
Ключи аналитики учета номенклатуры (через «Функции для технического специалиста»).Себестоимость товаров, Товары организаций, Товары на складах).Важный момент: если в вашей конфигурации есть значительные доработки (кастомные регистры, использующие ключи аналитики), обязательно предварительно выполните эту операцию на копии базы. После объединения крайне полезно произвести сравнение остатков номенклатуры в разных регистрах одновременно, чтобы убедиться в отсутствии расхождений — в этом поможет обработка сверки расхождений остатков между складами и организациями в УТ/КА/ERP. Типовой механизм может не затронуть объекты, которые не описаны в метаданных как связанные со справочником.
Если типовая замена ссылок по каким-то причинам невозможна (например, нужно перенести остатки только с определенной даты, сохранив историю на старых ключах), рассмотрим, как применяется методика ручной корректировки регистров в 1С:ERP 2.5. Простого переноса количества и суммы недостаточно. Для таких задач идеально подходит универсальная обработка для корректировки и чтения остатков регистра накопления, так как исправление ошибок в регистре «Себестоимость товаров» требует строгого заполнения всех технических реквизитов.
Разберем по шагам, как заполнить документ Корректировка регистров для корректного переноса:
Шаг 1. Формирование движений по расходу (старый ключ)
Для записи расхода необходимо полностью отзоркалить текущие остатки по «плохому» ключу. В строке расхода указываем:
Себестоимость товаров.Партия.Шаг 2. Формирование движений по приходу (новый ключ)
При записи прихода на правильный ключ аналитики крайне важно заполнить служебные поля, иначе расчет себестоимости «потеряет» эти суммы. Рассмотрим обязательные реквизиты:
Партия.Внутреннее поступление.Ввод остатков собственных товаров.Оприходование товаров.Партии. Если конкретной партии нет, можно использовать технический документ ввода остатков или «затычку» в виде документа внутренней накладной, но ссылка должна вести именно на объект типа СправочникСсылка.ПартииТоваров.Посмотрим на пример заполнения в коде (если вы делаете это обработкой):
Движение = НаборЗаписей.ДобавитьПриход();
Движение.Период = ДатаКорректировки;
Движение.Организация = ВыбраннаяОрганизация;
Движение.АналитикаУчетаНоменклатуры = ПравильныйКлюч;
Движение.ВидЗапасов = ВидЗапасовОстатка;
Движение.ТипЗаписи = Перечисления.ТипыЗаписейРегистраСебестоимостьТоваров.Партия;
Движение.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОприходованиеТоваров;
Движение.Количество = ОстатокКол;
Движение.Стоимость = ОстатокСумма;
Проанализируем ситуацию шире: Ключ аналитики используется не только в себестоимости. Если вы правите только один регистр, вы получите расхождение между складским, финансовым и регламентированным учетом. Для выявления таких разрывов используйте отчет для сравнения товаров на складах организаций и себестоимости товаров — для этого есть отчет для сравнения остатков по ключевым регистрам в ERP/КА/УТ. При ручной корректировке обязательно нужно затронуть:
Товары организаций: здесь ведется контроль остатков в разрезе организаций. Если не перенести ключ здесь, система выдаст ошибку «Недостаточно товара» при попытке продажи.Товары на складах: если в настройках склада используется учет по ключам (хотя чаще там используется прямая аналитика номенклатуры).Детализация себестоимости товаров: в версии 2.5 этот регистр хранит расшифровку стоимостных данных. Если его не скорректировать вместе с основным регистром себестоимости, при закрытии месяца могут возникнуть фантомные остатки.После того как мы выполнили корректировку регистров (ручным документом или обработкой), система может «не заметить» изменений при запуске процедуры закрытия месяца. Выясним, как заставить программу пересчитать данные.
Для этого необходимо добавить запись в регистр сведений Задания к расчету себестоимости. Укажите в нем:
К расчету.Без этой записи система может использовать закэшированные результаты предыдущих расчетов, и вы снова увидите старые ошибки.
Рассмотрим вопрос даты корректировки. Настоятельно рекомендуется выполнять подобные операции последней секундой месяца, предшествующего началу текущего периода (например, 31.12.2023 23:59:59 для начала учета в январе 2024). Это позволит:
Таким образом, мы выяснили, что наиболее эффективным методом является использование типовой команды «Заменить дубли». Однако, если ситуация требует ручного вмешательства, строгое соблюдение заполнения реквизитов ТипЗаписи, ХозяйственнаяОперация и Партия гарантирует успешное закрытие месяца. В качестве финальной проверки после всех манипуляций обязательно проведите сверку регистра себестоимости и ОСВ по МПЗ, чтобы исключить расхождения с бухгалтерским учетом.