При работе в Рабочем месте кассира (РМК) одной из самых раздражающих проблем является возникновение окна «Выбор данных по штрихкоду». Вместо того чтобы мгновенно добавить товар в корзину, система заставляет кассира выбирать между несколькими идентичными строками, которые часто называются одинаково — «Штрихкоды упаковок и товаров». Разберем подробно, почему это происходит и как очистить базу от «призрачных» записей, мешающих оперативной работе.
Для начала проанализируем архитектуру хранения данных в современных конфигурациях на базе «1С:Предприятие 8.3» (таких как «Розница 2.3/3.0» или «Управление торговлей 11»). В отличие от старых версий программ, где штрихкод был просто реквизитом или записью в одном регистре, сейчас система может искать совпадения сразу в нескольких местах:
Штрихкоды (или ШтрихкодыНоменклатуры): здесь хранятся стандартные коды EAN-13, привязанные к карточке товара.Штрихкоды упаковок и товаров: это более сложный объект. Он используется для хранения кодов маркировки «Честный ЗНАК», логистических упаковок (GS1-128), транспортных упаковок и серийных номеров.Когда вы сканируете код, система выполняет глобальный поиск. Если один и тот же штрихкод (например, 4601234567890) по ошибке попал и в регистр, и в этот справочник, РМК не может однозначно определить, что именно перед ним: единица товара или упаковка. В результате открывается окно выбора. Проанализируем ситуацию: чаще всего такие дубли возникают при некорректном импорте данных из Excel или сбоях при обмене данными, когда запись создается, но связь с номенклатурой (владелец) не устанавливается.
Рассмотрим стандартный инструмент диагностики. Перейдем в раздел Администрирование — Настройки номенклатуры — Анализ штрихкодов. Этот отчет позволяет увидеть дублирующиеся записи. Однако пользователи часто сталкиваются с тем, что отчет показывает проблему, но не дает возможности её удалить напрямую.
Выясним причину: если штрихкод отображается в отчете, но его нет в карточке номенклатуры, значит, он записан в справочнике ШтрихкодыУпаковокТоваров с пустым владельцем. Рассмотрим подробнее, как найти такие «битые» ссылки.
Посмотрим на справочник «Штрихкоды упаковок и товаров». Если открыть его через «Все функции» (или «Функции для технического специалиста»), он может показаться пустым. Это происходит из-за установленных по умолчанию фильтров. Чтобы увидеть реальную картину, выполним следующие действия:
ШтрихкодыУпаковокТоваров.Если поиск в списке ничего не дал, воспользуемся более мощным инструментом — Групповым изменением реквизитов. Проанализируем этот метод:
Перейдем в Администрирование — Обслуживание — Корректировка данных — Групповое изменение реквизитов. В поле «Выбирать элементы типа» укажем Штрихкоды упаковок и товаров. Нажмем «Дополнительные параметры» и установим флажки «Показывать служебные реквизиты» и «Режим разработчика». Теперь в поле «Отбор» мы можем добавить условие: Штрихкод (или Значение) РАВНО [ваш проблемный код]. После нажатия кнопки «Просмотреть выбранные объекты» вы увидите те самые записи, которые РМК находит при сканировании. Если у них не заполнен владелец — их можно пометить на удаление и затем окончательно стереть из базы.
Если проблема не в справочнике упаковок, проверим основной регистр. Нам понадобится Регистр сведений Штрихкоды. Разберем по шагам:
Штрихкоды.Обратите внимание на колонку «Владелец». Если вы видите несколько строк с одним кодом, но разными владельцами (например, товар и его характеристика), это также вызовет окно выбора в РМК. Лишние записи необходимо удалить. Если владелец пуст, такая запись является мусорной и подлежит немедленной очистке.
Если вы опытный пользователь или программист, рассмотрим самый быстрый способ увидеть все места, где «засветился» злополучный код. Используем консоль запросов. Напишем простой запрос, чтобы объединить данные из разных источников:
ВЫБРАТЬ
"РегистрШтрихкодов" КАК Источник,
Штрихкоды.Штрихкод КАК Штрихкод,
Штрихкоды.Владелец КАК Владелец
ИЗ
РегистрСведений.Штрихкоды КАК Штрихкоды
ГДЕ
Штрихкоды.Штрихкод = &НужныйШтрихкод
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"СправочникУпаковок",
ШтрихкодыУпаковок.Штрихкод,
ШтрихкодыУпаковок.Владелец
ИЗ
Справочник.ШтрихкодыУпаковокТоваров КАК ШтрихкодыУпаковок
ГДЕ
ШтрихкодыУпаковок.Штрихкод = &НужныйШтрихкод
Этот запрос покажет вам все объекты, которые система выдает в окне выбора. После этого вам останется лишь найти эти объекты по ссылке и удалить их.
Посмотрим на ситуацию, если вы работаете в облаке (1С:Фреш). В облачной версии нет возможности запустить произвольную консоль запросов без специального разрешения. В этом случае рекомендуем использовать встроенную обработку «Поиск и удаление дублей»:
Штрихкоды упаковок и товаров.Штрихкод.Система сама сгруппирует дублирующиеся записи, и вы сможете объединить их или удалить лишние. Это самый безопасный метод для «облачных» баз.
Выясним, как избежать повторения данной ситуации. Основная причина — некорректная загрузка из файлов. Проанализируем правила безопасного импорта:
Подведем итог. Окно «Выбор данных по штрихкоду» — это сигнал о том, что в базе нарушена целостность данных. Чаще всего проблема кроется в справочнике Штрихкоды упаковок и товаров, где записи могут существовать без видимой связи с номенклатурой. Используя инструменты группового изменения или поиска дублей, вы сможете быстро навести порядок в базе и вернуть РМК к привычному режиму работы.