|
отбор иерархия
| ☑ |
0
legol90
18.07.17
✎
13:09
|
Пишу код:
Результат.Загрузить(ТаблицаЗначений);
Отбор = Новый Структура();
Отбор.Вставить("Номенклатура",Справочники.Номенклатура.ВыбратьИерархически("Родитель", Справочники.Номенклатура.НайтиПоКоду("Код")); РезазультатСОтбором = Результат.НайтиСтроки(Отбор);
Для Каждой строки из РезазультатСОтбором Цикл
//......
КонецЦикла;
Подскажите пожалуйста, как будет правильно записать отбор по номенклаиуре в иерархии?
|
|
1
1dvd
18.07.17
✎
13:10
|
Отбор.Вставить("Номенклатура",Справочники.Номенклатура.ВыбратьИерархически("Родитель", Справочники.Номенклатура.НайтиПоКоду("Код"));
Вот это очень сильно! на 5 баллов
|
|
2
legol90
18.07.17
✎
13:12
|
(1) знаю что не правильно, вот и обратился, может кто что подскажет?
|
|
3
Рэйв
18.07.17
✎
13:12
|
(0) ты точно это на 1С писал?
|
|
4
1dvd
18.07.17
✎
13:12
|
(2) Результат - это что? Таблица значений? Табличная часть?
|
|
5
legol90
18.07.17
✎
13:15
|
(4) таблицаЗначений
|
|
6
1dvd
18.07.17
✎
13:16
|
(5) ок. Значит, тебе нужно выбрать Из ТаблицаЗначений те строки, в которых Номенклатура входит в некую группу?
|
|
7
legol90
18.07.17
✎
13:17
|
(6) так точно
|
|
8
1dvd
18.07.17
✎
13:19
|
(7) вижу как минимум два варианта:
1. Простой перебор с условием. Писать быстро, работает медленно
2. Запросом. Писать немного сложнее, но будет работать в разы быстрее и это будет более правильный вариант
|
|
9
legol90
18.07.17
✎
13:25
|
а можно о первом варианте по подробней
|
|
10
1dvd
18.07.17
✎
13:28
|
Для Каждого СтрокаТЗ Из ТаблицаЗначений Цикл
Если СтрокаТЗ.Номенклатура.ПринадлежитЭлементу(НоменклатураГруппа) Тогда
|
|
11
legol90
18.07.17
✎
13:46
|
(10) У меня почему то этот вариант не работал раньше, вот и начал химичить, сейчас попробую
|
|
12
1dvd
18.07.17
✎
13:46
|
(11) Через НайтиСтроки не получится, там условие только на равенство
|
|
13
organizm
18.07.17
✎
14:32
|
удали все, напиши запрос.
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший