/** * Формирование актов и счет-фактур по данным из 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; }
</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);
</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);