Процесс интеграции с электронным кассиром CM18 - CashBox

CASHBOX
SMART
Перейти к контенту

Главное меню:




БЫСТРАЯ ИНТЕГРАЦИЯ





• Непосредственный вызов процедур в БД
• XML-RPC на основе протокола TCP
• С использованием веб службы по протоколу SOAP


СИНХРОННЫЙ И АСИНХРОННЫЙ РЕЖИМ
SMARTCASHBOX возможно интегрировать с любой банковской системой.

Готовое решение для систем на Progress 4GL.

ПРИНЦИПЫ ИНТЕГРАЦИИ
Как правило, процесс создания транзакции в любой АБС состоит из двух шагов - формирование транзакции (проводки) и её штамп (фиксация). Запрос в систему SMARTCASHBOX должен быть отправлен до штампа транзакции и по результату работы программы, принимается решение о штампе транзакции или её отмене. Условно результат может содержать 3 варианта ответа:
  1. Команда принята
  2. Команда выполнена
  3. Ошибка выполнения

При асинхронном режиме работы возврат в вызывающую программу (АБС) происходит сразу после вызова, поэтому процесс штампа транзакции в АБС должен блокироваться до получения ответа об успешном выполнении операции.

Описанные ниже примеры интеграции представлены на языке С++, но могут быть реализованы на любом языке программирования поддерживающем сетевые протоколы.

Самый простой способ интеграции - вызов хранимой процедуры в базе данных системы. Для этого достаточно вызвать процедуру на SQL сервере с определенными параметрами и обработать ответ. Параметры передаваемые в функцию:
  • Логин пользователя
  • Идентификатор операции
  • Номер счёта
  • Тип операции (дебет/кредит)
  • Сумма
  • Валюта
  • Примечание

ADOStoredProc = new TADOStoredProc(this);
ADOStoredProc->Connection = ADOConnection;
ADOStoredProc->ProcedureName = "TrxGen";
ADOStoredProc->Parameters->Clear();
ADOStoredProc->Parameters->CreateParameter("@rez",ftInteger,pdOutput,10,0);
ADOStoredProc->Parameters->CreateParameter("@docno",ftString,pdInput,50,DocNo);
ADOStoredProc->Parameters->CreateParameter("@user",ftString,pdInput,50,User);
ADOStoredProc->Parameters->CreateParameter("@oper",ftString,pdInput,50,Oper);
ADOStoredProc->Parameters->CreateParameter("@acc",ftString,pdInput,50,Acc);
ADOStoredProc->Parameters->CreateParameter("@crc",ftString,pdInput,10,CRC);
ADOStoredProc->Parameters->CreateParameter("@summ",ftFloat,pdInput,10,Summ.ToDouble());
ADOStoredProc->Parameters->CreateParameter("@rem",ftWideString,pdInput,Rem.Length(),Rem);
ADOStoredProc->Prepared = true;
ADOStoredProc->ExecProc();
Rez = ADOStoredProc->Parameters->ParamByName("@rez")->Value;

Также, есть возможность подключения через обычный TCP сокет или использовать веб сервис входящий в состав системы. При этом возможен синхронный режим работы. Это значит, что до завершения операции в SMARTCASHBOX, управление не вернется в вызывающую программу. Настройки таймаутов при таком режиме работы осуществляются в программе администрирования.

Для соединения через TCP сокет необходимо сформировать строку запроса в виде XML данных и передать по используемому порту:

TClientSocket *Socket=NULL;
 TWinSocketStream *SocketStream = NULL;
 try{
 try{
Socket = new TClientSocket(NULL);
Socket->ClientType = ctBlocking;
Socket->Host = CBServerName;
Socket->Port = CBServerPort;
Socket->Open();
if(Socket->Active)
{
SocketStream = new TWinSocketStream(Socket->Socket, OperTime);
SocketStream->Write(Request.data(),wcslen(Request.c_str())*sizeof(wchar_t));
if(Socket->Socket->Connected)
{
  ZeroMemory(BUFF,BUFFSIZE);
  while(SocketStream->Read(BUFF,BUFFSIZE-2))
  {
 Response+=UnicodeString((wchar_t*)BUFF);
 ZeroMemory(BUFF,BUFFSIZE);
  }
}
Socket->Close();
 }
}catch(Exception &e)
{
 Response =  UnicodeString(e.ErrCod) ;
}
 }__finally{
    if(SocketStream!=NULL)delete SocketStream;
  if(Socket!=NULL)delete Socket;
}

 
При использовании веб сервиса, wsdl можно получить на сервере с установленной программой по адресу:
http://ip адрес сервера:65531/wsdl/IISmartSafeConnector

При установке программы TCP и SOAP сервисы активированы и работают. После выбора способа интеграции отключите неиспользуемые коннекторы.
ПРИМЕРЫ ИНТЕГРАЦИИ
Для облегчения процесса интеграции мы подготовили программу для проверки и тестирования SmartCashBox Tester. Запустите программу, подключитесь к SQL серверу и нажмите кнопку Проверка адаптеров.



При соединении с адаптерами, на вкладке Операции, вы можете сформировать операции на прием и выдачу наличных через ЭКР, а также протестировать все способы интеграции с системой.



Исходный код программы SmartCashBox Tester предоставляется.
ПОПРОБУЙТЕ SMARTCASHBOX
+7 (777) 228-52-44
Разработка программного обеспечения
manager@smartsoft.kz
Назад к содержимому | Назад к главному меню