Pessoal, boa noite!!
Me encontro no momento com o seguinte problema:
Tenho uma grid com um botão run. Ao selecionar os itens que eu quero inserir e atualizar, ele simplesmente trava meu servidor.
Por isso gostaria de saber se há algo de errado em meu código pois já tentei de várias formas e não consegui nada.
Segue o código:
//onScriptInit
[i] = 0;
[total_chked] = array();
//Evento onRecord do botão
$arr=[i];
[total_chked][$arr]={tipo}."-".{valor}."-".{codigo}."-".{movimento_bancario};
[i]++;
//Evento onFinish do botão
if (!empty([glo_codConta])){
$tot = count([total_chked]);
$sql_subclasse = "SELECT valor FROM empresa_parametro "
. "WHERE empresa = 1 AND "
. " parametro = 'subclasse'";
sc_lookup(rs, $sql_subclasse);
$vlr_subclasse = {rs[0][0]};
sc_begin_trans();
for($x=0;$x<$tot;$x++){
$dados = explode("-", [total_chked][$x]);
$tipo_item = $dados[0];
$valor_item = $dados[1];
$cod_item = $dados[2];
$mov_banc = $dados[3];
if (empty($mov_banc)){
$data_lancamento = date("Y-m-d H:i:s");
$hoje = date("Y-m-d");
if ($tipo_item == 'D'){
$nome_tipo = "DINHEIRO";
}else if($tipo_item == 'C'){
$nome_tipo = "CHEQUE";
}
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////// INSERE MOVIMENTO /////////////////////////
//////////////////////////////////////////////////////////////////////////////////
$insert_sql = "INSERT INTO mov_bancario (conta, data, data_lancamento, operador, tipo, "
. " documento, valor, conciliado, lancamento_manual, "
. " subclasse, transferencia, historico, situacao) "
. "VALUE (".[glo_codConta].", '".$hoje."', '".$data_lancamento."', '".[usr_login]."', "
. " 'E', '".[glo_codCaixa]."', '".$valor_item."', 'N', 'N', ".$vlr_subclasse.", "
. " 'N', 'Depósito Caixa: " . [glo_codCaixa] . " ". $nome_tipo . "', 'A')";
sc_exec_sql($insert_sql);
atualizaSaldo([glo_codConta],"E","N",$valor_item);
$sql_cod = "SELECT max(codigo) FROM mov_bancario";
sc_lookup(rs2, $sql_cod);
$upd_cmi = "UPDATE caixa_mov_item SET movimento_bancario = " . {rs2[0][0]} . ", data = '" . $hoje . "' "
. " WHERE movimento_caixa = '".[glo_movimento_caixa]."' AND tipo = '".$tipo_item."'";
sc_exec_sql($upd_cmi);
}
}
//////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////// ATUALIZA CAIXA_MOVIMENTO //////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
$sqlTot = "select count(*) from caixa_mov_item where movimento_caixa = " . [glo_movimento_caixa]
. " and movimento_bancario is null";
sc_lookup(rs3, $sqlTot);
if ({rs3[0][0]} == 2 && $tot == 2){
$sit = 'M';
}else if({rs3[0][0]} == 1 && $tot == 1){
$sit = 'P';
}else if ({rs3[0][0]} == 0 && $tot == 1){
$sit = 'M';
}else if({rs3[0][0]} == 1 && $tot == 2){
$sit = 'M';
}else if({rs3[0][0]} == 2 && $tot == 1){
$sit = 'P';
}else{
$sit = 'M';
}
$upd_cm = "UPDATE caixa_mov SET situacao = '".$sit."' WHERE codigo = " . [glo_movimento_caixa];
sc_exec_sql($upd_cm);
sc_commit_trans();
sc_redir(grid_caixa_mov.php, "", "_parent");
}else{
$mensagem = '<span style="color: #ff0000; margin: 10px;">'
. 'Ocorreu o seguinte erro : Conta não foi selecionada!'
. '</span><br>';
sc_redir(control_mensagem.php, glo_msg=$mensagem;
glo_erro='S';
glo_apl='grid_caixa_mov_item';
glo_parms="");
}
Obrigado!!