Módulo Download XML não está buscando Nota Fiscal e Cnpj/cpf

  • marcosgomes
  • Avatar de marcosgomes Autor do Tópico
  • Offline
  • JCB! Iniciante
  • JCB! Iniciante
Mais
14 anos 8 meses atrás #43979 por marcosgomes
marcosgomes created the topic: Módulo Download XML não está buscando Nota Fiscal e Cnpj/cpf
Olá pessoal,

Me perdoem se aqui não for o lugar correto de postar este tópico.
Procurei aqui mas não encontrei nada que se encaixasse.

Tenho o código abaixo que foi criado no "administrar módulo" na opção - HTML Personalizado, este código ele deve fazer o seguinte:

Após entrar com os campos Nota fiscal e Cnpj/Cpf ele deve pesquisar na pasta Public_html/XML entre vários arquivos xml quais deles possuem o Número da nota fiscal e o Cnpj ou Cpf digitados nos campos.

Se entre os arquivos que estão na pasta /XML conter a nota fiscal e Cnpj ou Cpf, o programa irá gerar um "link" para que o visitante do site possa baixar o arquivo.

OBS: essa necessidade surgiu após a lei da Nota Fiscal Eletrônica, todos que comprarem de um determinado estabelecimento deve além da nota fiscal normal, ter a opção de baixar seu arquivo XML pela internet ou outro meio. (segundo informação do cliente)

NOTA: segundo um dos meus parceiros de desenvolvimento será necessário utilizar o seguinte Plugin "Sourcerer-v2.7.1" para o funcionamento deste código no módulo do Joomla. Meu prazo esgotou e meu parceiro não está tendo tempo de concluir está funcionalidade no SITE e eu não sei como fazer.

Preciso de ajuda para saber por que o código não está funcionando dentro do módulo, o que eu tenho que fazer?...

Veja o código abaixo:
{source}
<div>
<h1>Download XML</h1>
<p>Entre com o número da Nota Fiscal e o CPF/CNPJ</p>
<div style="width: 86%; border: #cccccc thin solid; padding: 10px;">
<div>
<table style="border-collapse:collapse;" border="0" cellspacing="0" cellpadding="0" width="72%">
<!--DWLayoutTable-->
<form id="validar-form" action="" enctype="application/x-www-form-urlencoded" method="post">
<tbody>
<tr>
<td width="92" height="22">Nº da NFe:</td>
<td colspan="2"><input name="Nf" type="text" size="27" maxlength="27" /></td>
</tr>
<tr>
<td width="92" height="22">CNPJ/CPF:</td>
<td colspan="2"><input name="Cnpj-Cpf" type="text"  size="27" maxlength="27"/></td>
</tr>
<tr>
<td height="0"> </td>
<td colspan="2"></td>
</tr>
<tr>
<td height="19"><!--DWLayoutEmptyCell-->&nbsp;</td>
<td valign="middle"><!--DWLayoutEmptyCell-->&nbsp;</td>
<td valign="middle"><!--DWLayoutEmptyCell-->&nbsp;</td>
</tr>
<tr>
<td height="24"><!--DWLayoutEmptyCell-->&nbsp;</td>
<td width="89" valign="middle"><input name="Submit" type="submit" value="Enviar" />
<label></label></td>
<td width="276" valign="middle"><input name="Limpar" type="reset" id="Limpar" value="Limpar"></td>
</tr>
</tbody>
</form>
</table>
</div>
</div>
</div>
<h2>Nota Fiscal Eletrônica - NFE</h2>
<p>O projeto da Nota Fiscal Eletrônica foi desenvolvido
para minimizar os impactos causados no meio ambiente.</p>

<?php

if(isset($_POST&#91;"Submit"&#93;))
{
if(!empty($_POST&#91;"Nf"&#93;)&&!empty($_POST&#91;"Cnpj-Cpf"&#93;))
{

if(is_numeric($_POST&#91;"Nf"&#93;)&&is_numeric($_POST&#91;"Cnpj-Cpf"&#93;))
{

$resultado = buscar_nf($_POST&#91;"Nf"&#93;,$_POST&#91;"Cnpj-Cpf"&#93;);
echo $resultado;
}
else
{
echo("<center>Os campos devem ser numéricos<br></center>");
}
}            
else
{
echo("<center>Todos os campos devem ser preenchidos</center>");
}


}//fim if

$diret=getcwd();

var_dump($_POST);

define("DIRETORIO",$_SERVER&#91;'DOCUMENT_ROOT'&#93;."/XML/");

* Modulo download XML Nota Fiscal Eletrônica 
* Procede primeiramente a validação de dados do usuário,onde é verificado
* a existência do numero da nf,do CNPJ ou CPF
* Após a validação ocorre a varredura da pasta e dos nós do arquivo 
* XML em busca das ocorrências,retornando o link para o usuario proceder o download
*
* @author Roger Wallace Perroni
* 
*/
$arquivos=array();
if(isset($_GET&#91;"arquivo"&#93;))
{
$host=$_SERVER&#91;'DOCUMENT_ROOT'&#93;."/XML/";
header("Content-Disposition: attachment; filename=nota_fiscal.xml");
header("Content-type: application/xml");
readfile($host.$_GET&#91;"arquivo"&#93;);
}

function buscar_nf($nf,$cnpj_cpf)
{    
$path=DIRETORIO;
$resultado="<center>Não foi encontrada nenhuma ocorrência nos arquivos<br></center>";
$dir=opendir(DIRETORIO);

while ($nome_arqs = readdir($dir)) 
{
$arquivos&#91;&#93; = $nome_arqs;
}
foreach($arquivos as $arqs)
{
if(pesquisar_xml($arqs,$nf,$cnpj_cpf))
{
$resultado="<center>Utilize o link abaixo para efetuar o download do arquivo XML<br><a href='modulo.php?arquivo=$arqs'>Clique aqui para fazer o Download</a></center>";

}

}

return $resultado;
}


function pesquisar_xml($nome_arquivo,$nf_pesq,$cnpj_cpf_pesq)
{
$flag_controle=false;

$controle=0;

$valor_nf=0;

$valor_cpf=0;

$valor_cnpj=0;

$doc = new DOMDocument();

@$doc->load(DIRETORIO.$nome_arquivo );

$numeros_nf = $doc->getElementsByTagName( "ide" );

foreach( $numeros_nf as $numero_nf )
{

$nf = $numero_nf->getElementsByTagName( "nNF" );
$valor_nf = utf8_decode($nf->item(0)->nodeValue);


}

$numeros_cnpj = $doc->getElementsByTagName( "dest" );

foreach( $numeros_cnpj as $numero_cnpj )
{

$cnpj = $numero_cnpj->getElementsByTagName( "CNPJ" );
$valor_cnpj = utf8_decode($cnpj->item(0)->nodeValue);


}

$numeros_cpf = $doc->getElementsByTagName( "dest" );

foreach( $numeros_cpf as $numero_cpf )
{

$cpf = $numero_cpf->getElementsByTagName( "CPF" );
$valor_cpf = utf8_decode($cpf->item(0)->nodeValue);


}

if($nf_pesq==$valor_nf)
{
$controle++;
}

if($cnpj_cpf_pesq==$valor_cnpj)
{
$controle++;
}

if($cnpj_cpf_pesq==$valor_cpf)
{
$controle++;
}

if($controle >= 2)
{
$flag_controle=true;
}

return $flag_controle;

}

?>
{/source}

Abaixo temos o modelo de um dos arquivos XML o qual será feito a pesquisa dentro dele, para buscar a Nota fiscal e Cnpj ou Cpf:
- <nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
- <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
- <infNFe versao="2.00" Id="NFe52101100740727000105550030000010361000588203">
- <ide>
  <cUF>52</cUF> 
  <cNF>00058820</cNF> 
  <natOp>VENDA DE MERC.ADQ.OU REC.TERC.</natOp> 
  <indPag>0</indPag> 
  <mod>55</mod> 
  <serie>3</serie> 
  <nNF>1036</nNF> 
  <dEmi>2010-11-22</dEmi> 
  <dSaiEnt>2010-11-22</dSaiEnt> 
  <hSaiEnt>07:29:18</hSaiEnt> 
  <tpNF>1</tpNF> 
  <cMunFG>5208707</cMunFG> 
  <tpImp>1</tpImp> 
  <tpEmis>1</tpEmis> 
  <cDV>3</cDV> 
  <tpAmb>1</tpAmb> 
  <finNFe>1</finNFe> 
  <procEmi>0</procEmi> 
  <verProc>1.1.5.2</verProc> 
  </ide>
- <emit>
  <CNPJ>00740727000105</CNPJ> 
  <xNome>FABIANTEX IND. COM.TECIDOS E AVIAM.LTDA</xNome> 
  <xFant>FABIANTEX DISTRIBUIDORA DE MALHAS</xFant> 
- <enderEmit>
  <xLgr>AV ANHANGUERA N 8363 Q 100 L 07</xLgr> 
  <nro>s/n</nro> 
  <xBairro>CAMPINAS</xBairro> 
  <cMun>5208707</cMun> 
  <xMun>GOIANIA</xMun> 
  <UF>GO</UF> 
  <CEP>74503100</CEP> 
  <cPais>1058</cPais> 
  <xPais>BRASIL</xPais> 
  <fone>6232333138</fone> 
  </enderEmit>
  <IE>102758883</IE> 
  <IM>1093126</IM> 
  <CNAE>4642701</CNAE> 
  <CRT>3</CRT> 
  </emit>
- <dest>
  <CNPJ>33620402000148</CNPJ> 
  <xNome>JACOST ENXOVAIS E CONFECCAO LTDA ME</xNome> 
- <enderDest>
  <xLgr>AVE BERNARDO SAYAO QD 57 LT 12 N/1351</xLgr> 
  <nro>s/n</nro> 
  <xBairro>SETOR CENTRAL</xBairro> 
  <cMun>5210000</cMun> 
  <xMun>INHUMAS</xMun> 
  <UF>GO</UF> 
  <CEP>75400000</CEP> 
  <cPais>1058</cPais> 
  <xPais>BRASIL</xPais> 
  <fone>0000000000</fone> 
  </enderDest>
  <IE>104552638</IE> 
  </dest>
- <det nItem="1">
- <prod>
  <cProd>3</cProd> 
  <cEAN /> 
  <xProd>MALHA FIO 24.1 90 CM - ESCURA - 100% algodao</xProd> 
  <NCM>60</NCM> 
  <CFOP>5102</CFOP> 
  <uCom>KG</uCom> 
  <qCom>304.5100</qCom> 
  <vUnCom>11.0200</vUnCom> 
  <vProd>3355.70</vProd> 
  <cEANTrib /> 
  <uTrib>KG</uTrib> 
  <qTrib>304.5100</qTrib> 
  <vUnTrib>11.0200</vUnTrib> 
  <indTot>1</indTot> 
  </prod>
- <imposto>
- <ICMS>
- <ICMS20>
  <orig>0</orig> 
  <CST>20</CST> 
  <modBC>3</modBC> 
  <pRedBC>7.00</pRedBC> 
  <vBC>1973.94</vBC> 
  <pICMS>17.00</pICMS> 
  <vICMS>335.57</vICMS> 
  </ICMS20>
  </ICMS>
- <PIS>
- <PISAliq>
  <CST>01</CST> 
  <vBC>3355.70</vBC> 
  <pPIS>1.65</pPIS> 
  <vPIS>55.37</vPIS> 
  </PISAliq>
  </PIS>
- <COFINS>
- <COFINSAliq>
  <CST>01</CST> 
  <vBC>3355.70</vBC> 
  <pCOFINS>7.60</pCOFINS> 
  <vCOFINS>255.03</vCOFINS> 
  </COFINSAliq>
  </COFINS>
  </imposto>
  </det>
- <det nItem="2">
- <prod>
  <cProd>1</cProd> 
  <cEAN /> 
  <xProd>MALHA FIO 24.1 90 CM - CLARA - 100% algodao</xProd> 
  <NCM>60</NCM> 
  <CFOP>5102</CFOP> 
  <uCom>KG</uCom> 
  <qCom>217.0100</qCom> 
  <vUnCom>10.7400</vUnCom> 
  <vProd>2330.69</vProd> 
  <cEANTrib /> 
  <uTrib>KG</uTrib> 
  <qTrib>217.0100</qTrib> 
  <vUnTrib>10.7400</vUnTrib> 
  <indTot>1</indTot> 
  </prod>
- <imposto>
- <ICMS>
- <ICMS20>
  <orig>0</orig> 
  <CST>20</CST> 
  <modBC>3</modBC> 
  <pRedBC>7.00</pRedBC> 
  <vBC>1370.99</vBC> 
  <pICMS>17.00</pICMS> 
  <vICMS>233.07</vICMS> 
  </ICMS20>
  </ICMS>
- <PIS>
- <PISAliq>
  <CST>01</CST> 
  <vBC>2330.69</vBC> 
  <pPIS>1.65</pPIS> 
  <vPIS>38.46</vPIS> 
  </PISAliq>
  </PIS>
- <COFINS>
- <COFINSAliq>
  <CST>01</CST> 
  <vBC>2330.69</vBC> 
  <pCOFINS>7.60</pCOFINS> 
  <vCOFINS>177.13</vCOFINS> 
  </COFINSAliq>
  </COFINS>
  </imposto>
  </det>
- <det nItem="3">
- <prod>
  <cProd>4</cProd> 
  <cEAN /> 
  <xProd>MALHA FIO 24.1 90 CM - ESTAMPADA - 100% algodao</xProd> 
  <NCM>60</NCM> 
  <CFOP>5102</CFOP> 
  <uCom>KG</uCom> 
  <qCom>748.5300</qCom> 
  <vUnCom>12.2100</vUnCom> 
  <vProd>9139.55</vProd> 
  <cEANTrib /> 
  <uTrib>KG</uTrib> 
  <qTrib>748.5300</qTrib> 
  <vUnTrib>12.2100</vUnTrib> 
  <indTot>1</indTot> 
  </prod>
- <imposto>
- <ICMS>
- <ICMS20>
  <orig>0</orig> 
  <CST>20</CST> 
  <modBC>3</modBC> 
  <pRedBC>7.00</pRedBC> 
  <vBC>5376.21</vBC> 
  <pICMS>17.00</pICMS> 
  <vICMS>913.96</vICMS> 
  </ICMS20>
  </ICMS>
- <PIS>
- <PISAliq>
  <CST>01</CST> 
  <vBC>9139.55</vBC> 
  <pPIS>1.65</pPIS> 
  <vPIS>150.80</vPIS> 
  </PISAliq>
  </PIS>
- <COFINS>
- <COFINSAliq>
  <CST>01</CST> 
  <vBC>9139.55</vBC> 
  <pCOFINS>7.60</pCOFINS> 
  <vCOFINS>694.61</vCOFINS> 
  </COFINSAliq>
  </COFINS>
  </imposto>
  </det>
- <total>
- <ICMSTot>
  <vBC>8721.14</vBC> 
  <vICMS>1482.59</vICMS> 
  <vBCST>0.00</vBCST> 
  <vST>0.00</vST> 
  <vProd>14825.94</vProd> 
  <vFrete>0.00</vFrete> 
  <vSeg>0.00</vSeg> 
  <vDesc>0.00</vDesc> 
  <vII>0.00</vII> 
  <vIPI>0.00</vIPI> 
  <vPIS>244.63</vPIS> 
  <vCOFINS>1126.77</vCOFINS> 
  <vOutro>0.00</vOutro> 
  <vNF>14825.94</vNF> 
  </ICMSTot>
  <retTrib /> 
  </total>
- <transp>
  <modFrete>1</modFrete> 
  </transp>
- <infAdic>
  <infAdFisco>Base Calculo Reduzida conforme Artigo 8 - Inciso XIII Anexo IX do Decreto 4852/97</infAdFisco> 
  <infCpl>Pedido: 151123</infCpl> 
  </infAdic>
  </infNFe>
- <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
- <SignedInfo>
  <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> 
  <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> 
- <Reference URI="#NFe52101100740727000105550030000010361000588203">
- <Transforms>
  <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> 
  <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> 
  </Transforms>
  <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
  <DigestValue>uKfyKAmINmkzXnoTvkKOpb6EqWA=</DigestValue> 
  </Reference>
  </SignedInfo>
  <SignatureValue>KN1TH6hqXPW488iBTSkyPwzNyv7ofD5sM8XCJSHAo0X5jkO6dmatEdNDQVdOc+45ZQzVkh+vMgCW4nJq1XZG0pASvkObvytFXAEvaptSiZ7+DdAQwHzRb74b4L3Fb6MdU6FDwVILoS4GWLhV4ZnQLjciCStHUDljdUp2gRcNTSk=</SignatureValue> 
- <KeyInfo>
- <X509Data>
  <X509Certificate>MIIHBDCCBeygAwIBAgIQZsGlAu/XznF5eB8cpl2qEzANBgkqhkiG9w0BAQUFADB0MQswCQYDVQQGEwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDEtMCsGA1UECxMkQ2VydGlzaWduIENlcnRpZmljYWRvcmEgRGlnaXRhbCBTLkEuMSEwHwYDVQQDExhBQyBDZXJ0aXNpZ24gTXVsdGlwbGEgRzMwHhcNMTAwODE3MDAwMDAwWhcNMTMwODE1MjM1OTU5WjCCATQxCzAJBgNVBAYTAkJSMRMwEQYDVQQKFApJQ1AtQnJhc2lsMRUwEwYDVQQLFAxJRCAtIDEwMTgyMzExODA2BgNVBAsUL0F1dGVudGljYWRvIHBvciBDZXJ0aXNpZ24gQ2VydGlmaWNhZG9yYSBEaWdpdGFsMRswGQYDVQQLFBJBc3NpbmF0dXJhIFRpcG8gQTMxFDASBgNVBAsUCyhFTSBCUkFOQ08pMRQwEgYDVQQLFAsoRU0gQlJBTkNPKTFEMEIGA1UEAxM7RkFCSUFOVEVYIElORFVTVFJJQSBFIENPTUVSQ0lPIERFIFRFQ0lET1MgRSBBVklBTUVOVE9TIExUREExMDAuBgkqhkiG9w0BCQEWIWZhYmlhbnRleF9kaXN0cmlidWlkb3JhQGlnLmNvbS5icjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAidWuZQrrgCeFJxPbg2oLWmEZFABmvELLMbhuSA4nzh+k4t45gMFj172tl7BbOONhnZizcysH8fC/qn44fjG2pL+jRbnMnVs5vDL9Mk/7P08vEpYe2qgPuqq7i5TovT6fhE6Tg/xLi+Rf5yGyWmfFHpjKUzTTnb/qQZP86ZUZRnECAwEAAaOCA1IwggNOMIHNBgNVHREEgcUwgcKgPgYFYEwBAwSgNQQzMDYxMjE5NzA4NjYxNjYyNTE2ODAwMDAwMDAwMDAwMDAwMDAwMDAxOTE4ODQyU1BUQ0dPoCkGBWBMAQMCoCAEHlJPU0FOR0VMQSBBTFZFUyBERSBKRVNVUyBTSUxWQaAZBgVgTAEDA6AQBA4wMDc0MDcyNzAwMDEwNaAXBgVgTAEDB6AOBAwwMDAwMDAwMDAwMDCBIWZhYmlhbnRleF9kaXN0cmlidWlkb3JhQGlnLmNvbS5icjAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFISwQjM0o0IlpSiXPoPrd/DoT8JUMA4GA1UdDwEB/wQEAwIF4DCCASUGA1UdHwSCARwwggEYMFygWqBYhlZodHRwOi8vaWNwLWJyYXNpbC5jZXJ0aXNpZ24uY29tLmJyL3JlcG9zaXRvcmlvL2xjci9BQ0NlcnRpc2lnbk11bHRpcGxhRzMvTGF0ZXN0Q1JMLmNybDBboFmgV4ZVaHR0cDovL2ljcC1icmFzaWwub3V0cmFsY3IuY29tLmJyL3JlcG9zaXRvcmlvL2xjci9BQ0NlcnRpc2lnbk11bHRpcGxhRzMvTGF0ZXN0Q1JMLmNybDBboFmgV4ZVaHR0cDovL3JlcG9zaXRvcmlvLmljcGJyYXNpbC5nb3YuYnIvbGNyL0NlcnRpc2lnbi9BQ0NlcnRpc2lnbk11bHRpcGxhRzMvTGF0ZXN0Q1JMLmNybDBVBgNVHSAETjBMMEoGBmBMAQIDBTBAMD4GCCsGAQUFBwIBFjJodHRwOi8vaWNwLWJyYXNpbC5jZXJ0aXNpZ24uY29tLmJyL3JlcG9zaXRvcmlvL2RwYzAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUHAwIwgaAGCCsGAQUFBwEBBIGTMIGQMCgGCCsGAQUFBzABhhxodHRwOi8vb2NzcC5jZXJ0aXNpZ24uY29tLmJyMGQGCCsGAQUFBzAChlhodHRwOi8vaWNwLWJyYXNpbC5jZXJ0aXNpZ24uY29tLmJyL3JlcG9zaXRvcmlvL2NlcnRpZmljYWRvcy9BQ19DZXJ0aXNpZ25fTXVsdGlwbGFfRzMucDdjMA0GCSqGSIb3DQEBBQUAA4IBAQAOfz0lw6b/FllFO8tvzddBHfrgFytnK4J+J+vdcpPy5VfPv9lvLd22T2V/105tN7RNIlQsorl3sbjpmJ1aEYGZG+2lC/nulD0hcVjNpmajjUkGmwyAcmO9hFNI0Is1305baFxG7YrkOoeOZ9zTX03J5jY86U5StSbZO167kYtTnmUtWQZulkqmmhyTgu1B3zbd7nxrPFQtlLJbiI0rEDohWyKB8OT16Q52Z3m1BF3UwXwb69hLegdo1MmMKEvOOhzDm5JqZSQwrYCG39JZkGPc1iEU6XPH2IFkuPDEilcDj1EaDiHbBcB/mwTawfAwwAcXSuMOBfGNfvoUOcJE5NEG</X509Certificate> 
  </X509Data>
  </KeyInfo>
  </Signature>
  </NFe>
- <protNFe versao="2.00">
- <infProt Id="NFe00">
  <tpAmb>1</tpAmb> 
  <verAplic>GO2.0</verAplic> 
  <chNFe>52101100740727000105550030000010361000588203</chNFe> 
  <dhRecbto>2010-11-22T08:31:53</dhRecbto> 
  <nProt>152100116292795</nProt> 
  <digVal>uKfyKAmINmkzXnoTvkKOpb6EqWA=</digVal> 
  <cStat>100</cStat> 
  <xMotivo>Autorizado o uso da NF-e</xMotivo> 
  </infProt>
  </protNFe>
  </nfeProc>

Este link abaixo é do SITE em questão, o módulo nele está no lado esquerdo escrito "Download XML". Desde já agradeço a todos, obriado!

http://www.fabiantex.com.br

Please Entrar ou Registrar to join the conversation.


Mais
14 anos 3 meses atrás #50634 por junioronline
junioronline replied the topic: Re: Módulo Download XML não está buscando Nota Fiscal e Cnpj/cpf
Amigo, estou tentando fazer a mesma coisa em meu site. Disponibilizar o xml para download.
Conseguiu resolver?

Obrigado

Please Entrar ou Registrar to join the conversation.

Mais
14 anos 2 meses atrás #52344 por souzalinux
souzalinux replied the topic: Re: Módulo Download XML não está buscando Nota Fiscal e Cnpj/cpf
Conseguiu resolver ?

pode nos contantar o caminho da pedra?

Please Entrar ou Registrar to join the conversation.