Validation du cas d'utilisation UCIN02: Facturation et paiement suprieur reu

This commit is contained in:
Laurent Destailleur 2007-09-13 19:48:28 +00:00
parent 0e1152dc9d
commit 75cfeb40af
5 changed files with 58 additions and 18 deletions

View File

@ -1297,7 +1297,7 @@ if ($_GET['action'] == 'create')
if ($soc->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$soc->remise_client);
else print $langs->trans("CompanyHasNoRelativeDiscount");
print '. ';
if ($absolute_discount) print $langs->trans("CompanyHasAbsoluteDiscount",$absolute_discount,$langs->trans("Currency".$conf->monnaie));
if ($absolute_discount) print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->trans("Currency".$conf->monnaie));
else print $langs->trans("CompanyHasNoAbsoluteDiscount");
print '.';
print '</td></tr>';
@ -1836,7 +1836,19 @@ else
print '<table class="border" width="100%">';
// Reference
print '<tr><td width="20%">'.$langs->trans('Ref').'</td><td colspan="5">'.$fac->ref.'</td></tr>';
print '<tr><td width="20%">'.$langs->trans('Ref').'</td>';
print '<td colspan="5">'.$fac->ref;
$discount=new DiscountAbsolute($db);
$result=$discount->fetch(0,$fac->id);
if ($result > 0)
{
print ' ('.$langs->trans("CreditNoteConvertedIntoDiscount",$discount->getNomUrl(1,'discount')).')';
}
if ($result < 0)
{
dolibarr_print_error('',$discount->error);
}
print '</td></tr>';
// Ref client
/*

View File

@ -59,15 +59,23 @@ class DiscountAbsolute
$this->db = $DB;
}
/**
* \brief Charge objet remise depuis la base
* \param rowid id du projet à charger
* \return int <0 si ko, =0 si non trouvé, >0 si ok
* \param rowid id du projet à charger
* \param fk_facture_source fk_facture_source
* \return int <0 si ko, =0 si non trouvé, >0 si ok
*/
function fetch($rowid)
function fetch($rowid,$fk_facture_source=0)
{
$sql = "SELECT sr.fk_soc,";
// Check parameters
if (! $rowid && ! $fk_facture_source)
{
$this->error='ErrorBadParameters';
return -1;
}
$sql = "SELECT sr.rowid, sr.fk_soc,";
$sql.= " sr.fk_user,";
$sql.= " sr.amount_ht, sr.amount_tva, sr.amount_ttc, sr.tva_tx,";
$sql.= " sr.fk_facture, sr.fk_facture_source, sr.description,";
@ -75,8 +83,10 @@ class DiscountAbsolute
$sql.= " f.facnumber as ref_facture_source";
$sql.= " FROM ".MAIN_DB_PREFIX."societe_remise_except as sr";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as f ON sr.fk_facture_source = f.rowid";
$sql.= " WHERE sr.rowid=".$rowid;
$sql.= " WHERE";
if ($rowid) $sql.= " sr.rowid=".$rowid;
if ($fk_facture_source) $sql.= " sr.fk_facture_source=".$fk_facture_source;
dolibarr_syslog("DiscountAbsolute::fetch sql=".$sql);
$resql = $this->db->query($sql);
if ($resql)
@ -85,7 +95,7 @@ class DiscountAbsolute
{
$obj = $this->db->fetch_object($resql);
$this->id = $rowid;
$this->id = $obj->rowid;
$this->fk_soc = $obj->fk_soc;
$this->amount_ht = $obj->amount_ht;
$this->amount_tva = $obj->amount_tva;
@ -213,21 +223,33 @@ class DiscountAbsolute
\param option Sur quoi pointe le lien
\return string Chaine avec URL
*/
function getNomUrl($withpicto,$option='')
function getNomUrl($withpicto,$option='invoice')
{
global $langs;
$result='';
$lien = '<a href="'.DOL_URL_ROOT.'/compta/facture.php?facid='.$this->fk_facture_source.'">';
$lienfin='</a>';
if ($option == 'invoice')
{
$lien = '<a href="'.DOL_URL_ROOT.'/compta/facture.php?facid='.$this->fk_facture_source.'">';
$lienfin='</a>';
$label=$langs->trans("ShowDiscount").': '.$this->ref_facture_source;
$ref=$this->ref_facture_source;
$picto='bill';
}
if ($option == 'discount')
{
$lien = '<a href="'.DOL_URL_ROOT.'/comm/remx.php?id='.$this->fk_soc.'">';
$lienfin='</a>';
$label=$langs->trans("Discount");
$ref=$langs->trans("Discount");
$picto='generic';
}
$picto='bill';
$label=$langs->trans("ShowDiscount").': '.$this->ref_facture_source;
if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin);
if ($withpicto && $withpicto != 2) $result.=' ';
$result.=$lien.$this->ref_facture_source.$lienfin;
$result.=$lien.$ref.$lienfin;
return $result;
}

View File

@ -741,7 +741,7 @@ class Form
// On recherche les societes
$sql = "SELECT re.rowid, re.amount_ht, re.amount_tva, re.amount_ttc,";
$sql.= " re.description";
$sql.= " re.description, re.fk_facture_source";
$sql.= " FROM ".MAIN_DB_PREFIX ."societe_remise_except as re";
$sql.= " WHERE fk_soc = ".$socid;
if ($filter) $sql.= " AND ".$filter;
@ -760,7 +760,11 @@ class Form
{
$obj = $this->db->fetch_object($resql);
$desc=dolibarr_trunc($obj->description,40);
if ($desc=='(CREDIT_NOTE)') $desc=$langs->trans("CreditNote");
if ($desc=='(CREDIT_NOTE)')
{
$desc=$langs->trans("CreditNote");
//$desc.=$obj->fk_facture_source;
}
if ($selected > 0 && $selected == $obj->rowid)
{

View File

@ -287,6 +287,7 @@ ChequesReceipts=Cheques receipts
ChequesArea=Cheques deposits area
ChequeDeposits=Cheques deposits
Cheques=Cheques
CreditNoteConvertedIntoDiscount=This credit note has been converted into %s
# oursin PDF model
Of=du

View File

@ -287,6 +287,7 @@ ChequesReceipts=Bordereaux de remise de ch
ChequesArea=Espace remises de chèques
ChequeDeposits=Dépots de chèques
Cheques=Chèques
CreditNoteConvertedIntoDiscount=Cet avoir a été converti en %s
# oursin PDF model
Of=du