|
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
|
Загружаю настройки в Компоновщик - опять ничего не меняется.
&НаСервере
Процедура ПриЗагрузкеВариантаНаСервере(Настройки)
ТекНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки;
Коллекция = ТекНастройки.Элементы;
Для Каждого ЭлементНастройки Из Коллекция Цикл
Если ТипЗнч(ЭлементНастройки) = Тип("ЭлементОтбораКомпоновкиДанных")тогда
Если ТипЗнч(ЭлементНастройки.ПравоеЗначение) = Тип("СправочникСсылка.Пользователи") Тогда
ЭлементНастройки.ПравоеЗначение = ПараметрыСеанса.ТекущийПользователь;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ТекНастройки);
КонецПроцедуры
|
|