IE2017

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

Программирование - Инструментарий

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

Также этот шаблон будет полезен начинающим разработчикам для примера реализации следующих ситуаций (как для обычных, так и для управляемых форм):

  1. Программное выполнение отчета на СКД.
  2. Программная установка отборов в СКД.
  3. Программная установка параметров в СКД.
  4. Программное изменение параметров вывода в СКД.
  5. Привязка своего макета оформления в отчет на СКД.
  6. Расшифровка ячейки отчета и получения значений группировки выбранной ячейки результата отчета.
  7. Обработка расшифровки в очете на СКД, в виде отдельного отчета со своей компоновкой данных.
  8. Удобное меню для выбора периода.
  9. Удобная функция сохранения в Excel.
  10. Установка параметров документа Excel при сохранении (границы, ориентация и пр.)
  11. Сохранение в Excel из WEB-Клиента
  12. ...

Смотрите также: Шаблон обработки (обычные и управляемые формы)

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

Наименование Файл Версия Размер
ШаблонОтчета_СКД
.erf 74,14Kb
19.07.16
682
.erf 1.8 74,14Kb 682 Скачать

См. также

Вознаграждение за ответ
Показать полностью
Комментарии
1. Вадим Миляев (PrinzOfMunchen) 74 25.12.13 07:01 Сейчас в теме
А чем он лучше типового шаблона?
2. Алекс Одинэсник (Alex1Cnic) 122 25.12.13 08:29 Сейчас в теме
3. DAnry (DAnry) 12 26.12.13 01:21 Сейчас в теме
Скрины в студию! На представленных иллюстрировано лишь пункт 7. Удобное меню для выбора периода. Хотелось бы больше ...
4. Виталий Онянов (Tavalik) 446 14.01.14 06:11 Сейчас в теме
(1) PrinzOfMunchen,
Старался его сделать очень похожим на типовой. А лучше тем, что не зависит от конфигурации и не требует дополнительных модулей, работая "сам по себе".

(3) DAnry,
А какие еще нужны скрины? Весь описанный функционал в коде.
5. Михаил (mikl79) 102 17.01.14 14:48 Сейчас в теме
6. Виталий Онянов (Tavalik) 446 17.01.14 15:05 Сейчас в теме
(5) mikl79,
Авторизируетесь на сайте и нажимаете кнопку в виде оранжевой звездочки чуть ниже таблички "Файлы". :)
7. mikhailovaew (mikhailovaew) 128 12.03.14 16:42 Сейчас в теме
Плюсану авансом, может пригодится )
8. Александр Удалов (higs) 25.03.14 21:46 Сейчас в теме
Забрал, спасибо. Очень не люблю расписывать всякие интерфейсные плюшки. Почему-то достаются отчеты со сложными выборками данных. Поэтому готовые шаблоны забираю;)
9. andrey dyak (dyak84) 15.04.14 12:39 Сейчас в теме
Автору спасибо за проделаный труд. Обязательно скачаю как появятся деньги. отчет написать ето одно но зделать его юзабилика как говорят ето совсем другое. Поетому людям которые решились на ето вызывают у меня уважение. СПАСИБО та к держать
10. Sergio Bargio (sergiobargio1) 116 14.05.14 12:10 Сейчас в теме
Tavalik, добрый день. Подскажите, пожалуйста, в Вашей разработке есть ли возможность задавать имена листам
(не название сохраняемого файла) сохраняемым в xls или xlsx ? Решается ли проблема "съедания" ведущих нолей в текстовых полях "Код" ? Спасибо.
11. Виталий Онянов (Tavalik) 446 15.05.14 08:32 Сейчас в теме
(10) sergiobargio1,
Доброго времени суток.
К сожалению на данный момент нет возможности задавать имена, проблема пропадания ведущих нулей также не решена.
Сохранение в Excel вынесено в отдельную процедуру, пока только могу предложить Вам доработать ее самостоятельно.
12. CITRUM CITRUM (CITRUM) 19.05.14 16:37 Сейчас в теме
проблема пропадания ведущих нулей также не решена

Эта проблема решается, например, добавлением пользовательского поля X такого вида "'" + [Код]. В итоге все значения будут иметь вид "'0000000001", что при сохранении в Excel штатными методами даст нормальную текстовую ячейку со всеми нулями, символ апострофа же при обработках формулами и т.д. игнорируется.
Об этом уже писали на Инфостарте и это абсолютно штатная фича как Excel так и Open(Libre)Office.
13. Константин Соболевский (Константин С.) 491 11.06.14 13:04 Сейчас в теме
Есть два вопросика:
1. нет дает открыть два отчет(внешних) разработанных используя шаблон
2. нажимаю сформировать отчет, слетает схема, обычная форма.
14. Мастер Йода (master_yoda) 27 16.06.14 15:45 Сейчас в теме
Огромное спасибо автору за труды, обязательно качну как только появится бабосы....
15. Максим Горбачев (Tangram) 124 05.08.14 13:32 Сейчас в теме
Отлично подходит для нетиповых конфигураций, спасибо. Работа с вариантами отчетов не реализована или я не увидел?
16. Виталий Онянов (Tavalik) 446 05.08.14 10:50 Сейчас в теме
(15) Tangram,

Нет, работу с вариантами я не делал, т. к. для обычных форм на практике почти всегда используем механизм сохранения настроек типовых конфигураций. Если конфигурация нетиповая, то как мне кажется, проще допилить ее, добавив один регистр сведений и один общий модуль.
17. Виталий Онянов (Tavalik) 446 14.08.14 12:55 Сейчас в теме
(13) Константин С.,
Скопируйте основную форму отчета, назначьте ее основой, а старую удалите.
Тогда новый отчет будет открываться с новым идентификатором формы.
18. Константин Купрюхин (BlackStar) 03.09.14 18:41 Сейчас в теме
Отличный шаблон, аккуратно сделан, порадовала панель с периодом! Попробую в работе и буду использовать для внешних отчетов, вместо текущего шаблона.
Спасибо за работу!

Есть предложения по развитию, все касаются управляемых форм:

1. Можно использовать механизм работы с длительными операциями, потому что сейчас, если формировать длительный отчет, программа зависает. К стати, при расшифровке отчета этот механизм работает, а при нажатии "Сформировать" - нет

2. При нажатии на кнопки выбора периода постоянно появляется сообщение "Использование модальных окон в данном режиме запрещено!", не критично, но отвлекает. К стати в выборе периода с.. по можно использовать стандартный диалог выбора периода (в виде календаря, который например в БП 3.0 в стандартных отчетах)

3. В отчет можно сразу добавить код для подключения его в качестве внешнего
AzagTot; klaus38; +2 Ответить 1
19. Константин Соболевский (Константин С.) 491 25.09.14 17:57 Сейчас в теме
предложение:
добавить Функция СведенияОВнешнейОбработке() Экспорт
для автоматической регистрации в типовых конфигурациях)))
klaus38; BlackStar; +2 Ответить
20. Константин Купрюхин (BlackStar) 10.10.14 14:09 Сейчас в теме
В последней версии исправили обновление дат, это здорово, а вариант отчета не обновляется, если выбрать другой вариант.
Надо к событию формы ПриЗагрузкеВариантаНаСервере привязать код

&НаСервере
Процедура ПриЗагрузкеВариантаНаСервере(Настройки)
	//Обновляем заголовок
	ЭтаФорма.Заголовок = ВернутьСинонимОтчета() + " (" + НаименованиеТекущегоВарианта + ")";

КонецПроцедуры
...Показать Скрыть
21. Константин Соболевский (Константин С.) 491 22.10.14 13:50 Сейчас в теме
Пожелание к оформлению публикации. Можно указывать номер текущей версии шаблона.)))
22. Алексей Воротягин (klaus38) 22.11.14 16:39 Сейчас в теме
Замечательно, забираю. Спасибо автору
23. Игорь Лисицкий (lisrws) 65 04.12.14 16:15 Сейчас в теме
Добрый день. Подскажите, если отчет строится для остатков, то есть нужна одна конкретная дата, а не диапозон, то как ему это задать?
24. andrey dyak (dyak84) 15.12.14 10:56 Сейчас в теме
Автор если планируется развитие даной обработки можно ли добавить. Кнопку для отправки отчета на електроную почту.
25. Aikosyapr (aikosyapr) 24 02.06.15 22:24 Сейчас в теме
Спасибо. Красиво и аккуратно. Небольшой косячок: установка видимости заголовка отчета через УстановитьВидимостьЗаголовкаОтчета() глючит. Например, с отчетом в виде таблицы с двумя группировками в строках затираются заголовки столбцов:) Не страшно, но я вот не сразу понял, что происходит, думал всё, допрограммировался)
26. Dimon Phoenix (NGPhoenix) 8 04.09.15 16:14 Сейчас в теме
Посмотрел, действительно работает без всяких модулей, только при каждом закрытии требует сохранения варианта отчета. Надоедает страшно. Теперь голову ломаю, как это убрать. Сообщение "Вариант "Имя варианта" был изменен. Сохранить измененный вариант?" обыскался, в обработке такого сообщения нет и события при закрытии тоже, откуда ноги не понятно.
27. Dimon Phoenix (NGPhoenix) 8 04.09.15 16:56 Сейчас в теме
Поборол, убрав свойство модальности варианта отчета
&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
Если ЭтаФорма.ВариантМодифицирован=Истина тогда
ЭтаФорма.ВариантМодифицирован = ложь;
КонецЕсли;
КонецПроцедуры
28. p_tj (pbabincev) 10.09.15 10:45 Сейчас в теме
Очень хорошо!
Еще можно добавить автосуммирование по выделенным ячейкам.
Спасибо!
29. Денис (konstruktiv) 10.09.15 12:57 Сейчас в теме
А объясните кто-нибудь, пожалуйста, что за вопрос, за решение которого дается вознаграждение, я что-то запутался
30. Татьяна Безрученко (HobbitT) 23.10.15 16:33 Сейчас в теме
Спасибо за хороший шаблон. Неоднократно успешно им пользовалась. Безумно нравится что он реально самостоятельный и нет ограничения в программе. Мелочи типа установки видимости заголовка не в счет (легко подпиливаются).
31. Андрей Сябренко (AzagTot) 37 16.11.15 17:41 Сейчас в теме
(18) BlackStar, Чтобы не появлялось сообщение "Использование модальных окон в данном режиме запрещено!" замените ВыбратьИзМеню на ПоказатьВыборИзМеню:

Оповещение = Новый ОписаниеОповещения("ПослеВыбораИзМеню", ЭтотОбъект);
ПоказатьВыборИзМеню(Оповещение, СписокИнтервалов);

&НаКлиенте
Процедура ПослеВыбораИзМеню(Интервал, Параметры = Неопределено) Экспорт

Если Интервал <> Неопределено Тогда
Отчет.Период = Интервал.Значение;
Элементы.ПериодУстановка.Заголовок = Отчет.Период;
ПериодУстановка(Неопределено);
КонецЕсли;

КонецПроцедуры
32. Максим Князев (mad_maksim) 81 21.11.15 11:18 Сейчас в теме
Проблема с периодом обнаружилась. Делаем отчёт для УТ 11.0. При загрузке отчёт показывает один период, а формируется совершенно за другой. Как будто при формировании берётся период из какого-то кэша от прошлого запуска отчёта. Тоже самое происходит при выборе вариант отчёта. Пробовал ПередЗагрузкойВариантаНаСервере очищать период, но всё равно формируется он по прошлому заданному периоду. Никак не могу найти ошибку. А без этого отчёт не удобен в использовании.
33. Максим Князев (mad_maksim) 81 21.11.15 11:52 Сейчас в теме
Нашёл работающий вариант исправления. В процедуру СформироватьОтчет добавил обновление представления даты:

Процедура СформироватьОтчет(Команда)

//добавлено для работы с выбором вариант отчета
Элементы.ПредставлениеДаты.Заголовок = ОбновитьПредставлениеДатыНаСервере();
//добавлено для работы с выбором вариант отчета

//Получаем схему из макета
СформироватьОтчетНаСервере();

//Состояние отчета
Элементы.Результат.ОтображениеСостояния.Видимость = Ложь;
Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;

КонецПроцедуры
34. Евгений я (DedMoroz1983) 13.10.16 10:56 Сейчас в теме
35. Константин Куликов (Светлый ум) 204 05.11.16 14:34 Сейчас в теме
Крутой шаблон - использовал раньше и другие - этот лучше и навороченный по функционалу БСП
+1
36. Gleb Happy (GlebHappy) 108 08.12.16 19:59 Сейчас в теме
С удовольствием использую.
Но есть два пожелания:

1. Желательно добавить значение Истина четвертым параметром в ПроцессорКомпоновкиДанных.Инициализировать(...), иначе нельзя использовать функции общих модулей в вычисляемых полях
2. ОткрытьЗначение(...) в форме отчета и расшифровки в веб-клиенте не работает, надо менять на ПоказатьЗначение(...)
Seankinho; +1 Ответить
Оставьте свое сообщение