Как в 1с добавить в окне выбор поля для группировки рк
Добрый день!<br> <br>Есть отчет в СКД. <br>На форме отчета есть настройка параметров отчета, в частности есть "крыж" выводить детальные записи.<br>Нужно программно проверить - настройена ли группировка по детальным записям и если нет, то добавить ее.<br> <br><span>Не могу понять - как определить, что текущая группировка и есть - Детальные записи?</span><br> <br>Может у кого-то есть кусок подобного кода?<br>Или ссылки какие?<br> <br>Спасибо!
А что, пользователь не может настройками добавлять свои группировки?
Пользователь, конечно, может - если умеет. <br> <br>Хочется настройку всех необходимых параметров вынести на форму - как рекомендует это делать "культура создания отчетов с использованием СКД" (Хрусталева).
Не проще ли сделать настройку "Детальная"?
возможно это сделать проще.<br> <br>но ведь хочется понять логику 1С и разобраться в этом механизме!
>Не могу понять - как определить, что текущая группировка и есть - Детальные записи?<br>Посмотри отладчиком, чем отличается группировка "детальные записи" от нормальной группировки. И поставь условие на это отличие.<br>Мне кажется разница в том, что у детальной записи нет полей группировки. Значит что-то типа этого:<br>ТекГруппировка.ПоляГруппировки.Элементы.Количество() = 0.
Так Вы хотите по установленному параметру программо создавать/изменять настройку отчета или без программного вмешательства задействовать готовую настроку при установленном параметре?
"да именно так и есть. таким образом работает. <br>но чо-то мне подсказывает, что должен быть еще какой-то признак/поле, который бы определял это дело. <br> <br>ведь чтобы добавить группировку с детальными записями я делаю так:<br> <br>ЭлементГруппировки.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));<br> <br>правильно. <br> <br>так вот мне кажется, что есть какая-то возможность используя Тип("АвтоВыбранноеПолеКомпоновкиДанных") можно определить что это за группировка. <br> <br>так?"
В этой статье я расскажу про закладку «Другие настройки» в 1С СКД. Рассмотрим все параметры кроме тех, которые относятся к диаграмме.
Состав параметров зависит от уровня настройки. Параметры могут быть заданы для:
- Отчета в целом
- Для таблицы
- Для группировки (строк или колонок)
При установке какого либо параметра как обычно принято в СКД этот параметр наследуется с верхнего уровня на нижний, с уровня отчета в таблицу, с уровня таблицы на уровень группировки, с родительской группировки на подчиненную группировку. Наследование происходит в случае если у элемента структуры нижнего уровня параметр не установлен.
Итак, рассмотрим параметры по-порядку:
Макет оформления
Макет оформления отвечает за визуальное оформление структуры отчета. Если коротко, макет оформления это предустановленный набор правил оформления различных областей отчета – заголовков полей, ресурсов, итогов и т.д. Все что связано оформлением – цвет, шрифт, рамки и т.д. В этом параметре вы можете выбрать или типовой набор или свой собственный. Если этот параметр не установлен, используется «Основной» макет оформления. Есть возможность не использовать макет оформления вообще. Для этого нужно выбрать вариант «Без оформления» и тогда никакое оформление к ячейке табличного документа применяться не будет.
Количество записей
Параметр доступен только для группировок. В том числе для группировок строк и колонок таблицы. Если параметр задан, то выводятся не все записи группировки, а только указанное количество
Процент записей
Параметр доступен только для группировок. В том числе для группировок строк и колонок таблицы. Если параметр задан, то выводятся не все записи группировки, а только указанный процент от общего количества
Тип макета
Параметр доступен только для группировки. Не доступен для группировок строк и колонок таблицы. Отвечает за направление вывода ячеек записи группировки.
- Авто. Работает как горизонтально
- Горизонтально. Ячейки записи выводятся горизонтально
- Вертикально. Ячейки записи выводятся вертикально
Расположение итогов
Данный параметр имеет отношение к группировке. Чтобы понять смысл работы этого параметра нужно представить запись по группировке как итог по подчиненным группировкам (даже в том случае если подчиненных нет). Варианты значения параметра:
- Нет. Отключает вывод значений ресурсов.
- Начало. В начале выводится одна группировочная запись (для подчиненных)
- Начало и Конец. К группировочной записи в начале добавляется ее копия, но уже после всех записей подчиненных группировок (то есть в конце)
- Конец. Отключает вывод значений ресурсов в начальной записи. Но сама начальная запись добавляется
- Авто. Работает как «Начало»
Расположение полей группировок
Интересный параметр, который влияет на расположение подчиненной группировки относительно родительской. Причем действует этот параметр на группировки строк(или просто группировки без таблицы) и группировки по колонок по-разному.
Для группировок строк:
- Вместе. Работает как значение по умолчанию. Дочерняя группировка выводится под родительской группировкой в одной колонке
- Отдельно. Дочерняя группировка выводится в отдельной колонке. Значение родительских группировок дублируются для подчиненной.
- Отдельно и только в итогах. Дочерняя группировка выводится в отдельной колонке. Значение родительских группировок не дублируется для подчиненной
Для группировок колонок установка параметра работает похоже, но немного по другому. Если для группировок строк достаточно установить значение параметра для верхней группировки (или для отчета), то это значение распространяется на остальные подчиненные группировки. Для колонок этот принцип не работает. Не работает если установить параметр для отчета, для таблицы, для группировки первого уровня. Работает установка параметра начиная со второй (по вложенности) группировки. При этом значение параметра на следующие группировки не передается. И действует это значение не на подчиненную группировку, а на текущую. То есть :
- Вместе. Колонка текущей группировки выводится в той же строке что и родительская
- Отдельно. Колонка текущей группировки выводится на новой строке. Значение родительских группировок повторяется
- Отдельно и только в итогах. Колонка текущей группировки выводится на новой строке. Значение родительских группировок не повторяется.
Расположение группировок
Параметр работает в некотором смысле аналогично параметру «Расположение итогов», но есть отличия в работе значений:
- Нет. Полностью исключает записи данной группировки
- Конец. В отличие от параметра «Расположение итого» такое значение на самом деле отключает вывод начальной записи
Если у группировки действуют оба параметра «Расположение группировок» и «Расположение итогов», то результат их действия объединяется через «ИЛИ».
Расположение реквизитов
Параметр отвечает за вывод реквизитов полей входящих в состав группировки. Если у вас есть группировка по какому-то полю, то чтобы вывести реквизиты объекта из этого поля вам не обязательно включать их в группировку. Достаточно добавить их в выбранные поля (развернув объект) в списке они будут отображаться через точку. За то как будут выводится такие поля отвечает этот параметр:
- Вместе – все реквизиты выводятся в одной отдельной колонке вместе. Для каждой группировки своя отдельная колонка
- Отдельно – каждый реквизит выводится в отдельной колонке
- Вместе с владельцем – все реквизиты выводятся в колонке группировки. Это значение используется по умолчанию
- В отдельной позицици – все реквизиты выводятся в отдельной колонке, но колонка в отличие от значения «Вместе» одна для всех группировок
Расположение ресурсов
Параметр отвечает за вывод заголовков ресурсов и вывод ресурсов в строке
- Горизонтально (по умолчанию) – заголовки ресурсов выводятся в шапке (горизонтально). В строке группировки ресурсы выводятся также горизонтально
- Вертикально – заголовки ресурсов выводятся в отдельной колонке в строках группировок (вертикально). В строке группировки ресурсы выводятся вертикально
Расположение общих итогов (по вертикали / по горизонтали)
Параметр отвечает за вывод общих итогов. Для отчета и таблицы доступны варианты «по вертикали», «по горизонтали». При этом вариант «по горизонтали» имеет смысл только для группировок колонок таблицы. Для группировок колонок доступен только один вариант – «расположение общих итогов» и означает итоги по горизонтали, соответственно для группировок строк таблицы также доступен такой же один вариант и означает он итоги по вертикали. Для группировок без таблицы хоть и доступен вариант «по горизонтали», но имеет значение только вариант «по вертикали».
- Нет – итоги не выводятся
- Начало – итоги выводятся в начале
- Конец – итоги выводятся в конце (по умолчанию)
- Начало и конец – итоги выводятся в начале и в конце
- Авто – работает как «Конец»
Тип заголовка полей
Не совсем понятно как точно работает параметр, но в варианте «Полный» заголовок подчиненного реквизита выводится как «Владелец.Реквизит», в варианте «Краткий» выводится просто «Реквизит». Может еще на что-то влияет?
Выводить заголовок и Заголовок
Два параметра отвечают за вывод заголовка отчета, группировки, таблицы. Если параметр Выводить заголовок равен «Выводить», то выводится даже пустой заголовок. Если параметр имеет значение «Не выводить», то заголовок не выводится даже если задан. Если параметр имеет значение авто или не установлен, то заголовок выводится если заполнен и не выводится если не заполнен.
Выводить параметры
Параметр доступен только на уровне отчета. Отвечает за вывод значений параметров отчета. По умолчанию (и значение «Авто») параметры выводятся.
Выводить отбор
Параметр отвечает за вывод отбора. Доступен на уровне отчета, группировки. По умолчанию (и значение «Авто») отбор выводится
Автопозиция ресурсов
Параметр отвечает за позицию вывода ресурсов. Доступен для отчета, для таблицы, для группировок.
- Не использовать – колонки ресурсов выводятся так, как задано в списке «Выбранные поля» при этом учитываются только поля группировок и ресурсов
- После всех полей (по умолчанию) – колонки ресурсов выводятся после всех полей (группировок и реквизитов)
Фиксация слева и Фиксация сверху
Параметры доступны только для отчета. С помощью параметров можно отключить (по умолчанию включена) фиксацию слева (для таблиц) или сверху (и для таблиц и просто для группировок)
Добавим в настройки группировку на примере отчета Оборотно-сальдовая ведомость по счету .
Откройте отчет, укажите организацию и период, выберите счет, нажмите кнопку Показать настройки .
На вкладке Группировка установите флажки напротив полей, которые нужно сгруппировать в отчете. Например, по счету 62 это могут быть Контрагенты и Договоры .
Дополнительно укажите Тип группировки . Варианты:
- Без групп — в отчет не попадут папки;
- С группами — в отчет попадут и папки, и элементы;
- Только группы — в отчет попадут только папки.
В отчете выводится информация по каждому контрагенту и договору.
Так будет выглядеть отчет с группировкой по контрагенту с группами:
Выводится информация по папкам, например, Покупатели .
Как свернуть, развернуть группировки
В отчете бывает необходимо свернуть или развернуть группировки. Для этого используются знаки + и -. Но это неудобно, если элементов очень много.
Чтобы быстро посмотреть информацию по нужной группировке, нажмите слева на белой пустой области отчета правой кнопкой мыши и выберите пункт Уровни группировок . Затем укажите требуемую группировку.
Например, Уровень 3 выведет обобщенную информацию по контрагентам.
Действуйте подобным образом, чтобы быстро переключаться между уровнями
Мы рассмотрели, как настраивать группировку на примере отчета ОСВ по счету . В других отчетах может отличаться интерфейс, состав группируемых полей, но логика работы будет такой же.
См. также:
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Рассмотрим, какие настройки должны быть выполнены в программе 1С:ЗУП 3.В 1С 8.3 Бухгалтерия существует возможность ведения простого кадрового учета..Создавать новую организацию в базе 1С: Бухгалтерия 8.3 на практике.
Карточка публикации
(1 оценок, среднее: 5,00 из 5)
Данную публикацию можно обсудить в комментариях ниже.Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявкуНажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Как не попасть в ловушку, работая с контрагентами из ЕАЭС
[17.11.2021 запись] Практический переход на ФСБУ 6 и ФСБУ 26 в 1С
Переход на ФСБУ 6/2020 «Основные средства» в 1С по альтернативному алгоритму
Изменения в 2021 году, о которых нужно знать бухгалтеру
[11.10.2021 запись] Учет ОС по-новому: ФСБУ 6/2020, ФСБУ 26/2020, ФСБУ 25/2018
[29.10.2021 запись] Пообъектный учет ОС и подходы к определению и пересмотру СПИ
В данной небольшой статье речь пойдет о том, как упростить жизнь пользователю в случае, когда основные настройки отбора требуется производить не для всего отчета, а для конкретной группировки. В этом случае, чтобы не заходить каждый раз в форму настроек, можно вывести отбор непосредственно в форму отчета.
Сделать это можно двумя способами, каждый из них имеет свои плюсы, минусы и предназначение.
В данной небольшой статье речь пойдет о том, как упростить жизнь пользователю в случае, когда основные настройки отбора требуется производить не для всего отчета, а для конкретной группировки. В этом случае, чтобы не заходить каждый раз в форму настроек, можно вывести отбор непосредственно в форму отчета.
Сделать это можно двумя способами, каждый из них имеет свои плюсы, минусы и предназначение.
Нам понадобятся два табличных поля. В первом указываем в данных - КомпоновщикНастроек.Настройки, а в свойствах элемента формы отмечаем флажок "Подробнаянастройка". Это поле отображает настройки системы компоновки данных. Во втором поле указываем в данных ЭлементыФормы.[Имя первого поля].ТекущиеДанные.Отбор.
При переходе между группировками первого поля во втором табличном поле будет динамически отображаться отбор текущей группировки.
В пользовательском режиме:
Плюсы - никакого программирования, только интерфейсные настройки.
Минусы - лишнее табличное поле с настройками, необходимость становиться на строку нужной группировки, чтобы настроить ее отбор.
Предназначение - замена форме настроек для упрощенной работы с отбором.
Способ второй.
Нам понадобится одно табличное поле для вывода отбора по каждой группировке. Например, нам нужно на форме одновременно видеть настройки отбора для группировки строк "Номенклатура" и группировки колонок "Проект".
В этом случае нагляднее разместить на форме два табличных поля, и связать их с отборами конкретных группировок. Такое решение подойдет для пользователей, которые не слишком дружат с компьютером, и с настройками СКД в частности.
На форме нужно разместить табличное поле, не связанное с данными. И в процедуре, например, при открытии, мы этому полю назначаем тип ОтборКомпоновкиДанных и присваиваем значение отбора нужной группировки.
Пример:
В конфигураторе:
В модуле формы в процедуре при открытии добавить код:
//Важно! следующая строка - это позиционирование на отборе конкретной группировки отчета.
// В примере это сделано явно через обращение к элементам структуры настроек по индексу.
// В реальном применении возможно как обращение по индексу, так и перебор элементов структуры в цикле.
ОтборНоменклатуры = КомпоновщикНастроек.Настройки.Структура[0].Строки[0].Отбор;
ЭлементОтбор = ЭлементыФормы.ТабличноеПоле1;
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("ОтборКомпоновкиДанных"));
ЭлементОтбор.ТипЗначения = Новый ОписаниеТипов(МассивТипов);
ЭлементОтбор.Значение = ОтборНоменклатуры;
ЭлементОтбор.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
ЭлементОтбор.СоздатьКолонки();
ОтборПроектов = КомпоновщикНастроек.Настройки.Структура[0].Колонки[0].Отбор;
ЭлементОтбор = ЭлементыФормы.ТабличноеПоле2;
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("ОтборКомпоновкиДанных"));
ЭлементОтбор.ТипЗначения = Новый ОписаниеТипов(МассивТипов);
ЭлементОтбор.Значение = ОтборПроектов;
ЭлементОтбор.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
ЭлементОтбор.СоздатьКолонки();
// Процедура устанавливает значения параметров в запросе.
// Имя - Имя параметра
// Значение - Значение для отбора
Процедура УстановитьПараметрКомпоновки ( Имя , Значение )
КомпоновкаДанныхПараметр =
КомпоновщикНастроек . Настройки . ПараметрыДанных . Элементы . Найти ( Имя );
Если НЕ( КомпоновкаДанныхПараметр = Неопределено) Тогда
КомпоновкаДанныхПараметр.Значение = Значение ;
КомпоновкаДанныхПараметр.Использование = Истина ;
Иначе Сообщить( "Параметр " + Имя + " не найден " );
КонецЕсли;
КонецПроцедуры
// Процедура устанавливает отбор по полям запроса.
// Имя - Имя поля
// Значение - Значение для отбора
// ВидСравнения - ВидСравненияКомпоновкиДанных
Процедура УстановтьОтборПоПолюКомпоновки ( Имя , Значение , ВидСравнения )
Для Каждого ЭлементОтбора Из КомпоновщикНастроек . Настройки . Отбор . Элементы Цикл
Если ЭлементОтбора . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( Имя ) И ЭлементОтбора . ВидСравнения = ВидСравнения Тогда
КомпоновщикНастроек . Настройки . Отбор . Элементы . Удалить ( ЭлементОтбора );
КонецЕсли;
КонецЦикла;
ЭлементОтбора = КомпоновщикНастроек.Настройки . Отбор . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( Имя );
ЭлементОтбора.ВидСравнения = ВидСравнения;
ЭлементОтбора.ПравоеЗначение = Значение ;
ЭлементОтбора.Использование = Истина ;
КонецПроцедуры
// Процедура добавляет или удаляет набор данных из схемы компоновки данных
//
// Схема - СхемаКомпоновкиДанных, схема, в которой нужно добавить(удалить) набор данных
// СхемаИсточник - СхемаКомпоновкиДанных, схема из которой копируется набор данных
// ИмяНабора - Строка
// Добавить - Булево
// НаборДанныхРодитель - НаборДанныхОбъединениеСхемыКомпоновкиДанных
Процедура ДобавитьУдалитьНаборДанных ( Схема , СхемаИсточник , ИмяНабора , Добавить , НаборДанныхРодитель )
НаборДанных = НайтиНаборДанных ( Схема . НаборыДанных , ИмяНабора );
Если Добавить Тогда
Если НаборДанных = Неопределено Тогда
НаборДанныхИсточник = НайтиНаборДанных ( СхемаИсточник . НаборыДанных , ИмяНабора );
НаборДанных = НаборДанныхРодитель . Элементы . Добавить ( Тип ( "НаборДанныхЗапросСхемыКомпоновкиДанных" ));
НаборДанных . Имя = НаборДанныхИсточник.Имя ;
НаборДанных . ИсточникДанных = НаборДанныхИсточник . ИсточникДанных ;
НаборДанных . Запрос = НаборДанныхИсточник . Запрос ;
КонецЕсли;
Иначе
Если НаборДанных <> Неопределено Тогда
НаборДанныхРодитель . Элементы . Удалить ( НаборДанных );
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Функция НайтиНаборДанных ( НаборыДанных , Имя )
Если НаборыДанных = Неопределено Тогда
Возврат Неопределено ;
КонецЕсли;
Для каждого НаборДанных Из НаборыДанных Цикл
Если НаборДанных . Имя = Имя Тогда
Возврат НаборДанных ;
КонецЕсли;
Если ТипЗнч ( НаборДанных) = Тип ( "НаборДанныхОбъединениеСхемыКомпоновкиДанных" ) Тогда
Результат = НайтиНаборДанных ( НаборДанных . Элементы , Имя );
Если Результат <> Неопределено Тогда
Возврат Результат ;
КонецЕсли;
КонецЕсли;
КонецЦикла;
В озврат Неопределено;
КонецФункции
// Функция находит группировку в компоновке
// Структура - КомпоновщикНастроек.Настройки.Структура
// Имя - Имя поля в группировке
// Возвращаемое значение: ПолеКомпоновкиДанных
Функция НайтиГруппировку ( Структура , Имя , ВидГруппировки = "Поле" )
Для Каждого Элемент Из Структура Цикл
Если ТипЗнч ( Элемент ) = Тип ( "ТаблицаКомпоновкиДанных" ) Тогда
Результат = НайтиГруппировку ( Элемент . Строки , Имя );
Если Результат <> Неопределено Тогда
Возврат Результат ;
КонецЕсли;
Результат = НайтиГруппировку ( Элемент . Колонки , Имя );
Если Результат <> Неопределено Тогда
Возврат Результат;
КонецЕсли;
ИначеЕсли ТипЗнч ( Элемент ) = Тип ( "ГруппировкаТаблицыКомпоновкиДанных" ) Тогда
Для Каждого Поле Из Элемент.ПоляГруппировки.Элементы Цикл
Если Поле.Поле = Новый ПолеКомпоновкиДанных ( Имя ) Тогда
Если ВидГруппировки = "Поле" Тогда
Результат = Поле ;
Иначе
Результат = Элемент ;
КонецЕсли;
Возврат Результат ;
КонецЕсли;
КонецЦикла;
Результат = НайтиГруппировку ( Элемент . Структура , Имя );
КонецЕсли;
КонецЦикла;
Возврат Результат ;
КонецФункции
// Процедура добавляет в каждую группировку отчета отбор по непустому значению
// Структура - КомпоновщикНастроек.Настройки.Структура
// ДоступныеПоляГруппировок - КомпоновщикНастроек.ДоступныеПоляГруппировок
Процедура ОтборПоНепустым ( Структура )
Для Каждого Элемент Из Структура Цикл
Если ТипЗнч ( Элемент ) = Тип ( "ТаблицаКомпоновкиДанных" ) Тогда
ОтборПоНепустым ( Элемент.Строки );
ОтборПоНепустым ( Элемент.Колонки );
ИначеЕсли ТипЗнч ( Элемент ) = Тип ( "ГруппировкаТаблицыКомпоновкиДанных" ) Тогда
Для Каждого Поле Из Элемент . ПоляГруппировки . Элементы Цикл
ЭлементОтбора = Неопределено;
Для Каждого ЭлементОтбора1 Из Элемент . Отбор.Элементы Цикл
Если ЭлементОтбора1 . Представление = "Отбор по непустому" Тогда
ЭлементОтбора = ЭлементОтбора1 ;
КонецЕсли;
КонецЦикла;
Если ЭлементОтбора = Неопределено Тогда
ЭлементОтбора = Элемент . Отбор . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ));
ЭлементОтбора . Представление = "Отбор по непустому" ;
КонецЕсли;
ЭлементОтбора . ЛевоеЗначение = Поле . Поле ;
ЭлементОтбора . ВидСравнения = ВидСравненияКомпоновкиДанных . Заполнено ;
ЭлементОтбора.Использование = Истина;
Параметр = Элемент . ПараметрыВывода . НайтиЗначениеПараметра( Новый ПараметрКомпоновкиДанных ( "FilterOutput" ));
Параметр . Использование = Истина;
Параметр . Значение = ТипВыводаТекстаКомпоновкиДанных . НеВыводить ;
КонецЦикла;
ОтборПоНепустым ( Элемент . Структура );
КонецЕсли;
КонецЦикла;
КонецПроцедуры
// Процедура добавляет значения интервалов в пользовательское поле
// ПолеИнтервалы - ПользовательскоеПолеВыборКомпоновкиДанных
// Интервал - Строка содержащия границы интервалов: 30,60,90
Процедура УстановитьПользовательскоеПолеИнтервал ( ПолеИнтервалы , Интервал )
Если ПустаяСтрока ( Интервал ) Тогда
Возврат;
КонецЕсли;
Стр = Интервал ;
Стр = СтрЗаменить ( Стр , "," , Символы . ПС );
ПредИнтервал = "0" ;
Для Счетчик = 1 По СтрЧислоСтрок ( Стр ) Цикл
ТекИнтервал = СокрЛП ( СтрПолучитьСтроку ( Стр , Счетчик ));
Вариант = ПолеИнтервалы . Варианты . Элементы . Добавить ();
Вариант . Использование = Истина;
Если Счетчик = 1 Тогда
Вариант . Значение = "До " + ТекИнтервал ;
Вариант . Представление = "До " + ТекИнтервал ;
Иначе
Вариант . Значение = "От " + ПредИнтервал + " до " + ТекИнтервал ;
Вариант . Представление = "От " + ПредИнтервал + " до " + ТекИнтервал ;
КонецЕсли;
Группа = Вариант . Отбор . Элементы . Добавить ( Тип ( "ГруппаЭлементовОтбораКомпоновкиДанных" ));
Группа.Использование = Истина;
Группа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных . ГруппаИ ;
Если Счетчик > 1 Тогда
ЭлементОтбора = Группа . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ));
ЭлементОтбора . Использование = Истина;
ЭлементОтбора . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( "ДнейПросрочки" );
ЭлементОтбора . ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно ;
ЭлементОтбора . ПравоеЗначение = Число ( ПредИнтервал );
КонецЕсли;
ЭлементОтбора = Группа . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ));
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( "ДнейПросрочки" );
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных . Меньше ;
ЭлементОтбора.ПравоеЗначение = Число ( ТекИнтервал );
ПредИнтервал = ТекИнтервал ;
Вариант = ПолеИнтервалы . Варианты.Элементы . Добавить ();
Вариант . Значение = "Более " + ПредИнтервал ;
Вариант . Представление = "Более " + ПредИнтервал ;
Группа = Вариант . Отбор . Элементы . Добавить ( Тип ( "ГруппаЭлементовОтбораКомпоновкиДанных" ));
Группа . ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных . ГруппаИ ;
ЭлементОтбора = Группа . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ));
ЭлементОтбора . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( "ДнейПросрочки" );
ЭлементОтбора . ВидСравнения = ВидСравненияКомпоновкиДанных . БольшеИлиРавно ;
ЭлементОтбора . ПравоеЗначение = Число ( ПредИнтервал );
КонецПроцедуры
Читайте также: