Comments (8)
Unfortunately you cannot extend dynamic table relations yet. It is on our backlog, but hasn't been been picked up yet. I will add a +1 request from you :-)
from alappextensions.
Please add a +1 request for me to.
from alappextensions.
Please describe scenario for this - the user can set the default Dimensions within Business Central - in which scenarios is it needed to set this from an Extension.
from alappextensions.
Our ISV solution is in the automotive retail space. Therefor we are dealing with Vehciles.
When selling something to a Customer (A Sparepart or a Service), it is often required to select for which specific Vehicle that Sale is done. You select the Vehicle in the Document Header.
So we have the additional Vehicle Master Entity and would like to be able to derive Dimensions from the selection based on the standard Default Dimension Concept.
from alappextensions.
Initially you mention you want to insert a default dimension, however for the scenario you mention that you want to "derive" e.g. get the default dimension, can't you get the default dimension in this scenario?
from alappextensions.
Maybe my wording is a bit confusing. Let me explain the scenario again:
We have a Vehicle Table, a Vehicle Card and a Vehicle List.
On the Vehicle Card and Vehicle List Pages I want to add the same Dimension related functions like on e.g. Customer Card (Dimensions) and List (Dimensions-Single, Dimensions-Multiple) in order to be able to assign a Default Dimension to the Vehicle.
When I now use one of the Vehicles in a Sales Order, I want the Dimension Set ID not only be derived from the Default Dimensions of Customer, Salesperson/Purchaser, Campaign, Responsibility Center and Customer Template, but additionally from the Vehicle.
But due to the Table Relation of the Table ID field in the Default Dimension Table, it is not possible to register/insert any records not foreseen by the NAV Standard.
The same problem also exists in the Default Dimension Priority Table.
In general it would be great if we could extend conditional Table Relations as @JesperSchulz suggested.
from alappextensions.
Thank you - got it, we will investigate possible solutions to this.
from alappextensions.
Here is the solution we came up with:
The table relation is blanked and replaced by the code in trigger "No.".OnValidate() that verifies if the record with primary key equal to "No." in the table set in "Table ID" field.
The removed table relation had been handling the renaming of the related tables. This is now implemented by the call of function COD408.RenameDefaultDim() in the trigger OnRename() of all related tables.
Extensibility:
"Table ID" in table 352 is verified against the list of table IDs returned by COD408.DefaultDimObjectNoList().
This function collects all tables that match the following conditions:
- have fields related to global dimensions
- do not have "Dimension Set ID" field
- their primary key include one field
If the extension table satisfies these conditions, its ID will be accepted by table 352 automatically.
If the table does not get to the list it can still be added by subscription to the event COD408.OnAfterSetupObjectNoList() and modifying the buffer table.
from alappextensions.
Related Issues (20)
- [Event Request] Report 99000757 Where-Used (Top Level) - trigger OnPreDataItem (Item) - OnBeforeOnPreDataItem HOT 1
- [Event Request] Report 5881 Make Phys. Invt. Recording - trigger OnPreReport - OnBeforeOnPreReport HOT 1
- [Event Request] Report 299 Delete Invoiced Sales Orders - trigger dataitem - OnBeforeFirstSalesOrderLineFind HOT 4
- [Event Request] Report 6651 Delete Invd Sales Ret. Orders - trigger dataitem - OnBeforeSalesHeaderCommit HOT 1
- [Event Request] Report 299 Delete Invoiced Sales Orders - trigger dataitem - OnBeforeSalesHeaderCommit HOT 1
- [Event Change Request] Report 499 Sales Post - procedure "Delete Invoiced Purch. Orders" - Event OnAfterDeletePurchaseHeader HOT 3
- [Request for External] REP299 "Delete Invoiced Sales Orders" - Protected variables HOT 1
- [Request for External] REP6651 "Delete Invd Sales Ret. Orders" - Protected variables HOT 1
- [Event Change Request] codeunit 1255 "Match Bank Payments" HOT 1
- [Event Request] COD487 Job Queue Start Report - Procedure ProcessPrint - OnAfterProcessPrint HOT 1
- Publisher required in Record Restriction:: CodeUnit(1550) Record Restriction Mgt.: Ticket No: 2407100030004957: Issue in Indian Localization using Work flow .. and using cancelled cheque feature. HOT 1
- [Bug]: Incorrectly formatted amounts in e-documents
- [Event Request] Report 7318 Whse.-Shipment - Create Pick HOT 1
- [Request for External] Page 193 "Incoming Doc. Attach. FactBox" - Protected variables HOT 1
- [Event Request] Page 51 "Purchase Invoice" - OnBeforeCurrencyCodeOnAssistEdit
- [Event Request] Page 52 "Purchase Credit Memo" - OnBeforeCurrencyCodeOnAssistEdit
- [Event Request] cod456 Job Queue Management - Procedure FindStaleJobsAndSetError - OnAfterFindStaleJobsAndSetErrorErrorSet
- [Event request] Job Queue Entry - Bypass replacing Report Output Type (IsSaas / Print)
- [Event Request] report 5885 "Calc. Phys. Invt. Order (Bins)" - New Event OnAfterGetRecordBinOnAfterSetFilters
- [Event Request] codeunit 950 "Time Sheet Management" new event OnBeforeToTimeSheetLineInsertFromTimeSheetLineArchive
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alappextensions.