Перейти к основному содержимому
Версия: 4.x

В печатном представлении (PRINT)

Этот оператор создает действие, которое открывает форму в печатном представлении.

Формат

В этом операторе можно задать формат, в который будут преобразованы данные формы перед отображении информации пользователю : DOC, DOCX, XLS, XLSX, PDF, HTML, RTF.

По умолчанию, если в печатном представлении задан формат, клиент после получения файла в заданном формате пытается открыть этот файл средствами ОС (то есть при помощи программы, ассоциированной с указанным форматом). Впрочем, при необходимости, можно вместе с форматом дополнительно задать свойство, в которое будет записан файл с сформированным отчетом, и тогда данные вообще не будут пересылаться клиенту, а вся обработка будет происходить исключительно на сервере.

Интерактивное печатное представление

В печатном представлении, кроме выгрузки в заданном формате, также существует возможность отобразить информацию пользователю в следующих интерактивных режимах:

  • Предпросмотр (PREVIEW) - форма на клиенте будет показана в новом окне в режиме предварительного просмотра, и пользователь сможет самостоятельно выбрать, в какой формат экспортировать эту форму и / или отправить ее на печать. Этот режим используется по умолчанию, если другие режимы / форматы не заданы.
  • Печать на принтере (NOPREVIEW) - форма автоматически будет распечатана на принтере. В этом и предыдущем режиме, можно задать свойство, значение которого будет использовано для определения принтера, на котором необходимо распечатать открываемую форму (если этого не сделать будет использован принтер по умолчанию).
  • Сообщение (MESSAGE) - форма будет показана в виде сообщения. В этом случае предполагается, что форма состоит из одной группы объектов. Соответственно, показываемое сообщение состоит из заголовка, где отображаются все свойства с пустой группой отображения, и таблицы, у которой рядами являются наборы объектов этой единственной группы объектов, а колонками - свойства, которые не попали в заголовок (то есть у которых группа отображения существует и совпадает с единственной группой объектов открываемой формы). Оператор работающий в этом режиме, по сути, является обобщением оператора показа сообщения. Стоит отметить, что именно этот режим работы оператора используется в ограничениях (при показе пользователю объектов, для которых было нарушено ограничение).

Также как и в интерактивном представлении, в интерактивных режимах печатного представления разработчик может задавать опции управления потоком и расположения форм (их поведение аналогично соответствующим опциям в операторе открытия формы в интерактивном представлении).

к сведению

В текущей реализации: в режиме MESSAGE форма всегда показывается как окно (при этом опция "асинхронное окно" поддерживается), в режиме асинхронный PREVIEW форма всегда показывается как закладка, в режиме синхронный PREVIEW - как окно. Режим NOPREVIEW всегда асинхронный, расположение форм в нем не имеет смысла (так как никакая форма непосредственно пользователю не показывается)

Язык

Синтаксис оператора открытия формы в печатном представлении описывается оператором PRINT.

Примеры

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';
}