ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаНе

Свойства · NotGroup

Вложенные элементы группы объединяются по "И" и отрицаются.

Полное описание, параметры и ограничения

ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаНе (DataCompositionFilterItemsGroupType.NotGroup)

ТипГруппыЭлементовОтбораКомпоновкиДанных (DataCompositionFilterItemsGroupType)

ГруппаНе (NotGroup)

Доступен, начиная с версии 8.1.

Описание:
Вложенные элементы группы объединяются по "И" и отрицаются.
Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

Применить ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаНе при формировании своего отчёта

Один и тот же подготовленный источник и настоящий конвейер СКД позволяют изучать конкретное свойство без фиктивной функции чтения неизвестного объекта.

Где и как запускать

Модуль собственной обычной формы, толстый клиент. Полный обработчик кнопки и две отдельные процедуры подготовки / вывода.

Подготовка

  1. В своей учебной конфигурации создайте Отчеты → УчебныеКнигиСКД. У отчёта откройте ОсновнаяСхемаКомпоновкиДанных и сохраните её макетом ОсновнаяСхемаКомпоновкиДанных.

  2. В конструкторе СКД создайте источник Local и набор-запрос Книги. Вставьте приведённый запрос двух константных строк; это не чтение рабочих справочников. Доступные поля Наименование, Количество, Сумма заполните автоматически.

  3. В настройках схемы создайте вариант Подробно: выбраны Наименование, Количество, Сумма; структура — группировка Детальные записи. Второй вариант Кратко: Наименование и Сумма, также Детальные записи. Первым оставьте Подробно; у обоих задайте понятное представление.

  4. В схеме на вкладке Ресурсы добавьте Количество с выражением Сумма(Количество) и Сумма с выражением Сумма(Сумма). Существующие варианты Подробно / Кратко не заменяйте.

  5. Добавьте вариант УчебныеИтоги: структура — группировка по Наименование с детальными записями внутри; в выбранных полях Наименование, Количество и Сумма. В порядке укажите Наименование по возрастанию. Наименование сделайте узкой колонкой ширины 12 для опыта с длинным текстом.

  6. Для диаграмм добавьте отдельный вариант УчебнаяДиаграмма: структура — Диаграмма, точки по Наименование, ресурсы Количество и Сумма; тип Гистограмма. Это два условных показателя разных единиц — опыт оформления, не готовый управленческий график.

  7. Создайте обычную форму собственной обработки в толстом клиенте. Основной полный обработчик назначьте кнопке ПоказатьПример. Две дополнительные процедуры / функции разместите отдельно в том же модуле.

  8. Схема берётся из собственного общего макета отчёта. Названия вариантов и полей — контракт подготовки, а не проверка имени конфигурации / версии платформы. Макет обратно в конфигурацию не записывается.

Процедура ПоказатьПример(Кнопка)
    Схема = Отчеты.УчебныеКнигиСКД.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    Компоновщик = УчебныйКомпоновщик(Схема, "УчебныеИтоги");
    Настройки = Компоновщик.Настройки;
    Группа = Настройки.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    Группа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаНе;
    Группа.Использование = Истина;
    Условия = Новый Структура("Количество,Сумма", 3, 300);
    Для Каждого Пара Из Условия Цикл
        Условие = Группа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        Условие.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Пара.Ключ);
        Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
        Условие.ПравоеЗначение = Пара.Значение;
        Условие.Использование = Истина;
    КонецЦикла;
    Сообщить("Применяется ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаНе");
    ВывестиУчебнуюКомпоновку(Схема, Настройки);
КонецПроцедуры
Конструктор СКД своего отчёта: запрос двух константных строк, не BSL
ВЫБРАТЬ
    "Учебная книга" КАК Наименование,
    3 КАК Количество,
    750 КАК Сумма
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "Учебная тетрадь", 5, 200
Тот же модуль: найти настоящий собственный вариант и инициализировать компоновщик
Функция УчебныйКомпоновщик(Схема, ИмяВарианта)
    Источник = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема);
    Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных;
    Компоновщик.Инициализировать(Источник);
    Для Каждого Вариант Из Схема.ВариантыНастроек Цикл
        Если Вариант.Имя = ИмяВарианта Тогда
            Компоновщик.ЗагрузитьНастройки(Вариант.Настройки);
            Возврат Компоновщик;
        КонецЕсли;
    КонецЦикла;
    ВызватьИсключение "Создайте собственный вариант схемы: " + ИмяВарианта;
КонецФункции
Тот же модуль: макет, процессор, расшифровка и реальный вывод
Процедура ВывестиУчебнуюКомпоновку(Схема, Настройки)
    Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных;
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    Макет = КомпоновщикМакета.Выполнить(Схема, Настройки, Расшифровка);
    Процессор = Новый ПроцессорКомпоновкиДанных;
    Процессор.Инициализировать(Макет, , Расшифровка);
    Лист = Новый ТабличныйДокумент;
    Вывод = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    Вывод.УстановитьДокумент(Лист);
    Вывод.Вывести(Процессор);
    Сообщить("Макетов областей: " + Строка(Макет.Макеты.Количество()));
    Сообщить("Элементов расшифровки: " + Строка(Расшифровка.Элементы.Количество()));
    Лист.Показать("Собственная компоновка учебных книг");
КонецПроцедуры

Разбор по шагам

  1. Подготовьте собственную схему и точный вариант настроек.

  2. Основной блок меняет один параметр / группу полей / группу отбора в реальных настройках.

  3. Дополнительный код строит макет, выполняет компоновку и показывает свой табличный документ.

Как проверить результат

  1. Настройка передана компоновщику макета и реальному процессору вывода, а не оставлена в неиспользуемом объекте параметров.

  2. Исходник содержит собственные две строки: Количество 3 / 5, Сумма 750 / 200. Размещение, скрытие элементов и отбор могут менять видимый результат, не изменяя данные источника.

  3. Для Книга истинно только Сумма>300, для Тетрадь только Количество>3. ГруппаИ даёт пустой отбор, ГруппаИли — обе записи. ГруппаНе отрицает объединённые условия, а не заменяет числа на отрицательные.

Ожидаемый результат

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

На что обратить внимание

  1. ТипДиаграммы.РасположениеЛегенды — полное имя параметра вывода, а Размещение — параметр оформления; эти коллекции не взаимозаменяемы.

  2. Если параметр не найден, штатный метод вызывает исключение. Код не добавляет произвольный неизвестный параметр для маскировки ошибки.

  3. Код 1С, печать и сохранение пользовательских настроек при сборке справочника не выполнялись.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.