Почему остаются движения в Ведомости по товарам организаций после отмены проведения документа в 1С:КА 2.5

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

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

Причина возникновения проблемы: механизм Intercompany

Основная причина кроется в работе механизма Intercompany (перепродажи между собственными организациями). В отличие от старых версий программ, в КА 2.5 движения по регистру накопления РезервыТоваровОрганизаций могут существовать независимо от статуса проведения документа-регистратора. Это проектное решение разработчиков 1С, предназначенное для того, чтобы система могла автоматически покрывать отрицательные остатки одной организации за счет запасов другой.

Разберем ситуацию: когда бухгалтер отменяет проведение документа реализации «задним числом», система фиксирует потребность в товаре, чтобы не допустить разрыва в цепочке поставок. Записи в регистре резервов остаются как «технический след», указывающий на необходимость перераспределения запасов.

Решение 1: Регламентное задание по свертке резервов

Первым делом проанализируем состояние регламентных операций. В системе существует штатное задание СверткаРезервовТоваровОрганизаций. Его основная задача — удаление неактуальных записей в регистре резервов, которые больше не подкреплены реальными документами или потребностями.

  1. Перейдем в раздел НСИ и администрирование — Обслуживание.
  2. Выберем пункт Регламентные и фоновые задания.
  3. Найдем в списке задание Свертка резервов товаров организаций.
  4. Выполним его принудительно, нажав кнопку Выполнить сейчас.

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

Решение 2: Проверка очереди распределения запасов

Если свертка не помогла, нам необходимо проверить механизм онлайн-распределения запасов. Рассмотрим работу регистра сведений ОчередьРаспределенияЗапасов. Когда документ перепроводится или отменяется, запись о нем попадает в эту очередь для последующей обработки фоновым процессом.

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

  1. Откроем через Функции для технического специалиста регистр сведений Очередь распределения запасов.
  2. Посмотрим, есть ли там записи, относящиеся к проблемным документам.
  3. Если записей много, необходимо дождаться их обработки или перезапустить фоновое задание распределения запасов.

Решение 3: Исправление остатков через закрытие месяца

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

Выполним следующие шаги:

  1. Перейдем в раздел Финансовый результат и контроллинг — Закрытие месяца.
  2. Запустим процедуру закрытия для организации, по которой наблюдается сбой.
  3. Обратим особое внимание на пункт Исправление остатков товаров организаций. В некоторых релизах КА 2.5 это отдельная ссылка-помощник, которая позволяет выявить расхождения между фактическими остатками и регистром резервов.

Решение 4: Программная очистка движений (для разработчиков)

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

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


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

НаборДвижений.Прочитать();
Если НаборДвижений.Количество() > 0 Тогда
    НаборДвижений.Очистить();
    НаборДвижений.Записать(Истина); // Параметр Истина записывает пустой набор, удаляя старые записи
    Сообщить("Движения по регистру Резервы товаров организаций очищены для документа " + ДокументОбъект);
КонецЕсли;

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

Рекомендации по предотвращению проблемы

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

  1. Ограничение редактирования: Установите дату запрета редактирования данных для бухгалтеров. Это исключит возможность изменения документов «прошедшего времени», которые уже были задействованы в механизме Intercompany.
  2. Регламентные задания: Убедитесь, что задания Свертка резервов товаров организаций и Распределение запасов настроены на автоматический запуск с коротким интервалом (например, каждые 15-30 минут).
  3. Контроль остатков: Используйте специализированный отчет Контроль остатков товаров организаций (в разделе Склад и доставка), который показывает реальную картину обеспечения в разрезе организаций, в отличие от обычной ведомости.

Таким образом, мы выяснили, что сохранение движений у непроведенного документа в 1С:КА 2.5 — это не программная ошибка, а следствие работы сложного механизма резервирования. Решение задачи всегда должно начинаться с запуска штатных регламентных процедур.

← На главную