Часть справочников, такие как Пользователи, Схемы проводок, Сущности, План счетов, Валюты, Разделы учета, Периоды поддерживаются системой. Другая часть - опубликованные документы (или профильные документы) имеют произвольную структуру, определяемую структурой самого документа (или профильного документа).
Справочники, опубликованные из документов, являются простыми и представляют собой списки документов, содержащих код документа, его название и некоторые расширенные атрибуты, которые включаются в список при настройке справочника. Данные справочники доступны только в рамках участка и не могут принимать участие в формировании аналитических кубов. Рекомендуется справочники опубликовывать только из профильных документов, что облегчает дальнейшую работу с ними.
Справочники, опубликованные из профильных документов, являются сложными и представляют собой объединение документов нескольких типов, включенных в профильный документ.
Профильный документ – это виртуальная сущность Системы Алеф, которая не имеет собственного хранилища данных. Задача профильного документа состоит лишь в том, чтобы поставить в соответствие полям профильного документа поля конкретных документов, которые имеют свои данные.
Имея такую связку, мы можем работать с профильными документами как с обычными документами. В том числе мы можем и публиковать их как справочники.
Справочник с буфером ввода предназначен для оперативного выбора и редактирования нескольких строк справочника. Например, такой режим работы со справочником полезен при необходимости очень быстрого приема заказов, состоящих из большого количества позиций. При этом пользователь (приемщик заказа) выбирает товар (строку) из справочника, сразу указывает количество товара, не закрывая окно справочника, выбирает следующий товар, указывает количество и т.д. При указании количества в каждой строке заказа контролируется, чтобы объем заказа не превысил остаток на складе.
Выбор строки из списка осуществляется клавишей [Enter]. При этом строка из верхнего списка копируется в нижний буфер. В поле редактирования (количество в заказе) записывается весь остаток на складе. Курсор (фокус ввода) помещается в новую строку в буфере в поле редактирования.
Редактирование количества в заказе возможно сразу же после копирования строки в буфер, т.к. курсор помещается в строку редактирования. При редактировании количества в заказе система отслеживает, чтобы заказанное количество не превысило остаток на складе. При нажатии клавиши [Enter] курсор возвращается в верхний список для выбора следующей строки заказа.
При повторном выборе строки из верхнего списка система ищет в буфере соответствующую строку заказа и помещает в нее курсор для исправления количества в заказе.
Для выполнения данной работы будут использованы в основном иерархические справочники.
Преимущества использования иерархической организации справочной информации (при возможности такой организации) достаточно очевидны.
Такая организация позволяет отображать справочную информацию в виде дерева, что зачастую облегчает пользователю работу с ней. Например, пользователь ищет конкретного сотрудника в справочнике персонала предприятия; он точно не помнит имя сотрудника, однако примерно помнит отдел, в котором он работает. Используя поиск по дереву значительно проще найти необходимый отдел и сотрудника, поскольку пользователь имеет примерное представление о направлении поиска.
Появляется возможность анализа информации, производя разрез по конкретной ветви дерева.
Для формирования иерархических справочников в системе существует форма «Настройка иерархии». Вызов формы можно осуществлять двумя способами:
- при настройке публикаций профильных документов в окне “Публикации” нажатием кнопки “Настройка иерархии” (см.п. «Профильные документы»). Система позволяет формировать иерархическую структуру только для существующих справочников, поэтому сначала необходимо опубликовать профильный документ, а затем формировать его иерархию;
- из пункта меню «Настройки»->»Настройка иерархий». В этом случае можно работать с иерархиями всех существующих справочников.
Иерархические справочники организованы таким образом, что при манипулировании атрибутами иерархий происходит реструктуризация только самой иерархической структуры, а элементы справочника остаются неизменны.
Форма содержит следующие элементы и сервисы:
- Элемент “Наименование справочника” содержит наименование текущего настраиваемого справочника. Справочник выбирается из выпадающего списка элемента.
- Элемент “Настройки иерархий” содержит список всех настроенных иерархий выбранного справочника. Первое поле списка содержит наименование иерархии, второе – флаг “Иерархия по умолчанию”. Иерархия по умолчанию может быть одна для данного справочника и автоматически устанавливается текущей при вызове иерархического справочника. Иерархию по умолчанию можно удалить только в том случае, если не существует других настроенных для данного справочника иерархий. В противном случае система будет отменять операцию удаления. В случае если добавляемая иерархия является первой для данного справочника, она назначается иерархией по умолчанию.
- Элемент “Свойства иерархии” предназначен для редактирования параметров, достаточных для создания иерархий. Их всего четыре:
“Наименование” – наименование иерархии.
“Ширина уровня” задает количество символов для кодирования элементов одного уровня. Возможность манипулирования этим параметром была реализована для предотвращения использования лишней памяти для хранения строкового идентификатора при необходимости. Максимальное количество символов в идентификаторе равно 255. Максимальное количество символов на один уровень равен 9 (определяется диапазоном целочисленного типа int). Таким образом, минимальное количество уровней иерархи равно 28 (255 MOD 9), максимальное количество равно 255.
“Поле кода экземпляра” – наименование поля документа для построения связи Parent-Child, на который будет ссылаться документ более низкого уровня.
“Поле ссылки на код родителя” – наименование поля документа, содержащего ссылку на элемент более высокого уровня для построения связи Parent-Child, на который будет ссылаться документ более низкого уровня.
Значения последних двух параметров выбираются из выпадающего списка полей профильного документа, имеющих флаг возможности установки фильтра по ним. (см. п. «Публикация профильных документов»). При выборе полей для связи необходимо учитывать следующие ограничения: 1) поля должны быть одного типа данных; 2) поля не должны быть одинаковыми.
Работа с иерархическим справочником осуществляется тем же самым способом, что и работа с линейным. В случае, если выбор происходит из справочника, имеющего хотя бы одну сгенерированную иерархию, то он будет представлен в иерархическом виде, иначе – в линейном. В первом случае окно справочника состоит из трех основных элементов: “Представления справочника”, “Элементы справочника”, “Поиск и сортировка”.