powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Дата в отчете
11 сообщений из 11, страница 1 из 1
Дата в отчете
    #34014481
Umik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый всем!!!

Проблема вот в чем
Создал отчет на основе таблицы
привязал его к кнопке
но перед формированием отчета пользователь вводит период
очета с по
как передать в отчет дату (не в селект запрос формируеться нормально по выбранным датам ) а в Title отчета ну что то типа
отчет за ______ месяц ____ год
и еще почему CMONTH() возвращает название месяца по аглицки а не по русски
С Уважением Алексей!!!
...
Рейтинг: 0 / 0
Дата в отчете
    #34014507
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет CMONTH(): в русском рантайме будет по-русски. Не заморачивайся.
А насчет дат - поставь в отчет переменные с диапазоном точно так же как и поля таблицы.
...
Рейтинг: 0 / 0
Дата в отчете
    #34014527
Umik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если ставить переменные
то в неё ставлю поле дата из таблицы
но оно отбражаеться тока в Detail report а нужно в Title
я просто думал что можно как то из формы передать для отчета переменные
и прикрутить их к переменным отчета
...
Рейтинг: 0 / 0
Дата в отчете
    #34014533
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
их не нужно
передавать
их нужно объявить до репорта и присвоить им значения
в репорте они будут видны
...
Рейтинг: 0 / 0
Дата в отчете
    #34014541
Umik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PUBLIC dBeg,dEnd,path,path1,ost0,ost
dBeg=imp.ole1._value
dEnd=imp.ole2._value
Вот так определяю
в очете не видно их
...
Рейтинг: 0 / 0
Дата в отчете
    #34014565
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
паблик там не нужен и быть это не могет
...
Рейтинг: 0 / 0
Дата в отчете
    #34014696
Umik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо парни
работает
...
Рейтинг: 0 / 0
Дата в отчете
    #34014704
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UmikДень добрый всем!!!

Проблема вот в чем
Создал отчет на основе таблицы
привязал его к кнопке
но перед формированием отчета пользователь вводит период
очета с по
как передать в отчет дату (не в селект запрос формируеться нормально по выбранным датам ) а в Title отчета ну что то типа
отчет за ______ месяц ____ год
и еще почему CMONTH() возвращает название месяца по аглицки а не по русски
С Уважением Алексей!!!
А кто мешает написать свою функцию:

Код: 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.
* программа русификации CMONTH()
* параметры
* m.ldDate может быть Date, DateTime или Numeric
* lnForma может быть  0  - Январь,  1  - Января,  2  - Январе
FUNCTION rcmonth
	LPARAMETERS ldDate, lnForma
	LOCAL laSpsM, lnInd
	lnForma	= IIF( VARTYPE( m.lnForma ) = 'N', m.lnForma, IIF( m.lnForma,  1  ,  0  ))
	lnInd	= IIF( INLI( VARTYPE( m.ldDate ), 'D', 'T' ), MONTH( m.ldDate ) +  1 , MAX(  1 , MIN(  13 , m.ldDate +  1  )))
	DIMENSION laSpsM[ 13 ]
	laSpsM[  1 ]	= ''
	laSpsM[  2 ]	= ICASE( m.lnForma =  2 , 'Январе', 	m.lnForma =  1 , 'Января','	Январь')
	laSpsM[  3 ]	= ICASE( m.lnForma =  2 , 'Феврале',	m.lnForma =  1 , 'Февраля',	'Февраль')
	laSpsM[  4 ]	= ICASE( m.lnForma =  2 , 'Марте',	m.lnForma =  1 , 'Марта',		'Март')
	laSpsM[  5 ]	= ICASE( m.lnForma =  2 , 'Апреле',	m.lnForma =  1 , 'Апреля',	'Апрель')
	laSpsM[  6 ]	= ICASE( m.lnForma =  2 , 'Мае',		m.lnForma =  1 , 'Мая',		'Май')
	laSpsM[  7 ]	= ICASE( m.lnForma =  2 , 'Июне',		m.lnForma =  1 , 'Июня',		'Июнь')
	laSpsM[  8 ]	= ICASE( m.lnForma =  2 , 'Июле',		m.lnForma =  1 , 'Июля',		'Июль')
	laSpsM[  9 ]	= ICASE( m.lnForma =  2 , 'Августе',	m.lnForma =  1 , 'Августа',	'Август')
	laSpsM[ 10 ]	= ICASE( m.lnForma =  2 , 'Сентябре',	m.lnForma =  1 , 'Сентября',	'Сентябрь')
	laSpsM[ 11 ]	= ICASE( m.lnForma =  2 , 'Октябре',	m.lnForma =  1 , 'Октября',	'Октябрь'	)
	laSpsM[ 12 ]	= ICASE( m.lnForma =  2 , 'Ноябре',	m.lnForma =  1 , 'Ноября',	'Ноябрь')
	laSpsM[ 13 ]	= ICASE( m.lnForma =  2 , 'Декабре',	m.lnForma =  1 , 'Декабря',	'Декабрь'	)
	RETURN ( laSpsM[ m.lnInd ] )
ENDFUNC

С уважением, Алексей
...
Рейтинг: 0 / 0
Дата в отчете
    #34014885
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей, поглядев приведенный ниже пример, я надеюсь, вы согласитесь со мной в том, что можно значительно сократить показанный вами код.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
*:********************************************************************
*:
*:	Function:	get_month(N)
*:
*:********************************************************************
function get_month(n)
if type("n")=="D"
	n = month(n)
endif
return iif(between(n, 1 , 12 ), chrtran(get_month_im(n), 'йь', '')+iif(inlist(n, 3 , 8 ),'а','я'), "-------")

******************************
*:********************************************************************
*:
*:	Function:	get_month_pr(N)
*:
*:********************************************************************
function get_month_pr(n)
if type("n")=="D"
	n = month(n)
endif
return iif(between(n, 1 , 12 ), chrtran(get_month_im(n), 'йь', '')+'е', "-------")
...
Рейтинг: 0 / 0
Дата в отчете
    #34014933
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может код у вас получился и меньше, но:
1. Где код функции get_month_im()
2. На мой взгляд, проще редактировать и изменять, когда все в одном месте, а не в 3-х функциях!

С уважением, Алексей
...
Рейтинг: 0 / 0
Дата в отчете
    #34014992
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
*:********************************************************************
*:
*:	Function:	get_month_im(N)
*:
*:********************************************************************
function get_month_im(n)
return lower(dateformat(iif(type("n")=="D", n, date(year(date()),n, 1 )), 'MMMM'))	

Функция dateformat - обертка над API-функцией, возвращающей отформатированную в запрошенном виде переданную в качестве параметра дату.

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

Речь идет не о том как у меня хорошо, а том, что можно сделать с вашим кодом. Из моих функций взять идею и вставить в вашу. Чтобы "декабр" и иже с ним были написаны только один раз, а уж окончания можно любые подставить.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Дата в отчете
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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