Today we will learn to create a query to update Cue data.
Creating a Query for Calculating the Cue DataFirst, we will create a query object to calculate the number of open sales invoices from table 21
Cust. Ledger Entry.
Create a query for calculating the Cue data as below:

Save the query.
Adding the Table Field for the Cue DataNext we will add a field to the table Sales Invoice Cue (create new table) for holding the Cue data.


We will add a global function that returns the total amount of sales invoices for the current month from the query object that we created above procedure.
To add C/AL code to the table calculate the Cue dataAdd a global function that is called
CalcSalesThisMonthAmount as follows:
On the View menu, choose C/AL Globals.
On the Functions tab, in the Name column, enter
CalcSalesThisMonthAmount.
Select the new function, and then in the View menu, select Properties.
Set the
Local property to
No.
In the C/AL Globals window, select the new function, and then choose Locals.
On the
Return Value tab, set Name field to
Amount and the Return Type field to
Decimal.
On the
Variables tab, add two variables as shown in the following table:
Name |
DataType |
Subtype |
CustLedgerEntry |
Record |
Cust. Ledger Entry |
CustLedgerEntrySales |
Query |
Cust. Ledg. Entry Sales |
In C/AL code, add the following code on the
CalcSalesThisMonthAmount function:
CustLedgerEntrySales.SETRANGE(Document_Type,CustLedgerEntry."Document Type"::Invoice);
CustLedgerEntrySales.SETRANGE(Posting_Date,CALCDATE('<-CM>',WORKDATE),WORKDATE);
CustLedgerEntrySales.OPEN;
IF CustLedgerEntrySales.READ THEN
Amount := CustLedgerEntrySales.Sum_Sales_LCY;

Save the table.
Adding the Cue to the Role Center PageTo display the Cue fields on the
Role Center, We will create a new Page [PageType =
CardPart] name
Sales Invoice Cue.


Page Designer should look similar to shown above illustration.
Open the C/AL code for the page, and then add the following code to the
OnAfterGetRecord Trigger to assign the
Sales This month field to the
CalcSalesThisMonthAmount function of table Sales Invoice Cue:
"Sales This Month" := CalcSalesThisMonthAmount;

Also add code to the
OnOpenPage Trigger.
RESET;
IF NOT GET THEN BEGIN
INIT;
INSERT;
END;
Formatting the Cue DataWe does not want to display any decimal places. To achieve this, we set the
AutoFormatType Property and
AutoFormatExpr Property of the Cue field on the page. As shown above.
To change the data format
In the Properties window, set the
AutoFormatType property to
10.
This enables you to create a custom data format.
Set the
AutoFormatExpr property to the following text.
'<precision,0:0><standard format,0>'
<precision,0:0> specifies not to display any decimals places.
<standard format,0> specifies to format the data according to standard format 0.
Close the Properties windows, and then save and compile the page.
Run the Page created above the output should be similar to as below:

Now you can add this
CardPart Page to any of your Role Centre Page.