Page 9297 Inventory - G/L Recon Matrix
- App
- Base Application
- Namespace
- Microsoft.Inventory.Reconciliation
- Versions
- 17-28
- Source table
- 367
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Inventory/Reconciliation/InventoryGLReconMatrix.Page.al1363 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.Inventory.Reconciliation;
using Microsoft.Finance.Dimension;
using Microsoft.Finance.GeneralLedger.Setup;
using System.Globalization;
using System.Utilities;
page 9297 "Inventory - G/L Recon Matrix"
{
Caption = 'Inventory - G/L Reconciliation';
DataCaptionExpression = GetCaption();
Editable = false;
LinksAllowed = false;
PageType = List;
SourceTable = "Dimension Code Buffer";
layout
{
area(content)
{
repeater(Control1)
{
ShowCaption = false;
field(Name; Rec.Name)
{
ApplicationArea = Basic, Suite;
Style = Strong;
StyleExpr = TotalEmphasize;
ToolTip = 'Specifies the name.';
}
field(Field1; MATRIX_CellData[1])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[1];
Style = Strong;
StyleExpr = TotalEmphasize;
Visible = Field1Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(1);
end;
}
field(Field2; MATRIX_CellData[2])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[2];
Style = Strong;
StyleExpr = TotalEmphasize;
Visible = Field2Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(2);
end;
}
field(Field3; MATRIX_CellData[3])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[3];
Style = Strong;
StyleExpr = TotalEmphasize;
Visible = Field3Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(3);
end;
}
field(Field4; MATRIX_CellData[4])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[4];
Style = Strong;
StyleExpr = true;
Visible = Field4Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(4);
end;
}
field(Field5; MATRIX_CellData[5])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[5];
Style = Strong;
StyleExpr = true;
Visible = Field5Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(5);
end;
}
field(Field6; MATRIX_CellData[6])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[6];
Style = Strong;
StyleExpr = true;
Visible = Field6Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(6);
end;
}
field(Field7; MATRIX_CellData[7])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[7];
Style = Strong;
StyleExpr = true;
Visible = Field7Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(7);
end;
}
field(Field8; MATRIX_CellData[8])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[8];
Visible = Field8Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(8);
end;
}
field(Field9; MATRIX_CellData[9])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[9];
Visible = Field9Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(9);
end;
}
field(Field10; MATRIX_CellData[10])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[10];
Visible = Field10Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(10);
end;
}
field(Field11; MATRIX_CellData[11])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[11];
Visible = Field11Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(11);
end;
}
field(Field12; MATRIX_CellData[12])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[12];
Visible = Field12Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(12);
end;
}
field(Field13; MATRIX_CellData[13])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[13];
Visible = Field13Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(13);
end;
}
field(Field14; MATRIX_CellData[14])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[14];
Visible = Field14Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(14);
end;
}
field(Field15; MATRIX_CellData[15])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[15];
Visible = Field15Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(15);
end;
}
field(Field16; MATRIX_CellData[16])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[16];
Visible = Field16Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(16);
end;
}
field(Field17; MATRIX_CellData[17])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[17];
Visible = Field17Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(17);
end;
}
field(Field18; MATRIX_CellData[18])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[18];
Visible = Field18Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(18);
end;
}
field(Field19; MATRIX_CellData[19])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[19];
Visible = Field19Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(19);
end;
}
field(Field20; MATRIX_CellData[20])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[20];
Visible = Field20Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(20);
end;
}
field(Field21; MATRIX_CellData[21])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[21];
Visible = Field21Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(21);
end;
}
field(Field22; MATRIX_CellData[22])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[22];
Visible = Field22Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(22);
end;
}
field(Field23; MATRIX_CellData[23])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[23];
Visible = Field23Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(23);
end;
}
field(Field24; MATRIX_CellData[24])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[24];
Visible = Field24Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(24);
end;
}
field(Field25; MATRIX_CellData[25])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[25];
Visible = Field25Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(25);
end;
}
field(Field26; MATRIX_CellData[26])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[26];
Visible = Field26Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(26);
end;
}
field(Field27; MATRIX_CellData[27])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[27];
Visible = Field27Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(27);
end;
}
field(Field28; MATRIX_CellData[28])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[28];
Visible = Field28Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(28);
end;
}
field(Field29; MATRIX_CellData[29])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[29];
Visible = Field29Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(29);
end;
}
field(Field30; MATRIX_CellData[30])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[30];
Visible = Field30Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(30);
end;
}
field(Field31; MATRIX_CellData[31])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[31];
Visible = Field31Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(31);
end;
}
field(Field32; MATRIX_CellData[32])
{
ApplicationArea = Basic, Suite;
CaptionClass = '3,' + MATRIX_CaptionSet[32];
Visible = Field32Visible;
trigger OnDrillDown()
begin
MATRIX_OnDrillDown(32);
end;
}
}
}
}
actions
{
}
trigger OnAfterGetRecord()
var
MATRIX_CurrentColumnOrdinal: Integer;
begin
MATRIX_CurrentColumnOrdinal := 0;
while MATRIX_CurrentColumnOrdinal < MATRIX_CurrentNoOfMatrixColumn do begin
MATRIX_CurrentColumnOrdinal := MATRIX_CurrentColumnOrdinal + 1;
MATRIX_OnAfterGetRecord(MATRIX_CurrentColumnOrdinal);
end;
end;
trigger OnFindRecord(Which: Text): Boolean
begin
if InvtReportHeader."Line Option" = InvtReportHeader."Line Option"::"Balance Sheet" then begin
if (ItemFilter = '') and (LocationFilter = '') then begin
if ShowWarning then
RowIntegerLine.SetRange(Number, 1, 7)
else
RowIntegerLine.SetRange(Number, 1, 6)
end else
RowIntegerLine.SetRange(Number, 1, 4)
end else
if InvtReportHeader."Line Option" = InvtReportHeader."Line Option"::"Income Statement" then
if (ItemFilter = '') and (LocationFilter = '') then begin
if ShowWarning then
RowIntegerLine.SetRange(Number, 1, 19)
else
RowIntegerLine.SetRange(Number, 1, 18)
end else
RowIntegerLine.SetRange(Number, 1, 16);
exit(FindRec(InvtReportHeader."Line Option", Rec, Which, true));
end;
trigger OnInit()
begin
Field32Visible := true;
Field31Visible := true;
Field30Visible := true;
Field29Visible := true;
Field28Visible := true;
Field27Visible := true;
Field26Visible := true;
Field25Visible := true;
Field24Visible := true;
Field23Visible := true;
Field22Visible := true;
Field21Visible := true;
Field20Visible := true;
Field19Visible := true;
Field18Visible := true;
Field17Visible := true;
Field16Visible := true;
Field15Visible := true;
Field14Visible := true;
Field13Visible := true;
Field12Visible := true;
Field11Visible := true;
Field10Visible := true;
Field9Visible := true;
Field8Visible := true;
Field7Visible := true;
Field6Visible := true;
Field5Visible := true;
Field4Visible := true;
Field3Visible := true;
Field2Visible := true;
Field1Visible := true;
end;
trigger OnNextRecord(Steps: Integer): Integer
begin
exit(NextRec(InvtReportHeader."Line Option", Rec, Steps, true));
end;
trigger OnOpenPage()
begin
GLSetup.Get();
InvtReportHeader.SetFilter("Item Filter", ItemFilter);
InvtReportHeader.SetFilter("Location Filter", LocationFilter);
InvtReportHeader.SetFilter("Posting Date Filter", DateFilter);
InvtReportHeader."Show Warning" := ShowWarning;
if (LineDimCode = '') and (ColumnDimCode = '') then begin
LineDimCode := Text004;
ColumnDimCode := Text005;
end;
InvtReportHeader."Line Option" := DimCodeToOption(LineDimCode);
InvtReportHeader."Column Option" := DimCodeToOption(ColumnDimCode);
GetInvtReport.SetReportHeader(InvtReportHeader);
GetInvtReport.Run(TempInventoryReportEntry);
SetVisible();
end;
var
GLSetup: Record "General Ledger Setup";
InvtReportHeader: Record "Inventory Report Header";
TempInventoryReportEntry: Record "Inventory Report Entry" temporary;
RowIntegerLine: Record "Integer";
ColIntegerLine: Record "Integer";
MatrixRecords: array[32] of Record "Dimension Code Buffer";
GetInvtReport: Codeunit "Get Inventory Report";
LineDimCode: Text[20];
ColumnDimCode: Text[20];
DateFilter: Text;
#pragma warning disable AA0074
Text000: Label '<Sign><Integer Thousand><Decimals,3>', Locked = true;
#pragma warning restore AA0074
ItemFilter: Text;
LocationFilter: Text;
CellAmount: Decimal;
GLSetupRead: Boolean;
#pragma warning disable AA0074
Text004: Label 'Income Statement';
Text005: Label 'Balance Sheet';
#pragma warning restore AA0074
ShowWarning: Boolean;
#pragma warning disable AA0074
Text006: Label 'Expected Cost Setup';
Text007: Label 'Post Cost to G/L';
Text008: Label 'Compression';
Text009: Label 'Posting Group';
Text010: Label 'Direct Posting';
Text011: Label 'Posting Date';
Text012: Label 'Closed Fiscal Year';
Text013: Label 'Similar Accounts';
Text014: Label 'Deleted Accounts';
Text016: Label 'The program is not set up to use expected cost posting. Therefore, inventory interim G/L accounts are empty and this causes a difference between inventory and G/L totals.';
#pragma warning restore AA0074
CostAmountsNotPostedTxt: Label 'Some of the cost amounts in the inventory ledger have not yet been posted to the G/L. You must run the Post Cost to G/L batch job to reconcile the ledgers.';
EntriesCompressedTxt: Label 'Some inventory or G/L entries have been date compressed.';
ReassigningAccountsTxt: Label 'You have possibly restructured your chart of accounts by re-assigning inventory related accounts in the General or Inventory Posting Setup.';
PostedDirectlyTxt: Label 'Some inventory costs have been posted directly to a G/L account, bypassing the inventory subledger.';
#pragma warning disable AA0074
Text021: Label 'There is a discrepancy between the posting date of the value entry and the associated G/L entry within the reporting period.';
#pragma warning restore AA0074
PostedInClosedFiscalYearTxt: Label 'Some of the cost amounts are posted in a closed fiscal year. Therefore, the inventory related totals are different from their related G/L accounts in the income statement.';
#pragma warning disable AA0074
Text023: Label 'You have possibly defined one G/L account for different inventory transactions.';
Text024: Label 'You have possibly restructured your chart of accounts by deleting one or more inventory related G/L accounts.';
#pragma warning restore AA0074
MATRIX_CurrentNoOfMatrixColumn: Integer;
MATRIX_CellData: array[32] of Text[250];
MATRIX_CaptionSet: array[32] of Text[80];
Field1Visible: Boolean;
Field2Visible: Boolean;
Field3Visible: Boolean;
Field4Visible: Boolean;
Field5Visible: Boolean;
Field6Visible: Boolean;
Field7Visible: Boolean;
Field8Visible: Boolean;
Field9Visible: Boolean;
Field10Visible: Boolean;
Field11Visible: Boolean;
Field12Visible: Boolean;
Field13Visible: Boolean;
Field14Visible: Boolean;
Field15Visible: Boolean;
Field16Visible: Boolean;
Field17Visible: Boolean;
Field18Visible: Boolean;
Field19Visible: Boolean;
Field20Visible: Boolean;
Field21Visible: Boolean;
Field22Visible: Boolean;
Field23Visible: Boolean;
Field24Visible: Boolean;
Field25Visible: Boolean;
Field26Visible: Boolean;
Field27Visible: Boolean;
Field28Visible: Boolean;
Field29Visible: Boolean;
Field30Visible: Boolean;
Field31Visible: Boolean;
Field32Visible: Boolean;
TotalEmphasize: Boolean;
local procedure DimCodeToOption(DimCode: Text[30]): Integer
begin
case DimCode of
'':
exit(-1);
Text005:
exit(0);
Text004:
exit(1);
else
exit(-1);
end;
end;
local procedure FindRec(DimOption: Option "Balance Sheet","Income Statement"; var DimCodeBuf: Record "Dimension Code Buffer"; Which: Text[250]; IsRow: Boolean): Boolean
var
Found: Boolean;
begin
case DimOption of
DimOption::"Balance Sheet",
DimOption::"Income Statement":
if IsRow then begin
if Evaluate(RowIntegerLine.Number, DimCodeBuf.Code) then;
Found := RowIntegerLine.Find(Which);
if Found then
CopyDimValueToBuf(RowIntegerLine, DimCodeBuf, IsRow);
end else begin
if Evaluate(ColIntegerLine.Number, DimCodeBuf.Code) then;
Found := ColIntegerLine.Find(Which);
if Found then
CopyDimValueToBuf(ColIntegerLine, DimCodeBuf, IsRow);
end;
end;
exit(Found);
end;
local procedure NextRec(DimOption: Option "Balance Sheet","Income Statement"; var DimCodeBuf: Record "Dimension Code Buffer"; Steps: Integer; IsRow: Boolean): Integer
var
ResultSteps: Integer;
begin
case DimOption of
DimOption::"Balance Sheet",
DimOption::"Income Statement":
if IsRow then begin
if Evaluate(RowIntegerLine.Number, DimCodeBuf.Code) then;
ResultSteps := RowIntegerLine.Next(Steps);
if ResultSteps <> 0 then
CopyDimValueToBuf(RowIntegerLine, DimCodeBuf, IsRow);
end else begin
if Evaluate(ColIntegerLine.Number, DimCodeBuf.Code) then;
ResultSteps := ColIntegerLine.Next(Steps);
if ResultSteps <> 0 then
CopyDimValueToBuf(ColIntegerLine, DimCodeBuf, IsRow);
end;
end;
exit(ResultSteps);
end;
local procedure CopyDimValueToBuf(var TheDimValue: Record "Integer"; var TheDimCodeBuf: Record "Dimension Code Buffer"; IsRow: Boolean)
begin
case true of
((InvtReportHeader."Line Option" = InvtReportHeader."Line Option"::"Balance Sheet") and IsRow) or
((InvtReportHeader."Column Option" = InvtReportHeader."Column Option"::"Balance Sheet") and not IsRow):
case TheDimValue.Number of
1:
InsertRow('1', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), 0, false, TheDimCodeBuf);
2:
InsertRow('2', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)"), 0, false, TheDimCodeBuf);
3:
InsertRow('3', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"), 0, false, TheDimCodeBuf);
4:
InsertRow('4', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), 0, true, TheDimCodeBuf);
5:
InsertRow('5', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"), 0, true, TheDimCodeBuf);
6:
InsertRow('6', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference), 0, true, TheDimCodeBuf);
7:
InsertRow('7', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning), 0, true, TheDimCodeBuf);
end;
((InvtReportHeader."Line Option" = InvtReportHeader."Line Option"::"Income Statement") and IsRow) or
((InvtReportHeader."Column Option" = InvtReportHeader."Column Option"::"Income Statement") and not IsRow):
case TheDimValue.Number of
1:
InsertRow('1', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory To WIP"), 0, false, TheDimCodeBuf);
2:
InsertRow('2', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP To Interim"), 0, false, TheDimCodeBuf);
3:
InsertRow('3', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."COGS (Interim)"), 0, false, TheDimCodeBuf);
4:
InsertRow('4', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied"), 0, false, TheDimCodeBuf);
5:
InsertRow('5', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Overhead Applied"), 0, false, TheDimCodeBuf);
6:
InsertRow('6', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory Adjmt."), 0, false, TheDimCodeBuf);
7:
InsertRow('7', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Invt. Accrual (Interim)"), 0, false, TheDimCodeBuf);
8:
InsertRow('8', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.COGS), 0, false, TheDimCodeBuf);
9:
InsertRow('9', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Purchase Variance"), 0, false, TheDimCodeBuf);
10:
InsertRow('10', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Material Variance"), 0, false, TheDimCodeBuf);
11:
InsertRow('11', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Mat. Non-Inventory Variance"), 0, false, TheDimCodeBuf);
12:
InsertRow('12', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Capacity Variance"), 0, false, TheDimCodeBuf);
13:
InsertRow('13', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Subcontracted Variance"), 0, false, TheDimCodeBuf);
14:
InsertRow('14', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Capacity Overhead Variance"), 0, false, TheDimCodeBuf);
15:
InsertRow('15', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Mfg. Overhead Variance"), 0, false, TheDimCodeBuf);
16:
InsertRow('16', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), 0, true, TheDimCodeBuf);
17:
InsertRow('17', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"), 0, true, TheDimCodeBuf);
18:
InsertRow('18', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference), 0, true, TheDimCodeBuf);
19:
InsertRow('19', TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning), 0, true, TheDimCodeBuf);
end;
end
end;
local procedure InsertRow(Code1: Code[10]; Name1: Text[80]; Indentation1: Integer; Bold1: Boolean; var TheDimCodeBuf: Record "Dimension Code Buffer")
begin
TheDimCodeBuf.Init();
TheDimCodeBuf.Code := Code1;
TheDimCodeBuf.Name := CopyStr(Name1, 1, MaxStrLen(TheDimCodeBuf.Name));
TheDimCodeBuf.Indentation := Indentation1;
TheDimCodeBuf."Show in Bold" := Bold1;
end;
local procedure Calculate(MATRIX_ColumnOrdinal: Integer) Amount: Decimal
begin
GetGLSetup();
case true of
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total") in [Rec.Name, MatrixRecords[MATRIX_ColumnOrdinal].Name]:
TempInventoryReportEntry.SetRange(TempInventoryReportEntry.Type, TempInventoryReportEntry.Type::"G/L Account");
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference) in [Rec.Name, MatrixRecords[MATRIX_ColumnOrdinal].Name],
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) in [Rec.Name, MatrixRecords[MATRIX_ColumnOrdinal].Name]:
TempInventoryReportEntry.SetRange(TempInventoryReportEntry.Type, TempInventoryReportEntry.Type::" ");
else
TempInventoryReportEntry.SetRange(TempInventoryReportEntry.Type, TempInventoryReportEntry.Type::Item);
end;
case InvtReportHeader."Line Option" of
InvtReportHeader."Line Option"::"Balance Sheet",
InvtReportHeader."Line Option"::"Income Statement":
case Rec.Name of
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference):
case MatrixRecords[MATRIX_ColumnOrdinal].Name of
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory):
begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry.Inventory);
Amount := TempInventoryReportEntry.Inventory;
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"):
begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."WIP Inventory");
Amount := TempInventoryReportEntry."WIP Inventory";
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)"):
begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Inventory (Interim)");
Amount := TempInventoryReportEntry."Inventory (Interim)";
end;
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."COGS (Interim)"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."COGS (Interim)");
Amount := TempInventoryReportEntry."COGS (Interim)";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied"):
case MatrixRecords[MATRIX_ColumnOrdinal].Name of
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference):
begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Direct Cost Applied");
Amount := TempInventoryReportEntry."Direct Cost Applied";
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory):
begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Direct Cost Applied Actual");
Amount := TempInventoryReportEntry."Direct Cost Applied Actual";
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"):
begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Direct Cost Applied WIP");
Amount := TempInventoryReportEntry."Direct Cost Applied WIP";
end;
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Overhead Applied"):
case MatrixRecords[MATRIX_ColumnOrdinal].Name of
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference):
begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Overhead Applied");
Amount := TempInventoryReportEntry."Overhead Applied";
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory):
begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Overhead Applied Actual");
Amount := TempInventoryReportEntry."Overhead Applied Actual";
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"):
begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Overhead Applied WIP");
Amount := TempInventoryReportEntry."Overhead Applied WIP";
end;
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory Adjmt."):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Inventory Adjmt.");
Amount := TempInventoryReportEntry."Inventory Adjmt.";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Invt. Accrual (Interim)"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)"), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Invt. Accrual (Interim)");
Amount := TempInventoryReportEntry."Invt. Accrual (Interim)";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.COGS):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry.COGS);
Amount := TempInventoryReportEntry.COGS;
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Purchase Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Purchase Variance");
Amount := TempInventoryReportEntry."Purchase Variance";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Material Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Material Variance");
Amount := TempInventoryReportEntry."Material Variance";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Mat. Non-Inventory Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Mat. Non-Inventory Variance");
Amount := TempInventoryReportEntry."Mat. Non-Inventory Variance";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Capacity Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Capacity Variance");
Amount := TempInventoryReportEntry."Capacity Variance";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Subcontracted Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Subcontracted Variance");
Amount := TempInventoryReportEntry."Subcontracted Variance";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Capacity Overhead Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Capacity Overhead Variance");
Amount := TempInventoryReportEntry."Capacity Overhead Variance";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Mfg. Overhead Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Mfg. Overhead Variance");
Amount := TempInventoryReportEntry."Mfg. Overhead Variance";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied Actual"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Direct Cost Applied Actual");
Amount := TempInventoryReportEntry."Direct Cost Applied Actual";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied WIP"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Direct Cost Applied WIP");
Amount := TempInventoryReportEntry."Direct Cost Applied WIP";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Overhead Applied WIP"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Difference)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Overhead Applied WIP");
Amount := TempInventoryReportEntry."Overhead Applied WIP";
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory To WIP"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."Inventory To WIP");
Amount := TempInventoryReportEntry."Inventory To WIP";
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory) then
Amount := -Amount;
end else
Amount := 0;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP To Interim"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)")]
then begin
TempInventoryReportEntry.CalcSums(TempInventoryReportEntry."WIP To Interim");
Amount := TempInventoryReportEntry."WIP To Interim";
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory") then
Amount := -Amount;
end else
Amount := 0;
end;
end;
end;
local procedure GetGLSetup()
begin
if not GLSetupRead then
GLSetup.Get();
GLSetupRead := true;
end;
local procedure GetWarningText(TheField: Text; ShowType: Option ReturnAsText,ShowAsMessage): Text[250]
begin
if TempInventoryReportEntry."Expected Cost Posting Warning" then
if TheField in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Invt. Accrual (Interim)"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."COGS (Interim)"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Invt. Accrual (Interim)"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory")]
then begin
if ShowType = ShowType::ReturnAsText then
exit(Text006);
exit(Text016);
end;
if TempInventoryReportEntry."Cost is Posted to G/L Warning" then begin
if ShowType = ShowType::ReturnAsText then
exit(Text007);
exit(CostAmountsNotPostedTxt);
end;
if TempInventoryReportEntry."Compression Warning" then begin
if ShowType = ShowType::ReturnAsText then
exit(Text008);
exit(EntriesCompressedTxt);
end;
if TempInventoryReportEntry."Posting Group Warning" then begin
if ShowType = ShowType::ReturnAsText then
exit(Text009);
exit(ReassigningAccountsTxt);
end;
if TempInventoryReportEntry."Direct Postings Warning" then begin
if ShowType = ShowType::ReturnAsText then
exit(Text010);
exit(PostedDirectlyTxt);
end;
if TempInventoryReportEntry."Posting Date Warning" then begin
if ShowType = ShowType::ReturnAsText then
exit(Text011);
exit(Text021);
end;
if TempInventoryReportEntry."Closing Period Overlap Warning" then begin
if ShowType = ShowType::ReturnAsText then
exit(Text012);
exit(PostedInClosedFiscalYearTxt);
end;
if TempInventoryReportEntry."Similar Accounts Warning" then begin
if ShowType = ShowType::ReturnAsText then
exit(Text013);
exit(Text023);
end;
if TempInventoryReportEntry."Deleted G/L Accounts Warning" then begin
if ShowType = ShowType::ReturnAsText then
exit(Text014);
exit(Text024);
end;
end;
local procedure ShowWarningText(ShowType: Option ReturnAsText,ShowAsMessage; MATRIX_ColumnOrdinal: Integer): Text[250]
var
Text: Text[250];
begin
case Rec.Name of
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning):
case MatrixRecords[MATRIX_ColumnOrdinal].Name of
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory):
if TempInventoryReportEntry.Inventory <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"):
if TempInventoryReportEntry."WIP Inventory" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)"):
if TempInventoryReportEntry."Inventory (Interim)" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)"), ShowType);
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."COGS (Interim)"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."COGS (Interim)" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."COGS (Interim)"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Direct Cost Applied" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Overhead Applied"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Overhead Applied" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Overhead Applied"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory Adjmt."):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Inventory Adjmt." <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory Adjmt."), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Invt. Accrual (Interim)"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Invt. Accrual (Interim)" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Invt. Accrual (Interim)"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.COGS):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry.COGS <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.COGS), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Purchase Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Purchase Variance" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Purchase Variance"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Material Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Material Variance" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Material Variance"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Mat. Non-Inventory Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Mat. Non-Inventory Variance" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Mat. Non-Inventory Variance"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Capacity Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Capacity Variance" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Capacity Variance"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Subcontracted Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Subcontracted Variance" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Subcontracted Variance"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Capacity Overhead Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Capacity Overhead Variance" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Capacity Overhead Variance"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Mfg. Overhead Variance"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Mfg. Overhead Variance" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Mfg. Overhead Variance"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied Actual"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Direct Cost Applied Actual" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied Actual"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied WIP"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Direct Cost Applied WIP" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied WIP"), ShowType);
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Overhead Applied WIP"):
if MatrixRecords[MATRIX_ColumnOrdinal].Name = TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) then
if TempInventoryReportEntry."Overhead Applied WIP" <> 0 then
Text := GetWarningText(TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Overhead Applied WIP"), ShowType);
end;
if ShowType = ShowType::ReturnAsText then
exit(Text);
Message(Text);
end;
local procedure GetCaption(): Text[250]
var
ObjTransl: Record "Object Translation";
SourceTableName: Text;
LocationTableName: Text;
begin
SourceTableName := '';
LocationTableName := '';
if ItemFilter <> '' then
SourceTableName := ObjTransl.TranslateObject(ObjTransl."Object Type"::Table, 27);
if LocationFilter <> '' then
LocationTableName := ObjTransl.TranslateObject(ObjTransl."Object Type"::Table, 14);
exit(StrSubstNo('%1 %2 %3 %4', SourceTableName, ItemFilter, LocationTableName, LocationFilter));
end;
procedure Load(MatrixColumns1: array[32] of Text[100]; var MatrixRecords1: array[32] of Record "Dimension Code Buffer"; CurrentNoOfMatrixColumns: Integer; ShowWarningLocal: Boolean; DateFilterLocal: Text; ItemFilterLocal: Text; LocationFilterLocal: Text)
begin
CopyArray(MATRIX_CaptionSet, MatrixColumns1, 1);
CopyArray(MatrixRecords, MatrixRecords1, 1);
MATRIX_CurrentNoOfMatrixColumn := CurrentNoOfMatrixColumns;
ShowWarning := ShowWarningLocal;
DateFilter := DateFilterLocal;
ItemFilter := ItemFilterLocal;
LocationFilter := LocationFilterLocal;
end;
local procedure MATRIX_OnDrillDown(MATRIX_ColumnOrdinal: Integer)
begin
GetGLSetup();
if TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) = MATRIX_CaptionSet[MATRIX_ColumnOrdinal] then begin
ShowWarningText(1, MATRIX_ColumnOrdinal);
exit;
end;
TempInventoryReportEntry.Reset();
if TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total") in [MATRIX_CaptionSet[MATRIX_ColumnOrdinal], Rec.Name] then
TempInventoryReportEntry.SetRange(TempInventoryReportEntry.Type, TempInventoryReportEntry.Type::"G/L Account")
else
TempInventoryReportEntry.SetRange(TempInventoryReportEntry.Type, TempInventoryReportEntry.Type::Item);
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Posting Date Filter", InvtReportHeader.GetFilter("Posting Date Filter"));
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Location Filter", InvtReportHeader.GetFilter("Location Filter"));
if TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) in [Rec.Name, MATRIX_CaptionSet[MATRIX_ColumnOrdinal]] then begin
ShowWarningText(1, MATRIX_ColumnOrdinal);
exit;
end;
case InvtReportHeader."Line Option" of
InvtReportHeader."Line Option"::"Balance Sheet",
InvtReportHeader."Line Option"::"Income Statement":
case Rec.Name of
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"):
case MATRIX_CaptionSet[MATRIX_ColumnOrdinal] of
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory):
begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry.Inventory, '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry.Inventory);
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"):
begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."WIP Inventory", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."WIP Inventory");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)"):
begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Inventory (Interim)", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Inventory (Interim)");
end;
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."COGS (Interim)"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)")]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."COGS (Interim)", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."COGS (Interim)");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied"):
case MATRIX_CaptionSet[MATRIX_ColumnOrdinal] of
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"):
begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Direct Cost Applied", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Direct Cost Applied");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory):
begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Direct Cost Applied Actual", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Direct Cost Applied Actual");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"):
begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Direct Cost Applied WIP", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Direct Cost Applied WIP");
end;
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Overhead Applied"):
case MATRIX_CaptionSet[MATRIX_ColumnOrdinal] of
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"):
begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Overhead Applied", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Overhead Applied");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory):
begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Overhead Applied Actual", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Overhead Applied Actual");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"):
begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Overhead Applied WIP", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Overhead Applied WIP");
end;
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory Adjmt."):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Inventory Adjmt.", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Inventory Adjmt.");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Invt. Accrual (Interim)"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)")]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Invt. Accrual (Interim)", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Invt. Accrual (Interim)");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.COGS):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry.COGS, '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry.COGS);
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Purchase Variance"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Purchase Variance", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Purchase Variance");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Material Variance"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Material Variance", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Material Variance");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Mat. Non-Inventory Variance"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Mat. Non-Inventory Variance", '<>%1', 0);
Page.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Mat. Non-Inventory Variance");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Capacity Variance"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Capacity Variance", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Capacity Variance");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Subcontracted Variance"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Subcontracted Variance", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Subcontracted Variance");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Capacity Overhead Variance"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Capacity Overhead Variance", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Capacity Overhead Variance");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Mfg. Overhead Variance"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Mfg. Overhead Variance", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Mfg. Overhead Variance");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied Actual"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Direct Cost Applied Actual", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Direct Cost Applied Actual");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Direct Cost Applied WIP"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory")]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Direct Cost Applied WIP", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Direct Cost Applied WIP");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Overhead Applied WIP"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Total), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory")]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Overhead Applied WIP", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Overhead Applied WIP");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory To WIP"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"), TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Inventory)]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."Inventory To WIP", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."Inventory To WIP");
end;
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP To Interim"):
if MATRIX_CaptionSet[MATRIX_ColumnOrdinal] in [TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."G/L Total"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."WIP Inventory"),
TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry."Inventory (Interim)")]
then begin
TempInventoryReportEntry.SetFilter(TempInventoryReportEntry."WIP To Interim", '<>%1', 0);
PAGE.Run(0, TempInventoryReportEntry, TempInventoryReportEntry."WIP To Interim");
end;
end;
end;
TempInventoryReportEntry.Reset();
end;
local procedure MATRIX_OnAfterGetRecord(MATRIX_ColumnOrdinal: Integer)
begin
CellAmount := Calculate(MATRIX_ColumnOrdinal);
if CellAmount <> 0 then
MATRIX_CellData[MATRIX_ColumnOrdinal] := Format(CellAmount, 0, Text000)
else
MATRIX_CellData[MATRIX_ColumnOrdinal] := '';
TotalEmphasize := Rec."Show in Bold";
if TempInventoryReportEntry.FieldCaption(TempInventoryReportEntry.Warning) in [Rec.Name, MatrixRecords[MATRIX_ColumnOrdinal].Name] then begin
TempInventoryReportEntry.SetRange(TempInventoryReportEntry.Type, TempInventoryReportEntry.Type::" ");
if TempInventoryReportEntry.FindFirst() then;
case InvtReportHeader."Line Option" of
InvtReportHeader."Line Option"::"Balance Sheet",
InvtReportHeader."Line Option"::"Income Statement":
MATRIX_CellData[MATRIX_ColumnOrdinal] := ShowWarningText(0, MATRIX_ColumnOrdinal);
end;
end;
end;
procedure SetVisible()
begin
Field1Visible := MATRIX_CaptionSet[1] <> '';
Field2Visible := MATRIX_CaptionSet[2] <> '';
Field3Visible := MATRIX_CaptionSet[3] <> '';
Field4Visible := MATRIX_CaptionSet[4] <> '';
Field5Visible := MATRIX_CaptionSet[5] <> '';
Field6Visible := MATRIX_CaptionSet[6] <> '';
Field7Visible := MATRIX_CaptionSet[7] <> '';
Field8Visible := MATRIX_CaptionSet[8] <> '';
Field9Visible := MATRIX_CaptionSet[9] <> '';
Field10Visible := MATRIX_CaptionSet[10] <> '';
Field11Visible := MATRIX_CaptionSet[11] <> '';
Field12Visible := MATRIX_CaptionSet[12] <> '';
Field13Visible := MATRIX_CaptionSet[13] <> '';
Field14Visible := MATRIX_CaptionSet[14] <> '';
Field15Visible := MATRIX_CaptionSet[15] <> '';
Field16Visible := MATRIX_CaptionSet[16] <> '';
Field17Visible := MATRIX_CaptionSet[17] <> '';
Field18Visible := MATRIX_CaptionSet[18] <> '';
Field19Visible := MATRIX_CaptionSet[19] <> '';
Field20Visible := MATRIX_CaptionSet[20] <> '';
Field21Visible := MATRIX_CaptionSet[21] <> '';
Field22Visible := MATRIX_CaptionSet[22] <> '';
Field23Visible := MATRIX_CaptionSet[23] <> '';
Field24Visible := MATRIX_CaptionSet[24] <> '';
Field25Visible := MATRIX_CaptionSet[25] <> '';
Field26Visible := MATRIX_CaptionSet[26] <> '';
Field27Visible := MATRIX_CaptionSet[27] <> '';
Field28Visible := MATRIX_CaptionSet[28] <> '';
Field29Visible := MATRIX_CaptionSet[29] <> '';
Field30Visible := MATRIX_CaptionSet[30] <> '';
Field31Visible := MATRIX_CaptionSet[31] <> '';
Field32Visible := MATRIX_CaptionSet[32] <> '';
end;
}