Ir para conteúdo
  • Cadastre-se

dev botao

Duplicidade De Registro No Registro R Do Acbrpaf


Ver Solução Respondido por Juliomar Marchetti,
  • Este tópico foi criado há 4149 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde, eu novamente estou um problema tenho uma tabela com as movimentação de redução Z na qual consta somente um registro e quando e alimentado e gerado o arquivo gera 10 linhas com R02 por exemplo aqui está o resultado

 

R02EMULADOR            RMP-2100 TH FI       0000000000000000000000000000000000

R02EMULADOR            RMP-2100 TH FI       000000000000000000001899123000000000000000
R02EMULADOR            RMP-2100?TH?FI???????0000000000000000000000000000000000
R02EMULADOR            RMP-2100 TH FI       0000000000000000000000000000000000F
R02EMULADOR            RMP-2100 TH FI       000000000000000000002013010200000000000000
R02EMULADOR            RMP-2100 TH FI       0000000000000300000000000000000000
R02EMULADOR            RMP-2100 TH FI       0000000000000000000100000000000000
R02EMULADOR            RMP-2100 TH FI       0000000100000000000000000000000000
R02EMULADOR            RMP-2100 TH FI       4100000000000000000000000000000000
R04EMULADOR            RMP-2100?TH?FI???????00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       0000000000000020130101000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000020000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000003780 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000N0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000037800000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000 MARIA ALVES DE MENESES                  00000000000000
R04EMULADOR            RMP-2100?TH?FI???????00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00041371445320
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000N0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000P0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000003780 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000003780 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000N0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       0000000000000020130102000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000005000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000037800000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000P0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       0000000000000020130101000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000017000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000037800000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000P0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00004445802395
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000 ROSIMEIRE BEZERRA DA SILVA              00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000001000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000011000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       00000013000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R04EMULADOR            RMP-2100 TH FI       01000000000000000000000000000000000000000 0000000000000 00000000000000 0000000000000                                         00000000000000
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000  
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000  
R06EMULADOR            RMP-2100?TH?FI???????000000000000000000000000  
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000  
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000  144737
R06EMULADOR            RMP-2100?TH?FI???????000000000000000000000000  
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000RV
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000  20130102
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000  
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000RV
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000  
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000  
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000  171557
R06EMULADOR            RMP-2100 TH FI       000000000000000000000000  20130101
R06EMULADOR            RMP-2100 TH FI       000000050000000000000000  
R06EMULADOR            RMP-2100 TH FI       000000200000000000000000  
R06EMULADOR            RMP-2100 TH FI       010000000000000000000000  
R06EMULADOR            RMP-2100 TH FI       010000000000000000000000  
 

Só existe um registro na tabela de redução e sai dez no arquivo

Link para o comentário
Compartilhar em outros sites

