Ir para conteúdo
  • Cadastre-se

Diego.Melo

Membros
  • Total de ítens

    1
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Diego.Melo's Achievements

Newbie

Newbie (1/14)

  • Dedicated Rare
  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputação

  1. Diego.Melo

    Dúvida DadosReducaoZ

    Caros, estou com um problema na hora de gravar os dados da reducao z em uma impressora bematech mp4000, usando "DadosReducaoZ" o cooInicial sempre fica zerado. Tenho o seguinte procedimento no meu sistema: ThreadSimplesProcesso(nil, 'Emitindo Redução Z. Aguarde..', procedure var Sintegra60m: TSintegra60m; Sintegra60a: TSintegra60a; ACBrECFDadosRZ: TACBrECFDadosRZ; ReducaoZ: TStringList; IdSintegra60m: Int64; TimeoutAnterior: Integer; begin try TThread.Queue(TThread.CurrentThread, procedure var I: Integer; begin FDataModule.ACBrECF.Desativar; FDataModule.ACBrECF.Ativar; TimeoutAnterior := FDataModule.ACBrECF.TimeOut; FDataModule.ACBrECF.TimeOut := 600; ReducaoZ := TStringList.Create; Try ACBrECFDadosRZ := FDataModule.ACBrECF.DadosReducaoZClass; FDataModule.ACBrECF.ReducaoZ; ReducaoZ.Text := FDataModule.ACBrECF.DadosUltimaReducaoZ; Sintegra60m := TSintegra60m.Create; Sintegra60m.BeginTransaction; Sintegra60m.Id := 0; Sintegra60m.IdEmpresa := TSessaoUsuario.GetInstance.Empresa.Id; Sintegra60m.NumeroEquipamento := StrToIntDef(ACBrECFDadosRZ.NumeroDoECF, 0); Sintegra60m.NumeroSerieEcf := ACBrECFDadosRZ.NumeroDeSerie; Sintegra60m.DataEmissao := TSessaoUsuario.GetInstance.DataServidor; Sintegra60m.HoraEmissao := TSessaoUsuario.GetInstance.HoraMovimento; Sintegra60m.DataMovimento := ACBrECFDadosRZ.DataDoMovimento; Sintegra60m.ModeloDocumentoFiscal := '2D'; Sintegra60m.COOInicial := StrToIntDef(ACBrECFDadosRZ.NumeroCOOInicial, 0); Sintegra60m.COOFinal := (ACBrECFDadosRZ.COO + 1); Sintegra60m.CRZ := (ACBrECFDadosRZ.CRZ + 1); Sintegra60m.CRO := ACBrECFDadosRZ.CRO; Sintegra60m.ValorVendaBruta := ACBrECFDadosRZ.ValorVendaBruta; Sintegra60m.ValorGrandeTotal := ACBrECFDadosRZ.ValorGrandeTotal; IdSintegra60m := Sintegra60m.Salvar; // ICMS for I := 0 to ACBrECFDadosRZ.ICMS.Count - 1 do begin try Sintegra60a := TSintegra60a.Create; Sintegra60a.Id := 0; Sintegra60a.IdSintegra60m := IdSintegra60m; Sintegra60a.SituacaoTributaria := StringReplace(FormatFloat('00.00', ACBrECFDadosRZ.ICMS.Aliquota), ',', '', [rfReplaceAll]); Sintegra60a.Valor := ACBrECFDadosRZ.ICMS.Total; Sintegra60a.Salvar; finally FreeAndNil(Sintegra60a); end; end; // ICMS - Substituição Tributária try Sintegra60a := TSintegra60a.Create; Sintegra60a.Id := 0; Sintegra60a.IdSintegra60m := IdSintegra60m; Sintegra60a.SituacaoTributaria := 'F'; Sintegra60a.Valor := ACBrECFDadosRZ.SubstituicaoTributariaICMS; Sintegra60a.Salvar; finally FreeAndNil(Sintegra60a); end; // ICMS - ISento try Sintegra60a := TSintegra60a.Create; Sintegra60a.Id := 0; Sintegra60a.IdSintegra60m := IdSintegra60m; Sintegra60a.SituacaoTributaria := 'I'; Sintegra60a.Valor := ACBrECFDadosRZ.IsentoICMS; Sintegra60a.Salvar; finally FreeAndNil(Sintegra60a); end; // ICMS - Não-incidência try Sintegra60a := TSintegra60a.Create; Sintegra60a.Id := 0; Sintegra60a.IdSintegra60m := IdSintegra60m; Sintegra60a.SituacaoTributaria := 'N'; Sintegra60a.Valor := ACBrECFDadosRZ.NaoTributadoICMS; Sintegra60a.Salvar; finally FreeAndNil(Sintegra60a); end; // ICMS - Desconto try Sintegra60a := TSintegra60a.Create; Sintegra60a.Id := 0; Sintegra60a.IdSintegra60m := IdSintegra60m; Sintegra60a.SituacaoTributaria := 'DESC'; Sintegra60a.Valor := ACBrECFDadosRZ.DescontoICMS; Sintegra60a.Salvar; finally FreeAndNil(Sintegra60a); end; // Cancelamento - ICMS try Sintegra60a := TSintegra60a.Create; Sintegra60a.Id := 0; Sintegra60a.IdSintegra60m := IdSintegra60m; Sintegra60a.SituacaoTributaria := 'CANC'; Sintegra60a.Valor := ACBrECFDadosRZ.CancelamentoICMS; Sintegra60a.Salvar; finally FreeAndNil(Sintegra60a); end; // ISSQN for I := 0 to ACBrECFDadosRZ.ISSQN.Count - 1 do begin try Sintegra60a := TSintegra60a.Create; Sintegra60a.Id := 0; Sintegra60a.IdSintegra60m := IdSintegra60m; Sintegra60a.SituacaoTributaria := 'ISS'; Sintegra60a.Valor := ACBrECFDadosRZ.ISSQN.Total; Sintegra60a.Salvar; finally FreeAndNil(Sintegra60a); end; end; Sintegra60m.CommitTransaction; except on E: Exception do begin Sintegra60m.RollbackTransaction; raise Exception.Create('Falha na emissão da Redução Z. ' + E.Message); end; end; try if not DirectoryExists(CaminhoApp + 'Arquivos\Reducoes Z') then begin if ForceDirectories(CaminhoApp + 'Arquivos\Reducoes Z') then ReducaoZ.SaveToFile(Format('%sArquivos\Reducoes Z\ReducaoZ_%s.txt', [CaminhoApp, FormatDateTime('ddmmyyyy', ACBrECFDadosRZ.DataDoMovimento)])); end else ReducaoZ.SaveToFile(Format('%sArquivos\Reducoes Z\ReducaoZ_%s.txt', [CaminhoApp, FormatDateTime('ddmmyyyy', ACBrECFDadosRZ.DataDoMovimento)])); except // on E: Exception do end; end); finally FDataModule.ACBrECF.TimeOut := TimeoutAnterior; FreeAndNil(Sintegra60m); FreeAndNil(ReducaoZ); end; end);
×
×
  • 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...