Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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)// 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
>
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
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.
>
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?
>
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.
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?
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;}
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 ; }
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 igor/applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/clap.gif&key=ab7a79d2320a1ded436b2ab0fea47e116ade502c5a2c7167044566e6dce34a83" alt="clap.gif" />
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...
>
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
>
ja te mandei por email os dados de acesso e as atualizaçoes que fiz
Opa cara infelizmente não recebi nada ainda no meu email.
Parceiro, você testou se o dinheiro está caindo na conta?
>
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
>
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.
>
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!
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.
Você está alterando os dados no layout, mas a parte crítica (linha digitavel e etc...) e montado no:
include("include/funcoes_bradesco.php");