Сформировать дерево спецификаций быстро

Программирование - Практика программирования

Обработка строит дерево состава изделия (структура изделия) с помощью СКД

Введение

В процессе построения дерева изделия программными средствами было обнаружено, что 30% времени затрачивается на рекусривное выполнение запроса(запрос в цикле) и 30% времени тратится на построение дерева. В попытке избавиться от обоих недостатков была разработана схема компоновки данных, которая строит свою иерархию

Реализация

Суть обработки заключается в использовании схемы компоновки данных(СКД) состоящей из одного набора данных, который связывается сам с собой для построения иерархии.

Для того чтобы добавить в корень дерева само разворачиваемое изделие пришлось доработать сгенерированное СКД дерево - это своеобразный костыль, как сделать по-другому пока не знаю.

Все необходимые для работы процедуры и функции находятся в модуле обработки(их там совсем немного)

К публикации прикреплено два файла:

Построить дерево спецификаций(по номенклатуре) - для построения дерева необходимо указать номенклатуру-корень дерева и дату получения ВСЕХ спецификаций. Это бывает не очень удобно

Построить дерево спецификаций(по спецификации номенклатуры) - необходимо указать номенклатуру, спецификацию номенклатуры и дату получения спецификаций номенклатуры, входящей в корень дерева

Выводы

Достаточно быстро(в течение 3-х секунд) удается построить дерево из ~1000 срок с помощью СКД

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

Наименование Файл Версия Размер
Построить дерево спецификаций(по номенклатуре)
.epf 20,09Kb
04.10.16
14
.epf 2016-07-30 20,09Kb 14 Скачать
Построить дерево спецификаций(по спецификации номенклатуры) 2017-07-29
.epf 29,07Kb
29.07.17
1
.epf 2017-07-29 29,07Kb 1 Скачать

См. также

Комментарии
1. Оракул Айметдинов (jhfrek) 164 02.08.16 12:32 Сейчас в теме
2. Диджей Нейтрино (VIPchik) 23 26.10.16 07:09 Сейчас в теме
5 $m за не работающую обработку - это круто...

СвойствоЦехИзготовитель = <<?>>у_ПолучитьСвойство.ЦехИзготовитель();
3. Ян Цецко (sovital) 20 27.03.17 13:57 Сейчас в теме
Добрый день, а можно тоже самое получить по списку номенклатуры?!
Оставьте свое сообщение