BUG onAfterInsert e outros - SC 6.00.0039

Detectei outro BUG hoje, e esse é um poco chato e muito util.

Eventos do BUG:
onAfterInsert;
onAfterUpdate;
onAfterDelete.

Em um formulário mestre/detalhe, temos um detalhe “grid editavel”, nesse mesmo nos eventos citados acima adicionei a macro, sc_master_value(), informando o campo e o valor que quero a atualização do Mestre, mas a mesma não funciona. Tentei criar uma função javascript para atualizar o valor do meu form e chama-la nos eventos usando a macro sc_ajax_javascript(), não obtive sucesso nenhum também. Então coloquei nessa funcão JS apenas um alert(’’), e o mesmo não é exibido, fiz um echo “” e o mesmo também não foi exibido.

Resumindo: a macro sc_master_value() não está funcionando.

Não sei como está o release da versão 6, mas acho que se esse tratar de um BUG deveria ser corrigido, pois muitos de nós ainda estamos na v6.

Obrigado.

Pior ainda, tentei utilizar a macro sc_redir(nome_app, “”, “_parent”), não deu nada!!!
Tentei fazer um reload usando window.location, não deu nada!!

E se eu converter meu projeto para a v7 vou ter que arrumar no mínimo uns 5 bugs rsrs…
Um pepininho vai virar um pepinão.

Para fortificar um pouco mais o resolvimento desse bug.

Fiz alguns testes nos exemplos postados no site do scriptcase, aonde temos um exemplo de mestre detalhe de produtos,
o mesmo não está atualizando o valor do mestre em cima e outra coisa, a grid não está com refresh.

Link do exemplo errado do sc e com bug abaixo.
http://www.scriptcase.com.br/exemplos-scriptcase/sistemas-php/passagem-de-parametros/

Como esse recurso é de suma importância, tive que dar meus pulos, vou postar aqui minha solução, quem quiser aderi-la.

Gambiarra feita:
Criei um método javascript e coloquei-o no evento javascript do form onLoad().

Método:
Esse método usei jquery e está baseado no nome dos meus campos.

[code]
var totalAnt;
//total atual
totalAnt = pegaTotal();

//threads
setInterval(atualizaTotal, 1000);

/* FUNCOES */
function atualizaTotal(){
var totalAtual = pegaTotal();
if(totalAnt != totalAtual){
var string = totalAtual.replace(".", “,”);
parent.document.getElementById(“id_read_on_tot_produtos”).innerHTML = string;
parent.document.getElementById(“id_sc_field_tot_produtos”).value = string;
totalAnt = totalAtual;
}
}

function pegaTotal(){
var totalAtual = 0,
elementos = $("[id *= id_sc_field_total]");

elementos.each(function(i, v){
	var valor = $(this).val();
	if(valor.length > 0){
		valor = valor.replace(',', '.');
		valor = parseFloat(valor);
		totalAtual += valor;
	}
});

return totalAtual.toFixed(2);

}[/code]

Oque o método faz:
Fica verificando de 1 em 1 segundo, se o valor dos produtos teve alteração, se teve o mesmo atualiza meu formulário parent no campo total.

Aguardo a NM a solução do BUG.

Boa noite,

Reportei este problema para nossa equipe de bugs.

att,
Bernhard Bernsmann

Valeu, pela força, também o encaminhei para bugs@netmake.com

Pessoal descobri uma solução não sei se vai ser o caso de vocês, mas aqui no meu funcionou perfeitamente.
Tem uma opção no Mestre/Detalhes em Outras Propriedades -> Paginação as opções Total e Parcial no meu estava Total ai escolhi a opção Parcial e voltou a funcionar normalmente.

Aguardo resposta para ver se funcionou ai com vocês…

Obs: Netmake isso é um bug arruma logo isso ai…