![]() |
|
Использование рекурсии при записи в справочник | ☑ | ||
---|---|---|---|---|
0
bUbA
28.10.13
✎
14:27
|
Запросом выбрал нужную номенклатуру из справочника, результат выгрузил ОбходРезультатаЗапроса.ПоГруппировкамСИерархией. Теперь этот результат записываю в другой справочник в таком же виде, в каком он был в первом (т.е. ввиде дерева, по папкам). Но поле родителя всегда имеет тип Неопределено, из-за чего и записывается в новый справочник все в один уровень, без папок. В чем причина может быть?
|
|||
1
shuhard
28.10.13
✎
14:28
|
(0)[В чем причина может быть?]
в кривом коде ибо нельзя в один проход это реализовать |
|||
2
Wobland
28.10.13
✎
14:28
|
а что такое рекурсия?
|
|||
3
bUbA
28.10.13
✎
14:33
|
(1) но при выгрузке запроса в дерево поле Родитель разве не должно быть заполнено?
|
|||
4
1dvd
28.10.13
✎
14:35
|
(2) это когда с помощью машины времени зачинаешь сам себя
|
|||
5
Михаил Козлов
28.10.13
✎
14:35
|
Должно быть, но Вы можете записывать элемент, не записав нужного родителя.
|
|||
6
Jolly Roger
28.10.13
✎
14:36
|
(0) ОбменДанными.Загрузка = истина
|
|||
7
1dvd
28.10.13
✎
14:36
|
можно и без рекурсии, кстати
|
|||
8
bUbA
28.10.13
✎
14:51
|
(5) я просто запросом выбираю нужные поля
Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка, | Номенклатура.Код, | Номенклатура.Артикул, | Номенклатура.БазоваяЕдиница, | Номенклатура.Наименование, | Номенклатура.ПолноеНаименование, | Номенклатура.Родитель КАК Родитель |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ВидТМЦ = &ВидТМЦ | И Номенклатура.ПометкаУдаления = ЛОЖЬ; дзНоменклатура = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); В результате у строки получается 2 поля родителя, одно заполненное, которое Номенклатура.Родитель в запросе, а второе пустое, которое Неопределено. И используется при записи то, которое Неопределено. |
|||
9
Михаил Козлов
28.10.13
✎
14:52
|
а в ИТОГИ в запросе что стоит?
|
|||
10
Капюшон
28.10.13
✎
14:57
|
(2)вы не можете не знать этого.
|
|||
11
НЕА123
28.10.13
✎
14:57
|
ну, родителя-то надо конкретизировать - Мама или Папа.
|
|||
12
1dvd
28.10.13
✎
14:58
|
(8) синхронизация по какому полю идёт? по Коду?
|
|||
13
bUbA
28.10.13
✎
15:03
|
добавил
|ИТОГИ | КОЛИЧЕСТВО(Наименование) |ПО | Родитель ИЕРАРХИЯ"; но на результат это не повлияло |
|||
14
1dvd
28.10.13
✎
15:09
|
телепатирую
Если Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоГруппировке Тогда |
|||
15
bUbA
28.10.13
✎
15:18
|
(14) Выборка.ТипЗаписи() = Неопределено
|
|||
16
1dvd
28.10.13
✎
15:19
|
(15) мало кода
|
|||
17
hhhh
28.10.13
✎
15:25
|
(15) ну а каким способом вы из родителя справочника Номенклатура, получаете родителя другого справочника?
|
|||
18
bUbA
28.10.13
✎
15:47
|
(17) родителя другого справочника я никаким способом не получаю, потому что здесь родителем выступают папки в справочнике Номенклатура
|
|||
19
hhhh
28.10.13
✎
15:53
|
(18) родитель имеет тот же тип что и сам элемент. Не может родитель быть папкой Номенклатуры.
|
|||
20
bUbA
28.10.13
✎
16:10
|
(19) у родителя, которого я записываю тип справочник Номенклатура, а у второго родителя, который после выгрузки в дерево получается, тип то Неопределено, то СтрокаДереваЗначений
|
|||
21
hhhh
28.10.13
✎
16:13
|
(20) вы пишете "результат записываю в другой справочник". В другом справочнике не может быть родитель типа справочник Номенклатура.
|
|||
22
User_Agronom
28.10.13
✎
16:16
|
(2) Когда подпрограмма вызывает сама себя.
Код кривой. Определите порядок записи (порядок создания родителей и элементов. Должно идти от корня) Я бы действительно сделал бы рекурсией: но тут не писано про соответствие элементов справочников. Или это в двух разных базах? |
|||
23
vinogradъ
28.10.13
✎
16:20
|
(0) выгрузить с уровнем и родителем, отсортировать по уровню и записывать в этом порядке не предлагали?
|
|||
24
ptiz
28.10.13
✎
17:03
|
Итоги По
Ссылка ИЕРАРХИЯ |
|||
25
НЕА123
29.10.13
✎
07:51
|
(20)
>тип то Неопределено, то СтрокаДереваЗначений (11) |
|||
26
Лефмихалыч
29.10.13
✎
08:17
|
(1) да можно, нужно просто созданных родителей запоминать и правильно использовать
|
|||
27
Maggie
29.10.13
✎
09:23
|
| И Номенклатура.ЭтоГруппа = ЛОЖЬ
УПОРЯДОЧИТЬ ПО Ссылка ИТОГИ ПО Родитель ИЕРАРХИЯ АВТОУПОРЯДОЧИВАНИЕ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |