openboleto / OpenCnabPHP

Biblioteca multibanco para geração e leitura de arquivos Cnab240 e Cna400 de remessa e retorno
MIT License
192 stars 117 forks source link

Arquivo gerado Santander #96

Open rafahcardoso opened 6 years ago

rafahcardoso commented 6 years ago

Pessoal, consegui gerar umarquivo remessa do santander, ( 240) mas achei estranho pois parece que esta duplicado. O layout assim mesmo?

image

Rctnet commented 6 years ago

Boa tarde, me parece que você. colocou todo o código em looping, somente o inserirDetalhe (array(...)); deve estar em looping

rafahcardoso commented 6 years ago

Boa tarde, me parece que você. colocou todo o código em looping, somente o inserirDetalhe (array(...)); deve estar em looping

Pior que nao... Coloquei um ECHO cada vez q passa no loop so saiu o echo uma vez.... Sera q esta correto assim?

Rctnet commented 6 years ago

no fim do arquivo de exemplo eu já faço o echo dos dados, talvez esta fazendo duas vezes, esse conteúdo só pode aparecer uma vez

rafahcardoso commented 6 years ago

Como assim , meu caro???

Rctnet commented 6 years ago

poste seu código aqui para darmos uma olhada

c4tom commented 5 years ago

Pessoal, consegui gerar umarquivo remessa do santander, ( 240) mas achei estranho pois parece que esta duplicado. O layout assim mesmo?

image

eu também estou com mesmo problema, para a CEF

Rctnet commented 5 years ago

bom dia, já rodou o arquivo https://github.com/QuilhaSoft/OpenCnabPHP/blob/master/samples/ExemploRemessa.php aqui para min roda normal, mas na duvida postei como ficaria o código com um laço para carregar vários registros ``<?php namespace CnabPHP\samples;

require_once ("../autoloader.php");

use CnabPHP\Remessa;

$arquivo = new Remessa('033','cnab240',array( 'nome_empresa' =>"Empresa ABC", // seu nome de empresa 'tipo_inscricao' => 2, // 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 'posto' => '87', // codigo forncecido pelo sicredi obs: como o dv da agencia não é informado eu armazeno no banco de dados essa valor no dv da agencia '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 ));

//var_dump($arquivo->getText());die; $lote = $arquivo->addLote(array('tipo_servico'=> 1)); // tipo_servico = 1 para cobrança registrada, 2 para sem registro

foreach($registros){

$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' => 50, // 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'    => 109, // codigo da carteira ex: 109,RG esse vai o nome da carteira no banco
'cod_carteira'      => "01", // I para a maioria ddas carteiras do itau
 /* campos necessarios somente para itau,  não precisa comentar se for outro layout    */

'especie_titulo'    => "NP", // 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'   => '2018-04-09', // informar a data neste formato
'data_emissao'      => '2018-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
'data_segundo_desconto'     => '2016-04-09', // informar a data neste formato
'data_terceiro_desconto'     => '2016-04-09', // informar a data neste formato
'vlr_desconto'      => '0', // Valor do desconto
'vlr_segundo_desconto'      => '0', // Valor do desconto
'vlr_terceiro_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'     => 'rogerio@ciatec.net', // 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

));
} //header("Content-Disposition: attachment;filename=" . $arquivo->getFileName() .";"); echo utf8_decode($arquivo->getText()); // observar a header do seu php para não gerar comflitos de codificação de caracteres

?> ``

rafahcardoso commented 5 years ago

Entao, mas o CNPJ é somente numeros, cpf também, nao é?

Enviado do Outlookhttp://aka.ms/weboutlook


De: Rogerio Muniz notifications@github.com Enviado: quinta-feira, 3 de outubro de 2019 09:35 Para: QuilhaSoft/OpenCnabPHP OpenCnabPHP@noreply.github.com Cc: rafahcardoso rafael.vcardoso@hotmail.com; Author author@noreply.github.com Assunto: Re: [QuilhaSoft/OpenCnabPHP] Arquivo gerado Santander (#96)

bom dia, já rodou o arquivo https://github.com/QuilhaSoft/OpenCnabPHP/blob/master/samples/ExemploRemessa.php aqui para min roda normal, mas na duvida postei como ficaria o código com um laço para carregar vários registros ``<?php namespace CnabPHP\samples;

require_once ("../autoloader.php");

use CnabPHP\Remessa;

$arquivo = new Remessa('033','cnab240',array( 'nome_empresa' =>"Empresa ABC", // seu nome de empresa 'tipo_inscricao' => 2, // 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 'posto' => '87', // codigo forncecido pelo sicredi obs: como o dv da agencia não é informado eu armazeno no banco de dados essa valor no dv da agencia '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 ));

//var_dump($arquivo->getText());die; $lote = $arquivo->addLote(array('tipo_servico'=> 1)); // tipo_servico = 1 para cobrança registrada, 2 para sem registro

foreach($registros){

$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' => 50, // 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' => 109, // codigo da carteira ex: 109,RG esse vai o nome da carteira no banco

'cod_carteira' => "01", // I para a maioria ddas carteiras do itau

/ campos necessarios somente para itau, não precisa comentar se for outro layout /

'especie_titulo' => "NP", // 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' => '2018-04-09', // informar a data neste formato

'data_emissao' => '2018-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

'data_segundo_desconto' => '2016-04-09', // informar a data neste formato

'data_terceiro_desconto' => '2016-04-09', // informar a data neste formato

'vlr_desconto' => '0', // Valor do desconto

'vlr_segundo_desconto' => '0', // Valor do desconto

'vlr_terceiro_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' => 'rogerio@ciatec.net', // 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

)); } //header("Content-Disposition: attachment;filename=" . $arquivo->getFileName() .";"); echo utf8_decode($arquivo->getText()); // observar a header do seu php para não gerar comflitos de codificação de caracteres

?> ``

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/QuilhaSoft/OpenCnabPHP/issues/96?email_source=notifications&email_token=AETEU3K63XU3MWGRVW6AZPDQMXRH5A5CNFSM4GC3JJPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAIBQDA#issuecomment-537925644, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AETEU3KVYG7635HUNE2ZICLQMXRH5ANCNFSM4GC3JJPA.

Rctnet commented 5 years ago

não precisa, esse campo já tem extração dos caracteres internamente.