Mario,
Nao, na aba pai (vcalculo) esse campo (consumo) é read only e usado como inicio pro resto dos campos de calculo. No entanto, eu posso ter varios registros na aba de formatos que, somados, devem ser jogados na aba pai. Eu só estou jogando um registro sem levar em consideração a somatória pq quero ver se está funcionando
edit: descobri mais ou menos onde tá o problema, é no código que testa pra ver se é a tabela que eu tô procurando e o tipo de mudança. Esse aqui:
[code]public String modelChange (PO po, int type) throws Exception
{
//Executa quando uma OrderLine_VCalculo_Formats é salva ou atualizada
if (po.get_TableName().equalsIgnoreCase(“C_OrderLine_VCalculo_Formats”) && (type == TYPE_AFTER_CHANGE || type == TYPE_AFTER_NEW || type == TYPE_DELETE))
{
X_C_OrderLine_VCalculo_Formats vCalcFormat = (X_C_OrderLine_VCalculo_Formats)po;
return modelChange(vCalcFormat,type);
}
return null;
} // modelChange[/code]
Pelo que eu pude ver, o parametro po que vem tem o nome da tabela correta e o teste continua, porém o parametro type que vem é o 2 (TYPE_BEFORE_CHANGE), que não bate no teste. Então o if falha e a mensagem de erro aparece por causa do return null (se eu trocar o null por uma string qualquer ela aparece no erro).
Vendo os exemplos como ValidatorBPartner e ValidatorOrder, não achei nenhum tratamento de todas as 6 condições de mudança, então o que pode estar errado?
edit 2: desculpem o excesso de edições, mas tô aprendendo e cada hora descubro uma coisa nova hah.
Enfim, o problema não é o que descrevi acima, ele continua sim pro próximo type que é o 5 (TYPE_AFTER_CHANGE), entra no if e dá problema na instrução X_C_OrderLine_VCalculo_Formats vCalcFormat = (X_C_OrderLine_VCalculo_Formats)po. O debugger do eclipse fala que acontece um ClassCastException (o qual não tenho o source) nessa linha.
Só editei pra ficar mais claro, e se eu descobrir mais sobre isso eu faço um edit 3