| View previous topic :: View next topic | 
	
	
		| Author | Message | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 19 Sep 2007 11:30    Post subject: Fastreport |   |  
				| 
 |  
				| Как в fastreporte узнать какой лист печатается или какая копия? Надо в зависимости от номера печатать разные слова типа - Оригинал, Копия 1, Копия 2 и т
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| nordk 
 
 
 Joined: 27 Jun 2005
 Posts: 1000
 Location: Горбунов Константин
 Occupation: БЭСТ-Партнер
 Interests: СПб
 
 | 
			
				|  Posted: 19 Sep 2007 13:00    Post subject: |   |  
				| 
 |  
				| Вопрос по программированию отчетов. Тему переадресую |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| dshlykov 
 
 
 Joined: 02 Aug 2005
 Posts: 172
 Location: Дмитрий Шлыков
 Occupation: Компания "БЭСТ"
 Interests: Москва
 
 | 
			
				|  Posted: 19 Sep 2007 13:29    Post subject: Re: Fastreport |   |  
				| 
 |  
				| Добрый день! 
 Могли бы Вы объяснить что такое оригинал и копия? Как они реализуются в Вашем отчете или о каком поставочном отчете идет речь? Номер страницы можно узнать с помощью конcтанты [PAGE#], она доступна в построителе выражений на кнопке "Константы". 	  | shura_k wrote: |  	  | Как в fastreporte узнать какой лист печатается или какая копия? | 
 
 Если реализовать такую нумерацию с помощью страниц нельзя (т.е. оригинал и копия занимают более одной страницы), то можно воспользоватся переменными памя 	  | shura_k wrote: |  	  | Надо в зависимости от номера печатать разные слова типа - Оригинал, Копия 1, Копия 2 и тп. | 
 _________________
 С уважением, Дмитрий Шлыков
 Компания "БЭСТ"
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 19 Sep 2007 15:52    Post subject: |   |  
				| 
 |  
				| А можно как-нибудь узнать кол-во копий который должен напечатать принтер? Т.е. то, что вводится в его окне. 
 И ещё. Как настроить печать комплекта документов. Можно как-то вызвать из одного отчета другой, просто на выполнение? Или надо собирать один большой отчет, который состоит из разных шаблонов. Во втором случае было бы удобно, если бы в fastreport был механизм обединения отчетов, просто тупо раскидывал по разныл листам импортированые шаблоны.
 
 Может подскажите с какими стандартными параметрами вызывается Winreport когда вызов происходит из накладной. Т.е. что передавать в шапку, а что в строки.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| dshlykov 
 
 
 Joined: 02 Aug 2005
 Posts: 172
 Location: Дмитрий Шлыков
 Occupation: Компания "БЭСТ"
 Interests: Москва
 
 | 
			
				|  Posted: 19 Sep 2007 16:59    Post subject: |   |  
				| 
 |  
				| Нельзя, так как число печатаемых документов задается уже после полного формирования отчета. 	  | shura_k wrote: |  	  | А можно как-нибудь узнать кол-во копий который должен напечатать принтер? Т.е. то, что вводится в его окне. | 
 
 Такой возможности в FastReport нет. Необходимо формировать один большой отчет. Если (по моему у Вас именно такая ситуация) необходимо распечатать один документ несколько раз, то можно сделать в одном отчете без копирования. 	  | shura_k wrote: |  	  | И ещё. Как настроить печать комплекта документов. Можно как-то вызвать из одного отчета другой, просто на выполнение? Или надо собирать один большой отчет, который состоит из разных шаблонов. Во втором случае было бы удобно, если бы в fastreport был механизм обединения отчетов, просто тупо раскидывал по разныл листам импортированые шаблоны. | 
 
 Параметры функции WinReport подробно описаны в пункте меню "О программе - Программирование в среде БЭСТ-4+ - Функции БЭСТ-4+ - Win-печать - WinReport". В случае с накладной для отчета передается все реквизиты документа (дата, номер, контрагент), его строки, характеристики номенклатуры и партий. 	  | shura_k wrote: |  	  | Может подскажите с какими стандартными параметрами вызывается Winreport когда вызов происходит из накладной. Т.е. что передавать в шапку, а что в строки. | 
 _________________
 С уважением, Дмитрий Шлыков
 Компания "БЭСТ"
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 19 Sep 2007 17:49    Post subject: |   |  
				| 
 |  
				|  	  | Quote: |  	  | Если (по моему у Вас именно такая ситуация) необходимо распечатать один документ несколько раз, то можно сделать в одном отчете без копирования. 
 | 
 И как?
 
  	  | Quote: |  	  | Параметры функции WinReport подробно описаны в пункте меню | 
 я знаю параметры. интересны сами алиасы с которыми Бэст вызывает печать накладной. Чтобы не изобретать велосипед и заново не подготавливать данны
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| dshlykov 
 
 
 Joined: 02 Aug 2005
 Posts: 172
 Location: Дмитрий Шлыков
 Occupation: Компания "БЭСТ"
 Interests: Москва
 
 | 
			
				|  Posted: 20 Sep 2007 09:40    Post subject: |   |  
				| 
 |  
				| Добрый день! 
  	  | shura_k wrote: |  	  | И как? 	  | Quote: |  	  | Если (по моему у Вас именно такая ситуация) необходимо распечатать один документ несколько раз, то можно сделать в одном отчете без копирования. 
 | 
 | 
 Данный вопрос решается следующим образом:
 1. В отчете выкладываете секцию MasterData с виртуальным источником
 2. На эту секцию выкладываете объект "Вложенный отчет"
 3. У вас появится в отчете страница SubReport... на этой странице Вы и рисуете (или копируете) Ваш документ.
 4. На карточке запроса задаете количество экземпляров документа, которое нужно распечатать:
 
  	  | Code: |  	  | MasterData.DataSource := <количество_копий> | 
 
 Это зависит от того как Вы вызываете функцию. Что бы узнать это необходимо поставить в вашей программе функцию ALTD() запустить программу на выполнение с отладчиком и после перехода в отладчик нажеть клавишу F6. подробно описаны в пункте меню "О программе - Программирование в среде БЭСТ-4+ - Механизм HFileEval - Быстрый старт" 	  | shura_k wrote: |  	  | интересны сами алиасы с которыми Бэст вызывает печать накладной. Чтобы не изобретать велосипед и заново не подготавливать данные. | 
 _________________
 С уважением, Дмитрий Шлыков
 Компания "БЭСТ"
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 20 Sep 2007 12:12    Post subject: |   |  
				| 
 |  
				|  	  | Quote: |  	  | Данный вопрос решается следующим образом: 1. В отчете выкладываете секцию MasterData с виртуальным источником
 2. На эту секцию выкладываете объект "Вложенный отчет"
 3. У вас появится в отчете страница SubReport... на этой странице Вы и рисуете (или копируете) Ваш документ.
 
 | 
 Сделал как вы сказали. В результате на печать выходит только MasterData из подотчета, ни шапка, ни подвал ни чего другого не выходит.
  |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| dshlykov 
 
 
 Joined: 02 Aug 2005
 Posts: 172
 Location: Дмитрий Шлыков
 Occupation: Компания "БЭСТ"
 Interests: Москва
 
 | 
			
				|  Posted: 20 Sep 2007 14:44    Post subject: |   |  
				| 
 |  
				| Не могу сказать в чем может быть дело. Единственное ограничение, которое налогается на подотчет. там не может быть секций PageHeader, PageFooter, ReportTitle и ReportSummary. Если они есть их нужно заменить на другие. Вы моглибы прислать отчет на адрес: dshlykov@bestnet.ru 	  | shura_k wrote: |  	  | Сделал как вы сказали. В результате на печать выходит только MasterData из подотчета, ни шапка, ни подвал ни чего другого не выходит.  | 
 _________________
 С уважением, Дмитрий Шлыков
 Компания "БЭСТ"
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 20 Sep 2007 15:09    Post subject: |   |  
				| 
 |  
				| Как раз их и нет! А как без них сделать нормальный печатный документ в подотчете - где должны быть и шапка и итоги, а не только данные.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| dshlykov 
 
 
 Joined: 02 Aug 2005
 Posts: 172
 Location: Дмитрий Шлыков
 Occupation: Компания "БЭСТ"
 Interests: Москва
 
 | 
			
				|  Posted: 20 Sep 2007 15:46    Post subject: |   |  
				| 
 |  
				| Для этого могут быть применены другие секции. Например: MasterHeader / MasterFooter. 	  | shura_k wrote: |  	  | А как без них сделать нормальный печатный документ в подотчете - где должны быть и шапка и итоги, а не только данные. | 
 _________________
 С уважением, Дмитрий Шлыков
 Компания "БЭСТ"
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 21 Sep 2007 11:41    Post subject: |   |  
				| 
 |  
				| Точно. Так получается более менее. Оказывается ещё есть SubReport Header и Footer - пробовал, может поможет, оказалось нет. 
 Есть ещё один вопрос. В варианте с Master Header и Footer отчет выводится подряд с разрывным переносом на новую страницу. Как сделать принудительный перенос, чтобы каждый раз Подотчет выводился на новый лист?
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 21 Sep 2007 12:48    Post subject: |   |  
				| 
 |  
				| Вроде разобрался. Надо в основном отчете в Master Data поставить свойство "Формировать новую страницу" 
 
  	  | Quote: |  	  | MasterData.DataSource := <количество_копий> | 
 Ну и это надо ставить как событие (OnBeforePrint)при Печате Основного отчета.
 
 Ну а чтобы сделать отчет из разных подотчетов, надо на основную страницу положить несколько MasterData и в каждой вложить свой Подотчет. Поправьте, если я не пра
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| dshlykov 
 
 
 Joined: 02 Aug 2005
 Posts: 172
 Location: Дмитрий Шлыков
 Occupation: Компания "БЭСТ"
 Interests: Москва
 
 | 
			
				|  Posted: 24 Sep 2007 10:02    Post subject: |   |  
				| 
 |  
				| Добрый день! 
 Таких секций нет. Может Вы имели в виду SubDetailHeader, SubDetailFooter; эти секции применяются для вывода данных из вложенных источников и отношения к SubReport не имеют. 	  | shura_k wrote: |  	  | Точно. Так получается более менее. Оказывается ещё есть SubReport Header и Footer - пробовал, может поможет, оказалось нет. | 
 
 Этот вопрос решается иммено так. 	  | shura_k wrote: |  	  | Вроде разобрался. Надо в основном отчете в Master Data поставить свойство "Формировать новую страницу" | 
 
 Можно сделать так, как написали Вы и так как написал я, т.е. на карточке запроса отчета. 	  | shura_k wrote: |  	  |  	  | Quote: |  	  | MasterData.DataSource := <количество_копий> | 
 Ну и это надо ставить как событие (OnBeforePrint)при Печате Основного отчета.
 | 
 
 Если у Вас несколько разных форм на один документ, то Вы можете это сделать. 	  | shura_k wrote: |  	  | Ну а чтобы сделать отчет из разных подотчетов, надо на основную страницу положить несколько MasterData и в каждой вложить свой Подотчет. Поправьте, если я не прав. | 
 _________________
 С уважением, Дмитрий Шлыков
 Компания "БЭСТ"
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| shura_k 
 
 
 Joined: 10 Oct 2003
 Posts: 342
 Location: Александр
 Occupation: Специалист
 Interests: Калининград
 
 | 
			
				|  Posted: 24 Sep 2007 10:30    Post subject: |   |  
				| 
 |  
				|  	  | Quote: |  	  | Можно сделать так, как написали Вы и так как написал я, т.е. на карточке запроса отчета. 
 | 
 Пробовал так - не получалось
  Поэтому и сделал по событию! |  | 
	
		| Back to top |  | 
	
		|  | 
	
		|  |