Don't understand setting field by scripts

Don't understand setting field by scripts

Hello!

In a live view  https://creator.zoho.com/smt_online/tech/#View:terminalsView
I have a custom action that launches the script:

Блокировать SIM blockSimDialog(terminals)
The script is simple:
void terminals.blockSimDialog(terminals t)
{
    s  =  SIMs  [terminal == t.ID];
    s.blocked = true;
}
It's catch the sim-card and set a flag in "blocked" field.
It's working - i can see, that flag is set.

Then i have a handler in SIMs form, on Update the "blocked" field:
if (input.blocked)
{
    sendmail
    (
        To       :  "ulia.sivridi@gmail.com" 
        From     :  zoho.adminuserid 
        Subject  :  "Block the sim!" 
        Message  :  "id number blablabla..." 
    )
}

But the letter was not sent, and there is no error message. 

If i setting field by the hand - i'm get a letter. 

Should field's "on Update" respond to the installation by script? I'm need it for bulk operation.