Как изменить отбор динамического списка 8.3! #685368


#0 by ChAlex
Суть проблемы в следующем: в событии формы "ПриСозданииНаСервере" для динамического списка устанавливается отбор в коллекции: КомпоновщикНастроек.Настройки.Отбор. В событии "ПриОткрытии" этот отбор уже попадает в коллекцию КомпоновщикНастроек.ПользовательскиеНастройки. При открытии нужно переопределить отбор (необходимо потому что на сервере не доступен ВладелецФормы!! а нужно теперь проанализировать владельца и значение установить другое). А дальше заколдованный круг: устанавливаю значение отбора хоть в Настройках, хоть в пользовательских настройках, хоть в обоих сразу - но форма открывается игнорирую эти самы значения. При этом открываем настройки списка - все стоит так как переопределено при открытии формы! Все вступает в силу только по клику "Установить стандартные настройки". Блин никак не догоню как с этими отборами теперь работать! Задрали по самого немогу - в документации 5 строчек про все!
#1 by EvgeniuXP
Динамический список? компоновщик настроек? ты што курил?
#2 by ChAlex
8.3 - если не в курсе
#3 by EvgeniuXP
кури ДинамическийСписок.Отбор.
#4 by EvgeniuXP
а так, через параметры передают отбор :)
#5 by ChAlex
- блин - вы бы хоть одним глазом на 8.3 посмотрели бы, прежде чем отсылать крить.
#6 by EvgeniuXP
ДинамическийСписок.Параметры.УстановитьЗначениеПараметра P.S. я в нем и работаю уже год.
#7 by ChAlex
ну попробуйте передать через параметры например отбор по виду "Не в списке" или "не равно" ит.п.
#8 by ChAlex
а еще попробуйте поработать когда не нужен отбор, покувыркайтесь с тем как теперь убрать этот самый параметр - ну и придете к полному пониманию когда и чем делать отбор
#9 by EvgeniuXP
ну если КомпоновщикНастроек - а это СКД - кувыркаться там нечего - курить СКД :)
#10 by EvgeniuXP
на курсах про все эти настройки рассказывают.
#11 by ChAlex
уже тошнит от курева.
#12 by ChAlex
только просветления так и не наступает
#13 by Nexux
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора - если используете БСП
#14 by Apokalipsec
на сервере создали уже форму и наложили отбор, соответственно при открытии надо проанализировать и либо сбросить установленные уже отборы и поставить новые, либо ничего не делать.
#15 by ChAlex
- ну так я и устанавливаю новые (При открытии настроек списка эти самые установленные отборы и отображаются) - только список по этм отборам не фильтруется. Или здесь ключевое слово "СБРОСИТЬ"?
#16 by ChAlex
- угу хоть и не используется БСП, но оттуда посмотрел и взял и устаноавливается аналогично как там
#17 by Apokalipsec
именно сбросить.)
#18 by Apokalipsec
#19 by ChAlex
- надо будет с утрица попробовать. Списибо за подсказку. Уже к этому интуитивно подбирался - только не позволила удалить элемен отбора - выдала "отбор используется в пользовательских настройках". Надо будет поковыряться в листинге.
#20 by ChAlex
После танцев с бубнами все-таки поборол таки отборы. Почти уверен что криво, но как-то дальше не охота экспериментировать. Итак анализ разбора: 1. Если просто изменить значения отборов без их удаления - к эффекту данные действия не приводят - хоть и значения отборов переопределяются и отображаются в форме настроек списка но как их в таком случае программно заставить применить - не нашел. Только интерактивно через "Установить стандартные настройки". 2. Выход только в удалении отбора и повторного его создания. Но и тут есть грабли. Удаление и повторное создание должно проходить в одном контексте (либо на сервере, либо на клиенте) - Ибо если попробовать удалить отбор на сервере вызовом процедуры с клиента - получим "отбор не доступно для записи" (я так понимаю нечто подобное мутабельному значению). Не знаю правильно это или нет, но вывод один - делать все изменения нужно в одном контексте. Не понимаю почему нельзя сделать простым переопределением элементов коллекции а приходится извращаться... дальше без комментариев
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С