Имя: Пароль:
1C
1С v8
Как выбрать тип из доступных типов? На УФ.
0 vicof
 
18.06.14
15:39
Есть заявка на создание НСИ. Выбираем справочник из метаданных. Заполняем ТЧ реквизитами выбранного справочника также из метаданных.

Как сделать так, чтобы при выборе значения конкретного реквизита, появлялся список типов значений, которые оно может принимать, если тип составной, или пустое значение, если тип простой или ссылочный?

v8: Заявка на ввод нового элемента справочника - вот похожая тема, но решения там не нашел.

&НаКлиенте
Процедура РеквизитыСправочниковЗначениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    ТекущиеДанные = Элементы.РеквизитыСправочников.ТекущиеДанные;
    Элемент.ОграничениеТипа = ВыборСервер(ТекущиеДанные.Реквизит);    
    
КонецПроцедуры

Функция ВыборСервер(Синоним)
    
    ИмяСправочника = ПолучитьИмяСправочникаПоСинониму(Объект.ВидСправочника);
    Реквизиты = Метаданные.Справочники[ИмяСправочника].Реквизиты;
    
    Для Каждого Реквизит из Реквизиты Цикл
        
        Если Реквизит.Синоним = Синоним Тогда
            
            Возврат Реквизит.Тип;
            
        КонецЕсли;
        
    КонецЦикла;
    
КонецФункции

Так работать не хочет
1 vicof
 
18.06.14
16:00
где светлые умы с незамыленными глазами?
2 Адский плющ
 
18.06.14
16:03
Искать по синониму это бред независимо от задачи.
3 vicof
 
18.06.14
16:05
(2) Не обращай внимания. г-код согласован с заказчиком.
4 acsent
 
18.06.14
16:08
Реквизит.Тип.Типы() - массив
5 Адский плющ
 
18.06.14
16:28
(3)  Ограничивать тип нужно до того как пользователь уже нажал на выбор. Например, при начале редактирования строки.

А если заказчик всё таки согласится сделать не через задницу, то можно добавить колонку с описанием типа и тупо указать связь по типу.
6 vicof
 
18.06.14
16:41
(5) Логично, черт побери, перетащил код в при начале редактирования - все заработало, спасибо.
Основная теорема систематики: Новые системы плодят новые проблемы.