1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
pdf.php
См. документацию.
1<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();?><?
2$arPaySysAction["ENCODING"] = "";
3$ORDER_ID = intval($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ID"]);
4if (!is_array($arOrder))
5 $arOrder = CSaleOrder::GetByID($ORDER_ID);
6
8 die();
9
10if ($_REQUEST['BLANK'] == 'Y')
11 $blank = true;
12
13$pdf = new CSalePdf('P', 'pt', 'A4');
14
15if (CSalePaySystemAction::GetParamValue('BACKGROUND', false))
16{
17 $pdf->SetBackground(
18 CSalePaySystemAction::GetParamValue('BACKGROUND', false),
19 CSalePaySystemAction::GetParamValue('BACKGROUND_STYLE', false)
20 );
21}
22
23$pageWidth = $pdf->GetPageWidth();
24$pageHeight = $pdf->GetPageHeight();
25
26$pdf->AddFont('Font', '', 'pt_sans-regular.ttf', true);
27$pdf->AddFont('Font', 'B', 'pt_sans-bold.ttf', true);
28
29$fontFamily = 'Font';
30$fontSize = 10.5;
31
33 'top' => intval(CSalePaySystemAction::GetParamValue('MARGIN_TOP', false) ?: 15) * 72/25.4,
34 'right' => intval(CSalePaySystemAction::GetParamValue('MARGIN_RIGHT', false) ?: 15) * 72/25.4,
35 'bottom' => intval(CSalePaySystemAction::GetParamValue('MARGIN_BOTTOM', false) ?: 15) * 72/25.4,
36 'left' => intval(CSalePaySystemAction::GetParamValue('MARGIN_LEFT', false) ?: 20) * 72/25.4
37);
38
39$width = $pageWidth - $margin['left'] - $margin['right'];
40
41$pdf->SetDisplayMode(100, 'continuous');
42$pdf->SetMargins($margin['left'], $margin['top'], $margin['right']);
43$pdf->SetAutoPageBreak(true, $margin['bottom']);
44
45$pdf->AddPage();
46
47
48$pdf->SetFont($fontFamily, 'B', $fontSize);
49
50$pdf->Write(15, CSalePdf::prepareToPdf(sprintf(
51 "Рахунок на оплату №%s від %s",
52 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ACCOUNT_NUMBER"],
53 CSalePaySystemAction::GetParamValue("DATE_INSERT", false)
54)));
55$pdf->Ln();
56$pdf->Ln();
57
58$pdf->SetFont($fontFamily, '', $fontSize);
59
60$title = CSalePdf::prepareToPdf('Постачальник: ');
61$title_width = $pdf->GetStringWidth($title);
62$pdf->Write(15, $title);
63
64$pdf->Write(15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_NAME", false)));
65$pdf->Ln();
66
67$pdf->Cell($title_width, 15, '');
68$pdf->MultiCell(0, 15, CSalePdf::prepareToPdf(sprintf(
69 'Р/р %s, Банк %s, МФО %s',
70 CSalePaySystemAction::GetParamValue("SELLER_RS", false),
71 CSalePaySystemAction::GetParamValue("SELLER_BANK", false),
72 CSalePaySystemAction::GetParamValue("SELLER_MFO", false)
73)));
74
75$pdf->Cell($title_width, 15, '');
76$pdf->MultiCell(0, 15, CSalePdf::prepareToPdf(sprintf(
77 'Юридична адреса: %s, тел.: %s',
78 CSalePaySystemAction::GetParamValue("SELLER_ADDRESS", false),
79 CSalePaySystemAction::GetParamValue("SELLER_PHONE", false)
80)));
81
82$pdf->Cell($title_width, 15, '');
83$pdf->MultiCell(0, 15, CSalePdf::prepareToPdf(sprintf(
84 'ЄДРПОУ: %s, ІПН: %s, № свід. ПДВ: %s',
85 CSalePaySystemAction::GetParamValue("SELLER_EDRPOY", false),
86 CSalePaySystemAction::GetParamValue("SELLER_IPN", false),
87 CSalePaySystemAction::GetParamValue("SELLER_PDV", false)
88)));
89
90if (CSalePaySystemAction::GetParamValue("SELLER_SYS", false))
91{
92 $pdf->Cell($title_width, 15, '');
93 $pdf->Write(15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_SYS", false)));
94 $pdf->Ln();
95}
96$pdf->Ln();
97
98$pdf->Cell($title_width, 15, CSalePdf::prepareToPdf('Покупець: '));
99
100$pdf->Write(15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("BUYER_NAME", false)));
101$pdf->Ln();
102
106{
107 $pdf->Cell($title_width, 15, '');
108
109 if ($buyerPhone)
110 {
111 $pdf->Write(15, CSalePdf::prepareToPdf(sprintf('тел.: %s', $buyerPhone)));
112 if ($buyerFax)
113 $pdf->Write(15, CSalePdf::prepareToPdf(', '));
114 }
115
116 if ($buyerFax)
117 $pdf->Write(15, CSalePdf::prepareToPdf(sprintf('факс: %s', $buyerFax)));
118
119 $pdf->Ln();
120}
121
122if (CSalePaySystemAction::GetParamValue("BUYER_ADDRESS", false))
123{
124 $pdf->Cell($title_width, 15, '');
125
126 $pdf->Write(15, CSalePdf::prepareToPdf(sprintf(
127 'Адреса: %s',
128 CSalePaySystemAction::GetParamValue("BUYER_ADDRESS", false)
129 )));
130
131 $pdf->Ln();
132}
133
134$pdf->Ln();
135
136if (CSalePaySystemAction::GetParamValue("BUYER_DOGOVOR", false))
137{
138 $pdf->Write(15, CSalePdf::prepareToPdf(sprintf(
139 'Договір: %s',
140 CSalePaySystemAction::GetParamValue("BUYER_DOGOVOR", false)
141 )));
142
143 $pdf->Ln();
144}
145
146
147// Список товаров
149 array("DATE_INSERT" => "ASC", "NAME" => "ASC"),
150 array("ORDER_ID" => $ORDER_ID),
151 false, false,
152 array("ID", "PRICE", "CURRENCY", "QUANTITY", "NAME", "VAT_RATE", "MEASURE_NAME")
153);
154if ($arBasket = $dbBasket->Fetch())
155{
156 $arCells = array();
157 $arProps = array();
158 $arRowsWidth = array(1 => 0, 0, 0, 0, 0, 0, 0);
159
160 $n = 0;
161 $sum = 0.00;
162 $vat = 0;
163 do
164 {
165 // props in product basket
166 $arProdProps = array();
167 $dbBasketProps = CSaleBasket::GetPropsList(
168 array("SORT" => "ASC", "ID" => "DESC"),
169 array(
170 "BASKET_ID" => $arBasket["ID"],
171 "!CODE" => array("CATALOG.XML_ID", "PRODUCT.XML_ID")
172 ),
173 false,
174 false,
175 array("ID", "BASKET_ID", "NAME", "VALUE", "CODE", "SORT")
176 );
177 while ($arBasketProps = $dbBasketProps->GetNext())
178 {
179 if (!empty($arBasketProps) && $arBasketProps["VALUE"] != "")
180 $arProdProps[] = $arBasketProps;
181 }
182 $arBasket["PROPS"] = $arProdProps;
183
184 $productName = $arBasket["NAME"];
185 if ($productName == "OrderDelivery")
186 $productName = "Доставка";
187 else if ($productName == "OrderDiscount")
188 $productName = "Знижка";
189
190 $arCells[++$n] = array(
192 CSalePdf::prepareToPdf($productName),
193 CSalePdf::prepareToPdf(roundEx($arBasket["QUANTITY"], SALE_VALUE_PRECISION)),
194 CSalePdf::prepareToPdf($arBasket["MEASURE_NAME"] ? $arBasket["MEASURE_NAME"] : 'шт.'),
195 CSalePdf::prepareToPdf(SaleFormatCurrency($arBasket["PRICE"], $arBasket["CURRENCY"], true)),
196 CSalePdf::prepareToPdf(roundEx($arBasket["VAT_RATE"]*100, SALE_VALUE_PRECISION)."%"),
198 $arBasket["PRICE"] * $arBasket["QUANTITY"],
199 $arBasket["CURRENCY"],
200 true
201 ))
202 );
203
204 $arProps[$n] = array();
205 foreach ($arBasket["PROPS"] as $vv)
206 $arProps[$n][] = CSalePdf::prepareToPdf(sprintf("%s: %s", $vv["NAME"], $vv["VALUE"]));
207
208 for ($i = 1; $i <= 7; $i++)
209 $arRowsWidth[$i] = max($arRowsWidth[$i], $pdf->GetStringWidth($arCells[$n][$i]));
210
211 $sum += doubleval($arBasket["PRICE"] * $arBasket["QUANTITY"]);
212 $vat = max($vat, $arBasket["VAT_RATE"]);
213 }
214 while ($arBasket = $dbBasket->Fetch());
215
216 if (DoubleVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["PRICE_DELIVERY"]) > 0)
217 {
218 $arDelivery_tmp = CSaleDelivery::GetByID($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["DELIVERY_ID"]);
219
220 $sDeliveryItem = "Доставка";
221 if ($arDelivery_tmp["NAME"] <> '')
222 $sDeliveryItem .= sprintf(" (%s)", $arDelivery_tmp["NAME"]);
223 $arCells[++$n] = array(
225 CSalePdf::prepareToPdf($sDeliveryItem),
229 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["PRICE_DELIVERY"],
230 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"],
231 true
232 )),
235 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["PRICE_DELIVERY"],
236 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"],
237 true
238 ))
239 );
240
241 for ($i = 1; $i <= 7; $i++)
242 $arRowsWidth[$i] = max($arRowsWidth[$i], $pdf->GetStringWidth($arCells[$n][$i]));
243
244 $sum += doubleval($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["PRICE_DELIVERY"]);
245 }
246
247 $items = $n;
248/*
249 if ($sum < $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["PRICE"])
250 {
251 $arCells[++$n] = array(
252 1 => null,
253 null,
254 null,
255 null,
256 null,
257 CSalePdf::prepareToPdf("Подытог:"),
258 CSalePdf::prepareToPdf(CurrencyFormatNumber($sum, $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"]))
259 );
260
261 $arRowsWidth[7] = max($arRowsWidth[7], $pdf->GetStringWidth($arCells[$n][7]));
262 }
263*/
264 $orderTax = 0;
265 $dbTaxList = CSaleOrderTax::GetList(
266 array("APPLY_ORDER" => "ASC"),
267 array("ORDER_ID" => $ORDER_ID)
268 );
269
270 while ($arTaxList = $dbTaxList->Fetch())
271 {
272 $arCells[++$n] = array(
273 1 => null,
274 null,
275 null,
276 null,
277 null,
279 "%s%s%s:",
280 ($arTaxList["IS_IN_PRICE"] == "Y") ? "У тому числі " : "",
281 ($vat <= 0) ? $arTaxList["TAX_NAME"] : "ПДВ",
282 ($vat <= 0 && $arTaxList["IS_PERCENT"] == "Y")
283 ? sprintf(' (%s%%)', roundEx($arTaxList["VALUE"],SALE_VALUE_PRECISION))
284 : ""
285 )),
287 $arTaxList["VALUE_MONEY"],
288 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"],
289 true
290 ))
291 );
292
293 $orderTax += $arTaxList["VALUE_MONEY"];
294
295 $arRowsWidth[7] = max($arRowsWidth[7], $pdf->GetStringWidth($arCells[$n][7]));
296 }
297
298 if (DoubleVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SUM_PAID"]) > 0)
299 {
300 $arCells[++$n] = array(
301 1 => null,
302 null,
303 null,
304 null,
305 null,
306 CSalePdf::prepareToPdf("Вже сплачено:"),
308 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SUM_PAID"],
309 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"],
310 true
311 ))
312 );
313
314 $arRowsWidth[7] = max($arRowsWidth[7], $pdf->GetStringWidth($arCells[$n][7]));
315 }
316
317 if (DoubleVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["DISCOUNT_VALUE"]) > 0)
318 {
319 $arCells[++$n] = array(
320 1 => null,
321 null,
322 null,
323 null,
324 null,
325 CSalePdf::prepareToPdf("Знижка:"),
327 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["DISCOUNT_VALUE"],
328 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"],
329 true
330 ))
331 );
332
333 $arRowsWidth[7] = max($arRowsWidth[7], $pdf->GetStringWidth($arCells[$n][7]));
334 }
335
336 $arCells[++$n] = array(
337 1 => null,
338 null,
339 null,
340 null,
341 null,
342 CSalePdf::prepareToPdf($vat <= 0 ? "Всього без ПДВ:" : "Всього:"),
344 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SHOULD_PAY"],
345 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"],
346 true
347 ))
348 );
349
350 $arRowsWidth[7] = max($arRowsWidth[7], $pdf->GetStringWidth($arCells[$n][7]));
351
352 $showVat = false;
353
354 $arCurFormat = CCurrencyLang::GetCurrencyFormat($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"]);
355 $currency = trim(str_replace('#', '', $arCurFormat['FORMAT_STRING']));
356
357 $arColsCaption = array(
358 1 => CSalePdf::prepareToPdf('№'),
359 CSalePdf::prepareToPdf('Товар/Послуга'),
360 CSalePdf::prepareToPdf('Кіл-сть'),
361 CSalePdf::prepareToPdf('Од.'),
362 CSalePdf::prepareToPdf(($vat <= 0 ? 'Ціна без ПДВ, ' : 'Ціна з ПДВ, ').$currency),
363 CSalePdf::prepareToPdf('Ставка ПДВ'),
364 CSalePdf::prepareToPdf(($vat <= 0 ? 'Сума без ПДВ, ' : 'Сума з ПДВ, ').$currency)
365 );
366 for ($i = 1; $i <= 7; $i++)
367 $arRowsWidth[$i] = max($arRowsWidth[$i], $pdf->GetStringWidth($arColsCaption[$i]));
368
369 for ($i = 1; $i <= 7; $i++)
370 $arRowsWidth[$i] += 10;
371 if (!$showVat)
372 $arRowsWidth[6] = 0;
373 $arRowsWidth[2] = $width - (array_sum($arRowsWidth)-$arRowsWidth[2]);
374}
375$pdf->Ln();
376
377$x0 = $pdf->GetX();
378$y0 = $pdf->GetY();
379
380for ($i = 1; $i <= 7; $i++)
381{
382 if ($showVat || $i != 6)
383 $pdf->Cell($arRowsWidth[$i], 20, $arColsCaption[$i], 0, 0, 'C');
384 ${"x$i"} = $pdf->GetX();
385}
386
387$pdf->Ln();
388
389$y5 = $pdf->GetY();
390
391$pdf->Line($x0, $y0, $x7, $y0);
392for ($i = 0; $i <= 7; $i++)
393{
394 if ($showVat || $i != 6)
395 $pdf->Line(${"x$i"}, $y0, ${"x$i"}, $y5);
396}
397$pdf->Line($x0, $y5, $x7, $y5);
398
400for ($n = 1; $n <= $rowsCnt; $n++)
401{
402 $arRowsWidth_tmp = $arRowsWidth;
403 $accumulated = 0;
404 for ($j = 1; $j <= 7; $j++)
405 {
406 if (is_null($arCells[$n][$j]))
407 {
408 $accumulated += $arRowsWidth_tmp[$j];
409 $arRowsWidth_tmp[$j] = null;
410 }
411 else
412 {
413 $arRowsWidth_tmp[$j] += $accumulated;
414 $accumulated = 0;
415 }
416 }
417
418 $x0 = $pdf->GetX();
419 $y0 = $pdf->GetY();
420
421 $pdf->SetFont($fontFamily, '', $fontSize);
422
423 if (!is_null($arCells[$n][2]))
424 {
425 $text = $arCells[$n][2];
426 $cellWidth = $arRowsWidth_tmp[2];
427 }
428 else
429 {
430 $text = $arCells[$n][6];
431 $cellWidth = $arRowsWidth_tmp[6];
432 }
433
434 for ($l = 0; $pdf->GetStringWidth($text) > 0; $l++)
435 {
436 list($string, $text) = $pdf->splitString($text, $cellWidth-5);
437
438 if (!is_null($arCells[$n][1]))
439 $pdf->Cell($arRowsWidth_tmp[1], 15, ($l == 0) ? $arCells[$n][1] : '', 0, 0, 'C');
440 if ($l == 0)
441 $x1 = $pdf->GetX();
442
443 if (!is_null($arCells[$n][2]))
444 $pdf->Cell($arRowsWidth_tmp[2], 15, $string);
445 if ($l == 0)
446 $x2 = $pdf->GetX();
447
448 if (!is_null($arCells[$n][3]))
449 $pdf->Cell($arRowsWidth_tmp[3], 15, ($l == 0) ? $arCells[$n][3] : '', 0, 0, 'R');
450 if ($l == 0)
451 $x3 = $pdf->GetX();
452
453 if (!is_null($arCells[$n][4]))
454 $pdf->Cell($arRowsWidth_tmp[4], 15, ($l == 0) ? $arCells[$n][4] : '', 0, 0, 'R');
455 if ($l == 0)
456 $x4 = $pdf->GetX();
457
458 if (!is_null($arCells[$n][5]))
459 $pdf->Cell($arRowsWidth_tmp[5], 15, ($l == 0) ? $arCells[$n][5] : '', 0, 0, 'R');
460 if ($l == 0)
461 $x5 = $pdf->GetX();
462
463 if (!is_null($arCells[$n][6]))
464 {
465 if (is_null($arCells[$n][2]))
466 $pdf->Cell($arRowsWidth_tmp[6], 15, $string, 0, 0, 'R');
467 else if ($showVat)
468 $pdf->Cell($arRowsWidth_tmp[6], 15, ($l == 0) ? $arCells[$n][6] : '', 0, 0, 'R');
469 }
470 if ($l == 0)
471 $x6 = $pdf->GetX();
472
473 if (!is_null($arCells[$n][7]))
474 $pdf->Cell($arRowsWidth_tmp[7], 15, ($l == 0) ? $arCells[$n][7] : '', 0, 0, 'R');
475 if ($l == 0)
476 $x7 = $pdf->GetX();
477
478 $pdf->Ln();
479 }
480
481 if (isset($arProps[$n]) && is_array($arProps[$n]))
482 {
483 $pdf->SetFont($fontFamily, '', $fontSize-2);
484 foreach ($arProps[$n] as $property)
485 {
486 $pdf->Cell($arRowsWidth_tmp[1], 12, '');
487 $pdf->Cell($arRowsWidth_tmp[2], 12, $property);
488 $pdf->Cell($arRowsWidth_tmp[3], 12, '');
489 $pdf->Cell($arRowsWidth_tmp[4], 12, '');
490 $pdf->Cell($arRowsWidth_tmp[5], 12, '');
491 if ($showVat)
492 $pdf->Cell($arRowsWidth_tmp[6], 12, '');
493 $pdf->Cell($arRowsWidth_tmp[7], 12, '', 0, 1);
494 }
495 }
496
497 $y5 = $pdf->GetY();
498
499 if ($y0 > $y5)
500 $y0 = $margin['top'];
501 for ($i = (is_null($arCells[$n][1])) ? 6 : 0; $i <= 7; $i++)
502 {
503 if ($showVat || $i != 5)
504 $pdf->Line(${"x$i"}, $y0, ${"x$i"}, $y5);
505 }
506
507 $pdf->Line((!is_null($arCells[$n][1])) ? $x0 : $x6, $y5, $x7, $y5);
508}
509$pdf->Ln();
510
511
512$pdf->SetFont($fontFamily, 'B', $fontSize);
513$pdf->Write(15, CSalePdf::prepareToPdf(sprintf(
514 "Всього найменувань: %s, на суму %s",
515 $items,
516 ($arOrder["CURRENCY"] == "UAH")
518 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SHOULD_PAY"],
519 "Y",
520 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"]
521 )
523 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SHOULD_PAY"],
524 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"],
525 false
526 )
527)));
528$pdf->Ln();
529
530if ($vat > 0)
531{
532 $pdf->Write(15, CSalePdf::prepareToPdf(sprintf(
533 "У т.ч. ПДВ: %s",
534 ($arOrder["CURRENCY"] == "UAH")
535 ? Number2Word_Rus($orderTax, "Y", $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"])
536 : SaleFormatCurrency($orderTax, $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], false)
537 )));
538}
539else
540{
541 $pdf->Write(15, CSalePdf::prepareToPdf("Без ПДВ"));
542}
543$pdf->Ln();
544$pdf->Ln();
545
546if (CSalePaySystemAction::GetParamValue("COMMENT1", false) || CSalePaySystemAction::GetParamValue("COMMENT2", false))
547{
548 $pdf->Write(15, CSalePdf::prepareToPdf('Умови та коментарі'));
549 $pdf->Ln();
550
551 $pdf->SetFont($fontFamily, '', $fontSize);
552
553 if (CSalePaySystemAction::GetParamValue("COMMENT1", false))
554 {
555 $pdf->Write(15, HTMLToTxt(preg_replace(
556 array('#</div>\s*<div[^>]*>#i', '#</?div>#i'), array('<br>', '<br>'),
558 ), '', array(), 0));
559 $pdf->Ln();
560 $pdf->Ln();
561 }
562
563 if (CSalePaySystemAction::GetParamValue("COMMENT2", false))
564 {
565 $pdf->Write(15, HTMLToTxt(preg_replace(
566 array('#</div>\s*<div[^>]*>#i', '#</?div>#i'), array('<br>', '<br>'),
568 ), '', array(), 0));
569 $pdf->Ln();
570 $pdf->Ln();
571 }
572}
573
574$pdf->Ln();
575if (!$blank && CSalePaySystemAction::GetParamValue('PATH_TO_STAMP', false))
576{
577 list($stampHeight, $stampWidth) = $pdf->GetImageSize(CSalePaySystemAction::GetParamValue('PATH_TO_STAMP', false));
578
579 if ($stampHeight && $stampWidth)
580 {
581 if ($stampHeight > 120 || $stampWidth > 120)
582 {
583 $ratio = 120 / max($stampHeight, $stampWidth);
584 $stampHeight = $ratio * $stampHeight;
585 $stampWidth = $ratio * $stampWidth;
586 }
587
588 $pdf->Image(
589 CSalePaySystemAction::GetParamValue('PATH_TO_STAMP', false),
590 $margin['left']+40, $pdf->GetY(),
591 $stampWidth, $stampHeight
592 );
593 }
594}
595
596
597$pdf->Line($pdf->GetX(), $pdf->GetY(), $pdf->GetX()+$width, $pdf->GetY());
598$pdf->Ln();
599$pdf->Ln();
600
602if (!$blank && CSalePaySystemAction::GetParamValue('SELLER_ACC_SIGN', false))
603{
604 list($signHeight, $signWidth) = $pdf->GetImageSize(CSalePaySystemAction::GetParamValue('SELLER_ACC_SIGN', false));
605
606 if ($signHeight && $signWidth)
607 {
608 $ratio = min(37.5/$signHeight, 150/$signWidth);
609 $signHeight = $ratio * $signHeight;
610 $signWidth = $ratio * $signWidth;
611
612 $isAccSign = true;
613 }
614}
615
616$pdf->SetFont($fontFamily, 'B', $fontSize);
617$pdf->Write(15, CSalePdf::prepareToPdf('Виписав(ла): '));
618
619if ($isAccSign)
620{
621 $pdf->Image(
622 CSalePaySystemAction::GetParamValue('SELLER_ACC_SIGN', false),
623 $pdf->GetX() + 80 - $signWidth/2, $pdf->GetY() - $signHeight + 15,
624 $signWidth, $signHeight
625 );
626}
627
628$pdf->SetFont($fontFamily, '', $fontSize);
629$pdf->Cell(160, 15, '', 'B', 0, 'C');
630
631$pdf->Write(15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_ACC", false)));
632
633$pdf->SetX(max($pdf->GetX()+20, $margin['left']+3*$width/5));
634
635$pdf->SetFont($fontFamily, 'B', $fontSize);
636$pdf->Write(15, CSalePdf::prepareToPdf('Посада: '));
637
638$pdf->SetFont($fontFamily, '', $fontSize);
639$pdf->Cell(0, 15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_ACC_POS", false)), 'B', 0, 'C');
640
641$pdf->Ln();
642$pdf->Ln();
643$pdf->Ln();
644
645if (CSalePaySystemAction::GetParamValue("DATE_PAY_BEFORE", false))
646{
647 $pdf->SetFont($fontFamily, 'B', $fontSize);
648 $pdf->Cell(0, 15, CSalePdf::prepareToPdf(sprintf(
649 "Рахунок дійсний до сплати до %s",
651 ?: CSalePaySystemAction::GetParamValue("DATE_PAY_BEFORE", false)
652 )), 0, 0, 'R');
653}
654
655
656$dest = 'I';
657if ($_REQUEST['GET_CONTENT'] == 'Y')
658 $dest = 'S';
659else if ($_REQUEST['DOWNLOAD'] == 'Y')
660 $dest = 'D';
661
662return $pdf->Output(
663 sprintf(
664 'Rakhunok No%s vid %s.pdf',
665 $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ACCOUNT_NUMBER"],
666 ConvertDateTime($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["DATE_INSERT"], 'YYYY-MM-DD')
667 ), $dest
668);
669?>
$sum
Определения checkout.php:6
static GetByID($ID)
Определения delivery.php:249
static GetParamValue($key, $defaultValue=null)
Определения pay_system_action.php:76
static GetCurrencyFormat($currency, $lang=LANGUAGE_ID)
Определения currency_lang.php:393
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения basket.php:33
static GetPropsList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения basket.php:317
static GetList($arOrder=array("TAX_NAME"=> "ASC"), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения order_tax.php:7
Определения pdf.php:312
static isPdfAvailable()
Определения pdf.php:316
static prepareToPdf($string)
Определения pdf.php:324
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$_REQUEST["admin_mnu_menu_id"]
Определения get_menu.php:8
const FORMAT_DATE
Определения include.php:63
$l
Определения options.php:783
ConvertDateTime($datetime, $to_format=false, $from_site=false, $bSearchInSitesOnly=false)
Определения tools.php:724
roundEx($value, $prec=0)
Определения tools.php:4635
HTMLToTxt($str, $strSiteUrl="", $aDelete=[], $maxlen=70)
Определения tools.php:2587
die
Определения quickway.php:367
$text
Определения template_pdf.php:79
for( $i=0, $max=count( $arBasketIDs);$i< $max;$i++) if($arOrder['DELIVERY_VAT_RATE'] > 0) if(is_array( $arBasketOrder) &&!empty( $arBasketOrder)) if(floatval($arOrder["DISCOUNT_VALUE"]) > 0) $arTaxList
Определения factura.php:640
$i
Определения factura.php:643
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения waybill.php:936
$ORDER_ID
Определения html.php:2
$pageWidth
Определения html.php:24
if( $arBasket=$dbBasket->Fetch()) if($vat > 0) $rowsCnt
Определения html.php:430
$width
Определения html.php:68
if(CSalePaySystemAction::GetParamValue("DATE_PAY_BEFORE", false)) $dbBasket
Определения html.php:162
if(CSalePaySystemAction::GetParamValue('BACKGROUND', false)) $margin
Определения html.php:61
$pageHeight
Определения html.php:25
$y5
Определения pdf.php:464
if(!empty($sellerData)) $dest
Определения pdf.php:818
$fontSize
Определения pdf.php:30
$pdf
Определения pdf.php:13
$arPaySysAction["ENCODING"]
Определения pdf.php:2
$fontFamily
Определения pdf.php:29
$x0
Определения pdf.php:452
$y0
Определения pdf.php:47
$currency
Определения template.php:266
$arCurFormat
Определения template.php:265
$vat
Определения template.php:273
$arCells
Определения template.php:223
$items
Определения template.php:224
$buyerPhone
Определения template.php:85
$buyerFax
Определения template.php:86
SaleFormatCurrency($fSum, $strCurrency, $OnlyValue=false, $withoutFormat=false)
Определения include.php:142
const SALE_VALUE_PRECISION
Определения include.php:46
$title
Определения pdf.php:123
Number2Word_Rus($source, $IS_MONEY="Y", $currency="")
Определения include.php:2
$x4
Определения pdf.php:128
$x2
Определения pdf.php:124
$x3
Определения pdf.php:126
$title_width
Определения pdf.php:61
$isAccSign
Определения pdf.php:601
$GLOBALS['_____370096793']
Определения update_client.php:1
$n
Определения update_log.php:107
$arRowsWidth
Определения template_pdf.php:446
$blank
Определения template_pdf.php:11
$x1
Определения template_pdf.php:419