onBeforeEditStart fires during actual edit

Hello, I have simple datatable and in data i have hidden column ‘readonly’ which i check like:

                      onBeforeEditStart: function(id) {
                        if(this.getItem(id).readonly == 1) { return false; };
                      }

Pretty simple and it works fine when readonly==1 and no editor called. But if i actually edit value in cell then onBeforeEditStart fires on any change of cell value during edit with id = “” and generates “Cannot read property ‘readonly’ of undefined” error.
Where did I turned wrong way? Any suggestions how to allow editing for some rows and disallow for some others?

Hello,
With getItem ,please, use id.row in the datatable.

on:{
       onBeforeEditStart:function(id){
       	var item = this.getItem(id.row);
         if(this.getItem(id.row).readonly == 1)
           return false;
       }
     }

Example: https://snippet.webix.com/j4ff5gr9