XDTO - Не дает установить значение перечисления #787793


#0 by Madway
Исходные: Две конфигурации с одинаковыми названиями перечислений но отличающимися значениями: Конфигурация 1: Перечисление1 Создаю объект 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 by Madway
Корректировка: Исходные: Две конфигурации с одинаковыми названиями перечислений но отличающимися значениями: Конфигурация 1: Перечисление1 Создаю объект 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 by Defender aka LINN
Соответствие предопределенных значений сделал? ИмяПКО или как оно там в 3 КД - задано?
#3 by Madway
Обмен не через правила конвертации, а через XDTO.
#4 by Жан Пердежон
как объект создаешь?
#5 by Жан Пердежон
Вангую: фабрика у тебя не той системы
#6 by Defender aka LINN
Там тоже "правила" есть какбе
#7 by Defender aka LINN
(+) Или ты совсем свое пилишь?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С