Сопоставление номера позиции поставщика со строками продаж или клонирование существующего поля в созданное

Я пытаюсь настроить отчет со значением из несвязанной таблицы. Я не могу понять, как заставить существующее поле заполнить мое пользовательское поле.

В частности, мне нужно, чтобы номер товара поставщика из товаров (или карточки товара) был доступен в таблице «Строки продаж» через поле, которое я создал в расширении таблицы.

Я не получаю никаких ошибок кода, и расширение успешно устанавливается. является системным полем по умолчанию для элементов.

В пределахtableextension, я пытался использовать CalcFormula, TableRelation и процедуру DataTransfer, чтобы сделатьVendor Item Custom Tableв равнойVendor Item No..

Я получаю только пустое значение без ошибок:

      tableextension 50102 SalesLineVendorTble extends "Sales Line"
{
    fields
    {
        //orginal field on Items is (32; "Vendor Item No."; Text[50])
        //Works to insert new field, no linked data
        field(999; "Vendor Item Custom Table"; Text[50])
        {
            //TableRelation, doesn't work
            DataClassification = ToBeClassified; //DataClassification or FlowField, choose 1
            TableRelation = Item."Vendor Item No." where("No." = field("No."));

            //CalcFormula via FlowField
            //FieldClass = FlowField; //DataClassification or FlowField, choose 1
            //CalcFormula = lookup(item."Vendor Item No." where("No." = field("No.")));
        }
    }

//Below is procedure trying to link via multiple methods
    /*
        local procedure CopyVendorItemNum()
        var
            dt: datatransfer;
            dest: Record "Sales Line";
            src: Record Item;
        begin
            //define SalesLine.CustomField is same as Item.VendorNumber
                //did not work
            //rec."Vendor Item Custom Table" := src."Vendor Item No.";

            //Set up datatransfer, link tables and copy fields
                //did not work
            dt.SetTables(Database::Item, Database::"Sales Line");
            dt.AddFieldValue(src.FieldNo("Vendor Item No."), dest.Fieldno("Vendor Item Custom Table"));
            dt.AddJoin(src.FieldNo("No."), dest.FieldNo("No."));
            dt.CopyFields();
        end;
    */
}

Вставка поля в набор данных отчета работает, но без значения в строке продаж здесь ничего не отображается. Здесь вроде нормально

      reportextension 50101 PickAddVendor extends "Pick Instruction"
{
    RDLCLayout = './CustomReport.rdlc';
    dataset
    {
        add("Sales Line")
        {
            //factoryCodeTable is name for internal use
            //Vendor Item Custom Table is custom Field
            column("FactoryCodeTable"; "Vendor Item Custom Table")
            { }
} } }

0 ответов

Другие вопросы по тегам