Имя: Пароль:
1C
1С v8
Требуется совет: штрихкод для документа
0 Snik_666
 
25.01.13
12:05
Добрый день! Посоветуйте как лучше реализовать задачу: Требуется печатать штрихкод на нескольких видах документов, чтобы потом считать товарный состав всего документа. Штрихкод этот имеет смысл некоторое время, и должен конечно быть привязан к ссылке-документ, но блин не хочется калечить штатный регистр сведений штрихкоды...
1 Нууф-Нууф
 
25.01.13
12:06
вопрос какой
2 1C-band
 
25.01.13
12:06
(0) Свойства?
3 Aleksey
 
25.01.13
12:06
"считать товарный состав всего документа" - из штрих-кода??
4 Mikeware
 
25.01.13
12:06
(1) стандартный: "куда идти?"
ответ, впрочем, тоже стандартный...
5 Fish
 
25.01.13
12:08
(0) А в чем проблема? Печатай штрихкодом номер и дату документа. Этого должно быть достаточно, чтобы потом его найти.
6 Fish
 
25.01.13
12:09
+(5) И ещё тип документа как-нибудь закодируй, раз у тебя несколько видов доков.
7 banco
 
25.01.13
12:10
(0) посмотри в УТ11, там штрихкод сформируется из ссылки документа
8 0xFFFFFF
 
25.01.13
12:11
(0) уид забубень :)
9 Snik_666
 
25.01.13
12:35
(8) уид конечно хорошо, но штрихкод цифры вроде должны быть...
(5) больше всего нравится но тогда должно быть условие что ни номер ни дата не поменяются...
(7)а в каком хоть документе.... пойду искать
10 Ork
 
25.01.13
12:38
(9) "но тогда должно быть условие что ни номер ни дата не поменяются"
Это настораживает. В таком варианте и содержимое печатного и электронного документов сможет быть различным.
11 Cube
 
25.01.13
12:39
(0) Делал такое. За основу брал ЕАН13. Несколько первых разрядов под тип документа оставь, а остальные разряды - номер (по порядку формируй).
Я, чтобы не корячить конфу, записывал этот штрих код в комментарий между спецсимволами, потом обработкой считывал.
12 Cube
 
25.01.13
12:41
+(11) Можно 2 или 4 разряда под год отобрать ещё, чтобы нумерация была в пределах года.
13 Ork
 
25.01.13
12:42
(11) Записывать сгенерированный штрих-код нет никакого смысла. По имеющимся правилам разобрать считанный штрих-код и получить из него вид, дату и номер не должно составлять никакого труда.
14 Широкий
 
25.01.13
12:43
в типовой разве code128 или code39 не доступны?
15 Михаил Козлов
 
25.01.13
12:44
Когда-то давно делал по аналогии с ШК номенклатуры (в УТ 10.2):
перед записью (или при записи - не помню) получал значение счетчика, по нему формировал ШК (ЕАН13). Значение ШК и ссылка записывались в РС. Значение счетчика увеличивалось на 1 и тоже писалось в РС (состоял из 1-ой записи).
РС для счетчика использовался, чтобы не брать максимум из РС штрих кодов.
Работает.
16 Ork
 
25.01.13
12:45
+ (13) Вопрос в системе кодировки. Как минимум у вас из 13-и зарезервировано 2 символа.
1 - первая двойка.
2 - контрольный код.
Итого из 13-и у вас есть 11. Если 8 выделить на дату в формате ддммгггг останется всего 3.

Все другие коды отличные от ЕАН-13 плохочитаемы. Или должны печататься на качественном оборудовании. Хотя туда можно закодировать хоть и текстовое описание.
17 ssh2006
 
25.01.13
12:46
(0) однажды так делал

Code-128

Функция СформироватьШтрихкодДокумента()

   // 1 - код организации
   // 01 - код вида документа - реализация
   // 01 - длина номера без префикса
   // 0000000 - номер документа без префикса
   // 20110331 - дата документа
   // 123456789111 - ИНН
   
   Попытка
       КомпонентШК = Новый COMОбъект("V8.Barcod.1");
   Исключение
       Сообщить("Компонента 1С:Печать штрихкодов не установлена на данном компьютере!", СтатусСообщения.Важное);
       Сообщить("Документ распечатан без штрихкода!", СтатусСообщения.Информация);
       Возврат Неопределено;
   КонецПопытки;
   
   

......................................
   Возврат ШтрихкодДокумента;
   
КонецФункции
18 ДенисЧ
 
25.01.13
12:47
code128 и уид документа в текстовом виде. Этого хватит на все хотелки (ну, почти на все...)
19 Ork
 
25.01.13
12:47
(15) Достоточно годный вариант.
20 lefthander
 
25.01.13
12:49
code128  отлично кодирует документы. Реализовать можно на своем РС и внешней печатной форме
21 hhhh
 
25.01.13
12:50
(16) четыре символа на дату вполне хватит. Зачем там 8?
22 Ork
 
25.01.13
12:51
(20) Смотри в (18) УИД вполне заменит любой РС.
23 Ork
 
25.01.13
12:52
(21) А если нумерация в пределах месяца?
24 Kreont
 
25.01.13
12:53
(0) Если не жалко то можно сделать одно изменение: сделать уникальность номеров документа полную (а не год и т.п.) и запретить менять номер.док., он тогда и будет = ШК
25 lefthander
 
25.01.13
12:54
(22) прочитайте (0) - первые слова. Автор просит совета как лучше. Уид, несомненно хороший вариант, но он не единственный.
26 Широкий
 
25.01.13
13:23
(16) Первый символ может быть произвольным.
27 Fish
 
25.01.13
13:31
(24) "сделать уникальность номеров документа полную (а не год и т.п.)" - А что будешь делать, когда номера закончатся? Увольняться? :))
28 Kreont
 
25.01.13
13:32
(27) да ладно, мне розрядности не жалко :)
29 Fish
 
25.01.13
13:38
(28) Разрядность тоже не бесконечна :)
30 Aleksey
 
26.01.13
13:45
(16) На дату достаточно 3 символа, а если с годом то 4
Не обязательно в штрихкод писать 25.01.13 - эта дата легко кодируется в 0253, где 025 - номер дня в году (максимум 366 если год высокосный) а 3 - это год. Ведь можно предположить, что никто не будет сканировать документы 15-20 летней давности, а значит можно ограничится периодом в 10 лет от текущей даты. Т.е. если цифра = 8, то значит речь идет о 2008 годе
31 Aleksey
 
26.01.13
13:47
А если еще жату перевести из 10тичной в 39 ричную систему (code39), то еще меньше символов
32 viraboy
 
26.01.13
21:11
используйте QR-код ))
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший