Добрый день, товарищи. Прошу Вашей помощи новичку с решением задачи.
Задача следующая: создать обработку, которая считывает XML файлы обмена между базами и:

1. Вывести на форму в первой таблице: Список документов(первый дочерний узел).
2. Клацаю на документ из списка и во второй таблице вывожу второй и третий узел для выбранного документа, то есть свойства.

Завис на: когда клацаю на документ, в обработке выбора не могу сообразить как именно вывести список свойств именно для этого документа.

В процедуре: Процедура ТЗНаФормеВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

Если пишу: А = ВыбраннаяСтрока;, то получаю индекс строки, если пишу А = ТЗНаФорме.Получить(ВыбраннаяСтрока); то получаю "ДанныеФормыЭлементКоллекции". По этим параметрам не могу привязаться к конкретному узлу в XML файле, чтоб считать свойства именно для выбранного документа.

```1c
    Процедура загрузки первого окна выглядит так:
    &НаКлиенте
    Процедура Загрузить1(Команда)
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(ВыборФайла);
    ПостроительDOM = Новый ПостроительDOM;
    ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);
    Для Каждого Элемент1 Из ДокументDOM.ЭлементДокумента.ДочерниеУзлы Цикл
    Если Элемент1.ИмяУзла = "Объект" Тогда
    ИмяОбъекта = Элемент1.Атрибуты.ПолучитьИменованныйЭлемент("Тип");
    Если ИмяОбъекта <> Неопределено Тогда
    нСтр1 = ТЗНаФорме.Добавить();
    нСтр1.Документы = ИмяОбъекта.Значение;
    КонецЕСли;
    КонецЕСли;
    КонецЦикла;
    КонецПроцедуры;
```

Подскажите пожалуйста, что писать в "Процедура ТЗНаФормеВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)".
Или, хотя бы как на клиенте при выборе документа получить именно выбранный документ и по нему позиционироваться в считывании XML файла, чтоб считать свойства этого документа.

И еще момент, список документов может содержать одинаковые названия, то есть, привязаться только по текстовому значению ячейки как я понимаю не получится.
---
делать нужно на сервере, тогда и вопросов не будет. Передавай что можешь с клиента.
А так на сервере доступен метод выделенная строка.
---
делать нужно на сервере, тогда и вопросов не будет. Передавай что можешь с клиента.
А так на сервере доступен метод выделенная строка.
---
Закинуть всё в серверную процедуру не проблема. Закинул.
А можете подсказать, как именно использовать метод выделенной строки в моём коде?
---
https://infostart.ru/public/615501/
Не уверен, что правильно вас понял. Возможно эта обработка поможет вам
Обработка облегчает разбор разметки XML и позволяет обращаться с узлами (элементами, тэгами) почти как с объектами, не привлекая XDTO и не описывая формат предварительно. При этом обходится без загрузки всего файла в оперативную память, что позволяет читать файлы любого размера.
---
https://infostart.ru/public/1054960/
Вот еще одно готовое решение, если вам подойдет.Универсальная общая форма просмотра XML в виде реквизитов формыПозволяет просматривать любой XML документ как форму с заполненными реквизитами и упрощает его понимание! Реализация протестирована на 1С 8.3.12.1714 (x64).
---
Такое мне не подойдет и (3) тоже, мне надо доделать свою)
Но спасибо
---
Я бы воспользовался тогда вот этой разработкой все делается правда на сервере.
Это как кирпичик для вашей обработки.
https://infostart.ru/public/562346/

```1c
    Процедура ПоместитьВДерево(Текст)
    Чтение = Новый ЧтениеXML;
    Чтение.УстановитьСтроку(Текст);
    Об = ФабрикаXDTO.ПрочитатьXML(Чтение);

    Строка = Дерево.ПолучитьЭлементы().Добавить();
    Строка.Узел = "Корневой узел";
    ПрочитатьУзел(Об, Строка);
    КонецПроцедуры

    Процедура ПрочитатьУзел(Об, лДерево)
    Если ТипЗнч(Об) = Тип("СписокXDTO") Тогда
    Для Каждого Ст ИЗ Об Цикл
    Строка = лДерево.ПолучитьЭлементы().Добавить();
    Строка.Узел = Об.ВладеющееСвойство;
    Если ТипЗнч(Ст) = Тип("СписокXDTO") ИЛИ ТипЗнч(Ст) = Тип("ОбъектXDTO") Тогда
    ПрочитатьУзел(Ст, Строка);
    Иначе
    Строка.Элемент = Ст;
    КонецЕсли;
    КонецЦикла;
    Иначе
    Для Каждого Ст ИЗ Об.Свойства() Цикл
    Строка = лДерево.ПолучитьЭлементы().Добавить();
    Строка.Узел = Ст.Имя;
    Если ТипЗнч(Об[Ст.Имя]) = Тип("СписокXDTO") ИЛИ ТипЗнч(Об[Ст.Имя]) = Тип("ОбъектXDTO") Тогда
    ПрочитатьУзел(Об[Ст.Имя], Строка);
    Иначе
    Строка.Элемент = Об[Ст.Имя];
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;
    КонецПроцедуры
```
---
Спасибо, тоже было полезно
---
И мне. спасибо.