Вопрос

Экспорт аналитики в PDF (скриншот)

Всем привет!

Подскажите, пожалуйста, как предоставить или исключить для пользователя возможность экспорта аналитики в виде PDF/PNG файла? Иными словами, добавить кнопку "Скриншот" - http://joxi.ru/D2PexNvCqW7WjA

Нравится

7 комментариев
Лучший ответ

Bakhanovich Aliaksei,

Кнопка добавляется в модуле DashboardBuilder. На видимость/доступность кнопки никаких дополнительных условий в виде справочника или сис. операции не накладывается

{
	caption: {bindTo: "Resources.Strings.ScreenshotButtonCaption"},
	click: {bindTo: "onScreenshotButtonClick"},
	markerValue: "SettingsButtonScreenshot",
	visible: !(Ext.isIE || Ext.isSafari),
	enabled: {bindTo: "getScreenshotButtonEnabled"}
}
 
getScreenshotButtonEnabled: function() {
	return !this.Ext.isEmpty(this.get("ActiveTabName"));
}

Поэтому предлагаю попытаться расширить данный модуль и предусмотреть свою логику на данную кнопку

Добрый день!

Видимость/активность кнопки для разных пользователей/ролей пользователей можно настроить с использованием системных операций.

Пример тут

Александр, спасибо!

Если не ошибаюсь, ранее было на уровне справочника или мастера раздела это вынесено.

Сейчас в системных операциях нет такого параметра, но кнопка "Скриншот" все равно отображается. Не подскажете, как такое может быть и может знаете код, который указан для этой операции?

Bakhanovich Aliaksei,

Кнопка добавляется в модуле DashboardBuilder. На видимость/доступность кнопки никаких дополнительных условий в виде справочника или сис. операции не накладывается

{
	caption: {bindTo: "Resources.Strings.ScreenshotButtonCaption"},
	click: {bindTo: "onScreenshotButtonClick"},
	markerValue: "SettingsButtonScreenshot",
	visible: !(Ext.isIE || Ext.isSafari),
	enabled: {bindTo: "getScreenshotButtonEnabled"}
}
 
getScreenshotButtonEnabled: function() {
	return !this.Ext.isEmpty(this.get("ActiveTabName"));
}

Поэтому предлагаю попытаться расширить данный модуль и предусмотреть свою логику на данную кнопку

Достаточно переопределить getScreenshotButtonEnabled, как то так

getScreenshotButtonEnabled: function() {

            return false;

        },

 

Так автору темы же нужно не всем запретить, а конкретному пользователю. Как раз и подойдёт вписать туда проверку наличия. Но делать невидимой — красивее.

Зверев Александр,

Гм понять что имел автор под словом пользователь кого конкретного или всех сложно. Другой вопрос что все это не запретит делать скриншрты средствами ос и отправлять их куда угодно (Например в ставить в Word и сохранить в pdf) С точки зрения безопастности это ничего не даст.

Или вообще сфотографировать экран телефоном.wink

Аналогично, в версии Terrasoft 3.Х была настройка запрета кнопки выгрузки реестра в Excel, но при желании всегда можно было зайти под своим пользователем в Management Studio, подключиться к базе и делать какие угодно выборки с данными, к которым предоставлен доступ.

Показать все комментарии