|
Как получить тип значения из реквизита типа метаданных? |
☑ |
0
valeriy vm
16.04.12
✎
16:48
|
Процедура ОтборРеквизитовВыбЗначениеНачалоВыбора(Элемент, СтандартнаяОбработка)
Элемент.ТипЗначения = Новый ОписаниеТипов(Метаданные.Справочники.Номенклатура.Реквизиты.Найти(ЭлементыФормы.ОтборРеквизитов.ТекущаяСтрока.ВыбРеквизит).Тип);
КонецПроцедуры
Как установить типЗначения? известно имя реквизита и тип.
Что не выбирать тип значения в ручную в колонке.
|
|
1
_Demos_
16.04.12
✎
16:51
|
Реквизит = справочник.контры.пустаяссылка()
|
|
2
valeriy vm
16.04.12
✎
16:54
|
нет. у реквизитов справочника может быть разные справочники или даже перечисления или число со строкой.
Я имею список реквизитов справочника, в зависимости от выбора реквизита надо проставить соответствующий типзначения
|
|
3
ptiz
16.04.12
✎
16:57
|
Элемент.ТипЗначения = Метаданные.Справочники.Номенклатура.Реквизиты.Найти(ЭлементыФормы.ОтборРеквизитов.ТекущаяСтрока.ВыбРеквизит).Тип;
|
|
4
valeriy vm
16.04.12
✎
16:59
|
(3){Форма.Форма.Форма(35)}: Ошибка при установке значения атрибута контекста (ТипЗначения)
Элемент.ТипЗначения = Метаданные.Справочники.Номенклатура.Реквизиты.Найти(ЭлементыФормы.ОтборРеквизитов.ТекущаяСтрока.ВыбРеквизит).Тип;
по причине:
Нельзя изменять тип связанного с данными элемента управления
нет тоже
|
|
5
ptiz
16.04.12
✎
17:25
|
Тебе же пишут по-русски: Нельзя изменять тип связанного с данными элемента управления
|
|
6
valeriy vm
16.04.12
✎
18:42
|
(5)и где его отвязать? у этого элемента определенно составной тип данных и ВСЕ! какая еще связь?
|
|
7
ptiz
16.04.12
✎
18:47
|
(6) Ты определись, что нужно. Ограничить тип данных при выборе пользователем? Тогда смотри ОграничениеТипа. Записать пустое значение нужного типа? Тогда просто присваивай это пустое значение.
|
|
8
valeriy vm
16.04.12
✎
18:48
|
()+
|
|
9
valeriy vm
16.04.12
✎
18:48
|
(7)+
|
|
10
valeriy vm
16.04.12
✎
19:11
|
Элемент.ОграничениеТипа = Новый ОписаниеТипов(Метаданные.Справочники.Номенклатура.Реквизиты.Найти(ЭлементыФормы.ОтборРеквизитов.ТекущаяСтрока.ВыбРеквизит).Тип)
попробую завтра так сделать, но смущает следующее: ни где не указывается что это справоникссылка или что-то другое?
вот эта строчка
Метаданные.Справочники.Номенклатура.Реквизиты.Найти(ЭлементыФормы.ОтборРеквизитов.ТекущаяСтрока.ВыбРеквизит).Тип
передает только имя типа значения а сам тип нет, может я заблуждаюсь.
|
|
11
valeriy vm
17.04.12
✎
08:23
|
Вот рабочая процедура получилась:
Процедура ОтборРеквизитовВыбЗначениеНачалоВыбора(Элемент, СтандартнаяОбработка)
Элемент.ОграничениеТипа = Новый ОписаниеТипов(Метаданные.Справочники.Номенклатура.Реквизиты.Найти(ЭлементыФормы.ОтборРеквизитов.ТекущаяСтрока.ВыбРеквизит).Тип);
Значение = Элемент.Значение;
Элемент.Значение = Элемент.ОграничениеТипа.ПривестиЗначение(Значение);
Элемент.ВыбратьТип = ложь;
КонецПроцедуры
то что надо. что-то в хелп не посмотрел)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший