Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / REPORT и переменные / 13 сообщений из 13, страница 1 из 1
06.10.2007, 02:53
    #34851540
Johnny_lcool
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
Все доброго времени суток!
Есть проблема - на печать выдается отчет - пока только со сплошными переменными - без курсора. Перед выдачей на печать происходит присвоение переменных и вызов формы отчета с предварительным просмотром. НО!... Отчет ругается на переменные - якобы их нет, причем при ее удалении с отчета - на следующую по порядку. Я прочитал все темы, в которых здесь обсуждалась подобная проблема - НИЧЕГО! Убирал фокус с грида - НИЧЕГО! Уже не знаю, как поколдовать. Помогите. Кусок кода с присвоением переменных и вызовом на печать отчета:
Код: 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.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
IF !EMPTY(thisform._idls)
IF set_showdoc =  1 

	IF LEFT(thisform._ls, 2 ) = '10'
		_addr = ALLTRIM(tmp_town.town)+' '+ALLTRIM(tmp_street.street)+' '+ALLTRIM(tmp_house.nh)+' êâ.'+ALLTRIM(tmp_flats.nf)
		ELSE
		_addr = ALLTRIM(tmp_town.town)+' '+ALLTRIM(tmp_street.street)+' '+ALLTRIM(tmp_house.nh)
	ENDIF
	x = SQLEXEC(h,"select LTRIM(RTRIM(firm_name)) name, LTRIM(RTRIM(firm_inn)) inn, LTRIM(RTRIM(firm_ogrn)) ogrn, "+ ;
	"LTRIM(RTRIM(firm_addr)) addr, LTRIM(RTRIM(firm_bank)) bank, RTRIM(LTRIM(kvit_info)) inf from mb_license","_f")
	_rekvizit = ALLTRIM(_f.name)+' ÈÍÍ:'+ALLTRIM(_f.inn)+' '+ALLTRIM(_f.addr)+' '+ALLTRIM(_f.bank)
	DO CASE
		CASE MONTH(thisform._currdate) =  1 
			_bdate = 'ßíâàðü '+ALLTRIM(STR(YEAR(thisform._currdate)))
		CASE MONTH(thisform._currdate) =  2 
			_bdate = 'Ôåâðàëü '+ALLTRIM(STR(YEAR(thisform._currdate)))
		CASE MONTH(thisform._currdate) =  3 
			_bdate = 'Ìàðò '+ALLTRIM(STR(YEAR(thisform._currdate)))
		CASE MONTH(thisform._currdate) =  4 
			_bdate = 'Àïðåëü '+ALLTRIM(STR(YEAR(thisform._currdate)))
		CASE MONTH(thisform._currdate) =  5 
			_bdate = 'Ìàé '+ALLTRIM(STR(YEAR(thisform._currdate)))
		CASE MONTH(thisform._currdate) =  6 
			_bdate = 'Èþíü '+ALLTRIM(STR(YEAR(thisform._currdate)))
		CASE MONTH(thisform._currdate) =  7 
			_bdate = 'Èþëü '+ALLTRIM(STR(YEAR(thisform._currdate)))
		CASE MONTH(thisform._currdate) =  8 
			_bdate = 'Àâãóñò '+ALLTRIM(STR(YEAR(thisform._currdate)))
		CASE MONTH(thisform._currdate) =  9 
			_bdate = 'Ñåíòÿáðü '+ALLTRIM(STR(YEAR(thisform._currdate)))
		CASE MONTH(thisform._currdate) =  10 
			_bdate = 'Îêòÿáðü '+ALLTRIM(STR(YEAR(thisform._currdate)))
		CASE MONTH(thisform._currdate) =  11 
			_bdate = 'Íîÿáðü '+ALLTRIM(STR(YEAR(thisform._currdate)))
		CASE MONTH(thisform._currdate) =  12 
			_bdate = 'Äåêàáðü '+ALLTRIM(STR(YEAR(thisform._currdate)))
	ENDCASE
	_pdate = DTOC(DATE(YEAR(thisform._currdate),MONTH(thisform._currdate),DAY(thisform._currdate)))
	_ls = thisform._ls
	_lss = '*'+thisform._ls+'*'
	IF USED('tmp_main_cnt')
		_rashod = ""
		SELECT * from tmp_main_cnt INTO CURSOR _prncnt
		GO TOP IN _prncnt
		DO WHILE !EOF('_prncnt')
		_rashod = _rashod+ALLTRIM(_prncnt.name)+': '+ALLTRIM(STR(val))+' ('+ALLTRIM(STR(cv))+'-'+ALLTRIM(STR(ov))+')'+' '
		SKIP  1  IN _prncnt
		ENDDO
	ELSE
	_rashod = ' '
	ENDIF
	_dolg = thisform.label10.Caption
	_itogo = thisform.label23.Caption
	_warn = _f.inf
	_jil = 'Îáùàÿ ïëîùàäü: '+thisform.Label28.Caption+' êâ.ì. '+'â ò.÷. îòàïëèâàåìàÿ: '+thisform.Label30.Caption+' êâ.ì.; '+'æèëüöîâ: '+thisform.Label20.Caption
	IF USED('_f')
		SELECT _f
		USE
	ENDIF
	IF USED('_prncnt')
		SELECT _prncnt
		USE
	ENDIF
*!*	WAIT WINDOW _addr
*!*	WAIT WINDOW _rekvizit
*!*	WAIT WINDOW _bdate
*!*	WAIT WINDOW _pdate
*!*	WAIT WINDOW _ls
*!*	WAIT WINDOW _lss
*!*	WAIT WINDOW _rashod
*!*	WAIT WINDOW _dolg
*!*	WAIT WINDOW _itogo
*!*	WAIT WINDOW _warn
*!*	WAIT WINDOW _jil
	thisform.text1.SetFocus
	SET CONSOLE OFF
	REPORT FORM plata_kvit TO PRINTER PROMPT PREVIEW
ELSE
	REPORT FORM plata_kvit TO PRINTER NODIALOG NOWAIT
ENDIF

SET CONSOLE ON

RELEASE	_addr,_rekvizit,_bdate,_pdate,_ls,_lss,_rashod,_dolg,_itogo,_warn

ENDIF
...
Рейтинг: 0 / 0
06.10.2007, 05:58
    #34851563
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
А форма из которой запускается отчет модальная или нет?
Попробуй отключить строчку
RELEASE _addr,_rekvizit,_bdate,_pdate,_ls,_lss,_rashod,_dolg,_itogo,_warn
и посмотри результат.
...
Рейтинг: 0 / 0
06.10.2007, 08:59
    #34851580
BMJ
BMJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
Тоже мучался пока не объявил переменные PUBLIC
...
Рейтинг: 0 / 0
06.10.2007, 13:58
    #34851706
Johnny_lcool
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
Форма самая обычная. Это - метод на форме, вызываемый при нажатии строки в меню. Пробовал метод перебросить на кнопку - результат тот же. Ни объявление Public, ни комментирование RELEASE не помогает.
...
Рейтинг: 0 / 0
06.10.2007, 14:36
    #34851741
Johnny_lcool
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
Вот скрин! Вызываю.
...
Рейтинг: 0 / 0
06.10.2007, 14:38
    #34851745
Johnny_lcool
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
Получаю! ПОЧЕМУ?!
...
Рейтинг: 0 / 0
06.10.2007, 14:40
    #34851747
Johnny_lcool
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
Получаю. ПОЧЕМУ?! (Предыдущий пост - ошибся. Можно удалить)
...
Рейтинг: 0 / 0
06.10.2007, 15:37
    #34851793
BMJ
BMJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
А что выдаст wait wind _bdata после ENDCASE ( есть ли она там?)
...
Рейтинг: 0 / 0
06.10.2007, 15:42
    #34851795
BMJ
BMJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
Может создать курсор с полями =переменными из одной записи и перед репортом сделать SELE этот курсор и BROW, все таки лишний раз контроль на наличие и значения.
...
Рейтинг: 0 / 0
06.10.2007, 16:01
    #34851808
Johnny_lcool
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
В общем - разобрался! Это ж надо было так тупануть. Хотя - писал в 3 часу ночи (1 пост), так что не удивительно.

Там не сработал переключатель (отвечает вообще за показ док-та перед печатью)
Код: plaintext
IF set_showdoc =  1 
а переменные определяются именно в его секции, выполняемой по истине. Переключатель перенес перед печатью.

Всем спасиб за участие!
...
Рейтинг: 0 / 0
06.10.2007, 16:14
    #34851817
Johnny_lcool
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
Теперь другой прикол - все попадает куда нужно, на переменные не ругается. Но НЕ ВЫХОДИТ на preview - т.е. как будто никто и не печатает этот документ. Это что может быть?
...
Рейтинг: 0 / 0
06.10.2007, 16:28
    #34851829
Johnny_lcool
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
Все - и это разрешилось. Надо было курсор ему повесить.
ВСЕМ СПАСИБО за внимание и советы!
...
Рейтинг: 0 / 0
06.10.2007, 22:10
    #34852024
Декоратор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPORT и переменные
Слишком много буков. Не читал :)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / REPORT и переменные / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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