MenuFunction par code

Les formes

Nous nous trouvons dans une forme avec comme DataSource : dataSource1.
Il nous faut, via un bouton, appeller une forme, par exemple : PriceDiscTable. Et nous voulons lui passer en paramètre la table VendTable.

Il faudra écrire ceci dans la méthode clicked du bouton que l’on aura créé.

Attention : le bouton doit-être de type Button.

public void run()
{
    Args            args        = new Args();
    FormRun         formRun;
    ;

    args.name(formStr(SalesTable));
    args.record(custTable);
    args.caller(this);

    formRun         = ClassFactory::formRunClassOnClient(args);
    formRun.init();
    formRun.run();
    formRun.detach();
}
 void clicked() 
{
   Args            args;
   MenuFunction    menuFunction;
   Object          formRun;
   ;
   args            = new Args();
   menuFunction    = new MenuFunction(menuItemDisplayStr(PriceDiscTable_EndDiscPurch), MenuItemType::Display);
   args.record(VendTable::find(vendAccount));
   super();
   formRun = menuFunction.create(args);
   formRun.init();
   formRun.run();
   //formRun.reSelect(); //est quelques fois nécessaire
   //formRun.detach();   //est quelques fois nécessaire
} 

En appellant une méthode spécifique de la forme

Si vous voulez, par exemple, ouvrir la table des commandes clients en mode simple. Il vous faut exécuter la méthode toggle de la forme. Pour ce faire, procédez comme suit :

void openSalesTable(SalesTable _salesTable) 
{
   Args            args;
   Object          salesTableForm;
   MenuFunction    menuFunction;
   ;
   Args = new Args();
   args.record(_salesTable);
   salesTableForm = new MenuFunction(menuItemDisplayStr(SalesTable), MenuItemType::Display).create(args);
   salesTableForm.init();
   salesTableForm.toggelSimpleAdvanced(false);
   salesTableForm.run();
} 

Les classes

Voici le code si l’on doit lancer l’exécution d’une classe (extends RunBase) via un bouton par exemple.

public void callClass() 
{
   Args            args;
   MenuFunction    menuFunction;
   FormDataSource  formDataSource;
   ;
   Args            = new Args();
   menuFunction    = new MenuFunction(menuItemActionStr(SuppItemCalc_Sales), MenuItemType::Action);
   args.record(SalesTable);
   menuFunction.run(args);
}