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']);
}
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']);
}
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
olá!
Quando dei o colar a classe ficou errado: NFePHPNFeToolsNFe onde o correto é: "NFePHPNFeToolsNFe" com barras! faz a correção e tenta novamente.
o post está retirando as barras automaticamente...
NFePHPNFeToolsNFe
para
NFePHP*NFe*ToolsNFe
OBS: Onde está o * (asterisco) substitua pela barra invertida! O post , está retirando automaticamente quando publico!
Via gora o procedimento para publicar o código php no post.
Segue o Código
---------------------------------------------------------------------------------
é...o post, remove as barras invertidas!
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)
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
Olá!
Pelo os erros, parece indica ser o caminho de acesso erro.
Dá um revisada, no seu código!
Opa. Que ótimo!
Fico feliz de ter-lo ajudado!
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
Resolvido, era o composer que não tinha baixado todas dependências.
Alguém teve o erro "arquivo não encontrado: .ini"
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
grato
Ari