Штрихкодирование в «1С»: как просто загрузить документы в базу. Внедрения системы штрихкодирования товаров и документов для автоматизации учета Выбор и покупка оборудования для штрихкодирования

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

К сожалению, стоимость подобных устройств оставляет желать лучшего. Организация удаленного считывания штрихкодов с использованием вышеперечисленных устройств составляет от $600 до $1200 за ОДНУ удаленную точку и зависит от расстояние до компьютера-приемника.
Наша разработка позволяет организовать считывание и обработку информации в 1с со штрих-кодов, расположенных на значительном (до 1 км.) расстоянии от компьютера-приемника. Система легко интегрируется в 1С:Предприятие версия 8 (любая конфигурация 1с 8 , 8.1 - Управление Торговлей, УПП, Розница 8) и не требует использования нестандартного оборудования. Дистрибутив системы - небольшой файл объемом 1MB. Возможно использование КПК.

В пользу этого решения говорит прежде всего его низкая стоимость. Совокупные затраты на установку и программное обеспечение составляют $400-$500, стоимость подключения одного удаленного сканера штрих-кода - $30-$40.

Для сравнения - такое же решение на основе терминала сбора данных составляет $600 только для одной точки! Стоимость решения с использованием сканеров на радиоканале уже приближается к $1000-1200 для одной удаленной точки.

Система успешно внедрена и применяется на крупном оптовом складе электроники, расположенном в г.Щелково.

На рис.1 приведена типичная структурная схема решения с использованием следующей аппаратной базы:

  • ПК Pentium 1500 Mhz;
  • Плата расширения;
  • Конвертеры удаленного сбора данных
  • Сканеры штрих-кодов Cypher
  • Программное обеспечение для оранизации обработки информации
  • Ниже приведена примерная смета по расходам на оборудование и программное обеспечение,установку 1с предприятия, необходимое для подключения 10 удаленных сканеров штрих-кодов.

    Статья Кол-во Стоимость
    Мультипортовая плата расширения 1 $100
    Конвертеры удаленного сбора данных 20 $400
    Сканеры штрих-кодов Cipher Lab. 10 $600
    Установка программного обеспечения. 1 $400
    Монтаж и прокладка кабеля 1 $100

    ИТОГО

    $1 600


    Вид на склад из окна операторской комнаты


    Монтажный шкаф


    Монтажный шкаф с мультипортовой платой.


    Склад из окна операторской комнаты


    Контроллеры подключения сканеров штрих-кода.

    26 июня 1974 г. в 8:01 была продана упаковка жевательной резинки Wrigley’s. Она стала первым товаром со штрихкодом и теперь хранится в музее. В наши дни штриховая маркировка (barcode) наносится практически на каждый товар.

    Существуют разные стандарты кодировки, но в торговле общепринятым считается код EAN/UPC. Он состоит из 13 цифр, которые условно разделены на 5 групп:

    1. Первые 3 цифры - префикс национальной организации GS1.
    2. 4-6 цифр - регистрационный номер производителя товара.
    3. 3-5 цифр - код товара.
    4. 1 цифра - контрольное число.
    5. Код оканчивается необязательным полем, в котором иногда ставится знак >, «индикатор свободной зоны».

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

    Префиксы с 200 по 299 являются особыми. Они не принадлежат ни одной организации-регистратору. Штрихкоды, начинающиеся с цифры 2, вообще не подлежат регистрации, но предназначены только для внутренних нужд фирм. Например, если вы решили маркировать пакеты с развесным товаром в своем магазине, то можете использовать произвольные коды, начинающиеся с двойки. Они гарантированно «не пересекутся» ни с какими зарегистрированными штрихкодами от производителей товаров.

    Сканеры для считывания штрихкодов бывают стационарные (встраиваемые в прилавок или конвейер) и портативные. Последние обычно комплектуются настольным штативом. К компьютерам или другим устройствам сканер штрихкода подключается последовательным кабелем для COM-порта (RS-232) либо кабелем USB. Некоторые модели включаются в «разрыв клавиатуры»: на конце кабеля есть вилка и гнездо. Вилка вставляется в разъем PS/2 компьютера, а клавиатура подключается к гнезду. Модели отличаются углами обзора, чувствительностью, поддержкой различных стандартов кодирования. Со спецификацией EAN/UPC работают все сканеры, а другие варианты в торговле особенно и не нужны. Как можно использовать такое устройство?

    Самое очевидное решение - подключить сканер к компьютеру, на котором установлена программа учета, и считывать коды с этикеток при заполнении накладных. С точки зрения системы и приложений сканер является почти таким же устройством ввода, как клавиатура. Когда в окне программы выбрано текстовое поле ввода, и вы провели сканером над штрихкодом, сканер пискнет и введет в это поле число, прочитанное им с этикетки. Все предельно просто! С тем же успехом вы могли бы набрать число и вручную, но сканер делает это намного быстрее и безошибочно.

    Чтобы происходил поиск и подбор, в справочнике товаров каждой единице номенклатуры должен быть заранее присвоен штрихкод. Заполняя табличную часть, не нужно выбирать и вводить товары вручную - достаточно провести сканером, и нужная позиция добавится в список. Останется только указать количество!

    На примере «1С:Управление торговлей» это выглядит примерно следующим образом. Детали зависят от версий программы и редакций конфигурации, поэтому приведу только общий порядок действий:

    1. Перед покупкой сканера убедитесь, что данная модель поддерживается данной платформой и конфигурацией 1С. Свежие списки совместимого оборудования публикуются на сайтах компании «1С» и ее партнеров. Любые сомнения лучше разрешить заранее.
    2. Подключите сканер к компьютеру кабелем и установите драйвер. Желательно скачать самую свежую его версию с сайта производителя. К версиям драйверов торгового оборудования платформа 1С относится весьма щепетильно!
    3. Запустите программу «1С:Управление торговлей» и откройте базу. Выберите команду меню Сервис → Торговое оборудование . Откроется окно Подключение и настройка торгового оборудования (рис. 1).
    4. Подключить сканер к программе 1С и настроить его проще всего в пошаговом режиме с помощью мастера. Для этого нажмите кнопку Помощник подключения . Следуйте указаниям мастера, и сканер должен заработать.

    Бывает, что первый пункт проигнорировали, и купили то, что предложил не совсем грамотный консультант. Многие сканеры все равно нормально работают, если при настройке указать, что это стандартный «Сканер штрихкода: Общий». В крайнем случае хороший специалист по 1С путем некоторых «плясок с бубном» заставит работать в программе почти любую модель, но цена вопроса может быть сравнима с ценой самого устройства.

    В 11-й редакции «1С:Управление торговлей» интерфейс пользователя организован иначе, а функция подключения оборудования по умолчанию скрыта. Сначала нужно ее включить: на вкладке Администрирование в группе Настройки выберите пункт Настройка параметров учета . В открывшемся диалоговом окне в группе Общие установите флажок Использовать подключаемое оборудование . Теперь на вкладке Администрирование станет доступен пункт Подключаемое оборудование .

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

    1. Вызовите справочник товаров (Справочники → Номенклатура → Номенклатура ) и откройте карточку товара.
    2. На вкладке Штрихкоды нажмите кнопку Добавить . Появится новая строка для внесения штрихкода (рис. 2).
    3. Щелкните мышью в поле Штрихкод . Проведите сканером над этикеткой со штрихкодом, и значение кода появится в этом поле. Нажмите кнопку OK. Теперь код сопоставлен в базе конкретному товару.

    Что делать, если тапочки шились на абсолютно подпольной фабрике и лишены не то что штрихкода, а этикетки как таковой? Либо будем, как раньше, выбирать их из списка вручную, либо придется присвоить им штрихкод самостоятельно. Вместо того чтобы водить сканером над несуществующей этикеткой, нажмите кнопку Новый штрихкод . Программа сама его сгенерирует. Начинаться код будет с двойки, и программа проследит, чтобы в этой базе все коды были уникальными. Нажмите кнопку OK .

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

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

    Где и кому подойдет схема работы «сканер плюс компьютер с программой учета»? Варианта два.

    • На каждую продажу формируется отдельный документ «Реализация». Например, продаются в розницу довольно дорогие товары, или оптовый покупатель набирает много наименований.
    • Если покупки мелкие, заводить всякий раз новый документ долго и неудобно. Поступим иначе. В начале дня заводится один документ «Реализация» на абстрактное «Частное лицо» из справочника контрагентов. В течение дня продавец с помощью сканера добавляет в него каждую единицу продаваемых товаров, будь то жвачка или спички. Документ он периодически сохраняет (кнопка Записать ), но оставляет открытым. Таблица получается большая, и в ней учтены все розничные продажи за день или за смену. В конце смены документ проводится и закрывается.

    В любом случае, со сканером в руках удобно принимать товары на склад. Если такой же товар раньше уже заносился в базу, это выяснится по штрихкоду. В табличной части документа «Поступление товаров и услуг» щелкните в новой строке в поле Номенклатура и проведите сканером над этикеткой.

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

    Штрихкодирование повышает эффективность розничного магазина за счет:

    • Исключения ошибок операторов
    • Уменьшения возможности для махинаций сотрудников
    • Ускорения обслуживания клиентов.

    В статье рассмотрим, как настроить штрихкодирование в 1С:Розница редакции 2.

    В частности разберем:

    Применимость

    Статья написана для редакции 1С:Розница 2.1 . Если вы используете эту редакцию, отлично – прочтите статью и внедряйте рассмотренный функционал.

    Если же вы планируете начать внедрение 1С:Розница, то скорее всего будет использоваться более свежая редакция. Интерфейсы и её функционал могут отличаться.

    Поэтому, мы рекомендуем пройти курс 1С:Розница 2 для автоматизации магазинов и сервисных компаний , это поможет вам избежать ошибок и потери времени / репутации.

    Что такое штрихкод, преимущества использования

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

    Что же такое штрихкод?

    Штрихкод – это изображение, которое представляет собой набор геометрических символов, расположенных по определенному стандарту. Как правило, это вертикальные прямоугольники различной ширины.

    Комбинация таких прямоугольников представляет какие-то данные в машинном коде. Штрихкод чем-то напоминает заводской номер.

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

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

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

    Так, ввод артикула товара из 12 цифр нажатием кнопок на клавиатуре может занять у оператора минимум шесть секунд. В то время как считывание штрихкода компьютером занимает лишь доли секунды.

    Кроме того, обработка штрихкода компьютером – это гораздо более точная обработка информации. В частности, при ручном вводе в среднем возникает одна ошибка на 300 знаков или цифр артикула. При работе со штрихкодом, нормой является менее одной ошибки на миллион считанных кодов.

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

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

    Типы и стандарты штрихкодов

    Существует довольно большое количество различных стандартов штрихкодов. Каждый из них имеет свои ограничения и преимущества. Разные стандарты штрихкодов используются обычно для разных целей.

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

    Рассмотрим примеры линейных кодов, с которыми и будем в дальнейшем работать.

    Первая группа линейных штрихкодов – это EAN8 и EAN13 (European Article Number). Это европейские стандарты цифрового штрихкода, которые предназначены для кодирования идентификатора товара и производителя.

    Штрихкоды данных типов могут хранить только цифровые значения. EAN8 хранит восьмизначное число, EAN13 – тринадцатизначное число. Примеры данных штрихкодов представлены на рисунке 1. В основном мы будем работать с типом штрихкодов EAN13 .

    Рис.1 Примеры штрихкодов (EAN8 и EAN13)

    На основании штрихкода EAN13 часто строится другой тип штрихкода ITF 14 . Данный тип штрихкода используется для оптовой транспортной упаковки товара. Основное его отличие и преимущество по сравнению с EAN13 заключается в том, что данный тип штрихкода распечатывается в гораздо большем размере.

    Соответственно, он может быть размещен на какой-то поверхности, требования к которой значительно меньше, чем в случае с EAN13 . Например, даже при печати на картонной коробке он будет успешно считан автоматическим оборудованием.

    Так как данный тип построен на EAN13 , он тоже хранит только цифровое значение (четырнадцатизначное число). Пример данного штрихкода представлен на рисунке 2.

    Рис. 2 Пример штрихкода ITF-14

    Следующая группа штрихкодов, которая используется довольно часто – это Code 39/128 и EAN128 . Отличие этих типов, прежде всего в том, что с помощью них можно закодировать не только цифры, но и буквы и даже специальные символы (скобки, знаки подчеркивания и т.д.). Соответственно, и информацию в них можно закодировать более полную.

    Но есть и определенные минусы – это большая ширина штрихкода по сравнению с предыдущими типами (см. рис. 3).

    Тип штрихкода EAN128 вообще позволяет закодировать в себе неограниченное количество информации, но при этом ширина штрихкода будет соответственно расти.

    Рис. 3 Пример штрихкода EAN128

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

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

    Данные штрихкоды становятся все более популярными. Наиболее распространенным представителем двумерных штрихкодов является QR код.

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

    Довольно популярным типом двумерного штрихкода является PDF417 . Данный штрихкод используется в бухгалтерской отчетности.

    В системе 1С:Розница поддерживается работа только с линейными штрихкодами. Более подробно остановимся на описании использования кодов EAN13 и Code39 .

    И сначала приведем их основные отличия.

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

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

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

    Код Code39 может считываться только в исходном положении, т.е. если его перевернуть, то он уже не считается.

    С учетом перечисленных отличий, в основном используется код EAN13 : и для маркировки штучного и весового товара, и для маркировки других объектов системы штрихкодами.

    Код Code39 применяется в качестве дополнительного, когда необходимо закодировать буквы и символы (например, для кодирования серий электронных товаров).

    Оправданность перемаркировки товаров собственными штрихкодами

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

    Другие компании используют часть штрихкодов производителей, а на части товаров используют внутренний штрихкод.

    Безусловно сейчас основная часть розничного ассортимента товаров поступает уже промаркированной каким-то штрихкодом производителя и это как раз штрихкоды EAN13 .

    Но здесь возможно несколько ситуаций.

    Может получиться так, что разный товар от разных производителей будет иметь один и тот же штрихкод. В данной ситуации нет ничего критичного, и система 1С:Розница даже поддерживает данный вариант использования.

    В конфигурации Розница 2 можно настроить возможность учета не уникальных штрихкодов.

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

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

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

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

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

    Использование штрихкодов в системах 1С

    В системах 1С штрихкод в основном используется для идентификации объектов. Штрихкодируются различные объекты, такие как штучный и весовой товар, дисконтные карты покупателей и регистрационные карты сотрудников.

    Кроме того, в штрихкоде может быть закодировано значение серийного номера, либо номера подарочного сертификата.

    В рамках данной статьи мы рассмотрим только штрихкодирование штучного товара (считывание штрихкодов и создание собственных).

    Рассмотрим шаблон внутреннего штрихкода типа EAN13 .

    2M LL XXXXXXXX K

    Данный тип позволяет закодировать цифровой код, состоящий из 13 цифр. Значащими являются первые 12 из них.

    Тринадцатая цифра (K ) является контрольным символом, который рассчитывается автоматически по определенному алгоритму типа EAN13 .

    Первой цифрой всегда является цифра 2 – это общепринятое правило формирования внутреннего штрихкода компании.

    Вторая цифра (M ) представляет собой префикс штрихкода штучного товара. Именно по нему система 1С:Розница будет понимать, что данный товар является штучным. С этим признаком будут связаны определенные алгоритмы в конфигурации Розница 2.

    Третья и четвертая цифры штрихкода (LL ) – двухзначное число, которое является префиксом штрихкода узла распределенной информационной базы.

    Оставшиеся цифры с пятой по двенадцатую (XXXXXXXX ) представляют собой номер товара по порядку.

    Настройки штрихкодирования

    Сначала следует настроить штрихкодирование в системе 1С:Розница .

    Все настройки расположены в разделе Администрирование.

    В данном случае нас интересуют Настройки номенклатуры , которые появятся после выбора соответствующей команды (см. рис. 4)

    Рис.4 Вызов настроек номенклатуры

    В настройках номенклатуры присутствует целая группа настроек, которая связана со штрихкодированием товаров (см. рис. 5).

    Рис.5 Группа настроек Штрихкодирование

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

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

    Первый префикс позволяет системе 1С:Розница понять, что данный штрихкод является именно штрихкодом штучного товара.

    Если используется распределенная информационная база (РИБ) и существует несколько узлов для разных магазинов, то данное значение префикса будет передаваться при обмене. Это значение будет единым для всех магазинов.

    Второй префикс (префикс штрихкода узла РИБ) наоборот не участвует в обмене и имеет разные значения для разных узлов РИБ.

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

    Соответственно, если бы данного префикса штрихкода узла РИБ не существовало, то могла бы возникнуть ситуация, когда в разных узлах пользователи создали бы товары с одинаковым штрихкодом – даже если не уникальные штрихкоды были бы запрещены.

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

    Данный префикс состоит из двух цифр и, соответственно, может принимать значения от 00 до 99. Для единственного магазина значение префикса можно не определять.

    Ввод информации о штрихкодах

    Информация о штрихкодах товара вводится из карточки номенклатуры. Команда для открытия списка номенклатуры находится в разделе (см. рис. 6).

    Рис. 6 Открытие списка номенклатуры

    Рис.7 Форма списка номенклатуры

    В форме списка номенклатуры двойным кликом мыши можно выбрать любую позицию номенклатуры и открыть ее карточку (см. рис. 8).

    В панели навигации карточки есть специальная команда Штрихкоды , после вызова которой появляется табличная часть со штрихкодами для данной позиции номенклатуры (см. рис. 9).

    Т.е. для одной позиции номенклатуры можно ввести несколько штрихкодов. При считывании любого из этих штрихкодов система 1С:Розница будет находить данную номенклатуру.

    Рис. 8 Карточка позиции номенклатуры

    Рис. 9 Создание штрихкодов

    Для создания нового штрихкода в командной панели табличной части следует нажать на кнопку Создать . Появится форма создания штрихкода (см. рис.9). В этой форме поле Номенклатура заполняется автоматически.

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

    После ввода требуемых данных следует нажать на кнопку Записать и закрыть .

    Для создания нового (внутреннего) штрихкода на форме создания существует кнопка Новый штрихкод (см. рис. 9), по нажатию на которую программа Розница 2 сама создает новый штрихкод типа EAN13 в соответствии с ранее рассмотренным шаблоном.

    Если для номенклатуры ведется учет по характеристикам, то при создании штрихкода необходимо указать характеристику (см. рис. 10). В этом случае поле характеристика является обязательным для заполнения.

    Рис.10 Создание штрихкода в случае учета по характеристикам

    В старых системах (Розница ред. 1 , Управление торговлей 10.3 ) была возможность установки штрихкода на номенклатуру, без обязательного указания характеристики.

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

    В новом поколении систем данное поведение было изменено. Теперь штрихкод строго идентифицирует сочетание Номенклатура + Характеристика .

    Если требуется просмотреть список всех штрихкодов, которые введены в систему 1С:Розница , то можно в разделе Нормативно-справочная информация в группе Смотри также (слева внизу) воспользоваться командой Штрихкоды .

    Форма списка всех штрихкодов (соответствующего регистра сведений) представлена на рисунке 11. В этой форме есть поле, выбор значения в котором позволяет ограничить список штрихкодами объектов определенного типа: номенклатура, информационные карты (дисконтные и регистрационные), подарочные сертификаты.

    Рис. 11 Форма списка всех штрихкодов.

    Где и как в системе можно работать со штрихкодами?

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

    Кроме этого, штрихкод может быть считан и обработан в рабочем месте кассира.

    И третьим местом частого использования штрихкодов является список Номенклатура . В нем считывание штрихкода позволит открыть карточку найденной номенклатуры.

    На рисунке 12 представлен документ “Реализация товаров” . Обратите внимание, в командной панели табличной части Товары присутствует специальная кнопка Ввести штрихкод , по нажатию на которую открывается специальное диалоговое окно, в котором можно вручную ввести требуемый штрихкод.

    Рис. 12 Заполнение табличной части документа по штрихкоду

    В рабочем месте кассира, среди кнопок нижней панели есть кнопка Штрихкод , по нажатию на которую открывается форма для ввода штрихкода.

    После ввода штрихкода какого-либо из товаров и нажатия клавиши Enter система 1С:Розница находит данную номенклатуру и добавляет ее в чек (см. рис. 13).

    Рис. 13 Рабочее место кассира

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

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

    В списке номенклатуры через меню все действия доступна команда Поиск по штрихкоду (см. рис.14).

    Также следует иметь ввиду, что существует стандартная горячая клавиша для ввода штрихкода F7 . Она же работает и во всех документах.

    Рис. 14 Поиск по штрихкоду в списке номенклатуры

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

    В списке номенклатуры, при считывании несуществующего в системе значения штрихкода, программа Розница 2 предложит создать новую позицию с данным штрихкодом.

    Если с предложением системы согласиться, то откроется для заполнения карточка позиции номенклатуры.

    Штрихкодирование в 1С:Управлении торговлей 11

    В 1С:Управлении торговлей штрихкодирование находит и другое применение. Штрихкоды выводятся практически во все типовые печатные формы, и используются для быстрого поиска конкретных документов. Расширен перечень объектов, для которых предусмотрена печать этикеток со штрихкодом: для доставки, складских ячеек, упаковочных листов и пр.

    Игорь Сапрыгин,
    г. Кемерово

    На написание данной статьи меня побудили 2 факта:

    Начну я с наверно самого распространенного способа штрихкодирования – составление штрихкода «на лету» на основе параметров документа . Этот метод я называю «классическим». Основной принцип этого подхода заключается в том, что штрихкод (далее по тексту может использоваться сокращение ШК) формируется из некоторого набора ключевых полей, под каждое из которых отводится сколько-то символов. «Классический» вариант структуры штрихкода:

    • Код вида документа (заказ, реализация, доверенность и т.п.) – обычно от 1 до 3-х символов.
    • Код организации (по сути, замена кириллического префикса в номере документа) – обычно от 1 до 3-х символов.
    • Номер документа без префикса – от 6 до 9 символов.
    • Дата документа – от 6 до 8 символов в зависимости от варианта представления (год кодируется 2-мя или 4-мя цифрами).
    В целом на первый взгляд все здорово: учли все многообразие видов документов, различные организации, нумерацию, дату - на выходе получим уникальный ШК, который однозначно идентифицирует документ. Но сразу же очевидны и минусы: при обработке штрихкода требуется его обратное преобразование, расшифровка, получение тех самых ключевых полей, который изначально в него зашифровали. И обычно никто не заморачивается на тему реализации универсального алгоритма, настраиваемого параметрически в пользовательском режиме. Хотя вообще то никто не мешает создать некую структуру данных с указанием соответствия цифрового кода объекту метаданных, в организациях можно добавить поле с названием например «код организации для штрихкода» и т.п. Обычно все делается на скорую руку и эти вещи полностью или частично описываются хардкодом. Ну то есть прямо в коде написано что-то типа:

    ДокументТип = "000";
    Если ТипЗнч(Документ)=Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
    ДокументТип = "001";
    ИначеЕсли ТипЗнч(Документ)=Тип("ДокументСсылка.ЗаказПокупателя") Тогда
    ДокументТип = "002";
    КонецЕсли;

    К чему все это приводит? Очевидно: к тому, что при любом изменении набора ключевых параметров (как то необходимость вывести штрихкод на новый тип документа, появление новой организации и т.п.) нужно править код. А если есть еще и обмен с другими базами и там тоже нужен поиск документа по штрихкоду, то количество мест, где надо изменить код растет, а вместе с ним растет и вероятность ошибки – забыли адаптировать код, адаптировали но с ошибкой и т.д. и т.п.
    Мало того. Бывает еще и такое, что например менеджер ошибся при заведении заказа в базу, указал не ту организацию, после чего зашел бухгалтер (ну или любой другой пользователь с соответствующими правами) и организацию изменил. Очевидно, что теперь при печати документа штрихкод будет уже совершенно другим и по ранее распечатанной бумаге документ в базе найти не удастся. В течение нескольких дней после изменения организации это может и не вызвать проблем, а через полгода кто вспомнит об этом случае?

    Основная идея метода, который я предлагаю и который успешно используется в нескольких организациях заключается в следующем: штрихкод должен быть отдельным полем и он должен храниться в базе . Не нужно привязывать его ни к номеру ни к дате ни к другим полям, так как значения этих полей в принципе могут измениться. Понятно, что нужно гарантировать уникальность штрихкодов, поэтому добавление реквизита «штрихкод» в документ – плохая идея. Да и к тому же выше я уже писал, что штрихкодировать надо разные виды документов – добавлять реквизит во все просто глупо. Очевидное решение: регистр сведений с единственным измерением типа строка – Штрихкод и ресурсом Документ составного типа. Можно указать фиксированный набор документов, либо же тип ДокументСсылка, либо вообще ЛюбаяСсылка. Явным преимуществом такой архитектуры является гарантия уникальности штрихкода на уровне платформы – ни при каких обстоятельствах не получится записать в базу 2 строки с одинаковым ШК и разными документами. Другой вопрос конечно, что можно изменить существующую запись (то есть фактически переприсвоить штрихкод другому документу и таким образом можно получить бумажные варианты 2-ух различных документов с одинаковым ШК) – но тут уже вопрос ограничения прав доступа + грамотно написанный код, который не допустит такого развития событий.

    Итак, архитектура понятна, теперь детали: как получить уникальный ШК? Можно конечно попробовать использовать просто сквозной нумератор, начать с 1 и каждый раз прибавлять на единичку – так тоже можно, но я решил использовать произвольный набор цифр. Точнее не совсем произвольный. ШК получается из уникального идентификатора документа, коим является . Как известно, GUID состоит из 32 значимых символов (цифры и буквы латинского алфавита) + разделители (тире), общая длина 36 символов. По этой причине запихнуть в ШК весь GUID не представляется возможным – потому что на документе ШК заведомо ограниченного размера, могут возникнуть сложности при считывании столь длинного ШК. К тому же, если использовать кодировку GODE128, то количество штрихов на любые символы кроме цифр ровно в 2 раза больше, чем на кодирование цифры. Да и кроме того, ШК такой длины видится избыточным, обычно должно хватать 12-15 символов чтобы обеспечить запас для кодирования документов. Соответственно, решение такое: из GIUD убрать все кроме цифр. Полученный набор цифр довести до нужной длины. В зависимости от количества документов на единицу времени в организации обычно должно хватить 12-15 символов. Полученный таким образом ШК при помощи запроса предварительно проверяется на уникальность – ведь мы же обрезали GUID, уникальность которого гарантирована, стало быть, полученный обрезанный набор цифр уже может оказаться неуникальным и его надо предварительно проверить. Если проверка пройдена – отлично, мы получили искомый ШК, если нет – генерируем ШК на основе произвольного GUID до тех пор, пока не получим уникальный ШК. В конце статьи приведен код, который все это реализует. Сама запись штрихкода происходит по подписке на событие.

    При обмене данными с другими системами передается так же и ШК в числе прочих полей. Кстати, учитывая, что ШК уникален, по нему можно вести синхронизацию. В базе-приемнике ШК может быть реквизитом документа. Естественно, уникальность ШК проверяется только в головной базе, база-приемник просто получает готовый ШК и сохраняет его.

    О плюсах данного полхода . Главный плюс – это универсальность. Нет зависимости от количества организаций в базе, добавление штрихкодирования нового вида документов делается легко и просто. При желании, можно управлять этим параметрически в режиме пользователя – создать структуру данных, где будет храниться перечень документов, к которым нужно генерировать штрихкод. То же самое и при поиске документа по ШК – никакого разбора не требуется, ведется поиск на равенство, сам алгоритм поиска универсальный и не потребует доработок. При чем во всех базах, участвующих в обмене (опять таки, оговорюсь: при условии, что существует «головная» база, которая генерирует ШК и гарантирует их уникальность, в базах-приемниках ШК генерироваться не должны, только получаться вместе с обменом).

    Исходный код:

    Функция ПроверитьЗаписатьШтрихкодДокумента(СсылкаНаОбъект) Экспорт

    Результат = Ложь;

    // первое: получим штрихкод из GUID-а, чтобы сразу в запросе проверить его уникальность, дабы убрать лишний запрос к БД
    GUID = СсылкаНаОбъект.УникальныйИдентификатор();
    Штрихкод = ПодготовитьШтрихКодИзGIUDа(GUID);

    // второе: проверяем наличие штрихкода, а так же уникальность кода в пакетном запросе
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |ИЗ
    |ГДЕ
    | ШтрихкодыДокументов.Документ = &Документ
    |;
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ШтрихкодыДокументов.Штрихкод
    |ИЗ
    | РегистрСведений.ШтрихкодыДокументов КАК ШтрихкодыДокументов
    |ГДЕ

    Результат = Запрос.ВыполнитьПакет();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Если ВыборкаДетальныеЗаписи.Следующий() Тогда
    // штрихкод есть - возвращаем Истину
    Возврат Истина
    КонецЕсли;

    // третье: штрихкода нет - запишем
    // сначала проверим ШК на основе GUID на уникальность:
    ВыборкаУникальность = Результат.Выбрать();
    Если ВыборкаУникальность.Следующий() Тогда
    // ШК не уникален. генерируем новый
    КодУникален = Ложь;
    Пока НЕ КодУникален Цикл
    Штрихкод = ПодготовитьШтрихКодИзGIUDа(Новый УникальныйИдентификатор);

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ШтрихкодыДокументов.Штрихкод
    |ИЗ
    | РегистрСведений.ШтрихкодыДокументов КАК ШтрихкодыДокументов
    |ГДЕ
    | ШтрихкодыДокументов.Штрихкод = &Штрихкод";

    Запрос.УстановитьПараметр("Штрихкод", Штрихкод);
    Результат = Запрос.Выполнить();
    КодУникален = Результат.Пустой();
    КонецЦикла;
    КонецЕсли;

    ЗаписьРегистра = РегистрыСведений.ШтрихкодыДокументов.СоздатьМенеджерЗаписи();
    ЗаписьРегистра.Документ = СсылкаНаОбъект;
    ЗаписьРегистра.Штрихкод = Штрихкод;
    ЗаписьРегистра.GUID = GUID;
    ЗаписьРегистра.ДатаСоздания = ТекущаяДата();
    ЗаписьРегистра.Пользователь = ПараметрыСеанса.ТекущийПользователь;
    Попытка
    ЗаписьРегистра.Записать();
    Результат = Истина;
    Исключение
    Результат = Ложь;
    КонецПопытки;

    Возврат Результат;

    КонецФункции

    Функция ПодготовитьШтрихКодИзGIUDа(фGIUD, фДлина = 12)

    ФШтрихКод = фGIUD;

    ФШтрихКод = СтрЗаменить(фШтрихКод, "-", "");
    фШтрихКод = СтрЗаменить(фШтрихКод, "a", "");
    фШтрихКод = СтрЗаменить(фШтрихКод, "b", "");
    фШтрихКод = СтрЗаменить(фШтрихКод, "c", "");
    фШтрихКод = СтрЗаменить(фШтрихКод, "d", "");
    фШтрихКод = СтрЗаменить(фШтрихКод, "e", "");
    фШтрихКод = СтрЗаменить(фШтрихКод, "f", "");

    ФШтрихКод = Лев(фШтрихКод, фДлина);

    // на случай, если штрихкод оказался меньше нужной длины, дополняем его ведущими нулями
    Пока СтрДлина(фШтрихКод) < фДлина Цикл
    фШтрихКод = "0" + фШтрихКод;
    КонецЦикла;

    Возврат фШтрихКод;

    КонецФункции //ШтрихКодНовый()

    В последние годы широкое распространение получили технологии автоматической идентификации с помощью компьютерной техники. Данные технологии направлены на повышение производительности и снижение затрат труда.

    Штриховой код – информационный знак, предназначенный для автоматизированной идентификации и учета информации о товаре, закодированной в виде цифр и штрихов.

    Функции штрихкода:*

    *Также в соответствии с требованиями проведения внешнеторговых сделок, наличие штрихового кода на упаковке товара является обязательным условием его экспорта.

    Компонент 1С Печать штрихкодов

    Часто пользователь сталкивается с ситуацией, когда на печатную форму 1С 8.3, документ или этикетку, необходимо вывести штрихкод. В программах 1С 8.3 используется система штрихкодов номенклатуры, которая позволяет производить быстрый подбор товаров и множество других действий. Для его вывода в печатную форму предназначен объект «1С:Печать штрихкодов». Данный элемент управления предназначен для формирования штрихкодов следующих форматов:

    EAN8, EAN13, EAN13 AddOn 2, EAN13 AddOn 5, ITF14, RSS14, EAN128, Code39, Code39 Full ASCII, Code93, Code128, Code16k, Industrial 2 of 5, Interleaved 2 of 5, CodaBar, PDF417.

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

    Если данный элемент не установлен, при попытке сделать печать компьютер будет выдавать ошибку с текстом: «Компонента печать штрихкодов 1С не установлена на данном компьютере». Соответственно, необходимо произвести его установку.

    Также при печати могут возникнуть и другие ошибки, например, «Ошибка внешней компоненты» – 1CBarCode: некорректное значение свойства «Шрифт». Ее исправление также «лечится» установкой компоненты «1С:Печать штрихкодов» – «1CBarCode.exe» последней версии.

    Рис.1 Сообщение об ошибке

    Таким образом, для того чтобы печать была доступна на компьютере необходимо установить компоненту «1CBarCode.exe». Скачать ее можно на сайте .



    Рис.2 Окно скачивания компоненты для печати штрихкода

    Данный драйвер используется в конфигурациях, не содержащих «1С:Библиотека подключаемого оборудования».


    Рис.3 Окно скачивания компоненты для печати штрихкода

    После скачивания файла произведем установку.



    Рис.4 Первое окно установки компоненты для печати штрихкода



    Рис.5 Второе окно



    Рис.6 Третье окно установки

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

    Печать ценников с штрихкодом

    Рассмотрим печать штрихкода на примере «1С:Розница». Обратимся к пункту «Цены номенклатуры» и рассмотрим вывод на печать ценников товаров, на которые уже назначена цена.



    Рис.7 Пункт меню «Цены номенклатуры»

    Из документа «Установка цены номенклатуры» в кнопке «Печать» доступны печать ценников и этикеток.



    Рис.8 Выпадающее меню программы «Печать ценников» и «Этикеток»

    В обработке уже будут выбраны товары, поэтому нам нужно будет задать «Шаблон ценника». Если его нет, то его легко создать.



    Рис.9 Создать шаблон этикетки



    Рис.10 Ценник со штрихкодом

    Нажав кнопку «Редактировать макет», переходим в редактор шаблонов и выбираем «Загрузить шаблон по умолчанию».



    Рис.11 Создание (редактирование) шаблона ценника со штрихкодом

    На основе готового шаблона можно создать свой вариант дизайна. Вставлять логотип, менять шрифты, цвет. Можно также импортировать шаблон ценника, если есть готовый вариант. Сбоку слева мы видим доступные поля. Нас интересовало поле «Штрихкод» (в нашем примере пока достаточно этого варианта).

    Выбрав созданный шаблон, выделяем необходимые товары и нажимаем кнопку «Печать».

    Рис.12 Печать ценника со штрихкодом

    Мы вывели на печать штрихкод товара.



    Рис.13 Печать документа «Ценник со штрихкодом»

    Вставка штрихкода в макет печатной формы 1С

    Кроме использования встроенных возможностей программы, можно самим разрабатывать макеты печатных форм с использованием штрихкода: в конфигураторе открыть макет печатной формы нужного документа и перейти в меню «Таблица - Рисунок - Вставить объект».


    Рис.14 Окно конфигуратора. Вставка объекта

    В появившемся окне переключить указатель в положение «Элемент управления» и мы увидим, что появился тип объекта «1С.V8. Печать штрих-кодов».


    Рис.15 Окно конфигуратора. Вставка объекта «Элемент управления» - Объект печать штрихкода

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