Обработка и формирование отчета
Схема с адресом, телефоном и ФИО
Отчет с адресом, телефоном и ФИО
Ранее в одной из статей раздела Схема реестра мы рассмотрели пример схемы для реестра, содержащего адрес, телефон, а также ФИО контактного лица компании. Колонки и секции данной схемы представлены на следующем рисунке.
Согласно данной схеме, при обработке реестра кроме корректировки почтовых адресов необходимо привести в порядок телефонный номер компании, восстановив пропущенный в нем код зоны, а также исправить ФИО контактного лица. Предположим, что в результате обработки мы хотим получить таблицу, содержащую следующие колонки: идентификатор компании, стандартизованный адрес, телефон и ФИО контактного лица компании. Причем перед ФИО мы хотим в отдельной колонке вывести должность персоны. Несмотря на то, что сервис не обрабатывает идентификатор компании, а также должность персоны, их все равно можно включить в отчет, взяв из исходных колонок реестра.
Для решения поставленной задачи откроем вкладку «Отчеты с результатами обработки» и удалим все типовые отчеты, которые сервис предложил при создании данной схемы. Для удаления отчета из списка необходимо нажать на кнопку с корзиной напротив его названия. После этого создадим новый пустой отчет, щелкнув мышкой на кнопке «Создать новый отчет». В результате вкладка с отчетами редактора схемы должна принять следующий вид.
Теперь можно приступить к редактированию данного отчета. Для этого необходимо нажать на кнопку открытия редактора отчета, как показано на предыдущем рисунке.
В результате этих действий откроется редактор пустого отчета. В первую очередь необходимо дать ему какое-нибудь название. Так как для одного реестра можно настроить формирование нескольких отчетов, то целесообразно давать отчетам такие названия, чтобы имелась возможность отличать их друг от друга. Для нашего примера назовем его «Основной отчет о компаниях».
Теперь мы можем добавлять в отчет колонки с интересующей нас информацией. Исходя из нашей вымышленной задачи, первой должна идти колонка с идентификатором компании. Чтобы добавить ее в отчет, необходимо напротив фразы «Добавить в отчет» нажать кнопку «Колонка реестра» и в выпадающем списке выбрать колонку реестра «ID компании». В результате настройки отчета примут следующий вид.
Кнопка «Секция реестра» позволяет выбрать и включить в отчет не отдельную колонку, а целиком секцию. Это может быть удобно в случае, если секция содержит много колонок, и все они должны присутствовать в отчете. Чтобы не включать в отчет колонки секции по отдельности, можно одним щелчком добавить их в виде цельной секции. При этом колонки секции будут выводиться в отчет в том порядке, в котором они присутствуют именно в секции, а не в порядке их следования в реестре (напомним, что порядок следования колонок в рамках секции можно делать отличным от порядка их следования в исходном реестре).
В нашем рассматриваемом примере после идентификатора компании в отчете должны присутствовать колонки, содержащие стандартизованный адрес компании. Чтобы добавить их в отчет, необходимо нажать на кнопку «Результат обработки секции» и выбрать из выпадающего списка секций реестра ту из них, которая соответствует обработанному адресу компании, как это продемонстрировано на следующем рисунке.
Появившийся после этого в отчете элемент содержит достаточно много информации, поэтому рассмотрим его более подробно.
Для начала следует отметить, что в «шапке» данного элемента указан тип данных «Адрес», он определяет тип компоновок, которые можно использовать для форматирования данного результата обработки. Сервис принял решение использовать компоновку «Только индекс и улица», поскольку она объявлена компоновкой по умолчанию в разделе Компоновки адреса личного кабинета. При необходимости, можно выбрать другую компоновку, как это отображено на следующем рисунке.
После выбора другой компоновки сервис автоматически откроет ее редактор, чтобы можно было ознакомиться с ее содержимым и при необходимости внести изменения. Текущую компоновку также можно отредактировать, открыв ее редактор, с помощью кнопки редактирования, как это показано на следующем рисунке.
Важно понимать, что редактирование компоновки в рамках отчета никак не влияет на ее оригинал, выбранный из выпадающего списка, поскольку, когда мы выбираем компоновку, происходит ее полное копирование. Последующее редактирование компоновки в рамках отчета приводит к изменению именно копии, хранимой в отчете, а не ее оригинала. То же самое касается редактирования оригинала, если в дальнейшем мы решим изменить оригинал компоновки в разделе Компоновки адресов личного кабинета или вообще удалим ее оттуда, это никак не повлияет на ее копии, используемые в отчетах.
Теперь обратим внимание на флажок «Выводить все варианты». Если установить его, то при выводе неоднозначно распознанных адресов в отчет будут попадать все их варианты. Причем каждый вариант будет выводиться в отдельной строке отчета. Если данный флажок не установлен, как на рисунке выше, то для адреса будет выведен только один наиболее подходящий вариант.
Рядом с флажком «Выводить все варианты» отображен выпадающий список из дополнительных условий, позволяющих отбирать в отчет только те записи, результаты обработки которых отвечают этим условиям.
Если результат обработки записи не будет удовлетворять этим условиям, то в отчет не будет выводиться вся строка. Возможны следующие значения данной опции.
Напоследок обратим внимание на информацию о секции реестра, результату обработки которой соответствует данный элемент отчета, как показано на следующем рисунке.
В общем случае в данный элемент отчета можно добавить несколько однотипных секций, а не одну, как это отражено на рисунке. Например, если бы у нас в исходной строке реестра было два альтернативных адреса компании, каждый из которых был бы заключен и обработан в рамках своей собственной секции, то при выводе в отчет их результаты можно было бы скомбинировать в этом одном элементе отчета. Такой достаточно сложный сценарий мы рассмотрим в другой статье, а сейчас продолжим наполнять отчет.
Следующим, по нашей задумке, в отчет должен выводиться результат стандартизации телефона компании. Для его добавления нужно нажать кнопку «Результат обработки секции» и выбрать секцию, соответствующую обработанному телефону, как это продемонстрировано на следующем рисунке.
После выполнения этих действий появится новый элемент отчета, соответствующий результату стандартизации телефона компании. Отметим, что в отличие от предыдущего элемента отчета данный элемент имеет тип «Телефон», поэтому сервис предложил другую компоновку для форматирования результата. В данном примере эта компоновка называется «Номер и оператор», именно она обозначена компоновкой по умолчанию в разделе «Компоновки телефонов» нашего личного кабинета. Остальные настройки данного элемента отчета аналогичны настройкам предыдущего элемента, рассмотренным выше.
Аналогичным образом добавим в отчет результат обработки ФИО контактного лица компании.
Также мы планировали вывести в отчет должность контактного лица компании, эти данные берутся как есть из соответствующей колонки исходного реестра, поэтому для включения их в отчет необходимо выбрать соответствующую колонку реестра из выпадающего списка после нажатия на кнопку «Колонка реестра». Аналогично ранее мы добавляли в отчет колонку «ID компании». Поскольку мы хотим, чтобы должность выводилась перед стандартизованным ФИО контактного лица, поменяем местами эти два элемента отчета, как показано на следующем рисунке.
На этом настройка отчета закончилась. Мы добавили в отчет пять следующих элементов.
Пример отчета, сформированного в соответствии с выполненными настройками, приведен на следующем рисунке.
Здесь отдельно отмечены колонки, содержащие результат обработки соответствующих секций реестра. Напомним, что исходный реестр содержит три секции, соответствующие адресу, телефонному номеру и ФИО контактного лица компании. Внешний вид исходного реестра и его секций приведен на первом рисунке в начале данной статьи.
Также отметим, что для краткости здесь приведен демонстрационный пример, согласно которому выводится не полный результат стандартизации адреса, а лишь его почтовый индекс и название улицы. Это достигается за счет использования компоновки «Только индекс и улица», в настройках которой задан вывод лишь этих двух адресных элементов. В реальных задачах целесообразно создавать компоновки, позволяющие выводить в отчет все компоненты нормализованного адреса.