Почему помощник исправления остатков в УТ 11.5 не видит минусы и ссылается на прошлые периоды?

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

При закрытии месяца в 1С:Управление торговлей 11.5 (а также в ERP 2.5 и КА 2.5) пользователи часто сталкиваются с парадоксальной ситуацией: Помощник исправления остатков товаров организаций указывает на наличие проблем в прошлых месяцах (например, в феврале при закрытии апреля), но при этом пишет, что отрицательных остатков «0». При этом стандартные отчеты по остаткам не показывают явных минусов. Разберемся детально, почему так происходит, как диагностировать скрытые ошибки и какими инструментами их исправлять.

Причина 1: Развернутое сальдо по ГТД и аналитике

Самая частая причина «невидимых» ошибок — это так называемое развернутое сальдо. Это ситуация, когда в целом по организации и складу остаток товара положительный или нулевой, но в разрезе дополнительных аналитик (например, Номеров ГТД или Видов запасов) висит одновременно и плюс, и минус.

Рассмотрим ситуацию: в карточке номенклатуры включен флаг ВестиУчетПоГТД. Если часть товара была списана без указания ГТД (пустое значение), а поступила с указанием конкретного номера ГТД, система видит это как две разные записи в регистре ТоварыОрганизаций. В итоге отчет «Остатки товаров» без детальной группировки покажет корректный общий остаток, но Помощник будет блокировать закрытие месяца, так как видит технический «минус» на пустом ГТД.

Причина 2: Специфика механизма Intercompany

При использовании схемы Intercompany (перепродажи между организациями) отрицательные остатки могут «маскироваться» в регистре РезервыТоваровОрганизаций. Система фиксирует потребность одной организации в товаре другой еще до оформления официальных документов передачи. Помощник анализирует этот регистр наряду с основным, и если цепочка передач не завершена или оформлена с ошибками в аналитике, он будет требовать исправления, даже если фактически товар на складе есть.

Как диагностировать проблему программно

Для понимания того, как именно Помощник «видит» остатки, проанализируем фрагмент кода запроса, который используется в модуле менеджера обработки ПомощникИсправленияОстатковТоваровОрганизаций. Этот запрос собирает данные из двух ключевых регистров и проверяет соответствие признака учета ГТД фактическим записям.


Функция ПомИсп_ЗапросДетальныеОстаткиНаКонецМесяцаИсправления(МесяцИсправления) Экспорт
    МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    СформироватьВТКонтролируемыеВидыЗапасов(МенеджерВременныхТаблиц);
    
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ОстаткиНаКонецМесяцаИсправления.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
    |    ОстаткиНаКонецМесяцаИсправления.Организация КАК Организация,
    |    ОстаткиНаКонецМесяцаИсправления.ВидЗапасов КАК ВидЗапасов,
    |    ОстаткиНаКонецМесяцаИсправления.НомерГТД КАК НомерГТД,
    |    СУММА(ОстаткиНаКонецМесяцаИсправления.КоличествоОстаток) КАК КоличествоОстаток
    |ПОМЕСТИТЬ ДетальныеОстаткиНаКонецМесяцаИсправления
    |ИЗ
    |    (ВЫБРАТЬ
    |        ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры,
    |        ТоварыОрганизацийОстатки.Организация,
    |        ТоварыОрганизацийОстатки.ВидЗапасов,
    |        ТоварыОрганизацийОстатки.НомерГТД,
    |        ТоварыОрганизацийОстатки.КоличествоОстаток
    |    ИЗ
    |        РегистрНакопления.ТоварыОрганизаций.Остатки(&ГраницаИсправления,
    |            ВидЗапасов В (ВЫБРАТЬ Ссылка ИЗ ВТКонтролируемыеВидыЗапасов)) КАК ТоварыОрганизацийОстатки
    |    ОБЪЕДИНИТЬ ВСЕ
    |    ВЫБРАТЬ
    |        РезервыТоваровОрганизаций.АналитикаУчетаНоменклатуры,
    |        РезервыТоваровОрганизаций.Организация,
    |        РезервыТоваровОрганизаций.ВидЗапасов,
    |        РезервыТоваровОрганизаций.НомерГТД,
    |        РезервыТоваровОрганизаций.КоличествоОстаток
    |    ИЗ
    |        РегистрНакопления.РезервыТоваровОрганизаций.Остатки(&ГраницаИсправления,
    |            ВидЗапасов В (ВЫБРАТЬ Ссылка ИЗ ВТКонтролируемыеВидыЗапасов)) КАК РезервыТоваровОрганизаций) КАК ОстаткиНаКонецМесяцаИсправления
    | ГДЕ
    |    НЕ ОстаткиНаКонецМесяцаИсправления.АналитикаУчетаНоменклатуры.Номенклатура.ВестиУчетПоГТД
    |    ИЛИ (ОстаткиНаКонецМесяцаИсправления.АналитикаУчетаНоменклатуры.Номенклатура.ВестиУчетПоГТД
    |        И ОстаткиНаКонецМесяцаИсправления.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка))";
    // ... дальнейшая группировка
