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

Erro instalação no framework #195

Open
RafaVitorSilva opened this issue Nov 20, 2020 · 3 comments
Open

Erro instalação no framework #195

RafaVitorSilva opened this issue Nov 20, 2020 · 3 comments

Comments

@RafaVitorSilva
Copy link

eu inclui a lib no meu sistema, porem esta apresentando erro quando tento cria arquivo para o sicoob

eu estou utilizando o framework adianti

o log do php apresenta o seguinte erro

20-Nov-2020 17:55:25 America/Sao_Paulo] PHP Stack trace: [20-Nov-2020 17:55:25 America/Sao_Paulo] PHP 1. {main}() /Volumes/Dados/dev/OrionFast07/engine.php:0 [20-Nov-2020 17:55:25 America/Sao_Paulo] PHP 2. TApplication::run() /Volumes/Dados/dev/OrionFast07/engine.php:68 [20-Nov-2020 17:55:25 America/Sao_Paulo] PHP 3. Adianti\Core\AdiantiCoreApplication::run() /Volumes/Dados/dev/OrionFast07/engine.php:27 [20-Nov-2020 17:55:25 America/Sao_Paulo] PHP 4. ContaReceberGeracaoCnab240Form->show() /Volumes/Dados/dev/OrionFast07/lib/adianti/core/AdiantiCoreApplication.php:82 [20-Nov-2020 17:55:25 America/Sao_Paulo] PHP 5. ContaReceberGeracaoCnab240Form->show() /Volumes/Dados/dev/OrionFast07/lib/adianti/base/AdiantiStandardCollectionTrait.php:428 [20-Nov-2020 17:55:25 America/Sao_Paulo] PHP 6. ContaReceberGeracaoCnab240Form->run() /Volumes/Dados/dev/OrionFast07/lib/adianti/control/TPage.php:213 [20-Nov-2020 17:55:25 America/Sao_Paulo] PHP 7. call_user_func:{/Volumes/Dados/dev/OrionFast07/lib/adianti/control/TPage.php:59}() /Volumes/Dados/dev/OrionFast07/lib/adianti/control/TPage.php:59 [20-Nov-2020 17:55:25 America/Sao_Paulo] PHP 8. ContaReceberGeracaoCnab240Form->onGerarRemessa() /Volumes/Dados/dev/OrionFast07/lib/adianti/control/TPage.php:59 [20-Nov-2020 17:55:25 America/Sao_Paulo] PHP 9. ContaReceberControl->GerarCNAB240() /Volumes/Dados/dev/OrionFast07/app/control/modulo/conta_receber/ContaReceberGeracaoCnab240Form.php:448 [20-Nov-2020 17:55:25 America/Sao_Paulo] PHP 10. ContaReceberControl->onArquivo() /Volumes/Dados/dev/OrionFast07/app/control/controle/conta_receber/ContaReceberControl.php:52 [20-Nov-2020 17:55:25 America/Sao_Paulo] PHP Fatal error: Uncaught Error: Class 'CnabPHP\resources\generico\retorno\L040\Generico0' not found in /Volumes/Dados/dev/OrionFast07/app/lib/CnabPHP/resources/B033/retorno/L040/Registro0.php:31 Stack trace: #0 /Volumes/Dados/dev/OrionFast07/lib/adianti/core/AdiantiApplicationLoader.php(82): require_once() #1 /Volumes/Dados/dev/OrionFast07/lib/adianti/core/AdiantiCoreLoader.php(78): Adianti\Core\AdiantiApplicationLoader::autoload('Registro0') #2 [internal function]: Adianti\Core\AdiantiCoreLoader::autoload('Registro0') #3 /Volumes/Dados/dev/OrionFast07/app/lib/CnabPHP/RemessaAbstract.php(29): spl_autoload_call('CnabPHP\\resourc...') #4 /Volumes/Dados/dev/OrionFast07/app/lib/CnabPHP/Remessa.php(31): CnabPHP\RemessaAbstract->__construct('756', 'cnab240', Array) #5 /Volumes/Dados/dev/OrionFast07/app/control/controle/conta_receber/ContaReceberControl.php(138): CnabPHP\Remessa->__construct('756', 'cnab240', Array) #6 /Volumes/Dados/dev/OrionFast07/app/control/controle/conta_receber/ContaReceberControl.php(52): ContaReceberControl in /Volumes/Dados/dev/OrionFast07/app/lib/CnabPHP/resources/B033/retorno/L040/Registro0.php on line 31

