Jump to content


rbslinux

Member Since 14/01/2009
Offline Last Active 08/11/2010, 11:52
-----

Posts I've Made

In Topic: Projeto Nota Fiscal Eletronica Em Php

08/04/2010, 20:38

Depois de quase um ano, resolvi dar sequencia ao projeto de Nota fiscal via php. Já fiz toda a parte de emissão, agora estou exportando do mysql para o xml. Segue uma parte do código que faz a exportação, ainda não está totalmente pronto, é só para mostrar que dei seguimento ao projeto e vou disponibiliza-lo todo aqui neste forum, para todo mundo.

<?php
/*
Script desenvolvido por Celio Alexandre Galli

rbslinux@ig.com.br
Entre em contato para alguma sugestão de melhoramento...
*/

/*Faz a conexão ao bando de dados -> crie um banco de dados qualquer com as variaveis que serao usadas
*/


/*Abre um arquivo chamado xml_gerado.xml (aconselhavel criar o arquivo manualmente e mudar atributos para gravar e ler 777 recomendado...
*/
include "Connections/conn.php";
$vai_xml = fopen("xlm_gerado.xml","w+");
$sqlcab001= mysql_query("Select * from cab001 where PEDIDO='$_GET[pedido]'") or die ("não consegui selecionar cab001");
while ($dadoscab001 = mysql_fetch_assoc($sqlcab001)) {
$nNF=$dadoscab001[NFe];
}
$sqlcab002= mysql_query("Select * from cab002 where PEDIDO='$_GET[pedido]'") or die ("não consegui selecionar cab002");
while ($dadoscab002 = mysql_fetch_assoc($sqlcab002)) {
$cUF=$dadoscab002[cUF];
$cNF=$dadoscab002[cNF];
$natOp=$dadoscab002[natOp];
$AAMM=$dadoscab002[AAMM];
$indPag=$dadoscab002[indPag];
$mod1=$dadoscab002[mod1];
$serie=$dadoscab002[serie];
$nNF=$dadoscab002[nNF];
$dEmi=$dadoscab002[dEmi];
$dSaiEnt=$dadoscab002[dSaiEnt];
$tpNF=$dadoscab002[tpNF];
$cMunFG=$dadoscab002[cMunFG];
$tpImp=$dadoscab002[tpImp];
$tpEmis=$dadoscab002[tpEmis];
$cDV=$dadoscab002[cDV];
$tpAmb=$dadoscab002[tpAmb];
$finNFe=$dadoscab002[finNFe];
$procEmi=$dadoscab002[procEmi];
$verProc=$dadoscab002[verProc];
$PEDIDO=$dadoscab002[PEDIDO];
}
$emitente= mysql_query("Select * from emitente where PEDIDO='$_GET[pedido]'");
while ($dados = mysql_fetch_assoc($emitente)) {
$razae=$dados['razaosocial'];
$fantasiae=$dados['fantasia'];
$inscricaoeste=$dados['inscricaoest'];
$cnaee=$dados['cnae'];
$cnpje=$dados['cnpj'];
$inscricaomune=$dados['inscricaomun'];
$inscricaoestste=$dados['inscricaoestst'];
$logradouroe=$dados['logradouro'];
$numeroe=$dados['numero'];
$complementoe=$dados['complemento'];
$bairroe=$dados['bairro'];
$cepe=$dados['cep'];
$paise=$dados['pais'];
$ufe=$dados['uf'];
$municipioe=$dados['municipio'];
$telefonee=$dados['telefone'];
$logotipoe=$dados['logotipo'];
}
//78.145.164/0001-54
$cnpje=str_replace(".", "", $cnpje);
$cnpje=str_replace("/", "", $cnpje);
$cnpje=str_replace("-", "", $cnpje);
$naleat="09";
$dv="08";
$id="$cUF$AAMM$cnpje$mod1$serie$nNF$naleat$dv'";
/*Começamos a gravar os dados no arquivo xlm....*/
//fwrite($vai_xml,'xml version=1.0 encoding=UTF-8\n');
//fwrite($vai_xml,"<NFe xmlns=http://www.portalfiscal.inf.br\n");
fwrite($vai_xml,"<infNFe> Id='$id' versao=1.10\n");
fwrite($vai_xml,"<ide>\n");
fwrite($vai_xml,"<cUF>$cUF</cUF>\n");
fwrite($vai_xml,"<cNF>$cNF</cNF>\n");
fwrite($vai_xml,"<natOp>$natOp</natOp>\n");
fwrite($vai_xml,"<indPag>$indPag</indPag>\n");
fwrite($vai_xml,"<mod>$mod1</mod>\n");
fwrite($vai_xml,"<serie>$serie</serie>\n");
fwrite($vai_xml,"<nNF>$nNF</nNF>\n");
fwrite($vai_xml,"<dEmi>$dEmi</dEmi>\n");
fwrite($vai_xml,"<dSaiEnt>$dSaiEnt</dSaiEnt>\n");
fwrite($vai_xml,"<tpNF>$tpNF</tpNF>\n");
fwrite($vai_xml,"<cMunFG>$cMunFG</cMunFG>\n");
fwrite($vai_xml,"<tpImp>$tpImp</tpImp>\n");
fwrite($vai_xml,"<tpEmis>$tpEmis</tpEmis>\n");
fwrite($vai_xml,"<cDV>$cDV</cDV>\n");
fwrite($vai_xml,"<tpAmb>$tpAmb</tpAmb>\n");
fwrite($vai_xml,"<finNFe>$finNFe</finNFe>\n");
fwrite($vai_xml,"<procEmi>$procEmi</procEmi>\n");
fwrite($vai_xml,"<verProc>NF-eletronica.com</verProc>\n");
fwrite($vai_xml,"</ide>\n");
fwrite($vai_xml,"<emite>\n");
fwrite($vai_xml,"<CNPJ>$cnpje</CNPJ>\n");
fwrite($vai_xml,"<xNome>$razae</xNome>\n");
fwrite($vai_xml,"<xFant>$fantasiae</xFant>\n");
fwrite($vai_xml,"<enderEmit>\n");
fwrite($vai_xml,"<xLgr>$logradouroe</xLgr>\n");
fwrite($vai_xml,"<nro>$numeroe</nro>\n");
fwrite($vai_xml,"<xCpl>$complementoe</xCpl>\n");
fwrite($vai_xml,"<xBairro>$bairroe</xBairro>\n");
fwrite($vai_xml,"<cMun>$cMunFG</cMun>\n");
fwrite($vai_xml,"<xMun>$municipioe</xMun>\n");
fwrite($vai_xml,"<UF>$ufe</UF>\n");
fwrite($vai_xml,"<CEP>$cepe</CEP>\n");
fwrite($vai_xml,"<cPais>$paise</cPais>\n");
fwrite($vai_xml,"<xPais>Brasil</xPais>\n");
fwrite($vai_xml,"<fone>$telefonee</fone>\n");
fwrite($vai_xml,"</enderEmit>\n");
fwrite($vai_xml,"<IE>$inscricaoeste</IE>\n");
fwrite($vai_xml,"</emite>\n");
fwrite($vai_xml,"<dest>\n");
fwrite($vai_xml,"<CNPJ>00000000000191</CNPJ>\n");
fwrite($vai_xml,"<xNome>DISTRIBUIDORA DE AGUAS MINERAIS</xNome>\n");
fwrite($vai_xml,"<enderDest>\n");
fwrite($vai_xml,"<xLgr>AV DAS FONTES</xLgr>\n");
fwrite($vai_xml,"<nro>1777</nro>\n");
fwrite($vai_xml,"<xCpl>10 ANDAR</xCpl>\n");
fwrite($vai_xml,"<xBairro>PARQUE FONTES</xBairro>\n");
fwrite($vai_xml,"<cMun>5030801</cMun>\n");
fwrite($vai_xml,"<xMun>Sao Paulo</xMun>\n");
fwrite($vai_xml,"<UF>SP</UF>\n");
fwrite($vai_xml,"<CEP>13950000</CEP>\n");
fwrite($vai_xml,"<cPais>1058</cPais>\n");
fwrite($vai_xml,"<xPais>BRASIL</xPais>\n");
fwrite($vai_xml,"<fone>1932011234</fone>\n");
fwrite($vai_xml,"</enderDest>\n");
fwrite($vai_xml,"<IE></IE>\n");
fwrite($vai_xml,"</dest>\n");
fwrite($vai_xml,"<retirada>\n");
fwrite($vai_xml,"<CNPJ>99171171000194</CNPJ>\n");
fwrite($vai_xml,"<xLgr>AV PAULISTA</xLgr>\n");
fwrite($vai_xml,"<nro>12345</nro>\n");
fwrite($vai_xml,"<xCpl>TERREO</xCpl>\n");
fwrite($vai_xml,"<xBairro>CERQUEIRA CESAR</xBairro>\n");
fwrite($vai_xml,"<cMun>3550308</cMun>\n");
fwrite($vai_xml,"<xMun>SAO PAULO</xMun>\n");
fwrite($vai_xml,"<UF>SP</UF>\n");
fwrite($vai_xml,"</retirada>\n");
fwrite($vai_xml,"<entrega>\n");
fwrite($vai_xml,"<CNPJ>99299299000194</CNPJ>\n");
fwrite($vai_xml,"<xLgr>AV FARIA LIMA</xLgr>\n");
fwrite($vai_xml,"<nro>1500</nro>\n");
fwrite($vai_xml,"<xCpl>15 ANDAR</xCpl>\n");
fwrite($vai_xml,"<xBairro>PINHEIROS</xBairro>\n");
fwrite($vai_xml,"<cMun>3550308</cMun>\n");
fwrite($vai_xml,"<xMun>SAO PAULO</xMun>\n");
fwrite($vai_xml,"<UF>SP</UF>\n");
fwrite($vai_xml,"</entrega>\n");
fwrite($vai_xml,"<det nItem='1'>\n");


fwrite($vai_xml,"</det>\n");


fwrite($vai_xml,"</infNFe>\n");
//fwrite($vai_xml,"</NFe>\n");


fclose($vai_xml);

?>

[quote name='rbslinux' date='06/04/2010, 22:32' timestamp='1270600337' post='998007']
Agora está tomando forma, estou apenas calibrando os campos, ainda existem alguns errinhos, mas estou arrumando.

<?php
/*
Script desenvolvido por Celio Alexandre Galli

rbslinux@ig.com.br
Entre em contato para alguma sugestão de melhoramento...
*/

/*Faz a conexão ao bando de dados -> crie um banco de dados qualquer com as variaveis que serao usadas
*/


/*Abre um arquivo chamado xml_gerado.xml (aconselhavel criar o arquivo manualmente e mudar atributos para gravar e ler 777 recomendado...
*/
include "Connections/conn.php";
include "funcoes.php";
$vai_xml = fopen("xlm_gerado.xml","w+");
$sqlcab001= mysql_query("Select * from cab001 where PEDIDO='$_GET[pedido]'") or die ("não consegui selecionar cab001");
while ($dadoscab001 = mysql_fetch_assoc($sqlcab001)) {
$nNF=$dadoscab001[NFe];
}
$sqlcab002= mysql_query("Select * from cab002 where PEDIDO='$_GET[pedido]'") or die ("não consegui selecionar cab002");
while ($dadoscab002 = mysql_fetch_assoc($sqlcab002)) {
$cUF=$dadoscab002[cUF];
$cNF=$dadoscab002[cNF];
$natOp=$dadoscab002[natOp];
$AAMM=$dadoscab002[AAMM];
$indPag=$dadoscab002[indPag];
$mod1=$dadoscab002[mod1];
$serie=$dadoscab002[serie];
$nNF=$dadoscab002[nNF];
$dEmi=$dadoscab002[dEmi];
$dSaiEnt=$dadoscab002[dSaiEnt];
$tpNF=$dadoscab002[tpNF];
$cMunFG=$dadoscab002[cMunFG];
$tpImp=$dadoscab002[tpImp];
$tpEmis=$dadoscab002[tpEmis];
$cDV=$dadoscab002[cDV];
$tpAmb=$dadoscab002[tpAmb];
$finNFe=$dadoscab002[finNFe];
$procEmi=$dadoscab002[procEmi];
$verProc=$dadoscab002[verProc];
$PEDIDO=$dadoscab002[PEDIDO];
}
$emitente= mysql_query("Select * from emitente where PEDIDO='$_GET[pedido]'");
while ($dados = mysql_fetch_assoc($emitente)) {
$razae=$dados['razaosocial'];
$fantasiae=$dados['fantasia'];
$inscricaoeste=$dados['inscricaoest'];
$cnaee=$dados['cnae'];
$cnpje=$dados['cnpj'];
$inscricaomune=$dados['inscricaomun'];
$inscricaoestste=$dados['inscricaoestst'];
$logradouroe=$dados['logradouro'];
$numeroe=$dados['numero'];
$complementoe=$dados['complemento'];
$bairroe=$dados['bairro'];
$cepe=$dados['cep'];
$paise=$dados['pais'];
$ufe=$dados['uf'];
$municipioe=$dados['municipio'];
$telefonee=$dados['telefone'];
$logotipoe=$dados['logotipo'];
}
//78.145.164/0001-54
$cnpje=str_replace(".", "", $cnpje);
$cnpje=str_replace("/", "", $cnpje);
$cnpje=str_replace("-", "", $cnpje);
$naleat="09";
$dv="08";
$id="NFe$cUF$AAMM$cnpje$mod1$serie$nNF$naleat$dv";
$sql6x= mysql_query("Select * from destinatario where pedido='$_GET[pedido]'") or die ("não consegui selecionar destinatario");
while ($dados = mysql_fetch_assoc($sql6x)) {
$codigo=$dados['codigo'];
$tipodoc=$dados['tipodoc'];
$cnpj=$dados['cnpj'];
$razao=$dados['razao'];
$inscricaoest=$dados['inscricaoest'];
$suframa=$dados['suframa'];
$isentoicms=$dados['isentoicms'];
$logradouro=$dados['logradouro'];
$numero=$dados['numero'];
$complemento=$dados['complemento'];
$bairro=$dados['bairro'];
$cep=$dados['cep'];
$pais=$dados['pais'];
$uf=$dados['uf'];
$municipio=$dados['municipio'];
$telefone=$dados['telefone'];
}
$cnpj=str_replace(".", "", $cnpj);
$cnpj=str_replace("/", "", $cnpj);
$cnpj=str_replace("-", "", $cnpj);
$sql7x= mysql_query("Select * from retirada where pedido='$_GET[pedido]'") or die ("não consegui selecionar retirada");
while ($dados1 = mysql_fetch_assoc($sql7x)) {
$CNPJ=$dados1['CNPJ'];
$xLgr=$dados1['xLgr'];
$nro=$dados1['nro'];
$xCpl=$dados1['xCpl'];
$xBairro=$dados1['xBairro'];
$cMun=$dados1['cMun'];
$xMun=$dados1['xMun'];
$xUF=$dados1['UF'];
}
$CNPJ=str_replace(".", "", $CNPJ);
$CNPJ=str_replace("/", "", $CNPJ);
$CNPJ=str_replace("-", "", $CNPJ);
/*Começamos a gravar os dados no arquivo xlm....*/
fwrite($vai_xml,'<?xml version="1.0" encoding="UTF-8"?>');
fwrite($vai_xml,"\n");
fwrite($vai_xml,"<NFe xmlns ='http://www.portalfiscal.inf.br/nfe'>");
fwrite($vai_xml,"\n");
fwrite($vai_xml,"<infNFe> Id='$id' versao=1.10\n");
fwrite($vai_xml,"<ide>\n");
fwrite($vai_xml,"<cUF>$cUF</cUF>\n");
fwrite($vai_xml,"<cNF>$cNF</cNF>\n");
fwrite($vai_xml,"<natOp>$natOp</natOp>\n");
fwrite($vai_xml,"<indPag>$indPag</indPag>\n");
fwrite($vai_xml,"<mod>$mod1</mod>\n");
fwrite($vai_xml,"<serie>$serie</serie>\n");
fwrite($vai_xml,"<nNF>$nNF</nNF>\n");
fwrite($vai_xml,"<dEmi>$dEmi</dEmi>\n");
fwrite($vai_xml,"<dSaiEnt>$dSaiEnt</dSaiEnt>\n");
fwrite($vai_xml,"<tpNF>$tpNF</tpNF>\n");
fwrite($vai_xml,"<cMunFG>$cMunFG</cMunFG>\n");
fwrite($vai_xml,"<tpImp>$tpImp</tpImp>\n");
fwrite($vai_xml,"<tpEmis>$tpEmis</tpEmis>\n");
fwrite($vai_xml,"<cDV>$cDV</cDV>\n");
fwrite($vai_xml,"<tpAmb>$tpAmb</tpAmb>\n");
fwrite($vai_xml,"<finNFe>$finNFe</finNFe>\n");
fwrite($vai_xml,"<procEmi>$procEmi</procEmi>\n");
fwrite($vai_xml,"<verProc>NF-eletronica.com</verProc>\n");
fwrite($vai_xml,"</ide>\n");
fwrite($vai_xml,"<emite>\n");
fwrite($vai_xml,"<CNPJ>$cnpje</CNPJ>\n");
fwrite($vai_xml,"<xNome>$razae</xNome>\n");
fwrite($vai_xml,"<xFant>$fantasiae</xFant>\n");
fwrite($vai_xml,"<enderEmit>\n");
fwrite($vai_xml,"<xLgr>$logradouroe</xLgr>\n");
fwrite($vai_xml,"<nro>$numeroe</nro>\n");
fwrite($vai_xml,"<xCpl>$complementoe</xCpl>\n");
fwrite($vai_xml,"<xBairro>$bairroe</xBairro>\n");
fwrite($vai_xml,"<cMun>$cMunFG</cMun>\n");
fwrite($vai_xml,"<xMun>$municipioe</xMun>\n");
fwrite($vai_xml,"<UF>$ufe</UF>\n");
fwrite($vai_xml,"<CEP>$cepe</CEP>\n");
fwrite($vai_xml,"<cPais>$paise</cPais>\n");
fwrite($vai_xml,"<xPais>Brasil</xPais>\n");
fwrite($vai_xml,"<fone>$telefonee</fone>\n");
fwrite($vai_xml,"</enderEmit>\n");
fwrite($vai_xml,"<IE>$inscricaoeste</IE>\n");
fwrite($vai_xml,"</emite>\n");
fwrite($vai_xml,"<dest>\n");
fwrite($vai_xml,"<CNPJ>$cnpj</CNPJ>\n");
fwrite($vai_xml,"<xNome>$razao</xNome>\n");
fwrite($vai_xml,"<enderDest>\n");
fwrite($vai_xml,"<xLgr>$logradouro</xLgr>\n");
fwrite($vai_xml,"<nro>$numero</nro>\n");
fwrite($vai_xml,"<xCpl>$complemento</xCpl>\n");
fwrite($vai_xml,"<xBairro>$bairro</xBairro>\n");
fwrite($vai_xml,"<cMun>$municipio</cMun>\n");
fwrite($vai_xml,"<xMun>$municipio</xMun>\n");
fwrite($vai_xml,"<UF>$uf</UF>\n");
fwrite($vai_xml,"<CEP>$cep</CEP>\n");
fwrite($vai_xml,"<cPais>1058</cPais>\n");
fwrite($vai_xml,"<xPais>BRASIL</xPais>\n");
fwrite($vai_xml,"<fone>$telefone</fone>\n");
fwrite($vai_xml,"</enderDest>\n");
fwrite($vai_xml,"<IE>$inscricaoest</IE>\n");
fwrite($vai_xml,"</dest>\n");
fwrite($vai_xml,"<retirada>\n");
fwrite($vai_xml,"<CNPJ>$CNPJ</CNPJ>\n");
fwrite($vai_xml,"<xLgr>$xLgr</xLgr>\n");
fwrite($vai_xml,"<nro>$nro</nro>\n");
fwrite($vai_xml,"<xCpl>$xCpl</xCpl>\n");
fwrite($vai_xml,"<xBairro>$xBairro</xBairro>\n");
fwrite($vai_xml,"<cMun>$cMun</cMun>\n");
fwrite($vai_xml,"<xMun>$xMun</xMun>\n");
fwrite($vai_xml,"<UF>$xUF</UF>\n");
fwrite($vai_xml,"</retirada>\n");
fwrite($vai_xml,"<entrega>\n");
fwrite($vai_xml,"<CNPJ>99299299000194</CNPJ>\n");
fwrite($vai_xml,"<xLgr>AV FARIA LIMA</xLgr>\n");
fwrite($vai_xml,"<nro>1500</nro>\n");
fwrite($vai_xml,"<xCpl>15 ANDAR</xCpl>\n");
fwrite($vai_xml,"<xBairro>PINHEIROS</xBairro>\n");
fwrite($vai_xml,"<cMun>3550308</cMun>\n");
fwrite($vai_xml,"<xMun>SAO PAULO</xMun>\n");
fwrite($vai_xml,"<UF>SP</UF>\n");
fwrite($vai_xml,"</entrega>\n");
$sqlxx= mysql_query("select * from produto where pedido='$_GET[pedido]'") or die ("nao consegui buscar produtos");
while ($dadox2 = mysql_fetch_assoc($sqlxx)) {
$item=$dadox2['item'];
$codigo=$dadox2['codigo'];
$descricao=$dadox2['descricao'];
$NCM=$dadox2['NCM'];
$CFOP=$dadox2['CFOP'];
$unidade=$dadox2['unidade'];
$qtde=$dadox2['qtdtrib'];
$valorunitario=$dadox2['valorunitario'];
$vProd=$valorunitario*$qtde;
fwrite($vai_xml,"<det nItem='$item'>");
fwrite($vai_xml,"<cProd>$codigo</cProd>");
fwrite($vai_xml,"<xProd>$descricao</xProd>");
fwrite($vai_xml,"<CFOP>$CFOP</CFOP>");
fwrite($vai_xml,"<uCom>$unidade</uCom>");
fwrite($vai_xml,"<qCom>$qtde</qCom>");
fwrite($vai_xml,"<vUnCom>$valorunitario</vUnCom>");
fwrite($vai_xml,"<vProd>$vProd</vProd>");
fwrite($vai_xml,"</det>\n");
}
fwrite($vai_xml,"</infNFe>\n");
//fwrite($vai_xml,"</NFe>\n");


fclose($vai_xml);

?>

IPB Skin By Virteq