Obrigado Pela resposta um trecho do código e esse...

                   DECF.cdsPAF_R02.First;
                   while not DECF.cdsPAF_R02.Eof do begin
                       RegistroR02.New.NUM_USU := DECF.cdsPAF_R02NR_USUARIO.AsInteger;
                       RegistroR02.New.CRZ := DECF.cdsPAF_R02CRZ.AsInteger;
                       RegistroR02.New.COO := DECF.cdsPAF_R02COO.AsInteger;
                       RegistroR02.New.CRO := DECF.cdsPAF_R02CRO.AsInteger;
                       RegistroR02.New.DT_MOV := DECF.cdsPAF_R02DAT_MOV.AsDateTime;
                       RegistroR02.New.DT_EMI := time;
                       RegistroR02.New.VL_VBD := DECF.cdsPAF_R02VLR_VENDA.AsFloat;
                       RegistroR02.New.PAR_ECF := DECF.cdsPAF_R02PAR_DESCISSQN.AsString;
                       ch := DECF.cdsPAF_R02NR_FAB.AsString + DECF.cdsPAF_R02MF_ADICIONAL.AsString + DECF.cdsPAF_R02MODELO_ECF.AsString + DECF.cdsPAF_R02NR_USUARIO.AsString + DECF.cdsPAF_R02CRZ.AsString + DECF.cdsPAF_R02COO.AsString + DECF.cdsPAF_R02CRO.AsString +
                       DECF.cdsPAF_R02DAT_MOV.AsString + DECF.cdsPAF_R02HORA_MOV.AsString + DECF.cdsPAF_R02PAR_DESCISSQN.AsString;
                       if (DECF.cdsPAF_R02CHAVE.AsString) <> (frmPrincipal.EAD.CalcularHash(ch, TAcbrEADDgst(2))) then begin
                          RegistroR02.New.RegistroValido := false;
                       end else begin
                          RegistroR02.New.RegistroValido := true;
                       end;
                           //Lança os Itens do da Redução
{                           DECF.cdsPAF_R03.Close;
                           DECF.sqlPAF_R03.SQL.Clear;
                           DECF.sqlPAF_R03.SQL.Add('SELECT * FROM PAF_R03 WHERE CRZ = :COD_REDU AND COD_ECF = :COD_ECF');
                           DECF.sqlPAF_R03.ParamByName('COD_ECF').AsInteger := DECF.cdsPAF_R02COD_ECF.AsInteger;
                           DECF.sqlPAF_R03.ParamByName('COD_REDU').AsString := DECF.cdsPAF_R02CRZ.AsString;
                           DECF.cdsPAF_R03.Open;
                           DECF.cdsPAF_R03.First;
                           //Lança registro
                             while not DECF.cdsPAF_R03.Eof do begin
                                 with RegistroR02.New.RegistroR03.New do begin
                                     TOT_PARCIAL := DECF.cdsPAF_R03VLR_TOTPARC.AsString;
                                     VL_ACUM := DECF.cdsPAF_R03VLR_ACUMULADO.AsFloat;
                                     ch := DECF.cdsPAF_R03NR_FAB.AsString + DECF.cdsPAF_R03MF_ADICIONAL.AsString +
                                     DECF.cdsPAF_R03MODELO_ECF.AsString + DECF.cdsPAF_R03NR_USUARIO.AsString +
                                     DECF.cdsPAF_R03CRZ.AsString + DECF.cdsPAF_R03VLR_TOTPARC.AsString + DECF.cdsPAF_R03VLR_ACUMULADO.AsString;
                                     if (DECF.cdsPAF_R03CHAVE.AsString) <> (frmPrincipal.EAD.CalcularHash(ch, TAcbrEADDgst(2))) then begin
                                        RegistroValido := false;
                                     end else begin
                                        RegistroValido := true;
                                     end;
                                  end;
                                DECF.cdsPAF_R03.Next;
                              //Fim do r03
                              end;}
                       DECF.cdsPAF_R02.Next;
                      //Fim do while
                   end;

                //Inicio do Registro R04
                if chkECF.Checked then begin
                       DECF.cdsPAF_R04.Close;
                       DECF.sqlPAF_R04.SQL.Clear;
                       DECF.sqlPAF_R04.SQL.Add('SELECT * FROM PAF_R04 WHERE DAT_EMISSAO BETWEEN :DATA1 AND :DATA2 AND COD_ECF = :COD_ECF');
                       DECF.sqlPAF_R04.ParamByName('DATA1').AsDate := txtInicio.Date;
                       DECF.sqlPAF_R04.ParamByName('DATA2').AsDate := txtTermino.Date;
                       DECF.sqlPAF_R04.ParamByName('COD_ECF').AsInteger := sqlECFCOD_ECF.AsInteger;
                       DECF.cdsPAF_R04.Open;
                end else begin
                       DECF.cdsPAF_R04.Close;
                       DECF.sqlPAF_R04.SQL.Clear;
                       DECF.sqlPAF_R04.SQL.Add('SELECT * FROM PAF_R04 WHERE DAT_EMISSAO BETWEEN :DATA1 AND :DATA2');
                       DECF.sqlPAF_R04.ParamByName('DATA1').AsDate := txtInicio.Date;
                       DECF.sqlPAF_R04.ParamByName('DATA2').AsDate := txtTermino.Date;
                       DECF.cdsPAF_R04.Open;
                end;
                       DECF.cdsPAF_R04.First;
                  while not DECF.cdsPAF_R04.Eof do begin
                       //Monta o Registro 04
                           RegistroR04.New.NUM_USU := DECF.cdsPAF_R04NR_USUARIO.AsInteger;
                           RegistroR04.New.NUM_CONT := DECF.cdsPAF_R04CCF.AsInteger;
                           RegistroR04.New.COO := DECF.cdsPAF_R04COO.AsInteger;
                           RegistroR04.New.DT_INI := DECF.cdsPAF_R04DAT_EMISSAO.AsDateTime;
                           RegistroR04.New.SUB_DOCTO := DECF.cdsPAF_R04SUB_TOTAL.AsFloat;
                           RegistroR04.New.SUB_DESCTO := DECF.cdsPAF_R04VLR_DESC.AsFloat;
                           RegistroR04.New.TP_DESCTO := DECF.cdsPAF_R04TP_DESC.AsString;
                           RegistroR04.New.SUB_ACRES := DECF.cdsPAF_R04VLR_ACRES_SUBTOTAL.AsFloat;
                           RegistroR04.New.TP_ACRES := DECF.cdsPAF_R04TP_ACRES.AsString;
                           RegistroR04.New.VL_TOT := DECF.cdsPAF_R04VLR_LIQ.AsFloat;
                           RegistroR04.New.CANC := DECF.cdsPAF_R04CANC.AsString;
                           RegistroR04.New.VL_CA := DECF.cdsPAF_R04VLR_CANCACRES_SB.AsFloat;
                           RegistroR04.New.ORDEM_DA := DECF.cdsPAF_R04TP_ACRESDESC.AsString;
                           RegistroR04.New.NOME_CLI := DECF.cdsPAF_R04NOME_CLIETE.AsString;
                           RegistroR04.New.CNPJ_CPF := DECF.cdsPAF_R04CPF_CNPJ_CLIENTE.AsString;
                           ch := DECF.cdsPAF_R04NR_FAB.AsString + DECF.cdsPAF_R04MF_ADICIONAL.AsString + DECF.cdsPAF_R04MODELO_ECF.AsString + DECF.cdsPAF_R04NR_USUARIO.AsString + DECF.cdsPAF_R04CCF.AsString + DECF.cdsPAF_R04COO.AsString + DECF.cdsPAF_R04DAT_EMISSAO.AsString +
                           DECF.cdsPAF_R04SUB_TOTAL.AsString + DECF.cdsPAF_R04VLR_DESC.AsString + DECF.cdsPAF_R04TP_DESC.AsString +
                           DECF.cdsPAF_R04VLR_ACRES_SUBTOTAL.AsString + DECF.cdsPAF_R04VLR_LIQ.AsString + DECF.cdsPAF_R04CANC.AsString +
                           DECF.cdsPAF_R04VLR_CANCACRES_SB.AsString + DECF.cdsPAF_R04TP_ACRESDESC.AsString + DECF.cdsPAF_R04NOME_CLIETE.AsString +
                           DECF.cdsPAF_R04CPF_CNPJ_CLIENTE.AsString;
                           if (DECF.cdsPAF_R04CHAVE.AsString) <> (frmPrincipal.EAD.CalcularHash(ch, TAcbrEADDgst(2))) then begin
                              RegistroR04.New.RegistroValido := false;
                           end else begin
                              RegistroR04.New.RegistroValido := true;
                           end;
{                           //Gera o registro R05
                             DECF.cdsPAF_R05.Close;
                             DECF.sqlPAF_R05.SQL.Clear;
                             DECF.sqlPAF_R05.SQL.Add('SELECT * FROM PAF_R05 WHERE CCF = :COD_CCF AND COD_ECF = :COD_ECF');
                             DECF.sqlPAF_R05.ParamByName('COD_ECF').AsInteger := DECF.cdsPAF_R04COD_ECF.AsInteger;
                             DECF.sqlPAF_R05.ParamByName('COD_CCF').AsString := DECF.cdsPAF_R04CCF.AsString;
                             DECF.cdsPAF_R05.Open;
                             DECF.cdsPAF_R05.First;
                           while not DECF.cdsPAF_R05.Eof do begin
                                 RegistroR04.New.RegistroR05.New.NUM_ITEM := DECF.cdsPAF_R05NR_ITEM.AsInteger;
                                 RegistroR04.New.RegistroR05.New.COD_ITEM := DECF.cdsPAF_R05COD_PROD.AsString;
                                 RegistroR04.New.RegistroR05.New.DESC_ITEM := DECF.cdsPAF_R05DESCRICAO.AsString;
                                 RegistroR04.New.RegistroR05.New.QTDE_ITEM := DECF.cdsPAF_R05QUANTIDADE.AsFloat;
                                 RegistroR04.New.RegistroR05.New.UN_MED := DECF.cdsPAF_R05UNIDADE.AsString;
                                 RegistroR04.New.RegistroR05.New.VL_UNIT := DECF.cdsPAF_R05VLR_UNIT.AsFloat;
                                 RegistroR04.New.RegistroR05.New.DESCTO_ITEM := DECF.cdsPAF_R05VLR_DESC.AsFloat;
                                 RegistroR04.New.RegistroR05.New.ACRES_ITEM := DECF.cdsPAF_R05VLR_ACRES.AsFloat;
                                 RegistroR04.New.RegistroR05.New.VL_TOT_ITEM := DECF.cdsPAF_R05VLR_TOTAL.AsFloat;
                                 RegistroR04.New.RegistroR05.New.COD_TOT_PARC := DECF.cdsPAF_R05TOT_PARCIAL.AsString;
                                 RegistroR04.New.RegistroR05.New.IND_CANC := DECF.cdsPAF_R05CANC.AsString;
                                 RegistroR04.New.RegistroR05.New.QTDE_CANC := DECF.cdsPAF_R05QTDE_CANC.AsFloat;
                                 RegistroR04.New.RegistroR05.New.VL_CANC := DECF.cdsPAF_R05VLR_CANC.AsFloat;
                                 RegistroR04.New.RegistroR05.New.VL_CANC_ACRES := DECF.cdsPAF_R05VLR_CANCACRES.AsFloat;
                                 RegistroR04.New.RegistroR05.New.IAT := DECF.cdsPAF_R05IAT.AsString;
                                 RegistroR04.New.RegistroR05.New.IPPT := DECF.cdsPAF_R05IPPT.AsString;
                                 RegistroR04.New.RegistroR05.New.QTDE_DECIMAL := DECF.cdsPAF_R05CSDQTDE.AsInteger;
                                 RegistroR04.New.RegistroR05.New.VL_DECIMAL := DECF.cdsPAF_R05CSDVLRUNIT.AsInteger;
                                  ch := DECF.cdsPAF_R05NR_FAB.AsString + DECF.cdsPAF_R05MF_ADICIONAL.AsString + DECF.cdsPAF_R05NR_USUARIO.AsString +
                                  DECF.cdsPAF_R05CCF.AsString + DECF.cdsPAF_R05COO.AsString + DECF.cdsPAF_R05NR_ITEM.AsString +
                                  DECF.cdsPAF_R05COD_PROD.AsString + DECF.cdsPAF_R05DESCRICAO.AsString + DECF.cdsPAF_R05QUANTIDADE.AsString +
                                  DECF.cdsPAF_R05UNIDADE.AsString + DECF.cdsPAF_R05VLR_UNIT.AsString + DECF.cdsPAF_R05VLR_DESC.AsString +
                                  DECF.cdsPAF_R05CANC.AsString + DECF.cdsPAF_R05IAT.AsString + DECF.cdsPAF_R05IPPT.AsString + DECF.cdsPAF_R05QTDE_CANC.AsString +
                                  DECF.cdsPAF_R05VLR_CANC.AsString + DECF.cdsPAF_R05VLR_CANCACRES.AsString + DECF.cdsPAF_R05CSDQTDE.AsString + DECF.cdsPAF_R05CSDVLRUNIT.AsString;
                                 if (DECF.cdsPAF_R05CHAVE.AsString) <> (frmPrincipal.EAD.CalcularHash(ch, TAcbrEADDgst(2))) then begin
                                    RegistroR04.New.RegistroR05.New.RegistroValido := false;
                                 end else begin
                                    RegistroR04.New.RegistroR05.New.RegistroValido := true;
                                 end;
                               DECF.cdsPAF_R05.Next;
                              //Fim do While
                           end;}
                          DECF.cdsPAF_R04.Next;
                          //Fim do while
                       end;

                //Inicio do Registro R06
               if chkECF.Checked then begin
                       DECF.cdsPAF_R06.Close;
                       DECF.sqlPAF_R06.SQL.Clear;
                       DECF.sqlPAF_R06.SQL.Add('SELECT * FROM PAF_R06 WHERE DATA_FEMISSAO BETWEEN :DATA1 AND :DATA2 AND COD_ECF = :COD_ECF');
                       DECF.sqlPAF_R06.ParamByName('DATA1').AsDate := txtInicio.Date;
                       DECF.sqlPAF_R06.ParamByName('DATA2').AsDate := txtTermino.Date;
                       DECF.sqlPAF_R06.ParamByName('COD_ECF').AsInteger := sqlECFCOD_ECF.AsInteger;
                       DECF.cdsPAF_R06.Open;
                end else begin
                       DECF.cdsPAF_R06.Close;
                       DECF.sqlPAF_R06.SQL.Clear;
                       DECF.sqlPAF_R06.SQL.Add('SELECT * FROM PAF_R06 WHERE DATA_FEMISSAO BETWEEN :DATA1 AND :DATA2');
                       DECF.sqlPAF_R06.ParamByName('DATA1').AsDate := txtInicio.Date;
                       DECF.sqlPAF_R06.ParamByName('DATA2').AsDate := txtTermino.Date;
                       DECF.cdsPAF_R06.Open;
                end;
                //Inicia o registro R06
                DECF.cdsPAF_R06.First;
                while not DECF.cdsPAF_R06.Eof do begin
                       RegistroR06.New.NUM_USU := DECF.cdsPAF_R06NR_USUARIO.AsInteger;
                       RegistroR06.New.COO := DECF.cdsPAF_R06COO.AsInteger;
                       RegistroR06.New.GNF := DECF.cdsPAF_R06GNF.AsInteger;
                       RegistroR06.New.GRG := DECF.cdsPAF_R06GRG.AsInteger;
                       RegistroR06.New.CDC := DECF.cdsPAF_R06CDC.AsInteger;
                       RegistroR06.New.DENOM := DECF.cdsPAF_R06DENOMINACAO.AsString;
                       RegistroR06.New.DT_FIN := DECF.cdsPAF_R06DATA_FEMISSAO.AsDateTime;
                       RegistroR06.New.HR_FIN := DECF.cdsPAF_R06HORA_FEMISSAO.AsDateTime;
                       ch :=  DECF.cdsPAF_R06NR_FAB.AsString + DECF.cdsPAF_R06MF_ADICIONAL.AsString + DECF.cdsPAF_R06MODELO_ECF.AsString +
                       DECF.cdsPAF_R06NR_USUARIO.AsString + DECF.cdsPAF_R06COO.AsString + DECF.cdsPAF_R06GNF.AsString + DECF.cdsPAF_R06GRG.AsString +
                       DECF.cdsPAF_R06CDC.AsString + DECF.cdsPAF_R06DENOMINACAO.AsString + DECF.cdsPAF_R06DATA_FEMISSAO.AsString + DECF.cdsPAF_R06HORA_FEMISSAO.AsString;
                       if (DECF.cdsPAF_R06CHAVE.AsString) <> (frmPrincipal.EAD.CalcularHash(ch, TAcbrEADDgst(2))) then begin
                          RegistroR06.New.RegistroValido := false;
                       end else begin
                          RegistroR06.New.RegistroValido := true;
                       end;

{                     DECF.cdsPAF_R07.Close;
                     DECF.sqlPAF_R07.SQL.Clear;
                     DECF.sqlPAF_R07.SQL.Add('SELECT * FROM PAF_R07 WHERE COO = :COO AND COD_ECF = :COD_ECF');
                     DECF.sqlPAF_R07.ParamByName('COD_ECF').AsInteger := DECF.cdsPAF_R06COD_ECF.AsInteger;
                     DECF.sqlPAF_R07.ParamByName('COO').AsString := DECF.cdsPAF_R06COO.AsString;
                     DECF.cdsPAF_R07.Open;
                     DECF.cdsPAF_R07.First;
                   while not DECF.cdsPAF_R07.Eof do begin
                           RegistroR06.New.RegistroR07.New.CCF := DECF.cdsPAF_R07CCF.AsInteger;
                           RegistroR06.New.RegistroR07.New.GNF := DECF.cdsPAF_R07GNF.AsInteger;
                           RegistroR06.New.RegistroR07.New.MP := DECF.cdsPAF_R07FORMA_PAG.AsString;
                           RegistroR06.New.RegistroR07.New.VL_PAGTO := DECF.cdsPAF_R07VLR_PAGO.AsFloat;
                           RegistroR06.New.RegistroR07.New.IND_EST := DECF.cdsPAF_R07IND_ESTORNO.AsString;
                           RegistroR06.New.RegistroR07.New.VL_EST := DECF.cdsPAF_R07VLR_ESTORNO.AsFloat;
                           ch :=  DECF.cdsPAF_R07NR_FAB.AsString + DECF.cdsPAF_R07MF_ADICIONAL.AsString + DECF.cdsPAF_R07MODELO_ECF.AsString +
                           DECF.cdsPAF_R07NR_USUARIO.AsString + DECF.cdsPAF_R07COO.AsString + DECF.cdsPAF_R07GNF.AsString + DECF.cdsPAF_R07FORMA_PAG.AsString +
                           DECF.cdsPAF_R07VLR_PAGO.AsString + DECF.cdsPAF_R07IND_ESTORNO.AsString + DECF.cdsPAF_R07VLR_ESTORNO.AsString;
                       if (DECF.cdsPAF_R07CHAVE.AsString) <> (frmPrincipal.EAD.CalcularHash(ch, TAcbrEADDgst(2))) then begin
                          RegistroR06.New.RegistroR07.New.RegistroValido := false;
                       end else begin
                          RegistroR06.New.RegistroR07.New.RegistroValido := true;
                       end;
                      DECF.cdsPAF_R07.Next;
                   end;}
                    DECF.cdsPAF_R06.Next;
                end;
              frmPrincipal.PAF.SaveFileTXT_R('PAF_R.txt');
              application.MessageBox(PChar('Arquivo Gerado Com Sucesso Em: ' + ExtractFilePath(Application.ExeName) +'PAF_R.txt'), 'Sucesso', MB_IConQuestion);
              DECF.cdsPAF_R02.Close;
              DECF.cdsPAF_R03.Close;
              DECF.cdsPAF_R04.Close;
              DECF.cdsPAF_R05.Close;
              DECF.cdsPAF_R06.Close;
              DECF.cdsPAF_R07.Close;
       end;
   end;
 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution

Com veja o trecho abaixo do seu código foi o que falei na mensagem anterior para cada informação você está criando um registro novo para o R02

 

se queres usar  RegistroR02.New então usar 

with  RegistroR02.New do

 

 

há e mais uma coisa, todo o restante de seu código vai gerar problema pois está no mesmo formato

 

                   DECF.cdsPAF_R02.First;

                   while not DECF.cdsPAF_R02.Eof do begin
                       RegistroR02.New.NUM_USU := DECF.cdsPAF_R02NR_USUARIO.AsInteger;
                       RegistroR02.New.CRZ := DECF.cdsPAF_R02CRZ.AsInteger;
                       RegistroR02.New.COO := DECF.cdsPAF_R02COO.AsInteger;
                       RegistroR02.New.CRO := DECF.cdsPAF_R02CRO.AsInteger;
                       RegistroR02.New.DT_MOV := DECF.cdsPAF_R02DAT_MOV.AsDateTime;
                       RegistroR02.New.DT_EMI := time;
                       RegistroR02.New.VL_VBD := DECF.cdsPAF_R02VLR_VENDA.AsFloat;
                       RegistroR02.New.PAR_ECF := DECF.cdsPAF_R02PAR_DESCISSQN.AsString;

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4149 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.