Ir para conteúdo
  • Cadastre-se

dev botao

Bloco K200 Gerando somente 1 registro


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

Recommended Posts

Postado

Bom dia, estou com uma dificuldade ao gerar o bloco K200, o mesmo bloco esta sendo gerado apenas com 1 registro, porem eu alimento o bloco com mais de 400 registros.

Estou enviando a copia do codigo e o arquivo TXT gerado, alguém já passou por isso?

 

OBS: APAGUEI UMA PARTE DO ARQUIVO CONTENDO OS DADOS DAS EMPRESAS.

 

  with ACBrSPEDFiscal1.Bloco_K do
  begin
    cdsgrupoproduto.Filtered := True;
    with RegistroK001New do
    begin
      IND_MOV := imComDados;

      with RegistroK100New do
      begin
        DT_INI := cbde.Date;
        DT_FIN := cbate.Date;

        with RegistroK200New do
        begin
          xsql := 'select '+
                  'a.codmanual, a.cidchaves, a.descricao, a.tipoestoqueproduto, a.cidchavesproprietarioproduto, '+
                  'd.sigla, c.codigoreceita, '+
                  'sum(e.quantidade) as saldo '+
                  'from '+
                  'tblprodutos a, tblgrupoproduto b, tbltipoprodutos c, tblunidadedemedida d, tblhistoricoproduto e '+
                  'where '+
                  'a.cidchavesgrupodeproduto=b.cidchaves and '+
                  'b.cidchavestipo=c.cidchaves and '+
                  'a.cidchaves=e.cidchavesproduto and '+
                  'a.cidchavesunidademedida=d.cidchaves and '+
                  'e.data<=:data  and ';

                  if cdsgrupoproduto.RecordCount>0 then
                  begin
                    cdsgrupoproduto.First;
                    xsql := xsql +' ( ';
                    while not cdsgrupoproduto.Eof do
                    begin
                      xsql := xsql+'B.cidchaves='+cdsgrupoprodutocidchaves.AsString+' or ';
                      cdsgrupoproduto.Next;
                    end;
                    xsql := copy(xsql,1,length(xsql)-3);
                    xsql := xsql +' )';
                  end
                  else
                  xsql := copy(xsql,1,length(xsql)-4);

                  xsql := xsql+'group by a.cidchaves having sum(e.quantidade)>0 order by a.descricao ';

          qryk200.Close;
          qryk200.SQL.Clear;
          qryk200.SQL.Add(xsql);
          qryk200.ParamByName('data').AsDate    :=cbate.Date;
          qryk200.Open;
          qryk200.First;
          while not qryk200.Eof do
          begin
            COD_ITEM  := qryk200cidchaves.AsString;
            QTD       := qryk200saldo.AsFloat;
            Case qryk200tipoestoqueproduto.AsInteger Of
              0 :
                  begin
                    IND_EST   := estPropInformantePoder;
                    COD_PART := '';
                  end;
              1 :
                  begin
                    IND_EST   := estPropInformanteTerceiros;
                    COD_PART  := qryk200cidchavesproprietarioproduto.AsString;
                  end;
              2 :
                  begin
                    IND_EST   := estPropTerceirosInformante;
                    COD_PART  := qryk200cidchavesproprietarioproduto.AsString;
                  end;
            End;


            DT_EST := cbate.Date;
            qryk200.Next;
          end;

          {with RegistroK220New do
          begin
            DT_MOV := ACBrSPEDFiscal1.DT_INI;
            COD_ITEM_ORI := '000008';
            COD_ITEM_DEST := '000010';
            QTD := 1;
            QTD_DEST := 1;
          end;
          }
        end;
      end;
    end;
    cdsgrupoproduto.Filtered := False;

  end;
 

 

 

Atenciosamente,

SpedFiscal.txt

  • Este tópico foi criado há 886 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.