ERRO NO LAÇO DE REPETIÇÃO

Delphi

ACBr

24/01/2020

begin
if F_informacoes_nfe.txt_forma_pagamento.Text = 'PRAZO' then
begin
dm.ACBrNFe1.NotasFiscais[0].NFe.pag.Clear;
dm.ACBrNFe1.NotasFiscais[0].NFe.pag.Add;
dm.ACBrNFe1.NotasFiscais[0].NFe.pag[0].indPag := ipPrazo;
dm.ACBrNFe1.NotasFiscais[0].NFe.pag[0].tPag := fpCreditoLoja;
dm.ACBrNFe1.NotasFiscais[0].NFe.pag[0].vPag := strtofloat(lb_valor_total.Caption);
dm.ACBrNFe1.NotasFiscais[0].NFe.Cobr.Fat.vOrig := strtofloat(lb_valor_total.Caption);
dm.ACBrNFe1.NotasFiscais[0].NFe.Cobr.Fat.vLiq := strtofloat(lb_valor_total.Caption);
dm.ACBrNFe1.NotasFiscais[0].NFe.Cobr.Fat.nFat := 'fATURA Nº ' +txt_numero_nfe.Text;
SQL_buscar_faturas.Open;
SQL_buscar_faturas.First;

while not SQL_buscar_faturas.Eof do
begin
with notaf.NFe.Cobr.Dup.Add do
begin
notaf.NFe.Cobr.Dup.add.nDup := FormatFloat('000', SQL_buscar_faturasnumero_parcela.AsInteger);
notaf.NFe.Cobr.Dup.add.dVenc := SQL_buscar_faturasdata_vencimento.Value;
notaf.NFe.Cobr.Dup.add.vDup := (SQL_buscar_faturasvalor.AsFloat);
end;
SQL_buscar_faturas.Next;
end;



end;

end;

FICA UM LAÇO DE REPETIÇÃO EM TODOS OS REGITROS

TENTEI ASSIM TAMBEM


FOR D := 1 to SQL_buscar_faturas.RecordCount do
begin
dm.ACBrNFe1.NotasFiscais[0].NFe.Cobr.Dup.Add;
dm.ACBrNFe1.NotasFiscais[0].NFe.Cobr.Dup[0].nDup := FormatFloat('000', SQL_buscar_faturasnumero_parcela.AsInteger);
dm.ACBrNFe1.NotasFiscais[0].NFe.Cobr.Dup[0].dVenc := SQL_buscar_faturasdata_vencimento.Value;
dm.ACBrNFe1.NotasFiscais[0].NFe.Cobr.Dup[0].vDup := (SQL_buscar_faturasvalor.AsFloat);
end;
SQL_buscar_faturas.Next;

END;
Murilo Bragança

Murilo Bragança

Curtidas 0

Respostas

Raimundo Pereira

Raimundo Pereira

24/01/2020

Tente assim

// SQL_buscar_faturas.FetchAll;
SQL_buscar_faturas.First;
if SQL_buscar_faturas.RecordCount=0 then
begin
ShowMessage('Nenhum registro');
end
else
begin
if not SQL_buscar_faturas.Eof then
repeat
with notaf.NFe.Cobr.Dup.Add do
begin
notaf.NFe.Cobr.Dup.add.nDup := FormatFloat('000', SQL_buscar_faturasnumero_parcela.AsInteger);
notaf.NFe.Cobr.Dup.add.dVenc := SQL_buscar_faturasdata_vencimento.Value;
notaf.NFe.Cobr.Dup.add.vDup := (SQL_buscar_faturasvalor.AsFloat);
END;
END;
SQL_buscar_faturas.Next;
until (SQL_buscar_faturas.Eof);
end;
GOSTEI 0
Murilo Bragança

Murilo Bragança

24/01/2020

Não deu certo, estou batendo cabeça. Não entendo porque ele fica no loop dentro do tabela duplicatas_nfe que e aonde eu guardo as duplicatas. Ele rodas todas as linhas da tabela e monta o xml de maneira errada
<?xml version="1.0" encoding="UTF-8"?>

-<NFe xmlns="http://www.portalfiscal.inf.br/nfe">


-<infNFe Id="NFe33200129641651000142550200000000691650893205" versao="4.00">


-<ide>

<cUF>33</cUF>

<cNF>65089320</cNF>

<natOp>VENDA DE MERCADORIAS DENTRO DO ESTADO ALTERADO</natOp>

<mod>55</mod>

<serie>20</serie>

<nNF>69</nNF>

<dhEmi>2020-01-24T18:14:36-03:00</dhEmi>

<dhSaiEnt>2020-01-24T18:14:36-03:00</dhSaiEnt>

<tpNF>1</tpNF>

<idDest>1</idDest>

<cMunFG>3302304</cMunFG>

<tpImp>1</tpImp>

<tpEmis>1</tpEmis>

<cDV>5</cDV>

<tpAmb>2</tpAmb>

<finNFe>1</finNFe>

<indFinal>0</indFinal>

<indPres>0</indPres>

<procEmi>0</procEmi>

<verProc>itasoftware_01_nfe</verProc>

</ide>


-<emit>

<CNPJ>29641651000142</CNPJ>

<xNome>ADERBAL DE SOUZA XIMENES MERCEARIA</xNome>

<xFant>ADERBAL DE SOUZA XIMENES MERCEARIA</xFant>


-<enderEmit>

<xLgr>RUA JOSE PEREIRA DE PINHO</xLgr>

<nro>1036</nro>

<xCpl>MERCADO MILLER</xCpl>

<xBairro>Centro</xBairro>

<cMun>3302304</cMun>

<xMun>APERIBE</xMun>

<UF>RJ</UF>

<CEP>28495000</CEP>

<cPais>1058</cPais>

<xPais>BRASIL</xPais>

<fone>2238640065</fone>

</enderEmit>

<IE>81144060</IE>

<CRT>1</CRT>

</emit>


-<dest>

<CNPJ>29641651000142</CNPJ>

<xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>


-<enderDest>

<xLgr>R GARCIA PEREIRA</xLgr>

<nro>041</nro>

<xBairro>CENTRO</xBairro>

<cMun>3302304</cMun>

<xMun>LAJE DO MURIAE</xMun>

<UF>RJ</UF>

<CEP>28495000</CEP>

<cPais>1058</cPais>

<xPais>BRASIL</xPais>

<fone>222222222222</fone>

</enderDest>

<indIEDest>1</indIEDest>

<IE>81144060</IE>

</dest>


-<autXML>

<CPF>14122814740</CPF>

</autXML>


-<det nItem="1">


-<prod>

<cProd>1</cProd>

<cEAN>SEM GTIN</cEAN>

<xProd>CARTEIRA DE COURO BRANCA</xProd>

<NCM>10061092</NCM>

<CEST>0000000</CEST>

<CFOP>5102</CFOP>

<uCom>UN</uCom>

<qCom>1.0000</qCom>

<vUnCom>20.0000000000</vUnCom>

<vProd>20.00</vProd>

<cEANTrib>SEM GTIN</cEANTrib>

<uTrib>UN</uTrib>

<qTrib>1.0000</qTrib>

<vUnTrib>20.0000000000</vUnTrib>

<indTot>1</indTot>

</prod>


-<imposto>


-<ICMS>


-<ICMSSN500>

<orig>0</orig>

<CSOSN>500</CSOSN>

</ICMSSN500>

</ICMS>


-<PIS>


-<PISAliq>

<CST>01</CST>

<vBC>0.00</vBC>

<pPIS>0.0000</pPIS>

<vPIS>0.00</vPIS>

</PISAliq>

</PIS>


-<COFINS>


-<COFINSAliq>

<CST>01</CST>

<vBC>0.00</vBC>

<pCOFINS>0.0000</pCOFINS>

<vCOFINS>0.00</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>


-<total>


-<ICMSTot>

<vBC>0.00</vBC>

<vICMS>0.00</vICMS>

<vICMSDeson>0.00</vICMSDeson>

<vFCP>0.00</vFCP>

<vBCST>0.00</vBCST>

<vST>0.00</vST>

<vFCPST>0.00</vFCPST>

<vFCPSTRet>0.00</vFCPSTRet>

<vProd>20.00</vProd>

<vFrete>0.00</vFrete>

<vSeg>0.00</vSeg>

<vDesc>0.00</vDesc>

<vII>0.00</vII>

<vIPI>0.00</vIPI>

<vIPIDevol>0.00</vIPIDevol>

<vPIS>0.00</vPIS>

<vCOFINS>0.00</vCOFINS>

<vOutro>0.00</vOutro>

<vNF>20.00</vNF>

</ICMSTot>

</total>


-<transp>

<modFrete>0</modFrete>


-<transporta>

<CPF>14122814740</CPF>

<xNome>NOME</xNome>

<xEnder>RUA JOSE PEREIRA DE PINHO</xEnder>

</transporta>

</transp>


-<cobr>


-<fat>

<nFat>fATURA N 69</nFat>

<vOrig>20.00</vOrig>

<vDesc>0.00</vDesc>

<vLiq>20.00</vLiq>

</fat>


-<dup>

<nDup/>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup>001</nDup>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc>2020-01-24</dVenc>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>10.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup>002</nDup>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc>2020-01-24</dVenc>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>10.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup>001</nDup>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc>2020-01-08</dVenc>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>10.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup>001</nDup>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc>2020-01-24</dVenc>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>10.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup>002</nDup>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc>2020-01-24</dVenc>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>10.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup>001</nDup>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc>2020-01-24</dVenc>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>10.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup>001</nDup>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc>2020-01-24</dVenc>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>10.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup>002</nDup>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc>2020-01-24</dVenc>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>10.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup>001</nDup>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc>2020-01-08</dVenc>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>20.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup>001</nDup>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc>2020-01-24</dVenc>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>10.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup>002</nDup>

<dVenc/>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc>2020-01-24</dVenc>

<vDup>0.00</vDup>

</dup>


