formuna etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
formuna etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

29 Kasım 2011 Salı

AXAPTA Ana tablo formuna git çalışmayınca?

Bir tabloya bağlı kontrollerde tabloda ayarlanmışsa "Ana tablo formuna git" butonu otomatik olarak çalışır. Ancak kontrol sadece extended data tipine bağlıysa, çalışmaz. Bu durumda kendi Jumpref methodunuzu yazmanız gerekir.

Bu konuda Fatih Demirci'nin aşağıdaki kodundan faydalandım:

public void jumpRef()
{
EmplTable emplTable;
Args args;
MenuFunction menuFunction;
;
emplTable = EmplTable::find(this.text());
if (!emplTable)
{
return;
}
args = new Args();
args.caller(element);
args.record(emplTable);
menuFunction = new MenuFunction( menuitemdisplaystr(EmplTable),
MenuItemType::Display);
menuFunction.run(args);
}

Ancak bu kodun standart "Ana tablo formuna git" butonundan ufak bir farklılığı vardı. Ekrana sadece ilgili kaydı getiriyordu. Standarttaysa ilgili kayıt bulunuyor ve tüm kayıtlar görüntüleniyordu. Ufak bir araştırma sonrası aşağıdaki kodu yazdım. Tam standarttaki gibi çalışıyor:

public void jumpRef()
{
CustTable custTable;
Args args;
MenuFunction menuFunction;
;
args = new Args();
args.caller(element);
args.lookupfield(FieldNum(CustTable,AccountNum));
args.lookupValue(this.text());
menuFunction = new MenuFunction(MenuItemDisplayStr(custTable),MenuItemType::Display);
menuFunction.run(args);
}

18 Ağustos 2011 Perşembe

AXAPTA "Ana tablo formuna git" kısayoluyla gönderilen değer

Bu değere args().record() metoduyla ulaşılabiliyor, ancak farklı farklı tablolardan farklı alan isimleriyle extend edilmiş değerler olunca switch case koymak pek te iyi bir çözüm değil.

FormStringControl   callerControl   = SysTableLookup::getCallerStringControl(element.args());
;
info(callercontrol.text());

Kod satırını Yakup Kirişçi'nin blogundan buldum. Standart lookup formlarında bulunan bir kodmuş. Benim çok işime yaradı. Kendisine teşekkürler...