10. Описание форматов отображения
Числовое значение запрашивается так:
целое:
iстрока^min=v^max=v^def=v^post=pv - целое значение, клаузы 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, а не 19yydef=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строка
Задает имя списка
.
Таблицы
0 -
целое1 -
строка2 - дата время
3 - float
4 -
деньги