gifts2017

Шаблон отчета на СКД для обычных и управляемых форм

Опубликовал Игорь Чайкин (ЧИА) в раздел Программирование - Инструментарий

Шаблон отчета на СКД для обычных и управляемых форм, с расширенным функционалом.

Шаблон отчета на СКД для обычных и управляемых форм, с расширенным функционалом.

Скомпонован с использованием решений, опубликованных на Инфостарте.

Как база было взято решение http://infostart.ru/public/137460/, за механизм отображения/скрытия параметров, отбора, заголовка.

Дополнительно добавлено (с небольшой оптимизацией - проверки и т.д.)

  1. Печать заголовков колонок на каждой странице отчета. Спасибо http://infostart.ru/public/148387/
  2. Выбор из стандартных предустановленных вариантов компоновки отчета.
  3. Эта кнопка открывает сформированный отчет (табличный документ) в Microsoft Office Excel или Open Office Calc, т.е. в программе, которая ассоциирована для файлов с расширением .xls. Спасибо http://infostart.ru/public/103905/

  4. Группа кнопок для управления Периодом. "Выбор периода...", "Предыдущий месяц", "Текущий месяц" и "Следующий месяц". Спасибо http://infostart.ru/public/103905/
  5. Добавил нормальное сохранение-восстановление
  6. Суммирование ячеек в отчете, скрин 7
  7. Доработал таки управляемую форму, скрин 8
  8. Доработал регистрацию
  9. Сменил пример запроса для совместимости со всеми конфигурациями
  10. Исправил замеченные шероховатости при скрыть-показать в отчете, поменял вывод кнопок на УФ, сменил версию
  11. Исправил замечания о выборе периода на УФ (не модально), добавил примеры работы с параметрами
  12. В примере добавил работу с таблицей значений
  13. В управляемой форме добавил примеры вызова как встроенного, так и внешнего (искать ВыводОтчета)
  14. Исправил замеченные шероховатости

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

Для того чтобы, для различных отчетов созданных на основании данного шаблона, настройки были независимы и не путались - необходимо скопировать - вставить основную форму отчета, назначить новую основной,  старую удалить, убрать 1 в имени.
Данные действия изменят внутренний ID формы. Сохраненные настройки привязываются к отчету по данному ID.

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

Наименование Файл Версия Размер
Шаблон отчета на СКД для обычных и управляемых форм 573
.erf 68,48Kb
26.07.16
573
.erf 1.12 68,48Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Антонина Ганина (LiOlle) 11.04.14 17:27
Бухгалтерия 2.0 (2.0.54.9)


Ошибка в схеме компоновки данных
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(9, 2)}: Таблица не найдена "РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты"
<<?>>РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК _ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты
2. Игорь Чайкин (ЧИА) 11.04.14 17:43
(1) LiOlle,
Ошибка в схеме компоновки данных
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных


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

в данной заготовке используются запросы по УТ 10.3, КА, УПП
но - Вы можете использовать запросы по БУ
3. Виталий Онянов (Tavalik) 16.04.14 07:39
Если сформировать отчет, а потом отобразить параметры или отбор, кнопки сворачивания группировок остаются на месте, хотя Результат смещается вниз. Получается, что кнопки съезжают с нужного места.

А так здорово, спасибо!
4. Игорь Чайкин (ЧИА) 16.04.14 07:43
(3) Знаю, боролся (в модуле формы есть следы), частично поборол, но полностью не смог.
Выложил в таком виде.
По большому счету, пользователи пользуются один раз настроенным.

Если смогу побороть, выложу обновление.
5. Виталий Онянов (Tavalik) 16.04.14 10:13
1. В управляемой форме, если создаешь новый кнопкой "Открыть новый отчет" пропадает заголовок формы.
2. Вообще не открывается отчет в WEB-интерфейсе.
6. Игорь Чайкин (ЧИА) 16.04.14 10:48
(5) Управляемую форму не проверял, пока не шибко специалист. Взято "как есть" из основного шаблона.
Добавил только вывод в .xls, проверил, работает.

7. DAnry (DAnry) 17.04.14 17:38
8. Игорь Чайкин (ЧИА) 24.04.14 00:31
(3) Tavalik,
кнопки съезжают с нужного места
исправил, обновил

ну и просто дошлифовал
9. Денис Козлов (Akbis) 20.05.14 18:00
Добрый день.
Кажется у вас в отчете существует следующая ошибка -
есть переменная ГлФорма (заполняется при открытии) и она хранит ссылку на форму, и далее если изменить что-нибудь в отчете (можно даже удалить весь модуль формы (!)) Отчет все равно будет открывать версию, которая осталось у него в памяти. Неприятная ошибка.

Решается занулением переменной ГлФорма при закрытии

Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
ГлФорма = Неопределено;
КонецПроцедуры
10. Игорь Чайкин (ЧИА) 21.05.14 12:59
(9) Akbis, можно было бы и нормально править (
эта переменная нигде не используется. так, оставил для памяти о борьбе с кнопками управления группировкой.

Проставил комменты.

Ну и просто выложил то, что до сих пор раздражало - сохранение-восстановление.
11. Игорь Чайкин (ЧИА) 21.05.14 18:49
сохранение-восстановление
кстати, давно искал универсальный механизм подобного )
теперь буду совать во все свои разработки конечный код
вот думаю. не выложить ли отдельной публикацией?
12. Ловыгин Антон (wunderland) 29.05.14 10:16
а если отчет не "за период" а "на дату" ?
13. Игорь Чайкин (ЧИА) 29.05.14 11:13
(12) wunderland,
если отчет не "за период" а "на дату" ?
используете дату конца периода )
14. Ловыгин Антон (wunderland) 29.05.14 12:49
кое-что допилил в коде и на форме для универсальности... в целом - нормально +
15. Константин Купрюхин (BlackStar) 29.06.14 14:24
(13) Извиняюсь за глупый вопрос, но как вывести на форму выбор периода отчета?
В параметрах СКД использую параметр Период типа стандартная дата, вижу что в отчете есть форма выбора стандартного периода, но как ее использовать не могу понять.

И еще на вкладке дополнительные формы, выбрана форма "ФормаОтчетаУправляемая" и ее нельзя удалить оттуда, так и задумано?

В целом шаблон хороший, спасибо за работу!
16. Виктор (vkt) 03.07.14 16:01
К сожалению, в интерфейсе "Такси" выглядит не очень. Кнопочки в командную панель не выводятся.
17. Константин Купрюхин (BlackStar) 04.07.14 01:49
Форма выбора периода оказывается для обычных форм. Было бы хорошо вывести на управляемую форму быстрый выбор периода, используя стандартные функции.

А если вставить в наало модуля менеджера код типа
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = Новый Структура;
	

	ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет");
	ПараметрыРегистрации.Вставить("Наименование", НСтр("ru = 'Название отчета'"));
	ПараметрыРегистрации.Вставить("Версия", "1.0");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
	ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Описание отчета'"));	
	ТаблицаКоманд = ПолучитьТаблицуКоманд();
	
	ДобавитьКоманду(ТаблицаКоманд,
		НСтр("ru = 'Название команды'"),
		"ИдентификаторОтчета",
		"ОткрытиеФормы",
		Истина);
		
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
	
	Возврат ПараметрыРегистрации;
	
КонецФункции // СведенияОВнешнейОбработке()

Функция ПолучитьТаблицуКоманд()
  Команды = Новый ТаблицаЗначений;
  Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
  Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
  НоваяКоманда = ТаблицаКоманд.Добавить();
  НоваяКоманда.Представление = Представление;
  НоваяКоманда.Идентификатор = Идентификатор;
  НоваяКоманда.Использование = Использование;
  НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
КонецПроцедуры
...Показать Скрыть


То можно использовать как внешний отчет.
А если вклчюить хранилище настроек для вариантов отчета, то совсем хорошо становится )
18. Игорь Чайкин (ЧИА) 06.07.14 10:22
Ко всем отписавшимся про такси. Отписался еще в 6 посте.

Управляемую форму не проверял, пока не шибко специалист. Взято "как есть" из основного шаблона.
Добавил только вывод в .xls, проверил, работает.


Как только появятся адекватные навыки и заказчики работающие в управляемых формах, тогда и буду доделывать.
Все, что я доделывал, появилось не само по себе, а в связи с оплаченными заказами на этот функционал.
19. Игорь Чайкин (ЧИА) 06.07.14 10:32
(16) vkt,
К сожалению, в интерфейсе "Такси" выглядит не очень. Кнопочки в командную панель не выводятся.

Обычную форму я таки основательно переделал, причем 2 раза кардинально. Чтобы самому нравилось. )
20. Олег Тымко (olegtymko) 18.04.15 11:40
Столкнулся со следующей проблемой:
При формировании СКД, используя внешний источник данных не работает вывод отчета:
Отрисовать(СхемаКомпоновкиДанных, КомпоновщикНастроек, , ТабличныйДокумент, ДанныеРасшифровки, Истина );
21. Олег Тымко (olegtymko) 18.04.15 11:42
(20) olegtymko, Уже не актуально.
22. Andrey (Andreyyy) 27.04.15 10:11
Что-то не пойму где не так делаю:
Вставил свою СКД, группировка одна "Детальные записи", если формировать без отбора, то все красиво. Но если включить отбор по любому реквизиту, тогда выводятся две идентичные вложенные группировки.
23. Осипов Сергей (fixin) 13.03.16 23:40
не понял, как тут работать с периодом в УФ. изменил использование параметров дата начала и дата окончания на всегда, после этого немного заработало, но то что на форму не вытащены параметры начала и окончания плохо. Решил не допиливать, а поискать другое.
24. Игорь Чайкин (ЧИА) 04.04.16 15:18
Решил не допиливать, а поискать другое.
в принципе, пока не понимаю, зачем для управляемых форм делать еще что-нибудь кроме стандартного интерфейса
для нескольких клиентов делал различные навороты, но клонировать их смысла не вижу
а вот для обычных форм данный шаблон (судя по количеству скачиваний) уже практически стандарт )
25. Игорь Чайкин (ЧИА) 17.05.16 18:03
как тут работать с периодом в УФ

сделал, и не только это
в общем, довел УФ до ума
26. Игорь Чайкин (ЧИА) 17.05.16 18:45
(24)
пока не понимаю, зачем для управляемых форм делать еще что-нибудь кроме стандартного интерфейса

более близко поработав со стандартными отчетами в УТ11, осознал необходимость )
27. Вадим Миляев (PrinzOfMunchen) 18.05.16 14:55
Очередной велосипед...Есть же типовой шаблон, на основе универсального... Ничего нового.
28. Игорь Чайкин (ЧИА) 18.05.16 15:10
(27) универсальный и типовой отчеты - это моя первая печаль и разочарование в разработчиках головной конторы
именно из-за сексуальной связи с ним (куча непредсказуемых глюков) в особо критический момент не выдержал - написал свой
который мало того что на порядок удобнее пользователю (одно повторение заголовков на каждой странице чего стоит)
так и существенно надежней
29. Игорь Чайкин (ЧИА) 18.05.16 16:20
ну и некий комментарий к предыдущему посту
универсальный и типовой отчеты - это моя первая печаль и разочарование в разработчиках головной конторы
именно из-за сексуальной связи с ним (куча непредсказуемых глюков) в особо критический момент не выдержал - написал свой

если бы со стандартными не было проблем, моя разработка не стала бы стандартом по факту (судя по числу скачавших и одобривших)
по прикидкам, скачало не менее четверти (а то и трети) внедренцев
30. Игорь Чайкин (ЧИА) 23.05.16 15:00
вот у меня есть не однозначный выбор
можно добавить из УТ11 форму выбора настроек (там где настраивается выбор видимых реквизитов)
но - или привязаться к УТ11 или все перенести в модуль внешнего отчета и формы в внешний добавить
или не делать (
клиентам пока все равно
так что как отпишетесь, так и сделаю
31. Игорь Зуйков (quares) 24.06.16 14:03
"Использование модальных окон в данном режиме запрещено!" При попытке выбора периода в упр. форме.
32. Игорь Чайкин (ЧИА) 24.06.16 14:36
(31) а в каком режиме запускали?
33. Игорь Зуйков (quares) 24.06.16 16:48
(32) ЧИА, толстый, конечно же
34. Игорь Чайкин (ЧИА) 24.06.16 17:28
(33) спасибо, дойдут руки, переделаю
сообщает, но при этом работает, т.е. не критично
при формировании предупреждения очищает
а так, причина понятна
35. Игорь Чайкин (ЧИА) 26.07.16 08:53
(31) quares,
"Использование модальных окон в данном режиме запрещено!" При попытке выбора периода в упр. форме.

переделал
36. Александр Бисюков (AlekSo) 28.07.16 13:16
На первый взгляд красиво. Бум пробовать!
37. Александр Бисюков (AlekSo) 29.07.16 06:41
Хорошо бы ещё добавить тот кусок командной панели, который есть в стандартных отчётах и содержит кнопки свертывания, развертывания и суммы. А также тот кусок, который содержит кнопки печати и предварительного просмотра. Я у себя добавил ещё одну командную панель (на той уже места нет) между основной и группой работы с датой.
38. Сергей Галюк (dj_serega) 29.07.16 09:54
"управляемых форм" тонкого клиента?
39. Игорь Чайкин (ЧИА) 29.07.16 10:22
40. Игорь Чайкин (ЧИА) 03.08.16 09:21
(37) AlekSo, по поводу суммы - отметьте несколько цифр произвольно и посмотрите справа вверху
а кнопки печати и просмотра и так есть в заголовке окна справа
41. Александр Бисюков (AlekSo) 09.08.16 07:56
Суммы увидел, хотя там в стандартном варианте ещё есть как в экселе среднее, максимум, минимум. Собственно я просто предложил добавить стандартные кнопки.

Ещё в обычной форме в процедуре "ПериодПриИзменении" везде стоит преобразование НачПериода в НачалоДня(НачПериода), а КонПериода в КонецДня(КонПериода). На мой взгляд избыточно. Мне понадобился период со временем, пришлось везде убирать. Не так уж трудно конечно. Достаточно оставить один раз строки преобразования, которые при необходимости легко будет убрать.