|
выбор номенклатуры по значению реквизита родителя | ☑ | ||
---|---|---|---|---|
0
AlexxJ
23.12.14
✎
15:42
|
т.е. есть справочник, у группы есть реквизит "А". Нужно выбрать всю номенклатуру значения реквизита "А" у первого родителя которых = 4.
|
|||
1
asady
23.12.14
✎
15:43
|
(0) запросом
|
|||
2
AlexxJ
23.12.14
✎
15:43
|
(1) 5 баллов!!! развиваем мысли. А текст какой?
|
|||
3
asady
23.12.14
✎
15:45
|
(2) ты это .. как помягше выразиться
хочешь нас своими задачками удивить или признаться в неспособности написать запрос? |
|||
4
AlexxJ
23.12.14
✎
15:45
|
даже интересует какое условие задать. Использовать ВЫБОР КОГДА.... очевидное решение, но как то не красиво
|
|||
5
AlexxJ
23.12.14
✎
15:46
|
(3) да не, запрос уже есть но "не красивый", возник спор с коллегами можно ли его оптимизировать
|
|||
6
asady
23.12.14
✎
15:48
|
(5) ну тогда запрос в студию - а потом тебе может быть что-то и посоветуют
|
|||
7
AlexxJ
23.12.14
✎
15:49
|
ВЫБРАТЬ
ЧекККМТовары.Ссылка, ЧекККМТовары.Ссылка.ВПК, ЧекККМТовары.Номенклатура, ЧекККМТовары.Сумма / ЧекККМТовары.Ссылка.СуммаДокумента КАК Процент, ЧекККМТовары.Ссылка.Комментарий, ВЫБОР КОГДА ЧекККМТовары.Номенклатура.Родитель.ОтветственныйПоЗакупке <> &ПустойОтветственный ТОГДА ЧекККМТовары.Номенклатура.Родитель.ОтветственныйПоЗакупке ИНАЧЕ ВЫБОР КОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.ОтветственныйПоЗакупке <> &ПустойОтветственный ТОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.ОтветственныйПоЗакупке ИНАЧЕ ВЫБОР КОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке <> &ПустойОтветственный ТОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке ИНАЧЕ ВЫБОР КОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке <> &ПустойОтветственный ТОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке ИНАЧЕ ВЫБОР КОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке <> &ПустойОтветственный ТОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке ИНАЧЕ ВЫБОР КОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке <> &ПустойОтветственный ТОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке ИНАЧЕ ВЫБОР КОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке <> &ПустойОтветственный ТОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке ИНАЧЕ ВЫБОР КОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке <> &ПустойОтветственный ТОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке ИНАЧЕ ВЫБОР КОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке <> &ПустойОтветственный ТОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке ИНАЧЕ ВЫБОР КОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке <> &ПустойОтветственный ТОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке ИНАЧЕ ВЫБОР КОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке <> &ПустойОтветственный ТОГДА ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке ИНАЧЕ ЧекККМТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.ОтветственныйПоЗакупке КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КАК ОтветственныйПоЗакупке ИЗ Документ.ЧекККМ.Товары КАК ЧекККМТовары ГДЕ (ЧекККМТовары.Ссылка.Комментарий ПОДОБНО "%ВПК%" ИЛИ ЧекККМТовары.Ссылка.ВПК > 0) И ЧекККМТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ЧекККМТовары.Ссылка.Проведен |
|||
8
AlexxJ
23.12.14
✎
15:49
|
вот такой вот ужас
|
|||
9
Бубка Гоп
23.12.14
✎
15:53
|
(7) ну почему же некрасивый, если быстро проматывать как на горках катаешься, прикольно че
|
|||
10
anatoly
23.12.14
✎
15:53
|
убейся об стену.
поместить в ВТ всех родителей (это же папки?) у кого есть ответственный. выбрать ГДЕ родитель В ВТ. |
|||
11
AlexxJ
23.12.14
✎
15:54
|
(9) перфекционист во мне рыдает
|
|||
12
vicof
23.12.14
✎
15:54
|
Ответственного за закупки сделай у номенклатуры, а не у группы.
|
|||
13
AlexxJ
23.12.14
✎
15:55
|
(10) у родителя 1го уровня ответственный может быть один, а у родителя 3го уровня другой
|
|||
14
AlexxJ
23.12.14
✎
15:59
|
(12) не, не тру. товары могут из группы в группу летать, ответственные меняться. Велик шанс ошибки, в общем
|
|||
15
vicof
23.12.14
✎
16:02
|
(14) Передзаписью, смотри родителя и перезаписывай ответственного, 1 строчка кода.
|
|||
16
asady
23.12.14
✎
16:02
|
(13)
Налицо ошибка архитектора 1. Если ответственный меняется что тогда? вносить изменения в справочник - а как же инфа про старого ответсвенного - история должна быть чтобы народ знал кого за яйца вешать при разборах. 2. В конкретных строках товаров в конкретных доках лучше фиксировать ответственного на тот момент когда этот док заполнялся - опять же для порядку Ответсвенного можно заполнять в ТЧ дока уже в событии при изменении номенклатуры например. - в этом случае косяков станет ещё меньше и твоя задача уйдёт в прошлое. |
|||
17
Бубка Гоп
23.12.14
✎
16:04
|
(7)
Поднимем тост за родителей... |
|||
18
AlexxJ
23.12.14
✎
16:05
|
(15) (16) будем считать это начальными условиями которые менять нельзя. За этот блок отвечаю не я и ничего менять не могу ))
|
|||
19
Бубка Гоп
23.12.14
✎
16:08
|
(18) Если интересует красота запроса, то ответственного можно определять рекурсией в коде... однако опасаюсь за быстродействие :)
|
|||
20
Бубка Гоп
23.12.14
✎
16:10
|
Получается что то вроде "мне надо пройти через лес, да я знаю можно идти по дороге вон там, но я хочу именно через лес!"
|
|||
21
vicof
23.12.14
✎
16:15
|
(18) Отмазки, пни того, кто может менять.
|
|||
22
AlexxJ
23.12.14
✎
16:23
|
(20) так и есть. именно через лес и обязательно на одноколесном велосипеде )))
(21) того кто может менять и этот запрос устраивает Подытожим : подобные задачи запросами не решаются!! |
|||
23
Бубка Гоп
23.12.14
✎
16:24
|
Если не заполняешь значение реквизита у самой номенклатуры, можно что то типа того попробовать:
Выбрать Номенклатура.Родитель.Ответственный Из Справочник.Номенклатура Где Номенклатура.Ссылка В (&Ном) И Номенклатура.Ответственнный = &ПустойОтветственный И Номенклатура.Родитель.Ответственный <> ПустойОтветственный |
|||
24
AlexxJ
23.12.14
✎
16:27
|
(23) это в рекурсии запустить?
|
|||
25
vicof
23.12.14
✎
16:28
|
(24) для начала в консоли запусти
|
|||
26
Бубка Гоп
23.12.14
✎
16:28
|
(24)
нет, зачем же. Если у листьев дерева этот реквизит всегда пустой, а у узлов - когда как, то такой запрос по идее найдет ответственного самого близкого к листу узла |
|||
27
alle68
23.12.14
✎
16:36
|
(0) А что такое "1-й родитель"?
|
|||
28
AlexxJ
23.12.14
✎
16:37
|
(27) группа с которая находится "глубже"
|
|||
29
vicof
23.12.14
✎
16:38
|
(28) Не глубже, а выше
|
|||
30
alle68
23.12.14
✎
16:48
|
(28) Где заветная 4-ка в этих пяти вариантах?
Г - 4 1 4 4 ГГ 4 - 4 1 4 Элемент |
|||
31
Бубка Гоп
23.12.14
✎
16:51
|
(30)
гг г гг г гг |
|||
32
AlexxJ
23.12.14
✎
16:56
|
(30) скорее так:
Г 1 ГГ 4 ГГГ - Элемент заветная ГГ а если Г 1 ГГ 4 ГГГ - ГГГГ 4 Элемент тогда ГГГГ |
|||
33
Бубка Гоп
23.12.14
✎
16:58
|
(32) так запрос из (23) спас отца русской демократии или нет?
|
|||
34
AlexxJ
23.12.14
✎
17:03
|
(33) всегда пустой результат (
|
|||
35
AlexxJ
23.12.14
✎
17:04
|
(33) только до 2го уровня работает
|
|||
36
Бубка Гоп
23.12.14
✎
17:05
|
(34) у элементов нижнего уровня реквизит заполняете или нет?
|
|||
37
alle68
23.12.14
✎
17:06
|
(35) А на количество уровней есть ограничение?
|
|||
38
Бубка Гоп
23.12.14
✎
17:13
|
понял свою ошибку, в условии стоит
Номенклатура.Ссылка В (&Ном) поэтому и работает только для 2 уровня |
|||
39
AlexxJ
23.12.14
✎
17:13
|
(36) по любому может быть.
(37) нет |
|||
40
olegves
23.12.14
✎
17:14
|
(7) я бы сделал ч/з левое соединение с родителями и функцию ИзНулл
|
|||
41
AlexxJ
23.12.14
✎
17:48
|
(40) элемент может принадлежать N-группам. У некоторых групп свой ответственный, нужно найти самую "глубокую" группу и от туда взять ответственного(не пустого)
|
|||
42
AlexxJ
23.12.14
✎
17:48
|
(41) где N стремится к бесконечности
|
|||
43
_KaA
23.12.14
✎
17:57
|
(0)
Коллега, ну вы же сами понимаете, что условия задачи (архитектура) некорректны. Попробуйте все таки сразу решить вопрос с метаданными, а потом уже с выборкой данных. |
|||
44
AlexxJ
23.12.14
✎
18:03
|
(43) согласен, но академический интерес присутствует, да азарт
|
|||
45
Жан Пердежон
23.12.14
✎
18:07
|
(44) 100 раз уже обсуждалось, на ис даже статья есть (и не одна)
http://infostart.ru/public/160707/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |