Table 550 VAT Rate Change Setup
- App
- Base Application
- Namespace
- Microsoft.Finance.VAT.RateChange
- Versions
- 17-28
Fields, 34Keys, 1Procedures, 3
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Finance/VAT/RateChange/VATRateChangeSetup.Table.al398 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.Finance.VAT.RateChange;
using Microsoft.Finance.GeneralLedger.Account;
using Microsoft.Finance.GeneralLedger.Journal;
using Microsoft.Inventory.Item;
using Microsoft.Inventory.Requisition;
using Microsoft.Projects.Project.Job;
using Microsoft.Projects.Resources.Resource;
using Microsoft.Purchases.Document;
using Microsoft.Sales.Document;
/// <summary>
/// Configuration table for VAT rate change conversion settings and filters.
/// Controls which master data, journals, and documents are updated during VAT rate change operations.
/// </summary>
table 550 "VAT Rate Change Setup"
{
Caption = 'VAT Rate Change Setup';
DataClassification = CustomerContent;
fields
{
/// <summary>
/// Primary key field for the singleton setup record.
/// </summary>
field(1; "Primary Key"; Code[10])
{
AllowInCustomizations = Never;
Caption = 'Primary Key';
}
/// <summary>
/// Specifies whether general product posting groups should be updated during VAT rate change conversion.
/// </summary>
field(10; "Update Gen. Prod. Post. Groups"; Option)
{
Caption = 'Update Gen. Prod. Post. Groups';
ToolTip = 'Specifies the VAT rate change for general product posting groups.';
InitValue = "VAT Prod. Posting Group";
OptionCaption = 'VAT Prod. Posting Group,,,No';
OptionMembers = "VAT Prod. Posting Group",,,No;
}
/// <summary>
/// Specifies whether G/L accounts should be updated with new VAT or general product posting groups during conversion.
/// </summary>
field(15; "Update G/L Accounts"; Option)
{
Caption = 'Update G/L Accounts';
ToolTip = 'Specifies the VAT rate change for general ledger accounts.';
InitValue = Both;
OptionCaption = 'VAT Prod. Posting Group,Gen. Prod. Posting Group,Both,No';
OptionMembers = "VAT Prod. Posting Group","Gen. Prod. Posting Group",Both,No;
}
/// <summary>
/// Specifies whether items should be updated with new VAT or general product posting groups during conversion.
/// </summary>
field(17; "Update Items"; Option)
{
AccessByPermission = TableData Item = R;
Caption = 'Update Items';
ToolTip = 'Specifies the VAT rate change for items.';
InitValue = Both;
OptionCaption = 'VAT Prod. Posting Group,Gen. Prod. Posting Group,Both,No';
OptionMembers = "VAT Prod. Posting Group","Gen. Prod. Posting Group",Both,No;
}
/// <summary>
/// Specifies whether item templates should be updated with new VAT or general product posting groups during conversion.
/// </summary>
field(18; "Update Item Templates"; Option)
{
AccessByPermission = TableData Item = R;
Caption = 'Update Item Templates';
ToolTip = 'Specifies that VAT rate changes are updated for item categories.';
InitValue = Both;
OptionCaption = 'VAT Prod. Posting Group,Gen. Prod. Posting Group,Both,No';
OptionMembers = "VAT Prod. Posting Group","Gen. Prod. Posting Group",Both,No;
}
/// <summary>
/// Specifies whether item charges should be updated with new VAT or general product posting groups during conversion.
/// </summary>
field(19; "Update Item Charges"; Option)
{
AccessByPermission = TableData "Item Charge" = R;
Caption = 'Update Item Charges';
ToolTip = 'Specifies the VAT rate change for item charges.';
InitValue = Both;
OptionCaption = 'VAT Prod. Posting Group,Gen. Prod. Posting Group,Both,No';
OptionMembers = "VAT Prod. Posting Group","Gen. Prod. Posting Group",Both,No;
}
/// <summary>
/// Specifies whether resources should be updated with new VAT or general product posting groups during conversion.
/// </summary>
field(21; "Update Resources"; Option)
{
AccessByPermission = TableData Resource = R;
Caption = 'Update Resources';
ToolTip = 'Specifies the VAT rate change for resources.';
InitValue = Both;
OptionCaption = 'VAT Prod. Posting Group,Gen. Prod. Posting Group,Both,No';
OptionMembers = "VAT Prod. Posting Group","Gen. Prod. Posting Group",Both,No;
}
/// <summary>
/// Specifies whether general journal lines should be updated with new VAT or general product posting groups during conversion.
/// </summary>
field(30; "Update Gen. Journal Lines"; Option)
{
Caption = 'Update Gen. Journal Lines';
ToolTip = 'Specifies the VAT rate change for general journal lines.';
InitValue = Both;
OptionCaption = 'VAT Prod. Posting Group,Gen. Prod. Posting Group,Both,No';
OptionMembers = "VAT Prod. Posting Group","Gen. Prod. Posting Group",Both,No;
}
/// <summary>
/// Specifies whether general journal allocation lines should be updated with new VAT or general product posting groups during conversion.
/// </summary>
field(31; "Update Gen. Journal Allocation"; Option)
{
AccessByPermission = TableData "Gen. Jnl. Allocation" = R;
Caption = 'Update Gen. Journal Allocation';
ToolTip = 'Specifies the VAT rate change for general journal allocation.';
InitValue = Both;
OptionCaption = 'VAT Prod. Posting Group,Gen. Prod. Posting Group,Both,No';
OptionMembers = "VAT Prod. Posting Group","Gen. Prod. Posting Group",Both,No;
}
/// <summary>
/// Specifies whether standard general journal lines should be updated with new VAT or general product posting groups during conversion.
/// </summary>
field(32; "Update Std. Gen. Jnl. Lines"; Option)
{
Caption = 'Update Std. Gen. Jnl. Lines';
ToolTip = 'Specifies the VAT rate change for standard general journal lines.';
InitValue = Both;
OptionCaption = 'VAT Prod. Posting Group,Gen. Prod. Posting Group,Both,No';
OptionMembers = "VAT Prod. Posting Group","Gen. Prod. Posting Group",Both,No;
}
/// <summary>
/// Specifies whether resource journal lines should be updated with general product posting groups during conversion.
/// </summary>
field(33; "Update Res. Journal Lines"; Option)
{
AccessByPermission = TableData Resource = R;
Caption = 'Update Res. Journal Lines';
ToolTip = 'Specifies the VAT rate change for resource journal lines.';
InitValue = "Gen. Prod. Posting Group";
OptionCaption = ',Gen. Prod. Posting Group,,No';
OptionMembers = ,"Gen. Prod. Posting Group",,No;
}
/// <summary>
/// Specifies whether project journal lines should be updated with general product posting groups during conversion.
/// </summary>
field(35; "Update Job Journal Lines"; Option)
{
AccessByPermission = TableData Job = R;
Caption = 'Update Project Journal Lines';
ToolTip = 'Specifies the VAT rate change for job journal lines.';
InitValue = "Gen. Prod. Posting Group";
OptionCaption = ',Gen. Prod. Posting Group,,No';
OptionMembers = ,"Gen. Prod. Posting Group",,No;
}
/// <summary>
/// Specifies whether requisition lines should be updated with general product posting groups during conversion.
/// </summary>
field(37; "Update Requisition Lines"; Option)
{
AccessByPermission = TableData "Req. Wksh. Template" = R;
Caption = 'Update Requisition Lines';
ToolTip = 'Specifies the VAT rate change for requisition lines.';
InitValue = "Gen. Prod. Posting Group";
OptionCaption = ',Gen. Prod. Posting Group,,No';
OptionMembers = ,"Gen. Prod. Posting Group",,No;
}
/// <summary>
/// Specifies whether standard item journal lines should be updated with general product posting groups during conversion.
/// </summary>
field(39; "Update Std. Item Jnl. Lines"; Option)
{
AccessByPermission = TableData Item = R;
Caption = 'Update Std. Item Jnl. Lines';
ToolTip = 'Specifies the VAT rate change for standard item journal lines.';
InitValue = "Gen. Prod. Posting Group";
OptionCaption = ',Gen. Prod. Posting Group,,No';
OptionMembers = ,"Gen. Prod. Posting Group",,No;
}
/// <summary>
/// Specifies whether sales documents should be updated with new VAT or general product posting groups during conversion.
/// </summary>
field(50; "Update Sales Documents"; Option)
{
AccessByPermission = TableData "Sales Header" = R;
Caption = 'Update Sales Documents';
ToolTip = 'Specifies the VAT rate change for sales documents.';
InitValue = Both;
OptionCaption = 'VAT Prod. Posting Group,Gen. Prod. Posting Group,Both,No';
OptionMembers = "VAT Prod. Posting Group","Gen. Prod. Posting Group",Both,No;
}
/// <summary>
/// Specifies whether purchase documents should be updated with new VAT or general product posting groups during conversion.
/// </summary>
field(55; "Update Purchase Documents"; Option)
{
AccessByPermission = TableData "Purchase Header" = R;
Caption = 'Update Purchase Documents';
ToolTip = 'Specifies the VAT rate change for purchase documents.';
InitValue = Both;
OptionCaption = 'VAT Prod. Posting Group,Gen. Prod. Posting Group,Both,No';
OptionMembers = "VAT Prod. Posting Group","Gen. Prod. Posting Group",Both,No;
}
/// <summary>
/// Specifies whether reminder documents should be updated with new VAT product posting groups during conversion.
/// </summary>
field(70; "Update Reminders"; Option)
{
AccessByPermission = TableData "Sales Header" = R;
Caption = 'Update Reminders';
ToolTip = 'Specifies the VAT rate change for reminders.';
InitValue = "VAT Prod. Posting Group";
OptionCaption = 'VAT Prod. Posting Group,,,No';
OptionMembers = "VAT Prod. Posting Group",,,No;
}
/// <summary>
/// Specifies whether finance charge memo documents should be updated with new VAT product posting groups during conversion.
/// </summary>
field(75; "Update Finance Charge Memos"; Option)
{
Caption = 'Update Finance Charge Memos';
ToolTip = 'Specifies the VAT rate change for finance charge memos.';
InitValue = "VAT Prod. Posting Group";
OptionCaption = 'VAT Prod. Posting Group,,,No';
OptionMembers = "VAT Prod. Posting Group",,,No;
}
/// <summary>
/// Indicates whether the VAT rate change conversion process has been completed.
/// </summary>
field(90; "VAT Rate Change Tool Completed"; Boolean)
{
Caption = 'VAT Rate Change Tool Completed';
ToolTip = 'Specifies if the VAT rate change conversion is complete.';
InitValue = false;
}
/// <summary>
/// Specifies whether sales documents with any status, including released documents, should be updated during conversion.
/// </summary>
field(91; "Ignore Status on Sales Docs."; Boolean)
{
Caption = 'Ignore Status on Sales Docs.';
ToolTip = 'Specifies that all existing sales documents regardless of status, including documents with a status of released, are updated.';
InitValue = true;
}
/// <summary>
/// Specifies whether purchase documents with any status, including released documents, should be updated during conversion.
/// </summary>
field(92; "Ignore Status on Purch. Docs."; Boolean)
{
Caption = 'Ignore Status on Purch. Docs.';
ToolTip = 'Specifies all existing purchase documents regardless of status, including documents with a status of released, are updated.';
InitValue = true;
}
/// <summary>
/// Enables actual data modification during conversion. When false, conversion runs in preview mode only.
/// </summary>
field(93; "Perform Conversion"; Boolean)
{
Caption = 'Perform Conversion';
ToolTip = 'Specifies that the VAT rate conversion is performed on existing data.';
}
/// <summary>
/// Filter used to limit which items are included in the VAT rate change conversion process.
/// </summary>
field(100; "Item Filter"; Text[250])
{
Caption = 'Item Filter';
ToolTip = 'Specifies which items will be updated by setting appropriate filters.';
//The property 'ValidateTableRelation' can only be set if the property 'TableRelation' is set
//ValidateTableRelation = false;
}
/// <summary>
/// Filter used to limit which G/L accounts are included in the VAT rate change conversion process.
/// </summary>
field(101; "Account Filter"; Text[250])
{
Caption = 'Account Filter';
ToolTip = 'Specifies which accounts will be updated by setting appropriate filters.';
//The property 'ValidateTableRelation' can only be set if the property 'TableRelation' is set
//ValidateTableRelation = false;
}
/// <summary>
/// Filter used to limit which resources are included in the VAT rate change conversion process.
/// </summary>
field(102; "Resource Filter"; Text[250])
{
Caption = 'Resource Filter';
ToolTip = 'Specifies which resources will be updated by setting appropriate filters.';
//The property 'ValidateTableRelation' can only be set if the property 'TableRelation' is set
//ValidateTableRelation = false;
}
/// <summary>
/// Specifies whether unit prices should be updated for G/L account lines when prices include VAT.
/// </summary>
field(110; "Update Unit Price For G/L Acc."; Boolean)
{
Caption = 'Update Unit Prices for G/L Accounts';
ToolTip = 'Specifies that the unit price must be updated for document lines that have the type G/L Account.';
}
/// <summary>
/// Specifies whether unit prices should be updated for item charge lines when prices include VAT.
/// </summary>
field(111; "Upd. Unit Price For Item Chrg."; Boolean)
{
Caption = 'Update Unit Prices for Item Charges';
ToolTip = 'Specifies that the unit price must be updated for document lines that have the type Charge (Item).';
}
/// <summary>
/// Specifies whether unit prices should be updated for fixed asset lines when prices include VAT.
/// </summary>
field(112; "Upd. Unit Price For FA"; Boolean)
{
Caption = 'Update Unit Prices for Fixed Assets';
ToolTip = 'Specifies that the unit price must be updated for document lines that have the type Fixed Asset.';
}
}
keys
{
key(Key1; "Primary Key")
{
Clustered = true;
}
}
fieldgroups
{
}
/// <summary>
/// Opens item lookup dialog and sets the provided text filter based on user selection.
/// </summary>
/// <param name="Text">Filter text to be updated with selected item numbers</param>
/// <returns>True if user selected items and confirmed, false if cancelled</returns>
procedure LookUpItemFilter(var Text: Text[250]): Boolean
var
Item: Record Item;
ItemList: Page "Item List";
begin
ItemList.LookupMode(true);
ItemList.SetTableView(Item);
if ItemList.RunModal() = ACTION::LookupOK then begin
ItemList.GetRecord(Item);
Text := ItemList.GetSelectionFilter();
exit(true);
end;
exit(false)
end;
/// <summary>
/// Opens resource lookup dialog and sets the provided text with the selected resource number.
/// </summary>
/// <param name="Text">Text to be updated with selected resource number</param>
/// <returns>True if user selected a resource and confirmed, false if cancelled</returns>
procedure LookUpResourceFilter(var Text: Text[250]): Boolean
var
Resource: Record Resource;
ResourceList: Page "Resource List";
begin
ResourceList.LookupMode(true);
ResourceList.SetTableView(Resource);
if ResourceList.RunModal() = ACTION::LookupOK then begin
ResourceList.GetRecord(Resource);
Text := Resource."No.";
exit(true);
end;
exit(false)
end;
/// <summary>
/// Opens G/L account lookup dialog and sets the provided text filter based on user selection.
/// </summary>
/// <param name="Text">Filter text to be updated with selected G/L account numbers</param>
/// <returns>True if user selected accounts and confirmed, false if cancelled</returns>
procedure LookUpGLAccountFilter(var Text: Text[250]): Boolean
var
GLAccount: Record "G/L Account";
GLAccountList: Page "G/L Account List";
begin
GLAccountList.LookupMode(true);
GLAccountList.SetTableView(GLAccount);
if GLAccountList.RunModal() = ACTION::LookupOK then begin
GLAccountList.GetRecord(GLAccount);
Text := GLAccountList.GetSelectionFilter();
exit(true);
end;
exit(false)
end;
}