V září loňského roku společnost 4D představila Qodly Studio pro 4D, které nabízí komplexní výhody umožňující bezproblémové vytváření dynamických a efektivních podnikových webových aplikací. Pokud jste tak ještě neučinili, přečtěte si tento blogpost, kde se dozvíte, jak začít používat Qodly Studio pro 4D.
Qodly Studio je také dostupné na webu qodly.com a tvoří součást nové nabídky SaaS společnosti 4D.
Chcete využít data své aplikace 4D a obchodní logiku v aplikaci qodly.com? Jistě vás potěší, že webová aplikace qodly.com se nyní může připojit k aplikaci 4D nasazené na serveru 4D díky novému příkazu QodlyScript openDatastore. Projekt 4D pak můžete použít jako vzdálené datové úložiště z Qodly.com.
Jinými slovy:
- Aplikace založená na 4D Serveru umí obojí: obsluhovat 4D desktopové klienty i webové klienty pomocí Qodly formulářů. Pokud to děláte, není třeba pokračovat ve čtení.
- Ale řekněme, že chcete rozšířit svou stávající aplikaci založenou na 4D Serveru o zcela novou, pouze webovou – a to hostovanou na Qodly.com: tento příspěvek je určen právě vám a ukazuje, jak mezi oběma komunikovat.
konkrétní příklady
Poznámka: následující kód používá QodlyScript , jazyk, jehož platnost vypršela díky JavaScriptu a 4D. Vypadá podobně jako 4D, ale není zcela totožný.
příklad 1
Řekněme, že vyvíjíme webovou aplikaci pro personalisty na qodly.com: Qodly-HR. Máme již nakódovanou nějakou obchodní logiku v projektu 4D: 4D-HR. Místo abychom tuto logiku přepisovali v QodlyScriptu, prostě ji zavoláme příkazem openDatastore!
Tento jednoduchý příklad zpracovává hodinové sazby zaměstnanců v závislosti na zemi, ve které pracují. V závislosti na místě, kde pracují, není hodinová sazba zaměstnanců stejná.
Zde je model v Qodly-HR:

V Qodly-HR vytvoříme zaměstnance. Ale pro výpočet jejich hodinových sazeb se budeme spoléhat na již existující obchodní logiku 4D-HR. Ve 4D-HR je k tomu skutečně k dispozici funkce computeHourlyRates: jako vstupní parametr bere hodinovou sazbu v dané zemi a vrací kolekci sazeb pro jednotlivé země.
Níže uvedený úryvek kódu QodlyScript slouží k vytvoření zaměstnance v Qodly-HR. V tomto kousku kódu voláme naši vzdálenou funkci datového skladu 4D-HR computeHourlyRates tak, že jí zadáme francouzskou hodinovou sazbu, abychom získali hodinové sazby ve Velké Británii a USA.
var employee: cs.EmployeesEntity
var salaryInfo : cs.SalaryInfoEntity
var salaries: collection
var info : object
var status: object
employee = ds.Employees.new()
employee.name="Mary"
employee.lastname="Smith"
status=employee.save()
salaries=ds.getHRDatastore().computeHourlyRates("FR", 100)
//mzdy jsou [{country:FR,hourlyRate:100},{country:UK,hourlyRate:95},{country:US,hourlyRate:90}]
forEach(info, platy)
salaryInfo=ds.SalaryInfo.new()
salaryInfo.fromObject(info)
salaryInfo.theEmployee=employee
status=salaryInfo.save()
end
Zde je třída Datového skladu:
extends DataStoreImplementation
exposed Function getHRDatastore() : 4D.DataStoreImplementation
var connect : object = {hostname: "hr@acme.com"}
var remoteDS : 4D.DataStoreImplementation
remoteDS = openDatastore(connect, "hr")
return remoteDS
příklad 2
Máme další projekt 4D: 4D-Sales pro zpracování prodeje a zákazníků. Také jej používáme stejným způsobem jako projekt 4D: 4D-HR.
Ve třídě Datastore máme tuto funkci, která používá projekt 4D 4D-Sales jako vzdálené datové úložiště:
V tomto případě si můžeme vytvořit funkci getSalesDatastore() : 4D.DataStoreImplementation
var connect : object = {hostname: "sales@acme.com"}
var remoteDS : 4D.DataStoreImplementation
remoteDS = openDatastore(connect, "sales")
return remoteDS
V naší webové aplikaci Qodly-HR potřebujeme získat zákazníky, jejichž celková částka je větší než průměr.
Níže uvádíme, jak to vyřešíme. Načteme všechny zákazníky na projektu 4D: 4D-Sales a provedeme náš dotaz.
var customers, targetCustomers: 4D.EntitySelection
var amountAverage : number
customers=ds.getSalesDatastore().Customer.all()
amountAverage=customers.average("totalAmount")
targetCustomers=customers.query("totalAmount >= :1", amountAverage)
To je vše !
Zůstaňte naladěni, abyste se dozvěděli více o propojení mezi Qodly.com a 4D Serverem.
K tomuto příspěvku zatím nelze přidávat komentáře.