Hi Friends,
Today we will implement the field which is added in LedgerJournalTrans will be displayed on LedgerTrans . For example we are going to add an EmplId field in LedgerJournalTrans , the value which is given in the LedgerJournalTrans will have to be shown in LedgerTrans. Add the fields in the LedgerJournalTrans and show it in the form.
Note:: The code given below is not in a order..............
1. In classes LedgerVoucher ,in method initledgerTransList add the following code
protected void initLedgerTransList()
{
ledgerTransList = new RecordSortedList(tablenum(LedgerTrans));
ledgerTransList.sortOrder(
fieldnum(LedgerTrans, Voucher),
fieldnum(LedgerTrans, EmplId), // This is the field which we have added
fieldnum(LedgerTrans, TransDate),
fieldnum(LedgerTrans, AccountNum),
fieldnum(LedgerTrans, PeriodCode),
fieldnum(LedgerTrans, OperationsTax),
2.In classes LedgerVoucherObject initialize the EmplId by declaring it,
and in the same class create a new method of ParmEmplId , use the code as follows
public S3_EmplId parmEmplId_S3(S3_EmplId _emplId = emplId)
{
;
emplId = _emplId;
return emplId;
}
3.In same class in allocate method use the follwing code
allocationTransObject =
LedgerVoucherTransObject::newVoucherTrans(
this,
LedgerPostingType::Allocation,
baseLedgerTrans.AccountNum,
baseLedgerTrans.Dimension,
baseLedgerTrans.CurrencyCode,
baseLedgerTrans.Txt,
baseLedgerTrans.TransDate,
baseLedgerTrans.EmplId, // Added the code here
baseLedgerTrans.
-totalTrans.Qty,
-totalTrans.AmountCur,
-totalTrans.AmountMST,
4.And in same class of method postRoundingDifferencesPerDate modify it
this.addTrans(
LedgerVoucherTransObject::newVoucherTrans(
this,
LedgerPostingType::MSTDiffSecond,
accountNum,
dimension,
companyCurrencyCode,
transactionTxt.txt(),
ledgerTrans.TransDate,
ledgerTrans.EmplId,
0,
0,
0,
-ledgerTrans.AmountMSTSecond,
NoYes::No,
true,
tmpVoucherMap),
false);
5.And in the LedgerVoucherTransObject Class of method newTransLedgerJournal add the code
ledgerTransObject.parmLedgerTransType(LedgerTransType::None);
ledgerTransObject.parmPeriodCode(PeriodCode::Regular);
ledgerTransObject.parmSourceTableId(_ledgerJournalTrans.TableId);
ledgerTransObject.parmSourceRecId(_ledgerJournalTrans.RecId);
ledgerTransObject.parmCompany(_ledgerJournalTrans.Company);
ledgerTransObject.parmLedgerAccount(_ledgerJournalTrans.AccountNum);
ledgerTransObject.parmVoucher(_ledgerJournalTrans.Voucher);
ledgerTransObject.parmTransDate(_ledgerJournalTrans.TransDate);
ledgerTransObject.parmTransTxt(_ledgerJournalTrans.Txt);
ledgerTransObject.parmEmplId(_ledgerJournalTrans.EmplId);// we have used our EmplId here
6. And in the same class of method newVoucherTrans add the code
static LedgerVoucherTransObject newVoucherTrans(LedgerVoucherObject _ledgerVoucherObject,
LedgerPostingType _ledgerPostingType,
LedgerAccount _ledgerAccount,
Dimension _dimension,
CurrencyCode _currencyCode,
TransTxt _transTxt,
EmplId _emplId,// we have used it here
TransDate _transDate
ledgerTransObject.parmEUROTriangulation(_euroTriangulation);
ledgerTransObject.parmThisIsARoundingTrans(_thisIsARoundingTrans);
ledgerTransObject.parmTmpVoucherMap(_tmpVoucherMap);
ledgerTransObject.parmEmplId();// we have used it here
7.In the same class of initfromledgervoucher object
void initFromLedgerVoucherObject(LedgerVoucherObject _ledgerVoucherObject)
{
;
ledgerTrans.Voucher = _ledgerVoucherObject.parmVoucher();
ledgerTrans.EmplId = _ledgerVoucherObject.parmEmplId();//Added here
Today we will implement the field which is added in LedgerJournalTrans will be displayed on LedgerTrans . For example we are going to add an EmplId field in LedgerJournalTrans , the value which is given in the LedgerJournalTrans will have to be shown in LedgerTrans. Add the fields in the LedgerJournalTrans and show it in the form.
Note:: The code given below is not in a order..............
1. In classes LedgerVoucher ,in method initledgerTransList add the following code
protected void initLedgerTransList()
{
ledgerTransList = new RecordSortedList(tablenum(LedgerTrans));
ledgerTransList.sortOrder(
fieldnum(LedgerTrans, Voucher),
fieldnum(LedgerTrans, EmplId), // This is the field which we have added
fieldnum(LedgerTrans, TransDate),
fieldnum(LedgerTrans, AccountNum),
fieldnum(LedgerTrans, PeriodCode),
fieldnum(LedgerTrans, OperationsTax),
2.In classes LedgerVoucherObject initialize the EmplId by declaring it,
and in the same class create a new method of ParmEmplId , use the code as follows
public S3_EmplId parmEmplId_S3(S3_EmplId _emplId = emplId)
{
;
emplId = _emplId;
return emplId;
}
3.In same class in allocate method use the follwing code
allocationTransObject =
LedgerVoucherTransObject::newVoucherTrans(
this,
LedgerPostingType::Allocation,
baseLedgerTrans.AccountNum,
baseLedgerTrans.Dimension,
baseLedgerTrans.CurrencyCode,
baseLedgerTrans.Txt,
baseLedgerTrans.TransDate,
baseLedgerTrans.EmplId, // Added the code here
baseLedgerTrans.
-totalTrans.Qty,
-totalTrans.AmountCur,
-totalTrans.AmountMST,
4.And in same class of method postRoundingDifferencesPerDate modify it
this.addTrans(
LedgerVoucherTransObject::newVoucherTrans(
this,
LedgerPostingType::MSTDiffSecond,
accountNum,
dimension,
companyCurrencyCode,
transactionTxt.txt(),
ledgerTrans.TransDate,
ledgerTrans.EmplId,
0,
0,
0,
-ledgerTrans.AmountMSTSecond,
NoYes::No,
true,
tmpVoucherMap),
false);
5.And in the LedgerVoucherTransObject Class of method newTransLedgerJournal add the code
ledgerTransObject.parmLedgerTransType(LedgerTransType::None);
ledgerTransObject.parmPeriodCode(PeriodCode::Regular);
ledgerTransObject.parmSourceTableId(_ledgerJournalTrans.TableId);
ledgerTransObject.parmSourceRecId(_ledgerJournalTrans.RecId);
ledgerTransObject.parmCompany(_ledgerJournalTrans.Company);
ledgerTransObject.parmLedgerAccount(_ledgerJournalTrans.AccountNum);
ledgerTransObject.parmVoucher(_ledgerJournalTrans.Voucher);
ledgerTransObject.parmTransDate(_ledgerJournalTrans.TransDate);
ledgerTransObject.parmTransTxt(_ledgerJournalTrans.Txt);
ledgerTransObject.parmEmplId(_ledgerJournalTrans.EmplId);// we have used our EmplId here
6. And in the same class of method newVoucherTrans add the code
static LedgerVoucherTransObject newVoucherTrans(LedgerVoucherObject _ledgerVoucherObject,
LedgerPostingType _ledgerPostingType,
LedgerAccount _ledgerAccount,
Dimension _dimension,
CurrencyCode _currencyCode,
TransTxt _transTxt,
EmplId _emplId,// we have used it here
TransDate _transDate
ledgerTransObject.parmEUROTriangulation(_euroTriangulation);
ledgerTransObject.parmThisIsARoundingTrans(_thisIsARoundingTrans);
ledgerTransObject.parmTmpVoucherMap(_tmpVoucherMap);
ledgerTransObject.parmEmplId();// we have used it here
7.In the same class of initfromledgervoucher object
void initFromLedgerVoucherObject(LedgerVoucherObject _ledgerVoucherObject)
{
;
ledgerTrans.Voucher = _ledgerVoucherObject.parmVoucher();
ledgerTrans.EmplId = _ledgerVoucherObject.parmEmplId();//Added here
8. Add Parmmethod of EmplId in the same class
By doing all this mopdifications in the classes u will get the desired result
Vivek Chirumamilla.
In AX 2012 try using the Financial Dimension Framework to avoid having to make these sort of changes, if possible.
ReplyDeleteUseful post :)