Exemplo n.º 1
0
 /**
  * Формирование актов и счет-фактур по данным из pskb_invoice_raw
  * Загрузка документов в сделку.
  * 
  * @param type $data  массив с данными - строка результата запроса из sbr_adm::processInvoiceData
  * @param type $error
  *
  * @return bool
  */
 public static function addInvoice($data, &$error = '')
 {
     $row = $data;
     if (!$row) {
         $error = 'Не найден аккредитив';
         return false;
     }
     if (!trim($row['addr'])) {
         $error = 'Не указан юрадрес';
         //            return false;
     }
     $sbr = sbr_meta::getInstanceLocal($row['emp_id']);
     $sbr->initFromId($row['sbr_id'], false, false, false);
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/odt2pdf.php';
     require_once dirname(__FILE__) . '/num_to_word.php';
     /*
      * Акт на сумму комиссии ВААН
      */
     $replace = array('USER_NAME' => $row['name'], 'ACT_SUM' => number_format($row['sum'], 2, ',', ''), 'NDS_SUM' => number_format($row['sum'] - $row['sum'] / 1.18, 2, ',', ''), 'NO_NDS_SUM' => number_format($row['sum'] / 1.18, 2, ',', ''), 'ACT_NUM' => intval($row['actnum']), 'DOC_NUM' => $sbr->getContractNum(), 'SUM_STR' => num2strEx(floatval($row['sum'])), 'ACT_DATE' => date('d.m.Y', strtotime($row['actdate'])));
     $tpl = 'pskb_close_act.ods';
     $pdf = new odt2pdf($tpl);
     $pdf->convert($replace);
     if (!($file = $sbr->_saveDocFile($pdf->Output(null, 'S')))) {
         $error = 'Ошибка при формировании Акта';
         return false;
     }
     $docs[] = array('file_id' => $file->id, 'status' => sbr::DOCS_STATUS_PUBL, 'access_role' => $row['is_emp'] ? sbr::DOCS_ACCESS_EMP : sbr::DOCS_ACCESS_FRL, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_PSKB_ACT);
     /*
      * Счет-фактура
      */
     $replace = array('USER_NAME' => $row['name'], 'USER_ADDR' => $row['addr'], 'USER_INN' => $row['inn'] . ($row['kpp'] ? '/' . $row['kpp'] : ''), 'INV_SUM' => number_format($row['sum'], 2, ',', ''), 'NDS_SUM' => number_format($row['sum'] - $row['sum'] / 1.18, 2, ',', ''), 'NO_NDS_SUM' => number_format($row['sum'] / 1.18, 2, ',', ''), 'INV_NUM' => intval($row['invnum']), 'DOC_NUM' => $sbr->getContractNum(), 'INV_DATE' => date('d.m.Y', strtotime($row['invdate'])));
     $tpl = 'pskb_close_invoice.ods';
     $pdf = new odt2pdf($tpl);
     $pdf->convert($replace);
     if (!($file = $sbr->_saveDocFile($pdf->Output(null, 'S')))) {
         $error = 'Ошибка при формировании счета-фактуры';
         return false;
     }
     $docs[] = array('file_id' => $file->id, 'status' => sbr::DOCS_STATUS_PUBL, 'access_role' => $row['is_emp'] ? sbr::DOCS_ACCESS_EMP : sbr::DOCS_ACCESS_FRL, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_FACTURA);
     foreach ($docs as $doc) {
         $ok = $sbr->addDocR($doc);
     }
     return true;
 }
Exemplo n.º 2
0
                   </table:table-cell>
                   <table:table-cell office:value-type="string">
                     <text:p>An online map</text:p>
                   </table:table-cell>
                   <table:table-cell office:value-type="string">
                     <text:p>
                       <text:a xlink:type="simple" xlink:href="http://maps.google.com/"
                         >http://maps.google.com</text:a>
                     </text:p>
                   </table:table-cell>
                 </table:table-row>
               </table:table>
';
*/
$descr_tz = '
               111
               <text:h text:outline-level="1"> A Table (Heading 1)</text:h>
               <text:p>222</text:p>
               <text:a xlink:type="simple" xlink:href="http://www.flickr.com/services/api/">http://www.flickr.com/services/api/</text:a>
';
$act_new = array('$sbr_num' => "СБР-109-Б/О-1", '$date_act' => "12.09.2012", '$date_sbr' => "12.09.2012", '$efio' => "Резидент Республики Беларусь", '$ffio' => "Александр Сергеевич Буров", '$sum_frl' => num2strEx($sum_frl, 'рублей Российской Федерации'), '$sum_emp' => num2strEx($sum_emp, 'рублей Российской Федерации'), '$tz_descr' => $descr_tz, '$work_time' => '3 дня на этап', '$work_type' => 'Промежуточной стоимости Работы', '$work_cost' => num2strEx($work_cost, 'рублей Российской Федерации'), '$is_arb_emp' => false, '$is_arb_frl' => false, '$user_arb' => 'Заказчик', '$result_arb' => 'Результат арбитража вынес потому что не работал такой то человек');
$t = new odt2pdf('arb_frl_soglashenie.odt');
$t->convert($act_new);
$content = $t->Output(NULL, 'S');
$file = new CFile();
//$file->table = 'file_sbr';
$file->path = 'uploader/';
$file->name = basename($file->secure_tmpname($file->path, '.pdf'));
$file->size = strlen($content);
$file->putContent($file->path . $file->name, $content);
//echo strlen($t->output);
Exemplo n.º 3
0
 /**
  * Генерация заявления о выплате через систему Яндекс.Деньги
  * 
  * @param array $error   вернет массив с ошибками.
  * @param type $act_num  № акта сдачи-приемки работ/услуг 
  * @return CFile   загруженный документ.
  */
 public function generateFrlYMAppl(&$error, $act_num = false)
 {
     require_once dirname(__FILE__) . '/fpdf/fpdf.php';
     define('FPDF_FONTPATH', dirname(__FILE__) . '/fpdf/font/');
     require_once dirname(__FILE__) . '/num_to_word.php';
     $error = NULL;
     $rq = $this->sbr->getFrlReqvs(true);
     if (!$this->sbr->checkUserReqvs($this->sbr->frl_reqvs)) {
         $error['frl'] = 'Для формирования заявления о выплате через систему "Яндекс.Деньги"<br/> необходимо заполнить реквизиты на странице "Финансы"';
     }
     if ($rq[1]['el_yd'] == '') {
         $error['frl'] = 'Для формирования заявления о выплате через систему "Яндекс.Деньги"<br/> необходимо заполнить заполнить номер кошелька Яндекс.Деньги';
     }
     $params = array();
     $params['$date_statement'] = $this->redate_act ? date("d {$GLOBALS['MONTHA'][date('n')]} Y", strtotime($this->redate_act)) : date("d {$GLOBALS['MONTHA'][date('n')]} Y");
     $params['$fio'] = $this->getFioFromReqvs($rq);
     $rq = $rq[1];
     foreach ($rq as $k => $v) {
         $params["\$" . $k] = $v;
     }
     if ($this->sbr->scheme_type == sbr::SCHEME_AGNT || $this->sbr->scheme_type == sbr::SCHEME_LC) {
         $params['$doc_offer'] = 'п.6.2. Оферты на заключение договора об использовании';
     } else {
         if ($this->sbr->scheme_type == sbr::SCHEME_PDRD || $this->sbr->scheme_type == sbr::SCHEME_PDRD2) {
             $params['$doc_offer'] = 'п.9.2. Оферты на заключение соглашения о выполнении работы и/или оказании услуги с использованием';
         }
     }
     $sbr_num = $this->sbr->getContractNum();
     $ssnum = $this->getOuterNum4Docs();
     $reserved_tm = strtotime($this->sbr->reserved_time);
     $payout_sum = $this->getPayoutSum(sbr::FRL, exrates::BANK);
     $params['$sbr_summ'] = sbr_meta::view_cost($payout_sum, NULL, false, ',', ' ');
     $params['$sbr_summ_str'] = num2strEx($payout_sum);
     $params['$act_doc'] = "";
     if ($act_num) {
         $params['$act_doc'] = "(акт сдачи-приемки работ/услуг № {$act_num} от " . date("d {$GLOBALS['MONTHA'][date('n')]} Y") . ")";
     } else {
         $params['$act_doc'] = "(акт сдачи-приемки работ/услуг от " . date("d {$GLOBALS['MONTHA'][date('n')]} Y") . " по договору Подряда № {$sbr_num}{$ssnum} от " . date('d ' . $GLOBALS['MONTHA'][date('n', $reserved_tm)] . ' Y г.', $reserved_tm) . ")";
     }
     $params['$sbr_id'] = $this->sbr->id;
     $params['$sbr_num'] = $sbr_num;
     $params['$sbr_date'] = date('d ' . $GLOBALS['MONTHA'][date('n', $reserved_tm)] . ' Y г.', $reserved_tm);
     $params['$ssnum'] = $ssnum;
     $params['$idcard_by'] = $rq['idcard_from'] . ' ' . $rq['idcard_by'];
     $tpl_name = 'yd_appl_fiz.xml';
     $pdf = sbr::xml2pdf($_SERVER['DOCUMENT_ROOT'] . "/norisk2/xml/{$tpl_name}", $params);
     if (!($file = $this->sbr->_saveDocFile($pdf->Output(NULL, 'S')))) {
         $error['fatal'] = "Ошибка при формировании заявления о выплате через систему \"Яндекс.Деньги\"";
     }
     return $file;
 }