Autorização para download do XML

11/11/2022

0

Bom dia pessoal, alguem pode me ajudar a resolver essa questão, preciso informar ao meu sistema que au emitir o MDFe ele so deve informar na TAG autXML no maximo 10 CNPJs.

Segue o Meu Codigo:

prodPred.tpCarga := TCarga(qryMDFE_MTIPO_CARGA.Value);
prodPred.xProd := qryMDFE_MPRODUTO_PREDOMINANTE.Value;
prodPred.cEAN := qryMDFE_MCOD_BARRA.Value;
prodPred.NCM := qryMDFE_MNCM.Value;

dados.qryconsulta.Close;
dados.qryconsulta.SQL.Clear;
dados.qryconsulta.SQL.Add('SELECT distinct(de.cnpj) FROM mdfe_detalhe md');
dados.qryconsulta.SQL.Add
('left join cte_destinatario de on de.codigo=md.fk_destinatario');
dados.qryconsulta.SQL.Add('where');
dados.qryconsulta.SQL.Add('md.fk_mdfe_master=:id');
dados.qryconsulta.Params[0].Value := qryMDFE_MCODIGO.Value;
dados.qryconsulta.Open;

dados.qryconsulta.First;
while not dados.qryconsulta.Eof do
begin
autXML.Add.CNPJCPF := dados.qryconsulta.Fields[0].AsString;
dados.qryconsulta.Next;
end;

if qryMDFE_MTIPO_MDFE.Value = 'CTE' then
tot.qCTe := qryMDFE_MQTD_CTE.Value;
if qryMDFE_MTIPO_MDFE.Value = 'NFE' then
tot.qNFe := qryMDFE_MQTD_CTE.Value;

tot.vCarga := qryMDFE_MVALOR_CARGA.AsFloat;
tot.cUnid := TUnidMed(qryMDFE_MUNIDADE_CARGA.AsInteger);

tot.qCarga := qryMDFE_MQTD_CARGA.AsFloat;

infAdic.infCpl := qryMDFE_MINFCPL.Value;
infAdic.infAdFisco := qryMDFE_MINFADFISCO.Value;
end;

end;
Lenivaldo Souza

Lenivaldo Souza

Responder

Posts

11/11/2022

Paulo

Você pode fazer de 2 formas.
Na sua query coloca select first 10

dados.qryconsulta.SQL.Add('SELECT first 10 distinct(de.cnpj) FROM mdfe_detalhe md');


ou então enquanto adiciona os cnpj faz um for

  for i := 0 to 9 do begin
    autXML.Add.CNPJCPF := dados.qryconsulta.Fields[0].AsString;
    dados.qryconsulta.Next;
  end;
Responder

11/11/2022

Lenivaldo Souza

Você pode fazer de 2 formas.
Na sua query coloca select first 10

dados.qryconsulta.SQL.Add(''SELECT first 10 distinct(de.cnpj) FROM mdfe_detalhe md'');


ou então enquanto adiciona os cnpj faz um for

[code=delphi]
for i := 0 to 9 do begin
autXML.Add.CNPJCPF := dados.qryconsulta.Fields[0].AsString;
dados.qryconsulta.Next;
end;

Muito obrigado Paulo pela sua atenção. Deu certo aqui, resolvi usando o First 10 na query.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar