function init() { parent::init(); $this->addField('country', ___('Country'))->setGetFunction(function ($record, $grid, $field) { static $countries; if (!is_array($countries)) { $countries = array(); } if (!$record->country) { return ''; } if (!isset($countries[$record->country])) { $countries[$record->country] = Am_Di::getInstance()->countryTable->getTitleByCode($record->country); } return $record->country . "(" . $countries[$record->country] . ")"; }); $this->totals[] = $this->addField('sales_amount', ___('Consumer Sales'))->setGetFunction(array($this, 'getAmount')); $this->totals[] = $this->addField('sales_without_tax_amount', ___('Amount excl. VAT'))->setGetFunction(array($this, 'getAmount')); $this->addField('tax_rate', ___('VAT Rate'))->setGetFunction(function ($record, $grid, $field) { return $record->{$field} ? $record->{$field} . "%" : "-"; }); $this->totals[] = $this->addField('tax_amount', ___('VAT Amount'))->setGetFunction(array($this, 'getAmount')); $this->setFilter(new Am_Grid_Filter_EU_VAT_Report()); }