ЦИТК-551 - поддержка МЧД для расширений "Интеграция с ЭДО СБИС/ДИАДОК"
This commit is contained in:
parent
df6075d4ad
commit
b6c8c067f8
@ -10,13 +10,25 @@
|
||||
const xml2js = require("xml2js"); //Конвертация XML в JSON и JSON в XML
|
||||
const _ = require("lodash"); //Работа с коллекциями и объектами
|
||||
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 };
|
||||
//Конвертируем XML из "Парус 8" в понятный "СБИСу" JSON
|
||||
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 {
|
||||
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