![]() |
![]() |
![]() |
|
Проверка даты в запросе | ☑ | ||
---|---|---|---|---|
0
okosv
17.12.10
✎
13:43
|
Привет всем.
Платформа 1С 8.1, Конфигурация: УТ Не могу корректно написать запрос, с проверкой даты в докуменет "Реализация товаров и услуг" существование документов определенного контрагента за 14.12.2010. Вот запрос: Запрос = Новый Запрос("ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Контрагент = &Контрагент | И РеализацияТоваровУслуг.Дата >= 20101214 | И РеализацияТоваровУслуг.Дата < 20101215"); Если проверку даты удаляю, документы выходят, а документы за определенный день не выходят. Помогите советом, где неправильно написал |
|||
1
Vitello
17.12.10
✎
13:44
|
пиши в шманструкторе запроса если руками не умеешь.
а еще почитай как константы типа дата задавать |
|||
2
Wobland
17.12.10
✎
13:45
|
(0)
Дата МЕЖДУ &ДатаНачала И &ДатаКонца ДатаНачала=НачалоДня(ТвояДата); ДатаКонца=<придумай сам>; |
|||
3
Cube
17.12.10
✎
13:46
|
Запрос = Новый Запрос("ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Контрагент = &Контрагент | И РеализацияТоваровУслуг.Дата >= &ДатаНач | И РеализацияТоваровУслуг.Дата < &ДатаКон"); Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ВыбраннаяДата)); Запрос.УстановитьПараметр("ДатаКон", КонецДня(ВыбраннаяДата)); |
|||
4
Ненавижу 1С
гуру
17.12.10
✎
13:47
|
(0) используй параметры
|
|||
5
Cube
17.12.10
✎
13:47
|
(2) +1
|
|||
6
Wobland
17.12.10
✎
13:48
|
(3) ну и зачем ты так? человек с (2) хоть немного бы подумал
|
|||
7
Cube
17.12.10
✎
13:53
|
(6) Сжалился, пятница ведь... =))
|
|||
8
Kasper076
17.12.10
✎
13:55
|
Запрос = Новый Запрос(
"ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Контрагент = &Контрагент | И НачалоПериода(РеализацияТоваровУслуг.Дата,ДЕНЬ) = НачалоПериода(&ВыбДата)"); |
|||
9
okosv
17.12.10
✎
13:57
|
В 1С во внешней обработке через НачалоДня и КонецДня получилось сделать, точнее
Запрос = Новый Запрос("ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Контрагент = &Контрагент | И РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаКонца"); Запрос.УстановитьПараметр("Контрагент", Контр.Ссылка); Запрос.УстановитьПараметр("ДатаНачала", НачалоДня('20101214')); Запрос.УстановитьПараметр("ДатаКонца", КонецДня('20101214')); Но параметры не могу использовать из-за того, что не могу их передать в запрос при использовании 1С через COMConnector Хотел во внешней программе использовать функции НачалоДня и КонецДня, тоже не знаю как не получается вот тема: v8: v81.COMConnector: Передать дату в качестве параметра в запрос Или не могу использовать функции НачалоДн |
|||
10
Wobland
17.12.10
✎
13:58
|
(8) И НачалоПериода(РеализацияТоваровУслуг.Дата,ДЕНЬ) = НачалоПериода(&ВыбДата, ДЕНЬ)");
|
|||
11
okosv
17.12.10
✎
14:17
|
Вот в Visual Basic пробую передать параметр 1C COM
strDT = "14.12.2010" objV8Q.УстановитьПараметр "ДатаНачала", Format$(strDT, "YYYYMMDD") & " 00:00:00" objV8Q.УстановитьПараметр "ДатаКонца", Format$(strDT, "YYYYMMDD") & " 23:59:59" Т.е. даты вида 20101214 00:00:00 и 20101215 23:59:59 соотвественно, пробовал их в апострофы заключать, толку нет По любому записей не видит В конструкторе все пашет, как из внешней программы правильно передать дату в правильном формате |
|||
12
Kasper076
17.12.10
✎
14:23
|
"ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Контрагент = &Контрагент | И НачалоПериода(РеализацияТоваровУслуг.Дата,ДЕНЬ) = НачалоПериода(ДАТАВРЕМЯ(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>), День)"); |
|||
13
okosv
17.12.10
✎
15:16
|
(12) Супер! Получилось, в Год, Месяц и т.д. из Visual Basic'а передаю значения и все работает
Спасибо большое! И другим участникам темы тоже |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |