gifts2017

Штрих-кодирование документов

Опубликовал dvv01 (dvv01) в раздел Оборудование - Сканер штрих-кода

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

Комплект состоит из двух частей: универсальная накладная с ШК на "почти" универсальном макете печатной формы и перехватчик события от сканера.

Должна быть универсальна, тестировалась на КА 1.1 и УТ 10.3 (обычные формы) на товарно-номенклатурных документах.

 

1. Накладная (запуск как обработки с выбором документа или как внешней печатной формы):

генерирует штрихкод в формате EAN13: первая цифра "1", далее 3 следующих  по типу документа, далее 4 - дата документа, 1 - префикс номера, 3 - сам номер и последняя 1 - контрольный символ. Цифр мало, документов много, ШК может повторятся (будут открыты все найденные документы). Кого не устроит - делайте EAN128. Макет оптимизирован под номенклатурные документы КА/УТ. Рекомендация: в идеале по аналогии надо или делать индивидуальные печатные формы, или менять типовые (гиморно, не везде будет работать из-за Active-X. Способ кодирования подбирался под мои личные нужды - допускаю существование более удачных вариантов. Дизайн макета и его состав - аналогично.

2. Обработчик:

Выполнен в виде обычной внешней обработки: запустили - начали сканировать. После открытия форму можно закрыть! т.к. при закрытии отключение от СерверТО выполняется только при остановленном сканировании (возможный баг платформы? - после закрытия форма продолжает получать события и их обрабатывать). Если найден подходящий документ - он будет открыт. Рекомендация: перенести форму в "ОбщиеФормы", добавить ее открытие и сразу закрытие "ПриНачалеРаботыСистемы()", а экспортные процедуры перенести в свой ОбщийМодуль

3. Не забудьте настроить сканер - требуются драйверы с ИТС "1С: Печать штрихкодов" и "1С: Сканер штрихкода"

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
УниверсальнаяНакладнаяШК
.epf 14,65Kb
19.07.13
62
.epf 14,65Kb 62 Скачать
Обработчик сканера
.epf 8,04Kb
19.07.13
68
.epf 8,04Kb 68 Скачать
УниверсальнаяНакладнаяШК + авторегистрация по всед документам
.epf 15,47Kb
19.07.13
67
.epf 15,47Kb 67 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Дмитрий Бухалов (Re:аниматор) 19.07.13 11:47
EAN13 не вариант для документов. Проходил это дело.
Для расширения кругозора рекомендую глянуть на модуль штрих кодирования документов в УТ 11, там ШК по уникальному идентификатору документа что в итоге без повторений.

P.S. можно сделать внешние печатные формы с использованием штрих кодирования из УТ 11 без изменения типовой конфигурации КА 1.1 и УТ 10.3.
2. dvv01 (dvv01) 19.07.13 12:28
1. Добавлена универсальная ПФ с формой на регистрацию.

2. EAN13 выбран по личным соображениям. code128/ean128 - дело вкуса, переделать легко. Код по УИН не катит - в моем случае куча разношерстных баз с обменами - при переносе документов разные УИНы, и такой вариант не заработал.
Рассматривались еще два варианта:
Допил типового РС.Штрихкода (расширение типов Владельца) или свой аналогичный регистр. Генерация и запись ШК по подписке на события "ПриЗаписиДокумента": много лишней возни с разнесенными конфами, допилы обменов по самому регистру и по фильтрации ненужных документов, которые могут поехать с ним "по ссылке" и ... задвоения ШК после обмена.

(1) можно сделать внешние печатные формы
см. Рекомендации - именно это и писал. Предложенный вариант "на любителя" (то бишь "лентяя") ибо очевидно, что "Универсальная" ПФ ну ни как не сможет тягаться с персональной.
3. dvv01 (dvv01) 19.07.13 12:43
(1) Re:аниматор, EAN13 не для документов
12 цифр, даже 11 цифр + префикс + КС.
В моем случае на 200000 документов у попало всего 79 повторений. Если в чьем-то варианте все хуже - можно изменить способ генерации кода (убрать учет префикса номера и одну цифирь номера, но детализировать на два разряда дату, учитывая секунды. Еще есть три разряда типа докуметна (я генерирую число по имени метаданных) - если видов документов меньше 100 - это еще один разряд. Первый символ тоже не обязательно делать строго "1". Теретически двенадцати разрядов должно хватить на все случаи жизни, нужно только придумать как...)
4. Дмитрий Бухалов (Re:аниматор) 19.07.13 14:06
Так то в УТ 11, ШК на основе Code39, вполне достаточно, 128 не нужно. EAN 13 точно не вариант.
5. dvv01 (dvv01) 19.07.13 15:27
(4) 39, 128 - это не очень длина кода :) - длина кода может быть произвольной, сколько нужно. Большинство сканеров, модули 1С работают с ean8, ean13, ean128, code39, code129 - код можно не переписывать вообще (вопрос только в контрольном символе и использованию латинских букв. Вопрос в том, как будет выглядеть код из 36 символов, и какова его устойчивасть к скрапкам, замятинам... хотя еще шесть разрядов было бы в самый раз.

В аттаче небольшая тестилка: перебирает все документы (или только выбранный), для каждого генерит штрихкод, по которому выбирает "исходники". Если есть "двойные" - показывает. Медленно, долго, неоптимально, но для тестирования алгоритма составления штрихкода пойдет.
Прикрепленные файлы:
КонтрольДокументовШК.epf
6. Саша Безымяный (help1Ckr) 25.07.13 17:12
сами подумываем о штрихкодировании документов. Вообще хорошая тема.
7. lsnr lsnr (lsnr) 26.11.15 15:49
Подойдет ли данная обработка для печати штрих-кода в формате EAN128 ?
8. dvv01 (dvv01) 27.11.15 09:29
(7) lsnr,
сходу - нет, потребуются минимальные переделки:
1. указать, где необходимо, иной формат кода в явном виде
2. переделать алгоритм перерасчета:
в EAN13 у меня используется только 11 цифр (+выделенный префикс "1" для назначения штрихкода ("2" - товар, "3" - весовой товар, "7" - карты,...) +контрольный символ EAN13), в которых в сжатом виде закодированы тип документа, его номер и дата - в EAN128 (code38...) другая длина кода, по-другому рассчитывается контрольный символ - с учетом этого все остальное не изменится :)
В принципе, формат кода может быть любой, при неограниченных по длине можно однозначно идентифицировать и искать любые документы (у меня тут есть некоторые ограничения из-за нехватки цифр). Неплохим вариантом будет внутренний УИД (36 символов), но и тут есть ньюансы, если используются распределенные базы или обмены - нужно смотреть как синхонизируются документы в правилах обмена (обычно или Тип/Номер/Год или Регистр соответствий как УИД в чужой базе)
Код открыт, если что - уточняйте более детально
9. Иван Одинескин (odineskin2) 08.02.16 08:47
(1) Re:аниматор, по идее EAN-13 будет достаточно для документов, хотя по уникальному идентификатору тоже выход но тогда нужна печать широкого штрих-кода типа PDF-417
10. dvv01 (dvv01) 08.02.16 15:01
УИД - 32 или 36 символов, соответственно подойдет любой штрих-код соответствующий длины (из простейших это типа EAN128, code39).
НО!
если есть несколько узлов с обменами (УТ+БУ) сей вариант уже не годится пройдет. Остается тип документа + номер + дата (год - если нумерация в пределах года).
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа