nfephp-org / sped-da

Classes para geração dos documentos auxiliares usados pelos padrões Sped
Other
139 stars 238 forks source link

Geração da danfe sem o protocolo de autorização #433

Closed rclenzi closed 3 years ago

rclenzi commented 3 years ago

Segue correção para emissão da danfe sem o protocolo de autorização.

robmachado commented 3 years ago

Não entendi o motivo dessa alteração !!

rclenzi commented 3 years ago

Não entendi o motivo dessa alteração !!

Na geração da danfe sem o protocolo de autorização, do jeito que estava antes dava o seguinte erro:

Uncaught Error: Call to a member function getElementsByTagName() on null in C:\Sistemas\PHP\visua-web\vendor\nfephp-org\sped-da\src\NFe\Danfe.php:852
Stack trace:
#0 \vendor\nfephp-org\sped-da\src\NFe\Danfe.php(1235): NFePHP\DA\NFe\Danfe->statusNFe()
#1 \vendor\nfephp-org\sped-da\src\NFe\Danfe.php(591): NFePHP\DA\NFe\Danfe->header(158, 62, 1, 1)
#2 \vendor\nfephp-org\sped-da\src\Common\DaCommon.php(215): NFePHP\DA\NFe\Danfe->monta('data://text/pla...')
#3 NFePHP\DA\Common\DaCommon->render('data://text/pla...')
#4 {main}
  thrown in \vendor\nfephp-org\sped-da\src\NFe\Danfe.php on line 852

Olhando a linha 852 temos o seguinte código:

$retEvento = $this->nfeProc->getElementsByTagName('retEvento')->item(0);

Como não temos a tag "nfeProc", não temos como chamar o método getElementsByTagName('retEvento'). Para funcionar de acordo, adicionei um tratamento para quando o xml não tiver o protocolo de autorização.