// Libelle $reg = array(); preg_match('/\\((.+)\\)/i', $objp->label, $reg); // Si texte entoure de parenthese on tente recherche de traduction if ($reg[1] && $langs->transnoentitiesnoconv($reg[1]) != $reg[1]) { $description = $langs->transnoentitiesnoconv($reg[1]); } else { $description = $objp->label; } /* * Ajout les liens (societe, company...) */ $links = $acct->get_url($objp->rowid); foreach ($links as $key => $val) { if ($links[$key]['type'] == 'payment') { $paymentstatic->fetch($links[$key]['url_id']); $tmparray = $paymentstatic->getBillsArray(''); foreach ($tmparray as $key => $val) { $invoicestatic->fetch($val); if ($accountelem) { $accountelem .= ', '; } $accountelem .= $invoicestatic->ref; } } elseif ($links[$key]['type'] == 'payment_supplier') { $paymentsupplierstatic->fetch($links[$key]['url_id']); $tmparray = $paymentsupplierstatic->getBillsArray(''); foreach ($tmparray as $key => $val) { $invoicesupplierstatic->fetch($val); if ($accountelem) { $accountelem .= ', ';
// Security check $id = GETPOST('id', 'int'); $action = GETPOST('action', 'alpha'); $confirm = GETPOST('confirm', 'alpha'); if ($user->societe_id) { $socid = $user->societe_id; } // TODO ajouter regle pour restreindre acces paiement //$result = restrictedArea($user, 'facture', $id,''); $object = new Paiement($db); /* * Actions */ if ($action == 'setnote' && $user->rights->facture->paiement) { $db->begin(); $object->fetch($id); $result = $object->update_note(GETPOST('note')); if ($result > 0) { $db->commit(); $action = ''; } else { setEventMessage($object->error, 'errors'); $db->rollback(); } } if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->facture->paiement) { $db->begin(); $object->fetch($id); $result = $object->delete(); if ($result > 0) { $db->commit();
* \file htdocs/compta/paiement/info.php * \ingroup facture * \brief Onglet info d'un paiement */ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php'; require_once DOL_DOCUMENT_ROOT . '/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/payments.lib.php'; $langs->load("bills"); $langs->load("companies"); $id = GETPOST('id'); /* * View */ llxHeader(); $paiement = new Paiement($db); $paiement->fetch($id); $paiement->info($id); $head = payment_prepare_head($paiement); dol_fiche_head($head, 'info', $langs->trans("PaymentCustomerInvoice"), 0, 'payment'); print '<table class="border" width="100%">'; // Ref print '<tr><td valign="top" width="140">' . $langs->trans('Ref') . '</td><td colspan="3">' . $paiement->id . '</td></tr>'; print '</table>'; print '<br>'; print '<table width="100%"><tr><td>'; dol_print_object_info($paiement); print '</td></tr></table>'; print '</div>'; $db->close(); llxFooter();
$object->set_unpaid('admin'); $sql = 'SELECT p.datep as dp, p.num_paiement, p.rowid, p.fk_bank,'; $sql .= ' c.code as payment_code, c.libelle as payment_label,'; $sql .= ' pf.amount,'; $sql .= ' ba.rowid as baid, ba.ref, ba.label'; $sql .= ' FROM ' . MAIN_DB_PREFIX . 'c_paiement as c, ' . MAIN_DB_PREFIX . 'paiement_facture as pf, ' . MAIN_DB_PREFIX . 'paiement as p'; $sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'bank as b ON p.fk_bank = b.rowid'; $sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'bank_account as ba ON b.fk_account = ba.rowid'; $sql .= ' WHERE pf.fk_facture = ' . $id . ' AND p.fk_paiement = c.id AND pf.fk_paiement = p.rowid'; $sql .= ' ORDER BY p.datep, p.tms'; $result = $db->query($sql); if ($result) { $num = $db->num_rows($result); $objp = $db->fetch_object($result); $paiement = new Paiement($db); $paiement->fetch($objp->rowid); $paiement->delete(); } if ($conf->stock->enabled) { $object->delete(0, 0, $conf->global->POS_DEFAULT_WAREHOUSE); } else { $object->delete(); } $sql = 'delete from ' . MAIN_DB_PREFIX . 'pos_facture where fk_facture=' . $id; $db->query($sql); } //Get records from database $sql = "SELECT rowid as iddet, facnumber, datec, fk_user_author as user, total_ttc as price FROM " . MAIN_DB_PREFIX . "facture order by rowid DESC limit 50"; $resql = $db->query($sql); //Add all records to an array $rows = array();
/** * \file htdocs/compta/paiement/info.php * \ingroup facture * \brief Onglet info d'un paiement */ require "../../main.inc.php"; require_once DOL_DOCUMENT_ROOT . "/core/lib/functions2.lib.php"; require_once DOL_DOCUMENT_ROOT . "/compta/paiement/class/paiement.class.php"; $langs->load("bills"); $langs->load("companies"); /* * View */ llxHeader(); $paiement = new Paiement($db); $paiement->fetch($_GET["id"], $user); $paiement->info($_GET["id"]); $h = 0; $head[$h][0] = DOL_URL_ROOT . '/compta/paiement/fiche.php?id=' . $_GET["id"]; $head[$h][1] = $langs->trans("Card"); $h++; $head[$h][0] = DOL_URL_ROOT . '/compta/paiement/info.php?id=' . $_GET["id"]; $head[$h][1] = $langs->trans("Info"); $hselected = $h; $h++; dol_fiche_head($head, $hselected, $langs->trans("PaymentCustomerInvoice"), 0, 'payment'); print '<table class="border" width="100%">'; // Ref print '<tr><td valign="top" width="140">' . $langs->trans('Ref') . '</td><td colspan="3">' . $paiement->id . '</td></tr>'; print '</table>'; print '<br>';
/** * Check return management * Reopen linked invoices and create a new negative payment. * * @param int $bank_id Id of bank transaction line concerned * @param date $rejection_date Date to use on the negative payment * @return int Id of negative payment line created */ function rejectCheck($bank_id, $rejection_date) { global $db, $user; $payment = new Paiement($db); $payment->fetch(0, 0, $bank_id); $bankline = new AccountLine($db); $bankline->fetch($bank_id); /* Conciliation is allowed because when check is returned, a new line is created onto bank transaction log. if ($bankline->rappro) { $this->error='ActionRefusedLineAlreadyConciliated'; return -1; }*/ $this->db->begin(); // Not conciliated, we can delete it //$bankline->delete($user); // We delete $bankaccount = $payment->fk_account; // Get invoices list to reopen them $sql = 'SELECT pf.fk_facture, pf.amount'; $sql .= ' FROM ' . MAIN_DB_PREFIX . 'paiement_facture as pf'; $sql .= ' WHERE pf.fk_paiement = ' . $payment->id; $resql = $db->query($sql); if ($resql) { $rejectedPayment = new Paiement($db); $rejectedPayment->amounts = array(); $rejectedPayment->datepaye = $rejection_date; $rejectedPayment->paiementid = dol_getIdFromCode($this->db, 'CHQ', 'c_paiement'); $rejectedPayment->num_paiement = $payment->numero; while ($obj = $db->fetch_object($resql)) { $invoice = new Facture($db); $invoice->fetch($obj->fk_facture); $invoice->set_unpaid($user); $rejectedPayment->amounts[$obj->fk_facture] = price2num($obj->amount) * -1; } $result = $rejectedPayment->create($user); if ($result > 0) { // We created a negative payment, we also add the line as bank transaction $result = $rejectedPayment->addPaymentToBank($user, 'payment', '(CheckRejected)', $bankaccount, '', ''); if ($result > 0) { $result = $payment->reject(); if ($result > 0) { $this->db->commit(); return $rejectedPayment->id; } else { $this->db->rollback(); return -1; } } else { $this->error = $rejectedPayment->error; $this->errors = $rejectedPayment->errors; $this->db->rollback(); return -1; } } else { $this->error = $rejectedPayment->error; $this->errors = $rejectedPayment->errors; $this->db->rollback(); return -1; } } else { $this->error = $this->db->lasterror(); $this->db->rollback(); return -1; } }
$mesg='<div class="error">'.$langs->trans($paiement->error).'</div>'; $db->rollback(); } } /* * View */ llxHeader(); $thirdpartystatic=new Societe($db); $paiement = new Paiement($db); $result=$paiement->fetch($id); if ($result <= 0) { dol_print_error($db,'Payement '.$id.' not found in database'); exit; } $html = new Form($db); $h=0; $head[$h][0] = DOL_URL_ROOT.'/compta/paiement/fiche.php?id='.$id; $head[$h][1] = $langs->trans("Card"); $hselected = $h; $h++;