Процесс переноса данных из сторонних систем (например, «Укрсклад») в 1С часто сопровождается трудностями при заполнении регистра сведений Штрихкоды. Одной из наиболее распространенных проблем является ситуация, когда стандартная обработка «Загрузка данных из табличного документа» не может найти владельца (номенклатуру), хотя визуально названия совпадают. Разберем пошагово, как правильно подготовить данные, настроить загрузку и очистить базу от возможных дублей.
Прежде чем приступать к загрузке, проанализируем ситуацию и поймем, как устроено хранение данных в конфигурации «Управление торговлей 10.3». В отличие от многих других справочников, штрихкод в этой системе не является простым реквизитом карточки товара. Это запись в независимом регистре сведений Штрихкоды. Важно помнить, что штрихкод привязывается не только к объекту Номенклатура, но и к конкретной ЕдиницеИзмерения (например, штуки, коробки или паллеты).
Если при загрузке мы укажем только владельца, но не укажем единицу измерения, система может создать некорректную запись, которая не будет подтягиваться в документы реализации или чеки ККМ. Поэтому в файле Excel желательно иметь три основные колонки: «Штрихкод», «Номенклатура» (Наименование или Артикул) и «Единица измерения».
Рассмотрим типичную ошибку: при настройке поиска по полю Наименование система выдает сообщение, что данные введены некорректно или объект не найден. Выясним причину этого явления. Чаще всего проблема кроется в различии строковых данных в Excel и в базе 1С.
Основные причины несовпадения:
В обсуждении на форуме пользователь нашел решение в добавлении пробела перед наименованиями в Excel, что позволило 1С «увидеть» связь. Однако более правильным методом будет очистка данных. Мы можем воспользоваться формулой в Excel для удаления лишних пробелов: =СЖПРОБЕЛЫ(A1). Но помните, что эта формула не удаляет неразрывные пробелы. Для них используйте замену: зажмите Alt и на цифровой клавиатуре наберите 0160 в поле «Найти», а в поле «Заменить на» введите обычный пробел.
Проанализируем еще одну критическую ошибку — искажение самого штрихкода. Если ваш штрихкод начинается с нуля (например, формат EAN-13), Excel по умолчанию может воспринять его как число и отсечь ведущий ноль. В итоге штрихкод станет невалидным (12 символов вместо 13).
Чтобы этого избежать, выполним следующие действия:
Теперь разберем, как правильно настроить саму обработку в 1С. Выберем режим загрузки в Регистр сведений и выберем Штрихкоды.
Настроим соответствие полей:
Коду или Артикулу. Это уникальные идентификаторы, которые не зависят от лишних пробелов или кавычек в названии.EAN13. Если тип не указан, сканеры могут некорректно обрабатывать считанные данные.Если в процессе экспериментов вы загрузили ошибочные данные или получили «задвоения», их нужно удалить. Поскольку Штрихкоды — это регистр сведений, у него нет стандартной пометки на удаление, как у справочников. Удаление происходит сразу и физически.
В типовой поставке 1С 8.2/8.3 для обычных форм (в которых работает УТ 10.3) есть встроенная обработка «Универсальный подбор и обработка объектов». В ней можно выбрать тип объекта «Регистр сведений: Штрихкоды», отобрать все записи (или по конкретному фильтру) и выполнить действие «Удалить».
Если вам нужно быстро и полностью очистить регистр перед новой «чистой» загрузкой, воспользуемся консолью кода или создадим временную обработку. Рассмотрим пример кода, который полностью очищает набор записей регистра:
// Создаем пустой набор записей регистра Штрихкоды
НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
// Записываем его. Поскольку фильтры не установлены, а набор пустой,
// система очистит все существующие записи в базе.
НаборЗаписей.Записать();
Внимание: Данный код удалит ВЕ СЕ штрихкоды из базы без возможности восстановления. Используйте его только после создания резервной копии!
Если у вас 9000 наименований и часть из них со сдвоенными штрихкодами, можно поступить следующим образом. Сначала выгрузим все текущие штрихкоды в Excel с помощью встроенного отчета «Список кросс-таблица» или через ту же обработку загрузки (в режиме выгрузки). В Excel воспользуемся инструментом «Данные» — «Удалить дубликаты» по колонке «Штрихкод». После этого очистим регистр в 1С программным методом, описанным выше, и загрузим уже «чистые» данные из исправленного файла Excel.
Перенос штрихкодов требует аккуратности. Посмотрим еще раз на ключевые моменты: сопоставлять лучше по коду, а не по имени; всегда проверять текстовый формат ячеек в Excel; помнить о связи штрихкода с единицей измерения. Применяя эти правила, мы обеспечим корректную работу складского оборудования и высокую скорость обслуживания клиентов.