Options

NAV2015 EvaluationMode attribute in every RDLC Value element

davorpdavorp Member Posts: 17
edited 2015-07-09 in NAV Three Tier
Has anyone else noticed that NAV 2015 Development Client seems to be adding an EvaluationMode attribute to every Value element during compilation phase after receiving RDLC file from Visual Studio?

This is causing a lot of unnecessarily changed lines in RDLDATA part of the NAV object.

For example - standard NAV W1 object might have this:
...
<Value>=Parameters!IntrastatJnlLineTypeCaption.Value</Value>
...
and when you open Report in Designer, edit Layout in Visual Studio, change something (or not...) then recompile and save RDLC in Visual Studio so that NAV client picks up changes and saves a new object, the modified object now has attribute EvaluationMode = "Auto" added to each and every Value element (hundreds of them, even the empty ones!), as in:
...
<Value EvaluationMode="Auto">=Parameters!IntrastatJnlLineTypeCaption.Value</Value>
...
According to MSDN, EvaluationMode attribute already has a default value of "Auto" so I don't see the need for it to be added to Value element.

This was not the case with NAV 2013 R2, and is happening on both NAV 2015 RTM W1 development environment as well as on CU5 build 40262.
I'm also pretty sure it's not Visual Studio's fault since the file VS is saving in TEMP directory before NAV client takes over doesn't have this attribute inserted (unless it was already there)

Can anyone else confirm this?

Comments

  • Options
    JDVyskaJDVyska Member Posts: 179
    I've now run into this also. I ran into it in relation to errors when running reports in non-english languages. I don't *know* that those things are related.


    Additionally, it's excessive to get added. According to docs, AUTO is the default option:
    The TextRun.Value.EvaluationMode attribute specifies whether TextRun.Value is treated as an expression or constant value. This attribute is optional. If this attribute is present, its value MUST be one of the following:
    Auto: Specifies that TextRun.Value MUST be treated as an expression if it starts with "=" and as a constant otherwise.
    Constant: Specifies that TextRun.Value MUST be treated as a constant value.
    If this element is not present, its value is interpreted as “Auto”. Following is the parent element of the TextRun.Value.EvaluationMode attribute.
    https://msdn.microsoft.com/en-us/librar ... (v=sql.105).aspx
    JEREMY VYSKA
    CEO, Spare Brained Ideas, Göteborg, Sweden
    New (April 2021) Getting Started with Microsoft Dynamics 365 Business Central Book Available: "Your First 20 Hours with Business Central"
  • Options
    davorpdavorp Member Posts: 17
    Yes, I've seen that article on MSDN as well.
    What's puzzling is that W1 (World release) NAV objects out of the box don't have this element, only when you change RDL and recompile does it get added.

    Perhaps this is an unwanted feature of some sort, since it doesn't make much sense otherwise...

    Are you saying that you have trouble running RDLC reports in non ENU languages because of EvaluationMode element?
  • Options
    wakestarwakestar Member Posts: 207
    This is extremely annoying!

    If you have the same report in different NAV versions you end up with tons of differences because of this default value....

    Is there a way to avoid this?
  • Options
    pschoenmakerpschoenmaker Member Posts: 6
    well,
    RDLC in .txt always sucked (when upgrading) and now it sucks even harder. Someone likes sucking overthere :)
Sign In or Register to comment.