|
Дата в запросе к справочнику | ☑ | ||
---|---|---|---|---|
0
Aneumo
08.02.18
✎
04:15
|
Есть запрос к справочнику, у справочника есть поле "Дата". Пользователь на форме вводит дату, создается запрос с условием поиска ГДЕ Справочник.ФизЛицо.Дата = ВведеннаяПользователемДата;
При запуске и вводе даты, возврат пустого запроса, если убрать условие с датой, то все стабильно выводит. Вопрос в следующем - в каком виде формировать дату, что бы запрос её корректно обрабатывал. PS Вводимая дата в справочнике точно есть. Сам запрос Запрос.Текст = "ВЫБРАТЬ | ФизЛицо.Наименование, | ФизЛицо.ДатаРождения, |ИЗ | Справочник.ФизическоеЛицо КАК ФизЛицо |ГДЕ | ФизЛицо.Наименование = """ + ФИОТекст + """ | И | ФизЛицо.ДатаРождения = """+ Формат(ДатаРождения,"ДФ=dd.MM.yyyy; ДЛФ=D") + """"; |
|||
1
Aneumo
08.02.18
✎
04:20
|
Версия 1С 8.3 для обучения программированию
|
|||
2
mehfk
08.02.18
✎
04:31
|
Вдумайся, для чего нужна эта конструкция
|
|||
3
Aneumo
08.02.18
✎
04:34
|
(2) для чего нужна понятно - для приведения того что ввел юзер из дата + время, к формату день.мес.год
что я упускаю? |
|||
4
H A D G E H O G s
08.02.18
✎
04:38
|
(0) Язык запросов, фактически, русско-лингвистическая калька с языка запросов ms sql (SQL92), в котором вы, разработчик такой, не побоюсь этого слова, передовой системы сбора и обработки информации, которую вы не постыдились представить на научно - практической конференции "по новым компьютерным технологиям и защите компьютерных программ", должны быть как рыба в воде.
|
|||
5
Aneumo
08.02.18
✎
04:40
|
в отладчике запрос принимает вид, к примеру, ФизЛицо.ДатаРождения = "01.01.2018";
я не могу найти формат даты, который бы возвращал мне не пустой запрос, он мне, со сравнением существующей в справочнике даты, возвращает пустую выборку, и я не могу понять как тут организовать сравнение введенной даты с полем справочника |
|||
6
Wit77
08.02.18
✎
04:44
|
(5) Формат() - возвращает строковое представление даты. Таким образом в запросе ты сравниваешь значение типа "Дата" со значением типа "Строка". Конечно выборка будет пустая.
вместо формата тебе надо использовать конструкцию, которая будет возвращать значение типа "Дата" - тогда все будет работать корректно. |
|||
7
Aneumo
08.02.18
✎
04:45
|
(6) Ок, понял, спасибо огромное
|
|||
8
Wit77
08.02.18
✎
04:48
|
(7) еще момент - не совсем корректно вставлять условие склейкой текста запроса.
Нужно использовать параметры, например: ФизЛицо.Наименование = &ФИОТекст как и что дальше - думаю разберешься сам. |
|||
9
catena
08.02.18
✎
06:10
|
(6)Ага, прямо в текст запроса.
|
|||
10
Chameleon1980
08.02.18
✎
06:14
|
НачДня
|
|||
11
Chameleon1980
08.02.18
✎
06:17
|
блин т.е. типа:
"ВЫБРАТЬ | ФизическиеЛица.Ссылка, | ФизическиеЛица.ДатаРождения |ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица |ГДЕ | НАЧАЛОПЕРИОДА(ФизическиеЛица.ДатаРождения, ДЕНЬ) = НАЧАЛОПЕРИОДА(&ДатаРождения, ДЕНЬ)"; |
|||
12
Mankubus
08.02.18
✎
06:19
|
(11) дата рождения итак всегда будет началом дня, это лишнее
|
|||
13
Chameleon1980
08.02.18
✎
06:21
|
да блин. я для примера :)
|
|||
14
Chameleon1980
08.02.18
✎
06:22
|
какой справочник под руку попался
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |