Předávání dat mezi formuláři

Automaticky přeloženo z Deepl

Nebylo by skvělé, kdybyste mohli jednoduše otevřít formulář a předat mu některé parametry pro inicializaci objektů formuláře? A co kdybyste mohli také získat data zpět ke zpracování poté, co je uživatel upravil? 4D v16 R5 vám velmi usnadní kódování tím, že výrazně zjednoduší komunikaci s formuláři.

Až dosud, když jste chtěli zobrazit data (nepocházející přímo z databáze, ale vypočtená nebo externí) více uživatelům, měli jste dvě možnosti: buď napsat složitý kód pro obsluhu zobrazení dat ve více procesech, nebo vytvořit tolik formulářů, kolik bylo potřeba, s hromadou globálních proměnných. Víte však, že globální proměnné nejsou z paměťového hlediska optimalizovaným způsobem kódování.

Zbavte se tedy složitého kódu a globálních proměnných! Pomocí stránky 4D v16 R5 můžete jednoduše svázat objekt s formulářem a interně jej používat pomocí nového příkazuForm . Bezbolestné… a výkonné!

Příklad databáze

Předávání parametrů formuláři

Nyní je možné předávat parametry v objektu do formuláře pomocí příkazu DIALOG příkazu. Jakákoli vlastnost tohoto objektu pak bude dostupná z kontextu formuláře prostřednictvím příkazu Form příkazu.

C_LONGINT($window)
C_OBJECT($address)

$address:=Novýobjekt
$address.CompanyName:="4D"
$address.LastName:="Dupont"
...

$window:=Otevřítokno formuláře("AddressForm";Dialogové okno pohyblivého formuláře)

// Formulář je otevřen s objektem $adresa v parametru
// To umožňuje upravit objekt $adresa ve formuláři pomocí příkazu Form
DIALOG("AddressForm";$adresa)
CLOSE WINDOW($window)
ALERT("Nový název společnosti je: "+
$address.CompanyName)

Ve formuláři „AddressForm“ stačí použít příkaz Form příkaz ve zdroji dat objektu formuláře:

Když uživatelé zavřou dialogové okno, hodnoty, které zadali, jsou k dispozici ve volající metodě prostřednictvím objektu $adresa .

Předávání parametrů do dílčího formuláře

Stejným způsobem, jakým předáváte objekt do formuláře pomocí příkazu DIALOG příkazem, můžete také předat objekt do oblasti podformuláře pomocí seznamu vlastností. Pak jej můžete použít v podformuláři pomocí příkazu Form příkazem. V níže uvedeném příkladu je k podformuláři vázán objekt InvoiceAddress.

blank

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.