Table.Print
Print (Работа с печатью) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция производит печать на принтер, с выводом стандартного диалога печати, если это необходимо. После деления данных на страницы при печати, функция изменяет текст колонтитулов созданных страниц, подставляя вместо выражения #P
номер соответствующей страницы, а вместо #Q
общее количество страниц при печати.
Синтаксис
Table.Print(<Показать стандартный диалог печати до ее осуществления (INT)>=0,<Наименование задания на принтере (STRING)>,<Режим диалога отмены печати (INT)>=0)
Аргументы
<Показать стандартный диалог печати до ее осуществления (INT)>
- (необязательный аргумент) Выводить диалог операционной системы для выбора принтера и простых настроек до выполнения печати -- 1, по умолчанию -- 0 (не выводить).<Наименование задания на принтере (STRING)>
- (необязательный аргумент) При помещении в очередь принтера задания на печать, будет использовано указанное наименование. Если наименование не указано, будет использовано стандартное наименование ("SunFlurry document").<Режим диалога отмены печати (INT)>
- (необязательный аргумент) Задает режим показа диалога отмены печати во время печати. Доступны следующие значения аргумента:- 0 (по умолчанию) -- использовать немодальный диалог сверху других окон. Такой диалог не активируется во время появления на экран, чтобы не мешать работать пользователю с текущей активной формой.
- 1 -- использовать модальный диалог. Такой диалог получает фокус (активируется), продолжать работу при показе такого диалога невозможно.
- 2 -- не использовать диалог отмены печати вообще.
Примеры
//Функция подготовлена для вывода на экран или печати стандратной печатной формы проекта //Т -- таблица печатной формы //Сп -- дополнительные свойства, переданные из модуля печатной формы //Загол -- заголовок окна //флАльбомнаяОриентация -- изменить ориентацию, если параметр 0 или 1 Function ПечатнаяФорма(Т,Сп,Загол,флАльбомнаяОриентация=-1) Фл:=Т.Printing.ScaleMode; If TypeStr(Сп)="LIST" Then Копий:=Number(Сп.GetByName("КоличествоКопий")); If Копий>0 Then Т.Printing.Copies:=Max(Копий,1); EndIf; If флАльбомнаяОриентация>=0 Then Т.Printing.Orientation:=флАльбомнаяОриентация; Т.Printing.ScaleMode:=1; EndIf; Else Т.Printing.Orientation:=0; If флАльбомнаяОриентация>=0 Then Т.Printing.Orientation:=флАльбомнаяОриентация; EndIf; Т.Printing.ScaleMode:=1; EndIf; If Фл>0 Then Т.Printing.ScaleMode:=Фл; EndIf; //Запретить изменения, если у пользователя нет прав Т.EditorMode:=глПользователь.общиеИзменениеПечатныхФорм; If глПользователь.общиеИзменениеПечатныхФорм=0 Then Т.Restrict:=2; EndIf; //Если принтер не задан в параметрах, возможно, он выбран в свойствах пользователя Принтер:=глПользователь.ПринтерПоУмолчанию; If _And(TypeStr(Сп)="LIST",not isEmpty(Сп.GetByName("Принтер"))) Then Т.Printing.Printer:=Сп.GetByName("Принтер"); ElseIf (Trim(Принтер)<>"Не выбран")And(Trim(Принтер)<>"") Then Т.Printing.Printer:=Принтер; EndIf; ФлБезДиалогаПечати:=0; If TypeStr(Сп)="LIST" Then ФлБезДиалогаПечати:=Number(Сп.GetByName("БезДиалогаПечати"))*2; EndIf; Т.SelfReferenceCount:=глНайтиЧислоСсылокВТаблице(Т); If _Or(TypeStr(Сп)<>"LIST",isEmpty(Сп.GetByName("ПечататьБезВывода"))) Then Т.Show(Загол); Else Т.Print(0,,ФлБезДиалогаПечати); EndIf; EndFunction