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

Как выбрать значение перечисления

Автор Iguanodon, 04 авг 2024, 12:26

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

Iguanodon

Здравствуйте.

Вопрос новичка, наверное очень простой.
Как записать перечисление, понятно:

Ед = Справочники.КлассификаторЕдиницИзмерения
Эл = Ед.СоздатьЭлемент()
Эл.Код = "006"
Эл.Наименование = "Метр"
Эл.ТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.Длина
...
if Эл.ПроверитьЗаполнение()
   Эл.Записать()
endif

А как вытащить ТипИзмеряемойВеличины в виде строки ? Т.е.:

Ед = Справочники.КлассификаторЕдиницИзмерения
Эл = Ед:НайтиПоКоду("006")
ТипСтр = Эл.ТипИзмеряемойВеличины.<как вытащить строку "Длина" ?>

antoneus

Идентификатор нужен или представление?

Iguanodon

Нужно значение представления, т.е. строка "Длина"

antoneus

Ну Строка(Эл.ТипИзмеряемойВеличины) не подходит?

Iguanodon

Цитата: antoneus от 05 авг 2024, 09:17Ну Строка(Эл.ТипИзмеряемойВеличины) не подходит?

Нет, не подходит.

Я подключаюсь к базе 1С через COM-соединение:

CreateObject("v83.Application").Connect(...)

и далее, как я написал

У Эл.ТипИзмеряемойВеличины получается тип данных объект.

Как из этого объекта вытащить его значение в виде строки "Длина" ?

Мне надо записать данные в справочник, а затем аналогично прочитать их. С записью проблем нет, а прочитать Перечисление не получается.

antoneus

Если все в ком-соединении происходит, то так

ЗначениеПеречисления = Соединение.Перечисления.ТипыИзмеряемыхВеличин.Длина;
ИндексЗначенияПеречисления = Соединение.Перечисления.ТипыИзмеряемыхВеличин.Индекс(ЗначениеПеречисления);
ИмяЗначенияПеречисления = Соединение.Метаданные.Перечисления.ТипыИзмеряемыхВеличин.ЗначенияПеречисления[ИндексЗначенияПеречисления].Имя;

LexaK

еще такой вариант есть
ИмяЗначенияПеречисления = Соединение.XMLСтрока(Эл.ТипИзмеряемойВеличины);
если помогло нажмите: Спасибо!

Iguanodon

antoneus,

Нашел способ попроще:
Соединение.XMLString(Эл.ТипИзмеряемойВеличины)

Как раз писал сообщение, и увидел такой же ответ

Всем спасибо

Теги:

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

Рейтинг@Mail.ru

Поиск