Имя: Пароль:
1C
1С v8
Генерация Штрихкодов Складских Ячеек (УТ 11.1)
0 TemkaTV
 
26.11.15
15:39
Добрый День. УТ11.1 конфа. Прошу мне помочь, как начинающему программисту. Есть Справочник Складские Ячейки. Нужно Сгенерировать ШтрихКод к каждой из ячеек. Создал Регистр сведений с измерением Штрихкод и ресурсом Складские Ячейки. Добился генерации штрихкода и записи его в регистр. нужно сгенерировать ко всем ячейкам.
1 TemkaTV
 
26.11.15
15:41
Создал Команду с кодом:
&НаСервере
Процедура УстановитьУникальныйИдентификатор(СкладскиеЯчейки)
    
    
    НоваяЗаписьЯчеек = РегистрыСведений.ШтрихкодыСкладскихЯчеек.СоздатьМенеджерЗаписи();
    НоваяЗаписьЯчеек.СкладскиеЯчейки = СкладскиеЯчейки;
    НоваяЗаписьЯчеек.Период = ТекущаяДата();
    НоваяЗаписьЯчеек.Штрихкоды = СгенерироватьУИД();
    НоваяЗаписьЯчеек.Записать();
        
        
КонецПроцедуры

&НаСервере
Функция СгенерироватьУИД()Экспорт
    
    УИДДата    = Формат(ТекущаяДата(),"ДФ=ггггММддЧЧммсс");
    ГСЧ        = Новый ГенераторСлучайныхЧисел;
    СлучайноеЧисло = Строка(ГСЧ.СлучайноеЧисло(10000, 99999));
    //строка вида "хх_ххх", удалим пробел
    УИДНомер = Лев(СлучайноеЧисло,2)+Прав(СлучайноеЧисло,3);
    
    Возврат "99"+УИДНомер + УИДДата;
    
КонецФункции
2 Чайник Рассела
 
26.11.15
15:42
продолжайте наблюдение
3 TemkaTV
 
26.11.15
15:44
(2)
4 TemkaTV
 
26.11.15
15:44
(2)то есть?
5 mTema32
 
26.11.15
15:47
(0) Ну так теперь обойди все ячейки в цикле и для каждой запусти  свой СгенерироватьУИД().
Ну и перед тем как присваивать проверяй на уникальность.
6 chesswar
 
26.11.15
15:48
(0) ШК какой нужен? ean13, ean8, code128? ваша процедура генерирует непонятное число, в шк надо высчитывать контрольный символ.
7 anatoly
 
26.11.15
15:49
(0) если коды спр.Ячеек уникальные - генерить ШК по коду.

зачем плодить лишние глупости?

а вообще (не знаю как в УТ 11) в любой ВМС ШК ячейки - это ее адрес - ряд, стеллаж, уровень, место и т.д.
8 anatoly
 
26.11.15
15:49
(6) даже в ЕАН13 - необязательно.
9 TemkaTV
 
26.11.15
16:01
(5) Будьте добры, посмотрите е-майл ваш.. прошу.
10 chesswar
 
26.11.15
16:04
(8) ну в принципе для внутренних нужд предприятия можно в ШК писать все что в голову вздумается) Самое простое - формировать ШК по коду справочника. А контрольное число нужно для самопроверки сканера - что предыдущие 12 цифр правильно прочитались. Если не высчитывать контрольное число есть риск что ваш ШК не будет читаться на некоторых сканерах.
11 anatoly
 
26.11.15
16:08
(10) можно пример на каких ТСД такое происходит?
то есть в ЕАН13 не используется контрольная цифра и код криво читается.
я не просто так спрашиваю, реально интересно, может пригодиться...
12 DGorgoN
 
26.11.15
16:17
(7) +1
13 Garykom
 
гуру
26.11.15
16:21
(7) +2
14 chesswar
 
26.11.15
16:43
(10) на ТСД не довелось проверять что-то подобное, но сканирование шк мобильным приложением (т.е. камерой планшета) на платформе 8.3.5.1068 и 8.3.5.74 у меня работало именно так - без контрольной цифры камера фокусируется на шк и... ничего не происходит) СП по поводу СредствМультимедиа дает скудную информацию, можно указать только типы считываемых штрихкодов. ХЗ где там проверку контрольного числа отключить. Поэтому у меня ШК генерируются только с контрольной цифрой.

ТипШтрихКода (BarcodeType)
Свойства:

Все (All)
Двухмерный (Matrix)
Линейный (Linear)

Описание:

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

Доступность:

Мобильное приложение(клиент).