-<dup>

<nDup/>

<dVenc/>

<vDup>10.00</vDup>

</dup>

</cobr>


-<pag>


-<detPag>

<indPag>1</indPag>

<tPag>05</tPag>

<vPag>20.00</vPag>

</detPag>

</pag>


-<infAdic>

<infCpl>EMPRESA DO SIMPLES NACIONAL NAO PERMITE APROVEITAMENTO DE CREDITO.</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="#NFe33200129641651000142550200000000691650893205">


-<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>Ar+DEzAaSlXyJ7liXWdu2FMQGlg=</DigestValue>

</Reference>

</SignedInfo>

<SignatureValue>vnlSwNA/Iez0K4b26e7Ovu79/RR6WZXI1TbgRVTnZKAjMi2iFF7sUYtc6bai1zNm5IIOEB1P7Ejw4A7D6nwhesFyxyMspcrIRDvADbD1A1DK0o47lKtC+ScMI9zv5LTgj9c0IhS27KGFozn/C3MZZV3B0jVBG7wLMduZgS4Pnn7V1yUHSfv1Bee1vsfZUdnjG8EjdKOSdmrtnwHgTXWAUL9NWgyHDxROBpr6MOWWH4wq/7e9IMo6ozITXvqdaxK1xidPciOZVvlhZGclV1XjPNrZ016LXOR2pccBu1GMwW27O7OcGywfRycX/WqkEWQwFaCzNuL7DSu5oUok8mnp0g==</SignatureValue>


-<KeyInfo>


-<X509Data>

<X509Certificate>MIIH/zCCBeegAwIBAgIQX1nGPW3eZyLtql9CjblSIjANBgkqhkiG9w0BAQsFADB4MQswCQYDVQQGEwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDE2MDQGA1UECxMtU2VjcmV0YXJpYSBkYSBSZWNlaXRhIEZlZGVyYWwgZG8gQnJhc2lsIC0gUkZCMRwwGgYDVQQDExNBQyBDZXJ0aXNpZ24gUkZCIEc1MB4XDTE5MDQyNjEyMzI0OVoXDTIwMDQyNTEyMzI0OVowge0xCzAJBgNVBAYTAkJSMRMwEQYDVQQKDApJQ1AtQnJhc2lsMQswCQYDVQQIDAJSSjEXMBUGA1UEBwwOTGFqZSBkbyBNdXJpYWUxNjA0BgNVBAsMLVNlY3JldGFyaWEgZGEgUmVjZWl0YSBGZWRlcmFsIGRvIEJyYXNpbCAtIFJGQjEWMBQGA1UECwwNUkZCIGUtQ05QSiBBMTEXMBUGA1UECwwOMjkwMTE3NTAwMDA4MTcxOjA4BgNVBAMMMUFERVJCQUwgREUgU09VWkEgWElNRU5FUyBNRVJDRUFSSUE6Mjk2NDE2NTEwMDAxNDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDUkbNM
GOSTEI 0
Murilo Bragança

Murilo Bragança

24/01/2020

RESOLVIDO ASSIM

begin
if F_informacoes_nfe.txt_forma_pagamento.Text = ''PRAZO'' then
begin
dm.ACBrNFe1.NotasFiscais[0].NFe.pag.Clear;
dm.ACBrNFe1.NotasFiscais[0].NFe.pag.Add;
dm.ACBrNFe1.NotasFiscais[0].NFe.pag[0].indPag := ipPrazo;
dm.ACBrNFe1.NotasFiscais[0].NFe.pag[0].tPag := fpCreditoLoja;
dm.ACBrNFe1.NotasFiscais[0].NFe.pag[0].vPag := strtofloat(lb_valor_total.Caption);
dm.ACBrNFe1.NotasFiscais[0].NFe.Cobr.Fat.vOrig := strtofloat(lb_valor_total.Caption);
dm.ACBrNFe1.NotasFiscais[0].NFe.Cobr.Fat.vLiq := strtofloat(lb_valor_total.Caption);
dm.ACBrNFe1.NotasFiscais[0].NFe.Cobr.Fat.nFat := ''FATURA Nº '' +txt_numero_nfe.Text;

D := 1;
SQL_buscar_faturas.Close;
SQL_buscar_faturas.SQL.Clear;
SQL_buscar_faturas.SQL.Add(''select * from duplicatanfe WHERE numero_nfe = :num order by numero_parcela asc'') ;
SQL_buscar_faturas.ParamByName(''num'').Value := txt_numero_nfe.text;
SQL_buscar_faturas.Open;
SQL_buscar_faturas.First;
while not SQL_buscar_faturas.eof do
begin
with NotaF.NFe.Cobr.Dup.Add do
begin
nDup := FormatFloat(''000'', SQL_buscar_faturasnumero_parcela.AsInteger);
dVenc := SQL_buscar_faturasdata_vencimento.Value;
vDup := (SQL_buscar_faturasvalor.AsFloat);
D := D + 1;
SQL_buscar_faturas.Next;
end;

end;

end;
end;
GOSTEI 0
POSTAR