Ir para conteúdo
  • Cadastre-se

José Vitor B. Gomes

Membros
  • Total de ítens

    2
  • Registro em

  • Última visita

Posts postados por José Vitor B. Gomes

  1. Deu certo, valeu!!

    Sim, deu erro, corrigi iniciando a variável a em 0 e mudando a condição while a <= OpenDialog1.Files.Count do para while a < OpenDialog1.Files.Count do

  2. Bom dia,

    Estou com um problema para ler arquivos XML com a função ACBrSAT1.CFe.LoadFromFile, fiz uma estrutura para selecionar múltiplos arquivos XML e um laço que passa pelos itens e quando finaliza, volta para o início e pula para o próximo arquivo XML. O que acontece atualmente quando executo o código.

    Ex: Seleciono 3 XML's, a estrutura lê todos os itens do primeiro, mas não passa para o próximo arquivo, faz o mesmo processo 3x (Número do count de arquivos selecionados).

    Código: 

     if (OpenDialog1.Execute) then
        begin
          SOMA5405 := 0.0;
          SOMA5102 := 0.0;
          SOMA5101 := 0.0;
          while a <= OpenDialog1.Files.Count do
            begin

              v := 0;
              i := 0;

              ACBrSAT1.CFe.LoadFromFile(OpenDialog1.FileName);

              ShowMessage('quant itens ' + IntToStr(ACBrSAT1.CFe.Det.Count) );

              while i < ACBrSAT1.CFe.Det.Count  do
                begin
                  edtN_CFE.Text  := IntToStr(ACBrSAT1.CFe.ide.nCFe);
                  edt_CLIENTE.Text := ACBrSAT1.CFE.Emit.xNome;
                  //edtN_ITEM.Text := IntToStr(ACBrSAT1.CFe.DeT.Items[v].nItem);
                  //edtNOME_PROD.Text := ACBrSAT1.CFe.Det.Items[v].Prod.xProd;
                  //edtCFOP.Text := ACBrSAT1.CFE.Det.Items[v].Prod.CFOP;
                  //edtV_ITEM.Text := FloatToStr(ACBrSAT1.CFe.Det.Items[v].Prod.vItem);

                  if Pos(CFOP5405, ACBrSAT1.CFe.Det.Items.Prod.CFOP)<> 0 then
                    begin
                      SOMA5405 := SOMA5405 + ACBrSAT1.CFe.Det.Items.Prod.vItem;
                    end;
                  if Pos(CFOP5102, ACBrSAT1.CFe.Det.Items.Prod.CFOP)<> 0 then
                    begin
                      SOMA5102 := SOMA5102 + ACBrSAT1.CFe.Det.Items.Prod.vItem;
                    end;
                  if Pos(CFOP5101, ACBrSAT1.CFe.Det.Items.Prod.CFOP)<> 0 then
                    begin
                      SOMA5101 := SOMA5101 + ACBrSAT1.CFe.Det.Items.Prod.vItem;
                    end;
                    
                  i := i+1;
                end;

              edt_SOMA5405.text := FloatToStr(SOMA5405);
              edt_SOMA5102.text := FloatToStr(SOMA5102);
              edt_SOMA5101.text := FloatToStr(SOMA5101);
              SOMATOTAL := (SOMA5405) + (SOMA5102) + (SOMA5101);
              edt_SOMATOTAL.text := FloatToStr(SOMATOTAL);
              a := a+1;
            end;
        end;
    end;

×
×
  • 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.

The popup will be closed in 10 segundos...