X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Finquiry%2Fgl_trial_balance.php;h=1f6545c9ded2b3983e14aa736141ceeeedb63181;hb=90b3d069d96b99671af51726e2953352738abb75;hp=fbd23e94d95dcd7cf781b0d6cf2dacbccc324f22;hpb=d9b4de9d7e9d3ba77f6ece752fd6cc988effd8f1;p=fa-stable.git diff --git a/gl/inquiry/gl_trial_balance.php b/gl/inquiry/gl_trial_balance.php index fbd23e94..1f6545c9 100644 --- a/gl/inquiry/gl_trial_balance.php +++ b/gl/inquiry/gl_trial_balance.php @@ -14,8 +14,9 @@ $path_to_root="../.."; include_once($path_to_root . "/includes/session.inc"); -include_once($path_to_root . "/includes/date_functions.inc"); include_once($path_to_root . "/includes/ui.inc"); +include_once($path_to_root . "/includes/date_functions.inc"); +include_once($path_to_root . "/admin/db/fiscalyears_db.inc"); include_once($path_to_root . "/includes/data_checks.inc"); include_once($path_to_root . "/gl/includes/gl_db.inc"); @@ -26,6 +27,9 @@ if ($use_date_picker) page(_($help_context = "Trial Balance"), false, false, "", $js); +$k = 0; +$pdeb = $pcre = $cdeb = $ccre = $tdeb = $tcre = $pbal = $cbal = $tbal = 0; + //---------------------------------------------------------------------------------------------------- // Ajax updates // @@ -37,12 +41,17 @@ if (get_post('Show')) function gl_inquiry_controls() { + $dim = get_company_pref('use_dimension'); start_form(); start_table(TABLESTYLE_NOBORDER); date_cells(_("From:"), 'TransFromDate', '', null, -30); date_cells(_("To:"), 'TransToDate'); + if ($dim >= 1) + dimensions_list_cells(_("Dimension")." 1:", 'Dimension', null, true, " ", false, 1); + if ($dim > 1) + dimensions_list_cells(_("Dimension")." 2:", 'Dimension2', null, true, " ", false, 2); check_cells(_("No zero values"), 'NoZero', null); check_cells(_("Only balances"), 'Balance', null); @@ -53,48 +62,42 @@ function gl_inquiry_controls() //---------------------------------------------------------------------------------------------------- -function display_trial_balance() +function display_trial_balance($type, $typename) { global $path_to_root; - div_start('balance_tbl'); - start_table(TABLESTYLE); - $tableheader = " - " . _("Account") . " - " . _("Account Name") . " - " . _("Brought Forward") . " - " . _("This Period") . " - " . _("Balance") . " - - " . _("Debit") . " - " . _("Credit") . " - " . _("Debit") . " - " . _("Credit") . " - " . _("Debit") . " - " . _("Credit") . " - "; - - echo $tableheader; + global $k, $pdeb, $pcre, $cdeb, $ccre, $tdeb, $tcre, $pbal, $cbal, $tbal; + $printtitle = 0; //Flag for printing type name $k = 0; - $accounts = get_gl_accounts(); - $pdeb = $pcre = $cdeb = $ccre = $tdeb = $tcre = $pbal = $cbal = $tbal = 0; - $begin = begin_fiscalyear(); + //Get Accounts directly under this group/type + $accounts = get_gl_accounts(null, null, $type); + + $begin = get_fiscalyear_begin_for_date($_POST['TransFromDate']); if (date1_greater_date2($begin, $_POST['TransFromDate'])) $begin = $_POST['TransFromDate']; $begin = add_days($begin, -1); - + while ($account = db_fetch($accounts)) { - $prev = get_balance($account["account_code"], 0, 0, $begin, $_POST['TransFromDate'], false, false); - $curr = get_balance($account["account_code"], 0, 0, $_POST['TransFromDate'], $_POST['TransToDate'], true, true); - $tot = get_balance($account["account_code"], 0, 0, $begin, $_POST['TransToDate'], false, true); + //Print Type Title if it has atleast one non-zero account + if (!$printtitle) + { + start_row("class='inquirybg' style='font-weight:bold'"); + label_cell(_("Group")." - ".$type ." - ".$typename, "colspan=8"); + end_row(); + $printtitle = 1; + } + + $prev = get_balance($account["account_code"], $_POST['Dimension'], $_POST['Dimension2'], $begin, $_POST['TransFromDate'], false, false); + $curr = get_balance($account["account_code"], $_POST['Dimension'], $_POST['Dimension2'], $_POST['TransFromDate'], $_POST['TransToDate'], true, true); + $tot = get_balance($account["account_code"], $_POST['Dimension'], $_POST['Dimension2'], $begin, $_POST['TransToDate'], false, true); if (check_value("NoZero") && !$prev['balance'] && !$curr['balance'] && !$tot['balance']) continue; alt_table_row_color($k); - $url = "" . $account["account_code"] . ""; + $url = "" . $account["account_code"] . ""; label_cell($url); label_cell($account["account_name"]); @@ -103,7 +106,7 @@ function display_trial_balance() display_debit_or_credit_cells($prev['balance']); display_debit_or_credit_cells($curr['balance']); display_debit_or_credit_cells($tot['balance']); - + } else { @@ -126,6 +129,77 @@ function display_trial_balance() end_row(); } + //Get Account groups/types under this group/type + $result = get_account_types(false, false, $type); + while ($accounttype=db_fetch($result)) + { + //Print Type Title if has sub types and not previously printed + if (!$printtitle) + { + start_row("class='inquirybg' style='font-weight:bold'"); + label_cell(_("Group")." - ".$type ." - ".$typename, "colspan=8"); + end_row(); + $printtitle = 1; + + } + display_trial_balance($accounttype["id"], $accounttype["name"].' ('.$typename.')'); + } +} + +//---------------------------------------------------------------------------------------------------- + +gl_inquiry_controls(); + +if (isset($_POST['TransFromDate'])) +{ + $row = get_current_fiscalyear(); + if (date1_greater_date2($_POST['TransFromDate'], sql2date($row['end']))) + { + display_error(_("The from date cannot be bigger than the fiscal year end.")); + set_focus('TransFromDate'); + return; + } +} +div_start('balance_tbl'); +if (!isset($_POST['Dimension'])) + $_POST['Dimension'] = 0; +if (!isset($_POST['Dimension2'])) + $_POST['Dimension2'] = 0; +start_table(TABLESTYLE); +$tableheader = " + " . _("Account") . " + " . _("Account Name") . " + " . _("Brought Forward") . " + " . _("This Period") . " + " . _("Balance") . " + + " . _("Debit") . " + " . _("Credit") . " + " . _("Debit") . " + " . _("Credit") . " + " . _("Debit") . " + " . _("Credit") . " + "; + +echo $tableheader; + +//display_trial_balance(); + +$classresult = get_account_classes(false); +while ($class = db_fetch($classresult)) +{ + start_row("class='inquirybg' style='font-weight:bold'"); + label_cell(_("Class")." - ".$class['cid'] ." - ".$class['class_name'], "colspan=8"); + end_row(); + + //Get Account groups/types under this group/type with no parents + $typeresult = get_account_types(false, $class['cid'], -1); + while ($accounttype=db_fetch($typeresult)) + { + display_trial_balance($accounttype["id"], $accounttype["name"]); + } +} + //$prev = get_balance(null, $begin, $_POST['TransFromDate'], false, false); //$curr = get_balance(null, $_POST['TransFromDate'], $_POST['TransToDate'], true, true); //$tot = get_balance(null, $begin, $_POST['TransToDate'], false, true); @@ -149,14 +223,9 @@ function display_trial_balance() end_row(); end_table(1); + if (($pbal = round2($pbal, user_price_dec())) != 0 && $_POST['Dimension'] == 0 && $_POST['Dimension2'] == 0) + display_warning(_("The Opening Balance is not in balance, probably due to a non closed Previous Fiscalyear.")); div_end(); -} - -//---------------------------------------------------------------------------------------------------- - -gl_inquiry_controls(); - -display_trial_balance(); //----------------------------------------------------------------------------------------------------