diff --git a/modules/sbis.js b/modules/sbis.js index 858aece..ac86a75 100644 --- a/modules/sbis.js +++ b/modules/sbis.js @@ -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}`); }