[Шпаргалка] Программное создание элементов формы

 2020

Добрый день, Коллеги!

//+++ Обновление публикации от 31.08.2020 г.

//     Посмотрите новую статью "Динамическое формировпечатную версиюание интерфейса"

//--- Обновление публикации от 31.08.2020 г.

 

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

Применение

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

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

Шпаргалка

 

Оглавление

Введение. 1

Общее. 2

Группа – Тип("ГруппаФормы"). 2

Поле – Тип("ПолеФормы"). 2

Создаемузнавать программистов реквизит. 3

Создаемузнавать программистов Поле. 3

Декорация – Тип("ДекорацияФормы"). 3

Декорация «Надпись». 3

Декорация «Картинка». 3

Кнопка – Тип("КнопкаФормы"). 3

Создание команды.. 3

Создание кнопок

Таблица формы и колонки

Создание таблицы формы

Создание колонок

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

. 4

Бонус – общий модуль с готовыми функциями. 4

 

Введение

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

Общее

Создание элементконфигурацииов, реквизитов и команд лучше производить в процедуре «ПриСозданииНаСервере».

Есть два варианта размещения элементконфигурацииов на форме – «добавить» и «вставить».

ЭтаФорма.Элементы.Добавить([Название нового элементконфигурацииа], [Тип элементконфигурацииа], [Элемент-родитель]) – Элемент будет добавлен на размещаемый элементконфигурации-родитель в конец списка.

ЭтаФорма.Элементы.Вставить([Название нового элементконфигурацииа], [Тип элементконфигурацииа], [Элемент-родитель], [Последующий элементконфигурации]) – Элемент будет добавлен на размещаемый элементконфигурации-родитель и вставлен перед желаемым элементконфигурацииом.

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

 

Группа – Тип("ГруппаФормы")

Элементы формы, которые можно создать с типом «ГруппаФормы»:

  • ГруппаКнопок
  • ГруппаКолонок
  • КоманднаяПанель
  • КонтекстноеМеню
  • ОбычнаяГруппа
  • Подменю
  • Страницы
  • Страница
 
 Пример создания элементконфигурацииов типа "ГруппаФормы"

Поле – Тип("ПолеФормы")

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

Элементы формы, которые можно создать с типом «ПолеФормы»:

  • ПолеHTMLДокумента
  • ПолеВвода
  • ПолеГеографическойСхемы
  • ПолеГрафическойСхемы
  • ПолеДендрограммы
  • ПолеДиаграммы
  • ПолеДиаграммыГанта
  • ПолеИндикатор
  • ПолеКалендарь
  • ПолеКартинки
  • ПолеНадписи
  • ПолеПереключателя
  • ПолеПланировщика
  • ПолеПолосыРегулирования
  • ПолеТабличногоДокумента
  • ПолеТекстовогоДокумента
  • ПолеФлажок
  • ПолеФорматированногоДокумента

Создаемузнавать программистов реквизит

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

 
 Пример создания реквизитов

Создаемузнавать программистов Поле

При создании поля указываем  тип «ПолеФормы», принцип мало чем отличается от создания группы:

 
 Пример создания полей

Декорация – Тип("ДекорацияФормы")

Обе существующие декорации имеют один тип, но разный вид.

Декорация «Надпись»

 
 Пример создания декорации надпись

Декорация «Картинка»

 
 Пример создания декорации картинка

Кнопка – Тип("КнопкаФормы")

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

Создание команды

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

 
 Пример заранее описанного общего действия для всех команд
 
 Пример создания команды

Создание кнопок

 
 Пример создания кнопок

 

//+++ Обновление публикации от 10.02.2020 г.

Таблица формы и колонки 

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

Создание таблицы

 
 Пример создания таблицы

Создание колонок

 
 Пример создания колонок

//--- Обновление публикации от 10.02.2020 г.

Бонус – общий модуль с готовыми функциями

«Лень - двигатель прогресса» и костылей J

Я пошел дальше, создал общий модуль, где описал создание всех выше описанных элементконфигурацииов формы. Поэтому предлагаю вам с ним познакомиться.  Для этого создайте новый модуль:

// +++ Обновление публикации от 30.03.2021 г.

//     НОВЫЙ МОДУЛЬ СМОТРИТЕ ТУТ

// --- Обновление публикации от 30.03.2021 г.

И скопируйте в него код:

 
 Код общего модуля (лучше использовать новый, по ссылке выше)

Удобно или нет - решать вам. Приведу лишь пример кода, созданного выше с помощью и без помощи общего модуля.

 
 Пример реализации интерфейса без использования функций общего модуля
 
 Пример реализации интерфейса с использованием функций общего модуля

 

Всем удачного кодинга!

 

Другие полезные шпаргалки:

 Несколько 1С-Серверов на одном сервере  Свой заголовок отчету на СКД (с параметрами)

 

Публикации по работ автоматизацией е с интерфейсом:

 Интерактивный выбор даты  Интерактивный выбор периода

 Свой флажок  Цифровые и аналоговые часы

Полная версия

© ООО "Инфостарт", 2006-2023 www.infostart.ru