Ir para conteúdo
  • Cadastre-se

dev botao

Como gerar Registro 60M sintegra????


  • Este tópico foi criado há 4840 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Caros amigos do ACBr,

Estou com um dúvida muito grande a respeito da geração do Registro 60M do sintegra.

Criei uma tabela contendo os campos numserie, numordem, modelodoc, cooinicial, coofinal, crz, cro, vendabruta e valorgt, a duvida é quando devo carregar e como? no meu código gerei antes da redução z. Não sei se é burrice minha :mrgreen: , mas to desesperado pra resolver este problema. abaixo ta meu código pra vcs analizarem.

If Application.MessageBox('A Redução Z impossibilitará novas impressões. Deseja mesmo continuar?','Confirmação!',MB_ICONQUESTION+MB_YESNO) = MrYes then

begin

If not FbTransLocal.Active then

FbTransLocal.StartTransaction;

With QryVerReg do

begin

Close;

Sql.Clear;

Sql.Add('SELECT * FROM TBREG60MSINTEGRA WHERE NRSERIEECF=:NRSERIEECF');

ParamByName('NRSERIEECF').AsString := ACBrECF1.NumSerie;

Prepare;

Open; Last; First;

If RecordCount = 0 then

begin

Close;

Sql.Clear;

Sql.Add('INSERT INTO TBREG60MSINTEGRA (NRSERIEECF, COOINICIAL, CODFINAL, CRZ, VENDABRUTA, VALORGT, MODELODOC, CRO) '+

'VALUES (:NRSERIEECF, :COOINICIAL, :CODFINAL, :CRZ, :VENDABRUTA, :VALORGT, :MODELODOC, :CRO)');

ParamByName('NRSERIEECF').AsString := FPrincipal.ACBrECF1.NumSerie;

ParamByName('COOINICIAL').AsInteger:= FPrincipal.ACBrECF1.DadosReducaoZClass.COO;

ParamByName('CODFINAL').AsInteger := FPrincipal.ACBrECF1.DadosReducaoZClass.CCF;

ParamByName('CRZ').AsInteger := FPrincipal.ACBrECF1.DadosReducaoZClass.CRZ;

ParamByName('VENDABRUTA').AsFloat := FPrincipal.ACBrECF1.DadosReducaoZClass.ValorVendaBruta;

ParamByName('VALORGT').AsFloat := FPrincipal.ACBrECF1.DadosReducaoZClass.ValorGrandeTotal;

ParamByName('MODELODOC').AsString := '2D';

ParamByName('CRO').AsInteger := FPrincipal.ACBrECF1.DadosReducaoZClass.CRO;

ExecSQL;

end

else

begin

Close;

Sql.Clear;

Sql.Add('UPDATE TBREG60MSINTEGRA SET COOINICIAL=:COOINICIAL, CODFINAL=:CODFINAL, CRZ=:CRZ, VENDABRUTA=:VENDABRUTA, VALORGT=:VALORGT, MODELODOC=:MODELODOC, CRO=:CRO WHERE NRSERIEECF=:NRSERIEECF');

ParamByName('COOINICIAL').AsInteger:= FPrincipal.ACBrECF1.DadosReducaoZClass.COO;

ParamByName('CODFINAL').AsInteger := FPrincipal.ACBrECF1.DadosReducaoZClass.CCF;

ParamByName('CRZ').AsInteger := FPrincipal.ACBrECF1.DadosReducaoZClass.CRZ;

ParamByName('VENDABRUTA').AsFloat := FPrincipal.ACBrECF1.DadosReducaoZClass.ValorVendaBruta;

ParamByName('VALORGT').AsFloat := FPrincipal.ACBrECF1.DadosReducaoZClass.ValorGrandeTotal;

ParamByName('MODELODOC').AsString := '2D';

ParamByName('CRO').AsInteger := FPrincipal.ACBrECF1.DadosReducaoZClass.CRO;

ParamByName('NRSERIEECF').AsString := FPrincipal.ACBrECF1.NumSerie;

ExecSQL;

end;

end;

FbTransLocal.CommitRetaining;

ACBrECF1.ReducaoZ();

FPrincipal.GeraLogUsu(41, 'Efetuou Redução Z');

end;

Desde já agradeço a todos! Muito obrigado mesmo!

Link para o comentário
Compartilhar em outros sites

Boa tarde Nilson!

A maioria das informações você deve pegar antes de emitir o Z já que as mesmas são "zeradas" após a redução.

Utilize a classe AcbrECF1.DadosReducaoZ para pegar as informações e gravar na sua tabela.

Depois emita o Z

E novamente utilize a classe AcbrECF1.DadosReducaoZ para pegar o restante das informações.

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4840 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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