249 lines
15 KiB
PHP
249 lines
15 KiB
PHP
|
|
<?
|
||
|
|
global $app_list_strings;
|
||
|
|
//to address
|
||
|
|
$old_x=$pdf->GetX();
|
||
|
|
$old_y=$pdf->GetY();
|
||
|
|
|
||
|
|
$pdf->SetXY(140,$pdf->tMargin+1);
|
||
|
|
|
||
|
|
$address = $this->parent_name;
|
||
|
|
if($this->parent_contact_name) {
|
||
|
|
$address .= "\n".$this->parent_contact_name;
|
||
|
|
if($this->parent_contact_title) {
|
||
|
|
$address .= "\n".$this->parent_contact_title;
|
||
|
|
}
|
||
|
|
$personplus=5;
|
||
|
|
}
|
||
|
|
else $personplus=0;
|
||
|
|
|
||
|
|
if($this->parent_address_street) $address .= "\n".$this->parent_address_street;
|
||
|
|
if($this->parent_address_postalcode) $address .= "\n".$this->parent_address_postalcode;
|
||
|
|
if($this->parent_address_city) $address .= " ".$this->parent_address_city;
|
||
|
|
if($this->to_vatid) $address .= "\n".$mod_strings['LBL_PDF_VATID']." ".$this->to_vatid;
|
||
|
|
if($this->to_nip) $address .= "\n".$mod_strings['LBL_PDF_NIP'].": ".$this->to_nip;
|
||
|
|
|
||
|
|
|
||
|
|
if($this->ecmpaymentcondition_id){
|
||
|
|
require_once("modules/EcmPaymentConditions/EcmPaymentCondition.php");
|
||
|
|
$pc=new EcmPaymentCondition();
|
||
|
|
$pc->retrieve($this->ecmpaymentcondition_id);
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
$pdf->SetFont('arialpl', '', 8);
|
||
|
|
$pdf->MultiCell(0,4,$address,0,'R');
|
||
|
|
|
||
|
|
$pdf->SetXY(160,$old_y+10+$personplus);
|
||
|
|
|
||
|
|
$pdf->SetFont('arialpl', 'B', 7);
|
||
|
|
$pdf->Cell(35,1,$mod_strings['LBL_PDF_ORIGINAL_COPY'],0,0,'R',1);
|
||
|
|
$pdf->Ln(6);
|
||
|
|
$pdf->SetFont('arialpl', '', 7);
|
||
|
|
|
||
|
|
$table = array();
|
||
|
|
|
||
|
|
|
||
|
|
$table [0]['date_reg'] = array('width' => 25, 'value' => $mod_strings['LBL_PDF_DATE_REGISTER'], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 8);
|
||
|
|
$table [0]['date_reg_value'] = array('width' => 36, 'value' => $this->register_date, 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 8);
|
||
|
|
|
||
|
|
$table [0]['place_of_register'] = array('width' => 25, 'value' => $mod_strings['LBL_PDF_PLACE_OF_REGISTER'], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 8);
|
||
|
|
$table [0]['place_of_register_value'] = array('width' => 25, 'value' => $this->template->place_of_register, 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 8);
|
||
|
|
|
||
|
|
$table [1]['date_sell'] = array('width' => 25, 'value' => $mod_strings['LBL_PDF_SELL_DATE'], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 8);
|
||
|
|
$table [1]['date_sell_value'] = array('width' => 36, 'value' => $this->sell_date, 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 8);
|
||
|
|
|
||
|
|
|
||
|
|
if($this->type == "normal") {
|
||
|
|
if(file_exists("modules/EcmStockDocOuts/EcmStockDocOut.php")){
|
||
|
|
require_once("modules/EcmStockDocOuts/EcmStockDocOut.php");
|
||
|
|
$wz=new EcmStockDocOut();
|
||
|
|
$wz->retrieve($this->wz_id);
|
||
|
|
}
|
||
|
|
$table [1]['wz'] = array('width' => 25, 'value' => $mod_strings['LBL_PDF_TO_WZ'], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 8);
|
||
|
|
$table [1]['wz_value'] = array('width' => 25, 'value' => $wz->document_no, 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 8);
|
||
|
|
}
|
||
|
|
else{
|
||
|
|
$this->loadEcmInvoiceOut();
|
||
|
|
$this->ecminvoiceout->format_all_fields();
|
||
|
|
$table [1]['wz'] = array('width' => 25, 'value' => $mod_strings['LBL_PDF_DOCUMENT_NAME_CORRECT_TO'], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 8);
|
||
|
|
$table [1]['wz_value'] = array('width' => 25, 'value' => $this->ecminvoiceout->document_no, 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 8);
|
||
|
|
}
|
||
|
|
|
||
|
|
if($this->ecmpaymentcondition_id){
|
||
|
|
$table [2]['payment_termin'] = array('width' => 25, 'value' => $mod_strings['LBL_PDF_PAYMENT_TERMIN'], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 8);
|
||
|
|
$table [2]['payment_termin_value'] = array('width' => 36, 'value' => $pc->days." ".$mod_strings['LBL_PDF_DAYS'], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 8);
|
||
|
|
}
|
||
|
|
|
||
|
|
if($this->ecmpaymentcondition_id){
|
||
|
|
$table [2]['payment_method'] = array('width' => 25, 'value' => $mod_strings['LBL_PDF_PAYMENT_METHOD'], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 8);
|
||
|
|
$table [2]['payment_method_value'] = array('width' => 25, 'value' => $app_list_strings['ecmpaymentconditions_payment_method_dom'][$pc->payment_method], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 8);
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
$pdf->DrawTable($table, null, 0.5, 0.5, 3);
|
||
|
|
|
||
|
|
|
||
|
|
$pdf->Ln(9);
|
||
|
|
|
||
|
|
$pdf->SetFont('arialpl','','18');
|
||
|
|
|
||
|
|
if($this->type == "normal")
|
||
|
|
$pdf->MultiCell(0,3,$mod_strings['LBL_PDF_DOCUMENT_NAME']." ".$this->document_no,0,'C');
|
||
|
|
else if($this->type == "correct") {
|
||
|
|
$pdf->MultiCell(0,3,$mod_strings['LBL_PDF_DOCUMENT_NAME_CORRECT']." ".$this->document_no,0,'C');
|
||
|
|
/*$this->loadEcmInvoiceOut();
|
||
|
|
$this->ecminvoiceout->format_all_fields();
|
||
|
|
$pdf->Ln(5);
|
||
|
|
$pdf->SetFont('arialpl','','14');
|
||
|
|
$pdf->MultiCell(0,3,$mod_strings['LBL_PDF_DOCUMENT_NAME_CORRECT_TO'].' '.$this->ecminvoiceout->document_no,0,'C');*/
|
||
|
|
}
|
||
|
|
|
||
|
|
$this->loadParser();
|
||
|
|
$this->header_text = $this->template->mfp->parseText($this->header_text);
|
||
|
|
$this->footer_text = $this->template->mfp->parseText($this->footer_text);
|
||
|
|
$this->ads_text = $this->template->mfp->parseText($this->ads_text);
|
||
|
|
|
||
|
|
$pdf->Ln(6);
|
||
|
|
|
||
|
|
if($this->type == "correct") {
|
||
|
|
$pdf->SetFont('arialpl','b','10');
|
||
|
|
$pdf->MultiCell(0,4,$mod_strings['LBL_PDF_DOCUMENT_BEFORE_CORRECT']);
|
||
|
|
$pdf->Ln(3);
|
||
|
|
$this->ecminvoiceout->DrawPositions($pdf);
|
||
|
|
$pdf->SetFont('arialpl','b','10');
|
||
|
|
$pdf->Ln(4);
|
||
|
|
$pdf->MultiCell(0,4,$mod_strings['LBL_PDF_DOCUMENT_AFTER_CORRECT']);
|
||
|
|
$pdf->Ln(3);
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
$pdf->SetFont('arialpl','','7');
|
||
|
|
global $mod_strings;
|
||
|
|
|
||
|
|
|
||
|
|
$currency = new Currency();
|
||
|
|
$currency->retrieve($this->currency_id);
|
||
|
|
$this->currency_symbol=$currency->iso4217;
|
||
|
|
|
||
|
|
if(!isset($this->position_list) || !is_array($this->position_list))
|
||
|
|
$this->position_list = $this->getPositionList(true);
|
||
|
|
$calc = $this->calculate($this->position_list,true);
|
||
|
|
//$this->position_list = $this->formatPositions($this->position_list);
|
||
|
|
|
||
|
|
$calc['total'] .= ' '.$this->currency_symbol;
|
||
|
|
$calc['subtotal'] .= ' '.$this->currency_symbol;
|
||
|
|
if($calc['discount']) {
|
||
|
|
$calc['total2'] .= ' '.$this->currency_symbol;
|
||
|
|
$calc['discount']['value'] .= ' '.$this->currency_symbol;
|
||
|
|
}
|
||
|
|
|
||
|
|
if(isset($calc['vats']) && is_array($calc['vats']) && count($calc['vats']) > 0)
|
||
|
|
foreach($calc['vats'] as $key => $value) $calc['vats'][$key] .= ' '.$this->currency_symbol;
|
||
|
|
|
||
|
|
$pdf->MultiCell(0,4,$mod_strings['LBL_PDF_ORDER_NO'].": ".$this->order_no." ".$mod_strings['LBL_PDF_DELIVERY_PLACE'].": ".$this->delivery_place." ".$mod_strings['LBL_PDF_SUPPLIER_CODE'].": ".$this->supplier_code,0,'J');
|
||
|
|
$pdf->Ln(4);
|
||
|
|
|
||
|
|
|
||
|
|
$name_w = 17;
|
||
|
|
//if($calc['draw_discount']) $name_w -= 8;
|
||
|
|
//if($calc['draw_vat']) $name_w -= 8;
|
||
|
|
$table = array();
|
||
|
|
$table [0]['position'] = array('width' => 4, 'value' => $mod_strings['LBL_PDF_LIST_POSITION'], 'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 8);
|
||
|
|
$table [0]['description'] = array('width' => $name_w, 'value' => $mod_strings['LBL_PDF_LIST_DESCRIPTION'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
|
||
|
|
$table [0]['tax_code'] = array('width' => 7, 'value' => $mod_strings['LBL_PDF_LIST_TAX_CODE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
|
||
|
|
$table [0]['recipient_code'] = array('width' => 6, 'value' => $mod_strings['LBL_PDF_LIST_RECIPIENT_CODE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
|
||
|
|
$table [0]['quantity'] = array('width' => 7, 'value' => $mod_strings['LBL_PDF_LIST_QUANTITY'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
|
||
|
|
$table [0]['unit'] = array('width' => 5, 'value' => $mod_strings['LBL_PDF_LIST_UNIT'], 'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 8);
|
||
|
|
$table [0]['unit_price'] = array('width' => 10, 'value' => $mod_strings['LBL_PDF_LIST_PRICE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
|
||
|
|
$table [0]['unit_price_total'] = array('width' => 12, 'value' => $mod_strings['LBL_PDF_LIST_TOTAL_PRICE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
|
||
|
|
//if($calc['draw_discount'])
|
||
|
|
//$table [0]['discount'] = array('width' => 5, 'value' => $mod_strings['LBL_PDF_LIST_DISCOUNT'], 'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
|
||
|
|
//if($calc['draw_vat']) {
|
||
|
|
$table [0]['vat_id'] = array('width' => 5, 'value' => $mod_strings['LBL_PDF_LIST_VAT'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
|
||
|
|
$table [0]['vat_value'] = array('width' => 13, 'value' => $mod_strings['LBL_PDF_LIST_VAT_VALUE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
|
||
|
|
//}
|
||
|
|
$table [0]['total'] = array('width' => 14, 'value' => $mod_strings['LBL_PDF_LIST_TOTAL'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
|
||
|
|
$pdf->DrawTable($table,array(0));
|
||
|
|
$pdf->Ln(0);
|
||
|
|
|
||
|
|
|
||
|
|
$i = 1;
|
||
|
|
|
||
|
|
$table=array();
|
||
|
|
|
||
|
|
$lv=return_app_list_strings_language($this->ecmlanguage);
|
||
|
|
|
||
|
|
if($this->position_list != '')
|
||
|
|
foreach($this->position_list as $p) {
|
||
|
|
$table [$i]['position'] = array('width' => 4, 'value' => $i, 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
||
|
|
$table [$i]['description'] = array('width' => $name_w."\n".$p['code'], 'value' => htmlspecialchars_decode($p['name']), 'border' => 1, 'align' => 'L', 'font-size' => 7 );
|
||
|
|
$table [$i]['tax_code'] = array('width' => 7, 'value' => $p['tax_code'],'border' => 1, 'align' => 'C', 'font-size' => 7);
|
||
|
|
$table [$i]['recipient_code'] = array('width' => 6, 'value' => $p['recipient_code'],'border' => 1, 'align' => 'C', 'font-size' => 7);
|
||
|
|
$table [$i]['quantity'] = array('width' => 7, 'value' => $p['quantity'], 'border' => 1, 'align' => 'C', 'font-size' => 7 );
|
||
|
|
$table [$i]['unit'] = array('width' => 5, 'value' => $lv['ecmproducts_unit_dom'][$p['unit_id']], 'border' => 1, 'align' => 'C', 'font-size' => 7 );
|
||
|
|
$table [$i]['unit_price'] = array('width' => 10, 'value' => format_number($p['price']).' '.$this->currency_symbol, 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
||
|
|
$price_total=($p['price']-($p['price']*$p['discount']/100))*$p['quantity'];
|
||
|
|
$table [$i]['unit_price_total'] = array('width' => 12, 'value' => format_number($price_total).' '.$this->currency_symbol, 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
||
|
|
//if($calc['draw_discount'])
|
||
|
|
//$table [$i]['discount'] = array('width' => 5, 'value' => $p['discount'], 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
||
|
|
//if($calc['draw_vat']){
|
||
|
|
$table [$i]['vat_id'] = array('width' => 5, 'value' => format_number($p['vat_value']), 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
||
|
|
$vat_value=$p['vat_value']/100*$p['price']*$p['quantity'];
|
||
|
|
$table [$i]['vat_value'] = array('width' => 13, 'value' => format_number($vat_value).' '.$this->currency_symbol, 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
||
|
|
|
||
|
|
//}
|
||
|
|
$table [$i]['total'] = array('width' => 14, 'value' => format_number($price_total+$vat_value).' '.$this->currency_symbol, 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
||
|
|
$totals[$p['vat_id']]['price']+=$price_total;
|
||
|
|
$totals[$p['vat_id']]['total']+=$price_total+$vat_value;
|
||
|
|
$totals[$p['vat_id']]['vat']+=$vat_value;
|
||
|
|
$i++;
|
||
|
|
}
|
||
|
|
|
||
|
|
$pdf->DrawTable($table,array(0));
|
||
|
|
//total, vat, subtotal
|
||
|
|
|
||
|
|
$pdf->Ln(4);
|
||
|
|
$pr = ($pdf->fw-$pdf->lMargin-$pdf->rMargin)/100;
|
||
|
|
//$pdf->SetX($pdf->fw-$pdf->rMargin-$pr*34);
|
||
|
|
$table = array();
|
||
|
|
|
||
|
|
if($calc['vats']) {
|
||
|
|
/*$table [] = array(
|
||
|
|
'subtotal1' => array('width' => 42, 'value' => $mod_strings['LBL_PDF_TOTAL'], 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-size' => 7),
|
||
|
|
'subtotal2' => array('width' => 14, 'value' => $calc['subtotal'].' '.$this->currency_symbol, 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7), );
|
||
|
|
*/
|
||
|
|
foreach($calc['vats'] as $key => $value){
|
||
|
|
$r=mysql_fetch_array(mysql_query("select id,name,value from ecmvats where id='".$key."'"));
|
||
|
|
$vvn=$r['name'];
|
||
|
|
$table [] = array(
|
||
|
|
'vat1' => array('width' => 10, 'value' => $mod_strings['LBL_PDF_VAT'].' ('.$vvn.')', 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-size' => 7, 'font-style' => 'b'),
|
||
|
|
'netto_total' => array('width' => 17, 'value' => format_number($totals[$r['id']]['price']).' '.$this->currency_symbol, 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7),
|
||
|
|
'vat_rate' => array('width' => 5, 'value' => format_number($r['value']), 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7),
|
||
|
|
'vat_total' => array('width' => 13, 'value' => format_number($totals[$r['id']]['vat']).' '.$this->currency_symbol, 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7),
|
||
|
|
'vat2' => array('width' => 14, 'value' => format_number($totals[$r['id']]['total']).' '.$this->currency_symbol, 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7), );
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if(isset($calc['discount'])) {
|
||
|
|
$table [] = array(
|
||
|
|
'total21' => array('width' => 45, 'value' => $mod_strings['LBL_PDF_TOTAL'], 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-size' => 7, 'font-style' => 'b'),
|
||
|
|
'total22' => array('width' => 14, 'value' => $calc['total2'], 'border' => 1, 'overflow' => 1, 'align' => 'R' , 'font-size' => 7), );
|
||
|
|
$table [] = array(
|
||
|
|
'discount1' => array('width' => 45, 'value' => $mod_strings['LBL_PDF_DISCOUNT'].' '.$calc['discount']['procent'], 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-size' => 7, 'font-style' => 'b'),
|
||
|
|
'discount2' => array('width' => 14, 'value' => $calc['discount']['value'], 'border' => 1, 'overflow' => 1, 'align' => 'R' , 'font-size' => 7), );
|
||
|
|
}
|
||
|
|
$table [] = array(
|
||
|
|
'total1' => array('width' => 45, 'value' => $mod_strings['LBL_PDF_END_TOTAL'], 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-size' => 7, 'font-style' => 'b'),
|
||
|
|
'total2' => array('width' => 14, 'value' => $calc['total'], 'border' => 1, 'overflow' => 1, 'align' => 'R' , 'font-size' => 7, 'font-style' => 'b'), );
|
||
|
|
$pdf->SetX(95);
|
||
|
|
$pdf->DrawTable($table);
|
||
|
|
$pdf->Ln(1);
|
||
|
|
|
||
|
|
//$table=array();
|
||
|
|
|
||
|
|
//$pdf->DrawTable($table);
|
||
|
|
?>
|