| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			масштабирование отчета и инфолог
			 
			
			Каким образом убрать инфолог о том, что отчет масштабирован, но само масштабирование оставить? Зачем, — стандартно, горячее пожелание пользователей, раздражает оно их. 
		
		
		
		
		
		
		
	Axapta 3.0 sp 5  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Найти откуда идет сообщение и  
		
		
		
		
		
		
			X++: infolog.clear(); 
				__________________ 
		
		
		
		
	AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В init() отчета после super() добавить строку: 
		
		
		
		
		
		
			
		
		
		
		
	X++: this.printJobSettings().suppressScalingMessage(); http://msdn2.microsoft.com/en-us/library/aa625108.aspx  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: NetBus (1), aidsua (1), oip (5). | |
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			все бы программировать  
		
		
		
		
		
		
			
		
		
		
		
	![]() В параметрах пользователя смените уровень детализации. По-умолчанию стоит: Показывать все сообщения. Установите: Показывать ошибки/предупреждения. В этом случае сообщения с важностью Info в infolog'е показываться не будут. Так вы избавитесь и от других надоедливых сообщений.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: shamanko (1). | |
| 
			
			 | 
		#5 | 
| 
			
			 MCITP 
		
			
	 | 
	
	
	
		
		
		
		 
			
			2 mazzy: 
		
		
		
		
		
		
			Так можно и пропустить что-нибудь важное и информативное... 
				__________________ 
		
		
		
		
	Zhirenkov Vitaly  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			важное и информативное при помощи Info НЕ пишут. 
		
		
		
		
		
		
			
		
		
		
		
	Важное и информативное пишут при помощи Error или Warning  
		 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 MCITP 
		
			
	 | 
	
	
	
		
		
			
			 Цитата: 
	
И к тому же никогда ни в чём нельзя быть уверенным, если не писал всё сам. ![]() Хотя и в этом случае тоже..  
		
				__________________ 
		
		
		
		
	Zhirenkov Vitaly  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 MCITP 
		
			
	 | 
	
	
	
		
		
			
			 Цитата: 
	
		
			Сообщение от kashperuk
			 
 
			В init() отчета после super() добавить строку: 
		
	X++: this.printJobSettings().suppressScalingMessage(); http://msdn2.microsoft.com/en-us/library/aa625108.aspx  
		
				__________________ 
		
		
		
		
	Zhirenkov Vitaly  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 MCITP 
		
			
	 | 
	
	
	
		
		
		
		 
			
			пробовал по всякому
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Zhirenkov Vitaly  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Молодой, подающий надежды 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Быть может printJobSettings инициализируется позже? Например, если используется настройка из управления печатью.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А у меня работает  
		
		
		
		
		
		
		
		
			  Проверьте, нет ли где-нибудь в Вашем отчете метода, который пересоздает PrintJobSetting. Т.е. создает новый набор настроек, у которых значение свойства suppressScalingMessage в значении по умолчанию. Т.е. в значении false PS: В принципе, если подобное сообщение надо подавить во всех отчетах, то данную настройку следует сделать в методе класса \Classes\SysReportRun\run непосредственно ПЕРЕД методом super() X++: public void run(boolean onlyReport = false) { (...) // Подавить сообщение о масштабировании в отчетах, 11.05.2011, Maksi --> this.printJobSettings().suppressScalingMessage(true); // Подавить сообщение о масштабировании в отчетах, 11.05.2011, Maksi <-- super(); } Последний раз редактировалось Владимир Максимов; 11.05.2011 в 18:07. Причина: Добавил код для вставки  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вот, как мне кажется, ЕДИНСТВЕННЫЙ НАДЕЖНЫЙ способ отключать эти сообщения.  
		
		
		
		
		
		
		
	X++: final class Info extends xInfo Exception add( Exception _exception, str _txt, str _helpUrl = '', SysInfoAction _sysInfoAction = null, boolean buildprefix = true) { // SysInfologLevel infologLevel = this.infologLevel(); int numOfLines,i; int actionClassId; container packedAction; xSession session; ; // --> Убрать предупреждение при выводе документов if (strscan (_txt, "масштабирован на", 1, strlen(_txt))) return _exception; // <--  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 MCITP 
		
			
	 | 
	
	
	
		
		
			
			 Цитата: 
	
Только лучше делать так : ![]() X++: // + Убрать предупреждение при выводе документов // @Label: // RU :a* \- Отчет масштабирован на :d* процентов по размеру страницы\. // EN-US :a* \- Report is scaled :d* percent to fit to page\. if (match("@Label", _txt)) return _exception; // - Убрать предупреждение при выводе документов 
				__________________ 
		
		
		
		
	Zhirenkov Vitaly  | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вдруг кому поможет 
		
		
		
		
		
		
			Некоторые отчеты не реагируют на X++: this.printJobSettings().suppressScalingMessage(true);X++: this.printJobSettings().clientPrintJobSettings().suppressScalingMessage(true);Хоть и не уверен, что это панацея - в моем случае пока все ништяк. 
				__________________ 
		
		
		
		
	If it ain't broke, take it apart and find out why (с)  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: gl00mie (3). | |
| Теги | 
| ax3.0, infolog | 
| 
	
	 | 
	
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
		
  |