Quando a propriedade _initialdate 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 settinginitial_date está ausente para moduleNFEioServiceInvoices 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:
Descreva o erro
Quando a propriedade _initialdate 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 moduleNFEioServiceInvoices
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 deinitial_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:
Contexto adicional
É possível realizar uma correção paleativa inserindo um registro na tabela
tbladdonmodules
contendo um valor para a propriedadeinitial_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:
O comando SQL seria: