Fiz o codigo abaixo para retornar os dados para geracao do bloco p mais o arquivo txt gerado não está imprimindo os valores correspondentes.
Alguem pode me informar se deixei de declarar alguma função?
procedure TfrmSPEDPISCONFIS.GerarBlocoP;
VAR RegistroAtual : string;
p100 : integer;
begin
TRY
// Alimenta o componente com informações para gerar todos os registros do
// Bloco P.
with ACBrSPEDPisCofins1.Bloco_P do
begin
with RegistroP001New do
begin
RegistroAtual := 'P001';
with RegistroP010New do
begin
cdsRegistroNv2.Close;
cdsRegistroNv2.CommandText := 'SELECT * FROM SPEDREGISTROP010('+ IntToStr(Empresa.KeyValue) +');';
cdsRegistroNv2.Open;
CNPJ := cdsRegistroNv2.FieldByName('CNPJ').AsString; //'';
lblStatus.Caption := 'Gerando Bloco P - Registro P100';
pbPrincipal.Position := 0;
Refresh;//Application.ProcessMessages;
cdsRegistroNv2.Close;
cdsRegistroNv2.CommandText := 'SELECT * FROM SPEDREGISTROP100('+ QuotedStr(FormatDateTime('mm/dd/yyyy', Inicio.Date)) +','+ QuotedStr(FormatDateTime('mm/dd/yyyy', Fim.Date)) +');';
cdsRegistroNv2.Open;
cdsRegistroNv2.First;
pbPrincipal.Max := cdsRegistroNv2.RecordCount;
if cdsRegistroNv2.RecordCount > 0 then
IND_MOV := imComDados
ELSE
IND_MOV := imSemDados;
end;
for P100 := 0 to cdsRegistroNv2.RecordCount -1 do
begin
RegistroAtual := 'P100:' + cdsRegistroNv2.FieldByName('COD_ATIV_ECON').AsString;
with RegistroP100New do
begin
DT_INI := Inicio.Date;
DT_FIM := Fim.Date;
VL_REC_TOT_EST := cdsRegistroNv2.FieldByName('VL_REC_TOT_EST').AsCurrency;
COD_ATIV_ECON := cdsRegistroNv2.FieldByName('COD_ATIV_ECON').AsString;
VL_REC_ATIV_ESTAB := cdsRegistroNv2.FieldByName('VL_REC_ATIV_ESTAB').AsCurrency;
VL_EXC := cdsRegistroNv2.FieldByName('VL_EXEC').AsCurrency;
VL_BC_CONT := cdsRegistroNv2.FieldByName('VL_BC_CONT').AsCurrency;
ALIQ_CONT := cdsRegistroNv2.FieldByName('ALIQ_CONT').AsCurrency;
VL_CONT_APU := cdsRegistroNv2.FieldByName('VL_CONT_APU').AsCurrency;
COD_CTA := '';
end;
cdsRegistroNv2.Next;
end;
end;
end;
except
on E : Exception do
begin
frmErroSPED.mmErro.Lines.Add('Erro ao gerar o registro: ' + RegistroAtual);
raise Exception.Create(E.Message);
end;
end;
end;