Редактирование управляемых форм 1С

Особенности использования обычных и управляемых форм 1С

  1. Платформа 8.3 позволяет использовать как обычные, так и управляемые формыВозможность использования обычных и управляемых форм зависит от настроек конфигурации и клиентского приложения (зависит от указания в конфигураторе режима совместимости, и варианта запуска клиента).
  2. Использование обычных форм возможно только в толстом клиенте.
  3. Использование управляемых форм возможно (в зависимости от настроек конфигурации):
    • в толстом клиенте в режиме обычного приложения;
    • в толстом клиенте в режиме управляемого приложения;
    • в тонком клиенте;
    • в веб-клиенте.
  4. Автопреобразование обычных форм в управляемые и обратно не поддерживается (у обычных и управляемых форм разные механизмы и варианты компиляции).
  5. Возможность системы создания "налету" форм по умолчанию в режиме "1С:Предприятие" следует использовать во всех случаях, когда не требуется выполнение программных действий в форме, и нет особых требований по отношению внешнего вида формы объекта со стороны пользователя.
  6. Количество форм, подчиненных справочнику, не ограничено (может быть создано произвольное количество форм).
  7. При обращении к обычной форме "извне" для считывания данных рекомендуется обращаться к реквизитам формы и свойствам расширения формы.

[свернуть]

Редактор формы используется для создания и редактирования форм объектов прикладного решения.

Формы объектов используются системой для визуального отображения данных в процессе работы пользователя.

Составляющие управляемой формы 1С:

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

Рисунок "Редактор управляемой формы 1С"

Редактор управляемой формы 1С

[свернуть]

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

В отдельном окне, в нижней части редактора, отображается внешний вид формы в режиме 1С:Предприятие.

Редактирование элементов формы 1С

Элементы формы 1С

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

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

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

В элементах управления данные не хранятся!

Для управляемой формы, список элементов управления доступен из соответствующего окна:

Список элементов управления формы 1С

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


Особенности элементов управляемых форм:

  1. Поведение элементов управления стандартно, но имеет место специфичное поведение, определяемое расширениями формы, расширениями элементов управления и расширениями, связанными с отображаемыми данными.
  2. Свойство "Тип значения" элемента управления формы нельзя изменить, если задана связь элемента управления с данными (некоторые элементы управления могут быть связаны с реальными данными формы - например, табличное поле соответствует реальной табличной части).
  3. Изменение размера элемента управления в диалоге управляемой формы осуществляется с помощью определенных свойств элемента управления.
    Рисунок

    Изменение размера элемента управления

    [свернуть]
  4. Если реквизит, размещенный в форме, используется элементом управления, то он помечается в редакторе реквизитов в колонке с пиктограммой в виде квадрата.
    Рисунок

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

    [свернуть]
  5. Для размещения в диалоге управляемой формы графического элемента, например, диаграммы, необходимо:
    1. добавить элемент "Поле";
    2. связать его с реквизитом, у которого задан тип "Диаграмма".
      Рисунок

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

      [свернуть]
  6. Поле с типом "Поле HTML документа" позволяет открывать в окне 1С веб-страницы сторонних сайтов.
    Порядок добавления поля HTML-документа на форму 1С:

    Создадим внешнюю обработку, зададим в ней реквизит (HTMLполе) с типом "Строка" (длина строки должна превышать длину URL сайта, иначе будет обрезать):

    Поле HTML
     
    Создадим форму обработки, и добавим на неё:
    1. поле для реквизита с типом HTMLполе;
    2. команду перехода ("Команды - Команды формы");
    3. кнопку действия, которую свяжем с командой перехода.
    Вывод стороннего сайта в окне 1С

    Переход на веб-сайт в 1С

    Запрограммируем действие (правой кнопкой на кнопке команды - <Действие команды>):
    Веб браузер в 1С

    Результат исполнения обработки:

    Вывод веб-сайта в окне 1С

    [свернуть]

Редактор позволяет добавлять в форму различные элементы:

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

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

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

В режиме 1С:Предприятие элементы формы будут обходиться:

  • в порядке их иерархии и
  • в соответствии с тем, какой тип группировки выбран для групп (вертикальная или горизонтальная).

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

Страницы и закладки формы 1С

Редактор форм позволяет добавлять в форму специальные элементы, которые позволяют:

  • придать форме собственный узнаваемый стиль;
  • сделать доступ к данным простым и понятным;
  • разместить большой объем информации на ограниченной площади.

Например, редактор форм позволяет добавить в форму несколько элементов "Группа - Страницы", каждая из которых поддерживает несколько уровней вложенности.

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

Пример "Добавление в форму 1С закладок"

Исходный вариант формы элемента:

Добавление в форму 1С закладок

Элементы "Код", "Услуга" и "Наименование" помещены на разные закладки:

Вид формы в режиме 1С:Предприятие:

[свернуть]

Разделители формы 1С

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

Платформа в режиме 1С:Предприятие для управляемых форм самостоятельно добавляет эти элементы в форму.

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

Подробнее о разделителях в обычных формах

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

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

  • вертикальным разделителям устанавливается ширина 6, горизонтальную привязку рекомендуется устанавливать в НеПривязано;
  • горизонтальным разделителям устанавливается высота 6, вертикальную привязку рекомендуется устанавливать в НеПривязано;
  • рамку рекомендуется устанавливать в НетРамки. В сложных случаях, когда пользователю может быть тяжело догадаться о наличие разделителя, допускается устанавливать рамку Одинарная.

Разделитель обладает способностью "захватываться" мышью и перемещаться внутри формы в ее пределах с учетом возможности расположения других элементов и ориентации разделителя.

При перемещении разделителя, все элементы, связанные с разделителем, будут изменять свои размеры или перемещаться.

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

[свернуть]

Модуль формы 1С

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

Модуль формы 1C предназначен для обработки:

  1. событий, связанных непосредственно с самой формой (например, открытие или закрытие), а также
  2. событий, связанных с действиями пользователя (например, вводом данных и обработкой корректности их ввода).

Модуль формы компилируется:

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

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

Свойства и методы объекта УправляемаяФорма

Свойства и методы объекта УправляемаяФорма описаны в синтакс-помощнике и к ним можно обращаться в модуле управляемой формы непосредственно по имени, например:

События, процедуры и фyнкции модуля управляемой формы 1С

К стандартным событиям формы можно обратиться:

  • через список процедур и функций (Ctrl+Alt+P) либо
  • в палитре свойств самой формы.

События модуля формы 1С

События модуля формы 1С

[свернуть]

Особенности модуля управляемых форм:

  1. модуль управляемой формы четко разделяется на контекст: каждая процедура (функция) должна иметь директиву компиляции;
  2. в модуле управляемой формы можно объявлять процедуры и функции, объявлять переменные и описывать раздел основной программы;
  3. в управляемой форме можно обработать событие записи элемента (присутствует только для форм объектов - справочников, документов и некоторых других).

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

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

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

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

Если у формы существует основной реквизит, определяющий поведение формы, отличное от типового, - он выделяется жирным шрифтом.

Командный интерфейс формы 1С

О командном интерфейсе 1С

Командный интерфейс 1С - это основное средство навигации пользователя по функциональности конфигурации.

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

Рисунок "Подсистемы 1С и командный интерфейс"

Подсистемы 1С и командный интерфейс

[свернуть]

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

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

[свернуть]

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

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

1С Добавление команд в командный интерфейс

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

Команды формы 1С

Команды формы редактируются в списке. Разработчик имеет возможность:

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

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

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

Рисунок

Отсюда...

Вставка команды в управляемую форму

[свернуть]

Параметры формы 1С

Параметры формы 1С предназначены:

  1. для организации функциональной связи между формами;
  2. для управления функциональностью формы при открытии.
Рисунок

Отсюда...

Параметры формы 1С

[свернуть]

Параметры формы редактируются в списке (закладка Параметры).

Разработчик имеет возможность:

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

Параметры формы позволяют:

  1. описать набор данных, которые будут влиять на открытие формы (параметризация формы); для этого нужно перечислить все необходимые параметры и указать их типы;
  2. определить параметры, которые будут влиять на ключ уникальности формы; для этого необходимо установить свойство "Ключевой параметр" у тех параметров, которые должны участвовать в формировании ключа уникальности формы.

Отличие ключевого параметра формы 1С от обычного:

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

При попытке открыть форму система производит поиск существующей формы с помощью сформированного ключа уникальности формы. Если в системе существует форма с полученным ключом уникальности, возвращается именно эта форма; если нет – создается новая форма.

ВНИМАНИЕ! После вызова обработчика события ПриСозданииНаСервере все неключевые параметры формы удаляются из коллекции Параметры. Неключевые параметры формы, необходимые для дальнейшей работы, нужно сохранять в данных формы.

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

Передача параметров формы при её создании

Отсюда...

Параметры формы можно передать в форму в момент ее создания.

Анализ переданных параметров можно выполнить в событии ПриСозданииНаСервере() (коллекция Параметры является свойством объекта УправляемаяФорма):

[свернуть]

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.