Как вывести на форму отбор компоновки данных для группировки.

Публикация № 198681

Разработка - Практика программирования

приемы программирования СКД

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

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


Способ первый:

Нам понадобятся два табличных поля. В первом указываем в данных - КомпоновщикНастроек.Настройки, а в свойствах элемента формы отмечаем флажок "Подробнаянастройка". Это поле отображает настройки системы компоновки данных. Во втором поле указываем в данных ЭлементыФормы.[Имя первого поля].ТекущиеДанные.Отбор.
При переходе между группировками первого поля во втором табличном поле будет динамически отображаться отбор текущей группировки.


В конфигураторе:



В пользовательском режиме:


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

Способ второй.

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




В модуле формы в процедуре при открытии добавить код:       
//Важно! следующая строка - это позиционирование на отборе конкретной группировки отчета.
// В примере это сделано явно через обращение к элементам структуры настроек по индексу.
// В реальном применении возможно как обращение по индексу, так и перебор элементов структуры в цикле.
ОтборНоменклатуры = КомпоновщикНастроек.Настройки.Структура[0].Строки[0].Отбор;
        ЭлементОтбор = ЭлементыФормы.ТабличноеПоле1;
        МассивТипов = Новый Массив;
        МассивТипов.Добавить(Тип("ОтборКомпоновкиДанных"));
        ЭлементОтбор.ТипЗначения = Новый ОписаниеТипов(МассивТипов);
        ЭлементОтбор.Значение = ОтборНоменклатуры;
        ЭлементОтбор.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
        ЭлементОтбор.СоздатьКолонки();
       
        ОтборПроектов = КомпоновщикНастроек.Настройки.Структура[0].Колонки[0].Отбор;
        ЭлементОтбор = ЭлементыФормы.ТабличноеПоле2;
        МассивТипов = Новый Массив;
        МассивТипов.Добавить(Тип("ОтборКомпоновкиДанных"));
        ЭлементОтбор.ТипЗначения = Новый ОписаниеТипов(МассивТипов);
        ЭлементОтбор.Значение = ОтборПроектов;
        ЭлементОтбор.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
        ЭлементОтбор.СоздатьКолонки();

В пользовательском режиме:



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

В случае отборов по одной единственной группировке - нужно только одно табличное поле.
Минусы - необходимость программного заполнения элементов формы, т.к. в конфигураторе отсутствует возможность добавить на форму элемент с типом данных ОтборКомпоновкиДанных
Применение: данный способ подходит для упрощения доступа к отборам по группировкам для отчетов с жесткой структурой группировок.
8

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. chmv 28.08.13 09:28 Сейчас в теме
Интересно. А можно ли сделать отбор не из справочника, а из регистра сведений?
2. axelerleo 287 29.08.13 12:05 Сейчас в теме
Немного не понял вопрос.
Если в наборе данных запрос по регистру сведений, все равно там какие-то реквизиты, измерения и ресурсы. Отбор по их значениям конечно можно сделать. Или имеется в виду другое?
3. hibico 254 25.03.15 16:30 Сейчас в теме
+ за идею!
Хочу только добавить.

Табличное поле можно не описывать. Просто при создании поля нужно указать, например для поля "выбранные поля" данные: "КомпоновщикНастроек.Настройки.Выбор".
А программно при открытии формы достаточно присвоить табличному полю нужное значение, например
"ВыводимыеПоля" - табличное поле формы с установленными данными "КомпоновщикНастроек.Настройки.Выбор".
А при открытии типа такого:
ЭлементыФормы.ВыводимыеПоля.Значение = КомпоновщикНастроек.Настройки.Структура[0].Строки[0].Структура[0].Структура[0].Выбор;
4. user640247 02.08.19 14:38 Сейчас в теме
Спасибо автору!
Сделала по первому способу, всё хорошо работает
Оставьте свое сообщение

См. также

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Агрегатные функции СКД, о которых мало кто знает 359

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    16897    ids79    44       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Три костыля. Сказ про фокусы в коде 124

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    11227    YPermitin    69       

Отслеживание выполнения фонового задания 144

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

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

17.08.2019    13825    ids79    16       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

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

6500 рублей

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив 266

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    19976    ids79    31       

Фоновое выполнение кода в 1С - это просто 124

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Как легко запускать выполнение в фоне, не прибегая к долгому описанию фоновых процедур.

02.08.2019    13335    avalakh    21       

Функциональные списки номенклатуры и характеритик [Расширение] Промо

Подробные сведения по товару на форме HTML с несколькими страницами. Превращает форму списка в полноценный инструмент по управлению каталогом товаров - цены, остатки, быстрые команды, работа с изображениями.

2 500 руб.

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты 145

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    17849    ids79    8       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ 156

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Инструментарий разработчика Практика программирования

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    14419    ids79    27       

Регистры сведений. За кулисами 129

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    11657    YPermitin    12       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

"Меньше копипаста!", или как Вася универсальную процедуру писал 184

Статья Программист Стажер Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Разработка

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    10318    SeiOkami    49       

Создание отчетов с помощью СКД - основные понятия и элементы 219

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Математика и алгоритмы

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    24806    ids79    17       

Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо

Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.

9000 рублей

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017 179

Статья Программист Нет файла v8 v8::Запросы Бесплатно (free) Практика программирования Разработка

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    14002    dmurk    134       

Регистры накопления. Структура хранения в базе данных 178

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    22237    YPermitin    27       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Выполнение внешней обработки в фоновом задании 149

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    14075    Eret1k    23       

Выгрузка документа по условию 5

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    8108    m-rv    2       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

7500 рублей

Как прикрутить ГУИД к регистру сведений 23

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

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

16.04.2019    10702    m-rv    16       

О расширениях замолвите слово... 195

Статья Программист Стажер Нет файла v8 Бесплатно (free) Практика программирования Разработка

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    19365    ellavs    125       

Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо

Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.

29700 руб.

Git-репозитории для 1С-кода (опыт использования при небольших проектах) 203

Статья Программист Стажер Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    15938    ellavs    83       

Трюки с внешними источниками данных 167

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    17049    YPermitin    53       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS) 174

Статья Программист Нет файла v8 v8::Права Бесплатно (free) Практика программирования БСП (Библиотека стандартных подсистем) Роли и права

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    19934    ids79    9