Имя: Пароль:
1C
1С v8
Метод Типы() и свойство ТипЗначения - Не работает, почему?
,
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) Пример из Синтаксис-помошника как-то не работает

// Заполнение списка типов документов по указанному элементу формы
// Элемент - элемент формы, имеющий составной тип
СписокТиповДокументов = Новый СписокЗначений;
Для каждого ТипДокумента Из Элемент.ТипЗначения.Типы() Цикл
   ДокументСсылка = Новый(ТипДокумента);
   Имя = ДокументСсылка.Метаданные().Имя;
   Синоним = ДокументСсылка.Метаданные().Синоним;
   СписокТиповДокументов.Добавить(Имя, Синоним);
КонецЦикла;


Элемент.ТипЗначения.Типы()
Ну нет свойства "ТипЗначения" ни на клиенте, ни на сервере
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс