forked from CITKParus/P8-ExchangeService
ЦИТК-551 - поддержка МЧД для расширений "Интеграция с ЭДО СБИС/ДИАДОК"
This commit is contained in:
parent
df6075d4ad
commit
b6c8c067f8
@ -10,13 +10,25 @@
|
|||||||
const xml2js = require("xml2js"); //Конвертация XML в JSON и JSON в XML
|
const xml2js = require("xml2js"); //Конвертация XML в JSON и JSON в XML
|
||||||
const _ = require("lodash"); //Работа с коллекциями и объектами
|
const _ = require("lodash"); //Работа с коллекциями и объектами
|
||||||
const rqp = require("request-promise"); //Работа с HTTP/HTTPS запросами
|
const rqp = require("request-promise"); //Работа с HTTP/HTTPS запросами
|
||||||
|
const { SMCHD_STORAGE_SYSTEM } = require("./sbis_config"); //Система хранения МЧД
|
||||||
|
|
||||||
//---------------------
|
//---------------------
|
||||||
// Глобальные константы
|
// Глобальные константы
|
||||||
//---------------------
|
//---------------------
|
||||||
|
|
||||||
// Список тегов которые должны содержать массив
|
// Список тегов которые должны содержать массив
|
||||||
const tag = ["Вложение", "Редакция", "ДокументОснование", "ДокументСледствие", "Подпись", "Событие", "Этап", "Действие", "Сертификат"];
|
const tag = [
|
||||||
|
"Вложение",
|
||||||
|
"Редакция",
|
||||||
|
"ДокументОснование",
|
||||||
|
"ДокументСледствие",
|
||||||
|
"Подпись",
|
||||||
|
"Событие",
|
||||||
|
"Этап",
|
||||||
|
"Действие",
|
||||||
|
"Сертификат",
|
||||||
|
"Доверенность"
|
||||||
|
];
|
||||||
|
|
||||||
//------------
|
//------------
|
||||||
// Тело модуля
|
// Тело модуля
|
||||||
@ -132,6 +144,28 @@ const beforeDocParse = async prms => {
|
|||||||
if (!sToken) return { bUnAuth: true };
|
if (!sToken) return { bUnAuth: true };
|
||||||
//Конвертируем XML из "Парус 8" в понятный "СБИСу" JSON
|
//Конвертируем XML из "Парус 8" в понятный "СБИСу" JSON
|
||||||
let obj = await toJSON(prms.queue.blMsg.toString());
|
let obj = await toJSON(prms.queue.blMsg.toString());
|
||||||
|
//В зависимости от режима загрузки определим наименование узла
|
||||||
|
switch (obj.method) {
|
||||||
|
//Подготовка действия
|
||||||
|
case "СБИС.ПодготовитьДействие":
|
||||||
|
//Если требуется использовать МЧД
|
||||||
|
if (obj.params?.Документ?.Этап[0]?.Действие?.Сертификат?.Доверенность !== "undefined") {
|
||||||
|
obj.params.Документ.Этап[0].Действие.Сертификат.Доверенность.СистемаХраненияМЧД = SMCHD_STORAGE_SYSTEM;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
//Выполнение действия
|
||||||
|
case "СБИС.ВыполнитьДействие":
|
||||||
|
//Если требуется использовать МЧД
|
||||||
|
if (obj.params?.Документ?.Этап[0]?.Вложение?.Подпись?.Сертификат?.Доверенность) {
|
||||||
|
obj.params.Документ.Этап[0].Вложение.Подпись.Сертификат.Доверенность.СистемаХраненияМЧД = SMCHD_STORAGE_SYSTEM;
|
||||||
|
} else if (obj.params?.Документ?.Этап[0]?.Вложение[0]?.Подпись?.Сертификат?.Доверенность !== "undefined") {
|
||||||
|
for (i = 0; i < obj.params.Документ.Этап[0].Вложение.length; i++) {
|
||||||
|
obj.params.Документ.Этап[0].Вложение[i].Подпись.Сертификат.Доверенность.СистемаХраненияМЧД = SMCHD_STORAGE_SYSTEM;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
}
|
||||||
//Собираем и отдаём общий результат работы
|
//Собираем и отдаём общий результат работы
|
||||||
return {
|
return {
|
||||||
options: {
|
options: {
|
||||||
|
11
modules/sbis_config.js
Normal file
11
modules/sbis_config.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/*
|
||||||
|
Сервис интеграции ПП Парус 8 с WEB API
|
||||||
|
Дополнительный модуль: Интеграция с ЭДО "СБИС" (SBIS) - настройки
|
||||||
|
*/
|
||||||
|
|
||||||
|
//-----------------
|
||||||
|
// Интерфейс модуля
|
||||||
|
//-----------------
|
||||||
|
|
||||||
|
//Система хранения МЧД
|
||||||
|
exports.SMCHD_STORAGE_SYSTEM = "https://m4d.nalog.gov.ru/EMCHD/check-status";
|
Loading…
x
Reference in New Issue
Block a user