maandag 29 maart 2010

PickingJournal: create and show form

void createPickingJournal_bms()

{
ProdJournalTable jourTable; //the Journal Header
ProdJournalTableData jourTableData; //the data to put in the Journal Header

Args args = new Args();
MenuFunction menuFunction;
FormRun formRun;
;

//initialize the Journal Header
jourTableData = JournalTableData::newTable(jourTable);
jourTable.JournalId = jourTableData.nextJournalId();
jourTable.JournalType = ProdJournalType::Picklist;
jourTable.JournalNameId = jourTableData.journalStatic().standardJournalNameId(jourTable.JournalType);
jourTableData.initFromJournalName(ProdJournalName::find(jourTable.JournalNameId));
jourTable.ProdId = this.aduPosPieceProdId(projId, #ADUPosPiece);
jourTable.DetailSummary = DetailSummary::Summary ;
jourTable.VoucherDraw = JournalVoucherDraw::Post;
jourTable.insert();


//show the Journal Header form
args.record(jourTable);
formRun = new MenuFunction(menuitemdisplaystr(ProdJournalTablePickList), MenuItemType::Display).create(args);
formRun.run();

//show the Journal Lines form
args.caller(formRun); //make sure only the Journal Lines from our Journal Header are shown
new MenuFunction(menuItemDisplayStr(ProdJournalBOM), MenuItemType::Display).run(args);
}

Args and the Axapta Construction Pattern

http://blogs.msdn.com/davidferguson/archive/2006/03/28/563150.aspx