Comments (3)
Hello, yes this is a new requirement as it is generally bad practice to use field IDs outside your defined ID ranges, as was pointed out by this issue: #7547
For a while we have had rules in AppSourceCop that does a similar job for the AppSource object ID range:
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0013
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0099
As the new PTE0022 and PTE0023 rules are both in pre-release, the documentation has not yet been updated with guidance on how to act on them. We invite you to share your perspective on the new rules so we might improve them if necessary.
from al.
While I agree that the rule in itself makes sense, I don't find it useful for the ID range 50.000 - 99.999 which is reserved for customizations. I assume extensions that use this ID range will only ever be developed for, and installed in one specific customers environment, so ID clashes with existing objects would most likely be apparent while developing these customizations as they'd be developed against these customers symbols.
As a general question, what is the best practice to put into the app.json for the valid ID range if I develop in the 50.000 - 99.999 range?
Last time I checked I could publish extensions with objects defined outside the license but within the specified valid object ID in the app.json, which then made problems as they couldn't be used at runtime, so I specified the valid ID range in the app.json to what the license allows me to do.
Asking because, theoretically I could be a small company with a license only including the ID range of 50.000 - 50.005 because generally I only need a couple of objects for customization, with the new rule I could also only add 5 fields into a table extension (if I specify the valid ID range in the app.json to my license object ID range).
So if I see this correctly I have three options:
-
Define the valid ID range in the app.json to 50k-99.9k and run into the danger of publishing an extension including objects outside the valid ID range of my license.
-
Define the valid ID range to just cover my license and then potentially be bound to restrict the number of fields in my table extensions to the valid range.
-
Ignore the warning in the code cop and hope it won't turn into an error eventually.
What would be the best approach in this case?
from al.
Related Issues (20)
- DotNet exceptions with CodeAnalysis - 'codeLens/resolve' failed with error HOT 2
- Package cache doesn't support subfolders with .app files HOT 1
- [AL Language Syntax Highlights Devops] Some colors are not right HOT 3
- Removal of table extensions HOT 1
- VS Code all of a sudden giving error AL0197 and AL0118 HOT 4
- SystemId is nullguid when using RecordRef and SystemIdNo HOT 2
- [AL Language VSC Extension] Debugging in Codespaces fails to show the code when hitting breakpoint HOT 4
- Compiling App against Next Major shows AL0186 error HOT 8
- No Warning for area creation on document pages
- Never-Ending 'Loading Workspace' Issue with 'jsonc' Format in 'app.json' HOT 2
- Missing type symbol HOT 3
- al/createPackage failed with error: One or more errors occurred. (Failure while emitting metadata for object:'ReportExtension ESI_Testing' (Invalid name character in 'Posting Date'. The ' ' character, hexadecimal value 0x20, cannot be included in a name.))' HOT 1
- Altgen proxy table command error (AL Table Proxy Generator Error) HOT 9
- I want a example of 3 couloms in a DataTable and how to insert data into it HOT 1
- Namespaces causing issues while generating permission sets in vscode
- AAD/Entra ID Authentication in vscode works only for direct users of the tenant HOT 6
- Error AS0064: Implementation of interface '__MissingInterface__' has been deleted on Codeunit 'abcd'. HOT 2
- Custom List Page - Clear(rec) problem in Edit Mode HOT 1
- Sending notification workspace/didChangeConfiguration failed HOT 6
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 al.