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...