How to make web service with links from items?

Hi experts,

This is regarding Business Central cloud.

On an item, you can make several links to files on some public server.

I would like to make these records available for a web service. How do I do that?

I can see that this has something to do with the table "Record Link" (number 2000000068). But I need to show the item number, description and the link to the file.

Hope, someone can help.

Best Answer

  • txerifftxeriff Member Posts: 501
    edited 2021-11-15 Answer ✓
    Those tables are system internal tables, are not shown in SQL.
    I havent done anything for recordlink in ages but it used to be a common thing to customise.

    You should create some page for items list and then you can use recordID to find its related entries in recordlink table.

    something like:
    variable type:
    vrecordref: recordref;

    vRecordRef.Open(2000000068); //table no.
    if vRecordRef.Get(T27.RecordId) then ;
    vRecordref.close;
    ...

    for listing the record links and all related tables you can try the other way around (open T27 and try get with recordid from recordlink.)

Answers

  • txerifftxeriff Member Posts: 501
    edited 2021-11-15 Answer ✓
    Those tables are system internal tables, are not shown in SQL.
    I havent done anything for recordlink in ages but it used to be a common thing to customise.

    You should create some page for items list and then you can use recordID to find its related entries in recordlink table.

    something like:
    variable type:
    vrecordref: recordref;

    vRecordRef.Open(2000000068); //table no.
    if vRecordRef.Get(T27.RecordId) then ;
    vRecordref.close;
    ...

    for listing the record links and all related tables you can try the other way around (open T27 and try get with recordid from recordlink.)
  • MortenSteengaardMortenSteengaard Member Posts: 136
    Hi txeriff.

    Thank you very much. That was great.

    I did this on a page-extension:

    On the table "Record Link" there is a field called URL1. That contains the URL. I simply missed that.

    Furthermore there is a field called "Record ID". I use that to get the Item-record like this where Rec is the "Record Link" table:

    trigger OnAfterGetRecord()
    var
    RecordRef: RecordRef;
    MyFieldRef: FieldRef;
    begin
    if Rec.Type = Rec.Type::Link then begin
    RecordRef.Open(Database::Item);

    if RecordRef.Get(Rec."Record ID") then begin
    MyFieldRef := RecordRef.Field(1); // 1 = "No."
    ItemNumber := MyFieldRef.Value;
    end;
    end;
    end;
Sign In or Register to comment.