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

como enviar remessa boleto para o openCnabPHP #94

Closed fazsites closed 5 years ago

fazsites commented 6 years ago

Boa tarde estamos finalizando o envio de remessa do Banco do brasil, só estou esperando homologar vou precisar usar o Git para envia a atualização para vcs ?

Rctnet commented 6 years ago

Boa tarde, você deve instalar o github desktop e fazer o fork do projeto, apontando para uma pasta vazia do seu computador... depois coloca os arquivos modificados nos devidos lugares, faz o commit e depois abre uma pull request, em linhas gerais é isso...

fazsites commented 6 years ago

Boa tarde Rctnet tudo bem? estou tentando homologar a remessa BB mas está por exemplo faltando a carteira então no arquivo principal remessaBB.php eu criei o array carteira como vc pode ver no código abaixo eu criei todos os procedimentos e ele não puxa o valor a não ser que eu digite em default. Tem algo que eu tenha que fazer para ele puxar os valores declarados? obrigado

no Registro1 exatamente na posição 11.1 que está o manual eu crie a parametro 'carteira'=>array(//11.1 'tamanho'=>2, 'default'=>'0', 'tipo'=>'int', 'required'=>true), abaixo: $arquivo = new Remessa('001','cnab240',array( 'nome_empresa' =>$orderP[cedente], // seu nome de empresa 'tipo_inscricao' => 2, // 1 para cpf, 2 cnpj 'numero_inscricao' => $orderP[cpf_cnpj], // seu cpf ou cnpj completo 'agencia' => $orderP[agencia], // agencia sem o digito verificador 'agencia_dv' => $orderP[agencia_dv], // somente o digito verificador da agencia 'conta' => $orderP[conta], // número da conta 'conta_dv' => $orderP[conta_dv], // digito da conta 'carteira' => $orderP[carteira], // número da conta 'variacao_carteira' => $orderP[variacao_carteira], // digito da conta 'convenio' => $orderP[convenio], // digito da conta

'numero_sequencial_arquivo'     => $numero_sequencial_arquivo,// Maximo de 6 digitos
'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

));

Rctnet commented 6 years ago

Tem alguma necessidade de incluir a carteira nos registros header?, porque em todos os outros layouts a carteira vai em inserir detalhe, sendo ainda possivel enviar boletos de carteiras diferentes no mesmo arquivo

fazsites commented 6 years ago

Olá meu caro infelizmente é no header de segunda linha precisa, mesmo o script não aceita a carteira e o convênio o a situação do arquivo também se é teste e produção não consigo por . eu pensei que era só criar os arrays em ambos arquivos eu ele aceitaria,o que devo fazer ?

aqui o manual do banco do BB: http://www.bb.com.br/docs/p ub/inst/dwn/Cnab240Agosto2 017.pdf

Rctnet commented 6 years ago

Já sei, nesse caso você deve passar os dados do header de segunda linha pelo $lote = $arquivo->addLote(array('tipo_servico'=> 1,'carteira'=>$carteira,. . .)); // tipo_servico = 1 para cobrança registrada, 2 para sem registro Isso deve resolver.

Rctnet commented 6 years ago

ou adicione isso no fim do arquivo de layout registro1

protected function set_carteira($value) { $this->data['carteira'] = RemessaAbstract::$entryData['carteira']; } isso vai fazer com que o o programa do registro1 pegue o valor entrado no array de new remessa

fazsites commented 6 years ago

Muito obrigado

fazsites commented 6 years ago

Olá meu caro estou tentando colocar espaço em brano a direita não achei opção, não tem nenhum função nesse script que faça isso, tem? tentei com $numero=str_pad($numero, 20, ' ');mas não ajudou

Rctnet commented 6 years ago

basta definir no layout como tipo= alfa e tamanho 20 no layout que o sistema se encarrega de colocar os espaços a direita... por padrão nos arquivos cnab os campos numericos são preenchidos com zeros a esquerda e alfa com espaços a direita