Имя: Пароль:
1C
 
RFID пластиковые карты, конвертация кодов
0 abbas
 
27.05.24
10:30
Здравствуйте,
У пластиковых карт есть 2 кода (длинный и короткий)
В системе 1С заведены короткие коды пластиковых карт
После замены считывателя пластиковых карт RFID, оказалось что  данный RFID считывает длинные номера.

Подскажите пжста....
как можно программным путем сконвертировать короткий в длинный и на оборот.

https://guardsaas.com/ru/content/keycode ссылка на онлайн конвертор
1 Волшебник
 
27.05.24
10:39
А может это один и тот же код в разных системах счисления?
2 abbas
 
27.05.24
10:58
(1) Да, но какой алгоритм конвертации или подскажите пжста где можно посмотреть
3 Волшебник
 
27.05.24
11:00
4 abbas
 
27.05.24
11:07
(3) Там немного другой подход нужен
из 10 - ной в текстовой
5 Волшебник
 
27.05.24
11:09
Гляньте, может наведёт на мысли: https://infostart.ru/1c/articles/70053/
6 vbus
 
27.05.24
11:13
(0) Образцы данных соответствующих есть? несколько.
7 Builder
 
27.05.24
11:14
(0) Настроек у ридера нет? Заменить на такой-же ридер не проще?
Что за модель и карты?
8 abbas
 
27.05.24
11:15
(6) да
0010413062 - длинный код
158,58374 - короткий код
9 abbas
 
27.05.24
11:16
(7) Самый простой и был приобретен
такого же нет, старого нет на рынке
10 abbas
 
27.05.24
12:35
Из 10чной в код текстовый (вида 037,01594)
и получаю из длинного короткий
0010413062 = 158,58374 ( https://guardsaas.com/ru/content/keycode )
а в 1С реализовать пока не получается
11 abbas
 
27.05.24
11:20
(5) работаем в текущем направлении, спс
12 vbus
 
27.05.24
13:18
Есть поле ввода Длинное туда целое, без ведущих нулей 10413062.
результат номер 58 374 и серия 158
&НаКлиенте
Процедура перевести(Команда)
	Объект.номер=ПобитовоеИ(Объект.Длинное, 65535);
	Объект.серия=ПобитовыйСдвигВправо(Объект.Длинное,16);
КонецПроцедуры


Мало данных, из-за длины числа может придется поработать с серией
13 vbus
 
27.05.24
13:19
А, еще и назад нужно,
Сообщить (ПобитовыйСдвигВлево(Объект.серия,16)+Объект.номер);
14 abbas
 
27.05.24
16:00
(12) платформа 8.3.10
15 АгентБезопасной Нацио
 
27.05.24
16:38
(14) Ну тогда сделайте то же самое "руками". Переведите в двоичный.
(12) а так не проще?: Формат(Цел(ДесятичныйКод/65536),"ЧЦ=3; ЧВН=")+","+Формат(Цел(ДесятичныйКод%65536),"ЧЦ=5; ЧВН=")
16 abbas
 
27.05.24
16:40
(15) нихуахуа чихуахуа
а че так можно было
17 abbas
 
27.05.24
16:46
(15) спс, так и пусть и останется
18 АгентБезопасной Нацио
 
27.05.24
17:17
(16) можно.
(17) Еще Цел() во взятии по модулю - излишество, можно и без него. Рефлекторно написал..