Почему не переносится количество в документ при переносе данных в 1С:Розница 2.2?

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

При самостоятельной разработке правил обмена в конфигурации «1С:Конвертация данных» (ред. 2.1) для переноса документов поступления (приходных накладных) из сторонних или отраслевых систем (например, «ДАЛИОН: АвтоМаркет») в «1С:Розница 2.2» разработчики часто сталкиваются с ситуацией: документ создается, суммы и номенклатура переносятся корректно, в выгруженном файле обмена XML количество присутствует, однако в самом документе колонка количества остается пустой.

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

Причины возникновения проблемы в 1С:Розница 2.2

Проанализируем структуру табличной части Товары типового документа ПоступлениеТоваров в конфигурации «1С:Розница 2.2»:

  1. Особенности отображения реквизитов на управляемой форме: Колонка «Количество» в табличной части формы визуально связана не с реквизитом Количество, а с реквизитом КоличествоУпаковок. Если в правилах конвертации свойств (ПКС) выгружается только реквизит Количество, на форме документа соответствующая колонка будет отображаться пустой.
  2. Зависимость расчета от коэффициента: Формула пересчета в типовой конфигурации выглядит следующим образом: Количество = КоличествоУпаковок * Коэффициент. Если реквизит Коэффициент не заполнен, при инициализации строки или первом пересчете он принимает значение 0, что приводит к обнулению результирующего количества.
  3. Режим загрузки данных: При типовой загрузке через универсальный обмен данными устанавливается признак ОбменДанными.Загрузка = Истина. В этом режиме стандартные события модуля объекта по пересчету зависимых реквизитов строки не отрабатывают автоматически. Если в базе сохранен неполный набор реквизитов (нет упаковки, коэффициента или количества упаковок), при открытии формы происходит сброс или скрытие значений.

Способ 1. Настройка ПКС для табличной части документа

Рассмотрим правильную настройку правил конвертации свойств (ПКС) для табличной части Товары в конфигурации «Конвертация данных»:

  1. Перейдем в ПКО нужного документа (например, ПриходнаяНакладная → ПоступлениеТоваров).
  2. Откроем вкладку Конвертация свойств и найдем табличную часть Товары.
  3. Настроим перенос трех обязательных взаимосвязанных реквизитов:
    1. Для свойства КоличествоУпаковок в качестве источника укажем реквизит Количество из исходного документа.
    2. Для свойства Количество также укажем источник Количество.
    3. Для свойства Коэффициент зададим значение по умолчанию, равное 1 (если учет ведется в базовых единицах измерения без упаковок).

Способ 2. Программное заполнение реквизитов в обработчике «ПослеЗагрузки»

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

Посмотрим на пример кода, который необходимо добавить в обработчик:


Для Каждого Стр Из Объект.Товары Цикл
    // Проверяем и устанавливаем базовый коэффициент
    Если Не ЗначениеЗаполнено(Стр.Коэффициент) Или Стр.Коэффициент = 0 Тогда
        Стр.Коэффициент = 1;
    КонецЕсли;
    
    // Если количество упаковок не заполнено, приравниваем его к количеству
    Если Не ЗначениеЗаполнено(Стр.КоличествоУпаковок) Или Стр.КоличествоУпаковок = 0 Тогда
        Стр.КоличествоУпаковок = Стр.Количество;
    КонецЕсли;
КонецЦикла;

Дополнительная проверка сопутствующих справочников

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

← На главную