|
Как изменить отбор динамического списка 8.3! | ☑ | ||
---|---|---|---|---|
0
ChAlex
22.10.13
✎
20:05
|
Суть проблемы в следующем: в событии формы "ПриСозданииНаСервере" для динамического списка устанавливается отбор в коллекции: КомпоновщикНастроек.Настройки.Отбор. В событии "ПриОткрытии" этот отбор уже попадает в коллекцию КомпоновщикНастроек.ПользовательскиеНастройки. При открытии нужно переопределить отбор (необходимо потому что на сервере не доступен ВладелецФормы!! а нужно теперь проанализировать владельца и значение установить другое). А дальше заколдованный круг: устанавливаю значение отбора хоть в Настройках, хоть в пользовательских настройках, хоть в обоих сразу - но форма открывается игнорирую эти самы значения. При этом открываем настройки списка - все стоит так как переопределено при открытии формы! Все вступает в силу только по клику "Установить стандартные настройки".
Блин никак не догоню как с этими отборами теперь работать! Задрали по самого немогу - в документации 5 строчек про все! |
|||
1
EvgeniuXP
22.10.13
✎
21:35
|
Динамический список? компоновщик настроек? ты што курил?
|
|||
2
ChAlex
22.10.13
✎
23:28
|
8.3 - если не в курсе
|
|||
3
EvgeniuXP
22.10.13
✎
23:46
|
(3) кури ДинамическийСписок.Отбор.
|
|||
4
EvgeniuXP
22.10.13
✎
23:48
|
а так, через параметры передают отбор :)
|
|||
5
ChAlex
22.10.13
✎
23:48
|
(3)- блин - вы бы хоть одним глазом на 8.3 посмотрели бы, прежде чем отсылать крить.
|
|||
6
EvgeniuXP
22.10.13
✎
23:49
|
ДинамическийСписок.Параметры.УстановитьЗначениеПараметра()
P.S. я в нем и работаю уже год. |
|||
7
ChAlex
22.10.13
✎
23:49
|
(4) ну попробуйте передать через параметры например отбор по виду "Не в списке" или "не равно" ит.п.
|
|||
8
ChAlex
22.10.13
✎
23:51
|
а еще попробуйте поработать когда не нужен отбор, покувыркайтесь с тем как теперь убрать этот самый параметр - ну и придете к полному пониманию когда и чем делать отбор
|
|||
9
EvgeniuXP
22.10.13
✎
23:54
|
ну если КомпоновщикНастроек - а это СКД - кувыркаться там нечего - курить СКД :)
|
|||
10
EvgeniuXP
22.10.13
✎
23:54
|
на курсах про все эти настройки рассказывают.
|
|||
11
ChAlex
22.10.13
✎
23:59
|
уже тошнит от курева.
|
|||
12
ChAlex
22.10.13
✎
23:59
|
только просветления так и не наступает
|
|||
13
Nexux
23.10.13
✎
00:02
|
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора - если используете БСП
|
|||
14
Apokalipsec
23.10.13
✎
00:03
|
(12) на сервере создали уже форму и наложили отбор, соответственно при открытии надо проанализировать и либо сбросить установленные уже отборы и поставить новые, либо ничего не делать.
|
|||
15
ChAlex
23.10.13
✎
00:11
|
(14) - ну так я и устанавливаю новые (При открытии настроек списка эти самые установленные отборы и отображаются) - только список по этм отборам не фильтруется. Или здесь ключевое слово "СБРОСИТЬ"?
|
|||
16
ChAlex
23.10.13
✎
00:12
|
(13) - угу хоть и не используется БСП, но оттуда посмотрел и взял и устаноавливается аналогично как там
|
|||
17
Apokalipsec
23.10.13
✎
00:22
|
(15) именно сбросить.)
|
|||
18
Apokalipsec
23.10.13
✎
00:27
|
// Удаляет элементы группы отбора динамического списка.
// Работает для платформы версии 8.3. // // Параметры: // ДинамическийСписок (ДинамическийСписок) Реквизит формы, для которого требуется установить отбор. // Остальные параметры - см. УдалитьЭлементыГруппыОтбора() // Процедура УдалитьЭлементыГруппыОтбораДинамическогоСписка(ДинамическийСписок, ИмяПоля = Неопределено, Представление = Неопределено) Экспорт |
|||
19
ChAlex
23.10.13
✎
00:33
|
(18) - надо будет с утрица попробовать. Списибо за подсказку. Уже к этому интуитивно подбирался - только не позволила удалить элемен отбора - выдала "отбор используется в пользовательских настройках". Надо будет поковыряться в листинге.
|
|||
20
ChAlex
23.10.13
✎
12:33
|
После танцев с бубнами все-таки поборол таки отборы. Почти уверен что криво, но как-то дальше не охота экспериментировать.
Итак анализ разбора: 1. Если просто изменить значения отборов без их удаления - к эффекту данные действия не приводят - хоть и значения отборов переопределяются и отображаются в форме настроек списка но как их в таком случае программно заставить применить - не нашел. Только интерактивно через "Установить стандартные настройки". 2. Выход только в удалении отбора и повторного его создания. Но и тут есть грабли. Удаление и повторное создание должно проходить в одном контексте (либо на сервере, либо на клиенте) - Ибо если попробовать удалить отбор на сервере вызовом процедуры с клиента - получим "отбор не доступно для записи" (я так понимаю нечто подобное мутабельному значению). Не знаю правильно это или нет, но вывод один - делать все изменения нужно в одном контексте. Не понимаю почему нельзя сделать простым переопределением элементов коллекции а приходится извращаться... дальше без комментариев |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |