Pravděpodobně jste již použili příkaz LISTBOX SELECT ROW příkaz mnohokrát, přičemž jste procházeli jednotlivé entity ve smyčce, abyste vybrali řádky pro výběr entit. 4D v18 R3 tento proces zjednodušuje díky novému příkazu LISTBOX SELECT ROWS příkazem.
HDI: Příklady pro snadný výběr řádků v poli seznamu
výběr entity Seznam box
Nový LISTBOX SELECT ROWS příkaz přijímá jako parametr výběr entity. Řádky odpovídající výběru entit lze vybrat pomocí jediného řádku kódu. K vybraným řádkům je lze také snadno přidávat nebo z nich odebírat.
Příklad
Následující kód vytvoří výběr entit klientů platících v hotovosti a vybere řádky pro výběr entit v poli seznamu:
C_OBJECT($selection)
$selection :=ds.Invoices.query("payment=:1"; "Cash")
LISTBOX SELECT ROWS (*; "Invoices";$selection;lk replace selection)
Zde je výsledné okno se seznamem:
Box seznamu sbírky
Nový LISTBOX SELECT ROWS příkaz využívá stejný, jednoduchý princip! Jednoduše příkazu předejte kolekci obsahující odkazy na objekty, které chcete vybrat.
Příklad
Následující kód používá kolekci Form.payments a vybírá řádky pro klienty v zadaném rozsahu plateb:
Použití kolekce Form.payments:
[ {name:Cash,min:100,max:500}, {name:Cheque,min:200,max:1200}, {name:Credit card,min:700,max:1500}, {name:Gift card,min:800,max:900} ]
C_COLLECTION($collection)
$collection :=Form.payments.query("min <= :1 a max >= :1";250)
LISTBOX SELECT ROWS (*; "Platby";$collection;lk replace selection)
Výsledné okno se seznamem:
Stáhněte si výše uvedený HDI a podívejte se do centra dokumentace, kde se o tomto novém příkazu dozvíte více.