X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Frep101.php;h=48b43d5fbeabf67ed46629604e4d68e43f593023;hb=4a8ede2a4a236a46a63819af13487f4d499d7aed;hp=ef19f41caa2963d4ad9cbb54c1873869b0745b31;hpb=68bf09b0ddf5bbe3a0155d288f4d0334104a9538;p=fa-stable.git diff --git a/reporting/rep101.php b/reporting/rep101.php index ef19f41c..48b43d5f 100644 --- a/reporting/rep101.php +++ b/reporting/rep101.php @@ -33,12 +33,13 @@ function get_open_balance($debtorno, $to) { if($to) $to = date2sql($to); + $sql = "SELECT SUM(IF(t.type = ".ST_SALESINVOICE." OR (t.type IN (".ST_JOURNAL." , ".ST_BANKPAYMENT.") AND t.ov_amount>0), + -abs(t.ov_amount + t.ov_gst + t.ov_freight + t.ov_freight_tax + t.ov_discount), 0)) AS charges,"; - $sql = "SELECT SUM(IF(t.type = ".ST_SALESINVOICE." OR (t.type = ".ST_JOURNAL." AND t.ov_amount>0), - -abs(t.ov_amount + t.ov_gst + t.ov_freight + t.ov_freight_tax + t.ov_discount), 0)) AS charges,"; - $sql .= "SUM(IF(t.type != ".ST_SALESINVOICE." AND NOT(t.type = ".ST_JOURNAL." AND t.ov_amount>0), - abs(t.ov_amount + t.ov_gst + t.ov_freight + t.ov_freight_tax + t.ov_discount) * -1, 0)) AS credits,"; - $sql .= "SUM(t.alloc) AS Allocated,"; + $sql .= "SUM(IF(t.type != ".ST_SALESINVOICE." AND NOT(t.type IN (".ST_JOURNAL." , ".ST_BANKPAYMENT.") AND t.ov_amount>0), + abs(t.ov_amount + t.ov_gst + t.ov_freight + t.ov_freight_tax + t.ov_discount) * -1, 0)) AS credits,"; + + $sql .= "SUM(IF(t.type != ".ST_SALESINVOICE." AND NOT(t.type IN (".ST_JOURNAL." , ".ST_BANKPAYMENT.")), t.alloc * -1, t.alloc)) AS Allocated,"; $sql .= "SUM(IF(t.type = ".ST_SALESINVOICE.", 1, -1) * (abs(t.ov_amount + t.ov_gst + t.ov_freight + t.ov_freight_tax + t.ov_discount) - abs(t.alloc))) AS OutStanding @@ -203,7 +204,13 @@ function print_customer_balances() } while ($trans = db_fetch($res)) { - if ($no_zeros && floatcmp($trans['TotalAmount'], $trans['Allocated']) == 0) continue; + if ($no_zeros) { + if ($show_balance) { + if ($trans['TotalAmount'] == 0) continue; + } else { + if (floatcmp($trans['TotalAmount'], $trans['Allocated']) == 0) continue; + } + } $rep->NewLine(1, 2); $rep->TextCol(0, 1, $systypes_array[$trans['type']]); $rep->TextCol(1, 2, $trans['reference']); @@ -218,19 +225,20 @@ function print_customer_balances() $item[0] = round2(abs($trans['TotalAmount']) * $rate, $dec); $rep->AmountCol(4, 5, $item[0], $dec); $accumulate += $item[0]; + $item[2] = round2($trans['Allocated'] * $rate, $dec); } else { $item[1] = round2(Abs($trans['TotalAmount']) * $rate, $dec); $rep->AmountCol(5, 6, $item[1], $dec); $accumulate -= $item[1]; + $item[2] = round2($trans['Allocated'] * $rate, $dec) * -1; } - $item[2] = round2($trans['Allocated'] * $rate, $dec); $rep->AmountCol(6, 7, $item[2], $dec); if ($trans['type'] == ST_SALESINVOICE || $trans['type'] == ST_BANKPAYMENT) - $item[3] = $item[0] + $item[1] - $item[2]; + $item[3] = $item[0] - $item[2]; else - $item[3] = $item[0] - $item[1] + $item[2]; + $item[3] = -$item[1] - $item[2]; if ($show_balance) $rep->AmountCol(7, 8, $accumulate, $dec); else