I believe this should be done on Model level. It basically have nothing to do with View level.
If this job_number field is strictly related with ID, then you can even make it as expression field in model and don't even store it in database. For example, job_number = id + 100.
But if you really want to store it in database, then you should probably do like this:
1) in model create job_number as ordinary field with type('number'), but with ->system(true) or ->editable(false) depending on where you want to see this field (form, grid);
2) in model init method add hook afterInsert.
function init(){
parent::init();
// ... your field definitions here
// add afterInsert hook
$this->addHook('afterInsert',array($this,'afterInsert'));
}
3) in model create method
function afterInsert($m,$new_id){ // <-- new_id is ID of newly inserted record
$m->load($new_id);
$m['job_number'] = $new_id + 100; // <-- your function here
$m->save();
}
or maybe you can even write it simpler - not sure
function afterInsert($m,$new_id){ // <-- new_id is ID of newly inserted record
$this->set('job_number',$new_id + 100); // <-- your function here
$this->save();
}
This should work, but I didn't test this. Just writing here on the fly.
Try this out and if you need more help just let us know. Also you're more than welcome to join ATK4 IRC channel and ask your questions directly.