Ich laufe zur Zeit in ein Problem mit der folgenden Situation:einen Datensatz Highlight offen
Ich habe einen Rechtsklick Ereignis, das eine statische Methode „inventTransferOrder“ ausführt. Indem ich habe den folgenden Code:
select firstOnly invTransLine
where invTransLine.TransferId == invTrans.TransferId
&& invTransLine.LineNum == invTransLineNum;
args.record(invTransLine);
new MenuFunction(menuitemDisplayStr(InventTransferOrder), MenuItemType::Display).run(args);
in der die Form (InventTransferOrders, die sich hinter dem Menüpunkt InventTransferOrder legt) init-Methode Ich Ausführung den folgenden Code:
InventTransferLine invTransLine;
QueryBuildDataSource qbds;
QueryBuildRange qbr;
;
invTransLine = element.args().record();
qbds = InventTransferLine_Q.dataSourceTable(tableNum(InventTransferLine));
qbr = qbds.addRange(fieldNum(InventTransferLine, LineNum));
qbr.value(strFmt('%1', invTransLine.LineNum));
Dies tut genau was es tun soll: es filtert das Raster mit der Datenquelle 'InventTransferLine' zu dem einen Datensatz mit der passenden Zeilenzahl.
Im Gegensatz dazu, ich brauche alle Aufzeichnungen zeigen (die InventTransferLine nur die Leitungen für die InventTransfer Datensatz vorfiltriertem werden zu zeigen, die ausgewählt wird) ABER der ein Datensatz mit dem passenden LineNum sollte hervorgehoben so dass Ein Benutzer könnte sofort mit dieser Zeile arbeiten.
Kann mir jemand dabei helfen?
Ich habe den folgenden Code verwendet, aber es (visuell) tut nichts:
InventTransferLine_DS.findRecord(invTransLine);
InventTransferLine_DS.mark(true);
ich Hilfe schätzen würde.
Vielen Dank und freundliche Grüße
Wow, das ist eine ziemlich einfache und klare Lösung. Ich habe gerade den Methoden- und Methodenaufruf von form/init nach datasource/executeQuery verschoben und es funktioniert einwandfrei. TIL executeQuery löscht die vorherige Markierung/Auswahl. Vielen Dank! – Tekumi