Jump to content

Setando Fuso Horário Manualmente no XML


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

Edited by mcnonino
  • Like 2
Link to comment
Share on other 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".

Edited by pedron
  • Like 2
Link to comment
Share on other sites

  • Membros Pro

Boa tarde.

Ví a implementação desta nova propriedade, mas gostaria de um exemplo prático de como usar, pois não consegui entender muito bem.

Se eu usar  tzPCN  vai automaticamente colocar o fuso horário correto ? independente do horário do meu micro ?

Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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

  • Like 2
Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.