|
Научите открыть управляемую форму списка с установкой пользовательского отбора | ☑ | ||
---|---|---|---|---|
0
TormozIT
гуру
28.04.16
✎
18:09
|
Есть форма списка. Хочу открыть ее так, чтобы в ней сразу установился отбор Поле=Значение, доступный для отключения пользователю.
Как это сделать без изменения формы? Если так сделать нельзя, то как сделать с изменением формы? |
|||
1
TormozIT
гуру
28.04.16
✎
18:23
|
Предполагаю, что возможно получится через
Расширение управляемой формы для динамического списка (Managed form extension for dynamic lists) ПользовательскиеНастройки (UserSettings) Описание: Тип: ПользовательскиеНастройкиКомпоновкиДанных. Пользовательские настройки, которые будут использоваться в основном динамическом списке формы. Но не смог найти примеров его использования в типовых конфигурациях. Есть большие сомнения что задача решается без изменения формы. |
|||
2
Карупян
28.04.16
✎
18:39
|
нужно индетификатор пользовательских настроек задавать, тогда все ок
|
|||
3
TormozIT
гуру
28.04.16
✎
18:41
|
(2) Научи, как это сделать для формы списка, не меняя ее метаданные?
|
|||
4
Карупян
28.04.16
✎
18:42
|
для отчета знаю как
Настройки = Новый НастройкиКомпоновкиДанных; Элемент = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Товар"); Элемент.ИдентификаторПользовательскойНастройки = "Идентификатор"; ПараметрыФормы = Новый Структура("Вариант", Настройки); ОткрытьФорму("Отчет.ОстаткиТоваровНаСкладах.Форма", ПараметрыФормы); |
|||
5
TormozIT
гуру
28.04.16
✎
18:48
|
(4) Осталось понять, как идентификатор пользовательской настройки посадить в настройки компоновки динамического списка.
|
|||
6
mszsuz
28.04.16
✎
19:18
|
ФормаВыбораКонтрагента = ПолучитьФорму("Справочник.Контрагенты.ФормаВыбора");
Список = ФормаВыбораКонтрагента.Список; Список.КомпоновщикНастроек.Настройки.Отбор.Элементы.Очистить(); ЭлементОтбора = Список.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Код"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = "00-000001"; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; Список.КомпоновщикНастроек.Настройки.Отбор.ИдентификаторПользовательскойНастройки = Строка(Новый УникальныйИдентификатор); ФормаВыбораКонтрагента.Открыть(); Отключить отбор можно в Ещё - Настройка списка |
|||
7
TormozIT
гуру
28.04.16
✎
19:21
|
(6) Спасибо.
|
|||
8
Барматолог
28.04.16
✎
19:53
|
надо добавить в базу знаний
|
|||
9
TormozIT
гуру
28.04.16
✎
19:58
|
(6) Немного не универсально из-за того, что идет привязка к имени реквизита списка ("Список").
Еще вопрос. Как получить представление пользовательского и финального отбора? Желательно в виде пути к данным, чтобы сразу в поле формы можно было отобразить. |
|||
10
EvgeniuXP
29.04.16
✎
00:02
|
если уф, можно было сразу передать в форму параметр "Отбор" :)
|
|||
11
EvgeniuXP
29.04.16
✎
00:04
|
хотя и в (6) отработает, но это для извращенцев :)
|
|||
12
bazvan
29.04.16
✎
00:13
|
(6) ипический верталет кто вернулся!!! Не уж то тот самый да еще на снеговика
|
|||
13
mszsuz
29.04.16
✎
02:44
|
(11) Согласен, через Параметры будет правильнее, потому что у формы в ПриСозданииНаСервере() могут выполняться доп.действия на основе полученного Параметры.Отбор
(12) я всегда тут ) |
|||
14
sapphire
29.04.16
✎
07:25
|
(8) Зачем? :)
|
|||
15
TormozIT
гуру
29.04.16
✎
08:28
|
(10),(13) Через параметры формы такая задача как я понял не решается. Поэтому способ (6) - единственный рабочий.
|
|||
16
Franchiser
гуру
29.04.16
✎
10:04
|
Закладка
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |