gifts2017

Пример программного создания графической схемы с помощью инструментов XML-DOM

Опубликовал djvu (djvu) в раздел Программирование - Работа с интерфейсом

Альтернативный способ программного создания элементов графической схемы с помощью инструментов XML-DOM.

   Шаблон обработки программного создания графических схем с помощью инструментов  XML-DOM.

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

Кнопка "Сохранить схему в XML" позволяет сохранить и просмотреть сформированную графическую схему в виде XML строки.

Особенность - не создаются промежуточные файлы.

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

Наименование Файл Версия Размер
Пример программного формирования графической схемы с помощью инструментов XML-DOM 185
.epf 14,16Kb
21.02.13
185
.epf 14,16Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Ожерельев (Поручик) 23.12.11 15:12
Чую, что бесовщина полезное, но обосновать не могу.
K_A_O; Новиков; +2 Ответить 1
2. Роман Романов (romansun) 23.12.11 15:27
(1)
+100500

нада подумать, где можно заюзать
3. Алексей Новиков (Новиков) 23.12.11 15:38
Также подожду от автора некоего консалта, где он это использовал и зачем :)
4. Сергей Самошин (saiten) 23.12.11 15:58
Прикольно, чё. Автору плюс.

Только вот:
{Форма.ФормаЗависимостиВГрафическомПредставлении.Форма(160)}: Ошибка при вызове метода контекста (ДобавитьДочерний)
нов_ЭлементDOMДекорация = структура_Эталоны.УзелРодитель.ДобавитьДочерний(нов_ЭлементDOM);

К чему бы это?
5. djvu (djvu) 23.12.11 16:08
saiten
Без контекста выполнения - непонятно, это ведь шаблон, проверок я там не делал, у меня обработка отрабатывает без ошибок.
6. Сергей Самошин (saiten) 23.12.11 16:15
(5) Разобралсо. Работает только под 14 платформой. Под 13 кидает эту ошибку.
7. djvu (djvu) 23.12.11 16:18
Да, похоже на то, ошибка описана в:
http://downloads.v8.1c.ru/content/Comm/Platform/Err_8_2_13_219.htm

10077727 Клонирование узла DOM

Проблема:
При клонировании узла дерева DOM с помщью метода КлонироватьУзел элемента узла DOM при добавлении полученного элемента в дерево DOM с помощью метода ДобавитьДочерний происходит ошибка
Ошибка при вызове метода контекста (ДобавитьДочерний)
по причине:
Используемый документ DOM отличается от документа, создавшего узел

Дата публикации: 2011-03-31
8. Михаил Ражиков (tango) 23.12.11 16:26
крутятся в голове три буквы UML
9. Александр Кунташов (kuntashov) 23.12.11 16:38
Отличная идея! И укладывается в определение "штатными средствами" :).
10. Игорь Исхаков (Ish_2) 23.12.11 20:21
(0) В статье ни слова про сложность описываемого графа .
В таблице ИД,Родитель возможны произвольные связи (произвольный граф) ?
И он будет корректно нарисован с указанием всех свзей ?
11. djvu (djvu) 23.12.11 23:54
Ish_2
Вопрос. некорректный. Это шаблон. Источником для итераций, конкретно, в этой обработке служит "жестко" зашитая, последняя строка таблицы значений, но, если вопрос в сортировке, тогда, для конкретного примера (таблицы значений) все равно, с какой строки начнется обработка данных. Главное, чтобы граф был не зациклен (Основное условие, чтобы у корня дерева не было родителя).
Еще раз, смысл выложенной обработки, не в отрисовке графа, а в идее применения XML как способа работы с графической схемой.
Честно, за 1,5 дня работы с XML и DOM, с которыми раньше не имел дела вообще, и так "взорвало" мозг; выкладывал идею, как альтернативу текущим способам работы с графической схемой, а не как готовое, законченное решение, которое способно удовлетворить запросы искушенного разработчика.

Если по существу:
"...В таблице ИД,Родитель возможны произвольные связи..." - текущая обработка, нет. В перспективе - да, имея доступ к объектам графа, настроить связи - вопрос времени, желания и необходимости.
12. Александр Плюшкин (php5) 24.12.11 14:25
13. djvu (djvu) 24.12.11 15:12
Преимущества - XML описывает структуру объекта внятными тегами, отсутствуют промежуточные файлы, подготовка схемы происходит в памяти (т.е. скорость обработки выше), о правильном парсинге заботится DOM.
14. Игорь Исхаков (Ish_2) 25.12.11 04:40
(11) Это корректный вопрос.
Еще раз : в статье 10 строчек , нужно было добавить еще 3 строчек с описанием ораничений , накладываемых на используемый граф. И никаких вопросов.
У Вас э.. распространенный взгляд на публикацию " а чего там писать ? и так понятно !".

По теме : ожидал увидеть граф со всеми зацикливаниями в виде гр.схемы.
Именно циклические графы и интересны на практике.
Это было бы круто без всяких оговорок. Жаль, не вышло.

В перспективе - да, имея доступ к объектам графа, настроить связи - вопрос времени, желания и необходимости.

Всегда приветствую смелость и лихость.
Но скромно считаю , что Вы не представляете в какую задачу влезаете.
Впрочем, с радостью заберу свои сомнения назад, при появлении такой обработки.
15. Александр Кунташов (kuntashov) 25.12.11 15:28
(14) Автор пытался показать как работать программно с графической схемой на изменение, а не пытался научить, как строить и визуализировать графы.

Есть известная проблема: программная работа с графической схемой на изменение. Объектная модель 1С:Предприятия 8 предоставляет для графической схемы объектную модель в режиме "только чтение".

Автор публикации догадался применить для целей программной модификации графической схемы возможность ее сериализации в XML. Идея на сегодня свежая, потому что все известные мне на данный момент решения базируются на сериализации графической схемы во внутренний формат - stream, и программной работе с этой строкой с последующей десериализацией.

См., например, публикации

http://infostart.ru/public/20371/
http://infostart.ru/public/20369/

Предложенный автором подход предполагает манипуляцию с графической схемой на более высоком уровне: не надо заниматься парсингом потока. В этом плане такой подход лучше и укладывается в рамки использования штатных, документированных, возможностей платформы.
vital1c; dour-dead; MrFlanker; +3 Ответить 1
16. Игорь Дзеса (Kamikadze) 25.12.11 21:35
однозначно плюс за смелость решения задачи
17. Сергей Самошин (saiten) 25.12.11 23:24
(14) Реализация, думаю, вполне потянет на отдельную статью. А так, за иллюстрацию механизма - автору спасибо. Хотя, имхо, можно было бы и компактнее оформить... Но и так читаемо.
18. Игорь Исхаков (Ish_2) 26.12.11 14:20
(15),(17) Угу. Я забежал несколько вперед .
За показательный пример - автору спасибо.
19. Михаил (mdzen) 26.12.11 15:52
Однозначно плюс. Добавлю в копилку.
20. Игорь Калчев (Igor030370) 26.12.11 21:40
была в моей практике разработка конфигурации по учету электропотребления. Там был вопрос визуализации пути поставки электроэнергии. Вот имел бы я тогда такое решение.... вопрос был бы решен штатными средствами! Автору плюс авансом... ещё не смотрел
21. Игорь Павлычев (ivpctotru) 14.06.12 12:18
+.Спасибо за идею. Как раз сейчас занимаюсь визуализацией технологических процессов. Программных механизмов формирования и модификации графических схем очень не хватает.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа