Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DeividMG18

[Resolvido] gerar varios boletos

Recommended Posts

boa noite galera,

 

estou implementando o gerador de boletos do phpboleto e deu certo na emissao de um boleto soh,porem eu gostaria de gerar tipo 12 boletos ao mesmo tempo cada um vencendo em datas diferente com intervalo de 30 dias porem nao consigo passar as datas do loop para o arquivo qe monta a linha digitavel ou seja ele soh cria um boleto valido e repete 12x.

 

alguem poderia me dizer o q fazer tipo se tem como pegar valores do loop e passar para a funcao etc:

 

segue os codigos:

 

bradesco.php


date_default_timezone_set('America/Sao_Paulo');

// DADOS DO BOLETO PARA O SEU CLIENTE
//2,36 e 1.000,36
$taxa_boleto=str_replace(',','.',str_replace('.','',$_POST['taxa']));
$valor_cobrado =str_replace(',','.',str_replace('.','',$_POST['valor']));
$valor_boleto=number_format($valor_cobrado+$taxa_boleto,2,',','.');
 // Prazo de X dias OU informe data: "13/04/2006"; 

$dadosboleto["data_documento"] = $_POST['datadoc']; // Data de emissão do Boleto
$dadosboleto["data_processamento"] =$_POST['datapro']; // Data de processamento do boleto (opcional)
$dadosboleto["valor_boleto"] = $valor_boleto; 	// Valor do Boleto - REGRA: Com vírgula e sempre com duas casas depois da virgula

// DADOS DO SEU CLIENTE
$dadosboleto["sacado"] = $_POST['cliente'];
$dadosboleto["endereco1"] = $_POST['enderecoc'];
$dadosboleto["endereco2"] = '';
$dadosboleto["doc"] = $_POST['doc'];

// INFORMACOES PARA O CLIENTE
$dadosboleto["demonstrativo1"] = 'Contato:';
$dadosboleto["demonstrativo2"] = $_POST['telefone'];
$dadosboleto["demonstrativo3"] = $_POST['email'];
$dadosboleto["instrucoes1"] = $_POST['inst'];
$dadosboleto["instrucoes2"] =$_POST['inst1'];
$dadosboleto["instrucoes3"] = $_POST['inst2'];
$dadosboleto["instrucoes4"] = $_POST['inst3'];

// DADOS OPCIONAIS DE ACORDO COM O BANCO OU CLIENTE
$dadosboleto["quantidade"] = $_POST['qtd'];
$dadosboleto["valor_unitario"] = $valor_boleto;
$dadosboleto["aceite"] = $_POST['aceite'];		
$dadosboleto["especie"] = $_POST['especie'];
$dadosboleto["especie_doc"] = $_POST['edoc'];


// ---------------------- DADOS FIXOS DE CONFIGURAÇÃO DO SEU BOLETO --------------- //


// DADOS DA SUA CONTA - Bradesco
$dadosboleto["agencia"] = str_replace('-','',substr($_POST['agencia'],0,-1)); // Num da agencia, sem digito
$dadosboleto["agencia_dv"] = substr($_POST['agencia'],-1,1); // Digito do Num da agencia
$dadosboleto["conta"] = str_replace('-','',substr($_POST['conta'],0,-1));	// Num da conta, sem digito
$dadosboleto["conta_dv"] =substr($_POST['conta'],-1,1);	// Digito do Num da conta

// DADOS PERSONALIZADOS - Bradesco
$dadosboleto["conta_cedente"] =  str_replace('-','',substr($_POST['conta'],0,-1));// ContaCedente do Cliente, sem digito (Somente Números)
$dadosboleto["conta_cedente_dv"] = substr($_POST['conta'],-1,1);// Digito da ContaCedente do Cliente
$dadosboleto["carteira"] = $_POST['carteira'];  // Código da Carteira: pode ser 06 ou 03

// SEUS DADOS
$dadosboleto["identificacao"] = $_POST['razao'];
$dadosboleto["logo"]=$_POST['logo'];
$dadosboleto["cpf_cnpj"] = $_POST['cnpje'];
$dadosboleto["endereco"] = $_POST['endereco'];
$dadosboleto["cidade_uf"] = "";
$dadosboleto["cedente"] = $_POST['razao'];	

// Num do pedido ou do documento = Nosso numero
$data_venc = $_POST['vencimentodoc'];
$dadosboleto["data_vencimento"]=$_POST['vencimentodoc'];
$data = explode('/',$data_venc );
$somar_x_dias = 30;
$parcelas=$_POST['parcelas'];
$dadosboleto["nosso_numero"] = $_POST['nossonumero'];  // Nosso numero sem o DV - REGRA: Máximo de 11 caracteres!
$dadosboleto["numero_documento"] = $_POST['nossonumero'];	// Num do pedido ou do documento = Nosso numero 

include("include/funcoes_bradesco.php"); 

$vns=1;


for($i = 0 ;$i < $parcelas; $i++){//loop que gera os boletos



$dadosboleto["data_vencimento"] = date('d/m/Y', mktime(0, 0, 0, $data[1], $data[0]+ $somar_x_dias , $data[2])) ; // Data de Vencimento do Boleto - REGRA: Formato DD/MM/AAAA



include("include/layout_bradesco.php");


              	$data = explode('/', date('d/m/Y', mktime(0, 0, 0, $data[1], $data[0]+$somar_x_dias, $data[2])));
	echo 'Boleto '.$vns++;


}



?>

 

 

 

meu sistema online boleto

user demo

senha demo

 

boletos>gerar carnê>bradesco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está alterando os dados no layout, mas a parte crítica (linha digitavel e etc...) e montado no:

include("include/funcoes_bradesco.php");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está alterando os dados no layout, mas a parte crítica (linha digitavel e etc...) e montado no:

include("include/funcoes_bradesco.php");

 

entao eu ja testei com o include funcoes_bradesco dentro do loop mas da akele erro fatal de funcao ja declarada e se eu colocar o layout fora do loop ele vai gerar soh um boleto com o primeiro vencimento....sera q tem como passar os vencimentos criado pelo for para o funcoes_bradesco.php...ja tentei de tudo e nao consegui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste caso eu vejo duas alternativas:

1 - Remontar o sistema para adequar a lógica dele à sua nencessidade;

2 - Usar cURL para montar os boletos e apenas pegar o retorno com ele já montado para exibir para o usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste caso eu vejo duas alternativas:

1 - Remontar o sistema para adequar a lógica dele à sua nencessidade;

2 - Usar cURL para montar os boletos e apenas pegar o retorno com ele já montado para exibir para o usuário.

 

nao entendi como eu faria isso com curl....entao nao eh possivel tipo limpar a data anterior e colocar a nova nas funcoes do arquivo que cria a linha digitavel?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi como eu faria isso com curl....entao nao eh possivel tipo limpar a data anterior e colocar a nova nas funcoes do arquivo que cria a linha digitavel?

Sim, é, no caso entraria no primeiro item que citei, alterar a lógica que foi usada no desenvolvimento do sistema para adequar a sua necessidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja refiz varias vezes ..o problema eh q nao sei como passar as novas datas paras as funcoes que monta a linha digitavel

 

alguem sabe como limpar valor da variavel $dadosboleto["data_vencimento"] no fim de cada loop?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem q dar loop no script todo...

 

tem q dar loop no script todo...

se eu dar loop em todo o script da isso

 

Fatal error: Cannot redeclare digitoVerificador_nossonumero() (previously declared in boletos\bradesco\carne\include\funcoes_bradesco.php:74) in boletos\bradesco\carne\include\funcoes_bradesco.php on line 85

a funcao q da erro

 

function digitoVerificador_nossonumero($numero) {	$resto2 = modulo_11($numero, 7, 1); 	$digito = 11 - $resto2; 	if ($digito == 10) {        $dv = "P"; 	} elseif($digito == 11) { 		$dv = 0;	} else {        $dv = $digito; 		} 	return $dv;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

este erro eh causado pq você esta dando o include varia vezes no mesmo arquivo/funcao, entao você pode colocar todos os includes de funcoes no inicio do script, o inlude do layout você coloca no loop...

 

este erro eh causado pq você esta dando o include varia vezes no mesmo arquivo/funcao, entao você pode colocar todos os includes de funcoes no inicio do script, o inlude do layout você coloca no loop...

certo agora parece q a linha digitavel esta atualizando...eu deixei as funcoes do arquivo funcoes_bradesco.php e separei o restante em outro arquivo funcoes.php soh q agora da esse erro

 

Notice: Undefined offset: -7 in C:\wamp\www\boleto2\admin\boletos\bradesco\carne\include\funcoes_bradesco.php on line 134

linha do erro funcoes_bradesco.php

$texto = $valor ;if((strlen($texto) % 2) <> 0){	$texto = "0" . $texto;}// Draw dos dadoswhile (strlen($texto) > 0) {  $i = round(esquerda($texto,2));  $texto = direita($texto,strlen($texto)-2);  $f = $barcodes[$i];  for($i=1;$i<11;$i+=2){    if (substr($f,($i-1),1) == "0") {      $f1 = $fino ;    }else{      $f1 = $largo ;    }

Compartilhar este post


Link para o post
Compartilhar em outros sites
include("include/funcoes_bradesco.php"); 
date_default_timezone_set('America/Sao_Paulo');


$taxa_boleto=str_replace(',','.',str_replace('.','',$_POST['taxa']));
$valor_cobrado =str_replace(',','.',str_replace('.','',$_POST['valor']));
$valor_boleto=number_format($valor_cobrado+$taxa_boleto,2,',','.');


$dados_boleto["numero_documento"]=$_POST['nossonumero'];
$dados_boleto["nosso_numero"]=$dados_boleto["numero_documento"];
$dadosboleto["data_documento"] = $_POST['datadoc']; // Data de emissão do Boleto
$dadosboleto["data_processamento"] =$_POST['datapro']; // Data de processamento do boleto (opcional)
$dadosboleto["valor_boleto"] = $valor_boleto; 	// Valor do Boleto - REGRA: Com vírgula e sempre com duas casas depois da virgula

// DADOS DO SEU CLIENTE
$dadosboleto["sacado"] = $_POST['cliente'];
$dadosboleto["endereco1"] = $_POST['enderecoc'];
$dadosboleto["endereco2"] = '';
$dadosboleto["doc"] = $_POST['doc'];

// INFORMACOES PARA O CLIENTE
$dadosboleto["demonstrativo1"] = 'Contato:';
$dadosboleto["demonstrativo2"] = $_POST['telefone'];
$dadosboleto["demonstrativo3"] = $_POST['email'];
$dadosboleto["instrucoes1"] = $_POST['inst'];
$dadosboleto["instrucoes2"] =$_POST['inst1'];
$dadosboleto["instrucoes3"] = $_POST['inst2'];
$dadosboleto["instrucoes4"] = $_POST['inst3'];

// DADOS OPCIONAIS DE ACORDO COM O BANCO OU CLIENTE
$dadosboleto["quantidade"] = $_POST['qtd'];
$dadosboleto["valor_unitario"] = $valor_boleto;
$dadosboleto["aceite"] = $_POST['aceite'];		
$dadosboleto["especie"] = $_POST['especie'];
$dadosboleto["especie_doc"] = $_POST['edoc'];


// ---------------------- DADOS FIXOS DE CONFIGURAÇÃO DO SEU BOLETO --------------- //


// DADOS DA SUA CONTA - Bradesco
$dadosboleto["agencia"] = str_replace('-','',substr($_POST['agencia'],0,-1)); // Num da agencia, sem digito
$dadosboleto["agencia_dv"] = substr($_POST['agencia'],-1,1); // Digito do Num da agencia
$dadosboleto["conta"] = str_replace('-','',substr($_POST['conta'],0,-1));	// Num da conta, sem digito
$dadosboleto["conta_dv"] =substr($_POST['conta'],-1,1);	// Digito do Num da conta

// DADOS PERSONALIZADOS - Bradesco
$dadosboleto["conta_cedente"] =  str_replace('-','',substr($_POST['conta'],0,-1));// ContaCedente do Cliente, sem digito (Somente Números)
$dadosboleto["conta_cedente_dv"] = substr($_POST['conta'],-1,1);// Digito da ContaCedente do Cliente
$dadosboleto["carteira"] = $_POST['carteira'];  // Código da Carteira: pode ser 06 ou 03

// SEUS DADOS
$dadosboleto["identificacao"] = $_POST['razao'];
$dadosboleto["logo"]=$_POST['logo'];
$dadosboleto["cpf_cnpj"] = $_POST['cnpje'];
$dadosboleto["endereco"] = $_POST['endereco'];
$dadosboleto["cidade_uf"] = "";
$dadosboleto["cedente"] = $_POST['razao'];

// NÃO ALTERAR!

$data_venc = $_POST['datadoc'];

$data = explode('/',$data_venc );
$somar_x_dias = 30;
$parcelas=$_POST['parcelas'];

$vns=0;




for($i = 0 ;$i < $parcelas; $i++){


$dadosboleto["data_vencimento"] = date('d/m/Y', mktime(0, 0, 0, $data[1], $data[0]+ $somar_x_dias , $data[2])) ;

$dadosboleto["nosso_numero"] = $_POST['nossonumero'].$vns;
$dadosboleto["numero_documento"]=$_POST['nossonumero'];
echo 'Boleto '.$vns++;

include("include/funcoes.php"); 
include("include/layout_bradesco.php");	 

	 $data = explode('/', date('d/m/Y', mktime(0, 0, 0, $data[1], $data[0]+$somar_x_dias, $data[2])));





}



?>

resolvi...vlw igorclap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu estou precisando justamente de um sistema como esse para gerar os boletos, se puder entre em contato comigo.

meu email visionweb@gmail.com

 

Fico no teu aguardo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu estou precisando justamente de um sistema como esse para gerar os boletos, se puder entre em contato comigo.

meu email visionweb@gmail.com

 

Fico no teu aguardo...

 

ja te mandei por email os dados de acesso e as atualizaçoes que fiz

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja te mandei por email os dados de acesso e as atualizaçoes que fiz

Cara, gostaria muito de estudar seu script. Tenho que fazer uma coisa parecida mas não sei como começar. Tem como me enviar?

Valeu.

 

Meu e-mail: erissoncst@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parceiro, você testou se o dinheiro está caindo na conta?

 

sim

 

ericsson o gerador de boletos eu envio sim, o de carnês eu vendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim

 

ericsson o gerador de boletos eu envio sim, o de carnês eu vendo.

Me interessei por seu script, me manda um email com uma proposta do script de carnês.

Meu email: itallo_romero@hotmail.com

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Cara, eu vi teu tópico sobre as parcelas e datas no boletophp e to com o mesmo pepino.


Quebrei a cabeça e não consegui fazer imprimir vários boletos na mesma página - ele mostra o primeiro boleto certo e os não altera as outras linhas digitáveis e não calcula o Nosso número corretamente.


Tem como tu me enviar o jeito que tu fez?


Pode enviar pra inrapa@ibest.com.br


Fico no teu aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.