FIX #3173 Overlapping of shipment ref

This commit is contained in:
Laurent Destailleur 2015-07-12 16:22:06 +02:00
parent 1fb40565f4
commit 8690b5e70e
5 changed files with 43 additions and 31 deletions

View File

@ -643,12 +643,12 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default
$pdf->SetXY($curx, $cury); $pdf->SetXY($curx, $cury);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("BankAccountNumber").': ' . $outputlangs->convToOutputCharset($account->number), 0, 'L', 0); $pdf->MultiCell(100, 3, $outputlangs->transnoentities("BankAccountNumber").': ' . $outputlangs->convToOutputCharset($account->number), 0, 'L', 0);
$cury+=3; $cury+=3;
if ($diffsizecontent <= 2) $cury+=1; if ($diffsizecontent <= 2) $cury+=1;
} }
$pdf->SetFont('','',$default_font_size - $diffsizecontent); $pdf->SetFont('','',$default_font_size - $diffsizecontent);
if (empty($onlynumber) && ! empty($account->domiciliation)) if (empty($onlynumber) && ! empty($account->domiciliation))
{ {
$pdf->SetXY($curx, $cury); $pdf->SetXY($curx, $cury);
@ -659,7 +659,7 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default
$tmpy=$pdf->getStringHeight(100, $val); $tmpy=$pdf->getStringHeight(100, $val);
$cury+=$tmpy; $cury+=$tmpy;
} }
if (! empty($account->proprio)) if (! empty($account->proprio))
{ {
$pdf->SetXY($curx, $cury); $pdf->SetXY($curx, $cury);
@ -668,9 +668,9 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default
$tmpy=$pdf->getStringHeight(100, $val); $tmpy=$pdf->getStringHeight(100, $val);
$cury+=$tmpy; $cury+=$tmpy;
} }
else if (! $usedetailedbban) $cury+=1; else if (! $usedetailedbban) $cury+=1;
// Use correct name of bank id according to country // Use correct name of bank id according to country
$ibankey="IBANNumber"; $ibankey="IBANNumber";
if ($account->getCountryCode() == 'IN') $ibankey="IFSC"; if ($account->getCountryCode() == 'IN') $ibankey="IFSC";
@ -1735,12 +1735,22 @@ function pdf_getLinkedObjects($object,$outputlangs)
$objects[$i]->fetchObjectLinked(); $objects[$i]->fetchObjectLinked();
$order = $objects[$i]->linkedObjects['commande'][0]; $order = $objects[$i]->linkedObjects['commande'][0];
$linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefOrder") . ' / ' . $outputlangs->transnoentities("RefSending"); if (! empty($object->linkedObjects['commande'])) // There is already a link to order so we show only info of shipment
$linkedobjects[$objecttype]['ref_value'] = $outputlangs->transnoentities($order->ref) . ($order->ref_client ? ' ('.$order->ref_client.')' : ''); {
$linkedobjects[$objecttype]['ref_value'].= ' / ' . $outputlangs->transnoentities($objects[$i]->ref); $linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefSending");
$linkedobjects[$objecttype]['date_title'] = $outputlangs->transnoentities("OrderDate") . ' / ' . $outputlangs->transnoentities("DateSending"); $linkedobjects[$objecttype]['ref_value'].= $outputlangs->transnoentities($objects[$i]->ref);
$linkedobjects[$objecttype]['date_value'] = dol_print_date($order->date,'day','',$outputlangs); $linkedobjects[$objecttype]['date_title'] = $outputlangs->transnoentities("DateSending");
$linkedobjects[$objecttype]['date_value'].= ' / ' . dol_print_date($objects[$i]->date_delivery,'day','',$outputlangs); $linkedobjects[$objecttype]['date_value'].= dol_print_date($objects[$i]->date_delivery,'day','',$outputlangs);
}
else // We show both info of order and shipment
{
$linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefOrder") . ' / ' . $outputlangs->transnoentities("RefSending");
$linkedobjects[$objecttype]['ref_value'] = $outputlangs->transnoentities($order->ref) . ($order->ref_client ? ' ('.$order->ref_client.')' : '');
$linkedobjects[$objecttype]['ref_value'].= ' / ' . $outputlangs->transnoentities($objects[$i]->ref);
$linkedobjects[$objecttype]['date_title'] = $outputlangs->transnoentities("OrderDate") . ' / ' . $outputlangs->transnoentities("DateSending");
$linkedobjects[$objecttype]['date_value'] = dol_print_date($order->date,'day','',$outputlangs);
$linkedobjects[$objecttype]['date_value'].= ' / ' . dol_print_date($objects[$i]->date_delivery,'day','',$outputlangs);
}
} }
} }
} }

View File

@ -1423,8 +1423,10 @@ class pdf_crabe extends ModelePDFFactures
$pdf->SetTextColor(0,0,60); $pdf->SetTextColor(0,0,60);
$pdf->SetFont('','B', $default_font_size + 3); $pdf->SetFont('','B', $default_font_size + 3);
$w = 110;
$posy=$this->marge_haute; $posy=$this->marge_haute;
$posx=$this->page_largeur-$this->marge_droite-100; $posx=$this->page_largeur-$this->marge_droite-$w;
$pdf->SetXY($this->marge_gauche,$posy); $pdf->SetXY($this->marge_gauche,$posy);
@ -1441,14 +1443,14 @@ class pdf_crabe extends ModelePDFFactures
{ {
$pdf->SetTextColor(200,0,0); $pdf->SetTextColor(200,0,0);
$pdf->SetFont('','B',$default_font_size - 2); $pdf->SetFont('','B',$default_font_size - 2);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L'); $pdf->MultiCell($w, 3, $outputlangs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L');
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorGoToGlobalSetup"), 0, 'L'); $pdf->MultiCell($w, 3, $outputlangs->transnoentities("ErrorGoToGlobalSetup"), 0, 'L');
} }
} }
else else
{ {
$text=$this->emetteur->name; $text=$this->emetteur->name;
$pdf->MultiCell(100, 4, $outputlangs->convToOutputCharset($text), 0, 'L'); $pdf->MultiCell($w, 4, $outputlangs->convToOutputCharset($text), 0, 'L');
} }
$pdf->SetFont('','B', $default_font_size + 3); $pdf->SetFont('','B', $default_font_size + 3);
@ -1459,14 +1461,14 @@ class pdf_crabe extends ModelePDFFactures
if ($object->type == 2) $title=$outputlangs->transnoentities("InvoiceAvoir"); if ($object->type == 2) $title=$outputlangs->transnoentities("InvoiceAvoir");
if ($object->type == 3) $title=$outputlangs->transnoentities("InvoiceDeposit"); if ($object->type == 3) $title=$outputlangs->transnoentities("InvoiceDeposit");
if ($object->type == 4) $title=$outputlangs->transnoentities("InvoiceProFormat"); if ($object->type == 4) $title=$outputlangs->transnoentities("InvoiceProFormat");
$pdf->MultiCell(100, 3, $title, '', 'R'); $pdf->MultiCell($w, 3, $title, '', 'R');
$pdf->SetFont('','B',$default_font_size); $pdf->SetFont('','B',$default_font_size);
$posy+=5; $posy+=5;
$pdf->SetXY($posx,$posy); $pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60); $pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 4, $outputlangs->transnoentities("Ref")." : " . $outputlangs->convToOutputCharset($object->ref), '', 'R'); $pdf->MultiCell($w, 4, $outputlangs->transnoentities("Ref")." : " . $outputlangs->convToOutputCharset($object->ref), '', 'R');
$posy+=1; $posy+=1;
$pdf->SetFont('','', $default_font_size - 2); $pdf->SetFont('','', $default_font_size - 2);
@ -1476,7 +1478,7 @@ class pdf_crabe extends ModelePDFFactures
$posy+=4; $posy+=4;
$pdf->SetXY($posx,$posy); $pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60); $pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("RefCustomer")." : " . $outputlangs->convToOutputCharset($object->ref_client), '', 'R'); $pdf->MultiCell($w, 3, $outputlangs->transnoentities("RefCustomer")." : " . $outputlangs->convToOutputCharset($object->ref_client), '', 'R');
} }
$objectidnext=$object->getIdReplacingInvoice('validated'); $objectidnext=$object->getIdReplacingInvoice('validated');
@ -1488,7 +1490,7 @@ class pdf_crabe extends ModelePDFFactures
$posy+=3; $posy+=3;
$pdf->SetXY($posx,$posy); $pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60); $pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ReplacementByInvoice").' : '.$outputlangs->convToOutputCharset($objectreplacing->ref), '', 'R'); $pdf->MultiCell($w, 3, $outputlangs->transnoentities("ReplacementByInvoice").' : '.$outputlangs->convToOutputCharset($objectreplacing->ref), '', 'R');
} }
if ($object->type == 1) if ($object->type == 1)
{ {
@ -1498,7 +1500,7 @@ class pdf_crabe extends ModelePDFFactures
$posy+=4; $posy+=4;
$pdf->SetXY($posx,$posy); $pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60); $pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ReplacementInvoice").' : '.$outputlangs->convToOutputCharset($objectreplaced->ref), '', 'R'); $pdf->MultiCell($w, 3, $outputlangs->transnoentities("ReplacementInvoice").' : '.$outputlangs->convToOutputCharset($objectreplaced->ref), '', 'R');
} }
if ($object->type == 2) if ($object->type == 2)
{ {
@ -1508,20 +1510,20 @@ class pdf_crabe extends ModelePDFFactures
$posy+=3; $posy+=3;
$pdf->SetXY($posx,$posy); $pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60); $pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("CorrectionInvoice").' : '.$outputlangs->convToOutputCharset($objectreplaced->ref), '', 'R'); $pdf->MultiCell($w, 3, $outputlangs->transnoentities("CorrectionInvoice").' : '.$outputlangs->convToOutputCharset($objectreplaced->ref), '', 'R');
} }
$posy+=4; $posy+=4;
$pdf->SetXY($posx,$posy); $pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60); $pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("DateInvoice")." : " . dol_print_date($object->date,"day",false,$outputlangs), '', 'R'); $pdf->MultiCell($w, 3, $outputlangs->transnoentities("DateInvoice")." : " . dol_print_date($object->date,"day",false,$outputlangs), '', 'R');
if ($object->type != 2) if ($object->type != 2)
{ {
$posy+=3; $posy+=3;
$pdf->SetXY($posx,$posy); $pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60); $pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("DateEcheance")." : " . dol_print_date($object->date_lim_reglement,"day",false,$outputlangs,true), '', 'R'); $pdf->MultiCell($w, 3, $outputlangs->transnoentities("DateEcheance")." : " . dol_print_date($object->date_lim_reglement,"day",false,$outputlangs,true), '', 'R');
} }
if ($object->thirdparty->code_client) if ($object->thirdparty->code_client)
@ -1529,13 +1531,13 @@ class pdf_crabe extends ModelePDFFactures
$posy+=3; $posy+=3;
$pdf->SetXY($posx,$posy); $pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60); $pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->thirdparty->code_client), '', 'R'); $pdf->MultiCell($w, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->thirdparty->code_client), '', 'R');
} }
$posy+=1; $posy+=1;
// Show list of linked objects // Show list of linked objects
$posy = pdf_writeLinkedObjects($pdf, $object, $outputlangs, $posx, $posy, 100, 3, 'R', $default_font_size); $posy = pdf_writeLinkedObjects($pdf, $object, $outputlangs, $posx, $posy, $w, 3, 'R', $default_font_size);
if ($showaddress) if ($showaddress)
{ {

View File

@ -1454,7 +1454,7 @@ FixedEmailTarget=Fixed email target
SendingsSetup=Sending module setup SendingsSetup=Sending module setup
SendingsReceiptModel=Sending receipt model SendingsReceiptModel=Sending receipt model
SendingsNumberingModules=Sendings numbering modules SendingsNumberingModules=Sendings numbering modules
SendingsAbility=Support shipment sheets for customer deliveries SendingsAbility=Support shipping sheets for customer deliveries
NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated.
FreeLegalTextOnShippings=Free text on shipments FreeLegalTextOnShippings=Free text on shipments
##### Deliveries ##### ##### Deliveries #####
@ -1658,7 +1658,7 @@ UnicodeCurrency=Enter here between braces, list of byte number that represent th
PositionIntoComboList=Position of line into combo lists PositionIntoComboList=Position of line into combo lists
SellTaxRate=Sale tax rate SellTaxRate=Sale tax rate
RecuperableOnly=Yes for VAT "Non Perçue Récupérable" dedicated for some state in France. Keep value to "No" in all other cases. RecuperableOnly=Yes for VAT "Non Perçue Récupérable" dedicated for some state in France. Keep value to "No" in all other cases.
UrlTrackingDesc=If the provider or transport service offer a page or web site to check status of your shipment, you can enter it here. You can use the key {TRACKID} into URL parameters so the system will replace it with value of tracking number user entered into shipment card. UrlTrackingDesc=If the provider or transport service offer a page or web site to check status of your shipping, you can enter it here. You can use the key {TRACKID} into URL parameters so the system will replace it with value of tracking number user entered into shipment card.
OpportunityPercent=When you create an opportunity, you will defined an estimated amount of project/lead. According to status of opportunity, this amount may be multiplicated by this rate to evaluate global amount all your opportunities may generate. Value is percent (between 0 and 100). OpportunityPercent=When you create an opportunity, you will defined an estimated amount of project/lead. According to status of opportunity, this amount may be multiplicated by this rate to evaluate global amount all your opportunities may generate. Value is percent (between 0 and 100).
TemplateForElement=This template record is dedicated to which element TemplateForElement=This template record is dedicated to which element
TypeOfTemplate=Type of template TypeOfTemplate=Type of template

View File

@ -5,7 +5,7 @@ Sendings=Shipments
AllSendings=All Shipments AllSendings=All Shipments
Shipment=Shipment Shipment=Shipment
Shipments=Shipments Shipments=Shipments
ShowSending=Show Sending ShowSending=Show Shipments
Receivings=Receipts Receivings=Receipts
SendingsArea=Shipments area SendingsArea=Shipments area
ListOfSendings=List of shipments ListOfSendings=List of shipments
@ -26,8 +26,8 @@ QtyToShip=Qty to ship
QtyReceived=Qty received QtyReceived=Qty received
KeepToShip=Remain to ship KeepToShip=Remain to ship
OtherSendingsForSameOrder=Other shipments for this order OtherSendingsForSameOrder=Other shipments for this order
DateSending=Date sending order DateSending=Shipping date
DateSendingShort=Date sending order DateSendingShort=Shipping date
SendingsForSameOrder=Shipments for this order SendingsForSameOrder=Shipments for this order
SendingsAndReceivingForSameOrder=Shipments and receivings for this order SendingsAndReceivingForSameOrder=Shipments and receivings for this order
SendingsToValidate=Shipments to validate SendingsToValidate=Shipments to validate

View File

@ -57,7 +57,7 @@ RuleForStockManagementDecrease=Rule for stock management decrease
RuleForStockManagementIncrease=Rule for stock management increase RuleForStockManagementIncrease=Rule for stock management increase
DeStockOnBill=Decrease real stocks on customers invoices/credit notes validation DeStockOnBill=Decrease real stocks on customers invoices/credit notes validation
DeStockOnValidateOrder=Decrease real stocks on customers orders validation DeStockOnValidateOrder=Decrease real stocks on customers orders validation
DeStockOnShipment=Decrease real stocks on shipment validation DeStockOnShipment=Decrease real stocks on shipping validation
ReStockOnBill=Increase real stocks on suppliers invoices/credit notes validation ReStockOnBill=Increase real stocks on suppliers invoices/credit notes validation
ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation
ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving