|
XDTO - Не дает установить значение перечисления | ☑ | ||
---|---|---|---|---|
0
Madway
21.12.16
✎
21:20
|
Исходные:
Две конфигурации с одинаковыми названиями перечислений но отличающимися значениями: Конфигурация 1: Перечисление1 - Значение1 - Значение2 Конфигурация 3 Перечисление2 - Значение1 - Значение2 - Значение3 Тип в схеме: <xs:simpleType name="EnumRef.ТипыКасс"> <xs:restriction base="xs:string"> <xs:enumeration value=""/> <xs:enumeration value="Значение1"/> <xs:enumeration value="Значение2"/> <xs:enumeration value="Значение3"/> </xs:restriction> </xs:simpleType> Создаю объект XDTO по своей схеме. Делаю выгрузку данных из Конфигурации 1, где у нас в конфигурации только 2 значения. Заполняю объект XDTO. Вариант1: ОбъектXDTO.Свойство = Значение3Строкой; Выдает ошибку: Ошибка при установке значения атрибута контекста (Перечисление1): Ошибка отображения типов: Отображение лексического значения 'Значение3' в значение типа 'ПеречислениеСсылка.Перечисление1' Не работает. Пытается преобразовать значение в ссылку 1С, не выходит, отваливается в ошибку. ОбъектXDTO.Свойство = Значение2Строкой; Работает. Перобразовал в ссылку 1С, так как нашел ее. Вариант2: Переименовываем(удаляем) объект метеданных Перечисление1 в конфигурации. ОбъектXDTO.Свойство = Значение3Строкой; Записывается без ошибки. Записывается как строка без преобразования. ОбъектXDTO.Свойство = Значение2Строкой; Записывается без ошибки. Записывается как строка без преобразования. Вопрос. Как в данном случае записать в объект XDTO значение перечисления отсутствующее в конфигурации источнике если перечисление с одинаковыми названиями есть в обоих конфигурациях. Пока вопрос решил добавлением значение3 из конфигурации2 в конфигурацию 1, но это однозначно костыль. |
|||
1
Madway
21.12.16
✎
21:22
|
Корректировка:
Исходные: Две конфигурации с одинаковыми названиями перечислений но отличающимися значениями: Конфигурация 1: Перечисление1 - Значение1 - Значение2 Конфигурация 2 Перечисление1 - Значение1 - Значение2 - Значение3 Тип в схеме: <xs:simpleType name="EnumRef.Перечисление1"> <xs:restriction base="xs:string"> <xs:enumeration value=""/> <xs:enumeration value="Значение1"/> <xs:enumeration value="Значение2"/> <xs:enumeration value="Значение3"/> </xs:restriction> </xs:simpleType> Создаю объект XDTO по своей схеме. Делаю выгрузку данных из Конфигурации 1, где у нас в конфигурации только 2 значения перечисления. Заполняю объект XDTO. Вариант1: ОбъектXDTO.Свойство = Значение3Строкой; Выдает ошибку: Ошибка при установке значения атрибута контекста (Перечисление1): Ошибка отображения типов: Отображение лексического значения 'Значение3' в значение типа 'ПеречислениеСсылка.Перечисление1' Не работает. Пытается преобразовать значение в ссылку 1С, не выходит, отваливается в ошибку. ОбъектXDTO.Свойство = Значение2Строкой; Работает. Перобразовал в ссылку 1С, так как нашел ее. Вариант2: Переименовываем(удаляем) объект метеданных Перечисление1 в конфигурации. ОбъектXDTO.Свойство = Значение3Строкой; Записывается без ошибки. Записывается как строка без преобразования. ОбъектXDTO.Свойство = Значение2Строкой; Записывается без ошибки. Записывается как строка без преобразования. Вопрос. Как в данном случае записать в объект XDTO значение перечисления отсутствующее в конфигурации источнике если перечисление с одинаковыми названиями есть в обоих конфигурациях. Пока вопрос решил добавлением значение3 из конфигурации2 в конфигурацию 1, но это однозначно костыль. |
|||
2
Defender aka LINN
21.12.16
✎
22:26
|
Соответствие предопределенных значений сделал?
ИмяПКО или как оно там в 3 КД - задано? |
|||
3
Madway
22.12.16
✎
12:50
|
(2) Обмен не через правила конвертации, а через XDTO.
|
|||
4
Жан Пердежон
22.12.16
✎
12:59
|
как объект создаешь?
|
|||
5
Жан Пердежон
22.12.16
✎
13:04
|
Вангую: фабрика у тебя не той системы
|
|||
6
Defender aka LINN
22.12.16
✎
14:32
|
(3) Там тоже "правила" есть какбе
|
|||
7
Defender aka LINN
22.12.16
✎
14:33
|
(+) Или ты совсем свое пилишь?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |