IGxDocument.Stamps

Синтаксис Fore

Stamps: IGxStamps;

Синтаксис Fore.NET

Stamps: Prognoz.Platform.Interop.Drawing.IGxStamps;

Описание

Свойство Stamps определяет набор штампов маркировки документа.

Комментарии

Для конвертации текста штампа в формат rtf можно использовать метод ITextConverter.Export.

Условия отображения штампов маркировки приведены в IGxStamp.

Совет. Для отображения штампа маркировки независимо от применения мандатного доступа или доступа по уровням безопасности установите свойство IMetabasePolicy.AlwaysPrintDocumentLabel в True.

Пример Fore

Для выполнения примера предполагается наличие регламентного отчета с идентификатором «REGULAR_REPORT». Добавьте ссылки на системные сборки Metabase, Drawing.

Sub UserProc;
Var 
    MB: IMetabase;
    MObj: IMetabaseObject;
    Doc: IGxDocument;
    Stamps: IGxStamps;
    Stamp: IGxStamp;
Begin
    // Получим объект метабазы
    MB := MetabaseClass.Active; 
    // Получим регламентный отчёт
    MObj := MB.ItemById("REGULAR_REPORT").Edit;
    // Приведем полученный объект к IGxDocument 
    Doc := MObj As IGxDocument;
    // Получим коллекцию штампов отчёта
    Stamps := Doc.Stamps;
    // Настроим штамп  маркировки, отображаемый снизу слева
    Stamp := stamps.LeftBottom;
    // Задаем расположение штампа на первой странице 
    Stamp.Appearance := GxStampAppearance.FirstPage;
    // Задаем отступ 30 мм слева и 20 мм сверху
    Stamp.Offset := New GxSizeF.Create(3020);  
    // Задаем размер 40x30 мм
    Stamp.Size := New GxSizeF.Create(4030);  
    // Задаем текст штампа
    Stamp.Rtf := "{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fnil\fcharset240 Cambria;}}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\b\f0\fs22 Страница: &[Page] из &[Pages] \par}";
    MObj.Save;
End Sub UserProc;

После выполнения примера для отчета будет задан нижний левый штамп маркировки, который будет выводиться при экспорте и печати отчета. В штампе маркировки будет отображаться номер страницы из общего числа страниц. Условия отображения штампов маркировки приведены в IGxStamp.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Указанная процедура является точкой входа для .NET-сборки.

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Drawing;

...

Public Shared Sub Main(Params: StartParams);
Var 
    MB: IMetabase;
    MObj: IMetabaseObject;
    Doc: IGxDocument;
    Stamps: IGxStamps;
    Stamp: IGxStamp;
    Size1, Size2: GxSizeF = New GxSizeF();
Begin
    // Получим объект метабазы
    MB := Params.Metabase;
    // Получим регламентный отчёт
    MObj := MB.ItemById["REPORT_OT"].Edit();
    // Приведем полученный объект к IGxDocument 
    Doc := MObj As IGxDocument;
    // Получим коллекцию штампов отчёта
    Stamps := Doc.Stamps;
    // Настроим штамп  маркировки, отображаемый снизу слева
    Stamp := stamps.LeftBottom;
    // Задаем расположение штампа на первой странице 
    Stamp.Appearance := GxStampAppearance.gsaFirstPage;
    // Задаем отступ 30 мм слева и 20 мм сверху
    Size1.Create(3020);
    Stamp.Offset := Size1;
    // Задаем размер 40x30 мм
    Size2.Create(4030);
    Stamp.Size := Size2;
    // Задаем текст штампа
    Stamp.Rtf := "{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fnil\fcharset240 Cambria;}}\viewkind4\pard\sa200\sl276\slmult1\lang9\b\f0\fs22 Страница: &[Page] из &[Pages] \par}";
    MObj.Save();
End Sub;

См. также:

IGxDocument