| 
	 | 
| 
			
			 | 
		#1 | 
| 
			
			 Программист 
		
			
	 | 
	
	
	
		
		
			
			
			Создание формы перед генерацией отчета
			 
			
			Здравствуйте 
		
		
		
		
		
		
		
	У меня такая ситуация Генерируем какой-либо отчет. Но перед его генерацией мне нужно вызвать какую-либо форму, ввести там данные, в зависимости от этих данных создать отчет. Подскажите, есть ли какой-нить пример такой ситуации и в какую сторону мне лучше копать? Причем эта форма что то вроде модальной формы, диалога. Пока у меня мысли создать форму, привязать ее к MenuItem а потом вызвать - но что то мне кажется что это неправильно  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			посмотрите любой из наследников класса RunBaseReport
		 
		
		
		
		
		
		
			
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 program-ёр 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Можно оттолкнуться сразу от RunBaseBatch
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Становись лучше  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Это не совсем хорошая идея. 
		
		
		
		
		
		
			
		
		
		
		
	Во-первых, RunBaseReport специфически написан для печати отчетов. Во-вторых, RunBaseBatch нужен для работы в пакетном режиме, который в данном случае врядли будет использоваться.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 program-ёр 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
2. что-ли RunBaseReport в пакетном режиме не запустить? 
				__________________ 
		
		
		
		
		
			Становись лучше Последний раз редактировалось kvg6; 12.11.2006 в 15:59.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
2. Чего ж нельзя, можно. Просто зачем?  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Программист 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Хмм.... 
		
		
		
		
		
		
			Попробую разобраться... Спасибо, блин, бальшое (с) Масяня  
		
				__________________ 
		
		
		
		
	Жизнь меняется тогда, когда меняемся мы...  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну если данных в форме вводить не много, то в отчет можно передать через Args
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Хм. Чтобы помочь вам разбираться, неплохо было бы посмотреть класс tutorial_RunBaseReport. 
		
		
		
		
		
		
			
		
		
		
		
	Создать такой же (дублированием) и: 1) в нем нужно изменить метод lastValueElementName() - в нем указать тот отчет, который хотите вызвать. 2) в методе dialog вызвать или свою форму, или просто диалог (это см. в АОТ в каком-нибудь из наследников) (можно глянуть, к примеру, на tutorial_RunBaseBatch) 3) В методе description() написать то, что хотите видеть в заголовке формы диалога.  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Можно создавать форму в отчете 
		
		
		
		
		
		
		
	public boolean fetch() { Dialog dialog; DialogField DialogField; Boolean ret; ; dialog = new dialog("Диалог"); DialogField = dialog.addField(typeid(NoYes), "НетДа"); if(dialog.run() && dialog.closedOk()) { print DialogField.value();// из формы ret = super(); } return ret; }  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: madproger (1). | |
| 
			
			 | 
		#11 | 
| 
			
			 Модератор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Блин! Что, все забыли о туториалах?? 
		
		
		
		
		
		
		
	Смотрите отчеты и формы, начинающиеся с tutorial и содержащие в названии RunBase. Там Ваша задача реализована. Вкратце: создается своя форма на базе стандартной (с группой, куда автоматом будут добавляться текущие критерии и группой клавиш), в классе перекрывается dialog и вместо диалога по-умолчанию подставляется Ваша форма. Потом параметрически сохраняются переменные, пакуются и запускается отчет. И вуаля! ![]() Удачи! Георгий  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
  (если от Вашего считать)а почему без "С уважением"?  
		Последний раз редактировалось kashperuk; 12.10.2006 в 12:00.  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Модератор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Мда, Вы опередили. Я стал отвечать, да отвлекся. 
		
		
		
		
		
		
		
	Цитата: 
	
Для разнообразия ![]() С Уважением, Георгий  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Программист 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Блин - стока вариантов. Думаю для того что мне надо счас подойдет вариант с Диалогом. А для себя надо будет рассмотреть все остальные варианты. Вариант с диалогом - потому что мне надо получить от юзера одну только циферку  
		
		
		
		
		
		
			 
		
				__________________ 
		
		
		
		
	Жизнь меняется тогда, когда меняемся мы...  | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Учитесь сразу следовать BestPractice. Это не совет по поводу данной задачи, а совет просто, на будущее
		 
		
		
		
		
		
		
			
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Программист 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Тут вот я не очень понял - неужели мне надо писать целый класс, форму, чтобы при запуске отчета спросить одну цифорку у пользователя?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Жизнь меняется тогда, когда меняемся мы...  | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 Banned 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ответ на риторический вопрос - да. Не форму, а класс, как минимум - один метод dialog(). Заметим, что в версии 4.0 Best practices поменялись: если не нужно наследование, то подобные диалоги делают прямо на отчете. Пример: \Reports\BankAccountStatement
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Хмм.. Ведь и в 3.0 можно перекрыть метод dialog() непосредственно на отчете. Почему бы тогда, разумеется если не нужно наследование, не использовать это?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#19 | 
| 
			
			 Программист 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
![]() Вобщем на данный момент сделал наподобие него 
				__________________ 
		
		
		
		
	Жизнь меняется тогда, когда меняемся мы...  | 
| 
	
 | 
| 
			
			 | 
		#20 | 
| 
			
			 Banned 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А я вот и говорю, что использовать надо. И в 3.0 тоже.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
	
	 | 
	
			 
			Похожие темы
		 | 
	||||
| Тема | Ответов | |||
| Теория: Создание отчета в виде Запроса | 3 | |||
| Создание Lookup формы | 9 | |||
| Генерация веб-формы на основе отчёта | 0 | |||
| Русская локализация Axapta 3 ? | 59 | |||
| Создание feature key на поле формы | 11 | |||
		
  |