Ir para conteúdo
  • Cadastre-se

dev botao

Setando Fuso Horário Manualmente no XML


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

Recommended Posts

Daniel, apenas para confirmar se eu entendi corretamente a alteração.

1) tzSistema: O componente pegará o fuso horário do windows (que era o padrão do Trunk2);

2) tzPCN: O componente calculará automaticamente o fuso horário (que era o padrão do Trunk1);

3) tzManual: O componente pegará o fuso horário indicado em TimeZoneStr;

4) O default será tzSistema;

5) Aqui uma dúvida: como preencher o TimeZoneStr? (Ex.: "-3", "-0300" ou "-03:00")

 

E muito obrigado pela alteração. Vai ajudar muito.

Editado por mcnonino
  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Quanto ao comportamento (perguntas 1, 2, 3 e 4) pelo que entendi dos fontes alterados é isso mesmo que você falou...


Quanto à última pergunta: preencha com '-03:00'

 

E obrigado novamente, conforme o mcnonino disse: "Vai ajudar muito".

Editado por pedron
  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Fundadores

O ACBr é OpenSource... estude a Unit pcnAuxiliar.pas

function GetUTC(UF: string; const dataHora: TDateTime): string;

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Boa tarde, fiz a atualização do meu acbr trunk2 e estou tendo um problema de access violation ao gerar a NFe

AcbNFe.NotasFiscais.GerarNFe;

fiz o debug, e cheguei a unit "ACBrNFeNotasFiscais" o erro esta na função

function NotaFiscal.GerarXML: String;
var
  IdAnterior : String;
begin
  with TACBrNFe(TNotasFiscais(Collection).ACBrNFe) do
  begin
    IdAnterior := NFe.infNFe.ID;
    FNFeW.Gerador.Opcoes.FormatoAlerta := Configuracoes.Geral.FormatoAlerta;
    FNFeW.Gerador.Opcoes.RetirarAcentos := Configuracoes.Geral.RetirarAcentos;
    pcnAuxiliar.TimeZoneConf.Assign( Configuracoes.WebServices.TimeZoneConf );
  end;

  FNFeW.Opcoes.GerarTXTSimultaneamente := False;

  FNFeW.GerarXml;
  //DEBUG
  //WriteToTXT('c:\temp\Notafiscal.xml', FNFeW.Gerador.ArquivoFormatoXML, False, False);
  XMLOriginal := FNFeW.Gerador.ArquivoFormatoXML;

  if (NaoEstaVazio(FNomeArq) and (IdAnterior <> FNFe.infNFe.ID)) then // XML gerado pode ter nova Chave e ID, então devemos calcular novamente o nome do arquivo, mantendo o PATH do arquivo carregado
    FNomeArq := CalcularNomeArquivoCompleto('', ExtractFilePath(FNomeArq));

  FAlertas := ACBrStr( FNFeW.Gerador.ListaDeAlertas.Text );
  Result := FXMLOriginal;
end;

Mais especificamente na linha 6

pcnAuxiliar.TimeZoneConf.Assign( Configuracoes.WebServices.TimeZoneConf );

Gostaria de saber se a alteração do "TimeZoneConf" afetou mais alguma coisa ou se somente no nosso sistema esta tendo este problema

Obs: Não estou setando o horário, estou usando o Default

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

O A.V. só ocorreria se "pcnAuxiliar.TimeZoneConf" ou "Configuracoes.WebServices.TimeZoneConf", fossem nulas ou foram destruídos...

Você manipula esses objetos diretamente ?

Como reproduzir o problema usando o demo do ACBrNFe ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Boa tarde, fiz o debug novamente e verifiquei que o 

TACBrNFe(TNotasFiscais(Collection).ACBrNFe).Configuracoes.WebServices.TimeZoneConf

esta com valor  (tzSistema, '') já o 

pcnAuxiliar.TimeZoneConf

está nulo

eu crio os objetos TACBrNFe e TACBrNFeDANFERL em tempo de execução, nossa aplicação funciona com módulos BPL carregadas em tempo de execução (Runtime Packages) portanto tudo relacionado a NFE está dentro da pckNFe.bpl que é carregada ao abrir o sistema

Estou anexando a mensagem de A.V. para que possa dar uma olhada.

Obs: No exemplo do ACBrNFe não ocorreu o erro, mas existem algumas variáveis, o exemplo não está em "Runtime Packages", não sei se isso pode ser a causa do problema

 

Obrigado.

ErroAcbr.png

Link para o comentário
Compartilhar em outros sites

Boa tarde,

Consegui resolver o problema de Access violation, verifiquei que por estar carregando o modulo pckNfe.bpl em Runtime o aplicativo não estava executando as funções

initialization
  TimeZoneConf := TTimeZoneConf.Create;

finalization;
  FreeAndNil( TimeZoneConf );

presentes na unit pcnAuxiliar, para resolver o problema coloquei no uses do formulário principal do sistema a unit pcnAuxiliar, assim obriga o sistema a executar a função de inicialização da classe.

Obrigado pela atenção

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2961 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.