Имя: Пароль:
1C
1С v8
СКД Как изменить список доступных значений параметра при выборе варианта?
0 Gorr
 
09.04.15
15:01
пытался сделать в событии формы отчета:
&НаСервере
Процедура ПриЗагрузкеВариантаНаСервере(Настройки)
    ДоступныеЗначения = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.ДоступныеПараметры.Элементы.Найти("ГруппаОтбора").ДоступныеЗначения    ;

Данное решение срабатывает только один раз при открытии отчета. При выборе же варианта уже открытого отчета код отрабатывает без ошибок, но состав списока выбора более не меняется. Приходится переоткрывать отчет.
В настройках передаваемых в событие в качестве параметра элемент настроек ДоступныеПараметры вообще Неопределено.
1 Gorr
 
09.04.15
17:21
Неужели никто не делал подобного?
2 Gorr
 
09.04.15
19:49
Быть может как-то  можно задать список доступных значений через элемент формы Элементы.КомпоновщикНастроекПользовательскиеНастройки?
3 Gorr
 
09.04.15
20:59
Интересно как то можно не закрывая форму обновить в ней данные объекта отчет?
4 mistеr
 
09.04.15
21:36
(0) Очевидно в процедуру передаются уже не те настройки.
5 Gorr
 
09.04.15
21:49
(4) еще бы знать в какую процедуру - СКД это тайна покрытая мраком - шаг влево, вправо пиши пропало...
6 Gorr
 
09.04.15
21:51
Все что надо - установить список доступных строк для выбора пользователя (параметр имеет строковой тип) при установке параметра - вроде бы элементарней некуда!
7 Armando
 
09.04.15
21:59
Попробуй работать с настройками, которые передаются в процедуру.
8 mistеr
 
09.04.15
22:21
(5) Я хотел сказать, что событие ПриЗагрузкеВариантаНаСервере отрабатывает до загрузки варианта в КомпоновщикНастроек.
Соответственно править нужно переданные настройки.
9 Gorr
 
10.04.15
10:54
Итак что мы имеем:
1. Настройки переданные в процедуру параметром
2. Отчет.КомпоновщикНастроек.Настройки
10 Gorr
 
10.04.15
11:13
(8) В переданных настройках значение Настройки.ПараметрыДанных.ДоступныеПараметры Неопределено, а ведь именно у элементов коллекции ДоступныеПараметры и есть такое замечательное свойство ДоступныеЗначения.
Как его определить если его там нет? конструктор Новый ДоступныеПараметрыКомпоновкиДанных - не найден.
Эллементы коллекции КоллекцияДоступныхПараметровКомпоновкиДанных только для чтения, т.е. ДоступныеПараметры.Элементы.Добавить так просто не напишешь
11 Gorr
 
10.04.15
11:20
Быть может после корректировки списка ДоступныеЗначения которые можно получить через Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.ДоступныеПараметры.Элементы[0].ДоступныеЗначения
нужно как-то КомпоновщикНастроек ПЕРЕИНИЦИАЛИЗИРОВАТЬ что-бы изменения дошли до формы отчета?
12 Gorr
 
10.04.15
11:22
Не верю что никому не приходила в голову идея переопределения списка доступных значений параметров в зависимости от выбранного варианта отчета!!!
13 Gorr
 
10.04.15
12:08
14 Gorr
 
10.04.15
12:09
15 Gorr
 
10.04.15
12:17
<A href="http://www.fayloobmennik.net/4774916">paramselection.jpg</A>;
по-человечески здесь картинку не вставишь..
16 Gorr
 
10.04.15
12:28
Поскольку не всем здесь понятно для чего это может быть необходимо поясню.
Я разработал отчет в котором каждый вариант формируется по своей вложенной схеме. Понятно что значения параметров для каждой из вложенных схем должны быть свои. Но в быстрых настройках пользователя отображаются параметры только основной схемы. Вот отсюда и возникает необходимость динамически управлять списком доступных значений параметров.
17 Gorr
 
12.04.15
12:04
Быть может можно как-то со стороны интерфейса управлять списком доступых значений (тип строка) элемента управления быстрых пользовательских настроек?
18 Gorr
 
13.04.15
13:22
Поскольку ответов 0, а решение было найдено, приведу пример решения задачи ограничения списка доступных значений через интерфейс при выборе варианта. В конфигураторе можно задать все мыслимые значения параметра, а в форме через данные формы установить фильтр на доступные значения:

&НаСервере
Процедура ПриЗагрузкеВариантаНаСервере(Настройки)
    СписокВыбора = ПодчиненныеЭлементы.КомпоновщикНастроекПользовательскиеНастройки.ПодчиненныеЭлементы.КомпоновщикНастроекПользовательскиеНастройкиГруппаКолонок1.ПодчиненныеЭлементы.КомпоновщикНастроекПользовательскиеНастройкиЗначение.СписокВыбора;
    СписокВыбора.ТипЗначения = Новый ОписаниеТипов("Строка");
    СписокВыбора.Очистить();
    Список = ПолучитьСписок();
    для каждого элемент из Список цикл
        СписокВыбора.Добавить(элемент.Значение,элемент.Представление);
    конеццикла;    
КонецПроцедуры