Integrando o NFePHP com o Adianti. Olá, Estou alguns dias fazendo teste de integração do NFePHP com o Adianti e até o momento está sendo tranquilo. Sendo assim vou compartilhar o procedimento que fiz e talvez seja útil para alguém do Forum Adianti. Vamos ao que interessa certo? 1o passo): Assista os vídeos abaixo para fins de melhor entendimento do funcionamento do NFePHP. https://www.youtube....
CM
Integrando o NFePHP com o Adianti.  
Olá,

Estou alguns dias fazendo teste de integração do NFePHP com o Adianti e até o momento está sendo tranquilo.

Sendo assim vou compartilhar o procedimento que fiz e talvez seja útil para alguém do Forum Adianti.

Vamos ao que interessa certo?

1o passo): Assista os vídeos abaixo para fins de melhor entendimento do funcionamento do NFePHP.
https://www.youtube.com/watch?v=kD9S7PoyqYs
https://www.youtube.com/watch?annotation_id=annotation_1304415513&feature=iv

2o passo): Instalar o NFePHP fora da pasta app.
3o passo): No arquivo: lib/adianti/core/AdiantiApplicationLoader.php adicionar a linha: $folders[] = 'nfephp';
4o passo): No arquivo: engine.php adicionar a linha: require_once 'nfephp/bootstrap.php';


Com essas alterações no Adianti já é possível fazer funções por exemplo, verificar status do serviço na sefaz.

Exemplo:

public function onVerificaSefaz($param)
{
$nfe = new NFePHPNFeToolsNFe(' informar aqui o caminho completo do projeto /nfephp/config/config.json');
$nfe->setModelo('55');

$aResposta = array();
$siglaUF = 'SP';
$tpAmb = '2';
$retorno = $nfe->sefazStatus($siglaUF, $tpAmb, $aResposta);

new TMessage('info', $aResposta['cStat'].'
'.$aResposta['xMotivo'].'
'.$aResposta['dhRecbto']);
}


Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (14)


RC

Ola

fiz conforme acima porem ele da um erro, parece que nao esta achando a classe

public function __construct()
{
parent::__construct();
parent::add(new TLabel('Status da Nota Fiscal Eletrônica do seu estado:'));
$this->onVerificaSefaz();


}


public function onVerificaSefaz()
{
$nfe = new NFePHPNFeToolsNFe('../../nfephp/config/config.json');
$nfe->setModelo('55');

$aResposta = array();
$siglaUF = 'SP';
$tpAmb = '2';
$retorno = $nfe->sefazStatus($siglaUF, $tpAmb, $aResposta);

/*
parent::add(new TLabel($aResposta['cStat']));
parent::add(new TLabel($aResposta['xMotivo']));
parent::add(new TLabel($aResposta['dhRecbto']));
*/

new TMessage('info', $aResposta['cStat'].'
'.$aResposta['xMotivo'].'
'.$aResposta['dhRecbto']);
}


Segue erro apresentado:

Fatal error: Class 'NFePHPNFeToolsNFe' not found in E:wamp64wamp64wwwtemplateappcontrolstatusnfe.class.php on line 17
Call Stack
# Time Memory Function Location
1 0.0007 249248 {main}( ) ...engine.php:0
2 0.1441 2148520 TApplication::run( ) ...engine.php:40
3 0.1467 2183544 AdiantiCoreAdiantiCoreApplication::run( ) ...engine.php:20
4 0.1542 2258600 statusnfe->__construct( ) ...AdiantiCoreApplication.php:51
5 0.1582 2376616 statusnfe->onVerificaSefaz( ) ...statusnfe.class.php:9
CM

olá!

Quando dei o colar a classe ficou errado: NFePHPNFeToolsNFe onde o correto é: "NFePHPNFeToolsNFe" com barras! faz a correção e tenta novamente.
CM

o post está retirando as barras automaticamente...
CM


NFePHPNFeToolsNFe

para

NFePHP*NFe*ToolsNFe

OBS: Onde está o * (asterisco) substitua pela barra invertida! O post , está retirando automaticamente quando publico!
CM

Via gora o procedimento para publicar o código php no post.
Segue o Código
---------------------------------------------------------------------------------
public function onVerificaSefaz() { $nfe = new NFePHP\NFe\ToolsNFe('informar aqui o caminho completo do projeto /nfephp/config/config.json'); $nfe->setModelo('55'); $aResposta = array(); $siglaUF = 'SP'; $tpAmb = '2'; $retorno = $nfe->sefazStatus($siglaUF, $tpAmb, $aResposta); new TMessage('info', $aResposta['cStat'].''.$aResposta['xMotivo'].''.$aResposta['dhRecbto']); }
.
CM

é...o post, remove as barras invertidas!
RC

Valeu meu querido, agora ele acessou porem deu esse erro:


File: nfephplibsCommonBaseBaseTools.php : 493
NFePHPCommonBaseBaseTools->zLoadSEFAZ(E:*wamp64*wamp64*www*template*nfephp*config*,2,SP,nfe)
File: nfephplibsNFeToolsNFe.php : 1202
NFePHPCommonBaseBaseTools->zLoadServico(nfe,NfeStatusServico,SP,2)
File: appcontrolstatusnfe.class.php : 25
NFePHPNFeToolsNFe->sefazStatus(SP,2,)
File: appcontrolstatusnfe.class.php : 9
statusnfe->onVerificaSefaz()
File: libadianticoreAdiantiCoreApplication.php : 51
statusnfe->__construct(statusnfe)
File: engine.php : 22
AdiantiCoreAdiantiCoreApplication::run(1)
File: engine.php : 42
TApplication::run(1)
RC

Ahh agora funcionou perfeitamente... Era o caminho do config.json.

Muito obrigado essa dica foi muito útil e acho que será pra muitos tambem.4

Grato
CM

Olá!

Pelo os erros, parece indica ser o caminho de acesso erro.

Dá um revisada, no seu código!
CM

Opa. Que ótimo!

Fico feliz de ter-lo ajudado!
JA

Segui o passo a passo mas aqui ele dar erro :

Warning: require(/opt/lampp/htdocs/gestor/nfephp/vendor/composer/../symfony/polyfill-mbstring/bootstrap.php): failed to open stream: Arquivo ou diretório não encontrado in /opt/lampp/htdocs/gestor/nfephp/vendor/composer/autoload_real.php on line 66

Fatal error: require(): Failed opening required '/opt/lampp/htdocs/gestor/nfephp/vendor/composer/../symfony/polyfill-mbstring/bootstrap.php' (include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/gestor/nfephp/vendor/composer/autoload_real.php on line 66
JA

Resolvido, era o composer que não tinha baixado todas dependências.
JA

Alguém teve o erro "arquivo não encontrado: .ini"

AF

Estou começando a implementar a NFePHP e no consulta status conforme acima dá o seguinte erro:

"A senha de acesso para o certificado pfx não pode ser vazia.", depois gera outros erros

o certificado exite está instalado e a senha vai no config.json

 
  1. <?php
  2. public function onVerificaSefaz($param)
  3. {
  4. $nfe = new NFePHP\NFe\ToolsNFe('../../nfephp/config/config1.json');
  5. $nfe->setModelo('55');
  6. $aResposta = array();
  7. $siglaUF = 'SP';
  8. $tpAmb = '2';
  9. $retorno = $nfe->sefazStatus($siglaUF, $tpAmb, $aResposta);
  10. new TMessage('info', $aResposta['cStat'].''.$aResposta['xMotivo'].'
  11. '.$aResposta['dhRecbto']);
  12. // a minha estrutura de pastas é
  13. httpdocs
  14. /erpnfe/
  15. /app
  16. /control
  17. ...etc..
  18. /nfephp
  19. ?>




grato
Ari