0
Leksandr
30.09.13
✎
14:52
|
Клиент хочет, чтобы для каждого пользователя (отдельно или в группе) была возможность запретить копирование в буфер результата отчета. Т.е. в обработке, содержащей таблицу с колонками: 1.название отчета 2.пользователь 3.запрет - можно было назначить такое ограничение.
Форма обработки сделана. Все ограничения записываю в регистр сведений.
Следующим этапом нужно при формировании отчета проверять есть ли эти ограничения для текущего пользователя.
Главный вопрос: где возможно организовать данную проверку?
ОтчетОбъект.<Имя отчета>.ПриКомпоновкеРезультата(<ДокументРезультат>, <ДанныеРасшифровки>, <СтандартнаяОбработка>) - не подходит, т.к. при установке СтандартнаяОбработка = Истина - указанные в нашем коде настройки табличного документа не работают (имею ввиду ДокументРезультат.Вывод = ИспользованиеВывода.Запретить или ДокументРезультат.Защита = Истина), а если СтандартнаяОбработка = Ложь, то результат пустой, т.к. нужно писать процедуру формирования отчета фактически заново
При необходимости готов создать ФормуОтчета для каждого отчета в конфигурации
|
|
5
Leksandr
30.09.13
✎
15:37
|
Решил задачу. Может кому понадобится:
&НаКлиенте
Процедура РезультатПриАктивизацииОбласти(Элемент)
Если ПроверкаНаДоступ()
Тогда
ЭтаФорма.Элементы.Результат.Защита = Истина;
ЭтаФорма.Элементы.Результат.Вывод=ИспользованиеВывода.Запретить;
КонецЕсли;
КонецПроцедуры
Один большой минус: нужно создавать свою форму для каждого отчета, а отсюда и все вытекающие...
|
|