1с отчеты как вывести отбор на форму
Войдите как ученик, чтобы получить доступ к материалам школы
Система компоновки данных 1С 8.3 для начинающих: делаем отбор и сортировку на уровне СКД
Автор уроков и преподаватель школы: Владимир Милькин
Ставим цель
- Создать новый отчёт «Урок5.erf».
- Вывести в этом отчёте города (включая название города, мэра и численность).
- Упорядочить города в списке по численности (по возрастанию)
- Прямо на форме отчёта дать пользователю возможность делать отбор городов по минимальной численности.
Создаём новый отчёт в конфигураторе
Открываем базу «Гастроном» в конфигураторе.
Из главного меню конфигуратора выбираем пункт «Файл»->»Новый. «:
Вид документа: «Внешний отчет»:
В качестве имени пишем «Урок5» и нажимаем кнопку «Открыть схему компоновки данных»:
Соглашаемся с именем схемы компоновки данных по умолчанию:
В открывшейся схеме компоновки данных добавляем набор данных — запрос:
Составляем запрос
Запускаем конструктор запроса:
Из таблицы справочника «Города» выбираем поля: «Наименование», «Мэр» и «Численность»:
Получился такой запрос:
Выводим отчёт в виде списка
Переходим на закладку «Настройки» и нажимаем волшебную палочку, чтобы вызывать конструктор настроек:
Тип отчёта выбираем «Список»:
В отчёте будут отображаться следующие поля:
Сохраняем отчет и тут же проверяем в режиме пользователя:
Сортируем города по численности
Теперь давайте упорядочим записи отчёта по возрастанию численности.
Для этого переходим на вкладку «Настройки», выбираем пункт «Отчет», ниже выбираем вкладку «Сортировка» и перетаскиваем поле численность из первой колонки во вторую.
Направление сортировки указываем «По возрастанию»:
Сохраняем отчёт и проверяем в режиме пользователя:
Делаем отбор городов по численности
Теперь давайте сделаем так, чтобы в отчёте выводились только города с численностью от 1 миллиона человек (включительно). Такая возможность называется отбор.
Переходим на вкладку «Настройки», выбираем пункт «Отчет», далее переходим на вкладку «Отбор» и перетаскиваем поле «Численность» из левой колонки в правую.
В качестве вида сравнения указываем «Больше или равно», а в качестве правого значения — 1000000:
Сохраняем отчет и проверяем в режиме пользователя:
Видим, что остались города с численностью больше миллиона и этот факт (отбора) явно отражён в заголовке отчета.
Выносим параметр отбора на форму отчета
Осталось сделать так, чтобы пользователь мог сам настраивать пороговое значение отбора. Другими словами, чтобы вместо миллиона он мог поставить свою цифру.
Заходим на вкладку «Настройки», выделяем пункт «Отчет», внизу выбираем вкладку «Отбор», выделяем элемент отбора «Численность» и нажимаем справа внизу на зелёный плюсик:
В открывшемся окне ставим галку «Включать в пользовательские настройки»:
Вновь сохраняем отчет и запускаем в режиме пользователя.
Видим, что появилось поле «Численность» меняя условие и значение которого мы управляем отбором городов в отчёте:
Войдите на сайт как ученик
Авторизуйтесь, чтобы получить доступ ко всем материалам школы
Для учеников
Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.
На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .
Предисловие
Редко какой отчет в 1С не использует отборы, разве что печатные формы и какие-то специальные отчеты. В большинстве отчетов в 1С требуется возможность выборочного анализа. Поэтому в этой статье мы поговорим про настройку отборов в отчетах, построенных с помощью 1С СКД.
После того как вы добавили наборы, определили ресурсы, задали структуру отчета с помощью группировок , можно приступать к настройке фильтров. В СКД это делается на закладке «Отбор», которая доступна или для всего отчета или для определенной группировки.

Новый элемент в список отбора можно добавить несколькими способами – двойной клик по доступному полю, перетаскивание, клавиша в меню:

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

По умолчанию если элементы отбора не включены ни в какую группу и объединяются с помощью оператора «И».
Вид сравнения в элементе отбора зависит от типа поля (левого значения):
Операции доступные для числа:

Операции доступные для строки:

Для строки добавлены операции – «содержит», «начинается с», «соответствует шаблону» и те же операции с оператором «Не» (Не содержит и т.д.).
Операции доступные для ссылки:

Далее разберем типовые ситуации при использовании отбора
Фиксированный отбор
Самый простой вариант использование отбора – добавить фиксированный отбор, который будет действовать всегда (если конечно пользователь не изменит его в варианте отчета):

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

Допустим нам нужно исключить из отчета все строки, в которых итоговое количество по номенклатуре меньше 15. В запросе мы такое условие применить не можем. Установим для этого отбора для группировки «Номенклатура»:

Получим такой отчет:

Отборы на группировках часто используются в отчетах вида «Ведомость по остаткам»:

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


Чтобы убрать отбор, выделенный на рисунке на закладке «Другие настройки» для этой же группировки отключим вывод отбора:


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

Перейдем теперь в режим предприятия.

Наш отбор доступен для редактирования на форме. За доступность прямо в форме отчета отвечает «Режим редактирования». Значение «Быстрый доступ» означает, что отбор доступен прямо на форме отчета. Если значение равно «Обычный», отбор доступен через кнопку «Настройки». Как видно на рисунке пользователь может выбирать вариант сравнения, управлять действием (включен / отключен) отбора.
Если вам необходимо установить фиксированный отбор (вид сравнения и правое значение константы), но пользователь должен управлять включением / отключением отбора, тогда вам необходимо заполнить представление отбора в пользовательской настройке:

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

Если вам в отборе нужно изменить представления поля, по которому делается отбор, то для этого есть еще одно представление:

Получается вот так:

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

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

Отборы на форме и в динамических списках
Как известно, в 1С СКД используется не только в отчетах, но и в формах, содержащих динамические списки. У динамического списка есть несколько свойств, которые относятся к СКД. Среди этих свойств имеется свойство «Отбор» с типом «ОтборКомпоновкиДанных». Чтобы установить отбор в динамическом списке есть два способа. Первый способ – передать отборы через параметр формы с одноименным названием – «Отбор». Этот параметр является структурой, в которой ключ ссылается на поле, для которого устанавливается отбор. Значение же содержит данные, с которыми производится сравнение. Можно также передать в качестве правого значения – массив, фиксированный массив, список значений. В этом случае вид сравнения равняется «ВСписке», для одиночного элемента вид сравнения устанавливается как «Равно». Этот способ ограничен в возможностях – с его помощью нельзя накладывать сложные условия с операторами «И» и «ИЛИ», нельзя использовать виды сравнения кроме двух указанных.

Отбор, установленный таким образом, передается в фиксированные настройки компоновщика настроек, связанного с динамическим списком. Он не виден пользователю и недоступен для изменения.
Второй способ – непосредственное редактирование отбора в динамическом списке или в компоновщике. Обычно в типовых конфигурация для этого есть ряд методов и функций для установки таких отборов.
Например, вызов основного метода для установки отбора выглядит так:
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, «Ссылка», Параметры.ДобавитьДля, ВидСравненияКомпоновкиДанных.НеРавно);
Данная функция производит поиск существующего элемента отбора, изменяет его если нашла, а если не нашла, то добавляет с помощью такой процедуры:
В форме содержащей динамический список также как в отчете на СКД, возможно настроить пользовательский отбор. Как это можно сделать показано на рисунке:

Также у элемента формы, с которым связан список нужно установить группу пользовательских настроек, в которой будут отображаться настройки для пользователя:
Инструкция по настройке отчетов в пользовательском режиме на примере "1С:ЗУП" ред. 3
Простая настройка вызывается через кнопку Настройки, в отчете можно установить отборы, например, подразделение, должность, сотрудник. В каждом отчете они могут быть разные.
РАСШИРЕННАЯ НАСТРОЙКА ОТЧЕТОВ
Расширенную настройку отчетов можно включить через кнопку Настройки — Вид — Расширенный.
Поле «Отборы». Расширенная настройка отборов позволяет добавлять/удалять отборы, редактировать существующие.
Представлена в виде таблицы со следующими полями:
- Поле – поле, по которому производится отбор.
- Условие – вариант отбора, возможные значения:
- Равно – отбор только по выбранному значению поля;
- Не равно – отбор по всем значениям поля, исключая выбранное;
- В списке – отбор по списку значений поля;
- Не в списке – отбор по всем значениям поля, исключая выбранный список;
- В группе – отбор по всем значениям поля, входящим в выбранную группу (если выбран элемент, аналогично условию Равно);
- Не в группе – отбор по всем значениям поля, не входящим в выбранную группу (если выбран элемент, аналогично условию Не равно);
- В группе из списка — отбор по всем значениям поля, входящим в группы из выбранного списка (если выбраны только элементы, аналогично условию В списке);
- Не в группе из списка — отбор по всем значениям поля, не входящим в группы из выбранного списка (если выбраны только элементы, аналогично условию Не в списке);
- Заполнено – отбор по всем непустым значениям поля;
- Не заполнено – отбор по всем пустым значениям поля;
- Значение – значение отбора (элемент, группа или список).
- «Звездочка» — расположение отбора, возможные значения:
- В шапке отчета – отбор будет отображаться на форме отчета в быстрых отборах;
- Только флажок в шапке отчета — отбор будет отображаться на форме отчета в быстрых отборах, но без возможности выбора значения, можно будет выбрать только его активность;
- В настройках отчета – отбор будет отображаться в настройках отчета (даже в простом режиме);
- Только флажок в настройках отчета — отбор будет отображаться в настройках отчета (даже в простом режиме), но без возможности выбора значения, можно будет выбрать только его активность;
- Не показывать – отбор будет отображаться только в расширенном режиме настроек.
- Заголовок – название отбора в панели быстрых отборов и в простом режиме настроек.
- Кроме того, в подменю Еще есть пункт «Сгруппировать отборы». Он позволяет объединять отдельные отборы по условиям «И» (группа срабатывает, если срабатывают все отборы вместе), «ИЛИ» (группа срабатывает, если срабатывает один из отборов), «НЕ» (обращает действие отборов). Для группировки необходимо выделить несколько нужных отборов и нажать «Сгруппировать отборы». Для отмены группировки необходимо выбрать группу и нажать «Разгруппировать».
Например, чтобы вывести отбор по виду занятости, входим в расширенную настройку – Добавить отбор – В поле Работа выбираем Вид занятости.
Условие = В списке (выбираем вид занятости «Основное место работы» и «Внутреннее совместительство»).
В настройках «Звездочка» выбираем показывать в Шапке отчета.
Заголовок — Занятость сотрудника.
После всех настроек можно устанавливать данный отбор на форме отчета.
Вкладка «Поля и сортировки». Позволяет выводить в отчет необходимые поля из доступных, а также настраивать сортировки колонок отчета. На вкладке находятся 2 таблицы:
Таблица полей – содержит поля, предназначенные для вывода в отчет. Поля, входящие в группировки, указывать не нужно, они всегда попадают в отчет. Необходимо указать требуемые реквизиты, а также, если выбрана группировка «Детальные записи», те поля детальных записей, которые пользователь хочет видеть в отчете. Поля не дублируются, т.е. если пользователь добавил поле в группировку и потом выбрал его на вкладке «Поля», оно выведется только один раз – в группировке.
Если в таблице Полей нет необходимого поля, его можно добавить через соответствующий пункт меню. Например, добавим поле Должность и Подразделение в настройки отчета.
Данные поля можно сгруппировать: удерживаем Shift на клавиатуре, выделяем две позиции (Должность и Подразделение) – Еще – Сгруппировать.
Указываем заголовок и Расположение.
Получаем данные в отчете, сгруппированные по этим полям.
Таблица сортировок – содержит поля, по которым необходимо сортировать результат. Необходимо отметить, что группировка, содержащая одно поле, автоматически сортируется по этому полю. Данная настройка актуальна для группировок по нескольким полям и для детальных записей. В этой же таблице выбирается направление сортировки (по возрастанию или по убыванию).
В таблице сортировок через кнопку Добавить устанавливаем Вид занятости – По возрастанию. Стрелочками Вверх и Вниз можно установить приоритет, в нашем примере в приоритете будет Вид занятости, а потом будет идти сортировка по ФИО.
Вкладка «Оформление». Задание условного оформления полей отчета. Условное оформление позволяет отформатировать любую ячейку отчета. Набор строк для форматирования задается отбором (аналогично отборам отчета), набор колонок задается списком конкретных полей. При добавлении или редактировании элемента условного оформления появляется окно его настроек. В верхней части окна содержится поле «Заголовок», содержащее наименование элемента. Окно содержит следующие вкладки:
- Оформление – задание оформления полей (шрифт, границы, цвета, ширина ячеек, видимость).
- Условие – позволяет задавать строки отчета, к которому применяется оформление. Аналогично отбору отчета с теми же колонками и поведением.
- Оформляемые поля – выбор колонок отчета, к которым будет применяться условное оформление.
- Дополнительно – область использования условного оформления.
Например, настроим выделение сумм меньше 1000,00 руб.
Цвет текста выбираем красный.
На закладке Условие проставляем «сумма меньше 1000,00 руб.».
Получаем отчет в таком виде.
Также можно настраивать отчет в целых числах, установив в оформлении следующие настройки: Формат – Точность = 0.
Получаем отчет в целых числах.
Вкладка «Структура». Формирование структуры отчета: горизонтальные, вертикальные группировки измерений, иерархия.
Работа с группировками позволяет выводить данные отчета иерархически, получать итоги по разрезам аналитики в вертикальном и горизонтальном измерениях. Группировать данные можно несколькими способами:
- Группировка – создание отдельных группировок с необходимой иерархией. Итоги по простым группировкам строятся вертикально.
- Таблица – дает возможность строить группировки в двух направлениях: вертикально и горизонтально. Таблица состоит и строк и колонок, которые, в свою очередь, включают в себя простые группировки. Группировки, входящие в строки, формируют вертикальную иерархию и итоги, в столбцы – горизонтальную. Использование таблиц позволяет формировать сложные сводные таблицы с различной аналитикой.
- Диаграмма – позволяет отображать содержимое отчета графически в виде диаграмм различного вида.
При создании или редактировании новой группировки открывается окно настроек.
Окно состоит из следующих вкладок:
- Состав группировки – выбор полей, по которым группируются итоги.
- Поля и сортировки – настройка выводимых полей и сортировки для данной группировки. Настройка аналогична настройке для отчета в целом. При выборе «Авто» будут использованы настройки, сделанные для отчета.
- Отборы – настройка отборов для данной группировки. Настройка аналогична настройке для отчета в целом.
- Оформление – настройка условного оформления для данной группировки. Настройка аналогична настройке для отчета в целом.
Настроим отчет «Полный свод начислений, удержаний и выплат» не в разрезе начислений, а в разрезе сотрудников только по начисленным суммам. Сначала уберем из отчета суммы Удержаний/Выплат и сальдо. Заходим в Расширенные настройки отчета – Еще – Прочее – Изменить вариант отчета. В блоке Строки снимаем все галочки, кроме той, что указана на картинке. В поле Отбор оставляем только отбор по группе Начислено.
Далее в расширенных настройках ниже уровня Группа добавляем сотрудника, а галочку с поля Вид расчета снимаем.
Сохранение настроек отчета. Любые настройки отчета можно сохранить. Нажимаем на дискету – Сохранить вариант отчета.
При сохранении можно указать, кому будет доступен данный отчет – только автору или всем пользователям, и место — в каком разделе программы будет доступен отчет.
Копирование настроек отчета. Настройки отчета можно скопировать, например, для переноса в другую базу. Сделать это можно через меню Еще – Прочее – Изменить вариант отчета.
Далее нажимаем – Еще – Сохранить настройки или Загрузить настройки.
Чернышова Людмила,
Старший консультант Компании «АНТ-ХИЛЛ»
Тел. (473) 202-20-10
При цитировании статей или заметок ссылка на сайт автора обязательна
Накопились вопросы и нужна помощь?
С удовольствием на них ответим и поможем все настроить! Обращайтесь по тел.
Программное создание отборов в отчёте
Иногда при создании отчётов возникает необходимость добавления в отчёт отборов со стандартными условиями равно, не равно, в списке, в группе и т.д. При этом нет возможности использовать систему компоновки данных.
В данной статье будет рассказано, как это сделать без использования СКД.
1. Создаёте новый внешний отчёт.
2. Добавляете в него реквизит типа ПостроительОтчета.
![]()
3. Создаёте новую форму отчёта.
4. На форме размещаете элемент управления Табличное поле с типом значения Отбор.
![]()
5. Привязываете созданный элемент управления к свойству Отбор реквизита отчёта, созданного в п.2.
![]()
![]()
6. В процедуре формы ПриОткрытии прописываете инициализацию реквизита-построителя отчёта. Обязательно задаёте текст построителя отчёта. Например:
Однако, если в запросе есть параметры, то после заполнения настроек они тоже попадут в отборы.
Условия в запросе, заключённые в фигурные скобки <>, будут работать только при включении соответствующих отборов в пользовательском режиме.
7. Сохраняете отчёт.
8. Открываете отчёт в пользовательском режиме и устанавливаете отборы по своему усмотрению привычным способом. Поля, не отмеченные галками, не будут участвовать в отборах.