|
Метод Типы() и свойство ТипЗначения - Не работает, почему? |
☑ |
0
GhostTM
24.10.11
✎
14:46
|
Есть внешняя обработка, есть реквизит типа СправочникСсылка
Поле на форме (управляемая)
Пытаюсь сделать Элемент.ТипЗначения - выдает ошибку, мол нет такого свойства (ни на клиенте, ни на сервере)
Элемент.ДопустимыеТипы.Типы() - возвращает пустой массив.
Чего я не так делаю?
|
|
1
Рэйв
24.10.11
✎
14:53
|
ТипЗнч(ИмяРеквизита)
?
|
|
2
GhostTM
24.10.11
✎
14:56
|
В том-то и дело, что надо определить возможные варианты справочников, который можно использовать и в зависимости от условий установить тип, что бы пользователь не выбирал сначала тип, а потом значение.
|
|
3
GhostTM
24.10.11
✎
14:58
|
У Реквизита тип СправочникСсылка, а не СправочникСсылка.Товары или СправочникСсылка.Контрагенты.
Он может принимать и то и другое значение...
На самом деле там вообще составной тип данных, может быть 2 типа справочника и 1 тип документа...
|
|
4
Mort
24.10.11
✎
14:59
|
ОграничениеТипа
|
|
5
GhostTM
24.10.11
✎
15:13
|
(4) Информативно ;)
А детальнее можно?
|
|
6
эцп
24.10.11
✎
15:20
|
(5) Надеюсь, достаточный пример:
Если Реквизит1.Реквизит = Значение Тогда
ЭлементыФормы.Реквизит2.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Справочник1,СправочникСсылка.Справочник2");
ЭлементыФормы.Реквизит2.ВыбиратьТип = Истина;
Иначе
ЭлементыФормы.Реквизит2.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Справочник1");
Если ТипЗнч(Реквизит2) <> Тип("СправочникСсылка.Справочник1") Тогда
Реквизит2 = Справочники.Справочник1.ПустаяСсылка();
КонецЕсли;
ЭлементыФормы.Реквизит2.ВыбиратьТип = Ложь;
КонецЕсли;
|
|
7
GhostTM
24.10.11
✎
15:32
|
Спасибо, бум пробовать
|
|
8
GhostTM
24.10.11
✎
15:34
|
А что же метод Типы() не работает?
Обходные пути найти можно, но интересно, почему не работает заявленный функционал...
|
|
9
эцп
24.10.11
✎
15:46
|
(7) Я вам код привел для толстого клиента
|
|
10
Mort
24.10.11
✎
15:52
|
(8) А что "заявлено" для метода Типы() ?
|
|
11
vmv
24.10.11
✎
15:57
|
в тонком клиенте допустимо оперировать только с "ОписаниеТипов", метод
Типы() элемента описания типов возвращает массив Типов, а не описаний.
типы в тонком недоступны, нужно делать тоньше, просто подумайте)
|
|
12
GhostTM
24.10.11
✎
16:36
|
(10) Пример из Синтаксис-помошника как-то не работает
// Заполнение списка типов документов по указанному элементу формы
// Элемент - элемент формы, имеющий составной тип
СписокТиповДокументов = Новый СписокЗначений;
Для каждого ТипДокумента Из Элемент.ТипЗначения.Типы() Цикл
ДокументСсылка = Новый(ТипДокумента);
Имя = ДокументСсылка.Метаданные().Имя;
Синоним = ДокументСсылка.Метаданные().Синоним;
СписокТиповДокументов.Добавить(Имя, Синоним);
КонецЦикла;
Элемент.ТипЗначения.Типы()
Ну нет свойства "ТипЗначения" ни на клиенте, ни на сервере
|
|