Olá,
Tenho uma aplicação do tipo Controle que faz a geração de despesas recorrentes para a tabela de lançamentos de contas a pagar.
É uma aplicação antiga da versão 8 do SC a atualizado para a 9. Talvez tenha mudado algo, o que consegui dei uma alterada.
Segue:
$vetcat = {categoria}; // $vetcat = explode(";", {categoria});
$inseridos = 0;
foreach ($vetcat as $cat) { // Erro = Invalid argument supplied for foreach()
if (!empty($cat)) {
$sql = "SELECT Id_rc,
empresa_id,
parceiro_id,
cc_id,
tipodoc_id,
rc_doc,
rc_diavenc,
rc_valor,
rc_pg_rc,
rc_referencia,
‘M’ as intervalo,
DtEmissao
FROM recorrente
WHERE id_ctas_res = $cat and parceiro_id = {parceiro} and empresa_id = '[usr_empresa]'";
sc_lookup(dataset,$sql);
$diavenc = {dataset[0][6]};
$intervalo = {dataset[0][10]};
$vetor = funarrayvenc({dtinicio},{dtfinal},$diavenc,$intervalo);
foreach ($vetor as $svenc) {
$empresa = {empresa};
$fornec = {dataset[0][2]};
$cc = {dataset[0][3]};
$tp_doc = {dataset[0][4]};
$doc = {dataset[0][5]};
$valor = {dataset[0][7]};
$pg_rc = {dataset[0][8]};
$descr = {dataset[0][9]};
$dtlan = $svenc;
$sql_l = "insert into lanctos (Doc,empresa_id,Parc,QtParc,documento_g,Id_tipo,DtEmissao,Referencia,parceiro_id,Valor,Pg_Rc,DtVcto,cc_id,fazer_correcao,saldo,Obs,lote_id)
values
(’$doc’,’$empresa’,‘1’,‘1’,’$doc’,’$tp_doc’,’$svenc’,’$descr’,’$fornec’,’$valor’,’$pg_rc’,’$cc’,‘S’,’$valor’,‘Lancamento Recorrente’,’’)";
sc_exec_sql($sql_l);
sc_lookup(ds, “SELECT LAST_INSERT_ID()”);
if (!empty({ds})) {
$id = {ds[0][0]};
}
$inseridos++;
}
}
}
No formato original era uma duplo select no campo de contas/categorias. Mas agora preciso alterar para select simples e selecionar o parceiro.
No Debug ocorre o erro: Invalid argument supplied for foreach()
Grato, desde já.