Перейти к содержанию

Создание и настройка справочников

Создание и настройка справочников

В системе «М-АПТЕКА плюс» справочники служат для хранения условно-постоянной информации, и организации аналитического учёта. Их использование позволяет облегчить ввод информации в документы, исключить дублирование и тем самым уменьшить объём хранимой информации. Каждому справочнику соответствует отдельный класс Cache.

Ввод и корректировка описаний справочников должны выполняться в монопольном режиме (то есть все пользователи за исключением Администратора должны выйти из программы «М-АПТЕКА плюс»), так как при изменении некоторых элементов описания будет произведена компиляция соответствующего справочнику класса.

Примечание

Не рекомендуется удалять существующие описания справочников в стандартной поставке программы «М-АПТЕКА плюс», так как это может привести к некорректной работе системы. Также не рекомендуется вводить и удалять поля справочников в стандартной поставке.

Пользователю разрешается вводить новые справочники, а также изменять настройки интерфейса, и настройки прав доступа у существующих справочников.

Пример создания справочника

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

  1. В первую очередь нужно обязательно включить отладочный (системный) режим (см. Как открыть поле в справочнике).

  2. Теперь следует открыть Создание новых справочников, расположенное по адресу: Конструктор → Описание справочников → Создание новых справочников. Откроется окно Ввод описания справочников:

    Ввод описания справочников

    В открывшемся окне требуется нажать на кнопку Белый лист (Новый) в панели инструментов, или же воспользоваться пунктом меню Новый, откроется окно описания справочника:

    Окно описания справочника

    На первой вкладке Основная необходимо заполнить следующие поля:

    • Идентификатор – вводится имя справочника. В качестве имени справочника допустимы только латинские буквы и цифры, причём начинаться имя должно обязательно с буквы. Для примера можно вписать идентификатор справочника: SprTest.

      Внимание

      Имя нового справочника должно быть уникальным, то есть не должно пересекаться с именами других справочников.

      Примечание

      При сохранении справочника будет создан класс Cache с именем, соответствующим имени справочника.

    • Комментарий – вводится русскоязычное наименование справочника, то с которым будут в дальнейшем работать пользователи «М-АПТЕКА плюс». В рассматриваемом примере следует ввести комментарий: Справочник Тестовый.

    • Подчинён – из выпадающего списка можно выбрать справочник (класс), которому подчинен описываемый справочник. Данная возможность используется в случае, когда необходимо подчинить один справочник другому. Например, условия оплаты из справочника условий оплаты, могут вестись только в разрезе поставщиков, поскольку у каждого поставщика свои условия оплаты.

      Примечание

      Описание справочника, которому подчинен вводимый справочник, должно существовать на момент описание подчиненного справочника.

  3. Далее следует ввести реквизиты (характеристики) справочника. В рассматриваемом примере необходимо создать у справочника реквизиты Код, Наименование и Цвет.

Ввод реквизитов справочников

Для ввода нового реквизита необходимо нажать кнопку Белый лист Новый в окне ввода описания справочника. Откроется бланк, в котором нужно ввести Параметры реквизита:

Окно описания справочника

  • Идентификатор – имя реквизита, по которому при компиляции справочника создастся поле в классе. В идентификаторе могут содержаться только латинские буквы и цифры, причём начинаться имя должно с буквы. Это имя должно быть уникальным внутри одного справочника. Для примера следует ввести: ExtCode.

    Примечание

    Если в справочнике присутствуют поля код и наименование, рекомендуется присваивать им имена ExtCode и FullName соответственно.

  • Наименование – русскоязычное наименование поля, с которым в дальнейшем будут работать пользователи. Необходимо ввести: Код. Рекомендуется вводить не слишком длинные наименования реквизитов, так как в дальнейшем эти наименования будут отображаться в качестве заголовков колонок таблицы.

  • Тип значения – выбирается из выпадающего списка. Типы значений справочника могут быть как простыми (%Дата, %Строка, %Число, %Ответ), так и ссылочными на другие классы. Для свойства Код выбрать тип значения %Число (предполагается, что коды будут числовыми). Теперь, когда пользователь будет заполнять поле Код, «М-АПТЕКА плюс» автоматически не даст ввести символы, не являющиеся числами.

  • Длина хранимой части – описывается максимальное количество символов значения реквизита, которое будет сохранено в БД. Данная настройка распространяется только при выборе типа данных %Строка. По умолчанию эта настройка служит также для описания видимой длины поля в бланке и таблице, до тех пор, пока видимая длина поля не будет изменена в дизайнере. Необходимо ввести: 10.

    Примечание

    Если в качестве типа поля используется ссылочный тип данных, то дополнительно появляется поле Отображать как.

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

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

  • Сохранять как – можно указать свойство справочника, используемое в качестве типа данных, значение которого будет сохраняться в БД при сохранении элемента справочника. Запрещается изменять значение данной настройки без согласования с Разработчиком.

  • Поле является вычислимым – при установленной «галочке» значение поля не хранится непосредственно в указанном справочнике, а вычисляется в момент отображения элемента справочника. Дополнительно требуется указать:

    • Получить – необходимо указать метод, который будет вычислять значения поля. Для выбора метода необходимо нажать кнопку с тремя точками, расположенную справа от элемента, содержащего наименование метода. Данное поле является обязательным, если поле является вычислимым.
    • Редактировать – необходимо указать метод, который будет запущен при попытке пользователя войти в режим редактирования вычислимого поля. Для выбора метода необходимо нажать кнопку с тремя точками, расположенную справа от элемента, содержащего наименование метода. Данное поле не является обязательным. Если метод не указан, то редактирование поля будет запрещено.
    • Сохранить – необходимо указать метод, который будет запущен при сохранении измененного значения вычислимого поля. Для выбора метода необходимо нажать кнопку с тремя точками, расположенную справа от элемента, содержащего наименование метода. Данное поле не является обязательным.

    Примечания

    При описании вычислимого поля запрещена установка «галочек», расположенных на вкладке Дополнительно. Сортировка и поиск в табличном представлении справочника по вычислимым полям запрещены.

Вкладка «Дополнительно»

Вкладка Дополнительно

  • Автоматическая нумерация – если поставить «галочку», то «М-АПТЕКА плюс» автоматически создает значение реквизита, на единицу больше максимального существующего, для нового элемента справочника. При этом пользователь может откорректировать значение, предложенное системой, выбрав другой номер.

    Примечание

    «Галочка» Автоматическая нумерация доступна только для числовых полей.

  • Значение реквизита должно быть уникальным – если поставить «галочку», то система не даст ввести два элемента справочника, имеющих одинаковое значение поля. То есть, в рассматриваемом примере, одинаковый номер.

  • Допустимость множества значений – если поставить «галочку», то для ввода значений поля будет выдано дополнительное окно, в котором можно будет ввести несколько значений. При этом на уровне БД будет создана дополнительная таблица, в которой будут перечислены все комбинации значений поля и идентификатора элемента справочника (за дополнительной информацией следует обратиться к руководству по Cache).

  • Хранить значение реквизита по датам – если поставить «галочку», то для ввода значения поля необходимо будет ввести дату. При этом автоматически организуется дополнительная подтаблица, ключом которой является дата ввода значения свойства и идентификатор элемента справочника.

  • Значение реквизита не должно быть пустым – если поставить «галочку», то «М-АПТЕКА плюс» не даст ввести элемент справочника, у которого значение свойства не заполнено.

  • Быстрый поиск по значению свойства – если поставить «галочку», то система автоматически создает индекс по значению свойства, для ускорения процедуры поиска среди элементов таблицы.

  • Запрет удаления при наличии "живых объектов" – «галочка» для контроля логической целостности при удалении элемента справочника. Если поставить «галочку», то при попытке удалить элемент класса, на который ссылается описываемое свойство, будет выдан запрет на удаление.

Например, если, описывая справочник мед. препаратов, в описании единицы измерения установить «галочку» Запрет удаления при наличии "живых объектов", то при попытке удалить единицу измерения будет выдан запрет, если существуют мед.препараты, ссылающиеся на удаляемую единицу измерения.

Вкладка «Интерфейс»

Вкладка Интерфейс

На этой вкладке можно разрешить или запретить использование Расширение функциональности справочников. Разрешённая установкой «галочек» расширенная функциональность будет отображаться в нижней части окна справочника. В качестве примера можно рассмотреть вкладку Интерфейс в Справочнике товаров.

Примечание

Когда справочник открывается в первый раз, расширенная функциональность может отображаться не целиком (часть скрыта за границами окна). В этом случае нужно зажатой левой клавишей мыши перетащить выше разделитель между основной и расширенной частями экранной формы.

Если расширений несколько, клавишами-стрелками (справа) можно выбрать порядок их показа в окне справочника.

Расширения функциональности могут отображаться в форме таблицы или бланка:

  • Включить отображение в таблице – если поставить «галочку», то расширенная функциональность справочника будет отображаться в форме ввода «таблица».

  • Включить отображение в бланке – если поставить «галочку», то расширенная функциональность справочника будет отображаться в форме ввода «бланк».

Вкладка «Описание»

Эта вкладка позволяет ввести текстовое описание созданного реквизита:

Вкладка Описание

Вкладка «Список значений»

Данная вкладка предназначена для свойств, имеющих перечислимые значения (то есть количество значений свойства ограничено). В качестве примера можно рассмотреть свойство Пол, в Справочнике физ. лиц. В качестве хранимых значений указаны 0 и 1. А в качестве отображаемых значений указаны муж и жен.

Вкладка Интерфейс

После того как были описаны реквизиты справочника, один из этих реквизитов необходимо отметить «галочкой». Смысл этой «галочки» в том, что если на описываемый справочник ссылается другой справочник, то значение справочника, на который указывает ссылка, будет представлено в виде значения отмеченного поля.

Например, одним из полей справочника является поле Цвет, которое также является ссылочным и указывает на гипотетический справочник цветов, в котором есть поля Код и Наименование, при этом Наименование является отмеченным. Тогда в колонке Цвет справочника будет указано наименование цвета. Это значение по умолчанию можно переопределить при описании поля Цвет в справочнике, задав значение Отображать как.

Далее необходимо вернуться на вкладку Основная.

Список допустимых значений

  • Подсистемы – подсистемы из списка подсистем, в которых будет доступен этот справочник. По умолчанию ни одна из подсистем не отмечена, это значит, что справочник будет доступен во всех подсистемах.

  • Сохранять значение реквизитов по датам – при установленной «галочке» в справочнике дополнительно будут автоматически созданы поля Дата начала и Дата окончания, то есть дата начала действия записи и дата окончания её действия. Тогда при вводе значений справочника необходимо будет дополнительно указывать дату изменения записи справочника.

    Такая возможность удобна в том случае, когда имеются реквизиты, которые зависят от даты, например, входящие и исходящие остатки по счёту. Пользователь должен иметь возможность узнать остаток на любой день. В то же время остатки по счёту изменяются не каждый день. Если необходимо сократить размеры базы данных, то следует создавать записи в базе данных только в те дни, когда остаток действительно изменялся. Данная отметка предоставляет именно такую возможность.

  • Права доступа – открывается дополнительное окно, в котором можно указать статусы доступа к вводу, удалению, и просмотру элементов описываемого справочника:

    Права доступа

Вкладка «Доступ к описанию справочника»

Отдельно можно настроить статусы доступа к описанию справочника.

Внимание

Рекомендуется ставить статусы доступа к описанию справочника достаточно высокими, так как неправильная корректировка справочников может привести к остановке работы всей системы «М-АПТЕКА плюс».

Примечание

Если поставить «галочку» Разрешить любые действия без учёта статуса, «М-АПТЕКА плюс» разрешит проводить любые действия со справочником любым пользователям, без проверки соответствия статусов.

Далее выполняется настройка внешнего вида справочника. Можно настроить его как в виде бланка, для чего следует нажать кнопку В виде бланка, так и в виде таблицы, – нажать кнопку В виде таблицы.

Настройка бланка ввода

Если необходимо изменить размер поля, то сделать это можно просто «потянув» левой клавишей мыши край поля (при этом курсор примет форму <->). Для того чтобы переместить поле, необходимо навести курсор мыши на середину интересующего поля (он примет форму +), после чего «перетащить» поле на новое место. Аналогично можно перемещать кнопки Записать и Отмена.

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

Далее можно настроить способ ввода справочника в виде бланка, отметив пункт В виде бланка, или в виде таблицы, – отметив пункт В виде таблицы.

В виде бланка или таблицы

Вкладка «Дополнительно» главного окна справочника

Вкладка Дополнительно главного окна

  • Временно отключен – если поставить «галочку», то справочник не будет отображаться в общем списке справочников. Настройка предназначена для отключения неиспользуемых справочников.

  • Разрешить экспорт данных справочника – если поставить «галочку», то будет разрешён экспорт данных справочника в другие подразделения (например, из офиса в аптеку), в том числе и в автоматическом режиме при отправке документов.

  • Отключить расширенный поиск – если поставить «галочку», то в момент поиска, движение курсора вверх от найденной строки будет недоступно, что ускоряет процесс поиска.

  • Выбор иконки – позволяет выбрать иконку для отображения справочника в общем списке:

    В виде бланка или таблицы

  • Описание горячих клавиш – предоставляет возможность описать «горячие» клавиши. Для описания новой горячей клавиши необходимо задать мнемонику клавиши путём нажатия требуемого сочетания клавиш в первой колонке таблицы, после чего выбрать метод, который будет выполняться при нажатии данной комбинации «горячих клавиш».