powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Я так понимаю - это bug
7 сообщений из 7, страница 1 из 1
Я так понимаю - это bug
    #32545488
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
SELECT cursor_деб_обороты.id,QUARTER(cursor_деб_обороты.дата_док) as квартал;
FROM cursor_деб_обороты GROUP BY квартал;
INTO CURSOR cursor_сгрупированные_обороты_по_кварт

Не дает - пишет что function argument value,type, or count is invalid

Хотя без проблем разрешает
Код: plaintext
1.
2.
3.
4.
SELECT cursor_деб_обороты.id,;
	  (cursor_деб_обороты.дата_док-DAY(cursor_деб_обороты.дата_док)+ 1 ) as дата ,sum(сумма) as кред_обор;
FROM cursor_деб_обороты ;
GROUP BY id,дата;
INTO CURSOR cursor_сгрупированные_обороты
...
Рейтинг: 0 / 0
Я так понимаю - это bug
    #32545540
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дальше-лучше

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT cursor_счета.id, cursor_счета.номер, 10 *YEAR(paydocs.дата_док)+QUARTER(paydocs.дата_док) as квартал, paydocs.дата_док,сумма;
FROM paydocs;
	JOIN provs;
		ON paydocs.id=provs.id_doc;
	JOIN cursor_счета;
		ON provs.id_cred=cursor_счета.id;
WHERE paydocs.состояние =  2  AND paydocs.дата_док between m.from_date AND m.till_date;
INTO CURSOR cursor_деб_обороты

Вот для такого запроса при
m.from_date = CTOD('1.1.2004')
m.till_date = CTOD('31.5.2004')

Все Ok, а вот при
m.from_date = CTOD('1.3.2004')
m.till_date = CTOD('31.5.2004')

та же ошибка!!!

PS> VFP7
...
Рейтинг: 0 / 0
Я так понимаю - это bug
    #32545585
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага баг. Исправлен в VFP8.
Вот только уже не помню из-за чего он возникает. Кажется из-за пустой даты, но может еще из-за чего то...
...
Рейтинг: 0 / 0
Я так понимаю - это bug
    #32546439
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Crip
Как всегда спасибо


Я так понимаю если набор данных пуст VFP все равно вызывает QUARTER непонятно для чего и получает эту ошибку - так что впринципе можно обойти добавив
Код: plaintext
IIF(EMPTY(paydocs.дата_док), 0 , QUARTER(paydocs.дата_док)) as квартал
...
Рейтинг: 0 / 0
Я так понимаю - это bug
    #32586386
Alesh. Corp.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще, в SQL запросах рекомендуют отказываться от сложных пользовательских функций (да и не сложных тоже - из опыта), т. к. Fox может: либо выполнять запрос по-разному, либо не выполнять запрос, либо выдавать сообщение об ошибке.
...
Рейтинг: 0 / 0
Я так понимаю - это bug
    #32586637
XAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторВообще, в SQL запросах рекомендуют отказываться от сложных пользовательских функций

Можно, если реализовывать эти функции на C
...
Рейтинг: 0 / 0
Я так понимаю - это bug
    #32586748
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй вместо функции QUARTER( ) сделать явное вычисление квартала:

Код: plaintext
INT((MONTH([дата])- 1 )/ 3 )+ 1 
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Я так понимаю - это bug
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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