Как исправить ошибки проведения и переноса «Корректировки приобретения» в 1С:Комплексная автоматизация 2.4 и ERP?

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

При переходе со старых конфигураций (таких как «1С:Управление производственным предприятием, ред. 1.3» или «1С:Комплексная автоматизация, ред. 1.1») на современные платформы («1С:ERP Управление предприятием» или «1С:Комплексная автоматизация 2») специалисты часто сталкиваются со сложностями при отражении корректировочных операций. Одной из наиболее запутанных подсистем является корректировка приобретений и оформление возвратов поставщикам. Для миграции документов и остатков без ручного ввода можно использовать специализированный раздел с решениями по переносу данных из УПП в новые базы.

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

1. Включение функциональной опции корректировок приобретения

Часто пользователи не находят документ Корректировка приобретения в интерфейсе и не могут создать его на основании Приобретения товаров и услуг. Дело в том, что в типовых конфигурациях ERP и КА 2 эта функциональность по умолчанию может быть отключена.

Для активации возможности корректировок пройдем по следующему пути в системе:

  1. Перейдем в раздел НСИ и администрирование.
  2. В блоке «Настройка разделов» выберем пункт Закупки.
  3. Развернем подраздел Заказы поставщикам.
  4. Установим флаг (галочку) напротив опции Корректировки приобретений.

После включения этой настройки в меню «Закупки» появится соответствующий журнал документов, а в меню ввода на основании документов поступления станет доступна команда создания новой корректировки.

2. Как правильно отразить возврат товара поставщику при корректировке

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

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

  1. Создаем документ Корректировка приобретения на основании исходного поступления.
  2. Выбираем вид операции. Для возврата или согласованного изменения объема закупки указываем вид Корректировка по согласованию сторон.
  3. Переходим на вкладку Товары (после корректировки). Нам необходимо уменьшить или полностью обнулить количество возвращаемого товара. Важно: обнуляем количество и сумму по нужным позициям вручную, но ни в коем случае не удаляем строки из таблицы! Если мы полностью удалим строки, программа посчитает, что по этим позициям изменений не было, и не зафиксирует расхождения.
  4. Переходим на вкладку Расхождения и нажимаем кнопку Заполнить расхождения. Табличная часть автоматически заполнится строками, по которым изменилось количество, с отрицательными значениями (уменьшение закупки).
  5. Для строк расхождений обязательно указываем колонку Вариант отражения. В случае физического возврата товара выбираем вариант Уменьшить закупку, уменьшить складские остатки.

3. Решение проблемы контроля заполнения строк с нулевым количеством

При обнулении количества возвращенного товара на вкладке «Товары (после корректировки)» в старых релизах КА 2.4 и ERP могла возникать ошибка валидации при проведении документа. Программа выдавала системные сообщения вида:

Не заполнена колонка "Количество упаковок" в строке списка "Товары"
Не заполнена колонка "Сумма" в строке списка "Товары"

Проанализируем причину этого поведения. Программа проверяет заполнение реквизитов в процедуре ОбработкаПроверкиЗаполнения модуля документа. Чтобы обойти эту проверку для позиций, которые мы возвращаем (где новое количество равно нулю), в платформе предусмотрен механизм исключения реквизитов. Однако при программной загрузке или в некоторых релизах этот механизм давал сбой.

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


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

4. Устранение ошибки «АналитикаУчетаНоменклатуры: не указана номенклатура» при переносе данных

При переносе документов из баз УПП/КА1 в КА2/ERP разработчики часто сталкиваются со следующей ошибкой в обработчике перехода:

Ошибка при получении набора регистра сведений АналитикаУчетаНоменклатуры: не указана номенклатура. Регистрация в РегистрСведений.АналитикаУчетаНоменклатуры.МодульМенеджера.

Выясним глубокую техническую причину этой ошибки. В системе ERP/КА 2 учет запасов жестко завязан на ключах аналитики (регистр сведений АналитикаУчетаНоменклатуры). При записи и проведении документов закупки система автоматически формирует так называемые «виды запасов» (скрытая табличная часть ВидыЗапасов документа).

При переносе данных из УПП посредством правил обмена (Конвертация данных) часто происходит следующая ситуация:

  1. Загружается и записывается документ Корректировка приобретения. На данном этапе он еще не проведен, поэтому его ТЧ ВидыЗапасов и Расхождения не инициализированы ключами аналитики.
  2. Следом загружается и пытается записаться/провестись подчиненный документ Счет-фактура полученный.
  3. При записи счета-фактуры система пытается получить суммы НДС и параметры расчетов из документа-основания. Для этого вызывается общий механизм инициализации ключей аналитики ИнициализироватьКлючиАналитикиУчетаНоменклатуры().
  4. Так как корректировка еще не проведена и не имеет заполненных видов запасов, запрос по связям аналитики возвращает пустые значения номенклатуры, что приводит к критическому сбою в модуле менеджера регистра сведений при попытке создать пустой ключ.

Эта проблема усугубляется особенностями переноса реквизитов дат. В УПП у счета-фактуры есть реквизит ДатаВходящегоДокумента, который часто переносится без времени (просто дата). В результате при автоматическом упорядочивании документов в процессе загрузки Счет-фактура полученный со временем 00:00:00 может оказаться в последовательности раньше своего документа-основания Корректировка приобретения. Чтобы избежать подобных ошибок выгрузки, можно применить доработанные правила обмена для перехода с УПП на ERP 2.5.

Как правильно решить эту проблему в правилах обмена:

5. Особенности корректировки приобретения на ордерном складе

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

Разобьем логику работы системы по шагам:

← На главную