Пример самостоятельной разработки корпоративной формы отчетности
В составе системы отчетности АИИС КУЭ имеется особое семейство отчетов, объединенных в группу «Сводный отчет». Исходные данные сводных отчетов – показания счетчиков на начало и конец отчетного периода. При использовании показаний соблюдается следующий приоритет:
-
показания на начало месяца (если 1е число месяца является границей отчетного периода),
-
показание на начало суток,
-
показания на момент опроса.
Сводные отчеты замечательны тем, что независимо от наличия в базе данных запрашиваемых отчетом показаний счетчика, соответствующая ячейка Excel листа отчета всегда изображается на «своем» месте. Если показания счетчика не найдены, строка для данной точки учета из отчета не удаляется, ее номер не изменяется, так же как и номера строк всех последующих в отчете точек учета. Такое свойство позволяет использовать первый лист сформированного сводного отчета в качестве источника данных для следующих листов Excel, на которых можно разработать произвольные формы отчетности. Покажем это на следующем примере.
С помощью пункта меню «Отчеты» модуля ЭнергоАнализ откроем окно «Сводный отчет (3 тарифа)» и настроим состав точек учета операциями перетаскивания из дерева ЭнергоСтруктуры и удаления (команды контекстного меню или Ctrl+Del). Далее установим требуемую точность представления данных в отчете и – самое важное, что повлияет на размещение данных в отчете – настроим направления учета и порядок следования точек учета сортировкой колонки «объект: точка учета» или перетаскиванием внутри списка. Нажмем кнопку «Сохранить» и укажем расположение и имя файла нашего отчета (в нашем примере пусть будет C:\отпуск потребителям.rea).

Далее формируем книгу Excel, нажав кнопку «Отчет». Получаем книгу с одним листом «сводный». Выделяем все целиком лист, щелкаем правой кнопкой мыши заголовок любой колонки и в контекстном меню выбираем команду «Показать»: все скрытые ранее колонки стали видны.

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

Желтым цветом выделены ячейки, которые должны заполняться данными с листа «сводный». Вставим нужные ссылки: например, выделяем ячейку С7, печаем в нее символ “=”, означающий начало формулы, переходим на лист «сводный», выделяем ячейку U12 и нажимаем клавишу Enter. Происходит автоматический возврат на Лист 1, и в его ячейке C7 появляется формула =сводный!U12, которая отображает величину отпуска электроэнергии по тарифу №1 с фидера №1 РП-1. Далее (возможно использование автозаполнениz ячеек) вписываем в желтые ячейки остальные формулы, ссылающиеся на нужные ячейки листа «сводный». В ячейку E1 помещаем формулу =СЦЕПИТЬ(ОтпускПериодНачало;" - ";ОтпускПериодКонец), она формируется аналогично, только в нашем примере Excel вместо адресов ячеек автоматически подставил имена регионов. Получаем заполненную данными отчетную форму.

Следующая задача – перенести разработанную форму в книгу шаблона. Поскольку Excel при любых операциях поддерживает постоянство ссылок (если лист перенести или скопировать в другую книгу, окажется, что формулы ссылаются на первоначальную книгу), придется временно превратить формулы в статические данные. Нажимаем Ctrl+H и в диалоге «Найти и заменить» производим замену всех символов “=” на какую-либо необычную комбинацию.


Открываем книгу шаблона сводного отчета, ее имя было указано в окне отчета – C:\ENTEK\Bin\Templates\Сводный.xls .

Добавляем новый лист, копируем на него разработанную отчетную форму и восстанавливаем ее формулы обратной заменой комбинации символов на признак формулы – символ “=”.

В полученном двухлистовом шаблоне переименовываем Лист 1 в отпуск потребителям и сохраняем книгу.

Повторяем формирование отчета через пункт меню «Отчеты» модуля ЭнергоАнализ, получаем отчетный документ – книгу Excel с двумя заполненными листами. Новая форма отчетности готова. Однако правильность заполнения листа нового отпуск потребителям зависит от порядка сортировки точек учета в окне отчета, т.к. от нее напрямую зависит порядок следования данных на листе сводный. С этим ничего сделать нельзя – такова базовая функциональность системы отчетности АИИС КУЭ. Можно открыть ранее сохраненный файл C:\отпуск потребителям.rea и сразу нажать кнопку «Отчет», тогда наполнение данными обоих листов выходной книги Excel будет происходить корректно. Но все равно остается возможность вручную пересортировать точки учета, изменить их состав или направление учета электроэнергии – среда модуля ЭнергоАнализ принципиально предоставляет пользователю максимум свободы для оперирования данными в аналитических целях.
В данном случае правильным является использование субмодуля ЭнергоОтчет: двойным щелчком на файле C:\отпуск потребителям.rea откройте окно сводного отчета прямо из проводника ОС Windows и убедитесь, что процедуры удаления точек учета и изменения направления учета недоступны, а пересортировка списка не влияет на порядок следования точек учета в сформированном отчете.
Чтобы при очередном обновлении ПО шаблон новой формы отчетности не перезаписался одноименным файлом из стандартной поставки, рекомендуется книгу шаблона переименовать (в данном случае, из сводный.xls в, например, отпуск потребителям.xls), после чего вызвать еще раз окно отчета, назначить отчету новый Excel-шаблон и снова сохранить отчет в rea-файл.
Последняя рекомендация: если в формируемом отчете необходимо скрывать лист сводный, создайте с помощью любого текстового редактора в папке шаблонов Bin\Templates файл Reports.ini и впишите в него две строки:
[General]
Hide=1
Созданные формы отчётности можно выводить в меню ЭА "Отчёты".
Для этого открываем окно подготовки отчёта, производим необходимые настройки и сохраняем rea-файл в подпапке \KReports вашего проекта. После чего, в меню ЭА "Отчеты" -> "Готовые отчеты" появится новая строка, с именем сохранённого rea-файла.
