Правила задания макросов

Макросы в ПО Artix задаются по правилу %(<объект>.<свойство>[<формат>]), где:

Свойством объекта может быть ссылка на другой объект. Используя последовательные обращения, препроцессор позволяет получить доступ к свойствам конечного объекта. Например доступ к наименованию единицы измерения можно получить через цепочку обращений: позиция → товар → единица измерения → наименование.

position.tmcObject.unitObject.name

Подробное описание доступных объектов и их свойств приведено в разделе объекты.

Форматирование

Форматирование может быть применено только к свойствам типа: число, строка, дата, время, дата и время.

Числовые и строковые значения

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

Флаг


Значение

Результат

-

выравнивание по левому краю

=

выравнивание по центру

_

внутреннее выравнивание

+

отображать знак для положительных чисел

#

отображать базу числа и десятичную точку

0

дополнение нолями слева

"  " (пробел)

если строка не начинается с "+" или "-", вставляется пробел перед результирующей строкой

Ширина

Ширина – минимальная ширина строки, которая будет получена в результате преобразования. 

Точность

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


Тип символ

Результат

e, f

максимальное количество символов после десятичной точки

g

общее количество символов

s, S

строка обрезается до указанного количества символов


Тип-символ


Значение

Результат

p, x

вывод чисел в шестнадцатеричном виде

o

вывод чисел в восьмеричном виде

e

вывод вещественных чисел в научном виде

f

вывод вещественных чисел в фиксированном виде

g

вывод вещественных чисел в базовом виде

X, E, G

эффект такой же, что и для x, e, g, только при выводе используются символы в верхнем регистре ('E', 'X')

d, i, u

вывод целочисленных значений

s, S

вывод строк

c, C

вывод одиночных символов

Значения типа дата, время, дата и время

Для форматирования свойств с типами "дата", "время", "дата и время" используются специальные выражения, разделенные одиночными символами:


- : . , / _ " "(пробел)


Выражения форматирования свойств типа дата


Выражение

Результат

d

день месяца без лидирующего ноля (1 – 31)

dd

день месяца с лидирующим нолем (01 – 31)

ddd

сокращенное наименование дня недели

dddd

полное наименование дня недели

M

номер месяца без лидирующего ноля (1 – 12)

MM

номер месяца с лидирующим нолем (01 – 12)

MMM

сокращенное наименование месяца

MMMM

полное наименование месяца

yy

два символа года (00-99)

yyyy

четыре символа года


Выражения для форматирования свойств с типом время


Выражение

Результат

h

часы без лидирующего ноля (0 – 23 или 1 – 12 при отображении AM/PM)

hh

часы с лидирующим нолем (00 – 23 или 01 – 12 при отображении AM/PM)

m

минуты без лидирующего ноля (0 – 59)

mm

минуты с лидирующим нолем (00 – 59)

s

секунды без лидирующего ноля (0 – 59)

ss

секунды с лидирующим нолем (00 – 59)

z

миллисекунды без лидирующего ноля (0 – 999)

zzz

миллисекунды с лидирующим нолем (000 – 999)

AP

отображать AM/PM, строка AP заменяется на AM или PM

ap

отображать am/pm, строка ap заменяется на am или pm   

Примеры макросов


Макрос

Результат

%(status.now[dd.MM.yyyy])

21.05.2001

%(status.now[hh:mm:ss.zzz])

14:13:09.042

%(status.now[h:m:s ap])

2:13:9 pm

%(position.unitObject.name[-4.4s])

шт.

%(registry.shiftNumber[04d])

0125