Построение структуры конфигурации (+GraphML)


Обработка для анализа использования данных в конфигурациях 1С

Обработка предназначена для анализа использования реквизитов и метаданных, есть возможность положить файл графа GraphML, который кушает например открытая программа Gephi.

Как работает: перебирает метаданные и значения реквизитов и строит дерево.

Почему долго: если в ваших данных не используется реквизит (не заполнен во всех элементах, то он не будет учитываться)/

На картинке: записе регистра накопления заказы покупателей 15198 их сделали регистраторы заказы покупателей которых 559 и заказы поставщику которых 584. Для создания заказа поставщику нам понядобится в том числе элемент справочника Склады придется выбрать из 1 или создать, для его создания понядобится тип цен номенклатуры, которых счейчас 5, возможно для справочника склады понадобится еще и ответсвенный, но в текущих данных он не заполнен, поэтому не отображается в дереве, возможно понадобится еще поставить флажки, заполнить строки, числа и хранилища значений — они тоже не отображаются в обработке.

Вид обработки

В общем — анализ метаданных и их использование.

16 Comments

  1. kapustinag

    Интересно. Граф получается читабельным для типовых конфигураций или нет? — слишком много там взаимосвязей.

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

    Вы уже использовали это для какой-нибудь практической задачи? Или предназначение — учебное, демонстрация возможностей и освоение технологий?

    Reply
  2. ilya2184

    Граф получается вполне читаемым если мало данных используется и переносить анализируемые объекты на отдельные рабочие области. На рисунке с графом программа Gephi — там справа внизу видите Workspace 0 — там может быть несколько переключаемых областей на которые можно сложить узлы договоры, контрагентов, основные средства, регистры бухгалтерии и другие сопутсвующие. Если связь есть, но ни разу не использовалась — например какие нить регистрация в ИФНС — то узла не будет. Цветной — понятно будет при включении меток — я сейчас уже и не помню: красные — документы, зеленый — справочники, розовый — рег. сведений, желтый — накопления, фиолетовый — планы счетов, серые — перечисления. Размер — количество различных элементов в ссылочных (или записей в регистре).

    То что на рисунках — вполне практическая задача — есть у нас конфигурация самописная, обменивается глюкновато с бухгалтерией, сейчас мы на неё посмотрим, и решим — может(скорее) «сольем» с бухгалтерской конфой. Как оказалось в нашей самописной конфе реально используется около 10% связей (450 вместо 5000 возможных). Почему граф (сначала было просто дерево) — потому как при попытке развернуть дерево «до конца» наткнулся на зацикленные, и что самое страшное — реально-используемые, связи: так например если у нас разворачивать Номенклатуру — то для её создания понадобится некая «строка реестра» для которой в свою очередь понадобится та же номенклатура.

    P.S. Сейчас ради интереса погляжу на нашу бухгалтерию 1.6+2 года доработок

    Reply
  3. mzelensky

    Юзал аналогичные разработки — было не читаемо. Сейчас попробую что получится с этой. Скрины конечно красивые…

    Reply
  4. ilya2184

    Если последовательно выделять интересующие объекты: то помогает, весь сразу — нечитаемый.

    Reply
  5. Steelvan

    А чем вызвано использование именно GraphML ? Почему не в dot + graphviz ?

    Спрашиваю не чисто что бы пописдеть, а есть реальный интерес узнать причину ?

    Чем это удобнее dot + graphviz ?

    Reply
  6. ilya2184

    GraphML из-за любви к XML. Атрибуты всякие добавляю потихоньку для красоты и отбора, здесь не помню выкладывал или нет — вот недавно добавил к ребру количество используемых в связи: контрагентов во владельцах договоров например, к узлу добавлял тип объекта для отбора, строковый Мета-класс — перечисление, справочник.

    Gephi — потому что бесплатно и демка понравилась и ссылка в википедии «из первых» 🙂 а у других демки нету на первой странице — печально и уныло это :-).

    Reply
  7. gull22

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

    Reply
  8. ilya2184

    (7) gull22,

    Два, всё верно — чем больше использований связей — тем сложнее граф.

    Reply
  9. grey_yes

    {Форма.Форма.Форма(413)}: Ошибка при вызове метода контекста (Выполнить)

    Выборка = Запрос.Выполнить().Выбрать();

    по причине:

    {(2, 13)}: Неверные параметры «КОЛИЧЕСТВО»

    КОЛИЧЕСТВО(<<?>>СсылочныйОбъект.Протокол) КАК Количество

    Reply
  10. pumbaE

    Отбор по составу подсистем есть?

    Reply
  11. ilya2184

    (9) grey_yes, Бывает, может регистры расчета. Что за тип поля «Протокол»? Что за объект?

    Reply
  12. ilya2184

    (10) pumbaE, я не встречал в типовых конфигурациях 1С независимых по метаданным подсистем, поэтому нет, отбора оп подсистемам — нет.

    Reply
  13. s512

    Разработка очень заинтересовала (особенно формирование graphML). Скачать не могу: совсем нет sm. Не могли бы вы пожалуйста помочь как нибудь?

    Reply
  14. ilya2184
  15. so-quest

    (14) Спасибо, добрый человек

    Reply
  16. ilya2184

    (15) so-quest, Блин уже давно… в общем для понимания «объема бедствия» помогло — но только для оценки — и руководителям показать — что нифига там не просто всё. Сейчас наверно «протухла» уже обработка, а обновить времени нет: переезжаем с обычного приложения в такси…

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *