Имя: Пароль:
1C
1С v8
Явно указать дату в запросе
0 листопад
 
26.05.14
00:17
В запросе указывается период:
|И РеализацияТоваровУслугУслуги.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода

Как в параметрах запроса явно указать дату начала периода = 15.03.2014г.? Сейчас она указывается как:
Запрос.УстановитьПараметр("НачалоПериода",НачалоМесяца(ТекущаяДата()));              
    Запрос.УстановитьПараметр("КонецПериода",КонецДня(ТекущаяДата()));
    Выборка = Запрос.Выполнить().Выбрать();            


Правильно ли будет, если я напишу в параметрах:

ДатаНач = Дата(2014,03,15);
Запрос.УстановитьПараметр("НачалоПериода",ДатаНач);        
Запрос.УстановитьПараметр("КонецПериода",КонецДня(ТекущаяДата()));
Выборка = Запрос.Выполнить().Выбрать();
1 iamnub
 
26.05.14
00:18
Нормально
2 vicof
 
26.05.14
00:20
Не очень, лучше передавать дату из формы, наверняка ее пользователь вводит.
3 DirecTwiX
 
26.05.14
00:21
ДатаВремя(2014, 05, 26, 0, 21, 15)
4 листопад
 
26.05.14
00:24
(3) Время не надо. Мне надо взять полностью день 15.03.2014 и все что дальше.
5 листопад
 
26.05.14
00:24
(2) Нет, это внутри код.
6 листопад
 
26.05.14
00:26
Меня смущает вот что надо писать:
ДатаНач = Дата(2014,03,15);
или:
ДатаНач = Дата("20140315");
7 User_Agronom
 
26.05.14
00:27
Без разницы
8 DirecTwiX
 
26.05.14
00:27
ДатаНач = Дата(2014,03,15);
или
ДатаНач = Дата('20140315');
9 DirecTwiX
 
26.05.14
00:28
апостроф, а не кавычки)
10 листопад
 
26.05.14
00:32
спасибо, лучше тогда запятые использовать...
11 Wobland
 
26.05.14
04:02
(8) дату превратил в дату. молодец
12 листопад
 
26.05.14
21:58
А теперь другой вопрос. Надо указать явно текущую дату (а в запросе две даты). Правильно ли будет, если я напишу:


Запрос.УстановитьПараметр("НачалоПериода",НачалоДня(ТекущаяДата()));
Запрос.УстановитьПараметр("КонецПериода",КонецДня(ТекущаяДата()));
Выборка = Запрос.Выполнить().Выбрать();


P.S. Запрос отрабатывает ежедневно по регламентному заданию, запускающемся каждый день в 21.00ч. Вот меня и смущает, вдруг бухгалтера решат поработать после 21.00ч., тогда часть док-тов в выборку не попадет?
13 CHerypga
 
26.05.14
22:06
(12) а как получить текущую дату не через ТекущаяДата() ?
14 CHerypga
 
26.05.14
22:12
меня больше смущает запрос к таблице документов. неужели ни в одном из регистров нет нужных данных?
15 Эмбеддер
 
26.05.14
22:13
(9) в твоем примере без разницы что апостроф, что кавычки.
правильно вот так '20140315' или Дата("20140315")

но можно и так: Дата(Дата('20140315')) - но зачем?
16 листопад
 
26.05.14
22:13
(13) Да, как? Неужели можно по-другому? Прошу помощи КОЛЛЕГ!!!
17 листопад
 
26.05.14
22:14
(15) не уводим вопрос, сейчас актуальным является вопрос в (12).
18 CHerypga
 
26.05.14
22:16
(17) будет правильно. если параноить, то можно еще сделать
Новый Граница(КонецДня(ТекущаяДата()), ВидГраницы.Включая);
19 m-serg74
 
26.05.14
22:21
(18) граница вроде в вирт. таблицах только актуальна
20 CHerypga
 
26.05.14
22:22
(19) да, и в (14) я как раз смущался по поводу запроса к таблице документов
21 m-serg74
 
26.05.14
22:24
(20) а кто сказал что они проведены? может задание как раз и проводит их, поэтому (14) может быть неактуально
22 m-serg74
 
26.05.14
22:25
(12) /поработать после 21.00ч., тогда часть док-тов в выборку не попадет?/

если документы создадут после того как отработает задание, конечно не попадут
23 Эмбеддер
 
26.05.14
22:27
(12) создай регистр сведений, устанавливай там признак, что документ обработан. так сможешь отлавливать вчерашние не попавшие документы
24 CHerypga
 
26.05.14
22:27
(21) об этом я даже не подумал, потому что дата начала в первом квартале, а мы во втором. и было сказано что это в качестве регламента. странно было бы таким образом прошлый квартал проводить. хотя бывает наверное всякое
25 m-serg74
 
26.05.14
22:28
(24) да (0) не поймешь, то с опред. даты надо, то потом только за тек. дату :)
26 листопад
 
26.05.14
22:43
(18) Не пойдет, у нас в параметрах две даты.
(25) Запрос выгружает по регламенту определенные док-ты в другую программу (не 1С). Вчера выгрузили первый раз все, что было. А теперь надо настроить ежедневную переброску.
27 m-serg74
 
26.05.14
22:50
(26) так а почему в 21, а не в 01:00 например за предыд. сутки?
28 m-serg74
 
26.05.14
22:50
или тогда интервал должен быть с 21.00 вчера по 21.00 сегодня
29 m-serg74
 
26.05.14
22:52
+(28) и в дополнение, см. (23) или что то подобное с регистрацией выгруженных
30 CHerypga
 
26.05.14
22:53
уж лучше как в (27). плюс в регистр бы не помешало писать при проведении документов, мало ли кто-то захочет модифицировать вчерашний документ
31 Фокусник
 
26.05.14
23:00
(8) Достаточно так:
ДатаНач = '20140315';
:)
32 m-serg74
 
26.05.14
23:00
(30) вообще не понятно есть же типовые механизмы обменов, зачем лисапед ТС изобретает
33 CHerypga
 
26.05.14
23:10
(32) ей же не в адинэс выгружать нужно. да и глядя на фотку... пусть изобретает. с такой фоткой и помочь не грех
34 m-serg74
 
26.05.14
23:18
(33) / да и глядя на фотку... пусть изобретает. с такой фоткой и помочь не грех/

так то да:)

/ей же не в адинэс/

механизм регистрации изменений ничем не помешает хоть куда выгружать
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.