Что понимается под деревом объектов программы Реквизитор
Операции, выполняемые с применением кнопок и контекстного меню, рассматриваются в статье "Операции над узлами дерева объектов". А в этой статье рассмотрим методы упорядочивания и фильтрации узлов.
Дерево объектов является одним из важнейших элементов интерфейса программы Реквизитор, потому что не только отображает информацию о структуре томов объекта, но и позволяет выполнять различные операции:
Работа с деревом объектов существенно отличается от того, что можно увидеть во многих современных программных продуктах типа подшивок nanoCAD, электротехнических моделях nanoCAD ОПС/СКС или списков в системах документооборота типа TDMS. Я всегда считал, что пользоваться всем перечисленным выше можно только при малом количестве узлов, поэтому реализовал своё представление о правильном интерфейсе. Ниже постараюсь продемонстрировать, как должна быть реализована работа с точки зрения удобства работы проектировщика.
Перемещение узла дерева объектов
В Реквизиторе в качестве базовой реализована технология drag-and-drop, позволяющая менять положение объектов путём перетаскивания их мышкой. Для выполнения этой операции:
- выделяем один или несколько узлов;
- над одним из них нажимаем левую кнопку мыши;
- удерживая кнопку зажатой, перемещаем выделенные узлы в нужное нам место - к одному из узлов дерева; для понимания дальнейшего изложения материала назову его "приёмник" (Формат А0_Г на рисунке ниже);
- отпускаем левую кнопку мыши.
Реквизитор пересчитывает нумерацию листов или документов, если она числовая.
В альтернативных приложениях для этих целей используются стрелки, позволяющие за один клик переместить один узел на одну позицию вверх или вниз. У меня в томе нередко 100+ схем, я должен их упорядочить. Сколько тысяч раз в альтернативных приложениях я должен кликнуть стрелочки "переместить вверх" и "переместить вниз" для пошагового упорядочивания узлов? Разработчики явно ни разу не пользовались своим творением на реальных задачах!
Результат перемещения зависит от того, чем является приёмник, а также зажимали ли вы предварительно клавишу Alt. Если клавиша Alt перед перемещением не нажималась, а приёмник расположен на том же уровне иерархии, что и перемещаемые узлы, выделенные узлы будут размещены над приёмником. Данный метод регулярно используется для упорядочивания листов или документов в томе, для упорядочивания папок томов или объектов:
Этим же методом можно переместить листы или документы из одного тома в другой. Данный метод используется, например, для ускорения заполнения основных надписей:
- переносим какой-то лист или документ с заполненными графами исполнителей из ранее сформированного тома в новый;
- выделяем его на новом месте;
- нажимаем кнопку "Применить", чтобы все параметры исполнителей скопировались в листы или документы нового тома;
- возвращаем перенесённый ранее лист или документ в исходную папку.
Если перед перемещением нажималась и удерживалась клавиша Alt, а приёмником является лист или документ, выделенные узлы станут дочерними узлами приёмника. Таким способом создаются многолистовые документы:
Реквизитор не только изменит положение выбранных узлов в дереве объектов, но и пересчитает их обозначения и нумерацию листов. У узла-приёмника, являющегося документом, будет пересчитано количество листов документа для графы 8 основной надписи. Если узел-приёмник является листом, пересчёт не выполняется, потому что лист не может состоять из листов.
Обратите внимание: перетащить узел документа, имеющего свои дочерние узлы, в другой документ Реквизитор не позволит, поскольку это не соответствует логике построения документации.
Иногда требуется переместить узел в конец списка. Делается это выбором соответствующего пункта из контекстного меню, вызываемого правой кнопкой мыши:
Сокращение количества отображаемых объектов и томов
Рано или поздно у вас накопится некоторое количество объектов. Их обработка отнимает лишнее время при старте Реквизитора, хотя фактически вы с ними уже не работаете. В Реквизиторе имеются инструменты, ограничивающие количество показываемых объектов и/или томов.
За отображение объектов отвечает свойство объекта и настройка отображения скрытых томов в дереве объектов.
Одним из свойств каждого объекта является флаг показа "Отображать" в дереве объектов:
Если этот флаг стоит, объект со всеми его папками отображается всегда. Если флаг отображения снят, отображение объекта зависит от настройки "Отображать скрытые объекты" дерева объектов. Отсутствие галочки в этом поле позволяет скрывать лишние объекты, чтобы они не мешали работать. Фактически это соответствует помещению объекта в архив.
Когда возникает необходимость посмотреть находящиеся в архиве документы, необходимо установить флаг в поле "Отображать скрытые объекты" дерева объектов. Реквизитор отобразит все объекты, имеющиеся в базе данных.
Вернуть объект к постоянному отображению можно установкой флага "Отображать" в параметрах объекта. Типичная задача: переданную ранее заказчику документацию по объекту необходимо откорректировать, а в дереве объектов она уже не отображается. Проделаем следующие операции:
- установим флаг "Отображать скрытые объекты";
- найдём нужный объект (он будет в самом конце отображаемого списка объектов);
- установим ему флаг "Отображать" в настройках параметров объекта;
- снимем флаг "Отображать скрытые объекты";
- при необходимости переместим узел объекта вверх для удобного доступа к томам и документам объекта.
Фильтрация объектов и томов
При многопользовательской работе с Реквизитором и использовании единой базы данных объектов может возникнуть коллизия: одним пользователям объект нужен, а другие с ним уже не работают. В этом случае вместо отправки объекта в архив может пригодиться фильтрация по названиям объектов и томов. Этот же приём полезен для поиска нужного объекта при большом их количестве.
Если растянуть панель с деревом объектов, появятся поля ввода критериев поиска - фрагментов слов, по которым будет выполнена фильтрация. Верхнее поле предназначено для фильтрации по фрагменту наименования объекта. Всплывающая подсказка напомнит, что необходимо сделать: ввести несколько символов и нажать Enter. Реквизитор оставит только те объекты, в которых имеется соответствующий набор символов:
Нижнее поле ввода предназначено для фильтрации по графе 1 основной надписи. Смысл последнего состоит в том, что разработчик СОТ может ввести в поле шифр своего тома, и по всем объектам будут отображаться только соответствующие тома:
Предупреждение: не забывайте о существовании фильтров! Иногда ищешь-ищешь объект или том, должен быть, а его нет. Потом вспоминаешь: тут же фильтр стоит!
Добавить комментарий