Table.PrintSettingsChanged

From SunFlurry wiki
Jump to: navigation, search
  PrintSettingsChanged (Флаг изменения установок печати)
Объект:Электронная таблица
Статус разработки: Реализована
Тип:Атрибут
Обращение к БД:Нет
Доступность:Только чтение
Визуальность:Нет

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

Синтаксис

Table.PrintSettingsChanged():<Были изменены установки печати таблицы (INT)>

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

Возвращает 1, если установки печати изменялись, 0 в ином случае.

Примеры

//Функция размещается в глобальном модуле и вызывается в момент интерактивной печати таблицы
//Она также может использоваться для виртуализации печати, но в данном примере
//  функция сохраняет установки печати в файл с тем, чтобы загрузить их, когда потребуется снова
//  распечатать эту печатную форму
Function OnBeforePrint(Таб)
  Result:=1;
  If Таб.PrintSettingsChanged Then
    Файл:=Uppercase(Таб.GetSourceName);
    //Файл: MODULES\FREEFORMS\УЧЕТНЫЕОТДЕЛЫ\АНАЛИТИЧЕСКИЕ\АНАЛИЗЫПРОДАЖ\АНАЛИЗПРОДАЖ\TABLE
    If pos("MODULES\FREEFORMS\",Файл)=0 Then
      //Сохраняем установки только для таблиц из этого пути
      Exit;
    EndIf;
    //Сохраняем только для "стандартных" таблиц
    If Uppercase(GetFileName(Файл))<>"TABLE" Then
      Exit;
    EndIf;
    TearStr(Файл,"MODULES\FREEFORMS\");
    //Создаем имя файла установок
    Файл:=AddBackSlash(GetUserDirectory())+"УстановкиПечатныхФорм\"+Replace(Replace(RemoveBackSlash(GetPath(Файл)),"\","_"),".","_")+".set";

    //Список установок для сохранения
    aList:=List.Create();
    aList.SetByName("Orientation",Таб.Printing.Orientation);
    aList.SetByName("ScaleMode",Таб.Printing.ScaleMode);
    aList.SetByName("Scale",Таб.Printing.Scale);
    aList.SetByName("PageOptions",Таб.Printing.PageOptions);
    aList.SetByName("Left",Таб.Printing.Fields.Left);
    aList.SetByName("Right",Таб.Printing.Fields.Right);
    aList.SetByName("Up",Таб.Printing.Fields.Up);
    aList.SetByName("Down",Таб.Printing.Fields.Down);
    aList.SetByName("Titles.Up",Таб.Printing.Titles.Up.Size);
    aList.SetByName("Titles.Down",Таб.Printing.Titles.Down.Size);
    //Сохраним установки
    ObjectToFile(aList,Файл);
  EndIf;  
EndFunction