![]() |
|
как в запросе выставить флаг для родителя. при условие что флаг стоит у элемента | ☑ | ||
---|---|---|---|---|
0
zladenuw
27.01.14
✎
19:37
|
часть запрос такая
Выбрать Спр1.Ссылка Как Номен, Спр1.ЭтоГруппа, Выбор когда ТЗ.Номен Есть Null тогда 1 иначе 0 конец из оттуда где что то упорядочить по Спр1.Код ИЕРАРХИЯ" |
|||
1
zladenuw
27.01.14
✎
22:19
|
прописал в соединение с таблицей.
Левое соединение (ТЗ.Номен = спр1.Ссылка) или Спр1.ЭтоГруппа и ТЗ.Номен.Родитель = спр1.Ссылка но это проверка только 1 уровень иерархии. а вот при попытке написать так пишет что не верно. почему ? ТЗ.Номен.Родитель в ИЕРРАХИИ (спр1.Ссылка). пишет не верный параметр |
|||
2
NcSteel
27.01.14
✎
22:46
|
Ну ответь на вопрос почему не верно сам...
|
|||
3
zladenuw
27.01.14
✎
22:54
|
(2) да уже понял. делаю через ТЗ.Номен.Родитель в (Выбрать спр1.Ссылка из спр1 где спр1.этогруппа и не спр1.пометкаудаления)
но теперь из за этого под запроса выполняется в 2 раза дольше как оптимизировать |
|||
4
zladenuw
27.01.14
✎
22:55
|
было 0,045 стало 0,11. это критично
|
|||
5
zladenuw
27.01.14
✎
22:55
|
да и еще надо как то придумать когда в группе не у всех отмечены элементы тогда флаг нужно присвоит 2, как это сделать ума не приложу
|
|||
6
NcSteel
27.01.14
✎
23:04
|
1С настоятельно не рекомендует завязывать бизнесс логику предприятия на Иерархию справочника. Проблем наживешь.
Так что меняй архитектуру. |
|||
7
zladenuw
27.01.14
✎
23:06
|
(6) да я рад бы. но нужно только с ней.
|
|||
8
NcSteel
27.01.14
✎
23:08
|
(7) Тогда довольствуйся (4)
|
|||
9
zladenuw
27.01.14
✎
23:09
|
(8) поместил во временную таблицу. стало 0,08. куда лучше. но
как сделать (5) |
|||
10
zladenuw
27.01.14
✎
23:11
|
надо выставить 2 что бы в дереве флаг был сериньким. если не все элементы выбраны в группе.
|
|||
11
NcSteel
27.01.14
✎
23:13
|
Сравнивай количество отметок с количеством элементов, если не равно то тебе и 2
|
|||
12
NcSteel
27.01.14
✎
23:14
|
(9) Прикол в том, что сейчас это 0,08... а завтра будет 1,08, а потом и все 10 секунд, а потом опять 0,08.
В этом и зло подзапроса в условии |
|||
13
zladenuw
27.01.14
✎
23:16
|
(12) да прыгает и так от 0,08 до 0,11.
все равно если уберу присвоение по иерархии. перебор так же долго :(. так что 1 к 1 |
|||
14
zladenuw
27.01.14
✎
23:17
|
(12) а как убрать зло или не как ?
(11) мм, а как. |
|||
15
NcSteel
27.01.14
✎
23:18
|
(14)
1. Зло убрать сменой архитектуры. 2. Выбрать Количество(Ссылка), Количество(Отметок) Из таблица |
|||
16
zladenuw
27.01.14
✎
23:19
|
(11) где именно прописывать условие. что то не приложу ума
|
|||
17
zladenuw
27.01.14
✎
23:19
|
(15) пробую. спасиб
|
|||
18
zladenuw
27.01.14
✎
23:21
|
что то не пойму где именно
ВЫБРАТЬ АмбулаторныйТарификатор.Ссылка ПОМЕСТИТЬ ВТРодитель ИЗ Справочник.АмбулаторныйТарификатор КАК АмбулаторныйТарификатор ГДЕ АмбулаторныйТарификатор.ЭтоГруппа И НЕ АмбулаторныйТарификатор.ПометкаУдаления ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ АккредитацияКДПРеестрУслуг.ВидУслуг, АккредитацияКДПРеестрУслуг.ВидУслуг.Родитель КАК Родитель, АккредитацияКДПРеестрУслуг.Лимит КАК Количество ПОМЕСТИТЬ ВТТаблица ИЗ Документ.АккредитацияКДП.РеестрУслуг КАК АккредитацияКДПРеестрУслуг ГДЕ АккредитацияКДПРеестрУслуг.Ссылка = &Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ АмбулаторныйТарификатор.Ссылка КАК Номенклатура, АмбулаторныйТарификатор.ЭтоГруппа, ЕСТЬNULL(ВТТаблица.Количество, 0) КАК Количество, ВЫБОР КОГДА АмбулаторныйТарификатор.ЭтоГруппа ТОГДА 0 ИНАЧЕ 2 КОНЕЦ КАК Картинка, ВЫБОР КОГДА ВТТаблица.ВидУслуг ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ КАК Флаг ИЗ Справочник.АмбулаторныйТарификатор КАК АмбулаторныйТарификатор ЛЕВОЕ СОЕДИНЕНИЕ ВТТаблица КАК ВТТаблица ПО (АмбулаторныйТарификатор.Ссылка = ВТТаблица.ВидУслуг ИЛИ ВЫБОР КОГДА АмбулаторныйТарификатор.ЭтоГруппа ТОГДА ВТТаблица.Родитель В (ВЫБРАТЬ ВТРодитель.Ссылка ИЗ ВТРодитель КАК ВТРодитель) ИНАЧЕ ЛОЖЬ КОНЕЦ) ГДЕ НЕ АмбулаторныйТарификатор.ПометкаУдаления |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |