Tem como Substituir


#1

Tipo caso eu altere alguma tabela. Ai preciso mudar X_C_NomeDaTabela e I_C_NomeDaTabela

Mas mesmo q eu crie num pacote a parte. As referencias continuam a incidir sobre as antigas. Como faço pra mudar isso. Vi q no lbr. ele muda algumas classes
VLocationDialog se nao me engano.

[]'s

Fernando


#2

BOm já “descobri” só colocar dentro do pacote de mesmo nome, mesmo em pastas separadas.

^^


#3

Fernando, eu não recomendo alterar as classes X_NomedaTabela e I_NomedaTabela,

falo isso, pq ambas são geradas através do GenerateModel, se for uma tabela própria, melhor executar direto o GenerateModel, que ele cria para vc estas classes, agora se for uma tabela existente do sistema, a melhor opção é usar os métodos PO.get_Value e PO.set_ValueOfColumn

Caso, vc queria, fazer algum controle, a sugestão é fazer igual o padrão do Adempiere (Ex. MOrder)

criar uma classe MNomedaTabela e extender as duas classes X_NomedaTabela e I_NomedaTabela

sds, Mario


#4

[quote=“mgrigioni”:9fb39]
Fernando, eu não recomendo alterar as classes X_NomedaTabela e I_NomedaTabela,

falo isso, pq ambas são geradas através do GenerateModel, se for uma tabela própria, melhor executar direto o GenerateModel, que ele cria para vc estas classes, agora se for uma tabela existente do sistema, a melhor opção é usar os métodos PO.get_Value e PO.set_ValueOfColumn

Caso, vc queria, fazer algum controle, a sugestão é fazer igual o padrão do Adempiere (Ex. MOrder)

criar uma classe MNomedaTabela e extender as duas classes X_NomedaTabela e I_NomedaTabela

sds, Mario
[/quote:9fb39]
boa, havia me esquecido da ideia do MNomeTabela, mas tipo, e se já existir essa classe ?
Meu problema tá em C_ProjectTask, pois eu mudei no adempiere a referência da coluna name, para tipo Tabela, criei uma referência, e apontei para ela.
Problema que ela trás o id q eh um numérico. O erro ocorre ao gerar a ordem de venda pois ele não aceita a diferença de tipos.
java.lang.String cannot be cast to java.lang.Integer. Se eu tento validar antes de salvar o registro ele da java.lang.Integer cannot be cast to java.lang.String.
So inverte a situação mas o erro continua. Da erro na hora do cast:

public String getName ()
{
return (String) get_Value(COLUMNNAME_Name);
}

da classe X_C_ProjectTask

Mas como coloquei referência um id… E se eu mudo na referencia. Ele continua a dar o erro apenas inverte as frases como citado a cima.
Alguma dica?

[]'s

Fernando


#5

se já existir a classe, dai vc precisa fazer assim mesmo, criar a classe em outro projeto e “sobrepor” o arquivo no classpath.

agora sobre o seu problema, é que toda vez q vc usa uma referencia tipo “Tabela” ou “Procurar” o campo deve SEMPRE terminar com _ID, senão acontece isso mesmo, erro de cast, pois o Adempiere trata como String e o Banco como Integer.

minha sugestão, usar outro campo ao invés do Name

sds, Mario