Каталогизаторы
Часто для целей прикладной разработки требуется группировка объектов аналитики по какому-либо критерию, не меняя структуру плана аналитики. Например, в плане аналитики есть ветка, хранящая информацию об организациях, и ветка, хранящая информацию о физических лицах (людях). Пользователю требуется справочник покупателей. Очевидно, что не все объекты на ветках физических лиц и организаций являются покупателями, следовательно, требуется некая группировка данных. Для этого существует специальный инструмент - каталогизаторы. Каталогизатор определяется для объекта аналитики, потомки которого должны быть сгруппированы. То есть при создании каталогизатора в плане аналитики выбирается корневой объект, относительно которого он строится, создаются группы, и в эти группы помещаются объекты-потомки корневого объекта. Группировка объектов в каталогизаторе не оказывает никакого влияния на иерархическую структуру объектов в плане аналитики. Один и тот же объект может принадлежать различным группам каталогизатора. С помощью стандартного действия "Установка --> Администрирование -->Каталогизаторы" вызывается список всех существующих каталогизаторов. Из всплывающего меню таблицы редакторе плана аналитики вызывается список каталогизаторов для выбранного объекта. По способу создания каталогизаторы делятся на ручные, автоматические и программируемые.
Ручные каталогизаторы
В ручном каталогизаторе формальные критерии группировки объектов отсутствуют: создание групп и размещение объектов по группам производится вручную. Для создания ручного каталогизатора достаточно указать только корневой объект и имя каталогизатора. После того как ручной каталогизатор создан - можно открыть редактор ручного каталогизатора для создания его структуры. Редактор ручного каталогизатора можно вызвать из всплывающего меню в списке каталогизаторов либо из всплывающего меню вызванного каталогизатора (см. параметрическое действие "План аналитики"). Существует также параметрическое действие "Редактор ручного каталогизатора" - следовательно, можно вызвать каталогизатор в режиме редактирования его структуры непосредственно из главного меню или панели инструментов. Принцип работы с редактором ручного каталогизатора в целом схож с созданием директорий, копированием и перемещением файлов в двухпанельных оболочках, подобных Norton Commander. Редактор ручного каталогизатора состоит из двух панелей: на одной всегда должен быть выбран редактируемый каталогизатор, а на другой может быть выбрана ветка плана аналитики или другой каталогизатор для этой ветки, откуда производится копирование и перемещение объектов. Можно также выбрать редактируемый каталогизатор на обеих панелях: это позволит копировать и перемещать объекты и группы внутри каталогизатора.
В ручном каталогизаторе можно создавать любое количество групп с любым уровнем вложенности и помещать в эти группы любые объекты ветки. Ручные каталогизаторы рекомендуется использовать в качестве справочников, в которых конечный пользователь может не только добавлять, удалять и редактировать объекты, но и произвольно распределять их по группам. Существует возможность редактирования структуры ручного каталогизатора из внутреннего языка с помощью методов типа КАТАЛОГ.
Автоматические каталогизаторы
Автоматический каталогизатор формирует группы объектов в зависимости от значений их статических свойств. При создании автоматического каталогизатора задаются свойства корневого объекта, на основании значений которых будут сгруппированы объекты ветки. Каждое выбранное свойство соответствует уровню вложенности группы (так что порядок расположения выбранных свойств имеет значение). Количество групп на одном уровне зависит от количества различных значений свойства на ветке объектов аналитики. Например, при создании автоматического каталогизатора для объекта аналитики ТОВ (товары) выбирается два свойства объекта в следующей последовательности: "страна_производитель" и "цена". Допустим, у объекта ТОВ три дочерних объекта: ТОВ1 (страна_производитель: Россия, цена: 100), ТОВ2 (Россия, 200) и ТОВ3 (Франция, 300). В созданном автоматическом каталогизаторе будет две группы первого уровня - "Россия" и "Франция". Группа "Россия" будет содержать две вложенные группы - "100" и "200" (группа "100" содержит объект ТОВ1, группа "200" - ТОВ2). Группа "Франция" соответственно будет содержать вложенную группу "300" с объектом ТОВ3. Для статических свойств типов ЧИСЛО, ДАТА и ВРЕМЯ возможна группировка не только по значениям, но и по диапазонам значений. Автоматический каталогизатор не хранится в базе данных, а формируется динамически.
Программируемые каталогизаторы
Программируемый каталогизатор группирует объекты с помощью специального алгоритма. Алгоритм программируемого каталогизатора может храниться в виде свойства любого объекта аналитики, в том числе никак не связанного с веткой, для которой строится каталогизатор. При создании программируемого каталогизатора указывается ссылка на этот алгоритм. См. также параметры алгоритма програмируемого каталогизатора. Программируемый каталогизатор формируется динамически.
Каталогизатор, определенный для корневого объекта, наследуется всеми дочерними объектами. При этом у дочерних объектов каталогизатор может быть переопределен - для этого надо определить для дочернего объекта каталогизатор с тем же именем. Тип переопределенного каталогизатора может быть любым - то есть переопределяется все, кроме имени каталогизатора и прав доступа. Тип созданного каталогизатора произвольно изменять нельзя. Однако существует специальная возможность преобразования автоматического или программируемого каталогизатора в ручной. Это действие является необратимым, то есть преобразовать каталогизатор из ручного обратно в автоматический или программируемый нельзя. Созданный каталогизатор можно вызвать из главного меню или панели инструментов с помощью параметрического действия "План аналитики".