Обработка пользовательских форм
После создания пользовательской формы обычно проверяется, какая кнопка нажата, и соответствующим образом обрабатываются собранные данные.
Чтобы ознакомиться с этой функциональностью, создайте новую пользовательскую форму, содержащую следующие элементы:
- Ввод текста с идентификатором Name, который хранит имя клиента
- Ввод текста с идентификатором LastName, который хранит фамилию клиента
- Действие отправки с идентификатором Save
- Действие отправки с идентификатором Cancel и включенный вариант Игнорировать введенные данные.
Цель потока — проверить, какое действие формы нажато. Когда действие Сохранить нажато, поток сохраняет собранные данные в электронную таблицу Excel. Когда действие Отмена нажато, поток останавливается и возвращает ошибку.
Чтобы реализовать это поведение:
Разверните действие Если и проверьте, содержит ли переменная ButtonPressed значение Save.
Внутри блока "Если" запустите электронную таблицу Excel. В этом примере электронная таблица должна содержать два столбца для имени и фамилии клиента.
Используйте действие Получить первый свободный столбец/строку из листа Excel, чтобы найти первую доступную строку в электронной таблице.
Разверните действие Записать на лист Excel и запишите имя клиента в первом столбце первой доступной строки электронной таблицы.
Все входные данные формы хранятся в переменной пользовательского объект CustomFormData. Чтобы получить доступ к значению определенного элемента пользовательского объекта, используйте следующую нотацию: %CustomFormData['ElementID']%.
Заметка
Дополнительную информацию о пользовательских объектах можно найти в разделе Расширенные типы данных
Используйте второе действие Записать на лист Excel, чтобы записать фамилию клиента во втором столбце первой доступной строки электронной таблицы.
Сохраните и закройте файл Excel с помощью действия Закрыть Excel.
Добавьте действие Еще внутри блока "Если" и используйте действие Остановить поток для остановки потока, когда оператор if имеет значение false.
При запуске классического потока отображаемая форма будет похожа на форму, представленную на следующем снимке экрана: