Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

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

Как изменить отбор динамического списка 8.3!
Я
   ChAlex
 
22.10.13 - 20:05
Суть проблемы в следующем: в событии формы "ПриСозданииНаСервере" для динамического списка устанавливается отбор в коллекции: КомпоновщикНастроек.Настройки.Отбор. В событии "ПриОткрытии" этот отбор уже попадает в коллекцию КомпоновщикНастроек.ПользовательскиеНастройки. При открытии нужно переопределить отбор (необходимо потому что на сервере не доступен ВладелецФормы!! а нужно теперь проанализировать владельца и значение установить другое). А дальше заколдованный круг: устанавливаю значение отбора хоть в Настройках, хоть в пользовательских настройках, хоть в обоих сразу - но форма открывается игнорирую эти самы значения. При этом открываем настройки списка - все стоит так как переопределено при открытии формы! Все вступает в силу только по клику "Установить стандартные настройки".

Блин никак не догоню как с этими отборами теперь работать! Задрали по самого немогу - в документации 5 строчек про все!
 
 
   EvgeniuXP
 
1 - 22.10.13 - 21:35
Динамический список? компоновщик настроек? ты што курил?
   ChAlex
 
2 - 22.10.13 - 23:28
8.3 - если не в курсе
   EvgeniuXP
 
3 - 22.10.13 - 23:46
(3) кури ДинамическийСписок.Отбор.
   EvgeniuXP
 
4 - 22.10.13 - 23:48
а так, через параметры передают отбор :)
   ChAlex
 
5 - 22.10.13 - 23:48
(3)- блин - вы бы хоть одним глазом на 8.3 посмотрели бы, прежде чем отсылать крить.
   EvgeniuXP
 
6 - 22.10.13 - 23:49
ДинамическийСписок.Параметры.УстановитьЗначениеПараметра()

P.S. я в нем и работаю уже год.
   ChAlex
 
7 - 22.10.13 - 23:49
(4) ну попробуйте передать через параметры например отбор по виду "Не в списке" или "не равно" ит.п.
   ChAlex
 
8 - 22.10.13 - 23:51
а еще попробуйте поработать когда не нужен отбор, покувыркайтесь с тем как теперь убрать этот самый параметр - ну и придете к полному пониманию когда и чем делать отбор
   EvgeniuXP
 
9 - 22.10.13 - 23:54
ну если КомпоновщикНастроек - а это СКД - кувыркаться там нечего - курить СКД :)
   EvgeniuXP
 
10 - 22.10.13 - 23:54
на курсах про все эти настройки рассказывают.
   ChAlex
 
11 - 22.10.13 - 23:59
уже тошнит от курева.
   ChAlex
 
12 - 22.10.13 - 23:59
только просветления так и не наступает
   Nexux
 
13 - 23.10.13 - 00:02
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора - если используете БСП
   Apokalipsec
 
14 - 23.10.13 - 00:03
(12) на сервере создали уже форму и наложили отбор, соответственно при открытии надо проанализировать и либо сбросить установленные уже отборы и поставить новые, либо ничего не делать.
   ChAlex
 
15 - 23.10.13 - 00:11
(14) - ну так я и устанавливаю новые (При открытии настроек списка эти самые установленные отборы и отображаются) - только список по этм отборам не фильтруется. Или здесь ключевое слово "СБРОСИТЬ"?
   ChAlex
 
16 - 23.10.13 - 00:12
(13) - угу хоть и не используется БСП, но оттуда посмотрел и взял и устаноавливается аналогично как там
   Apokalipsec
 
17 - 23.10.13 - 00:22
(15) именно сбросить.)
   Apokalipsec
 
18 - 23.10.13 - 00:27
// Удаляет элементы группы отбора динамического списка.

//   Работает для платформы версии 8.3.
//

// Параметры:
//   ДинамическийСписок (ДинамическийСписок) Реквизит формы, для которого требуется установить отбор.

//   Остальные параметры - см. УдалитьЭлементыГруппыОтбора()
//

Процедура УдалитьЭлементыГруппыОтбораДинамическогоСписка(ДинамическийСписок, ИмяПоля = Неопределено, Представление = Неопределено) Экспорт
   ChAlex
 
19 - 23.10.13 - 00:33
(18) - надо будет с утрица попробовать. Списибо за подсказку. Уже к этому интуитивно подбирался - только не позволила удалить элемен отбора - выдала "отбор используется в пользовательских настройках". Надо будет поковыряться в листинге.
   ChAlex
 
20 - 23.10.13 - 12:33
После танцев с бубнами все-таки поборол таки отборы. Почти уверен что криво, но как-то дальше не охота экспериментировать.

Итак анализ разбора:

1. Если просто изменить значения отборов без их удаления - к эффекту данные действия не приводят - хоть и значения отборов переопределяются и отображаются в форме настроек списка но как их в таком случае программно заставить применить - не нашел. Только интерактивно через "Установить стандартные настройки".
2. Выход только в удалении отбора и повторного его создания. Но и тут есть грабли. Удаление и повторное создание должно проходить в одном контексте (либо на сервере, либо на клиенте) - Ибо если попробовать удалить отбор на сервере вызовом процедуры с клиента - получим "отбор не доступно для записи" (я так понимаю нечто подобное мутабельному значению). Не знаю правильно это или нет, но вывод один - делать все изменения нужно в одном контексте.

Не понимаю почему нельзя сделать простым переопределением элементов коллекции а приходится извращаться... дальше без комментариев

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