|
Как получить значение по иерархии? | ☑ | ||
---|---|---|---|---|
0
Boudybuilder
16.02.13
✎
01:54
|
Уже второй раз сталкиваюсь с проблемой.
Первый раз , когда делал вознаграждения на номенклатуру. Присваивал группе значение , внутри группы какой то группе исключительное значение , и надо было чтобы ... в общем описываю... Группа "телевизоры" - вознаграждение 5 % - ВВК -"" - LG -"" - Sony-"5,5" % Объясняю. По группе телевизоры стоит 5 процентов вознаграждения за все элементы в группе , а телеки Sony вознаграждаются уже дороже. И по них запросом надо получать их процент а не общий. Теперь решаю дело с гарантией. Мобильные телефоны - гарантия 12 месяцев - Сертифицырованые -"" - НеСертефицированые -"3" месяца - Б/У -"2" дня Снова таки , надо запросом получать по всем сертифицированным 12 месяцев , по НеСертефицированые только 3... И тд... Как то так чтобы не пересекались 3 с 12 ... Как получать самую ближайшую иерархию элемента? |
|||
1
MadHead
16.02.13
✎
02:02
|
вообще проблема в проектировании. Надо в таких случаях каждому элементу присваивать значения.
|
|||
2
Boudybuilder
16.02.13
✎
02:16
|
(1)Спасибо дружище за ответ , но это очень трудоемкое дело таким способом присваивать. Разве что... При создании нового элемента справочника проверять это значение у родителя и заполнять себе же. Но как оно на практике покажет себя?
|
|||
3
Тролль главный
16.02.13
✎
02:20
|
простой запрос, который выгружается во временную таблицу, потом уже делаем что хотим
|
|||
4
Boudybuilder
16.02.13
✎
03:37
|
(3) Пример простоты в студию!
|
|||
5
Web00001
16.02.13
✎
03:48
|
ну например, почему просто нельзя сделать, что то в этом духе?
Выбор Когда Ссылка.Вознагражедение = 0 Тогда Ссылка.Родитель.Вознаграждение Иначе Ссылка.Вознагражедение Конец |
|||
6
Web00001
16.02.13
✎
04:05
|
Точнее как то так
Выбор Когда Ссылка.Родитель.Вознагражедение = 0 Тогда Ссылка.Родитель.Родитель.Вознаграждение |
|||
7
echo77
16.02.13
✎
05:54
|
(0) Проектируйте.
Присваивайте значение каждому элементу. Реализуйте установку значения для элемента, при записи, если он находится в группе, для которой это значение установлено. все |
|||
8
MadHead
16.02.13
✎
13:10
|
(5) Не лучшая идея в плане производительности. Так как подразумевает запросы в цикле при большой глубине вложенности справочника
|
|||
9
MadHead
16.02.13
✎
13:13
|
(2) Именно при создании элементу нужно присваивать значение из родителя. Сейчас можешь простенькой обработкой это все проделать и добавить код в справочник при создании элемента. Добавлять вернее в модуль объекта
|
|||
10
GANR
16.02.13
✎
13:54
|
(0) выборка с итогами по иерархии, да и обойти её просредством рекурсии/стека, других методов просто нету
|
|||
11
GANR
16.02.13
✎
14:00
|
(11) а если надо не прайс-лист, а конкретный элемент - алгоритмически проще циклом (не скажу, что рациональнее по быстродействию)
ТекЭлемент = НашЭлемент; Пока Не ЗначениеЗаполнено(ТекЭлемент.Цена) И ЗначениеЗаполнено(ТекЭлемент.Родитель) Цикл ТекЭлемент = ТекЭлемент.Родитель; КонецЦикла; |
|||
12
mistеr
16.02.13
✎
14:31
|
В типовых делают циклом (например, счета учета номенклатуры). Видимо не зря.
|
|||
13
GANR
16.02.13
✎
14:45
|
(12) не зря... иногда нужно пожертвовать производительностью ради алгоритмической простоты
|
|||
14
France
16.02.13
✎
14:48
|
так, между делом: если кто то, где то, как то перенес товар в неправильную группу??
|
|||
15
GANR
16.02.13
✎
14:51
|
(14) это как раз просто: даем такую возможность ограниченному кругу пользователей
|
|||
16
France
16.02.13
✎
15:04
|
(15) ок, человек из ограниченного круга случайно перепестил в другую группу..
|
|||
17
GANR
16.02.13
✎
15:31
|
(16) ну и по шеям ему ))) утопиться можно и в ложке
|
|||
18
Boudybuilder
16.02.13
✎
19:23
|
(14) Уже думал над этим. Тогда может самое мудрое решение будет (2) ?
|
|||
19
wade25
16.02.13
✎
19:26
|
На нынешней работе классный механизм внедрен. Через свойства товара. К примеру типа товара "Телевизор Sony". Свойство подгруппа автоматически проставляется из соответствующего справочника и т.д. Юзер заполняет только тип товара, все остальное автоматом. Мне оч нравится)
|
|||
20
Boudybuilder
16.02.13
✎
19:29
|
(19) Можете подробнее описать. Интересно было бы посмотреть , и скрины где то выложить .
|
|||
21
AlexSvt
16.02.13
✎
19:32
|
получается, что если товар перенесли в другую группу то у него изменилась и гарантия и % вознаграждения? Как-то совсем нехорошо получается.
|
|||
22
mih_io
16.02.13
✎
20:46
|
сделай условие в запросе на 2 уровня вверх, Можно и больше.
Что то типа КОГДА ВЫБОР Ном.Родитель.НашРеквизит = "" ТОГДА Ном.Родитель.Родитель.НашРеквизит ИНАЧЕ Ном.Родитель.НашРеквизит КОНЕЦ |
|||
23
mih_io
16.02.13
✎
20:47
|
+(22) пардон, слова попутал в запросе местами )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |