Имя: Пароль:
1C
1С v8
v8: Особый доступ к отчетам
0 Leksandr
 
30.09.13
14:52
Клиент хочет, чтобы для каждого пользователя (отдельно или в группе) была возможность запретить копирование в буфер результата отчета. Т.е. в  обработке, содержащей таблицу с колонками: 1.название отчета 2.пользователь 3.запрет - можно было назначить такое ограничение.

Форма обработки сделана. Все ограничения записываю в регистр сведений.

Следующим этапом нужно при формировании отчета проверять есть ли эти ограничения для текущего пользователя.

Главный вопрос: где возможно организовать данную проверку?

ОтчетОбъект.<Имя отчета>.ПриКомпоновкеРезультата(<ДокументРезультат>, <ДанныеРасшифровки>, <СтандартнаяОбработка>)  - не подходит, т.к. при установке СтандартнаяОбработка = Истина - указанные в нашем коде настройки табличного документа не работают (имею ввиду ДокументРезультат.Вывод = ИспользованиеВывода.Запретить или ДокументРезультат.Защита = Истина), а если СтандартнаяОбработка = Ложь, то результат пустой, т.к. нужно писать процедуру формирования отчета фактически  заново

При необходимости готов создать ФормуОтчета для каждого отчета в конфигурации
1 Jonny_Khomich
 
30.09.13
14:55
отлавливать события нажатия кнопки ctrl+c
2 Leksandr
 
30.09.13
14:58
(1) А вы уже реализовали с помощью ctrl+c?
3 Leksandr
 
30.09.13
14:59
(1) *реализовывали
4 Leksandr
 
30.09.13
15:13
(1) да и копирование через консольное меню никак не отловишь
5 Leksandr
 
30.09.13
15:37
Решил задачу. Может кому понадобится:

&НаКлиенте
Процедура РезультатПриАктивизацииОбласти(Элемент)

Если ПроверкаНаДоступ()
Тогда
    ЭтаФорма.Элементы.Результат.Защита = Истина;
    ЭтаФорма.Элементы.Результат.Вывод=ИспользованиеВывода.Запретить;
КонецЕсли;
КонецПроцедуры


Один большой минус: нужно создавать свою форму для каждого отчета, а отсюда и все вытекающие...