При работе в 1С:ERP Управление предприятием 2.5 (или Комплексной автоматизации 2) специалисты часто сталкиваются с ситуацией, когда при заполнении документа Корректировка регистров по регистру Себестоимость товаров после нажатия кнопки «Записать» все внесенные данные в табличной части бесследно исчезают. При этом система не выдает никаких предупреждений или ошибок, документ успешно записывается и получает номер, но остается «пустым» внутри.
Особенно часто это проявляется при переносе остатков из других систем (например, из 1С:УПП), когда требуется внести корректировки концом года (31.12.2024), в то время как полноценный учет в новой базе планируется начать с начала следующего года (01.01.2025). Разберем по шагам, почему это происходит и как правильно настроить систему.
Проанализируем поведение системы. Если мы создаем документ датой 01.01.2025, движения сохраняются корректно. Однако стоит изменить дату на 31.12.2024, как табличная часть очищается при записи. На первый взгляд это похоже на работу механизма «Дата запрета редактирования», но это не так. Дата запрета обычно блокирует саму возможность записи документа или выдает явное сообщение об ошибке прав доступа.
В данном случае мы имеем дело с внутренней логикой механизмов учета себестоимости. В конфигурации заложена жесткая проверка целостности данных партионного учета. Система программно блокирует любые изменения в регистрах себестоимости, если период этих изменений меньше даты официального старта учета, указанной в константах. Рассмотрим программную логику этого процесса:
В типовом решении при записи набора записей регистра Себестоимость товаров вызываются процедуры общего модуля (например, в модулях, отвечающих за проведение или расчет себестоимости). Логика выглядит примерно следующим образом:
Если НЕ ЭтоВводОстатков И ПериодДвижения < ДатаНачалаУчетаСебестоимости Тогда
НаборЗаписей.Очистить();
КонецЕсли;
Именно поэтому в Журнале регистрации мы видим успешную транзакцию изменения данных, но по факту в базе данных записи отсутствуют — они были стерты непосредственно перед физической записью в таблицу БД. Программа считает, что до даты начала учета данные могут вноситься только специализированными документами ввода остатков.
Чтобы решить проблему, нам необходимо найти и проверить значение константы Дата начала учета себестоимости. Разберем, где эта настройка находится в интерфейсе 1С:ERP 2.5:
Если в этом поле стоит дата 01.01.2025, то любые ручные корректировки датой 31.12.2024 будут игнорироваться системой. Важный момент: если вы решите временно изменить эту дату «назад», помните, что это может повлиять на статусы закрытия месяца и потребовать пересчета себестоимости за уже закрытые периоды (если они были).
Вместо использования универсального документа Корректировка регистров, который является инструментом «крайнего случая», рассмотрим использование стандартного механизма Помощник ввода остатков.
Система делает исключение для документов типа Ввод остатков. В их программной логике прописан приоритет, позволяющий формировать движения датой, предшествующей дате начала учета. Это связано с тем, что их прямое назначение — создать начальное сальдо для последующих расчетов. Если вам нужно скорректировать остатки при переходе с УПП, использование Ввода остатков будет более безопасным для целостности данных, так как этот документ автоматически заполнит сопутствующие аналитики и регистры (например, Партии товаров организации).
Если изменение даты начала учета не помогло, проанализируем ситуацию с помощью отладчика. Это поможет выявить, не вносит ли изменения какое-то расширение или дополнительная настройка. Выполним следующие шаги:
Себестоимость товаров в процедуре ПередЗаписью.Корректировка регистров.УчетСебестоимости или ПроведениеСервер.Движения.Посмотрим на ситуацию со стороны дальнейшей эксплуатации базы. Регистр Себестоимость товаров в ERP 2.5 не живет «сам по себе». Он тесно связан с регистрами партионного учета. Если мы внесем ручную правку только в один регистр, то при первом же выполнении регламентной операции Расчет себестоимости система обнаружит расхождения между партиями и себестоимостью, что может привести к непредсказуемым суммам списания или ошибкам в отчете «Ведомость по партиям товаров».
При необходимости использования именно Корректировки регистров, придерживайтесь следующего алгоритма:
Дата начала учета себестоимости в значение, меньшее чем дата вашего документа (например, 01.01.2024).Корректировка регистров и убедитесь, что движения сохранились.Дата начала учета себестоимости в исходное положение (01.01.2025).Таким образом, мы выяснили, что «исчезновение» движений — это не баг платформы, а защитный механизм конфигурации, предотвращающий появление некорректных данных до момента официального запуска учета в системе.