Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.72 KB | None | 0 0
  1. <?php
  2.  
  3. /**************************************************************************************************************************/
  4.  
  5. $arquivo = "nf.txt";
  6. session_start();
  7. $_SESSION['conteudo']="";
  8.  
  9. //qtd de caracteres que cabem no campo
  10. $tam_campo['saida']=1;
  11. $tam_campo['entrada']=1;
  12. $tam_campo['natureza']=30;
  13. $tam_campo['cfop']=9;
  14. $tam_campo['ie_subst']=29;
  15. $tam_campo['razao']=70;
  16. $tam_campo['cnpj']=39;
  17. $tam_campo['dt_emiss']=16;
  18. $tam_campo['endereco']=70;
  19. $tam_campo['bairro']=22;
  20. $tam_campo['cep']=17;
  21. $tam_campo['dt_movto']=16;
  22. $tam_campo['municipio']=42;
  23. $tam_campo['fone']=20;
  24. $tam_campo['uf']=8;
  25. $tam_campo['iestadual']=39;
  26. $tam_campo['hora']=16;
  27. $tam_campo['codigo']=8;
  28. $tam_campo['descricao']=62;
  29. $tam_campo['cf']=5;
  30. $tam_campo['sit_trib']=6;
  31. $tam_campo['unid']=5;
  32. $tam_campo['qtd']=9;
  33. $tam_campo['vl_unit']=9;
  34. $tam_campo['vl_tot']=10;
  35. $tam_campo['aliq_icms']=3;
  36. $tam_campo['aliq_ipi']=2;
  37. $tam_campo['val_ipi']=9;
  38. $tam_campo['bs_icms']=19;
  39. $tam_campo['vl_icms']=19;
  40. $tam_campo['bs_icms2']=19;
  41. $tam_campo['vl_icms2']=19;
  42. $tam_campo['vl_totprod']=18;
  43. $tam_campo['vl_frete']=19;
  44. $tam_campo['vl_seguro']=19;
  45. $tam_campo['out_despesas']=19;
  46. $tam_campo['vl_ipi']=18;
  47. $tam_campo['vl_nota']=18;
  48. $tam_campo['razao_trans']=32;
  49. $tam_campo['resp_frete']=2;
  50. $tam_campo['placa']=9;
  51. $tam_campo['uf_placa']=2;
  52. $tam_campo['cnpj_trans']=21;
  53. $tam_campo['ender_trans']=33;
  54. $tam_campo['munisc_trans']=24;
  55. $tam_campo['uf_trans']=3;
  56. $tam_campo['ie_trans']=21;
  57. $tam_campo['qtd_volume']=7;
  58. $tam_campo['especie']=31;
  59. $tam_campo['marca']=9;
  60. $tam_campo['numero']=9;
  61. $tam_campo['peso_br']=11;
  62. $tam_campo['peso_lq']=14;
  63. $tam_campo['dado_adic']=35;
  64. $tam_campo['num_nf']=10;
  65.  
  66.  
  67. /**************************************************************************************************************************
  68.  
  69. function imprime_lpt1(arg1)
  70. Descricao: Funcao responsavel pela impressao diretamente na porta lpt1.
  71.  
  72. Requisitos: Internet Explorer superior que 5.0, mas nao testado no 5.5, testado e funcionando no 6.0.
  73. Nao testado em outros browsers
  74.  
  75. ****** IMPORTANTISSIMO ******
  76. Se estas alteracoes nao forem feitas, a impressao nao ocorrera corretamente.
  77. Alteracao das configuracoes de seguranca do navegador:
  78. Ferramentas -> Opcoes de Internet -> Seguranca ->
  79. Intranet local -> Nivel Personalizado ->
  80. Iniciar e executar scripts de controle ActiveX nao marcados como seguro -> Ativar
  81. Caso nao funcione:
  82. Internet -> Nivel Personalizado ->
  83. Iniciar e executar scripts de controle ActiveX nao marcados como seguro -> Ativar
  84.  
  85. Entrada: Linha que sera impressa na autenticacao ou o comprovante de pagamento.
  86.  
  87. Saida: Impressao em impressora fiscal do argumento de entrada.
  88.  
  89. **************************************************************************************************************************/
  90.  
  91. function linha($lin){
  92. for($i=1;$i<=$lin;$i++)
  93. $_SESSION['conteudo'] .= "\r\n";
  94. }
  95.  
  96. function coluna($sp){
  97. for($i=1;$i<=$sp;$i++)
  98. $_SESSION['conteudo'] .= " ";
  99. }
  100.  
  101.  
  102.  
  103. /**************************************************************************************************************************/
  104.  
  105.  
  106. $fp = fopen($arquivo, "w");
  107. linha(5);coluna(76);
  108. $_SESSION['conteudo'].='X';
  109.  
  110. coluna(11);
  111. $_SESSION['conteudo'].='X';
  112.  
  113. linha(8);coluna(3);
  114. $_SESSION['conteudo'].='VENDA MERCADORIA';
  115.  
  116. $_POST['natureza']='Venda de Mercadoria';
  117. coluna($tam_campo['natureza']-strlen($_POST['natureza'])+7);
  118. $_SESSION['conteudo'].='5.102';
  119.  
  120. $_POST['cfop']='5.102';
  121. coluna($tam_campo['cfop']-strlen($_POST['cfop'])+5);
  122. $_SESSION['conteudo'].='123.456.789.123';
  123.  
  124. linha(3);coluna(3);
  125. $_SESSION['conteudo'].='Nome do Cliente';
  126.  
  127. $_POST['razao']='Nome do Cliente';
  128. coluna($tam_campo['razao']-strlen($_POST['razao'])+5);
  129. $_SESSION['conteudo'].='060.033.100/0001-04';
  130.  
  131. $_POST['cnpj']='060.033.115/0001-04';
  132. coluna($tam_campo['cnpj']-strlen($_POST['cnpj'])+8);
  133. $_SESSION['conteudo'].='19/02/2008';
  134.  
  135. linha(2);coluna(3);
  136. $_SESSION['conteudo'].='Endereço do Cliente';
  137.  
  138. $_POST['endereco']='Endereço do Cliente';
  139. coluna($tam_campo['endereco']-strlen($_POST['endereco'])+5);
  140. $_SESSION['conteudo'].='Bairro';
  141.  
  142. $_POST['bairro']='Bairro';
  143. coluna($tam_campo['bairro']-strlen($_POST['bairro'])+5);
  144. $_SESSION['conteudo'].='09790-290';
  145.  
  146. $_POST['cep']='09790-290';
  147. coluna($tam_campo['cep']-strlen($_POST['cep'])+3);
  148. $_SESSION['conteudo'].='19/02/2008';
  149.  
  150. linha(2);coluna(3);
  151. $_SESSION['conteudo'].='Municipio do Cliente';
  152.  
  153. $_POST['municipio']='Municipo do Cliente';
  154. coluna($tam_campo['municipio']-strlen($_POST['municipio'])+2);
  155. $_SESSION['conteudo'].='(11)4334-2345';
  156.  
  157. $_POST['fone']='(11)4334-2345';
  158. coluna($tam_campo['fone']-strlen($_POST['fone'])+3);
  159. $_SESSION['conteudo'].='SP';
  160.  
  161. $_POST['uf']='SP';
  162. coluna($tam_campo['uf']-strlen($_POST['uf'])+3);
  163. $_SESSION['conteudo'].='321.321.321.321';
  164.  
  165. $_POST['iestadual']='321.321.321.321';
  166. coluna($tam_campo['iestadual']-strlen($_POST['iestadual'])+6);
  167. $_SESSION['conteudo'].='10:40';
  168.  
  169. linha(3);coluna(3);
  170. $_SESSION['conteudo'].='Dados de Faturamento ao cliente'.chr(15);
  171.  
  172. linha(3);
  173. /*************************** PRODUTOS ******************************/
  174. for($r=1;$r<=18;$r++){
  175. linha(1);coluna(3);
  176. $_SESSION['conteudo'].='Cod.P.';
  177.  
  178. $_POST['codigo'.$r].='Cod.P.';
  179. coluna($tam_campo['codigo']-strlen($_POST['codigo'.$r])+1);
  180. $_SESSION['conteudo'].='Descrição do Produto Descrição do Produto Descrição do';
  181.  
  182. $_POST['descricao'.$r].='Descrição do Produto Descrição do Produto Descrição do';
  183. coluna($tam_campo['descricao']-strlen($_POST['descricao'.$r])+3);
  184. $_SESSION['conteudo'].='(1)';
  185.  
  186. $_POST['cf'.$r].='(1)';
  187. coluna($tam_campo['cf']-strlen($_POST['cf'.$r])+1);
  188. $_SESSION['conteudo'].='ST';
  189.  
  190. $_POST['sit_trib'.$r].='ST';
  191. coluna($tam_campo['sit_trib']-strlen($_POST['sit_trib'.$r])+1);
  192. $_SESSION['conteudo'].='Un';
  193.  
  194. $_POST['unid'.$r].='Un';
  195. coluna($tam_campo['unid']-strlen($_POST['unid'.$r])+2);
  196. $_SESSION['conteudo'].='Qt.';
  197.  
  198. $_POST['qtd'.$r].='Qt.';
  199. coluna($tam_campo['qtd']-strlen($_POST['qtd'.$r])+1);
  200. $_SESSION['conteudo'].='VlUnit';
  201.  
  202. $_POST['vl_unit'.$r].='VlUnit';
  203. coluna($tam_campo['vl_unit']-strlen($_POST['vl_unit'.$r])+2);
  204. $_SESSION['conteudo'].='Valor T.';
  205.  
  206. $_POST['vl_tot'.$r].='Valor T.';
  207. coluna($tam_campo['vl_tot']-strlen($_POST['vl_tot'.$r])+5);
  208. $_SESSION['conteudo'].='12';
  209. }
  210. // coluna($tam_campo['aliq_icms']-strlen($_POST['aliq_icms'.$r])+1);
  211. // $_SESSION['conteudo'].=$_POST['aliq_ipi'.$r];
  212.  
  213. // coluna($tam_campo['aliq_ipi']-strlen($_POST['aliq_ipi'.$r])+1);
  214. // $_SESSION['conteudo'].=$_POST['val_ipi'.$r];
  215.  
  216. /*******************************************************************/
  217. linha(3);coluna(3);
  218. $_SESSION['conteudo'].='bs_icms';
  219.  
  220. $_POST['bs_icms'].='bs_icms';
  221. coluna($tam_campo['bs_icms']-strlen($_POST['bs_icms'])+10);
  222. $_SESSION['conteudo'].='vl_icms';
  223.  
  224. $_POST['vl_icms'].='vl_icms';
  225. coluna($tam_campo['vl_icms']-strlen($_POST['vl_icms'])+10);
  226. $_SESSION['conteudo'].='bs_icms2';
  227.  
  228. $_POST['bs_icms2'].='bs_icms2';
  229. coluna($tam_campo['bs_icms2']-strlen($_POST['bs_icms2'])+10);
  230. $_SESSION['conteudo'].='vl_icms2';
  231.  
  232. $_POST['vl_icms2'].='vl_icms2';
  233. coluna($tam_campo['vl_icms2']-strlen($_POST['vl_icms2'])+9);
  234. $_SESSION['conteudo'].='vl_totprod';
  235.  
  236. linha(2);coluna(3);
  237. $_SESSION['conteudo'].='vl_frete';
  238.  
  239. $_POST['vl_frete'].='vl_frete';
  240. coluna($tam_campo['vl_frete']-strlen($_POST['vl_frete'])+10);
  241. $_SESSION['conteudo'].='vl_seguro';
  242.  
  243. $_POST['vl_seguro'].='vl_seguro';
  244. coluna($tam_campo['vl_seguro']-strlen($_POST['vl_seguro'])+10);
  245. $_SESSION['conteudo'].='out_despesas';
  246.  
  247. $_POST['out_despesas'].='out_despesas';
  248. coluna($tam_campo['out_despesas']-strlen($_POST['out_despesas'])+10);
  249. $_SESSION['conteudo'].='vl_ipi';
  250.  
  251. $_POST['vl_ipi'].='vl_ipi';
  252. coluna($tam_campo['vl_ipi']-strlen($_POST['vl_ipi'])+10);
  253. $_SESSION['conteudo'].='vl_nota';
  254.  
  255. linha(3);coluna(3);
  256. $_SESSION['conteudo'].='razao_trans';
  257.  
  258. $_POST['razao_trans'].='razao_trans';
  259. coluna($tam_campo['razao_trans']-strlen($_POST['razao_trans'])+51);
  260. $_SESSION['conteudo'].='1';
  261.  
  262. $_POST['resp_frete'].='resp_frete';
  263. coluna($tam_campo['resp_frete']-strlen($_POST['resp_frete'])+14);
  264. $_SESSION['conteudo'].='placa';
  265.  
  266. $_POST['placa'].='placa';
  267. coluna($tam_campo['placa']-strlen($_POST['placa'])+5);
  268. $_SESSION['conteudo'].='uf';
  269.  
  270. $_POST['uf_placa'].='uf_placa';
  271. coluna($tam_campo['uf_placa']-strlen($_POST['uf_placa'])+11);
  272. $_SESSION['conteudo'].='cnpj_trans';
  273.  
  274. linha(2);coluna(3);
  275. $_SESSION['conteudo'].='ender_trans';
  276.  
  277. $_POST['ender_trans'].='ender_trans';
  278. coluna($tam_campo['ender_trans']-strlen($_POST['ender_trans'])+40);
  279. $_SESSION['conteudo'].='munisc_trans';
  280.  
  281. $_POST['munisc_trans'].='munisc_trans';
  282. coluna($tam_campo['munisc_trans']-strlen($_POST['munisc_trans'])+7);
  283. $_SESSION['conteudo'].='uf';
  284.  
  285. $_POST['uf_trans'].='uf_trans';
  286. coluna($tam_campo['uf_trans']-strlen($_POST['uf_trans'])+10);
  287. $_SESSION['conteudo'].='ie_trans';
  288.  
  289. linha(2);coluna(3);
  290. $_SESSION['conteudo'].='qtd_volume';
  291.  
  292. $_POST['qtd_volume'].='qtd_volume';
  293. coluna($tam_campo['qtd_volume']-strlen($_POST['qtd_volume'])+10);
  294. $_SESSION['conteudo'].='especie';
  295.  
  296. $_POST['especie'].='especie';
  297. coluna($tam_campo['especie']-strlen($_POST['especie'])+2);
  298. $_SESSION['conteudo'].='marca';
  299.  
  300. $_POST['marca'].='marca';
  301. coluna($tam_campo['marca']-strlen($_POST['marca'])+13);
  302. $_SESSION['conteudo'].='numero';
  303.  
  304. $_POST['numero'].='numero';
  305. coluna($tam_campo['numero']-strlen($_POST['numero'])+15);
  306. $_SESSION['conteudo'].='peso_br';
  307.  
  308. $_POST['peso_br'].='peso_br';
  309. coluna($tam_campo['peso_br']-strlen($_POST['peso_br'])+13);
  310. $_SESSION['conteudo'].='peso_lq';
  311.  
  312. linha(2);coluna(3);
  313. $_SESSION['conteudo'].='dado_adic1';
  314.  
  315. linha(1);coluna(2);
  316. $_SESSION['conteudo'].='dado_adic2';
  317.  
  318. linha(1);coluna(2);
  319. $_SESSION['conteudo'].='dado_adic3';
  320.  
  321. linha(1);coluna(2);
  322. $_SESSION['conteudo'].='dado_adic4';
  323.  
  324. linha(1);coluna(2);
  325. $_SESSION['conteudo'].='dado_adic5';
  326.  
  327. linha(1);coluna(2);
  328. $_SESSION['conteudo'].='dado_adic6';
  329.  
  330. linha(7);coluna(115);
  331. $_SESSION['conteudo'].='num_nf';
  332.  
  333. $escreve = fwrite($fp, $_SESSION['conteudo']);
  334. fclose($fp);
  335.  
  336.  
  337.  
  338. ?>
  339.  
  340. <html>
  341. <head>
  342. <script>
  343.  
  344. function cria_bat(){
  345. //Cria objeto para manipulacao de arquivos no cliente.
  346. var fso = new ActiveXObject("Scripting.FileSystemObject");
  347. if ( !(fso.FileExists("c:\\imprime.bat")) ) {
  348. //Cria o arquivo imprime.bat, escreve o comando responsavel pela impressao e fecha o arquivo.
  349. var b = fso.CreateTextFile("c:\\imprime.bat", true);
  350. b.WriteLine("type G:\\\\httpraiz\\\\nf\\\\<?=$arquivo;?> > LPT1");
  351. b.Close();
  352. }
  353. }
  354.  
  355. function imprime() {
  356. //Cria um objeto para execucao de um programa no computador do cliente.
  357. var WshShell = new ActiveXObject("WScript.Shell");
  358. //Executa o arquivo responsavel pela impressao do arquivo imprime.prn.
  359. var oExec = WshShell.Exec("c:\\imprime.bat");
  360. }
  361. </script>
  362. </head>
  363. <body>
  364. <script>
  365. cria_bat();
  366. imprime();
  367. </script>
  368. </body>
  369. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement