Вход | Регистрация
 

Как в табличном поле интерактивно открыть справочник?

Как в табличном поле интерактивно открыть справочник?
Я
   Галахад
 
09.03.21 - 12:33
СписокТипов = Новый Массив;
    СписокТипов.Добавить("СправочникСсылка.ААА");
    
    Таблица = Новый ТаблицаЗначений;
    Таблица.Колонки.Добавить("ААА", Новый ОписаниеТипов(СписокТипов));
    Таблица.Колонки.Добавить("БББ", Новый ОписаниеТипов("СправочникСсылка.ААА"));

    ЭлементыФормы.ТабличноеПоле.Значение = Таблица;
    ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
   Галахад
 
1 - 09.03.21 - 12:35
Если описание типов массив - при выделении, выделяется строка.
Если описание типов справочник - при выделении можно его открыть.
   mistеr
 
2 - 09.03.21 - 12:35
(0) Указать для колонки поле ввода, добавить кнопку открытия в поле.
   Галахад
 
3 - 09.03.21 - 12:36
(2) Как?
   mistеr
 
4 - 09.03.21 - 12:48
(3) КолонкаТабличногоПоля.УстановитьЭлементУправления
   Галахад
 
5 - 09.03.21 - 13:21
(4) Вот так не взлетело.

    Кол = ЭлементыФормы.ТабличноеПоле.Колонки["ААА"];
    Кол.УстановитьЭлементУправления(Тип("ПолеВвода"));
    Кол.ЭлементУправления.КнопкаОткрытия = Истина;

При открытии открывается строка, а не справочник.

Но все равно, спасибо.
   Галахад
 
6 - 09.03.21 - 13:22
Вопрос решил другим способом. Обошелся без массива типов.
   mistеr
 
7 - 09.03.21 - 13:22
(5) Значит в колонке ТЗ у тебя строка, а не ссылка. Решай проблему при заполнении ТЗ.
   Галахад
 
8 - 09.03.21 - 13:26
(7) Нет. Заполняю колонки "ААА" и "БББ" одинаково.
В отладчике вижу, что в строке элементы одинаковые.
А на форме поведение разное.
   Галахад
 
9 - 09.03.21 - 13:30
Собственно и проверить не трудно. На ОФ положить "ТабличноеПоле". И выполнить код:

    СписокТипов = Новый Массив;
    СписокТипов.Добавить("СправочникСсылка.Пользователи");
    
    Таблица = Новый ТаблицаЗначений;
    Таблица.Колонки.Добавить("ААА", Новый ОписаниеТипов(СписокТипов));
    Таблица.Колонки.Добавить("БББ", Новый ОписаниеТипов("СправочникСсылка.Пользователи"));
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ ПЕРВЫЕ 10
    |    Пользователи.Ссылка КАК Ссылка
    |ИЗ
    |    Справочник.Пользователи КАК Пользователи";
    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        НовСтр = Таблица.Добавить();
        НовСтр.ААА = Выборка.Ссылка;
        НовСтр.БББ = Выборка.Ссылка;
    КонецЦикла; 
    
    ЭлементыФормы.ТабличноеПоле.Значение = Таблица;
    ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
    
    Кол = ЭлементыФормы.ТабличноеПоле.Колонки["ААА"];
    Кол.УстановитьЭлементУправления(Тип("ПолеВвода"));
    Кол.ЭлементУправления.КнопкаОткрытия = Истина;
    
    Кол = ЭлементыФормы.ТабличноеПоле.Колонки["БББ"];
    Кол.УстановитьЭлементУправления(Тип("ПолеВвода"));
    Кол.ЭлементУправления.КнопкаОткрытия = Истина;
   Kondarat
 
10 - 09.03.21 - 13:45
СписокТипов.Добавить(Тип("СправочникСсылка.Пользователи"));
   Галахад
 
11 - 09.03.21 - 13:47
(10) Вот жеж... Спасибо!

Список тем форума
 
Здесь можно задать вопрос "Как сделать?" и получить кучу ответов, что тебе это делать не надо. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.