17 Mayıs 2018 Perşembe

Boyutları güncelleme(Dimension1,2,3,4) | Dynamics Ax

Örneğin satınalma siparişleri formunda boyutları buton yardımı ile güncellemek istediler. Dimension(1,2,3,4,5) Extended'lerde yok. Bunun için öncelikle ilişkili olarak exdended data type'lerin içine hangi boyutların güncellenmesi isteniyorsa tanımlama yapmamız gerekiyor.
Örneğin Dimension3 için resimdeki gibi bir tanımlama yapabilirsiniz;


Aşağıdaki kodu formun methods kısmına yazdıktan sonra istenilen forma bir buton ekleyip, butonun click'ınde bu methodu çağırabilirsiniz.

void updateDims()

{

    //  Dimensions Değiştirme

    Dialog                  d = new Dialog(strfmt("%1 için boyutları düzenle", PurchLine.ETGInventDimCombinationName));

    DialogField             dlgDimDepartment, dlgDimPerson, dlgDimVehicle, dlgDimPurpose;

    DialogGroup             dlgGroup;

    InventTrans             inventTrans;

    InventTransPosting      inventTransPosting;

    ;



    // Dimensions

    dlgGroup = d.addGroup("@SYS80374");

    dlgGroup.widthMode(FormWidth::ColumnWidth);

    dlgDimDepartment    = d.addFieldValue(typeid(DepartmentDimension),  PurchLine.Dimension[1], "Departman");

    dlgDimPerson        = d.addFieldValue(typeid(PersonDimension),      PurchLine.Dimension[4], "Personel");

    dlgDimVehicle       = d.addFieldValue(typeid(VehicleDimension),     PurchLine.Dimension[5], "Araç");

    dlgDimPurpose       = d.addFieldValue(typeid(PurposeDimension),     PurchLine.Dimension[3], "Amaç");



    if(PurchLine)

    {

        d.run();

        if (d.closedOk())

        {

            ttsbegin;

            PurchLine.selectForUpdate(true);

            PurchLine.Dimension[1] = dlgDimDepartment.value();

            PurchLine.Dimension[4] = dlgDimPerson.value();

            PurchLine.Dimension[5] = dlgDimVehicle.value();

            PurchLine.Dimension[3] = dlgDimPurpose.value();

            PurchLine.doupdate();

            inventTrans = InventTrans::findTransId(PurchLine.InventTransId);

            while select forupdate inventTransPosting

                where inventTransPosting.TransDate      == inventTrans.DateFinancial &&

                      inventTransPosting.Voucher        == inventTrans.Voucher &&

                      inventTransPosting.InventTransId  == inventTrans.InventTransId

            {

                inventTransPosting.Dimension[1] = PurchLine.Dimension[1];

                inventTransPosting.Dimension[4] = PurchLine.Dimension[4];

                inventTransPosting.Dimension[5] = PurchLine.Dimension[5];

                inventTransPosting.Dimension[3] = PurchLine.Dimension[3];

                inventTransPosting.doupdate();

            }

            ttscommit;

            PurchLine_ds.research(true);

        }

    }

    else

        throw warning ("Öncelikle bir satır girmelisiniz!");

}

Hiç yorum yok:

Yorum Gönder

Total ciro

static void MAA_SalesTableTotal(Args _args) { SalesTable SalesTable; utcDateTime dateTime; dateTime ...