Имя: Пароль:
1C
Админ
v7: метод ПринадлежитГруппе() в 1С сделан на хранимке или чем ?
0 Холст
 
16.11.13
22:41
может кто-то изучал, как работает в SQL базе 7.7 метод ЭтоГруппа() и, может быть, можно обратиться к соответствующей SQL функции/хранимке  из прямых запросов ?
1 0wl
 
16.11.13
22:54
Под рукой базы нет,  но вроде это поле IsFolder.  Но могу с 8 путать
2 Холст
 
16.11.13
23:21
(1) блин, не ЭтоГруппа(0), а ПринадлежитГруппе() конечно же !!!
модераторы, прошу поправить заголовок !
3 Холст
 
16.11.13
23:22
ЭтоГруппа()
4 Torquader
 
16.11.13
23:26
А там разве вообще хранимки есть - там запросы, что в dbf, что в SQL - просто выполняется перебор, также как и в ПолучитьПолныйКод() - то есть по шагам выбираем родителя.
5 be-may
 
16.11.13
23:33
Самое простое это открыть профайлер и посмотреть что делает 1С при вызове ПринадлежитГруппе().
Насколько я помню, там была рекурсия, временные таблицы и конструкция if exist  select .....
6 be-may
 
16.11.13
23:36
7 КонецЦикла
 
17.11.13
01:03
Рекурсивный запрос скорее всего, так как вложенность может быть хз какая
Пройдись профайлером штоле
8 КонецЦикла
 
17.11.13
01:08
Сцуко тупо перебор, облажался
9 Злопчинский
 
17.11.13
01:10
(8) хм.. а как неперебором в скуле сделать..? есть элемент - может входить в группу на любом уровне иерархии...
.
?
10 Злопчинский
 
17.11.13
01:12
(9) херню какую-то написал...
11 КонецЦикла
 
17.11.13
01:12
(10) ага :)
12 Злопчинский
 
17.11.13
01:13
берем элемент и строим рекурсивно набор родителей. ищем среди набора родителей заданную группу...?
.
или рекурсивно получаем родителя и каждого полученногородителя сравниваем с заданной группой - сошлось - готово!
.
или как-то иначе ПО ПРАВИЛЬНОМУ?
13 Холст
 
17.11.13
01:13
(9) на 1С++ форуме терли помоему об этом, можно не перебором
подзапросами с уровня вложенности элемента который сравнивают до уровня с которым сравнивают
ну и вьюху походу дела под это забацать
14 Злопчинский
 
17.11.13
01:14
911) заметь. мне понадобилось всего 2 минуты, чтобы понять что облажался, а тебе - пять..! ;-)
15 Злопчинский
 
17.11.13
01:15
у Тейлора в Скуле для чайников рекурсивный запрос мну понравился...
16 Холст
 
17.11.13
01:17
изначально поднял тему в предположении, что сама 1С делает ПринадлежитГруппе(Гр1) достаточно оптимально и чтобы 1С++ запрос использовал созданный самой 1С функцию поиска принадлежности, а 1С походу динамически создает эту функцию а потом ее стирает
17 КонецЦикла
 
17.11.13
01:26
Нет, все же не перебор. Просто что-то в кишках ворочает своих. Кол-во итераций не увеличивается. Значит не все так плохо.
18 КонецЦикла
 
17.11.13
01:30
19 Злопчинский
 
17.11.13
01:30
чисто интересно было бы посмотреть на этот скульный запросик
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший