Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 мая 2024, 09:30

Язык запроса

Автор aleks_p99, 06 дек 2016, 19:08

0 Пользователей и 1 гость просматривают эту тему.

aleks_p99

Здравствуйте! Не большие проблемы с написанием запроса(( Запросу передается параметр "Дата" формат значение которого имеет начала дня(1.12.2016 00:00:00), однако с датой которая сравнивается в запросе имеет точность секунда т.е.1.12.2016 18:20:50. Вопрос: как их сравнить с точность до дня. Имеется следующее решение, но ругается
ВЫБРАТЬ
РегистрСведенийПоТабелю.Дни,
РегистрСведенийПоТабелю.Часы,
РегистрСведенийПоТабелю.Сотрудник.ТарифнаяСтавка,
ИЗ
РегистрСведений.РегистрСведенийПоТабелю КАК РегистрСведенийПоТабелю
ГДЕ
РегистрСведенийПоТабелю.Сотрудник = &Сотрудник
НАЧАЛОПЕРИОДА(РегистрСведенийПоТабелю.Регистратор.Дата, День) = &Дата

Kironten

Цитата: aleks_p99 от 06 дек 2016, 19:08
Здравствуйте! Не большие проблемы с написанием запроса(( Запросу передается параметр "Дата" формат значение которого имеет начала дня(1.12.2016 00:00:00), однако с датой которая сравнивается в запросе имеет точность секунда т.е.1.12.2016 18:20:50. Вопрос: как их сравнить с точность до дня. Имеется следующее решение, но ругается
ВЫБРАТЬ
РегистрСведенийПоТабелю.Дни,
РегистрСведенийПоТабелю.Часы,
РегистрСведенийПоТабелю.Сотрудник.ТарифнаяСтавка,
ИЗ
РегистрСведений.РегистрСведенийПоТабелю КАК РегистрСведенийПоТабелю
ГДЕ
РегистрСведенийПоТабелю.Сотрудник = &Сотрудник
НАЧАЛОПЕРИОДА(РегистрСведенийПоТабелю.Регистратор.Дата, День) = &Дата

Не пробовали для разнообразия конструктором запросов пользоваться, а не писать руками?
Запятая, после ТарифнаяСтавка лишняя, условие "И", в секции ГДЕ пропущено, это уж не говоря о том, что неплохо бы через "Выразить" дату регистратора подбирать.

aleks_p99

Цитата: Kironten от 06 дек 2016, 19:16
Цитата: aleks_p99 от 06 дек 2016, 19:08
Здравствуйте! Не большие проблемы с написанием запроса(( Запросу передается параметр "Дата" формат значение которого имеет начала дня(1.12.2016 00:00:00), однако с датой которая сравнивается в запросе имеет точность секунда т.е.1.12.2016 18:20:50. Вопрос: как их сравнить с точность до дня. Имеется следующее решение, но ругается
ВЫБРАТЬ
РегистрСведенийПоТабелю.Дни,
РегистрСведенийПоТабелю.Часы,
РегистрСведенийПоТабелю.Сотрудник.ТарифнаяСтавка
ИЗ
РегистрСведений.РегистрСведенийПоТабелю КАК РегистрСведенийПоТабелю
ГДЕ
РегистрСведенийПоТабелю.Сотрудник = &Сотрудник
И НАЧАЛОПЕРИОДА(РегистрСведенийПоТабелю.Регистратор.Дата, ДЕНЬ) = &Дата

Не пробовали для разнообразия конструктором запросов пользоваться, а не писать руками?
Запятая, после ТарифнаяСтавка лишняя, условие "И", в секции ГДЕ пропущено, это уж не говоря о том, что неплохо бы через "Выразить" дату регистратора подбирать.
ой не доглядел, все Спасибо) все заработало

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск