Обработка события btnOKOnClick в карточке редактирования действия процесса
Здравствуйте!
Каким образом происходит вызов предупреждающего окошка о отсутствии шаблона в действии "Отправка E-mail"?
Обработчики событий для кнопок btnOK и btnCancel окна wnd_SendEmailActionEdit не назначены (как и в базовом окне - wnd_BaseEdit)
Каким образом можно добавить дополнительные проверки такого характера или убрать старые?
Нравится
Геннадий, вызов данного предупреждающего окна реализован в теле функции function CheckCanSave() сервиса wnd_SendEmailActionEditScript:
function CheckCanSave() { if (!CheckRequiredControlCondition(edtTemplate, !!edtTemplate.Value, edtTemplate.Caption)) { return; } return true; }
Реализовать дополнительные проверки можно по аналогии:
function CheckCanSave() { if (!CheckRequiredControlCondition(edtTemplate, !!edtTemplate.Value, edtTemplate.Caption)) { return; } if (!CheckRequiredControlCondition(edtDataset, !!edtDataset.Value, edtDataset.Caption)) { return; } return true; }
Спасибо, Наталья, помогло!
А в какой момент происходит вызов этого метода?
Вызов происходит при нажатии на кнопку 'btnOK'. Обработчик события 'OnClick' для кнопки создается динамически, в функции function PrepareWorkflowActionEditWindow(Window) сервиса scr_WorkflowActionUtils:
function PrepareWorkflowActionEditWindow(Window) { ...... var Control = Window.ComponentsByName('btnOK'); if (Control) { SetObjectEventDispatcher(Window, Control, Control.InstanceID, 'OnClick', 'scr_WorkflowActionUtils.WFActionEditWindowOKButtonClick'); } ...... }
Функция WFActionEditWindowOKButtonClick имеет вид:
function WFActionEditWindowOKButtonClick(Control) { var Window = Control.ParentWindow; Control.ModalResult = wmrNone; if (!Window.ScriptControl.CodeObject.CheckCanSave()) { return; } Window.ScriptControl.CodeObject.SaveParameters(Window.Attributes('Item')); Window.Notify(Window, MSG_OK, null); Control.ModalResult = wmrOK; Window.Close(); }