Прием товара по штрихкоду в 1с. «1С:Розница»: осваиваем штрихкоды

Помощник выполнен в виде расширения к конфигурации Розница 2.2 . Тестировалось на версии 2.2.9.20, Платформа 8.3.10.2867.

Предназначен для работы с версией Проф!

Очень помогает при формировании документов "Поступление" на основании ТТН ЕГАИС. В поступлении сразу видно какой товар уже имеет штрихкод производителя, а какой нет. Для этого создана колонка "Штрихкод", в которую собираются все штрихкоды, присвоенные данной номенклатуре. Целесообразно указать для данной колонки Автовысоту в настройке формы поступления, чтобы видеть все ШК номенклатуры.

Позволяет присвоить выделенной номенклатуре новый штрихкод "на лету" не заходя в карточку товара - Штрихкоды - Создать - Записать и закрыть...

1. Подключение.

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

Все функции - Управление расширениями конфигурации.

Добавьте новое расширение из файла:

Перезапустите конфигурацию.

Расширение готово к работе.

2. Использование.

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

Как добавить новый штрихкод номенклатуре документа?

Выделите поле "Штрихкод" в строке с выбранной номенклатурой.

Отсканируйте штрихкод. При удачном сканировании появится вопрос:

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

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

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

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

Код полностью открыт.

Не тестировалось поведение поля "Штрихкод" на подбор номенклатуры и на добавление товаров с помощью сканера. Если не заполняется, достаточно записать, закрыть и снова открыть документ.

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

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

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

Ввод штрих кода может осуществляться двумя способами:

  • с помощью сканера,
  • с помощью кнопки «Новый штрихкод».

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

Ввод штрихкода с помощью сканера

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

Ввод штрихкода кнопкой «Новый штрихкод»

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

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

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

  • открыта форма списка номенклатуры;
  • открыт документ (расходная, приходная накладная и т. п.);
  • товар проходит регистрацию в кассе.

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

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

Установка компонента

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

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

  • Скачать компонента с сайта 1С;
  • Распаковать архив;
  • Произвести установку.

Таким образом, первым делом вам необходимо скачать файл 1CBarCode.exe, который вы можете найти в заархивированном виде на сайте http://users.v8.1c.ru/.

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

Совет: Если у вас есть установочный диск программы 1С: Бухгалтерия, вы можете найти установочный файл компонента в директории: Диск\1CITS\EXE\TradeWare\1C\1CBarCode

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

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

Функции компонента

Как уже было сказано выше 1с печать штрихкодов 1cbarcode exe предназначена для помощи бухгалтерам и предпринимателям. Функционал модуля позволяет печатать штрихкоды всех используемых форматов. В том числе:

  • AN 8;AddOn2;
  • RSS 14;
  • Code 39 Full ASCII;
  • EAN 128;
  • CodaBar, PDF 417;
  • Code16k Industrial 2of5;
  • EAN13;
  • EAN13 AddOn5;
  • ITF 14;
  • Code 39;
  • Code 93;
  • Code 128;
  • Code16k Industrial 2of5;
  • Interleaved 2of5.

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

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

Важно: Подробное описание свойств и методов компонента вы можете найти в справочнике программы.

Оформление

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

Пользователь может подобрать цветовую гамму, так как для регулировки доступны:

  • Цвет текста;
  • Цвет фона;
  • Цвет штриховых линий.

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

Как работать с компонентом?

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

Например, свойство «типкода» может принимать следующие значения:

  • 0 -формат EAN8;
  • 1 - формат EAN13;
  • 2 - формат EAN128;
  • 3 - формат CODE39;
  • 4 -формат CODE128;
  • 5 - формат CODE16K;
  • 6 - формат PDF417;
  • 7 - формат Industrial2of5.

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

Пример печати штрихкодов в табличном документе 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С, которые покупаются отдельно и дают право пользоваться на несколько компьютеров.


Порою в рамках штрихкодирования документов или этикеток на печатную форму 1С 8.2 (8.3) необходимо вывести произвольный штрих-код.

Как это сделать, рассмотрим ниже.

Для вывода штрих-кода обязательно (кроме конфигураций на базе БСП 2 и выше) необходима установка компонента . Найти его можно на диске ИТС или на пользовательском портале 1С.

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

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

Получите 267 видеоуроков по 1С бесплатно:

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

ТипКода = ПолучитьЗначениеТипаШтрихкодаДляЭУ(ПланыВидовХарактеристик. ТипыШтрихкодов. Code39) ; Если ТипКода = - 1 Тогда ОбщегоНазначения. СообщитьОбОшибке("Для штрихкода формата " "" + ПланыВидовХарактеристик. ТипыШтрихкодов. EAN13 + "" " не существует соответствующего типа в ЭУ " "1С:Печать штрихкодов" ". | Позиция будет пропущена" ) ; КонецЕсли ; Область. Рисунки. Штрихкод. Объект. ТипКода = ТипКода; Область. Рисунки. Штрихкод. Объект. Сообщение = ? (ПустаяСтрока("" ) , Штрихкод, "" ) ; Область. Рисунки. Штрихкод. Объект. ТекстКода = Штрихкод;