|
v8: СКД - вопрос по программной настройке отбора (упр. формы) | ☑ | ||
---|---|---|---|---|
0
Справочник
02.10.12
✎
10:49
|
Конфигурация - самописка на управляемых формах, используется подсистема "Варианты отчетов".
Есть простенький отчет - форма без кода, сохранение вариантов через упомянутую подсистему. В СКД используется отбор по полю "Менеджер". Возникла задача сделать так, чтобы менеджеру в отборе автоматически проставлялся он сам и запрет на отключение отбора или смену менеджера. Первый вопрос, который меня мучает - в каком обработчике формы отчета это писать. ПриЗагрузкеВариантаНаСервере? Если да, то как отловить имя загруженного варианта - по заданию указанная фильтрация по менеджеру должна выполняться только для одного определенного варианта отчета. |
|||
1
Справочник
11.10.12
✎
20:33
|
Опять вернулся к задаче, пробую:
&НаСервере Процедура ПриЗагрузкеВариантаНаСервере(Настройки) КоличествоОтборов = Настройки.Отбор.Элементы.Количество(); Сообщить(КоличествоОтборов); КонецПроцедуры Все время выводит 0, хотя в СКД я создал два отбора. Как "достучаться" до отборов, чтобы установить программно правое значение? |
|||
2
Справочник
11.10.12
✎
21:05
|
Уже почти получилось - ошибок не выдает, отладчиком вижу все проходит, только почему-то быстрые настройки на форме не меняются. Что не хватает?
&НаСервере Процедура ПриЗагрузкеВариантаНаСервере(Настройки) ТекНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки; Коллекция = ТекНастройки.Элементы; Для Каждого ЭлементНастройки Из Коллекция Цикл Если ТипЗнч(ЭлементНастройки) = Тип("ЭлементОтбораКомпоновкиДанных")тогда Если ТипЗнч(ЭлементНастройки.ПравоеЗначение) = Тип("СправочникСсылка.Пользователи") Тогда ЭлементНастройки.ПравоеЗначение = ПараметрыСеанса.ТекущийПользователь; КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
3
Справочник
11.10.12
✎
21:12
|
Загружаю настройки в Компоновщик - опять ничего не меняется.
&НаСервере Процедура ПриЗагрузкеВариантаНаСервере(Настройки) ТекНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки; Коллекция = ТекНастройки.Элементы; Для Каждого ЭлементНастройки Из Коллекция Цикл Если ТипЗнч(ЭлементНастройки) = Тип("ЭлементОтбораКомпоновкиДанных")тогда Если ТипЗнч(ЭлементНастройки.ПравоеЗначение) = Тип("СправочникСсылка.Пользователи") Тогда ЭлементНастройки.ПравоеЗначение = ПараметрыСеанса.ТекущийПользователь; КонецЕсли; КонецЕсли; КонецЦикла; Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ТекНастройки); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |