Как работает корректировка записей регистров и документов в 1С:Управление торговлей 11?

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

При переходе на конфигурацию 1С:Управление торговлей 11 с предыдущих поколений учетных систем (например, 1С:Управление производственным предприятием 1.3 или 1С:Управление торговлей 10.3) специалисты и пользователи часто сталкиваются с изменением логики исправления движений. Разберем, как устроена корректировка регистров в УТ 11, почему нельзя напрямую править чужие движения и какие штатные инструменты предназначены для исправления ошибок учета.

Принципиальные отличия механизмов УТ 11 и УПП 1.3

Проанализируем архитектурные различия между конфигурациями:

  1. В УПП 1.3: документ Корректировка записей регистров позволял выбрать режим «Ручная корректировка движений документа» или сторнировать конкретный документ-регистратор, переписывая его собственные движения.
  2. В УТ 11: документ Корректировка регистров формирует исключительно собственные движения. Он всегда выступает самостоятельным регистратором. Возможности выбрать первичный документ и скорректировать его проводки «изнутри» в типовом интерфейсе УТ 11 нет.

Кроме того, в УТ 11 документ Корректировка регистров по умолчанию скрыт и открывается через меню Функции для технического специалиста (или Все функции). Использовать его для прямого исправления регистров накопления крайне не рекомендуется: система использует взаимосвязанные цепочки регистров (партионный учет, онлайн/офлайн-взаиморасчеты, расчет себестоимости). Ручные записи не обновляют служебные регистры и конвейеры расчета, что неизбежно приводит к ошибкам и зависаниям в процедуре Закрытие месяца.

Штатные документы исправления операций: Корректировка приобретения и Корректировка реализации

Для исправления первичных документов закупки и продажи (ПТУ/РТУ) в УТ 11 предусмотрены специализированные документы: КорректировкаРеализации и КорректировкаПриобретения. Если вы не находите их в интерфейсе, выясним причину: они могут быть отключены в настройках программы.

Разберем по шагам включение функциональных опций:

  1. Для документов продажи перейдем в раздел НСИ и администрирование → Настройка НСИ и разделов → Продажи и установим флаг Корректировки реализаций.
  2. Для документов закупки перейдем в раздел НСИ и администрирование → Настройка НСИ и разделов → Закупки и установим флаг Корректировки приобретений.

После включения опций создадим исправление на основании исходного документа (Приобретение товаров и услуг или Реализация товаров и услуг). В документе корректировки можно выбрать вид операции:

  1. Исправление ошибок — используется, если в исходном документе были допущены неточности (например, неверная цена, количество или реквизиты).
  2. Корректировка по согласованию сторон — применяется при изменении условий сделки после ее совершения (предоставление скидки, возврат излишка).

Типовые инструменты для корректировки других участков учета

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

  1. Взаиморасчеты с контрагентами: используем документы Списание задолженности, Взаимозачет задолженности или Корректировка задолженности.
  2. Складские остатки и инвентаризация: применяем документы Оприходование излишков товаров, Списание недостач товаров, Пересортица товаров, оформленные по результатам документа Пересчет товаров.
  3. Резервы и назначения: для переброски обособленного обеспечения используем документ Корректировка назначения товаров.

Программное изменение движений документа (для разработчиков)

Если возникла нештатная ситуация и требуется программно скорректировать движения конкретного документа без его перепроведения, посмотрим на пример работы с набором записей через встроенный язык 1С:


// Получаем набор записей регистра накопления с отбором по нужному документу
НаборЗаписей = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаДокумент);

// Считываем текущие движения
НаборЗаписей.Прочитать();

// Выполняем модификацию набора записей
Для Каждого Движение Из НаборЗаписей Цикл
    Если Движение.Номенклатура = ИскомаяНоменклатура Тогда
        Движение.ВНаличии = НовоеКоличество;
    КонецЕсли;
КонецЦикла;

// Записываем измененный набор
НаборЗаписей.Записать();

Важно: при программной корректировке наборов записей разработчик обязан вручную обеспечить целостность всех связанных регистров учета, чтобы не нарушить работу механизмов партионного учета и закрытия месяца.

← На главную