|
Как указать явно в тексте запроса дату | ☑ | ||
---|---|---|---|---|
0
artpi
07.08.12
✎
07:40
|
Добрый день!
Вопрос: Нужно передать текст запроса в другую базу. Как указать в запросе дату в явном виде Делаю так, не работает: РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты('20120401000000', '20120430235959', Регистратор, , ) КАК ТоварыНаСкладахОстаткиИОбороты Хелп! Не знаю в какой формате указывать. В инете найти не смог! |
|||
1
Cube
07.08.12
✎
07:43
|
ДАТАВРЕМЯ()
|
|||
2
artpi
07.08.12
✎
07:48
|
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(ДАТАВРЕМЯ("+НачалоДня(НачПериода)+"), ДАТАВРЕМЯ("+КонецДня(КонПериода)+"), Регистратор, , ) КАК ТоварыНаСкладахОстаткиИОбороты
не работает |
|||
3
chelentano
07.08.12
✎
07:50
|
(2) "не работает" - а разве должно?
|
|||
4
Web00001
07.08.12
✎
07:52
|
Канеч не работает НачалоДня нет такой функции в запросах жеж
|
|||
5
Cube
07.08.12
✎
07:52
|
(2) О, ужас... Ты про справку (кнопочка F1) слышал что-нибудь? Вот выдержка оттуда:
Литерал типа ДАТА записывается в виде: ДАТАВРЕМЯ ( <Целое число>, <Целое число>, <Целое число>[, <Целое число>, <Целое число>, <Целое число>] ) Значения типа дата задаются с помощью ключевого слова ДАТАВРЕМЯ, после которого в скобках последовательно указываются год, месяц, день, час, минута, секунда. Последние три указывать необязательно. Максимальная дата которую возможно задать при помощи литерала ДАТАВРЕМЯ – 31.12.3999 23:59:59. |
|||
6
Маратыч
07.08.12
✎
07:57
|
(5) О ужас, через две тысячи лет 1Ска откажется работать! :)
|
|||
7
artpi
07.08.12
✎
08:06
|
Функция ДатаВСтрокуВЗапрос(Дата1С)
Строка = "ДатаВремя("+Формат(Год(Дата1С),"ЧГ=0") +","+ ?(СтрДлина(Строка(Месяц(Дата1С))) < 2, "0" + Строка(Месяц(Дата1С)) , Строка(Месяц(Дата1С))) +","+ ?(СтрДлина(Строка(День(Дата1С))) < 2, "0" + Строка(День(Дата1С)), Строка(День(Дата1С))) +","+ ?(СтрДлина(Строка(Час(Дата1С))) < 2, "0" + Строка(Час(Дата1С)), Строка(Час(Дата1С))) +","+ ?(СтрДлина(Строка(Минута(Дата1С))) < 2, "0" + Строка(Минута(Дата1С)), Строка(Минута(Дата1С))) +","+ ?(СтрДлина(Строка(Секунда(Дата1С))) < 2, "0" + Строка(Секунда(Дата1С)), Строка(Секунда(Дата1С)))+")"; Возврат Строка; КонецФункции РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты("+ДатаВСтрокуВЗапрос(НачалоДня(НачПериода))+","+ДатаВСтрокуВЗапрос(КонецДня(КонПериода))+", Регистратор, , ) КАК ТоварыНаСкладахОстаткиИОбороты |
|||
8
artpi
07.08.12
✎
08:06
|
Победил! Всем спасибо!
|
|||
9
Cube
07.08.12
✎
08:10
|
(7) Ты безнадежен)))
Вариант 1: ТекстЗапроса = "... РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(ДАТАВРЕМЯ(2012, 04, 01), ДАТАВРЕМЯ(2012, 04, 30, 23, 59, 59), Регистратор, , ) КАК ТоварыНаСкладахОстаткиИОбороты ..." Вариант 2: ТекстЗапроса = "... РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(ДатаНач, ДатаКон, Регистратор, , ) КАК ТоварыНаСкладахОстаткиИОбороты ..." Запрос.УстановитьПараметр("ДатаНач", ТекущаяДата()); Запрос.УстановитьПараметр("ДатаКон", КонецДня(ТекущаяДата())); |
|||
10
chelentano
07.08.12
✎
08:12
|
(7) это что сейчас было?
|
|||
11
aleks-id
07.08.12
✎
08:15
|
>>?(СтрДлина(Строка(Месяц(Дата1С))) < 2, "0" + Строка(Месяц(Дата1С)) , Строка(Месяц(Дата1С))
рукалицо.жпг |
|||
12
Живой Ископаемый
07.08.12
✎
08:16
|
чуваки, он из Челябинска...
|
|||
13
aleks-id
07.08.12
✎
08:16
|
при этом в (5) четко написано ДАТАВРЕМЯ ( <Целое число>!!!
нахрена там "0" + Строка(Месяц(Дата1С)) |
|||
14
artpi
07.08.12
✎
08:29
|
(9) умник! ты читал для чего мне это?
Мне нужно текст запроса в другую базу передать! и там выполнить!!! Иначе нафига бы я запаривался! Вариант 1 и вариант 2 (особенно) не катят, т.к. эти даты ПЕРЕМЕННЫЕ! |
|||
15
artpi
07.08.12
✎
08:30
|
(12) Не завидуй ;-)
|
|||
16
artpi
07.08.12
✎
08:31
|
Как я вас обожаю умники мля!!!!
нет чтобы помочь, сразу умничать! Ну прям блистают тут все своим остроумием! |
|||
17
artpi
07.08.12
✎
08:33
|
Тема закрыта!
|
|||
18
Живой Ископаемый
07.08.12
✎
08:34
|
2(14) вариант 1 по-прежнему катит. не ври.
Ну блин, некоторые блистают тупостью, и его нужно как-то оттенять, поэтому приходится блистать остроумием. |
|||
19
Живой Ископаемый
07.08.12
✎
08:34
|
2(17) нужно три раза повторить. Такие на этом форуме правила.
|
|||
20
artpi
07.08.12
✎
08:44
|
(18) Работает, но не катит!
Дата - переменная. |
|||
21
Живой Ископаемый
07.08.12
✎
08:48
|
ТекстЗапроса = "...
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(ДАТАВРЕМЯ("+Год(МояДата)+","+Месяц(МояДата)+","+День(МояДата)+") |
|||
22
Serg_1960
07.08.12
✎
08:57
|
А если учесть, что тс нужно начало дня и конец дня, то время можно добавлять строкой. Типа так:
"...ДАТАВРЕМЯ(" + Год(Дата) + "," + Месяц(Дата) + "," + День(Дата) + "23,59,59"... |
|||
23
Serg_1960
07.08.12
✎
08:59
|
(22) Упс :) ",23,59,59"
|
|||
24
Cube
07.08.12
✎
09:00
|
Седня чо, пятница уже?))
|
|||
25
artpi
07.08.12
✎
09:00
|
Молодцы! :-))))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |