Настройка автонумерации#
Откройте
odmкласса;Укажите для нужного атрибута свойство
type=autonum;Создайте внутри тега
attrвложенный тегautonum. Укажите в нем следующие свойства:id- уникальный в рамках класса идентификатор автонумерации.isHoleFill- заполнение пропусков (опционально). Если в настройках автонумерации указан разрез, то автоматически включено. Чтобы выключить нужно прописатьisHoleFill=false.
Внутри тега
autonumсоздайте вложенные теги:mask- маска автонумерации. Маска должна собой представлять jexl-скрипт, с экранированием спец. символов. Для каждого автонумерующегося атрибута может быть настроена своя маска автонумерации. В маске доступен для использования параметр сounter, который будет заменен на значение счетчика.dimension- разрез автонумерации:Установите у тега следующие свойства:
name- название разреза. Задается всегда, даже если используется автонумерация без разреза;attr- атрибут, в рамках которого рассматривается разрез. Разрезы указываются из атрибутов класса. Используется только для автонумерации с разрезом.order- порядковый номер. Если его не задать, то разрезы будут обрабатываться в алфавитном порядке. Используется для автонумерации с разрезом по нескольким атрибутам.
Дополнительные возможности:
При необходимости можно добавить более одного тега
dimension. В этом случае разрез будет реализован по нескольким атрибутам.К значениям атрибутов разреза возможно применение выражений, они указываются во вложенном теге
expressionдляdimension. На каждый разрез может быть не больше одного выражения. Значение, указанное в элементеexpression, будет передано в обработчик Jexl-скриптов, параметр, заменяемый на значение атрибута разреза, называетсяdimValue.
Пример автонумерации без разреза:
<attr name="sNoDep" caption="Автонумерация без разреза" attribute-type="Varchar" type="autoNum" isHeadLine="true"> <autonum id="1"> <mask>lpad(counter,3,"0")</mask> <dimension name="dim1"/> </autonum> </attr>
Пример указания нескольких разрезов:
<attr name="sTwoDepExpr" caption="Автонумерация с 2 разрезами" attribute-type="Varchar" type="autoNum"> <autonum id="3"> <mask>lpad(counter,3,"0")</mask> <dimension name="nNumber" attr="nNumber" order="10" /> <dimension name="dDate_dim" attr="dDate" order="20"> <expression>truncDate(dimValue)</expression> </dimension> </autonum> </attr>
Сформируйте окружение класса:
Сформируйте исходный код для класса (
generate sources);Выполните сборку проекта (
build);Сформируйте таблицы класса (
generate tables)