Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Rotina de emissão manual não executa quando initial_date é ausente #132

Closed
andrekutianski opened this issue Sep 1, 2022 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@andrekutianski
Copy link
Collaborator

andrekutianski commented Sep 1, 2022

Descreva o erro

Quando a propriedade initial_date está ausente nas configurações do módulo (tbladdonmodules) e a emissão de notas é configurada para a rotina manual, nenhuma nota é transmitida para a API ou processada e seu status fica "aguardando", sem apresentar nenhum erro detalhado ou prosseguindo com a transmissão.

Como reproduzir

O cenário onde este comportamento inesperado ocorre é quando o módulo está configurado para emissão manual e o setting initial_date está ausente para module NFEioServiceInvoices em tbladdonmodules.

Comportamento esperado

Para que a rotina de transmissão possa saber qual é a data máxima no passado ela deve verificar possíveis notas que estejam aguardando transmissão, usa-se o valor de initial_date como referência. Em um cenário normal o valor de initial_date refletiria a data de ativação do módulo, evitando assim que qualquer registro anterior proveniente de versões legadas não fossem retransmitidos (inclusive este comportamento é legado de versões obsoletas), mas em alguns cenários este valor não foi inicializado corretamente.

Não existindo um valor em initial_date, as rotinas de transmissão que são executadas quando o módulo está configurado pra emissão manual não conseguem selecionar os registros, como se não houvessem notas a serem transmitidas.

Ambiente e versões:

  • Versão do módulo: 2.1.3
  • Versão do WHMCS: 8.x
  • Versão do PHP: NA

Contexto adicional

É possível realizar uma correção paleativa inserindo um registro na tabela tbladdonmodules contendo um valor para a propriedade initial_date. Desta forma a rotina terá uma referência de data e conseguirá selecionar corretamente as notas na fila de transmissão.

Este valor de preferência deve ser no passado, pois assim caso existam notas que precisam serem transmitidas, mas que já estão paradas a um tempo na fila, possam ser inclusas, por exemplo:

module setting value
NFEioServiceInvoices initial_date 2022-08-01

O comando SQL seria:

INSERT INTO `tbladdonmodules` (`id`, `module`, `setting`, `value`) VALUES (NULL, 'NFEioServiceInvoices', 'initial_date', '2022-08-01');

image

@andrekutianski andrekutianski self-assigned this Sep 1, 2022
@andrekutianski andrekutianski added the bug Something isn't working label Sep 1, 2022
andrekutianski added a commit that referenced this issue Sep 1, 2022
Certifica que o parâmetro _initial_date_ seja inicializado na ativação do módulo e caso ausente especifica valor padrão para a rotina de seleção de fila.

refs: #132
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant