Posts

Showing posts from May, 2024

D365F&O - X++ - The first parameter of AifCollectionTypeAttribute must match either a parameter of the method it is defined on or "return".

  The value in your attribute calls the parameter in method definition which is  _ TestParm in our case . [DataMemberAttribute ( "TestClass" ), AifCollectionTypeAttribute( '_TestParm' , Types::Class, classStr(CustClass)), AifCollectionTypeAttribute( 'return' , Types::Class, classStr(CustClass))] public List parmTestMethod(List _TestParm = TestParm) {     TestParm = _TestParm;     return TestParm; }    

D365F&O - X++ - Override jumpref on product number datasource field in EcoResProductDetailsExtended form extension

[ExtensionOf(formDataFieldStr(EcoResProductDetailsExtended, EcoResProduct, DisplayProductNumber))] final class EcoResProductDetailsExtended_EcoResProduct_DisplayProductNumber_Extension {     public void jumpRef()     {         FormDataObject formDataObject = any2Object(this) as FormDataObject; FormDataSource formDataSource = formDataObject.datasource(); EcoResProduct ecoResProduct; MenuFunction menuFunction; Args args = new Args(); next jumpRef(); //get current record ecoResProduct = formDataSource.cursor(); if (!EcoResProduct) { return; } args.record(EcoResProduct); menuFunction = new MenuFunction(menuitemDisplayStr(CustEcoResProductDetails),                MenuItemType::Display); menuFunction.openMode(OpenMode::Edit); menuFunction.formViewOption(FormViewOpti...

D365F&O - X++ - Use of JumpRef() method in form extension

Override event handler onPostRun of Form and register JumpRef method.  class MJEcoResProductDetailsExtendedEventHandlers {     [FormEventHandler(formStr(EcoResProductDetailsExtended), FormEventType::PostRun)]     public static void EcoResProductDetailsExtended_OnPostRun(xFormRun sender, FormEventArgs e)     {         FormStringControl   control = sender.design().controlName(formControlStr(             EcoResProductDetailsExtended, InventTable_Product_DisplayProductNumber));         control.registerOverrideMethod(methodStr(FormStringControl, jumpRef),             methodStr(EcoResProductDetailsExtended_Extension, itemid_jumpref), sender);     } } Create a Form extension and write the method definition of jumpRef . [ExtensionOf(formStr(EcoResProductDetailsExtended))] final class EcoResProductDetailsExtended_Extension {     publ...