Testi Avanzati

Come sono identificati i record di origine sui testi avanzati? Nella tabella “EOS009 Doc. Adv. Text Header” ci sono tre campi che identificano il record al quale sono collegati dei testi avanzati:

  1. “Source Table ID”: L’id del record e.g. 36 (Sales Header)
  2. “Source Option Type”: Il sottotipo del record. verrà usato principalmente da i record di tipo Sales Header o Purchase Header
  3. “Source GUID”: Il System ID del record. see MS Docs

Come recuperare i testi avanzati da un record

	procedure GetAdvancedText(fromRec: Variant)
    var
        DocAdvTextHeader: Record "EOS009 Doc. Adv. Text Header";
        RecordIdentBuffer: Record "EOS Record Ident. Buffer" temporary;
        RecRef: RecordRef;
    begin
        RecRef.GetTable(fromRec);

        RecordIdentBuffer.DecodeRecord(fromRec);

        DocAdvTextHeader.SetCurrentKey("Source GUID", "Source Option Type", "Source Table ID");
        DocAdvTextHeader.SetRange("Source Table ID", RecordIdentBuffer."Source Type");
        DocAdvTextHeader.SetRange("Source Option Type", RecordIdentBuffer."Source Subtype");
        DocAdvTextHeader.SetRange("Source GUID", RecRef.Field(RecRef.SystemIdNo()).Value());
		
		// here's my DocAdvTextHeader filtered and ready to use
    end;

Come trovare il record di origine da i testi avanzati

    local procedure MyProcedure(DocAdvTextHeader: Record "EOS009 Doc. Adv. Text Header")
    var
        RecRef: RecordRef;
    begin
        RecRef.Open(DocAdvTextHeader."Source Table ID");
        RecRef.GetBySystemId(DocAdvTextHeader."Source GUID");
    end;

EOS Labs -