#0
by Stereo
Здесь производство. Конфа самописная. Количество уровней вложения комплектов неограниченно. Справочник "Номенклатура" имеет реквизит "СоставКомплекта" (документ, где в многострочной части (компоненты) тоже являются справочником "Номенклатура"). Таким образом формируется состав готового изделия. Прередо мной стоит задача создания дерева (использую Vtools) для визуального отображения состава изделия. Проблемы возникли в построении алгоритма дерева. В данный момент код такой (дерево формируется некорректно) :
#2
by Stereo
+ Вобщем интирисует любая инфа, примеры алгоритмов, советы по теме использования рекурсивных процедур в производстве.
#4
by GrayT
Да просто с втоолс разбираться лениво. Посмотри стандартный отчет дерево документов. Я бы еще добавил механизм защиты от зацикливания. На вскидку - у тебя два цикла по строкам документов - уже не совсем красиво для рекурсии. имхо, одна процедура для вывода номенклатуры. В ней перебор строк и рекурсивный вызов для номенклатуры в строке
#8
by Stereo
текДС= СоздатьОбъект("Документ.Состав"); а ДС.НайтиДокумент(текТовар.ДокСостав) использую т.к. при обращении напрямую по ссылке ( текТовар.ДокСостав ) при переборе строк не возвращает значение реквизита строчной части . Глюк какойто. Ты бы лучше что путное сказал.
#10
by GrayT
мне показалось, что получитьСтроку не обязан быть у объекта созданного чнрез СоздатьОбъект?
#13
by Stereo
Перем ДС ДС = СоздатьОбъект("Документ"); - объявленно в основном тексте программы. На этом не заостял внимание. тут проблема с родителем, когда начинает уменьшаться уровень.
#14
by Ёпрст2
+11 хотя в 1с-ине есть такой глючок - если переменная на форме с типом документ ... то можно сразу получать строки, без ВыбратьСтроки... хотя, в данном случае, просто забыл ...
#17
by Stereo
Как найти родителя нижестоящего уровня при уменьшении вложенности цикла рекурсивной процедуры?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- создание справочника
- V8. Проблемы с создание начальных образов
- Описание для 1CML32.DLL и UNIZIP32.DLL
- Создание внешних компонент
- Создание обработки
- создание BAT ФАЙЛА для автоматического запуска 1с
- Как программно раскрыть ветку дерева значений в табличном поле дерева значений?
- Чем грозит замена odbcbcp.dll, sqlsrv32.dll, sqlsrv32.dll, в Win7 ?
- v7: Как посмотреть какие объекты может создавать данная версия 1cpp.dll, formex.dll
- Где в УПП процедура первого запуска и процедура обновления ИБ?
В этой группе 1С
- ЗиК: Компенсация отпуска при увольнении с минусом
- Многострочная шапка табличного поля
- УПП - расчет среднего заработка. Откуда берется количество дней?
- Отбор по пустым значениям в отчетах
- форма списка регистра сведений
- Ограничение прав доступа. Глюк?
- подскажите как элементы справочника одной группы поместить в массив
- Как проверить тип документа в запросе
- v7: Открыть форму в свернутом виде
- v7: работа с HTTPS и бинарными данными с помощью MSXML.XMLHTTP
- Окно запуска 1С: Предприятие
- Переуступка прав требования в 1с 7,7
- v8: "Конвертация данных 2.0" - как записать значение свойства в коллекцию?
- Списание партий "По средней"
- Отваливается ключ..
- Удаление HASP
- v8: Ошибка в Excel: Нельзя установить свойство NumberFormat
- Работа с объектами типа текст в табличном поле
- В чем принципиальная разница между Оборотным регистром и регистром Остатков
- Как завершить сеанс удаленного рабочего стола?