|
Как правильно построить запрос? | ☑ | ||
---|---|---|---|---|
0
svird
20.02.15
✎
10:40
|
Надо получить список документов, которых нет в определенном регистре сведений за промежуток дат. Что то не врублюсь, как запрос построить?
|
|||
1
butterbean
20.02.15
✎
10:41
|
левое соединение с проверкой на ЕСТЬ NULL
|
|||
2
D_E_S_131
20.02.15
✎
10:41
|
Соединить таблицу документов с таблицей регистра и поставить условие Есть Null на реквизит регистра.
|
|||
3
D_E_S_131
20.02.15
✎
10:42
|
||||
4
MSOliver
20.02.15
✎
10:45
|
Документы НЕ В (Регристраторы)
|
|||
5
Ёпрст
20.02.15
✎
10:45
|
можно и просто, условие на подзапрос
|
|||
6
svird
20.02.15
✎
10:51
|
ВЫБРАТЬ
Документ.Ссылка ИЗ Документ.РегистрацияДок КАК Документ ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ксСоответствие КАК Регистр ПО (Регистр.ДокументР <> Документ.Ссылка) Сделал так как то, но не работает |
|||
7
VladZ
20.02.15
✎
10:53
|
(6) ТАК не будет работать.
|
|||
8
D_E_S_131
20.02.15
✎
10:54
|
(6) надо сделать "=", а не "<>" и поставить условие ГДЕ Регистр.ДокументР Есть Null
|
|||
9
Alexaha
20.02.15
✎
10:55
|
ВЫБРАТЬ
ТвойРегистрСведений.Регистратор ПОМЕСТИТЬ вт ИЗ РегистрСведений.ТвойРегистрСведенийКАК ТвойРегистрСведений ; ВЫБРАТЬ ТвойДокумент.Ссылка ИЗ Документ.ТвойДокументКАК ТвойДокумент ГДЕ НЕ ТвойДокумент.Ссылка В (ВЫБРАТЬ вт.Регистратор ИЗ вт КАК вт) |
|||
10
D_E_S_131
20.02.15
✎
10:57
|
Alexaha, мог бы получить приз за самый оптимальный запрос года, вот только ты еще не применил вложенный запрос и соединение с ним.
|
|||
11
kumena
20.02.15
✎
10:59
|
(10) да да, выбирать все регистраторы, а не различные по количеству записей в регистре, умно конечно.
|
|||
12
kumena
20.02.15
✎
11:00
|
правильный запрос делается в одно внутреннее соединение
например по условию Регистр.Период IS NULL |
|||
13
Alexaha
20.02.15
✎
11:01
|
я продемонстрировал всего лишь идею (один из вариантов), если кому то охота - можете оптимизирвать сами или дальше пытаться объяснять на пальцах
|
|||
14
svird
20.02.15
✎
11:05
|
ВЫБРАТЬ
ДокументС.Ссылка ИЗ Документ.ДокументС КАК ДокументС ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегистрСвед КАК РегистрСвед ПО (НЕ РегистрСвед.ДокументРВНД В (ДокументС.Ссылка)) ГДЕ ДокументС.Дата МЕЖДУ &Дата1 И &Дата2 |
|||
15
svird
20.02.15
✎
11:06
|
пока так сделал, но что то медленно работает, так правильно?
|
|||
16
svird
20.02.15
✎
11:06
|
Не, попадают те что присутствуют
|
|||
17
Alexaha
20.02.15
✎
11:08
|
(14) чем этот док является в регистре? регистратор или таки измерение?
|
|||
18
svird
20.02.15
✎
11:09
|
Измерение просто
|
|||
19
svird
20.02.15
✎
11:09
|
Там есть регистратор, в табличной части которого скапливаются эти документы
|
|||
20
Alexaha
20.02.15
✎
11:10
|
(19) период дат в равной степени относится и к документу и к регистру?
|
|||
21
yavasya
20.02.15
✎
11:11
|
(19) а вы давно программируете ? или клюшки в основном?
|
|||
22
D_E_S_131
20.02.15
✎
11:11
|
(13) Другими словами это называется "быдлокод", не?
(14)
|
|||
23
svird
20.02.15
✎
11:21
|
2 (21) да все от этих клюшек не отделаюсь 10 лет их поддерживал. Я на фикси сижу. Тут поставили 8-ку недавно. И еще что то хотят не 1С - ное внедрять.
|
|||
24
svird
20.02.15
✎
11:22
|
2 (22) спасибо. (21) Пробовал задачи на спеца по 8-ке порешать, вообще глухо. А курсов у нас нет нормальных.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |