Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Кто разобрался с XDOT помогите.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Zlyukka
Кто разобрался с XDOT помогите.

Задача выгрузка налоговой декларации. Ранее никогда с XML не работал. Порывшись в дебрях форума нашёл статейку - почитал. Применил к своей ситуации. Для примера пытаюсь вывести в файл дату. Думаю файл схемы знаком многим.

        ЧСхему=Новый ЧтениеXML;
    //Выбор схемы
    ЧСхему.ОткрытьФайл("D:\Отчеты\Схемы\J1201005.xsd");    
    //Создаем объект дом и загоняем в него схему
    ПостроительДом=Новый ПостроительDOM;
    ДомДок=ПостроительДом.Прочитать(ЧСхему);
    ПостроительСхем=Новый ПостроительСхемXML;
    НСхем=ПостроительСхем.СоздатьСхемуXML(ДомДок);
    НаборСхем=Новый НаборСхемXML;
    НаборСхем.Добавить(НСхем);
    //Создаем фабрику XDTO
    Фабрика=Новый ФабрикаXDTO(НаборСхем);
    
    //-----------------------------------------------------
    ДатаОтчета=ТекущаяДата();
    ГодОтч=Год(ДатаОтчета);
    МесОтч=Месяц(ДатаОтчета);
    
    ОбщКонт=Фабрика.Тип("http://www.w3.org/2001/XMLSchema", "DeclarContent");
    ПГод=Фабрика.Тип("http://www.w3.org/2001/XMLSchema", "PERIOD_YEAR");    
    ПМес=Фабрика.Тип("http://www.w3.org/2001/XMLSchema", "PERIOD_MONTH");        
    Корень=Фабрика.Создать(ОбщКонт);
    
    ПГод=ГодОтч;
    ПМес=МесОтч;
    
    НФ=Новый ЗаписьXML();
    НФ.ОткрытьФайл("D:\Rez\test.xml");
    фабрика.ЗаписатьXML(НФ,Корень,,,,НазначениеТипаXML.Явное);
    НФ.Закрыть();
    ЗапуститьПриложение("D:\Rez\test.xml");


Ругается на
Корень=Фабрика.Создать(ОбщКонт);
Просьба быть снисходительнее только учусь

Есть один странный момент в отладчике переменные которым присваиваются типы светятся как тип «Неопределенно». Отсюда вопрос строчка необходимо зарегистрироваться для просмотра ссылки присутствует только в файле Xsd. Может типы надо дополнительно объявлять в конфигураторе?
Zlyukka
Проблема заключается в том что строчка
ОбщКонт=Фабрика.Тип("http://www.w3.org/2001/XMLSchema", "DeclarContent");
возвращает Неопределено.
Petre
Неверный uri в типе.
Zlyukka
icon_cuss.gif
Цитата(Petre @ 24.09.14, 13:46) необходимо зарегистрироваться для просмотра ссылки
Неверный uri в типе.


ОбщКонт=Фабрика.Тип(фабрика.Пакеты.Получить(0).URIПространстваИмен, "DeclarContent");


Всеравно не помогает

а вот из файлика XSD
<?xml version="1.0" encoding="windows-1251"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:annotation>


Прошу прощения за смайлик
Petre
1с через XDTO работает не со всякими схемами. Если схема загружается в конфигураторе в XDTO-пакет (XDTO-пакеты, Импорт XML-схемы), значит работать с ней можно.
Zlyukka
ага теперь понятно что за лажа.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.