|
Работа с ККТ АТОЛ из 1С | ☑ | ||
---|---|---|---|---|
0
AntonNo Professional
15.05.19
✎
10:52
|
Здравствуйте! Прошу помощи: люди добрые подскажите, как из 1С (внешняя обработка, например) получить данные из фискальника (АТОЛ) о сумме денежных средств в кассе. Конфигурация Розница 2.2. Спасибо.
|
|||
1
edem911
15.05.19
✎
10:59
|
(0) распечатать Х отчет(из 1С), или посмотреть драйвером атола(не в 1с)
|
|||
2
Garykom
гуру
15.05.19
✎
11:50
|
(0)
var cashSum: Double; begin fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CASH_SUM); fptr.queryData; cashSum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM); end; На язык 1С сам переведешь http://integration.atol.ru/?pascal#57496bb738 |
|||
3
AntonNo Professional
15.05.19
✎
12:14
|
(1) Отчет как раз печатать не нужно
|
|||
4
AntonNo Professional
15.05.19
✎
12:14
|
(2) Подскажите, пожалуйста, как я могу перевести это в язык 1С?
|
|||
5
AntonNo Professional
15.05.19
✎
12:27
|
В тесте драйвера есть запрос: "сумма наличных в денежном ящике". Как из 1С по аналогии обратиться к ФН? Драйвер объект получить нужно или как?
|
|||
6
AntonNo Professional
15.05.19
✎
12:32
|
Функция ПолучитьСуммуВДЯ()
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CASH_SUM); fptr.queryData; СуммаВДЯ = fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM); Возврат СуммаВДЯ; КонецФункции Так что ли? |
|||
7
Garykom
гуру
15.05.19
✎
14:26
|
(6) Почти но сначала надо кое что еще и чуть исправить.
fptr = Новый COMобъект("AddIn.Fptr10"); fptr.setSingleSetting(fptr.LIBFPTR_SETTING_PORT, Строка(fptr.LIBFPTR_PORT_USB)); fptr.applySingleSettings(); fptr.open(); fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CASH_SUM); fptr.queryData(); СуммаВДЯ = fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM); fptr.close(); fptr = Неопределено; |
|||
8
AntonNo Professional
15.05.19
✎
15:06
|
(7) Извините, конечно, но: {ВнешняяОбработка.КонтрольДС.Форма.Форма.Форма(78)}: Ошибка при вызове конструктора (COMОбъект)
fptr = Новый COMОбъект("AddIn.Fptr10"); по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса Может клиент-серверный режим виноват? |
|||
9
AntonNo Professional
15.05.19
✎
15:15
|
(7) точнее на сервере зарегистрировать addin_fptr10_x64.dll ???
|
|||
10
Garykom
гуру
15.05.19
✎
15:23
|
(8) (9) "Драйвер контрольно-кассовой техники v.10 (дККТ10)" поставить, регистрировать dll оно само должно при установке нового драйвера.
Но учти штатный драйвер в 1С (типовой Розница 2) может порт блокировать и не давать работать через другое подключение. |
|||
11
Garykom
гуру
15.05.19
✎
15:23
|
(10)+ Они ВК сделали начиная с какой то версии 10-го драйвера, сча уже не помню
|
|||
12
Garykom
гуру
15.05.19
✎
15:24
|
(11) Т.е. COM обертку для своего драйвера
|
|||
13
Garykom
гуру
15.05.19
✎
15:25
|
COM-объект
Для подключения драйвера как COM-объект необходимо зарегистрировать в системе библиотеку addin_fptr10_x86.dll (addin_fptr10_x64.dll в случае 64-битного приложения) с помощью команды regsvr32.exe. Библиотека может сама обнаружить установленный через инсталлятор драйвер. Также инсталлятор автоматически регистрирует компонент заданной архитектуры в процессе установки. В проекте необходимо создать объект типа ActiveX (или OLE) класса AddIn.Fptr10. В данной документации описаны примеры работы с драйвером в виде OLE-объекта на языке Delphi. |
|||
14
AntonNo Professional
15.05.19
✎
15:28
|
(13) драйвер установил, dll зарегистрировал... хм
|
|||
15
NorthWind
15.05.19
✎
15:28
|
(7) Кстати, вот случайно не знаешь - в восьмерке можно было перечислить все кассы, которые были зарегистрированы на текущей машине, и обратиться к любой по номеру. На тот случай, если было несколько касс. А как такое же провернуть в десятке? Я чет пока не нашел.
|
|||
16
NorthWind
15.05.19
✎
15:29
|
подозреваю, что как-то через сеттинги эти надо делать, но вот как...
|
|||
17
AntonNo Professional
15.05.19
✎
15:30
|
"В проекте необходимо создать объект типа ActiveX (или OLE) класса AddIn.Fptr10" -- это не тоже самое, что и "fptr = Новый COMобъект("AddIn.Fptr10")"?
|
|||
18
NorthWind
15.05.19
✎
15:42
|
(17) да
|
|||
19
AntonNo Professional
15.05.19
✎
15:47
|
(18) Подскажи, как создать? Чтобы строка "fptr = Новый COMобъект("AddIn.Fptr10")" не выдавала ошибку как в (8)
|
|||
20
NorthWind
15.05.19
✎
16:01
|
regsvr32 addin_fptr10_x86.dll под администратором из папки \ATOL\Drivers10\KKT\Langs\com делали?
|
|||
21
NorthWind
15.05.19
✎
16:02
|
платформа 32 или 64 бит? Все правильно сделано, битность платформы совпадает с битностью компоненты?
|
|||
22
AntonNo Professional
15.05.19
✎
16:03
|
(20) Да, делал так: После установки драйвера Атол версии ДТО10 нужно взять из папки Program Files\ATOL\Drivers10\KKT\langs\com и скопировать в системный каталог операционной системы Windows\System32 (Windows\SysWOW64 в случае 64-битного приложения) файл:
addin_fptr10_x86.dll (addin_fptr10_x64.dll в случае 64-битного приложения) После этого для подключения драйвера как COM-объект необходимо зарегистрировать в системе библиотеку addin_fptr10_x86.dll (addin_fptr10_x64.dll в случае 64-битного приложения) с помощью команды regsvr32.exe (файлы можно не копировать системный каталог Windows, а регистрировать их по месту первоначального расположения). |
|||
23
AntonNo Professional
15.05.19
✎
16:04
|
(21) совпадает
|
|||
24
NorthWind
15.05.19
✎
16:09
|
(23) Тогда могу только посочувствовать, у меня работает. Но - у меня 32-битная версия.
|
|||
25
Garykom
гуру
15.05.19
✎
16:10
|
(14) А теперь комп перезагрузи ))
|
|||
26
Garykom
гуру
15.05.19
✎
16:11
|
(15) По портам
Подключение по COM порту, для Window "COM5" или просто "5", для Linux "/dev/ttyS5" или "/dev/ttyACM0" ОбъектДрайвера.setSingleSetting(ОбъектДрайвера.LIBFPTR_SETTING_MODEL, Строка(ОбъектДрайвера.LIBFPTR_MODEL_ATOL_AUTO)); ОбъектДрайвера.setSingleSetting(ОбъектДрайвера.LIBFPTR_SETTING_PORT, Строка(ОбъектДрайвера.LIBFPTR_PORT_COM)); ОбъектДрайвера.setSingleSetting(ОбъектДрайвера.LIBFPTR_SETTING_COM_FILE, "COM23"); ОбъектДрайвера.setSingleSetting(ОбъектДрайвера.LIBFPTR_SETTING_BAUDRATE, Строка(ОбъектДрайвера.LIBFPTR_PORT_BR_115200)); ОбъектДрайвера.applySingleSettings(); |
|||
27
NorthWind
15.05.19
✎
16:12
|
(26) в принципе, вполне себе вариант...
|
|||
28
NorthWind
15.05.19
✎
16:12
|
спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |