Имя: Пароль:
1C
 
Генерация штрихкода и печать
0 Валерия
 
25.10.05
12:57
Такая проблема: Есть база магазина (1С 7.7),В карточке товара я генерирую методом случайных чисел штрихкод (13 символов). А когда пытаюсь вывести на печать этот штрихкод, то он не хочет его печатать, если стоит 12 символов, то он добавляет 13-й и печатает его. Не пойму в чем дело. Потом я добавляю в карточку этот 13-й символ и он его уже потом нормально воспринимает и печатает. Не пойму что за ерунда.
1 Sonic_vlad
 
25.10.05
12:59
смотри процедуру в глобальнике - ПроверитьЕАН13() вроде так наз-ся. 13 символ это контроль четности
2 ДенисЧ
 
25.10.05
13:00
"генерирую методом случайных чисел штрихкод" - это неправильно... Ваабче-то в ш/к 13-й символ - контрольный...
"он не хочет его печатат" - он - это кто? Дядя Вася?
3 Halyavnik
 
25.10.05
13:01
Потому что по стандарту штрихкода EAN-13 в тринадцатом символе указывается контрольная цифра штрихкода, которая рассчитывается согласно определенному алгоритму, а не получается случайным образом.
Поэтому рекомендую Вам генерировать не 13, а 12 цифр, а 13 и само поставит.
4 Валерия
 
25.10.05
13:31
(3) А как мне потом занести это 13-тое значение в реквизит  "Штрихкод"? В ручную? У меня должно быть точное соотвествие напечатанного штрихкода и того, что в карточке.
5 ДенисЧ
 
25.10.05
13:33
(4) А это 13-е значение однозначно рассчитывается из других 12-и...
6 Валерия
 
25.10.05
13:34
(5) Я догадываюсь. :-)Ты знаешь как?
7 Sonic_vlad
 
25.10.05
13:53
(6) смотри (1), там есть как раз это
8 ДенисЧ
 
25.10.05
13:56
//******************************************************************************
// глСформироватьШтрихкод(Префикс, ПредвКод, ТипКода=13)
//
// Параметры:
//  Префикс  - префикс штрихкода (строка из 2-х символов)
//  ПредвКод - строка, содержащая символы из которых нужно сформировать штрих-код
//    ТипКода  - тип формируемого штрихкода. Возможные значения:
//               13 - для формирования EAN 13 (по умолчанию)
//                8  - для формирования EAN 8
// Возвращаемое значение:
//  Нет                
//
// Описание:
//  На основании кода Номенклатуры и кода ОКЕИ формирует штрихкод в формате EAN
//
Функция глСформироватьШтрихкод(Префикс, ПредвКод, ТипКода=13) Экспорт
   
   Если ТипКода = 13 Тогда
       ИспКолво = 10;
   Иначе
       ИспКолво = 5;
   КонецЕсли;
   
   Штрихкод = СимволыВЦифры(Прав(СокрЛП(ПредвКод), ИспКолво));
   Штрихкод = Префикс + глДополнитьСтрокуЛ(Штрихкод, "0", ИспКолво);
               
   Возврат Штрихкод + глКонтрольныйСимволEAN(Штрихкод, ТипКода);
                   
КонецФункции // глСформироватьШтрихкод()
9 Валерия
 
25.10.05
14:34
(7) У меня нет такой процедуры.
Закон Брукера: Даже маленькая практика стоит большой теории.