forked from CITKParus/P8-ExchangeService
Функция скачивания печатной формы чека с сервера ОФД
This commit is contained in:
parent
4c1a787b12
commit
af27405432
@ -49,6 +49,13 @@ create or replace package UDO_PKG_EXS_ATOL as
|
|||||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* Îòðàáîòêà îòâåòîâ ÎÔÄ íà çàïðîñ ÷åêà */
|
||||||
|
procedure OFD_PROCESS_GET_BILL_DOC
|
||||||
|
(
|
||||||
|
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||||
|
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||||
|
);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
/
|
/
|
||||||
create or replace package body UDO_PKG_EXS_ATOL as
|
create or replace package body UDO_PKG_EXS_ATOL as
|
||||||
@ -264,6 +271,7 @@ create or replace package body UDO_PKG_EXS_ATOL as
|
|||||||
STAG1077 PKG_STD.TSTRING; -- Áóôåð äëÿ çíà÷åíèÿ "Ôèñêàëüíûé ïðèçíàê äîêóìåíòà" (òýã 1077)
|
STAG1077 PKG_STD.TSTRING; -- Áóôåð äëÿ çíà÷åíèÿ "Ôèñêàëüíûé ïðèçíàê äîêóìåíòà" (òýã 1077)
|
||||||
SERR_CODE PKG_STD.TSTRING; -- Áóôåð äëÿ çíà÷åíèÿ "Êîä îøèáêè"
|
SERR_CODE PKG_STD.TSTRING; -- Áóôåð äëÿ çíà÷åíèÿ "Êîä îøèáêè"
|
||||||
SERR_TEXT PKG_STD.TSTRING; -- Áóôåð äëÿ çíà÷åíèÿ "Òåêñò îøèáêè"
|
SERR_TEXT PKG_STD.TSTRING; -- Áóôåð äëÿ çíà÷åíèÿ "Òåêñò îøèáêè"
|
||||||
|
NNEW_EXSQUEUE PKG_STD.TREF; -- Ðåã. íîìåð çàïèñè î÷åðåäè îáìåíà (äëÿ ñêà÷èâàíèÿ ãîòîâîãî ÷åêà)
|
||||||
begin
|
begin
|
||||||
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
||||||
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
||||||
@ -400,6 +408,15 @@ create or replace package body UDO_PKG_EXS_ATOL as
|
|||||||
'Îøèáêà óñòàíîâêè çíà÷åíèÿ àòðèáóòà ôèñêàëüíîãî äîêóìåíòà: %s',
|
'Îøèáêà óñòàíîâêè çíà÷åíèÿ àòðèáóòà ôèñêàëüíîãî äîêóìåíòà: %s',
|
||||||
sqlerrm);
|
sqlerrm);
|
||||||
end;
|
end;
|
||||||
|
/* Ñòàâèì çàäà÷ó íà ïîëó÷åíèå ÷åêà îò ÎÔÄ */
|
||||||
|
PKG_EXS.QUEUE_PUT(SEXSSERVICE => 'ÎÔÄ_Ïîëó÷×åêà',
|
||||||
|
SEXSSERVICEFN => 'Ïîëó÷×åêà',
|
||||||
|
BMSG => CLOB2BLOB(LCDATA => STAG1041 || '/' || STAG1040 || '/' || STAG1077,
|
||||||
|
SCHARSET => 'UTF8'),
|
||||||
|
NLNK_COMPANY => RFISCDOC.COMPANY,
|
||||||
|
NLNK_DOCUMENT => RFISCDOC.RN,
|
||||||
|
SLNK_UNITCODE => 'UDO_FiscalDocuments',
|
||||||
|
NNEW_EXSQUEUE => NNEW_EXSQUEUE);
|
||||||
end;
|
end;
|
||||||
/* Îøèáêà îáðàáîòêè */
|
/* Îøèáêà îáðàáîòêè */
|
||||||
when SSTATUS_FAIL then
|
when SSTATUS_FAIL then
|
||||||
@ -430,5 +447,28 @@ create or replace package body UDO_PKG_EXS_ATOL as
|
|||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||||
end V4_FFD105_PROCESS_GET_BILL_INF;
|
end V4_FFD105_PROCESS_GET_BILL_INF;
|
||||||
|
|
||||||
|
/* Îòðàáîòêà îòâåòîâ ÎÔÄ íà çàïðîñ ÷åêà */
|
||||||
|
procedure OFD_PROCESS_GET_BILL_DOC
|
||||||
|
(
|
||||||
|
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||||
|
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||||
|
)
|
||||||
|
is
|
||||||
|
REXSQUEUE EXSQUEUE%rowtype; -- Çàïèñü ïîçèöèè î÷åðåäè
|
||||||
|
begin
|
||||||
|
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
||||||
|
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
||||||
|
/* Ïðîâåðèì ÷òî ïîçèöèÿ î÷åðåäè êîððåêòíà */
|
||||||
|
UTL_EXSQUEUE_CHECK_ATTRS(REXSQUEUE => REXSQUEUE);
|
||||||
|
/* Ñîõðàíèì ïîëó÷åííûé ÷åê â ÔÄ */
|
||||||
|
UDO_P_FISCDOCS_PUT_BILL(NRN => REXSQUEUE.LNK_DOCUMENT, NCOMPANY => REXSQUEUE.LNK_COMPANY, BDATA => REXSQUEUE.RESP);
|
||||||
|
/* Âñ¸ ïðîøëî óñïåøíî */
|
||||||
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT);
|
||||||
|
exception
|
||||||
|
when others then
|
||||||
|
/* Âåðí¸ì îøèáêó */
|
||||||
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||||
|
end OFD_PROCESS_GET_BILL_DOC;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
/
|
/
|
||||||
|
@ -674,8 +674,6 @@ const beforeGetBillInfo = async prms => {
|
|||||||
|
|
||||||
//Обработчик "После" отправки запроса на получение информации о чеке серверу "АТОЛ-Онлайн"
|
//Обработчик "После" отправки запроса на получение информации о чеке серверу "АТОЛ-Онлайн"
|
||||||
const afterGetBillInfo = async prms => {
|
const afterGetBillInfo = async prms => {
|
||||||
//if (prms.queue.blResp) console.log(prms.queue.blResp.toString());
|
|
||||||
//else console.log("Сервер не вернул ответ");
|
|
||||||
//Буфер для результата работы обработчика
|
//Буфер для результата работы обработчика
|
||||||
let res = null;
|
let res = null;
|
||||||
//Буфер для данных ответа сервера
|
//Буфер для данных ответа сервера
|
||||||
@ -781,6 +779,32 @@ const afterGetBillInfo = async prms => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Обработчик "До" отправки запроса на получение чека серверу "ОФД"
|
||||||
|
const beforeGetOFDBillDoc = async prms => {
|
||||||
|
//Разберем данные для получения чека
|
||||||
|
let sDocPath = null;
|
||||||
|
if (prms.queue.blMsg) {
|
||||||
|
sDocPath = prms.queue.blMsg.toString();
|
||||||
|
} else {
|
||||||
|
throw new Error("В теле сообщения отсутствуют данные для получения чека фискального документа");
|
||||||
|
}
|
||||||
|
//Собираем общий результат работы
|
||||||
|
let res = {
|
||||||
|
options: {
|
||||||
|
url: buildURL({ sSrvRoot: prms.service.sSrvRoot, sFnURL: prms.function.sFnURL }).replace(
|
||||||
|
"<doc_path>",
|
||||||
|
sDocPath
|
||||||
|
),
|
||||||
|
simple: true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
//Возврат резульатата
|
||||||
|
return res;
|
||||||
|
};
|
||||||
|
|
||||||
|
//Обработчик "После" отправки запроса на получение чека серверу "ОФД"
|
||||||
|
const afterGetOFDBillDoc = async prms => {};
|
||||||
|
|
||||||
//-----------------
|
//-----------------
|
||||||
// Интерфейс модуля
|
// Интерфейс модуля
|
||||||
//-----------------
|
//-----------------
|
||||||
@ -791,3 +815,5 @@ exports.beforeRegBillSIR = beforeRegBillSIR;
|
|||||||
exports.afterRegBillSIR = afterRegBillSIR;
|
exports.afterRegBillSIR = afterRegBillSIR;
|
||||||
exports.beforeGetBillInfo = beforeGetBillInfo;
|
exports.beforeGetBillInfo = beforeGetBillInfo;
|
||||||
exports.afterGetBillInfo = afterGetBillInfo;
|
exports.afterGetBillInfo = afterGetBillInfo;
|
||||||
|
exports.beforeGetOFDBillDoc = beforeGetOFDBillDoc;
|
||||||
|
exports.afterGetOFDBillDoc = afterGetOFDBillDoc;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user