11-Sep-2009 Joe Hunt
! Changed so deleting of fiscal year also handles sales quotations
+! Check that new closing accounts have been set before closure.
$ /admin/fiscalyears.php
+! Check that new bank charge account have been set before adding bank charge.
+$ /sales/customer_payments.php
+ /purchasing/supplier_payment.php
10-Sep-2009 Joe Hunt
! By changing a simple sentence in allocation_cart.inc, the customer/supplier payments works with prompt payment discounts
//---------------------------------------------------------------------------------------------
function close_year($year)
{
+ $co = get_company_prefs();
+ if ($co['retained_earnings_act'] == '' || $co['profit_loss_year_act'] == '')
+ {
+ display_error(_("The Retained Earnings Account or the Profit and Loss Year Account has not been set in System and General GL Setup"));
+ return false;
+ }
+ begin_transaction();
+
$myrow = get_fiscalyear($year);
$to = $myrow['end'];
// retrieve total balances from balance sheet accounts
$row = db_fetch_row($result);
$balance = round2($row[0], user_price_dec());
- begin_transaction();
$to = sql2date($to);
if ($balance != 0.0)
{
- $co = get_company_prefs();
-
$trans_type = systypes::journal_entry();
$trans_id = get_next_trans_no($trans_type);
0, 0, _("Closing Year"), $balance);
}
- close_transactions($to);
- commit_transaction();
+ close_transactions($to);
+
+ commit_transaction();
+ return true;
}
function open_year($year)
{
global $selected_id, $Mode;
+ $ok = true;
if ($selected_id != -1)
{
if ($_POST['closed'] == 1)
set_focus('closed');
return false;
}
- close_year($selected_id);
+ $ok = close_year($selected_id);
}
else
open_year($selected_id);
- update_fiscalyear($selected_id, $_POST['closed']);
- display_notification(_('Selected fiscal year has been updated'));
+ if ($ok)
+ {
+ update_fiscalyear($selected_id, $_POST['closed']);
+ display_notification(_('Selected fiscal year has been updated'));
+ }
}
else
{
return false;
}
+ if (isset($_POST['charge']) && input_num('charge') > 0 && get_company_pref('bank_charge_act') == '') {
+ display_error(_("The Bank Charge Account has not been set in System and General GL Setup."));
+ set_focus('charge');
+ return false;
+ }
+
if (isset($_POST['_ex_rate']) && !check_num('_ex_rate', 0.000001))
{
display_error(_("The exchange rate must be numeric and greater than zero."));
return false;
}
+ if (isset($_POST['charge']) && input_num('charge') > 0 && get_company_pref('bank_charge_act') == '') {
+ display_error(_("The Bank Charge Account has not been set in System and General GL Setup."));
+ set_focus('charge');
+ return false;
+ }
+
if (isset($_POST['_ex_rate']) && !check_num('_ex_rate', 0.000001))
{
display_error(_("The exchange rate must be numeric and greater than zero."));