v8: Работа с перечислениямиВ статье описаны решения часто встречающихся вопросов по работе с перечислениями.
Источником знаний для данной статью послужили:
forum.mista.ru
ЖКК,
ИТС. | | Автор статьи: Последняя редакция №1 от 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= СсылкаНаПеречислениеCOM.Метаданные().Имя;Переменная = XMLЗначение(Тип("ПеречислениеСсылка."+ИмяПеречисленияCOM),ИмяЗначенияПеречисленияCOM);
разумеется имена перечислений в обоих базах должны быть идентичными.
собственно не претендуя на копирайт, написал это для удобства получения информации начинающим программистам
|