Validar Campo com Focus Listener

Tópicos sobre a extensão das funcionalides do Compiere / Adempiere utilizando apenas o Dicionário da Aplicação
dmondini
Mensagens: 4
Registrado em: Seg Nov 05, 2012 11:09 am

Validar Campo com Focus Listener

Mensagempor dmondini » Seg Nov 05, 2012 11:17 am

Pessoal, bom dia,

Realizei uma alteração de codigo para uma necessitadade da empresa, na qual necessita que um RUT(numero de identidade Chile) seja validado.
O problema é que quando texto fora da aplicação(Adempiere) com uma classe de testes, me funciona bem, porem quando compilo esse jar e aplico o customization, é como se nao existira. simplesmente nao agarra a configuracao.

codigo de validacao:

public static boolean ValidarRut(int rut, char dv) {
int m = 0, s = 1;
for (; rut != 0; rut /= 10) {
s = (s + rut % 10 * (9 - m++ % 6)) % 11;
}
return dv == (char) (s != 0 ? s + 47 : 75);
}


Onde validar no adempiere:
String isDigitChecked = Env.getContext(ctx, WindowNo, "IsDigitChecked", true) ;
JTextField jTField = new JTextField(isDigitChecked);
mFieldFListener.getColumnName().equals(jTField);
final int rut = Integer.parseInt(isDigitChecked.substring(0, isDigitChecked.length()-1));
final char dv = isDigitChecked.charAt(isDigitChecked.length());
jTField.addFocusListener(new FocusListener() {

@Override
public void focusLost(FocusEvent eventLost) {
eventLost.getComponent().equals(LCO_Utils.ValidarRut(rut, dv));
}

@Override
public void focusGained(FocusEvent arg0) {
// nothing

}
});


Agradeço se alguem puder ajudar =)

mgrigioni
Mensagens: 483
Registrado em: Sex Jan 05, 2007 3:08 pm
Localização: Jacareí/SP

Re: Validar Campo com Focus Listener

Mensagempor mgrigioni » Seg Nov 05, 2012 3:00 pm

por que vc não faz a verificação via callout ou via validator igual a validação de CNPJ?

dmondini
Mensagens: 4
Registrado em: Seg Nov 05, 2012 11:09 am

Re: Validar Campo com Focus Listener

Mensagempor dmondini » Seg Nov 05, 2012 6:26 pm

entao, a validacao de campo esta no collout, a validacao do proprio rut esta na classe Utils.

Eu consegui faze-lo executar com teste de unidade e toda as boas praticas..maaaaaaasss quando aplico o customization.jar no ERP, simplesmente ignora o fato dessa validação existir.

ou eu to gerando algo errado, ou ele nao aceita o que eu estou fazendo.

visto que o customization esta abaixo de uma customizacao LCO(colombia) a do Carlos Ruiz...nao sei se alguem ja ouviu falar nele.

O ponto é que funciona mas nao no ERP......nao sei se alguem tem uma luz a respeito ou teve o mesmo problema.

mgrigioni
Mensagens: 483
Registrado em: Sex Jan 05, 2007 3:08 pm
Localização: Jacareí/SP

Re: Validar Campo com Focus Listener

Mensagempor mgrigioni » Seg Nov 05, 2012 7:17 pm

depois que vc colocou o customization.jar na pasta lib, vc executou o RUN_setup ?

dmondini
Mensagens: 4
Registrado em: Seg Nov 05, 2012 11:09 am

Re: Validar Campo com Focus Listener

Mensagempor dmondini » Qua Nov 07, 2012 11:25 am

Sim, gerei e atualizei com o run setup, todavia nao agarra o arquivo.

dmondini
Mensagens: 4
Registrado em: Seg Nov 05, 2012 11:09 am

Re: Validar Campo com Focus Listener

Mensagempor dmondini » Qua Nov 07, 2012 5:43 pm

tudo que ele tem q fazer é:

public String checkTaxIdDigit (Properties ctx, int WindowNo,
GridTab mTab, GridField mField, Object value, Object oldValue)
{
GridField mFieldFListener = mField;
log.info("");
String isDigitChecked = Env.getContext(ctx, WindowNo, "IsDigitChecked", true) ;

// if IsDigitChecked validate it and return error if different
if (!isDigitChecked.equals("Y"))
return "";
String taxid = (String) mTab.getValue("RUT");//antes decia getValue("TaxID")
JTextField jTField = new JTextField(taxid);
mFieldFListener.getColumnName().equals(jTField);
final int rut = Integer.parseInt(taxid.substring(0, taxid.length()-1));
final char dv = taxid.charAt(taxid.length());
jTField.addFocusListener(new FocusListener() {

@Override
public void focusLost(FocusEvent eventLost) {
if(!eventLost.getComponent().equals(LCO_Utils.ValidarRut(rut, dv)) ){
//envia mensagem de erro
MessageBox.show("ERROR invalid digit!");
}

}

@Override
public void focusGained(FocusEvent arg0) {
// nothing

}
});


e depois no adempiere, validar o campo RUT coonforme o modelo anexo.
Anexos
modelo.png
modelo.png (110.69 KiB) Visto 2647 vezes


Voltar para “Desenvolvimento - AD”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 1 visitante