1
buisoffcnt.php in trunk/web/include/doc/printforms/kompredl – MultiMag

source: trunk/web/include/doc/printforms/kompredl/buisoffcnt.php @ 986

Last change on this file since 986 was 986, checked in by blacklight, 8 months ago
  • Добвлен вывод печати организации в печатную форму коммерческого предложения
  • Проведён рефакторинг печатных форм документов
File size: 4.2 KB
Line 
1<?php
2//      MultiMag v0.2 - Complex sales system
3//
4//      Copyright (C) 2005-2018, BlackLight, TND Team, http://tndproject.org
5//
6//      This program is free software: you can redistribute it and/or modify
7//      it under the terms of the GNU Affero General Public License as
8//      published by the Free Software Foundation, either version 3 of the
9//      License, or (at your option) any later version.
10//
11//      This program is distributed in the hope that it will be useful,
12//      but WITHOUT ANY WARRANTY; without even the implied warranty of
13//      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14//      GNU Affero General Public License for more details.
15//
16//      You should have received a copy of the GNU Affero General Public License
17//      along with this program.  If not, see <http://www.gnu.org/licenses/>.
18//
19namespace doc\printforms\kompredl; 
20
21class buisoffcnt extends buisoff {
22    var $form_sum = 0;
23    var $form_summass = 0;
24    public function getName() {
25        return "Предложение с количеством";
26    }
27       
28    /// Добавить блок с информацией о сумме документа
29    protected function addSummaryBlock() {
30        $dop_data = $this->doc->getDopDataA();
31        $sum_p = number_format($this->form_sum, 2, '.', ' ');
32        $mass_p = number_format($this->form_summass, 3, '.', ' ');
33        $text = "Итого {$this->form_linecount} наименований массой $mass_p кг. на сумму $sum_p руб.";
34        if(isset($dop_data['mest'])) {
35            if ($dop_data['mest']) {
36                $text .= ", мест: " . $dop_data['mest'];
37            }
38        }
39        $this->addInfoLine($text );
40    }
41   
42    /// Сформировать данные печатной формы
43    public function make() {
44        $doc_data = $this->doc->getDocDataA();
45        $firm_vars = $this->doc->getFirmVarsA();
46        $text_header = $this->doc->getTextData('text_header');
47        $nomenclature = $this->doc->getDocumentNomenclature('comment');
48       
49        $this->addPage();       
50        $this->addHeadBanner($doc_data['firm_id']);
51       
52        $text = "Коммерческое предложение №{$doc_data['altnum']}{$doc_data['subtype']} от " . date("d.m.Y", $doc_data['date']);
53        $this->addHeader($text);
54        $text = 'Поставщик: ' . $firm_vars['firm_name'] . ', тел. ' . $firm_vars['firm_telefon'];
55        $this->addInfoLine($text);
56        $this->pdf->Ln(4);
57
58        if($text_header) {
59            $this->addMiniHeader($text_header);
60        }
61
62        $th_widths = array(7, 80, 15, 15, 35, 20, 20);
63        $th_texts = array('№', 'Наименование', 'Масса', 'Кол-во', 'Срок поставки', 'Цена', 'Сумма');
64        $tbody_aligns = array('R', 'L', 'R', 'R', 'L', 'R', 'R');
65        $this->addTableHeader($th_widths, $th_texts, $tbody_aligns);
66
67        $ii = 0;
68        $cnt = $this->form_sum = 0;
69        foreach($nomenclature as $line) {
70            $cnt += $line['cnt'];
71            $this->form_sum += $line['sum'];
72            $this->form_summass += $line['mass'] * $line['cnt'];
73            $ii++;
74            $row = array(
75                $ii, 
76                $line['name'], 
77                $line['mass'].' кг.', 
78                $line['cnt'] .' '.$line['unit_name'], 
79                $line['comment'], 
80                sprintf("%0.2f р.", $line['price']),
81                sprintf("%0.2f р.", $line['sum'])
82            );
83            $this->pdf->RowIconv($row);
84                       
85        }
86        $this->form_linecount = $ii;
87        $this->controlPageBreak(30);
88        $this->addSummaryBlock();
89        if($firm_vars['param_nds']) {
90            $this->addMiniHeader("Цены указаны с учётом НДС, за 1 ед. товара");
91            $this->pdf->ln(6);
92        } 
93       
94        if ($doc_data['comment']) {
95            $this->pdf->SetFont('', '', 10);
96            $this->pdf->Ln(5);
97            $this->pdf->MultiCellIconv(0, 5, $doc_data['comment'], 0, 'L', 0);
98            $this->pdf->Ln(5);
99        }
100        $this->addSiteBanner();
101        $this->addSignAndStampImage($doc_data['firm_id']);
102        $this->addWorkerInfo($doc_data);
103    }   
104}
Note: See TracBrowser for help on using the repository browser.