Целью создания данной обработки было дать возможность пользователю самостоятельно получать нужную информацию и при необходимости создавать нужные отчеты, которые не требуют вмешательства программиста (под вмешательством подразумеваю отчеты, которые не нужно писать кодом).
Консоль запросов/отчетов.
Консоль, представляет собой простой и наглядный инструмент для получения нужной информации из базы данных 1С7.7 в режиме «пользователя» с последующей ее обработки то ли в виде отчета, то ли в виде анализа в КУБе (типа OLAP). Другими словами, пользователь сам может строить себе необходимые отчеты.
Данный инструмент универсален и работает в любой конфигурации 1С версии 7.7. Но для его полноценной работы необходимы дополнительные библиотеки (FormEX, Йоксель, ReportEX.dll). Данные библиотеки необходимо скопировать в каталог информационной базы.
Что умеет данная консоль:
Работа с консолью.
Главное окно консоли выглядит следующим образом:
Для того чтобы создать запрос необходимо нажать на кнопку «Добавить» и в появившемся окне ввести имя запроса (отчета), после чего нажать на кнопку «Конструктор».
Конструктор выглядит примерно, так же как и в самой платформе 1С7.7 если его вызывать в режиме конфигуратора, но есть небольшие отличия.
На первой «странице» конструктора необходимо указать такие параметры как «Период» (его можно будет указывать самостоятельно, либо выбрать существующие уже варианты), а также указать параметры обработки данных (Проведенные, Не проведенные, Помеченные на удаление и др.) и нажать кнопку «Выбрать метаданные>>».
«Страница» выбора метаданных имеет три поля. Первое отображает в виде дерева все метаданные конфигурации. При двойном щелчке левой кнопкой мыши на нужном нам элементе данный вид метаданного (справочник, документ, регистр) попадает во второе поле «Таблицы». Таким образом, можно выбрать сразу только те виды метаданных, с которыми будем работать, а не искать их постоянно во всем дереве.
В поле «Таблицы» выбранные нами значения так же отображаются в виде дерева и из него тем же двойным щелчком на нужном нам уже реквизите, реквизит попадает в последнее поле «Поля». Если же нужно добавить связь, т.е. один реквизит из одного объекта нужно связать с реквизитом из другого объекта, то нужно нажать на кнопку «Добавить связь». В этом же поле «Поля» можно указать синонимы наших выбранных реквизитов, т.е. поле «Сумма» можно обозвать другим именем, например «СуммаРасход».
После того как с метаданными определились, нажимаем кнопку «Добавить функции».
В появившемся окне, пользователю предоставляется возможность добавить функции, группировки и условия. Функции в зависимости от выбранного объекта отличаются, например, для числовых реквизитов (не из регистров) можно указывать такие предопределенные функции как, Сумма, Среднее, Максимум, Минимум и т.д., для регистров Начальный остаток и т.д. Функции могут быть с условиями, например можно указать, что считать из регистра сумму только тогда когда выполниться определенное условие.
В группировках можно указать, как группировать наши данные, а также можно указать сортировку, т.е. упорядочивание.
В условиях можно добавлять как простые условия типа равно, не равно, больше меньше и т.д., так и писать сложные.
После того как все указали, нажимаем кнопку «Готово», после чего открывается главная страница консоли с сформированным запросом. Далее, если в запросе указаны были параметры (условия) нажимаем кнопку «Получить параметры». Заполняется таблица с параметрами, которые нужно указать для нашего запроса. Данная таблица содержит три колонки: Параметр (отображает имя параметра), Тип (пользователю необходимо указать какой у параметра будет тип, т.е. откуда будет выбираться значение) и Значение (здесь указывается значение для параметра, документ, элемент справочника, перечисление, другой ранее созданный запрос).
После того как все параметры заполнены нажимаем «Сформировать» - выполняется запрос. Если запрос написан неправильно, то система выдаст предупреждение. На форме так же есть информация о времени выполнения запроса/отчета, количестве полученных записей.
Хотелось бы отдельно выделить возможность передавать в запрос параметром – результат выполнения другого запроса. Видно на рисунке выше. В запрос2 в параметр мСпк передан результат выполнения запроса1.
Полученный результат запроса можно вывести как таблицу значений на весь экран, так и в виде простого отчета:
Есть так же возможность вывести результат с группировками, указанными в запросе (любое количество):
Все эти отчеты можно сохранить в Excel.
Для более детального анализа результат можно выгрузить в КУБ. Для этого необходимо нажать на соответствующую кнопку «Вывод результата в КУБ». После чего будет задан вопрос, «Указать дополнительные формулы для КУБа». Если ответ – нет, то выгружается в КУБ просто результат запроса. Если ответить – да, тогда откроется форма «Конструктор формул для КУБа», в котором предоставлена возможность самостоятельно добавить новое поле в КУБ по своей формуле.
В данном конструкторе формул реализован механизм рекурсии, т.е. можно в формуле использовать помимо ресурсов из запроса еще и созданные ранее формулы, другими словами может быть формула в формуле.
При выгрузке результата в КУБ с формулами, так же выполняется проверка на корректность написанных формул, а так же проверяются все формулы на несуществующие ресурсы.
Все настройки, т.е. запросы, формулы для куба по каждому запросу – сохраняются для каждого пользователя отдельно. Для этого необходимо указать каталог для хранения файла с настройками, что дает возможность при следующем запуске обработки продолжить работу со своими ранее написанными запросами/отчетами.
Таким образом, данная консоль может заменить пользователю ряд штатных отчетов, помочь в получении нужной информации, оперативно выявить ошибки в базе данных и т.д.