![]() |
|
Передача даты в виртуальную таблицу в запросе | ☑ | ||
---|---|---|---|---|
0
НоваяВолна
09.12.21
✎
08:48
|
Запрос который надо исправить:
ВЫБРАТЬ Событие.ЛицевойСчет КАК ЛицевойСчет, Событие.Дата КАК ДатаСобытия, Событие.Ответственный, МАКСИМУМ(ПДАСрезПоследних.ДатаАктуальности) КАК ДатаАктуальности, ВЫБОР КОГДА Событие.Дата <= ПДАСрезПоследних.ДатаАктуальности ИЛИ ПДАСрезПоследних.ДатаАктуальности ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ КАК АктуальноНаМоментСобытия, ВЫБОР КОГДА ПДАСрезПоследних.ДатаАктуальности >= Событие.Дата ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК ПроставленоПДА ИЗ Документ.Событие КАК Событие ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПДА.СрезПоследних(&ОкончаниеПериода, ) КАК ПДАСрезПоследних ПО Событие.ЛицевойСчет = ПДАСрезПоследних.ЛицевойСчет ГДЕ Событие.Дата МЕЖДУ &НачалоПериода И КОНЕЦПЕРИОДА(&ОкончаниеПериода, ДЕНЬ) И НЕ Событие.ПометкаУдаления И Событие.Ответственный В(&СписокСотрудников) И Событие.Проведен = ИСТИНА И Событие.ЛицевойСчет <> ЗНАЧЕНИЕ(Справочник.ЛицевыеСчета.ПустаяСсылка) проблема в том, что в Левом Соединении к РегистрСведений.ПДА.СрезПоследних(&ОкончаниеПериода, ) вместо &ОкончаниеПериода нужна Событие.Дата из этого же запроса. Каким образом переформировать запрос через ВТ или подзапросы? |
|||
1
Мультук
гуру
09.12.21
✎
08:54
|
(0)
Ты спросил у гугла? на мисте есть даже закрепленный ответ |
|||
2
НоваяВолна
09.12.21
✎
09:08
|
||||
3
НоваяВолна
10.12.21
✎
06:26
|
Добавлю в тему немного другой вопрос.... Если хранить в РС дату + время, на сколько процентов вырастит база? Другими словами Есть РС.ПДА Независимый, с периодичностью в пределах секунды. В нем Реквизит ПДАС.ДатаАктуальности Тип - Дата ... потребовалось сравнивать значения ДатаВремя в документе с этим реквизитом РС
|
|||
4
НоваяВолна
10.12.21
✎
06:28
|
(3) ** немного очепяток ))) смысл в том что надо сравнить дату документа до секунды с реквизитом РС в котором секунд нет, хотя сам он с периодикой до секунды.
|
|||
5
Мультук
гуру
10.12.21
✎
07:17
|
(3)
1) Математика уровня кол-во записей умножить на размер поля 2) Взять тестовую базу добавить поле, с помощью известной функции/обработки посмотреть насколько выросла искомая таблица 3) Вспомнить что на дворе уже 2021 год гигабайтами базу не напугаешь 4) Если это реквизит, то там уже на уровне запроса проблема с производительностью, поэтому наверное его просто можно привести к КОНЕЦПЕРИОДА прямо в запросе. P.S. Написано на автопилоте, меряй производительность и думай, плиз сам. |
|||
6
НоваяВолна
10.12.21
✎
07:31
|
(5) спасибо, особенно приятно что вся "тяжелая артиллерия" форума собралась .... или почти вся ))))
На самом деле подумал, не надо мне хранить лишнее. По моим задачам есть другие пути обхода проблемы |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |