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

Подписаться
Вступай в сообщество «passport13.com»!
ВКонтакте:

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

Зато работа с внесением в базу тех документов, которые были созданы уже с участием «Скан-Архива», будет гораздо проще: в программе это реализовано за счет штрихкодирования документов в «1С».

Как работает штрихкодирование в «1С»

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

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


Смотрите подробнее на видео, как это работает

Штрихкодирование группы документов

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

Для использования печатной формы «СА: Печать документов со штрихкодами» ее надо предварительно подключить в базу как дополнительную обработку. После подключения допобработки она появляется в подменю «Печать» для тех документов, которым она назначена при подключении.

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

Чтобы все сформированные документы вышли на печать с правильными штрихкодами, нужно проставить параметры печати каждого печатного документа (или оставить параметры по умолчанию) и нажать кнопку «Печать».

Не печатаются штрихкоды для документа в «1С»

Если «Скан-Архив» установлен, а штрихкодирование в «1С» не настроено, следует зайти в настройки «Скан-Архива» и на вкладке «Штрихкодирование» проверить: есть ли те документы, которые печатаются. Если есть, то зайти в настройки и проверить печатные формы.

Если печатные формы в порядке, то проверяем следующее: при печати документа, нажимаем «Предварительный просмотр», потом «Параметры страницы», где поля и колонтитулы должны быть по 10 п.

Если с данными настройками также все в порядке, то проверяем модуль «Общие модули» - «Универсальные механизмы» - «Управление печатью». В вызове функции «Сформировать печатные формы» добавленный код от нашей инструкции должен быть размещен до возврата значения из функции.

Система «Корпоративный документооборот» содержит механизм штрихкодирования документов предприятия. Штрихкодирование осуществляется с помощью программного кода системы, а также специализированной компоненты (работает под ОС Windows и Linux) которая выполняет рендеринг штрихкода в изображение в формате jpg.

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

нажмите на картинку для увеличения

Примечание: Если вы используете простой сканер штрихкодов, эмулирующий нажатия цифровой клавиатуры и не подключенный по COM порту (или через его эмуляцию), то настраивать оборудование не потребуется. Но в таком случае не будет возможности автоматически вызывать обработки внешнего события от сканера при сканировании кода, такие обработки нужно будет предварительно запускать вручную (например, нажатием Shift+I) в интерфейсе системы документооборота.

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

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

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

Аналогично осуществляется ввод данных и в OpenOffice Writer.

Прочие возможности штрихкодирования

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

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

Существует возможность сохранения присвоенного штрихкода в файл формата jpg. Для этого необходимо выбрать пункт «Штрихкоды Сохранить штрихкод».

Связанные с объектами штрихкоды начинаются с зарезервированного префикса «2». При необходимости все штрихкоды системы можно посмотреть в регистре сведений «Штрихкоды».

Для поиска документов по штрихкоду в системе можно воспользоваться специальной обработкой, открыть её можно либо в подсистеме «Актуальные документы» либо нажав в любом месте программы сочетание клавиш «Shift+I».

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

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

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

Процедура оплаты предусматривает три шага:

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

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

Фирма "1С" реализовала поддержку QR-кода на уровне "Библиотеки стандартных подсистем" "1С:Предприятия 8". Функция печати QR-кода предоставляется в рамках договора информационно-технологического сопровождения 1С:ИТС и может быть легко встроена в любое прикладное решение системы. Подробную инструкцию по созданию платежных документов с QR-кодом можно получить на сайте http://www.sbqr.ru/standard/files/QR_code_in_1C.pdf .

Готовые формы с QR-кодами реализованы в настоящее время в следующих решениях системы "1С:Предприятие 8":

  • - документы ПД-4, Заявление физического лица на перевод денежных средств, Счет на оплату.
  • "1С:Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК" – квитанция на оплату услуг ЖКХ.
  • "1С:Расчет квартплаты и бухгалтерия ЖКХ" – квитанция на оплату услуг ЖКХ

Формы этих документов используются службами ЖКХ, государственными и муниципальными учреждениями для выставления квитанций на оплату госпошлин, услуг ЖКХ, услуг дошкольного и дополнительного образования и т. п. Провести платеж по квитанциям с QR-кодом можно за считанные секунды в любом отделении Сбербанка, а также в ряде других банков и финансовых организаций.

На написание данной статьи меня побудили 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С. Они поддерживают как штрихкодирование товаров, так и документов. Если вы решили внедрить у себя штрихкодирование товаров на складе и в магазине, то хорошо подойдет программа . Сегодня именно она автоматизирует деятельность большинства торговых компаний. В программах 1С штрих-код присваивается напрямую в карточке товара (вкладка штрих-код в карточке товара в справочнике «Номенклатура»). Штрихкоды также можно распечатать с помощью обработки «Печать этикеток».

Выбор и покупка оборудования для штрихкодирования

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

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

Внедрение системы штрихкодирования для автоматизации склада

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

Если у вас крупный склад, на котором вам необходимо внедрить штрихкодирование, вам придется задуматься не только о нем, но и о комплексной автоматизации учета в компании. На складе же мы советуем вам внедрить специальную WMS систему или, как более недорогое решение, более простую программу для управления складом, например, 1С:Управление торговлей 11 .

Штрихкодирование товаров в магазине

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

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

Штрихкодирование документов 1с для автоматизации учета в компании

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

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

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

← Вернуться

×
Вступай в сообщество «passport13.com»!
ВКонтакте:
Я уже подписан на сообщество «passport13.com»