Имя: Пароль:
1C
1С v8
Атол 10. Ошибка открытия соединения с ККТ
0 Bibr
 
12.06.25
15:31
fptr = Новый COMобъект("AddIn.Fptr10"); //Создаем COM Объект    
    fptr.setSingleSetting(fptr.LIBFPTR_SETTING_PORT, Строка(fptr.LIBFPTR_PORT_USB));
    fptr.applySingleSettings();
    fptr.open();

fptr.open() возвращает -1. Т.е. соединение не установлено.
При этом  COMобъект создаётся без проблем, атолловская приблуда fptr10_t.exe всё видит, тестово всё печатает.
Т.е. как будто проблема с портами, но попробовал и через USB, и через COM таким способом:
                fptr.setSingleSetting(fptr.LIBFPTR_SETTING_MODEL, Строка(fptr.LIBFPTR_MODEL_ATOL_AUTO));
                fptr.setSingleSetting(fptr.LIBFPTR_SETTING_PORT, Строка(fptr.LIBFPTR_PORT_COM));
                fptr.setSingleSetting(fptr.LIBFPTR_SETTING_COM_FILE, "COM4");
                fptr.setSingleSetting(fptr.LIBFPTR_SETTING_BAUDRATE, Строка(fptr.LIBFPTR_PORT_BR_115200));
                fptr.applySingleSettings();    


Во всех вариантах fptr.open() возвращает -1
Чувствую, что проблема дурацкая и решается в один клик, но не пойму, как. Подскажите, кто в теме
1 lubitelxml
 
12.06.25
16:02
(0)  атолловская приблуда fptr10_t.exe всё видит, тестово всё печатает. - если открыта эта приблуда, то порт будет занят. Возможно в этом проблема. Закрой утилиту драйвера, и только потом открывай 1с.
2 Garykom
 
гуру
12.06.25
21:02
У меня вот так прекрасно работает
ОбъектДрайвера = Новый COMобъект("AddIn.Fptr10");

// Подключение по порту USB
ОбъектДрайвера.setSingleSetting(ОбъектДрайвера.LIBFPTR_SETTING_PORT, Строка(ОбъектДрайвера.LIBFPTR_PORT_USB));
//ОбъектДрайвера.setSingleSetting(ОбъектДрайвера.LIBFPTR_SETTING_USB_DEVICE_PATH, "");
ОбъектДрайвера.applySingleSettings();

// Подключение по 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, "COM5");
//ОбъектДрайвера.setSingleSetting(ОбъектДрайвера.LIBFPTR_SETTING_BAUDRATE, Строка(ОбъектДрайвера.LIBFPTR_PORT_BR_115200));
//ОбъектДрайвера.applySingleSettings();

// Соединение с ККТ
ОбъектДрайвера.open();


Учти как написано в (1) порт ККТ должен быть свободен
Первый запуск 1С лучше под админом, обращение с COM объектами это такое

И стандартная проблема не путать клиент и сервер
3 Bibr
 
12.06.25
21:53
(1) ага, именно в этом дело было, нажал выключить в приблуде - сразу всё взлетело.
так и думал, что проблема дурацкая. спасибо