powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Печать итогов crystal reports
13 сообщений из 13, страница 1 из 1
Печать итогов crystal reports
    #37262792
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Снова здравствуйте. По некоторым причинам сменила версию 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
Печать итогов crystal reports
    #37262878
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Печать итогов crystal reports
    #37263030
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного не правильный код привела. Вот исправила:
Код: 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
Печать итогов crystal reports
    #37263034
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этот код в программе, написанной на foxpro 9.0
...
Рейтинг: 0 / 0
Печать итогов crystal reports
    #37263327
Этот код в программе, написанной на foxpro 9.0 Плохо :(
Просто когда-то находил тему:
Как создать такой отчет в Crystal Reports? Куб-не куб, объединение 2-ух subtotals.
Здесь все шикарно решается самим SQL`ем.
Но ниже дан совет и по Crystal...
...
Рейтинг: 0 / 0
Печать итогов crystal reports
    #37263904
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начинающий SQL 2008,

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

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

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

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

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

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

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


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