Имя: Пароль:
1C
1С v8
XDTO как убрать тип в тэге
, , ,
0 Daluvan
 
05.09.19
10:24
Доброго времени суток
При создании xml
        TYPE = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://service";, "TYPE"));
        TYPE.OTR = типотрасли.Код;
        TYPE.Ani = Тип.код;
        ItemSyr.TYPE = TYPE;
получаю в файле
    <TYPE xsi:type="TYPE>
      <OTR>1</OTR>
      <ANI>0</ANI>
    </TYPE>
Веб сервис не принимает тэг с типом. Есть ли возможность создать элементы фабрикой вот так?    
    <TYPE>
      <OTR>1</OTR>
      <ANI>0</ANI>
    </TYPE>
или ткните ссылкой куда-нибудь
1 palsergeich
 
05.09.19
10:25
(0) Стр заменить
2 palsergeich
 
05.09.19
10:25
Не смотря на то что стандарт позволяет не указывать тип, 1с реализация это не может.
3 Daluvan
 
05.09.19
10:27
(1) стр заменить первое что пришло в голову так не пойдет - слишком файл большой
4 palsergeich
 
05.09.19
10:29
(3) потоковое чтение.
Увы и ах.
Можно написать в 1с и тебе расскажут что ты неправильно кнопки жмешь.
5 Daluvan
 
05.09.19
10:32
Мда придется так писать
    Запись.ЗаписатьНачалоЭлемента("TYPE");
    Запись.ЗаписатьБезОбработки("<OTR>"+Типотрасли.Код+"</OTR>");
    Запись.ЗаписатьБезОбработки("<ANI>"+Тип.Код+"</ANI>");
    Запись.ЗаписатьКонецЭлемента();
Жесть
6 EvilBeaver
 
05.09.19
11:06
Чтобы убрать тип в теге нужно правильно типизировать объект в схеме XML. Если у вас  <TYPE/> не строго типизирован, то будет записан конкретный тип. А как иначе вы собрались это обратно считывать, если тип "любой"?
7 Daluvan
 
05.09.19
11:22
(6) Схему предоставляет сервис. Пробовал её править - без типа фабрика не работает.
8 palsergeich
 
05.09.19
11:32
(6) я пробовал и со строгой типизацией - не летело, может конечно что и поменялось
9 Daluvan
 
05.09.19
11:42
(8) на какой версии платформы работаете?
10 palsergeich
 
05.09.19
11:47
(9) 8.3.10 что ли была года пробовал, но не последняя
Ошибка? Это не ошибка, это системная функция.