|
anyType в XDTO. Записать набор записей | ☑ | ||
---|---|---|---|---|
0
Zixxx
13.12.21
✎
18:42
|
Пробую записать набор записей через XDTO
Но не получается установить отбор по регистратору При попытке установить значение Value появляется ошибка ЗаписьФильтра_Объект.Value = Документы.ПоступлениеТоваров.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаИдентификатор)); Ошибка отображения типов: Отображение типа 'ДокументСсылка.ПоступлениеТоваров' в тип '{http://www.w3.org/2001/XMLSchema}anySimpleType' Делал сериализацию набора записей в XDTO, значение Value содержит ссылку на документ Фабрика_Тип = ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config", "AccumulationRegisterRecordSet.ТоварыОрганизаций"); Фабрика_Объект = ФабрикаXDTO.Создать(Фабрика_Тип); Запись_Тип = Фабрика_Тип.Свойства.Получить("Record").Тип; Движения = ОбернутьОбъектВМассив(ОбъектXDTO.Движения); Для Каждого СтрокаДвижения Из Движения Цикл Запись_Объект = ФабрикаXDTO.Создать(Запись_Тип); Запись_Объект.Active = Истина; Запись_Объект.Period = СтрокаДвижения.Период; Запись_Объект.RecordType = XMLЗначение(Тип("ВидДвиженияНакопления"), СтрокаДвижения.ВидДвижения); Запись_Объект.Recorder = Документы.ПоступлениеТоваров.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаДвижения.Регистратор)); Запись_Объект.Количество = СтрокаДвижения.Количество; Запись_Объект.Номенклатура = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаДвижения.Номенклатура)); Запись_Объект.Характеристика = Справочники.Характеристики.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаДвижения.Характеристика)); Фабрика_Объект.Record.Добавить(Запись_Объект); КонецЦикла; Фильтр_Тип = ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/enterprise", "Filter"); Фильтр_Объект = ФабрикаXDTO.Создать(Фильтр_Тип); ЗаписьФильтра_Тип = ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/enterprise", "FilterItem"); ЗаписьФильтра_Объект = ФабрикаXDTO.Создать(ЗаписьФильтра_Тип); ЗаписьФильтра_Объект.Name = "Recorder"; ЗаписьФильтра_Объект.Value = Документы.ПоступлениеТоваров.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаИдентификатор)); Фильтр_Объект.FilterItem.Добавить(ЗаписьФильтра_Объект); Фабрика_Объект.Filter = Фильтр_Объект; ЗаписываемыйОбъект = СериализаторXDTO.ПрочитатьXDTO(Фабрика_Объект); ЗаписываемыйОбъект.ОбменДанными.Загрузка = Истина; ЗаписываемыйОбъект.Записать(); |
|||
1
timurhv
13.12.21
✎
18:58
|
||||
2
Fragster
гуру
13.12.21
✎
18:59
|
набор записей, вроде, прям напрямую сериализуется, тупо через СериализаторXDTO.ЗаписатьXML(Набор), не?
|
|||
3
Zixxx
13.12.21
✎
19:05
|
(1) Что это значит?
|
|||
4
Zixxx
13.12.21
✎
19:06
|
(2) Мне нужно создать ОбъектXDTO из произвольных внешних данных и сериализовать его в Набор записей
|
|||
5
Fragster
гуру
13.12.21
✎
19:07
|
Документы.ПоступлениеТоваров.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаДвижения.Регистратор)); - какая-то бессмысленная строка
|
|||
6
Fragster
гуру
13.12.21
✎
19:08
|
тип значения СтрокаДвижения.Регистратор уже должен быть ДокументСсылка
|
|||
7
Fragster
гуру
13.12.21
✎
19:09
|
(4) ничего не понятно. по коду - у тебя там что-то очень похожее на набор записей. он прекрасно сериализуется. и документОбъект прекрасно сериализуется
|
|||
8
Fragster
гуру
13.12.21
✎
19:10
|
еслти нужно получить объектXDTO, то можно воспользоваться не ЗаписатьXML, а ЗаписатьXDTO
|
|||
9
Zixxx
13.12.21
✎
19:14
|
(5) Документы.ПоступлениеТоваров.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаДвижения.Регистратор));
что значит бессмыслица? Так получается ссылка на документ (8) Причем тут Запись, если я Читаю? |
|||
10
timurhv
13.12.21
✎
19:18
|
(9) Где чтение?
>При попытке установить значение Value появляется ошибка >ЗаписьФильтра_Объект.Value = Документы.ПоступлениеТоваров.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаИдентификатор)); |
|||
11
PROGRAM1S
13.12.21
✎
19:20
|
(0) А если так:
Ссылка = Документы.ПоступлениеТоваров.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаИдентификатор)); ТипСсылка = ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config", "DocumentRef.ПоступлениеТоваров"); СсылкаXDTO = ФабрикаXDTO.Создать(ТипСсылка, Ссылка); ЗаписьФильтра_Объект.Value = СсылкаXDTO; |
|||
12
Zixxx
13.12.21
✎
19:22
|
(10) СериализаторXDTO.ПрочитатьXDTO(Фабрика_Объект)
|
|||
13
Zixxx
13.12.21
✎
19:24
|
(11) Все верно, спасибо
|
|||
14
Fragster
гуру
14.12.21
✎
11:11
|
(9) "Так получается ссылка на документ"
из ссылки на документ? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |