Найти тему

Бюджетная форма (часть 2). Как реализовать статью бюджета: в виде строки или в виде аналитики?

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

В нашем примере в качестве входных данных мы получаем Список статей в Экселе, и наша задача заключается в том, чтобы из данной таблицы сформировать связку «Вид Отчета+ Бланк отчета», которая бы удовлетворяла определенным требованиям.

Данные требования могут включать в себя

· Требования к вводу информации (например, форма должна позволять ввод и корректировку данных),

· Ограничения на доступ к справочникам в зависимости от организационного и другого контекста пользователя,

· Требования к формату отчета (например, корпоративный формат и цветовая гамма),

· Требования к выводу информации (например, вывести за прошлые периоды, сценарии, вывести показатели из других отчетов),

· Требования к расчету и анализу информации (структура данных должна быть удобной в качестве источника информации для других форм и отчетов),

· Структура данных должна быть нормализована (например, исключен двойной ввод или расчет одних и тех же данных),

· Скорость обработки (расчета и сохранения) информации (могут быть очень большие расчетные формы, которые долго сохраняются),

· Общее удобство работы пользователя с формой (например, вводить данные вручную в форму, в которой более 100 строк, неудобно),

Мы рассмотрим три основных подхода к решению данной задачи:

Первое решение

1. Сформировать Вид отчета на основании файла Эксель. Строки вида отчета будут совпадать со строками файла Эксель. Вид отчета выглядит следующим образом.

-2

Бланк можно выбрать стандартный и раскрасить под требования Пользователя.

-3

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

Плюсами этого подхода является простота реализации и интуитивное соответствие Вида отчета экселевской форме, что упрощает восприятие архитектуры Пользователем. Мы не зависим от наполнения справочника БДДС, а фактически создаем «свои» статьи БДДС в блоке Бюджетирование для данной формы. Справочник БДДС обычно широко используется в других системах, например Казначействе и БУ, и если вы не хотите с ними согласовывать «свои» статьи, то можно использовать данный подход.

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

Например

· добавление нового вида оплат, приводит к изменению Вида отчета, а это означает переработку бюджетной модели

· для суммирования (агрегирования) могут потребоваться громоздкие формулы, в которых должны быть прямые обращения к строкам формы

· при ссылке на данные строки как на источник данных из других форм, также могут потребоваться громоздкие формулы с перебором строк.

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

Работа аналитика с исходным списком строк также должна включать в себя классификацию строк (или разбиение на группы) в соответствии с определенными принципами. В нашем примере мы говорим про строки, связанные с БДДС, поэтому рекомендуется взять за основу классификацию статей БДДС из какого-нибудь авторитетного источника (например, ПБУ) и применить ее к текущей бизнес ситуации.

-4

Применим данный список к нашей ситуации и мы получим следующую группировку

-5

Тогда архитектура решения может выглядеть следующим образом

Второе решение

Кардинальное решение с использованием аналитик представляет из себя следующий вид отчета с одной строкой.

-6

Преимуществом данного подхода является формирование «единого куба данных», к которому можно обратиться стандартными запросам (СКД, сводными таблицами). При этом различные срезы данных можно получить в пользовательском режиме посредством отборов.

Бланк отчета при этом может иметь несколько реализаций

1. Обыкновенный бланк, в котором можно включать и выключать иерархию

-7

Данный подход рекомендуется, если иерархия справочника соответствует целям бюджетирования. Например она имеет такой вид.

-8

2. Обыкновенные бланк с фиксированной иерархией. Аналитики справочника подвязываются к строкам Бланка через отборы.

-9

Такой подход можно использовать, если иерархия справочника не соответствует иерархии статей бюджетирования. В этом случае Пользователь будет находится в своей среде, в своем контексте названий строк, но использовать аналитики из справочника ДДС.

Третье решение

Вид отчет имеет строки на уровне иерархии с аналитикой БДДС в строке. Т.е. мы прорабатываем форму Эксель, выделяем основные неизменяемые строки, а остальные строки переводим в аналитику (в данном случае БДДС). Это рекомендуемое решение.

-10

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

Плюсами данного подхода являются

· Мы фиксируем основные строки в структуре вида отчета. Далее на эти строки можно ссылаться из других форм.

· Агрегирование данных производится автоматически на уровне синтетического значения. Дополнительных формул не требуется

· Сохраняются необходимые расшифровки до уровня аналитики.

Обычно на практике используется этот смешанный вариант. Он требует методической проработки взаимосвязей между формами, разделения аналитик и строк бюджета, надлежащую классификацию строк. Соответственно от качества решения зависит эффективность бюджетной модели, ее гибкость и масштабируемость.