Meus diletos amigos,
Estou enfrentando um problema que pra mim é um total mistério, é o seguinte:
Eu tenho um formulário mestre-detalhe, onde no mestre eu faço um lançamento de pagamento com um cheque de valor R$ 120,00 por exemplo, e no detalhe eu tenho que classificar orçamentariamente essa despesa, podendo fazer mais de um lançamento para isso.
Eu tenho que consistir se a soma dos sub-lançamento no formulário detalhe não ultrapasse o valor do cheque registrado no formulário mestre.
O que ocorre eventualmente é que a consistência não funciona corretamente, as vezes o sistema informa que a soma ultrapassa o valor do cheque quando na verdade não acontece isso, e a diferença é sempre de 1 centavo.
Esta consistência é feita no evento validate, e eu somo todos os sub-lançamentos já feitos no banco de dados mais o valor do campo do lançamento que está sendo efetuado naquele instante, vejam o código abaixo.
A pergunta é: Alguem mais já teve esse tipo de problema, é um bug do SC, ou o meu código está errado ?
Qual a solução para isso ?
// Validar Valor Total x Valor Bancário
$sql=“Select Sum(valor) from movimento_orcamentario where (IDRegistroBanc=’{IDRegistroBanc}’) AND (NOT IDRegistroOrca=’{IDRegistroOrca}’)”;
sc_lookup(dataset,$sql);
$vlrtot = {dataset[0][0]};
$vlrsub = {Valor};
if (($vlrtot+$vlrsub)>[valorbanco])
{
sc_error_message("Valor Total dos Sub-Lançamentos é Maior que o Valor Bancário! ");
}