Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
Ice Novato
Registrado: Terça-Feira, 8 de Dezembro de 2009 Mensagens: 7
|
Enviada: Sex Set 06, 2013 11:34 am Assunto: capturar os dados do xml |
|
|
ola, alguem tem um uma rotima ou funcao pra capturar os dados para importar essa nota no meu banco???
tipo dados cliente
dados de produtos
totais
desde ja agradeço
- <nfeProc>
- <NFe>
- <infNFe>
- <ide>
<cUF>35</cUF>
<cNF>00046047</cNF>
<natOp>VENDAS MERCADORIAS SUBST.TRIBUT.CONSUMIDOR FINAL</natOp>
<indPag>1</indPag>
<mod>55</mod>
<serie>1</serie>
<nNF>46047</nNF>
<dEmi>2013-08-26</dEmi>
<dSaiEnt>2013-08-26</dSaiEnt>
<hSaiEnt>09:36:53</hSaiEnt>
<tpNF>1</tpNF>
<cMunFG>3550308</cMunFG>
<tpImp>1</tpImp>
<tpEmis>1</tpEmis>
<cDV>9</cDV>
<tpAmb>1</tpAmb>
<finNFe>1</finNFe>
<procEmi>0</procEmi>
<verProc>000</verProc>
</ide>
- <emit>
<CNPJ>10690274000103</CNPJ>
<xNome>ACWARE COMERC DE EQUIP P/ AUTOMACAO COMERCIAL LTDA</xNome>
<xFant>AC WARE</xFant>
- <enderEmit>
<xLgr>RUA ARUJA</xLgr>
<nro>085</nro>
<xBairro>PARAISO</xBairro>
<cMun>3550308</cMun>
<xMun>SAO PAULO</xMun>
<UF>SP</UF>
<CEP>04104040</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
<fone>1130181990</fone>
</enderEmit>
<IE>148526740118</IE>
<CRT>3</CRT>
</emit>
- <dest>
<CNPJ>12459601000146</CNPJ>
<xNome>WELLINGTON APDO MOREIRA DOS SANTOS INFORM - ME</xNome>
- <enderDest>
<xLgr>RUA CASSIO DE ALMEIDA, 338</xLgr>
<nro>CASA 4</nro>
<xBairro>CARANDIRU</xBairro>
<cMun>3550308</cMun>
<xMun>SAO PAULO</xMun>
<UF>SP</UF>
<CEP>02067060</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
<fone>1122180017</fone>
</enderDest>
<IE>147490255119</IE>
<email>wamsantos@gmail.com</email>
</dest>
- <det>
- <prod>
<cProd>00500</cProd>
<cEAN>
<xProd>IMP TERMICA DE ETIQUETAS ARGOX OS214TT (PLUS)</xProd>
<NCM>84433299</NCM>
<CFOP>5405</CFOP>
<uCom>UN</uCom>
<qCom>2.0000</qCom>
<vUnCom>784.0000000000</vUnCom>
<vProd>1568.00</vProd>
<cEANTrib>
<uTrib>UN</uTrib>
<qTrib>2.0000</qTrib>
<vUnTrib>784.0000000000</vUnTrib>
<indTot>1</indTot>
<xPed>60112608</xPed>
<nItemPed>000001</nItemPed>
</prod>
- <imposto>
- <ICMS>
- <ICMS40>
<orig>0</orig>
<CST>41</CST>
</ICMS40>
</ICMS>
- <PIS>
- <PISAliq>
<CST>01</CST>
<vBC>1568.00</vBC>
<pPIS>1.65</pPIS>
<vPIS>25.87</vPIS>
</PISAliq>
</PIS>
- <COFINS>
- <COFINSAliq>
<CST>01</CST>
<vBC>1568.00</vBC>
<pCOFINS>7.60</pCOFINS>
<vCOFINS>119.17</vCOFINS>
</COFINSAliq>
</COFINS>
</imposto>
<infAdProd>30657993 30657992</infAdProd>
</det>
- <total>
- <ICMSTot>
<vBC>0.00</vBC>
<vICMS>0.00</vICMS>
<vBCST>0.00</vBCST>
<vST>0.00</vST>
<vProd>1568.00</vProd>
<vFrete>0.00</vFrete>
<vSeg>0.00</vSeg>
<vDesc>0.00</vDesc>
<vII>0.00</vII>
<vIPI>0.00</vIPI>
<vPIS>25.87</vPIS>
<vCOFINS>119.17</vCOFINS>
<vOutro>0.00</vOutro>
<vNF>1568.00</vNF>
</ICMSTot>
</total>
- <transp>
<modFrete>0</modFrete>
- <transporta>
<CNPJ>10690274000103</CNPJ>
<xNome>TRANSPORTE PROPRIO</xNome>
<IE>148526740118</IE>
<xEnder>RUA ARUJA 85</xEnder>
<xMun>SAO PAULO</xMun>
<UF>SP</UF>
</transporta>
- <vol>
<qVol>1</qVol>
<esp>VOLUMES</esp>
<pesoL>6.600</pesoL>
<pesoB>6.600</pesoB>
</vol>
</transp>
- <cobr>
- <dup>
<dVenc>2013-09-05</dVenc>
<vDup>392.00</vDup>
</dup>
- <dup>
<dVenc>2013-09-25</dVenc>
<vDup>392.00</vDup>
</dup>
- <dup>
<dVenc>2013-10-25</dVenc>
<vDup>392.00</vDup>
</dup>
- <dup>
<dVenc>2013-11-22</dVenc>
<vDup>392.00</vDup>
</dup>
</cobr>
- <infAdic>
<infCpl>VENDAS DE MERCADORIAS ADQUIRIDAS OU RECEBIDAS DE TERCEIROS EM OPERACOES SUJEITAS AO REGIME DE SUBSTITUICAO TRIBUTARIA QUANDO DESTINADAS A CONSUMI- DOR OU USUARIO FINAL Nosso Pedido: 071902</infCpl>
</infAdic>
</infNFe> |
|
Voltar ao Topo |
|
|
jwalamino69 Aprendiz
Registrado: Terça-Feira, 16 de Julho de 2013 Mensagens: 185 Localização: São Paulo
|
|
Voltar ao Topo |
|
|
Ice Novato
Registrado: Terça-Feira, 8 de Dezembro de 2009 Mensagens: 7
|
Enviada: Sex Set 06, 2013 3:04 pm Assunto: |
|
|
da erro , acess 0000 ... alguem sabe o q ?
var
vXMLDoc: TXMLDocument;
NodePai,NodeSec,NodeTmp: IXMLNode;
nome, codigo: WideString;
begin
// Cria a variável baseada no TXMLDocument
vXMLDoc := TXMLDocument.Create(self);
OpenDialog.Execute;
// Le conteúdo do arquivo XML informado
vXMLDoc.LoadFromFile(OpenDialog.FileName);
// Poderia ser uma URL como abaixo:
//vXMLDoc.FileName := 'http://www.caiooliveira.com.br/?feed=rss2';
//vXMLDoc.Active := True;
// Vou colocar os dados no memo apenas como exemplo
// Aqui eu peço para encontrar a primeira ocorrencia da Tag <det>>
NodePai := vXMLDoc.DocumentElement.childNodes.First.ChildNodes.FindNode('det');
// Esse nó vai ser usado no LOOP
NodeSec := NodePai;
// Posiciona o primeiro elemento encontrado
NodeSec.ChildNodes.First;
repeat
// referencia a tag <prod> dentro de <det>
NodeTmp := NodeSec.ChildNodes['prod'];
// da pra ver que é um XML resumido da NFe (so temos uma tag <prod> para cada <det> então não precisaria da linha abaixo
// agora se tivéssemos mais de uma seria o caso de posicionar também na primeira ocorrencia.
NodeTmp.ChildNodes.First;
repeat
// pega os dados que vc quiser dentro da tag <prod>
nome := NodeTmp.ChildNodes['cProd'].text; // posso ler assim
codigo := NodeTmp.ChildValues['cEan']; // ou assim
// vamos inserir no Memo os dados
Memo2.Lines.Add('-----------------------------------------------');
Memo2.Lines.Add( nome+' ---- '+codigo );
// vai para a proxima ocorrência </prod><prod> (se houvesse)
NodeTmp := NodeTmp.NextSibling;
until NodeTmp = nil;
// vai para a proxima ocorrência <det>
NodeSec := NodeSec.NextSibling;
until NodeSec = nil;
end; |
|
Voltar ao Topo |
|
|
Ghost_Rider Colaborador
Registrado: Segunda-Feira, 6 de Outubro de 2003 Mensagens: 4437
|
Enviada: Sex Set 06, 2013 3:20 pm Assunto: |
|
|
O acbr tem isso...e sem erros...tudo simples... |
|
Voltar ao Topo |
|
|
Ice Novato
Registrado: Terça-Feira, 8 de Dezembro de 2009 Mensagens: 7
|
Enviada: Sex Set 06, 2013 3:31 pm Assunto: |
|
|
eu uso acbr... nao achei material pra fazer isso. vc tem algum link pra ajudar? |
|
Voltar ao Topo |
|
|
Ice Novato
Registrado: Terça-Feira, 8 de Dezembro de 2009 Mensagens: 7
|
Enviada: Sex Set 06, 2013 3:33 pm Assunto: |
|
|
a minha dificuldade e com a parte de produtos , a parte fixa de cabeçalho , emitente, destinatario, transportadora eu fiz com acbr .
agora produtos nao to conseguindo fazer. |
|
Voltar ao Topo |
|
|
Ghost_Rider Colaborador
Registrado: Segunda-Feira, 6 de Outubro de 2003 Mensagens: 4437
|
Enviada: Sex Set 06, 2013 11:40 pm Assunto: |
|
|
Com os produtos é igual, mas tem que respeitar a cadeia de nodes no xmls....no exemplo que vem com o acbr tem a parte que vc importa o XML e transforma ele em texto, tá tudo lá amigo...ou melhor ainda, abre os fontes e estuda direto nos fontes....
De qualquer modo, mastigadinho não tá...abraço... |
|
Voltar ao Topo |
|
|
joemil Moderador
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9098 Localização: Sinop-MT
|
Enviada: Ter Set 10, 2013 11:04 am Assunto: |
|
|
abra o xml no acbr, e faca o seguinte:
Código: | for n := 0 to NotasFiscais.Count - 1 do
begin
with NotasFiscais.Items[n].NFe do
begin
edChave.Text := procNFe.chNFe;
edNumero.Text := IntToStr(Ide.cNF);
edSerie.Text := IntToStr(Ide.serie); // IntToStr(Ide.nNF)
edForn.Text := Format('%s ($s)', [Emit.xNome, Emit.xFant]);
for I := 0 to Det.Count - 1 do
begin
with Det.Items[I] do
begin
{ aqui vc pega os dados dos produtos
memXMLItem.Value := Prod.nItem;
memXMLCodigo.Value := Prod.cProd;
memXMLCod_Barras.Value := RightStr(Prod.cEAN, 13);
memXMLDescricao.AsString := Prod.xProd;
end;
end;
end;
end; |
_________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
|
|