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

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

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

Ограничения данной реализации

  • Не строит дерево для исходных комплектующих с типом узел

Введение

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

Реализация

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

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

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

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

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

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

Выводы

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

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

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

См. также

Комментарии
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 Сейчас в теме
Добрый день, а можно тоже самое получить по списку номенклатуры?!
6. Информационно-технического развития Служба (SITR-utyos) 655 01.10.17 11:19 Сейчас в теме
(3) Можно, но лучше использовать другой алгоритм
4. Вера (Notella) 30 30.09.17 12:52 Сейчас в теме
Не работает!!!!!! Верните 5 $m. Хотя бы писали для какой конфы. Кроме всего прочего не учитывается работа с характеристиками номенклатуры. Потому идет зацикливание. В пояснениях ничего не сказано.
5. Вера (Notella) 30 30.09.17 13:00 Сейчас в теме
А еще в догонку не работает со спецификациями вида узел!!! Это вообще "капец"!!!!!!!!!!! (мягко сказано)
7. Роман Кусков (romku) 12 20.10.17 21:10 Сейчас в теме
Интересно, а возможно все таки без костыля сделать? Почему СКД не выводит в корень саму номенклатуру?
Оставьте свое сообщение