ЦИТК-910 - СБИС - поддержка пробелов в атрибутах "Иные получатели" и "Создатель документа" сообщений

This commit is contained in:
Mikhail Chechnev 2024-10-29 19:25:38 +03:00
parent f9bb2193d9
commit e8c49d835a

View File

@ -30,10 +30,24 @@ const tag = [
"Доверенность"
];
// Список имен тегов для замены ([Старое значение], [Новое значение])
const replaceTags = [
['"Иные получатели":', '"ИныеПолучатели":'],
['"Создатель документа":', '"СоздательДокумента":'],
];
//------------
// Тело модуля
//------------
//Замена наименований тегов (для корректной работы toXML)
const replaceTag = (obj) => {
for (let value of replaceTags) {
obj = obj.replace(new RegExp(value[0], 'g'), value[1]);
}
return obj;
};
//Обернуть содержимое тега в массив
const toArray = (obj, tags) => {
for (const prop in obj) {
@ -190,7 +204,7 @@ const afterDocParse = async prms => {
let resu = null;
if (prms.queue.blResp) {
try {
resu = toXML(JSON.parse(prms.queue.blResp.toString()));
resu = toXML(JSON.parse(replaceTag(prms.queue.blResp.toString())));
} catch (e) {
throw new Error(`Неожиданный ответ сервера ЭДО "СБИС". Ошибка интерпретации: ${e.message}`);
}