Имя: Пароль:
1C
1С v8
создание пакетов XDTO из файлов XSD
0 galgal
 
30.11.16
11:25
Добрый день, есть несколько файлов XSD для одного и того же пространства имен. Из первого файла прекрасно создается пакет. Когда пытаюсь сделать второй пакет из следующего файла, предлагается выбрать
обновляемые пространства имен, но поскольку мне обновлять не нужно , то я пространство имен не отмечаю.  И после этого ничего не происходит, второй пакет не создается .

в описании :

Импорт схемы XML в глобальную фабрику XDTO

Для того чтобы импортировать схему XML из файла .xsd в глобальную фабрику XDTO, следует выделить в дереве конфигурации ветку XDTO и выполнить команду контекстного меню "Импорт XML-схемы…".

После указания требуемого файла .xsd будет выполнена проверка существования в дереве конфигурации пакетов XDTO, пространства имен которых совпадают с импортируемыми из файла. Если такие пакеты существуют, то будет отображен список этих пакетов и будет предложено указать те пакеты, которые должны быть обновлены (по умолчанию существующие пакеты не обновляются).

После этого будет выполнен импорт, в результате которого новые пакеты XDTO будут добавлены в дерево конфигурации, а пакеты, отмеченные для обновления, будут обновлены.

что я не так делаю?

платформа  (8.3.9.1850)
1 Fragster
 
гуру
30.11.16
11:32
у меня в макете лежит набор схем, создаю фабрику при загрузке файлов так:

    ДанныеМакета = ПолучитьМакет(ИмяМакета);
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла("zip");
    ДанныеМакета.Записать(ИмяВременногоФайла);
    
    Чтение = Новый ЧтениеZipФайла(ИмяВременногоФайла);
    ИмяВременногоКаталога = ПолучитьИмяВременногоФайла("");
    СоздатьКаталог(ИмяВременногоКаталога);
    Чтение.ИзвлечьВсе(ИмяВременногоКаталога, РежимВосстановленияПутейФайловZIP.НеВосстанавливать);
    
    Файлы = НайтиФайлы(ИмяВременногоКаталога, "*.xsd", Истина);
    МассивСхем = Новый Массив();
    Для каждого Файл Из Файлы Цикл
        МассивСхем.Добавить(Файл.ПолноеИмя);
    КонецЦикла;
    Фабрика = СоздатьФабрикуXDTO(МассивСхем);
    
    УдалитьФайлы(ИмяВременногоФайла);
    УдалитьФайлы(ИмяВременногоКаталога);
    
    Возврат Фабрика;


как раз потому, что у них одно пространство имен. ну и обновлять легче - архив со схемами загрузил и все, вместо того, чтобы руками тыкать. их в том архиве несколько десятков.
2 galgal
 
30.11.16
11:44
Спасибо, так даже лучше