Имя: Пароль:
1C
 
Что за элемент в 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 пробелы и переводв строки теряет.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn