Меню

1с 8 настройки отображения списка

Заметки из Зазеркалья

Реализовано в версии 8.3.10.2168.

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

Однако такая универсальность имеет и оборотную сторону. Желание «показать сразу всё» может приводить вас к значительному усложнению запроса. В результате вы будете получать неэффективные планы выполнения и, как результат, снижение производительности при отображении и пролистывании списка.

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

Событие ПриПолученииДанныхНаСервере

Специально для этих целей мы реализовали новый обработчик ПриПолученииДанныхНаСервере(). Он добавлен в расширение таблицы, отображающей динамический список.

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

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

Вы можете изменить данные, находящиеся в этих строках, или применить к ячейкам собственное оформление. Доступны такие возможности оформления как ЦветФона, ЦветТекста, Шрифт, ГоризонтальноеПоложение, Видимость, Доступность, Отображать, Текст и Формат.

Также, при необходимости, вы можете посмотреть и проанализировать копию полных настроек динамического списка. Но изменить настройки вы не сможете.

Простейший сценарий использования

Проще всего понять назначение этого обработчика на примере. Пример заключается в том, чтобы в списке товаров показать их остатки из регистра накопления. Количество меньше некоторого значения выделить красным цветом.

До сих пор эта задача решалась левым соединением в запросе динамического списка, и условным оформлением списка, устанавливаемым в конфигураторе.

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

Читайте также:  настройка плагина related posts thumbnails

А в обработчике ПриПолученииДанныхНаСервере() только для полученных строк вычисляются остатки. И тут же маленькие остатки выделяются красным.

Здесь, методом ПолучитьКлючи(), из коллекции строк динамического списка вы получаете их ключи (ссылки), и передаёте эти ключи в запрос остатков.

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

В результате пользователь видит следующий список:

В чём преимущество такого варианта?

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

Во-вторых, получение остатков в обработчике будет выполняться только один раз, в то время как запрос списка может быть выполнен несколько раз (в зависимости от настроек списка и сценария листания).

И, в-третьих, новый обработчик выполняется уже после того, как основные данные получены из базы и прошли проверку прав. Это значит, что в некоторых сценариях получение связанных данных в обработчике можно выполнять в привилегированном режиме, без проверки прав. Это ускоряет работу списка.

Ограничения на изменяемые и добавляемые поля

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

Если не предпринять дополнительных мер, то пользователь может быть сильно удивлён результатами группировки, сортировки или отбора (в том числе и поиска) по тем полям, которые вы изменили. Ведь эти действия будут выполняться по исходным данным, получаемым запросом, а не по тем данным, которые видит пользователь.

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

Кроме этого, возможно, в некоторых сценариях имеет смысл визуально выделить такие колонки в таблице, чтобы пользователи видели, что эти колонки «особенные», не такие, как все.

источник

Настройка списков

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

Читайте также:  как сбросить настройки htc hd7

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

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

Вызвать настройку списка можно с помощью команды Еще — Настроить список…

Отбор

Настройка списка позволяет установить произвольный отбор данных, которые отображаются в списке. Например, можно отобрать только те документы, которые приходуют товары от поставщиков Мосхлеб ОАО и Магазин «Продукты» на средний склад.

Сортировка

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

Группировка

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

Например, можно сгруппировать документы сначала по поставщику, а затем — по складу.

В результате такой группировки список будет выглядеть следующим образом.

Условное оформление

Настройка списка позволяет устанавливать динамическое оформление списков в зависимости от выводимых в них данных. Например, документы, приходующие товары на малый склад можно выделить цветом Циан, а документы в валюте USD — жирным шрифтом.

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

Режим просмотра

Для списков, содержащих иерархические данные, например, для справочника товары, система предоставляет стандартную возможность изменять режим просмотра.

Например, список товаров изначально может быть представлен в виде иерархического списка.

Пользователь может переключить его представление в виде дерева.

Изменение режима просмотра списка выполняется с помощью команды Еще — Режим просмотра.

Авторы: В.А. Ажеронок, А.В. Островерх, М.Г. Радченко, Е.Ю. Хрусталева

источник

Настройки управляемых форм и настройка списков

Для элементов управляемых форм 1С есть возможность изменять видимость и некоторые другие свойства. Для этих целей в управляемой форме в меню Все действия служит пункт Изменить форму .

Читайте также:  user cfg battlefield 1 настройка

После нажатия данной команды появится окно «Настройка формы».

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

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

Важным свойством является возможность добавления в форму новых полей. Это становится возможным через реквизиты ссылочного типа. Например, имея в форме реквизит ссылочного типа Контрагент , можно добавить Контактное лицо , если данный реквизит присутствует в справочнике «Контрагенты».

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

Помимо настройки форм в управляемом интерфейсе 1С предприятие можно так же настроить и списки (элементов справочников, документов). В меню Все действия есть специальная команда.Она называется Настроить список .

Когда мы выбираем эту команду, открывется окно «Настройка списка». В этом окне можно производить отбор, сортировку, определять условное оформление и группировку.

На рисунке мы можем увидеть форму позволяющую редактировать отбор.

Можно производить отбор по нескольким полям. В таком случае по умолчанию отбор будет работать по условию И. Можно также использовать условия ИЛИ и НЕ. Для использования условия ИЛИ (НЕ) необходимо с помощью команды Сгруппировать условия добавить соответствующую группу ( Группу ИЛИ , Группу НЕ ). На рисунке показана форма для определения полей сортировки.

В 1С предприятие возможна настройка группировки. На рисунке в качестве поля для группировки выбран Контрагент .

На очередном рисунке представлено, как будет выполняться группировка.

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

На рисунке показан результат условного оформления фоном поля Сумма . Когда сумма > 100 000.

источник