При работе в 1С:Розница часто возникает ситуация, когда у одной номенклатурной позиции появляется несколько штрихкодов (например, заводской код производителя и внутренний код для весового или штучного товара). Стандартная обработка Печать ценников и этикеток может приводить в замешательство, так как система зачастую печатает «не тот» штрихкод, который необходим пользователю в данный момент. Давайте разберем, как победить эту проблему и настроить печать нужного штрихкода без удаления данных из карточки товара.
Проанализируем работу штатного механизма. Обработка Печать ценников и этикеток построена на базе Системы компоновки данных (СКД). В типовых запросах, которые формируют данные для печатной формы, часто используются агрегатные функции, такие как Максимум() или Первый() по табличной части штрихкодов. Из-за этого система «видит» весь список кодов, но извлекает для печати только один, жестко заданный алгоритмом.
Если вам нужно выбрать конкретный штрихкод для печати без серьезного вмешательства в конфигурацию, воспользуемся настройками редактора этикеток. В 1С:Рознице можно указать системе, какой именно по счету штрихкод из списка номенклатуры нужно выводить.
Печать ценников и этикеток.Штрихкод).Этот метод удобен тем, что он не требует написания кода, но работает только в том случае, если порядок штрихкодов в карточке товара предсказуем.
Более профессиональный подход, который мы рекомендуем для крупных торговых сетей, — использование Расширений конфигурации. Это позволяет добавить гибкости, не снимая базу с поддержки. Рассмотрим, как это реализовать:
Расширение конфигурации для обработки Печать ценников и этикеток.ВыводитьВсеШК (булево).СКД.Максимум запрос возвращал таблицу всех штрихкодов или тот, который соответствует выбранной единице измерения.Примерная логика изменения запроса в расширении выглядит следующим образом:
// Пример фрагмента запроса в СКД при использовании расширения
ВЫБРАТЬ
Номенклатура.Ссылка,
ЕСТЬNULL(Штрихкоды.Штрихкод, "") КАК Штрихкод
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрСведений.Штрихкоды КАК Штрихкоды
ПО
Номенклатура.Ссылка = Штрихкоды.Владелец
Благодаря такому подходу, вы сможете при печати этикеток в 1С сами выбирать, какой именно код нужен для текущего поступления товара, просто поставив галочку на форме.
Чтобы избежать путаницы в будущем, придерживайтесь следующих правил работы:
Основной штрихкод. Иногда достаточно изменить это значение в самой карточке номенклатуры, чтобы типовой механизм печати начал отрабатывать корректно.EAN-13 (начиная с префиксов 20–29). Это сделает ваш складской учет прозрачным и исключит любые конфликты при сканировании или печати этикеток.Разобравшись с этими инструментами, вы сможете полностью контролировать процесс печати этикеток и избавите себя от необходимости вручную удалять и добавлять штрихкоды в систему при каждом новом поступлении товара.