Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Merged branch "DOC0000070" into parent

Используйте тег <Form>, чтобы отобразить виджет формы записи с заданными необходимыми параметрами (такие, как таблица, вид формы, ID записи). Это позволяет пользователю редактировать поля, сохраняя при этом

...

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

Структура


Данный виджет

...

включает следующие элементы:

  1. Встроенный виджет, содержащий элементы формы.
  2. Блок заголовка:
  3. Блок секций:

    ...

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

    ...

    1. может содержать UI-действия (кнопки и другое).

    Элементы 


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

    • Элементы виджета отображают дату и время в часовом поясе пользователя. 
    • Элементы виджета, содержащие поля типа Translated Text (например, заголовки таблиц и колонок, выбор опций) отображают значения на языке текущего пользователя.  

    Атрибуты


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

    Атрибут

    Тип

    Обязательный

    Описание

    classStringНетУкажите название класса CSS, указанного в поле

    ...

    CSS виджета.
    nameStringНет

    Этот атрибут содержит название формы.

    Задайте название формы через поле Шаблон, как в примере ниже: 

    Code Block
    languagexml
    titleШаблон
    <Form tableName="{data.table_name}" sysId="{data.record_id}" name="custom"></Form>

    Затем вызовите его через клиентский скрипт виджета:

    Code Block
    languagejs
    themeEclipse
    titleКлиентский скрипт
    linenumberstrue
    const builtInForm = s_widgets.getForm('custom');
    await builtInForm.save();


    tableNameStringДаУкажите

    ...

    наименование таблицы.
    viewStringНетУкажите название вида формы таблицы, например, По умолчанию.
    saveStringНет

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

    Используйте этот атрибут, когда по каким-либо причинам невозможно использовать UI-действия (значение атрибута uiActions  false).

    titleHideBooleanНет

    ...

    Установите значение атрибута true, чтобы отразить заголовок формы. Значение по умолчанию: false.

    uiActionsBooleanНетУстановите значение true, чтобы сделать возможным использование UI-действий. В противном случае их использование будет запрещено (кроме кнопки Сохранить, определенной атрибутом save). 
    userScriptsBooleanНет

    ...

    Установите значение атрибута false, чтобы отключить клиентские скрипты выбранной таблицы

    ...

    . Значение по умолчанию: true.
    sysidStringНет

    Укажите ID записи таблицы

    ...

    . Предварительно нужно указать саму таблицу в атрибуте tableName.

    Note

    Если не указать sysid, то

    ...

    отображается форма

    ...

    создания записи.


    Пример

    ...

    :

    Code Block
    languagexml
    themeEclipse
    titleForm

    ...

    <form
        name="

    ...

    leadForm"
     

    ...

       tableName="

    ...

    crm_leads"
        view="

    ...

    Modal Form Disqualify"
     

    ...

     

    ...

     

    ...

     uiActions="

    ...

    false"
        userScripts="true"
    ><

    ...

    /form>
    <div class="buttonsModalQualify">
        <button buttonType="unstyled" event-click="window.s_widget_custom.cancel()">{data.cancel}</button>
        <button disabled="{data.isDisabled}" buttonType="primary" event-click="window.s_widget_custom.save()">{data.save}</button>
    </div>

    Шаблон из примера добавляет следующий элемент на страницу:

    Image Added

    Дочерний тег IndicatePresence


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

    Для отображения виджета, на форме таблицы должен быть установлен флажок Отображать присутствие (indicate_presence=true).

    Доступные атрибуты:

    АтрибутТипОбязательныйОписание
    tableNameStringДа

    Укажите название таблицы. Значение должно соответствовать значению атрибута tableName тега <Form>.

    recordIdStringДа

    Укажите ID записи таблицы. Значение должно соответствовать значению атрибута sysid тега <Form>.

    Пример:

    Code Block
    languagexml
    themeEclipse
    titleIndicatePresence
    linenumberstrue
    <IndicatePresence tableName="{data.table_name}" recordId="{data.record_id}"></IndicatePresence>

    Шаблон из примера добавляет следующий элемент на страницу:

    Image Added

    Table of Contents
    absoluteUrltrue
    classfixedCondition
    printablefalse