Привет
Из внешней базы данных нужно получить структуру изделия и построить дерево в 1с.
Есть запрос, который умеет возвращать состав изделия. Использовав его в рекурсивной функции можно пройтись по структуре изделия.
А как теперь эту структуру вывести в деревозначений?
Пока делаю вот так. но если полуфабрикат входит в несколько других полуфабрикатов, то его состав будет задваиваться, так как используется Поиск уже записанного элемента.
Процедура ВыполнитьЗапрос(Номенклатура) Экспорт
Состояние("Выполнение запроса на SQL сервере");
//Выборка - результат выполнения запроса во внешней бд
Иначе
СтрокаКуда = СтруктураИзделия.Строки.Найти(Гп, "Изделие", истина);
Если СтрокаКуда <> Неопределено Тогда
НовСтр = СтрокаКуда.Строки.Добавить();
НовСтр.Изделие = Ном;
КонецЕсли;
КонецЕсли;
Если Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Ном).ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоКоду("000000005") Тогда
ВыполнитьЗапрос(Ном);
КонецЕсли;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший