(hhhmmm its been along time i am not using "SPAAXXRTAN!!" ...)
This time i wanna share about ... how to create a new Sequence number in AX 2012, ...wait,... AX 2012?! ... tidak salah ni? ... yes, now i am on my project n using AX 2012.
So far there's not a big different between AX 2012 coding and AX 2009 coding...(i hope so .. Amin)
Ok lets we start.
- Buat EDT dari String, ... kita ambil contoh SNId
- Cari dan buka method Loadmodule() di Class NumberSeqModuleProject, lalu tambahkan code berikut. Tentu saja kamu bisa mengkopi dan paste code tersebut dari code yang sudah ada lalu ubah sedikit. ( hello ... buat apa ada fasilitas Copy Paste kalo tidak dimanfaatkan?!)
- Buat method di tabel Projparameters
- Lalu buat Job berikut
- Jalankan Wizard sequence number, Organization Administration >> CommonForms >> Numbersequences >> Numbersequence >> Generate >> run Wizard
- Sekarang kita test, Apakah number sequncenya berfungsi atau tidak. buat Job sebagai berikut.
- Sequence number ini pasti kita akan gunakan di sebuah form. Buat formnya lalu tambahkan deklarasi berikut di method publicnya
- Setelah itu, di form itu juga buat method berikut
- Buat method close di formnya
- Terakhir tambahkan method dibawah ini di DataSourcenya
datatype.parmDatatypeId(extendedTypeNum(Car Id));
datatype.parmReferenceHelp(literalStr("@SYS334483"));
datatype.parmWizardIsManual(NoYes::No);
datatype.parmWizardIsChangeDownAllowed(NoYes::No);
datatype.parmWizardIsChangeUpAllowed(NoYes::No);
datatype.parmWizardHighest(999999);
datatype.parmSortField(20);
datatype.addParameterType(NumberSeqParameterType::DataArea, true, false);
this.create(datatype);
}
3.client server static NumberSequenceReference numRefcarId()
{
return NumberSeqReference::findReference(extendedTypeNum(car Id));
}
4.static void Carid(Args _args)
{
NumberSeqModuleProject NumberSeqModuleProject = new NumberSeqModuleProject();
;
NumberSeqModuleProject.load();
}
6.static void number(Args _args)
{
NumberSeq numberSeq;
CarId num;
;
numberSeq = NumberSeq::newGetNum(ProjParameters::numRefcarId());
num = numberSeq.num();
info(num);
}
7. public class FormRun extends ObjectRun
{
NumberSeqFormHandler numberSeqFormHandler;
}
8. NumberSeqFormHandler numberSeqFormHandler()
{
if (!numberSeqFormHandler)
{
numberSeqFormHandler = NumberSeqFormHandler::newForm(ProjParameters::numRefcarId ().NumberSequenceId,
element,
CarTable_DS,
fieldNum(CarTable, Car Id)
);
}
return numberSeqFormHandler;
}
9. void close()
{
if (numberSeqFormHandler)
{
numberSeqFormHandler.formMethodClose();
}
super();
}
10.
Create()
void create(boolean append = false,
boolean extern = false) // If created externally
{
element.numberSeqFormHandler().formMethodDataSourceCreatePre();
super(append);
if (!extern)
{
element.numberSeqFormHandler().formMethodDataSourceCreate(true);
}
}
Delete()
public void delete()
{
element.numberSeqFormHandler().formMethodDataSourceDelete();
super();
}
Write()
public void write()
{
super();
element.numberSeqFormHandler().formMethodDataSourceWrite();
}
Validate Write()
public boolean validateWrite()
{
boolean ret;
ret = super();
ret = element.numberSeqFormHandler().formMethodDataSourceValidateWrite(ret) && ret;
if (ret)
{
CarTable.validateWrite();
}
return ret;
}
Link Active()
public void linkActive()
{
;
element.numberSeqFormHandler().formMethodDataSourceLinkActive();
super();
}
Yup, ... semoga bisa membantu infonya, ...ini aku dapat di http://swathidynamicsax.blogspot.com dan sudah aku test dan ... BerHasil! BerHasil! HOREE!! ...