Задача такая: нужно автоматически сразу после формирования rtf-отчета в Галактике отправлять его по электронной почте. Почту отправляю внешней программой. Основная проблема  в том, как отловить момент окончания формирования отчета. Для теста я вставил небольшой код, просто выводящий сообщение, непосредственно перед окончанием текста присоединенной формы (.endform).
   В итоге получается такая картина: формируется отчет, после этого выскакивает мое сообщение. Но к этому моменту сам отчет rtf-файл еще не полностью сформирован (нахожу сам rtf-файл, копирую его, пытаюсь открыть и получаю сообщение, что файл поврежден) и при этом размер самого файла где-то олоко 131 кБайта. Далее, после закрытия моего сообщения открывается в ворде сформированный отчет и при этом размер rtf-файла становится равным 143 кБайта.
   Можно ли как-нибудь отловить событие, когда rtf-файл (отчет) будет польностью сформирован? Или, может, можно как-то подавить автоматическое открывание этого отчета в ворде, и дать ему возможность доформироваться еще до окончания .endform?
			
			
									
						
							Обработка отчета сразу после его формирования
Модераторы: m0p3e, edward_K, Модераторы
- 
				DreamWeaver
 - Сообщения: 7
 - Зарегистрирован: 30 май 2006, 15:48
 - Контактная информация:
 
Обработка отчета сразу после его формирования
Oh how I wish for soothing rain
All I wish is to dream again
My loving heart lost in the dark
For hope I'd give my everything
			
						All I wish is to dream again
My loving heart lost in the dark
For hope I'd give my everything
- 
				edward_K
 - Заслуженный деятель интернет-сообщества
 - Сообщения: 5189
 - Зарегистрирован: 29 мар 2005, 17:49
 - Откуда: SPB galaxy spb
 
Если вы отчет формируете своей прогой на vip то можно.
ключевое
для начала
OutF.nodialog ; - зачем нам спрашивать список форм?
посылка должна быть после
Outf.showfile('')
наличие кавычек важно!!
в самой форме в конце пишете
.begin nameproto.fexit end.
Вариант переделать вывод в Excel(через xl функции) и в конце сохранить файл и запустить макрос.
runform хорошо только для ard (или автономных отчетов).
			
			
									
						
										
						ключевое
для начала
OutF.nodialog ; - зачем нам спрашивать список форм?
посылка должна быть после
Outf.showfile('')
наличие кавычек важно!!
в самой форме в конце пишете
.begin nameproto.fexit end.
Вариант переделать вывод в Excel(через xl функции) и в конце сохранить файл и запустить макрос.
runform хорошо только для ard (или автономных отчетов).
- 
				Maverick
 - Абориген
 - Сообщения: 943
 - Зарегистрирован: 29 мар 2005, 17:49
 - Откуда: External Developer
 - Контактная информация:
 
Если отчет формируется стандартным интерфейсом - то никак его не выловить, ибо формирование отчета завершается при вызове одного из методов формы
а) Form.ShowFile - показывает на экране
б) Form.PrintFile - печатает на принтер без показа
в) Form.PrepareOutFile - заканчивает формирование без показа на экране.
Соответственно если у Вас отчет на экране показывается, сл-но в исходнике интерфейса работает случай а) . Соответственно вам нужно реализовать случай в). Без изменения исходника никак не получится.
Ну, в случае собственного интерфейса, все гораздо проще. вызываете вместо а) в)
			
			
									
						
										
						а) Form.ShowFile - показывает на экране
б) Form.PrintFile - печатает на принтер без показа
в) Form.PrepareOutFile - заканчивает формирование без показа на экране.
Соответственно если у Вас отчет на экране показывается, сл-но в исходнике интерфейса работает случай а) . Соответственно вам нужно реализовать случай в). Без изменения исходника никак не получится.
Ну, в случае собственного интерфейса, все гораздо проще. вызываете вместо а) в)
