Книга знаний

1С:Предприятие / v8 / Объекты конфигурации

v8: Работа с перечислениями

В статье описаны решения часто встречающихся вопросов по работе с перечислениями. Источником знаний для данной статью послужили: forum.mista.ru ЖКК, ИТС.Автор статьи: asady | Редакторы:
Последняя редакция №4 от 13.07.07 | История
URL: http://kb.mista.ru/article.php?id=568

Ключевые слова: Перечисления, значения перечисления, имя значения перечисления


Приемы работы с перечислениями



ИмяПеречисления = СсылкаНаПеречисление.Метаданные().Имя;

КоличествоЗначенийПеречисления=Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления.Количество();

КолекцияЗначенийПеречисления = Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления;
ИндексЗначенияПеречисления=Перечисления[ИмяПеречисления].Индекс(СсылкаНаПеречисление);

ИмяЗначенияПеречисления = Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[ИндексЗначенияПеречисления].Имя
Перебор коллекции значений перечисления
Для каждого знач из КолекцияЗначенийПеречисления Цикл
    Сообщить(знач.Имя);
КонецЦикла;
ПредставлениеПеречисления=Строка(СсылкаНаПеречисление)


полезной будет функция:

Функция ПолучитьИмяЗначенияПеречисления(Ссылка) Экспорт

ИмяПеречисления = Ссылка.Метаданные().Имя;
Индекс = Перечисления[ИмяПеречисления].Индекс(Ссылка);

Возврат Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[Индекс].Имя;

КонецФункции // ПолучитьИмяЗначенияПеречисления()


альтернативный способ получения имени значения перечисления:

ИмяЗначенияПеречисления = XMLстрока(СсылкаНаПеречисление);


Полезный прием для работы с перечислениями при COM соединении с другой ИБ 8.0 (например при обмене данных):

надо передать сслыку на перечисление:
Здесь V8 - COM объект "V8.Application"


ИмяЗначенияПеречисленияCOM= V8.XMLString(СсылкалкаНаПеречислениеCOM);
ПредставлениеПеречисленияCOM= V8.String(СсылкалкаНаПеречислениеCOM);
ИмяПеречисленияCOM= СсылкаНаПеречислениеCOM.Метаданные().Имя;
Переменная = XMLЗначение(Тип("ПеречислениеСсылка."+ИмяПеречисленияCOM),ИмяЗначенияПеречисленияCOM);


разумеется имена перечислений в обоих базах должны быть идентичными.

собственно не претендуя на копирайт, написал это для удобства получения информации начинающим программистам









Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика