Hi every,
I have two questions in using dimensions.
1.In the function "Chart of account", we can define validate for the three default dimensions such as "optional","Default","Fixed",etc. It's useful when we post a journal with such accounts.
But why can't we find the counterpart in other places? For example, I want to define my vendor "Severn Trent Water" to have mandatory dimension of "IT Department" which means only the IT dept. will buy something from it.
2.Can I go further to band madatory dimension with user's privilege?
For example in my customer, they have severy sales teams to charge different regions. Now, John, the sales for east china login to axapta and place a sales order, can system give him a default dimension value "east china" and can not be changed while Jack has the default value of "north china"?
eager for your aid.
Best Regards,
Speaker Wang
0
Comments
Yes, u can do both of them with a little work and inspiration . For both problems, you will create a DimensionSetup table with rules, having the following fields:
TableId, FieldId, Value, Dimension1Mandatory, Dimension1Default, ... DimensionXMandatory, DimensionXDefault.
Then you create the records. E.g.: for vendors,
tablenum(vendTable), fieldnum(vendtable,name), NoYes::yes, 'ITDepartment', ...
Then in the VendTable.validateWrite(), you put a condition like:
if (DimensionSetup::find(tablenum(vendtable),fieldnum(vendtable,name),this.name))
{
this.dimension[1] = dimensionSetup::find(..).dimension1default;
(...)
}
The same for Sales man - replace vendtable with employee, and so on.
Cheers,
Ciprian
Ciprian Dudau
Axapta Developer
Try to specify dimension against the vendor in the Vendor table. Once this done, all subsequent transactions of this vendor should have the dimension.
Likewise you can try creating sales people as internal customers (identified by separate customer group).
Hope this helps,
Harish Mohanbabu
Long way to go before I sleep..