![]() |
![]() |
![]() |
|
Возможно ли левое соединение в обычном запросе 7.7? | ☑ | ||
---|---|---|---|---|
0
igork1966
06.07.06
✎
11:42
|
Собственно сложные запросы никогда в 7.7 неписал. А тут понадобилось...
Не догоню можно ли сделать что-то вроде левого соединения. Есть запрос типа:
)
Требуется подцепить левым соединением МойРегистр2 по Документу. Получить Сумму _по_всем_ записям в МойРегистр2 по документу. |
|||
1
igork1966
06.07.06
✎
11:43
|
"|Группировка МойДок Упорядочить по ТТН.НомерДок;"
= "|Группировка МойДок Упорядочить по МойДок.НомерДок;" |
|||
2
Ёпрст2
06.07.06
✎
11:46
|
Ниасилил, что есть "левое" соединение?
|
|||
3
Alka
06.07.06
✎
11:49
|
(2) возможно это этот вариант:
|Док = Регистр.МойРегистр.ТекущийДокумент,Регистр.МойРегистр2.ТекущийДокумент; и так далее? |
|||
4
Alka
06.07.06
✎
11:50
|
Кстати, чтобы не создавать тему, вопрос, можно ли в запросе написать типа этого
|Док = Документ.ПриходнаяНакладная.МойРеквизит,ЗаданныйРеквизит; где ЗаданныйРеквизит = 0; - перед запросом? |
|||
5
igork1966
06.07.06
✎
11:51
|
(3) Это я пробовал.
При обходе по группировке Аналитика1 получаем 1 запись с пустым Аналитика1. Которое мне как-бы нафик ненужен. |
|||
6
Ёпрст2
06.07.06
✎
11:52
|
(4) Тогда уж и в вычисление функции нужно воткнуть второй регистр:
|Количество = Регистр.МойРегистр.Количество,Регистр.МойРегистр2.Количество; |Функция КоличествоРасход = Расход(Количество); |
|||
7
igork1966
06.07.06
✎
11:52
|
(2) Это "left join" из SQL.
|
|||
8
Ёпрст2
06.07.06
✎
11:53
|
(5) Документы в выборке получаются только при вычислении функции при запросе к регистру.
|
|||
9
igork1966
06.07.06
✎
11:53
|
(6) В МойРегистр2 нет количества, там сумма.
|
|||
10
igork1966
06.07.06
✎
11:57
|
(8) ?
Ну вот так я пробовал: "Период с ВыбНачПериода по ВыбКонПериода; |Аналитика1 = Регистр.МойРегистр.Аналитика1; |Аналитика2 = Регистр.МойРегистр.Аналитика2; |Количество = Регистр.МойРегистр.Количество; |Док = Регистр.МойРегистр.ТекущийДокумент,Регистр.МойРегистр2.ТекущийДокумент; |Сумма = Регистр.МойРегистр2.Количество; |Функция КоличествоРасход = Расход(Количество); |Функция СуммаРасход = Расход(Сумма); |Группировка МойДок Упорядочить по ТТН.НомерДок; |Группировка Аналитика1 Упорядочить по Аналитика1.Код Все ВошедшиеВЗапрос; |Условие(Аналитика2 = ВыбАналитика2); |" В результате получаю "лишний"(для меня) обход по Аналитика1. |
|||
11
Ёпрст2
06.07.06
✎
11:59
|
(9) Вот так должно взлететь:
|Док = Регистр.МойРегистр.ТекущийДокумент,Регистр.МойРегистр2.ТекущийДокумент; |Количество = Регистр.МойРегистр.Количество; |Сумма = Регистр.МойРегистр2.Сумма; |Функция КоличествоРасход = Расход(Количество); |Функция СуммаРасход = Расход(Сумма); |Группировка Док; |
|||
12
Ёпрст2
06.07.06
✎
12:00
|
(10) Что есть МойДок ?
|
|||
13
igork1966
06.07.06
✎
12:04
|
(12) Да это я описался "МойДок" = "Док"
(11) Ну и чем это отличается от (10)? Отсутствием вложенной группировки по Аналитика1? А мне она нужна. |
|||
14
Ёпрст2
06.07.06
✎
12:06
|
(13) Когда отправлял, не было 10...
ЗЫ:Попробуй ВсеВошедшие в запрос уберать |
|||
15
Alka
06.07.06
✎
12:07
|
(14) А на (4) не можете ответить?
|
|||
16
Ёпрст2
06.07.06
✎
12:08
|
(15) Имхо,так не прокатит.
(13) Да, а нахрена 2 регистра остатков? И какие измерения в них? |
|||
17
igork1966
06.07.06
✎
12:11
|
(14) Мысль. ;-)
Однако мне нужно "ВсеВошедшие в запрос" чтобы развернуть по вертикали отчет, невыгружая его в таблицу. Ну идело принципа, хочу понять как работает. |
|||
18
igork1966
06.07.06
✎
12:14
|
(16) Один регистр это остатки на складах, а второй расчеты с покупателем. ;-)
По вертикали разворачиваю отчет по документам(документ,сумма по доку и др.) а по горизонтали по товарам. ;-) |
|||
19
igork1966
06.07.06
✎
12:30
|
(14) Все равно получалю лишний обход по Аналитике1.
(без "всевошедшие в запрос") |
|||
20
evGenius
06.07.06
✎
12:42
|
(19) Нет в 1С такого счастья. Можно только типа UNION сделать.
|
|||
21
igork1966
06.07.06
✎
12:55
|
(20) Ага, тогда понятно почему лишний обход по аналитике получаем. ;-)
Обидно, но ладно. ;-) Спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |