Руководство программиста


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.

ИС
-
ПРО

Руководство программиста























Руководство программиста

Версия 7.0
7
.0
0
5

от
30
.0
3
.0
9

















Киев

200
9


1
-
2


РУКОВОДСТВО ПРОГРАММ
ИСТА



РУКОВОДСТВО ПРОГРАММ
ИСТА


1
-
3


Содержание

ИНСТРУМЕНТАРИЙ ПРОГР
АММИСТА В СИСТЕМЕ
................................
................................
.........
1
-
6

1

ВСТРОЕННЫЙ АЛГОРИТМИ
ЧЕСКИЙ ЯЗЫК
................................
................................
..................
1
-
6

1.1

В
ВЕДЕНИЕ
................................
................................
................................
................................
....................
1
-
6

1.2

Р
ЕДАКТОР ПРОГ
РАММ
................................
................................
................................
................................
1
-
6

1.3

Э
ЛЕМЕНТЫ ПРОГРАММЫ
................................
................................
................................
..........................
1
-
8

1.3.1

П
ОЛЯ
................................
................................
................................
................................
.........................
1
-
8

1.3.2

Ф
УНКЦИИ
................................
................................
................................
................................
..................
1
-
9

1.3.3

С
ПРАВОЧНИКИ
................................
................................
................................
................................
..........
1
-
9

2

СРЕДСТВА СОЗДАНИЯ ИС
ХОДНЫХ ФОРМ
................................
................................
..................
2
-
10

2.1

О
БЩИЕ СВЕДЕНИЯ ДЛЯ СО
ЗДАНИЯ И КОРРЕКТИРОВ
КИ
,
ПРОВЕРКИ ОТЧЕТОВ
................................
..
2
-
10

2.1.1

В
ЫЗОВ МЕНЮ ОТЧЕТОВ
................................
................................
................................
..........................
2
-
11

2.1.2

И
МПОРТ
-
ЭКСПОРТ ШАБЛ
ОНОВ
................................
................................
................................
...............
2
-
12

2.1.3

Г
ЕНЕРАЦИЯ ОТЧЕТОВ
................................
................................
................................
..............................
2
-
12

2.1.4

П
РОСМОТР И ПЕЧАТЬ ОТЧ
ЕТОВ
.
................................
................................
................................
..............
2
-
12

2.1.5

Э
КСПОРТ В ОТЧЕТАХ
................................
................................
................................
...............................
2
-
14

2.1.6

А
РХИВ ОТЧЕТОВ
................................
................................
................................
................................
......
2
-
14

2.1.7

П
ОЛЬЗОВАТЕЛЬСКИЕ ШАБЛ
ОНЫ
................................
................................
................................
.............
2
-
14

2.1.7.1

Создание пользовательских шаблонов
................................
................................
.............................
2
-
14

2.1.7.2

Начало создания отчета
................................
................................
................................
.....................
2
-
14

2.1.7
.3

Основные принципы создания шаблонов
................................
................................
........................
2
-
15

2.1.7.3.1

Фрагменты отчета
................................
................................
................................
.......................
2
-
15

2.1.7.3.2

Группировка данных
................................
................................
................................
...................
2
-
16

2.1.7.3.3

Табулируемые ячейки
................................
................................
................................
................
2
-
16

2.1.7.3.4

Сортировка данных
................................
................................
................................
....................
2
-
16

2.1.7.3.5

Прог
раммы пользователя
................................
................................
................................
.........
2
-
16

2.2

Р
АЗРАБОТКА ОТЧЕТОВ С
ПОМОЩЬЮ
WIN
-
ГЕНЕРАТОРА
(T
IGR
)
................................
........................
2
-
18

2.2.1.1

Общие сведения
................................
................................
................................
................................
..
2
-
18

2.2.1.2

Панели управления
................................
................................
................................
.............................
2
-
18

2.2.1.3

Инспектор свойств
................................
................................
................................
.............................
2
-
19

2.2.1.4

Иерархия с
труктуры шаблона отчета
.
................................
................................
..............................
2
-
20

2.2.1.5

Окно редактирования шаблона отчета
................................
................................
.............................
2
-
21

2.2.1.6

Объекты Дизайнера Отчетов
................................
................................
................................
.............
2
-
21

2.2.1.6.1

Объекты документа
................................
................................
................................
....................
2
-
21

2.2.1.6.2

Объект Шаблон
................................
................................
................................
..........................
2
-
23

2.2.1.6.3

Об
ъекты структуры
................................
................................
................................
.....................
2
-
24

2.2.1.6.4

Работа с ячейками, полосами и иерархией структуры
................................
......................
2
-
26

2.2.1.6.5

Вставка обычных табличных полос
и свободных полос
................................
...................
2
-
27

2.2.1.6.6

Доступные операции при работе с шаблоном отчета
................................
.......................
2
-
28

2.2.1.7

Поля Базы Данных
................................
................................
................................
.............................
2
-
29

2.2.1.7.1

Подключения полей БД
................................
................................
................................
.............
2
-
29

2.2.1.7.2

Свойства полей БД
................................
................................
................................
.....................
2
-
29

2.2.1.7
.3

Выбор поля
................................
................................
................................
................................
...
2
-
31

2.2.1.7.4

Поиск поля
................................
................................
................................
................................
....
2
-
31

2.2.1.7.5

Создания нового поля
................................
................................
................................
................
2
-
32

2.2.1.7.6

Редактирования поля
................................
................................
................................
.................
2
-
32

2.2.1.7.7

Удаления поля
................................
................................
................................
.............................
2
-
33

2.2.2

С
ПЕЦИАЛЬНЫЕ НАСТРОЙКИ
................................
................................
................................
...................
2
-
33


1
-
4


РУКОВОДСТВО ПРОГРАММ
ИСТА

2.2.3

Н
АСТРОЙКИ ТАБУЛЯЦИИ
................................
................................
................................
.........................
2
-
33

2.2.4

В
СТАВКА ТАБУЛИРОВАННЫ
Х ЯЧЕЕК
................................
................................
................................
.......
2
-
34

2.2.5

Н
АСТРОЙКА ДИАГРАММ
................................
................................
................................
..........................
2
-
34

2.2.6

Н
АСТРОЙКА ПРОГРАММ
................................
................................
................................
..........................
2
-
35

2.2.7

П
ОДКЛЮЧЕНИЯ ПРОГРАММ
................................
................................
................................
.....................
2
-
36

2.2.8

Н
АСТРОЙКА ФИЛЬТРАЦИИ
И СОРТИРОВКИ
................................
................................
.............................
2
-
37

2.2.8.1

Программа фильтрации
................................
................................
................................
......................
2
-
37

Р
ИС
.

37.

О
КНО ИНСПЕКТОРА СВО
ЙСТВ ОБЪЕКТА ЯЧЕЙКА
................................
................................
...................
2
-
37

2.2.8.2

Сортировка документа
................................
................................
................................
........................
2
-
38

2.2.8.3

Параметры листа
................................
................................
................................
................................
.
2
-
38

2.2.9

П
РИМЕР ВНЕСЕНИЯ ИЗМЕН
ЕНИЙ В ОТЧЕТ
................................
................................
...............................
2
-
39

2.3

Д
ИЗАЙНЕР ОТЧЕТОВ
F
AST
R
EPORT
................................
................................
................................
..........
2
-
48

2.3.1

Э
ТАПЫ ПОСТРОЕНИЯ
ОТЧЕТА
................................
................................
................................
..................
2
-
48

2.3.1.1.1

Данные
................................
................................
................................
................................
...........
2
-
49

2.3.1.1.2

Параметры
................................
................................
................................
................................
....
2
-
49

2.3.
1.1.3

Форма
................................
................................
................................
................................
.............
2
-
49

2.3.1.1.4

Обработка
................................
................................
................................
................................
......
2
-
49

2.3.1.1.5

Готовый отчет
................................
................................
................................
...............................
2
-
50

2.3.1.2

Построение отчетов
................................
................................
................................
............................
2
-
50

2.3.1.2.1

Отчет с одним уровнем данных (список)
................................
................................
...............
2
-
51

2.3.1.2.2

Отчет с двумя уровнями
................................
................................
................................
............
2
-
51

2.3.1.2.3

Отчет с тремя уровнями
................................
................................
................................
............
2
-
51

2.3.1.2.4

Cross
-
tab
отчет
................................
................................
................................
.............................
2
-
51

2.3.1.2.5

Динамические отчеты
................................
................................
................................
.................
2
-
52

2.3.1.2.6

Разрываемые бэнды
................................
................................
................................
...................
2
-
52

2.3.1.2.7

Многоколоночный отчет
................................
................................
................................
.............
2
-
52

2.3.1.2.8

Отчет с титульным листом
................................
................................
................................
........
2
-
53

2.3.1.2.9

Вложенный отчет
................................
................................
................................
.........................
2
-
53

2.3.1.2.1
0

Master
-
Detail
-
Detail отчет
................................
................................
................................
.........
2
-
53

2.3.1.2.11

Композитный (составной) отчет
................................
................................
.............................
2
-
53

2.3.1.2.12

Отчет с
BLOb
-
полями
................................
................................
................................
...............
2
-
53

2.3.1.2.13

Отчет без бэндов
................................
................................
................................
.......................
2
-
54

2.3.1.2.14

Отчет с группами
................................
................................
................................
.......................
2
-
54

2.3.1.2.15

Отчет с диаграммами
................................
................................
................................
...............
2
-
54

2.3.1.3

Дизайнер
................................
................................
................................
................................
..............
2
-
54

2.3.1.3.1

Клавиши управления
................................
................................
................................
..................
2
-
54

2.3.1.3.2

Управление мышью
................................
................................
................................
....................
2
-
55

2.3.1.3.3

Параметры отчета
................................
................................
................................
.......................
2
-
55

2.3.1.3.4

Параметры страницы
................................
................................
................................
..................
2
-
56

2.3.1.3.5

Опции дизайнера
................................
................................
................................
.........................
2
-
56

2.3.1.3.6

Инспектор объектов
................................
................................
................................
....................
2
-
57

2.3.1.3.7

Д
иалог вставки полей БД в отчет
................................
................................
............................
2
-
57

2.3.1.3.8

Словарь данных
................................
................................
................................
...........................
2
-
57

2.3.1.3.9

Конструктор выражений
................................
................................
................................
.............
2
-
59

2.3.1.3.10

Диалог вставки поля БД
................................
................................
................................
...........
2
-
59

2.3.1.3.11

Диалог вставки переменной
................................
................................
................................
...
2
-
59

2.3.1.3.
12

Диалог вставки функции
................................
................................
................................
..........
2
-
59

2.3.1.4

Пример внесения изменений в отчет
................................
................................
................................
2
-
59

2.3.1.5

Каталог USER_DATA
................................
................................
................................
.........................
2
-
62

2.4

Э
КСПОРТ ВНЕШНЕЙ ОТЧЕТ
НОСТИ
.
................................
................................
................................
.........
2
-
62

2.4.1

О
БЩИЕ СВЕДЕНИЯ
................................
................................
................................
................................
...
2
-
62

2.4.2

П
ЕРЕЧЕНЬ ДОСТУ
ПНЫХ КОНСТАНТ
,
ФУНКЦИЙ И ПРОЦЕДУР
................................
................................
..
2
-
63

2.4.2.1

Константы
................................
................................
................................
................................
............
2
-
63

2.4.2.2

Функции и процедуры
................................
................................
................................
........................
2
-
63

2.4.3

П
РИМЕР ИСПОЛЬЗОВАНИЯ
ФУНКЦИЙ ЭКСПОРТА ВНЕ
ШНЕЙ ОТЧЁТНОСТИ В ОТ
ЧЕТЕ
WIN
....................
2
-
65

2.4.4

П
РИМЕР ИСПОЛЬЗОВАНИЯ
ФУНКЦИЙ ЭКСПОРТА ВНЕ
ШНЕЙ ОТЧЁТНОСТИ В ОТ
ЧЕТЕ
F
AST
R
EPO
RT
......
2
-
68

2.5

Р
АЗРАБОТКА

ОТЧЕТОВ

MS

O
FFICE
(E
XCEL
,W
ORD
)
................................
................................
.............
2
-
71

2.5.1

П
РИМЕР ПРОГРАММЫ
E
XCEL ОТЧЕТА
................................
................................
................................
.....
2
-
73


РУКОВОДСТВО ПРОГРАММ
ИСТА


1
-
5

2.5.2

П
РИМЕР ПРОГРАММЫ
W
ORD ОТЧЕТА
................................
................................
................................
....
2
-
75

3

РАБОТА С СОМ ОБЪЕКТА
МИ СИСТЕМЫ ИС
-
ПРО
................................
................................
.....
3
-
80

3.1

С
ОМ
ОБЪЕКТ ДЛЯ ВЫПОЛНЕН
ИЯ
SQL
ЗАПРОСОВ
................................
................................
...............
3
-
82

3.2

З
АПУСК
Р
ЕСУРСНЫХ
М
ОДУЛЕЙ
И
З
П
РОГРАММ

BASIC
................................
................................
........
3
-
83

3.3

П
РОБЛЕМЫ ПРИ РАЗРАБОТ
КЕ ОТЧЕ
ТОВ
................................
................................
................................
3
-
84



1
-
6


РУКОВОДСТВО ПРОГРАММ
ИСТА


Инструментарий программиста в системе


В системе для создания нестандартных проводок (
проводок, которые ф
ормируются по
перечню условий),
автоматическое формирование текстовых документов или комментариев
(тексты
приказов, договоров), расчета законодательно неопределенных процессов (например,
обработка банковских документов из программы клиент

банк
)
и других событий используется
программы пользователя. Для создания программ используется встроенный
алгоритмический

язык.
Для формирования отчетов необходимых для работы пользователя, кроме представленных
в системе, существуют средства создания и формирования
исходных форм и средства доступа к
объектам данных системы.

Для удобства работы перечень таблиц, полей, связь
между ними представленные в виде
html файлов
Карта данных
в каталоге
DOC серверной части системы.


1

Встроенный алгоритмический язык


1.1

Введение


Одна из наиболее важных функций системного комплекса
ИС
-
ПРО

возможность задания
алгоритмических процедур. При по
мощи встроенных или программируемых пользователем
процедур, применяющихся во всех системах комплекса, осуществляется настройка проводок по
счетам бухгалтерского учета, алгоритмов расчета заработной платы, налогов, амортизации
основных средств, программиров
ание и вычисление параметров в отчетах, настройка
пользовательского фильтра, а также решаются другие задачи. Для написания процедур в
комплекс встроен
Редактор программ
,

снабженный справочником переменных, функций и
конструкций языка (
Элементы программы
)
,
а также функцией синтаксической проверки
написанной процедуры.


1.2

Редактор программ


Редактор программ
вызывается в тех местах подсистем
ИС
-
ПРО
, где требуется
настройка алгоритма программным способом. Например
,
в подсистеме
Главная книга
редактор
программ вы
зывается из раздела
Проводки
модуля
Настройка
(
Рис.
1
) для добавления или
изменения алгоритма формирования проводки.


РУКОВОДСТВО ПРОГРАММ
ИСТА


1
-
7


Рис.
1
. Модуль
Настройка
подсистемы
Главная книга

Чтобы изменить
программно заданную проводку, курсор устанавливается на нужный
пункт левой панели реестра и затем по клавише
Tab
курсор переводится на правую панель.
Далее выбирается способ задания проводки
Программный
и по клавише
F4
вызывается
Редактор программ
(
Рис.
2
}.

Редактор программ
представляет собой текстовый редактор, поддерживающий
стандартные функции редактирования текста

выделение

фрагмента, удаление фрагмента,
копирование в буфер обмена, вставка из буфера. Выделение фрагмента текс
та выполняется по
комбинации клавиш
Shift
и управления курсором. Снимается выделение по любой клавише.
Команды вставить, удалить, вырезать и копировать выполняются через пункт меню
Правка
.
Вставка производится из буфера обмена или из специального справочни
ка
Элементы
программы
. Пункт меню
Правка
/
Найти
позволяет найти в тексте программы заданную
строку. Пункт меню
Правка
/
Найти далее
обработает оставшуюся часть текста и найдет, где
данная строка встречается в следующий раз. Пункт меню
Правка
/
Сохранить б
лок в файл
сохранит выделенный фрагмент программы в существующий текстовый файл, перезаписав его
содержимое. В текст программы вставляется содержимое текстового файла, вставка выполняется
через пункт меню
Правка/Вставить блок из файла
.




Рис.
2
. Редактор программ


Проверка правильности написания программы, выявление ошибок выполняется по
пункту меню
Программа
/
Проверка
, либо по комбинации клавиш
Ctrl+F9
.


1
-
8


РУКОВОДСТВО ПРОГРАММ
ИСТА

1.3

Элементы программы


При написании программ удобно использовать встроенный спра
вочник
Элементы
программы
, содержащий
Поля
(переменные) и
Функции
. Справочник вызывается из пункта
меню
Правка
/
Вызвать справочник
, либо по клавише
F3
. При загрузке модуля загружаются
поля и функции, относящиеся к данной подсистеме. Через кнопку
Ресурсы
п
одключают поля и
функции других подсистем. Возможность подключения
Ресурсов
появляется в
Редакторе
программ
, вызываемом в программах отчетов.


1.3.1

Поля

Раздел справочника
Поля
содержит список параметров, доступных для настройки данного
алгоритма. Для удобства
просмотра все параметры разделены на несколько групп. Набор групп и
входящих в эти группы параметров зависит от подсистемы и назначения настраиваемого
алгоритма. Так, например, группа параметров
Встроенные поля
предлагается для настройки
проводок в различн
ых подсистемах (
Рис.
3
). При настройке различных форм отчетности
предлагаются
группы
Системные поля
,
Стандартные поля
,
Реквизиты партии
,
Реквизиты
фирм
,
Пользовательские поля отчета
,
Алиасные поля отчета
,
Поля пользователя
и др. П
ри
этом набор параметров первой группы постоянен, во вторую группу включены параметры,
которые характерны только для данного вида отчета. В раздел
Пользовательские поля
отчета
можно самостоятельно ввести новый параметр. В этом случае потребуется определить
алгоритм
расчета данного параметра.

Для каждого поля в справочнике показаны
Наименование
,
Идентификатор
и
Тип
. Для
написания алгоритмов используется
Идентификатор
, текстовое
Наименование
только поясняет
назначение данного параметра.
Тип
поля может быть: N
UM

числовое, CHAR

символьное,
DATE

дата, TIME

время. Необходимо следить за тем, чтобы в выражениях участвовали
параметры одного типа. При необходимости используются функции преобразования
типов.
Формат поля DATE

дата
«МЕСЯЦ/ДЕНЬ/ГОД».




Рис.
3
. Справочник
Элементы программы


Справочник элементов программ содержит довольно большое количество полей, поэтому
важна функция поиска полей, вызываемая по клавише
F7
.

Возможен поиск по наименованию, по
идентификатору с учетом или бе
з учета регистра (
Рис.

4
). Для поиска необходимо встать на
начало списка, так как поиск осуществляется один раз от текущего поля вниз по списку.
Осуществив поиск, курсор устанавливается на следующее поле после найденного.



РУКОВОДСТВО ПРОГРАММ
ИСТА


1
-
9



Рис.

4
. Диалоговое окно
Поиск поля


Возможно введение части идентификатора, а недостающие символы заменяются
звездочкой. Например, для поиска поля
Сумма проводки,
выбирается способ поиска
По
наименованию
и указывается в поле
Наименование
:
Сумма*. При этом команда поиска найдет
первое поле, содержащее указанный набор

Сумма проводки. Поиск всех полей,
удовлетворяющие указанному требованию, проводиться по комбинации клавиш
Alt+F7
. Таким
образом, находятся последовательно поля
Сумма операци
и
,
Сумма комиссии
.


1.3.2

Функции

Справочник функций
ИС
-
ПРО
находится на закладке
Функции
справочника элементов
программ (
Рис.
5
).




Рис.
5
. Справочник функций


Общесистемные функции доступны во всех подсистемах
. Функции для полей пользователя
доступны во всех подсистемах кроме подсистемы
Главная книга
.

Комплекс содержит встроенные функции, применяемые для преобразования дат и валют,
генерации проводок, расчета оборотов, баланса и анализа по аналитическим карточк
ам и так
далее. В нижней части раздела находится подсказка по функции, на которой установлен курсор


формат функции и краткий комментарий.


1.3.3

Справочники

На данной закладке располагаются
Системные
,
Аналитические
и
Пользовательские

справочники системы (
Рис.
6
).


2
-
10


РУКОВОДСТВО ПРОГРАММ
ИСТА



Рис.
6
. Справочник операций


2

Средства создания исходных форм


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

Система содержит два дизайнера отчетов:



WIN
-
генератор отчетов

Tigr
. Дизайнер разрешает создавать новые отчеты на основе

шаблонов, которые подготовленные разработчиками системы, и подаются в отчет в
виде последовательности детальных строк. Преимущество такого генератора

простота

создания исходной формы и необходимость минимума технических знаний,
нео
бходимых для создания
формы.



Генератор FastReport. Основанный на SQL
-
запросах, которые отбирает данные из
таблиц системы. Перечень и наполнения таблиц представлен в приложениях. При
разработке исходных форм с помощью такого генератора нужен опыт написания SQL
-
запросов и информа
ция о базе данных системы.

Кроме перечисленных средств могут быть использованы продукты посторонних
разработчиков (например, Crystal Reports), которые обращаю
тся к базе данных системы через

SQL
-
запросы. Также формирования отчетов может быть реализовано с п
омощью объектов
доступа к данным системы (LAO) и продуктов Microsoft Office (Word, Excel).


2.1

Общие сведения для создания и корректировки, проверки
отчетов


Активный список шаблонов отчетов настраивается, используя редактор меню. Вызов
редактора меню отчетов
производится из окна
Выбор выходной формы
или
Реестр выходных
форм
по комбинации клавиш
Ctrl+F4
или командой меню
Реестр
/
Меню...

Реестр
Настройка меню отчетов
(
Рис.
7
) содержит две панели:
Все отчеты
и
Выбранные
отчеты
, которые
располагаются вертикально или горизонтально (представление настраивается
по пункту меню
Вид
/
Горизонтальный/Вертикальный
). На панели
Все отчеты
представлен
полный список отчетных форм, доступных в текущем модуле

поставляемых разработчиком и
настроенных
пользователем. Панель
Выбранные отчеты
содержит меню отчетов

активный

РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
11

список отчетных форм, отображаемый в окне
Выбор выходной формы
. Копирование
необходимых отчетов в активный список производится по клавише
F5
. Шаблоны, перенесенные
на панель
Выбранные
отчеты
(т.е. включенные в меню отчетов), переименовываются (клавиша
F4
), перемещаются в списке вверх или вниз (клавишами
Ctrl+

/
Ctrl+

), сортируются по
признакам, формируя группы отчетов. Для этого вводятся заголовки групп (по клавише
Ins
), а
затем необ
ходимые отчеты копируются в эти группы (по клавише
F5
из списка панели
Все
отчеты
).

Отчеты, созданные пользователями, удаляются по клавише
F
8
. При удалении отчета с
панели
Все отчеты
он автоматически удаляется из
Выбранных отчетов
. Отчеты, поставляемые
в с
истеме (в меню выделены черным цветом) удалить нельзя.

После добавлении файла с шаблоном в каталог
REP
(находится на серверной части)
необходимо перестроить список отчетов по комбинации клавиш
Alt
+
S

или через

пункт меню

Реестр
/
Перестроить список отчетов
,
после чего шаблон появляется на панели
Все отчеты
.

В настройке программ общесистемные функции разделены по группам для удобства
поиска.



Рис.
7
. Работа с редактором меню отчетов


2.1.1

Вызов меню отчетов

Для генерации отчета или печатно
й формы первичного документа необходимо вызвать
меню отчетных форм, доступных в данном модуле. Меню отчетов вызывается следующими
способами:



Из любого первичного документа по клавише
F9
или по пункту меню
Документ /
Печать
вызывается окно
Выбор выходной фо
рмы
, в котором предложены формы
для печати текущего документа. Либо из реестра документов по комбинации клавиша
Ctrl
+
F
9
или командой меню
Реестр
/
Печать документа
.



Из любого реестра по клавише
F9
или командой меню
Реестр
/
Печать
вызывается
окно
Выбор вых
одной формы
(
Рис.
8
), в котором предложены формы для печати
текущего реестра.



По комбинации клавиш
Alt+F9
или командой меню
Отчет
/
Формирование отчета
(если в данном реестре такой пункт есть) вызывается окно
Выбор выходной формы
,

в котором предложены формы для печати различных отчетов по данным текущей
подсистемы.



Практически в каждой подсистеме предлагается модуль
Отчеты
, при загрузке
которого открывается окно
Реестр выходных форм
.

Переход из любого окна
Выбор выходной формы
к ок
ну
Реестр выходных форм

производится
по клавише
F3
.



2
-
12


РУКОВОДСТВО ПРОГРАММ
ИСТА



Рис.
8
. Окно выбора выходной формы


Реестр выходных форм
состоит из двух горизонтальных панелей. На верхней панели
находится активный список доступных шаблонов. На нижней панели
отображается комментарий
к отчету. Для шаблонов, созданных пользователем (в меню выделены синим цветом)
,

по
клавиш
е

F4

производится

редактирование
.


2.1.2

Импорт
-
экспорт шаблонов

Импорт/экспорт шаблонов отчетов может использоваться, например, в случае, когда
шаблон созданный программистом необходимо передать в рабочую систему.

Импорт шаблонов осуществляется в окне
Настройка меню отчетов
при активной панели
Все отчеты
по пункту меню
Реестр
/
Импорт
или по комбинации клавиш

Alt
+
I
. В открывшемся
окне
Импорт шабл
онов
указывается имя каталога, в котором находится импортируемый отчет.
В списке файлов с шаблонами по клавише
Пробел
выделяется необходимый.

Экспорт шаблона осуществляется по комбинации клавиш

Alt
+
E
. В окне
Экспорт
шаблона
указывается путь к каталогу, в к
оторый будет помещен файл шаблона.


2.1.3

Генерация отчетов

Для генерации отчета или печатной формы документа вызывается окно
Выбор выходной
формы
или
Реестр выходных форм
, выбирается наименование необходимого отчета и
нажатием клавиши
Enter

подтверждается выбор
.

При появлении диалогового окна для уточнения дополнительных параметров отчета
(например, период или валюта отчета) заполняются или выбираются из справочников
необходимые данные. Параметры отчета могут быть обязательными или необязательными. До
тех пор, п
ока не заполнены обязательные параметры, кнопка
ОК
остается неактивной.
Необязательные параметры предназначены для различных выборок (например, выбор по
контрагенту). Если параметр не заполнен, отчет выводится для всех значений данного параметра
(в данном
случае

по всем контрагентам).

После обработки данных появляется окно
Генератора отчетов
с готовым отчетом


текстовым или графическим, в зависимости от вида выбранного шаблона.


2.1.4

Просмотр и печать отчетов.



РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
13



Рис.
9
. Графический ге
нератор отчетов


Генератор отчетов открывается совместно с окном
ИС
-
ПРО
. Поэтому, сформировав отчет,
его просматривают, и, при необходимости, есть возможность переключиться в окно
ИС
-
ПРО
,
запустить формирование другого отчета и вновь вернуться в графически
й генератор отчетов.
Генератор поддерживает многооконность, поэтому возможен просмотр в нем одновременно
нескольких готовых отчетов.

Графический
Генератор отчетов
(
Рис.
9
)
не просто обеспечивает собственно генерацию
отчетов по гот
овым шаблонам с использованием пользовательских данных. Из
многофункционального интерфейса
Генератора отчетов
доступны операции сохранения
сформированного отчета, открытия любого отчета из архива отчетов для просмотра, экспорта
отчета в форматы Word и Exce
l документов, печати всего отчета, либо отдельных его частей.

Если ячейка была определена как редактируемая, то на экране ее содержимое выделяется
синим цветом.

Интерфейс графического
Генератора отчетов
позволяет редактировать текстовую и
графическую инфор
мацию. Для этой цели в отчет встроена панель, обеспечивающая основные
функции редактирования и вызываемая по кнопке
Вызов редактора
панели
Вид
.

Существует возможности изменить шрифт и начертание символов, ориентир для
выравнивания строк или чисел, обрамлен
ие даже для тех ячеек отчета, которые не были
отмечены как редактируемые при настройке шаблона отчета. При этом доступен весь набор
Windows
-
шрифтов, установленных на компьютере. При необходимости полностью удаляются
отдельные фрагменты отчета. Выделив в яч
ейке отдельные символы, копируют в буфер обмена,
вырезают или удаляют их, воспользовавшись контекстным меню, открываемым нажатием
правой кнопки мыши. Символы из буфера обмена вставляются в другой фрагмент отчета, с
помощью того же контекстного меню. Необхо
димые участки текста отчета находят с
использованием функции
Поиск текста
, доступной через пункт меню
Окно
или по клавише
F
7
.

Для печати отчета используется панель
Печать
. В отличие от печати текстовых отчетов,
при печати графических отчетов специальные на
стройки принтеров в
ИС
-
ПРО
не имеют
значения, так как используются стандартные настройки
Windows
.

Если ячейки шаблона выходят за рабочую область листа, то при печати генератор выдает
предупреждение о том, что отчет будет напечатан не полностью.

Установка ш
рифта для печати штрих
-
кодов в отчетах.

Для установки шрифта достаточно переустановить рабочую станцию (после установки
пакета) или вручную установить в системе шрифт EanGnivc.ttf. Шрифт находится в папке
WIN

пакета. Установка шрифта в
Windows
: Пуск (
Start
) / Настройка (
Settings
) / Панель управления
(
Control

Panel
) / Шрифты (
Fonts
) / Файл (
File
) / Установить шрифт (
Install

New

Font
).



2
-
14


РУКОВОДСТВО ПРОГРАММ
ИСТА

2.1.5

Экспорт в отчетах

В генераторе
отчетов

FastReport
реализована возможность экспорта готового отчета в
Microsoft

Excel
или
Mic
rosoft

Word
. Для этого предназначена панель
Экспорт
. При экспорте в
Microsoft

Word
текст помещается в таблицу, строки и ячейки которой соответствуют строкам и
ячейкам в отчете. Файл сохраняется в формате
RTF
. При экспорте в
Excel

все ячейки
экспортируются
в общем формате.

Все отчеты, при необходимости, экспортируются в
Бест
-
Звит
(функциями передачи
данных для экспорта).


2.1.6

Архив отчетов

Если в настройке шаблона отчета был установлен признак
Помещать в архив
или
Выдавать запрос
, то при возврате из режима прос
мотра отчета в предыдущий режим,
сформированный отчет будет сохранен в архиве отчетов соответственно автоматически или с
предварительным запросом.

Отчеты, помещенные в архив отчетов, просматриваются и выводятся на печать таким же
образом, как и при их гене
рации.

Доступ к архиву отчетов осуществляется из пункта меню
Сервис
/
Архив отчетов
или по
комбинации клавиш
Shift
+
F
9
в любом модуле. Программа выводит список всех
сформированных и сохраненных в архиве отчетов с указанием наименования отчета, времени его
ф
ормирования и длины отчета в листах. По клавише
Enter
вызывается режим просмотра и
печати отчета.

Архив отчетов снабжен функцией сортировки по наименованию, дате и времени. Для
включения функции сортировки из пункта меню
Вид
архива отчетов выбирается пункт

Сортировка
и способ сортировки (
Код
,
Наименование
или
Дата, время
). Список отчетов в
архиве сортируется по указанному параметру. Ненужные отчеты удаляются по клавише
F8
.


2.1.7

Пользовательские шаблоны


2.1.7.1

Создание пользовательских шаблонов

Вместе с системой
ИС
-
ПР
О
разработчиками поставляются шаблоны основных отчетов и
печатных форм. Набор этих шаблонов, как правило, достаточен для начала работы. Однако для
учета специфики конкретного предприятия, необходимо настраивать готовые и создавать новые
шаблоны. Новый шабл
он создается через
Настройку
меню
и на активной панели
Все отчеты
по
клавише
Ins
(или по пункт меню
Реестр
/
Создать
). В окне
Создание формы отчета
(
Рис.
10
):

Выбирается один из возможных
Типов
(
Экспорт,
FastReport
-
отчет,
Excel
-
о
тчет,
Word
-
отчет, Отчет тонкого клиента
)

2.1.7.2

Начало создания о
тчет
а

Отчет

выбирается вид создания отчета


Отчет Fast Report


Из предлагаемого списка (вызывается по клавише
F3
) выбирается
Шаблон
. Список
возможных шаблонов зависит от подсистемы и модуля, где
производится настройка отчета.
Важно сделать правильный выбор, поскольку именно выбранный шаблон определяет способ
сборки отчета, список доступных данных и набор встроенных запросов.



Рис.
10
. Создание нового шаблона


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
15


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

По комбинация клавиш
Shift+Ins
при использовании элементов готового шаблона,
курсор
устанавливается на отчет, который следует взять за основу (или выбирается пункт меню
Реестр
/
Породить…
).

Выбирается
Тип
отчета, который необходимо породить по образцу выбранного
шаблона, указывается его
Наименование
. Все элементы шаблона
-
образца ко
пируются в новый
шаблон. Далее в нем производятся необходимые изменения.

Вызов
Дизайнера отчетов
для редактирования готового шаблона осуществляется из
панели
Все отчеты
в
Настройке меню отчетов
по клавише
F
4
либо из окна
Выбор выходной
формы
по клавише
F4
.
Редактируются (и удаляются) только шаблоны отчетов, настроенные
пользователем. В списке шаблонов они выделены синим цветом. Шаблоны, поставляемые
разработчиком (в списке отмечены черным цветом), не корректируются и не удаляются.


2.1.7.3

Основные принципы создани
я шаблонов

Для того чтобы научиться проектировать шаблоны, необходимо представлять структуру
шаблона и процесс формирования отчета из шаблона.

Задача отчета

вывести совокупность данных, соответствующих рассматриваемой
задаче, в наглядной, удобной для ана
лиза форме.


2.1.7.3.1

Фрагменты отчета

Шаблон отчета состоит из отдельных фрагментов, в которые могут быть включены поля
базы данных. Каждый из фрагментов выполняет определенную задачу в процессе генерации
отчета и представлен в отчете определенным числом строк. Фр
агменты разделяются на типы:
Шапка
и
Подножие
печатного листа,
Заголовки
,
Итоги
и
Детальные
.

При проектировании шаблона фрагменты могут быть объединены в
Группы
с уровнями
подчинения, образующими иерархическую структуру. В каждую группу непосредственно
вкл
ючается произвольное число фрагментов, кроме детальных. При этом в группе обязан
присутствовать хотя бы один детальный фрагмент или подчиненная группа.

1. Детальная строка

Фрагмент, который соответствует определенной группе записей базы данных,
определенны
х для данного вида шаблона разработчиком. Каждому шаблону соответствуют свои
детальные строки, которые включают в отчет. Их количество ограничено, они имеют свои
названия, которые определяются шаблоном. Каждой детальной строке соответствуют свои поля,
кото
рые будут выводиться только в этой строке.

Фрагмент детальной информации в зависимости от наименования выводится столько раз,
сколько записей хранится в БД.

Раздел базы данных, соответствующий назначению отчета определяется разработчиком.

2. Заголовок

Фраг
мент для вывода заголовка таблицы и подзаголовков групп данных. Фрагмент
заголовка выдается при изменении значений полей, определенных как ключи группы, в которую
они входят.

Фрагмент
Заголовок
выводится в начале своей группы перед
Детальными
фрагментами.

3. Шапка

Фрагмент
Шапка
любой группы всегда выводится в начале листа и предназначен для
оформления верхних колонтитулов. Если выдача фрагмента происходит в середине или конце
листа, фрагмент будет напечатан на новой странице. Ему могут предшествовать тольк
о
фрагменты
Шапка
охватывающих групп.

. Итог

Фрагмент, который выводится после каждой группы данных или в конце всего отчета,
используется для формирования итоговых значений. Выдается при изменении значений полей,
определенных как ключи группы, в которую
он входит.


2
-
16


РУКОВОДСТВО ПРОГРАММ
ИСТА

5. Подножие

Фрагмент
Подножие
выводится в конце листа, предназначен для оформления нижнего
колонтитула или конца страницы. После него могут следовать только фрагменты
Подножие

охватывающих групп.


2.1.7.3.2

Группировка данных

Данные, выводимые в детальный
фрагмент отчета, группируются по определенному
признаку (
ключу
) таким образом, что каждая группа содержит все записи при определенном
значении
ключа.
Например, группировка ТМЦ по складам, так, чтобы в заголовке каждой
группы стояло название склада, в груп
пы выводились записи, соответствующие текущему
складу, а в итоговой строке

итоговые данные по складу. Механизм группировки реализован
следующим образом. В процессе проектирования шаблона, при создании группы, для нее
определяется так называемый ключ закр
ытия группы

совокупность

наименований полей, по
которым должна производиться группировка (в нашем примере

код склада). В процессе вывода
Детального
фрагмента производится проверка значения ключа. Если при выводе очередной
записи значение ключа изменило
сь, то это приводит к завершению группы и выводу в отчет
итога по группе. Если указано несколько ключей группы, то, прежде всего, данные разбиваются
по первому значению ключа, затем внутри этого разбиения происходит группировка по второму
ключу и так далее
.


2.1.7.3.3

Табулируемые ячейки

Совокупность данных, выводимая в детальный фрагмент, может иметь переменную
структуру. Например, каждой товарно
-
материальной ценности на складе могут быть присвоены
дополнительные характеристики (страна
-
производитель, материал, марка
, сорт и так далее),
причем для разных групп ТМЦ количество и значение этих характеристик могут быть
различными. Таким образом, появляется необходимость формирования в таблице данных отчета
дополнительных (табулируемых) колонок с наименованиями и значениям
и, зависящими от
группы выводимых данных. Это реализуется следующим образом: в шаблоне отчета для групп, в
которых содержится детальный фрагмент с полями переменной структуры, определяется так
называемый ключ табуляции

наименования

этих
полей
. Ключ табул
яции распространяет свое
действие на все группы подчиненного уровня.
Генератор отчетов
выводит поля ключа
табуляции в последовательные, смещенные вдоль строки, значения, так что в результате
образуются необходимое количество дополнительных колонок.

Подробн
ости создания табулируемых ячеек в отчете см. в описании дизайнера.


2.1.7.3.4

Сортировка данных

Пользователь имеет возможность также задать сортировку данных по определенному
параметру (Например, осуществить сортировку по количеству или по цене). Это осуществляется

указанием ключа сортировки при проектировании шаблона.

Подробности создания сортировок см. в описании дизайнера.


2.1.7.3.5

Программы пользователя

Для создания простого отчета достаточно выполнить настройку структуры отчета, ввести
его внешний вид и определить поля
вывода данных. Если в форме отчета применяются
реквизиты пользователя или требуется более сложная настройка, например, задание собственных
запросов, фильтров, сортировки, требуемые алгоритмы настраиваются с помощью программ
пользователя.

Три вида программ
имеют фиксированные имена:
Инициализация
(Программа
инициализации отчета),
Обработка сортировки пользователя
, (Программа фильтрации и
сортировки отчета) и
Завершение
(Программа завершения отчета). Эти программы не требуют
подключения к фрагментам отчета.

Пользовательские процедуры, заданные в программе под именем
Инициализация
,
вызываются перед началом формирования отчета. Программа может использоваться для

РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
17

установки начальных значений полей или описания функций для вывода дополнительных
запросов перед фор
мированием отчета.

Процедуры программы
Завершение
выполняются на стадии завершения отчета. Они
могут быть использованы, например, для вывода каких
-
либо диагностических сообщений по
результатам формирования отчета.

В программе с наименованием
Обработка сорт
ировки пользователя
задаются условия
дополнительной фильтрации данных, она вызывается при формировании каждой записи
временной базы, если применяется сортировка пользователя.

Все другие процедуры, в частности, алгоритмы расчета реквизитов пользователя,
нак
опление итогов и т.п. задаются в пользовательской программе с произвольным
наименованием. Количество пользовательских программ, заданных в одном шаблоне, не
ограничено.




Для того чтобы алгоритм пользовательской программы
выполнялся при генерации отчета, он
а обязательно должна быть подключена к
фрагментам типа
Детальная строка, Итог
или
Подножие
.


При написании программ используется специальный язык типа
Basic
(описанный в п.2.3).

В программе
Обработка сортировки пользователя
для фильтрации данных
использует
ся специальный системный реквизит
REC_FILTER

Идентификатор
отфильтрованной записи
. По умолчанию значение реквизита равно 0, что означает включение
записи в отчет. Для того чтобы отфильтровать запись, ему необходимо присвоить значение 1. На
самом деле тот
же результат получают, если в пользовательской программе использовать
реквизит _
RepSupress
/
Признак невыдачи фрагмента на печать
. Однако, выделение условий
отбора записей по возможности в отдельную программу Обработка сортировки пользователя
позволяет по
высить наглядность шаблона и облегчает его настройку. Для программного
подавления вывода итогов на печать необходимо в программе пользователя, привязанной к
итоговому фрагменту, установить _
RepSupress=1
.

Пример
.

Для того, чтобы в отчете по картотеке не выв
одились карточки с нулевым количеством,
следует заполнить программу Обработка сортировки пользователя:

IF SPKrtQt=0 THEN REC_FILTER=1 ELSE REC_FILTER=0

Если в данном шаблоне не планируется введение собственной нестандартной
сортировки, введите программу по
льзователя:

IF SPKrtQt=0 THEN _RepSupress=1 ELSE _RepSupress=0

Не забудьте выполнить привязку программы пользователя к детальной строке!


Подключение пользовательских программ к фрагментам отчета

Пользовательские программы могут подключаться к фрагментам т
ипа
Детальная
строка
,
Итог
или
Подножие
.

Доступ
к полям фрагментов последних двух типов имеет некоторые особенности и
осуществляется через так называемые алиасные поля.

Алиасные поля предназначены для вывода в итоговых фрагментах таких полей, значения
кото
рых рассчитываются программой пользователя. Причем программа пользователя привязана
к итоговому фрагменту или подножию и вызывается во время их вывода. Алиасные поля
являются, по существу, псевдонимами, которые подставляются в формулы вместо полей
итоговог
о фрагмента или подножия. Имя создаваемого алиасного поля формируется из имени
исходного поля путем добавлением префикса “
RA
_”. Эти поля следует использовать в
программах для работы с итогами или подножиями.



2
-
18


РУКОВОДСТВО ПРОГРАММ
ИСТА

2.2

Разработка отчетов с помощью WIN
-
генератора (Ti
gr)


2.2.1.1

Общие сведения


Дизайнер Отчетов
» представляет собой графический текстовый
редактор,
который
позволяет создавать и редактировать шаблоны отчетов, которые заполняются данными при
выводе на печать. Готовые отчеты отображаются, то есть, генерируются, «
Ге
нератором
Отчетов»
на основе запросов к соответствующим базам данных.

«Дизайнер Отчетов»
разрешает:



создавать структуру (иерархию) шаблона;



вставлять поля
БД


данные
,
которые сохраняются
в БД,
которые будут получены
на этапе
генерации отчета
;



вставлять
ри
сунки и метафайли;



проектировать диаграммы
;



создавать фрагменты, которые расширяются как сверху вниз, так и у стороны
-


табулированные
колонки»;



создавать многолистовые шаблоны;



создавать и подключать к соответствующим фрагментам пользовательские
программ
ы, которые разрешают вычислять сложные математические выражения, используя
простой BASIC
-
подобный язык.

Дизайнер
Отчетов представляет собой
многодокументное

приложение
. Каждый шаблон,
который
редактируют, располагается в отдельном окне редактирования (
внут
ри главного
окна

Дизайнера Отчетов
»). Окно редактирования содержит графическое представление шаблона и
расположенное по левую сторону от окна иерархии
шаблона отчета.
Окно «
Инспектора
свойств
» располагается или сверху окна редактирования в любом удобном д
ля пользователя
месте, или встраивается
в главное
окно «
Дизайнера отчетов
» (как на рисунку).



Рис. 11. Общий вид «Дизайнера отчетов»


2.2.1.2

Панели управления

Панели управления «
Дизайнера Отчетов
» содержат
кнопки быстрого доступа,
кот
орые
отвечают тем операциям, которые можно делать с выделенными элементами (полосами или
ячейками) или с деревом иерархии структуры шаблона отчета.


Окно иерархии
шаблона

Окно
редактирования

Инспектор свойств
объектов шабло
ну

Г
лав
но
е

окно

Дизайнер
а

Отчетов


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
19



Рис. 12. Панели управления


Панель "
Шаблон
"

разрешает:



создать новый шаблон (описание
БД не
подключается
);



открыть существующий;



проверить текущий шаблон на корректность;



сохранить шаблон.

Панель "
Фрагменты
" разрешает
вставить в
структуру иерархии шаблона:



Шапку страницы;



Заголовок;



Детальный фрагмент;



Итог;



Окончания страницы
.

Панель "
Вид
" разрешает:



измени
ть масштаб;



осуществлять
перелистывание многолистовых
шаблонов.

Панель "
Элементы
" разрешает:



вставить таблицу или табличную полосу
в
шаблон;



вставить новую свободную
полосу в
шаблон;



вставить ячейку в полосу;



продублировать
выделенные элементы (полосы или
отдельные ячейки
);



удалить выделенные элементы;



отменить
выполнение последнего действия
.

Панель
"
Настройка
"
разрешает:



установить шаг перемещения элементов;



включить или исключить группы элементов (влияет на перемещение элементов);



включить или
исключить о
тображение табулируемых ячеек
;



вызвать редактора программ пользователя

разрешает

создавать и модифицировать
расчетные программы;



вызвать диалог
проектирования диаграмм.



2.2.1.3

Инспектор
свойств


Инспектор свойств


это

окно отображения свойств выделенных эле
ментов и
механизм изменения их
свойств. Окно

Инспектора свойств

располагается сверх окна
редактирования шаблона
отчета, или встраивается по
левую сторону или по
правую сторону от окна
редактирования

в

этом
случае его можно свернуть.






2
-
20


РУКОВОДСТВО ПРОГРАММ
ИСТА

















Рис
. 13 Окно инспектора свойств


Вызвать окно «
Инспектора свойств
» можно через меню или с помощью клавиши
F12
.
Это независимое окно, расположения и размеры которого изменяются произвольным образом.

Устанавливать и изменять свойства можно непосредственно
в самом
Инспекторе.
Для
чего необходимо перейти к избранному свойству и ввести новое значение.

Внутри окна
«Инспектора свойств»
возможно:



открыть список, который выпадает, с помощью комбинации
Alt+ Стрелка вниз
;



войти в режим редактирования избранного свой
ства и установить введенное значение с
помощью клавиши
Enter
.


2.2.1.4

Иерархия структуры шаблона отчета
.

Структура шаблона разрешает управлять выдачей отдельных фрагментов на печать,
расположением их на печатном листе, а также дублированием фрагментов и столбцов
внутри их.

Иерархия структуры шаблона всегда отображается по левую сторону от окна
редактирования, и имеет вид:




Рис. 1. Структура шаблона


Фрагментами иерархии
являются
:

Шапка Страницы

Это фрагмент, который всегда печатается в начале страницы. Если в
ыдача фрагмента
происходит в середине или в конце листа

фрагмент

будет напечатан в начале новой страницы.

Заголовок

Это фрагмент заголовка
таблицы
. Выдача фрагмента управляется свойством
Печать
. Так
для заголовка таблицы, которая печатается только один р
аз


“Печать / Только на первой

РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
21

странице”
, а для повторения на начале каждой странице заголовка


“Печать / Всегда”
или
“Печать /На всех кроме первой”
.

Дет
альная

Фрагмент детальной информации. Выдача фрагмента может управляться ключами
группы. Фрагмент дет
альной информации в зависимости от наименования выводится столько
раз, сколько записей сохраняется в БД.

Итог

Фрагмент, который выдается как итог таблицы (детального фрагмента) или итог группы.

Окончание страницы

Фрагмент, который заканчивает форму отчета.
В зависимости от значения свойства

Печать,
фрагмент может выводится один раз в конце отчета или в конце кожного печатного
листа.

Детальные фрагменты отображают наименование подключенных детальных рядков, а
Группы


избранные ключи. Избранные ключи табуля
ции не отображаются рядом с
соответствующей группой

изменяется

пиктограмма этой группы, а ключи табуляции возможно
просмотреть через «
Инспектор свойств
.

Каждый фрагмент, который содержит поля БД и группы, содержит список полей и
фрагментов, что раскрыва
ются. Перемещение по этом
у
списк
у
синхронизируется выделением
соответствующего поля БД или фрагмента в окне редактирования, и наоборот.


2.2.1.5

Окно редактирования шаблона отчета

Содержит графическое представление шаблона отчета. Разрешает визуально изменить
разм
еры и
расположение полос и ячеек
, текстовое содержание
ячеек и другие свойства.


Инспектор свойств

разрешает установить и неизменяемые визуальные
свойства
, в
отличие от окна редактирования:
обрамления, отступления, шрифт...














Рис. 15
Общий вид
фрагмента окна редактирования


2.2.1.6

Объекты Дизайнера Отчетов

В «
Дизайнере отчетов
» каждый элемент (объект) шаблона владеет своими, присущими
только ему свойствами. Значения этих свойств изменяется через «
Инспектор свойств
» объектов
Дизайнера
.

Внимание!
«Инспе
ктор свойств
» отображает свойства выделенных элементов, поэтому
сначала, с помощью мыши выделяется элемент, и только потом делаются над ним необходимые
действия.

В «
Дизайнере Отчетов
» используются два основных типа объектов:



объекты документа;



объекты стру
ктуры.


2.2.1.6.1

Объекты документа


2
-
22


РУКОВОДСТВО ПРОГРАММ
ИСТА

2.2.1.6.1.1

Объект Ячейка

В «
Дизайнере отчетов

имеется два типа ячеек:



фиксированная ячейка

разрешает

размещать ячейку где угодно в границах
удерживающей ее полосы (так называемая свободная ячейка
);



нефиксированная ячейка.

Ячейки имеют сле
дующие свойства:



Тип

задает

тип содержания ячейки

текст
,
картинка (ВМР
-
файл или WMF
-
файл) или
поле БД.



Содержание


в

зависимости от типа в это поле можно ввести текст, выбрать картинку
или поле БД.



Выравнивания


определяет
,
относительно чего будет це
нтрироваться содержание
внутри ячейки.



Обрамления

-
отображает

и разрешает установить обрамление внутри ячейки; толщину
и цвета линий изменяются. По умолчанию установлен: цвет
-
черный, толщина линий
-

0.3 гг.



Отступления от границ


разрешает

установить
отступления содержания ячейки от
границ.

Это
свойство используется, если необходимо установить отступления для текста:
выровнять текст по центру относительно верхней и нижней границ.



Фон

цвета

фона ячейки. Содержание ячейки выводится сверх фона.

Чтобы фо
н отображался, необходимо изменить тип из прозрачного на сплошной
.



Привязка


расположения

ячейки относительно левой и верхней границ полосы.



Ширина и Высота



размеры

ячейки.



Фиксированная

Да
/
Нет. Это свойство разрешает изменить тип ячейки.



Точно

это

свойство влияет на отображение картинки в ячейки.

Если установить это свойство

тогда

изображения картинки или метафайла будет
вписываться по ширине в размеры ячейки. Иначе картинка будет обрисована с своими
реальными размерами, и чаще всего будет "выполз
ает" за границы ячейки.




Рис. 16. Окно инспектора свойств
объекту ячейка


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
23




Редактирована


свойство

ячейки, которая разрешает задать возможность
редактирования ячейки при отображении готового отчета
«Генератором отчетов
.

Отчет формируется на основе шаб
лона и соответствующих данных. Эта возможность
позволяет редактировать поля непосредственно в «Генераторе отчетов».


2.2.1.6.1.2

Объект Полоса

Представляет собой контейнер для ячеек

все
ячейки располагаются в
своих полосах.




Рис. 17. Окно инспектора
свойств объек
та
полоса




Полосы имеют
свойства:



Привязка


положения

полосы относительно рабочей области листа.



Высота


значения

высоты полосы в миллиметрах
;



Фиксированная



Да
/
Нет
.

В фиксированной полосе ее высота не изменяется в зависимости от количества символов в

строке

будет

отображено
столько символов, сколько
вместиться в строку
.

В нефиксированной полосе (
автополоса
) в этом случае высота измениться так, чтобы все
символы
были видные

полоса

раздвинется
.

Для точных документов всем полосам необходимо устанавли
вать тип
фиксированная


Да
.



Новая страница

это

поле разрешает разбить шаблон на страницы так, как
необходимо. При этом полоса перенесется на следующую строку.



2.2.1.6.2

Объект Шаблон


















2
-
24


РУКОВОДСТВО ПРОГРАММ
ИСТА




Рис.
18 Окно инспектора свойств
объекта
шаблон


Охватывае
т все общие свойства шаблона отчета, такие как:



Имя

наименования

шаблона
.

Под этим именем шаблон будет отображен в окне выбора типа
отчета, который
печатается
. Отображается
только 50 первых символов имени, поэтому длинные названия
похожих отчетов, которы
е отличаются последними символами, будет тяжело отличить.



DOS
-
совместный

разрешает

синхронизировать данный графический шаблон
с его
же представлением в псевдографику. Автоматически проставляется при экспорте
шаблона.




Запрещает использование многих функц
ий для обеспечения совместимости: нельзя
вставлять рисунки, изменять размер шрифта и сам шрифт (используется только

Courier New) и т.п.




Описание БД

это

поле содержит имя файла описаний полей БД. Файл догружается
автоматически, и если отсутствует
-
выдае
тся сообщения
‘Не удалось загрузить
описание БД’


при

этом загружается сам шаблон. Его можно редактировать и
сохранять, но вставлять или изменять поля БД невозможно.



Язык

определяется

на каком языке будут полученные даны для полей БД.



Законодательство

тип законодательства, для которого предназначенный отчет.



Автор

автор

создаваемого шаблона.



Лист

разрешает

задать расположение документа на листы.

То есть, если задать размеры шаблона 210х100 (высота

100
)
, то при печати
нескольких копий сгенерирован
ого документа они будут расположены на одном
реальном печатном листе по принципу «сколько влезет целых», а размеры этого
«реального печатного листа» задаются в этом вызываемом диалоге.



Размеры

высота

листа шаблона;

-
ширина листа шаблон;

-
ориентация:

кн
ижная
формат А
-
210х297;



альбомная формат А
-
297х210.

Данная версия
Дизайнера
поддерживает максимальные значения высоты и ширины
-
360
мм.



Поля


отступления

от границ листа шаблона печатной области.

Это границы рабочей области

они показываются в о
кне редактирования зеленым
контуром по краям листа. Включить/исключить отображение границ печатной области можно
через меню или с помощью клавиши
F11
.

Важно правильно установить отступления сверху и снизу, так как разные принтеры
имеют разные максимальные
отступления и при печати могут возникать переносы на следующий
лист.



Цвета

цвета

заливки подкладки (фона) листа.


2.2.1.6.3

Объекты структуры

2.2.1.6.3.1

Объект Группа


Содержит следующие свойства:



Ключ

список

полей, которые
составляют ключ группы.

Изменение значения каждог
о из этих полей приводит к закрытию группы.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
25



Ключ табуляции

-
список полей, которые
составляют ключ табуляции группы
.



Табуляция


разрешает

вызвать диалог выбора табулируемых ячеек.

Выбрать табулируемые ячейки можно только в том случае, если для группы, кот
орая
охватывается, установленный (избранный) ключ табуляции!!! Это легко проконтролировать
по изменению пиктограммы группы.

Ключ группы разрешает установить поля (реквизиты ключа), по которые будет
определяться, пока будет существовать
группа. То есть: есл
и такое поле
-
«DATE», то до тех пор,
пока
в базе присутствуют
данные по этой дате

будет

раскручиваться эта группа. Разрешает
легко организовать итоговый фрагмент по этой группе.




Рис. 19. Окно инспектора свойств
объекта
группа


Если при формировании
отчета изменится
один с этих реквизитов, то будет

сформированный новый ключ. Ключ табуляции разрешает организовать ~ колонки табуляции ~.
Если при формировании отчета изменится
один с
этих реквизитов, то будет сформированная
новая ~ колонка табуляции ~.

Д
ля равного тиражирования ~ колонок табуляции ~ табулированные должны быть все
ячейки в колонке, даже пустые.

Сделать видимыми табулированные ячейки можно с помощью кнопки панели
"Настройка"
.


2.2.1.6.3.2

Объект Фрагмент

Содержит следующие свойства:



Тип


тип

фрагмента
:
Шапка страницы, Заголовок, Детальная, Итог,
Окончания
страницы
.



Разрыв

возможно

ли разрывать данный фрагмент, если он не помещается на текущем
листе.

В
зависимости от типа отображаемого объекта в инспекторе свойств
появляются

соответствующие индивидуал
ьные свойства.

Фрагмент
Шапка страницы
имеет свойство:



Печать


размещения

фрагмента на печатной странице.

Фрагмент
Заголовок
имеет
свойства:



Текущий

размещения

текущего фрагмента. Разрешает печатать фрагмент из новой
страницы или печатать текущий фрагме
нт на одной странице с предыдущим фрагментом.



Следующий

размещения

следующего фрагмента за текущим. Разрешает печатать
следующий фрагмент из новой страницы или печатать следующий фрагмент на одной
странице с текущим фрагментом.

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

Фрагмент
Детальная
имеет такие свойства:



Наименования

содержит

список "детальных строк", предусмотренных для "шаблона
формы отчета". При выборе пункта меню, что выпадает, состоится вставка и
збранной
строки в структуру отчета.



Программа

отображает

наличие подключенных программ.



Вызовет диалог подключения существующих программ, из которого можно вызвать
редактора программ.


2
-
26


РУКОВОДСТВО ПРОГРАММ
ИСТА



Печать

расположения

фрагмента на печатной странице.



Текущий

распол
ожения

текущего фрагмента.



Следующий

расположения

следующего фрагмента за текущим.

Фрагмент
Окончания страницы
имеет такие свойства:



Печать

расположения

фрагмента на печатной странице.



Удалять пустые строки


при

выдаче фрагмента на печать с параметром
не удалять
пустые строки

фрагмент

подтянется до конца листа.



































Рис
. 20 Окно инспектора
свойств объекта
фрагмент


2.2.1.6.4

Работа с ячейками, полосами и иерархией структуры


2.2.1.6.4.1

Перемещения и группировка элементов

Установить шаг пер
емещения элементов или произвести группировку э
лементов вы
можете через панель

Настройка
:



К
рок переміщення

Угруповання елементів


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
27

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

Установления группировки элементов
разрешает вам:



в свободной полосе перемещать несколько ячеек как один нераздел
ьный объект, чтобы не
изменить их взаимное расположение;



в табличных (регулярных) полосах установленная группировка влияет на режим
редактирования:




С включенным режимом группировки полос изменение границы ячейки послужит
причиной изменения положения разме
щения соседних ячеек, то есть таблица
сдвинется и соседние ячейки 'поедут';



С выключенным режимом будет изменяться положения только перемещаемой
границы, и это никак не повлияет на расположение соседних ячеек.


2.2.1.6.5

Вставка обычных табличных полос и свободных п
олос

2.2.1.6.5.1

Табличные или «регулярные» полосы

В большинстве случаев вас будут интересовать только табличные полосы, так как они не
требуют рисования ячеек, которые вставляются к полосе; следить за их взаимным
расположением и устанавливать очередность ячеек при их
наложении.

Вставить в шаблон такую полосу можно через панель «
Элементы
(
Вставить таблицу
)
или меню (комбинация клавиша
Ctrl+T
). Перед этим необходимо выделить в окне
редактирования полосу (или ячейку в этой полосе), после которой будет произведена встав
ка.

При необходимости включается обрамления во всех ячеек создаваемой таблицы.


2.2.1.6.5.2

Свободные полосы

Свободные полосы отличаются от табличных тем, что:

1.

разрешают располагать ячейку в произвольном порядке;

2.

допускают наложения ячеек одна на другую;

Типичный прим
ер необходимости использования такой полосы приведенный
на этом
рисунке:




Рис. 21.
Свободные полосы


Как видно из
этого примера
-
необходимо расположить текст, который содержится в БД
(на самом деле это ячейка БД и никакого текста нет) между двумя стол
бцами из ячеек.

Если использовать таблицу, то добиться положительного результата не удастся.

Вставить свободную полосу можно через панель «
Элементы
(
Вставить новую полосу
в шаблон
) или меню (
Ctrl+I
). Такую полоса вставляют пустой и заполняют полосу ячейк
ами
вручную, причем ячейку необходимо нарисовать в этой полосе после нажатия на панели
Элементы
кнопки
Вставить ячейку
.

При наложении ячеек вы можете установить их взаимное расположение с помощью
контекстно

зависимого

меню, вызываемого по правой кнопке
мыши.


2
-
28


РУКОВОДСТВО ПРОГРАММ
ИСТА





2.2.1.6.6

Доступные операции при работе с шаблоном отчета

2.2.1.6.6.1

Копирования, удаления, вставка и дублирования

В
любую текстовую ячейку возможно вводить текст непосредственно в окне
редактирования шаблона (двойной щелчок над ячейкой), или через «
Инспектора свойс
тв

(
Содержание
).
При этом вы можете использовать над выделенным текстом операции
копирования, вставки и вырезки.












Рис. 22. Окно инспектора свойств
объекта
ячейка


Доступ к этим командам осуществляется через контекстно
-
зависимое меню (по правой
к
нопке мыши) или с помощью стандартных клавиатурных комбинаций:

при работе с текстом
-



Ctrl+C
(
Ctrl+Ins
)



копировать в буфер;



Ctrl+V
(
Shift+Ins
)


вставить из буфера;



Ctrl+X
(
Shift+Del
)


удалить в буфер;

при работе с выделенным(и) элементами
-



Ctrl+C


вы
делить ячейки;



Ctrl+S


выделить полосы;



Ctrl+A


выровнять по шагу.

Вы можете вырезать или скопировать в буфер обмена группу ячеек (ячейку) вызвав по
правой клавише мыши контекстно

зависимое

меню, или с помощью этих же клавиатурных
комбинаций:
Shift+Del
и
Ctrl+Ins
; а потом также вставить: с помощью мыши или
Shift+Ins
.

Вставка ячеек происходит по выделенной ячейке или в конец полосы
-
если выделена
полоса. Столбец ячеек вставляется аналогичным образом, но если нижняя ячейка не может быть
вставлена под вер
хней

она

копируется или в конец полосы, или за ячейкой.

Продублировать возможно:



полосу с ячейками;



одну или несколько ячеек;



столбец из ячеек.

При дублировании ячеек они или вставляются за последней из выделенных ячеек

в

табличных полосах, или смещают
ся вправо вниз
-
в свободных полосах.

Удалить объект (объекты) можно через меню или панель «
Элементы
(
Ctrl+Del
).


2.2.1.6.6.2

Выделения нескольких объектов

Чтобы выделить несколько однотипных объектов вам нужно:



выделить объект;



нажать клавишу
Ctrl
, и не отпускать ее
;



выделить элементы щелчком левой кнопки мыши;



отпустить клавишу
Ctrl.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
29

Чтобы выделить все элементы от исходного:



выделите первый (исходный);



перейдите к конечного;



нажмите клавишу
Shift
и не отпуская ее, выделите этот элемент;



отпустить клавишу
Shift.

При
выделении нескольких элементов «
Инспектор свойств
» отображает свойства
первого выделенного элемента. Таким образом он есть как бы шаблоном для всех других, и
устанавливая в инспекторе с помощью клавиши
Enter
какое
-
нибудь свойство

оно
устанавливается для
всех элементов.


2.2.1.6.6.3

Отмена последней операции

Происходит по команде «
Шаг назад



Alt+BkSp
.

Панель «
Элементы
» содержит кнопку быстрого доступа для выполнения данной
операции.


2.2.1.6.6.4

Объединения и разбивка ячеек

Выделенные ячейки можно объединить или разбить на две,
вызвав контекстно


зависимое

меню по правой копке мыши.


2.2.1.6.6.5

Выравнивания по шагу

Эта команда разрешает вам выровнять размеры и расположение всех полос и ячеек по
установленному шагу.


2.2.1.6.6.6

Введения текста

Заполнить
ячейку текстом возможно после входа в режим вве
дения текста в окне
редактирования


одинарный щелчок мышью
, или вызвать окно ввода


двойной щелчок
мышью (или через свойство ячейки «Содержание»)
.

Вообще вызов отображения свойства
«Содержание»
проводится двойным щелчком
мыши над ячейкой.


2.2.1.7

Поля Базы Данн
ых

2.2.1.7.1

Подключения полей БД

Сделать ячейку полем БД вы можете так:



установите в «
Инспекторе Свойств

Тип



Поле БД
;



выберите свойство
Содержание

появиться окно «
Свойства поля БД
;



Нажмут на кнопку под строкой
Наименования


появиться диалог выбора поля БД;



д
войным щелчком выберите поле БД или после выбора нажмите
ОК
;



наименования, идентификатор, тип и размер поля появятся в соответствующих пунктах;



установите необходим
ые свойства для этого поля БД и
нажмите
ОК
;



в окне иерархии структуры шаблона будет отображе
но наименование вставленного поля,
причем вы можете перемещаться по этому списку и соответствующие поля, в окне
редактирования будут синхронно выделяться;



в окне редактирования шаблона отчета поля БД отображаются с помощью значка
@
.

Свойства ячейки поля
БД как объекта ничем не отличаются от других. Просто в эту
ячейку будет помещен текст с БД.


2.2.1.7.2

Свойства полей БД

Инспектор свойств разрешает зад
ать для ячейки атрибут поле БД
или поле, определенное
пользователем. Все операции с ячейкой
-
полем могут быть выпол
нены выбором в
Инспекторе
свойства
пункта
Содержание ячейки.


2
-
30


РУКОВОДСТВО ПРОГРАММ
ИСТА

Для ячеек
-
полей на экране появится модальное окно
“Свойства поля БД”
.


Рис. 23.
Свойства поля БД


П
ользователь может выбрать поле,
а также изменить отображение поля с помощью

Модификаторов отоб
ражения”.
Программа контролирует все значения, которые вводятся, и
сомнительные значения выделяет красным цветом при введении.

В зависимости от типа поля БД (числовое или текстовое) вы можете изменять свойства:



Сколько символов значения поля БД поместить в
ячейку.

Это значение рекомендуется устанавливать меньшим, чем значения размера ячейки в
символах средней ширины текущего шрифта.



Продолжения поля БД.

Устанавливайте это свойство, если необходимо разбить одно поле БД на несколько ячеек

то

есть в первую я
чейку поместите, например, 0 символов, а во второй установите это
свойство и введите значение 0, тогда к ней будет помещенная информация с 0
-
го символа. Для
следующих ячеек выполняйте простое суммирование поля Поместить в ячейку всех
предыдущих.



Пробел
если нуль
.



Ведущие нули
.

Если в ячейку нужно поместить 10 символов, а значения 6
-
ти разрядное

тогда

это
значение дополниться с начала нулями к 10
-
ти разрядам.



Раздел триад.

Триады целой части десятичного числа разделяются апострофами.



Итоговое поле.

Поле
не принимает участие в суммировании.



Десятичная точка.

Разрешает задать количество знаков после десятичной точки. По умолчанию количество
знаков выдается с точностью входных значений.



Высокая точность.

Накопления ведется с точностью входных значений.


Описание поля

Длина символьного
пол

Выбор поля

Размер ячейки в символах средней ширины для
текущего шрифта (для данной ячейки).

Если поле не помещается в ячейку , значение
выделяется
красным цветом
.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
31

2.2.1.7.3

Выб
ор поля

Выбор поля осуществляется двойным щелчком над строкой таблицы полей в окне

Выбор поля
.
Пользователь может сортировать список, а также по правой кнопке мыши
получить контекстное меню с выбором дополнительных возможностей, среди которых:



поиск пол
я по наименованию;



поиск поля по идентификатору;



создания нового (пользовательского поля).



Рис. 2. Выбор поля


Выбор пункта контекстного меню дополнительных возможностей приводит к появлению
на экране соответствующего диалог
ового окна.




Рис.
25
.
Контекстное меню дополнительных возможностей


2.2.1.7.4

Поиск поля

Окно “
Поиск поля
” разрешает найти все поля по шабл
ону имени или идентификатору.
Поиск проводится по совпадению любого фрагмента наименования или идентификатора с
шаблоном, пр
и этом большие/маленькие буквы игнорируются
.










Сортировк
а по

аименованию.

Сортировка по
Сортировка по
Поле БД
-




Системное поле
-




Поле пользователя
-



Щелчек правой
кнопкой мыши


меню
дополнительных

2
-
32


РУКОВОДСТВО ПРОГРАММ
ИСТА



Рис. 26. Поиск поля


Поиск
проводиться
начиная из
текущей позиции селектора в таблице или из первой
строки (если установлен
“Поиск сначала”
). По достижению конца
списка программа
автоматически
устана
вливает
“Поиск сначала”
. Окно поиска не явл
яется
модальным,
что
разрешает
соединить ручной просмотр таблицы с программным поиском.


2.2.1.7.5

Создания нового поля

Дизайнер разрешает пользователям создавать новые поля, для использования в качестве
сменных в встроенны
х программах отчета. Пользовательские поля могут быть вставлены
в

шаблон отчета
без каких
-
нибудь ограничений.




Рис. 27
Создания нового поля


Создания нового поля проводиться с помощью окна “
Создания нового поля
”, доступ к
кото
рому обеспечивает контекстное меню таблицы полей.


2.2.1.7.6

Редактирования поля

Для всех пользовательских полей предусмотренная возможность их редактирования. Для
этого через контекстное меню, вызовите диалог редактирования поля.


















Идентификатор поля

Описание поля на
естественном языке

Тип
поля (выбирается из
списка).

Длина строкового поля или
количество знаков после запятой
(для

числового).


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
33






Рис. 28.
Ре
дактирования поля


2.2.1.7.7

Удаления поля

Удалить поля можно только свои (пользовательские поля). Для чего нужно вызвать
контекстное меню и выбрать пункт
“Удаления поля”
.

Для вызова операций работы с пользовательскими полями вы можете использовать
комбинации клавиш
:



Ins


-
создания нового поля;



Shift+Ins

-
редактирования поля;



Del


-
удаления поля.


2.2.2

Специальные настройки




Рис. 29.
Меню специальной настройки



2.2.3

Настройки табуляции










Рис. 30.
Окно инспектора свойств объекта
группа


При подключении к
группе
Ключа табуляции
в «
Инспекторе свойств
» становится
доступным свойство
Табуляция
.

Это свойство разрешает отметить
ячейки документа, которые могут повторяться
в
зависимости от
Ключа табуляции

(при этом отчет расширяется).

Настройка т
абулированных ячеек вырабатывается с помощью окна “
Выбор
табулируемых ячеек
”. С
появлением на экране этого окна
(сверх всех) табулированные ячейки
безусловно выделяются цветами и обрамлением “
ползучие муравьи
”. Пользователь может
непосредственно в документ
е указать табулированные ячейки и подтвердить
выбор или
отказаться.


Включение подсветки
Редактор
Настройки

2
-
34


РУКОВОДСТВО ПРОГРАММ
ИСТА



Рис. 31.
Выбор табулированных элементов


Кнопка
“Подсвечивания табуляции”
, используется для включения/выключения
выделения ячеек, которые имеют признак табу
ляции.


2.2.4

Вставка табулированных ячеек

Прежде всего вам необходимо определить в группе, которая
охватывает
, ключ
табуляции:



Нажмите мышкой в окне иерархии документа на избранной группе, при этом в заголовке

Инспектора свойств
» появится
Объект Группа
;



Станьт
е на свойство
Ключ табуляции
и нажмите кнопку

откроется диалог выбора
наименований ключей, которые необходимо просто выделить в левом окне, нажать стрелку
переноса в правое окно, которое показывает установленные ключи, нажмите кнопку
ОК
.

После этого стан
ьте на свойство
Табуляция
и нажмите кнопку

откроется диалог
выбора табулируемых ячеек: необходимо выбрать ячейку и нажать
Да
. Для изменения или
добавление новых ячеек
-
откройте этот диалог и сделайте замену или добавление.

Не забывайте в детальных фрагм
ентах табулированными избирать столбцы, при
необходимости разбивая текстовые ячейки на несколько и выбирая пустые ячейки
табулированными.









2.2.5

Настройка

диаграмм



Рис.
32
.
Настройка диаграмм

Окно выбора табулируемых элементов.

Располагается всегда поверх других окон и
реализует немодальный диалог выбора ячеек.

Табулируемые ячейки выбираются
непосредственно в окне документа, выбранная
ячейка отмечается цветом и обрамлением.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
35

Настройка диаграмм производится с помощью окна “
Настройка д
иаграмм
.
Пользователь может заполнить имя диаг
раммы, потом
переназначить или выбрать ячейки
-
источни
ки данных и подписей к данным.

Для выбора
ячеек
-
источников подписей к данным необходимо нажать кнопку
Подписи к
данным
(текущие источники
будут выделены об
рамлением) и указать в документе новые
ячейки, потом нажать кнопку
Применить
. Выбор ячеек
-
источников данных производится
аналогично.




Рис. 33.
Настройка диаграмм


В завершении всего или подтвердить выбор, или отказаться, или
удалить описание
диаграммы.


2.2.6

Настройка программ



Рис. 3.

Настройка программ

Заголовок
Кнопка режима выбора ячеек
-
источников подписей

к данным

Кнопка подтвержден
ия выбора
ячеек
-
источников подписей к
данным.

Кнопка режима выбора ячеек
-
источников данных для диаграммы.

Кнопка подтверждения выбора
ячеек
-
источников данных.


2
-
36


РУКОВОДСТВО ПРОГРАММ
ИСТА

Редактирования встроенных в отчет программ производится в окне “
Редактор
программ
”. Пользователь может создавать произвольное количество программных модулей и
полей, подключая
их к детальным фрагментам в «
Инспекторе свойств
.

Кроме вставки своих программ вы можете вставить программы
инициализации
,
завершения
и
фильтрации
. Для чего необходимо нажать рядом с кнопкой вставки новой
программы и выбрать соответствующую сроку. Вставк
а следующей программы возможно только
после сохранения текущей.

Изменить название программы возможно нажав над соответствующим наименованием в

окне
программ, после чего, войдя в режим редактирования, ввести новое имя.



Рис. 35.
Редактор программ


Окно опе
раторов разрешает вставить логические операторы в текст программы с
помощью мыши. Это окно ведет себя так же, как окно “
Инспектор свойств”.

Поля БД вставля
ются с помощью кнопки

панели редакторы программ. Она разрешает
вызвать диалог выбора полей БД с сп
иска существующих, создать пользовательские поля или
отредактировать.

После введения


программы необходимо проверить ее на наличие ошибок.
Для этого н
ажмите

кнопку проверки


и получите
отчет о найденных ошибках, или про их
отсутствие.

Только безошибочн
ая программа гарантирует корректную работу «
Генератора Отчетов

и всей системы в целом.


2.2.7

Подключения программ

Редактирования встроенных в отчет программ производится в окне “
Редактора
программ
”. Пользователь может создавать произвольное количество программ
ных модулей и
полей, подключая их к детальным фрагментам в «
Инспекторе свойств
.

Удаление
текущей

программы

Окно
Проверка текущей

программы

Вставка новой

прогр
аммы

Вставка программ

инициализации
,

сортировки
и

завершения

Окно редактирования

Кнопки управления редактированием:

-

вставка полей БД;

-

отображение окна

операторов;

-

вызов справки.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
37

Подключить существующую программу (а если потребуется, то и отредактировать) к
Детальному фрагменту
можно через свойство
Программа
. После нажатия кнопки появится
диалог подкл
ючения программ:



Рис. 36.Окно подключения программ


С его помощью из списка доступных программ выбирается необходимая программа и
подключается к фрагменту. Для этого:



в списке доступных программ выделите программу;



с помощью одиночной стрелки переместите
ее в список подключенных, или с помощью
двойной стрелки переместите все существующие программы;



нажмите кнопку
ОК
.

При необходимости можно просмотреть текст программ, изменить ее или вставить
новую, вызвав редактора программ через соответствующую кнопку.

Аналогичным образом удаляется из списка подключенных программ ненужные.



2.2.8

Настройка фильтрации и сортировки


2.2.8.1

Программа фильтрации

Используется в том случае, если необходимо по полю наименования отсортировать
(выводить в детальном фрагменте) только те поля,
которые начинаются из буквы 'C' и т.п.

Программа фильтрации разрешает создавать фильтры для любого количества полей,
включая пользовательские поля.

Для ее создания необходимо вызвать
Редактора программ
через панель
Настройка
или
с помощью кнопки в окне
Со
ртировки документа
.

В окне
Редактора программ
нажмите кнопку
Новая
, и выберите из списка пункт
Фильтрация и сортировка
. После введения программы

сохраните ее.







Рис. 37.
Окно инспектора свойств объекта
ячейка



2
-
38


РУКОВОДСТВО ПРОГРАММ
ИСТА

2.2.8.2

Сортировка документа

Настраивают
вид вы
веденной в отчете информации из конкретных полей: сортировка
имен и фамилий в любом направлении и т.п. Настройка сортировок вызывается через панель

Настройка
:



Рис. 38.
Настройка сортировки


В окне

Сортировки документа
возможно:



в окне “
Наименования
“ мож
но создавать новые и редактировать наименование
существующих групп сортировок;



в окне “
Поля сортировки
“ аналогичным способом возможно прибавлять поля в группу
сортировки, тип сортировки и устанавливать для текстовых полей количество символов, по
которые бу
дет производится сортировка.

По
умолчанию сортировка производится по всей длине строки, а это существенным
образом влияет на прои
зводительность системы.











2.2.8.3

П
араметры листа

Настраивания

параметров листа
производится через
«Инспектор свойств

объект
а
Шаблон



Лист
.




Добавление новых и
удаление существующих

групп
Добавление новы
х и удаление

существующих полей в
группу
сортировки

Наименование группы

сортировки

Количество символов, по
которым
пр
оизводить
сортировку.
Только для
текстовых

полей!!!

Цвет фона активного
окна ярче

неактивного.

С помощью
этих меток вы
можете менять
порядок

следования

Суммарное кол
-
во сортируемых байт не
должно превышать 123 байта.

В случае превышения этого лимита

индикатор становится красным
и выдается
соответствующее предупреждение.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
39
















Рис. 39. Параметры листа


В диалоге «
Параметры листа»
настраивается расположения готовых документов на
физическом (реальном) печатном листе. То есть, если заданы размеры шаблона 210х100 (высота

100
)
, то при печати неско
льких копий сгенерованого документа они будут расположены на
одном реальном печатном листе по принципу «сколько влезет целых», а размеры этого
«реального печатного листа» задаются в этом диалоге.

Практически это свойство разрешает «печатать» полученные лис
ты один за другим, но
как правило физически большему печатному листу

устанавливается

шаблона высоту равная
половине листа А и потом при печати нескольких страниц они будут компоноваться на одном
листе, больше того печать нескольких копий такого однолист
ового документа (если данные
помещаются на одну страницу) может происходить на каждом листе по одному, или по
принципу «сколько влезет целых».


2.2.9

Пример внесения
изменений в отчет

Например, необходимо на базе системного отчета
230 WIN Реестр банков
создать
п
ользовательский отчет
и в нем добавить новый столбец с полем.

Для этого необходимо

1.

Зайти в
Справочник банков
(подсистема
Общие справочники)

2.

В реестре банков нажать клавишу
F9

-
появится окно «
Выбор исходной формы




2
-
40


РУКОВОДСТВО ПРОГРАММ
ИСТА



Рис.
40
.
Настройка меню отчетов


3.

Для н
астройки меню отчетов в
окне «
Выбор исходной формы
» нажать комбинацию
клавиш
Shift+F4.
Появится
окно «
Настройка меню отчетов
.




Рис.
41
.
Настройка меню отчетов


4.

В окне «
Настройка меню отчетов
» выбрать отчет
230 WIN Реестр банков
и выбрать
пункт меню

Ре
естр /Породить
(комбинация клавиша
Shift+Ins
). Откроется
окно
«Порождения формы отчета
.



РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
41



Рис. 2.
Порождения отчета


5.

В
поле
Наименования
ввести новое наименование отчета, например
WIN Реестр банков
_новый.
Нажать кнопку
ОК.




Рис.
43
.
Изменение назва
ния отчета


6.

Откроется окно дизайнера отчетов
Tigr
с загруженной формой отчета.

В левой части дизайнера отображается структура отчета.

В правой части дизайнера
отображается сама форма отчета, границы каждой ячейки
отчета выделенные серой/черной линией.

Слев
а
внизу в отдельном окошке


Инспектор

свойств.




Рис. .
Дизайнер отчетов


Для добавления
в отчет нового столбца нужно:


Выделить поля столбика
Реквизиты банка.
Для этого нажать на поле мышью и удерживая
ее левую клавишу отметить весь столбик

в

резуль
тате границы отмеченных ячеек выделяются
красным цветом.



2
-
42


РУКОВОДСТВО ПРОГРАММ
ИСТА



Рис. 5. Выбор столбца для уменьшения ширины



Для изменения ширины столбца на границе крайнего правого столбика курсор мышки
должен стать в виде горизонтальной двусторонней стрел
ки. Проводим уме
ньшение ширины

столбца.




Рис. 6.
Уменьшения ширины столбца


Таким же образом можно уменьшить ширину других столбиков отчета.


Стать на крайнюю праву
ю ячейку самой верхней строки и
выбрать пункт меню
Элемент/Вставить ячейку
. В
результате по правую сторон
у от ячейки, на которой стоял курсор,
п
оявится новая ячейка. Прибавить
новые ячейки для каждой строки отчета.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
43



Рис. 7.
Добавления ячейки



Выделить все
добавленные ячейки и увеличить
их ширину к нужному размеру.




Рис.
48
. Изменение ширины нового стол
бца



Для того чтобы выделить черным цветом границы строк

в

Инспекторе Свойств
в поле

Обрамления
нужно нажать кнопки обрамления ячеек из всех сторон (по левую сторону, сверх
у,
по правую сторону, снизу). В
результате все избранные ячейки выделились черным
цветом.


2
-
44


РУКОВОДСТВО ПРОГРАММ
ИСТА



Рис. 9.
Обрамления столбца



Для создания заглавия столбца нужно стать на
верхнюю крайнюю ячейку. В окне

Инспектора свойств
стать в поле
Содержание
и нажать на кнопку
...
по правую сторону поля.




Рис. 50.
Создания заглавия


Откроется окно
Со
держание.
В окне ввести текст

наименования

столбика,
например,
Филиал,
нажать кнопку
ОК.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
45



Рис. 51.
Текст заглавия


В результате на форме отчета на отмеченной ячейке отобразится введенный текст
.




Рис.
52
.
Окно
Инспектор свойств



Для вывода в полях к
олонки необходимой информации нужно в ячейке ввести тип поля. В
Поле БД). Для примера, выбрать тип
Поле БД.
В поле ячейки отображается
знак @.




Рис.
53
.
Выбор
типа поля



2
-
46


РУКОВОДСТВО ПРОГРАММ
ИСТА



Рис. 5.
Отображения типа поля



Для настройки ячейки в окне Инспектор свойств на
поле Содержание по кнопке
«…»появится окно Свойства поля отчета.




Рис. 55.
Окно
Свойства поля отчета



Нажать кнопку с зеленой точкой в верхней части окна

откроется

окно Выбор поля. Выбрать
поле Шифр отдаленного филиала
и
нажать кнопку ОК.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
47



Рис. 56.
Выбор поля



В результате в окне Свойства поля отчета отображае
тся информация по полю. Далее
нажать
кнопку ОК.




Рис. 57.
Свойства избранного поля



В избранном отчете другие ячейки столбца не заполняются, они созданы для
корректного
отображения отчета.


Для сохранения шаблона необходимо выбрать пункт меню

Шаблон/ Сохранить. Далее
выйти из дизайнера отчетов.


В окне Настройка меню отчетов появился новый шаблон отчета, сохраненный в предыдущем
пункте.



2
-
48


РУКОВОДСТВО ПРОГРАММ
ИСТА



Рис. 58.
Появление нового отчета



Далее настраивает
ся меню отчетов. Созданный отчет с помощью клавиши F5 копируется в
нижнюю часть окна. После выхода из настройки меню отчетов новый отчет отображается в окне
Выбор исходной формы.




Рис. 59.
Выбор отчета



Далее на избранном отчете нажать кнопку ОК

о
тчет

запускается на выполнение.


2.3

Дизайнер отчетов
FastReport


2.3.1

Этапы построения отчета

Выделяют следующие компоненты процесса построения типичного отчета:



РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
49



2.3.1.1.1

Данные

Представляют собой совокупность данных, на основе которых строится отчет. Организация
доступа к
данным из БД осуществляется компонентами
FastReport
без участия программиста.

Кроме данных, хранимых в БД,
FastReport
использует любые источники (массив, файл,
содержимое
StringGrid
и пр.). В этом случае программист сам заботиться о доступе к такой
информ
ации. Для этого используется набор событий, позволяющих осуществить передачу
данных в компоненты
FastReport
.

Кроме доступа к данным, определенным в проекте,
FastReport
позволяет создавать новые
компоненты в реальном времени. В
FastReport
принципы создания
компонентов доступа к
данным максимально приближены к тем, что используются в среде
Delphi
. Так же, как и в
Delphi
,
на форму кладется компонент, и в инспекторе объектов настраиваются его свойства.


2.3.1.1.2

Параметры

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

В
FastReport
есть возможность запроса параметр
ов, если отчет использует данные из
запроса (
Query
). Для диалога с пользователем используется диалоговое окно. Кроме того, для
запроса параметров используется форма, разработанная в среде
Delphi
. Правда, при
необходимости каких
-
либо изменений в логике раб
оты придется перекомпилировать проект.

FastReport
,
помимо этого, позволяет пользователю самому разрабатывать форму диалога.
Процесс напоминает построение формы в среде
Delphi
: имеется набор стандартных элементов
управления, которые располагаются на форме д
иалога и настраиваются их свойства. С помощью
встроенного языка
FastReport
позволяет реализовать необходимую логику работы диалога и
передать введенные значения ядру генератора.

Возможность создания собственных диалогов очень полезна

вкупе

с остальными
в
озможностями (создание источников данных, использование встроенного языка) она позволяет
создавать отчеты, максимально отвязанные от среды
Delphi
. Это позволяет создавать новые
отчеты и модифицировать существующие без переписывания или перекомпиляции проек
та.


2.3.1.1.3

Форма

Форма отчета представляет собой набор элементов, описывающих вид готового отчета. Для
группировки элементов по их расположению в готовом отчете применяются бэнды (англ.
band



полоска
)
. Бэнды разделяются на два вида: служебные (заголовок отчета,
страницы и пр.) и
бэнды, образующие многострочную часть отчета (далее

дата
-
бэнды). Дата
-
бэнды
подключаются к источникам данных, и их содержимое выводится столько раз, сколько имеется
строк данных в источнике.

Для построения формы отчета используется виз
уальная среда разработки

дизайнер
/

Интерфейс дизайнера выполнен на современном уровне с использованием панелей инструментов
(
toolbars
), расположение которых изменяется. Для удобства манипуляции свойствами объектов
отчета используется инспектор объектов,
аналогичный делфийскому.

2.3.1.1.4

Обработка

Под обработкой понимается обработка входных данных, модификация формы отчета или
отдельных ее компонентов в процессе построения отчета. Простейший пример такой обработки


вывод

отрицательных сумм красным цветом. Более сл
ожный пример обработки
-
печать суммы,
которая подсчитывается в подвале группы, в ее заголовке.


2
-
50


РУКОВОДСТВО ПРОГРАММ
ИСТА

Реализовать подобную обработку можно, прибегнув к написанию обработчиков событий
в
Delphi


именно

так и сделано в
FastReport
.
Этот способ не является универсал
ьным, т.к. не
позволяет создавать новые отчеты вне среды
Delphi
без переписывания и перекомпиляции
проекта. Именно поэтому в
FastReport
применен встроенный язык

упрощенный

аналог
Pascal
.
Скрипты, написанные на этом языке, по сути дела, являются обработчи
ками событий,
вызывающимися перед прорисовкой объектов. Это дает возможность выполнять довольно
сложную обработку информации без написания кода в
Delphi
, и, соответственно, без жесткой
привязки отчета к проекту.

Возможности встроенного языка
FastReport
дов
ольно широки. Из скрипта доступны все
свойства и методы объектов отчета, а также переменные, поля таблиц БД. В скрипте создаются
переменные и массивы, которые доступны во всем отчете. О возможностях встроенного языка
говорит тот факт, что такая довольно сл
ожная задача, как печать сумм группы в ее заголовке
(сама сумма считается в подвале группы) средствами языка
FastReport

делается просто.


2.3.1.1.5

Готовый отчет

Готовый отчет представляет собой продукт деятельности ядра
FastReport


то
,
что
пользователь видит при н
ажатии кнопки
Предварительный просмотр
. В отличие от многих
генераторов отчетов, которые хранят содержимое страниц отчета в виде метафайла (т.е.
изображения в формате
EMF
), в
FastReport
готовый отчет представлен набором объектов,
описывающих содержимое каж
дой страницы отчета. Это позволяет модифицировать готовый
отчет, загружая нужную страницу в дизайнер. Кроме того, можно описывать реакцию на щелчок
мыши на необходимом объекте в режиме предварительного просмотра отчета. Это позволяет
легко организовать раб
оту приложения, при которой щелчок на объекте отчета вызывает
генерацию нового отчета с более детальными сведениями по выбранному объекту.

Окно предварительного просмотра
FastReport
отличается от используемых в других
генераторах. В частности, в
FastReport
используется схема просмотра документа и навигации,
принятая в
Microsoft

Word
: в окне можно видеть сразу несколько страниц. Кроме того,
реализована возможность поиска текста во всем документе.


2.3.1.2

Построение отчетов

Для создания отчета предназначен компонент

TfrReport

из палитры компонентов
FastReport
. Это основной компонент, позволяющий загружать и сохранять отчеты, выполнять
построение отчета, его печать и предварительный просмотр. Двойной щелчок мышью на
компоненте вызывает дизайнер отчета.

Подавляющее б
ольшинство отчетов содержит информацию, хранящуюся в таблицах баз
данных. Для доступа к таким данным
FastReport
использует стандартные делфийские
компоненты доступа к БД


TTable

или
T
Q
uery

. В этих целях используютс
я любые
компоненты

наследники
TData
S
e
t.

Для представления многострочной части отчета (т.е. данных из нескольких записей
таблицы БД, к примеру) предназначены бэнды (band

полоса (англ.)). Бэнды в
FastReport
(да и
в любом другом бэнд
-
ориентированном генер
аторе отчетов) подразделяются на две категории:
дата
-
бэнды, которые собственно образуют многострочную часть отчета, и служебные бэнды
(заголовок отчета, заголовок страницы и пр.). Для дата
-
бэнда необходимо назначать источник
данных. В качестве такого источ
ника выступают компоненты
TfrDBDatase
t
и
TfrUserDataset

из палитры компонентов
FastReport
. Компонент
TfrDBDataset
является
переходником для подключения к
TDataSet.
Компонент
TfrUserDataset
предназначен для
навигации по пользовательскому набору данных,
в роли которого может выступать массив,
содержимое StringGrid и пр.

Таким образом, перед построением отчета необходимо:

а) поместить на форму компонент
TfrReport

;


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
51

б) поместить компоненты доступа к данным
T
T
able
,
TQue
ry

или им подобные,
если отчет использует данные из БД;

в) для каждого дата
-
бэнда, который используется в отчете, необходимо создать
соответствующий источник данных (
TfrDBDataset

или
TfrUserDataset

) и настроить ег
о
свойства.

Секции в
FastReport

В
FastReport

имеется 22 бэнда.

Схема, принятая в
FastReport
, позволяет в большинстве случаев обходиться без
вложенных отчетов. Для организации многоуровневых списков имеется три бэнда:
Master

data
,
Detail

data
и
Subdetail

d
ata
. Кроме того, каждый из этих бэндов имеет заголовок (
header
) и
подвал (
footer
). Каждому дата
-
бэнду назначается источник данных, сам же отчет не имеет
источника. Это дает возможность строить списки с тройной вложенностью, если необходимо
больше
-
применя
ется вложенный отчет.

Индивидуальное назначение источников данных дата
-
бэндам дает возможность
размещать на одной странице отчета несколько однотипных бэндов, и, как следствие, строить
отчеты типа
master
-
detail
-
detail
,
master
-
master
и им подобные, без каки
х
-
либо ухищрений.

Примененная в
FastReport
схема дает большую гибкость при построении отчетов. Кроме
того,
FastReport
также позволяет назначать объекту
отчет
источник данных. Для этого у
объекта
TfrRepor
t
имеются соответствующие свойства:
ReportType
(
rtSim
ple
,
rtMultiple
) и
DataSet
:
TfrDataSet
. Если свойство
ReportType
=
rtSimple
(по умолчанию), то бэнду
master

data

можно не назначать источник данных

он будет взят из свойства
DataSet
объекта
TfrReport
. В
противном случае (
ReportType
=
rtMultiple
) отчет бу
дет последовательно построен столько раз,
сколько записей в наборе данных, подключенных к свойству
DataSet
. Это удобно использовать
для печати нескольких копий отчета, если необходимо каким
-
либо образом помечать копии
(например, на первой копии вывести над
пись
Основная
, на остальных


Для ознакомления
).


2.3.1.2.1

Отчет с одним уровнем данных (список)

Это самый простой вид отчета. Для его создания необходимо разместить на листе бэнд
master data и поместить в него объекты со ссылками на необходимые данные. Бэнд необхо
димо
подключить к источнику данных
TfrxxxDataset.


2.3.1.2.2

Отчет с двумя уровнями

Для построения этого отчета необходимо разместить на листе бэнды
master data
и
detail
data
, затем поместить в них объекты со ссылками на необходимые данные. Следует отметить,
что таб
лицы (или запросы), на которых строится такой отчет, должны быть связаны отношением
master
-
detail
.

Порядок, в котором бэнды размещаются на листе, не имеет значения

сначала

будет
напечатана строка из
master
, потом соответствующие ей строки из
detail.
Отче
т формируется до
тех пор, пока есть данные для
master
. Если необходимо, чтобы
master
с его подчиненным
списком печатался с нового листа, для бэнда отметку
Формировать новую страницу

(
FormNewPage
). У отчета есть особенность
-
если для текущей строки из
mast
er
устанавливается
список
detail
пуст, строка
master
печататься не будет. Если все же необходимо распечатать
такие строки, для бэнда
master data
необходимо установить отметку
Печатать
, если detail пуст
(
PrintIfSubsetEmpty
).


2.3.1.2.3

Отчет с тремя уровнями

Для пост
роения отчета размещаются на листе
бэнды master data
,
detail data
и
subdetail
data
. В остальном принципы построения такие же, как и для отчета с двумя уровнями
детализации.


2.3.1.2.4

Cross
-
tab
отчет


2
-
52


РУКОВОДСТВО ПРОГРАММ
ИСТА

Этот вид отчета предназначен для печати таблицы, число столбцов ко
торой на этапе
построения отчета неизвестно. При формировании отчета столбцы, не поместившиеся на
странице, переносятся на следующую. Для построения этого отчета на странице размещаются
бэнд
master data
и бэнд
cross data
. Бэнды crossXXX размещаются на стра
нице вертикально. На
пересечении бэндов помещается объект, который будет отображаться в качестве ячейки
таблицы. Необходимо поместить объект таким образом, чтобы он полностью помещался в
гран
ицы области пересечения бэндов.

Это все, что необходимо для постр
оения базового отчета. Осталось назначить источники
данных для
master data
и
cross data
. Если бэнд
cross data
пересекает несколько обычных
бэндов, то необходимо назначить источники данных для каждого из бэндов. Для построения
cross
-
tab
отчета необходимо ка
к минимум два набора данных, связанных между собой
отношением
master
-
detail
.

Отчет этого типа имеет переменную высоту строки данных. Для этого необходимо
установить отметку растягиваемый у бэнда
master data
. При этом формирование кросс
-
таблицы
будет происх
одить в два прохода: на первом проходе определяется максимальная высота строки,
на втором выполняется вывод данных.


2.3.1.2.5

Динамические отчеты

В динамических отчетах высота бэндов зависит от высоты находящихся в них объектов.
Объекты, которые растягиваются в зав
исимости от количества имеющегося в них текста,
являются объекты
Текст
,
Текст с тенью
и
RichText
.

Чтобы сделать объект растягиваемым, необходимо включить ее отметку
Растягиваемый

(
Stretched
).
Кроме того, эта же отметка включается у бэнда, на котором распол
ожен объект.
При
печати растягиваемого бэнда
FastReport

считает максимальную высоту объектов, находящихся
на бэнде, и устанавливает высоту бэнда равной максимальной высоте объектов.

Если на бэнде несколько растягиваемых объектов, расположенных рядом, то пр
и
растягивании нижние границы всех объектов (независимо от их актуальной высоты) совпадают с
нижней границей бэнда:

Если растягиваемые объекты необходимо поместить друг под другом, либо под
растягиваемым объектом поместить не растягиваемый, то применяется
бэнд
Child
. Объекты,
находящиеся друг под другом, один или несколько из которых растягиваемые, необходимо
разнести по разным бэндам:

При этом всем
Child


бэндам

необходимо также установить отметку
Растягиваемый
.
Для связывания бэндов служит свойство
Child
Band
в инспекторе объектов. В вышеприведенном
примере необходимо связать
Master

data
с
Child
1
и
Child
1
с
Child
2
.

Все объекты
FastReport
имеют рамку. С помощью рамок отчету придается табличный
вид. При растягивании объекта рамка растягивается вместе с ни
м.



2.3.1.2.6

Разрываемые бэнды

При печати бэнда
FastReport
проверяет наличие свободного места на странице, и, если
оно меньше необходимого, формирует новую страницу и печатает бэнд на ней. При этом место
на странице расходуется неэкономно, особенно в случаях, когд
а высота бэнда достаточно
большая:

Для того чтобы вывести на листе столько строк текста, сколько помещается, бэнду
необходимо установить отметку
Растягиваемый
и отметку
Разрываемый
(
Breaked
). Если отчет
многоколоночный, то содержимое объектов будет перенос
иться на следующую колонку:

Разрывают содержимое объекты
Текст
,
Текст с тенью
и
RichText
. Все остальные
объекты выводятся на той странице, где для этого достаточно свободного места.


2.3.1.2.7

Многоколоночный отчет

Если в обычном отчете при достижении конца страницы
формирование продолжается с
нового листа, то в многоколоночном

на

том же листе, но рядом, т.е. в несколько смежно


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
53

расположенных колонок. Количество колонок задается в опциях страницы. Обычный отчет
превращается в многоколоночный, если задать количество
колонок в опциях страницы. Бэнды
column header
и
column footer
позволяют снабдить каждую колонку заголовком и нижней
частью.

Количество колонок задается и отдельно для каждого дата
-
бэнда. Если установить
свойство Columns > 1 у бэнда, то вывод строк
данных
происходит слева направо и сверху вниз.
Можно также указать ширину колонки и промежуток между колонками. Бэнд отображает
текущие установки в дизайнере штриховыми линиями.


2.3.1.2.8

Отчет с титульным листом

FastReport
позволяет легко делать многостраничные отчеты (н
апример, первая страница

титульный

лист, все остальное

прочая

информация). Для того, чтобы создать/удалить лист,
используются кнопки на панели инструментов либо контекстное меню, появляющееся при
нажатии правой кнопки мыши на закладке страницы.

По сути
, многостраничный отчет представляет собой несколько отчетов в одном. На
каждой странице установлена отметка
Печать на предыдущем листе
(свойство
PrintToPrevPage

в инспекторе).


2.3.1.2.9

Вложенный отчет

Вложенный отчет


это

отчет с размещенным на нем объектом
SubR
eport
, который
представляет собой ссылку на другой отчет, расположенный на отдельной странице. При
формировании такого отчета вместо объекта
SubReport
будет выведен соответствующий отчет.
При вставке объекта в отчет автоматически добавл
яется новая страница с названием
SubReport

xx
.

Объекты
SubReport
располагаются на листе друг под другом или рядом и разносятся по
разным бэндам (например, первый отчет
-
в бэнде
m
aster data
, второй
-
в бэнде
child
)
.

На использование
SubReports
накладывают
ся следующие ограничения:



нельзя использовать колонки;



во вложенных отчетах (не в основном!) игнорируются бэнды
ReportTitle
,
ReportSummary
,
PageHeader
,
PageFooter
,
ColumnXXX
;



нельзя использовать разрываемые бэнды;



нельзя использовать группы.


2.3.1.2.10

Master
-
Detail
-
Detail отчет

Для построения этого отчета разместите на листе бэнд master data и два бэнда
detail data
.
Для бэндов
detail data
назначьте соответствующие источники данных.

Так строятся отчеты типа
Master
-
Master
,
Master
-
Detail
-
SubDetail
-
SubDetail
. Отчеты
тип
а
Master
-
Detail
-
Master
-
Detail
строить таким способом нельзя
-
необходимо разнести разные
master
-
detail
по отдельным страницам (см. отчет с титульным листом). Количество одинаковых
дата
-
бэндов на листе до 32.


2.3.1.2.11

Композитный (составной) отчет

Композитный отчет
позволяет получить отчет, состоящий из нескольких других. Для
этого размещают на форме компонент
TfrCompositeReport

, и программным путем
заполняется его свойство Reports ссылками на отчеты, которые необходимо объединить в один.
Отчеты формируются по пор
ядку, если страница отдельного отчета имеет установленную
отметку
Печать
на предыдущем листе, то она печатается, начиная со свободного места на
последнем листе предыдущего отчета.


2.3.1.2.12

Отчет с
BLOb
-
полями

Если в объекте необходимо отобразить информацию из Blob
-
поля (мемо, картинка, OLE и
пр.), в мемо объекта вставляется переменная, которая ссылается на соответствующее поле из БД

2
-
54


РУКОВОДСТВО ПРОГРАММ
ИСТА

либо название самого поля, например: [Table1.BlobFld]. Эту же операция выполняется и в
инспекторе объектов, заполнив свойство объекта
DataField
.

Если необходимо отобразить аналогичную информацию, но из другого источника, то эту
операцию следует выполнять программно в обработчике события On
BeforePrint
.


2.3.1.2.13

Отчет без бэндов

Часто бывает необходимо отобразить данные только из одной записи БД,
разместив их на
бланке. Пример

платежное

поручение. В этом случае отчет может не содержать бэндов.
Объекты, расположенные непосредственно на листе, при печати выведутся на своих местах.


2.3.1.2.14

Отчет с группами

Группы применяются для группировки строк данных с
использованием некоторого
критерия. В качестве критерия обычно выступает выражение, основанное на полях из набора
данных. При формировании отчета
FastReport
следит за значением критерия, и, как только оно
изменится, формирует новую группу.

Для построения о
тчета на листе размещаются бэнды
g
roup header
и
m
aster data.

Назначается источник данных для
m
aster data
, затем в редакторе бэнда
g
roup header

указывается условие группировки. Например, чтобы распечатать список сотрудников в
группированном виде (группировк
а по первой букве фамилии), необходимо указать примерно
такое условие группировки: Copy([Фамилия], 1, 1). При изменении этого условия сформируется
новая группа.

На использование групп накладываются следующие ограничения:



нельзя применять группы во вложенны
х отчетах;



группа выступает только в роли списка 1
-
го уровня, т.е. сначала идет группа, затем

master
,
detail и т.п.

Для правильной работы групп исходный набор данных должен быть уже отсортирован по
условию группировки. Сортировку можно осуществить, приме
няя запрос (Query) с выражением
ORDER BY
.


2.3.1.2.15

Отчет с диаграммами

Предположим, имеется отчет вида Клиент
-
сумма заказа:

Action Club


$1000

Action Diver Supply

$12000

Adventure Undersea

$5000

Для построения диаграммы по этим данным необходимо разместить объек
т
Диаграмма
в
бэнде
r
eport
summary
(или любом другом, который печатается после вывода всех необходимых
данных). В редакторе объекта необходимо выбрать тип диаграммы (один из шести возможных
-

линии, точки, столбцы горизонтальные и вертикальные, области и к
руговые диаграммы). Для
связывания диаграммы с данными необходимо указать имена объектов, которые содержат эти
данные (в нашем случае это объект, содержащий строку наименования клиента и объект с
суммой). Имя объекта отражается в
Object inspector
.


2.3.1.3

Дизайне
р

2.3.1.3.1

Клавиши управления



Стрелки
-
перемещение по объектам.



Ctrl+Стрелки

плавное

перемещение выделенного объекта (объектов).



Shift+Стрелки

уменьшение
/
увеличение размеров объекта.



Alt+Стрелки

склеивание

объекта с ближайшим в выбранном направлении.



Enter

вызов

редактора объекта.



Del
ete


удаление

объекта.



Insert


показывает

диалог вставки поля БД в отчет;



Ctrl+Enter

вызов

редактора мемо.



Ctrl+1.
.
.9


установка

толщины рамки объекта.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
55



Ctrl+Z

отменить

последнее действие. Число уровней отката
-
до 100.



C
trl+Y

повторить

отмененное действие.



Ctrl+G

показать

сетку.



Ctrl+B
,
Ctrl
+
I
,
Ctrl
+
U


управление

стилем шрифта

аналоги

кнопок
Ж
,
К
,
Ч
на
панели текста.



Ctrl+F

обрамить

выделенный объект (объекты).



Ctrl+D

снять

обрамление с объекта.



Ctrl+X

выреза
ть

в буфер.



Ctrl+V

вставить

из буфера.



Ctrl+C

копировать

в буфер.



Ctrl+A

выделить

все объекты на листе.



Ctrl+N

новый

отчет.



Ctrl+O

открыть

файл с отчетом.



Ctrl+S

сохранить

отчет в файле.



Ctrl+P

предварительный

просмотр отчета.


2.3.1.3.2

Управление мыш
ью



Левая кнопка

выбор

объекта; вставка нового объекта; перемещение и изменение
размеров объекта (объектов).



Правая кнопка

контекстное

меню объекта (объектов), над которым находится
указатель мыши.



Двойной щелчок левой кнопкой


вызов

редактора объекта.
Если двойной щелчок
сделать на пустом месте листа, то вызывается диалоговое окно Параметры страницы.



Shift+левая кнопка

если

объект выделен, то снимает с него выделение, иначе
объект выделяется. Выделение остальных объектов не изменяется.



Ctrl+левая кно
пка


при

нажатии и перемещении мыши рисуется рамка; после
отпускания кнопки мыши выделяются все объекты, попавшие в рамку. Такого же эффекта
можно добиться, если щелкнуть левой кнопкой мыши на пустом месте листа, и, не отпуская
кнопки, потянуть мышь до не
обходимой позиции.



При перемещении бэнда его объекты перемещаются вместе с ним. Если это
нежелательно, то перемещение следует выполнять при нажатой клавише
Alt
.



Масштаб выделенных объектов изменяется, потянув мышкой за красный квадратик
на нижнем правом уг
лу группы выделенных объектов.



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


2.3.1.3.3

Параме
тры отчета

Окно с параметрами отчета доступно из меню
Файл
/
Параметры отчета...

В списке принтеров имеется
Виртуальный принтер
. Он необходим в случае, если в
системе нет установленных принтеров. При этом дизайнер и предварительный просмотр отчета
функцион
ируют нормально. Выбирается любой из форматов бумаги, поддерживаемой
Windows

(вплоть до формата
A
2
), устанавливается ориентация листа бумаги. Т.е. виртуальный принтер
эмулирует функции реального принтера (разумеется, на нем нельзя печатать)

Другой случай,
когда необходимо использовать виртуальный принтер

разрабатывается

форма отчета для принтера с форматом бумаги
А3
, а самого принтера нет (он есть у заказчика). В
этом случае выбор виртуального принтера снимает проблему.

Отметка
Выбирать при открытии отчет
а
позволяет привязать отчет к одному из
принтеров, установленных в системе. Это значит, что при открытии такого отчета,
формирование отчета осуществляется в два этапа. На первом проходе отчет формируется,
осуществляется его разбивка на страницы, но результ
ат нигде не сохраняется. На втором проходе
происходит обычное формирование отчета с сохранением результата в потоке.


2
-
56


РУКОВОДСТВО ПРОГРАММ
ИСТА

Для чего же необходимо делать два прохода? Наиболее часто эта используется, если в
отчете имеется упоминание об общем количестве страниц в
нем, т.е. информация вида Страница
1 из 15. Общее количество страниц подсчитывается на первом проходе и доступно через
системную переменную
TOTALPAGES
. Наиболее частая ошибка

попытка

применить эту
переменную в однопроходном отчете, в этом случае она возв
ращает 0.

Другая область применения

выполнение

каких
-
либо вычислений на первом проходе и
отображение результатов на втором. Например, в случае, когда необходимо отобразить в
заголовке группы сумму, которая обычно подсчитывается и отображается в подвале г
руппы.
Такого рода вычисления связаны с использованием встроенного языка
FastReport
.


2.3.1.3.4

Параметры страницы

Окно с параметрами страницы доступно по пункту меню
Файл
/
Параметры страницы...

либо при двойном щелчке левой кнопкой мыши на свободном месте листа от
чета. Окно
представляет собой блокнот с четырьмя закладками:
Бумага
,
Источник
,
Поля
и
Параметры
.

Закладка Бумага

Поля ввода ширины и высоты становятся доступными, если из списка Размер выбран
пункт
Размеры,
определяемые пользователем. Не все драйверы принт
еров поддерживают
пользовательский размер бумаги. Кроме того, не все принтеры поддерживают произвольные
пользовательские размеры (например, драйвер принтера HP LaserJet 6L не дает устанавливать
размеры листа меньше чем 76 * 127мм).

Закладка Источник

Выбира
ется источник бумаги по умолчанию.

Закладка Поля

Задаются размеры отступа от краев листа, а также отметка
Растянуть на область
печати
.

Возможны два варианта страницы в дизайнере: с полями печати и без них. Если поля
печати включены (по умолчанию), то они о
тображаются в дизайнере и все, что находится вне
полей, на печать не выводится. Это позволяет добиться максимального соответствия между
видом страницы в дизайнере и на бумаге. Координаты объектов исчисляются от верхнего левого
угла листа.

Но при переходе н
а другой принтер из
-
за изменившихся границ печати некоторые объекты
могут вылезти за пределы полей и не будут напечатаны. Если установить отметку
Растянуть на
область печати
, то предполагается, что страница в дизайнере соответствует области печати, т.е.
вс
е, что находится на странице, корректно печатается на любом принтере. Координаты объектов
в этом случае исчисляются от верхнего левого угла области печати. Правда, при этом вид
страницы в дизайнере немного отличаются от распечатанного документа.

Если поля
страницы нулевые, то при построении отчета используется информация о полях,
предоставляемая драйвером принтера. Если используется матричный принтер, то во многих
матричных принтерах одно или несколько полей имеет нулевой размер, в связи с чем при
формирова
нии отчета и при его распечатке возникает ситуация, когда текст выходит за границы
листа. Чтобы избежать этого, необходимо явно задать поля станицы либо устанавливается
отметка
Растянуть на область печати
.

Следует отметить, что на формирование отчета при в
ключенных полях страницы оказывает
непосредственное влияние только установка значений для верхнего и нижнего полей. Левое же и
правое поля действуют только для
Cross
-
tab
отчетов.

Закладка Параметры

На этой закладке указывается количество колонок для печати
многоколоночных отчетов.
Текущие установки отображаются в дизайнере.

Отметка
Печатать на предыдущем листе
позволяет начать печать страницы, начиная со
свободного места на предыдущем листе. Эта опция используется в случае, если шаблон отчета
состоит из нес
кольких листов либо при печати составных (
composite
) отчетов.


2.3.1.3.5

Опции дизайнера


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
57

Для установки опций дизайнера, используется пункт меню
Сервис
/
Опции...

Здесь задаются используемые единицы измерения (пикселы, миллиметры, дюймы).
Указывается шаг сетки в точк
ах (шаг сетки 18 точек точно соответствует 5мм. Это полезно в
случаях, когда необходимо сделать бланк, размеры которого кратны 5мм. Например, платежное
поручение делается таким образом за 10 минут).

Также можно указать способ прорисовки объектов при их пер
емещении (или изменения
размеров).

Отметка
Расположение страницы
позволяет выбрать расположение страницы. Это
необходимо, если на экране присутствует инспектор объектов: для задания взаимного
расположения страницы и инспектора.

Если отметка
Цветные кнопки

не установлена, то все кнопки становятся черно
-
белыми;
при наведении указателя мыши на кнопку она показывается в цвете.

Отметка
Показывать заголовки бэндов
позволяет отключать заголовки у бэндов в целях
экономии свободного места на странице.

Отметка
Редакт
ирование
после вставки управляет процессом вставки новых объектов.
Если отметка установлена, каждый раз при вставке объекта будет показываться его редактор.
При вставке большого количества пустых объектов опцию лучше отключать.

На закладке
Редактор
настраи
вается шрифт для окна редактора текста. При включенной
опции
Использовать установки шрифта объекта
шрифт в окне редактора текста соответствует
шрифту редактируемого объекта.



2.3.1.3.6

Инспектор объектов

Инспектор позволяет манипулировать всеми свойствами выбранных
объектов.

Окно инспектора похоже на
Object Inspector
в Delphi и функционирует аналогичным
образом. Так же, как и остальные панели инструментов, его можно показать или скрыть
соответствующей командой меню
Сервис/Панели инструментов
. Показать окно можно та
кже
при нажатии на клавишу
F
11
. Двойной щелчок на заголовке окна инспектора сворачивает окно в
полоску, еще один двойной щелчок
-
восстанавливает исходные размеры.


2.3.1.3.7

Диалог вставки полей БД в отчет

Этот диалог позволяет быстро вставить поле БД в отчет. Он в
ызывается по пункту меню
Сервис
/
Панели инструментов
/
Вставка поля БД
или при нажатии клавиши
Ins
.

Окно содержит два списка: список таблиц (запросов) в верхней части окна и список полей
внизу. Вставка поля осуществляется методом
drag
&
drop
(перетащил и бр
осил). Для этого
необходимо выделить мышкой необходимое поле из списка внизу и, не отпуская кнопки мыши,
перенести его на страницу отчета. При отпускании кнопки мыши на странице появится новый
объект
Текст со ссылкой
на выбранное поле БД.

Если диалог испол
ьзуется часто, его удобно разместить под инспектором объектов или
над ним. В этом случае двойной щелчок на заголовке окна диалога свернет окно в полоску и
развернет окно инспектора; еще один двойной щелчок восстановит исходные размеры окна и
уменьшит окно
инспектора.


2.3.1.3.8

Словарь данных

Окно словаря данных (
Data

dictionary
) доступно из меню
Файл
/
Словарь данных...
Окно
представляет собой блокнот с тремя закладками:
Переменные
,
Данные из БД
и
Источники
данных для бэндов
. Словарь данных хранится в файле вместе с
формой отчета, но есть
возможность хранить его в отдельном файле с расширением
FRD
и считывать при
необходимости в существующий отчет. Для этого используется пункт меню дизайнера
Файл
/
Открыть
и
Файл
/
Сохранить как...
и в стандартных диалогах открытия и
ли сохранения файла
выбирается тип файла


Словарь

данных

FastReport
.

Закладка Переменные

Эта закладка предназначена для работы со списком переменных.


2
-
58


РУКОВОДСТВО ПРОГРАММ
ИСТА

Список переменных расположен в левой части окна. Структура списка двухуровневая: он
состоит из категорий,
в каждой категории может быть одна или несколько переменных.
Категории необходимы только для визуальной группировки переменных и в отчет не
вставляются.

При создании нового отчета список пуст, и чтобы заполнить его, используются кнопки
под списком:


добавляет

новую категорию и


добавляет новую переменную к т
екущей
категории. Эти действия
также выполняются с клавиатуры: клавиша
Ins
добавляет новую
переменную, комбинация клавиш
Ctrl
+
Ins
добавляет новую категорию. Наз
начение остальных
кнопок следующее: кнопка
редактирует название переменной или категории (клавиатурный
аналог

клавиша

Enter
), кнопка
удаляет переменную или категорию (клавиатурный аналог


клавиша

Del
). Кнопка
вызывает редактор списка переменных, где они представлены в виде
списка строк. Здесь делается массовая вставка переменных из буфера обмена, переносятся
переменные из одной категории в другую.

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

В списке справа показаны все источники данных (т.е. невизуальные dbaware
-
компоненты,
на
следники
TDataSet
), которые доступны в данный момент, и имена их полей. В design
-
time
доступны все датасеты, находящиеся в открытых модулях (units). В run
-
time доступны все
датасеты, находящиеся в созданных формах или модулях данных (
TDataModule
). Кроме т
ого,
если выбрать из выпадающего списка справа значение Системные переменные, то появится
возможность сопоставить переменной одно из следующих значений:



страница

номер

текущей страницы, соответствует функции
Page#
(см. описание
встроенных функций);



дата

дата

начала формирования отчета, соответствует
Date
;



время


время

начала формирования отчета, соответствует
Time
;



Строка, LineThrough#, Колонка,
CurrentLine
#, Всего страниц

см
.
описание
встроенных функций.

Переменной также сопоставляется. Для визуальн
ого построения выражения используется
кнопка
:

Закладка Данные из БД

На этой закладке в левой части представлен список всех доступных наборов данных


таблиц
,
запросов, имеющихся на всех формах проекта.

Назначение этого диалога простое: исключить не необх
одимые данные из списка и дать
им более полные названия (псевдонимы). Это необходимо потому, что отчет, как правило,
содержит данные всего лишь из одного
-
двух запросов или таблиц.
FastReport

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

Чтобы использовать набор данных, необходимо перенести его из левого списка в правый.
Сделать это можно либо с помощью оперции
drag
&
drop
, либо
двойным щелчком мыши на
необходимом наборе данных, либо воспользовавшись кнопками в средней части окна.

Для исключения поля из списка выбирается необходимый набор данных и его поле и
устанавливается отметка
Исключить поле из списка
. Повторное нажатие восст
анавливает
вхождение поля в список. Команда также доступна по клавише
Пробел
.

Для задания псевдонима выберите необходимый элемент и в строке Псевдоним укажите
новое название. Если псевдоним не нужен, сотрите содержимое строки. Команда также доступна
по кла
више
Enter
.

Закладка Источники данных для бэндов

На этой закладке представлен список всех доступных источников данных для бэндов


компонентов

TfrDBDataSet
,
TfrUserDataSet
, имеющихся на всех формах проекта. Так же, как и

РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
59

в предыдущем диалоге, здесь можно д
авать элементам более осмысленные имена (псевдонимы).
Результат можно увидеть в диалоге выбора источника данных для дата
-
бэнда.


2.3.1.3.9

Конструктор выражений

Окно конструктора выражений вызывается из редактора текста по кнопке
на панели
инстру
ментов. Оно также доступно из некоторых диалоговых окон, в которых требуется задать
некоторое выражение (например, в редакторе условия группировки бэнда
group

header
).

Окно содержит поле ввода выражения и кнопки вызова диалогов вставки переменных,
полей БД
, функций, а также кнопки быстрой вставки знаков арифметических и логических
операций.


2.3.1.3.10

Диалог вставки поля БД

Диалог позволяет выбрать поле БД для вставки в выражение. Слева размещен список всех
доступных таблиц БД, справа

список полей в выбранной табли
це. Для вставки поля в
выражение необходимо выбрать поле и нажать кнопку
ОК
, либо сделать на поле двойной
щелчок мышью.


2.3.1.3.11

Диалог вставки переменной

Диалог позволяет выбрать переменную для вставки в выражение. Слева размещен список
категорий, справа

список
переменных в выбранной категории. Для вставки переменной в
выражение необходимо выбрать переменную и нажать кнопку
ОК
, либо сделать на ней двойной
щелчок мышью.


2.3.1.3.12

Диалог вставки функции

В этом диалоге можно выбрать функцию для вставки в выражение. При выбо
ре функции
в нижней части окна отображается краткое описание функции и списка ее аргументов. Если
функция имеет аргументы, то при нажатии на кнопку
ОК
будет предложено заполнить их.


2.3.1.4

Пример внесения изменений в отчет

Например, нужно внести изменения в отче
т № 1807 «Дни рождения»

прибавить
к
данным посада работника.

1.

Заходим в модуль «
Личные карточки
». Выбираем пункт меню
Реестр/Печать
(клавиши
F9
). На экране открывается окно „
Выбор исходной формы
.

2.

В окне „
Выбор исходной формы
” выбираем пункт меню
Реестр /
Меню
…(комбинация
клавиш
Shift+F9
).

3.

В окне

Настройка меню отчетов
» находи
м соответствующую форму отчета
№ 1807

Дни рождения
:



2
-
60


РУКОВОДСТВО ПРОГРАММ
ИСТА



Рис.
60
.
Настройка меню отчетов


4.

Н
еобходимо
установить курсо
р на отчет и выбрать пункт меню

Реестр / Породить

(комбинация кл
авиша
Shift+Ins
).

5.

В окне «
Порождения формы отчета
» внести наименование нового отчета, после чего
нажать кнопку «
ОК
.

6.

На экране разворачивается окно редактирования отчета:




Рис.
61
.
Закладка „
Page1




РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
61

7.

Отчет формата
-
FR состоит из нескольких страниц:

-

стран
ица с программным кодом (на рис. закладка „
Код
);

-

страница с деталями (memo
-
поля), которые печатаются (на рис. закладка „
Page1
);

-

страница, которая содержит окно запуска отчета и SQL
-
запрос, который заполняет детали
структуры (на рис. закладка „
Page2
);

8.

П
ереходим на закладку „
Page2
на запрос Query1 (в нижней части окна) и раскрываем его
для редактирования нажатием клавиши
Enter.
Открывается редактор SQL
-
запросов.







Рис.
62
.
Закладка „
Page2



9.

В SQL
-
запросе не хватает поля с наименованием должности, по
этому дополняем
перечень полей (группа
SELECT
) запроса, текстом «
DOL.SPRD_NMFULL». Имя поля
,
которое необходимо прибавить определяется
из базы данных (
Карты данных


лектронное описание базы данных
) или описание базы в документе
Руководство
программиста
).

10.

Сохраняем изменения запроса, нажимая на кнопку «
ОК
» (она имеет форму зеленой
галочки в верхнем левом углу окна редактирования SQL
-
запроса).

11.

Переходим на закладку „
Page1
” в центральную часть окна. В
строке
MasterDate1
в поле
[Query1."SPRPDR_NM"]
нажимаем кл
авишу
Enter
для его редактирования
.
Открывается окно


Редактор текста
.

12.

В окне «
Редактор текста
» ставим курсор на перв
ую позицию. Нажимаем на кнопку

Вставить выражение
». Из списка выражений выбираем поле
SPRD_NMFULL
и
дважды нажимаем на нем мышью. Нажима
ем «
ОК»
. Сохраняем изменения в окне

Вставить выражение
», нажимая на кнопку «
ОК»
(она имеет форму зеленой галочки в
верхнем левом углу окна редактирования).


2
-
62


РУКОВОДСТВО ПРОГРАММ
ИСТА

13.

При необходимости в строке
PageHeader1
можно изменить название столбца, в котором
прибавляли поле.
Например, изменяем название
Подразделение
на
Подразделение и
должность.

14.

Сохраняем изменения в отчете «
Сохранить
» (комбинация клавиша
Ctrl+S
или
нажать на
рисунок с дискетой).

15.

Копируем отчет в меню отчетов (
Реестр/ Копировать F5
).

16.

Отчет готовый к выполнению
.


2.3.1.5

Каталог USER_DATA

В отчетах
FastReport
, написанных на языке
Pascal
, реализована возможность использования
директивы
Uses
, которая позволяет подключение к программе отчёта внешних модулей,
представляющих собой текстовые файлы с процедурами и функциями на
языке
Pascal
. Это
позволяет оформлять часто используемые процедуры и функции в отдельные библиотеки.

Поиск подключаемых файлов по умолчанию будет производиться в подкаталоге
UNITS
,
каталога
USER
_
DATA
серверной части ИС
-
ПРО.

Каталог
USER
_
DATA
со всем содер
жимым включается в резервную копию
.


Пример подключаемого модуля
myUnit
.
pas
:


procedure s_Hello;

begin

ShowMessage('Hello from MyUnit.pas');

end;

begin

end.


2.4

Экспорт внешней отчетности.

2.4.1

Общие сведения

Для экспорта отчетов, построенных при помощи WIN дизайн
ера необходимо составить
программы, которые запускаются при формировании фрагментов отчёта.

Программы для
WIN
отчетов составляются на языке PascalScript. Такой же язык
используется в генераторе отчётов FastReport.

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


Общие правила построения программы
:



В начале, при инициализации экспорта, вызывается функция MNSOpen, для
инициализации файла электронного документа.



Затем формируется
заголовок файла в соответствии с требованиями ФНС России.



В процессе выдачи детальных строк должно быть сформировано содержимое формы
документа.



В конце экспорта нужно сформировать конец фрагмента формы, конец файла и вызвать
функцию MNSClose, которая зав
ершит сеанс работы с файлом электронного документа.



Программы формирования файла экспорта привязываются к детальным фрагментам
отчёта. Могут быть использованы любые фрагменты (заголовки, детальные, итоги).


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
63

2.4.2

Перечень доступных констант, функций и процедур

2.4.2.1

Ко
нстанты

Константы режимов открытия файла


MNSOMAPPEND
:
BYTE
= $01;

Дописать в конец файла, если существует.

MNSOMCREATE
:
BYTE
= $00;

Перезаписать файл, если существует.

MNSOMDIALOG
:
BYTE
= $10;

Выдать диалог выбора файла.


Константы разделителей групп


MNSDLMBLOCK
:
STRING
= '###';

Конец блока.

MNSDLMFILE
: STRING = '===';

Признак конца файла.

MNSDLMPART
: STRING = '@@@';

Конец

фрагмента
.


2.4.2.2

Функции и процедуры

(NAM : STRING):STRIN
G;

DOCGETSTR('''');

Получить строковое значение поля из документ
а.


MNSCLOSE
;

Закрыть текущий открытый файл.


(INN : STRING) : STR
ING;

MNSGETFL
_
ID
('''');

INN
-

ИНН физического лица

Дать идентификатор
ФЛ.


(
RZD
,
STR
,
GRF
:
STRING
) :
STRING
;

MNSGETFORMDETAILNM('
''','''','''');

RZD
-

пятизн
ачный номер (код) раздела формы

STR
-

пятизначный номер (код) строки формы

GRF
-

двузначный номер графы формы

Дать наименование показателя формы.


(MNS : STRING) : STR
ING;

MNSGETMNS
_
ID
('''');

MNS
-

кода инспекции по классификатору
СОНО

Дать

иде
нтификатор

МНС
.


(INN : STRING; KPP :
STRING) : STRING;

MNSGETUL_ID('''','''
');

INN
-
ИНН
организации

KPP
-

код причины постановки на учет, если ''
-
не выводится

Дать идентификатор
ЮЛ.



2
-
64


РУКОВОДСТВО ПРОГРАММ
ИСТА

MNSOPEN
:BOOLEAN;

MNSOPEN;

Открывает последний открытый фай
л, в случае ошибки сгенерирует исключение.


MNSOPENFILE
(FILENAME: STRING; M
ODE:INTEGER): BOOLEA
N;

MNSOPENFILE(FILENAME
, MODE);

FILENAME
-

имя

файла

MODE
-

режим открытия

MNSOMCREATE
-

перезаписать файл, если существует

MNSOMAPPEND
-

дописать в конец файла,
если существует

MNSOMDIALOG
-

выдать диалог выбора файла

MNSOMWIN1251
-

кодидовка
WINDOWS

Открывает файл, в случае ошибки сгенерирует исключение.


MNSPUTCOMMONINFO
(DOCNUM : STRING; DO
CDATE : TDATETIME; D
OCPREDST :
STRING);

MNSPUTCOMMONINFO
('''', );

DOCNUM

-

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

DOCDATE
-

дата формирования документа

DOCPREDST
-

параметр "документ представляется

Вывести в текущий открытый файл общие сведения информационной части сообщения.


MNSPUTDATE
(APARAM : STRING; AV
ALUE : TDATETIME);

MNSPUTDATE
('''', );

Выве
сти сочетание параметр
-
значение в текущий открытый файл. В конец строки дописывается
пара символов $0
d
$0
a
. Строка перекидируется из
WIN
кодировки в
OEM
.


MNSPUTDELIMITER
(
ADELIMITER
:
STRING
);

MNSPUTDELIMITER
('''');

Вывести разделитель в текущий открытый ф
айл.


(RZD, STR, GRF, VAL
: STRING);

MNSPUTDETAIL('''',''
'','''','''');

RZD

-

пятизначный номер (код) раздела формы

STR

-

пятизначный номер (код) строки формы

GRF

-

двузначный номер графы формы

VAL

-

значение показателя

Вывести

показатель

формы
.


MNSPUTDOCID
(A_ID : String; DocNum : String; ADate : TDateTime = 0);

MNSPutDocID
('''','''', );

A
_
ID

-
идентификатор ЮЛ, ФЛ или МНС

DocNum

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

ADate

-
дата, по умолчанию

текущая

Вывести идентификатор документа в текущий открытый файл.


MNS
PUTFILEID
(A_ID : String; ADate : TDateTime = 0);

MNSPutFileID('''',);

A_ID
-

идентификатор

ЮЛ
,
ФЛ

или

МНС
'+#13+

ADate

-
дата, по умолчанию
-
текущая

Вывести идентификатор файла в текущий открытый файл.


MNSPUTNPFLINFO
;


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
65

Вывести в текущий открытый файл сведе
ния о налогоплательщике
-
юридическом лице.


MNSPUTNUMBER
(AParam : String; AValue : Extended; ALen : Integer; AMT : Integer; AFill0 :
boolean);

MNSPutNumber
('''', , );

ALen

-
длина всего числа с точкой и знаком


AMT

-
кол
-
во знаков после занятой

AFill
0
-

дополнять число до длины нулями слева

Вывести сочетание Параметр
-
Значение в текущий открытый файл. В конец строки дописывается
пара символов $0D $0A. Строка перекодируется из Win кодировки в Oem.


MNSPUTOVERHEAD
(
KolDoc
:
Word
;
MNSVer
:
String
);

MNSPutOverhe
ad
( );

KolDoc

-
кол
-
во документов

Вывести в текущий открытый файл служебную часть сообщения.


MNSPUTPARAM
(AParam : String; AValue : String);

MNSPutParam
('''',);

Вывести сочетание Параметр
-
Значение в текущий открытый файл. В конец строки дописывается
пара с
имволов $0D $0A. Строка

перекодируется

из
Win
кодировки

в
Oem.


MNSPUTSTRING
(AParam : String; AValue : String; ALen : Integer);

MNSPutString
('''', , );

ALen

-
длина всего числа с точкой и знаком


Вывести сочетание Параметр
-
Значение в текущий открытый файл
значение
-
строкового типа.
Значение форматируется в соответствии с длиной, если нужно

усекается. В конец строки
дописывается пара символов $0D $0A. Строка перекoдируется из Win кодировки в Oem.


MNSPUTTEXT
(AText : String);

MNSPutText('''');

Вывести стр
оку в текущий открытый файл. В конец строки дописывается пара символов $0D
$0A. Строка перекoдируется из Win кодировки в Oem.


(
Kol
:
Integer
);

SetKolDok( );

Установить кол
-
во документов.


(
Kol
:
Integer
);

SetKolPok( );

Установить кол
-
во
показателей формы.


STRINGTOCOMMA
(AText : String) : String;

StringToComma('''');

Заменить пробелы на запятые.


2.4.3

Пример использования функций экспорта внешней отчётности в
отчете
WIN

Программа экспорта для любого отчета
WIN
может быть скорректирована пользов
ателем
в дизайнере отчетов. Там же можно создать какие
-
то свои недостающие поля, вставить / удалить
таблицы и т.д. Редактирование отчета запускается по нажатию клавиши
F
 из окна со списком
отчетов. После нажатия
F
4
следует дождаться загрузки дизайнера (
Рис.
11
).


2
-
66


РУКОВОДСТВО ПРОГРАММ
ИСТА

Для открытия и редактирования программы экспорта следует выделить последнюю
детальную строку отчета, вызвать инспектор свойств (по клавише
F12
) и нажать в нем на кнопку
Экспорт в ФНС
. Откроется окно с редактором кода. Про
граммы составляются на языке
PascalScript (тот же язык Delphi или Pascal, с некоторыми ограничениями). Также в программах
доступны специальные функции, необходимые для формирования файла электронного
документа. Полный перечень функций приведен в отдельном
разделе

3.4.2
-
Перечень
доступных констант, функций и процедур.




Рис.
11
. Дизайнер отчетов и окно редактора программы экспорта.


Пример типовой программы экспорта:



ЗАГОЛОВОК ОТЧЕТА


//
ОТКРЫТЬ

ФАЙЛ

if NOT MNSOpen Then Exit;

MNSOPEN();

//
ВЫВОД

ЗАГОЛОВКА

ФАЙЛА

MNSPutText('
ТипИнф
:
ОТЧЕТНОСТЬНП
'); //
О
T2(12)
Тип

информации

MNSPutText('ВерсФорм:3.00');

......


// ВЫВОД ИНФОРМАЦИ
ОННОЙ ЧАСТИ

....

MNSPUTTEXT('
ДАТАДОК
:'+DATETOSTR(NOW));
// D(10).
ДАТА ФОРМИРОВАНИЯ ДО
КУМЕНТА

MN
SPUTTEXT
('###');

....


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
67

// НАЧАЛО ФОРМЫ

// ЗАГОЛОВОК ФОРМЫ


MNSPUTPARAM
('ПРИЗФОТЧ', '1');


MNSPUTPARAM
('КНД', '1151006');

MNSPUTPARAM('НАИМФ
ОТЧ', 'НАЛОГОВАЯ ДЕК
ЛАРАЦИЯ ПО НАЛОГУ НА
ПРИБЫЛЬ
ОРГАНИЗАЦИЙ');


MNSPUTPARAM
('ВЕРФОТЧ', 3.00006'
);

MNSPUTPA
RAM('ПЕРИОДВЕРОТЧ',
13.12.2006,00.00.000
0');

MNSPUTPARAM('ПРИЗП
ЕРИОДОТЧ', '1');

MNSPUTPARAM('НАЧПЕ
РИОДОТЧ', '01.0
1
.200
8
');

MNSPUTPARAM('КОНПЕ
РИОДОТЧ', '3
1
.0
3
.200
8
');


MNSPUTPARAM
('ВАРФОТЧ', '999');




ДЕТАЛЬНЫЕ СТРОКИ ОТЧ
ЕТА


MNSPUTDETAIL
('00002',
'0001', '003', '235
.50');


MNSPUTDETAIL('00002'
, '0002', '003', '23
5.50');

MNSPUTDETAIL('0000
2', '0003', '003', '
235.50');

MNSPUTDELIMITER
(
MNSDLMBLOCK
);



ПОДНОЖИЕ ОТЧЕТА

// ЗАВЕРШЕНИЕ ЭКСП
ОРТА

// ЗАКРЫТЬ ФАЙЛ


MNSCLOSE
();


После генерации отчет
а и выполнения программы экспорта создается файл внешней
отчетности. Для перехода непосредственно к содержанию сгенерированного файла нужно
нажать кнопку
Просмотр
. Созданный файл откроется в специальном окне
-
редакторе (
Рис.
12
).



2
-
68


РУКОВОДСТВО ПРОГРАММ
ИСТА


Рис.
12
. Окно просмотра и редактирования файла экспорта.


2.4.4

Пример использования функций экспорта внешней отчётности в
отчете Fast
R
eport

Открыть на редактирование любой отчет. В обработчике события OnStartReport делаем
открытие файла
, например:

MNSOpenFile('C:
\
MNStempoFile', mnsomCreate );


В обработчике события OnStopReport делаем закрытие файла:

MNSClose();


В местах формирования данных для отчета используем функции выгрузки, например:

MNSPutText(Memo4.Text);

MNSPutDelimiter(mnsdlm
Part);


Таким образом, результирующий файл может выглядеть так:


var curs: real;

procedure Memo6OnBeforePrint(Sender: TfrxComponent);

begin

if main."VLCUR_KOT"&#x-1ma;i4n;&#x.2"2;V-7;&#xL-4C;3U-;R-6;&#x_23K;&#x-4O1;T-1;"26; = cross."CURTYPE_RCD"ȼ-;ro2;s-8;&#xs-8.;"1C;3U-;R18;&#xT12Y;&#x-12P;ž-;_2;R-6;಍-; "26;

then curs:= main."VLCUR_CURS"&#x-1ma;i29;&#xn.2";V17;&#xL-4C;U17;&#xR-6_;&#x-1C8;&#xU17R;&#x-6S9;&#x"100;


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
69

else curs:=0;

end;


pr
ocedure OnStartReport(Sender: TfrxComponent);

begin

MNSOpenFile('C:
\
MNStempoFile', mnsomCreate );

MNSPutText('
Заголовок

отчета
');

MNSPutDelimiter(mnsdlmPart);

end;



procedure OnStopReport(Sender: TfrxComponent);

begin


MNSPutDelimiter(mnsdlmPart);

MNSPutDelimiter(mnsdlmBlock);

MNSPutDelimiter(mnsdlmFile);

MNSPutText('
Финал

отчета
');

MNSClose();

end;


procedure Memo3OnAfterData(Sender: TfrxComponent);

begin

MNSPutText(Memo3.Text);


end;


procedure Memo4OnAfterData(Sender: TfrxComponent);

begin

MNSPutText(Memo4.Text);

MNSPutDelimiter(mnsdlmPart);

end;


procedure Memo14OnAfterData(Sender: TfrxComponent);

begin

MNSPutText(floatToStr(curs) + ' ' + M
emo14.Text);

end;



begin

end.



2
-
70


РУКОВОДСТВО ПРОГРАММ
ИСТА


Рис.
13
. Дизайнер отчетов и окно редактора программы экспорта.


В результате выполнения отчета формируется следующий файл
-
C:
\
MNStempoFile.

Листинг файла:


заголовок отчета

@@@

USD


Доллар С
ША

Множитель курса: 1


@@@

5.05 5.05000


5.05 5.05000


. . .


5.05 5.05000


EUR


ЕВРО

Множитель курса: 1


@@@

6.4321 6.43210



РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
71

6.3933 6.39330


. . .


6.405925 6.40592


RUR


Российский рубль

Множитель курса:


@@@

0.18857 0.18857


0.18847 0.18847


. . .


0.1889 0.18890


@@@

###

===

финал отчета

2.5

Разработка

отчетов
MS Office (Excel,Word)


Система
ИС
-
ПРО
поддерживает создание, редактирование и запуск шаблона
Excel
. Для
правильного взаимодействия с системой ИС
-
ПРО при разработке шаблона следует
придерживаться
определенных правил:



на внешний вид и содержимое шаблона не нужно накладываеть ограничения;



VBA
программы формирования отчета должны начинать работу внутри подпрограммы
ReportMain;



подпрограмма ReportMain служит «точкой входа» в программный блок отчета. С
истема
ИС
-
ПРО загружает шаблон, отыскивает в его модулях подпрограмму ReportMain,
запускает ее и ожидает завершения подпрограммы. Параме
т
ром подпрограммы
ReportMain передается менеджер СОМ объектов системы. Посредством менеджера
возможен доступ к СОМ объек
там системы для получения информации, необходимой
отчету. Объект менеджера можно использовать до окончания выполнения подпрограммы
ReportMain, после ее окончания объект будет разрушен и все обращения к нему приведут
к ошибке;



вся программа формирования отч
ета должна располагаться внутри подпрограммы
ReportMain.

Создание данных отчетов начинается с выбора при создании формы отчета типа
-

Excel
отчета

или
Word


отчета.

В строке
Шаблон
отражаются таблицы, состав которых зависит от подсистемы в которой
создае
тся отчет.

В строке
Наименование

-
вводится наименование создаваемого отчета.



2
-
72


РУКОВОДСТВО ПРОГРАММ
ИСТА


Рис.
14
. Создание отчета.

После
нажатия клавиши
Ок
производится запуск приложения (
Excel

или
Word
соответственно).
Открывающийся файл является заготовк
ой отчета. Для формирования отчета необходимо по
пункту меню приложения
Сервис/Макрос/Редактор
Visual

Basic
запустить редактор
формирования программы отчета.


Рис.
15
. Редактор

В редакторе уже сформирован
скелет программы. Далее с п
омощью
Visual

Basic
пишется
программа построения отчета. Доступ к данным осуществляется с помощью
SQL
запросов,
COM
-
объектов.

Для формирования вида шаблона отчета его можно копировать из существующих отчетов (по
комбинации клавиш
Ctrl
+
C
,
Ctrl
+
V
).



РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
73

2.5.1

Пример
программы Excel отчета


Пример программы
Excel
отчета
(
VBA

script
)


'Отчет состоит из данных двух таблиц

' ptngrpk
-
список групп контрагентов

' ptnrk
-
список контрарентов

' связь между таблицами

' ptnrk.ptngrpk_rcd = ptngrpk.ptngrpk_rcd

' поля таблиц

'
ptngrpk

' ptngrpk_rcd
-
ид записи группы

' ptngrp_cdk
-
код группы

' ptngrp_nmk
-
наименование группы

'

' ptnrk

' ptngrpk_rcd
-
ид группы

' ptn_cd
-
код контрагента

' ptn_nm
-
наименование контрагента

'

'Порядок построения отчета
:

' сканируется список групп контрагентов

' для каждой группы выбирается список соотв. контрагентов


'Экземпляр менеджера СОМ объектов

'необходим для запроса экземпляров СОМ объектов системы

Public ComManager As Object


'Generated code.

'

'Главная точка вх
ода в программу построения отчета

'эта процедура будет вызвана системой ИС
-
ПРО

'после открытия шаблона отчета

Sub

ReportMain
(
Mgr

As

Object
)

On Error GoTo ErrorHandler


'Запомнить экземпляр объекта

'переданный системой


Set ComManager = Mgr



'
зап
уск

построения

отчета

MakeReport



Exit Sub



ErrorHandler:

MsgBox ("Error:" & Chr(13) & Err.Description)

End Sub


Private Sub MakeReport()

'
Группы

конрагентов

Dim PtnGrpObj As Object

'
Контрагенты

Dim PtnObj As Object


2
-
74


РУКОВОДСТВО ПРОГРАММ
ИСТА

'
Лист

отчета

Dim

R
epSheet

As

Worksheet

'Начальная строка листа отчета

Dim row As Integer


'В случае возникновения ошибки будет выдано сообщение с текстом ошибки

On Error GoTo ErrorHandler



'Лист книги, на котором будет построен отчет

Set RepSheet = ActiveSheet



'Запросить у менеджера экземпляры двух объектов выполнения SQL запросов


Set PtnGrpObj = ComManager.GetObjByName("Sys", "ISysSqlQuery")

Set PtnObj = ComManager.GetObjByName("Sys", "ISysSqlQuery")



'
Запрос

для

чтения

групп

PtnGrpObj.Text = "s
elect ptngrpk_rcd as rcd, ptngrp_cdk as cd, ptngrp_nmk as nm from ptngrpk"



'
Запрос

для

чтения

контрагентов

группы

PtnObj.Text = "select ptn_cd as cd, ptn_nm as nm from ptnrk where ptngrpk_rcd = :grp_rcd"




'Открыть запрос для групп

PtnGrpObj.Op
enObj


'Сканировать группы


If

PtnGrpObj
.
First

Then


row
= 3

Do

'Вывод наименования группы


RepSheet
.
Range
("
B
" &
CStr
(
row
) & ":
C
" &
CStr
(
row
)).
Merge


RepSheet.Range("A" & CStr(row) & ":C" & CStr(row)).Font.Bold = True

RepShe
et.Range("A" & CStr(row) & ":C" & CStr(row)).BorderAround (xlContinuous)

RepSheet.Range("A" & CStr(row)).Value = PtnGrpObj.GetFieldValue("cd")

RepSheet.Range("B" & CStr(row)).Value = PtnGrpObj.GetFieldValue("nm")


row = row + 1

'Уста
новка кода группы для запроса списка контрагентов


Call PtnObj.SetParamValue("grp_rcd", PtnGrpObj.GetFieldValue("rcd"))


'Открыть запрос списка контрагентов

PtnObj.OpenObj


'
Сканировать

список

If PtnObj.First Then

Do


'
Вывод

записи

контрагента

RepSheet.Range("A" & CStr(row) & ":B" & CStr(row)).Merge

RepSheet.Range("A" & CStr(row) & ":C" & CStr(row)).BorderAround (xlContinuous)

RepSheet.Range("A" & CStr(row)).Value = PtnObj.GetFieldVal
ue("cd")

RepSheet.Range("C" & CStr(row)).Value = PtnObj.GetFieldValue("nm")

row = row + 1

Loop While PtnObj.Next


End If

'Закрыть объект списка контрагентов

'по окончании чтения списка для группы


PtnObj.Cl
oseObj


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
75

Loop While PtnGrpObj.Next

End If

Exit Sub

ErrorHandler:

MsgBox ("Error:" & Chr(13) & Err.Description)

End Sub




2.5.2

Пример программы
Word отчет
а

Отчетом является форма договора.

'Generated code.

Sub ReportMain(Mgr As Object)

Set ComManager
= Mgr

Set EnvObj = ComManager.GetObjByName("Sys", "ISysEnvironment")

'MsgBox (EnvObj.Dog_Ptn)

'Selection.Text = EnvObj.PTN_READ_INT(Selection.Text)

' Call EnvObj.PTN_READ_INT(EnvObj.Dog_Ptn)

'MsgBox (EnvObj.PtnR_NmSh)

'MsgBox (EnvObj.NUMTOSTR(E
nvObj.U_tttttt))



With Selection.Find

.ClearFormatting

.Text = "&*&#x-19*; &"

.Replacement.Text = ""

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = F
alse

.MatchAllWordForms = False

.MatchSoundsLike = False

.MatchWildcards = True

If .Execute Then

Do

' MsgBox (Selection.Text)

Selection.Text = EnvObj.GETDOGTXTVALUE(Selection.Text)

Sele
ction.EndOf

Loop While Selection.Find.Execute

End If

End With

End Sub



Перече
н
ь полей для формирования договора:

Поля для функции ДОГОВОРА


Номер договора
-

&
DOGNMR
&

Входящий номер договора
-

&DOGVXDNMR&

Дата договора
-

&DOGDATE&

Объект
сделки
-

&DOGOBJ&


2
-
76


РУКОВОДСТВО ПРОГРАММ
ИСТА

Комментарий
-

&DOGCMT&

Центр ответственности договора
-

&
DOGCO
&

Дата начала договора
-

&
DOGDATEBEG
&

Дата конца договора
-

&
DOGDATEEND
&

Способ оплаты
-

&
DOGSPOPL
&

Дата оплаты
-

&
DOGDATEOPL
&

Котировка валюты
-

&
DOGVALKOT
&

Валюта договора
-

&
DOGVAL
&

Курс
-

&
DOGVALKURS
&


Реквизиты своей стороны

Наменование стороны
-

&
DOGSIDENM
1&

Наменование контрагента
-

&
DOGSIDEPTN
1&

Адрес
-

&
DOGSIDEADR
1&

Контактное лицо
-

&
DOGSIDECONT
1&

Телефон
-

&
DOGSIDEPHN
1&

Банк
-

&
DOGSIDEBANK
1&

МФО
-

&
DOGSIDEMFO
1&

Счет
-

&
DOGSIDEACC
1&

ИНН
-

&
DOGSIDEINN
1&


Реквизиты другой стороны

Наменование стороны
-

&
DOGSIDENM
2&

Наменование контрагента
-

&
DOGSIDEPTN
2&

Адрес
-

&
DOGSIDEADR
2&

Контактное лицо
-

&
DOGSIDECONT
2&

Телефон
-

&
DOGSIDEPHN
2&

Банк
-

&
DOGSIDEBANK
2&

МФО
-

&
DOGSIDEMFO
2
&

Счет
-

&
DOGSIDEACC
2&

ИНН
-

&
DOGSIDEINN
2&


Поля позователя
-

&имя&


Пример:

Договор N
&DOGNMR&

имущественного найма (классическая аренда)


&DOG
DATE
&
г.


г. Киев


&DOGSIDEPTN1&
, в дальнейшем Наймодатель, в лице
&DOGSIDECONT1&
,
действующего на основани
и Устава, с одной стороны, и
&DOGSIDEPTN2&
, в дальнейшем
Наниматель, в лице
&DOGSIDECONT2&
, действующего на основании
&DOGSELSPR&
, с
другой стороны, руководствуясь взаимным соглашением и действующим законодательством,
заключили договор о нижеследующем.



1. ОБЩИЕ ПОЛОЖЕНИЯ



1.1. По настоящему договору Наймодатель обязуется предоставить Нанимателю
имущество во временное пользование, а Наниматель обязуется оплатить его и вернуть
имущество.

1.2. Наймодатель предоставляет Нанимателю следующее имущество:

&DO
GOBJ&
.

1.2.1. Наймодатель передает Нанимателю следующие документы на имущество:
&DOGINSTR&
.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
77

Оформление документов, необходимых для передачи имущества в найм и для
нормального пользования имуществом оформляются
&DOGINSTR&
.

1.3. Наймодатель предоставл
яет Нанимателю имущество во временное пользование
сроком на
&DOGINSTR&
.

1.. Кроме вышеуказанного Наймодатель предоставляет Нанимателю следующие услуги:
&DOGINSTR&
.

1.5. Наниматель пользуется полученным по настоящему договору имущест
-

вом самостоятельн
о в месте: по своему усмотрению.

1.6. Охрана, хранение, обслуживание и т.п. осуществляется
&DOGINSTR&

&DOGINSTR&
, средствами
&DOGINSTR&
, за счет
&DOGINSTR& &DOGINSTR&
, в
следующем порядке:
&DOGINSTR&
.

1.7. Собственником сдаваемого в найм имущества яв
ляется
&DOGINSTR&
.

1.8. Имущество передается Нанимателю в месте:
&DOGINSTR&
и его сдача
-
приемка
оформляется
&DOGINSTR&
(Приложение N 1).

(распиской, актом, протоколом)

1.9. Наниматель по окончании действия настоящего договора обязуется вернуть
имущество
, полученное по настоящему договору, Наймодателю в месте:
&DOGINSTR&
, в
состоянии:
&DOGINSTR&
, в сроки:
&DOGINSTR&
, а сдача
-
приемка имущества оформляется
&DOGINSTR&
(Приложение N 2).

(распиской, актом, протоколом)

1.10. Наниматель обязуется пользо
ваться нанимаемым имуществом в порядке:
&DOGINSTR&
.

(указать цель найма, порядок пользования и режим и т.п.)



2. ВЗАИМНЫЕ РАСЧЕТЫ СТОРОН


2.1. За пользование имуществом Наниматель обязуется выплатить Наймодателю наемную
плату в размере
&DOGSUM&
рублей з
а
&DOGINSTR&
.

2.2. Кроме вышеуказанных платежей Наниматель выплачивает Наймодателю сумму в
размере
&DOGINNUMB&
рублей за
&DOGINSTR&
за предоставляемые Наймодателем в
соответствии с п.1.. услуги.

2.3.
&DOGINSTR&
за счет
&DOGINSTR&
осуществляет страхование
предоставляемого по
настоящему договору имущества на сумму
&DOGINNUMB&
рублей в порядке
&DOGINSTR&
.

2.. Наниматель выдает Наймодателю в счет будущих расчетов аванс в сумме
&DOGINSTR&
в порядке
&DOGINSTR&
.

2.5. По согласованию сторон в счет наемной
платы (на весь период действия договора
или на какой
-
либо период) могут передаваться услуги, права пользования, имущество и т.п.

2.6. Плата за пользование имуществом вносится независимо от фактического
пользования имуществом, если стороны дополнительн
о не определят иное, кроме случаев, когда
Наниматель не может пользоваться имуществом по причинам:

-
болезнь пользователя;

-
форс
-
мажорные обстоятельства;

-

&DOGINSTR&
.

2.7. Арендная плата за соответствующий год перечисляется равными долями
ежеквартально
, не позднее 20 числа первого мемяца следующего квартала.

2.8. Ежегодно, по окончании соответствующего календарного года, стороны проверяют
правильность платежей по наемной плате и результаты проверки оформляют актом сверки
расчетов. По данным указанного а
кта в пределах первого квартала производятся необходимые
перерасчеты.

2.9. Наемная плата подлежит пересмотру в связи с изменением централизованно
устанавливаемых цен и тарифов, а также в иных случаях, предусмотренных действующим
законодательством и допо
лнительным соглашением сторон.



2
-
78


РУКОВОДСТВО ПРОГРАММ
ИСТА


3. ПРАВА И ОБЯЗАННОСТИ СТОРОН


3.1. Наймодатель обязан:

а) передать Нанимателю имущество, являющееся предметом настоящего договора, в
состоянии, позволяющем его нормальную эксплуатацию, соответствующем его фактической
сто
имости, и настоящему договору;

б) кроме вышеуказанного, в том же порядке передать:

&DOGINSTR&
;

в) обеспечить передачу Нанимателю нормативно
-
правовой, нормативно технической и
научной информации;

г) проинструктировать о порядке пользования и оказать со
действие Наймодателю по
пользованию нанимаемым имуществом;

д) оформить документы
&DOGINSTR&
в сроки:
&DOGINSTR&
;

е) в случае предоставления неисправного (некомплектного) имущества заменить
(доукомплектовать) его или исправить не позднее суток с момента о
бнаружения
соответствующих недостатков.

Указанный срок не входит в срок для исчисления неустойки и штрафных санкций;

ж) предупредить Нанимателя о скрытых свойствах (недостатках в т.ч.) нанимаемого
имущества, которые могут причинить вред Наниматель или его
имуществу;

з) провести за собственный счет и собственными средствами и силами
&DOGINSTR&

ремонт (
&DOGINSTR&
обслуживание) имущества в сроки:
&DOGINSTR&
.

В случае, если нанимаемое имущество выходит из пользования Нанимателя, указанный
срок в срок действ
ия настоящего договора не включается;

и) Наймодатель не может досрочно расторгнуть настоящий договор в одностороннем
порядке;



к)
&DOGINSTR&
.

3.2. Наниматель обязан:

а) своевременно производить платежи, предусмотренные настоящим договором;

б) использ
овать полученное по настоящему договору имущество в соответствии с его
целевым назначением;

в) при приемке имущества проверить его исправность и комплектность;

г) за собственный счет содержать имущество в следующем порядке:

&DOGINSTR&
с учетом его естестве
нного износа;

д) если нанимаемое имущество выбывает из строя раньше полного амортизационного
срока службы или
&DOGINSTR&
, то Наниматель возмещает Наймодателю недовнесенные им
платежи за найм имущества. В зависимости от фактического состояния имущества
и
обстоятельств выбытия из строя, Наймодатель может не взыскивать недовнесенную наемную
плату;

е)
&DOGINSTR&
.

3.3. Наймодатель имеет право:

а) получить наемную плату в соответствии с настоящим договором;

б) получить информацию о состоянии нанимаемого имущ
ества;

в) расторгнуть настоящий договор в случае, если Наниматель нарушает свои обязанности
в период пользования нанимаемым имуществом;

г)
&DOGINSTR&
.

3.. Наниматель имеет право:

а) на сдачу арендуемого имущества в поднаем, иное временное пользовани
е другим
организациям (в том числе безвозмездное), в случае:

-
неиспользования имущества по причинам: &DOGINSTR& ;

-
болезни или
&DOGINSTR&
пользователя имуществом;

-

&DOGINSTR&
.


РУКОВОДСТВО ПРОГРАММ
ИСТА


2
-
79

Сдача имущества во временное пользование другим организациям не в
лияет на
содержание финансовых отношений с Наймодателем;

б) на произведенные им отделимые улучшения нанимаемого имущества;

в) на компенсацию стоимости произведенных им неотделимых улучшений нанимаемого
имущества;

г) на снижение наемной платы в случае
снижения потребительских свойств имущества
по причинам, не зависящим от Нанимателя, на сумму, пропорциональную измененным
свойствам;

д) на возмещение затрат на улучшение имущества, произведенные с согласия (в т.ч. без
согласия) Наймодателя, в составе: с
тоимости материалов, рабочей силы и &DOGINSTR& , в т.ч.
на восстановление имущества после его естественного износа;

е)
&DOGINSTR&
.



. ОТВЕТСТВЕННОСТЬ


.1. В случае неисполнения или ненадлежащего исполнения обязательств виновная
сторона обязана возмести
ть другой стороне убытки в соответствии с действующим
законодательством
&DOGSELSPR&
.

.2. За просрочку уплаты наемной платы Наниматель уплачивает
&DOGINSTR&

процентов от неуплаченной суммы в необходимый срок.

.3. За просрочку передачи имущества по насто
ящему договору (в т.ч. предоставление
некачественного, некомплектного имущества) Наймодатель уплачивает
&DOGINSTR&

процента от стоимости непереданного в срок имущещества за каждый день просрочки.

.. Неустойки, предусмотренные настоящим договором, в
зыскиваются независимо от
возмещения убытков.

.5. В случае порчи или гибели нанимаемого имущества Наниматель обязан:
&DOGINSTR& .

.6. Выплата неустоек и возмещение убытков не освобождает стороны от исполнения
договорных обязательств внатуре.

.7. Дополни
тельные меры ответственности:
&DOGINSTR&

&DOGINSTR&
.



5. ДЕЙСТВИЕ ДОГОВОРА


5.1. Настоящий договор вступает в силу с
&DOGDATEBEG&
и действует
&DOGINSTR&

(для имущества
-
не более 10 лет; строения
-
не более 5 лет; оборудование
-
не более 1 года)

5.2. П
о истечении указанного в п. 5.1. срока Наниматель имеет право на пролонгацию
договора на новый срок, который стороны определяют дополнительно на условиях не
ухудшающих положение сторон и при условии, что Наниматель в течение срока действия
настоящего
договора не нарушал принятые на себя обязательства.

5.3. Договор может быть изменен или расторгнут в следующем порядке:
Заинтересованная сторона должна направить другой стороне предложение об этом. Сторона,
получившая такое предложение, должна дать отве
т не позднее 10 дней после получения
предложения. При недостижении соглашения об изменении, расторжении договора, а также в
случае неполучения ответа спор разрешается по заявлению заинтересованной стороны
Государственным арбитражем.

5.. Настоящий дого
вор может быть расторгнут по инициативе одной стороны и вне
порядка, указанного в п.5.3. в следующих случаях:

-
ухудшение состояния нанимаемого имущества по причинам, не зависящим от
Нанимателя;

-

&DOGINSTR&
.


3
-
80


РУКОВОДСТВО ПРОГРАММ
ИСТА

5.5. В случае достижения соглашения о пе
резаключении настоящего договора и до
заключения нового договора действуют нормы действующего законодательства.



6. ДОПОЛНИТЕЛЬНЫЕ УСЛОВИЯ


6.1. Споры сторон разрешаются в
&DOGINSTR&

&
DOGINSTR
&


6.2.
&
DOGINSTR
& &
DOGINSTR
&


6.3.
&
U
_
DOG
&



7. ПРОЧИЕ УСЛ
ОВИЯ


7.1. На отношения сторон,не урегулированные настоящим договором, распространяются
нормы действующего гражданского законодательства.

7.2. Настоящий договор составлен в 2 экземплярах: по одному каждой стороне.

7.3. К настоящему договору в качестве не
отъемлемых его частей прилагаются:

-
Приложение N 1
-
акт сдачи
-
приемки имущества;

-
Приложение N 2
-
акт сдачи
-
приемки топлива, сырья, материалов, незавершенного
производства, готовой продукции, фонды экономического стимулирования.

7.. Реквизиты сто
рон:


Наймодатель


Наниматель

Адрес:
&DOGSIDEADR1&


Адрес:
&DOGSIDEADR
2
&

Телефон
:
&DOGSIDE
PHN2
&


Телефон
:
&DOGSIDE
PHN2
&

р/с
&
DOGSIDEACC
1&


р
/
с

&DOGSIDEACC2&

&DOGSIDEBANK1&


&DOGSIDEBANK2&

&DOGSIDEMFO1&


&DOGSIDEMFO2&




(подпись)


(подпись)

м.п.


м
.п.




3

Работа с СОМ объектами системы ИС
-
ПРО


Для организации взаимодействия внешнего приложения со средой ИС
-
ПРО в поставку
системы включен ряд СОМ объектов, служащих для создания соединения с системой и
получения экземпляров объектов.

COM
-
объекты ИС
-
ПРО
(
Component Object Model
-
компонентная объектная модель
)
предназначены для организации внешнего доступа к прикладным функциям и данным системы.

Все СОМ объекты системы соответствуют требованиям автоматизации и могут
использоваться из любых языков, поддерж
ивающих работу с интерфейсами автоматизации.

СОМ объекты могут содержать набор предметных функций, а так же, могут повторять
функциональность набора данных и содержать набор стандартных методов навигации и
модификации данных.

Для получения экземпляра опред
еленного объекта внешнее приложение должно
выполнить следующие шаги:


РУКОВОДСТВО ПРОГРАММ
ИСТА


3
-
81



-
установить соединение с системой, указав при этом желаемое предприятие. После
успешной установки соединения будет запущена рабочая станция ИС
-
ПРО, работающая в
режиме СОМ сервера.



в резу
льтате успешного соединения внешнее приложение получает экземпляр объекта


менеджера СОМ объектом. Менеджер отвечает за создание экземпляров всех остальных
СОМ объектов системы.



внешнее приложение, посредством менеджера, создает требуемые СОМ объекты.

Ос
вобождение объектов производится штатными средствами применяемого языка
программирования.



Пример программы на
VBA
, выводящей первые две строки реестра контрагентов.



Менеджер

СОМ

объектов

Dim ComManagerObj As Object


‘Соединение с ИС
-
ПРО

Dim

ConnectObj

As

Object


‘Запрос для чтения записей картотеки

Dim QueryObj As Object


On Error GoTo ErrorHandler


‘Создание объекта для соединения с системой

Set ConnectObj = CreateObject("ISStBoot.SysStartup.1")


‘Запуск создания соединения



станция в каталоге
c
:
\
is
pro




пользователь
adm




пароль
master

Set ComManagerObj = ConnectObj.Connect("c:
\
ispro ", "adm", " master ")



‘Соединение установлено

‘Вход в предприятие №1

Call ConnectObj.SelectFirm(1)


‘Все этапы соединения завершены, можно работать с системой


‘З
апросить объект для выполнения произвольного
SQL
запроса

‘Модуль объекта


Sys

‘Наименование объекта
-
ISysSqlQuery

Set QueryObj = ComManagerObj.GetObjByName("Sys", "ISysSqlQuery")


‘Выполнить запрос чтения картотеки контрагентов

QueryObj
.
Text
=
select

pt
n
_
nm

from

ptnrk


QueryObj
.
OpenObj


‘прочитать первую запись

QueryObj
.
First

MsgBox( QueryObj.GetFieldValue("ptn_nm")



прочитать

вторую

запись


3
-
82


РУКОВОДСТВО ПРОГРАММ
ИСТА

QueryObj.Next

MsgBox( QueryObj.GetFieldValue("ptn_nm")



Освободить

объект

QueryObj.CloseObj

Set QueryObj = Nothin
g


ErrorHandler:

MsgBox ("Error:" & Chr(13) & Err.Description)

3.1

СОМ объект для выполнения SQL запросов

Объект предназначен для выполнения произвольных
SQL
запросов в схеме данных
текущего предприятия и схеме общесистемных данных. Учет расположения таблиц
ы в общей
схеме данных или схеме предприятия, выполняется автоматически.

Описание системных комобъектов
ИС
-
ПРО

1.

Имя объекта: ISysSqlQuery

Модуль: Sys

Библиотека типов:
sys
_
c
.
dll


Состав объекта

BSTR Text

Чтение/запись текста SQL запроса.

SetParamValue(
BSTR ParamName, VARIANT Val )

Установка значения параметра запроса.

ParamName

наименование параметра, без символа “:"

Val


значение

параметра


VARIANT GetFieldValue( BSTR FieldName )

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

FieldName

наименование поля


VARI
ANT_BOOL OpenObj

Открыть

набор


VARIANT_BOOL HRESULT CloseObj

Закрыть набор


VARIANT_BOOL First

Стать на первую запись


VARIANT_BOOL Last

Стать на последнюю запись


VARIANT_BOOL Prior

Стать на предыдущую запись


VARIANT_BOOL Next

Стать на следующую запись


В случае необходимости использования параметров в запросе, параметры необходимо
именовать в соответствии с правилами именования полей и предварять параметр в тексте запроса

РУКОВОДСТВО ПРОГРАММ
ИСТА


3
-
83

символом “:", например where rcd=:new_rcd сравнивается значение поля “rcd” со знач
ением
параметра “new_rcd”.


Пример

использования

объекта


Private ConnectObj As Object

Private ManagerObj As Object

Private QryObj As Object


Private Sub DoWork()

On Error GoTo ErrorHandler

Set ConnectObj = CreateObject("ISStBoot.SysStartup.1")

Set M
anagerObj = ConnectObj.Connect("D:
\
bpw", "pva", "")



Call ConnectObj.SelectFirm(1)


Set QryObj = ManagerObj.GetObjByName("Sys", "ISysSqlQuery")

QryObj.Text = "select spr_nm from sspr where spr_rcd=:rcd"

Call QryObj.SetParamValue("rcd", 1)


QryObj.OpenObj


QryObj.First

While QryObj.Next

If Not IsNull(QryObj.GetFieldValue("Spr_Nm")) Then

MsgBox (QryObj.GetFieldValue("Spr_Nm"))

End If

Wend

QryObj.CloseObj


Exit Sub

ErrorHandler:

MsgBox ("Error:" & Chr(13) &
Err.Description)

End Sub

Описание
прикладніх
комобъектов
ИС
-
ПРО

3.2

Запуск
р
есурсных
м
одулей
и
з
п
рограмм

BASIC


В

отчетах Word и

Excel для

обращения к

функциям среды ИС
-
ПРО следует использовать
следующие вызовы:



RES_ADD_MODULE( <Наименование модуля>
)

Добавить модуль в

список запускаемых


RES_DEL_MODULES

Очистить список запускаемых модулей


RES_LOAD_MODULES

Загрузить все

модули из

списка



3
-
84


РУКОВОДСТВО ПРОГРАММ
ИСТА

RES_UNLOAD_MODULES

Завершить работы с

модулями из

списка


Пример обращения к

ресурсам системы из

отчета:


Sub Repo
rtMain(Mgr As Object)


Set ComManager = Mgr


' Запросить интерфейс связи со средой ИС
-
ПРО


Set Env = ComManager.GetObjByName( "Sys", "ISysEnvironment" )




' Загрузить модуль

' Общесистемные ресурсы (SYS_R)


Env.RES_ADD_MODULE( "SYS_R" )


Env.RES
_LOAD_MODULES


' Считать информацию о контрагенте

Env.PTN_READ_CD ( "001" )


' Завершить работу с модулем


Env.RES_UNLOAD_MODULES

End Sub


Списки доступных модулей и

их содержимого предоставляются модулем дополнения к

MS
Office.

3.3

Проблемы при разра
ботке отчетов

Word
и
Excel
отчеты:

1. При создании отчета Excel ошибка

====== Ошибка ======

Вызов метода: VBProject

Источник: Microsoft Office Excel

Описание:

Программный доступ к проекту Visual Basic не является доверенным

Owner: SYSRXLT.CPP, File
: SYSRXLT.CPP, Line: 654


=======================

Для устранения ошибки необходимо в программе Excel по пункту меню
Сервис/Макрос/Безопасность
на закладке
Надежные издатели
отметить параметр
Доверять
доступ к Visual Basic
Project
.


РУКОВОДСТВО ПРОГРАММ
ИСТА


3
-
85




2. При создании о
тчета
Word
ошибка

====== Ошибка ======

Вызов метода:
VBProject


Источник:
Microsoft


Описание:

Отсутствует доверие к программируемому доступу к проекту Visual Basic.

Owner: SYSRWRD.CPP, File: SYSRWRD.CPP, Line: 464



Для устранения ошибки необходимо
в программе
Word
по пункту меню
Сервис/Макрос/Безопасность
на закладке
Надежные издатели
отметить параметр
Доверять
доступ к Visual Basic
Project
.



Приложенные файлы

  • pdf 25051143
    Размер файла: 3 MB Загрузок: 0

Добавить комментарий