Что понимается под деревом объектов программы Реквизитор

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

  Дерево объектов является одним из важнейших элементов интерфейса программы Реквизитор, потому что не только отображает информацию о структуре томов объекта, но и позволяет выполнять различные операции:

Панель дерева объектов
Панель дерева объектов

  Работа с деревом объектов существенно отличается от того, что можно увидеть во многих современных программных продуктах типа подшивок nanoCAD, электротехнических моделях nanoCAD ОПС/СКС или списков в системах документооборота типа TDMS. Я всегда считал, что пользоваться всем перечисленным выше можно только при малом количестве узлов, поэтому реализовал своё представление о правильном интерфейсе. Ниже постараюсь продемонстрировать, как должна быть реализована работа с точки зрения удобства работы проектировщика.

  Перемещение узла дерева объектов

  В Реквизиторе в качестве базовой реализована технология drag-and-drop, позволяющая менять положение объектов путём перетаскивания их мышкой. Для выполнения этой операции:

  • выделяем один или несколько узлов;
  • над одним из них нажимаем левую кнопку мыши;
  • удерживая кнопку зажатой, перемещаем выделенные узлы в нужное нам место - к одному из узлов дерева; для понимания дальнейшего изложения материала назову его "приёмник" (Формат А0_Г на рисунке ниже);
  • отпускаем левую кнопку мыши.
Перемещение выделенных узлов
Перемещение выделенных узлов

  Реквизитор пересчитывает нумерацию листов или документов, если она числовая.

  В альтернативных приложениях для этих целей используются стрелки, позволяющие за один клик переместить один узел на одну позицию вверх или вниз. У меня в томе нередко 100+ схем, я должен их упорядочить. Сколько тысяч раз в альтернативных приложениях я должен кликнуть стрелочки "переместить вверх" и "переместить вниз" для пошагового упорядочивания узлов? Разработчики явно ни разу не пользовались своим творением на реальных задачах!

  Результат перемещения зависит от того, чем является приёмник, а также зажимали ли вы предварительно клавишу Alt. Если клавиша Alt перед перемещением не нажималась, а приёмник расположен на том же уровне иерархии, что и перемещаемые узлы, выделенные узлы будут размещены над приёмником. Данный метод регулярно используется для упорядочивания листов или документов в томе, для упорядочивания папок томов или объектов:

Упорядочивание листов/документов
Упорядочивание листов/документов

  Этим же методом можно переместить листы или документы из одного тома в другой. Данный метод используется, например, для ускорения заполнения основных надписей:

  • переносим какой-то лист или документ с заполненными графами исполнителей из ранее сформированного тома в новый;
  • выделяем его на новом месте;
  • нажимаем кнопку "Применить", чтобы все параметры исполнителей скопировались в листы или документы нового тома;
  • возвращаем перенесённый ранее лист или документ в исходную папку.

  Если перед перемещением нажималась и удерживалась клавиша Alt, а приёмником является лист или документ, выделенные узлы станут дочерними узлами приёмника. Таким способом создаются многолистовые документы:

Создание многолистового документа
Создание многолистового документа

  Реквизитор не только изменит положение выбранных узлов в дереве объектов, но и пересчитает их обозначения и нумерацию листов. У узла-приёмника, являющегося документом, будет пересчитано количество листов документа для графы 8 основной надписи. Если узел-приёмник является листом, пересчёт не выполняется, потому что лист не может состоять из листов.

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

  Иногда требуется переместить узел в конец списка. Делается это выбором соответствующего пункта из контекстного меню, вызываемого правой кнопкой мыши:

Контекстное меню дерева объектов
Контекстное меню дерева объектов
  Сокращение количества отображаемых объектов и томов

  Рано или поздно у вас накопится некоторое количество объектов. Их обработка отнимает лишнее время при старте Реквизитора, хотя фактически вы с ними уже не работаете. В Реквизиторе имеются инструменты, ограничивающие количество показываемых объектов и/или томов.

  За отображение объектов отвечает свойство объекта и настройка отображения скрытых томов в дереве объектов.

  Одним из свойств каждого объекта является флаг показа "Отображать" в дереве объектов: 

Элементы отображения папки объекта
Элементы отображения папки объекта

  Если этот флаг стоит, объект со всеми его папками отображается всегда. Если флаг отображения снят, отображение объекта зависит от настройки "Отображать скрытые объекты" дерева объектов. Отсутствие галочки в этом поле позволяет скрывать лишние объекты, чтобы они не мешали работать. Фактически это соответствует помещению объекта в архив.

  Когда возникает необходимость посмотреть находящиеся в архиве документы, необходимо установить флаг в поле "Отображать скрытые объекты" дерева объектов. Реквизитор отобразит все объекты, имеющиеся в базе данных.

  Вернуть объект к постоянному отображению можно установкой флага "Отображать" в параметрах объекта. Типичная задача: переданную ранее заказчику документацию по объекту необходимо откорректировать, а в дереве объектов она уже не отображается. Проделаем следующие операции:

  • установим флаг "Отображать скрытые объекты";
  • найдём нужный объект (он будет в самом конце отображаемого списка объектов);
  • установим ему флаг "Отображать" в настройках параметров объекта;
  • снимем флаг "Отображать скрытые объекты";
  • при необходимости переместим узел объекта вверх для удобного доступа к томам и документам объекта.
  Фильтрация объектов и томов

  При многопользовательской работе с Реквизитором и использовании единой базы данных объектов может возникнуть коллизия: одним пользователям объект нужен, а другие с ним уже не работают. В этом случае вместо отправки объекта в архив может пригодиться фильтрация по названиям объектов и томов. Этот же приём полезен для поиска нужного объекта при большом их количестве.

  Если растянуть панель с деревом объектов, появятся поля ввода критериев поиска - фрагментов слов, по которым будет выполнена фильтрация. Верхнее поле предназначено для фильтрации по фрагменту наименования объекта. Всплывающая подсказка напомнит, что необходимо сделать: ввести несколько символов и нажать Enter. Реквизитор оставит только те объекты, в которых имеется соответствующий набор символов:

Фильтр по фрагменту названия объекта
Фильтр по фрагменту названия объекта

  Нижнее поле ввода предназначено для фильтрации по графе 1 основной надписи. Смысл последнего состоит в том, что разработчик СОТ может ввести в поле шифр своего тома, и по всем объектам будут отображаться только соответствующие тома:

Фильтр по фрагменту обозначения тома
Фильтр по фрагменту обозначения тома

  Предупреждение: не забывайте о существовании фильтров! Иногда ищешь-ищешь объект или том, должен быть, а его нет. Потом вспоминаешь: тут же фильтр стоит!

Добавить комментарий

Ограниченный HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
CAPTCHA
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.
Этот вопрос задается для того, чтобы помочь обучению ИИ на реальных задачах.