Desenvolvimento Adempiere


#21

Eh, eu q colokei uma validacao q fiz na ProjectLine. Por isso usei a MProjectLine…

Depois posta aqui se funcionou, com a mudança de nomeclatura. Pois do jeito que estava antes, era pra funcionar. Nunca cheguei a verificar o q é feito com cada extensao no adempiere mesmo, e o que muda com o uso dos mesmos no código fonte.

[]'s

Fernando


#22

Nada… mesma coisa :frowning:

[code] public void initialize (ModelValidationEngine engine, MClient client)
{
m_AD_Client_ID = client.getAD_Client_ID();

	log.info(client.toString());
	
	//	ModelChange
	engine.addModelChange("X_OrderLine_VCalculo", this);
}	//	initialize[/code]

[code] public String modelChange (PO po, int type) throws Exception
{
//Executa quando uma OrderLine_VCalculo é salva ou atualizada
if (po.get_TableName().equalsIgnoreCase(“X_OrderLine_VCalculo”) && (type == TYPE_AFTER_CHANGE || type == TYPE_AFTER_NEW || type == TYPE_DELETE))
{
X_X_OrderLine_VCalculo vCalc = (X_X_OrderLine_VCalculo)po;
return modelChange(vCalc,type);
}

	log.info(po.toString());

	return null;
}	//	modelChange[/code]

[code] public String modelChange (X_X_OrderLine_VCalculo vCalc, int type) throws Exception
{

return "Teste";
			
} // modelChange[/code]

Exatamento o mesmo problema… eu li num tópico no wiki do adempiere que os underlines (_) devem ser ignorados na declaração da classe que extende o model, mas o exemplo que eles dão é diferente do que estamos fazendo aqui. O teste do orderline que deu certo realmente não tem nenhum _ quando vai instanciar, só que se eu faço o mesmo aqui o eclipse reclama.

edit 18h: só por desencargo de consciência, me digam se isso aqui é o jeito correto de gerar os models:

[attachment=2]Picture 2.png[/attachment]

[attachment=1]Picture 3.png[/attachment]

[attachment=0]Picture 4.png[/attachment]


#23

AHHHH funcionou! O problema é que sou obrigado a gerar os models dentro de org.compiere.model. Aproveitei e coloquei na pasta dbPort/src (pra ser sincero ainda nao entendi a causa dessa diferenciação…):

[attachment=0]Picture 5.png[/attachment]

Depois que fiz isso, o validator funcionou numa boa :smiley: Não sei se a pasta dbPort/src era realmente necessária, mas não vou mais mexer nisso.

Putz, que detalhe besta hehehe. Agora vou desempacar e continuar a customização.

Obrigado a todos pela ajuda.


#24

Opa… eae pessoal…
(desenterrando um pouco o post)

Estou a procura de um exemplo de como usar o ModelValidator… tenho alguma dúvidas em quanto a ele… se alguém puder me ajudar seria bacana, porque já faz um tempinho q estou procurando na net.

É o seguinte, só posso colocar um Validator no cadastro de cada empresa e queria criar um validator comum a todas, como faço com o método “initialize” ?
Dentro dele tenho, por exemplo:

engine.addModelChange(“C_BPartner”, new MyPartnerValidator());

Na classe MyPartnerValidator tenho que o método getAD_Client retornando um ID fixo, e precisa deixar genérico. É nesse método mesmo que devo mudar ou tem outra forma ?

Vlw !

Opa… descobri pessoal !!!
Tem como colocar N validators para um cliente… basta por ; la no cadastro da empresa. =]
Dessa forma ele chama o initiliaze do meu validator e assim consigo ler o MClient…

Fui !