|
Можно ли поменять значения аргументов в xdto? | ☑ | ||
---|---|---|---|---|
0
Веселый собака
19.04.21
✎
14:40
|
Можно ли в полученных таким способом данных или в фабрике изменить определенные аргументы (значения)
СхемаXML = Новый СхемаXML; СхемаXML.РасположениеСхемы = ФайлXsd"; СхемыXML = Новый НаборСхемXML; СхемыXML.Добавить(СхемаXML); ЧтениеXML = Новый ЧтениеXML(); ЧтениеXML.ОткрытьФайл(ФайлXml"); Фабрика = Новый ФабрикаXDTO(СхемыXML); Данные = Фабрика.ПрочитатьXML(ЧтениеXML); тут внести изменения, а потом сделать Запись = Новый ЗаписьXML; Запись.ОткрытьФайл(ВыходнойФайл, Новый ПараметрыЗаписиXML("UTF-8", "1.0", )); Запись.ЗаписатьОбъявлениеXML(); Фабрика.ЗаписатьXML(Запись,Данные); Запись.Закрыть(); И получить измененный xml. |
|||
1
Fragster
гуру
19.04.21
✎
15:02
|
можно
|
|||
2
Веселый собака
19.04.21
✎
15:09
|
(1) Это было бы прекрасно, если бы можно было поменять значение обращаясь к нему через точку, как это мы можем видеть в переменной Данные..
|
|||
3
acht
19.04.21
✎
15:12
|
(2) Что у тебя не получается?
|
|||
4
Веселый собака
19.04.21
✎
15:13
|
(3) изменить "Данные"
|
|||
5
acht
19.04.21
✎
15:17
|
(4) Как у тебя не получается изменить данные?
|
|||
6
Веселый собака
19.04.21
✎
15:19
|
(5) через точку я могу прочитать данные, а вот записать- ругается что это объект
|
|||
7
acht
19.04.21
✎
15:22
|
(6) Какой тип данных у переменной типа "Данные"?
|
|||
8
acht
19.04.21
✎
15:22
|
Тьфу. Тип у "Данные" какой?
|
|||
9
Веселый собака
19.04.21
✎
15:23
|
(8) xdto с таким же типом
|
|||
10
acht
19.04.21
✎
15:24
|
(9) Скриншот показывай. С твоей терминологией это затянется надолго.
|
|||
11
Веселый собака
19.04.21
✎
15:25
|
Просто не хочется варганить рядом еще одну xdto-фабрику для того чтобы заполнять из первой.
Задача вывести на экран- дать отредактировать и записать. (10) минутку |
|||
12
Веселый собака
19.04.21
✎
15:30
|
||||
13
Почему 1С
19.04.21
✎
15:44
|
(12) Данные.DeliveryNote.Carrier.ContactName = "Vasya";
не дает что-ли? |
|||
14
Веселый собака
19.04.21
✎
15:52
|
(13) ошибку дает, что записать нельзя, тип обьектный.
|
|||
15
Веселый собака
19.04.21
✎
15:53
|
Ведь там точно данные есть, раз я их могу записать.. А методов подобраться к ним не вижу.
|
|||
16
Мимохожий Однако
19.04.21
✎
15:54
|
Данные.DeliveryNote.ContactName = "Vasya";
|
|||
17
Веселый собака
19.04.21
✎
16:25
|
(16) см. (14)
|
|||
18
acht
19.04.21
✎
16:25
|
(14) Полностью тип ошибки приведи.
А то окажется сйечас, что там список какой-нибудь или непростое значение |
|||
19
acht
19.04.21
✎
16:25
|
(18) Текст, тьфу
|
|||
20
Веселый собака
19.04.21
✎
16:31
|
(19)
{Форма.Форма.Форма(20)}: Ошибка при установке значения атрибута контекста (MessageID) Данные.MessageHeader.MessageID = Строка(РасхНакладная.Номер); по причине: по причине: Несоответствие типов XDTO: Тип '{http://www.w3.org/2001/XMLSchema}anyType' не найден Значение не может быть установлено свойству, имеющему объектный тип |
|||
21
Веселый собака
19.04.21
✎
16:31
|
(20) + тип Данные.MessageHeader.MessageID - строка
|
|||
22
Веселый собака
19.04.21
✎
16:32
|
т.е. пространство имен типа укажи..
так это делается при создании узла или как его правильно назвать |
|||
23
Веселый собака
19.04.21
✎
16:32
|
(22) точнее, тип
|
|||
24
Веселый собака
19.04.21
✎
16:34
|
(23) но я же не завожу ничего нового, я хочу лишь изменить значение атрибута
|
|||
25
acht
19.04.21
✎
16:35
|
(20) > {http://www.w3.org/2001/XMLSchema}anyType'
Есть подозрение, что у тебя фабрика хдто не привела объект к типу при чтении, потому что состояние чтения XML при чтении не указало нужный тип объекта. Показывай xml и схему, по которой фабрика строится |
|||
26
acht
19.04.21
✎
16:37
|
И ломается оно на типе MessageHeader на самом деле
|
|||
27
Веселый собака
19.04.21
✎
16:43
|
(25) вот и у меня подозрение, что схему не сожрал.
т.к. anyType в таких случаях вроде как и возникает. Сравнение исходной и конечной xml показывает, что верхний уровень пропал, стал anyType Без схемы вроде тоже самое. К сожалению схему не покажу, тут связали нас конфиденциальностью на весь пакет документов (тупо, да?). |
|||
28
Веселый собака
19.04.21
✎
16:44
|
(26) а почему все прекрасно показывает, тот же тип
|
|||
29
acht
19.04.21
✎
16:46
|
(27) Такое обычно происходит из-за пустого целевого пространства имен в XML.
Попробуй в шапку добавить tns по тем данным, что у тебя в схеме прописаны. |
|||
30
Веселый собака
19.04.21
✎
16:46
|
(26) "ломается" на всех простых типах, которые по идее могут быть присвоены
завтра вытяну схему из фабрики xdto, может там пусто |
|||
31
Веселый собака
19.04.21
✎
16:47
|
(29) да, в xml пространства нет, есть только в xsd
|
|||
32
acht
19.04.21
✎
16:53
|
(31) Ну вот оно и не знает, как типы сопоставлять. И не будет знать как тебе обратно в xml записать, кстати.
Попробуй через ДокументDOM какой-нибудь, что-ли |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |