Н е всі користувачі ГІС MapInfo знають. що в комплект поставки цієї програми входить генератор звітів Crystal Reports. Можливості його настільки широкі. що з його допомогою можна створювати звіти практично будь-якої складності. Звичайно. для роздруківки вашого списку можна скористатися створенням макета (Layouts), помістивши на нього фрейм з вашої таблицею. Але це врятує лише в найпростішому випадку. Справжні можливості по створенню складних звітів відкриваються лише при використанні Crystal Reports.
Суворо кажучи. можна підбити якісь результати. використовуючи інструмент SQL- запитів. створивши нову таблицю для Звіту. Але. знову ж таки. набагато простіше перекласти цю роботу на Crystal Reports.
В якості навчального прикладу візьмемо карту сільгоспугідь на адміністративний район з наступною структурою.
![Створення звітів в гис mapinfo (створення) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-ad266ed9.jpg)
На малюнку вище приведена структура "навчальної" карти з наступними полями. FARM_ID - код господарства. FARM_NAME - найменування господарства. FLP_ID - код ділянки. Area - його площа.
Для побудови найпростішого звіту йдемо в меню Програми> Crystal Reports> Новий звіт і бачимо наступний макет звіту.
![Створення звітів в гис mapinfo (тиснемо праву кнопку) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-d191d709.jpg)
Як бачимо. в секцію звіту Details поміщені поля з нашої навчальної таблиці. а в "шапку" звіту (секція Page Header) - найменування полів. Установ полів (вирівнювання. Довжина. Фонт. Округлення числових величин і т.д.) доступні по правій кнопці з контекстного меню Format Fields:
Тут розміщені основні опції відображення поля.
Suppress - придушення (приховування) поля. Horizontal Aligment - горизонтальне вирівнювання поля. Keep Object Together - якщо ця опція буде скинута. то не поміститься частина поля буде перенесена на сл. рядок. Close Border ob Page Break - виключає розрив поля при переході на сл. сторінку звіту
Для числових полів (типу Area в нашому випадку) доступні наступні настройки.
![Створення звітів в гис mapinfo (звітів) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-3b78e356.jpg)
Призначення опцій. Suppress if Zero - Більше не показувати поле при нульовому значенні. De сimal Separator - знак роздільник цілої та дробової частини. Thousands Separator - поділ розрядів тисяч. Leading Zero - друк / НЕ друк провідних нулів
![Створення звітів в гис mapinfo (контуру площею менше) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-74efaa49.jpg)
Таак. Найпростіший звіт створили. Тепер трохи ускладнити завдання-нехай необхідно. скажімо. придушити контуру з площею менше 10 гектар. Для виконання цього завдання йдемо на вкладку Design, стаємо на секцію звіту Details і по правій кнопці вибираємо контекстне меню Format і тиснемо на пимпочку якраз навпроти Suppress.
![Створення звітів в гис mapinfo (контуру площею менше) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-b474cddd.jpg)
![Створення звітів в гис mapinfo (контуру площею менше) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-2cbab87c.jpg)
Тепер наш звіт буде виглядати так.
![Створення звітів в гис mapinfo (створення) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-82c692ec.jpg)
Як бачимо. контуру з площею менше 10 гектар в звіт не ввійшли.
Ускладнити завдання далі. Припустимо. у шефа виникло бажання виділити контуру з площею понад 50 гектар червоним кольором. Немає проблем! Стаємо на поле звіту Area, тиснемо на праву кнопку і вибираємо в контекстному меню пункт Border and Colors:
![Створення звітів в гис mapinfo (контуру площею менш гектар) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-6c0d8653.jpg)
![Створення звітів в гис mapinfo (звітів) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-b629be09.jpg)
Отримуємо звіт в наступному вигляді.
![Створення звітів в гис mapinfo (тиснемо праву кнопку) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-dedaa7ae.jpg)
![Створення звітів в гис mapinfo (створення) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-33389f98.jpg)
і отримуємо результат.
![Створення звітів в гис mapinfo (контуру площею менше) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-9887aaee.jpg)
Ось тепер все правильно. Значення площі понад 50 гектар підфарбовані червоним кольором.
Йдемо далі. Тепер хотілося б згрупувати наші записи в звіті по господарствах. Для цього в звіт необхідно додати угруповання за кодом господарства (поле FARM_ID). Йдемо в меню Insert> Group.
![Створення звітів в гис mapinfo (контуру площею менше) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-62d1e6df.jpg)
Трохи ретушуючи звіт і тепер він може виглядати так (c урахуванням включеної угруповання).
![Створення звітів в гис mapinfo (контуру площею менше) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-eb174c56.jpg)
Далі хотілося б підбивати суму площ контурів в розрізі господарств. Для цього йдемо Insert> Summary і вставляємо в звіт вказаний проміжний підсумок.
![Створення звітів в гис mapinfo (контуру площею менше) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-9eb11d2a.jpg)
Так само хотілося б уникнути повторень назви господарств в звіті (ну так. Щоб замість повторюваних назв були прочерки). Тут нам доведеться створити формулу. Для цього знову йдемо в меню Insert> FieldObject. вибираємо в формі, що з'явилася пункт Formula Fields:
![Створення звітів в гис mapinfo (mapinfo) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-5ec197a5.jpg)
Далі тиснемо на праву кнопку і створюємо нову формулу з ім'ям NoReply з наступним виразом і вставляємо її в звіт замість поля FARM_NAME (Назва господарства).
![Створення звітів в гис mapinfo (контуру площею менше) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-7b29dcf8.jpg)
Тут функція Previous повертає значення поля в попередньому записі.
Після всіх цих маніпуляцій конструктор нашого звіту може виглядати так.
![Створення звітів в гис mapinfo (mapinfo) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-b10357d9.jpg)
А звіт в остаточному вигляді так.
![Створення звітів в гис mapinfo (контуру площею менш гектар) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-bd993eee.jpg)
Тут в кінці звіту ми вставили кінцевий результат за сумою площ всіх ділянок. Робиться це так. меню Insert> Grand Total:
![Створення звітів в гис mapinfo (контуру площею менш гектар) Створення звітів в гис mapinfo](https://images-on-off.com/images/119/sozdanieotchetovvgismapinfo-fd35de4a.jpg)
і в c тавляются це поле в секцію звіту Report Footer.
Зрозуміло. в короткій статті неможливо описати всі можливості генератора Звітів Crystal Reports. Але отриманих тут даних буде цілком достатньо. щоб самостійно приступити до підготовки нескладних форм. Основні моменти вже розібрані.