Спливаючу форму можна викликати по таким подіям:
- натисканні кнопки на формі документа/завдання, користувацькому довіднику
|
async form_77_click(event) { //77 – ID кнопки
const popupResult = await event.openPopupForm(‘f1’, { //f1 – код спливаючої форми
title: ‘Форма1’, // Заголовок форми
height: ‘400px’, //висота форми, можна вказати undefined, тоді буде використовуватись налаштування з конструктора форм
width: ‘400px’, //ширина форми, можна вказати undefined, тоді буде використовуватись налаштування з конструктора форм
attrValues: {
attr1: event.document.getAttribute(‘attr2’), // attr1, який розміщено на формі отримає значення атрибута attr2 з документа.
}
})
if (popupResult) { //при натисканні кнопки «Ок» на формі, значення атрибуту attr1 з форми буде встановлено, як значення атрибуту attr3 на документі
const enteredValues = popupResult.attrValues
event.document.setAttribute(‘attr3’, enteredValues.attr1)
}
}
|
- при виконанні дії в документі
|
async action_beforeExecute_d1(event) { //викликаємо форму перед виконанням дії d1
event.skipStandardConfirmDialog() //відміняємо стандартне вікно підтвердження
const popupResult = await showPopupForm(‘approveActionPopup’, { //approveActionPopup – код форми із довідника “Спливаючі форми”
title: ‘Результат согласования’, // Заголовок форми
height: undefined, //висота форми, не задана – буде встановлена з параметрів конструктора форм
width: undefined, //ширина , не задана – буде встановлена з параметрів конструктора форм
attrValues: {
additionalInfo: event.document.getAttribute(‘additionalInfo’)
}
})
if (!popupResult) { //при нажатии кнопки “Відмінити” нічого не робимо
event.cancelAction()
return
}
const additionalInfo2 = popupResult.attrValues //при натисканні «Oк» записуємо значення атрибута з форми в документ
event.document.setAttribute(‘additionalInfo’, additionalInfo2.additionalInfo)
},
|
- перед збереженням документа/завдання
|
async beforeSave(event) { // викликаємо форму перед збереженням документу
// event.skipStandardConfirmDialog() // відміняємо стандартне вікно підтвердження
const popupResult5 = await showPopupForm(‘f5’, {
title: ‘Проверка дубликатов’,
height: undefined,
width: undefined,
attrValues: {
sd01: event.document.getNativeAttribute(‘subject’),
sd06: event.document.getAttribute(‘sd06’),
}
})
if (!popupResult5) {
event.cancelSave()
return
}
const additionalInfo3 = popupResult5.attrValues
event.document.setNativeAttribute(‘subject’, additionalInfo3.sd01)
event.document.setAttribute(‘sd06’, additionalInfo3.sd06)
}
|