|
v8: Как по элементу спр найти группу, которой он принадлежит | ☑ | ||
---|---|---|---|---|
0
mzelensky
30.10.12
✎
13:39
|
Доброго всем!
К красивому решению прийти не получилось - прошу помощи. Есть ТЧ1 со списком групп справочника. Есть Тч2 с группами/элементами справочника. Как определить Для каждого элемента из ТЧ2 в какой группе Тч1 он находится. |
|||
1
mzelensky
30.10.12
✎
13:40
|
(0) естественно справочник иерархический.
Получить хочу ЗАПРОСОМ! |
|||
2
Stim
30.10.12
✎
13:42
|
соединить Родитель-ссылка
|
|||
3
alkorolev
30.10.12
✎
13:42
|
почему именно запросом? задача какая?
|
|||
4
AHAPXICT
30.10.12
✎
13:42
|
родитель
|
|||
5
Maxus43
30.10.12
✎
13:42
|
ничо не понял. У тебя есть всё, незнаеш как собрать? у элемента есть Родитель - группа. что ещё надо?
|
|||
6
samozvanec
30.10.12
✎
13:43
|
телепатирую: родитель может быть парой уровней выше
|
|||
7
Maxus43
30.10.12
✎
13:44
|
(6) тогда в запросе никак
|
|||
8
mzelensky
30.10.12
✎
13:44
|
(3) задача там более сложная, чем я описал. Чтобы долго не рсписывать - сразу говорю что надо запросом
|
|||
9
mzelensky
30.10.12
✎
13:45
|
можно конечно через "Родитель.Родитель.Родитель" и т.д. .... но это по-моему извращение
|
|||
10
alkorolev
30.10.12
✎
13:45
|
(0) самого верхнего родителя элемента над заполучить? запросом?
|
|||
11
samozvanec
30.10.12
✎
13:46
|
Выбрать
тч1.элемент тч2.ссылка из тч1 как тч1 левое соединение тч2 как тч2 по тч2.сылка В ИЕРАРХИИ тч1 |
|||
12
mzelensky
30.10.12
✎
13:46
|
(10) не факт что замого верхнего. ща попробую нарисовать...
|
|||
13
samozvanec
30.10.12
✎
13:47
|
родитель.родитель.родитель не можно, пока не узнаешь, сколько уровней надо пройти до искомого родителя
|
|||
14
Defender aka LINN
30.10.12
✎
13:47
|
(11) Красивые буквы. Только к чему это?
|
|||
15
Maxus43
30.10.12
✎
13:47
|
(11) по тч2.сылка В ИЕРАРХИИ тч1
сам то пробовал? |
|||
16
samozvanec
30.10.12
✎
13:48
|
поправлюсь
В ИЕРАРХИИ тч1.элемент |
|||
17
mzelensky
30.10.12
✎
13:48
|
(13) ну от самого элемента Тч2 до самого вернху...т.е. если у Тч2 уровень 3, то 3 раза "Родитель."
|
|||
18
Maxus43
30.10.12
✎
13:48
|
(16) ещё раз - попробуй. нельзя так
|
|||
19
mzelensky
30.10.12
✎
13:48
|
(16) так разве можно?
|
|||
20
mzelensky
30.10.12
✎
13:49
|
В идеале мне нужна конструкция:
&ЗначИзТЧ2 В Иерархии (Тч1.значение) но так низя :( Кто там хотелки на 8.3 записывал????? |
|||
21
Starhan
30.10.12
✎
13:50
|
можно попробовать
сначала сформировать таблицу где будут итоги по иерархии в 1 м поле, а во втором сама номенлкатура потом запихнут параметром в вирт таблицу и там соеденить по группе со творой таблицей. |
|||
22
samozvanec
30.10.12
✎
13:52
|
я вам разрешаю, можете даже временными таблицами побаловаться
|
|||
23
1Страх
30.10.12
✎
13:53
|
(20) не взлетит по причине того, что "В Иерархии" выполняется не в SQL, а на сервере приложений формируется список, который уже передается SQL
|
|||
24
mzelensky
30.10.12
✎
13:53
|
(21) там все усложняется тем, что у значения множественный тип и справочников возможных целая куча.
А тут нужно знать из какова конкретно справочника выбираешь. |
|||
25
mzelensky
30.10.12
✎
13:54
|
(23) это их проблемы - я ХОЧУ! :)
|
|||
26
mzelensky
30.10.12
✎
13:58
|
можно даже упростить задачу из (0)
Есть Тч1 с группами справочника и есть просто ЭлементСправочника (просто единичное значение). Нужно определить в какой из групп Тч1 находится данный элемент. |
|||
27
1Страх
30.10.12
✎
13:59
|
(26) есть решение, но тебе не понравится ))
|
|||
28
mzelensky
30.10.12
✎
14:01
|
(27) ну давай
|
|||
29
1Страх
30.10.12
✎
14:03
|
сделай и поддерживай РС по принципу "Множественная модель деревьев" из этой статьи http://www.codenet.ru/db/other/trees/
|
|||
30
mzelensky
30.10.12
✎
14:04
|
(29) ты был прав - мне не понравилось. Еще идеи будут? Вроде ж простая хотелка, а решения нормального нет :(
|
|||
31
1Страх
30.10.12
✎
14:05
|
(30) это 1С, детка
|
|||
32
mzelensky
30.10.12
✎
14:13
|
(31) обломитесь, господа! некое решения я таки нашел. Правда только для (26)...для (0) не прокатит. В частном случае выглядит так:
ВЫБРАТЬ ВидыТранспорта.Ссылка ИЗ Справочник.ВидыТранспорта КАК ВидыТранспорта ГДЕ &Парам ПОДОБНО "%" + ВидыТранспорта.Код + "%" И ВидыТранспорта.Ссылка <> &ТекЭлемент При этом Парам=ТД.Значение.ПолныйКод(); ТекЭлемент=ТД.Значение |
|||
33
1Страх
30.10.12
✎
14:15
|
(32) галимое решение, да и неправильное может оказаться
|
|||
34
mzelensky
30.10.12
✎
14:16
|
(33) более лучшего я не увидел. Ни в твоих предложениях, ни в других.
Есть другие варианты? |
|||
35
1Страх
30.10.12
✎
14:17
|
(34) мое предложение лучше ))
|
|||
36
mzelensky
30.10.12
✎
14:20
|
(35) ты сам то пробовал это делать????
+ "да и неправильное может оказаться" - потестил - вроде работает нормально! Согласись, более простого (и одновременно работающего) врятли найти |
|||
37
mzelensky
30.10.12
✎
14:26
|
Требую увековечивания себя в книги знаний с данным примером :)
и медальку :) |
|||
38
Reset
30.10.12
✎
14:29
|
Будет неверным если коды разной длины, т.е.
%1% вполне подобно "511/612" |
|||
39
mzelensky
30.10.12
✎
14:31
|
(38) в моей ситуации код не может быть разной длины. В пределах одного справочника код уникален и его маска одинакова (т.е. длина кода одинакова)
|
|||
40
Reset
30.10.12
✎
14:31
|
или если в содерижимом кодов может встречаться разделитель.
|
|||
41
Reset
30.10.12
✎
14:34
|
я к тому что для (37) слабовато :)
|
|||
42
mzelensky
30.10.12
✎
14:34
|
(40) ну хватит придеоаться. какие разделители??? ладно еще в номерах документом, но разделители в коде справочника...честно, ниразу не видел...
Хорошо уточню - код будет работать для СТАНДАРТНОГО справочника - у которого нет заморочек с формированием КОДА. |
|||
43
mzelensky
30.10.12
✎
14:34
|
(41) что, медальку жалко? Тогда давай свой вариант решения проблемы!
|
|||
44
hohol
30.10.12
✎
15:16
|
Принадлежит - не подходит?
|
|||
45
hohol
30.10.12
✎
15:20
|
СправочникСсылка.<Имя справочника>.ПринадлежитЭлементу (CatalogRef.<Имя справочника>.BelongsToItem)
СправочникСсылка.<Имя справочника> (CatalogRef.<Имя справочника>) ПринадлежитЭлементу (BelongsToItem) Синтаксис: ПринадлежитЭлементу(<Элемент>) Параметры: <Элемент> (обязательный) Тип: СправочникСсылка. Группа (или элемент для иерархического справочника с иерархией элементов), для которой определяется принадлежность элемента. Возвращаемое значение: Тип: Булево. Истина - элемент подчинен группе; Ложь - в противном случае. Если в качестве параметра указать сам элемент, то Ложь. Описание: Определяет подчиненность элемента справочника группе с учетом всех уровней иерархии. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Определяет подчиненность группе непосредственно на момент вызова метода путем последовательного считывания всех вышестоящих элементов. Пример: Если ОбъектСсылка.ПринадлежитЭлементу(ЭлементСсылка) Тогда Сообщить("Принадлежит"); КонецЕсли; |
|||
46
alex-pro
06.11.12
✎
15:28
|
(9) В свое время так и решал. Сделал 10 уровней вложенности.
|
|||
47
viktor_vv
06.11.12
✎
15:36
|
(32) Тек если ты снаружи передаешь полный код, почему бы тогда снаружи не передавать список ролителей верхнего уровня ?
Этот список получай простенькой функцией из типовой для назначений свойств. И без этих извратов. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |