Переключение на Главную Страницу Страницы: 1 2 [3] 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) Инфа  о процедуре ПриПечатиТаблицы (число прочтений - 23297 )
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #30 - 23. Марта 2007 :: 06:09
Печать  
Боюсь, что пока нельзя. Добавлю параметры печати в аргументы этой процедуры.
  

FormEx developer
Наверх
www  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #31 - 23. Марта 2007 :: 06:46
Печать  
Цитата:
Боюсь, что пока нельзя. Добавлю параметры печати в аргументы этой процедуры.


А менять их можно будет?
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #32 - 23. Марта 2007 :: 06:59
Печать  
Цитата:
Боюсь, что пока нельзя. Добавлю параметры печати в аргументы этой процедуры.



Ок! ждем-с Улыбка
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #33 - 23. Марта 2007 :: 07:27
Печать  
Chieftain писал(а) 23. Марта 2007 :: 06:46:
Цитата:
Боюсь, что пока нельзя. Добавлю параметры печати в аргументы этой процедуры.


А менять их можно будет?

Думаю, что получится сделать, чтобы они были изменяемыми.
  

FormEx developer
Наверх
www  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #34 - 23. Марта 2007 :: 07:29
Печать  
Цитата:
Chieftain писал(а) 23. Марта 2007 :: 06:46:
Цитата:
Боюсь, что пока нельзя. Добавлю параметры печати в аргументы этой процедуры.


А менять их можно будет?

Думаю, что получится сделать, чтобы они были изменяемыми.



Было бы отлично.... С нетерпением ждем....
  
Наверх
ICQ  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #35 - 06. Апреля 2007 :: 13:16
Печать  
Мда... Похоже, что я погорячился с возможностью изменить имя принтера, на который идет печать. Не ожидал, что там все так запутано с параметрами печати. Получается, что имя принтера можно изменить только после открытия окна настроек печати. Изменить имя принтера не получается.
В итоге: Раньше процедура ПриПечатиТаблицы вызывалась до показа диалога настройки печати и СтатусВозврата(0) предотвращал показ этого диалога. Сейчас перенес вызов процедуры в другое место. Теперь в нее передается имя выбранного принтера, но подавить вывод диалога настройки печати теперь нельзя.

Всех ли устраивает такое изменение?
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #36 - 06. Апреля 2007 :: 20:35
Печать  
Лех, ты помнишь, что так было в самом начале.
И событие срабатывало каждый раз при печати очередной страницы (если печать шла сразу на принтер, без окна).


И я не понял, теперь по новому варианту, если юзер нажал отмену на диалоге, событие все равно сработает или нет?

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



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #37 - 09. Апреля 2007 :: 05:59
Печать  
Arta писал(а) 06. Апреля 2007 :: 20:35:
Лех, ты помнишь, что так было в самом начале.
И событие срабатывало каждый раз при печати очередной страницы (если печать шла сразу на принтер, без окна).

Помню. Но, вроде, удалось от это избавится.

Arta писал(а) 06. Апреля 2007 :: 20:35:
И я не понял, теперь по новому варианту, если юзер нажал отмену на диалоге, событие все равно сработает или нет?

Нет, если нажал отмену, то не сработает (можно сделать чтобы срабатывало).
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #38 - 10. Апреля 2007 :: 18:56
Печать  
Если так, то я всеми руками за!
  
Наверх
 
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #39 - 21. Апреля 2007 :: 10:19
Печать  
Уважаемые гуру...

Разрешите вопрос ?  Смущённый

У меня имеются не очень хорошие люди которые вручную правят сформированные таблицы документов с последующим их выводом на печать...

Есть 2 варианта:
1. Выводить документы сразу на принтер.
2. Попытаться заблокировать возможность редактирования таблицы и изменения флага ТолькоПросомтр
3. Отловить саму попытку редактирования с сохранением в текстовый файлик информации кто попытался редактировать печатную форму, чтобы потом наругаться громко

Собственно вопрос: Имеется ли событие ПриРедактированииТаблицы(), и если нету то может быть посоветуете направление в каком искать...
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #40 - 21. Апреля 2007 :: 10:37
Печать  
desty писал(а) 21. Апреля 2007 :: 10:19:
Уважаемые гуру...

Разрешите вопрос ?  Смущённый

У меня имеются не очень хорошие люди которые вручную правят сформированные таблицы документов с последующим их выводом на печать...

Есть 2 варианта:
1. Выводить документы сразу на принтер.
2. Попытаться заблокировать возможность редактирования таблицы и изменения флага ТолькоПросомтр
3. Отловить саму попытку редактирования с сохранением в текстовый файлик информации кто попытался редактировать печатную форму, чтобы потом наругаться громко

Собственно вопрос: Имеется ли событие ПриРедактированииТаблицы(), и если нету то может быть посоветуете направление в каком искать...

Код
Выбрать все
КонтТаблицы="";
Сервис.АктивныйКонтекст(КонтТаблицы);
Если ""+КонтТаблицы="Таблица" Тогда
 


и обрабатывай ПриДвиженииМыши и ПриНажатииКнопкиКлавиатуры.
  
Наверх
ICQ  
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #41 - 21. Апреля 2007 :: 11:30
Печать  
Спасибо...

и еще один момент - я так понял выявить контекст документа из которго вышла печать можно только через расшифровку одной из ячеек?
  
Наверх
 
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #42 - 22. Апреля 2007 :: 21:09
Печать  
Вот еще один момент...

Я создаю свой класс НоваяТаблица, наследник от "Таблица"

в модуле документа пишу МояНоваяТаблица.Показать(,,,)

Потом нажимаю кнопку печать, логично подумать что в процедуру
ПриПечатиТаблицы(КонтТаблицы, ФлагПредпросмотра, Заголовок)

в параметр КонтТаблицы должен попасть мой класс...

Ан нет..

Сообщить(""+Информатор.ТипЗначенияСтрВнутр(КонтТаблицы));

выдаст CTableOutputContext

а мой класс имеет Тип CComponentClass

и где правда? Нерешительный никак нельзя чтобы все же Контекст попадал тот который отправили...

... или я опять заблуждаюсь...
  
Наверх
 
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #43 - 22. Апреля 2007 :: 21:28
Печать  
Да и еще...зачем мне это нужно

Как сохранить КонтекстВызова в объекте Таблица я придумал (не особо универсально)....

а вот как сохранить этот КонтекстВызова до попадания в Процедуру ПриПечати не знаю

мои эксперименты во вложении...

// начало определения класса
class Таблица = Classes\Общие\Таблица.ert : Table
{                                                                           
     //Не получилось у меня обработать значения по умолчанию прямо в классе
     // так что обход сделан через неявное число параметров
     void Показать(...); //Обход вылета исключений для значений по умолчанию
}
// завершение определения класса !!

P/S/ пока не совсем понимаю как сделать правильное отключение/подключения перехвата события ГМ...


  

table_PRIMER_001.zip ( 7 KB | Загрузки )
Наверх
 
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: Инфа  о процедуре ПриПечатиТаблицы
Ответ #44 - 22. Апреля 2007 :: 22:03
Печать  
ПОБЕДА....

Код
Выбрать все
Процедура СобытиеГМ_ПриПечатиТаблицы(КонтТаблицы, ФлагПредпросмотра, Заголовок) Экспорт

	Информатор = СоздатьОбъект("Информатор");
	Сервис = СоздатьОбъект("Сервис");

	Конт = "";
	Сервис.АктивныйКонтекст(Конт);
	Сообщить(""+Информатор.ТипЗначенияСтрВнутр(Конт));
	Сообщить(""+Информатор.ТипЗначенияСтрВнутр(КонтТаблицы));
	Сообщить(""+Информатор.ТипЗначенияСтрВнутр(Сам()));
		;

КонецПроцедуры	 



Нужный мне контекст Моего класса попадает в процедуру ПриПечати в качестве Активного контекста....

Эх.. поймаю людей которые химичат теперь с накладными  Очень довольный

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