diamond АШ Tlg

Доработка 1С УПП для работы на Linux

Скоро конфигурация 1С Управление Производственным Предприятием (УПП 1.3) окончит свой жизненный цикл. Подготовим его к переносу данных.

Для доработки обработки миграции с УПП на ЗУП 3.1 я перенес срез УПП на рабочий компьютер под управлением Linux и сразу столкнулся с проблемами, т.к. разработчики УПП годами не решали проблемы совместимости, никак не вычищая использование COM-Объектов, например библиотек сеймейства MSXML. В частности, страдает обработка Универсальный Обмен Данными XML. Его-то я и буду сейчас лечить.

Ошибка при создании COM-объекта Msxml2.DOMDocument

Открываем модуль обработки Универсальный Обмен Данными XML, находим поиском функцию DOM_НовыйXMLДокумент(), вносим такие изменения:

Функция DOM_НовыйXMLДокумент() Экспорт

    //Попытка
    //    XML = Новый COMОбъект("Msxml2.DOMDocument.4.0");
    //Исключение
    //    Попытка
    //        XML = Новый COMОбъект("Msxml2.DOMDocument.3.0");
    //    Исключение
    //        ЗаписатьВПротоколВыполнения(4);
    //	
    //        УстановитьФлагОшибки(Истина);
    //        Возврат Неопределено;
    //    КонецПопытки;
    //КонецПопытки;

    XML = Новый DOMDocument;

    Возврат XML;

КонецФункции // DOM_НовыйXMLДокумент()

Поиском в Интернете вы найдете много предположений что нужно переписывать много кода, используя ЗаписьXML. Как видите, на самом деле всё предельно просто. Аналогично, если требуется, можно исправить и в обработке Обмен Данными XML.

Кракозябры (ромбики) в протоколе ошибок выгрузки XML

В этом же модуле обработки произведите поиск и замену всех КодировкаТекста.ANSI на КодировкаТекста.UTF8