diff --git a/htdocs/compta/propal.php b/htdocs/compta/propal.php index 986a67e2af4..229acbeba1f 100644 --- a/htdocs/compta/propal.php +++ b/htdocs/compta/propal.php @@ -217,7 +217,7 @@ if ($_GET["propalid"] > 0) print ''; - if ($_GET['action'] != 'editmode' && $propal->brouillon) print ''; + if ($_GET['action'] != 'editmode' && $propal->brouillon) print ''; print '
'; print $langs->trans('PaymentMode'); print 'id.'">'.img_edit($langs->trans('SetMode'),1).'id.'">'.img_edit($langs->trans('SetMode'),1).'
'; print ''; if ($_GET['action'] == 'editmode') diff --git a/htdocs/includes/modules/commande/pdf_einstein.modules.php b/htdocs/includes/modules/commande/pdf_einstein.modules.php index 235135759e0..43f7c7d8268 100644 --- a/htdocs/includes/modules/commande/pdf_einstein.modules.php +++ b/htdocs/includes/modules/commande/pdf_einstein.modules.php @@ -391,7 +391,7 @@ class pdf_einstein extends ModelePDFCommandes * \param pdf objet PDF * \param com objet commande */ - function _tableau_versements(&$pdf, $com, $posy, $outputlangs) + function _tableau_versements(&$pdf, $object, $posy, $outputlangs) { } @@ -405,7 +405,7 @@ class pdf_einstein extends ModelePDFCommandes * \param outputlangs Objet langs * \return y Position pour suite */ - function _tableau_info(&$pdf, $com, $posy, $outputlangs) + function _tableau_info(&$pdf, $object, $posy, $outputlangs) { global $conf; @@ -426,7 +426,7 @@ class pdf_einstein extends ModelePDFCommandes /* * Conditions de règlements */ - if ($com->cond_reglement_code || $com->cond_reglement) + if ($object->cond_reglement_code || $object->cond_reglement) { $pdf->SetFont('Arial','B',8); $pdf->SetXY($this->marge_gauche, $posy); @@ -435,14 +435,14 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetFont('Arial','',8); $pdf->SetXY(50, $posy); - $lib_condition_paiement=$outputlangs->trans("PaymentCondition".$com->cond_reglement_code)!=('PaymentCondition'.$com->cond_reglement_code)?$outputlangs->trans("PaymentCondition".$com->cond_reglement_code):$com->cond_reglement; + $lib_condition_paiement=$outputlangs->trans("PaymentCondition".$object->cond_reglement_code)!=('PaymentCondition'.$object->cond_reglement_code)?$outputlangs->trans("PaymentCondition".$object->cond_reglement_code):$object->cond_reglement; $pdf->MultiCell(80, 5, $lib_condition_paiement,0,'L'); $posy=$pdf->GetY()+3; } /* - * Mode de règlement + * Check si absence mode de règlement */ if (! $conf->global->FACTURE_CHQ_NUMBER && ! $conf->global->FACTURE_RIB_NUMBER) { @@ -458,92 +458,100 @@ class pdf_einstein extends ModelePDFCommandes /* * Propose mode règlement par CHQ */ - if ($conf->global->FACTURE_CHQ_NUMBER) + if (! $object->mode_reglement_code || $object->mode_reglement_code == 'CHQ') { - if ($conf->global->FACTURE_CHQ_NUMBER > 0) - { - $account = new Account($this->db); - $account->fetch($conf->global->FACTURE_CHQ_NUMBER); - - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedTo',$account->proprio).':',0,'L',0); - $posy=$pdf->GetY()+1; - - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','',8); - $pdf->MultiCell(80, 3, $account->adresse_proprio, 0, 'L', 0); - - $posy=$pdf->GetY()+2; - } - if ($conf->global->FACTURE_CHQ_NUMBER == -1) - { - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedToShort').' '.$this->emetteur->nom.' '.$outputlangs->trans('SendTo').':',0,'L',0); - $posy=$pdf->GetY()+1; - - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','',8); - $pdf->MultiCell(80, 6, $this->emetteur->adresse_full, 0, 'L', 0); - - $posy=$pdf->GetY()+2; - } - } + // Si mode reglement non force ou si force a CHQ + if ($conf->global->FACTURE_CHQ_NUMBER) + { + if ($conf->global->FACTURE_CHQ_NUMBER > 0) + { + $account = new Account($this->db); + $account->fetch($conf->global->FACTURE_CHQ_NUMBER); + + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','B',8); + $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedTo',$account->proprio).':',0,'L',0); + $posy=$pdf->GetY()+1; + + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','',8); + $pdf->MultiCell(80, 3, $account->adresse_proprio, 0, 'L', 0); + + $posy=$pdf->GetY()+2; + } + if ($conf->global->FACTURE_CHQ_NUMBER == -1) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','B',8); + $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedToShort').' '.$this->emetteur->nom.' '.$outputlangs->trans('SendTo').':',0,'L',0); + $posy=$pdf->GetY()+1; + + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','',8); + $pdf->MultiCell(80, 6, $this->emetteur->adresse_full, 0, 'L', 0); + + $posy=$pdf->GetY()+2; + } + } + } /* * Propose mode règlement par RIB */ - if ($conf->global->FACTURE_RIB_NUMBER) + if (! $object->mode_reglement_code || $object->mode_reglement_code == 'VIR') { - if ($conf->global->FACTURE_RIB_NUMBER) - { - $account = new Account($this->db); - $account->fetch($conf->global->FACTURE_RIB_NUMBER); - - $this->marges['g']=$this->marge_gauche; - - $cury=$posy; - $pdf->SetXY ($this->marges['g'], $cury); - $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByTransferOnThisBankAccount').':', 0, 'L', 0); - $cury+=4; - $pdf->SetFont('Arial','B',6); - $pdf->line($this->marges['g']+1, $cury, $this->marges['g']+1, $cury+10 ); - $pdf->SetXY ($this->marges['g'], $cury); - $pdf->MultiCell(18, 3, $outputlangs->trans("BankCode"), 0, 'C', 0); - $pdf->line($this->marges['g']+18, $cury, $this->marges['g']+18, $cury+10 ); - $pdf->SetXY ($this->marges['g']+18, $cury); - $pdf->MultiCell(18, 3, $outputlangs->trans("DeskCode"), 0, 'C', 0); - $pdf->line($this->marges['g']+36, $cury, $this->marges['g']+36, $cury+10 ); - $pdf->SetXY ($this->marges['g']+36, $cury); - $pdf->MultiCell(24, 3, $outputlangs->trans("BankAccountNumber"), 0, 'C', 0); - $pdf->line($this->marges['g']+60, $cury, $this->marges['g']+60, $cury+10 ); - $pdf->SetXY ($this->marges['g']+60, $cury); - $pdf->MultiCell(13, 3, $outputlangs->trans("BankAccountNumberKey"), 0, 'C', 0); - $pdf->line($this->marges['g']+73, $cury, $this->marges['g']+73, $cury+10 ); - - $pdf->SetFont('Arial','',8); - $pdf->SetXY ($this->marges['g'], $cury+5); - $pdf->MultiCell(18, 3, $account->code_banque, 0, 'C', 0); - $pdf->SetXY ($this->marges['g']+18, $cury+5); - $pdf->MultiCell(18, 3, $account->code_guichet, 0, 'C', 0); - $pdf->SetXY ($this->marges['g']+36, $cury+5); - $pdf->MultiCell(24, 3, $account->number, 0, 'C', 0); - $pdf->SetXY ($this->marges['g']+60, $cury+5); - $pdf->MultiCell(13, 3, $account->cle_rib, 0, 'C', 0); - - $pdf->SetXY ($this->marges['g'], $cury+12); - $pdf->MultiCell(90, 3, $outputlangs->trans("Residence").' : ' . $account->domiciliation, 0, 'L', 0); - $pdf->SetXY ($this->marges['g'], $cury+22); - $pdf->MultiCell(90, 3, $outputlangs->trans("IbanPrefix").' : ' . $account->iban_prefix, 0, 'L', 0); - $pdf->SetXY ($this->marges['g'], $cury+25); - $pdf->MultiCell(90, 3, $outputlangs->trans("BIC").' : ' . $account->bic, 0, 'L', 0); - - $posy=$pdf->GetY()+2; - } - } - + // Si mode reglement non force ou si force a VIR + if ($conf->global->FACTURE_RIB_NUMBER) + { + if ($conf->global->FACTURE_RIB_NUMBER) + { + $account = new Account($this->db); + $account->fetch($conf->global->FACTURE_RIB_NUMBER); + + $this->marges['g']=$this->marge_gauche; + + $cury=$posy; + $pdf->SetXY ($this->marges['g'], $cury); + $pdf->SetFont('Arial','B',8); + $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByTransferOnThisBankAccount').':', 0, 'L', 0); + $cury+=4; + $pdf->SetFont('Arial','B',6); + $pdf->line($this->marges['g']+1, $cury, $this->marges['g']+1, $cury+10 ); + $pdf->SetXY ($this->marges['g'], $cury); + $pdf->MultiCell(18, 3, $outputlangs->trans("BankCode"), 0, 'C', 0); + $pdf->line($this->marges['g']+18, $cury, $this->marges['g']+18, $cury+10 ); + $pdf->SetXY ($this->marges['g']+18, $cury); + $pdf->MultiCell(18, 3, $outputlangs->trans("DeskCode"), 0, 'C', 0); + $pdf->line($this->marges['g']+36, $cury, $this->marges['g']+36, $cury+10 ); + $pdf->SetXY ($this->marges['g']+36, $cury); + $pdf->MultiCell(24, 3, $outputlangs->trans("BankAccountNumber"), 0, 'C', 0); + $pdf->line($this->marges['g']+60, $cury, $this->marges['g']+60, $cury+10 ); + $pdf->SetXY ($this->marges['g']+60, $cury); + $pdf->MultiCell(13, 3, $outputlangs->trans("BankAccountNumberKey"), 0, 'C', 0); + $pdf->line($this->marges['g']+73, $cury, $this->marges['g']+73, $cury+10 ); + + $pdf->SetFont('Arial','',8); + $pdf->SetXY ($this->marges['g'], $cury+5); + $pdf->MultiCell(18, 3, $account->code_banque, 0, 'C', 0); + $pdf->SetXY ($this->marges['g']+18, $cury+5); + $pdf->MultiCell(18, 3, $account->code_guichet, 0, 'C', 0); + $pdf->SetXY ($this->marges['g']+36, $cury+5); + $pdf->MultiCell(24, 3, $account->number, 0, 'C', 0); + $pdf->SetXY ($this->marges['g']+60, $cury+5); + $pdf->MultiCell(13, 3, $account->cle_rib, 0, 'C', 0); + + $pdf->SetXY ($this->marges['g'], $cury+12); + $pdf->MultiCell(90, 3, $outputlangs->trans("Residence").' : ' . $account->domiciliation, 0, 'L', 0); + $pdf->SetXY ($this->marges['g'], $cury+22); + $pdf->MultiCell(90, 3, $outputlangs->trans("IbanPrefix").' : ' . $account->iban_prefix, 0, 'L', 0); + $pdf->SetXY ($this->marges['g'], $cury+25); + $pdf->MultiCell(90, 3, $outputlangs->trans("BIC").' : ' . $account->bic, 0, 'L', 0); + + $posy=$pdf->GetY()+2; + } + } + } + return $posy; } @@ -555,7 +563,7 @@ class pdf_einstein extends ModelePDFCommandes * \param deja_regle Montant deja regle * \return y Position pour suite */ - function _tableau_tot(&$pdf, $com, $deja_regle, $posy, $outputlangs) + function _tableau_tot(&$pdf, $object, $deja_regle, $posy, $outputlangs) { $tab2_top = $posy; $tab2_hl = 5; @@ -571,22 +579,22 @@ class pdf_einstein extends ModelePDFCommandes $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("TotalHT"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + 0); - $pdf->MultiCell($largcol2, $tab2_hl, price($com->total_ht +$com->remise), 0, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht +$object->remise), 0, 'R', 1); // Remise globale - if ($com->remise > 0) + if ($object->remise > 0) { $pdf->SetXY ($col1x, $tab2_top + $tab2_hl); $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("GlobalDiscount"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl); - $pdf->MultiCell($largcol2, $tab2_hl, "-".$com->remise_percent."%", 0, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, "-".$object->remise_percent."%", 0, 'R', 1); $pdf->SetXY ($col1x, $tab2_top + $tab2_hl * 2); $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("WithDiscountTotalHT"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * 2); - $pdf->MultiCell($largcol2, $tab2_hl, price($com->total_ht), 0, 'R', 0); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht), 0, 'R', 0); $index = 2; } @@ -619,7 +627,7 @@ class pdf_einstein extends ModelePDFCommandes $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("TotalVAT"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($largcol2, $tab2_hl, price($com->total_tva), 0, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_tva), 0, 'R', 1); } $useborder=0; @@ -631,7 +639,7 @@ class pdf_einstein extends ModelePDFCommandes $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("TotalTTC"), $useborder, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($largcol2, $tab2_hl, price($com->total_ttc), $useborder, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc), $useborder, 'R', 1); $pdf->SetTextColor(0,0,0); if ($deja_regle > 0) @@ -653,7 +661,7 @@ class pdf_einstein extends ModelePDFCommandes $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("RemainderToPay"), $useborder, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($largcol2, $tab2_hl, price($com->total_ttc - $deja_regle), $useborder, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc - $deja_regle), $useborder, 'R', 1); // Fin $pdf->SetFont('Arial','', 9); @@ -725,7 +733,7 @@ class pdf_einstein extends ModelePDFCommandes * \param showadress 0=non, 1=oui * \param outputlang Objet lang cible */ - function _pagehead(&$pdf, $com, $showadress=1, $outputlangs) + function _pagehead(&$pdf, $object, $showadress=1, $outputlangs) { global $conf; @@ -772,14 +780,14 @@ class pdf_einstein extends ModelePDFCommandes $posy+=6; $pdf->SetXY(100,$posy); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 4, $outputlangs->trans("Ref")." : " . $com->ref, '', 'R'); + $pdf->MultiCell(100, 4, $outputlangs->trans("Ref")." : " . $object->ref, '', 'R'); $pdf->SetFont('Arial','',10); $posy+=6; $pdf->SetXY(100,$posy); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 3, $outputlangs->trans("OrderDate")." : " . dolibarr_print_date($com->date,"%d %b %Y"), '', 'R'); + $pdf->MultiCell(100, 3, $outputlangs->trans("OrderDate")." : " . dolibarr_print_date($object->date,"%d %b %Y"), '', 'R'); /* $posy+=5; @@ -843,7 +851,7 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetFont('Arial','',8); $pdf->SetXY(102,$posy-5); $pdf->MultiCell(80,5, $outputlangs->trans("BillTo").":"); - $com->fetch_client(); + $object->fetch_client(); // Cadre client destinataire $pdf->rect(100, $posy, 100, $hautcadre); @@ -851,12 +859,12 @@ class pdf_einstein extends ModelePDFCommandes // Nom client $pdf->SetXY(102,$posy+3); $pdf->SetFont('Arial','B',11); - $pdf->MultiCell(106,4, $com->client->nom, 0, 'L'); + $pdf->MultiCell(106,4, $object->client->nom, 0, 'L'); // Caractéristiques client - $carac_client=$com->client->adresse; - $carac_client.="\n".$com->client->cp . " " . $com->client->ville."\n"; - if ($com->client->tva_intra) $carac_client.="\n".$outputlangs->trans("VATIntraShort").': '.$com->client->tva_intra; + $carac_client=$object->client->adresse; + $carac_client.="\n".$object->client->cp . " " . $object->client->ville."\n"; + if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->trans("VATIntraShort").': '.$object->client->tva_intra; $pdf->SetFont('Arial','',9); $pdf->SetXY(102,$posy+8); $pdf->MultiCell(86,4, $carac_client); diff --git a/htdocs/includes/modules/facture/pdf_crabe.modules.php b/htdocs/includes/modules/facture/pdf_crabe.modules.php index f3de992b1f1..43fe553a05c 100644 --- a/htdocs/includes/modules/facture/pdf_crabe.modules.php +++ b/htdocs/includes/modules/facture/pdf_crabe.modules.php @@ -475,7 +475,7 @@ class pdf_crabe extends ModelePDFFactures * \param outputlangs Objet langs * \return y Position pour suite */ - function _tableau_info(&$pdf, $fac, $posy, $outputlangs) + function _tableau_info(&$pdf, $object, $posy, $outputlangs) { global $conf; @@ -496,7 +496,7 @@ class pdf_crabe extends ModelePDFFactures /* * Conditions de règlements */ - if ($fac->cond_reglement_code || $fac->cond_reglement) + if ($object->cond_reglement_code || $object->cond_reglement) { $pdf->SetFont('Arial','B',8); $pdf->SetXY($this->marge_gauche, $posy); @@ -505,14 +505,14 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetFont('Arial','',8); $pdf->SetXY(50, $posy); - $lib_condition_paiement=$outputlangs->trans("PaymentCondition".$fac->cond_reglement_code)!=('PaymentCondition'.$fac->cond_reglement_code)?$outputlangs->trans("PaymentCondition".$fac->cond_reglement_code):$fac->cond_reglement; + $lib_condition_paiement=$outputlangs->trans("PaymentCondition".$object->cond_reglement_code)!=('PaymentCondition'.$object->cond_reglement_code)?$outputlangs->trans("PaymentCondition".$object->cond_reglement_code):$object->cond_reglement; $pdf->MultiCell(80, 5, $lib_condition_paiement,0,'L'); $posy=$pdf->GetY()+3; } /* - * Mode de règlement + * Check si absence mode règlement */ if (! $conf->global->FACTURE_CHQ_NUMBER && ! $conf->global->FACTURE_RIB_NUMBER) { @@ -528,92 +528,100 @@ class pdf_crabe extends ModelePDFFactures /* * Propose mode règlement par CHQ */ - if ($conf->global->FACTURE_CHQ_NUMBER) + if (! $object->mode_reglement_code || $object->mode_reglement_code == 'CHQ') { - if ($conf->global->FACTURE_CHQ_NUMBER > 0) - { - $account = new Account($this->db); - $account->fetch($conf->global->FACTURE_CHQ_NUMBER); - - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedTo',$account->proprio).':',0,'L',0); - $posy=$pdf->GetY()+1; - - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','',8); - $pdf->MultiCell(80, 3, $account->adresse_proprio, 0, 'L', 0); - - $posy=$pdf->GetY()+2; - } - if ($conf->global->FACTURE_CHQ_NUMBER == -1) - { - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedToShort').' '.$this->emetteur->nom.' '.$outputlangs->trans('SendTo').':',0,'L',0); - $posy=$pdf->GetY()+1; - - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','',8); - $pdf->MultiCell(80, 6, $this->emetteur->adresse_full, 0, 'L', 0); - - $posy=$pdf->GetY()+2; - } - } - + // Si mode reglement non force ou si force a CHQ + if ($conf->global->FACTURE_CHQ_NUMBER) + { + if ($conf->global->FACTURE_CHQ_NUMBER > 0) + { + $account = new Account($this->db); + $account->fetch($conf->global->FACTURE_CHQ_NUMBER); + + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','B',8); + $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedTo',$account->proprio).':',0,'L',0); + $posy=$pdf->GetY()+1; + + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','',8); + $pdf->MultiCell(80, 3, $account->adresse_proprio, 0, 'L', 0); + + $posy=$pdf->GetY()+2; + } + if ($conf->global->FACTURE_CHQ_NUMBER == -1) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','B',8); + $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedToShort').' '.$this->emetteur->nom.' '.$outputlangs->trans('SendTo').':',0,'L',0); + $posy=$pdf->GetY()+1; + + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','',8); + $pdf->MultiCell(80, 6, $this->emetteur->adresse_full, 0, 'L', 0); + + $posy=$pdf->GetY()+2; + } + } + } + /* * Propose mode règlement par RIB */ - if ($conf->global->FACTURE_RIB_NUMBER) + if (! $object->mode_reglement_code || $object->mode_reglement_code == 'VIR') { - if ($conf->global->FACTURE_RIB_NUMBER) - { - $account = new Account($this->db); - $account->fetch($conf->global->FACTURE_RIB_NUMBER); - - $this->marges['g']=$this->marge_gauche; - - $cury=$posy; - $pdf->SetXY ($this->marges['g'], $cury); - $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByTransferOnThisBankAccount').':', 0, 'L', 0); - $cury+=4; - $pdf->SetFont('Arial','B',6); - $pdf->line($this->marges['g']+1, $cury, $this->marges['g']+1, $cury+10 ); - $pdf->SetXY ($this->marges['g'], $cury); - $pdf->MultiCell(18, 3, $outputlangs->trans("BankCode"), 0, 'C', 0); - $pdf->line($this->marges['g']+18, $cury, $this->marges['g']+18, $cury+10 ); - $pdf->SetXY ($this->marges['g']+18, $cury); - $pdf->MultiCell(18, 3, $outputlangs->trans("DeskCode"), 0, 'C', 0); - $pdf->line($this->marges['g']+36, $cury, $this->marges['g']+36, $cury+10 ); - $pdf->SetXY ($this->marges['g']+36, $cury); - $pdf->MultiCell(24, 3, $outputlangs->trans("BankAccountNumber"), 0, 'C', 0); - $pdf->line($this->marges['g']+60, $cury, $this->marges['g']+60, $cury+10 ); - $pdf->SetXY ($this->marges['g']+60, $cury); - $pdf->MultiCell(13, 3, $outputlangs->trans("BankAccountNumberKey"), 0, 'C', 0); - $pdf->line($this->marges['g']+73, $cury, $this->marges['g']+73, $cury+10 ); - - $pdf->SetFont('Arial','',8); - $pdf->SetXY ($this->marges['g'], $cury+5); - $pdf->MultiCell(18, 3, $account->code_banque, 0, 'C', 0); - $pdf->SetXY ($this->marges['g']+18, $cury+5); - $pdf->MultiCell(18, 3, $account->code_guichet, 0, 'C', 0); - $pdf->SetXY ($this->marges['g']+36, $cury+5); - $pdf->MultiCell(24, 3, $account->number, 0, 'C', 0); - $pdf->SetXY ($this->marges['g']+60, $cury+5); - $pdf->MultiCell(13, 3, $account->cle_rib, 0, 'C', 0); - - $pdf->SetXY ($this->marges['g'], $cury+12); - $pdf->MultiCell(90, 3, $outputlangs->trans("Residence").' : ' . $account->domiciliation, 0, 'L', 0); - $pdf->SetXY ($this->marges['g'], $cury+22); - $pdf->MultiCell(90, 3, $outputlangs->trans("IbanPrefix").' : ' . $account->iban_prefix, 0, 'L', 0); - $pdf->SetXY ($this->marges['g'], $cury+25); - $pdf->MultiCell(90, 3, $outputlangs->trans("BIC").' : ' . $account->bic, 0, 'L', 0); - - $posy=$pdf->GetY()+2; - } - } - + // Si mode reglement non force ou si force a VIR + if ($conf->global->FACTURE_RIB_NUMBER) + { + if ($conf->global->FACTURE_RIB_NUMBER) + { + $account = new Account($this->db); + $account->fetch($conf->global->FACTURE_RIB_NUMBER); + + $this->marges['g']=$this->marge_gauche; + + $cury=$posy; + $pdf->SetXY ($this->marges['g'], $cury); + $pdf->SetFont('Arial','B',8); + $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByTransferOnThisBankAccount').':', 0, 'L', 0); + $cury+=4; + $pdf->SetFont('Arial','B',6); + $pdf->line($this->marges['g']+1, $cury, $this->marges['g']+1, $cury+10 ); + $pdf->SetXY ($this->marges['g'], $cury); + $pdf->MultiCell(18, 3, $outputlangs->trans("BankCode"), 0, 'C', 0); + $pdf->line($this->marges['g']+18, $cury, $this->marges['g']+18, $cury+10 ); + $pdf->SetXY ($this->marges['g']+18, $cury); + $pdf->MultiCell(18, 3, $outputlangs->trans("DeskCode"), 0, 'C', 0); + $pdf->line($this->marges['g']+36, $cury, $this->marges['g']+36, $cury+10 ); + $pdf->SetXY ($this->marges['g']+36, $cury); + $pdf->MultiCell(24, 3, $outputlangs->trans("BankAccountNumber"), 0, 'C', 0); + $pdf->line($this->marges['g']+60, $cury, $this->marges['g']+60, $cury+10 ); + $pdf->SetXY ($this->marges['g']+60, $cury); + $pdf->MultiCell(13, 3, $outputlangs->trans("BankAccountNumberKey"), 0, 'C', 0); + $pdf->line($this->marges['g']+73, $cury, $this->marges['g']+73, $cury+10 ); + + $pdf->SetFont('Arial','',8); + $pdf->SetXY ($this->marges['g'], $cury+5); + $pdf->MultiCell(18, 3, $account->code_banque, 0, 'C', 0); + $pdf->SetXY ($this->marges['g']+18, $cury+5); + $pdf->MultiCell(18, 3, $account->code_guichet, 0, 'C', 0); + $pdf->SetXY ($this->marges['g']+36, $cury+5); + $pdf->MultiCell(24, 3, $account->number, 0, 'C', 0); + $pdf->SetXY ($this->marges['g']+60, $cury+5); + $pdf->MultiCell(13, 3, $account->cle_rib, 0, 'C', 0); + + $pdf->SetXY ($this->marges['g'], $cury+12); + $pdf->MultiCell(90, 3, $outputlangs->trans("Residence").' : ' . $account->domiciliation, 0, 'L', 0); + $pdf->SetXY ($this->marges['g'], $cury+22); + $pdf->MultiCell(90, 3, $outputlangs->trans("IbanPrefix").' : ' . $account->iban_prefix, 0, 'L', 0); + $pdf->SetXY ($this->marges['g'], $cury+25); + $pdf->MultiCell(90, 3, $outputlangs->trans("BIC").' : ' . $account->bic, 0, 'L', 0); + + $posy=$pdf->GetY()+2; + } + } + } + return $posy; } @@ -627,7 +635,7 @@ class pdf_crabe extends ModelePDFFactures * \param outputlangs Objet langs * \return y Position pour suite */ - function _tableau_tot(&$pdf, $fac, $deja_regle, $posy, $outputlangs) + function _tableau_tot(&$pdf, $object, $deja_regle, $posy, $outputlangs) { $tab2_top = $posy; $tab2_hl = 5; @@ -643,22 +651,22 @@ class pdf_crabe extends ModelePDFFactures $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("TotalHT"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + 0); - $pdf->MultiCell($largcol2, $tab2_hl, price($fac->total_ht + $fac->remise), 0, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht + $object->remise), 0, 'R', 1); // Remise globale - if ($fac->remise > 0) + if ($object->remise > 0) { $pdf->SetXY ($col1x, $tab2_top + $tab2_hl); $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("GlobalDiscount"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl); - $pdf->MultiCell($largcol2, $tab2_hl, "-".$fac->remise_percent."%", 0, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, "-".$object->remise_percent."%", 0, 'R', 1); $pdf->SetXY ($col1x, $tab2_top + $tab2_hl * 2); $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("WithDiscountTotalHT"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * 2); - $pdf->MultiCell($largcol2, $tab2_hl, price($fac->total_ht), 0, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht), 0, 'R', 1); $index = 2; } @@ -691,7 +699,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("TotalVAT"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($largcol2, $tab2_hl, price($fac->total_tva), 0, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_tva), 0, 'R', 1); } $useborder=0; @@ -703,7 +711,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("TotalTTC"), $useborder, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($largcol2, $tab2_hl, price($fac->total_ttc), $useborder, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc), $useborder, 'R', 1); $pdf->SetTextColor(0,0,0); if ($deja_regle > 0) @@ -716,10 +724,10 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); $pdf->MultiCell($largcol2, $tab2_hl, price($deja_regle), 0, 'R', 0); - $resteapayer = $fac->total_ttc - $deja_regle; - if ($fac->paye) $resteapayer=0; + $resteapayer = $object->total_ttc - $deja_regle; + if ($object->paye) $resteapayer=0; - if ($fac->close_code == 'escompte') + if ($object->close_code == 'escompte') { $index++; $pdf->SetFillColor(256,256,256); @@ -728,7 +736,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("EscompteOffered"), $useborder, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($largcol2, $tab2_hl, price($fac->total_ttc - $deja_regle), $useborder, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc - $deja_regle), $useborder, 'R', 1); } $index++; @@ -809,9 +817,9 @@ class pdf_crabe extends ModelePDFFactures * \param fac Objet facture * \param showadress 0=non, 1=oui */ - function _pagehead(&$pdf, $fac, $showadress=1, $outputlangs) + function _pagehead(&$pdf, $object, $showadress=1, $outputlangs) { - global $conf; + global $conf,$langs; $outputlangs->load("main"); $outputlangs->load("bills"); @@ -849,26 +857,41 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetFont('Arial','B',13); $pdf->SetXY(100,$posy); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 4, $outputlangs->trans("Invoice"), '' , 'R'); + $title=$outputlangs->trans("Invoice"); + if ($object->type == 1) $title=$outputlangs->trans("InvoiceReplacement"); + if ($object->type == 2) $title=$outputlangs->trans("InvoiceAvoir"); + $pdf->MultiCell(100, 4, $title, '' , 'R'); $pdf->SetFont('Arial','B',12); $posy+=6; $pdf->SetXY(100,$posy); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 4, $outputlangs->trans("Ref")." : " . $fac->ref, '', 'R'); + $pdf->MultiCell(100, 4, $outputlangs->trans("Ref")." : " . $object->ref, '', 'R'); + $posy+=1; $pdf->SetFont('Arial','',10); - $posy+=6; + if ($object->type == 1) + { + $objectreplaced=new Facture($this->db); + $objectreplaced->fetch($object->fk_facture_source); + + $posy+=5; + $pdf->SetXY(100,$posy); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(100, 3, $outputlangs->trans("ReplaceInvoice", $objectreplaced->ref), '', 'R'); + } + + $posy+=5; $pdf->SetXY(100,$posy); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 3, $outputlangs->trans("DateInvoice")." : " . dolibarr_print_date($fac->date,"%d %b %Y"), '', 'R'); + $pdf->MultiCell(100, 3, $outputlangs->trans("DateInvoice")." : " . dolibarr_print_date($object->date,"%d %b %Y"), '', 'R'); $posy+=5; $pdf->SetXY(100,$posy); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 3, $outputlangs->trans("DateEcheance")." : " . dolibarr_print_date($fac->date_lim_reglement,"%d %b %Y"), '', 'R'); + $pdf->MultiCell(100, 3, $outputlangs->trans("DateEcheance")." : " . dolibarr_print_date($object->date_lim_reglement,"%d %b %Y"), '', 'R'); if ($showadress) { @@ -925,7 +948,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetFont('Arial','',8); $pdf->SetXY(102,$posy-5); $pdf->MultiCell(80,5, $outputlangs->trans("BillTo").":"); - $fac->fetch_client(); + $object->fetch_client(); // Cadre client destinataire $pdf->rect(100, $posy, 100, $hautcadre); @@ -933,12 +956,12 @@ class pdf_crabe extends ModelePDFFactures // Nom client $pdf->SetXY(102,$posy+3); $pdf->SetFont('Arial','B',11); - $pdf->MultiCell(106,4, $fac->client->nom, 0, 'L'); + $pdf->MultiCell(106,4, $object->client->nom, 0, 'L'); // Caractéristiques client - $carac_client=$fac->client->adresse; - $carac_client.="\n".$fac->client->cp . " " . $fac->client->ville."\n"; - if ($fac->client->tva_intra) $carac_client.="\n".$outputlangs->trans("VATIntraShort").': '.$fac->client->tva_intra; + $carac_client=$object->client->adresse; + $carac_client.="\n".$object->client->cp . " " . $object->client->ville."\n"; + if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->trans("VATIntraShort").': '.$object->client->tva_intra; $pdf->SetFont('Arial','',9); $pdf->SetXY(102,$posy+8); $pdf->MultiCell(86,4, $carac_client); diff --git a/htdocs/includes/modules/propale/pdf_propale_azur.modules.php b/htdocs/includes/modules/propale/pdf_propale_azur.modules.php index 8fbbdcfcc30..2e380cc5800 100644 --- a/htdocs/includes/modules/propale/pdf_propale_azur.modules.php +++ b/htdocs/includes/modules/propale/pdf_propale_azur.modules.php @@ -383,7 +383,7 @@ class pdf_propale_azur extends ModelePDFPropales * \param pdf objet PDF * \param propale objet propale */ - function _tableau_versements(&$pdf, $propale, $posy, $outputlangs) + function _tableau_versements(&$pdf, $object, $posy, $outputlangs) { } @@ -392,12 +392,12 @@ class pdf_propale_azur extends ModelePDFPropales /* * \brief Affiche infos divers * \param pdf Objet PDF - * \param propale Objet propale + * \param object Objet propale * \param posy Position depart * \param outputlangs Objet langs * \return y Position pour suite */ - function _tableau_info(&$pdf, $propale, $posy, $outputlangs) + function _tableau_info(&$pdf, $object, $posy, $outputlangs) { global $conf; @@ -418,7 +418,7 @@ class pdf_propale_azur extends ModelePDFPropales /* * Conditions de règlements */ - if ($propal->cond_reglement_code || $propal->cond_reglement) + if ($object->cond_reglement_code || $object->cond_reglement) { $pdf->SetFont('Arial','B',8); $pdf->SetXY($this->marge_gauche, $posy); @@ -427,14 +427,14 @@ class pdf_propale_azur extends ModelePDFPropales $pdf->SetFont('Arial','',8); $pdf->SetXY(50, $posy); - $lib_condition_paiement=$outputlangs->trans("PaymentCondition".$propal->cond_reglement_code)!=('PaymentCondition'.$propal->cond_reglement_code)?$outputlangs->trans("PaymentCondition".$propal->cond_reglement_code):$propal->cond_reglement; + $lib_condition_paiement=$outputlangs->trans("PaymentCondition".$object->cond_reglement_code)!=('PaymentCondition'.$object->cond_reglement_code)?$outputlangs->trans("PaymentCondition".$object->cond_reglement_code):$object->cond_reglement; $pdf->MultiCell(80, 5, $lib_condition_paiement,0,'L'); $posy=$pdf->GetY()+3; } /* - * Mode de règlement + * Check si absence mode de règlement */ if (! $conf->global->FACTURE_CHQ_NUMBER && ! $conf->global->FACTURE_RIB_NUMBER) { @@ -450,92 +450,100 @@ class pdf_propale_azur extends ModelePDFPropales /* * Propose mode règlement par CHQ */ - if ($conf->global->FACTURE_CHQ_NUMBER) + if (! $object->mode_reglement_code || $object->mode_reglement_code == 'CHQ') { - if ($conf->global->FACTURE_CHQ_NUMBER > 0) - { - $account = new Account($this->db); - $account->fetch($conf->global->FACTURE_CHQ_NUMBER); - - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedTo',$account->proprio).':',0,'L',0); - $posy=$pdf->GetY()+1; - - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','',8); - $pdf->MultiCell(80, 3, $account->adresse_proprio, 0, 'L', 0); - - $posy=$pdf->GetY()+2; - } - if ($conf->global->FACTURE_CHQ_NUMBER == -1) - { - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedToShort').' '.$this->emetteur->nom.' '.$outputlangs->trans('SendTo').':',0,'L',0); - $posy=$pdf->GetY()+1; - - $pdf->SetXY($this->marge_gauche, $posy); - $pdf->SetFont('Arial','',8); - $pdf->MultiCell(80, 6, $this->emetteur->adresse_full, 0, 'L', 0); - - $posy=$pdf->GetY()+2; - } - } - + // Si mode reglement non force ou si force a CHQ + if ($conf->global->FACTURE_CHQ_NUMBER) + { + if ($conf->global->FACTURE_CHQ_NUMBER > 0) + { + $account = new Account($this->db); + $account->fetch($conf->global->FACTURE_CHQ_NUMBER); + + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','B',8); + $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedTo',$account->proprio).':',0,'L',0); + $posy=$pdf->GetY()+1; + + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','',8); + $pdf->MultiCell(80, 3, $account->adresse_proprio, 0, 'L', 0); + + $posy=$pdf->GetY()+2; + } + if ($conf->global->FACTURE_CHQ_NUMBER == -1) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','B',8); + $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByChequeOrderedToShort').' '.$this->emetteur->nom.' '.$outputlangs->trans('SendTo').':',0,'L',0); + $posy=$pdf->GetY()+1; + + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('Arial','',8); + $pdf->MultiCell(80, 6, $this->emetteur->adresse_full, 0, 'L', 0); + + $posy=$pdf->GetY()+2; + } + } + } + /* * Propose mode règlement par RIB */ - if ($conf->global->FACTURE_RIB_NUMBER) + if (! $object->mode_reglement_code || $object->mode_reglement_code == 'VIR') { - if ($conf->global->FACTURE_RIB_NUMBER) - { - $account = new Account($this->db); - $account->fetch($conf->global->FACTURE_RIB_NUMBER); - - $this->marges['g']=$this->marge_gauche; - - $cury=$posy; - $pdf->SetXY ($this->marges['g'], $cury); - $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByTransferOnThisBankAccount').':', 0, 'L', 0); - $cury+=4; - $pdf->SetFont('Arial','B',6); - $pdf->line($this->marges['g']+1, $cury, $this->marges['g']+1, $cury+10 ); - $pdf->SetXY ($this->marges['g'], $cury); - $pdf->MultiCell(18, 3, $outputlangs->trans("BankCode"), 0, 'C', 0); - $pdf->line($this->marges['g']+18, $cury, $this->marges['g']+18, $cury+10 ); - $pdf->SetXY ($this->marges['g']+18, $cury); - $pdf->MultiCell(18, 3, $outputlangs->trans("DeskCode"), 0, 'C', 0); - $pdf->line($this->marges['g']+36, $cury, $this->marges['g']+36, $cury+10 ); - $pdf->SetXY ($this->marges['g']+36, $cury); - $pdf->MultiCell(24, 3, $outputlangs->trans("BankAccountNumber"), 0, 'C', 0); - $pdf->line($this->marges['g']+60, $cury, $this->marges['g']+60, $cury+10 ); - $pdf->SetXY ($this->marges['g']+60, $cury); - $pdf->MultiCell(13, 3, $outputlangs->trans("BankAccountNumberKey"), 0, 'C', 0); - $pdf->line($this->marges['g']+73, $cury, $this->marges['g']+73, $cury+10 ); - - $pdf->SetFont('Arial','',8); - $pdf->SetXY ($this->marges['g'], $cury+5); - $pdf->MultiCell(18, 3, $account->code_banque, 0, 'C', 0); - $pdf->SetXY ($this->marges['g']+18, $cury+5); - $pdf->MultiCell(18, 3, $account->code_guichet, 0, 'C', 0); - $pdf->SetXY ($this->marges['g']+36, $cury+5); - $pdf->MultiCell(24, 3, $account->number, 0, 'C', 0); - $pdf->SetXY ($this->marges['g']+60, $cury+5); - $pdf->MultiCell(13, 3, $account->cle_rib, 0, 'C', 0); - - $pdf->SetXY ($this->marges['g'], $cury+12); - $pdf->MultiCell(90, 3, $outputlangs->trans("Residence").' : ' . $account->domiciliation, 0, 'L', 0); - $pdf->SetXY ($this->marges['g'], $cury+22); - $pdf->MultiCell(90, 3, $outputlangs->trans("IbanPrefix").' : ' . $account->iban_prefix, 0, 'L', 0); - $pdf->SetXY ($this->marges['g'], $cury+25); - $pdf->MultiCell(90, 3, $outputlangs->trans("BIC").' : ' . $account->bic, 0, 'L', 0); - - $posy=$pdf->GetY()+2; - } - } - + // Si mode reglement non force ou si force a VIR + if ($conf->global->FACTURE_RIB_NUMBER) + { + if ($conf->global->FACTURE_RIB_NUMBER) + { + $account = new Account($this->db); + $account->fetch($conf->global->FACTURE_RIB_NUMBER); + + $this->marges['g']=$this->marge_gauche; + + $cury=$posy; + $pdf->SetXY ($this->marges['g'], $cury); + $pdf->SetFont('Arial','B',8); + $pdf->MultiCell(90, 3, $outputlangs->trans('PaymentByTransferOnThisBankAccount').':', 0, 'L', 0); + $cury+=4; + $pdf->SetFont('Arial','B',6); + $pdf->line($this->marges['g']+1, $cury, $this->marges['g']+1, $cury+10 ); + $pdf->SetXY ($this->marges['g'], $cury); + $pdf->MultiCell(18, 3, $outputlangs->trans("BankCode"), 0, 'C', 0); + $pdf->line($this->marges['g']+18, $cury, $this->marges['g']+18, $cury+10 ); + $pdf->SetXY ($this->marges['g']+18, $cury); + $pdf->MultiCell(18, 3, $outputlangs->trans("DeskCode"), 0, 'C', 0); + $pdf->line($this->marges['g']+36, $cury, $this->marges['g']+36, $cury+10 ); + $pdf->SetXY ($this->marges['g']+36, $cury); + $pdf->MultiCell(24, 3, $outputlangs->trans("BankAccountNumber"), 0, 'C', 0); + $pdf->line($this->marges['g']+60, $cury, $this->marges['g']+60, $cury+10 ); + $pdf->SetXY ($this->marges['g']+60, $cury); + $pdf->MultiCell(13, 3, $outputlangs->trans("BankAccountNumberKey"), 0, 'C', 0); + $pdf->line($this->marges['g']+73, $cury, $this->marges['g']+73, $cury+10 ); + + $pdf->SetFont('Arial','',8); + $pdf->SetXY ($this->marges['g'], $cury+5); + $pdf->MultiCell(18, 3, $account->code_banque, 0, 'C', 0); + $pdf->SetXY ($this->marges['g']+18, $cury+5); + $pdf->MultiCell(18, 3, $account->code_guichet, 0, 'C', 0); + $pdf->SetXY ($this->marges['g']+36, $cury+5); + $pdf->MultiCell(24, 3, $account->number, 0, 'C', 0); + $pdf->SetXY ($this->marges['g']+60, $cury+5); + $pdf->MultiCell(13, 3, $account->cle_rib, 0, 'C', 0); + + $pdf->SetXY ($this->marges['g'], $cury+12); + $pdf->MultiCell(90, 3, $outputlangs->trans("Residence").' : ' . $account->domiciliation, 0, 'L', 0); + $pdf->SetXY ($this->marges['g'], $cury+22); + $pdf->MultiCell(90, 3, $outputlangs->trans("IbanPrefix").' : ' . $account->iban_prefix, 0, 'L', 0); + $pdf->SetXY ($this->marges['g'], $cury+25); + $pdf->MultiCell(90, 3, $outputlangs->trans("BIC").' : ' . $account->bic, 0, 'L', 0); + + $posy=$pdf->GetY()+2; + } + } + } + return $posy; } @@ -549,7 +557,7 @@ class pdf_propale_azur extends ModelePDFPropales * \param outputlangs Objet langs * \return y Position pour suite */ - function _tableau_tot(&$pdf, $propale, $deja_regle, $posy, $outputlangs) + function _tableau_tot(&$pdf, $object, $deja_regle, $posy, $outputlangs) { $tab2_top = $posy; $tab2_hl = 5; @@ -565,22 +573,22 @@ class pdf_propale_azur extends ModelePDFPropales $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("TotalHT"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + 0); - $pdf->MultiCell($largcol2, $tab2_hl, price($propale->total_ht + $propale->remise), 0, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht + $object->remise), 0, 'R', 1); // Remise globale - if ($propale->remise > 0) + if ($object->remise > 0) { $pdf->SetXY ($col1x, $tab2_top + $tab2_hl); $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("GlobalDiscount"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl); - $pdf->MultiCell($largcol2, $tab2_hl, "-".$propale->remise_percent."%", 0, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, "-".$object->remise_percent."%", 0, 'R', 1); $pdf->SetXY ($col1x, $tab2_top + $tab2_hl * 2); $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("WithDiscountTotalHT"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * 2); - $pdf->MultiCell($largcol2, $tab2_hl, price($propale->total_ht), 0, 'R', 0); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht), 0, 'R', 0); $index = 2; } @@ -613,7 +621,7 @@ class pdf_propale_azur extends ModelePDFPropales $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("TotalVAT"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($largcol2, $tab2_hl, price($propale->total_tva), 0, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_tva), 0, 'R', 1); } $useborder=0; @@ -625,7 +633,7 @@ class pdf_propale_azur extends ModelePDFPropales $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("TotalTTC"), $useborder, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($largcol2, $tab2_hl, price($propale->total_ttc), $useborder, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc), $useborder, 'R', 1); $pdf->SetTextColor(0,0,0); if ($deja_regle > 0) @@ -638,10 +646,10 @@ class pdf_propale_azur extends ModelePDFPropales $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); $pdf->MultiCell($largcol2, $tab2_hl, price($deja_regle), 0, 'R', 0); - $resteapayer = $propal->total_ttc - $deja_regle; - if ($propal->paye) $resteapayer=0; + $resteapayer = $object->total_ttc - $deja_regle; + if ($object->paye) $resteapayer=0; - if ($propal->close_code == 'escompte') + if ($object->close_code == 'escompte') { $index++; $pdf->SetFillColor(256,256,256); @@ -650,7 +658,7 @@ class pdf_propale_azur extends ModelePDFPropales $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("EscompteOffered"), $useborder, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($largcol2, $tab2_hl, price($propal->total_ttc - $deja_regle), $useborder, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc - $deja_regle), $useborder, 'R', 1); } $index++; @@ -660,7 +668,7 @@ class pdf_propale_azur extends ModelePDFPropales $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->trans("RemainderToPay"), $useborder, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($largcol2, $tab2_hl, price($propale->total_ttc - $deja_regle), $useborder, 'R', 1); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc - $deja_regle), $useborder, 'R', 1); // Fin $pdf->SetFont('Arial','', 9); @@ -731,7 +739,7 @@ class pdf_propale_azur extends ModelePDFPropales * \param fac objet propale * \param showadress 0=non, 1=oui */ - function _pagehead(&$pdf, $propale, $showadress=1, $outputlangs) + function _pagehead(&$pdf, $object, $showadress=1, $outputlangs) { global $conf; @@ -778,19 +786,19 @@ class pdf_propale_azur extends ModelePDFPropales $posy+=6; $pdf->SetXY(100,$posy); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 4, $outputlangs->trans("Ref")." : " . $propale->ref, '', 'R'); + $pdf->MultiCell(100, 4, $outputlangs->trans("Ref")." : " . $object->ref, '', 'R'); $pdf->SetFont('Arial','',10); $posy+=6; $pdf->SetXY(100,$posy); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 3, $outputlangs->trans("Date")." : " . dolibarr_print_date($propale->date,"%d %b %Y"), '', 'R'); + $pdf->MultiCell(100, 3, $outputlangs->trans("Date")." : " . dolibarr_print_date($object->date,"%d %b %Y"), '', 'R'); $posy+=5; $pdf->SetXY(100,$posy); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 3, $outputlangs->trans("DateEndPropal")." : " . dolibarr_print_date($propale->fin_validite,"%d %b %Y"), '', 'R'); + $pdf->MultiCell(100, 3, $outputlangs->trans("DateEndPropal")." : " . dolibarr_print_date($object->fin_validite,"%d %b %Y"), '', 'R'); if ($showadress) { @@ -847,7 +855,7 @@ class pdf_propale_azur extends ModelePDFPropales $pdf->SetFont('Arial','',8); $pdf->SetXY(102,$posy-5); $pdf->MultiCell(80,5, $outputlangs->trans("BillTo").":"); - $propale->fetch_client(); + $object->fetch_client(); // Cadre client destinataire $pdf->rect(100, $posy, 100, $hautcadre); @@ -855,12 +863,12 @@ class pdf_propale_azur extends ModelePDFPropales // Nom client $pdf->SetXY(102,$posy+3); $pdf->SetFont('Arial','B',11); - $pdf->MultiCell(106,4, $propale->client->nom, 0, 'L'); + $pdf->MultiCell(106,4, $object->client->nom, 0, 'L'); // Caractéristiques client - $carac_client=$propale->client->adresse; - $carac_client.="\n".$propale->client->cp . " " . $propale->client->ville."\n"; - if ($propale->client->tva_intra) $carac_client.="\n".$outputlangs->trans("VATIntraShort").': '.$propale->client->tva_intra; + $carac_client=$object->client->adresse; + $carac_client.="\n".$object->client->cp . " " . $object->client->ville."\n"; + if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->trans("VATIntraShort").': '.$object->client->tva_intra; $pdf->SetFont('Arial','',9); $pdf->SetXY(102,$posy+8); $pdf->MultiCell(86,4, $carac_client); diff --git a/htdocs/propal.class.php b/htdocs/propal.class.php index 2ea5fb431e7..63bc5385aff 100644 --- a/htdocs/propal.class.php +++ b/htdocs/propal.class.php @@ -768,19 +768,22 @@ class Propal extends CommonObject */ function fetch($rowid) { - $sql = "SELECT rowid,ref,total,price,remise,remise_percent,remise_absolue,tva,fk_soc"; + $sql = "SELECT p.rowid,ref,total,price,remise,remise_percent,remise_absolue,tva,fk_soc"; $sql.= ", ".$this->db->pdate("datep")." as dp"; $sql.= ", ".$this->db->pdate("fin_validite")." as dfv"; $sql.= ", ".$this->db->pdate("date_livraison")." as date_livraison"; $sql.= ", model_pdf, ref_client"; $sql.= ", note, note_public"; $sql.= ", fk_projet, fk_statut, fk_user_author"; - $sql.= ", fk_cond_reglement, fk_mode_reglement, fk_adresse_livraison"; + $sql.= ", fk_adresse_livraison"; + $sql.= ", p.fk_cond_reglement, cr.code as cond_reglement_code"; + $sql.= ", p.fk_mode_reglement, cp.code as mode_reglement_code"; $sql.= ", c.label as statut_label"; - $sql.= " FROM ".MAIN_DB_PREFIX."propal,"; - $sql.= " ".MAIN_DB_PREFIX."c_propalst as c"; - $sql.= " WHERE fk_statut = c.id"; - $sql.= " AND rowid='".$rowid."'"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_propalst as c, ".MAIN_DB_PREFIX."propal as p"; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as cp ON p.fk_mode_reglement = cp.id'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'cond_reglement as cr ON p.fk_cond_reglement = cr.rowid'; + $sql.= " WHERE p.fk_statut = c.id"; + $sql.= " AND p.rowid='".$rowid."'"; dolibarr_syslog("Propal.class::fecth rowid=".$rowid); @@ -806,15 +809,17 @@ class Propal extends CommonObject $this->total_ht = $obj->price; $this->total_tva = $obj->tva; $this->total_ttc = $obj->total; - $this->socid = $obj->fk_soc; + $this->socid = $obj->fk_soc; $this->projetidp = $obj->fk_projet; $this->modelpdf = $obj->model_pdf; $this->note = $obj->note; $this->note_public = $obj->note_public; $this->statut = $obj->fk_statut; $this->statut_libelle = $obj->statut_label; - $this->cond_reglement_id = $obj->fk_cond_reglement; - $this->mode_reglement_id = $obj->fk_mode_reglement; + $this->mode_reglement_id = $obj->fk_mode_reglement; + $this->mode_reglement_code = $obj->mode_reglement_code; + $this->cond_reglement_id = $obj->fk_cond_reglement; + $this->cond_reglement_code = $obj->cond_reglement_code; $this->date_livraison = $obj->date_livraison; $this->adresse_livraison_id = $obj->fk_adresse_livraison; @@ -911,7 +916,8 @@ class Propal extends CommonObject } else { - dolibarr_syslog("Propal.class::Fetch Erreur lecture de la propale $rowid"); + $this->error=$this->db->error(); + dolibarr_syslog("Propal.class::Fetch Error sql=$sql ".$this->error); return -1; } }