|
Не получается присвоить реквизиту значение перечисления
| ☑ |
0
yur4egg
18.05.15
✎
07:00
|
Запись реквизита справочника из текстового файла. Есть функция, находящая значение перечисления по строковым параметрам:
Функция ПолучитьЗначПеречислПоИмени(ИмяПер,ЗначПер) Экспорт
Элем=Неопределено;
Для каждого ЭлементПеречисления Из Метаданные.Перечисления[ИмяПер].ЗначенияПеречисления Цикл
Если ЭлементПеречисления.Синоним = ЗначПер Тогда
Элем = ЭлементПеречисления;
Прервать;
КонецЕсли;
КонецЦикла;
Возврат Элем;
КонецФункции
ЭлементСправочника.ИмяРеквизита = ПолучитьЗначПеречислПоИмени(ИмяПер,ЗначПер)
В отладчике видно что функция возвращает найденное значение, но реквизит справочника остается пустым. Сообщений об ошибке не возникает. Может какая-то путаница с типами (объекты и ссылки) ?
|
|
1
фобка
18.05.15
✎
07:03
|
Да. "ИмяРеквизита" это строка скорее всего
|
|
2
yur4egg
18.05.15
✎
18:34
|
ИмяРеквизита - это тип ПеречислениеСсылка, а возвращаемое значение - ОбъектМетаданных. Видимо объект надо превратить в ссылку, но как?
|
|
3
Одинесю
18.05.15
✎
18:46
|
(2) Объект.Ссылка?
|
|
4
yur4egg
19.05.15
✎
06:33
|
Я уже пробовал и .Ссылка и .ПолучитьСсылку() применительно к перечислению это не действует
|
|
5
PaulBC
19.05.15
✎
06:38
|
Для ж = 0 По Перечисления[ИмяПер].Количество() - 1 Цикл
Если Перечисления[ИмяПер][ж] = ЗначПер Тогда
...
КонецЕсли;
КонецЦикла;
|
|
6
PaulBC
19.05.15
✎
06:40
|
точнее,
Если Строка(Перечисления[ИмяПер][ж]) = ЗначПер Тогда
|
|