КонецФункции

Важный нюанс: Обратите внимание на условие ГДЕ. Если в системе есть остатки импортного товара (флаг ГТД включен), но в регистре НомерГТД пустой — такой остаток может отсекаться или обрабатываться специфически, из-за чего Помощник выдает «0» в колонке отрицательных остатков, но не считает период «чистым».

Алгоритм поиска ошибок в пользовательском интерфейсе

Выясним причину несоответствия, используя стандартные инструменты программы:

  1. Откроем отчет «Остатки товаров организаций».
  2. В настройках отчета обязательно добавим группировку по полю «Номер ГТД» и «Вид запасов».
  3. Установим расшифровку до регистратора (документа-основания).
  4. Проанализируем строки, где количество отрицательное. Если мы видим две строки по одному товару: одна с плюсом и заполненным ГТД, а вторая с минусом и пустым ГТД — это и есть наше развернутое сальдо.
  5. В самом Помощнике исправления остатков обратим внимание на гиперссылку «Позиций с развернутым сальдо». Даже если «Отрицательных остатков» стоит 0, именно в развернутом сальдо могут скрываться причины блокировки закрытия месяца.

Способы решения проблемы

Рассмотрим подробнее три основных способа устранения выявленных расхождений:

1. Перепроведение документов (рекомендуется для текущего периода)

Если ошибка возникла в текущем (открытом) месяце, достаточно найти первичный документ (например, РеализацияТоваровУслуг или ПеремещениеТоваров), в котором не подтянулся номер ГТД, и перепровести его. При наличии остатков на складе система автоматически заполнит пустые поля аналитики.

2. Документ «Корректировка развернутого сальдо»

В современных релизах УТ 11.5 это наиболее правильный метод. Если вы обнаружили, что в феврале висит «плюс» на одном ГТД и «минус» на пустом ГТД, не нужно открывать период и менять старые документы. Рассмотрим, как это сделать:

3. Использование технической корректировки регистров

В исключительных случаях, когда стандартные документы не справляются (например, при сложных сбоях в Intercompany), можно воспользоваться документом Корректировка регистров. Нам необходимо вручную выровнять остатки по регистру ТоварыОрганизаций и, если требуется, по регистру РезервыТоваровОрганизаций, чтобы убрать технические «зависания» количественных показателей.

Резюме: Если Помощник исправления остатков в УТ 11.5 ведет себя странно и ссылается на «нулевые» ошибки в прошлых месяцах, всегда проверяйте развернутое сальдо по ГТД. Проблема почти всегда заключается в том, что система видит разные «кучки» одного и того же товара из-за незаполненной аналитики, что с точки зрения алгоритмов закрытия месяца является критической ошибкой учета.

← На главную