При переходе на конфигурацию 1С:Управление торговлей 11 с предыдущих поколений учетных систем (например, 1С:Управление производственным предприятием 1.3 или 1С:Управление торговлей 10.3) специалисты и пользователи часто сталкиваются с изменением логики исправления движений. Разберем, как устроена корректировка регистров в УТ 11, почему нельзя напрямую править чужие движения и какие штатные инструменты предназначены для исправления ошибок учета.
Проанализируем архитектурные различия между конфигурациями:
Корректировка записей регистров позволял выбрать режим «Ручная корректировка движений документа» или сторнировать конкретный документ-регистратор, переписывая его собственные движения.Корректировка регистров формирует исключительно собственные движения. Он всегда выступает самостоятельным регистратором. Возможности выбрать первичный документ и скорректировать его проводки «изнутри» в типовом интерфейсе УТ 11 нет.Кроме того, в УТ 11 документ Корректировка регистров по умолчанию скрыт и открывается через меню Функции для технического специалиста (или Все функции). Использовать его для прямого исправления регистров накопления крайне не рекомендуется: система использует взаимосвязанные цепочки регистров (партионный учет, онлайн/офлайн-взаиморасчеты, расчет себестоимости). Ручные записи не обновляют служебные регистры и конвейеры расчета, что неизбежно приводит к ошибкам и зависаниям в процедуре Закрытие месяца.
Для исправления первичных документов закупки и продажи (ПТУ/РТУ) в УТ 11 предусмотрены специализированные документы: КорректировкаРеализации и КорректировкаПриобретения. Если вы не находите их в интерфейсе, выясним причину: они могут быть отключены в настройках программы.
Разберем по шагам включение функциональных опций:
После включения опций создадим исправление на основании исходного документа (Приобретение товаров и услуг или Реализация товаров и услуг). В документе корректировки можно выбрать вид операции:
Рассмотрим, какими специализированными документами следует устранять расхождения в других разрезах учета без использования ручных записей регистров:
Списание задолженности, Взаимозачет задолженности или Корректировка задолженности.Оприходование излишков товаров, Списание недостач товаров, Пересортица товаров, оформленные по результатам документа Пересчет товаров.Корректировка назначения товаров.Если возникла нештатная ситуация и требуется программно скорректировать движения конкретного документа без его перепроведения, посмотрим на пример работы с набором записей через встроенный язык 1С:
// Получаем набор записей регистра накопления с отбором по нужному документу
НаборЗаписей = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаДокумент);
// Считываем текущие движения
НаборЗаписей.Прочитать();
// Выполняем модификацию набора записей
Для Каждого Движение Из НаборЗаписей Цикл
Если Движение.Номенклатура = ИскомаяНоменклатура Тогда
Движение.ВНаличии = НовоеКоличество;
КонецЕсли;
КонецЦикла;
// Записываем измененный набор
НаборЗаписей.Записать();
Важно: при программной корректировке наборов записей разработчик обязан вручную обеспечить целостность всех связанных регистров учета, чтобы не нарушить работу механизмов партионного учета и закрытия месяца.