Добры день, такой вопрос у меня. у меня есть справочник "Номенклатура" в нем хранятся группы. В свою очередь в группах хранятся еще группы и элементы.
На этот момент я получаю с помощью запроса только те элементы которые находятся на первом уровне группы, а мне надо что бы если в первом уровне групп если есть еще группы
то и элементы которые в них находятся тоже читать.
Код {
Функция НаименованиеАвтомобилей()
Результат = Неопределено;
Массив = Новый Массив;
Автомобиль = НаименованиеАвтомобилей();
Для Индекс = 0 По Автомобиль.Количество()-1 Цикл
Выполнено = Ложь;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка
|ИЗ
| Справочник.Номенклатура КАК номенклатура
|ГДЕ
| Номенклатура.Родитель.Наименование = &Автомобиль
| И Номенклатура.ТипНоменклатуры = &ТипНоменклатуры";
Запрос.УстановитьПараметр("Автомобиль", Автомобиль[Индекс]);
Запрос.УстановитьПараметр("ТипНоменклатуры", ТипНоменклатуры);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Структура = Новый Структура;
Структура.Вставить("Марка", Автомобиль[Индекс]);
Структура.Вставить("Ссылка", Выборка.Ссылка);
Массив.Добавить(Структура);
Выполнено = Истина;
КонецЦикла;
КонецЦикла;
Если Массив.Количество() <> 0 Тогда
Результат = Массив;
Возврат Результат
КонецЕсли;
Возврат Результат;
КонецФункции
} Код
Если вар как то продолжить без изменения структуры кода подскажите в какую сторону искать.
(Почему я создал массив из наименований групп?
Потому что в номенклатуре есть еще группы первого
уровня в которые я заходить не хочу)
rphosts
1 - 05.01.21 - 10:31
Делать за тебя не буду, но подсказку дам: "ГДЕ Номенклатура.Ссылка В ИЕРАРХИИ (&Группа1)" выберет вообще всё с любой глубиной вложения папки Группа1.
Вторая подсказка: сделай пакетный запрос указав вместо Группа1 выборку из временной таблицы
(3) Ну то есть код который есть его не изменять а просто дописать к этому коду дополнение. Или просто не много изменить, но что бы суть логики осталась та же.