В запросе выбрать документы с одинаковой датой #619831


#0 by Zombi
Написал такой запрос: А можно ли как то выбрать только те документы, которые были введены в пределах одного дня?
#1 by France
где документ.дата = ?пределдня.. ну и приведение сделать, чтобы отсечь часы минуты секунды
#2 by Wobland
да
#3 by ДенисЧ
_введены_? Или _имеют дату_ ? Это немного разные вещи :-)
#4 by Zombi
Ваши бы мысли выразить примером. Имеют дату.
#5 by Sammo
Дата между. Есть еще вариант привести дату к началу дня, но это некрасиво - не используется индекс по дате
#6 by ДенисЧ
#7 by ДенисЧ
ну, или . Хотя я тут не стану пока про индексы ничего говорить, не проводил опытов.
#8 by Zombi
Может я неправильно изьсняюсь. Мне нужно вывести в запрос только те строки, в которых платежки и реализации имеют дату в пределах одного дня. То есть не параметром я определенную дату задаю и ищу документы за этот день, а ищу операции, когда товар был оплачен и отгружен в один день.
#9 by shuhard
для непонятливых: НАЧАЛОПЕРИОДА(хз.Дата, ДЕНЬ)
#10 by Zombi
Так?: ВЫБРАТЬ    ПлатежноеПоручениеВходящее.Ссылка КАК Платежка, ИЗ
#11 by Zombi
Вроде работает. Спасибо всем!
#12 by andrewks
нафига полное соединение? делай внутреннее
#13 by shuhard
у ТС цель максимально замедлить работу системы
#14 by andrewks
интересно, сегодня отгрузили на 500 тыр, а оплата от клиента пришла 500р. за отгрузку месячной давности
#15 by Zombi
Да, щас поменяю на внутреннее, полное делал когда экспериментировал
#16 by Zombi
Эт уж бухи разбираться будут. Попросили такой вот отчет в помошь.
#17 by butterbean
лучше ПлатежноеПоручениеВходящее.Дата МЕЖДУ &НачД И &КонД работает гораздо раза быстрее
#18 by Zombi
Ну сейчас без ограничения периода, то есть по всем документам "Время выплнения запроса: 1 сек." А где получать параметры &НачД И &КонД?
#19 by butterbean
это было для примера, в условиях соединения так-же
#20 by butterbean
+ хотя если и так 1 секунда, то пох наверно, это на очень больших выборках было бы заметно
#21 by Zombi
Так?: ВЫБРАТЬ    ПлатежноеПоручениеВходящее.Ссылка КАК Платежка, ИЗ ГДЕ    НАЧАЛОПЕРИОДА(ПлатежноеПоручениеВходящее.Дата, ДЕНЬ) МЕЖДУ НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ)
#22 by butterbean
ГДЕ ПлатежноеПоручениеВходящее.Дата МЕЖДУ НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ)
#23 by butterbean
+ и это надо запихнуть в условие соединения
#24 by Zombi
ГДЕ    ПлатежноеПоручениеВходящее.Дата МЕЖДУ НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ)
#25 by butterbean
замени ГДЕ на И
#26 by Zombi
ВЫБРАТЬ ИЗ            И (ПлатежноеПоручениеВходящее.Дата МЕЖДУ НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ)) Да, наверно так будет оптимальнее. Блин, мне этим запросам учиться и учиться.
#27 by МихаилМ
опишите  индексы, в которых  участвует поля дата
#28 by Zombi
Поясните, пожалуйста.
#29 by МихаилМ
это азы. база. без этого писать запросы осмысленно не получится.
#30 by Zombi
Как в моем случае описать индексы?
#31 by Reset
Человек, могущий ответить на этот вопрос, не будет задавать вопрос . Зачем спрашивать? Чтобы  с важным видом брякнуть ?
#32 by МихаилМ
мне интересно какие можно использовать индексы в данной задаче. на вопрос как нужно ответить?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С