В данной статье на примере блокирования кнопки сохранения нового элемента приложения показано, как в виджете-код получить элемент страницы, а на примере запуска процесса при удалении элемента приложения показано, как добавить обработчик события нажатия на кнопку удаления и как запустить «родное» действие (в данном случае прерывание процессов и задач, связанных с удаляемым элементом) вместе с кастомным действием.
1.  Блокирование кнопки сохранения элемента, если не заполнено обязательное поле «роль сотрудника» (сценарий в виджете-код на форме создания):
	Код:
	
<script>
    $(document).ready(() => {
        <!-- создаем свойство глобального объекта window "saveButton" -->
        window.saveButton = document.querySelector('footer.modal-footer button.btn.btn-primary') ;
        <!-- Отключаем кнопку при загрузке страницы -->
        if(window.saveButton){
            window.saveButton.disabled = true;
        }
    })
</script >
 Сценарий при изменении значения переменной «роль сотрудника» во вкладке клиентских сценариев:
	Код:
	
declare const window:any;
async function onEmployeeRoleChange(): Promise<void> {
    if(window.saveButton){
        if(Context.data.employeeRole!.length>0){
            window.saveButton.disabled = false;
        }
        else{
            window.saveButton.disabled = true;
        }
    }
}
 ![[IMG]](https://community.elma365.com/assets/0KHQvtGF0YDQsNC90LjRgtGMIDExNjQ4NTUyNjcx.jpg) 
 
![[IMG]](https://community.elma365.com/assets/0KHQvtGF0YDQsNC90LjRgtGMIDIxNjQ4NTUyNjk0.jpg) 
 
2.  Добавление обработчика события для кнопки удаления элемента и запуск процесса при нажатии на неё (виджет-код на форме просмотра):
	Код:
	
<script>
    <!-- Ожидаем загрузку страницы -->
    $(document).ready(async () => {
     <!-- получаем кнопку удаления на форме просмотра -->
        var externalButton = document.querySelector('footer.modal-footer button.btn.btn-danger');
        if(externalButton){
         <!-- Добавляем обработчик события нажатия этой кнопки, при нажатии будет вызвана функция  -->
            externalButton.addEventListener("click",CreateListenerForPopOverButton)
        }
    })
      function CreateListenerForPopOverButton(){
      <!-- Ожидаем загрузку страницы -->
       $(document).ready(async () => {
      <!-- получаем кнопку удаления на всплывшем окне удаления -->
            var innerButton =  document.querySelector('div.popover-outer.visible button.btn.btn-danger[type=submit]');
      <!-- Добавляем обработчик события нажатия этой кнопки, при нажатии будет вызвана функция-->
      <!-- из вкладки клиентских сценариев-->
            await innerButton.addEventListener("click",<%= Scripts%>.RunProcessOnDeleteButtonClick)
        })
    }  
</script >
 Функция RunProcessOnDeleteButtonClick на вкладке клиентских сценариев:
	Код:
	
async function RunProcessOnDeleteButtonClick(): Promise<void> {
    await Application.processes.your_process.run({});            
}