static function yearEnd(&$errors) { $assets = new AssetCollection(DataObjectFactory::Factory('Asset')); $sh = new SearchHandler($assets, false); $assets->load($sh); if ($assets->count() > 0) { $db = DB::Instance(); $db->StartTrans(); foreach ($assets as $asset) { if (is_null($asset->disposal_date)) { $asset->bfwd_value = $asset->wd_value; $asset->ty_depn = 0; if (!$asset->save()) { $errors[] = 'Failed to update asset ' . $asset->code; } } if (count($errors) > 0) { break; } } if (count($errors) > 0) { $db->FailTrans(); } $db->CompleteTrans(); // TODO : display warning if no assets to depreciate // } else { // $errors[]='Failed to load assets'; } }