Как исправить ошибку «Недостаточно количества» на счете МЦ.04 после перехода с Бухгалтерии ПРОФ на КОРП?

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

Переход с версии 1С:Бухгалтерия ПРОФ на КОРП — это не просто обновление интерфейса, а серьезное изменение структуры хранения данных в регистре бухгалтерии. Одной из самых частых проблем, с которой сталкиваются пользователи и технические специалисты, является невозможность списать материалы, находящиеся в эксплуатации (счет МЦ.04). Система выдает ошибку о нехватке остатка, хотя в отчетах количество отображается корректно.

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

Почему возникает ошибка: анализируем ситуацию

В версии ПРОФ учет на забалансовых счетах (в частности, МЦ.04 «Инвентарь и хозяйственные принадлежности в эксплуатации») ведется в разрезе номенклатуры и ответственных лиц. Реквизит Местонахождение в документе «Передача материалов в эксплуатацию» часто игнорируется или носит чисто информационный характер, так как на плане счетов в ПРОФ по этим счетам признак «Учет по подразделениям» обычно выключен.

При переходе на КОРП ситуация кардинально меняется:

  1. Сквозной учет по подразделениям: В версии КОРП учет по подразделениям является обязательным для большинства счетов. Как только вы загружаете конфигурацию КОРП, в плане счетов на счете МЦ.04 (и многих других) автоматически включается признак Учет по подразделениям.
  2. Трансляция реквизитов: Реквизит Местонахождение в документах передачи, который раньше был «справочным», теперь напрямую транслируется в измерение Подразделение регистра бухгалтерии.
  3. Конфликт старых и новых данных: В проводках, созданных до перехода на КОРП, поле Подразделение либо заполнено значением NULL (техническое отсутствие значения), либо пустой ссылкой. Когда вы пытаетесь провести новый документ «Списание материалов из эксплуатации», система подставляет в запрос подразделение из поля Местонахождение. Так как на этом конкретном подразделении остатков нет (они числятся на «пустом» подразделении), возникает ошибка нехватки количества.

Проанализируем разницу в значениях: для системы 1С значение NULL, Неопределено и ПустаяСсылка — это разные объекты. Проведение документа в КОРП всегда ищет совпадение по конкретной ссылке подразделения.

Способ 1. Групповое изменение документов и «протяжка» подразделений

Это наиболее правильный методический путь. Нам необходимо сделать так, чтобы старые остатки «переехали» на те подразделения, с которых мы планируем их списывать. Разберем по шагам, как это реализовать:

1. Воспользуемся стандартной обработкой Групповое изменение реквизитов.

2. Отберем документы Передача материалов в эксплуатацию за все прошлые периоды, по которым еще есть остатки на счете МЦ.04.

3. Установим в этих документах реквизит Местонахождение (подразделение). Если фактическое подразделение неизвестно, можно выбрать «Основное подразделение».

4. Проведем эти документы повторно. Внимание: это изменит движения в закрытых периодах. Если перезакрытие периодов недопустимо, переходите к Способу 2.

5. После перепроведения старых передач документ Списание материалов из эксплуатации увидит остатки по нужному подразделению и проведется без ошибок.

Способ 2. Использование документа «Корректировка записей регистров»

Если вы не хотите менять старые документы и перепроводить прошлые годы, можно выполнить «выравнивание» остатков на дату перехода (например, на 31 декабря предыдущего года или 1-е число текущего месяца).

Рассмотрим алгоритм действий:

  1. Создадим документ Корректировка записей регистров.
  2. Добавим в состав регистров Хозрасчетный.
  3. Заполним таблицу проводок:
    • Расход: Счет МЦ.04, Подразделение — Пустая ссылка, Номенклатура и Физ.лицо как в остатках.
    • Приход: Счет МЦ.04, Подразделение — Ваше реальное подразделение (например, «Склад»), те же Номенклатура и Физ.лицо.

Таким образом, мы перенесем количественный остаток с «пустоты» на конкретную аналитику, не затрагивая первичные документы прошлых лет.

Способ 3. Программное отключение учета по подразделениям

Иногда пользователи пытаются просто снять галочку в плане счетов, но в КОРП она часто заблокирована или недоступна для изменения в пользовательском режиме. Рассмотрим, как программно отключить этот признак учета, если вы уверены, что аналитика по подразделениям на счете МЦ.04 вам не нужна.

Для этого можно создать внешнюю обработку со следующим кодом:


// Выбираем нужный счет из плана счетов
СчетОбъект = ПланыСчетов.Хозрасчетный.МЦ04.ПолучитьОбъект();

// Отключаем признак учета по подразделениям
СчетОбъект.УчетПоПодразделениям = Ложь;

// Записываем изменения
Попытка
    СчетОбъект.Записать();
    Сообщить("Учет по подразделениям на счете МЦ.04 успешно отключен.");
Исключение
    Сообщить("Ошибка при записи счета: " + ОписаниеОшибки());
КонецПопытки;

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

Способ 4. Техническая правка через расширение (для программистов)

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

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


&Вместо("СформироватьЗапросПоОстаткам")
Процедура Мой_СформироватьЗапросПоОстаткам(Параметры)
    // Здесь мы можем модифицировать текст запроса, 
    // чтобы условие по подразделению не применялось для счета МЦ.04
    ТекстЗапроса = Параметры.ТекстЗапроса;
    // Логика замены условия ГДЕ Подразделение = &Подразделение 
    // на более мягкое условие или его исключение
КонецПроцедуры

Однако этот путь является наиболее трудозатратным и требует регулярной поддержки при обновлениях.

Рекомендации и выводы

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

Подведем итог совместной работы:

  1. Проверьте отчет Оборотно-сальдовая ведомость по счету МЦ.04 с группировкой по подразделениям. Если вы видите пустые строки в колонке подразделения — это и есть причина ошибки.
  2. Если документов мало — исправьте их вручную, заполнив поле Местонахождение.
  3. Если документов тысячи — используйте Корректировку записей регистров на дату перехода, чтобы «схлопнуть» пустую аналитику и перенести остатки на актуальные подразделения.

Это позволит вам продолжить работу в версии КОРП без критических ошибок и сохранить чистоту ведения бухгалтерского учета.

← На главную