Αυτό το άρθρο ισχύει για το Microsoft Dynamics NAV για όλες τις χώρες και όλες τις τοπικές ρυθμίσεις γλώσσας.
Συμπτώματα
Ας υποθέσουμε ότι επιλέγετε το πλαίσιο ελέγχου Εμφάνιση ονόματος στήλης σε μια ανάλυση πωλήσεων ανά διάσταση στο εξατομικευμένο πρόγραμμα-πελάτη (RTC) στο Microsoft Dynamic NAV 2009 Service Pack 1 (SP1). Όταν εκτελείτε τη συνάρτηση Show Matrix στην ανάλυση πωλήσεων κατά διάσταση, οι τιμές δεν εμφανίζονται σωστά στην αναφορά "Ανάλυση πωλήσεων από Dim Matrix".
Επίλυση
Πληροφορίες επείγουσας επιδιόρθωσης
Μια υποστηριζόμενη επείγουσα επιδιόρθωση είναι τώρα διαθέσιμη από τη Microsoft. Ωστόσο, αυτή η ενέργεια προορίζεται μόνο για τη διόρθωση του ζητήματος που περιγράφεται σε αυτό το άρθρο. Εφαρμόστε το μόνο σε συστήματα που αντιμετωπίζουν αυτό το συγκεκριμένο πρόβλημα. Αυτή η επείγουσα επιδιόρθωση ενδέχεται να υποβληθεί σε πρόσθετο έλεγχο. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, συνιστάται να περιμένετε έως το επόμενο service pack του Microsoft Dynamics NAV ή την επόμενη έκδοση του Microsoft Dynamics NAV που περιέχει αυτήν την επείγουσα επιδιόρθωση.
Σημείωση Σε ειδικές περιπτώσεις, οι χρεώσεις που προκύπτουν κανονικά για κλήσεις υποστήριξης ενδέχεται να ακυρωθούν, εάν ένας επαγγελματίας τεχνικής υποστήριξης για το Microsoft Dynamics και τα σχετικά προϊόντα προσδιορίσει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημά σας. Για πρόσθετες ερωτήσεις υποστήριξης και για θέματα που δεν αφορούν τη συγκεκριμένη ενημερωμένη έκδοση, θα ισχύσουν οι συνηθισμένες χρεώσεις υποστήριξης.
Πληροφορίες εγκατάστασης
Η Microsoft παρέχει παραδείγματα προγραμματισμού μόνο για απεικόνιση, χωρίς καμία εγγύηση, ρητή ή σιωπηρή. Αυτό περιλαμβάνει, ενδεικτικά, τις σιωπηρές εγγυήσεις εμπορευσιμότητας ή καταλληλότητας για συγκεκριμένο σκοπό. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού που επιδεικνύεται και με τα εργαλεία που χρησιμοποιούνται για τη δημιουργία και τον εντοπισμό σφαλμάτων διαδικασιών. Οι μηχανικοί υποστήριξης της Microsoft μπορούν να σας βοηθήσουν να εξηγήσετε τη λειτουργικότητα μιας συγκεκριμένης διαδικασίας, αλλά δεν θα τροποποιήσουν αυτά τα παραδείγματα για να παρέχουν πρόσθετες λειτουργίες ούτε θα δημιουργήσουν διαδικασίες για να ικανοποιήσουν τις συγκεκριμένες απαιτήσεις σας.
Σημείωση Πριν να εγκαταστήσετε αυτήν την επείγουσα επιδιόρθωση, βεβαιωθείτε ότι όλοι οι χρήστες προγράμματος-πελάτη Microsoft Navision έχουν αποσυνδεθεί από το σύστημα. Αυτό περιλαμβάνει χρήστες προγράμματος-πελάτη Microsoft Navision Application Services (NAS). Θα πρέπει να είστε ο μόνος χρήστης-πελάτης που είναι συνδεδεμένος όταν υλοποιείτε αυτήν την επείγουσα επιδιόρθωση.
Για να υλοποιήσετε αυτήν την επείγουσα επιδιόρθωση, πρέπει να έχετε άδεια προγραμματιστή.
Συνιστούμε ο λογαριασμός χρήστη στο παράθυρο Συνδέσεις των Windows ή στο παράθυρο Συνδέσεις βάσης δεδομένων να έχει το αναγνωριστικό ρόλου "SUPER". Εάν δεν είναι δυνατή η εκχώρηση του αναγνωριστικού ρόλου "SUPER" στο λογαριασμό χρήστη, πρέπει να επαληθεύσετε ότι ο λογαριασμός χρήστη έχει τα ακόλουθα δικαιώματα:
- Το δικαίωμα τροποποίησης για το αντικείμενο που θα αλλάξετε.
- Το δικαίωμα εκτέλεσης για το αντικείμενο αναγνωριστικού αντικειμένου συστήματος 5210 και για το αντικείμενο αναγνωριστικού αντικειμένου συστήματος 9015.
Σημείωση Δεν χρειάζεται να έχετε δικαιώματα στους χώρους αποθήκευσης δεδομένων, εκτός εάν πρέπει να εκτελέσετε επιδιόρθωση δεδομένων.
Αλλαγές κώδικα
Σημείωση Ελέγχετε πάντα τις επιδιορθώσεις κώδικα σε ελεγχόμενο περιβάλλον, πριν να εφαρμόσετε τις ενημερώσεις κώδικα στους υπολογιστές παραγωγής σας.
Για να επιλύσετε αυτό το ζήτημα, ακολουθήστε τα εξής βήματα:
Αλλάξτε τον κωδικό στο Purch. Ανάλυση με μορφή Dim (9224) ως εξής:
Υπάρχων κωδικός 1... Steps@1033 : Integer; // Delete the following lines. Dim1Filter1@1017 : Code[250]; Dim2Filter1@1012 : Code[250]; Dim3Filter1@1010 : Code[250]; ItemFilter1@1009 : Code[250]; LocationFilter1@1003 : Code[250]; DateFilter1@1013 : Text[30]; // End of the lines. DateFilter@1021 : Text[30]; Dim1Filter@1043 : Code[250]; ...Κωδικός αντικατάστασης 1
... Steps@1033 : Integer; DateFilter@1021 : Text[30]; Dim1Filter@1043 : Code[250]; ...Υπάρχων κωδικός 2
... LOCAL PROCEDURE FillColumnsItem@9(VAR MatrixColumnCaptions@1009 : ARRAY [32] OF Text[30]) : Boolean; BEGIN CLEAR(MatrixColumnCaptions); i := 1; // Delete the following line. Item.SETFILTER("No.",ItemFilter1); ...Κωδικός αντικατάστασης 2
... LOCAL PROCEDURE FillColumnsItem@9(VAR MatrixColumnCaptions@1009 : ARRAY [32] OF Text[30]) : Boolean; // Add the following lines. VAR Item@1013 : Record 27; i@1004 : Integer; // End of the lines. BEGIN CLEAR(MatrixColumnCaptions); i := 1; // Add the following line. Item.SETFILTER("No.",ItemFilter); ...Αλλάξτε τον κώδικα στη συνάρτηση FillColumnsLocation στο Purch. Ανάλυση με μορφή Dim (9224) ως εξής:
Υπάρχων κώδικας... BEGIN CLEAR(MatrixColumnCaptions); i := 1; // Delete the following line. Location.SETFILTER(Code,LocationFilter1); ...Κωδικός αντικατάστασης
... CLEAR(MatrixColumnCaptions); i := 1; // Add the following line. Location.SETFILTER(Code,LocationFilter); ...Αλλάξτε τον κώδικα στη συνάρτηση ShowMatrix στο Purch. Ανάλυση με μορφή Dim (9224) ως εξής:
Υπάρχων κώδικας... BEGIN // Delete the following line. ApplyColumnFilter; PurchAnalysisByDimMatrix.LoadVariables(ItemAnalysisView,ItemStatisticsBuffer, CurrentItemAnalysisViewCode,CurrentAnalysisArea, LineDimOption,ColumnDimOption,LineDimCode,ColumnDimCode,PeriodType,ValueType, RoundingFactor,ShowActualBudget,MatrixColumnCaptions, // Delete the following line. ShowOppositeSign,PeriodInitialized,FirstColumn,LastColumn,ShowColumnName,MATRIX_CurrSetLength); ...Κωδικός αντικατάστασης
... BEGIN PurchAnalysisByDimMatrix.LoadVariables(ItemAnalysisView,ItemStatisticsBuffer, CurrentItemAnalysisViewCode,CurrentAnalysisArea, LineDimOption,ColumnDimOption,LineDimCode,ColumnDimCode,PeriodType,ValueType, RoundingFactor,ShowActualBudget,MatrixColumnCaptions, // Add the following line. ShowOppositeSign,PeriodInitialized,ShowColumnName,MATRIX_CurrSetLength); ...Διαγράψτε τη συνάρτηση ApplyColumnFilter στο Purch. Ανάλυση με μορφή Dim (9224) ως εξής:
// Delete the following lines. PROCEDURE ApplyColumnFilter@13(); BEGIN CLEAR(ItemFilter1); CLEAR(LocationFilter1); CLEAR(DateFilter1); CLEAR(Dim1Filter1); CLEAR(Dim2Filter1); CLEAR(Dim3Filter1); CASE ColumnDimOption OF ColumnDimOption::Item: BEGIN IF ItemFilter <> '' THEN ItemFilter1 := ItemFilter + '&'; ItemFilter1 := ItemFilter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::Location: BEGIN ItemFilter1 := ItemFilter; IF LocationFilter <> '' THEN LocationFilter1 := LocationFilter + '&'; LocationFilter1 := LocationFilter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::Period: BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 1": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; IF Dim1Filter <> '' THEN Dim1Filter1 := Dim1Filter + '&'; Dim1Filter1 := Dim1Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 2": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; IF Dim2Filter <> '' THEN Dim2Filter1 := Dim2Filter + '&'; Dim2Filter1 := Dim2Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 3": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; IF Dim3Filter <> '' THEN Dim3Filter1 := Dim3Filter + '&'; Dim3Filter1 := Dim3Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); END; END; END; // End of the lines.Αλλάξτε τον κώδικα στις ιδιότητες στο Purch. Ανάλυση με μορφή Dim Matrix (9225) ως εξής:
Υπάρχων κώδικας{ Width=19140; Height=6710; Editable=No; TableBoxID=1; LinksAllowed=No; SourceTable=Table367; OnOpenForm=BEGIN // Delete the following line. ApplyColumnFilter; CurrForm.Field1.VISIBLE(1 <= NoOfRecords); ...Κωδικός αντικατάστασης
{ Width=19140; Height=6710; Editable=No; TableBoxID=1; LinksAllowed=No; SourceTable=Table367; OnOpenForm=BEGIN CurrForm.Field1.VISIBLE(1 <= NoOfRecords); ...Αλλάξτε τον κωδικό στο Purch. Ανάλυση με μορφή Dim Matrix (9225) ως εξής:
Υπάρχων κωδικός 1... OnAfterGetRecord=BEGIN IF CurrForm.TotalQuantity.VISIBLE THEN Quantity := CalcAmt(DimCodeBufferColumn,2,FALSE); IF CurrForm.TotalInvtValue.VISIBLE THEN Amount := CalcAmt(DimCodeBufferColumn,1,FALSE); Steps := 1; // Delete the following line. ApplyColumnFilter; Which := '-'; ItemAnalysisMgt.FindRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1,PeriodInitialized,InternalDateFilter, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. i := 1; WHILE (i <= NoOfRecords) AND (i <= ARRAYLEN(MatrixColumnCaptions)) DO BEGIN MatrixData[i] := CalcAmt(DimCodeBufferColumn3,ValueType,TRUE); ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. i := i + 1; END; END; OnAfterGetCurrRecord=BEGIN IF CurrForm.TotalQuantity.VISIBLE THEN Quantity := CalcAmt(DimCodeBufferColumn,2,FALSE); IF CurrForm.TotalInvtValue.VISIBLE THEN Amount := CalcAmt(DimCodeBufferColumn,1,FALSE); Steps := 1; // Delete the following line. ApplyColumnFilter; Which := '-'; ItemAnalysisMgt.FindRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1,PeriodInitialized,InternalDateFilter, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. i := 1; WHILE (i <= NoOfRecords) AND (i <= ARRAYLEN(MatrixColumnCaptions)) DO BEGIN MatrixData[i] := CalcAmt(DimCodeBufferColumn3,ValueType,TRUE); ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. i := i + 1; END; END; } ...Κωδικός αντικατάστασης 1
... OnAfterGetRecord=BEGIN IF CurrForm.TotalQuantity.VISIBLE THEN Quantity := CalcAmt(DimCodeBufferColumn,2,FALSE); IF CurrForm.TotalInvtValue.VISIBLE THEN Amount := CalcAmt(DimCodeBufferColumn,1,FALSE); Steps := 1; Which := '-'; ItemAnalysisMgt.FindRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, // Add the following lines. ItemFilter,LocationFilter,PeriodType,DateFilter,PeriodInitialized,InternalDateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. i := 1; WHILE (i <= NoOfRecords) AND (i <= ARRAYLEN(MatrixColumnCaptions)) DO BEGIN MatrixData[i] := CalcAmt(DimCodeBufferColumn3,ValueType,TRUE); ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Add the following lines. ItemFilter,LocationFilter,PeriodType,DateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. i := i + 1; END; END; OnAfterGetCurrRecord=BEGIN IF CurrForm.TotalQuantity.VISIBLE THEN Quantity := CalcAmt(DimCodeBufferColumn,2,FALSE); IF CurrForm.TotalInvtValue.VISIBLE THEN Amount := CalcAmt(DimCodeBufferColumn,1,FALSE); Steps := 1; Which := '-'; ItemAnalysisMgt.FindRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, // Add the following lines. ItemFilter,LocationFilter,PeriodType,DateFilter,PeriodInitialized,InternalDateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. i := 1; WHILE (i <= NoOfRecords) AND (i <= ARRAYLEN(MatrixColumnCaptions)) DO BEGIN MatrixData[i] := CalcAmt(DimCodeBufferColumn3,ValueType,TRUE); ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Add the following lines. ItemFilter,LocationFilter,PeriodType,DateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. i := i + 1; END; END; } ...Υπάρχων κωδικός 2
... Text001@1032 : TextConst 'ENU=<Precision,'; Text002@1031 : TextConst 'ENU=><Standard Format,0>'; // Delete the following lines. LocationFilter1@1043 : Code[250]; ItemFilter1@1042 : Code[250]; Dim1Filter1@1041 : Code[250]; Dim2Filter1@1040 : Code[250]; Dim3Filter1@1039 : Code[250]; DateFilter1@1038 : Text[30]; FirstColumn@1044 : Text[50]; LastColumn@1045 : Text[50]; // End of the lines. ShowColumnName@1036 : Boolean; ...Κωδικός αντικατάστασης 2
... Text001@1032 : TextConst 'ENU=<Precision,'; Text002@1031 : TextConst 'ENU=><Standard Format,0>'; ShowColumnName@1036 : Boolean; ...Υπάρχων κωδικός 3
...PROCEDURE LoadVariables@1(ItemAnalysisView1@1000 : Record 7152;ItemStatisticsBuffer1@1004 : Record 5821;CurrentItemAnalysisViewCode1@1005 : Code[10]; CurrentAnalysisArea1@1003 : 'Sales,Purchase,Inventory';LineDimOption1@1010 : 'Item,Period,Location,Dimension 1,Dimension 2,Dimension 3'; ColumnDimOption1@1002 : 'Item,Period,Location,Dimension 1,Dimension 2,Dimension 3';LineDimCode1@1016 : Text[30];ColumnDimCode1@1015 : Text[30]; PeriodType1@1007 : 'Day,Week,Month,Quarter,Year,Accounting Period';ValueType1@1009 : 'Sales Amount,Inventory Value,Sales Quantity'; RoundingFactor1@1011 : 'None,1,1000,1000000';ShowActualBudget1@1012 : 'Actual Amounts,Budgeted Amounts,Variance,Variance%,Index%'; MatrixColumnCaptions1@1001 : ARRAY [32] OF Text[1024];ShowOppositeSign1@1006 : Boolean;PeriodInitialized1@1008 : Boolean; // Delete the following line. FirstColumn1@1014 : Text[50];LastColumn1@1013 : Text[50]; ShowColumnName1@1017 : Boolean;NoOfRecordsLocal@1018 : Integer); BEGIN CLEAR(MatrixColumnCaptions); ItemAnalysisView.COPY(ItemAnalysisView1); CurrentItemAnalysisViewCode := CurrentItemAnalysisViewCode1; CurrentAnalysisArea := CurrentAnalysisArea1; LineDimOption := LineDimOption1; ColumnDimOption := ColumnDimOption1; LineDimCode := LineDimCode1; ColumnDimCode := ColumnDimCode1; PeriodType := PeriodType1; ShowOppositeSign := ShowOppositeSign1; COPYARRAY(MatrixColumnCaptions,MatrixColumnCaptions1,1); PeriodInitialized := PeriodInitialized1; PeriodType := PeriodType1; ValueType := ValueType1; RoundingFactor := RoundingFactor1; ShowActualBudget := ShowActualBudget1; // Delete the following lines. FirstColumn := FirstColumn1; LastColumn := LastColumn1; // End of the lines. ShowColumnName := ShowColumnName1; NoOfRecords := NoOfRecordsLocal; END;...Κωδικός αντικατάστασης 3
...PROCEDURE LoadVariables@1(ItemAnalysisView1@1000 : Record 7152;ItemStatisticsBuffer1@1004 : Record 5821;CurrentItemAnalysisViewCode1@1005 : Code[10]; CurrentAnalysisArea1@1003 : 'Sales,Purchase,Inventory';LineDimOption1@1010 : 'Item,Period,Location,Dimension 1,Dimension 2,Dimension 3'; ColumnDimOption1@1002 : 'Item,Period,Location,Dimension 1,Dimension 2,Dimension 3';LineDimCode1@1016 : Text[30];ColumnDimCode1@1015 : Text[30]; PeriodType1@1007 : 'Day,Week,Month,Quarter,Year,Accounting Period';ValueType1@1009 : 'Sales Amount,Inventory Value,Sales Quantity'; RoundingFactor1@1011 : 'None,1,1000,1000000';ShowActualBudget1@1012 : 'Actual Amounts,Budgeted Amounts,Variance,Variance%,Index%'; MatrixColumnCaptions1@1001 : ARRAY [32] OF Text[1024];ShowOppositeSign1@1006 : Boolean;PeriodInitialized1@1008 : Boolean; ShowColumnName1@1017 : Boolean;NoOfRecordsLocal@1018 : Integer); BEGIN CLEAR(MatrixColumnCaptions); ItemAnalysisView.COPY(ItemAnalysisView1); CurrentItemAnalysisViewCode := CurrentItemAnalysisViewCode1; CurrentAnalysisArea := CurrentAnalysisArea1; LineDimOption := LineDimOption1; ColumnDimOption := ColumnDimOption1; LineDimCode := LineDimCode1; ColumnDimCode := ColumnDimCode1; PeriodType := PeriodType1; ShowOppositeSign := ShowOppositeSign1; COPYARRAY(MatrixColumnCaptions,MatrixColumnCaptions1,1); PeriodInitialized := PeriodInitialized1; PeriodType := PeriodType1; ValueType := ValueType1; RoundingFactor := RoundingFactor1; ShowActualBudget := ShowActualBudget1; ShowColumnName := ShowColumnName1; NoOfRecords := NoOfRecordsLocal; END; ...Αλλάξτε τον κώδικα στη συνάρτηση FieldDrillDown στο Purch. Ανάλυση με μορφή Dim Matrix (9225) ως εξής:
Υπάρχων κώδικαςBEGIN CLEAR(DimCodeBufferColumn3); Which := '-'; ItemAnalysisMgt.FindRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1,PeriodInitialized,InternalDateFilter, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. Steps := Ordinal - 1; ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. ItemAnalysisMgt.DrillDown( CurrentAnalysisArea,ItemStatisticsBuffer,CurrentItemAnalysisViewCode, // Delete the following lines. ItemFilter1,LocationFilter1,DateFilter1, Dim1Filter1,Dim2Filter1,Dim3Filter1,BudgetFilter, // End of the lines. LineDimOption,Rec, ColumnDimOption,DimCodeBufferColumn3, TRUE,ValueType,ShowActualBudget); END;Κωδικός αντικατάστασης
BEGIN CLEAR(DimCodeBufferColumn3); Which := '-'; ItemAnalysisMgt.FindRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, // Add the following lines. ItemFilter,LocationFilter,PeriodType,DateFilter,PeriodInitialized,InternalDateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. Steps := Ordinal - 1; ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Add the following lines. ItemFilter,LocationFilter,PeriodType,DateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. ItemAnalysisMgt.DrillDown( CurrentAnalysisArea,ItemStatisticsBuffer,CurrentItemAnalysisViewCode, // Add the following lines. ItemFilter,LocationFilter,DateFilter, Dim1Filter,Dim2Filter,Dim3Filter,BudgetFilter, // End of the lines. LineDimOption,Rec, ColumnDimOption,DimCodeBufferColumn3, TRUE,ValueType,ShowActualBudget); END;Διαγράψτε τη συνάρτηση ApplyColumnFilter στο Purch. Ανάλυση με μορφή Dim Matrix (9225) ως εξής:
// Delete the following lines. PROCEDURE ApplyColumnFilter@13(); BEGIN CLEAR(ItemFilter1); CLEAR(LocationFilter1); CLEAR(DateFilter1); CLEAR(Dim1Filter1); CLEAR(Dim2Filter1); CLEAR(Dim3Filter1); CASE ColumnDimOption OF ColumnDimOption::Item: BEGIN IF ItemFilter <> '' THEN ItemFilter1 := ItemFilter + '&'; ItemFilter1 := ItemFilter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::Location: BEGIN ItemFilter1 := ItemFilter; IF LocationFilter <> '' THEN LocationFilter1 := LocationFilter + '&'; LocationFilter1 := LocationFilter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::Period: BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; IF DateFilter <> '' THEN DateFilter1 := DateFilter ELSE DateFilter1 := FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 1": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; IF Dim1Filter <> '' THEN Dim1Filter1 := Dim1Filter + '&'; Dim1Filter1 := Dim1Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 2": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; IF Dim2Filter <> '' THEN Dim2Filter1 := Dim2Filter + '&'; Dim2Filter1 := Dim2Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 3": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; IF Dim3Filter <> '' THEN Dim3Filter1 := Dim3Filter + '&'; Dim3Filter1 := Dim3Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); END; END; END; BEGIN END. } } // End of the lines.Αλλάξτε τον κωδικό στην ανάλυση πωλήσεων με μορφή dim (9226) ως εξής:
Υπάρχων κωδικός 1... Text001@1024 : TextConst 'ENU=<Precision,'; Text002@1023 : TextConst 'ENU=><Standard Format,0>'; Steps@1033 : Integer; // Delete the following lines. Dim1Filter1@1017 : Code[250]; Dim2Filter1@1012 : Code[250]; Dim3Filter1@1010 : Code[250]; ItemFilter1@1009 : Code[250]; LocationFilter1@1003 : Code[250]; DateFilter1@1013 : Text[30]; // End of the lines. DateFilter@1021 : Text[30]; Dim1Filter@1043 : Code[250]; Dim2Filter@1042 : Code[250]; Dim3Filter@1041 : Code[250]; ItemFilter@1040 : Code[250]; ...Κωδικός αντικατάστασης 1
... Text001@1024 : TextConst 'ENU=<Precision,'; Text002@1023 : TextConst 'ENU=><Standard Format,0>'; Steps@1033 : Integer; DateFilter@1021 : Text[30]; Dim1Filter@1043 : Code[250]; Dim2Filter@1042 : Code[250]; Dim3Filter@1041 : Code[250]; ItemFilter@1040 : Code[250]; ...Υπάρχων κωδικός 2
...LOCAL PROCEDURE FillColumnsItem@9(VAR MatrixColumnCaptions@1009 : ARRAY [32] OF Text[30]) : Boolean; VAR Item@1013 : Record 27; i@1004 : Integer; BEGIN CLEAR(MatrixColumnCaptions); i := 1; // Delete the following line. Item.SETFILTER("No.",ItemFilter1);...Κωδικός αντικατάστασης 2
...LOCAL PROCEDURE FillColumnsItem@9(VAR MatrixColumnCaptions@1009 : ARRAY [32] OF Text[30]) : Boolean; VAR Item@1013 : Record 27; i@1004 : Integer; BEGIN CLEAR(MatrixColumnCaptions); i := 1; // Add the following line. Item.SETFILTER("No.",ItemFilter); ...Αλλάξτε τον κωδικό στη συνάρτηση FillColumnsLocation στην ανάλυση πωλήσεων με μορφή Dim (9226) ως εξής:
Υπάρχων κώδικας...BEGIN CLEAR(MatrixColumnCaptions); i := 1; // Delete the following line. Location.SETFILTER(Code,LocationFilter1);...Κωδικός αντικατάστασης
...BEGIN CLEAR(MatrixColumnCaptions); i := 1; // Add the following line. Location.SETFILTER(Code,LocationFilter);...Αλλάξτε τον κώδικα της συνάρτησης FillColumnsDim στην Ανάλυση πωλήσεων με μορφή Dim (9226) ως εξής:
Υπάρχων κώδικας...BEGIN CLEAR(MatrixColumnCaptions); // Delete the following line. ApplyColumnFilter; DimVal.SETRANGE("Dimension Code",DimensionCode); DimVal.SETFILTER(Code,DimFilter); i := 1;...Κωδικός αντικατάστασης
...BEGIN CLEAR(MatrixColumnCaptions); DimVal.SETRANGE("Dimension Code",DimensionCode); DimVal.SETFILTER(Code,DimFilter); i := 1;...Αλλάξτε τον κώδικα της συνάρτησης ShowMatrix στην Ανάλυση πωλήσεων με μορφή Dim (9226) ως εξής:
Υπάρχων κώδικας...BEGIN // Delete the following line. ApplyColumnFilter; IF ColumnDimOption = ColumnDimOption::Period THEN BEGIN FirstColumn := FORMAT(FirstColumnDate); LastColumn := FORMAT(LastColumnDate); END; SalesAnalysisByDimMatrix.LoadVariables(ItemAnalysisView,ItemStatisticsBuffer, CurrentItemAnalysisViewCode,CurrentAnalysisArea, LineDimOption,ColumnDimOption,LineDimCode,ColumnDimCode,PeriodType,ValueType, RoundingFactor,ShowActualBudget,MatrixColumnCaptions, ShowOppositeSign,PeriodInitialized,FirstColumn,LastColumn,ShowColumnName,MATRIX_CurrSetLength); SalesAnalysisByDimMatrix.LoadFilters(ItemFilter,LocationFilter,Dim1Filter,Dim2Filter,Dim3Filter, DateFilter,BudgetFilter,InternalDateFilter); SalesAnalysisByDimMatrix.RUNMODAL; END;...Κωδικός αντικατάστασης
... BEGIN IF ColumnDimOption = ColumnDimOption::Period THEN BEGIN FirstColumn := FORMAT(FirstColumnDate); LastColumn := FORMAT(LastColumnDate); END; SalesAnalysisByDimMatrix.LoadVariables(ItemAnalysisView,ItemStatisticsBuffer, CurrentItemAnalysisViewCode,CurrentAnalysisArea, LineDimOption,ColumnDimOption,LineDimCode,ColumnDimCode,PeriodType,ValueType, RoundingFactor,ShowActualBudget,MatrixColumnCaptions, ShowOppositeSign,PeriodInitialized,ShowColumnName,MATRIX_CurrSetLength); SalesAnalysisByDimMatrix.LoadFilters(ItemFilter,LocationFilter,Dim1Filter,Dim2Filter,Dim3Filter, DateFilter,BudgetFilter,InternalDateFilter); SalesAnalysisByDimMatrix.RUNMODAL; END; ...Διαγράψτε τη συνάρτηση ApplyColumnFilter στη φόρμα Sales Analysis by Dim (9226) ως εξής:
// Delete the following lines. PROCEDURE ApplyColumnFilter@13(); BEGIN CLEAR(ItemFilter1); CLEAR(LocationFilter1); CLEAR(DateFilter1); CLEAR(Dim1Filter1); CLEAR(Dim2Filter1); CLEAR(Dim3Filter1); CASE ColumnDimOption OF ColumnDimOption::Item: BEGIN IF ItemFilter <> '' THEN ItemFilter1 := ItemFilter + '&'; ItemFilter1 := ItemFilter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::Location: BEGIN ItemFilter1 := ItemFilter; IF LocationFilter <> '' THEN LocationFilter1 := LocationFilter + '&'; LocationFilter1 := LocationFilter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::Period: BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 1": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; IF Dim1Filter <> '' THEN Dim1Filter1 := Dim1Filter + '&'; Dim1Filter1 := Dim1Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 2": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; IF Dim2Filter <> '' THEN Dim2Filter1 := Dim2Filter + '&'; Dim2Filter1 := Dim2Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 3": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; IF Dim3Filter <> '' THEN Dim3Filter1 := Dim3Filter + '&'; Dim3Filter1 := Dim3Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); END; END; END; // End of the lines.Αλλάξτε τον κώδικα στη φόρμα ανάλυσης πωλήσεων με dim matrix (9227) ως εξής:
Υπάρχων κωδικός 1… SourceTable=Table367; OnOpenForm=BEGIN // Delete the following line. ApplyColumnFilter; CurrForm.Field1.VISIBLE(1 <= NoOfRecords); CurrForm.Field2.VISIBLE(2 <= NoOfRecords); …Κωδικός αντικατάστασης 1
… SourceTable=Table367; OnOpenForm=BEGIN CurrForm.Field1.VISIBLE(1 <= NoOfRecords); CurrForm.Field2.VISIBLE(2 <= NoOfRecords); …Υπάρχων κωδικός 2
… OnAfterGetRecord=BEGIN IF CurrForm.TotalQuantity.VISIBLE THEN Quantity := CalcAmt(DimCodeBufferColumn,2,FALSE); IF CurrForm.TotalInvtValue.VISIBLE THEN Amount := CalcAmt(DimCodeBufferColumn,0,FALSE); Steps := 1; // Delete the following line. ApplyColumnFilter; Which := '-'; ItemAnalysisMgt.FindRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1,PeriodInitialized,InternalDateFilter, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. i := 1; WHILE (i <= NoOfRecords) AND (i <= ARRAYLEN(MatrixColumnCaptions)) DO BEGIN MatrixData[i] := CalcAmt(DimCodeBufferColumn3,ValueType,TRUE); ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1, ItemFilter,LocationFilter,PeriodType,DateFilter, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. Dim1Filter,Dim2Filter,Dim3Filter); i := i + 1; END; END; OnAfterGetCurrRecord=BEGIN IF CurrForm.TotalQuantity.VISIBLE THEN Quantity := CalcAmt(DimCodeBufferColumn,2,FALSE); IF CurrForm.TotalInvtValue.VISIBLE THEN Amount := CalcAmt(DimCodeBufferColumn,0,FALSE); Steps := 1; // Delete the following line. ApplyColumnFilter; Which := '-'; ItemAnalysisMgt.FindRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1,PeriodInitialized,InternalDateFilter, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. i := 1; WHILE (i <= NoOfRecords) AND (i <= ARRAYLEN(MatrixColumnCaptions)) DO BEGIN MatrixData[i] := CalcAmt(DimCodeBufferColumn3,ValueType,TRUE); ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. i := i + 1; END; END; } …Κωδικός αντικατάστασης 2
… OnAfterGetRecord=BEGIN IF CurrForm.TotalQuantity.VISIBLE THEN Quantity := CalcAmt(DimCodeBufferColumn,2,FALSE); IF CurrForm.TotalInvtValue.VISIBLE THEN Amount := CalcAmt(DimCodeBufferColumn,0,FALSE); Steps := 1; Which := '-'; ItemAnalysisMgt.FindRec( // Add the following lines. ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, ItemFilter,LocationFilter,PeriodType,DateFilter,PeriodInitialized,InternalDateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. i := 1; WHILE (i <= NoOfRecords) AND (i <= ARRAYLEN(MatrixColumnCaptions)) DO BEGIN MatrixData[i] := CalcAmt(DimCodeBufferColumn3,ValueType,TRUE); ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Add the following lines. ItemFilter,LocationFilter,PeriodType,DateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. i := i + 1; END; END; OnAfterGetCurrRecord=BEGIN IF CurrForm.TotalQuantity.VISIBLE THEN Quantity := CalcAmt(DimCodeBufferColumn,2,FALSE); IF CurrForm.TotalInvtValue.VISIBLE THEN Amount := CalcAmt(DimCodeBufferColumn,0,FALSE); Steps := 1; Which := '-'; ItemAnalysisMgt.FindRec( // Add the following lines. ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, ItemFilter,LocationFilter,PeriodType,DateFilter,PeriodInitialized,InternalDateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. i := 1; WHILE (i <= NoOfRecords) AND (i <= ARRAYLEN(MatrixColumnCaptions)) DO BEGIN MatrixData[i] := CalcAmt(DimCodeBufferColumn3,ValueType,TRUE); ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Add the following lines. ItemFilter,LocationFilter,PeriodType,DateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. i := i + 1; END; END; } …Υπάρχων κωδικός 3
… Text002@1031 : TextConst 'ENU=><Standard Format,0>'; // Delete the following lines. LocationFilter1@1043 : Code[250]; ItemFilter1@1042 : Code[250]; Dim1Filter1@1041 : Code[250]; Dim2Filter1@1040 : Code[250]; Dim3Filter1@1039 : Code[250]; DateFilter1@1038 : Text[30]; FirstColumn@1044 : Text[50]; LastColumn@1045 : Text[50]; // End of the lines. ShowColumnName@1027 : Boolean; …Κωδικός αντικατάστασης 3
… Text002@1031 : TextConst 'ENU=><Standard Format,0>'; ShowColumnName@1027 : Boolean; …Υπάρχων κωδικός 4
…PROCEDURE LoadVariables@1(ItemAnalysisView1@1000 : Record 7152;ItemStatisticsBuffer1@1004 : Record 5821;CurrentItemAnalysisViewCode1@1005 : Code[10]; CurrentAnalysisArea1@1003 : 'Sales,Purchase,Inventory';LineDimOption1@1010 : 'Item,Period,Location,Dimension 1,Dimension 2,Dimension 3'; ColumnDimOption1@1002 : 'Item,Period,Location,Dimension 1,Dimension 2,Dimension 3';LineDimCode1@1016 : Text[30];ColumnDimCode1@1015 : Text[30]; PeriodType1@1007 : 'Day,Week,Month,Quarter,Year,Accounting Period';ValueType1@1009 : 'Sales Amount,Inventory Value,Sales Quantity'; RoundingFactor1@1011 : 'None,1,1000,1000000';ShowActualBudget1@1012 : 'Actual Amounts,Budgeted Amounts,Variance,Variance%,Index%'; MatrixColumnCaptions1@1001 : ARRAY [32] OF Text[1024];ShowOppositeSign1@1006 : Boolean;PeriodInitialized1@1008 : Boolean; // Delete the following line. FirstColumn1@1014 : Text[50];LastColumn1@1013 : Text[50]; ShowColumnName1@1017 : Boolean;NoOfRecordsLocal@1018 : Integer); BEGIN CLEAR(MatrixColumnCaptions); ItemAnalysisView.COPY(ItemAnalysisView1); CurrentItemAnalysisViewCode := CurrentItemAnalysisViewCode1; CurrentAnalysisArea := CurrentAnalysisArea1; LineDimOption := LineDimOption1; ColumnDimOption := ColumnDimOption1; LineDimCode := LineDimCode1; ColumnDimCode := ColumnDimCode1; PeriodType := PeriodType1; ShowOppositeSign := ShowOppositeSign1; COPYARRAY(MatrixColumnCaptions,MatrixColumnCaptions1,1); PeriodInitialized := PeriodInitialized1; PeriodType := PeriodType1; ValueType := ValueType1; RoundingFactor := RoundingFactor1; ShowActualBudget := ShowActualBudget1; // Delete the following lines. FirstColumn := FirstColumn1; LastColumn := LastColumn1; // End of the lines. ShowColumnName := ShowColumnName1; NoOfRecords := NoOfRecordsLocal; END;…Κωδικός αντικατάστασης 4
…PROCEDURE LoadVariables@1(ItemAnalysisView1@1000 : Record 7152;ItemStatisticsBuffer1@1004 : Record 5821;CurrentItemAnalysisViewCode1@1005 : Code[10]; CurrentAnalysisArea1@1003 : 'Sales,Purchase,Inventory';LineDimOption1@1010 : 'Item,Period,Location,Dimension 1,Dimension 2,Dimension 3'; ColumnDimOption1@1002 : 'Item,Period,Location,Dimension 1,Dimension 2,Dimension 3';LineDimCode1@1016 : Text[30];ColumnDimCode1@1015 : Text[30]; PeriodType1@1007 : 'Day,Week,Month,Quarter,Year,Accounting Period';ValueType1@1009 : 'Sales Amount,Inventory Value,Sales Quantity'; RoundingFactor1@1011 : 'None,1,1000,1000000';ShowActualBudget1@1012 : 'Actual Amounts,Budgeted Amounts,Variance,Variance%,Index%'; MatrixColumnCaptions1@1001 : ARRAY [32] OF Text[1024];ShowOppositeSign1@1006 : Boolean;PeriodInitialized1@1008 : Boolean; ShowColumnName1@1017 : Boolean;NoOfRecordsLocal@1018 : Integer); BEGIN CLEAR(MatrixColumnCaptions); ItemAnalysisView.COPY(ItemAnalysisView1); CurrentItemAnalysisViewCode := CurrentItemAnalysisViewCode1; CurrentAnalysisArea := CurrentAnalysisArea1; LineDimOption := LineDimOption1; ColumnDimOption := ColumnDimOption1; LineDimCode := LineDimCode1; ColumnDimCode := ColumnDimCode1; PeriodType := PeriodType1; ShowOppositeSign := ShowOppositeSign1; COPYARRAY(MatrixColumnCaptions,MatrixColumnCaptions1,1); PeriodInitialized := PeriodInitialized1; PeriodType := PeriodType1; ValueType := ValueType1; RoundingFactor := RoundingFactor1; ShowActualBudget := ShowActualBudget1; ShowColumnName := ShowColumnName1; NoOfRecords := NoOfRecordsLocal; END;…Αλλάξτε τον κώδικα της συνάρτησης FieldDrillDown στη φόρμα ανάλυσης πωλήσεων με dim matrix (9227) ως εξής:
Υπάρχων κώδικαςBEGIN CLEAR(DimCodeBufferColumn3); Which := '-'; ItemAnalysisMgt.FindRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1,PeriodInitialized,InternalDateFilter, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. Steps := Ordinal - 1; ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Delete the following lines. ItemFilter1,LocationFilter1,PeriodType,DateFilter1, Dim1Filter1,Dim2Filter1,Dim3Filter1); // End of the lines. ItemAnalysisMgt.DrillDown( CurrentAnalysisArea,ItemStatisticsBuffer,CurrentItemAnalysisViewCode, // Delete the following lines. ItemFilter1,LocationFilter1,DateFilter1, Dim1Filter1,Dim2Filter1,Dim3Filter1,BudgetFilter, // End of the lines. LineDimOption,Rec, ColumnDimOption,DimCodeBufferColumn3, TRUE,ValueType,ShowActualBudget); END;Κωδικός αντικατάστασης
BEGIN CLEAR(DimCodeBufferColumn3); Which := '-'; ItemAnalysisMgt.FindRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Which, // Add the following lines. ItemFilter,LocationFilter,PeriodType,DateFilter,PeriodInitialized,InternalDateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. Steps := Ordinal - 1; ItemAnalysisMgt.NextRec( ItemAnalysisView,ColumnDimOption,DimCodeBufferColumn3,Steps, // Add the following lines. ItemFilter,LocationFilter,PeriodType,DateFilter, Dim1Filter,Dim2Filter,Dim3Filter); // End of the lines. ItemAnalysisMgt.DrillDown( CurrentAnalysisArea,ItemStatisticsBuffer,CurrentItemAnalysisViewCode, // Add the following lines. ItemFilter,LocationFilter,DateFilter, Dim1Filter,Dim2Filter,Dim3Filter,BudgetFilter, // End of the lines. LineDimOption,Rec, ColumnDimOption,DimCodeBufferColumn3, TRUE,ValueType,ShowActualBudget); END;Διαγράψτε τη συνάρτηση ApplyColumnFilter στη φόρμα Sales Analysis by Dim Matrix (9227) ως εξής:
// Delete the following lines. BEGIN CLEAR(ItemFilter1); CLEAR(LocationFilter1); CLEAR(DateFilter1); CLEAR(Dim1Filter1); CLEAR(Dim2Filter1); CLEAR(Dim3Filter1); CASE ColumnDimOption OF ColumnDimOption::Item: BEGIN IF ItemFilter <> '' THEN ItemFilter1 := ItemFilter + '&'; ItemFilter1 := ItemFilter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::Location: BEGIN ItemFilter1 := ItemFilter; IF LocationFilter <> '' THEN LocationFilter1 := LocationFilter + '&'; LocationFilter1 := LocationFilter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::Period: BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; IF DateFilter <> '' THEN DateFilter1 := DateFilter ELSE DateFilter1 := FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 1": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; IF Dim1Filter <> '' THEN Dim1Filter1 := Dim1Filter + '&'; Dim1Filter1 := Dim1Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); Dim2Filter1 := Dim2Filter; Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 2": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; IF Dim2Filter <> '' THEN Dim2Filter1 := Dim2Filter + '&'; Dim2Filter1 := Dim2Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); Dim3Filter1 := Dim3Filter; END; ColumnDimOption::"Dimension 3": BEGIN ItemFilter1 := ItemFilter; LocationFilter1 := LocationFilter; DateFilter1 := DateFilter; Dim1Filter1 := Dim1Filter; Dim2Filter1 := Dim2Filter; IF Dim3Filter <> '' THEN Dim3Filter1 := Dim3Filter + '&'; Dim3Filter1 := Dim3Filter1 + FORMAT(FirstColumn) + '..' + FORMAT(LastColumn); END; END; END; BEGIN END. } } // End of the lines.
Προαπαιτούμενα
Πρέπει να έχετε Microsoft Dynamics NAV 2009 Service Pack 1 για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση.
Πληροφορίες κατάργησης
Δεν μπορείτε να καταργήσετε αυτήν την επείγουσα επιδιόρθωση.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα που αφορά τα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Σημείωση Αυτό είναι ένα άρθρο "FAST PUBLISH" που δημιουργήθηκε απευθείας μέσα από τον οργανισμό υποστήριξης της Microsoft. Οι πληροφορίες που περιέχονται στο παρόν παρέχονται ως έχουν ως απάντηση σε αναδυόμενα ζητήματα. Ως αποτέλεσμα της ταχύτητας διάθεσής του, το υλικό μπορεί να περιλαμβάνει τυπογραφικά λάθη και μπορεί να αναθεωρηθεί ανά πάσα στιγμή χωρίς προειδοποίηση. Ανατρέξτε στους Όρους χρήσης για άλλα ζητήματα.