powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перевод строки в массив данных (ККТ Атол 10)
3 сообщений из 3, страница 1 из 1
Перевод строки в массив данных (ККТ Атол 10)
    #40056215
KeshaGraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, бьюсь над интеграции ККТ атол через драйвер. Сделал через веб-интерфейс проблем нету. а тут столкнулся. На сайте Атола Есть примеры на большенство, но не на VBA. Столкнулся с такой проблемой.

Есть пример:

Код: go
1.
fptr.SetParam(fptr10.LIBFPTR_PARAM_MARKING_CODE_TYPE, fptr10.LIBFPTR_MCT_EGAIS_20)
fptr.SetParam(fptr10.LIBFPTR_PARAM_MARKING_CODE, []byte{})


Делаю вот так:

Код: vbnet
1.
2.
3.
4.
5.
If Len(fsm) = 68 Then
Call fptr.SetParam(fptr.LIBFPTR_PARAM_MARKING_CODE_TYPE, fptr.LIBFPTR_MCT_EGAIS_20)
fsm_am = right(Left(fsm, 31), 23)
Call fptr.SetParam(fptr.LIBFPTR_PARAM_MARKING_CODE, CStr(fsm_am))
End If


Ошибок никаких не выдает, но когда проверяю чек в кассе данные марки туда не поступают (Думал проблема в самой ККТ не через веб все работает). Думаю может необходимо из этого CStr(fsm_am) сделать это []byte{<массив байтов от сканера>}. Немогу разобраться как пробовал CByte(fsm_am), но тогда ККТ вообще молчит.

setParam - это функция драйвера ККТ
Переменная fsm_am которую нужно перевести в массив байтов обрезанная отсканираванная марка от алкоголя которая содержи к примеру "20420029976309"
...
Рейтинг: 0 / 0
Перевод строки в массив данных (ККТ Атол 10)
    #40056299
VBA работает со строками в Unicode (два байта на символ), поэтому для начала попробуйте StrConv(fsm_am, vbFromUnicode) вместо CStr(fsm_am). Если не прокатит, то нужно объявить байтовый массив, присвоить ему StrConv и затем его передать.
...
Рейтинг: 0 / 0
Перевод строки в массив данных (ККТ Атол 10)
    #40056300
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaGraf
Переменная fsm_am которую нужно перевести в массив байтов обрезанная отсканираванная марка от алкоголя которая содержи к примеру "20420029976309"


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub test1()
    Dim byMyArray() As Byte
    Dim i As Long
    
    byMyArray = StrConv("20420029976309", vbFromUnicode)
    
    For i = 0 To UBound(byMyArray)
        Debug.Print byMyArray(i)
    Next i
    
    For i = 0 To UBound(byMyArray)
        byMyArray(i) = CByte(Chr(byMyArray(i)))
    Next i
    
    For i = 0 To UBound(byMyArray)
        Debug.Print byMyArray(i)
    Next i
    
End Sub
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перевод строки в массив данных (ККТ Атол 10)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]