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

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

Last change on this file since 963 was 963, checked in by blacklight, 15 months ago
  • В интерфейсе прослушивания записей разговоров добавлено использование поля fname, а так же реализована поддержка нескольких типов расширений файлов записей
  • Добавлен модуль перекодирования записей телефонных разговоров. В данный момент поддерживается только opus.
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, 12); 
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->pdf->AddPage('P');
50        $this->addTechFooter();       
51        $this->addHeadBanner($doc_data['firm_id']);
52       
53        $text = "Коммерческое предложение №{$doc_data['altnum']}{$doc_data['subtype']} от " . date("d.m.Y", $doc_data['date']);
54        $this->addHeader($text);
55        $text = 'Поставщик: ' . $firm_vars['firm_name'] . ', тел. ' . $firm_vars['firm_telefon'];
56        $this->addInfoLine($text);
57        $this->pdf->Ln(4);
58
59        if($text_header) {
60            $this->addMiniHeader($text_header);
61        }
62
63        $th_widths = array(7, 80, 15, 15, 35, 20, 20);
64        $th_texts = array('№', 'Наименование', 'Масса', 'Кол-во', 'Срок поставки', 'Цена', 'Сумма');
65        $tbody_aligns = array('R', 'L', 'R', 'R', 'L', 'R', 'R');
66        $this->addTableHeader($th_widths, $th_texts, $tbody_aligns);
67
68        $ii = 0;
69        $cnt = $this->form_sum = 0;
70        foreach($nomenclature as $line) {
71            $cnt += $line['cnt'];
72            $this->form_sum += $line['sum'];
73            $this->form_summass += $line['mass'] * $line['cnt'];
74            $ii++;
75            $row = array(
76                $ii, 
77                $line['name'], 
78                $line['mass'].' кг.', 
79                $line['cnt'] .' '.$line['unit_name'], 
80                $line['comment'], 
81                sprintf("%0.2f р.", $line['price']),
82                sprintf("%0.2f р.", $line['sum'])
83            );
84            $this->pdf->RowIconv($row);
85                       
86        }
87        $this->form_linecount = $ii;
88        if ($this->pdf->h <= ($this->pdf->GetY() + 40)) {
89            $this->pdf->AddPage();
90        }
91        $this->addSummaryBlock();
92        if($firm_vars['param_nds']) {
93            $this->addMiniHeader("Цены указаны с учётом НДС, за 1 ед. товара");
94            $this->pdf->ln(6);
95        } 
96       
97        if ($doc_data['comment']) {
98            $this->pdf->SetFont('', '', 10);
99            $this->pdf->Ln(5);
100            $this->pdf->MultiCellIconv(0, 5, $doc_data['comment'], 0, 'L', 0);
101            $this->pdf->Ln(5);
102        }
103        $this->addSiteBanner();
104        $this->addWorkerInfo($doc_data);
105    }   
106}
Note: See TracBrowser for help on using the repository browser.