Здравствуйте, уважаемые участники форума!
Подскажите пожалуйста, можно ли как-то в запросе передавать параметр для части даты?
Запрос для выборки договоров по дате, в которой год передаётся параметром в процедуру, код ниже.
Как я поняла, с ДАТАВРЕМЯ() такой фокус не получится. Возможно, есть какие-то альтернативы?
Заранее спасибо!
Подскажите пожалуйста, можно ли как-то в запросе передавать параметр для части даты?
Запрос для выборки договоров по дате, в которой год передаётся параметром в процедуру, код ниже.
Как я поняла, с ДАТАВРЕМЯ() такой фокус не получится. Возможно, есть какие-то альтернативы?
Заранее спасибо!
Процедура Тест(Год)
ГодБезПробела = Строка(Год);
ГодБезПробела = СтрЗаменить(ГодБезПробела, Символы.НПП, "");
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Год", Год);
Запрос.Текст =
"ВЫБРАТЬ
| Договоры.Ссылка как Договор
|ИЗ
| Справочник.Договоры КАК Договоры
|ГДЕ
| Договоры.ДатаДоговора МЕЖДУ ДАТАВРЕМЯ(&Год, 1,1) И ДАТАВРЕМЯ(&Год, 12, 31)
| И Договоры.НаправлениеДеятельности.Наименование = ""Сельхоз"" ";
РезультатЗапроса = Запрос.Выполнить();
ПоказатьПо теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7) внимательнее, не боимся, строковая переменная Текст у запроса числовые данные внутри себя не разбивает на подгруппы, в строке 2019 запроса она не превратится в 2 019 к остальному вопросов нет.. если же передавать Число(2019) то конечно надо преобразовать Форматом
К чему все эти сложности? По запросу видно что дата договора между началом и концом года.
Передавать сразу год, а в тексте писать
ИЛИ
Только дату передавать как дату,а не строку
Передавать сразу год, а в тексте писать
ГДЕ
Договоры.ДатаДоговора МЕЖДУ &началопериода И &конецПериода
ИЛИ
ГДЕ
Договоры.ДатаДоговора МЕЖДУ НАЧАЛОПЕРИОДА(&Год, ГОД) И КОНЕЦПЕРИОДА(&Год, ГОД)
Только дату передавать как дату,а не строку
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот