Code Monkey home page Code Monkey logo

Comments (4)

pri-kise avatar pri-kise commented on September 13, 2024 5

I've stumbled over this issue today, too.
To be honest - in my opinion the current behaviour is a bug.
We should be able to add a Field with the property to a page via a PageExtension, but still disallow to add the field via customization.

e.g. Imagine the following (very common) scenario.
A field is added to the SalesLine or the SalesHeader. The field has only a valid meaning in the conext of a Sales Invoice.
Therefore we add this field via PageExtension to those places.
Furthermore we don't want users to add those fields to any other page (e.g. Sales Order) via customization.
Then I would expect that I can sett the property AllowInCustomizations to Never and still see the field where it's added via a PageExtension.

Here is small exmaple of this scenario.
https://github.com/pri-kise/msdyn365bc-allowincustomizations-test

from al.

TKapitan avatar TKapitan commented on September 13, 2024 2

Agree with @pri-kise - the current behaviour makes no sense. If the property is used in the base app, partners won't be able to add the field to any page. Is this REALLY something Microsoft wants to enforce? Long term, this property should be used for most of the "background" fields if Microsoft wants to allow fields added through customizations to be editable. However, partners still need to be able to add such fields to page extensions as they may have specific use cases (and this may even be legal requirements - for partners' localizations - field may not be useful for W1, but some countries may need the field to be visible/exposed to users.

The current behaviour would add additional logic for partners and Microsoft when partners start asking for "make the field accessible from page extension", similar to what we have right now with events, local/internal procedures, onprem scope etc.

from al.

sybrenwille avatar sybrenwille commented on September 13, 2024

Agree that you can even call it a bug.
Other option could be to add a third option Between "Always" and "Never" something like "OnlyCode".
That enables that you can only add it in code (with page Extensions) but not with customizations in the client.
Then Never makes sure nobody even third party extensions can add it to a page with page extensions.

from al.

TKapitan avatar TKapitan commented on September 13, 2024

Agree that you can even call it a bug. Other option could be to add a third option Between "Always" and "Never" something like "OnlyCode". That enables that you can only add it in code (with page Extensions) but not with customizations in the client. Then Never makes sure nobody even third party extensions can add it to a page with page extensions.

I don't think this is needed/useful. If partners need such field to be available, they will still have options - you can use variable to show the page field and validate the field in the background. This would just add unnecessary complexity without any benefits. This should remain only for customization where we want to prevent users showing the field when they are not aware of the logic.

from al.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.