|
Как в табличном поле интерактивно открыть справочник? |
☑ |
0
Галахад
гуру
09.03.21
✎
12:33
|
СписокТипов = Новый Массив;
СписокТипов.Добавить("СправочникСсылка.ААА");
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("ААА", Новый ОписаниеТипов(СписокТипов));
Таблица.Колонки.Добавить("БББ", Новый ОписаниеТипов("СправочникСсылка.ААА"));
ЭлементыФормы.ТабличноеПоле.Значение = Таблица;
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
|
|
1
Галахад
гуру
09.03.21
✎
12:35
|
Если описание типов массив - при выделении, выделяется строка.
Если описание типов справочник - при выделении можно его открыть.
|
|
2
mistеr
09.03.21
✎
12:35
|
(0) Указать для колонки поле ввода, добавить кнопку открытия в поле.
|
|
3
Галахад
гуру
09.03.21
✎
12:36
|
(2) Как?
|
|
4
mistеr
09.03.21
✎
12:48
|
(3) КолонкаТабличногоПоля.УстановитьЭлементУправления
|
|
5
Галахад
гуру
09.03.21
✎
13:21
|
(4) Вот так не взлетело.
Кол = ЭлементыФормы.ТабличноеПоле.Колонки["ААА"];
Кол.УстановитьЭлементУправления(Тип("ПолеВвода"));
Кол.ЭлементУправления.КнопкаОткрытия = Истина;
При открытии открывается строка, а не справочник.
Но все равно, спасибо.
|
|
6
Галахад
гуру
09.03.21
✎
13:22
|
Вопрос решил другим способом. Обошелся без массива типов.
|
|
7
mistеr
09.03.21
✎
13:22
|
(5) Значит в колонке ТЗ у тебя строка, а не ссылка. Решай проблему при заполнении ТЗ.
|
|
8
Галахад
гуру
09.03.21
✎
13:26
|
(7) Нет. Заполняю колонки "ААА" и "БББ" одинаково.
В отладчике вижу, что в строке элементы одинаковые.
А на форме поведение разное.
|
|
9
Галахад
гуру
09.03.21
✎
13:30
|
Собственно и проверить не трудно. На ОФ положить "ТабличноеПоле". И выполнить код:
СписокТипов = Новый Массив;
СписокТипов.Добавить("СправочникСсылка.Пользователи");
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("ААА", Новый ОписаниеТипов(СписокТипов));
Таблица.Колонки.Добавить("БББ", Новый ОписаниеТипов("СправочникСсылка.Пользователи"));
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 10
| Пользователи.Ссылка КАК Ссылка
|ИЗ
| Справочник.Пользователи КАК Пользователи";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НовСтр = Таблица.Добавить();
НовСтр.ААА = Выборка.Ссылка;
НовСтр.БББ = Выборка.Ссылка;
КонецЦикла;
ЭлементыФормы.ТабличноеПоле.Значение = Таблица;
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
Кол = ЭлементыФормы.ТабличноеПоле.Колонки["ААА"];
Кол.УстановитьЭлементУправления(Тип("ПолеВвода"));
Кол.ЭлементУправления.КнопкаОткрытия = Истина;
Кол = ЭлементыФормы.ТабличноеПоле.Колонки["БББ"];
Кол.УстановитьЭлементУправления(Тип("ПолеВвода"));
Кол.ЭлементУправления.КнопкаОткрытия = Истина;
|
|
10
Kondarat
09.03.21
✎
13:45
|
СписокТипов.Добавить(Тип("СправочникСсылка.Пользователи"));
|
|
11
Галахад
гуру
09.03.21
✎
13:47
|
(10) Вот жеж... Спасибо!
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший