Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 12:36

Вытаскивание перечисления через COM

Автор Vasylii, 12 апр 2023, 14:15

0 Пользователей и 1 гость просматривают эту тему.

Vasylii

Использую запрос через ком, почему на ИдексФиз выдает ошибку "Ошибка при вызове метода контекста (Индекс)

по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.20.1674): <Объект не найден>
Произошла исключительная ситуация (1C:Enterprise 8.3.20.1674): <Объект не найден>
"
хотя в другой базе есть такое перечисление в реквизитами такими же и даже в том же порядке

ИндексКласс  = Подключение.Перечисления.КлассОпасности.Индекс(Выборка.КлассОпасности);
ИндексФиз    = Подключение.Перечисления.ФизическаяФормаОтхода.Индекс(Выборка.ФизическаяФорма);

ЗначениеКласса   = Подключение.Метаданные.Перечисления.КлассОпасности.ЗначенияПеречисления.Получить(ИндексКласс).Имя;
ЗначениеФормы    = Подключение.Метаданные.Перечисления.ФизическаяФормаОтхода.ЗначенияПеречисления.Получить(ИндексФиз).Имя;

ТекущийЕдинИзмер = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(Выборка.ЕдиницаИзмерения); 

НовыйДок.Код          = Выборка.Код;
НовыйДок.Наименование = Выборка.Наименование;
НовыйДок.ЕдиницаИзмерения = ТекущийЕдинИзмер;
НовыйДок.КлассОпасности = Перечисления.Систем_КлассОпасности[ЗначениеКласса];
НовыйДок.Плотность = Выборка.Плотность;
НовыйДок.Токсичность = Выборка.Токсичность;
НовыйДок.Пожароопасность = Выборка.Пожароопасность;
НовыйДок.Взрывоопасность = Выборка.Взрывоопасность;
НовыйДок.ВысокаяРеакционнаяСпособность = Выборка.ВысокаяРеакционнаяСпособность;
НовыйДок.СодержаниеВозбудителейИнфекционныхБолезней = Выборка.СодержаниеВозбудителейИнфекционныхБолезней;
НовыйДок.НаличиеМикроорганизмов          = Выборка.НаличиеМикроорганизмов;
НовыйДок.ДругиеОпасныеСвойства          = Выборка.ДругиеОпасныеСвойства;
НовыйДок.ФизическаяФорма = Перечисления.Систем_ФизическаяФормаОтхода[ЗначениеФормы];

LexaK

Полно стандартных приёмов и методов обмена через СОМ соединение, возьмите уже готовые решения или приёмы,не изобретайте отсебятину, тем более не работающую.
если помогло нажмите: Спасибо!

Vasylii

LexaK, я бы тоже так думал но класс опасности работает на отлично но вот проблема с физой почему не понятно, не использовав бы стандартные приемы не пробовал бы изобретать отсебятину

LexaK

Если совпадает состав перечисления попробуйте использовать ХМЛстроку()
если помогло нажмите: Спасибо!

Kvark5d

Vasylii, не особо понял где именно ошибка, но возможно что в
ИндексФиз    = Подключение.Перечисления.ФизическаяФормаОтхода.Индекс(Выборка.ФизическаяФорма);
значение Выборка.ФизическаяФорма = Перечисления.ФизическаяФормаОтхода.пустаяссылка
поэтому Индекс выдает ошибку

Vasylii

Kvark5d, через отладку смотрел попадают туда значения не пустая

Afinogen

для отладки загоните ваш код  в попытку

типа такого

Попытка

Ваш код

Исключение

ТекстОшибки = ОписаниеОшибки()
Сообщить(ТекстОшибки)

КонецПопытки

Похожие темы (5)

Рейтинг@Mail.ru

Поиск