Имеем ККТ "Меркурий-119Ф", выпущенную в марте 2017 г.
Для сопряжения с существующим программным обеспечением, написанным на Builder C++, пытаюсь использовать драйвер "Инкотекс: Фискальные регистраторы Меркурий (г. Курск)", версии 2.27.3.
Подсмотрев пример от уважаемого slan здесь: https://forum.incotexkkm.ru/viewtopic.php?p=5568,
написал такой фрагмент для тестирования связи с ККТ:
Variant ECR=CreateOleObject("MercuryCom.FPDrv1C2");
SAFEARRAY *ConnectArray = 0;
ConnectArray = SafeArrayCreateVector(VT_VARIANT, 0, 6);
Variant *pData = 0;
SafeArrayAccessData(ConnectArray, (void**)&pData);
pData[0] = 1; //порт
pData[1] = 4800; //скорость
pData[2] = "0000"; //Пароль
pData[3] = 1; //СекцияДляНаличных
pData[4] = true; //ПечататьНалоги
pData[5] = 0; //Протокол (Инкотекс-Меркурий-ФР)
SafeArrayUnaccessData(ConnectArray);
edtResult->Text = "";
WideString AddDescr = "";
VARIANT_BOOL result = ECR.OleFunction("ТестУстройства", ConnectArray, &AddDescr);
if(result) edtResult->Text = AddDescr; // при успешном подключении - вывод описания устройства
else
{
WideString ResultDescription = "";
int ResultCode = ECR.OleFunction("ПолучитьОшибку", &ResultDescription);
edtResult->Text = String(ResultCode) + ": " + ResultDescription;
}
В результате выполнения данного кода получаем ошибку 65541 "Ошибка связи с устройством".
При этом "Панель управления ККТ" от Инкотекс с устройством работает в полном объеме.
Что я делаю не так?
Обмен с Меркурий-119Ф из Builder C++
Re: Обмен с Меркурий-119Ф из Builder C++
Драйвер 2.27.3 с Меркурий-119Ф (ОФД) работать не будет. Так как он имеет совершенно другой протокол обмена. В настоящее время находится в разработке драйвер для Меркурий-119Ф (ОФД)
Re: Обмен с Меркурий-119Ф из Builder C++
Когда ожидать?
Re: Обмен с Меркурий-119Ф из Builder C++
К концу мая