Имя: Пароль:
1C
1С v8
постоение иерархии по конечным элементам
,
0 samozvanec
 
21.05.13
11:20
есть иерархический справочник. и есть регистр, откуда можно выбрать конечные элементы. и эти конечные элементы нужно записать в другой регистр вместе с иерархией, которую нужно взять из справочника. можно ли решить задачу одним запросом?
1 1Сергей
 
21.05.13
11:22
как это, записать вместе с иерархией?
как это, записать запросом в регистр?
2 samozvanec
 
21.05.13
11:25
(1) записать не запросом. с иерархией - так и записать. получить ее из справочника и в регистр записать. меня больше интересует, как получить
3 samozvanec
 
21.05.13
11:26
+ (2) как получить из справочника иерархию для определенных элементов
4 Allexe
 
21.05.13
11:30
(0) Так ты получишь ссылку на элемент справочника и эту ссылку запишешь в другой регистр, а в ссылке уже содержится иерархия
5 samozvanec
 
21.05.13
11:34
(4) а мне нужно записать
Ссылка
Ссылка.Родитель
Ссылка.Родитель.Родитель

и так далее, пока есть родители. при чем каждый родитель 1 раз только должен писаться, но это уже мелочи.
6 samozvanec
 
21.05.13
11:38
если быть более конкретным, запросом нужно получить записи вида

Поле1             -   Поле2
----------------------------------------------
Ссылка            -   Ссылка.Родитель
Ссылка.Родитель   -   Ссылка.Родитель.Родитель

чтобы в таком виде и записать
7 Allexe
 
21.05.13
11:44
ВЫБРАТЬ
   Номенклатура.Ссылка,
   Номенклатура.Родитель
ИЗ
   Справочник.Номенклатура КАК Номенклатура
АВТОУПОРЯДОЧИВАНИЕ
8 samozvanec
 
21.05.13
11:45
(7) это я так объяснил, или ты так пошутил?
9 Allexe
 
21.05.13
11:46
(8) Разве (7) не выводит (6) ?
10 Allexe
 
21.05.13
11:48
В начале будет самая верхняя группа у нее нет родителя
Материал <Пусто>
Прочее Материалы
Кабель Прочее
Шланг Прочее

Далее группа прочее входящая в группу материалы, далее элементы входящие в группу прочее
11 samozvanec
 
21.05.13
11:51
(10) мне не все элементы нужны. вот я с регитра выбрал некоторые элементы. и мне нужно только для них иерархию достроить "доверху"
12 Allexe
 
21.05.13
11:59
(11) Сразу при выборе из регистра нельзя взять иерархию?
13 samozvanec
 
21.05.13
12:07
(12) да как взять то, если я не знаю, сколько уровней будет?
14 Allexe
 
21.05.13
12:22
(13) Так чем не устраивает?
ВЫБРАТЬ
   ОстаткиМатериаловОстатки.Материал.Ссылка,
   ОстаткиМатериаловОстатки.Материал.Родитель,
   ОстаткиМатериаловОстатки.КоличествоОстаток
ИЗ
   РегистрНакопления.ОстаткиМатериалов.Остатки КАК ОстаткиМатериаловОстатки
ГДЕ
   ОстаткиМатериаловОстатки.КоличествоОстаток > 10
АВТОУПОРЯДОЧИВАНИЕ
15 samozvanec
 
21.05.13
12:28
(14) попробую так описать... вот я знаю, что вот этой организации соответствует вот этот ЦФО. тогда я беру, смотрю, в какой папке лежит этот ЦФО, в какой папке лежит эта папка и т.д. все подряд мне не надо, только родитель этого элемента, потом его родитель и т.д.
16 PCcomCat
 
21.05.13
12:29
(14) У родителя тоже есть родитель!
17 Ахиллес
 
21.05.13
12:32
(5) Идиотская задача. Если эта иерархия тебе в 1 регистре не нужна, на кой хрен она тебе во втором?
18 Ахиллес
 
21.05.13
12:33
Ты вообще понимаешь чем регистр от справочника отличается?
19 samozvanec
 
21.05.13
12:35
(17) все уже так построено, что нужна, это не обсуждается. вопрос в том, можно ли запросом выбрать? или рекурсией обойти
20 samozvanec
 
21.05.13
12:36
(18) фактически надо в определенном месте отобразить только тот кусок справочника, который к этому месту относится. а читается там все тупо из регистра.
21 andreymongol82
 
21.05.13
12:36
(15) Чем не устраивают такая конструкция в запросе

ИТОГИ
   СУММА(СуммаСумма)
ПО
   ЦФО ИЕРАРХИЯ
22 Ахиллес
 
21.05.13
12:37
а мне нужно записать
Ссылка
Ссылка.Родитель
Ссылка.Родитель.Родитель

Ты не понимаешь почему это идиотизм? Только честно. Действительно не понимаешь?
23 samozvanec
 
21.05.13
12:38
(22) я честно действительно понимаю. но вне зависимости от этого, мне нужен способ это выбрать и записать
24 andreymongol82
 
21.05.13
12:39
(21) Соответственно

а мне нужно записать

Ссылка
Ссылка.Родитель
Ссылка.Родитель.Родитель

нахрен не нужно
25 Ахиллес
 
21.05.13
12:39
(23) Запись в справочнике, чем от записи в регистре отличается?
26 PCcomCat
 
21.05.13
12:39
Выгрузить (Unload)
Синтаксис:

Выгрузить(<ТипОбхода>)
Параметры:

<ТипОбхода> (необязательный)

Тип: ОбходРезультатаЗапроса.
Задает тип обхода записей в получаемой выборке.
Значение по умолчанию: Прямой
Возвращаемое значение:

Тип: ТаблицаЗначений; ДеревоЗначений.
Если тип обхода задан Прямой, результат выгружается в таблицу значений, в противном случае в дерево значений.
Описание:

Создает таблицу значений (или дерево значений) и копирует в нее все записи набора.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

ТаблицаРезультатов = РезультатЗапроса.Выгрузить();




ОбходРезультатаЗапроса (QueryResultIteration)
Значения

ПоГруппировкам (ByGroups)
ПоГруппировкамСИерархией (ByGroupsWithHierarchy)
Прямой (Linear)

Описание:

Содержит варианты обхода результата запроса.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Возможен обмен с сервером.
См. также:

ВыборкаИзРезультатаЗапроса, метод Выбрать
РезультатЗапроса, метод Выбрать
РезультатЗапроса, метод Выгрузить
27 samozvanec
 
21.05.13
12:41
не надо цитировать СП и разглагольствовать. мне надо отобрать запросом кусок справочника по конечным элементам иерархии. вот вопрос.
28 Ахиллес
 
21.05.13
12:44
Внедрение 1С в армии.
Внедрять отсюда и до обеда. И не важно чем боец занят и какой результат будет, главное, что-бы он заепался :-)
29 Allexe
 
21.05.13
13:06
(27) Приведи пример конкретный с остатками что тебе нужно получить в результате запроса?
30 samozvanec
 
21.05.13
13:17
(29) см (6)
31 Allexe
 
21.05.13
13:19
(30) А количество где должно быть?
32 samozvanec
 
21.05.13
13:20
(31) да не надо мне никакого количества. мне кусок справочника с иерархией надо получить, зная конечные элементы. желательно выборку как в (6)