Макеты СКД

25.07.17

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Примеры к статье
.erf 157,16Kb
201
201 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

Макет поля

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

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

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

Настройки

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

Настройки


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

Настройки

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

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

Настройки

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


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

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

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

Настройки

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

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


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

Настройки

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

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

Настройки


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

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

Файлы

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


В 

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

См. также

SALE! 15%

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

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

10000 руб.

02.09.2020    159431    872    399    

861

Запросы СКД Программист Стажер Система компоновки данных Россия Бесплатно (free)

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

15.05.2024    8684    implecs_team    6    

47

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

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

3 стартмани

05.02.2024    6996    56    obmailok    21    

79

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

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

1 стартмани

31.01.2024    3148    5    Yashazz    1    

34

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

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

2 стартмани

11.12.2023    10804    23    John_d    25    

124

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

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

05.12.2023    8017    PROSTO-1C    15    

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

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


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

надо будет это попробовать - ценное замечание! Спасибо!
user712426; +1 Ответить
11. Yashazz 4790 28.07.17 19:41 Сейчас в теме
Мне одному кажется, что это пересказ Хрусталёвой?
1c_ssnik; rozer; +2 1 Ответить
22. masterb 63 30.10.17 13:14 Сейчас в теме
Там недостаточно примеров оформления ресурсов. Были затруднения, в этих примерах нашел ответ.
13. Gang031 02.09.17 18:06 Сейчас в теме
я извиняюсь, а где устанавливается эта самая "Высота макета"?
14. Gang031 02.09.17 22:19 Сейчас в теме
точнее "высота строки макета"?
19. ixijixi 1913 13.10.17 16:01 Сейчас в теме
(14)тут
Прикрепленные файлы:
15. HAMMER_59 253 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 493 27.05.19 12:43 Сейчас в теме
Добрый день. А как можно убрать один ресурс из итогов?
25. Franchiser 47 18.10.19 00:36 Сейчас в теме
"Нет возможности оформить ТОЛЬКО заголовок итогов. Например, несколько раз требовалось заменить слово “Итого” на слово “Всего”. В этом случае придется отрисовывать всю строку итогов и получить ограничение из п.1 или придумывать что-нибудь другое."
Это делается через макет группировки общий итог заголовок группировки магазины.
26. user1194102 07.02.20 16:55 Сейчас в теме
А есть статьи что бы не в типовой макет СКД расширять, а создать свой полностью макет (не типовой) например счет, но в СКД с кодом?
27. Sintson 413 26.02.20 17:37 Сейчас в теме
(26) Предлагаю обратить внимание на типовой отчет "Расчетные листки организаций" в УПП.
user1194102; +1 Ответить
28. Xershi 1555 13.07.20 16:36 Сейчас в теме
Чтобы макет заработал.
Нужно добавить в настройках детальные записи, указать им имя. Далее в макетах выбрать это имя из списка.
Очевидно, если этого не делать придется кодом описывать.
29. D_E_S131 5 31.10.21 18:22 Сейчас в теме
Наконец-то что-то полезное нашел для себя на этом ресурсе за многие годы. Как можно продонатить статью?
31. Djo82 12 04.04.22 09:50 Сейчас в теме
скачал пример, пришел консоль отчетов, как то не честно, минус стартмани
32. Luniona 23.05.23 21:36 Сейчас в теме
Дополню по поводу Подвала с подписями. Нужно выбрать Имя группировки "Подвал", Тип макета "Заголовок".
И выйдут подписи в подвале по всему отчету.
Оставьте свое сообщение