Описание технологии формирования отчетов. Дополнительные возможности программы Навигатор

20.02.12 | Раздел публикации: База данных недвижимости Навигатор

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

С синтаксической точки зрения язык на котором пишутся шаблоны отчетов «Навигатора» является расширением обычного НТML (см. например http://www.w3.org/TR/REC-html40/) рядом дополнительных ключевых слов, определяющих различные параметры отчета.

В заголовке шаблона (в теге-комментарии) с помощью выделенных ключевых слов можно указать следующие параметры шаблона:
 
${ReportName} имя шаблона (вставляется в список ComboBox-а)
${ReportDescription} описание шаблона
${PageOrientation} ориентация страницы по умолчанию (1-Книжная, 2-Альбомная) Эти три опции в настоящий момент не работают, т.к. IE документировано не поддерживает настройку параметров печати.
${PageHeader} верхний колонтитул по умолчанию
${PageFooter} нижний колонтитул по умолчанию
${ReportShowFilter} показывать или нет параметры поиска (1-Да 0-Нет 3-Да всегда 2-Нет всегда)
${ReportShowSource} показывать или нет источник информации (1-Да 0-Нет 3-Да всегда 2-Нет всегда)
${ReportHideAddress} показывать или нет источник адрес (1-Да 0-Нет 3-Да всегда 2-Нет всегда)
${UseIE55Template} использовать или нет предварительный просмотр Internet Explorer 5.5 (1-да, 0-нет)
${IE55TemplateSource} имя шаблона для предварительного просмотра:

  • StdIE55Land.html - для альбомной печати
  • StdIE55Port.html - для книжной печати

             если этот параметр не указан будет использован стандартный предпросмотр
${HasFullHistory} показать историю публикаций 1- соответствующий пункт в окне настроек печати становится активным

Значение параметра шаблона должно располагаться между двумя последовательными ключевыми словами. Например:
<!--
${ReportName}Пример отчета${ReportName}
${ReportDescription}Пример шаблона отчета. За основу взят стандартный отчет с большим числом колонок.${ReportDescription}
${ReportShowFilter}0${ReportShowFilter}
${ReportHideAddress}0${ReportHideAddress}
${ReportShowHistory}0${ReportShowHistory}
${ReportShowSource}1${ReportShowSource}
${PageOrientation}2${PageOrientation}
${HasFullHistory}1${HasFullHistory}
-->


${CnrReport} Этот параметр необходимо указывать для всех отчетов по загородной недвижимости
${BsnReport} Этот параметр необходимо указывать для всех отчетов по коммерческой недвижимости

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

В шаблоне отчета можно использовать следующие ключевые слова:
${CurrentUser} имя пользователя, который печатает отчет
${QueryName} название запроса, на основе которого делается отчет
${QueryParams} параметры поиска
${Today} дата печати отчета

Список ключевых слов, обозначающих элементы объявления, которые должны следовать между ключевыми словами ${BeginReportDetails} и ${EndReportDetails}. Звездочкой помечены те значения, которые зависят от выбранных настроек:
${BeginReportDetails} -начало описания объявления
${fnRooms} число комнат
${feIzol} тип комнат (изолиров. смежн.)
${ffComSq} общая площадь
${ffResSq} жилая площадь
${ffKitchSq} площадь кухни
${fszComplexSq} площадь по комнатам
${fnFloor} этаж
${fnFloors} этажность
${ffPrice} цена в тыс. руб.*
${ffPriceM2} цена за кв. м.*
${feHouseType} тип дома
${fidMetro} метро
${feMetroDist} расстояние от метро
${fidStreet} улица
${fszHouse} дом*
${fAddress} адрес (улица и дом*)
${ftFirst} дата появления объявления
${ftLast} дата последней публикации объявления
${feSource} источник информации*
${fszPhone} телефоны*
${fShortHist} краткая история публикации (первая, последняя, источник*)
${fFullHist} полная история публикаций* (дата, источник*, цена*)
${fDopInfo} дополнительная информация, включающая адрес*
${fProperties} дополнительная информация без адреса
${fShortProps} дополнительная информация без адреса и без Б Т С П
${feBalcony} балкон
${fePhone} телефон
${feToilet} санузел
${feFloor} тип пола
${feGarbage} мусоропровод
${feElevator} лифт
${fszPhone1} ${fszPhone2} ${fszPhone3} ${fszPhone4} ${fszPhone5} телефоны (после каждого вставляется <br>)

Ключевые слова для отчетов по загородной недвижимости
${feCnrRailway} направление
${feCnrHighway} шоссе
${ffCnrRange} расстояние от Москвы
${ffCnrLandSq} площадь участка в сотках
${ffCnrHouseSq} площадь дома в кв. м
${feCnrHouseType} тип объекта
${ffCnrPrice} цена в тыс. руб.*
${feCnrWaterPipe} водопровод
${feCnrGasPipe} газ
${feCnrElectricity} электричество
${feCnrGuard} охрана
${ftCnrFirst} дата появления объявления
${ftCnrLast} дата последнего обновления
${feCnrSource} источник информации
${feCnrSellState} статус продажи (аванс, задаток и т.п.)
${fszCnrPhone} телефоны
${fidCnrMetro} ближайший город
${fszCnrText} полный текст объявления
${fszCnrPrivate} собственный комментарий
${fidExclusive} идентификатор эксклюзива
Ключевые слова для отчетов по коммерческой недвижимости
${feBsnOpType} тип операции (аренда или продажа)
${feBsnObject} тип объекта недвижимости (склад, магазин, и.т.д.)
${fidBsnMetro} метро
${fidBsnStreet} улица
${ffBsnSquare} площадь в кв.м.
${ffBsnPrice} цена продажи тыс. руб.*
${ffBsnPriceM2} арендная плата [руб./кв.м./год]*
${ftBsnFirst} дата появления объявления
${ftBsnLast} дата последней публикации
${feBsnSource} источник информации
${feBsnSellState} статус продажи (аванс, продана, от собственника, и.т.д)
${fszBsnPhone} телефоны продавца
${fszBsnText} полный текст объявления
${fszBsnPrivate} собственный комментарий
${fBsnShortHist} краткая история публикаций
${fBsnFullHist} полная история публикаций
${EndReportDetails} - конец описания объявления

Ключевые слова, обозначающие агрегатные значения выборки (они как правило указываются в конце отчета, после ${EndReportDetails})
${NumberOfFlats} количество объявлений
${AveragePrice} средняя цена
${M2AveragePrice} средняя цена за кв. м.

Пробелы между символами $ и { недопустимы.

Пример шаблона отчета

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<!--
${ReportName}Пример отчета${ReportName}
${ReportDescription}Пример шаблона отчета. За основу взят стандартный отчет с большим числом колонок${ReportDescription}
${ReportShowFilter}0${ReportShowFilter}
${ReportHideAddress}0${ReportHideAddress}
${ReportShowHistory}0${ReportShowHistory}
${ReportShowSource}1${ReportShowSource}
${PageOrientation}2${PageOrientation}
${HasFullHistory}1${HasFullHistory}
-->
<style type="text/css">
* { margin: 0; padding: 0; }
body { font-family: Arial, sans-serif; font-size: 8pt; }
.nowrap { white-space: nowrap; }
table#results { border: none; border-collapse: collapse; empty-cells: show; margin: 5px 0; }
#results td, #results th { border: 1px solid #999; vertical-align: top; text-align: center; padding: 1px 3px; }
#results td.left { text-align: left; }
#results th { background: #f1f1f1; }
th#c1, th#c14 { width: 2%; }
th#c2 { width: 12%; }
th#c3, th#c12 { width: 3%; }
th#c4 { width: 13%; }
th#c5, th#c13 { width: 5%; }
th#c6 { width: 9%; }
th#c7, th#c8, th#c9, th#c10 { width: 1%; }
th#c11 { width: 4%; }
th#c15 { width: 9%; }
th#c16 { width: 23%; }
table#stat { border: none; margin-top: 10px; }
#stat td { font-weight: bold; padding-left: 10px; }
#stat td:first-child { white-space: nowrap; }
</style>
<title>${CurrentUser}</title>
</head>
<body>
${QueryParams}
<table id="results">
<tr>
<th id="c1">К</th>
<th id="c2">Метро</th>
<th id="c3">от М</th>
<th id="c4">Адрес</th>
<th id="c5">Дом</th>
<th id="c6">Площадь</th>
<th id="c7">Б</th>
<th id="c8">Т</th>
<th id="c9">С</th>
<th id="c10">П</th>
<th id="c11">Цена ${PriceUnit}</th>
<th id="c12">${PriceM2Unit}</th>
<th id="c13">Дата</th>
<th id="c14">Ист.</th>
<th id="c15">Телефоны</th>
<th id="c16">ДопИнфо</th>
</tr>
${BeginReportDetails}
<tr>
<td>${fnRooms}${feIzol}</td>
<td class="nowrap left">${fidMetro}</td>
<td>${feMetroDist}</td>
<td class="nowrap left">${fAddress}</td>
<td>${fnFloor}/${fnFloors} ${feHouseType}</td>
<td>${ffComSq}/${ffResSq} к${ffKitchSq},${fszComplexSq}</td>
<td>${feBalcony}</td>
<td>${fePhone}</td>
<td>${feToilet}</td>
<td>${feFloor}</td>
<td>${ffPrice}</td>
<td>${ffPriceM2}</td>
<td>${ftLast}</td>
<td>${feSource}</td>
<td>${fszPhone}</td>
<td class="left">${fShortProps}</td>
</tr>
${EndReportDetails}
</table>
<table id="stat">
<tr>
<td>Всего предложений</td>
<td>${NumberOfFlats}</td>
</tr>
<tr>
<td>Средняя стоимость квартиры</td>
<td>${AveragePrice}</td>
</tr>
<tr>
<td>Средняя стоимость кв/метра</td>
<td>${M2AveragePrice}</td>
</tr>
</table>
</body>
</html>


При использовании этого шаблона в окне настроек печати были указаны цены в рублях, а рекламные телефоны изменены на контактный телефон ООО «Навигатор Риэлти».

          Недвижимость
    
 
info В обработку принимаются вопросы только по Корпоративному ПО и компьютерной технике для использования в организациях. Отправить запрос
info Техподдержка для Домашних пользователей (персональные версии программ, компьютер, ноутбук, принтер, сканер, монитор) производится Службами поддержки Производителей