/** * Если сделка прошла успешно генерируем акт по выдаче денег * Тут у нас есть зависимость от того сколько этапов было в сделке */ public function generateCompletedAct(&$error) { require_once dirname(__FILE__) . '/num_to_word.php'; $error = NULL; if (!($payout = $this->getPayouts($this->sbr->frl_id))) { return false; } if (!($act = $this->getActSums($this->sbr->frl_id))) { return false; } $payout = $payout[$this->sbr->frl_id]; if (!$payout) { return false; } if (count($this->sbr->stages) == 1) { $template = $_SERVER['DOCUMENT_ROOT'] . '/norisk2/xml/act_completed_sbr.xml'; } else { $template = $_SERVER['DOCUMENT_ROOT'] . '/norisk2/xml/act_completed_stage.xml'; } $pskb = new pskb($this->sbr); $lc = $pskb->getLC(); $sbr_num = $this->sbr->getContractStageNum(null, null, $this->num + 1); $this->sbr->getFrlReqvs(); $this->sbr->getEmpReqvs(); $this->sbr->setCheckEmpReqvs($this->id); $efio = $lc['nameCust']; $ffio = $lc['namePerf']; if (!$efio) { $error['emp'] = 'Для формирования Акта об оказании услуги заказчику<br/> необходимо заполнить реквизиты на странице "Финансы"'; } if ($error) { return false; } if (pskb::$form_map[$lc['tagCust']] == sbr::FT_PHYS) { $this->sbr->emp_reqvs[sbr::FT_JURI]['full_name'] = $efio; $this->sbr->emp_reqvs[sbr::FT_PHYS]['fio'] = $efio; $side_b_emp = sbr_meta::getReqvsStr($this->sbr->emp_reqvs, $bossname_emp); } else { $side_b_emp = $this->sbr->getUserReqvAgnt($lc, 'emp'); } if (pskb::$form_map[$lc['tagPerf']] == sbr::FT_PHYS) { $this->sbr->frl_reqvs[sbr::FT_JURI]['full_name'] = $ffio; $this->sbr->frl_reqvs[sbr::FT_PHYS]['fio'] = $ffio; $side_b_frl = sbr_meta::getReqvsStr($this->sbr->frl_reqvs, $bossname_frl); } else { $side_b_frl = $this->sbr->getUserReqvAgnt($lc, 'frl'); } //foreach($this->sbr->stages as $stage) { foreach ($this->sbr->scheme['taxes'][sbr::FRL] as $tax) { if ($tax['tax_code'] == 'TAX_FL') { $tax_total += $this->calcTax($tax, $dvals, $outsys); } } //} $sum_frl_tax = $tax_total; // Комиссия считывающаяся с фрилансера $sum_frl = $this->getPayoutSum(sbr::FRL); $replace = array('$sbr_num' => $sbr_num, '$date_act' => $this->redate_act ? $this->redate_act : date("d.m.Y"), '$date_sbr' => date("d.m.Y", strtotime($this->getFirstTime())), '$efio' => $efio, '$ffio' => $ffio, '$side_b_frl' => $side_b_frl, '$side_b_emp' => $side_b_emp, '$bossname_frl' => $bossname_frl, '$bossname_emp' => $bossname_emp, '$sum_frl' => num2strEx($sum_frl, 'рублей Российской Федерации'), '$sum_frl_tax' => num2strEx($sum_frl_tax, 'рублей Российской Федерации')); $pdf = sbr::xml2pdf($template, $replace); if (!($file = $this->sbr->_saveDocFile($pdf->Output(NULL, 'S')))) { $error['fatal'] = "Ошибка при формировании Акта об оказании услуги"; } return $file; }