|
ВыбратьИерархически() не работает | ☑ | ||
---|---|---|---|---|
0
extrim-style
20.02.14
✎
10:55
|
Выборка = Справочники.ИмяСправочника.Выбрать(,,Новый Структура("Реквизит1", "5")) - выбирает
Выборка = Справочники.ИмяСправочника.ВыбратьИерархически() - выбирает Выборка = Справочники.ИмяСправочника.ВыбратьИерархически(,,Новый Структура("Реквизит1", "5")) - не выбирает ничего, почему? Справочик иерархический с иерархией элементов без ограничения количества уровней. Отбор хочу сделать по реквизиту с включенным индексированием с доп. упорядочиванием, тип Строка250. |
|||
1
extrim-style
20.02.14
✎
11:20
|
Ап
|
|||
2
Wobland
20.02.14
✎
11:22
|
читать до просветления: Формирует иерархическую выборку элементов справочника по заданным условиям
|
|||
3
extrim-style
20.02.14
✎
11:24
|
(2) что я в (2) не замечаю? мне и нужна как раз иерархическая выборка по условию равенства реквизита значению
|
|||
4
extrim-style
20.02.14
✎
11:32
|
Up
|
|||
5
TARPV
20.02.14
✎
11:40
|
Использовать для выборок данных объектные методы вместо запросов это дурной тон)) По крайней мере меня так учат в учебном центре 1С №1.
|
|||
6
extrim-style
20.02.14
✎
11:45
|
(5) разговор о выборках начинается после того, как задаешь вопрос из (0) )))?
ок. Давай через запрос - v8: Выбрать элементы верхнего уровня по определенному признаку посмотрим, чему там учат |
|||
7
extrim-style
20.02.14
✎
11:50
|
+(6) о "выборках запросом", конечно
|
|||
8
hhhh
20.02.14
✎
11:54
|
(7) у вас в элементах верхнего уровня реквизит1 точно равен "5"?
|
|||
9
Wobland
20.02.14
✎
11:55
|
(8) выборка будет формироваться при любом значении реквизита. главное, чтобы он был
|
|||
10
hhhh
20.02.14
✎
11:59
|
(9) а на "5" не будет проверять?
|
|||
11
Wobland
20.02.14
✎
12:00
|
(10) эмм... думаю, будет
|
|||
12
Шапокляк
20.02.14
✎
12:01
|
А у группы есть этот реквизит?
|
|||
13
hhhh
20.02.14
✎
12:02
|
(12) групп нет
|
|||
14
extrim-style
20.02.14
✎
12:06
|
(8) база клиент-серверная. На sql-сервере сделал проверку на NULL для реквизита этого справочника. Таких значений не нашлось. Или пустая строка, или значение.
|
|||
15
extrim-style
20.02.14
✎
12:14
|
платформа 8.2.17.153. Проверил на файловой 8.2.19.83 - та же история...
|
|||
16
extrim-style
20.02.14
✎
12:18
|
sql-запрос по значению этого реквизита отрабатывает нормально, выбирает все записи с таким значением:
SELECT * FROM [BaseName].[dbo].[_Reference75] where _Fld641 = '5' |
|||
17
extrim-style
20.02.14
✎
12:31
|
Появилась мысль, что ВыбратьИерархически() с отбором, вероятно, работает только тогда, когда необходимое значение реквизита есть хотя бы в нулевом уровне. М.б. это действительно так? Или нет?
|
|||
18
extrim-style
20.02.14
✎
12:33
|
+(17) у меня, кстати, в нулевом уровне таких значений нет, только в первом.
|
|||
19
extrim-style
20.02.14
✎
12:38
|
(17)(18) проверил предположение. оно оказалось ошибочным.
|
|||
20
extrim-style
20.02.14
✎
13:03
|
Проверяю на другой конфе (бухгалтерия) - Справочник ПодразделенияОрганизаций, включил индексирование для реквизита КПП.
Выборка = Справочники.ПодразделенияОрганизаций.ВыбратьИерархически(,,Новый Структура("КПП", "111111111")); ничего не выбирает. Почему? |
|||
21
hhhh
20.02.14
✎
13:42
|
(20) на 0-вом уровне есть этот КПП?
|
|||
22
extrim-style
20.02.14
✎
14:24
|
(21) а зачем? я же проверил это в (19)
|
|||
23
extrim-style
20.02.14
✎
15:08
|
Ап для (20)
|
|||
24
catena
20.02.14
✎
15:55
|
(22)Плохо проверил. Я перепроверила, для первого уровня работает.
|
|||
25
extrim-style
21.02.14
✎
08:46
|
(24) спасибо. Действительно, видимо где-то ошибся во время проверки. Получается именно так и работает.
Подытожу: ВыбратьИерархически() с отбором выбирает только элементы, которые имеют данный отбор во всех родителях этих элементов. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |