Filtering on Sales Budget Matrix Form

GreatMahar
Member Posts: 11
Hi,
I would like to add in new filter on Sales Budget Overview Form. What i need is when Filter by Customer Filter If the Rows are showing Item, I want to get Item only can find the Items in Sales Price Table by that Customer. I try to Replace Dimension Code Buffer with Sales Price Table instead of Item Table. But all the rows mess up and showing duplicates records and when click and then it is replaced. Here are my Codes:
I modified at two function in Code Unit 7130, Item Budget Management as follows:
in FindRec Function as follow:
GetGLSetup;
CASE DimOption OF
DimOption::Item:
BEGIN
Item."No." := DimCodeBuf.Code;
IF ItemFilter <> '' THEN
Item.SETFILTER("No.",ItemFilter);
//My Modification.
g_blnSalesPrice := FALSE;
IF ItemBudgetName."Analysis Area" = ItemBudgetName."Analysis Area"::Sales THEN BEGIN
IF SourceNoFilter <>'' THEN BEGIN
g_blnSalesPrice := TRUE;
g_recSalesPrice."Item No." := DimCodeBuf.Code;
g_recSalesPrice.SETRANGE("Sales Type",g_recSalesPrice."Sales Type"::Customer);
g_recSalesPrice.SETFILTER("Sales Code",SourceNoFilter);
IF g_recSalesPrice.FIND(Which) THEN BEGIN
g_fnCopySalesPriceToBuf(g_recSalesPrice,DimCodeBuf);
END;
END;
END;
IF NOT(g_blnSalesPrice) THEN BEGIN
Found := Item.FIND(Which);
IF Found THEN
CopyItemToBuf(Item,DimCodeBuf);
END;
//#My Modification.
END;
In NextRec Function:
GetGLSetup;
CASE DimOption OF
DimOption::Item:
BEGIN
Item."No." := DimCodeBuf.Code;
IF ItemFilter <> '' THEN
Item.SETFILTER("No.",ItemFilter);
//My Modification
g_blnSalesPrice := FALSE;
IF ItemBudgetName."Analysis Area" = ItemBudgetName."Analysis Area"::Sales THEN BEGIN
IF SourceNoFilter <>'' THEN BEGIN
g_blnSalesPrice :=TRUE;
g_recSalesPrice."Item No." := DimCodeBuf.Code;
g_recSalesPrice.SETRANGE("Sales Type",g_recSalesPrice."Sales Type"::Customer);
g_recSalesPrice.SETFILTER("Sales Code",SourceNoFilter);
ResultSteps := g_recSalesPrice.NEXT(Steps);
IF ResultSteps <> 0 THEN
g_fnCopySalesPriceToBuf(g_recSalesPrice,DimCodeBuf);
END;
END;
IF NOT(g_blnSalesPrice) THEN BEGIN
ResultSteps := Item.NEXT(Steps);
IF ResultSteps <> 0 THEN
CopyItemToBuf(Item,DimCodeBuf);
END;
//#My Modification
END;
Please advice. Your Help is greatly Appreciated.
I would like to add in new filter on Sales Budget Overview Form. What i need is when Filter by Customer Filter If the Rows are showing Item, I want to get Item only can find the Items in Sales Price Table by that Customer. I try to Replace Dimension Code Buffer with Sales Price Table instead of Item Table. But all the rows mess up and showing duplicates records and when click and then it is replaced. Here are my Codes:
I modified at two function in Code Unit 7130, Item Budget Management as follows:
in FindRec Function as follow:
GetGLSetup;
CASE DimOption OF
DimOption::Item:
BEGIN
Item."No." := DimCodeBuf.Code;
IF ItemFilter <> '' THEN
Item.SETFILTER("No.",ItemFilter);
//My Modification.
g_blnSalesPrice := FALSE;
IF ItemBudgetName."Analysis Area" = ItemBudgetName."Analysis Area"::Sales THEN BEGIN
IF SourceNoFilter <>'' THEN BEGIN
g_blnSalesPrice := TRUE;
g_recSalesPrice."Item No." := DimCodeBuf.Code;
g_recSalesPrice.SETRANGE("Sales Type",g_recSalesPrice."Sales Type"::Customer);
g_recSalesPrice.SETFILTER("Sales Code",SourceNoFilter);
IF g_recSalesPrice.FIND(Which) THEN BEGIN
g_fnCopySalesPriceToBuf(g_recSalesPrice,DimCodeBuf);
END;
END;
END;
IF NOT(g_blnSalesPrice) THEN BEGIN
Found := Item.FIND(Which);
IF Found THEN
CopyItemToBuf(Item,DimCodeBuf);
END;
//#My Modification.
END;
In NextRec Function:
GetGLSetup;
CASE DimOption OF
DimOption::Item:
BEGIN
Item."No." := DimCodeBuf.Code;
IF ItemFilter <> '' THEN
Item.SETFILTER("No.",ItemFilter);
//My Modification
g_blnSalesPrice := FALSE;
IF ItemBudgetName."Analysis Area" = ItemBudgetName."Analysis Area"::Sales THEN BEGIN
IF SourceNoFilter <>'' THEN BEGIN
g_blnSalesPrice :=TRUE;
g_recSalesPrice."Item No." := DimCodeBuf.Code;
g_recSalesPrice.SETRANGE("Sales Type",g_recSalesPrice."Sales Type"::Customer);
g_recSalesPrice.SETFILTER("Sales Code",SourceNoFilter);
ResultSteps := g_recSalesPrice.NEXT(Steps);
IF ResultSteps <> 0 THEN
g_fnCopySalesPriceToBuf(g_recSalesPrice,DimCodeBuf);
END;
END;
IF NOT(g_blnSalesPrice) THEN BEGIN
ResultSteps := Item.NEXT(Steps);
IF ResultSteps <> 0 THEN
CopyItemToBuf(Item,DimCodeBuf);
END;
//#My Modification
END;
Please advice. Your Help is greatly Appreciated.
0
Comments
-
Hello GreateMahar,
Why do you need this line?g_recSalesPrice."Item No." := DimCodeBuf.Code;
It seems to me useless in your code :-k0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions