Ода RGW

Алексей Васильев, 24.08.2015

Ода RGW

RGW (Report Generator for Windows) — Генератор Финансовых Отчетов для Scala/iScala

Создание отчёта фиксированной формы в RGW

Автор: Рушан Абдряшитов, технический консультант компании Epicor Software

На мой взгляд, RG, а затем RGW – это целая эпоха в мире ERP систем Scala/iScala в России и некоторых других странах Европы и СНГ. Более того, как под словом «ксерокс» мы подразумеваем копировальный аппарат, так и RGW у некоторых клиентов стал чем-то большим, чем просто инструмент, а RG иногда расшифровывают как «Рушан Генератор» (по имени его автора). Первоначально «генератор» задумывался как инструмент, ориентированный исключительно на конечного пользователя, не обладающего какими-либо техническими знаниями. Приведу небольшую выдержку из руководства пользователя:

«Пользователю предоставляется возможность проектировать отчеты в MS Excel – так называемые отчетные формы. Построение отчета начинается с создания его внешнего вида как обычного Workbook в Excel’e, размещения на форме окошек с преобразованиями – интуитивно понятными выражениями-формулами типа «Прибавить обороты по счетам за период: 60*» или «Вычесть остатки на счетах (Дт) на начало: 510002» — и критериями – дополнительными условиями на данные, включаемые в отчет, также имеющими наглядный смысл вроде «Номер проводки < 200012» или «Тип счета Гл. Книги = 2». После запуска отчета окошки замещаются числовыми результатами, полученными обработкой базы данных Scala согласно заданным преобразованиям и критериям, и к исходному Workbook’у добавляется новая Excel-страница (Sheet) с готовым отчетом. При этом сама отчетная форма остается неизменной на отдельной странице с зарезервированным именем Report Form. При необходимости ее можно легко изменить: добавить новые окошки, удалить существующие, откорректировать содержимое окошек (до 32000 на одну форму). В одном отчете можно совмещать данные разных компаний и разных финансовых годов»

В начале истории Scala в России некоторым пользователям, ранее не работавшим с компьютерами, «генератор» из-за его простоты и дружелюбности по отношению к пользователю помог поверить в то, что компьютер и Scala – это совсем не то, что невозможно освоить. Наверное, я не совру, если скажу, что если не было бы RG/RGW, то, возможно, и Scala в своё время не распространилась бы на такое количество компаний в 90-е годы. Рушан не прекращал работать над своим детищем, постоянно совершенствуя его, внося улучшения и новые функции, необходимые пользователям. В результате возможности «генератора» выросли, но одновременно с этим изменились и требования к технической подготовке человека, способного создавать отчёты, не содержащие окошек с преобразованиями. Одновременно менялась и работа самих пользователей, нагрузка на бухгалтеров росла и сейчас очень распространён подход, когда бухгалтер говорит: «некогда мне разбираться, может быть, вы сделаете всё за меня?». Таким образом, появились люди с техническим бэкграундом, умеющие с помощью RGW обращаться к базе данных и производить отчёты из любых модулей системы, не только финансовых.

Ещё небольшая выдержка из руководства пользователя:

«Наряду с отчетными формами в состав Генератора включены стандартные отчеты, написанные на Crystal Reports for Scala. Так же, как и отчетные формы, стандартные отчеты могут разрабатываться самим пользователем и при соблюдении необременительных правил их подготовки могут быть легко добавлены к остальным отчетам Генератора. После того, как отчет подготовлен в Crystal’е, подключение его к общей системе отчетов Генератора практически сводится к простому копированию RPT-файла в служебный каталог с другими стандартными отчетами.

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

Разумеется, если вы умеете работать с Crystal’ом или MS SQL Server Reporting Services, то вроде как вам и RGW не требуется. Однако до последнего времени это было не совсем так, если не сказать, «совсем не так». Давайте разберёмся, что делает RGW.

  • Строит отчёты фиксированной формы (Баланс, отчёт о прибыли и убытках и т.п.) – это как раз те самые отчёты, где используются окошки с преобразованиями – интуитивно понятными выражениями-формулами типа «Прибавить обороты по счетам за период: 60*» или «Вычесть остатки на счетах (Дт) на начало: 510002».
  • Исполняет отчёты, написанные на Crystal’е. В комплект поставки входит несколько стандартных отчётов.
  • Позволяет строить отчёты с переменным количеством строк с помощью простого запроса к базе данных или обращению к хранимой процедуре.
  • Позволяет просматривать структуру таблиц базы данных.
  • Выполняет автоматическое или полуавтоматическое преобразование многострочных проводок ГК к виду «один Дебет, один Кредит, сумма» и записывает преобразованные данные в свою таблицу RG_MEMORY. На данных из этой таблицы строится отчёт о корреспонденции счетов («Шахматка»).

А теперь попытаемся выяснить, чем для каждой конкретной задачи его можно заменить:

Номер Краткое описание Чем можно заменить Комментарий
1 Строит отчёты фиксированной формы AFR (Advanced Financial Reporting) Новый продукт
2 Исполняет отчёты, написанные на Crystal’е MS SQL Server Reporting Services Компонент сервера баз данных MS SQL. Входит в стандартную поставку (не требуется приобретать дополнительно).
3 Позволяет строить отчёты с переменным количеством строк с помощью запроса к базе данных MS SQL Server Reporting Services Компонент сервера баз данных MS SQL. Входит в стандартную поставку (не требуется приобретать дополнительно)
4 Позволяет просматривать структуру таблиц базы данных Отчёт MS SQL Server Reporting Services Распространяется свободно
5 Выполняет автоматическое или полуавтоматическое преобразование многострочных проводок ГК к виду «один Дебет, один Кредит, сумма» Новая функциональность iScala 3.0
Строит отчёт о корреспонденции счетов («Шахматка») Отчёт MS SQL Server Reporting Services

Для решения задачи № 5 RGW оставался «незаменяемым» вплоть до недавнего времени, пока не появилась новая функциональность iScala 3.0, касающаяся разнесения многострочных проводок.

Для решения задачи № 1 RGW оставался «не вполне заменяемым» до появления нового отчётного средства Epicor AFR, позволяющего легко создавать отчёты фиксированной формы. AFR построен на новых современных технологиях, что позволяет просматривать отчёты как в Excel’е, так и через веб интерфейс.

В настоящий момент все отчёты, ранее строившиеся с помощью RGW, могут быть построены с помощью современных технологий, с использованием «продвинутой» системы управления доступом, с возможностью просмотра через веб браузер.
Задать вопрос или оставить отзыв:

    Ваше имя или псевдоним (обязательно)

    Ваш e-mail (обязательно)

    Тема (обязательно)

    Сообщение