Разузлование номенклатуры без рекурсии

Обработки - Универсальные обработки

Те, кто работал с конфигурацией УПП, знают, что разузлование номенклатуры в этом чудо-продукте делается рекурсией и только рекурсией.
Конечно, когда у Вас серийное или мелкосерийное производство - не вопрос, несколько минут - и Ваша номенклатура полностью разузлована в обработке "Конструктор спецификаций". Оттуда можно также распечатать ряд отчетов по покупным материалам и комплектующим, полуфабрикатам собственного производства и т.д.
Но когда на предприятии штучное производство с большим ассортиментом и различным числом вложенности спецификаций, то эти несколько минут превращаются в несколько рабочих часов или даже дней.
Поэтому и была поставлена задача разузлования "нерекурсивным" методом.

1. Откуда есть пошла ... идея

Подобная задача уже решалась //infostart.ru/public/78285/

Но мне нужна была не просто развернутая спецификация, но количество материальных затрат, которое пойдет на изготовление продукции, их стоимость по определенному виду цен, а также анализ на наличие "мертвых петель" любой глубины вложенности.

2. Как решался вопрос.

Решался по тому же принципу, что и в исходной статье, но там бралась цепочка кодов, а здесь добавлялись колонки в запрос. Непосредственно с пересчетом количества через единицу измерения. И организовывался вывод данных в дерево значений.

3. Результат выполнения.

Результатом выполнения является дерево значений, которое можно перенести в любой необходимый отчет.

Скачать файлы

Наименование Файл Версия Размер
РазвалСпецификацииЗапросомСКоличеством1.epf
.epf 12,66Kb
06.03.15
84
.epf 12,66Kb 84 Скачать

См. также

Комментарии
1. Андрей Волин (kser87) 1210 09.03.15 12:24 Сейчас в теме
2. Алексей Ларин (roofless) 20 25.08.16 15:17 Сейчас в теме
разработки пригодилась в качестве основы, сэкономила немного времени. спасибо
3. Сан Саныч (herfis) 181 25.08.16 17:49 Сейчас в теме
Позанудствую. Рекурсия ни в чем не виновата :)
Ускорение получено заменой циклического обхода КАЖДОЙ ВЕТКИ на циклический обход УРОВНЕЙ дерева в целом. Что, несомненно, на порядки эффективнее.
Этот же алгоритм можно реализовать и рекурсивно, только смысла нет.
Но я понимаю, что ты хотел сказать. Что в погоне за элегантностью и компактностью кода некоторые индивиды тупо забивают на эффективность решения реальных задач. Есть такое.
4. Александр Крынецкий (echo77) 744 03.07.17 20:30 Сейчас в теме
Решение с помощью СКД в моей базе пока не видел спецификацию которая строилась бы дольше 3 сек. Друзья, если не сложно поделитесь своим деревом
Оставьте свое сообщение