From: <jt...@us...> - 2008-09-30 21:44:51
|
Revision: 2589 http://perp.svn.sourceforge.net/perp/?rev=2589&view=rev Author: jtrudel Date: 2008-09-30 21:44:40 +0000 (Tue, 30 Sep 2008) Log Message: ----------- Added a closing balance to Statement Report Modified Paths: -------------- trunk/perp_ar/inc/class.bo_perp_client.inc.php trunk/perp_ar/inc/class.so_perp_client.inc.php trunk/perp_ar/inc/report/class.statement.inc.php trunk/perp_ar/inc/report/en/statement.odt Modified: trunk/perp_ar/inc/class.bo_perp_client.inc.php =================================================================== --- trunk/perp_ar/inc/class.bo_perp_client.inc.php 2008-09-30 19:59:39 UTC (rev 2588) +++ trunk/perp_ar/inc/class.bo_perp_client.inc.php 2008-09-30 21:44:40 UTC (rev 2589) @@ -182,9 +182,12 @@ } } - public function get_account_balance($client_id, $client_account_id = '') { + public function get_account_balance($client_id, $client_account_id = '', $as_at_date = '') { if($this->client_read && $GLOBALS['egw']->acl->check('client_account', EGW_ACL_READ, 'perp_ar')) { - return $this->so->get_account_balance($client_id, $client_account_id); + if(!$as_at_date){ + $as_at_date = time(); + } + return $this->so->get_account_balance($client_id, $client_account_id, $as_at_date); } else { return lang('Access not permitted'); } Modified: trunk/perp_ar/inc/class.so_perp_client.inc.php =================================================================== --- trunk/perp_ar/inc/class.so_perp_client.inc.php 2008-09-30 19:59:39 UTC (rev 2588) +++ trunk/perp_ar/inc/class.so_perp_client.inc.php 2008-09-30 21:44:40 UTC (rev 2589) @@ -242,7 +242,7 @@ return $list; } - public function get_account_balance($client_id, $client_account_id) { + public function get_account_balance($client_id, $client_account_id, $as_at_date) { $where = array(); if($client_id) { $where[] = 'perp_client_ledger.client_id = ' . $client_id; @@ -250,6 +250,8 @@ if($client_account_id) { $where[] = 'perp_client_ledger.client_account_id = ' . $client_account_id; } + + $where[] = 'perp_general_ledger.trans_date <= ' . $GLOBALS['egw']->db->quote($GLOBALS['egw']->db->to_timestamp($as_at_date)); $this->db->select('perp_client_ledger', array( '-sum(round(amount / exchange_rate * (abs(asset_or_liability) / asset_or_liability), 2)) AS amount', Modified: trunk/perp_ar/inc/report/class.statement.inc.php =================================================================== --- trunk/perp_ar/inc/report/class.statement.inc.php 2008-09-30 19:59:39 UTC (rev 2588) +++ trunk/perp_ar/inc/report/class.statement.inc.php 2008-09-30 21:44:40 UTC (rev 2589) @@ -70,6 +70,11 @@ // Get sales orders $this->get_order_data($client['client_id'], $data); + + //Get opening balance + $closing_date = strtotime("-1 day",$query['start_date']); + $client['opening_balance'] = $bo_client->get_account_balance($client['client_id'], $client_account_id, $closing_date); + $client['opening_balance_text'] = lang('Opening Balance %1', ExecMethod2('perp_api.bo_perp_api.get_formatted_price', $client['currency'], $client['opening_balance'])); // Get account balance $client['account_balance'] = $bo_client->get_account_balance($client['client_id']); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |