Dynamics ax 4.0, apertura modulo senza applicare filtri sul record corrente

StackOverflow https://stackoverflow.com/questions/1320414

  •  19-09-2019
  •  | 
  •  

Domanda

Ad esempio, ho un modulo con la griglia VendTable, che ha il campo CustAccount.

Voglio posizionare il pulsante, fare clic su cui si aprirà il modulo CustTable in cui sono visibili tutti i clienti.

Se inserisco solo la voce di menu CustTable, facendo clic su di essa si aprirà il modulo CustTable, ma in questo modulo viene visualizzato solo un record, uno che ha lo stesso AccountNum di vendTable.CustAccount.

Come aprire l'intera custTable?Esiste una soluzione migliore del pulsante Crea e quindi utilizzare ClassFactory::FormRunOnClient per visualizzare il modulo?

PS.Ho bisogno del pulsante, quindi RMB->"Vai al modulo della tabella principale" non conta.

È stato utile?

Soluzione

Il problema è che il VendTable il record viene applicato come argomento al file CustTable modulo, che quindi crea un dynalink.La soluzione è evitare la discussione.

Sostituisci il clicked metodo nel CustTable visualizza la voce di menu in questo modo:

void clicked()
{
    this.menufunction().run(new Args(element));
}

Questo chiama il CustTable form solo con l'oggetto chiamante e senza l'argomento record.

Altri suggerimenti

So che questa è una domanda abbastanza vecchia, ma se qualcuno viene qui a cercare la risposta, chiama semplicemente metodo clearDynalinks() sull'oggetto QueryBuildDataSource.

Ad esempio, hai creato un modulo e filtra automaticamente la tua origine dati a causa dei Dynalink che Dynamics crea automaticamente, risolvilo inserendo il seguente codice all'interno del init() metodo, nel modulo Origine dati:

QueryBuildDatasource qbds;
;


qbds = this.query().dataSourceTable(tablenum(MyTableName));
qbds.clearDynalinks();

// Next line is optional, it clears initial ranges
qbds.clearRanges();

// if you need to add any ranges you can do it right after you clear the initial dynalinks / ranges

Spero che sia d'aiuto...

Hai 2 opzioni, puoi creare un pulsante e sovrascrivere il suo metodo clicked() oppure usare un oggetto MenuItemButton e assegnargli un oggetto Action MenuItem.

L'uso di MenuItems è una procedura consigliata perché consente di utilizzare il framework di sicurezza e configurazione AX.Puoi associare una classe a MenuItem e nel metodo main() della classe puoi eseguire il materiale FormRunOnClient() secondo necessità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top