コード例 #1
0
ファイル: DocGenBill.php プロジェクト: kapai69/fl-ru-damp
 /**
  * Генерация счет-фактуры.
  * 
  * @return type
  */
 public function generateFactura($invoice_id, $num, $date = null)
 {
     require_once ABS_PATH . '/bill/models/BillInvoicesModel.php';
     require_once ABS_PATH . '/classes/sbr.php';
     require_once ABS_PATH . '/classes/sbr_meta.php';
     $model = BillInvoicesModel::model();
     $data = $model->getInvoice($invoice_id);
     if (!$data) {
         throw new DocGenBillException(DocGenBillException::BILL_FACTURA_ERROR_MSG);
     }
     $this->setFilePath($data['login']);
     $this->setFileSrcId($data['uid']);
     $this->setField('sf_num', $num);
     $this->setField('sf_date', !empty($date) ? $date : date('j.m.Y'));
     $this->setField('name_user', $data['fields']);
     $this->setField('address', $data['fields']['address']);
     $this->setField('inn', $data['fields']['inn']);
     $this->setField('kpp', $data['fields']['kpp']);
     $this->setField('price_sf_summa', $data['price']);
     $this->setField('nonds_sf_summa', $data['price']);
     $this->setField('pricends_sf_summa', $data['price']);
     $this->setField('num_invoice', $invoice_id);
     $original_name = $this->docs[self::BILL_FACTURA_TYPE]['name'];
     $this->docs[self::BILL_FACTURA_TYPE]['name'] = sprintf($original_name, $this->data['$sf_num']);
     $file = $this->generateExcel(self::BILL_FACTURA_TYPE);
     if (!$file) {
         throw new DocGenBillException(DocGenBillException::BILL_FACTURA_ERROR_MSG);
     }
     $is_done = $model->update($invoice_id, array('file_factura_id' => $file->id));
     if (!$is_done) {
         throw new DocGenBillException(DocGenBillException::BILL_FACTURA_ERROR_MSG);
     }
     return $file;
 }