function multican($accnt, $bank, $vatacc, $vatcode) { $accids = explode("|", $accnt['accids']); $amounts = explode("|", $accnt['amounts']); $vatcodes = explode("|", $accnt["vatcodes"]); $vats = explode("|", $accnt['vats']); $chrgvats = explode("|", $accnt['chrgvats']); $refnum = getrefnum(); $descript = $accnt['descript'] . " Returned, Unpaid"; $date = date("Y-m-d"); foreach ($amounts as $key => $amount) { # SQL Array Rule: Thou shalt skip Zero Reference if ($key < 1) { continue; } $accid = $accids[$key]; $vat = $vats[$key]; $chrgvat = $chrgvats[$key]; $amount -= $vat; if (isset($vatcodes[$key])) { $curvc = $vatcodes[$key]; } else { $curvc = $vatcode; } if ($accnt['trantype'] == "deposit") { $vatacc = gethook("accnum", "salesacc", "name", "VAT", "a"); # DT(account involved), CT(bank) writetrans($accid, $bank['accnum'], $accnt['date'], $refnum, $amount, $descript); if ($vat != 0) { # DT(Vat), CT(Bank) db_conn('cubit'); $Sl = "SELECT * FROM vatcodes WHERE id='{$curvc}'"; $Ri = db_exec($Sl); $vd = pg_fetch_array($Ri); vatr($vd['id'], $date, "OUTPUT", $vd['code'], $refnum, $descript, -($amount + $vat), -$vat); writetrans($vatacc, $bank['accnum'], $accnt['date'], $refnum, $vat, $descript); } } else { $vatacc = gethook("accnum", "salesacc", "name", "VAT"); # DT(bank), CT(account invoilved) writetrans($bank['accnum'], $accid, $accnt['date'], $refnum, $amount, $descript); if ($vat != 0) { # DT(Vat), CT(Bank) db_conn('cubit'); $Sl = "SELECT * FROM vatcodes WHERE id='{$curvc}'"; $Ri = db_exec($Sl); $vd = pg_fetch_array($Ri); vatr($vd['id'], $date, "INPUT", $vd['code'], $refnum, $descript, $amount + $vat, $vat); writetrans($bank['accnum'], $vatacc, $accnt['date'], $refnum, $vat, $descript); } } } db_connect(); # Delete cashbook ID $sql = "UPDATE cashbook SET opt = 'n' WHERE cashid='{$accnt['cashid']}' AND div = '" . USER_DIV . "'"; $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF); copyEntry($accnt['cashid']); if ($accnt['lcashid'] > 0) { # Delete cashbook ID $sql = "DELETE FROM cashbook WHERE cashid = '{$accnt['lcashid']}' AND div = '" . USER_DIV . "'"; $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF); } }
function multican($accnt, $bank, $vatacc) { $accids = explode("|", $accnt['accids']); $amounts = explode("|", $accnt['amounts']); $vats = explode("|", $accnt['vats']); $chrgvats = explode("|", $accnt['chrgvats']); $refnum = getrefnum(); $descript = $accnt['descript'] . " Returned, Unpaid"; $date = date("Y-m-d"); foreach ($amounts as $key => $amount) { # SQL Array Rule: Thou shalt skip Zero Reference if ($key < 1) { continue; } $accid = $accids[$key]; $vat = $vats[$key]; $chrgvat = $chrgvats[$key]; $amount -= $vat; if ($accnt['trantype'] == "deposit") { # DT(account involved), CT(bank) writetrans($accid, $bank['accnum'], $date, $refnum, $amount, $descript); if ($vat != 0) { # DT(Vat), CT(Bank) writetrans($vatacc, $bank['accnum'], $date, $refnum, $vat, $descript); } } else { # DT(bank), CT(account invoilved) writetrans($bank['accnum'], $accid, $date, $refnum, $amount, $descript); if ($vat != 0) { # DT(Vat), CT(Bank) writetrans($bank['accnum'], $vatacc, $date, $refnum, $vat, $descript); } } } db_connect(); # Delete cashbook ID $sql = "UPDATE cashbook SET opt = 'n' WHERE cashid='{$accnt['cashid']}' AND div = '" . USER_DIV . "'"; $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF); copyEntry($accnt['cashid']); if ($accnt['lcashid'] > 0) { # Delete cashbook ID $sql = "DELETE FROM cashbook WHERE cashid = '{$accnt['lcashid']}' AND div = '" . USER_DIV . "'"; $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF); } }