Название элемента

В RTF файле

В INI файле

Обычный текст

Приказ № %1% от %2%

[HEADER]

.имя таблицы

PhysicalView=TableName

.условие отбора записей

.зависящее от параметра

Conditions=”RegDate”=#1#

[Attributes]

%1%=Field1

%2%=Field2

Значение параметра, поступающего из программы

За период с #1# по #2#

[Parameters]

#1#=DATE

#2#=DATE

Таблица

Номер документа

Краткое содержание

[HEADER]

TablesCount=1

[Table 1 Attributes]

$1$=DocN

$2$=DescrDoc

[Table 1 Header]

.условие отбора записей

.зависящее от значения поля 1

.из запроса созданного к элементу обычный текст

Conditions="ID"=%1%

PhysicalView=TableName

StartRow=1

DBTable=1

SortField=""ID""

$1$

$2$

Блок

&BLOCK1BEGIN&

Пользователь ~1~

&BLOCK1END&

[HEADER]

BlocksCount=1

[Block 1 Attributes]

~1~=DocN

[Table 1 Header]

.условие отбора записей

.зависящее от значения поля 1

.из запроса созданного к. элементу обычный текст

Conditions="ID"=%1%

PhysicalView=TableName

SortField=""ID""

6.1.5. Проектирование окна запроса параметров отчета

Для обеспечения возможности создания отчетов в соответствии с параметрами, задаваемыми пользователем на форме ввода параметров, необходимо создать секции ParamsWindow и Parametrs в ini–файле отчета.

В секции Parametrs должны быть описаны типы данных используемых в секции ParamsWindow. Например:

[Parametrs]

#1#=Date

#2#=String

Далее необходимо создать описание окна ввода параметров в секции ParamsWindow.

НЕ нашли? Не то? Что вы ищете?

Формат:

#1#=P1,P2…Pn

Значения параметров для каждого типа элемента управления представлены в Таблица 6.

Таблица 6 – Значения параметров для элементов управления

Параметр

Edit

Edit

Date

Combo

Box

Edit

Number

Check

Box

Combo

Tree

Edit

Button

Radio

Group

P1

Тип элемента управления

P2

Заголовок параметра формирования отчета, связанного с элементом управления, выводимый на экран в окне параметров – текст без кавычек

P3

IsEmpty

TableID

IsEmpty

TableID

Список значений

P4

Break

InfoField

Break

InfoField

Кол–во колонок

P5

Width

KeyField

Width

KeyField

Break

P6

DefValue

IsEmpty

DefValue

ParentIDName

IsEmpty

Width

P7

Break

IsEmpty

Break

DefValue

P8

Width

Break

Width

P9

Condition

Width

Condition

P10

DefValue

DefValue

ListStyle

P11

MultiSelect

P12

KeyPressMode

P13

DefValue

P14

LinkForm

P15

ShowFullPath

где:

·  IsEmpty – признак обязательности ввода значения в форму запроса параметров отчета (CanEmpty – поле может быть пустым, NotEmpty – поле должно быть заполнено).

·  Break – признак переноса элемента управления на форме на следующую строку (DoBreak – начать с новой строки, NoBreak – продолжать строку).

·  Width – знаменатель дроби 1/n, характеризующей, какую часть окна занимает элемент управления, обычно – 1.

·  DefValue – значение по умолчанию. Для элемента управления EditDate: если DefValue=now, то в поле подставляется текущая дата.

·  TableID – название таблицы (представления) БД, из которой будут выбираться значения.

·  InfoField – название поля таблицы (представления) БД (TableID), по которому будут выбираться значения.

·  KeyField – ключевое поле таблицы (представления) БД (TableID) (ID, ObjectID и т. п.).

·  Condition – условие отбора – SQL–выражение (например “ID”=1). Позволяет включать ссылку на параметр по умолчанию #8# (см. пример 1), означающий ID текущего пользователя.

·  ParentIDName – название поля ссылки на родительскую запись (обычно – ParentID).

·  ListStyle – вид формы для выбора значений (Grid – таблица, Tree – дерево, ListBox – список, CheckList – список с полями для выбора).

·  MultiSelect – признак возможности выбора нескольких значений (Multi – разрешать выбор нескольких значений).

·  KeyPressMode – автоподбор (kpmFirst – по первым символам, kpmContext – по вхождению подстроки, kpmExit – при выходе из поля).

·  LinkForm – название класса формы, которая используется для выбора значений (TLDSelectUserDlg, TLDSelectPartnerDlg, TLDSelectOrgPartnerDlg и т. п.). По умолчанию используется универсальная форма.

·  ShowFullPath – признак, показывать ли полный путь для выбранного элемента. Применяется в иерархических справочниках (1 – показывать полный путь).

Примеры заполнения секции ParamsWindow:

Пример 1

#1#=EditDate, C:,NoBreak,2,NotEmpty

#2#=EditDate, По:,NoBreak,2,NotEmpty

#3#=ComboTree, Департамент:,ADM_ViewDepartment, Name, ID, ParentID, NotEmpty, DoBreak,1

#3#=ComboBox, Журнал:,LDJournal, Name, ID, Any, NoBreak,1,"ID" IN (SELECT "ObjectID" from "DBO".LDRightObject where "MemberID"=#8#)

Пример 2

#1#=EditDate, С:,DoBreak,1

#2#=EditDate, По:,DoBreak,1

#5#=ComboBox, Подразделение:,ADM_ViewDepartment, Name, ID, Any, DoBreak,1

Пример 3

#1#=EditButton, Сотрудник:,ADM_ViewAllUser, Name, ID, CanEmpty, NoBreak,1,"StateID"=1,Grid, Multi, kpmFirst,1000,TLDSelectUserDlg

#2#=EditButton, Рубрика:,ADM_ViewRubric, Name, ID, NotEmpty, DoBreak,1,,Tree, Multi, kpmContext,,,1

#3#=RadioGroup, Сортировка:,Срок исполнения. Адресат,1,DoBreak,1,0

#4#=CheckBox, Доп. параметр:,CanEmpty, DoBreak,1,–

6.2. Проектирование шаблонов отчетов в среде MS Excel

Шаблоны отчетов в формате MS Excel представляют собой файлы инициализации, строящиеся по тем же принципам, что и файлы инициализации для шаблонов отчетов в формате WinWord. Отличие состоит в том, что при описании структуры отчета в заголовке таблицы должны указываться заголовки столбцов (см. пример). Порядок следования описаний столбцов в файле инициализации определяет порядок расположения столбцов в таблице Excel. Формирование отчета происходит следующим образом: в таблицу выводятся заголовки столбцов в порядке следования строк в файле инициализации, затем выводятся данные таблицы.

Пример

[HEADER]

.Отчет в формате EXCEL

PhysicalView=lderc

Conditions=

Name=Статистика по договорам

TablesCount=1

BlocksCount=0

DoLog=1

[ParamsWindow]

Name=Статистика по договорам

#1#=EditDate, C:,DoBreak,2

#2#=EditDate, По:,NoBreak,2

[Attributes]

[Parameters]

#1#=DATE

#2#=DATE

#8#=INT

[Table 1 Header]

Conditions=EXISTS(SELECT "ID" from "DBO".lderc where "JournalID"=87646 AND "DocumTypeID"="DBO".ADM_ViewDocumType."ID")

Name=Статистика по договорам c #1# по #2#

PhysicalView=ADM_ViewDocumType

StartRow=1

DBTable=1

SortField=""Name""

Comment=Журнал

.Заголовки столбцов

$1$=Тип документа

$19$=Итого

$2$=Управление делами

$3$=Управление по информации и связям с общ.

$4$=Упр. Операций с ценными бумагами

$5$=Отдел организации работы депоз и регис БМ

$6$=Упр. По работе с долговыми обяз. Банка

$7$=Упр. Корреспондентских отношений

$8$=ДКО

$9$=Упр. Кредитных рисков

$10$=Упр. По работе с доч. Структ

$11$=Служба безопасности

$12$=Упр. Пластиковых карт

$13$=Упр. Внутреннего контроля

$14$=Упр. По работе с персоналом

$15$=Деп–т по работе с региональной сетью

$16$=Деп–т информац технологий

$17$=Упр. По работе с недвиж. имуществом

$18$=Отделения

[Table 1 Attributes]

.Данные таблицы

$1$=Name

$19$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646

$2$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '10–204'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$3$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '20–202'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$4$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '11–206'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$5$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '11–331'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$6$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '11–207'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$7$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '11–208'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$8$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND "ID" in (select "ERCID" from "DBO".viewlddogovor where "AddIndex" like '14%')

$9$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '13–380'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$10$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '13–220'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$11$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '10–224'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$12$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '17–226'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$13$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '10–228'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$14$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '18–233'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

$15$=@COUNT, lderc,"DocumTypeID"=$20$ AND "JournalID"=87646 AND '12–104'=(select "AddIndex" from "DBO".viewlddogovor where "ERCID"="DBO".lderc."ID")

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13