if ($bank || $bankAddr || $bankPhone) { $bankDetails .= CSalePdf::prepareToPdf("Bank Name and Address: "); if ($bank) { $bankDetails .= CSalePdf::prepareToPdf($bank); } $bankDetails .= CSalePdf::prepareToPdf("\n"); if ($bankAddr) { $bankDetails .= CSalePdf::prepareToPdf(sprintf("%s\n", $bankAddr)); } if ($bankPhone) { $bankDetails .= CSalePdf::prepareToPdf(sprintf("%s\n", $bankPhone)); } } $bankDetails .= CSalePdf::prepareToPdf(sprintf("Bank's routing number: %s\n", $bankRouteNo)); $bankDetails .= CSalePdf::prepareToPdf(sprintf("Bank SWIFT: %s\n", $bankSwift)); $pdf->MultiCell($width / 2, 15, $bankDetails, 0, 'L'); } $pdf->SetY($y0 + 15); if (CSalePaySystemAction::GetParamValue("SELLER_DIR") || CSalePaySystemAction::GetParamValue("SELLER_DIR_SIGN")) { $isDirSign = false; if (CSalePaySystemAction::GetParamValue('SELLER_DIR_SIGN')) { list($signHeight, $signWidth) = $pdf->GetImageSize(CSalePaySystemAction::GetParamValue('SELLER_DIR_SIGN')); if ($signHeight && $signWidth) { $ratio = min(37.5 / $signHeight, 150 / $signWidth); $signHeight = $ratio * $signHeight; $signWidth = $ratio * $signWidth; $isDirSign = true; } } if (CSalePaySystemAction::GetParamValue("SELLER_DIR")) { $pdf->SetX($pdf->GetX() + $width / 2 + 15);
$pdf->AddPage(); $y0 = $pdf->GetY(); $logoHeight = 0; $logoWidth = 0; if (CSalePaySystemAction::GetParamValue('PATH_TO_LOGO', false)) { list($imageHeight, $imageWidth) = $pdf->GetImageSize(CSalePaySystemAction::GetParamValue('PATH_TO_LOGO', false)); $imgDpi = intval(CSalePaySystemAction::GetParamValue('LOGO_DPI', false)) ?: 96; $imgZoom = 96 / $imgDpi; $logoHeight = $imageHeight * $imgZoom + 5; $logoWidth = $imageWidth * $imgZoom + 5; $pdf->Image(CSalePaySystemAction::GetParamValue('PATH_TO_LOGO', false), $pdf->GetX(), $pdf->GetY(), -$imgDpi, -$imgDpi); } $pdf->Ln(10); $pdf->SetFont($fontFamily, 'B', $fontSize * 3); $pdf->SetX($pdf->GetX() + $logoWidth); $pdf->MultiCell(0, 30, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_NAME", false)), 0, 'L'); $pdf->Ln(); $pdf->SetY(max($y0 + $logoHeight, $pdf->GetY())); $pdf->Ln(10); $pdf->SetFont($fontFamily, 'B', $fontSize - 2); $seller = CSalePaySystemAction::GetParamValue("SELLER_NAME", false); if (CSalePaySystemAction::GetParamValue("SELLER_ADDRESS", false)) { $seller .= ' - '; $seller .= CSalePaySystemAction::GetParamValue("SELLER_ADDRESS", false); $seller .= ' '; } $seller = CSalePdf::prepareToPdf($seller); $pdf->Cell($pdf->GetStringWidth($seller), 10, $seller, 'B'); $pdf->Ln(); $pdf->Ln(); $pdf->Ln();
$logoWidth = 0; if (CSalePaySystemAction::GetParamValue('PATH_TO_LOGO', false)) { list($imageHeight, $imageWidth) = $pdf->GetImageSize(CSalePaySystemAction::GetParamValue('PATH_TO_LOGO', false)); $imgDpi = intval(CSalePaySystemAction::GetParamValue('LOGO_DPI', false)) ?: 96; $imgZoom = 96 / $imgDpi; $logoHeight = $imageHeight * $imgZoom + 5; $logoWidth = $imageWidth * $imgZoom + 5; $pdf->Image(CSalePaySystemAction::GetParamValue('PATH_TO_LOGO', false), $pdf->GetX(), $pdf->GetY(), -$imgDpi, -$imgDpi); } $pdf->SetFont($fontFamily, 'B', $fontSize); $pdf->SetX($pdf->GetX() + $logoWidth); $pdf->Write(15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_NAME", false))); $pdf->Ln(); if (CSalePaySystemAction::GetParamValue("SELLER_ADDRESS", false)) { $pdf->SetX($pdf->GetX() + $logoWidth); $pdf->MultiCell(0, 15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_ADDRESS", false)), 0, 'L'); } if (CSalePaySystemAction::GetParamValue("SELLER_PHONE", false)) { $pdf->SetX($pdf->GetX() + $logoWidth); $pdf->Write(15, CSalePdf::prepareToPdf(sprintf("Tel.: %s", CSalePaySystemAction::GetParamValue("SELLER_PHONE", false)))); $pdf->Ln(); } $pdf->Ln(); $pdf->SetY(max($y0 + $logoHeight, $pdf->GetY())); $pdf->Ln(); $pdf->SetFont($fontFamily, 'B', $fontSize * 2); $pdf->Cell(0, 15, CSalePdf::prepareToPdf('Invoice'), 0, 0, 'C'); $pdf->Ln(); $pdf->Ln(); $pdf->Ln(); $pdf->SetFont($fontFamily, 'B', $fontSize);
$logoWidth = 0; if (CSalePaySystemAction::GetParamValue('PATH_TO_LOGO', false)) { list($imageHeight, $imageWidth) = $pdf->GetImageSize(CSalePaySystemAction::GetParamValue('PATH_TO_LOGO', false)); $imgDpi = intval(CSalePaySystemAction::GetParamValue('LOGO_DPI', false)) ?: 96; $imgZoom = 96 / $imgDpi; $logoHeight = $imageHeight * $imgZoom + 5; $logoWidth = $imageWidth * $imgZoom + 5; $pdf->Image(CSalePaySystemAction::GetParamValue('PATH_TO_LOGO', false), $pdf->GetX(), $pdf->GetY(), -$imgDpi, -$imgDpi); } $pdf->SetFont($fontFamily, 'B', $fontSize); $pdf->SetX($pdf->GetX() + $logoWidth); $pdf->Write(15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_NAME", false))); $pdf->Ln(); if (CSalePaySystemAction::GetParamValue("SELLER_ADDRESS", false)) { $pdf->SetX($pdf->GetX() + $logoWidth); $pdf->MultiCell(0, 15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_ADDRESS", false)), 0, 'L'); } if (CSalePaySystemAction::GetParamValue("SELLER_PHONE", false)) { $pdf->SetX($pdf->GetX() + $logoWidth); $pdf->Write(15, CSalePdf::prepareToPdf(sprintf("Тел.: %s", CSalePaySystemAction::GetParamValue("SELLER_PHONE", false)))); $pdf->Ln(); } $pdf->Ln(); $pdf->SetY(max($y0 + $logoHeight, $pdf->GetY())); if (CSalePaySystemAction::GetParamValue("SELLER_BANK", false)) { $sellerBank = sprintf("%s %s", CSalePaySystemAction::GetParamValue("SELLER_BANK", false), CSalePaySystemAction::GetParamValue("SELLER_BCITY", false)); $sellerRs = CSalePaySystemAction::GetParamValue("SELLER_RS", false); } else { $rsPattern = '/\\s*\\d{10,100}\\s*/'; $sellerBank = trim(preg_replace($rsPattern, ' ', CSalePaySystemAction::GetParamValue("SELLER_RS", false))); preg_match($rsPattern, CSalePaySystemAction::GetParamValue("SELLER_RS", false), $matches);
$pdf->Ln(); $pdf->Ln(); $pdf->SetFont($fontFamily, '', $fontSize); $title = CSalePdf::prepareToPdf('Постачальник: '); $title_width = $pdf->GetStringWidth($title); $pdf->Write(15, $title); $pdf->Write(15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_NAME"))); $pdf->Ln(); $pdf->Cell($title_width, 15, ''); $pdf->MultiCell(0, 15, CSalePdf::prepareToPdf(sprintf( 'Р/р %s, Банк %s, МФО %s', CSalePaySystemAction::GetParamValue("SELLER_RS"), CSalePaySystemAction::GetParamValue("SELLER_BANK"), CSalePaySystemAction::GetParamValue("SELLER_MFO") ))); $pdf->Cell($title_width, 15, ''); $pdf->MultiCell(0, 15, CSalePdf::prepareToPdf(sprintf( 'Юридична адреса: %s, тел.: %s', CSalePaySystemAction::GetParamValue("SELLER_ADDRESS"), CSalePaySystemAction::GetParamValue("SELLER_PHONE") ))); $pdf->Cell($title_width, 15, ''); $pdf->MultiCell(0, 15, CSalePdf::prepareToPdf(sprintf( 'ЄДРПОУ: %s, ІПН: %s, № свід. ПДВ: %s', CSalePaySystemAction::GetParamValue("SELLER_EDRPOY"), CSalePaySystemAction::GetParamValue("SELLER_IPN"),
$pdf->Cell($width, 15, $pdf->prepareToPdf($sellerEmail), 0, 0, 'R'); $pdf->Ln(); } $pdf->SetY(max($y0 + $logoHeight, $pdf->GetY())); $pdf->SetFont($fontFamily, '', $fontSize); $pdf->Ln(); $pdf->Ln(); $pdf->SetFont($fontFamily, 'B', $fontSize * 1.5); $billNo_tmp = CSalePdf::prepareToPdf(sprintf("КОММЕРЧЕСКОЕ ПРЕДЛОЖЕНИЕ № %s от %s", $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ACCOUNT_NUMBER"], CSalePaySystemAction::GetParamValue("DATE_INSERT", false))); $billNo_width = $pdf->GetStringWidth($billNo_tmp); $pdf->Cell(0, 20, $billNo_tmp, 0, 0, 'C'); $pdf->Ln(); $pdf->SetFont($fontFamily, '', $fontSize); if (CSalePaySystemAction::GetParamValue("ORDER_SUBJECT", false)) { $pdf->Cell($width / 2 - $billNo_width / 2 - 2, 15, ''); $pdf->MultiCell(0, 15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("ORDER_SUBJECT", false)), 0, 'L'); } if (CSalePaySystemAction::GetParamValue("DATE_PAY_BEFORE", false)) { $pdf->Cell($width / 2 - $billNo_width / 2 - 2, 15, ''); $pdf->MultiCell(0, 15, CSalePdf::prepareToPdf(sprintf("Срок действия %s", ConvertDateTime(CSalePaySystemAction::GetParamValue("DATE_PAY_BEFORE", false), FORMAT_DATE) ?: CSalePaySystemAction::GetParamValue("DATE_PAY_BEFORE", false))), 0, 'L'); } $pdf->Ln(); $userFields = array(); for ($i = 1; $i <= 5; $i++) { $fildValue = CSalePaySystemAction::GetParamValue("USER_FIELD_{$i}", false); if ($fildValue) { $userFields[] = $fildValue; } } if (CSalePaySystemAction::GetParamValue("COMMENT1", false) || CSalePaySystemAction::GetParamValue("COMMENT2", false) || !empty($userFields)) { $pdf->Write(15, CSalePdf::prepareToPdf('Условия и комментарии'));
if (CSalePaySystemAction::GetParamValue("SELLER_DIR_POS", false)) { $isDirSign = false; if (!$blank && CSalePaySystemAction::GetParamValue('SELLER_DIR_SIGN', false)) { list($signHeight, $signWidth) = $pdf->GetImageSize(CSalePaySystemAction::GetParamValue('SELLER_DIR_SIGN', false)); if ($signHeight && $signWidth) { $ratio = min(37.5 / $signHeight, 150 / $signWidth); $signHeight = $ratio * $signHeight; $signWidth = $ratio * $signWidth; $isDirSign = true; } } $sellerDirPos = CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_DIR_POS", false)); if ($isDirSign && $pdf->GetStringWidth($sellerDirPos) <= 160) { $pdf->SetY($pdf->GetY() + min($signHeight, 30) - 15); } $pdf->MultiCell(150, 15, $sellerDirPos, 0, 'L'); $pdf->SetXY($margin['left'] + 150, $pdf->GetY() - 15); if ($isDirSign) { $pdf->Image(CSalePaySystemAction::GetParamValue('SELLER_DIR_SIGN', false), $pdf->GetX() + 80 - $signWidth / 2, $pdf->GetY() - $signHeight + 15, $signWidth, $signHeight); } $x1 = $pdf->GetX(); $pdf->Cell(160, 15, ''); $x2 = $pdf->GetX(); if (CSalePaySystemAction::GetParamValue("SELLER_DIR", false)) { $pdf->Write(15, CSalePdf::prepareToPdf('(' . CSalePaySystemAction::GetParamValue("SELLER_DIR", false) . ')')); } $pdf->Ln(); $y2 = $pdf->GetY(); $pdf->Line($x1, $y2, $x2, $y2); $pdf->Ln(); }