|
Получить значение объекта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 файл
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |