|
v7: 1С++ прямой запрос. Отбор по группе не работает | ☑ | ||
---|---|---|---|---|
0
Подводный Таракан
20.12.12
✎
08:10
|
Текст запроса:
RS = СоздатьОбъект("ODBCRecordSet"); RS.Отладка(0); ТекстЗапроса = " |SELECT Сотрудники.ID [Сотрудник $Справочник.Сотрудники] |, $Сотрудники.ТабельныйНомер ТабельныйНомер |, $Сотрудники.Бригада [Бригада $Справочник.СтруктураСмен] |, $Сотрудники.ОрганизационнаяСтруктураНовая [Подразделение $Справочник.ОрганизационнаяСтруктура] |, $Сотрудники.Категория [Звание $Справочник.КатегорииСотрудников] |FROM $Справочник.Сотрудники AS Сотрудники With (NOLOCK) |WHERE |($Сотрудники.ОрганизационнаяСтруктураНовая IN (SELECT val FROM #ВыбрОргСтруктура) |"; RS.УложитьСписокОбъектов(ВыбрОргСтруктура, "#ВыбрОргСтруктура","ОрганизационнаяСтруктура"); выдает пустоту. ВыбрОргСтруктура - группа, а элементы Сотрудники.ОрганизационнаяСтруктураНовая - тоже группы, принадлежащие выбранной орг структуре. Возможно поэтому не идет выборка. Как быть в таких случаях? |
|||
1
Wobland
20.12.12
✎
08:11
|
ну не В же
|
|||
2
Wobland
20.12.12
✎
08:11
|
"в иерархии" как переводится?
|
|||
3
Mikeware
20.12.12
✎
08:14
|
А что у тебя во временной-то? пусто?
|
|||
4
Mikeware
20.12.12
✎
08:16
|
а, вьехал....
джойни свою временую с ОрганизационнойСтруктурой, бери родителя, и среди них ищи... |
|||
5
Подводный Таракан
20.12.12
✎
08:21
|
(2) не могу найти с утра, как переводится)
|
|||
6
Mikeware
20.12.12
✎
08:22
|
(1)(2) чиво?
|
|||
7
Подводный Таракан
20.12.12
✎
08:26
|
(4) сейчас попробую осмыслить, пока не могу догнать...
|
|||
8
Подводный Таракан
20.12.12
✎
08:32
|
(4) не выходит, не писал таких запросов еще, поэтому не догоняю что с чем надо джойнить
|
|||
9
Wobland
20.12.12
✎
08:32
|
(6) он принадлежность к группе вычисляет?
|
|||
10
Wobland
20.12.12
✎
08:34
|
+(9) в этом случае вот кусок для размышления
Если УпорядочиваниеПоИерархииНоменклатуры=1 Тогда ТекстЗапроса=ТекстЗапроса+" | LEFT JOIN [ВремОбъекты.#ИерархияНоменклатуры] AS Иерархия | ON [Иерархия.Значение]=[Номенклатура.Ссылка]"; КонецЕсли; |
|||
11
Wobland
20.12.12
✎
08:34
|
(10) гыгы, у меня там Запрос=СоздатьОбъект("ToyQuery");
|
|||
12
Подводный Таракан
20.12.12
✎
08:42
|
(11) а если RS = СоздатьОбъект("ODBCRecordSet");
то так же прописывать? |
|||
13
Wobland
20.12.12
✎
08:43
|
||||
14
vinogradъ
20.12.12
✎
08:53
|
(0) в AccountsRecordset есть УложитьСписокГрупп
|
|||
15
Ёпрст
20.12.12
✎
09:14
|
(0) в УложитьСписокОбъектов содержатся только элементы (все), которые принадлежат данной группе, там нет групп.
Тебе нужно ручонками добавить группы в фильтр. |
|||
16
Mikeware
20.12.12
✎
09:21
|
in( select distinct Оргструктура.parentid from #ВыбрОргСтруктура ВыбЭлементы
inner join $Спраавочник.ОрганизационнаяСтруктура Оргструктура on Оргструктура.id=ВыбЭлементы.val ) |
|||
17
Ёпрст
20.12.12
✎
09:22
|
(16) distinct лучше оттуда выкинуть
|
|||
18
Mikeware
20.12.12
✎
09:22
|
(15) нк, можно рученками в СЗ, сз - уложить без третьего параметра.
|
|||
19
Ёпрст
20.12.12
✎
09:22
|
ну и .. это не верно
|
|||
20
Ёпрст
20.12.12
✎
09:23
|
так писать
:) |
|||
21
Mikeware
20.12.12
✎
09:23
|
(17) можно и выкинуть
|
|||
22
Ёпрст
20.12.12
✎
09:23
|
могут быть вложенные группы, которые не будут в фильтре в этом случае.
|
|||
23
Ёпрст
20.12.12
✎
09:24
|
самое простое - посмотреть в профайлере на код УложитьСписокОбъектов и сделать такой же, только с группами
|
|||
25
Mikeware
20.12.12
✎
09:28
|
(22) как раз все вложенные группы и будут. включая и того, кого укладывают. Если, конечно, в группах есть элементы, хотя б по одному...
а так - я б собрал группы, как в (18) |
|||
26
Ёпрст
20.12.12
✎
09:28
|
(24) конечно нет!
в #ВыбрОргСтруктура у тебя только элементы, и ты получаешь только непосредственного родителя в (16). А вот родителя.родителя или родителя.родителя.родителя....родителя нет :) |
|||
27
Подводный Таракан
20.12.12
✎
09:48
|
(25) нет элементов, только группы в этом справочнике
|
|||
28
Mikeware
20.12.12
✎
10:04
|
(26) я ж добавил условие - "если в группах есть элементы, хотя б по одному...." :-)
(27) ну и собери их в сз, и уложи... как в (18) или сделай как в (23) |
|||
29
Дык ё
20.12.12
✎
10:10
|
(0) в qryConsole есть УложитьСписокГрупп
|
|||
30
Ёпрст
20.12.12
✎
10:20
|
Альтернатива УложитьСписокОбъектов с группами
где то было еще решение. Ну еще попроще - куяу лефт джоинов по количеству уровней -1 лепить |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |