Выгрузка в XDTO объектов, ссылающихся друг на друга

1. bytecoded 26 04.12.17 09:20 Сейчас в теме
Пытаюсь выгрузить в XDTO два справочника — Companies и Contracts.

В справочнике Companies есть ссылка на элемент справочника Contracts, и каждый элемент справочника Contracts, в свою очередь, принадлежит элементу справочника Companies.

В XDTO схеме справочники представлены двумя объектами: http://take.ms/8MgSi

Проблема в том, что когда я начинаю сериализировать (например) договор, то по ссылке на владельца пытается выгрузиться контрагент, а у этого контрагента внутри есть ссылка на тот же самый договор. В результате объекты циклически выгружаются, пока не переполняется стек.

Как правильно обойти эту проблему?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. kasper076 112 04.12.17 10:02 Сейчас в теме
(1) В свойство XDTO-объекта выгружается ссылка на объект. Если хочешь по ссылкам выгружать сами объекты, то запоминай, то что уже выгрузил.
2. user623969_dusa 04.12.17 09:31 Сейчас в теме
у одного из объектов поставить не выгружать по ссылке
3. bytecoded 26 04.12.17 09:32 Сейчас в теме
Каким образом? Через схему? Не могу подобрать соответствующего свойства.

Выгрузкой занимается процедура, она всегда выгружает объект по ссылке полностью. Как я понимаю, отсюда проблема. Если взять два других справочника, получается что-то вроде:
			<Ob jects xsi:type="Addresses">
				<Name>OCP Address</Name>
				<ID>c38aa0c1-d64b-11e7-8931-bc5ff491675e</ID>
				<DeletionMark>false</DeletionMark>
				<Owner>
					<Name>OCP</Name>
					<ID>6c02dc1a-a7fa-11e7-b8bc-bc5ff491675e</ID>
					<DeletionMark>false</DeletionMark>
					<FullDescription>OCP</FullDescription>
					<IsFolder>false</IsFolder>
					<Comment/>
				</Owner>
			</Objects>
Показать
Здесь Owner — это ссылка на другой объект схемы. Соответственно, я не могу (как я понимаю) в каком-то из случаев вместо вложенной структуры объекта Owner указать ссылку, т.к. такая структура не пройдет валидацию схемы. Или я неверно понимаю?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот