Оператор PRINT
Оператор PRINT - создание действия, открывающего форму в печатном представлении.
Синтаксис
PRINT name
[CLIENT | SERVER]
[OBJECTS objName1 = expr1, ..., objNameN = exprN]
FILTERS ...
[formActionOptions]
formActionOptions - дополнительные опции этого действия. Существует несколько вариантов синтаксиса опций в этом операторе:
printFormat [SHEET sheetProperty] [PASSWORD passwordExpr] [TO propertyId]
[PREVIEW | NOPREVIEW] [syncType] [TO printerExpr]
MESSAGE [syncType] [messageType]
[TOP (topExpr | (topGroupId1 = topPropertyExpr1, ..., topGroupIdT = topPropertyExprT))]
[OFFSET (offsetExpr | (offsetGroupId1 = offsetPropertyExpr1, ..., offsetGroupIdF = offsetPropertyExprF))]
Описание
Оператор PRINT создает действие, которое печатает указанную форму. При печати формы в блоке OBJECTS можно добавлять объектам формы дополнительные фильтры на равенство этих объектов переданным значениям.
Параметры
-
nameИмя формы. Составной идентификатор.
-
CLIENT|SERVERКлючевые слова. Определяют, выполнять действие на клиенте (
CLIENT) или на сервере (SERVER). По умолчанию действие выполняется на клиенте. -
objName1 ... objNameNИмена объектов формы, для которых задаются дополнительные фильтры. Простые идентификаторы.
-
expr1 ... exprNВыражения, значения которых определяют фильтруемые (фиксированные) значения для объектов формы.
-
FILTERS ...Добавляет фиксированные фильтры на форму. Синтаксис блока фиксированных фильтров.
Дополнительные опции
-
printFormatФормат печати, задается одним из ключевых слов:
PDF- форма будет выгружена в файл формата PDF.XLS,XLSX- форма будет выгружена в файл в одном из указанных форматов EXCEL.DOC,DOCX- форма будет выгружена в файл в одном из указанных форматов WORD.RTF- форма будет выгружена в файл формата RTF.HTML- форма будет выгружена в файл формата HTML.
-
sheetPropertyИдентификатор свойства, значение которого применяется в качестве названия листа в выгружаемом файле. У свойства не должно быть параметров. Используется для форматов печати
XLS,XLSX. -
passwordExprВыражение, значение которого указывает на пароль для выгружаемого файла, устанавливающий режим read-only. Используется для форматов печати
XLS,XLSX. -
propertyIdИдентификатор свойства, в которое будет записан сформированный файл. У свойства не должно быть параметров. Если свойство не указано, сформированный файл передается клиенту и открывается у него средствами операционной системы
-
PREVIEWКлючевое слово. Если указывается, то форма показывается в режиме предварительного просмотра. Этот режим используется по умолчанию, если другие режимы / форматы не заданы.
-
NOPREVIEWКлючевое слово. Если указывается, то форма сразу (без предварительного просмотра) отправляется на печать.
-
printerExprВыражение, значение которого указывает на имя принтера, на который будет послана печать. Если принтер с указанным именем не найден (или не указан), выбирается принтер по умолчанию.
-
MESSAGEКлючевое слово. Если указывается, то форма выдает данные пользователю в режиме сообщения.
-
syncTypeОпределяет, когда продолжить выполнение созданного действия:
-
WAIT- после завершения действия клиентом (закрытия формы предпросмотра / сообщения). Используется по умолчанию. -
NOWAIT- после подготовки информации для передачи клиенту (чтения данных формы). -
messageTypeТип сообщения. Определяет, как сообщение будет показываться на экране. Задается одним из ключевых слов:
-
LOG- сообщение в окне сообщенийSystem.log. -
INFO- информационное сообщение. -
SUCCESS- сообщение об успешном выполнении. -
WARN- сообщение с предупреждением. -
ERROR- сообщение об ошибке. -
DEFAULT- простое сообщение. Используется по умолчанию.
-
-
-
TOP (topExpr | (topGroupId1 = topPropertyExpr1, ..., topGroupIdT = topPropertyExprT))Печать только первых
nзаписей, гдеn- значение выраженияtopExprилиtopPropertyExprTдля группы объектовtopGroupIdT. -
OFFSET (offsetExpr | (offsetGroupId1 = offsetPropertyExpr1, ..., offsetGroupIdF = offsetPropertyExprF))Печать только записей со смещением
m, гдеm- значение выраженияoffsetExprилиoffsetPropertyExprFдля группы объектовoffsetGroupIdF.
Примеры
FORM printOrder
OBJECTS o = Order
PROPERTIES(o) currency, customer
OBJECTS d = OrderDetail
PROPERTIES(d) idSku, price
FILTERS order(d) == o
;
print (Order o) {
PRINT printOrder OBJECTS o = o; // выводим на печать
LOCAL file = FILE ();
PRINT printOrder OBJECTS o = o DOCX TO file;
open(file());
//v 2.0-2.1 syntax
LOCAL sheetName = STRING[255]();
sheetName() <- 'enctypted';
PRINT printOrder OBJECTS o = o XLS SHEET sheetName PASSWORD 'pass';
//v 2.2 syntax
//PRINT printOrder OBJECTS o = o XLS SHEET 'enctypted' PASSWORD 'pass';
}