Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) 7.7 Защита табличного документа от печати (число прочтений - 2696 )
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3042
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
7.7 Защита табличного документа от печати
20. Января 2017 :: 11:48
Печать  
Появилась острая необходимость запретить печатать таблицы.
Пока я попытаюсь допилить TableDoc
А вы накидайте известные науке, уже существующие надежные способы.

ps
десятилетию компоненты посвящается
  

1&&2&&3
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #1 - 23. Января 2017 :: 12:41
Печать  
FromEx - глобальная предопределенная ПриПечатиТаблицы. Насколько я помню, в старых исходниках 1С++ должна быть.
  

FormEx developer
Наверх
www  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3042
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #2 - 24. Января 2017 :: 07:07
Печать  
Сразу скажу честно - FormEx не использую.
Но в методике разобраться хочу.
Ничего иного не придумал с использованием ПриПечатиТаблицы, как:
Процедура ПриПечатиТаблицы(Таб,ФПП,Заг,п1)
     Если ФПП=0 Тогда
           Таб.Очистить();
           Таб.Показать();
     КонецЕсли;
КонецПроцедуры


Алексей, ты такой способ имел ввиду?
  

1&&2&&3
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #3 - 24. Января 2017 :: 07:21
Печать  
"Таб.Показать();" - это лишнее. А так да, примерно такое и имел ввиду.
Там просто стоит перехват на OnPreparePrinting. Вполне можно при желании перетащить в 1С++. Или реализовать нечто похожее.
  

FormEx developer
Наверх
www  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3042
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #4 - 24. Января 2017 :: 07:42
Печать  
Показать - не лишнее. Если этого не сделать, то при отображении почищенной таблицы есть артефакты.
Метод не годится тем, что исходная таблица, собственно портится (очищается).

Не, в 1с++ не потащу - есть своя (TableDoc) поделка для этого.
А если уж лезть кодировать в компоненте, то лучше на мой взгляд реализовать перехват OnCmdMsg и отрубить на уровне команд. При этом и меню и тулбоксы и хоткеи погаснут. Но хлопотно это.
  

1&&2&&3
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #5 - 24. Января 2017 :: 08:47
Печать  
А так сгодится?
Код
Выбрать все
Процедура ПриПечатиТаблицы(Таб,ФПП,Заг)
    СтатусВозврата(0);
КонецПроцедуры
 

  

FormEx developer
Наверх
www  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3042
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #6 - 24. Января 2017 :: 09:50
Печать  
В принципе да.
Но глобальный метод требует иметь глобальный же список экземпляров таблиц, которые нельзя печатать. Обеспечивать удаление ссылки из этого списка при закрытии таблицы. Это тоже вопрос.
Или где то в данных самой таблицы прятать информацию о недопустимости ее печати.
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3042
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #7 - 24. Января 2017 :: 09:54
Печать  
Хотя вот вполне годный способ:
Код
Выбрать все
Таб=СоздатьОбъект("Таблица");
Таб.Вывести();
Таб.Защита(1);
Таб.Показать("Тест");

Процедура ПриПечатиТаблицы(Таб,ФПП,Заг)
	Если ФПП=0 Тогда
		Если Таб.Защита()=1 Тогда
			СтатусВозврата(0);
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры
 


Защиту же от записи все равно включать нужно.

Но, увы, FormEx не использую.
  

1&&2&&3
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #8 - 24. Января 2017 :: 10:01
Печать  
trad писал(а) 24. Января 2017 :: 09:54:
Но, увы, FormEx не использую.

Так что останавливает то?
  

FormEx developer
Наверх
www  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3042
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #9 - 24. Января 2017 :: 10:02
Печать  
семерка упала при попытке открыть параметры страницы. повторить не удается.
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3042
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #10 - 24. Января 2017 :: 10:03
Печать  
АЛьФ писал(а) 24. Января 2017 :: 10:01:
trad писал(а) 24. Января 2017 :: 09:54:
Но, увы, FormEx не использую.

Так что останавливает то?

не нравится
  

1&&2&&3
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #11 - 24. Января 2017 :: 10:13
Печать  
trad писал(а) 24. Января 2017 :: 10:03:
АЛьФ писал(а) 24. Января 2017 :: 10:01:
trad писал(а) 24. Января 2017 :: 09:54:
Но, увы, FormEx не использую.

Так что останавливает то?

не нравится

Странное отношение к инструменту Улыбка
  

FormEx developer
Наверх
www  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3042
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #12 - 24. Января 2017 :: 10:31
Печать  
ты лучше скажи, там все перехваты, клавиатурные, мышиные, оконные и прочие, по-прежнему ставятся безусловно при загрузке компоненты?
я просто со времен разделение не следил за FormEx
  

1&&2&&3
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #13 - 24. Января 2017 :: 10:36
Печать  
trad писал(а) 24. Января 2017 :: 10:31:
ты лучше скажи, там все перехваты, клавиатурные, мышиные, оконные и прочие, по-прежнему ставятся безусловно при загрузке компоненты?
я просто со времен разделение не следил за FormEx


Что раньше отключалось, то и сейчас отключается. А при загрузке все ставится, конечно.
  

FormEx developer
Наверх
www  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3042
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 7.7 Защита табличного документа от печати
Ответ #14 - 06. Февраля 2017 :: 07:32
Печать  
  

1&&2&&3
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать