Модификация прикладной системы

 

Разработка справочников

 

Выбор способа нумерации

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

·         Код должен быть уникален для каждой записи справочника;

·         Наименование должно быть уникально для записей справочника, относящихся к одной записи ведущего справочника (см. раздел «Определение ведущего справочника») и к одной нашей организации (см. раздел «Установка контекста нашей организации»).

Способ нумерации справочника влияет на порядок заполнения поля Код. Можно установить автоматическую или ручную нумерацию. Автоматическая нумерация может быть строгой или не строгой. При ручной нумерации значение поля Код Пользователи вводят вручную. При автоматической нумерации значение может быть введено вручную или подобрано автоматически. Для строгой нумерации автоматически подбираемые значения будут без «дыр», а для не строгой – просто очередной номер.

Если установлена строгая или не строгая автоматическая нумерация справочника, то при создании новых записей в поле Код будет подставляться служебное слово «АВТОНОМЕР» и при сохранении записи вместо «АВТОНОМЕР» будет  подставлено значение, подобранное по следующему формату:

[<Префикс нашей организации>]<Префикс сервера><Номер>,

где:

·         <Префикс нашей организации> – определяется из установки системы MB_AOurFirmPref_. Префикс нашей организации добавляется, если справочник ведется в разрезе наших организаций;

·         <Префикс сервера> – левая часть шаблона номера внешних кодов до первого небуквенного символа. Шаблон номера внешних кодов определяется из установки системы MB_AFirstExtNum;

·         <Номер> – правая часть шаблона номера внешних кодов до первого нецифрового символа, увеличенная на 1 (с учетом ведущих нулей). Шаблон номера внешних кодов определяется из установки системы MB_AFirstExtNum.

 

Примечание. Начальное значение кода формируется один раз при добавлении первой записи. Сформированное начальное значение кода сохраняется в установке системы, наименование которой строится как MB_Anal_<Код нашей организации>_<Код типа справочника> (подробнее см. описание компоненты «Установки системы» в книге «Компоненты системы DIRECTUM»), и при дальнейшей работе со справочником очередной номер подбирается на основе значения из этой установки.

Если на момент сохранения записи значение поля Код отлично от «АВТОНОМЕР», то автоматической подстановки значения не происходит.

 

Примечание. При добавлении записи автонумеруемого справочника в реквизит справочника Код значение «АВТОНОМЕР» записывается автоматически, при этом вызываются события на изменение значения реквизита.

В зависимости от того, какой используется тип автоматической нумерации, подбор очередного кода и его запись в реквизит Код происходит в или до транзакции на сохранение записи: для строгой автонумерации – в транзакции, для не строгой автонумерации – до транзакции (подробнее см. раздел «Процессы работы со справочниками»). При записи значения в реквизит Код вызываются вычисления на изменение реквизита.

В случае возникновения ошибки при сохранении записи на сервере или в событиях «Карточка. Сохранение До», «Карточка. Сохранение После», «Операция. Выполнение» значение «АВТОНОМЕР» восстанавливается (если оно не было изменено вручную перед сохранением) с вызовом вычислений на изменение реквизита.

 

 

См. также:

·         Определение ведущих справочников ;

·         Установка контекста нашей организации;

·         Добавление реквизитов в справочник;

·         Настройка формы справочника;

·         Обработка событий справочника;

·         Автозаполнение полей по заданному формату;

·         Использование пользовательской обработки событий;

·         Обеспечение возможности фильтрации справочников;

·         Переопределение выбора из справочника.