<?php /* Script to delete all supplier payments entered or created from a payment run on a specified day */ include ('includes/session.php'); $Title = _('Reverse and Delete Supplier Payments'); include ('includes/header.php'); /*Only do deletions if user hits the button */ if (isset($_POST['RevPayts']) and is_date($_POST['PaytDate']) == 1) { $SQLTranDate = FormatDateForSQL($_POST['PaytDate']); $SQL = "SELECT id, transno, supplierno, ovamount, suppreference, rate FROM supptrans WHERE supptrans.type = 22 AND trandate = '" . $SQLTranDate . "'"; $Result = DB_query($SQL); prnMsg(_('The number of payments that will be deleted is') . ' :' . DB_num_rows($Result), 'info'); while ($Payment = DB_fetch_array($Result)) { prnMsg(_('Deleting payment number') . ' ' . $Payment['transno'] . ' ' . _('to supplier code') . ' ' . $Payment['supplierno'] . ' ' . _('for an amount of') . ' ' . $Payment['ovamount'], 'info'); $SQL = "SELECT supptrans.transno, supptrans.type, suppallocs.amt FROM supptrans INNER JOIN suppallocs ON supptrans.id=suppallocs.transid_allocto WHERE suppallocs.transid_allocfrom = " . $Payment['id']; $AllocsResult = DB_query($SQL); while ($Alloc = DB_fetch_array($AllocsResult)) { $SQL = "UPDATE supptrans SET settled=0, alloc=alloc-" . $Alloc['amt'] . ", diffonexch = diffonexch - ((" . $Alloc['amt'] . "/rate ) - " . $Alloc['amt'] / $Payment['rate'] . ") WHERE supptrans.type='" . $Alloc['type'] . "' AND transno='" . $Alloc['transno'] . "'"; $ErrMsg = _('The update to the suppliers charges that were settled by the payment failed because'); $UpdResult = DB_query($SQL, $ErrMsg); } prnMsg(' ... ' . _('reversed the allocations'), 'info'); $SQL = "DELETE FROM suppallocs WHERE transid_allocfrom='" . $Payment['id'] . "'"; $DelResult = DB_query($SQL); prnMsg(' ... ' . _('deleted the SuppAllocs records'), 'info'); $SQL = "DELETE FROM supptrans WHERE type=22 AND transno='" . $Payment['transno'] . "' AND trandate='" . $SQLTranDate . "'"; $DelResult = DB_query($SQL); prnMsg(_('Deleted the SuppTran record'), 'success'); $SQL = "DELETE FROM gltrans WHERE typeno='" . $Payment['transno'] . "' AND type=22"; $DelResult = DB_query($SQL); prnMsg(' .... ' . _('the GLTrans records (if any)'), 'info'); $SQL = "DELETE FROM banktrans WHERE ref='" . $Payment['suppreference'] . ' ' . $Payment['supplierno'] . "' AND amount=" . $Payment['ovamount'] . " AND transdate = '" . $SQLTranDate . "'"; $DelResult = DB_query($SQL); prnMsg(' .... ' . _('and the BankTrans record'), 'info'); } } echo '<form method="post" action="' . htmlspecialchars(basename(__FILE__), ENT_QUOTES, 'UTF-8') . '">'; echo '<div class="centre">'; echo '<input type="hidden" name="FormID" value="' . $_SESSION['FormID'] . '" />'; echo '<br />' . _('Enter the date of the payment run') . ': <input type="text" name="PaytDate" maxlength="11" size="11" value="' . $_POST['PaytDate'] . '" />'; echo '<input type="submit" name="RevPayts" value="' . _('Reverse Supplier Payments on the Date Entered') . '" />'; echo '</div> </form>'; include ('includes/footer.php'); ?>