Как исправить ошибку «Изменилось количество в первичных движениях» при закрытии месяца в 1С:КА 2.4

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

В процессе работы с программой 1С:Комплексная автоматизация 2.4 (или 1С:ERP) пользователи часто сталкиваются с трудностями при закрытии месяца, если в одном периоде отражаются разнонаправленные операции по одной и той же номенклатуре. Одной из самых коварных ошибок является сообщение: «Изменилось количество в первичных движениях: Корректировка приобретения №...». Рассмотрим подробнее, почему возникает эта ситуация, как она связана с историческими данными 2018 года и как привести учет в порядок.

Суть проблемы и механизм возникновения ошибки

Разберем ситуацию, которая привела к ошибке. Предприятие закупило товар в 2018 году, успешно его продало, а спустя несколько лет (в текущем периоде) покупатель оформил Возврат товаров от клиента. Вслед за этим поставщик признал брак и согласился на Корректировку приобретения того самого исходного поступления. При попытке выполнить регламентную операцию «Расчет себестоимости» система выдает ошибку.

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

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

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

Проанализируем роль «Видов запасов»

Ключевым фактором в данной проблеме является регистр сведений Виды запасов. Проанализируем ситуацию: в документе Возврат товаров от клиента коллекция видов запасов заполнена (так как возврат формирует новый остаток), а в Корректировке приобретения она пуста. Это критическая ошибка для партионного учета 2.4.

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

Пошаговое решение проблемы

Рассмотрим несколько вариантов решения проблемы, от исправления текущих документов до изменения методики учета.

Способ 1. Синхронизация «Видов запасов»

Первым делом необходимо убедиться, что корректировочный документ понимает, какую именно партию он правит. Попробуем выполнить следующие действия:

  1. Откроем документ Корректировка приобретения.
  2. Перейдем в меню «Еще» — «Открыть виды запасов» (если кнопка доступна).
  3. Если табличная часть пуста, необходимо нажать «Указать виды запасов вручную» и попытаться подобрать аналитику, соответствующую исходному приходу 2018 года.

Важно: В КА 2.4 корректировка должна четко ссылаться на ту запись в регистре Себестоимость товаров, которую она сторнирует.

Способ 2. Изменение режима отражения корректировки

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

Если целью является только корректировка взаиморасчетов с поставщиком (уменьшение долга), рекомендуем следующий алгоритм:

Способ 3. Использование обратной продажи

Как было замечено в обсуждении, если товар физически присутствует на складе после возврата от клиента, иногда проще отразить возврат поставщику не через Корректировку приобретения к 2018 году, а через документ Возврат товаров поставщику. Это создаст прямые движения по текущим остаткам и не заставит систему «копать» вглубь истории на 5 лет назад.

Технический анализ через код

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


ВЫБРАТЬ
    Себестоимость.Регистратор КАК Документ,
    Себестоимость.Количество КАК КолВо,
    Себестоимость.ВидЗапасов КАК ВидЗапасов,
    Себестоимость.РазделУчета КАК РазделУчета
ИЗ
    РегистрНакопления.СебестоимостьТоваров КАК Себестоимость
ГДЕ
    Себестоимость.Номенклатура = &Номенклатура
    И Себестоимость.Период МЕЖДУ &НачалоМесяца И &КонецМесяца

Сравните результаты этого запроса до и после проведения корректировки. Если вы видите, что корректировка делает движения по пустому ВидуЗапасов, а возврат — по заполненному, вы нашли причину конфликта.

Рекомендации по закрытию периода

Чтобы успешно завершить закрытие месяца после внесения правок, выполните следующие шаги:

  1. Полностью отмените проведение документа Расчет себестоимости товаров за текущий месяц.
  2. Зайдите в раздел «Обслуживание» — «Корректировка данных» и убедитесь, что в скрытых регистрах очереди расчета (например, Очередь расчета себестоимости) нет «зависших» записей по данной номенклатуре.
  3. Перепроведите цепочку документов: сначала Корректировка приобретения, затем Возврат товаров от клиента.
  4. Запустите процедуру «Закрытие месяца» заново.

Подводя итог, можно сказать, что ошибка «Изменилось количество в первичных движениях» в 1С:КА 2.4 — это защитный механизм программы от некорректного распределения партий. Совмещение корректировок прошлых лет и текущих возвратов требует ювелирной точности в заполнении Видов запасов. Если система не может автоматически сопоставить эти потоки, бухгалтер или аналитик должен помочь ей вручную или использовать более простые механизмы корректировки задолженности.

← На главную