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