Как сделать группировку в макете 1с
Печатная форма, получаемая в результате работы СКД в общем случае, не требует разработки, большинство группировок, полей и заголовков генерируются автоматически в зависимости от установленных условий оформлений. Но есть ряд задач, когда нужно для полей, группировок задать собственное оформлений. Для этого служит закладка «Макеты», где определяются секции табличного документа, которые будут выводиться в отчет.
На закладке присутствуют, список оформляемых полей/группировок/ресурсов, табличный документ с областями-секциями оформляемых полей/группировок, список параметров определенных в макете.
Для оформления доступны несколько видов макетов – макет поля, макет группировки, макет заго-ловка группировки, макет ресурсов.
Макет поля – области табличного документа, определяемые для полей. Если указать имя поля и область в табличном документе, то все результирующий отчет поле будет выведено с оформлением указанным в табличном документе.
В окне «Параметры макета» будут перечислены все параметры, которые определены в секции табличного документа, параметры можно определять для ячеек с видом заполнения «Параметр». В списке параметров можно указать выражение, которое отвечает за вывод поля в ячейку, по-умолчанию это «Представление(…)», возможно указать различные поля и реквизиты полей определенных в наборах данных.
Следующим видом оформления является оформления группировок. Если выбрать пункт «Добавить макет группировки» - откроется окно редактирования:
В диалоге можно указать имя группировки или набор полей, которые составляют группировку, т.е. оформление будут применено именно к этому составу полей. Перед этим группировки должны быть определены в настройках СКД, на закладке «Настройки». Далее указывается тип макета, доступны такие типы «Заголовок», «Подвал», «Заголовок иерархии», «Подвал иерархии», «Общий итог заголовок», «Общий итог подвал». После указания параметров группировки и типа макета, нужно указать адрес или имя области.
Именем области может служить как адрес в макете, пример – «R1C1:R10C10» или наименование области указанное в свойствах Имя для группы ячеек:
Аналогично добавляется макет для заголовков группировок.
Для оформления ресурсов используется другой специальный диалог:
Макет для вывода ресурсов можно определить по имени группировки, в которой выводятся ресурсы или же по набору полей, которые формируют данную группировку. Перед этим группировки должны быть определены в настройках СКД, на закладке «Настройки». Тип определяемых макетов такой же как и для группировок. При этом можно указать две группировки, на пересечении которых в отчете со строками и столбцами будет выводиться макет ресурсов.
Нужно заметить, что наиболее быстрый способ сформировать макет отчета воспользоваться специальным конструктором макетов для СКД.
Вызвать его можно из диалога редактирования отчета, при добавлении нового отчета:
После этого откроется окно с доступными элементами оформления:
Похожие FAQ
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ Excel файл как Внешний источник данных 16
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . https://helpf.pro/uploads/img Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора QR код в 1С 20
Столкнулся с интересной задачей реализации генерации QR-кода в 1С 8.2 ( QR-код — матричный код (двухмерный штрихкод) ) Для генерации было использовано api от google (http://chart.apis.google.com/chart). Вот сайт , который работает с ним. После тог В чем разница между ОБЪЕДИНИТЬ и ОБЪЕДИНИТЬ ВСЕ в языке запросов 1С 10
Цитата из справки 1С: " По умолчанию при объединении запросов полностью одинаковые строки в результате запроса, сформированные РАЗНЫМИ запросами, заменяются одной . Если требуется, чтобы были оставлены разные строки, необходимо указать ключевое Посмотреть все результаты поиска похожих
Еще в этой же категории
Программный вывод отчета СКД 36
Несмотря на то, изучающие СКД встречаются с этим на первый или второй день, это должно быть в разделе FAQ. Простой пример программного вывода отчета на компоновке, использующий настройки по умолчанию. //Получаем схему из макета СхемаКомпоновкиДанны Как сформировать отчет СКД без проверки прав (в привилегированном режиме)? 21
Что при разработке отчетов требуется чтобы у пользователя с ограниченными правами, отчет формировался полностью без проверки прав! Особенно если настроен RLS Есть несколько способов как это сделать: 1. Установить привилегированный режим в модул Конструктор схемы компоновки данных - Закладка Связи наборов данных 17
На этой закладке можно указать, какие осуществляются связи между двумя и более наборами дан-ных, по каким параметрам и условиям. https://helpf.pro/uploads/img/sukpd038.jpg 1. «Источник связи» - указывается первый набор данных, от которого осуще Как программно сформировать отчет СКД указав параметры и на выходе получить таблице значений? 12
В одном документе для расчета потребовалось получать данные из отчета на СКД, реализовал следующим образом: //Програмное формирование отчета СКД СхемаОст = Отчеты.ТоннажПоЭкспедиторам.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); КомпоновщикН Реализация расшифровки в Системе Компоновки Данных. 11
Продолжая свой цикл заметок про СКД, сегодня я хотел бы поподробнее остановиться на расшифровке. В СКД расшифровка представляет собой всплывающее меню (по двойному клику на ячейке), содержащие доступные пользователю действия, такие как открытие ссыл Посмотреть все в категории Схема Компоновки Данных
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
В этой статье я покажу, как в табличных документах 1С реализовывать группировку строк и колонок.
Группировка строк в табличном документе 1С
Для демонстрации создадим у обработки простой макет табличного документа с одной областью и с одним параметром области.
На основной форме обработки сделаем команду ВывестиГоризонтальнуюГруппировку, реквизит формы КоличествоЧисел (тип Число), и всё это разместим на форме.
При выполнении команды, я буду выводить ряд чисел с дробными частями. Для этого, создадим обработчик команды формы на клиенте и серверную процедуру, в которой будем заполнять табличный документ.
Получится такой код:
Подробно о формировании областей табличного документа читайте в статье:
Результат работы этого кода будет следующий:
Изменим этот макет: сделаем группировку целых чисел, а дробные числа будут с небольшим отступом.
Для того, чтобы дробные числа выводились с отступом изменим макет.
Откроем палитру свойств ячейки, в которой выводится параметр НомерСтроки.
В этой палитре нас интересует свойство АвтоОтступ. Установим в него значение.
На этом с макетом закончим. Доработаем код.
В этом коде мы применили методы НачатьАвтогруппировкуСтрок() и ЗакончитьАвтогруппировкуСтрок() перед тем как начали заполнять табличный документе, и после того как закончили. Кроме того, мы дополнили параметры метода Вывести табличного документе. Если в первом параметре указывается область которая будет выводиться в табличном документе, то во втором параметре указываем уровень группировки, в третьем – название группировки, а четвертом – булево значение, которое определяет, будет ли сворачиваться группировка или нет, после того, как она будет выведена.
Результат работы этого кода:
Группировка колонок в табличном документе 1С
Группировка колонок в табличном документе осуществляется по аналогии с группировкой строк. Для демонстрации создадим макет табличного документа, в котором сделаем вертикальную область с единственным параметром.
А также на основной форме обработки создадим команду формы, которую назовем «Вывести вертикальную группировку», и выведем её на форму.
Создадим обработчик команды и функцию в серверном контексте, которая формирует табличный документ с вертикальными областями, к которым применена группировка.
Смысл группировки вертикальных областей тот же, что и горизонтальных: используем методы НачатьАвтогруппировкуКолонок и ЗакончитьАвтогруппировкуКолонок перед выводом областей, а в методе Присоединить необходимо указать уровень группировки, название группы и признак того, будет развернута группа или нет, как и в методе Вывести.
Результат работы этого кода будет следующим:
Видео с бонусом! В этом бонусе я покажу, как сделать вывод иерархического справочника.
Другие статьи про табличные документы в 1С:
Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
Наиболее сложным в применении макетов является заполнение колонки “Макет” на вкладке “Макеты” в конструкторе СКД.
В природе существует неплохая справка по этому вопросу. Она помогает понять основные принципы. Но все равно каждый раз приходится экспериментировать с разными видами макетов, чтобы понять можно ли решить конкретную задачу с помощью этого инструмента или нет. Поэтому мне пришла идея выложить результаты экспериментов в виде статьи, чтобы потом можно было к ним обращаться, и в будущем сэкономить время. Не обязательно вчитываться в текст, достаточно быстро пробежаться по скриншотам, чтобы выбрать вид макета, который больше всего подходит для решаемой задачи
В статье я немного повторю упомянутую справку, чтобы изложить некоторые важные детали более понятным и конкретным языком.
Эксперименты я проводил над отчетом следующего вида.
Макет поля
Этот макет применяется к конкретной ячейке, в отличие от макетов группировки и заголовка группировки, которые применяются к целой строке.
Его можно накладывать на поля группировки и на поля ресурсов
Макет заголовка группировки
Данный вид макета, как уже было сказано выше, применяется ко всей строке заголовка.
Если его назначить для самой верхней группировки, то он применится для всей шапки таблицы отчета. Как видно на рисунке, заголовки остальных группировок, а также заголовки ресурсов при этом скрываются. Поэтому приходится эти заголовки дорисовывать вручную. Иногда это и требуется, например для объединения ячеек в шапке
Применять этот макет для группировок второго и более нижних уровней обычно не имеет смысла, т.к. получаемый результат мало где можно применить
Однако если назначить строке макета высоту 1, то можно скрыть заголовки группировок текущего и следующего уровней. На рисунке ниже скрыты заголовки Должность и Сотрудник
Также заслуживает внимания использование типа макета Подвал, например для вывода подписантов.
Использование типов Общий итог, насколько я понял ни на что не влияют. Мне не удалось создать настройку с этими типами, чтобы она применилась
Макет группировки
Этот макет применяется ко всей строке группировки. Он может применяться для некоторых типовых задач, хотя догадаться как его использовать не просто
Если применить этот макет к самой верхней группировке с типом Заголовок, то под каждой группировкой повторяется шапка таблицы. Применять такой макет имеет смысл в тех случаях, например, когда нужно вставить разрывы страницы перед каждой группировкой
Если применить данную схему для группировки нижнего уровня, то получается вот что
Или, если дорисовать столбцы, то получится так
Если возникает задача изменить подвал с итогами, то нужно использовать этот макет с типом Общий итог подвал или Общий итог заголовок. Насколько я понял, эти два типа макета делают одно и то же
Макет ресурсов
Макет используется только для ТАБЛИЦЫ. Он применяется на пересечении группировок, указанных в настройках
Ограничения использования макетов
- Во многих случаях при использовании макетов теряется возможность настройки отчета пользователем. Он не сможет изменять порядок ресурсов и группировок, отключать ресурсы и группировки, т.к. при этом отчет принимает непонятный вид. Данный недостаток не распространяется только на макет поля.
- Нет возможности оформить с помощью макета ТОЛЬКО заголовок нужного ресурса (или группы ресурсов). Например, если нужно выровнять заголовки ресурсов по центру. Придется оформлять всю шапку таблицы полностью и получить ограничение из п.1
- Нет возможности оформить ТОЛЬКО заголовок итогов. Например, несколько раз требовалось заменить слово “Итого” на слово “Всего”. В этом случае придется отрисовывать всю строку итогов и получить ограничение из п.1 или придумывать что-нибудь другое.
Файлы
Все описанные выше примеры приложены к статье в виде файла для скачивания. Он содержит консоль СКД с набором схем (встроенным в нее). Запросы в примере не обращаются к таблицам базы данных, поэтому примеры запускаются на любой конфигурации в режиме управляемого приложения.
В
Горизонтальная группировка в макете (Не СКД) Как?
Как заорганизовать горизонтальную группировку в макете отчета 1С? В СКД это делается в настройках.
Группировка строк в макете
Как вывести группировку, нужен именно такой пример:
Группировка динамических колонок в макете
Всем привет! Есть табличный документ, похожий на табель, вида: Сотрудник | Вид работы |.
Группировка строк в макете Печать
Есть макет Печать, по справочнику Курсы. Нужно чтобы имя каждого преподавателя выводилось только.
Как выводишь, так и выводит.
Сантехник | |
Сантехник | Петров |
Сантехник | Иванов |
Дворник | Иванов |
Дворник | Сидоров |
Дворник | Равшан |
Консьерж | Равшан |
Консьерж | Гюльчитай |
Добавлено через 1 минуту
Тамика, вопрос к тебе. Зачем тебе в макете два параметра? (Сотрудник и дожность)
Тамика, Прямо в макете что ли сортировать будешь.
Добавлено через 40 секунд
Тамика, давай, начинай разделять мух от котлет.
Источник от представления
УТ 3.1 Расшифровка в макете 1C 8.3
Есть документ СверкаВзаиморасчетов. В нем есть макет "ПФ_MXL_АктСверкиВзаимныхРасчетов" (Акт сверки.
Расшифровка в макете
Есть отчет, в нем форма и макет. Макет открывается в отдельном окне, в него выводиться вся инф.
Надпись в макете
Как убирается надпись в PSD-файле?
Рисунки в макете
Всем хорошего настроения. Расскажу анекдот для начала- Заказали программисту написать прогу.
Отчет На Макете
Добрый день! Покажите пожалуйста на примере, как сделать отчет с помощью макета (не СКД) вручную!
Построитель отчета - мощная штука для быстрого написания отчетов.
Однако иногда хочется использовать свои макеты, да и просто хотелось бы иметь "рыбу", которую можно было бы быстро использовать для написания отчета, особенно если данные берутся из таблицы значений.
Это именно такая "рыба".
Я предлагаю функцию обПостроительВывестиПоГруппировкам , которая занимается выводом таблицы значений с помощью построителя отчета с заданными группировками, итогами и параметрами группировок.
Итоги можно использовать любые - количество, сумма, среднее.
Пока еще не поддерживается сортировка, именно поэтому список параметров передается в виде структуры, чтобы можно было добавлять свои параметры.
Используется гибкое управление параметрами:
= Если не задан макет, то замена макета не производится
= Если не заданы параметры построителя, то они и не назначаются
= Может использоваться в качестве источника не только таблица значений, но и результат запроса
= Если не задан табличный документ, то она не выводится
Пример вызова функции:
Структура макета
Строки с уровнями именуются Уровень0, Уровень1, .
Колонки с уровнями именуются кУровень0, кУровень1, …
Детальная информация по строкам именуется кДетали.
Общие итоги именуются ОбщиеИтоги, шапка таблицы - ШапкаТаблицы, подвал таблицы - ПодвалТаблицы.
Может быть на картинке не заметно, но колонки с итогами содержат параметры, которые называются так же, как итоги в таблице значений, т.е. например "Сумма", "Остаток", "Количество".
Кроме измерений и итогов, можно выводить доп.параметры, например на рисунке виден параметр Адрес.
Замечания по коду
Пусть у нас есть некая таблица значений ТЗ.
Построитель отчета, привязанный к этой таблице значений, создается так:
Допустим, в списке значений спзГруппы у нас находится список колонок-группировок для отчета, в структуре спзИтоги - список колонок-итогов (колонки-итоги должны иметь явно указанный тип число, иначе не будет суммироваться итог).
Нужно указать, что колонки спзГруппы будут измерениями построителя - функция обПостроительОтчетаУстановитьИзмерения .
Нужно указать, что колонки спзИтоги будут итогами построителя и назначить им некоторую функцию итогов (Количество,Сумма) - функция обПостроительОтчетаУстановитьИтоги .
Затем вызывает заполнение настроек построителя:
Затем мы выполняем построитель и заполняем параметры вывода макета:
Теперь нужно подставить в построитель наш собственный макет. Но в макете построителя и в нашем названия групп могут не совпадать, поэтому нужно скорректировать названия. В переменной Макет хранится наш макет, мы его обработаем и подставим в макет построителя:
Читайте также: