На формі документа/завдання і користувацькому довіднику можна викликати кастомну форму, на яку передати значення атрибутів. Кастомні форми налаштовуються окремо у “Типі документів” – “Атрибуті” – “Спливаючі форми”. Приклади:
27.62. Виклик спливаючої форми за натисканням на кнопку на формі документа.
|
module.exports = {
async form_40_click(event) {
const popupResult = await event.openPopupForm(‘lastNameFirstNamePopup’, { // lastNameFirstNamePopup – код формы из справочника “Спливаючі форми”
title: ‘Введите имя и фамилию’, // Заголовок формы
height: ‘400px’, //высота формы
width: ‘400px’, //ширина формы
attrValues: { //передаем на форму значения атрибутов lastName, firstName из формы документа
lastName: event.document.getAttribute(‘lastName’),
firstName: event.document.getAttribute(‘firstName’)
}
})
if (popupResult) { //при нажатии кнопки “Ок” на форме – записываем в атрибут fullName имя и фамилию
const enteredValues = popupResult.attrValues
const fullName = enteredValues.lastName + ‘ ‘ + enteredValues.firstName
event.document.setAttribute(‘fullName’, fullName)
}
}
}
|
27.63. Виклик спливаючої форми при натисканні на кнопку дії.
|
const {showPopupForm} = require(‘@unitybase/forms/public/forms-public.js’)
async action_beforeExecute_d1(event) { //вызываем форму по действию d1
event.skipStandardConfirmDialog() //при вызове формы отменяем стандартное окно подтверждения
const popupResult = await showPopupForm(‘approveActionPopup’, { //approveActionPopup – код формы из справочника “Спливаючі форми”
title: ‘Результаты согласовани’, // Заголовок форми
height: undefined, //высота форми не задана – будет установлена из параметров конструктора формы
width: undefined, //ширина форми не задана – будет установлена из параметров конструктора формы
attrValues: {
approveresult: event.document.getAttribute(‘additionalInfo’)
}
})
if (!popupResult) { //при нажатии кнопки “Відмінити” ничего не делаем
event.cancelAction()
return
}
const additionalInfo = popupResult.attrValues //при нажатии кнопки “Ок” записываем значение атрибута с формы в документ
event.document.setAttribute(‘additionalInfo’, additionalInfo.approveresult)
}
}
|