gifts2017

Подсистема "Отчеты на СКД"

Опубликовал Роман Заболотин (rzabolotin) в раздел Печать - Универсальные печатные формы

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

Возможности подсистемы:

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

Архитектура:

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

 

Алгоритм создания нового отчета:

  1. Копируем «Эталонный отчет», меняем имя отчета.
  2. Настраиваем схему компоновки данных. если не планируем использовать несколько схем компоновки в отчете – удаляем лишние схемы  компоновки и табличный макет «Схемы».
  3. Если собираемся использовать несколько схем, то в табличном макете «Схемы» указываем  список используемых схем компоновки в первой колонке, и если нужно во второй указываем псевдонимы.
  4. Если в отчете нужно установить какие –либо параметры, кроме периода, в процедуру УстановитьПредопределенныеПараметрыОтчета() модуля создаваемого отчета  написать алгоритмы установки значений, используя свойство отчета  КомпоновщикНастроек
  5. Если в отчете используются внешние наборы данных определяем функцию отчета «ЗаполнитьВнешниеНаборыДанных», возвращающую структуру.
  6. Если хотим ограничить доступные поля – настраиваем это в табличном макете «Поля» (также как это сделано в нем), если ограничения не нужны – удаляем макет.

 

UPD: Собрал всю подсистему в один внешний отчет.

(Заранее извиняюсь, мало тестировал, могут быть ошибки)

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

Наименование Файл Версия Размер
Вся подсистема выполненная в одном отчете (без сохранения настроек) 32
.erf 50,81Kb
11.12.11
32
.erf 50,81Kb Скачать
Версия для 8.2 65
.cf 70,24Kb
11.12.11
65
.cf 70,24Kb Скачать
Создание отчета "Остатки денежных средств" 151
.mp4 5,77Mb
24.12.11
151
.mp4 5,77Mb Скачать
Архив со всеми файлами 62
.zip 285,84Kb
24.12.11
62
.zip 285,84Kb Скачать
Пример отчета 4. Денежные средства (все в одном отчете) 17
.erf 44,55Kb
11.12.11
17
.erf 44,55Kb Скачать
версия для 8.1 22
.cf 68,72Kb
11.12.11
22
.cf 68,72Kb Скачать
Пример отчета 1. АВС анализ продаж 29
.erf 29,95Kb
11.12.11
29
.erf 29,95Kb Скачать
Пример отчета 2. Остатки по типу цен 25
.erf 30,97Kb
11.12.11
25
.erf 30,97Kb Скачать
Пример отчета 3. Товары на складах 29
.erf 32,63Kb
11.12.11
29
.erf 32,63Kb Скачать
Создание отчета "Остатки по типу цен" часть 1 33
.mp4 8,59Mb
24.12.11
33
.mp4 8,59Mb Скачать
Создание отчета "Остатки по типу цен" часть2 33
.mp4 6,17Mb
24.12.11
33
.mp4 6,17Mb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
0. Роман Заболотин (rzabolotin) 01.01.70 03:00
Подсистема «Отчеты на СКД» представляет собой своего рода оболочку над технологией СКД, с помощью которой вы сможете легко внедрить эту технологию в свою конфигурацию.


Перейти к публикации

1. Василий Ермаченко (VasilyErmak) 30.11.11 18:50
На ИТС есть статья "Разработка отчетов при помощи универсального механизма "Шаблон типового отчета"" где описано как делать отчёты на базе СКД.
Интересно сами разработали или 1С-овскую переделали.
2. Константин Соболевский (Константин С.) 30.11.11 18:52
Вопрос № 1. чем лучше ваша функциональность от представленной в УПП 1.3 "Произвольные отчеты"
Вопрос № 2. Не проще нарисовать отчет используя средства 1С (типовой конструктор) или использовать красивый шаблон (был где-то на сайте), далее его вставить конфигурацию.
3. Роман Заболотин (rzabolotin) 01.12.11 00:32
1-1. К сожалению данную статью не читал, нет ИТС.
1-2. Взял за основу типовые отчеты из ЗУП-а под 8.1, убрал все лишнее (на мой взгляд)

2-1. "Произвольные отчеты" обладают несравненно большей функциональностью, чем моя подсистема. Но лично для меня преимуществами моей подсистемы являются:
1) возможность использовать на 8.1
2) легче вносить изменения (т.к постарался убрать весь лишний код) (ну и то что сам разрабатывал)
3) возможность изменять форму настройки отчета (например добавить дополнительные параметры типа проценты для групп А,В,С)
4) возможность использовать несколько схем компоновки данных, и при выводе отчета переключаться между ними
(на больших базах, если нужно получить только остатки, по моему лучше использовать вирт.таблицу остатки, нежели ОстаткиИОбороты)
5) возможность настройки доступности реквизитов доступных полей (не выводить пользователю все реквизиты номенклатуры, когда ему нужны только код и артикул)
6) на мой субъективный взгляд эту подсистему легче использовать для изучения возможностей СКД, чем разобрать код типовых отчетов
7) перенести функциональность "произвольных отчетов" в не типовую конфигурацию мне кажется будет сложнее, чем добавить ей мою подсистему

По второму вопросу. Конечно это проще, но тогда для настроек отчета придется использовать стандартную форму настройки платформы, которая сложна даже для программистов (не имеющих опыта работы с ней)
4. Игорь Steelvan (Steelvan) 07.12.11 12:55
5. Александр Иванов (dkprim) 07.12.11 18:24
механизм "Произвольные отчеты" в УПП и КА всё же интереснее будет.
6. Виктор (vkt) 08.12.11 11:40
При скачивании скачивается файл "Создание" без расширения. Что за хрень? Посмотреть нет возможности.
Придется заминусовать.
7. Виктор (vkt) 08.12.11 11:45
И еще - нет соответствия названию темы и файла скачивания.
Прикрепленные файлы:
8. Илья (husky) 09.12.11 08:00
А есть самостоятельные решения, без интеграции в конфигурацию?
9. Platon Sitnikov (Alucard) 10.12.11 22:36
Неплохо бы было оформить это все во внешнем виде конечно, husky прав
Как автор на это смотрит?
10. Роман Заболотин (rzabolotin) 11.12.11 05:45
Действительно в виде внешнего отчета это выглядит лучше. Спасибо за совет.
Добавил новые файлы к публикации.
11. denis leonov (curys) 13.12.11 11:53
12. Sergey Cherednichenko (sergch2005) 14.12.11 09:03
13. Sergey Cherednichenko (sergch2005) 14.12.11 09:04
14. 1 (shomo) 14.12.11 14:00
Спасибою разобрался и помогло.
15. LivingStar (L&S) (LivingStar) 15.12.11 06:26
Да, странно. В заголовке "Отчеты на СКД".
В скачивании "Создание отчета "Остатки денежных средств"
в скринах "АВС анализ продаж". Как то мне не очень понятно, что все это значит.
16. Александр Прокопенко (babylon_5) 23.12.11 12:05
Автор, сделай 11й файлик. В котором будут все текущие 10.
18. Сергей (Feelthis) 30.12.11 13:28
Досадно, что при нажатии на основную кнопку "Скачать" - скачивается какое-то непонятное видео. Неужели нельзя назначить на основную кнопку - "скачать все сразу"?
19. Александр Прокопенко (babylon_5) 30.12.11 18:15
(18) да ладно вредничать. Все отчеты в одном файле - уже хорошо. Я как-то никогда по этой кнопке и не скачиваю. Привык идти в список и забирать оттуда. Даже когда файл один.
20. Михаил Приходько (pri_hod) 06.02.12 00:17
как сделать что б расшифровка по полю делалась не в текущем отчете а открывалась в новом отчете, так как в типовых конфах?
21. Роман Заболотин (rzabolotin) 06.02.12 13:23
в форме "формаОтчета" нужно переопределить функцию обработка расшифровки
вместо:
КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
КомпоновщикНастроекПользовательский.ЗагрузитьНастройки(Настройки);
ОбновитьОтчет();

нужно написать:
НовыйОтчет = ВнешниеОтчеты.Создать(ЭтотОбъект.ИспользуемоеИмяФайла);
НовыйОтчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
Форма = НовыйОтчет.ПолучитьФорму("ФормаОтчета",);
Форма.КомпоновщикНастроекПользовательский.ЗагрузитьНастройки(Настройки);
ФОрма.Открыть();
Форма.ОбновитьОтчет();

это для версии отчета ВсеВОдном
22. leraks1 leraks1 (leraks) 22.03.12 11:55
Спасибо. Полезная вещь. Ваще с выходом 8.2 конечно возможностей больше стало
23. sumixam (sumixam) 23.03.12 15:00
Спасибо будет чем занятся в выходные )))
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа