OpenCnabPHP
OpenCnabPHP copied to clipboard
Banco Itau - cnab240
Boa noite precisa da ajuda de voces sobre o boleto ITAU carteira 157
Erro: Fatal error: Class 'CnabPHP\resources\341\remessa\cnab240\Registro3Q' not found in /home/storage/9/52/56/ws32/public_html/boleto/src/resources/B341/remessa/cnab240/Registro3P.php on line 262
Fiz os ajustes abaixo:
$arquivo = new Remessa(341,'cnab240',array( 'nome_empresa' =>"Empresa ABC", // seu nome de empresa 'tipo_inscricao' => 1, // 1 para cpf, 2 cnpj 'numero_inscricao' => '123.122.123-56', // seu cpf ou cnpj completo 'agencia' => "3300", // agencia sem o digito verificador 'agencia_dv' => '1', // somente o digito verificador da agencia 'conta' => '3264', // número da conta 'conta_dv' => (string)0, // digito da conta 'codigo_beneficiario' => '10668', // codigo fornecido pelo banco 'codigo_beneficiario_dv' => '2', // codigo fornecido pelo banco 'numero_sequencial_arquivo' => 1, 'situacao_arquivo' =>'P', // use T para teste e P para produ��o 'mensagem_1'=>'Sua mensagem personalizada para todos os boletos do arquivo aqui' // suportado somente para SICOOB cnab400, mudar o numero 1 para 2,3,4,5 para incluir mais mensagens )); $lote = $arquivo->addLote(array('tipo_servico'=> 1)); // tipo_servico = 1 para cobrança registrada, 2 para sem registro
$lote->inserirDetalhe(array( 'codigo_movimento' => 1, //1 = Entrada de título, para outras opções ver nota explicativa C004 manual Cnab_SIGCB na pasta docs 'nosso_numero' => 12345678, // numero sequencial de boleto 'seu_numero' => 43,// se nao informado usarei o nosso numero
/* campos necessarios somente para itau e siccob, não precisa comentar se for outro layout */
'carteira_banco' => 157, // codigo da carteira ex: 109,RG esse vai o nome da carteira no banco
'cod_carteira' => "I", // I para a maioria ddas carteiras do itau
/* campos necessarios somente para itau, não precisa comentar se for outro layout */
'especie_titulo' => "DM", // informar dm e sera convertido para codigo em qualquer laytou conferir em especie.php
'valor' => 100.00, // Valor do boleto como float valido em php
'emissao_boleto' => 2, // tipo de emissao do boleto informar 2 para emissao pelo beneficiario e 1 para emissao pelo banco
'protestar' => 3, // 1 = Protestar com (Prazo) dias, 3 = Devolver após (Prazo) dias
'prazo_protesto' => 5, // Informar o numero de dias apos o vencimento para iniciar o protesto
'nome_pagador' => "JOSÉ da SILVA ALVES", // O Pagador é o cliente, preste atenção nos campos abaixo
'tipo_inscricao' => 1, //campo fixo, escreva '1' se for pessoa fisica, 2 se for pessoa juridica
'numero_inscricao' => '123.122.123-56',//cpf ou ncpj do pagador
'endereco_pagador' => 'Rua dos developers,123 sl 103',
'bairro_pagador' => 'Bairro da insonia',
'cep_pagador' => '12345-123', // com hífem
'cidade_pagador' => 'Londrina',
'uf_pagador' => 'PR',
'data_vencimento' => '2016-04-09', // informar a data neste formato
'data_emissao' => '2016-04-09', // informar a data neste formato
'vlr_juros' => 0.15, // Valor do juros de 1 dia'
'data_desconto' => '2016-04-09', // informar a data neste formato
'vlr_desconto' => '0', // Valor do desconto
'baixar' => 1, // codigo para indicar o tipo de baixa '1' (Baixar/ Devolver) ou '2' (Não Baixar / Não Devolver)
'prazo_baixa' => 90, // prazo de dias para o cliente pagar após o vencimento
'mensagem' => 'JUROS de R$0,15 ao dia'.PHP_EOL."Não receber apos 30 dias",
'email_pagador' => '[email protected]', // data da multa
'data_multa' => '2016-04-09', // informar a data neste formato, // data da multa
'vlr_multa' => 30.00, // valor da multa
// campos necessários somente para o sicoob
'cod_instrucao1' => 1, //instrução para cobrar juros novas regras da base de boletos unificada
'cod_instrucao2' => 1, //instrução para cobrar juros novas regras da base de boletos unificada
'taxa_multa' => 0.00, // taxa de multa em percentual
'taxa_juros' => 0.00, // taxa de juros em percentual
));
================================================
Note a letra B antes do numero do banco, la na linha do erro esta faltando essa letra, Nos outros layouts isso já foi corrigido, mas como esse é beta e não tinha ninguém interessado, ficou para traz
Opa funcionou!!!! muito obrigado!!!
Gerei o arquivo de teste mas achei outro bug
As duas ultimas linhas começam com 104 ao inves de começar com 341
34100000 1000123122123560000000000000000000003300 000000003264 0EMPRESA ABC BANCO ITAU SA 12604201810452500000104000000 000
34100011R0100030 1000012312212356 03300 000000000000 0EMPRESA ABC 000000012604201800000000
3410001300001P 01033000001066803264 000123456781 0000043 0904201600000000001000000000001N0904201600000000000000000000001500904201600000000000000000000000000000000000000000000012345678 30510900000000000000
3410001300002Q 011000012312212356JOSE DA SILVA ALVES RUA DOS DEVELOPERS,123 SL 103 BAIRRO DA INSON12345123LONDRINA PR0000000000000000 000
3410001300003R 01000000000000000000000000000000000000000000000000009042016000000000003000 0000000000000000 000000000000 0
10400015 000005000000000000000000000000000000000000000000000000000000000000000000000
10499999 000001000007
Esse layout não foi testado, nem sei se ele esta de acordo com a documentação
Rogério acabei de baixar a documentação vou dar uma estudada
http://download.itau.com.br/bankline/cobranca_cnab240.pdf
Caso eu consiga evoluir te aviso para atualizar no projeto!
Obrigado pela atenção
Muito legal, caso tenha duvidas, é só chamar.
@edilsonsp De uma olhada nos arquivos que geram o trailler de lote e de arquivo se o código do banco para o respectivo banco está correto.
@edilsonsp estas correções para o ITAU 240 funcionar você já subiu ?
ao tentar gerar ITAU obtenho o erro
<div><strong>Type:</strong> Error</div>
<div><strong>Message:</strong> Class 'CnabPHP\resources\341\remessa\cnab240\Registro3Q' not found</div>
<div><strong>File:</strong>
/var/www/fin.sigpharma.xyz/vendor/rctnet/opencnabphp/src/resources/B341/remessa/cnab240/Registro3P.php</div>
<div><strong>Line:</strong> 262</div>
Notei que a LETRA B está aqui na linha do erro, porém, o erro mostra sem a letra B
$class = 'CnabPHP\resources\\B' . RemessaAbstract::$banco . '\remessa\\' . RemessaAbstract::$layout . '\Registro3P';
Se eu coloco
$class = 'CnabPHP\resourcesx\\B' . RemessaAbstract::$banco . '\remessa\\' . RemessaAbstract::$layout . '\Registro3P';
a letra B aparece, porém, o caminho é inválido, isto é um bug ?
<div><strong>Type:</strong> Error</div>
<div><strong>Message:</strong> Class 'CnabPHP\resourcesx\B341\remessa\cnab240\Registro3P' not found</div>
não sei se você reparou, mas acho que você acrescentou a letra 'x' antes das barras...
na verdade eu forcei este X e então o B apareceu, sem o x o B some e da o erro
Edite essa linha https://github.com/QuilhaSoft/OpenCnabPHP/blob/fc552a3f689e41ce29f24ffd72817b98bd24ff6f/src/resources/B341/remessa/cnab240/Registro3P.php#L261 deve haver outras iguais a essa para serem editadas nesse arquivo e nos outros do mesmo layout