Макеты СКД

25.07.17

Разработка - СКД

Рассмотрены некоторые типовые задачи, которые решаются с помощью предопределенных макетов, а также перечислены несколько случаев, для которых макеты не подходят

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

Наименование Файл Версия Размер
Примеры к статье
.erf 157,16Kb
190
.erf 157,16Kb 190 Скачать

Наиболее сложным в применении макетов является заполнение колонки “Макет” на вкладке “Макеты” в конструкторе СКД. 

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

Эксперименты я проводил над отчетом следующего вида.

Макет поля

Этот макет применяется к конкретной ячейке, в отличие от макетов группировки и заголовка группировки, которые применяются к целой строке.
Его можно накладывать на поля группировки и на поля ресурсов

Макет заголовка группировки

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

Настройки

Если его назначить для самой верхней группировки, то он применится для всей шапки таблицы отчета. Как видно на рисунке, заголовки остальных группировок, а также заголовки ресурсов при этом скрываются. Поэтому приходится эти заголовки дорисовывать вручную. Иногда это и требуется, например для объединения ячеек в шапке

Настройки


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

Настройки

Однако если назначить строке макета высоту 1, то можно скрыть заголовки группировок текущего и следующего уровней. На рисунке ниже скрыты заголовки Должность и Сотрудник

Также заслуживает внимания использование типа макета Подвал, например для вывода подписантов.

Настройки

Использование типов Общий итог, насколько я понял ни на что не влияют. Мне не удалось создать настройку с этими типами, чтобы она применилась


Макет группировки

Этот макет применяется ко всей строке группировки. Он может применяться для некоторых типовых задач, хотя догадаться как его использовать не просто

Если применить этот макет к самой верхней группировке с типом Заголовок, то под каждой группировкой повторяется шапка таблицы. Применять такой макет имеет смысл в тех случаях, например, когда нужно вставить разрывы страницы перед каждой группировкой

Настройки

Если применить данную схему для группировки нижнего уровня, то получается вот что

Или, если дорисовать столбцы, то получится так


Если возникает задача изменить подвал с итогами, то нужно использовать этот макет с типом Общий итог подвал или Общий итог заголовок. Насколько я понял, эти два типа макета делают одно и то же

Настройки

Макет ресурсов

Макет используется только для ТАБЛИЦЫ. Он применяется на пересечении группировок, указанных в настройках

Настройки


Ограничения использования макетов

  1. Во многих случаях при использовании макетов теряется возможность настройки отчета пользователем. Он не сможет изменять порядок ресурсов и группировок, отключать ресурсы и группировки, т.к. при этом отчет принимает непонятный вид. Данный недостаток не распространяется только на макет поля.
  2. Нет возможности оформить с помощью макета ТОЛЬКО заголовок нужного ресурса (или группы ресурсов). Например, если нужно выровнять заголовки ресурсов по центру. Придется оформлять всю шапку таблицы полностью и получить ограничение из п.1
  3. Нет возможности оформить ТОЛЬКО заголовок итогов. Например, несколько раз требовалось заменить слово “Итого” на  слово “Всего”. В этом случае придется отрисовывать всю строку итогов и получить ограничение из п.1 или придумывать что-нибудь другое.

Файлы

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


В 

Макет Макеты Макет СКД СКД макеты макет ресурсов макет поля макет группировки макет заголовка предопределенный макет фиксированный макет

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 руб.

02.09.2020    119906    656    389    

701

Генератор схемы компоновки данных (СКД), написание кода схемы программно

Инструментарий разработчика СКД Платформа 1С v8.3 Конфигурации 1cv8 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

По выбранной схеме компоновки данных генерирует программный код, который генерирует СКД, аналогичную исходной схеме. Есть дополнительные инструменты для просмотра дерева схемы, сравнение исходной схемы и полученной по коду, а также сравнение изменений в сгенерированном коде для исходной схемы и для измененной.

3 стартмани

05.02.2024    3889    24    obmailok    17    

63

Набор-объект для СКД по тексту или запросу

Запросы СКД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    1964    2    Yashazz    0    

29

СКД на JavaScript в 1С

СКД WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Долгое время поддерживаю web-портал, в котором появилась необходимость создавать отчеты. Просмотрев различные фреймворки на js, я решил сделать свое решение, которое позволяло бы быстро разрабатывать и добавлять новые отчеты на web-портал.

2 стартмани

11.12.2023    8027    20    John_d    25    

122

Использование менеджера временных таблиц в СКД

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

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

05.12.2023    4528    PROSTO-1C    13    

61

Модель СКД

Инструментарий разработчика СКД Платформа 1С v8.3 Система компоновки данных Абонемент ($m)

DSL для работы с СКД.

1 стартмани

15.11.2023    5708    15    kalyaka    5    

85

Пользовательские настройки отчетов 1С. Часть 1. Простые и расширенные настройки

СКД Инструкции пользователю Платформа 1С v8.3 Конфигурации 1cv8 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Простые приемы работы с отчетами на СКД. Что нужно знать пользователю про настройку отчетов, чтобы использовать их на полную катушку.

18.09.2023    6328    accounting_cons    5    

29

Разрыв страницы в СКД. Легко!

СКД Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

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

01.09.2023    4407    KVIKS    15    

80
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 3031 25.07.17 21:56 Сейчас в теме
+
Но не стоит этим злоупотреблять. Практически все, что показано на картинках, может быть сделано с помощью условного оформления (например, замена "Итого" на "Всего").
корум; VVi3ard; Vanch90; Kinestetik; MCV; alest; demkonst; user728724; zqzq; +9 Ответить
2. json 3294 25.07.17 22:03 Сейчас в теме
(1) про не стоит злоупотреблять - полностью поддерживаю.
А сможете скинуть пример, как заменить "Итого" на "Всего" с помощью условного оформления?)
Aspire1C; VVi3ard; Kinestetik; TreeDogNight; +4 Ответить
7. Darklight 32 27.07.17 10:19 Сейчас в теме
(1) Согласен, данную статью очень неплохо было бы дополнить сравнением с применением механизма условного оформления для решения тех же оформительных задач.Так как он тоже очень гибкий и гораздо более предпочтительный в использовании.
3. user_2010 865 26.07.17 08:35 Сейчас в теме
Тема интересная. Но! Как вставить разрыв страницы? Как реализовать вывод заголовка таблицы на каждом листе?
1c_ssnik; user712426; +2 Ответить
4. hopter 36 26.07.17 09:32 Сейчас в теме
(3) а никто не обещал, что с макетами в скд можно совсем без кода обойтись :)
user712426; +1 Ответить
5. user_2010 865 26.07.17 16:26 Сейчас в теме
ну так - как это сделать?
(4)
1c_ssnik; +1 Ответить
6. hopter 36 27.07.17 00:38 Сейчас в теме
8. Darklight 32 27.07.17 10:22 Сейчас в теме
(4) Большое упущение автора статьи, что он не упомянул об этом в ней в описании этой фичи - многим придётся шариться по сайту, чтобы найти нужное решение. А кто-то будет думать, что всё и так заработает - одной настройкой макетов.
"1С она такая 1С" :-(
12. Shvenk 29.07.17 07:44 Сейчас в теме
(3) как вариант: в запросе делаем поле "номер страницы",в структуре отчета добавляем в группировку это поле, затем вся нужная структура отчета. В макете добавляем макет этой группировки, в области вставляем разрыв страницы, и необходимый заголовок...
9. PerlAmutor 129 27.07.17 11:24 Сейчас в теме
Предпочитаю использовать собственные (moxel) макеты за пределами макета типа СхемаКомпоновкиДанных и программный обход ДереваЗначений.
С вкладкой "Макеты" СКД "наигрался", реализация очень глючная и ограниченная. Рисуешь подвал внизу листа, переоткрываешь макет, а подвал уже в шапке. Все именованные области вперемешку...
Дмитрий74Чел; Crazy_Max; user712426; JohnConnor; AllexSoft; +5 Ответить
10. user_2010 865 27.07.17 14:46 Сейчас в теме
(9) согласна - пока делаешь одну область - другая может сломаться..
17. nvv1970 11.10.17 14:26 Сейчас в теме
(10) Это не поломка. Не связанные области СКД показывает в макете по порядку, удобным ей образом. Заметьте, что все продолжает замечательно работать.
user712426; Dementor; +2 Ответить
21. Dementor 1014 21.10.17 13:06 Сейчас в теме
(17) согласен несколько раз приходилось заморачиваться. Области вместо традиционного размещения шапка/детали/подвал, как они были изначально скопированы в макет, тусуются как попало, но в итоге все работает.
16. vadim1011985 99 15.09.17 14:37 Сейчас в теме
Статья действительно хорошая, и очень познавательная, сам недавно к ней прибегал когда необходимо было делать отчет сложной формы , до этого с макетами не работал.

(9) (10) Да, при повторном открытии положение областей может меняться , но в данном случае это не играет никакой роли (на самом отчете это никак не отразится ), так как важно не положение полей а типы макета полей


(3) Вывод заголовка на каждом листе - у Области макета есть свойство НачалоСтраницы , если выделить область заголовка и указать это свойство то заголовок будет повторяться на каждой странице
user712426; user774630; Batman; Dementor; +4 Ответить
18. user_2010 865 11.10.17 14:42 Сейчас в теме
(16)
Вывод заголовка на каждом листе - у Области макета есть свойство НачалоСтраницы , если выделить область заголовка и указать это свойство то заголовок будет повторяться на каждой странице

надо будет это попробовать - ценное замечание! Спасибо!
user712426; +1 Ответить
11. Yashazz 4706 28.07.17 19:41 Сейчас в теме
Мне одному кажется, что это пересказ Хрусталёвой?
1c_ssnik; rozer; +2 1 Ответить
22. masterb 60 30.10.17 13:14 Сейчас в теме
Там недостаточно примеров оформления ресурсов. Были затруднения, в этих примерах нашел ответ.
13. Gang031 02.09.17 18:06 Сейчас в теме
я извиняюсь, а где устанавливается эта самая "Высота макета"?
14. Gang031 02.09.17 22:19 Сейчас в теме
точнее "высота строки макета"?
19. ixijixi 1761 13.10.17 16:01 Сейчас в теме
(14)тут
Прикрепленные файлы:
15. HAMMER_59 244 15.09.17 14:04 Сейчас в теме
Спасибо за статью!
Я уже было отчаялся разобраться, как указать макет для итогов таблицы (те что снизу).
Посмотрел Ваш пример и только тогда понял что нужно указать макет ресурса заголовок верхней группировки по строкам (у меня 3 группировки по строкам).
VVi3ard; ilya4; user602678_maxipunchik; +3 Ответить
30. VVi3ard 52 24.12.21 12:19 Сейчас в теме
(15)
Аналогично, вроде я неплохо знаю СКД много макетов сделал, а вот с итогами таблицы возникла проблема. Правда так и не понял логику, задачу закрыл, буду дальше читать.
20. progr-2008 118 18.10.17 09:43 Сейчас в теме
Хорошая статья с полезными примерами.
23. Exit_in 66 10.12.17 21:54 Сейчас в теме
Спасибо за статью. Статья отличная, все доступно и понятно
24. pyrkin_vanya 487 27.05.19 12:43 Сейчас в теме
Добрый день. А как можно убрать один ресурс из итогов?
25. Franchiser 47 18.10.19 00:36 Сейчас в теме
"Нет возможности оформить ТОЛЬКО заголовок итогов. Например, несколько раз требовалось заменить слово “Итого” на слово “Всего”. В этом случае придется отрисовывать всю строку итогов и получить ограничение из п.1 или придумывать что-нибудь другое."
Это делается через макет группировки общий итог заголовок группировки магазины.
26. user1194102 07.02.20 16:55 Сейчас в теме
А есть статьи что бы не в типовой макет СКД расширять, а создать свой полностью макет (не типовой) например счет, но в СКД с кодом?
27. Sintson 411 26.02.20 17:37 Сейчас в теме
(26) Предлагаю обратить внимание на типовой отчет "Расчетные листки организаций" в УПП.
user1194102; +1 Ответить
28. Xershi 1473 13.07.20 16:36 Сейчас в теме
Чтобы макет заработал.
Нужно добавить в настройках детальные записи, указать им имя. Далее в макетах выбрать это имя из списка.
Очевидно, если этого не делать придется кодом описывать.
29. D_E_S131 4 31.10.21 18:22 Сейчас в теме
Наконец-то что-то полезное нашел для себя на этом ресурсе за многие годы. Как можно продонатить статью?
31. Djo82 6 04.04.22 09:50 Сейчас в теме
скачал пример, пришел консоль отчетов, как то не честно, минус стартмани
32. Luniona 23.05.23 21:36 Сейчас в теме
Дополню по поводу Подвала с подписями. Нужно выбрать Имя группировки "Подвал", Тип макета "Заголовок".
И выйдут подписи в подвале по всему отчету.
Оставьте свое сообщение