О системах планирования ресурсов предприятия Scala, iScala
“ Если хранимая процедура раньше создавала исправные XML файлы и вдруг перестала, логично предположить, что дело в данных. А что дальше? Дальше всё хорошо :)
  • Главная
    • О проекте
      • Разъяснение о проекте и его участниках
      • Заявление / Memorandum
    • Новости проекта
    • Список опубликованных материалов основного раздела
    • Информация, перенесённая из старых форумов
    • Подписаться на новостную рассылку
  • Статьи
    • Статьи
    • Избранное
    • Мысли вслух
  • Процедуры
  • Доходчиво о сложном
    • Обучение
    • Как сделать?
    • iScala «для чайников»
    • Оч.умелые ручки
  • Структура таблиц
    • Scala 5.1 SR13
    • iScala 2.2 HF 2.3318
    • Tables structure changes history from iScala 2.2 SR2 to iScala 3.0 FSP4
    • Epicor iScala 2.3 — 2.03.3363
    • Epicor iScala 2.3 SR1
    • Epicor iScala 2.3 SR2
    • Epicor iScala 2.3 SR3
    • Epicor iScala 3.00 FSP 2 — 3.00.02254
    • Epicor iScala 3.0 FSP4 — 3.0.4267
    • Изменение структуры таблиц iScala 3.1 по сравнению с iScala 3.0 FSP4 / Table structure changes between iScala 3.0 FSP4 and iScala 3.1
    • Epicor iScala 3.1 — 3.1.0511
    • Epicor iScala 3.2 — 3.2.0317
    • Epicor iScala 3.3 — 3.3.0419
    • Epicor iScala 3.4 — 3.4.0399
    • Epicor iScala 3.5 — 3.5.0.0429
    • Изменение полей в таблицах БД iScala 3.4 по сравнению с iScala 3.2 / Difference between DB structure of iScala 3.4 and iScala 3.2
    • Изменение полей в таблицах БД iScala 3.5 по сравнению с iScala 2.2 / Difference between DB structure of iScala 3.5 and iScala 2.2
  • Материалы по модулям iScala
    • Главная Книга
    • Основные Средства
    • Книга Закупок
    • Книга Продаж
    • Заказы на Закупку
      • Требования
    • Заказы на Продажу
    • Управление Запасами
    • Установка, Администрирование
      • Настройка определений документов MSRS
    • Заработная плата
    • Структура базы данных
    • Отчётность SSRS
    • Отчётность AFR
    • Примеры отчётов
    • Примеры отчётов AFR
    • Интеграция с другими системами
    • Epicor Service Connect
  • English
  • Контакты
  • Поиск
Главная  »»»  Интеграция с другими системами  »»»  Что случилось с XML файлом?

Что случилось с XML файлом?

08.02.2023 Автор Алексей Васильев

Жила была хранимая процедура. Работала во благо клиента. Он её берёг, не запускал понапрасну, только раз в месяц. Она это ценила и исправно создавала XML файлы, которые успешно перерабатывались механизмом Epicor Service Connect и после этого служили пищей для создания проводок Главной книги.

ХП исправно создавала XML файлы, которые успешно перерабатывались механизмом Epicor Service Connect и после этого служили пищей для создания проводок Главной книги

И вдруг что-то сломалось. Прям-таки сказка-страшилка. Почему всё так случилось? В общем, извечные русские вопросы: «Кто виноват?» и «Что делать?»

Показательным для меня является сообщение моего коллеги о том, что событие в трассировке сообщений Epicor Service Connect не возникает, т.е. файл создаётся в нужной папке и тут же исчезает (в результате обработки механизмом входного канала), но никаких следов активности нет. Ну, на счёт следов, я не совсем согласен, сообщение, скорее всего попадает в папку ошибочных входящих сообщений, но это свидетельствует о том, что что-то нехорошее происходит в структуре XML файла. Вообще, проверить, нарушена или нет структура XML файла очень просто. Достаточно просто дважды кликнуть на нём. Обычно при этом вызывается Internet Explorer. Файл, если он корректный, выглядит примерно так:

Вообще, проверить, нарушена или нет структура XML файла очень просто. Достаточно просто дважды кликнуть на нём. Обычно при этом вызывается Internet Explorer. Файл, если он корректный, выглядит примерно так

А присланный мне файл выглядел вот так:

А присланный мне файл выглядел вот так

Сразу понятно, что с ним что-то не так. Скорее всего дело в данных, которые подставляются Хранимой Процедурой. Можно попытаться открыть этот файл какой-то другой программой, например, Microsoft Edge:

Скорее всего дело в данных, которые подставляются Хранимой Процедурой. Можно попытаться открыть этот файл какой-то другой программой, например, Microsoft Edge

Открываем с помощью блокнота, находим строку номер 3674 и видим следующее:

<dta:TransTxt>PO:2700001524-000070-Şirniyyat boşqabı (17 sm) (B&B PLATE) (410.00*31/365)</dta:TransTxt>

Ну, теперь всё ясно. Знак «&» — это зарезервированный символ, его нужно заменить на «&amp;». Это сразу ответ на оба вопроса: Кто виноват? Ну, видимо я — не предусмотрел, что пользователь вобьёт в поле описания спецсимвол. А что делать? — заменять. Причем не только «&» на «&amp;», но и " (двойные кавычки) на «&quot;»

Рубрика: Интеграция с другими системами Метки: T-SQL, xml
VK Telegram

Copyright © 2023 О системах планирования ресурсов предприятия Scala, iScala.

Gammapolis WordPress Theme by ERP & Business Consulting

Прокрутка вверх