|
0
antgenp
10.07.17
✎
11:38
|
Добрый день!
Преамбула проблемы:
ЕГАИС перешел на версию 2 документооборота, немного изменились схемы обмена с УТМ.
Амбула:
хотя 1С во многом постаралась за меня и проблем с переходом на 2-ю версию было немного, есть один косяк сразу на нескольких платформах:
учетной системой полагается, что при получении документа WayBill_v2 узел Transport будет обязательно заполнен, в то время, как в схемах он как раз перестал быть обязательным. Как это выглядит в старой и новой схемах соответственно:
<xs:element name="Transport" type="ns:TransportType" minOccurs="1" maxOccurs="1">
и
<xs:element name="Transport" type="ns:TransportType" minOccurs="0" maxOccurs="1">
т.е. если раньше элемент не был заполнен, то в WayBill была запись
<Transport\>, а сейчас, в новой версии, её не будет, что не даст клиенту с указанной ошибкой в модуле загрузить накладную.
Что хочу сделать:
если это возможно, хотелось бы после получения
ТТНXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "WayBillType_v2"));
ШапкаXDTO = ОбъектXDTOПоИмениСвойства(ПространствоИмен, "Header", ТТНXDTO);
менять для свойства Transport нижнюю границу с 0 на 1. Как это сделать и возможно ли это?
Пытался сделать прямое присвоение
ШапкаXDTO.Тип().Свойства.Получить("Transport").НижняяГраница = 1
получил ошибку, что "Поле объекта недоступно для записи". Так же крутил/вертел метод "Установить", но безрезультатно до сего момента.
Если это сделать это так нельзя, то, возможно, есть какие-то другие красивые способы решения проблемы?
Ссылка на коллекцию свойств, получаемых через ШапкаXDTO.Тип().Свойства:
|
|
|
4
antgenp
10.07.17
✎
13:57
|
(3) я у себя то поправил, у клиентов править не спешат, а каждый раз править руками не хочется
(2) я с XTDO не очень, даже не думал, что схема где-то у меня может хранится, думал, что грузится сама. Сейчас посмотрю - попробую
|
|
|
5
antgenp
10.07.17
✎
14:17
|
(2) (4) Посмотрел, насколько я понял, схема подтягивается автоматом:
ТТНXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "WayBillType_v2"));
здесь ПространствоИмен = ";
|
|
|
6
тарам пам пам
10.07.17
✎
14:36
|
(5) у тебя фабрика ХДТО используется глобальная, судя по всему, т. е. пакеты импортированы прямо в конфигурацию (раздел Общие - XDTO-пакеты). Вот прям там и исправь, кода вообще никакого не нужно.
|
|