Why can the customers license not see the extended fields?

SunsetSunset Member Posts: 200
I have created an extensions that handles some information via the Sales Line.
Simplified version is one table that holds the values/options that are available
table 68015 "Order Service Contract Code"
field(1; "Order No."; Code[20])
field(2; "Service Code"; Code[10])
field(3; "Contract Code"; Code[10])

And an extension to the sales Line table:
tableextension 68101 "Sales Line Ext" extends "Sales Line"
field(68102; "Service Code"; Code[10])
{
TableRelation = "Order Service Contract Code"."Service Code";
ValidateTableRelation = false;
}
field(68103; "Contract Code"; Code[10])
{
TableRelation = "Order Service Contract Code"."Contract Code";
ValidateTableRelation = false;
}

And then some code that pre-filles the values on the order lines. So far so good, this all works and on the customers license it also does what it is supposed to.


But now comes my problem. Sometimes the users need to change the values, and so we make a pageextension
pageextension 68102 "Sales Order Subform Ext" extends "Sales Order Subform"
{
layout
{
addafter(Description)
{
field("Service Code"; "Service Code")
{
}
field("Contract Code"; "Contract Code")
{
}
}
}
}

But for whatever reason, this extension is only visible using a developer license.
Does anybody have some suggestions as to why this is?


NB: Code has been cleaned for readability. There are prefixes on all fields, and then caption-values to handle the user friendliness.
Don't just take my word for it, test it yourself

Best Answer

  • SunsetSunset Member Posts: 200
    Answer ✓
    Turned out to be the table extension definition. Looks like the code might get confused as to which record it should look for or something similar.

    Correct definition for the extended fields is:
    TableRelation = "Order Service Contract Code"."Service Code" WHERE ("Order No." = FIELD ("Document No."));

    And then it works.
    Don't just take my word for it, test it yourself

Answers

  • JuhlJuhl Member Posts: 724
    Sounds like a license issue
    Follow me on my blog juhl.blog
  • SunsetSunset Member Posts: 200
    I agree that it sounds/looks like it, but I don't see where/how.
    The customer license has access to the table and it pre-filles the values as it should. And since the fields on the sales line table and page are extensions, there should not be any license issues there.
    Don't just take my word for it, test it yourself
  • SunsetSunset Member Posts: 200
    Table 68015 has a LookupPageID = "Page 68015", which is included in the customers license.
    Neither tableextension nor pageextension has any reference to any further page.
    Don't just take my word for it, test it yourself
  • DenSterDenSter Member Posts: 8,304
    You forgot to define the ApplicationArea property of your page and its fields.
  • SunsetSunset Member Posts: 200
    Answer ✓
    Turned out to be the table extension definition. Looks like the code might get confused as to which record it should look for or something similar.

    Correct definition for the extended fields is:
    TableRelation = "Order Service Contract Code"."Service Code" WHERE ("Order No." = FIELD ("Document No."));

    And then it works.
    Don't just take my word for it, test it yourself
Sign In or Register to comment.