Имя: Пароль:
1C
 
Как получить текущую дату в запросе?
0 sprog
 
23.05.08
15:16
В запросе для установки даты используется параметр "Дата", например:

Запрос.Текст="...ГДЕ Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Дата, МЕСЯЦ)...";
Запрос.УстановитьПараметр("Дата", ТекущаяДата());

Как можно избавиться от использования параметра и получить текущую дату прямо в запросе?
1 Кротяра
 
23.05.08
15:18
зачем ? ты просто тогда не ограничивай конец периода.. вот и будет по ТекущаяДата()
2 levlvov
 
23.05.08
15:18
Запрос.Текст="...ГДЕ Дата МЕЖДУ НАЧАЛОПЕРИОДА(ТекущаяДата(), МЕСЯЦ) И КОНЕЦПЕРИОДА(ТекущаяДата(), МЕСЯЦ)...";
3 Кротяра
 
23.05.08
15:18
конечно если ты не ведешь базу будущим периодом :)
4 sprog
 
23.05.08
15:21
(2) так нельзя
5 levlvov
 
23.05.08
15:22
(4) можно
6 sprog
 
23.05.08
15:24
запрос вызывается из vbs через COM-конектор при формировании html страницы и устаонвить параметр не получается, вот и нужно всё в строке запроса передать.
7 Кротяра
 
23.05.08
15:24
(2) так нельзя.
8 TamerlanDE
 
23.05.08
15:37
ДАТАВРЕМЯ
9 Злая БаЦЫла
 
23.05.08
15:51
Получай нужную дату в vbs и передавай в текст запроса используя
ДАТАВРЕМЯ(<год>,<месяц>,<день>,<час>,<минута>,<секунда>)
10 Immortal
 
23.05.08
16:05
&Currentdate
11 Immortal
 
23.05.08
16:08
для ком чтобы передать дату
Запрос.УстановитьПараметр("Дата",Ком.ЗначениеИзСтрокиВнутр(ЗначениеВСтркоуВнутр(ТекущаяДата())));

впрочем и ком.ТекущаяДата() подойдёт..
(6) и чего в вб нельзяч параметры передавать?
12 tsr
 
23.05.08
16:17
В КД можно, в запросе нет
13 sprog
 
23.05.08
16:47
сделал через ДАТАВРЕМЯ

Set Query = Base.NewObject("Запрос")

d = date()
td = FormatNumber(Year(d),0, 0, 0, 0)&","
if Month(d) < 10 then
   td = td & "0"
end if
td = td & FormatNumber(Month(d),0, 0, 0, 0)&","
if Day(d) < 10 then
   td = td & "0"
end if
td = td & FormatNumber(Day(d),0, 0, 0, 0)
Query.Text = "...ГДЕ Дата МЕЖДУ НАЧАЛОПЕРИОДА(ДАТАВРЕМЯ(" & td & "), месяц) И КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(" & td & "), месяц)..."
Set Result = Money.Execute().Choose()
14 levlvov
 
23.05.08
16:53
(13) Сидоров, садись, ПЯТЬ!