Воскресенье, 05.05.2024
В помощь 1С программисту
Меню сайта
Статистика




Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа

Создать XML

Для этого необходим установленный 4 XML-Parser (обновления Microsoft) и v7plus.dll (доп библиотека 1С), которая лежит в каталоге Базы Данных (БД) или в каталоге, куда была установленна 1С. Все это можно скачать на странице Дополнительные компоненты.
Итак, для начала загрузим v7plus.dll

Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll") <> 1 Тогда
Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "ExtForms\" + "v7plus.dll") <> 1 Тогда
Если ЗагрузитьВнешнююКомпоненту(КаталогПрограммы() + "v7plus.dll") <> 1 Тогда
Предупреждение("Компонента v7plus.dll не найдена!");
Сообщить("Выгрузка в формат XML невозможна!");
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;


Создадим объект и документ

Анализатор = СоздатьОбъект("AddIn.XMLParser");
ДокЭкспорт = Анализатор.СоздатьДокумент();


Далее уже вносяться данные, согласно заданной структуры.

элДокумента = ДокЭкспорт.СоздатьПодчиненныйЭлемент("GLOBAL");
элШапка = элДокумента.СоздатьПодчиненныйЭлемент("HEADER");
элДанные = элШапка.СоздатьПодчиненныйЭлемент("INFO");
элЗначение = элДанные.СоздатьПодчиненныйЭлемент("DATE");
элЗначение.Значение=СтрЗаменить(Формат(РабочаяДата(),"ДДДММГГГГ"),".","");
элЗначение = элДанные.СоздатьПодчиненныйЭлемент("TYPE");
элЗначение.Значение="1";
элЗначение = элДанные.СоздатьПодчиненныйЭлемент("OKPO");
элЗначение.Значение=СокрЛП(Константа.БазФирма.ЕДРПОУ);
элШапка = элДокумента.СоздатьПодчиненныйЭлемент("DATA");
элЗначение = элШапка.СоздатьПодчиненныйЭлемент("ROW");
элДанные = элЗначение.СоздатьПодчиненныйЭлемент("ROWSET");
элДанные.Значение="Заполняем первую строку";
элДанные.УстановитьАтрибут("ROWNUM",1);
элДанные = элЗначение.СоздатьПодчиненныйЭлемент("ROWSET");
элДанные.Значение="Заполняем вторую строку без номера";
элКомент = элШапка.СоздатьПодчиненныйЭлемент("COMMENT");
элКомент.Значение="В шапку DATA можно писать и отсюда";
элДанные = элЗначение.СоздатьПодчиненныйЭлемент("ROWSET");
элДанные.Значение="Заполняем третью строку";
элДанные.УстановитьАтрибут("ROWNUM",3);


Конечно лучше будет не нарушать последовательность заполнения документа - для программы тут особой разницы нет - желаете в середине заполнения тега ROW добавить тег COMMENT, починенный тегу DATA (так как написано в примере) - пожалуйста, ставьте. Либо этот кусок можно описать, последовательно заполняя:

элДанные = элЗначение.СоздатьПодчиненныйЭлемент("ROWSET");
элДанные.Значение="Заполняем первую строку";
элДанные.УстановитьАтрибут("ROWNUM",1);
элДанные = элЗначение.СоздатьПодчиненныйЭлемент("ROWSET");
элДанные.Значение="Заполняем вторую строку без номера";
элДанные = элЗначение.СоздатьПодчиненныйЭлемент("ROWSET");
элДанные.Значение="Заполняем третью строку";
элДанные.УстановитьАтрибут("ROWNUM",3);
элКомент = элШапка.СоздатьПодчиненныйЭлемент("COMMENT");
элКомент.Значение="В шапку DATA можно писать и отсюда";


Ну и не забудьте вконце процедуры записать созданный документ

ДокЭкспорт.Записать("c:\Auto.xml");

В результате получим такой файл.

Поиск
Друзья сайта
  • Доска бесплатных объявлений
  • Как я отдохнул в Крыму
  • Официальный блог
  • Программы для всех
  • FAQ по системе
  • Инструкции для uCoz
  • Спортклуб киокушинкай карате
  • Copyright MyCorp © 2024
    Сделать бесплатный сайт с uCoz