PHP Fatal error: Uncaught Error: Class 'CnabPHP\resources\generico\retorno\L040\Generico0' not found in /Volumes/Dados/dev/OrionFast07/app/lib/CnabPHP/resources/B033/retorno/L040/Registro0.php:31

analisando o erro ele, informa que não localizou a classe, porem como não estou utilizando a parte de retorno, e o erro seria no autoloader do framework pelo oque eu entendi.

preciso de ajuda para resolver esse problema, para implementar

Obrigado.

@Rctnet
Copy link
Collaborator

Rctnet commented Nov 22, 2020

Ola @RafaVitorSilva , parece um erro de autoload, tente carregar o autoload do exemploremessa.php
https://github.com/QuilhaSoft/OpenCnabPHP/blob/21745e1df8e3e377ae1961a78933ef536ca02316/samples/ExemploRemessa.php#L30
talvez resolva

@RafaVitorSilva
Copy link
Author

RafaVitorSilva commented Nov 23, 2020

bom dia,
Desculpe a demora @Rctnet e obrigado pela ajuda.
eu fiz isso porem me retorna o mesmo erro

PHP Fatal error: Uncaught Error: Class 'CnabPHP\resources\generico\retorno\L040\Generico0' not found in /Volumes/Dados/dev/OrionFast07/app/lib/CnabPHP/resources/B033/retorno/L040/Registro0.php:31

segue o meu codigo

public function GerarCNAB240($contas_receber,$ContaBancaria){
        require_once 'app/lib/CnabPHP/autoloader.php';
        TTransaction::open('permission');
        $SytemUnit = new SystemUnit(TSession::getValue('userunitid'));
        $SystemUnitInfo = $SytemUnit->get_system_unit_info();
        TTransaction::close();
        //todo orion marcar
        $tipo_cobranca = 1;
        $arquivo = $this->onArquivo($SytemUnit, $SystemUnitInfo, $ContaBancaria);
//        $lote  = $arquivo->addLote(array('tipo_servico'=> $tipo_cobranca)); // tipo_servico  = 1 para cobrança registrada, 2 para sem registro
//
//        $lote->inserirDetalhe(array(
//                        //Registro 3P Dados do Boleto
//                        'nosso_numero'      => '1800001', // numero sequencial de boleto
//                        //'nosso_numero_dv'   =>	1, // pode ser informado ou calculado pelo sistema
//                        'parcela' 			=>	'01',
//                        'modalidade'		=>	'1',
//                        'tipo_formulario'	=>	'4',
//                        'codigo_carteira'   =>	'1', // codigo da carteira
//                        'carteira'   		=>	'1', // codigo da carteira
//                        'seu_numero'        =>	"DEV180001",// se nao informado usarei o nosso numero
//                        'data_vencimento'   =>	'2018-04-30', // informar a data neste formato AAAA-MM-DD
//                        'valor'             =>	'5.00', // Valor do boleto como float valido em php
//                        'cod_emissao_boleto'=>	'2', // tipo de emissao do boleto informar 2 para emissao pelo beneficiario e 1 para emissao pelo banco
//                        'especie_titulo'    => 	"DM", // informar dm e sera convertido para codigo em qualquer laytou conferir em especie.php
//                        'data_emissao'      => 	'2018-04-05', // informar a data neste formato AAAA-MM-DD
//                        'codigo_juros'		=>	'2', // Taxa por mês,
//                        'data_juros'   	  	=> 	'2018-04-30', // data dos juros, mesma do vencimento
//                        'vlr_juros'         => 	'0000000000001.00', // Valor do juros/mora informa 1% e o sistema recalcula a 0,03% por 
//                        // Você pode inserir desconto se houver, ou deixar em branco
//                        //'codigo_desconto'	=>	'1',
//                        //'data_desconto'		=> 	'2018-04-15', // inserir data para calcular desconto
//                        //'vlr_desconto'		=> 	'0', // Valor do desconto
//                        //'vlr_IOF'			=> 	'0',
//                        'protestar'         => 	'1', // 1 = Protestar com (Prazo) dias, 3 = Devolver após (Prazo) dias
//                        'prazo_protesto'    => 	'90', // Informar o numero de dias apos o vencimento para iniciar o protesto
//                        'identificacao_contrato'	=>	"Contrato 32156",
//
//
//                        // Registro 3Q [PAGADOR]
//                        'tipo_inscricao'    => '1', //campo fixo, escreva '1' se for pessoa fisica, 2 se for pessoa juridica
//                        'numero_inscricao'  => '638.035.884-64',//cpf ou ncpj do pagador
//                        'nome_pagador'      => "Elias Alves", // O Pagador é o cliente, preste atenção nos campos abaixo
//                        'endereco_pagador'  => 'Rua Esquerda, 42',
//                        'bairro_pagador'    => 'Bairro Queluz',
//                        'cep_pagador'       => '36400-000', // com hífem
//                        'cidade_pagador'    => 'Conselheiro Lafaiete',
//                        'uf_pagador'        => 'MG',
//
//                        // Registro 3R Multas, descontos, etc
//                        // Você pode inserir desconto se houver, ou deixar em branco, mas quando informar
//                        // deve preencher os 3 campos: codigo, data e valor
//                        'codigo_multa'		=>	'2', // Taxa por mês
//                        'data_multa'   	  	=> 	'2018-04-30', // data dos juros, mesma do vencimento
//                        'vlr_multa'         => 	'0000000000002.00', // Valor do juros de 2% ao mês
//
//                        // Registro 3S3 Mensagens a serem impressas
//                        'mensagem_sc_1' 	=> "Após venc. Mora 0,03%/dia e Multa 2,00%",
//                        'mensagem_sc_2' 	=> "Não conceder desconto",
//                        'mensagem_sc_3' 	=> "Sujeito a protesto após o vencimento",
//                        'mensagem_sc_4' 	=> "VelvetTux Soluções em Sistemas <('')",
//
//        ));
//
        $remessa = utf8_decode($arquivo->getText()); // observar a header do seu php para não gerar comflitos de codificação de caracteres;

        // Grava o arquivo
        $base_dir = dir('./files/'.TSession::getValue('userunitid').'/remessas/'.$ContaBancaria->id_conta_bancaria);
        file_put_contents($this->verificaPastas($base_dir)->path.$arquivo->getFileName(), $remessa);
        verificaPastas()->close();
    }
    
    private function onArquivo($SystemUnit,$SystemUnitInfo,$ContaBancaria,$ambiente = 'T',$layout = 'cnab240'){
        $cnpj = $SystemUnitInfo->cnpj;
        $cnpj = str_replace('.', '', $cnpj);
        $cnpj = str_replace('-', '', $cnpj);
        
        $array_agencia = explode('-', $ContaBancaria->agencia);
        $array_conta = explode('-', $ContaBancaria->conta_bancaria);
        $array_codigo_beneficiario = explode('-', $ContaBancaria->codigo_beneficiario);
                    

        $arquivo = new \CnabPHP\Remessa($ContaBancaria->codigo_febraban,$layout,array(
		//Informações da emrpesa recebedora
		'tipo_inscricao'  	=>	'2', // 1 para cpf, 2 cnpj
		'numero_inscricao'	=>	$cnpj, // seu cpf ou cnpj completo
		'agencia'       	=>	$array_agencia[0], // agencia sem o digito verificador
		'agencia_dv'    	=>	$array_agencia[1], // somente o digito verificador da agencia
		'conta'         	=> 	$array_conta[0], // número da conta
		'conta_dv'     		=> 	$array_conta[1], // digito da conta
		'nome_empresa' 		=>	$SystemUnit->name, // seu nome de empresa
		'numero_sequencial_arquivo'	=>	$ContaBancaria->lote_envio,
		'codigo_beneficiario'	=> $array_codigo_beneficiario[0], // codigo fornecido pelo banco
		'codigo_beneficiario_dv'=> $array_codigo_beneficiario[1], // codigo fornecido pelo banco
		'situacao_arquivo' =>$ambiente // use T para teste e P para produção
        ));
        return $arquivo;
    }

@MathDev00
Copy link

MathDev00 commented Jun 28, 2023

Olá,

Provavelmente você deve ter resolvido o problema, devido ao tempo do envio.
Mas tente comparar seu código com engine.php do framework puro, pode ser que tenha um problema nessa parte do código. Lembrando que o engine.php participa do projeto de carregamento da classe, que é justamente o erro (não encontrar a classe)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants