Prezados, falha na massa cinzenta… estou apanhando para pegar os dados de uma tabela e gravar em outra…
se tiro o laço ele pega os dados e mas grava apenas a primeira linha…
como resolvo isso ?
{vencimento}= sc_date_conv({vencimento},“dd/mm/aaaa”,“db_format”);
sc_lookup(dataset,“SELECT
contrato_trabalho.idfunc,
contrato_trabalho.s_base,
contrato_trabalho.gratificacao,
contrato_trabalho.inss,
contrato_trabalho.ir,
contrato_trabalho.s_familia,
alocacao.idobra
FROM
dbo.contrato_trabalho INNER JOIN dbo.alocacao ON contrato_trabalho.idcontrato = alocacao.idcontrato
WHERE
alocacao.motivo = ‘5’ AND
alocacao.idobra = ‘{centro_custo}’”);
if({dataset}===false){
echo “Erro de acesso. Mensagem=” .{dataset};
}elseif(empty({dataset})){
echo “Comando Select não retornou dados”;
}else{
$conta=count({dataset});
for($x=0;$x<$conta;$x++)
$ds_func = {dataset[$x][0]};
$ds_base = {dataset[$x][1]};
$ds_grat = {dataset[$x][2]};
$ds_inss = {dataset[$x][3]};
$ds_ir = {dataset[$x][4]};
$ds_familia = {dataset[$x][5]};
$ds_obra = {dataset[$x][6]};
}
/**
- Insert a record on another table
*/
$lancamento = Date(‘Ymd’);
// SQL statement parameters
$insert_table = ‘folha’; // Table name
$insert_fields = array( // Field list, add as many as needed
‘tipo’ => “‘1’”,
‘lancamento’ => “’$lancamento’”,
‘vencimento’ => “’{vencimento}’”,
‘c_custo’ => “’{centro_custo}’”,
‘funcionario’ => “’$ds_func’”,
‘valor_bruto’ => “’$ds_base’”,
‘s_familia’ => “’$ds_familia’”,
‘inss’ => “’$ds_inss’”,
‘ir’ => “’$ds_ir’”,
‘gratificacao’ => “’$ds_grat’”,
‘banco’ => “’{banco}’”,
‘agencia’ => “’{agencia}’”,
‘tipo_conta’ => “’{tipo_conta}’”,
‘numero_conta’ => “’{conta}’”,
);
// Insert record
$insert_sql = ‘INSERT INTO ’ . $insert_table
. ’ (’ . implode(’, ‘, array_keys($insert_fields)) . ‘)’
. ’ VALUES (’ . implode(’, ', array_values($insert_fields)) . ‘)’;
sc_exec_sql($insert_sql);