1. lendyez 12.07.19 09:17 Сейчас в теме

СКД запрет вывод на печать и сохранение в файл

Подскажите как реализовать запрет на сохранения отчета на СКД в файл?
Ответы
Избранное Подписка Сортировка: Древо
2. VmvLer 12.07.19 09:26 Сейчас в теме
без выключения вывода в правах никак.
кнопка сохранения в главном меню плевала на СКД, а пользователь знает где она сидит.
3. dhurricane 12.07.19 09:41 Сейчас в теме
(2) (1) Ну вообще теоретически возможно. У табличного документа на форме отчета есть свойство "Вывод", которому можно присвоить значение "Запретить". Сделать это можно либо добавив свою форму отчета, либо определить обработчик ПриСозданииНаСервере в модуле объекта (при использовании БСП), и там изменить свойство программно.
4. catena 100 12.07.19 09:45 Сейчас в теме
(3)И заодно запретить принтскрин и фото экрана. Даже темка такая тут мелькала.
5. VmvLer 12.07.19 09:46 Сейчас в теме
(3) а выделение вручную и копи-паст тоже зарубит?
6. dhurricane 12.07.19 09:48 Сейчас в теме
(5) Должно.
Вывод (Output)
Использование:

Чтение и запись.
Описание:

Тип: ИспользованиеВывода.
Ограничение вывода на печать, сохранения, работы с буфером обмена.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент.
Изменение свойства на клиенте может потребовать обращения к серверу.

Примечание:

Может иметь значение, отличное от значения свойства Вывод документа, с которым это поле связано.
Показать
7. lendyez 12.07.19 09:52 Сейчас в теме
(6) Пробовал вот так, не получается.
// Выводим результат в табличный документ
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);	
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);
	
	// Устанавливаем фиксацию в табличном документе
	ДокументРезультат.ФиксацияСлева = 1;
	ДокументРезультат.Вывод=ИспользованиеВывода.Запретить; 
Показать
8. toypaul 65 12.07.19 09:54 Сейчас в теме
(7) у элемента формы свои свойства
9. VmvLer 12.07.19 10:04 Сейчас в теме
+ 7. Да, ДокументРезультат сидит в памяти и передается на форму.

Если отчет на БСП, то подозреваю, что необходимо будет "влезть" в общую БСП-форму отчетов СКД и там покостылить. В принципе в расширение кинуть модуль из этой формы и там запретить вывод.
10. dhurricane 12.07.19 10:16 Сейчас в теме
(9) Опять же, не все так страшно. :)
БСП, по крайней мере начиная с 2.4, предоставляет возможность реализовать свой обработчик события формы "ПриСозданииНаСервере" в модуле объекта самого отчета.
11. VmvLer 12.07.19 10:20 Сейчас в теме
Ждем пока автор реализует механизм, мне лень ковырять.
Надеюсь, совесть не позволит ему утаить решение!
12. lendyez 12.07.19 10:32 Сейчас в теме
(11)Всем спасибо. Добавил в расширение
&НаСервере
Процедура ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	Элементы.ОтчетТабличныйДокумент.Вывод = ИспользованиеВывода.Запретить;
КонецПроцедуры

Это я влез в общую форму. Тут конечно надо еще покрутить, потому что тогда запретит вывод всех отчетов. Выход либо здесь покрутить с точным указанием отчета для кого используется. Либо просто создать у отчета свою форму и в ней внести данный код.
13. SlavaKron 12.07.19 11:25 Сейчас в теме
Зачем расширение, если это БСП? В модуле отчета:
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
	Настройки.События.ПриСозданииНаСервере = Истина;
КонецПроцедуры

Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт
	Форма.Элементы.ОтчетТабличныйДокумент.Вывод = ИспользованиеВывода.Запретить;
	Форма.Элементы.ОтчетТабличныйДокумент.Защита = Истина;
	ГруппаВывод = Форма.Элементы.Найти("ГруппаВывод");
	Если ГруппаВывод <> Неопределено Тогда
		ГруппаВывод.Видимость = Ложь;
	КонецЕсли;
КонецПроцедуры
Показать
Прикрепленные файлы:
ПереопределениеПриСозданииНаСервере.erf
14. VmvLer 12.07.19 11:55 Сейчас в теме
(13) если это не требует "сбросить замки", то тоже вариант.
я же предпочитаю расширение.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Консультант 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

Программист стажер 1С
Нижний Новгород
зарплата от 30 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день