OnStartPrinting

From SunFlurry wiki
Revision as of 15:15, 3 April 2021 by 1>Admin (Created page with "{{infobox function |name=OnStartPrinting |object= |caption=События таблиц |type=1 |status=2 |db=0 |location=Любой глобальный модуль, теку...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  OnStartPrinting (События таблиц)
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Расположение:Любой глобальный модуль, текущий локальный модуль
Визуальность:Да

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

Для дополнительной информации см. статьи Электронная таблица SFT и Редактор электронных таблиц.

Синтаксис

OnStartPrinting(<Вызывающая таблица (TABLE)>):<Разрешить печать (INT)>

Аргументы

  • <Вызывающая таблица (TABLE)> - Таблица, для которой произошло событие.

Возвращаемое значение

Если функция возвратит 1, будет выполнен вывод на принтер, иначе печать произведена не будет.

Примеры

Function OnStartPrinting(SourceTable)
  //Заполняем количество листов
  Result:=1;
  //Найдем нужную ячейку
  Стр:=SourceTable.FindByValue(аЛистов);
  If not IsEmpty(Стр) Then
    //Объект области таблицы
    Ar:=Т.Area(TearStr(Стр,":"),TearStr(Стр,":"));
    //Найдем количество листов для печати при текущих установках
    aList:=Т.CreatePageIndex();
    //Заполним ячейку
    Ar.Text:=aList.Size();
  EndIf;
EndFunction