Boa tarde, pessoal!
Tudo bem ?
Onde será que tô errando ai ?
Ele gera tudo certinho, só não tá gerando o k235. Se eu debugo, vejo percorrendo os dados certinho da tabela, mas a bagaça não grava no arquivo.
with SPEDFiscal.Bloco_K do
begin
with RegistroK001New do
begin
IND_MOV := imComDados;
with RegistroK100New do
begin
DT_INI := edtDataInicial.Date;
DT_FIN := edtDataFinal.Date;
Q0200.First;
while not Q0200.Eof do
begin
QK200.Close;
QK200.SQL.Clear;
QK200.SQL.Add('SELECT * FROM C000100 WHERE CODPRODUTO = :CODPRODUTO');
QK200.ParamByName('CODPRODUTO').AsString := Q0200.FieldByName('COD_ITEM').AsString;
QK200.Open;
// QK200.First;
with RegistroK200New do
begin
COD_ITEM := QK200.FieldByName('CODPRODUTO').AsString;
QTD := QK200.FieldByName('ESTOQUE_ATUAL').AsFloat;
IND_EST := estPropInformantePoder;
COD_PART := '';
DT_EST := edtDataFinal.Date;
end;
Q0200.Next;
end;
QK230.Close;
QK230.SQL.Clear;
QK230.SQL.Add('SELECT * FROM PRODUTO_PRODUCAO ');
QK230.SQL.Add('WHERE DATA BETWEEN :DATAI AND :DATAF ');
QK230.ParamByName('DATAI').AsDate := edtDataInicial.Date;
QK230.ParamByName('DATAF').AsDate := edtDataFinal.Date;
QK230.Open;
QK230.First;
while not QK230.Eof do
begin
with RegistroK230New do
begin
DT_INI_OP := QK230.FieldByName('DATA').AsDateTime;
DT_FIN_OP := QK230.FieldByName('DATA').AsDateTime;
COD_DOC_OP := IntToStr(QK230.FieldByName('IDPK').AsInteger);
COD_ITEM := QK230.FieldByName('PRODUTO_FINAL').AsString;
QTD_ENC := QK230.FieldByName('QTDE_PRODUZIDA').AsFloat;
end;
QK235.Close;
QK235.SQL.Clear;
QK235.SQL.Add('SELECT * FROM PRODUTO_PRODUCAO_INSUMO WHERE IDPRODUCAO = :IDPROD');
QK235.ParamByName('IDPROD').AsInteger := QK230.FieldByName('IDPK').AsInteger;
QK235.Open;
QK235.First;
while not QK235.Eof do
begin
with RegistroK235New do
begin
DT_SAIDA := QK230.FieldByName('DATA').AsDateTime;
COD_ITEM := QK235.FieldByName('IDINSUMO').AsString;
QTD := QK235.FieldByName('QUANTIDADE').AsFloat;
QK235.Next
end;
end;
QK230.Next;
end;
end;
end;
end;