«1С:Розница»: осваиваем штрихкоды. Внедрения системы штрихкодирования товаров и документов для автоматизации учета Формирование штрих кода в 1с
Система «Корпоративный документооборот» содержит механизм штрихкодирования документов предприятия. Штрихкодирование осуществляется с помощью программного кода системы, а также специализированной компоненты (работает под ОС Windows и Linux) которая выполняет рендеринг штрихкода в изображение в формате jpg.
Для включения возможности использовать штрих-коды в системе документооборота необходимо в настройках подсистемы «Администрирование системы» включить флажок «Использовать штрихкоды». После включения штрихкодирования появляется возможность настроить сканер, в том числе указать COM порт, скорость и другие параметры. Флажок находится в форме «Настройка параметров: Система», закладка «Общие параметры».
нажмите на картинку для увеличения
Примечание: Если вы используете простой сканер штрихкодов, эмулирующий нажатия цифровой клавиатуры и не подключенный по COM порту (или через его эмуляцию), то настраивать оборудование не потребуется. Но в таком случае не будет возможности автоматически вызывать обработки внешнего события от сканера при сканировании кода, такие обработки нужно будет предварительно запускать вручную (например, нажатием Shift+I) в интерфейсе системы документооборота.
На рисунке ниже показан пример размещения тега для вывода изображения штрихкода документа.
После размещения тега в тексте шаблона можно выполнять обычное формирование содержимого документа при открытии файла из корпоративного документа.
На рисунке ниже приведен пример сформированного по шаблону документа. В данном документе заполнены не только обычные параметры, но и выведен штрихкод (в указанном в шаблоне месте).
Аналогично осуществляется ввод данных и в OpenOffice Writer.
Прочие возможности штрихкодирования
Система документооборота поддерживает возможность присвоения штрих-кодов, сформированных в других системах. Такие штрихкоды могут быть получены с документами из сторонних систем, например от контрагентов.
Для присвоения штрихкода документу можно необходимо выбрать в меню «Все действия» пункт «Штрихкоды Добавить внешний штрихкод». Пример расположения такого пункта приведен на рисунке, расположенном ниже.
Существует возможность сохранения присвоенного штрихкода в файл формата jpg. Для этого необходимо выбрать пункт «Штрихкоды Сохранить штрихкод».
Связанные с объектами штрихкоды начинаются с зарезервированного префикса «2». При необходимости все штрихкоды системы можно посмотреть в регистре сведений «Штрихкоды».
Для поиска документов по штрихкоду в системе можно воспользоваться специальной обработкой, открыть её можно либо в подсистеме «Актуальные документы» либо нажав в любом месте программы сочетание клавиш «Shift+I».
В случае, если в системе существует несколько документов с одинаковым штрихкодом, пользователю будет предложен выбор из списка таких документов. Одинаковые штрихкоды могут появиться например, в случае получения документов с одинаковым кодом от разных контрагентов.
Пример печати штрихкодов в табличном документе 1С:Предприятия 8.2 предназначен для самостоятельной модификации и для последующего применения в режиме управляемого приложения. Ниже приведены примеры для EAN-13, GS1-128, QR-кода и других распространенныхформатов штрихкодов.
Пример рассчитан на работу с ПО StrokeScribe версии 4.0.4 или старше.
Подготовка макета для вывода штрихкода
1. Создайте новый отчет в конструкторе 1С:Предприятия 8.2 и дайте ему имя ОтчетШтрихкод (это имя будет использовано в модуле ниже).
2. Для отчета ОтчетШтрихкод создайте макет табличного документа под именем МакетШтрихкод .
3. В макете создайте область произвольного размера с именем ОбластьШтрихкод .
4. Поместите в область картинку (меню Таблица->Рисунки->Картинка) с размерами будущего штрихкода. В свойствах картинки укажите имя - РисунокШтрихкод .
В результате всех действий должен получиться макет отчета, похожий на показанный на рисунке:
Модуль отчета
Добавьте приведенный ниже код в модуль отчета. Самостоятельно смодифицируйте пользовательский интерфейс отчета для вызова обработчика команды. Данная реализация модуля создает единичный QR-код и легко модифицируется под создание нескольких штрихкодов разных форматов внутри одной области.
&НаСервере
Функция ДокНаСервере()
ТабДок = Новый ТабличныйДокумент;
Макет = Отчеты.ОтчетШтрихкод.ПолучитьМакет("МакетШтрихкод");
Область = Макет.ПолучитьОбласть("ОбластьШтрихкод");
//Обратите внимание на совпадение имен отчета, макета и области
в модуле и в дизайне
barcode = ПолучитьCOMОбъект("","STROKESCRIBE.StrokeScribeClass.1");
//Вы не забыли установить StrokeScribe?
ИмяФайла=ПолучитьИмяВременногоФайла("wmf");
//Временный файл во временном каталоге с расширением.wmf
barcode.Alphabet>=25;//QR CODE
barcode.Text="123ABCD";//Данные для штрихкода
код=barcode.SavePicture(ИмяФайла, 7, //7=WMF
100, //Ширина картинки штрихкода
100); //Высота штрихкода
Если код<>0 Тогда //Проверка результата генерации штрихкода
Сообщить(строка(код) + " - " + barcode.ErrorDescription);
Возврат Ложь;
КонецЕсли;
//Убедитесь в совпадении имени объекта рисунка здесь и в дизайне
рис=Область.Рисунки.РисунокШтрихкод;
рис.РазмерКартинки=РазмерКартинки.Пропорционально;
рис.Линия = Новый Линия(ТипЛинииРисункаТабличногоДокумента.НетЛинии);
//Вокруг штрихкода не должно быть рамки
рис.Картинка = Новый Картинка(ИмяФайла);
//Указывается то же имя файла, что и в SavePicture
ТабДок.Вывести(Область);
УдалитьФайлы(ИмяФайла);//Стереть временный файл с картинкой
Возврат ТабДок;
КонецФункции
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ТабДок1=ДокНаСервере();
Если ТабДок1<>Ложь Тогда
ТабДок1.Показать();
КонецЕсли;
КонецПроцедуры
Результат работы данного модуля - таблица с внедренной картинкой QR Code. Для выбора формата штрихкода, укажите другую константу в свойстве Alphabet. Для наиболее распространенных форматов штрихкодов ниже приведены специализированные примеры.
Замечания по модулю отчета:
Для успешного выполнения вызова ПолучитьCOMОбъект() не забудьте установить ПО StrokeScribe. При работе в режиме клиент-сервер, ПО StrokeScribe должно быть установлено на сервере. На клиентских ПК установка StrokeScribe не требуется.
Вызов ПолучитьИмяВременногоФайла() требуется для получения произвольного имени промежуточного файла, в котором будет сохранено изображение штрихкода перед передачей его в табличный документ. Файл должен существовать до вызова ТабДок.Вывести(Область) . После этого временный файл может быть удален. Если планируется создание нескольких штрихкодов в одной области, то для каждого штрихкода должен быть создан свой временный файл. Так как SavePicture сохраняет штрихкод в формате WMF, то создаваемому файлу присваивается соответствующее расширение.
При желании, может быть использовано и фиксированное имя файла, например: ИмяФайла="c:\temp\barcode.wmf" . Разумеется, что папка "c:\temp" должна существовать и быть доступной для создания файлов.
Присваивание barcode.Alphabet= задает формат штрихкода. Константы типов штрихкодов доступны в документации. Примеры создания наиболее распространенных штрихкодов приведены ниже.
Данные, присваиваемые barcode.Text , зависят от формата штрихкода. Например, EAN-13 не может отображать буквы и имеет фиксированную длину, а CODE 128 не работает с кириллицей. Если StrokeScribe не может обработать строку, то в свойство Error будет записано ненулевое значение. В модуле используется упрощенная проверка ошибок - результат всех операций вместе помещается в переменную код : код=barcode.SavePicture() .
Вызов SavePicture() сохраняет изображение штрихкода во временном файле. Указание 7 во втором параметре вызова SavePicture() создаст векторное масштабируемое изображение в формате WMF. В коммерческой версии StrokeScribe доступны также форматы JPG, PNG, GIF, BMP24 и EMF. Создание растровых изображений штрихкода не рекомендуется из-за большого объема данных и плохой приспособленности к масштабированию, но может применяться в случае, если тонкий клиент не поддерживает WMF.
В конструкции Если код<>0 проверяется результат сохранения картинки штрихкода в файле. Код будет ненулевым и в том случае, если указан несуществующий тип штрихкода или в свойство Text посланы данные, не отображаемые штрихкодом выбранного типа. Текстовое пояснение к коду ошибки доступно в свойстве ErrorDescription . Результат каждой операции с объектом штрихкода можно дополнительно контролировать проверкой значения свойства Error.
Для вывода множества штрихкодов достаточно организовать циклическое присваивание Text= , Alphabet= (опционально) и обращение к методу SavePicture . Каждое обращение к SavePicture должно происходить с отдельным именем файла для каждого штрихкода внутри одной области до вызова ТабДок.Вывести() . После вывода области файлы могут быть удалены.
Примеры создания штрихкодов в отчете 1С 8.2
Ниже даны примеры создания некоторых распространенных форматов штрихкодов. Так как некоторые из форматов имеют дополнительные настройки, рекомендуем обратиться к страницам, ориентированным на определенный формат штрихкода (см. меню сайта слева) и к документации по свойствам StrokeScribe.
Пожалуйста, обратите внимание - версия 1С:Предприятия 8.2.12.96, на которой производилось тестирование, некорректно центрирует изображения WMF, сдвигая их вправо. Поэтому не рекомендуется уменьшать чистые зоны штрихкодов (свойства HBorderSize и QuietZone2D) во избежание потери части линий штрихкода.
EAN-13
Для вывода EAN-13, установите свойство Alphabet=3 . В свойство Text запишите цифровой 12-значный код товара (или 13-значный, если известна контрольная сумма). Вычисление и проверка контрольной суммы выполняется автоматически. При передаче 13-значного кода с неверной контрольной суммой, соответствующий код ошибки будет выставлен в свойстве Error.
Barcode.Alphabet=3; //EAN13 barcode.Text="123456789012"; код=barcode.SavePicture(ИмяФайла, 7, 100, 60);
CODE 128
Штрихкод CODE 128 формируется при установке свойства Alphabet=5 . В свойство Text можно записать любые символы ASCII, в том числе и управляющие коды. Обратите внимание - CODE 128 не поддерживает кириллицу. При записи недопустимых символов в свойство Text, в свойстве Error будет выставлен соответствующий код ошибки.
Смодифицируйте исходный текст модуля, как показано ниже:
Barcode.Alphabet=5; //CODE128 barcode.Text="123ABC" + Символ(9) + "def"; код=barcode.SavePicture(ИмяФайла, 7, 100, 60);
Символ(9) - функция языка 1C - кодирует символ табуляции (ASCII TAB). Все нечитаемые символы отображаются, как * в подписи под штрихкодом. CODE 128 позволяет задать произвольный текст подписи, который будет выведен под штрихкодом вместо стандартного отображения закодированных данных:
Barcode.Alphabet=5; barcode.Text="123ABC" + Символ(9) + "def"; barcode.TextBelow="моя подпись";
ITF-14
Формат штрихкода ITF-14 задается установкой свойства Alphabet=7 . В свойство Text запишите цифровой 13-значный цифровой код (или 14-значный, если известна контрольная сумма). Вычисление и проверка контрольной суммы выполняется автоматически. При передаче 14-значного кода с неверной контрольной суммой, соответствующий код ошибки будет выставлен в свойстве Error.
Смодифицируйте исходный текст модуля, как показано ниже:
Barcode.Alphabet=7; //ITF14 barcode.Text="1234567890123"; barcode.ITF14BearerBox=1; код=barcode.SavePicture(ИмяФайла, 7, 100, 30);
Свойство ITF14BearerBox выводит ITF-14 с прямоугольной рамкой, обычно присутствующей на штампах для гофрированной тары. Для вывода штрихкода только с горизонтальными защитными линиями, укажите ITF14BearerBox = 0 .
GS1-128 (ранее EAN-128)
Data Matrix
Формат штрихкода Data Matrix задается установкой свойства Alphabet=8 . Data Matrix позволяет кодировать любые данные, включая двоичные. Передача кириллицы в кодовой странице CP1251 не разрешается стандартом, но фактически используется в штрихкодах Почты России и некоторых банков. Создание Data Matrix, содержащих ECI=22 допустимо, если достоверно известно, что сканирующее оборудование и считывающее ПО поддерживают ECI. Для распознавания Data Matrix с кириллицей на мобильных телефонах, требуется кодирование в UTF-8.
Смодифицируйте исходный текст модуля, как показано ниже:
Barcode.Alphabet=8; //DATAMATRIX barcode.Text="123abcDEF"; код=barcode.SavePicture(ИмяФайла, 7, 100, 100);
Aztec
Штрихкод Aztec задается установкой свойства Alphabet=33 . Aztec позволяет кодировать любые данные, включая двоичные. Кириллица в кодовой странице CP1251, по установившейся практике, передается в режиме кодирования двоичных данных. Стандарт требует указания идентификатора ECI=22 перед использованием кириллицы, но тем не менее, не все современное оборудование и ПО поддерживают ECI. Распознавание Aztec не поддерживается почти всеми мобильными телефонами, за исключением специализированных моделей для складского применения.
Для печати кода Aztec, смодифицируйте исходный текст модуля, как показано ниже:
Barcode.Alphabet=33; //AZTEC barcode.Text="123ABcd"; код=barcode.SavePicture(ИмяФайла, 7, 100, 100);
QR Code
QR Code генерируется при установке свойства Alphabet=25 . Данный формат позволяет кодировать текстовые и двоичные данные. Кодирование кириллицы для распознавания на мобильных телефонах должно осуществляться в кодировке UTF-8. Применение идентификаторов ECI должно осуществляться только при уверенности, что считывающее оборудование и ПО поддерживают индикацию ECI. Для изменения уровня коррекции ошибок используйте свойство QrECL.
Приведенный здесь пример предназначен для создания QR-кода для мобильных приложений. Большинство складских и офисных применений в России (при распознавании специализированными сканерами) требуют прямой передачи текста в кодовой странице CP1251. Для этого установите UTF8=0
1С: Бухгалтерия 8
"Программа 1С Бухгалтерия 8 создана для автоматизации бухгалтерского и налогового учета, включая подготовку обязательной регламентированной отчетности, на коммерческих предприятиях: оптовую и розничную торговлю, комиссионную торговлю, оказание услуг, производство и тому подобное.
1С: Предприниматель 8
Программа "1С:Предприниматель 8" - создана для ведения бухгалтерского учета и составления отчетности индивидуальными предпринимателями ИП, ЧП, ПБОЮЛ. Программа позволяет вести Книгу учета доходов и расходов и хозяйственных операций индивидуальных предпринимателей, являющихся плательщиками налога на доходы физических лиц (НДФЛ).
1С: Предприятие 8 Лицензии.
При необходимости работать с программой 1С более чем на одном компьютере (это может быть локальная сеть), а также при работе в одной базе 1С, возникает необходимость купить лицензии 1С. Лицензии 1С - это дополнительные ключи защиты программ 1С, которые покупаются отдельно и дают право пользоваться на несколько компьютеров.
Штриховой код представляет собой последовательность белых и черных полос, которая отображает определенную информацию. Это одна из самых распространенных систем идентификации, использующаяся во всем мире. Код обычно состоит из 13 цифр.
Вам понадобится
- - компьютер;
- - программа 1С.
Инструкция
Вам понадобится
- - сканер штрих-кода;
- - программа 1С;
- - СОМ-порт.
Инструкция
Штрихкод представляет собой серию расположенных рядом параллельных штрихов. С его помощью можно компактно разместить учетную информацию о товаре. Считывание штрихкода осуществляется с помощью специализированного оборудования ― сканеров штрихкодов, декодер которых преображает считанную информацию в том формате, который используется программным обеспечением.
Создавая штрих коды своих товаров в программе 1С: Розница 8 , пользователь может привязать их к какой-то конкретной характеристике товаров и из единице измерения. Например, черные туфли 43 размера или синие туфли 45 размера.
Теперь перейдем непосредственно к внесению в программу новых штрих кодов товаров. Сделать это можно на карточке товара, зайдя на закладку «Штрихкоды».
Ввод штрих кода может осуществляться двумя способами:
- с помощью сканера,
- с помощью кнопки «Новый штрихкод».
Приведем небольшие примеры, когда следует применять каждый из случаев.
Ввод штрихкода с помощью сканера
Многие производители продовольственных товаров ставят на упаковке уникальный штрихкод. В этом случае формирование нового кода для товара попросту нецелесообразно, поэтому лучше всего использовать данный штрихкод, введя его на карточке товара с описанием.
Ввод штрихкода кнопкой «Новый штрихкод»
Этот способ обычно используется в розничных магазинах промтоваров, товары в которых реализуются без фирменной упаковки или штрихкод на упаковке плохо считывается сканерами. В продовольственных магазинах этот способ применяется для товаров магазинной фасовки. Ввод штрих кода осуществляется простым нажатием кнопки «Новый штрихкод» на закладке «Штрихкоды» в карточке товара.
Преимущества использования штрихкодов
Товары, на которые в системе учета заведены штрихкоды, можно автоматически идентифицировать с помощью сканера, если:
- открыта форма списка номенклатуры;
- открыт документ (расходная, приходная накладная и т. п.);
- товар проходит регистрацию в кассе.
Использование штрихкодов в значительной степени облегчает учет движения товаров, а также в значительной степени ускоряет процесс продажи товара. Помимо этого, использование штрихкодов практически исключает ошибки оператора в процессе регистрации его продажи.
Чаще всего используются CODE39 и EAN13.
Штрихкоды можно применять при работе с номенклатурой, подарочными сертификатами, информационными картами.
Штрихкоды облегчают работу с номенклатурой. Они помoгут вам быстро находить и подбирать нужные товары при продаже, оформлении поступлений на склад и т.д.
В 1С вы можете присвоить номенклатуре штрихкод производителя или же вести свою систему кодирования. Можно использовать часть своих штрихкодов, часть – производителей.
Как назначить штрихкод конкретной позиции номенклатуры?
Переходим в справочник номенклатуры: НСИ – Номенклатура.
У данной позиции Шоколад Sladkoff черный, 100 гр
еще нет присвоенных штрихкодов. Для добавления штрихкода нажимаем Создать.
В открытой карточке штрихкода заполняем поля Штрихкод и выбираем Тип штрихкода , например, EAN13.
ВАЖНО! Если вы используете Характеристики, штрихкод создается не для Номенклатуры, а для каждой Характеристики номенклатуры!
На рисунке видим, что карточка штрихкода содержит дополнительное поле Характеристика. Поэтому для позиции номенклатуры Ручка шариковая KOH-I-NOOR каждой характеристике назначен свой штрихкод! Это помогает быстр найти необходимую характеристику товара и избежать пересортицы.
Если вы хотите использовать собственные штрихкоды, а не производителей, просто нажмите Новый штрихкод . Программа автоматически сгенерирует штрихкод с типом EAN13. Такие штрихкоды будут уникальными, они в диапазоне, который не используется производителями товаров.
Чтобы кассиру было еще удобнее работать, в 1С: Рознице можно напечатать ценники уже со штрихкодами и подключить сканер штрихкодов.