Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Печать итогов crystal reports / 13 сообщений из 13, страница 1 из 1
16.05.2011, 15:11
    #37262792
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
Снова здравствуйте. По некоторым причинам сменила версию crystal reports с 12 на 11.5.0.313, теперь перестала работать печать итогов.
В программе написан код:

FOR EACH loObj IN loCrstApp.oReport.Areas
IF loObj.Name == "DetailArea1"
loObj.Suppress = .T.
ENDIF
ENDFOR


Печать отчета вылетает.

Попробовала вывести ошибку, получила вот что:

error number: 0
error message: procedure canselled
line of code with error: .printcrystal()
line number of error: 118
program with error: da_fmdocout.command6.click()

118 строка у меня пустая.
...
Рейтинг: 0 / 0
16.05.2011, 15:33
    #37262878
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
************** crystal reports*****************	
**************CrystalRuntime.application. 11  
	oCR=CREATEOBJECT("CrystalRuntime.application.11")
   	oRpt=oCR.OpenReport( 'reports\' + report_name + '.rpt')

	FOR i= 1  TO reports.kol
     			
*!*						IF reports_parameter.parout
*!*					       DO CASE   						 
*!*	      						CASE reports_parameter.TYPE = 'N'
*!*		        					par(i)= IIF(cur1, par(i),  0 )      						
*!*				     			CASE reports_parameter.TYPE = 'D'
*!*	    			   				par(i)= IIF(cur1, par(i), CTOD(''))    			   						
*!*	      						CASE reports_parameter.TYPE = 'C'
*!*	        						par(i)= IIF(cur1, par(i), '')
*!*			    			ENDCASE    		
*!*			    		 endif	


	 				oRpt.ParameterFields(i).SetCurrentValue(par(i))
							
				ENDFOR
				

   		DO CASE
   			CASE .chkSum.VALUE =  0  &&   если не стоит галочка "печать только итогов" на форме

     		WITH lp_fmstart.printt
						.olecontrol1.reportsource=oRpt
						.olecontrol1.Viewreport()
									
					ENDWITH 
					   

      		CASE .chkSum.VALUE =  1  &&  если стоит галочка "печать только итогов" на форме
      		

						FOR EACH loObj IN orpt.areas 
  							IF loObj.Name == "DetailArea1"  
  								loObj.Suppress = .T.  
  							ENDIF  
  						ENDFOR
			  	
					WITH lp_fmstart.printt
						.olecontrol1.reportsource=oRpt
						.olecontrol1.Viewreport()
									
					ENDWITH 
				     	
        	ENDCASE
        	
...
Рейтинг: 0 / 0
16.05.2011, 16:24
    #37263030
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
Немного не правильный код привела. Вот исправила:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
**************ïå÷àòü îò÷åòà crystal reports*****************	
**************ñîçäàåì îáúåêò CrystalRuntime.application. 11  
	oCR=CREATEOBJECT("CrystalRuntime.application.11")
   	oRpt=oCR.OpenReport( 'reports\' + report_name + '.rpt')
  SET STEP ON  	
	DO CASE
		CASE .chkSum.VALUE =  0  &&   
			FOR i= 1  TO reports.kol
 				oRpt.ParameterFields(i).SetCurrentValue(par(i))				
			ENDFOR

		****òèïà ïå÷àòü èòîãîâ

   			CASE .chkSum.VALUE =  1  && 
      			FOR i= 1  TO reports.kol
     				oRpt.ParameterFields(i).SetCurrentValue(par(i))
				ENDFOR
          		
          		***	ïåðåáðàòü areas óæå çàãðóæåííîãî îò÷åòà. Íàéòè íóæíóþ îáëàñòü è åå ïîäàâèòü.  
				FOR EACH loObj IN orpt.areas 
  					IF loObj.Name == "DetailArea1"  
  						loObj.Suppress = .T.  
  					ENDIF  
  				ENDFOR

        			  	
				WITH lp_fmstart.printt
					.olecontrol1.reportsource=oRpt
					.olecontrol1.Viewreport()
							
				ENDWITH 
        	ENDCASE

...
Рейтинг: 0 / 0
16.05.2011, 16:26
    #37263034
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
Этот код в программе, написанной на foxpro 9.0
...
Рейтинг: 0 / 0
16.05.2011, 18:35
    #37263327
Печать итогов crystal reports
Этот код в программе, написанной на foxpro 9.0 Плохо :(
Просто когда-то находил тему:
Как создать такой отчет в Crystal Reports? Куб-не куб, объединение 2-ух subtotals.
Здесь все шикарно решается самим SQL`ем.
Но ниже дан совет и по Crystal...
...
Рейтинг: 0 / 0
17.05.2011, 08:15
    #37263904
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
Начинающий SQL 2008,

Почему плохо? Что плохого в Foxpro? SQL мне как-раз таки не надо.
...
Рейтинг: 0 / 0
17.05.2011, 09:00
    #37263972
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
Начинающий SQL 2008,

В любом случае, спасибо за совет. Я нашла ошибку в программе, которая влияла на печать отчета.
...
Рейтинг: 0 / 0
17.05.2011, 09:21
    #37264014
MAYAKOV_SV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
НадеждаМПочему плохо? Что плохого в Foxpro?
С FoxPro все хорошо.
Просто не совсем удачная архитектура, так скажем.
Фокс влияет на видимость секций.
Лучше все обязанности по формированию отчета и управление этим переложить на Crystal.
Вроде такого: параметр "только итоги" передавать с фокса, а Crystal уже сам построит как надо.
Нужно соблюдать принцип разделения обязанностей - каждый модуль, класс должны выполнять только свои обязанности. Иначе будет "паутинка", в которой можно будет запутатся.
А то получается часть математики по формированию отчета на Crystal, а часть на фоксе.
Смотрим этот фрагмент кода:
Код: plaintext
1.
IF loObj.Name == "DetailArea1"
Видим тут явное указание на имя объекта. Автор предпологает, что все отчеты будут построены по одному принципу, и что нужно будет скрывать только секцию с именем DetailArea1. А вдруг это не так? Вдруг в одном отчете нужно будет скрывать другую секцию или две... Если такое будет, нужно будет фоксовую программу корректировать и писать заплатки. А эти заплатки только запутывают нашу паутинку.

Вот такое объяснение. Извините за много слов.
...
Рейтинг: 0 / 0
17.05.2011, 09:23
    #37264018
MAYAKOV_SV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
MAYAKOV_SVЛучше все обязанности по формированию отчета и управление этим переложить на Crystal.
Вроде такого: параметр "только итоги" передавать с фокса, а Crystal уже сам построит как надо.
НадеждаМ, переделывать ничего не нужно, пусть останется как есть.
Я просто на будущее рассказал и объяснил в чем неправильность.
...
Рейтинг: 0 / 0
17.05.2011, 10:03
    #37264078
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
MAYAKOV_SVMAYAKOV_SVЛучше все обязанности по формированию отчета и управление этим переложить на Crystal.
Вроде такого: параметр "только итоги" передавать с фокса, а Crystal уже сам построит как надо.
НадеждаМ, переделывать ничего не нужно, пусть останется как есть.
Я просто на будущее рассказал и объяснил в чем неправильность.

Я и не собиралась переделывать :). У нас на форме есть галочка, "Печать только итогов", при установлении которой необходимо только детали, а остальные скеции оставить видимыми. Так что в данном конкретном случае и используем прямое обращение по имени конкретной секции.
...
Рейтинг: 0 / 0
17.05.2011, 10:07
    #37264081
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
У нас скрытие других секций не предвидится вобще, так как отчеты в основном табличной формы. Так было с fox отчетами, так же надо сделать и crystal.
...
Рейтинг: 0 / 0
17.05.2011, 10:26
    #37264121
MAYAKOV_SV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
НадеждаМУ нас скрытие других секций не предвидится вобще, так как отчеты в основном табличной формы. Так было с fox отчетами, так же надо сделать и crystal.
Надежда, я говорю о подходе к проектированию приложений.
Не нужно строить приложение на основании того, что вероятнее всего других случаев не будет.
Я как-то делал программу расчета. Мне сказали сверху, что анализ на даты в одном месте не надо делать, т.к. смена периодов вряд ли будет в середине месяца. Я настаивал на правильной математике, но меня не слышали. Но когда случилось это, мне пришлось в срочном порядке править отчет за час до печати 300 страниц. В общем переволновался жутко, аж давление вечером подскачило.

Правильный подход в проектировании приложений избавляет от многих проблем в сопровождении, эксплуатации и расширении функциональности.

Ну это так, делюсь своим опытом.
...
Рейтинг: 0 / 0
17.05.2011, 11:14
    #37264207
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать итогов crystal reports
MAYAKOV_SV,

Если бы я с нуля проектировала приложение, то делала бы посвоему. А так как я не создавала его с нуля, то пока потихоньку модифицирую, согласно логике, которая была заложена в приложение изначально. Когда будет время, займемся изменением вплотную.
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Печать итогов crystal reports / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]