|
Получить значение объектаXDTO (получить значение элемента XML) |
☑ |
0
uzerp2
16.03.20
✎
15:37
|
на вход подаем ОбъектXDTO
Функция вернутьЗначениеОбъектаXDTO(ОбъектXDTO)
// Создание объекта ЗаписьXML
ЗаписьXML = Новый ЗаписьXML;
// Указываем, что запись производится в строку, а не в файл
ЗаписьXML.УстановитьСтроку();
// При помощи объекта ФабрикаXDTO записываем данные пакета XDTO в запись XML
ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, ОбъектXDTO);
// Получаем текст записи XML
ТекстОбъектаXDTO = ЗаписьXML.Закрыть();
ЧтениеXMLДанных = Новый ЧтениеXML;
ЧтениеXMLДанных.УстановитьСтроку(ТекстОбъектаXDTO);
ЗначениеОбъектаXDTO = Неопределено;
Пока ЧтениеXMLДанных.Прочитать() Цикл
Если ЧтениеXMLДанных.ИмеетЗначение Тогда
ЗначениеОбъектаXDTO = ЧтениеXMLДанных.Значение;
Возврат(ЗначениеОбъектаXDTO);
КонецЕсли;
КонецЦикла;
Возврат(ЗначениеОбъектаXDTO);
КонецФункции
|
|
1
Fragster
гуру
16.03.20
✎
15:48
|
что за онанизм?
|
|
2
Fragster
гуру
16.03.20
✎
15:49
|
ну и куча всяких мелких ошибок типа того, что объект может быть от другой фабрики (не от глобальной), реквизиты объекта могут быть в атрибутах. их может быть больше одного и т.п.
|
|
3
novichok79
16.03.20
✎
15:53
|
(0) а смысл так делать? почему сразу через ПолучитьСписок() или Получить() (точно не помню названия функций) нельзя?
|
|
4
uzerp2
16.03.20
✎
16:46
|
(3)
ну вы так атрибут можете считать (Код) а вот значение (Подразделение Самара) выдернуть например вот отсюда не сможете
<Подразделение Код="1111"> Подразделение Самара </Подразделение>
|
|
5
Fragster
гуру
16.03.20
✎
16:50
|
(4) сможем. во первых, если этот объект XDTO нормально описан, а не просто получен через Фабрика.Прочитать как anyType, то значение получить можно, просто обратившить по имени соответствующего свойства
|
|
6
Fragster
гуру
16.03.20
✎
16:51
|
во вторых, если все-таки работаем без описания пакета, то есть ОбъектXDTO.Последовательность, через которую можно вытащить значение
|
|
7
Fragster
гуру
16.03.20
✎
16:52
|
Лучше, конечно, сделать пакет. там и со списками проблем не будет и работать в целом проще. Жалко, что пакеты XDTO не на 100% совместимы со схемами XSD, но что поделать.
|
|
8
uzerp2
16.03.20
✎
17:21
|
(7)
через последовательность вытаскивается.
Спасибо !
|
|
9
alekosansey
03.04.20
✎
14:09
|
|
|
10
alekosansey
03.04.20
✎
14:10
|
Это ссылка на XDTO файл
|
|