|   |   | 
| 
 | загрузка справочника из xml | ☑ | ||
|---|---|---|---|---|
| 0
    
        r2d24 23.12.13✎ 16:03 | 
        написал обработку, выгрузил справочник номенклатура в xml- файл. Получилось вот что:
 <?xml version="1.0" encoding="UTF-8" ?> - <Запись_данных> - <Запись_справочника_НОМЕНКЛАТУРА> - <ГРУППЫ> <Номенклатура Код="00000000001" Наименование="Музакальные инструменты" /> <Номенклатура Код="00000000003" Наименование="Электро" /> <Номенклатура Код="00000000002" Наименование="Электронные" /> </ГРУППЫ> - <ЭЛЕМЕНТЫ_СПРАВОЧНИКА> <Номенклатура Код="00000000004" Наименование="Бритва" ВидНоменклатуры="Товар" /> <Номенклатура Код="00000000005" Наименование="Молоток" ВидНоменклатуры="Товар" /> <Номенклатура Код="00000000006" Наименование="Пианино" ВидНоменклатуры="Материал" /> <Номенклатура Код="00000000007" Наименование="Суп" ВидНоменклатуры="Полуфабрикат" /> <Номенклатура Код="00000000008" Наименование="Творог" ВидНоменклатуры="Полуфабрикат" /> </ЭЛЕМЕНТЫ_СПРАВОЧНИКА> </Запись_справочника_НОМЕНКЛАТУРА> </Запись_данных> Выгрузил и группы и элементы справочника. Знаю, что выгрузил не все реквизиты, что бы производить из этого файла загрузку в 1с, но мне пока нужно другое. Ниже я написал код, который читает xml- файл (doc.xml) и создает группы в справочнике номенклатуре Вопрос: какое условие надо написать, что бы из xml- файла, читались и загружались только "ГРУППЫ", а "ЭЛЕМЕНТЫ_СПРАВОЧНИКА" не загружались. ЗагXML = новый ЧтениеXML; ЗагXML.ОткрытьФайл("d:\doc.xml"); Номен = Null; Пока ЗагXML.Прочитать() Цикл Если ЗагXML.ТипУзла=ТипУзлаXML.НачалоЭлемента Тогда //Если ЗагXML.ПолучитьАтрибут("ГРУППЫ") тогда Если ЗагXML.Имя = "Номенклатура" тогда РезПоиска=Справочники.Номенклатура.НайтиПоКоду(ЗагXML.ПолучитьАтрибут("Номенклатура Код")); Если РезПоиска.Пустая() Тогда Номен = Справочники.Номенклатура.СоздатьГруппу(); Номен.Наименование = ЗагXML.ПолучитьАтрибут("Наименование"); //Номен.ВидНоменклатуры = ЗагXML.ПолучитьАтрибут("ВидНоменклатуры"); Номен.Код=ЗагXML.ПолучитьАтрибут("Номенклатура Код"); Номен.Записать(); КонецЕсли; КонецЕсли; //конецесли; КонецЕсли; КонецЦикла; ЗагXML.Закрыть(); Сообщить("загрузка прошла!"); | |||
| 1
    
        1Сергей 23.12.13✎ 16:05 | 
        Переменную ФлагСекцияГруппы заведи     | |||
| 2
    
        х86 23.12.13✎ 16:09 | 
        (0)универсальныйобменданнымиxml.epf     | |||
| 3
    
        r2d24 23.12.13✎ 16:11 | 
        (2) нет, мне нужно написать самому обработку. И в код этой обработки я заглядывал, ничего не понял     | |||
| 4
    
        r2d24 23.12.13✎ 16:12 | 
        (1) можешь показать     | |||
| 5
    
        Wobland 23.12.13✎ 16:13 | 
        (3) всякий пишущий свою выгрузку-загрузку иерархических данных натыкается на разнообразные грабли. не насилуй себя, возьми КД     | |||
| 6
    
        х86 23.12.13✎ 16:16 | 
        (0)При выгрузке добавь Атр ЭтоГруппа, заполни его по Ссылка.ЭтоГруппа
 при загрузке анализируй | |||
| 7
    
        r2d24 23.12.13✎ 16:29 | 
        не, все равно не могу понять, что требуется     | |||
| 8
    
        х86 23.12.13✎ 16:31 | 
        (7)ок,
 какое слово в (6) тебе не понятно? | |||
| 9
    
        r2d24 23.12.13✎ 16:33 | 
        (8) при выгрузке добавил атрибут ЭтоГруппа, но как писать условие при загрузке?     | |||
| 10
    
        х86 23.12.13✎ 16:37 | 
        (9)читаешь атрибут если он истина (или что там у тебя) элемент пропускаешь     | |||
| 11
    
        r2d24 23.12.13✎ 16:41 | 
        (10) я xml начал изучать на прошлой неделе вместе с Excel, так мне просто еще не понятно как работать с этими атрибутами     | |||
| 12
    
        1Сергей 23.12.13✎ 16:43 | 
        (11) у тебя в (0) исполльзуется все необходимые операторы     | |||
| 13
    
        Wobland 23.12.13✎ 16:44 | 
        (11) с кодом и наименованием ты справился, но третий атрибут уже переполняет твой мозг?     | |||
| 14
    
        sapphire 23.12.13✎ 16:47 | 
        (0) Извращенец. 
 Колесо уже изобрели. Давно. | |||
| 15
    
        r2d24 23.12.13✎ 16:49 | 
        Если ЗагXML.ПолучитьАтрибут("ЭтоГруппа")="Да" тогда
 Вот оно. Я почему то был уверен, что нужно что то другое. Ладно, спасибо | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |