Реквизиты формы в 1С

Реквизиты формы в 1С

Реквизиты формы

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

 

Реквизиты формы

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

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

Назначение основного реквизита для управляемой формы

Чтобы произвольной обычной форме назначить «Основной реквизит» нужно на закладке «Реквизиты» добавить реквизит, в качестве типа указать объектный тип и у формы в свойстве «Данные», выбрать этот реквизит.

Назначение основного реквизита для обычной формы
Назначение основного реквизита для управляемой формы

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

Варианты доступных типов

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

Назначение источника данных для элемента формы Надпись

Обращение к реквизитам происходит напрямую, как они представлены на закладке «Реквизиты», с учетом вложений.

Обращение к реквизитам формы
Обращение к реквизитам формы

Если необходимо, чтобы определенный реквизит формы был всегда доступен на стороне клиента, вне зависимости отображается он на форме у пользователя или нет, тогда у него необходимо установить флаг «Использовать всегда». Данный флаг нельзя установить на реквизиты, с типом, который не передается автоматически с сервера на сторону клиента, например, хранилище значения.

Настройка доступности реквизита на форме
Исключение настройки доступности реквизитов на форме

Динамический список

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

Динамический список

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

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

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

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

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

Настройка ключевых полей

Если свойство «Основная таблица» не заполнено, можно указать:

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

Вид ключа может содержать следующие варианты:

  • ЗначениеПоля – в этом случае нужно в свойстве «Поля ключа» указать одно единственное ключевое поле, тогда поведение списка будет таким же, как у списка, содержащего ссылочные объекты (список справочника, список документа и т.д.).
  • КлючСтроки – в этом случае нужно в свойстве «Поля ключа» указать одно или несколько ключевых полей, тогда поведение списка будет таким же, как у списка, содержащего записи (список регистра накопления, список регистра сведений и т.д.).
  • НомерСтроки – это имитация старого поведения списка, когда в качестве ключа используется номер строки, что влечет ряд ограничений на функциональность динамического списка: отсутствие порционного считывания данных, не поддерживается группировка и т.д.
  • Авто – в этом случае платформа сама автоматически определит вид ключа. Если ключевые поля не заданы, то будет использоваться вид ключа – НомерСтроки, если задано одно ключевое поле, то – ЗначениеПоля, если более одного ключевого поля, то – КлючСтроки.

Динамическое считывание данных

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

У динамического списка можно включить режим «Динамическое считывание данных» – считывание данных небольшими порциями. Если в качестве источника выбрана «Основная таблица», то данный режим включается в «Палитре свойств» установкой флага в свойстве «Динамическое считывание данных».

Включение динамического считывания для Основной таблицы

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

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

При получении данных для отображения динамический список использует один из трех способов:

  1. Считывание из базы данных выполняется порциями с количеством элементов данных, несколько превышающим количество строк, одновременно отображаемых списком (но не менее 20). Не выполняется кеширование данных на сервере.
  2. Считывание из базы данных выполняется страницами по 1 000 элементов данных. Выполняется кеширование данных на сервере. Иерархические данные кешируются: для каждого родителя кешируется не более 2 страниц элементов. На один динамический список кешируется не более 20 страниц элементов. Кеширование будет включено динамическим списком для следующих таблиц:
  • Критерий отбора;
  • Все таблицы регистра бухгалтерии, кроме основной таблицы и таблицы ДвиженияССубконто;
  • Все таблицы регистра накопления, кроме основной таблицы;
  • Все таблицы регистра сведений, кроме основной таблицы;
  • Все таблицы регистра расчета, кроме основной таблицы;
  • Виртуальная таблица ЗадачиПоИсполнителю;
  • Таблицы внешних источников без ключей;
  • Кубы внешних источников.
  1. Считывание из базы данных выполняется страницами по 1 000 элементов. Первая порция равна 1 странице. Каждая следующая порция увеличивается на 1 страницу (при достижении конца предыдущей выборки). Чем ближе передвигается «точка просмотра» к концу отображаемых данных, тем большая выборка считывается из базы данных, в пределе становясь равной всем отображаемым данным. Выполняется кеширование данных на сервере. Максимальное количество записей в кеше и динамическом списке ‑ 1 000 000.

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

  • В качестве значения свойства «Основная таблица» указана одна из следующих объектных таблиц: план обмена, справочник, список документов, журнал документов, план видов характеристик, план счетов, план видов расчета, бизнес-процесс, задача, таблица точек бизнес-процесса:
    • Ключ, идентифицирующий строку таблицы: Ссылка.
    • Свойство «Динамическое считывание данных»:
      • Установлено: используется способ 1.
      • Сброшено: используется способ 2.
  • В качестве значения свойства «Основная таблица» указана одна из следующих таблиц: основная таблица регистра сведений, регистра накопления, регистра бухгалтерии, регистра расчета, виртуальная таблица регистра бухгалтерии ДвиженияССубконто:
    • Ключ, идентифицирующий строку таблицы: КлючЗаписи.
    • Свойство «Динамическое считывание данных»:
      • Установлено: используется способ 1.
      • Сброшено: используется способ 2.
  • В качестве свойства «Основная таблица» указана таблица критерия отбора или таблица задач по исполнителю (ЗадачиПоИсполнителю):
    • Ключ, идентифицирующий строку таблицы: Ссылка.
    • Свойство «Динамическое считывание данных» не применимо.
      • Используется способ 2.
  • В качестве свойства «Основная таблица» указана виртуальная таблица регистра сведений СрезПервых или СрезПоследних:
    • Ключ, идентифицирующий строку таблицы: КлючЗаписи.
    • Свойство «Динамическое считывание данных» не применимо.
      • Используется способ 2.
  • В качестве свойства «Основная таблица» указана одна из виртуальной таблицы регистров, кроме перечисленных выше:
    • Ключ, идентифицирующий строку таблицы: Число.
    • Свойство «Динамическое считывание данных» не применимо.
      • Используется способ 3.
  • Свойство «Основная таблица» не указано, используется «Произвольный запрос»: Способы считывания данных динамическим списком зависят от того, какой «Вид ключа» выбран у списка и в каком состоянии флаг «Динамическое считывание данных»:
Вид ключаДинамическое считывание данных
ВключеноВыключено
Значение поляСпособ 1Способ 2
Ключ строкиСпособ 1Способ 2
Номер строкиНе применимоСпособ 3

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

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

Поиск в динамическом списке

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

Поиск в динамическом списке

Дополнительная обработка данных

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

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

Настройки динамического списка (отбор (в том числе поиск), сортировка, группировка, условное оформление и т. д.) будут применяться к фактическим данным, которые получены запросом динамического списка, до их обработки в рамках обработчика события ПриПолученииДанныхНаСервере.

Обработчик ПриПолученииДанныхНаСервере получает три параметра:

  • ИмяЭлемента ‑ содержит имя таблицы, для которой выполняется данный обработчик.
  • Настройки ‑ содержит копию полных настроек динамического списка. Особое внимание следует уделить свойству ДополнительныеСвойства для этого параметра. С помощью этого свойства предоставляется возможность передавать необходимые данные из формы во внеконтекстный обработчик.
  • Строки ‑ параметр содержит коллекцию строк, которые будет отображать динамический список. В коллекции содержатся собственно данные и оформления этих данных, но не содержит строк группировок.

У динамического списка уже должно существовать заполняемое поле, пусть и пустое. Если в качестве источника выбрана «Основная таблица», то пустое поле можно добавить, используя «Вычисляемые поля». Если используется «Произвольный запрос», то пустое поле можно добавить в тексте запроса.

Добавление дополнительного поля с помощью Вычисляемого поля
Добавление дополнительного поля с помощью Произвольного запроса

Планировщик

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

Здесь стоит уточнить, для визуализации данных по операциям/событиям, привязанным к интервалам дат (имеющим дату начала и дату окончания) без интерактивной работы может использоваться еще «Диаграмма Ганта».

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

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

Шкалу времени можно расположить в четырех положениях. Это можно сделать с помощью изменения свойства Планировщик.ШкалаВремени.Положение указав значение системного перечисления ПоложениеШкалыВремени.

Диаграммы

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

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

  • Диаграмма – «универсальный» элемент, позволяющий отображать статистические данные в виде диаграмм различных видов: гистограмма, график, круговая, гистограмма горизонтальная, график с областями, точечная, измерительная, радарная, воронка, биржевая, поверхностная. Диаграмма доступна для размещения на форме, в табличном документе и в системе компоновки данных.
Типы диаграмм
  • Дендрограмма – представляет собой графический способ отображения степени сходства объектов. Сравниваемые объекты располагаются на одной оси дендрограммы, а другая ось содержит значения расстояния между объектами. Чем меньше расстояние – тем больше объекты похожи друг на друга. Дендрограмма доступна для размещения на форме и в табличном документе.
Дендрограмма
  • Диаграмма Ганта – (также называемая «ленточной»), содержит набор интервалов, расположенных на оси времени и отражает использование объектами (точками) ресурсов (серий). Диаграмма Ганта доступна для размещения на форме и в табличном документе.
Диаграмма Ганта

Количество серий, используемых в диаграмме, можно ограничить свойством МаксимумСерий. Тогда отрабатывает следующий алгоритм выбора серий: по каждой серии ищется максимальное точечное значение, эти значения сортируются и из полученного списка выбирается для показа (МаксимумСерийКоличество -1) серий. Значения остальных серий суммируются и выводятся в серии «Сводная». Ограничение на количество серий задается свойствами МаксимумСерийКоличество или МаксимумСерийПроцент, в зависимости от значения свойства МаксимумСерий.

Вывод «Сводной» серии

Для доступа к свойствам значения диаграммы используется тип «ЗначениеДиаграммы» у объекта Диаграмма. Содержит собственно значение диаграммы в определенной точке и серии, значение расшифровки в точке и серии, а также текст подсказки.

Программная настройка значения диаграммы

Алгоритм расчета шкалы значений

В диаграммах платформы 1С:Предприятие 8 применяется следующий алгоритм расчета шкалы значений. Сначала находятся максимальное и минимальное значение среди данных диаграммы. Затем они сравниваются с базовым значением (по умолчанию 0, но может быть изменено с помощью свойства БазовоеЗначение). Данное свойство содержит начальное значение координат.  В итоге получается абсолютный максимум (равный наибольшему из максимума данных и базового значения) и абсолютный минимум (равный наименьшему из минимума данных и базового значения).

Базовое значение равно 0
Базовое значение равно 85

Ваганов Сергей, эксперт в области разработки прикладных решений на платформе 1С:Предприятие, преподаватель-методист CORS Academy и автор курса «Разработчик 1С с нуля до профессионала».

Реквизиты формы в 1С
Подписаться
Уведомить о
guest

wp-puzzle.com logo

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

подпишитесь на рассылку академии

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

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