|   |   | 
| 
 | 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) Еще Цел() во взятии по модулю - излишество, можно и без него. Рефлекторно написал.. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |