10. Описание форматов отображения

Числовое значение запрашивается так:

целое:

iстрока^min=v^max=v^def=v^post=p

v - целое значение, клаузы min,max и def могут быть переставлены или опущены. Строка не может содержать символы ^ и ~ Клаузы min И max задают ограничения, а def - значение, проставляемое по умолчанию.

Значение, проставляемое по умолчанию может браться также не из строки, а из соответствующего поля значения. Тгда надо написать def, то есть просто без знака равентсва

Клауза post, указывать которую можно почти у всех форм, задает подстроку, как правило единицы измерения. В отличие от строки заголовка она выводится после места, где вводится информация. Например, iящиков^min=0^post=шт. Клауза не обязательна.

Клауза size=число может быть у всех полей, но используется только в списках, задавая ширину колонки в ширинах символа ноль.

float

fстрока^min=v^max=v^def=v^post=p

в значении v точка не обязательна

money

$строка^min=v^max=v^def=v^post=p

в значении v точка и знак доллара не обязательны

строка

sстрока^len=n^def=v^hid=x^post=p {v=значение}

len задает максимальное значение

если hid=1 (по умолчанию =0), то при вводе строки ее не видно (пароль)

если hid=2, то помимо того, что строку не видно, она вводится два раза в соседних формах, и результат сравнивается.

Можно сразу задать список значений, тогда набрать ничего нельзя, а только вывалить эти значения. Это делается с помощью перечисления любого числа клауз v=значение, например,

sдень недели^v=пн^v=вт^v=ср^v=чт^v=пт^v=сб^v=вс^def=пн

При задании значения списком параметр def полжен соответствовать списку, параметр len недопустим, а hid=0

запрос документа:

dстрока^home=n^def=0^post=p^cl=c

обязательный параметр n задает ветвь, откуда двигаться. Необязательный параметр def говорит о том, что документ можно и не выбирать, тогда вернется 0

В качестве n может быть указано числовое значение (UDN) или строковое значение, которое ищется в таблице Roots.

Необязательный параметр cl= задает название класса, объекты которого (или производного от него) могут быть выбраны. Если типов много, то их можно перечислить через запятую, что говорит о том, что можно выбрать объект любого из них. Имеет смысл только если sel=d. Аппликация проверяет возможность выбора или Drug&Drop с помощью функции ObjIsBased

запрос radiobuttons:

rX^заголовок^пунктA^пунктB...

задается заголовок и пункты. X- число. Если оно указано, то это значение по умолчанию. Если нет, то позиционирование не определено. Результат выбора кодируется значениями от 0. Post не указывается.

Запрос checkboxes:

сX^строка

Checkboxes состоят только из одного пункта. X - 0 или 1. Если X нет, то 0. Post не указывается.

Запрос типа документа:

tзаголовок

Выбирается типы документов (человеческие). Тип документов запрашивается с помощью процедуры ObjEnlist. Форма запроса - вываливающаяся строка.

Запрос даты:

Dстрока^def=умолчание^min=n^max=m^wday=w^post=p

Все клаузы могут быть опущены. Умолчание означает следующее:

если оно опущено, то текущая дата

def= тоже

def=dd.mm.yy указанная дата, если yy<50, то имеется в виду 20yy, а не 19yy

def=dd.mm.yyyy указанная дата

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

движение в будущее на

+n n дней вперед

+nm месяцев

+ny лет

и в прошлое

-n n дней

-nm месяцев

-ny лет

усечение по границам

*w недель, на понедельник

*m месяцев, на первое число

*q на первое число первого месяца квартала

*y на первое января

пропуск дня недели

#n n=0,n=7-воскресение,1-понедельник итд

если указанный день, то дата увеличивается на 1 день

Примеры:

def=+1 завтра

def=*w+8 следующий вторник

def=*m#6#7 первый рабочий день этого месяца

Клауза min в качестве значения имеет дату, ранее которой вы не можете указать. Значение кодируется как и def.

Клауза max кодирует вторую границу. Отсутствие min и/или max снимает ограничение.

Клауза wday кодирует дни недели, которые вы можете выбрать. Например, wday=12345 дает возможность выбрать только рабочие дни.

Клауза min также несет дополнительную нагрузку. Если в качестве min указана строка в скобках, то это значение ValueId другого параметра, тоже запрашивающего дату. Вместе они образуют запрос диапазона дат, располагаться на экране должны рядом и их ограничения взаимозависимы.

В некорректных ситуациях аппликация должна принимать какие-либо решения или выдавать сообщения. Если синтаксис корректен, но значение вышло не удовлетворяет ограничениям, то сообщения выдавать не нужно. Ошибки могут быть разных видов, например

def=^min=+1^max=-1 ошибка сразу ясна

def=^min=-10^max=-5 умолчание некорректно

def=*m#6#7^wday=3 иногда корректно, иногда нет и сразу непонятно

Как вводится дата ? Видны ли две или четыре цифры года ? Видит ли месяц буквами или цифрами ? Все это определяется настройкой рабочего места. Но аппликация безусловно должна

Запрос даты и времени

Tстрока^def=умолчание^min=n^max=m^wday=w^post=p

Вводится и дата и время.

В клаузе def:

если оно опущено, то текущая дата+время

def= тоже

def=dd.mm.yy[yy] указанная дата, время 00:00:00

def=hh:mm:ss текущая дата, указанное время

def=dd.mm.yy[yy] hh:mm:ss указанное дата и время

К операциям добавляются:

движение в будущее (и в прошлое, если -)

+nh часов

+ni минут (i от mIns, m уже означает month)

+ns секунд

усечение по границам

*h часов

*i минут

Запрос времени, без даты

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

Запрос подтверждения:

wстрока^строка...

Выдает многострочное предупреждение и рисует Ok и Cancel. Предупреждение может быть не одно, значения не возвращает и выводится после запроса всех параметров.

Название списка

lстрока

Задает имя списка.

 

Таблицы

  1. Тип, задаваемый целым

0 - целое

1 - строка

2 - дата время

3 - float

4 - деньги