Функции формирования выходного документа

Везде в данном разделе, текст функция возвращает означает, что функция возвращает (но не выводит в выходной документ!) текст некоторой HTML-конструкции. Текст функция выводит означает, что функция не только формирует HTML-код, но и выводит его в выходной документ.

Функции вывода общего назначения

print(p1,p2,...,pn) - последовательно выводит все аргументы списка. Если аргумент - одномерный массив, то выводит все его элементы.
println(p1,p2,...,pn) - то же, что и print(), но в конце выводит HTML-тег перехода на следующую строку.
title(text) - выводит text стилем 0 стилевой группы header установленным текущей конфигурацией.
nl2br(string) - возвращает строку string, в которой перед каждым переводом строки вставлен тег перевода строки.
comment(text) - выводит text в выходной документ в качестве HTML-комментария.
center(text) - функция возвращает HTML-код, оформляющий вывод текста text с выравниванием по центру включающего объекта.
right(text) - функция возвращает HTML-код, оформляющий вывод текста text с выравниванием вправо включающего объекта.
bold(text) - функция возвращает HTML-код, оформляющий вывод текста text жирным шрифтом.
cite(s) - выводит текст s стилем cite группы стилей text, установленной текущей конфигурацией.
color(text,text_color,back_color) - функция возвращает HTML-код, оформляющий вывод текста text шрифтом цвета text_color и фоновым цветом back_color. Если text_color или back_color не заданы или имеют пустые значения, то цвет и/или фон не меняются по сравнению со значениями, установленными конфигурацией.
div(data,style) - выводит data стилем style группы стилей text установленного в текущем множестве стилей. Если стиль style группы стилей text текущего множества стилей отсутствует, то используется стиль style группы стилей text множества стилей main.
<DIV style='...'>data</DIV>
span(data,style) - аналогичнa div(), но использует теги SPAN /SPAN
stop(text,doc,parm) - пока не использовать
resume(text,href,window) - пока не использовать
finish(text,mode) - пока не использовать

Функции формирования ссылок

href(text,href,target,title) - функция возвращает код гиперссылки в формате:
<A href='href' target=target title='title'>text</A>
Параметры target и title не обязательны. Если target=1 (по умолчанию), то target='_blank' (открыть результат в другом окне/вкладке). Если target=0 или пустой строке, то параметр target не формируется (открыть результат в том же окне/вкладке). Если title=0 или пустой строке, то параметр title не формируется.
link(text,href,target,title) - функция возвращает расширенный код гиперссылки, дополняя href параметром ps, позволяющим идентифицировать пользователя. Правила задания параметров text,href,target,title аналогичны функции href().
dochref(id,parm) - функция возвращает ссылку на документ id с параметрами, заданными в parm. Параметр parm не обязателен. Но, если он необходим, то должен быть задан в виде: &p1=v1&p2=v2...&pN=vN, где p1,p2,...,pN - имена параметров скрипта, а v1,v2,...,vN - их значения. На выходе будет сформировано нечто типа:
http://сайт/index.php?act=51&id=id&p1=v1&p2=v2...&pN=vN
Значение, возвращаемое функцией dochref() в последующем может быть использовано в качестве параметра href функции link() для формирования полноценной ссылки, переход по которой откроет документ id и передаст ему параметры parm.
doclink(x,parm,target) - функция возвращает ссылку на документ по следующим правилам. Если x - массив, то предполагается, что запись БД, соответствующая документу, уже считана и размещается в массиве x (см. функции dbget() и doc()). Если x - не массив, то предполагается, что x содержит номер или имя документа и этот документ считывается из БД, замещая x. Ассоциативный массив, соответствующий записи БД о документе, содержит обязательные элементы id - номер документа и title - название документа. На основе значения id и параметра parm функции doclink строится ссылка на документ (href) по правилам, описанным для функции dochref(). Значение элемента title используется в качестве текста ссылки (text). Далее в полной аналогии с функцией link формируется ссылка link(text,href,target). Проще говоря, doclink() формирует ссылку с текстом, содержащим название документа, переход по которой открывает документ id и передает соответствующему скрипту параметры parm. Если target=0 документ будет открыт в том же окне (вкладке), если target=1 (по умолчанию, если target не задан), то в новом окне (target='_blank'), если target=строка, то в окне с именем строка.
Если id указывает на узел, то при переходе по такой ссылке будет выведен список документов узла по обычным правилам. Параметры parm в данном случае пока никак не обрабатываются. Если же id указывает на документ, то документ будет открыт для просмотра и переменные в его контексте будут сформированы по следующим правилам.
 1. Сначала будут считаны все постоянно хранимые для данного документа и данного пользователя переменные.
 2. Далее в контекст будут переписаны все переданные скрипту параметры, кроме act и ps, именами которых будут имена параметров, а значениями - их значения. Если имена каких-либо параметров совпадают с именами постоянно хранимых переменных, то значения последних в контексте документа (но не в таблице постоянного хранения!) будут перезаписаны.
fdlink(file) - пока не использовать
aname(href) - пока не использовать
img(src,alt,wdt,hgt) - функция возвращает HTML-конструкцию:
<img src='src' alt='alt' width='wdt' height='hgt'>
Если параметры alt, wdt, hgt не заданы или имеют пустые значения (%null, 0 или пустая строка), то соответствующие параметры не формируются.
imglink(img1,img2) - функция возвращает HTML-конструкцию, которая отображает изображение img2 как ссылку на изображение img1. Если img2 не задано, то img1 может быть задано в виде шаблона file^w^h, где file имя графического файла, а w и h параметры, ограничивающие изображение по ширине и высоте соответственно. В этом случае телом ссылки, указывающей на file, является изображение картинки file, пропоционально сформатированное таким образом, чтобы его ширина при отображении была не больше, чем w пикселов, а высота - не больше, чем h пикселов (подробнее см. описание команды & раздела "Команды первой позиции")
embed(src) - функция возвращает ссылку на мультимедиа-объект вида:
<EMBED src='src' loop=-1>

Функции формирования форм ввода данных

input(name,value,size,maxlength) - функция возвращает HTML-код для ввода строки данных (INPUT type='text') в переменную name с начальным значением value, длиной поля ввода size и максимальной допустимой длиной maxlength. По умолчанию (параметры не заданы): value="", size=16, maxlength=255.
checkbox(name,value,checked) - функция возвращает HTML-код для присвоения переменной name значения value в случае установки флага в поле (INPUT type='checkbox'). Если параметр checked=1, то изначально флаг установлен, если checked=0 или не задан - не установлен.
radio(name,value,checked) - функция возвращает HTML-код для присвоения переменной name значения value в случае, если элемент выбран (INPUT type='radio'). Если параметр checked=1, то изначально элемент выбран, если checked=0 или не задан - не выбран.
select(name,array,default) - функция возвращает HTML-код раскрывающегося списка, который строится на основании индексов и значений массива array. Значениями, присваиваемыми элементам списка являются значения индексов массива array, а видимыми элементами списка - значения элементов массива array. Параметр default (если задан) определяет индекс элемента, который выбран по умолчанию (checked).
Функции input(), checkbox(), radio() и select() формируют HTML-код, включающий параметр style с полным набором CSS-инструкций, определенных стилем input текущей конфигурации.
textarea(name,value,rows,cols) - функция возвращает HTML-код для ввода многострочного текста (TEXTAREA) в переменную name с начальным значением value, числом строк поля ввода rows и числом шириной cols. По умолчанию (параметры не заданы): value="", rows=5, cols='100%'. Функция формирует HTML-код, включающий параметр style с полным набором CSS-инструкций, определенных стилем textarea текущей конфигурации.
submit(text,name) - функция возвращает HTML-код кнопки типа submit (INPUT type='submit') с надписью text и именем name. Если параметр name не задан, то name='submit'.
close(text,name) - функция возвращает HTML-код кнопки типа button (INPUT type='button') с надписью text и именем name. Если параметр name не задан, то name='wclose'. Код определяет, что при нажатии на кнопку окно закрывается (onclick='window.close();').
back(text,name) - функция возвращает HTML-код кнопки типа button (INPUT type='button') с надписью text и именем name. Если параметр name не задан, то name='back'. Код определяет, что при нажатии на кнопку происходит возврат (onclick='history.back();').
Функции submit(), close() и back() формируют HTML-код, включающий параметр style с полным набором CSS-инструкций, определенных стилем button текущей конфигурации.
hidden(name,value) - функция выводит в документ HTML-код объявления скрытой переменной формы (INPUT type='hidden') с именем name и значением value.
form(action,name,target) - в зависимости от значений параметров, функция выводит в выходной документ HTML-код начала или конца формы ввода данных. Если параметры не заданы или action="", то выводит тег:
</FORM>
В противном случае выводит конструкцию:
<FORM method='POST' action='action' name='name' target='target' enctype='multipart/form-data'>
Если параметр name не задан, то name='Form1'. Если параметр target не задан или пуст (равен %null, 0 или пустой строке), то конструкция target='target' не формируется. Если параметр target=1, target='_blank'.
form_end(submit_text,cancel_text,cancel_type) - функция выводит HTML-код, завершающий форму: пару кнопок с надписями submit_text и cancel_text. Первая кнопка - типа submit, вторая - зависит от значения cancel_type. Если параметр cancel_type=0 или не задан, то "Закрыть" окно (close()), в противном случае "Откатить" (back()). Кнопки выравниваются по центру включающего объекта (экрана, ячейки таблицы ...). После кнопок выводит тег завершения формы (form()).

Функции формирования таблиц

table(type) - выводит HTML-код заголовка таблицы, форматируя таблицу в соответствии со стилем type группы стилей table, установленных текущей конфигурацией. Если type не задан, выводит HTML-код окончания таблицы.
row(type,c1,c2,...,cN) - выводит завершенный HTML-код строки таблицы, форматируя ее в соответствии со стилем type группы стилей row, установленных текущей конфигурацией. Параметры c1,c2,...,cN являются источниками данных для формирования ячеек строки. Если параметр ci скаляр, то он выводится в отдельной ячейке строки. Если ci массив, то выводится ровно столько ячеек, сколько имеется элементов в ci. Однако поддерживается вывод только одномерных массивов. Если какой-либо из элементов массива ci является массивом, то в ячейку будет выведено слово Array. Выводимые в ячейки числа выравниваются вправо, строки - влево.
tr(type) - выводит HTML-код начала строки таблицы (TR style='...'), форматируя ее в соответствии со стилем type группы стилей row, установленных текущей конфигурацией. Если type не задан, то выводится тег конца таблицы (/TR).
td(data,colspan,type,rowspan) - выводит завершенный HTML-код ячейки таблицы, в которую выводится параметр data (скалярное значение). Ячейка форматируется в соответствии со стилем type группы стилей cell, установленных текущей конфигурацией. При этом объединяется colspan (если colspan>1) столбцов и rowspan (если rowspan>1) строк. По умолчанию colspan=1,type=1,rowspan=1.
tdn(x,r,type) - функция предназначена для вывода ячеек таблицы с числовыми данными. Число x округляется до r знаков после запятой, форматируется по правилам функции numform() и выводится в виде ячейки таблицы, сформатированной в соответствии со стилем type группы стилей cell, установленных текущей конфигурацией. При этом значение принудительно выравнивается вправо. Если x=%null красным цветом выводится слово NULL, если x - массив, зеленым цветом выводится слово Array, если x - строка, то вывод выравнивается по левой стороне ячейки. Если r=%null (но не 0!), число выводится без округления с выравниванием вправо. По умолчанию r=%null, type=1.
tdc(data,colspan,type) - сокращенный эквивалент конструкции td(center(data),colspan,type).
tdr(data,colspan,type) - сокращенный эквивалент конструкции td(right(data),colspan,type).
tdx(x,r,type) - пока не использовать.
tz(data,colspan) - выводит data в ячейку, сформатированную стилем 2 группы стилей cell. В базовой конфигурации это стиль вывода ячейки без границ. В сочетании с базовыми стилями таблиц 2 и 4 позволяет формировать таблицу без рамок вокруг ячеек.

Функции формирования диаграмм

histcol(share,pixels,color) - функция возвращает HTML-код, закрашивающий слева направо долю share (0<=share<=1) от пространства шириной pixels пикселов цветом color. По умолчанию (если параметры не заданы) pixels=500,$color='navy'.
histclr(val,max,avg,pix) - функция выводит HTML-код, закрашивающий слева направо долю val/max (0<=val<=max) от пространства шириной pix пикселов темно-синим цветом, если val=avg; красным, если val=max. По умолчанию (если параметр не задан) pix=500.
histhdr(columns) - функция выводит в ячейку таблицы, объединяющую columns столбцов, пояснения к значению цветов элементов гистограммы, выводимых функцией histclr().
Функции histcol(), histclr() и histhdr() используются для формирования таблиц с "лежачими" диаграммами, подобными встроенным диаграммам статистики посещений сайта. Пример
sharcol(shares,colors,w) - функция выводит столбец "лежачей" структурной диаграммы общей шириной w пикселов, часть i которой закрашена цветом colors(i) длиной shares(i)*w пикселов. Массив shares содержит доли, приходящиеся на отдельные элементы массива (asum(shares)=1). Массив colors должен иметь элементы с тем же набором индексов, что и массив shares. Элементами массива colors являются названия или коды цветов, принятые в HTML. По умолчанию w=500.
mshares(data,colors,w) - выводит таблицу из двух столбцов. Первый содержит индекс строки матрицы data, а второй - структурную диаграмму, соответствующую долям столбцов данной строки матрицы data в общей сумме элементов строки. Массив colors должен иметь элементы, индексы которых в точности соответствуют индексам столбцов матрицы data. Каждый "лежачий" столбец диаграммы оформляется в соответствии с правилами вывода функции sharcol().
Пример . Диаграммы "Структура имущества", "Структура оборотных активов", "Структура финансовых результатов", "Структура операционных расходов" созданы с помощью функции mshares(). Чтобы найти диаграммы, надо прокрутить страницу.

Специальные функции вывода

prc(x,r) - возвращает представление числа x в виде процентов, округленных до r разрядов. Сокращенный аналог конструкции right(string(round(x*100,r),'%')). Умножает x на 100, округляет до r дробных разрядов, приписывает справа знак процента (%) и выравнивает вправо. Если r=%null присваивает r значение в соответствии с текущими установками конфигурации (getconf('show.vr')) - число дробных разрядов по умолчанию.
numform(x,r) - возвращает число, округленное до r дробных разрядов и форматирует в соответствии с текущими установками конфигурации. Если r=%null присваивает r значение в соответствии с текущими установками конфигурации (getconf('show.vr')) - число дробных разрядов по умолчанию. В качестве разделителя дробных разрядов выводится значение параметра show.dp. В качестве разделителя "троек" цифр целой части - значение параметра show.ts, но если show.ts='s', то неразрывные пробелы (nbsp;). Если show.nr=1, то отрицательные числа выводятся красным цветом, а если show.nb=1, то без знака, но в круглых скобках.
btg(x,base,c1,c2,r,p) - функция формирует HTML-код вывода числа x округленного до r дробных разрядов цветом c1, если x>base и цветом c2, если x0, выводится x выводится в виде процентов (x*100%). По умолчанию c1='green', c2='red', r=0, p=0. (Если больше, то лучше).
btl(x,base,c1,c2,r,p) - функция формирует HTML-код вывода числа x округленного до r дробных разрядов цветом c1, если xbase. Если p>0, выводится x выводится в виде процентов (x*100%). По умолчанию c1='green', c2='red', r=0, p=0. (Если меньше, то лучше).
Поля переменных данных
Меню пользователя
Структура данных, навигация и основные манипуляции с данными
Функции вычислений с датами и временем
Конфигурирование узлов