Имя: Пароль:
1C
 
Установка типа значения поля дерева значений.
0 Tolstiy Beremenniy
 
02.10.18
04:41
На форме есть дерево значений. Поле СотрудникКритерий должно
принимать тип справочника либо сотрудники, либо критерии.
В зависимости от уровня ветки дерева. В данный момент никак
не получается установить тип этого поля. И не пойму как это сделать.
У этого поля снята галка выбирать тип и Я пробую его задавать
программно, в процедуре Процедура, -

ДеревоКритериевПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)

    Если Элементы.ДеревоКритериев.ТекущиеДанные.ПолучитьРодителя() = Неопределено Тогда
        Элемент.ТекущийЭлемент.ДоступныеТипы = Новый ОписаниеТипов("СправочникСсылка.Сотрудники");
    Иначе
        Элемент.ТекущийЭлемент.ДоступныеТипы = Новый ОписаниеТипов("СправочникСсылка.C05_КритерииОценкиКачестваРаботыСотрудника");
    КонецЕсли;


Почему поля не устанавливается, задаваемый тип.
Подскажите пожалуйста, что я не так делаю?
1 Tolstiy Beremenniy
 
02.10.18
04:52
В поле не получается совершить выбор значения.
Так как не устанавливается тип.

http://joxi.ru/Vm6O7pxcDQGlq2
2 Tolstiy Beremenniy
 
02.10.18
05:31
Пробую в этой процедуре. То же самое, в поле не могу выбрать тип. Подскажите, пожалуйста как будет правильно?


&НаКлиенте
Процедура ДеревоКритериевСотрудникКритерийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Если Элементы.ДеревоКритериев.ТекущиеДанные.ПолучитьРодителя() = Неопределено Тогда
        Элемент.ДоступныеТипы = Новый ОписаниеТипов("СправочникСсылка.Сотрудники");
        Элементы.ДеревоКритериев.ТекущийЭлемент.ДоступныеТипы  = Новый ОписаниеТипов("СправочникСсылка.Сотрудники");
        //Элемент.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Сотрудники");
    Иначе
        Элемент.ДоступныеТипы = Новый ОписаниеТипов("СправочникСсылка.C05_КритерииОценкиКачестваРаботыСотрудника");
        Элементы.ДеревоКритериев.ТекущийЭлемент.ДоступныеТипы  = Новый ОписаниеТипов("СправочникСсылка.C05_КритерииОценкиКачестваРаботыСотрудника");
        //Элемент.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.C05_КритерииОценкиКачестваРаботыСотрудника");
    КонецЕсли;
КонецПроцедуры
3 DrZombi
 
гуру
02.10.18
06:23
(0) Все не так, задай тип заранее.
Либо предоставь пользователю выбор
4 Tolstiy Beremenniy
 
02.10.18
07:14
(3)  Там у реквизита дерева значений, составной тип.
Строка и 2 справочника. При выборе предоставляется выбор
реквизита для заполнения. Но это же не подходит. в плане
удобства ввода данных.

Получается либо вообще без типа поле оставить, или что бы
была возможность выбора типа данных. А как это сделать программно? Подскажите пожалуйста?

Если ветка дерева верхнего уровня, то выбирается тип
справочника сотрудники. Если подчиненная ей ветка
то тип справочника критерий оценки качества работы сотрудника.
5 Tolstiy Beremenniy
 
02.10.18
07:16
(3) Я же вот вот так пробую задавать, почему это не срабатывает?
6 Мимохожий Однако
 
02.10.18
07:21
(5) Очевидно, неправильно задаёшь
7 Tolstiy Beremenniy
 
02.10.18
07:23
(6) Делал по одному примеру. Там так было приведено.
Подскажите как правильно, пожалуйста? Я ищу решение.
8 Мимохожий Однако
 
02.10.18
07:25
(7)Показывай пример с комментариями
9 Мимохожий Однако
 
02.10.18
07:27
Сделай запрос, чтобы все значения приводились к строке. Тогда не придётся бодаться с типом значений