Как решить проблемы с приемкой маркированной обуви из СБИС в 1С:УТ 10.3?

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

При работе с маркированной продукцией в конфигурации «1С:Управление торговлей 10.3» пользователи часто сталкиваются с трудностями при загрузке документов по ЭДО от оператора СБИС. Основные проблемы — это некорректное сопоставление номенклатуры, ошибки при сканировании кодов маркировки (КМ) и появление в документах «фантомных» позиций, которых нет в поставке.

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

Проблема №1: Номенклатура не сопоставляется при сканировании кода маркировки

Это самая распространенная ситуация. Вы загружаете УПД из СБИС, сопоставляете номенклатуру поставщика со своей, но на закладке «Проверка поступившей обувной продукции» система не может автоматически определить товар при сканировании его кода маркировки. В результате несопоставленные позиции появляются отдельными строками, и приемка останавливается.

Выясним причину:

Код маркировки содержит в себе глобальный номер товарной продукции — GTIN. Именно по нему система 1С пытается найти соответствующую карточку номенклатуры в вашей базе. Для успешного поиска этот GTIN должен быть предварительно зарегистрирован для товара в виде штрихкода формата EAN-13.

Если в карточке номенклатуры на закладке «Штрихкоды» нет нужной записи, автоматическое сопоставление не сработает.

Пошаговое решение (ручной способ):

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

  1. Возьмите полный код маркировки. Он выглядит примерно так: (01)04640102690325(21)QlCRensKPH91E.
  2. Выделите из него GTIN. Это 14-значный цифровой код, который идет после идентификатора (01). В нашем примере это 04640102690325.
  3. Получите штрихкод EAN-13. Для штрихкода в 1С нужно использовать 13 символов. Как правило, это GTIN без первого нуля. В нашем примере берем 4640102690325. Будьте внимательны: нужно взять ровно 13 цифр.
  4. Занесите штрихкод в карточку номенклатуры. Откройте в 1С нужную позицию номенклатуры, перейдите на закладку «Штрихкоды» (или нажмите соответствующую кнопку в форме элемента) и добавьте новый штрихкод с типом EAN-13, указав полученное на предыдущем шаге значение.
  5. Повторите проверку. После сохранения штрихкода вернитесь в документ поступления и повторно отсканируйте код маркировки. Теперь система должна корректно сопоставить его с вашей номенклатурой.

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

Проблема №2: Программная ошибка в механизме сопоставления

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

Решение (программная доработка):

Необходимо внести небольшое изменение в общий модуль ШтрихкодированиеИС.

  1. Откройте конфигуратор 1С.
  2. Найдите в дереве конфигурации Общие модули -> ШтрихкодированиеИС.
  3. Внутри модуля найдите процедуру ДополнитьТаблицуДанныеКодовМаркировкиПоСтрокамДереваУпаковок.
  4. Найдите в этой процедуре цикл Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл.
  5. В конце этого цикла, перед строкой КонецЦикла;, необходимо добавить следующий фрагмент кода:
    
    ///////////////////++Вставить этот кусок кода
    Если ТипЗнч(ДобавленныеСтроки) = Тип("Массив") Тогда
        ДобавленныеСтроки.Добавить(НайденнаяСтрока);
    КонецЕсли;
    ////////////////////Вставить этот кусок кода++
    

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


// ... (начало процедуры)
Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл
    ПоляСкопированы = Ложь;
    Для Каждого ИмяКолонки Из ИменаКолонокДляКопированияСвойств Цикл
        Значение = СтрокаДерева[ИмяКолонки];
        Если ЗначениеЗаполнено(Значение) И НайденнаяСтрока[ИмяКолонки] <> Значение Тогда
            НайденнаяСтрока[ИмяКолонки] = Значение;
            ПоляСкопированы = Истина;
        КонецЕсли;
    КонецЦикла;
    Если Не ПоляСкопированы Тогда
        Продолжить;
    КонецЕсли;
    НайденнаяСтрока.СтрокаДерева = СтрокаДерева;
    НайденнаяСтрока.Идентифицирован = Истина;
    НайденнаяСтрока.НайденВоВложенныхУпаковках = Истина;
    Если Не ЗначениеЗаполнено(НайденнаяСтрока.Номенклатура) И НайденнаяСтрока.СписокНоменклатуры.Количество = 0 И Не НайденнаяСтрока.ЭтоКодВводаОстатков И ЗначениеЗаполнено(НайденнаяСтрока.GTIN) Тогда
        НайденнаяСтрока.ТребуетсяСопоставление = Истина;
    КонецЕсли;

    ///////////////////++Вставить этот кусок кода
    Если ТипЗнч(ДобавленныеСтроки) = Тип("Массив") Тогда
        ДобавленныеСтроки.Добавить(НайденнаяСтрока);
    КонецЕсли;
    ////////////////////Вставить этот кусок кода++
КонецЦикла;
// ... (окончание процедуры)

Важно! Любые изменения в конфигурации следует делать с осторожностью. Перед внесением правок обязательно создайте резервную копию базы. После обновления конфигурации 1С эти изменения могут быть затерты, и их потребуется вносить заново.

Проблема №3: В документе появляются «лишние» позиции

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

Возможная причина:

Скорее всего, это связано с работой внутреннего модуля обмена 1С с системой «Честный ЗНАК» (ИС МП). При проверке кодов маркировки ваша 1С отправляет запрос в «Честный ЗНАК». В ответ может приходить информация, которую система некорректно интерпретирует, создавая на ее основе фантомные строки. Это может быть связано с ошибками в самом модуле обмена или с расхождениями данных у поставщика и в системе маркировки.

Хотя готового решения для этой проблемы в обсуждении найдено не было, понимание источника проблемы — это первый шаг к ее диагностике совместно со специалистом 1С.

Проблема №4: Одна строка в УПД, но по факту несколько разных товаров

Поставщик может отправить документ, где в одной строке указано, например, «Ботинки мужские, 3 пары», но фактически это три пары разного цвета или размера, каждая со своим уникальным кодом маркировки и GTIN.

Правильный подход к учету:

Такая ситуация — прямое показание к использованию механизма характеристик номенклатуры в 1С. Вместо того чтобы создавать три разные карточки товара («Ботинки черные», «Ботинки синие» и т.д.), вы создаете одну общую номенклатурную позицию «Ботинки мужские» и для нее заводите характеристики (например, по цвету и размеру).

Это позволяет:

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

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

← На главную