Програма ГІС 6 має можливість формування звітності не тільки за допомогою звітних форм FastReport, але і за допомогою MS Word і OpenOffice. Для цього використовується так звана "база злиття". Існує кілька способів формування бази злиття. Перший спосіб полягає в створенні її з звітної форми FastReport (новий спосіб), а другий - безпосередньо в програмі ГІС6. Відрізняються вони тим, що в першому можна коригувати алгоритми формування полів бази злиття, у другому - немає, але другий спосіб простіше у використанні. В даному блозі розглянемо перший спосіб.
Для запуску шаблону MS Word перейдіть у вікно «Камеральні функції».
В меню «Документи» виберіть «Друк документа (база злиття)».
Вибираємо наш шаблон, по якому хочемо побудувати звіт.
І отримуємо готовий документ.
Суть даного способу полягає в створенні програмного коду вибірки даних з баз даних (БД) GIS 6, з подальшим їх форматуванням, для подання вже готових даних в шаблон MS Word. Розглянемо, для початку, як коригувати алгоритми і задавати поля для бази злиття. Цей спосіб більше підійде людям, які мають уявлення про мови програмування. Система FastReport дозволяє створювати скрипти на Jscript, BasicScript, C ++ Script, PascalScript - це є урізані версії батьківських мов. У нашій статті піде мова про PascalScript. Для редагування бази злиття використовуйте файл "База сліянія.fr3" (в папці C: \ Program Files \ GIS6 \ Reports). Саме його програма запускає при відкритті шаблона Word.
Для цього нам буде потрібно поверхневе знайомство з принципом FastReport'a.
Коротенько опишемо основне вікно FastReport'a (детальніше інформація на офіційному сайті або в довідці на диску GIS 6)
- 1 - об'єкти, які знаходяться на формі
- 2 - мова, яка використовується для написання скриптів
- 3 - панель властивостей і методів об'єктів
- 4 - сам скрипт на відповідній мові
- 5 - бази даних і поля підключені до даного документу
Для додавання необхідної бази даних потрібно в меню «Звіт» вибрати пункт «дані ...».
У слідстві чого відкриється вікно доступних баз даних, до яких ми зможемо отримати доступ, додавши посилання на них в наш документ і після чого вони з'являться на панелі «Поля БД».
Після того, як визначилися які дані, а отже які таблиці баз даних потрібно підключити, можна приступити до формування масивів полів і значень. Функція ArrayEx виконує внесення інформації в масив A2. Для занесення певного значення в масив, необхідно його знайти в таблиці БД, знайти відповідне йому поле і значення цього поля записати в масив, який вже буде нести в собі ім'я цього поля, по якому буде відбуватися компоновка в шаблоні MS Word.
Де з лівого боку в масиві ім'я поля, а з правого - значення його з відповідних БД і таблиць.
Зі значеннями БД ми можемо виробляти маніпуляції, якщо нам це потрібно. Наприклад, у звіті нам необхідно, щоб після терміну оренди прописувався рік - "2 роки", а по заповненій інформації у нас стоїть тільки число і для разових операцій змінювати значення в семантичній інформації про об'єкт не завжди доцільно. Нам лише потрібно в коді, який потім буде використовуватися для створення бази злиття MS Word, внести відповідні зміни, наприклад,: = ПолеБД + 'року'. Після проведених маніпуляцій з кодом, збережемо цей шаблон для подальшого використання в формуванні даних.
Приклад внесення змін до даних з таблиць БД з наступним записом зміненого вмісту в структуру, яка буде використовуватися при формуванні звіту в MS Word.
Не обов'язково коригувати алгоритм, який вже закладений, Ви можете обійтися і без цього. Файл створення бази злиття (База сліянія.fr3), за замовчуванням, готовий до використання.
При формуванні шаблону всі документи MS Word'а повинні бути закриті. У нас є підготовлений документ, де є текстовка Акту погодження меж.
Поля, які потрібно вставити позначені як «*». Для нашого шаблону потрібно така інформація з баз даних GIS 6, як:
- Місце знаходження земельної ділянки;
- Землекорістувач;
- Місце проживання землекорістувача;
- представник;
- Площа земельної ділянки;
Також в коді PascalScript ми можемо побачити, де наші поля при формуванні даних.
Для того, щоб поля були доступні в MS Word'e файл GIS 6.cvs потрібно приєднати до нашого шаблоном. Для цього вмикаємо відображення панелі «Злиття» в MS Word'e.
Після цього через меню «Майстер злиття ...» запускаємо процедуру з'єднання з файлом GIS6.csv (в цьому файлі міститься вся обрана нами інформація для нашого звіту), який був заздалегідь сформований з БД.
У діалозі з правого боку на панелі «Вибір одержувачів» вказуємо «Використання списку» і через «Огляд ...» призначаємо файл GIS6.csv. Списком довантажувати БД буде наш сформований файл GIS6.csv. Як правило, цей файл знаходиться в Program Files \ Common Files \ System \ Ole DB \ Data Links \.
На цьому етапі ми зробили зв'язок документа з нашої сформованої БД.
В результаті отримуємо вставку, зазначену на наступне малюнку.
Таким методом вставляємо інші поля, необхідні для нашого звіту. Зберігаємо наш вордовскій документ, при цьому щоб відображалися наші дані з полів, а не назви полів, необхідно виділити весь текст і натиснути на «Поля / Дані».
Після чого отримаємо такий вигляд.
На даному етапі заповнення семантичної інформації закінчено.
Залишається додати графіку.
Додавання графіки до звіту
Для цього необхідно скопіювати з прикладу шаблону, який йде в складі програми, об'єкт малюнка і вставити в наш шаблон (звіт) на місце, де б Ви хотіли бачити його відображення. І цього буде досить для формування звіту. Відкриваємо через будь-який файл-менеджер або через провідник вордовскій файл, в якому знаходиться графіка (план - GIS6 \ Reports \ _Опісаніе граніц.doc) - копіюємо план з цього документа.
І вставляємо його в наш шаблон. В даному випадку, для прикладу, я просто вставив на чистий аркуш і сформував новий звіт вже з новим планом.
Отриманий шаблон зберігаємо, щоб в подальшому використовувати.