| 
    
            
         
         | 
    
  | 
Что за элемент в XML? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Zombi    
     10.03.20 
            ✎
    21:28 
 | 
         
        Выгружаю данные в XML по примеру. Вот фрагмент из примера:
 
        <?xml version="1.0" encoding="windows-1251"?> <Документ Идентификатор="a83f0f99-ff26-11e6-8353-2c768aacbc92"> <ЗаголовокДокумента> <ТипДок>ПРХ</ТипДок> <Комиссия>1</Комиссия> <НомерДок>00085299</НомерДок>....... Что такое "<Документ Идентификатор="a83f0f99-ff26-11e6-8353-2c768aacbc92">" во второй строке и как это записать на встроенном языке 1с?  | 
|||
| 
    1
    
        Злопчинский    
     10.03.20 
            ✎
    21:39 
 | 
         
        (0) то что написано - некий идентификатор документа. это может быть как ссылка, по которйо документ идентифицируется в базе (внутренее значение, напрямую недоступное пользователям), так и некий строковый реквизит, в котором записано неконе строкове значение идентфицируеющее документ.
 
        . зависит от контекста обмена. . у тебя - скорее всего 1 случай  | 
|||
| 
    2
    
        Zombi    
     10.03.20 
            ✎
    21:46 
 | 
         
        Что такое уникальный идентификатор я понимаю. Я интересуюсь, как записать это в ХМЛ? То есть "<ЗаголовокДокумента>" я записываю через 
 
        ЗаписьXML.ЗаписатьНачалоЭлемента("ЗаголовокДокумента"); А как "<Документ Идентификатор="a83f0f99-ff26-11e6-8353-2c768aacbc92">" Записать? Идентификатор я уже получил в переменную "ГУИД". Дальше как?  | 
|||
| 
    3
    
        Злопчинский    
     10.03.20 
            ✎
    21:50 
 | 
         
        (2) ну, тут я ХЗ, я по 8-ке не спец.
 
        в XML можно значения можно писать как текст внутри открывающего и закрывающего тэга так и в виде атрибута в теге. в твоем варианте в примере идентификатор - атрибут тега, смотри как атрибуты пишутся...  | 
|||
| 
    4
    
        Zombi    
     10.03.20 
            ✎
    21:55 
 | 
         
        (3) Я пишу так:
 
        ЗаписьXML.ЗаписатьНачалоЭлемента("ЗаголовокДокумента"); // Начало элемента Документа "ПоступлениеТоваров" ЗаписьXML.ЗаписатьАтрибут("ТипДок",Строка("ПРХ")); ЗаписьXML.ЗаписатьАтрибут("Комиссия",Строка("1")); ЗаписьXML.ЗаписатьАтрибут("НомерДок",Строка(ВыборкаСписокНакладных.Ссылка.Номер)); Но при этом пишутся атрибуты внутри тега: <ЗаголовокДокумента> <ТипДок>ПРХ</ТипДок> <Комиссия>1</Комиссия> <НомерДок>00085299</НомерДок>....... Вот как записать атрибут самого открывающего тега, не пойму.  | 
|||
| 
    5
    
        Zombi    
     10.03.20 
            ✎
    22:00 
 | 
         
        ЗаписьXML (XMLWriter)
 
        ЗаписатьНачалоЭлемента (WriteStartElement) Вариант синтаксиса: Запись начала элемента с полным именем элемента Синтаксис: ЗаписатьНачалоЭлемента(<ПолноеИмя>) Параметры: <ПолноеИмя> (обязательный) Тип: Строка. Полное имя записываемого элемента. Может включать префикс. Например: "nsp:weight". Вариант синтаксиса: Запись начала элемента с локальным именем и URI пространства имен Синтаксис: ЗаписатьНачалоЭлемента(<ЛокальноеИмя>, <URIПространстваИмен>) Параметры: <ЛокальноеИмя> (обязательный) Тип: Строка. Локальное имя элемента (без префикса). <URIПространстваИмен> (обязательный) Тип: Строка. URI пространства имен для имени элемента. Описание варианта метода: Соответствие пространства имен должно быть записано при записи вышестоящего элемента или при записи данного элемента. Описание: Записывает начало элемента. Доступность: Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Пример: Запись.ЗаписатьНачалоЭлемента("weight", "http://metrics.org"); Запись.ЗаписатьСоответствиеПространстваИмен("nsp", "http://metrics.org"); Запись.ЗаписатьТекст("12.5"); Запись.ЗаписатьКонецЭлемента(); -------------------------------------------------------------------------------- Методическая информация Может через пространство имен попробовать  | 
|||
| 
    6
    
        Garykom    
     гуру 
    10.03.20 
            ✎
    22:03 
 | 
         
        гыгыгы     
         | 
|||
| 
    7
    
        Garykom    
     гуру 
    10.03.20 
            ✎
    22:05 
 | 
         
        ЗаписьXML.ЗаписатьНачалоЭлемента("Документ");
 
        ЗаписьXML.ЗаписатьАтрибут("Идентификатор", XMLСтрока("a83f0f99-ff26-11e6-8353-2c768aacbc92")); даст нужное тебе <Документ Идентификатор="a83f0f99-ff26-11e6-8353-2c768aacbc92">  | 
|||
| 
    8
    
        Garykom    
     гуру 
    10.03.20 
            ✎
    22:07 
 | 
         
        А вот это
 
        <ТипДок>ПРХ</ТипДок> <Комиссия>1</Комиссия> <НомерДок>00085299</НомерДок> пишется через ЗаписьXML.ЗаписатьНачалоЭлемента("ТипДок"); ЗаписьXML.ЗаписатьТекст(XMLСтрока("ПРХ")); ЗаписьXML.ЗаписатьКонецЭлемента(); И всегда не забывай применять XMLСтрока для снижения количестова/вероятности глюков!  | 
|||
| 
    9
    
        Garykom    
     гуру 
    10.03.20 
            ✎
    22:09 
 | 
         
        Ну и изучить https://helpme1c.ru/chtenie-i-zapis-xml-v-yazyke-1s-8-3-8-2-v-primerax
 
        А так же научиться гуглить уже блин  | 
|||
| 
    10
    
        Zombi    
     10.03.20 
            ✎
    22:27 
 | 
         
        (6) (7) (8) (9) Точно, спасибо!     
         | 
|||
| 
    11
    
        Сияющий в темноте    
     10.03.20 
            ✎
    23:21 
 | 
         
        какого вы текстом строки пишете?
 
        глюков явно не избежать,так как xml пробелы и переводв строки теряет.  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |