PHP

PHP форма для PDF. Форма счета для фирмы

Входные данные через ГЕТ . id и кол-во. (писалось под битрикс. Ставить свои входные данные)
require_once 'tcpdf/tcpdf.php'; // подключаем библиотеку

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetTitle('Счет');




// ---------------------------------------------------------

// set font

// add a page
$pdf->AddPage();


$pdf->SetFont('freesans', '', 8);




include __DIR__ .'/../../../../../../../bitrix/php_interface/dbconn.php';//after_connect.php

$db = mysql_connect($DBHost,$DBLogin,$DBPassword);
$connect_to_bd = mysql_select_db($DBName,$db);
//mysql_query("SET NAMES 'cp1251'");mysql_query("SET CHARACTER SET 'cp1251'");
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'"); 
mysql_query("SET CHARACTER SET 'utf8'");

@session_start();



$OGRN = '';
$ADDR = '';
$FIO = '';
$PHONE = '';
$ZIP = '';
$KPP = '';
$NAME_MAN = '';
$NAME_COMP = '';
$EMAIL ='';
$SITY = '';
$ADDR_UR = '';
$INN = '';



$email = $_SESSION["SESS_AUTH"]['EMAIL'];
$all_prod = mysql_query("select `ORDER_ID` from `b_sale_order_props_value` where `VALUE`='$email' and `CODE`='EMAIL' ORDER BY `ID` DESC LIMIT 0,1");
while($prod = mysql_fetch_assoc($all_prod)){
// ORDER_ID
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='1' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$NAME_MAN .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='2' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$EMAIL .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='3' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$PHONE .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='4' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$ZIP .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='5' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$SITY .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='7' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$ADDR .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='8' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$NAME_COMP .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='9' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$ADDR_UR .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='10' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$INN .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='11' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$KPP .= $prod_ak['VALUE'];
}
}



if(empty($NAME_COMP) && empty($INN) && empty($KPP) && empty($ZIP) && empty($ADDR_UR) && empty($ADDR)){
$inp = '-';
}else{
$inp_a = '';
$inp = $NAME_COMP.' , ИНН  '.$INN.' , КПП '.$KPP.', '.$ZIP.', '.$ADDR.$ADDR_UR;
}

$ex_Q = explode(',',$_GET['prod_q']);
$ex_T = explode(',',$_GET['tablesP']);
$time = time();

/* ARRAY */
$array_date = array('1'=>'янаваря','2'=>'февраля','3'=>'марта','4'=>'апреля','5'=>'мая','6'=>'июня','7'=>'июля','8'=>'августа','9'=>'сентября','10'=>'октября','11'=>'ноября','12'=>'декабря');
$array_col = array('1'=>'один','2'=>'два','3'=>'три','4'=>'четыре','5'=>'пять','6'=>'шесть','7'=>'семь','8'=>'восемь','9'=>'девять','10'=>'десять',
'11'=>'одинадцать','12'=>'двенадцать','13'=>'тринадцать','14'=>'четырнадцать','15'=>'пятнадцать','16'=>'шестнадцать','17'=>'семнадцать','18'=>'восемнадцать','19'=>'девятнадцать','20'=>'двадцать',
'30'=>'тридцать','40'=>'сорок','50'=>'пятьдесят','60'=>'шестьдесят','70'=>'семдесят','80'=>'восемьдесят','90'=>'девяносто','100'=>'сто',
'200'=>'двести','300'=>'тристо','400'=>'четыреста','500'=>'пятьсот','600'=>'шестьсот','700'=>'семьсот','800'=>'восемьсот','900'=>'девятьсот');

$array_col_ROOT = array('1'=>'Один','2'=>'Два','3'=>'Три','4'=>'Четыре','5'=>'Пять','6'=>'Шесть','7'=>'Семь','8'=>'Восемь','9'=>'Девять','10'=>'Десять',
'11'=>'Одинадцать','12'=>'Двенадцать','13'=>'Тринадцать','14'=>'Четырнадцать','15'=>'Пятнадцать','16'=>'Шестнадцать','17'=>'Семнадцать','18'=>'Восемнадцать','19'=>'Девятнадцать','20'=>'Двадцать',
'30'=>'Тридцать','40'=>'Сорок','50'=>'Пятьдесят','60'=>'Шестьдесят','70'=>'Семдесят','80'=>'Восемьдесят','90'=>'Девяносто','100'=>'Сто',
'200'=>'Двести','300'=>'Тристо','400'=>'Четыреста','500'=>'Пятьсот','600'=>'Шестьсот','700'=>'Семьсот','800'=>'Восемьсот','900'=>'Девятьсот');



$schet = "ООО «Формула Безопасности-Урал», ИНН 6670397828, КПП 667001001, 620137,";
$schet_2 = "Свердловская обл,Екатеринбург г, Студенческая ул, дом № 1, корпус 18, оф.110";
$all_h1 = 'СЧЕТ на оплату № '.$time .'  от ';
$pok_1 ='Поставщик ';
$pok_2 = 'Покупатель ';
$date = date('j').' '.$array_date[date('n')].' '.date('Y');
$g = 'г.';
$tov = 'Товары (работы, услуги)';
$kol_vo =  'Кол-во';
$el =  'Ед.';
$cena =  'Цена';
$summa = 'Сумма';
$csht = 'шт';
$numberic = '№';
$RUB = ' руб';//Итого :
$itogo = 'Итого :';// НДС (18%, включен в цену):
$mini_nds = 'НДС (18%, включен в цену):'; // Всего к оплате :
$real_oplata = 'Всего к оплате :'; // Всего наименований 
$all_naim = 'Всего наименований '; // , на сумму 
$na_summ = ' , на сумму ';
$KOP = 'коп';
$RUKOVODITEL = 'Руководитель';
$BUXGALTER = 'Бухгалтер';


/* HEAD */

$one = <<<EOD
<table class="docs">
<tr><td colspan="8" class="left"><h3>
EOD;
$one .= $pdf->SetFont( '', 'b' ,14);
$one .= $pdf->Cell( 83,10, $all_h1, 0, 0, 'L',false );
$one .= $pdf->Cell( 36,10, $date, 0, 0, 'L',false );
$one .= $pdf->Cell( 15,10, $g, 0, 1, 'L',false );
$one .= $pdf->SetFont( '', '' ,11);
$one .=<<<EOD
</h3></td></tr>
<tr><td>
EOD;
$one .= $pdf->Cell( 25,4, $pok_1, 0, 0, 'L',false );
$one .= $pdf->SetFont( '', 'b' ,11);
$one .= $pdf->Cell( 70,5, $schet, 0, 1, 'L',false,'',0,true,'','' );
$one .= $pdf->Cell( 25,4, '', 0, 0, 'L',false );
$one .= $pdf->Cell( 70,5, $schet_2, 0, 1, 'L',false,'',0,true,'','' );
$one .= $pdf->SetFont( '', '' ,11);
$one .= $pdf->Cell( 25,4, $pok_2, 0, 0, 'L',false );
$one .= $pdf->SetFont( '', 'b' ,9);
$one .= $pdf->Cell( 70,12, $exel_or_all, 0, 1, 'L',false,'',0,true,'T','T' );
$one .= $pdf->SetFont( '', '' ,11);
$one .= $pdf->Cell( 94.9,0.4,'', 'B',0, 0, '',false );
$one .= $pdf->Cell( 40,0.4,'', 'B',0, 0, '',false );
$one .= $pdf->Cell( 10,0.4,'', 'B',0, 0, '',false );
$one .= $pdf->Cell( 20,0.4,'', 'B',0, 0, '',false );
$one .= $pdf->Cell( 20,0.4,'', 'B',1, 0, '',false );
$one .= $pdf->Cell( 0.4,4,'', 'L',0, 0, 'C',false );
$one .= $pdf->SetFont( '', 'b' ,11);
$one .= $pdf->Cell( 4,4, $numberic, 1, 0, 'C',false );
$one .= $pdf->Cell( 110,4, $tov, 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $kol_vo, 1, 0, 'C',false );
$one .= $pdf->Cell( 10,4, $el, 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $cena, 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $summa, 1, 0, 'C',false );
$one .= $pdf->Cell( 0.4,4,'', 'R',1, 0, 'C',false );
$one .= $pdf->SetFont( '', '' ,11);

$NUM_PROD = '';
for($i = 1;$i<=count($ex_Q)-1;$i++){

$moresumm_p = mysql_fetch_assoc(mysql_query("SELECT `PRICE` FROM  `b_catalog_price` WHERE `PRODUCT_ID`='{$ex_T[$i]}'"));
$table_price_num = $moresumm_p['PRICE']*$ex_Q[$i];
$tottal_sunn .= $table_price_num + $tottal_sunn;

$NUM_PROD = $ex_Q[$i] + $NUM_PROD;
/* ALL SUMM */
$WHERE_ALL_SUMM = $WHERE_ALL_SUMM + $table_price_num;
$NAMES_TOVAR = mysql_fetch_assoc(mysql_query("SELECT `NAME` FROM `b_iblock_element` WHERE `ID`='{$ex_T[$i]}'"));

$one .= $pdf->Cell( 0.4,4,'', 'L',0, 0, 'C',false );
$one .= $pdf->Cell( 4,4, $i, 1, 0, 'C',false );
$one .= $pdf->Cell( 110,4, $NAMES_TOVAR['NAME'], 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $ex_Q[$i], 1, 0, 'C',false );
$one .= $pdf->Cell( 10,4, $csht, 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $moresumm_p['PRICE'], 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $table_price_num, 1, 0, 'C',false );
$one .= $pdf->Cell( 0.4,4,'', 'R',1, 1, 'C',false );

}
$one .= $pdf->Cell( 94.9,0.4,'', 'T',0, 0, '',false );
$one .= $pdf->Cell( 40,0.4,'', 'T',0, 0, '',false );
$one .= $pdf->Cell( 10,0.4,'', 'T',0, 0, '',false );
$one .= $pdf->Cell( 20,0.4,'', 'T',0, 0, '',false );
$one .= $pdf->Cell( 20,0.4,'', 'T',1, 0, '',false );
$one .= $pdf->SetFont( '', 'b' ,11);
$one .= $pdf->Cell( 4,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 110,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 20,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 30,4, $itogo, 0, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $WHERE_ALL_SUMM.$RUB, 0, 1, 'C',false );

$NDS_FROM_XLS = ceil($WHERE_ALL_SUMM)/100*18;

$one .= $pdf->Cell( 4,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 82,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 15,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 46,4, $mini_nds, 0, 0, 'L',false );
$one .= $pdf->Cell( 40,4, $NDS_FROM_XLS.$RUB, 0, 1, 'R',false );
$one .= $pdf->Cell( 4,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 92,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 15,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 46,10, $real_oplata, 0, 0, 'R',false ,'',0,true,'T','T' );
$one .= $pdf->Cell( 30,4,$WHERE_ALL_SUMM.$RUB, 0, 1, 'R',false );
$one .= $pdf->Cell( 100,7,'', 0, 1, 'R',false );
$one .= $pdf->SetFont( '', '' ,10);
$one .= $pdf->Cell( 100,4,'Всего наименований '.$NUM_PROD.', на сумму '.$WHERE_ALL_SUMM.$RUB, 0, 1, 'L',false );


$all_summ = $WHERE_ALL_SUMM;

$cols = array(); 
while ($all_summ > 0) { 
    $cols[] = $all_summ % 10; 
    $all_summ = intval($all_summ / 10);  
} 
$cols_num = count($cols);
$summ_text = '';
for($ost = $cols_num;$ost>=0;$ost--){
if($cols[$ost]<5 and $cols[$ost]>1){$ok='я';}elseif($cols[$ost]==1){$ok='ь';}else{$ok='ей';}
if($cols[$ost]>1 and $cols[$ost]<5){$ok_2='а';}elseif($cols[$ost]==1){$ok_2='';}else{$ok_2='ов';}
if($cols[$ost]>1 and $cols[$ost]<5){$ok_3='и';}elseif($cols[$ost]==1){$ok_3='а';}else{$ok_3='';}
if($ost==0){$text='';$ii = (int)$cols[$ost];}
elseif($ost==1){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==2){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==3){$text='тысяч'.$ok_3;$ii = (int)$cols[$ost];}
elseif($ost==4){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==5){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==6){$text='миллион'.$ok_2;$ii = (int)$cols[$ost];}
elseif($ost==7){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==8){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==9){$text='миллирад'.$ok_2;$ii = (int)$cols[$ost];}
elseif($ost==10){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==11){$text='';$ii = (int)$cols[$ost].'00';}
else{$text='';}
if($ost==3){$summ_text.='тысяч'.$ok_3.' ';$ii = (int)$cols[$ost];}else{}
if($cols[$ost]==0){}else{
if($ost == $cols_num-1){$summ_text.=$array_col_ROOT[$ii].' '.$text.' ';}else{
$summ_text.=$array_col[$ii].' '.$text.' ';}
}
}
$summ_text.='рубл'.$ok;$ii = (int)$cols[$ost];

$one .= $pdf->Cell( 200,4, $summ_text, 0, 1, 'L',false );
$one .= $pdf->Cell( 70,10, '', 0, 1, 'L',false );
$one .= $pdf->Cell( 24,4, $RUKOVODITEL, 0, 0, 'L',false );
$one .= $pdf->Cell( 70,4, '______________________________', 0, 0, 'L',false );
$one .= $pdf->Cell( 24,4, $BUXGALTER , 0, 0, 'L',false );
$one .= $pdf->Cell( 20,4, '______________________________', 0, 0, 'L',false );


$pdf->writeHTML($one, true, false, false, false, '');
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/



//$pdf->writeHTML($tbl, true, false, false, false, '');

// -----------------------------------------------------------------------------

//Close and output PDF document
$pdf->Output(time().'.pdf', 'I');
Теги:
false, ORDER, mysql, VALUE, query, elseif, fetch, assoc, select, while, props, order, value, where, SetFont, LIMIT, array, PROPS, WHERE, empty, table, Всего, price, schet, NAMES, EMAIL, connect, сумму, PRICE, moresumm, TOVAR, writeHTML, tottal, email, оплате
Добавлено: 03 Августа 2013 03:41:58 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...