Olá pessoal,
Estou precisando muito da ajuda de vocês para criar uma rotina para gerar parcelas.
Agradeço a todos que puderem me ajudar.
Grato
Paulo José
Click informática
Garanhuns - PE
Olá pessoal,
Estou precisando muito da ajuda de vocês para criar uma rotina para gerar parcelas.
Agradeço a todos que puderem me ajudar.
Grato
Paulo José
Click informática
Garanhuns - PE
Segue um script para lhe servir de base.
// GERA PARCELAS DA VENDA
sc_select(ds_clientes, select autorizacao,matricula,parcelas,valor_parcela,data_venda from clientes_vendas where (convenio = ‘[var_usuario]’ and data_venda =’$data_venda’));
if ({ds_clientes} === false){
echo "Erro de acesso a tabela de Vendas = " . {ds_clientes_erro};
}else {
while (!$ds_clientes->EOF)
{
$autoriza = $ds_clientes->fields[0];
$mat = $ds_clientes->fields[1];
$parc = $ds_clientes->fields[2];
$val_parc = $ds_clientes->fields[3];
$laco = 1;
$mes = 1;
while ($laco <= $parc)
{
$venc = sc_date ($dataset1->fields[0], "aaaa-mm-dd", "+", 0, $mes, 0); //INCREMENTA O MES
$id++;
sc_exec_sql("Insert into clientes_parcelas values('$id','[var_usuario]','$autoriza','$mat','$parc','$val_parc','$laco','$venc',0)");
$laco++;
$mes++;
}
$ds_clientes->MoveNext();
}
$ds_clientes->Close();
}
Seguindo a mesma ideia de George, segue uma rotina que de acordo com o valor total, gera as parcelas:
if({finalizarpedido} == ‘SIM’)
{
//Pega a soma dos itens
sc_lookup(rs_val, “SELECT
SUM(valor_total)
FROM
vendaItens
WHERE
(venda_idvenda = '”. {idvenda} ."’)");
//Pega a forma de pagamento
//Esta no formato 10/20 ou 10/20/30 ou 10/20/30/40 …
sc_lookup(rs, “SELECT
descricao
FROM
formasPagamento
WHERE
(idformasPagamento = '”. {idformasPagamento} ."’)");
$pagamento = {rs[0][0]};
$total = {rs_val[0][0]};
if($total > 0)
{
$arr_parcelas = array();
if(strpos($pagamento, “/”)!==false)
{
$arr_parcelas = explode("/", $pagamento);
}else
{
$arr_parcelas[] = $pagamento;
}
$vl_parcela = $total/count($arr_parcelas);
$data_base = {data_venda};
$cont=1;
foreach($arr_parcelas as $days)
{
$dt_parcela = sc_date ($data_base, "aaaa-mm-dd", "+", $days, 0, 0);
$str_insert = "INSERT INTO pagamentos (venda_idvenda, descricao, valor, data_vencimento, usuarioInc, data_inc)
VALUES(". {idvenda} .", 'Parcela ". $cont ."/". count($arr_parcelas) ."', '". $vl_parcela ."', '". $dt_parcela ."', '". [var_login] ."', now())";
sc_exec_sql($str_insert);
$cont++;
}
}
sc_exec_sql(“UPDATE venda SET finalizado=‘S’ WHERE idvenda = '”. {idvenda} ."’");
}
http://www.scriptcaseajax.com.br/news.php?extend.31.3
código em php, com residual na primeira parcela.
Tem que se cadastrar como usuário para ver o artigo.
Olá pessoal, obrigado pela ajuda.
Mas em que momento devo colocar esse código? Devo criar um botão, ou executar depois de atualizar o formulário ?
Grato
Paulo
Primeiro devemos saber se é parcelas de contas a pagar ou a receber.
Se for a pagar, deve fazer uma entrada da nota fiscal (coisa que se tornará obsoleta em futuro próximo com a obrigatoriedade da NFE para todas as empresas, será importado o arquivo XML com todas as informações) após conferida a digitação, ao fechar essa entrada, a mercadoria deve dar entrada ao estoque, geração do financeiro a pagar.
Se for contas a receber, no meu caso o pedido passa por processos (orçamento, em aberto, fechado, faturado) após fechado, tenho uma tela de seleção de pedidos que não foram gerado financeiro, nesse momento, é que gero o contas a receber e/ou junto a emissão da nota fiscal.
[quote author=Paulo (ClickInformatica) link=topic=2250.msg8466#msg8466 date=1284462351]
Olá pessoal, obrigado pela ajuda.
Mas em que momento devo colocar esse código? Devo criar um botão, ou executar depois de atualizar o formulário ?
Grato
Paul
???
[quote author=Paulo (ClickInformatica) link=topic=2250.msg8345#msg8345 date=1283966702]
Olá pessoal,
Estou precisando muito da ajuda de vocês para criar uma rotina para gerar parcelas.
Agradeço a todos que puderem me ajudar.
Grato
Paulo José
Click informática
Garanhuns - PE
[/quote
TAMBÉM SOFRI UM BOCADO
mas deu certo com um post do Haroldo:
cria um botão php na aplicação MestreDetalhe
pra atualizar e inserir no form tabela receber as parcelas com vencimento e valor das parcelas
$CondicaoPagto={PAGAMENTO}; // campo texto no Mestre detalha pra digitar assim 00/30/60/90
$valor_dividido={VALOR_PARCELA};
$ValorPedido={TOTAL};
$NumeroNF={id_venda};
$cliente={CLIENTE};
//*************************************
$PARCELAS=explode("/",$CondicaoPagto);
$ICOUNT=count($PARCELAS);
$HOJE={DATA};
$ICOUNT=$ICOUNT==0?1:$ICOUNT;
$VLRPARCS=round($ValorPedido/$ICOUNT,2);
$VLRPARC1=round($VLRPARCS+$ValorPedido-($VLRPARCS*$ICOUNT),2);
for ($i = 0; $i <= ($ICOUNT-1); $i++) {
$VENCIMENTO=sc_date($HOJE,“AAAA-MM-DD”,"+",$PARCELAS[$i],0,0);
$VLR=$i==0?$VLRPARC1:$VLRPARCS;
IF ($ICOUNT>1) $NRODOC=$NumeroNF."-".substr(“ABCDFGHIJLMNOPQRSTUVXZ”,$i,1);
ELSE $NRODOC=$NumeroNF;
sc_exec_sql(“INSERT INTO receber
(ID_VENDA,CLIENTE,DATA,VENCIMENTO, VALOR)
VALUES ($NumeroNF,$cliente, ‘$HOJE’,’$VENCIMENTO’, $VLR)”);
Tem uma pequena questão, as diferenças do valor de parcela, não irão resultar na somatória do total… é necessário realizar este tratamento, possivelmente uma parcela ficará com um valor diferenciado para chegar ao valor total…
Estou passando por este problema.
Isso sempre vai acontecer, qual é a dificuldade ?
Ex: 100,00 em 3 parcelas.
100,00 / 3 = 33,33 * 3 = 99,99, uma parcela será de 33,34.
Só tem que decidir se o vencimento da maior parcela será a primeira ou a última.
Nada… apenas ressaltando pois não continha no código acima…