gifts2017

Конструктор отчета (на основе типового шаблона СКД)

Опубликовал Вадим Миляев (PrinzOfMunchen) в раздел Программирование - Инструментарий

Конструктор для быстрого и интерактивного создания отчета на основе типового шаблона СКД за несколько шагов, с минимальным кодингом.

 

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

 

Введение.

Одной из основных задач программиста 1С является создание разнообразных отчетов. И всё бы ничего, но приходиться их отдавать пользователям, оторым не всегда легко разобраться с тем как эти отчеты настроить, как добавить одну колоночку, как закрасить другую и т.д.....А ещё переодически приходится дописывать чужие отчеты, да ещё и за начинающими программистами...И ведь практически каждый пишет отчеты по-своему, со своими "велосипедами"...И каждый раз приходится обучать пользователя работе с новым отчетом, который порой самому легче написать с нуля, чем разобраться...

Так вот какое решения я нашел: писать все отчеты с использованием шаблона отчета на СКД, который используется 1С-цами. Во-первых, это СКД, а значит гибкие настройки.  Во-вторых, он удобен и известен пользователю, так как используется в типовых решениях. Да и работает практически на всех конфигурациях (просто не проверял на абсолютно всех, но основные типовые решения точно ошибок не вызовут). Однако пересадить своих коллег на использование шаблона не совсем легко: нужно знать куда вписываться....разбираться времени нет...Собственно поэтому и родилась такая разработка. 

 

Суть метода.

Перейдем к сути. За основную платформу для разработки была взята консоль запросов Владимира Тезина (https://sites.google.com/site/vtezin/zaprosnik-1s). Действительно классная разработка, но сейчас не об этом. Так вот. Алгоритм работы довольно прост:

1. Пишем запрос в консоли, устанавливаем необходимые параметры, отлаживаем, а когда все готово, вызываем собственно констуктор отчета:

 

Запуск конструктора.

2. Выбираем режим заполнения СКД отчета: из запроса или из объекта.

Выбор варианта работы конструктора

3. Выбираем запрос, из дерева созданных запросов, по которому будем строить отчет. Указываем значения параметров этого отчета (можно список значений) и  место в отчете, где будут эти значения задаваться (в модуле отчета, или форме отчета)

Выбор запроса

Параметры запроса

4. На этом шаге будет создана СКД и открыт её конструктор в режиме предприятия. При этом поля СКД будут заполнены автоматически по полям выбранного запроса. И да, запрос может быть пакетным. Здесь указываем все настройки скд, которые нам понадобятся, например: ресурсы, вычисляемые поля, настройки вывода отчета, отборы и т.д.

Конструктор СКД

СКД для источника данных "Объект"

СКД ля источника данных "Объект"

 

5. Теперь перед нами окажется форма, в которой можно просмотреть сформированный код процедур и, при желании, его отредактировать с использованием кнопки "сохранить изменения" (рис. 6).  Если вы не разбирались в коде самого шаблона и не знаете для чего нужна та, или иная функции/ процедуры, можно ничего не менять и не смотреть, а просто нажимать кнопку "Создать отчет".

Код процедур и функций

6. Теперь программа попросит вас указать папку для сохранения отчета и настроек СКД. После чего в этой папке вы увидите сам отчет, и настройки СКД, которые вы сделали на 4-м шаге.

Содержимое выбранной папки

7. Ну и самое последнее, и единственное что нужно сделать в конфигураторе: открываем наш отчет и загружаем в его СКД наши настройки. И все.  Можно открывать и формировать.

Готовый отчет в программе

 

Отдельное спасибо автору этой статьи: http://infostart.ru/public/106310/ .

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Конструктор отчетов
.epf 277,85Kb
26.03.14
54
.epf 01 277,85Kb 54 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Андрей Крутских (K_A_O) 25.03.14 11:09
Универсальная консоль отчетов http://infostart.ru/public/16782/ имеет больше возможностей.
Можно создать свои шаблоны отчетов.
2. Вадим Миляев (PrinzOfMunchen) 25.03.14 11:46
(1) K_A_O, вполне возможно. Но здесь типовой шаблон, с большими возможностями по настройке как интерфейса, так и самого отчета. Ну и главное - это типовое решение. Поэтому переучивать пользователей не надо. Планирую добавить сам конструктор отчета, отдельно от консоли - что бы можно было прекрутить его к любой своей консоли запросов.
Ну и я просто не видел раньше той обработки.)) Нужно изучить, спасибо за наводку))
3. Александр Лагунов (kit) 26.03.14 14:49
Скачал, попробовал создать отчет, только не понял, а где волшебная кнопочка "Создать отчет" из вашего
второго снимка.
Прикрепленные файлы:
4. Вадим Миляев (PrinzOfMunchen) 26.03.14 18:10
(3) kit, весьма странно. Я сам специально скачал ещё раз, и она на месте.
Напишите мне свою почту, и я скину её вам ещё раз.
Ну и уточните пожалуйста, на какой конфигурации вы её запускали?
5. Александр Лагунов (kit) 26.03.14 20:24
(4) PrinzOfMunchen, Да, кнопка обнаружилась, просто не отображается. Но это ещё не всё, при попытке загрузить в СКД настройки в конфигураторе вылетает ошибка (см.приложения). Кстати, нигде не указано, для какой платформы, под УФ не открывается.
Прикрепленные файлы:
6. Вадим Миляев (PrinzOfMunchen) 28.03.14 06:31
(5) kit, да, видимо такой картинки нет в бухгалтерии. Прошу прощения. Это я подправлю и отправлю вам обновленную версию, если скажите куда..
По поводу СКД: проверьте те настройки, которые вы задаете в конструкторе. Ошибка скорее всего в них, так как запись в xml происходит стандартным методом. Можете скинуть мне этот отчет, и я проверю ваши настройки.
7. DAnry (DAnry) 28.03.14 12:02
Для опытных программистов - слишком просто (в смысле мало пользы), для неопытных - слишком сложно. Вывод: подойдет для ленивых и малоответственных, типа "вот тут я что то сделал - мучайтесь"
8. Вадим Миляев (PrinzOfMunchen) 28.03.14 13:33
(7) DAnry, я бы поспорил.
Я считаю себя весьма опытным программистом, и польза от этого есть - это быстро, и это стандарт. Стандарт для малоопытного программиста сложный, если самому пытаться вписаться в этот шаблон. А с помощью конструктора не так уж и сложно. Написал запрос, потыкал пару кнопочек и все. Готовый отчет. В чем собственно сложность?
А если джуниоры будут писать на шаблоне, то потом легче за ними эти отчеты поправлять: знаешь что и где, не надо копаться в их "велосипедах".
Ну и пользователям легко: все отчеты типовые, настраиваются одинаково. При этом веьма функциональны.
9. Игорь Мирошниченко (igormiro) 19.04.16 10:25
Как по мне такой подход крайне не эффективен. Когда СКД использует набор данных запрос, то при установке отбора, текст запроса меняется, запрос отрабатывает быстрей и время выполнения такого отчета меньше. На больших данных будет проявляться.
10. Вадим Миляев (PrinzOfMunchen) 19.04.16 16:30
(9) igormiro, вообще-то тут доступен вариант создания СКД с видом набора данных "Запрос". Так что, в чём тут минус?
11. Михаил (MishaD) 13.05.16 19:53
Типовой шаблон будет работать только в типовых, самописки пролетают.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа