RESOLVIDO:Criar parcelas (erro)

Olá pessoal, estou com um problema e queria ajuda para ver no que estou errando, tenho um formulário reg unico que criei um botão para abrir um form de controle que recebe uma variável com uma id para filtrar o registro que criei e com base nele criar mais 30 registros, que defini no campo do controle “prazo” para receber 30

Pois bem, ao chamar o form de controle sem ó método PHP inserido funciona bem, ele pega a variavel global e insere no campo e tudo certo até ai, o problema começa quando insiro o código para fazer o processo de criar os 30 registros (que é o mesmo de criar parcelamento), crio um botão tipo ajax para chamar o método, porém como disse quando insiro o método php ao chamar a aplicação não funciona ele retorna a mensagem abaixo:

Esta página não está funcionando

stangesistemas.myscriptcase.com não consegue atender a esta solicitação no momento.

HTTP ERROR 500

O CÓDIGO QUE ESTOU USANDO ESTA ABAIXO:

a revisei tudo e não vejo nenhum problema, por isso preciso de ajuda

sc_lookup(dataset,“SELECT id_funcionario_escala, id_posto_escala, id_nome_escala_escala, data_escala, tipo_dia_escala, hora_inicio_escala, hora_final_escala, id_alimentacao_escala, id_transporte_escala
FROM escalas
WHERE (id_escala = {id_escalas})”);

$id_funcionario = {dataset[0][0]};
$id_posto = {dataset[0][1]};
$id_nome_escala = {dataset[0][2]};
$data = {dataset[0][3]};
$tipoescala = {dataset[0][4]};
$hinicio = {dataset[0][5]};
$hfim = {dataset[0][6]};
$id_alimentacao = {dataset[0][7]};
$id_transporte = {dataset[0][8]};

//$datalanca = Date(‘Ymd G:i:s’);

$numero <= {prazo};

$x = 1;
while ($x <= $numero)
{

//$vencimentoF = sc_date_conv($vence,ddmmaaaa,aaaammdd);
$vencimento = sc_date($data, aaaa-mm-dd , + , 0, 0, $x-1);
//$valorparcela = $valor _ $numero;
$insert_table = ‘escalas’; //Table name
$insert_fields = array( // Field list, add as many as needed
‘id_funcionario_escala’ ="’$id_funcionario’",
‘id_posto_escala’ ="’$id_posto ‘",
‘id_nome_escala_escala’ ="’$id_nome_escala’",
‘data_escala’ ="’$vencimento’",
‘tipo_dia_escala’ ="’$tipoescala’",
‘hora_inicio_escala’ ="’$hinicio’",
‘hora_final_escala’ ="’$hfim’",
‘id_alimentacao_escala’ ="’$id_alimentacao’",
‘id_transporte_escala’ ="’$id_transporte’",

);
//Insert record
$insert_sql = ‘INSERT INTO ’ . $insert_table
. ’ (’ . implode(’, ‘, array_keys($insert_fields)) . ‘)’
. ’ VALUES (’ . implode(’, ', array_values($insert_fields)) . ‘)’;

sc_exec_sql($insert_sql);

$x++;
//sleep(1);
}

Olá,
esta comparação serve para que?
$numero <= {prazo};

1 Curtida

É para receber e não comparar,vou testar recebendo, pois pode ser isso.

Segue mais um exemplo, este com a preocupação de residual.
$CondicaoPagto=“00/30/60/90”;
$ValorPedido=1000.00;
$NumeroNF=12345;
//*************************************

$PARCELAS=explode("/",$CondicaoPagto);

$ICOUNT=count($PARCELAS);

$HOJE=date(“Y-m-d”);

$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(“ABCDEFGHIJKLMNOPQRSTUVWXYZ”,$i,1);
ELSE $NRODOC=$NumeroNF;

sc_exec_sql(“INSERT INTO contas_receber
(data_conta, data_vencimento, descricao, numero_documento, valor)
VALUES (CURRENT_DATE,’$VENCIMENTO’, ‘Faturamento’,’$NRODOC’, $VLR)”);

}

TAG: HAROLDO, GERAR, PARCELAS, RESIDUAL, CONDIÇÃO, PAGAMENTO, RECEBER, PAGAR

Haroldo, no caso eu preciso lançar um primeiro registro no cadastro e pegar esse mesmo registro e criar 30 ou mais registros, porém incrementando 1 dia a mais no campo data. por isso estou usando array, mas quando compilo ta 100% mas quando executo fica dando o erro que relatei. Nesse caso não preciso controlar nada de residual pois os registro são referentes a escala de trabalho e não é nada financeiro.

como disse @Jailton, isso: $numero <= {prazo}; não faz sentido

Não é assim que se monta um array:

image

Correto :

$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// a partir do PHP 5.4
$array = [
    "foo" => "bar",
    "bar" => "foo",
];

Modifiquei a array com o que me passou mas não funciona nada, o formulário nem abre e ja da erro.

Veja essa linha:
$vencimento = sc_date($data, aaaa-mm-dd , + , 0, 0, $x-1);
Veja a documentação da macro:

** Eu particularmente gosto de usar: **

Sugestão para leitura:

Haroldo obrigado, vc me apontou a falha de tudo, era como estava tratando o sc_date

Fiz igual ao exemplo e ficou perfeito, funcionando que é uma maravilha.

A linha correta é assim:
$vencimento = sc_date($data, “aaaa-mm-dd” ,"+" , 1, 0, 0);

Veja o canal do Jean Matos no yuotube tem um vídeo muito simples sobre parcelamento. Nota 10.