На форме представления типа объектов "Новые заявки" разместим элемент интерфейса "Кнопка". Затем создадим атрибут "Создать вх. заявку" в свойстве элемента "Атрибут". В настройках атрибута необходимо выбрать вариант "Настраиваемое событие" и нажать на кнопку "Настроить".

Подробное описание создания функциональных кнопок в разделе "Скрипты (Функциональные кнопки)".

В окне редактора скриптов в первую очередь добавим нужные для создания функции объекты в коллекцию объектов:

  • Модальное окно – "Новая заявка";
  • Объект – "Заявка", необходимо указать родительский объект – "Базовый объект".

В коллекции объектов автоматически добавляется "Базовый объект" — это объект, для которого создаётся Функция. В нашем случае этим объектом является "Новые заявки".

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

  • VAR1 – наименование заявки;
  • VAR2 – номер заявки;
  • VAR3 – содержание заявки;
  • VAR4 – вид ОПФ заявителя;
  • VAR5 – ФИО заявителя;
  • VAR6 – наименование организации заявителя;
  • VAR7 – дата создания заявки.

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

  • Для элемента "Переключатель" - "Вид ОПФ заявителя" укажем начальное значение "Физическое лицо", поставим флажок "Атрибут" и выберем Атрибут <Вид ОПФ заявки> объекта [O3] <Заявка>.
  • Для элемента "Строка текста" - "ФИО заявителя" установим флажок "Ограничения" и настроим условие видимости элемента:
    • Выражение – выбираем элемент "Переключатель";
    • Значение - "Физическое лицо";
    • Функция – "Равно".
  • Для элемента "Строка текста" - "Название организации" установим флажок "Ограничения" и настроим условие видимости элемента:
    • Выражение – выбираем элемент "Переключатель";
    • Значение - "Юридическое лицо";
    • Функция – "Равно".
  • Для элемента "Текст" установим флажок "Обязательное для заполнения поле". Если данный флажок установлен, то объект не будет создан до тех пор, пока данное поле не будет заполнено.

На этапе действия "Создать объект - 02" открывается модальное окно. Пользователь должен заполнить параметры в окне и нажать на одну из кнопок "Создать" или "Отменить". Если будет нажата кнопка "Создать", то должен быть создан новый объект. Если "Отменить", то модальное окно будет закрыто и объект создан не будет.

В функцию нам необходимо добавить действие "Если" на следующем уровне по отношению к действию "Создать объект - 02". Это действие будет проверять результат, который вернёт модальное окно – "Ok" или "Cancel". Далее к действию "Если" на следующем уровне необходимо добавить "To", которое обозначает, что выбран положительный результат – "Ok". При необходимости можно указать к действию "Если" - "Иначе" на следующем уровне, которое будет означать, что выбран результат "Cancel".

К функции "То", необходимо на следующем уровне добавить действие "Изменить атрибуты". На этом уровне нужно все внесённые пользователем в модальном окне данные сохранить в переменные. Для этого добавляем новое условие в области настройки действия, в котором указываем:

  • Атрибут (переменная) – VAR3;
  • Операция – "=";
  • Тип выражения – Сложное выражение;
  • Сложное выражение – необходимо выбрать объект – модальное окно и элемент интерфейса – "Текст".

Таким образом, создаём условия и устанавливаем значения также для переменных VAR4, VAR5, VAR6.

Для переменной VAR7 устанавливаем:

  • тип выражения – Значение;
  • значение – Now (функция, возвращающая текущую дату и время).

Далее добавим новое действие "Найти" для проверки уникальности номера заявки. В области настройки действия нужно выбрать объект "03-Заявка" и настроить условие:

  • Атрибут (переменная) – Номер заявки;
  • Операция – "=";
  • Тип выражения – Значение;
  • Сложное выражение – VAR2.

Чтобы проверить результат поиска, добавим функции "Если", "То" - заявка с данным номером уже есть в базе, и она создана не будет, "Иначе" - заявка не найдена и будет создана новая заявка с вынесенными данными.

Далее добавим новое действие "Создать объект" и добавим условие:

  • Атрибут (переменная) – Метка – при создании нового объекта, должно быть обязательно указано значение метки;
  • Операция – "=";
  • Тип выражения – Значение;
  • Сложное выражение – VAR1.

Далее добавим действие "Изменить атрибуты" и заполним атрибуты нового объекта данными из переменных:

  • Номер заявки:
    • Атрибут (переменная) – "Номер заявки";
    • Операция – "=";
    • Тип выражения – Значение;
    • Сложное выражение – VAR2.
  • Содержание заявки:
    • Атрибут (переменная) – "Содержание заявки";
    • Операция – "=";
    • Тип выражения – Значение;
    • Сложное выражение – VAR3.
  • Вид ОПФ заявителя:
    • Атрибут (переменная) – "Вид ОПФ заявителя";
    • Операция – "=";
    • Тип выражения – Значение;
    • Сложное выражение – VAR4.
  • ФИО заявителя:
    • Атрибут (переменная) – "ФИО заявителя";
    • Операция – "=";
    • Тип выражения – Значение;
    • Сложное выражение – VAR5.
  • Наименование организации заявителя:
    • Атрибут (переменная) – "Наименование организации";
    • Операция – "=";
    • Тип выражения – Значение;
    • Сложное выражение – VAR6.
  • Дата создания заявки:
    • Атрибут (переменная) – "Дата создания заявки";
    • Операция – "=";
    • Тип выражения – Значение;
    • Сложное выражение – VAR7.

На этом создание нового объекта завершено и теперь необходимо добавить действие "Перейти" для перехода на страницу созданного объекта. В настройках действия из выпадающего списка выберем объект "03- Заявка".