lsFusion 5, 6: Asynchroner, Aggregation / Erweiterung / Anpassung von Formularen, neue Ansichten





Nach der Veröffentlichung der ersten öffentlichen (dritten) Version der Plattform erhielten wir eine große Menge an Rückmeldungen, von denen sich die meisten Arbeiten in der kürzlich veröffentlichten vierten Version der Plattform widerspiegelten . Ein wesentlicher Teil dieses Feedbacks blieb jedoch „über Bord“, wurde jedoch nicht vergessen und bildete dementsprechend einen Plan für die Entwicklung der Plattform für die nahe Zukunft. Es geht um diesen Plan, der in diesem Artikel behandelt wird.









Der größte Teil der geplanten Funktionalität bezieht sich in gewissem Maße auf die Benutzeroberfläche - Ergonomie, Modularität und Flexibilität.









Mehr Asynchronität



. (, , ). , , ‒ , UI.









INPUT, . , , : ( ), ( ). , , . DIALOG, . :







  1. INPUT DIALOG ASYNC , « » ( ).
  2. , INPUT, , DIALOG ( , — , ..), , . “ ” . ( ), , ASYNC.


ASYNC ( “” ).







:







  1. , .
  2. “” ( ) .
  3. ( ).
  4. “ " ( ).


«» ( , , ..), (“”) .









:







  • , — ,
  • “” ( , )


, , , , , . :







  1. ,
  2. ,
  3. «» .


“” UX .







/



, , , . ( , ), UX, , , .







, . , / , , , , ( , ). , , - (, ).







, “ ”. , , « » , ( , ), . , « » ( - ),







()



, , , .







( , ), , .







, , , ( ).







( — OBJECTS, BOX, — formOK, formClose, ..), “” . , «» .







( ), . :





FORM suppliersWithIncomes

    OBJECTS s=Supplier

    AGGR i=incomes

    FILTERS supplier(i.i)=s

;



FORM extendedSuppliers

    AGGR Suppliers

    PROPERTIES (s) debt

;

run() {

    SHOW extendedSuppliers;

}







In der aktuellen Version der Plattform können die meisten Systemelemente, einschließlich Formulare, erweitert werden. Im Formular selbst können Sie jedoch nur neue Elemente hinzufügen und die Attribute vorhandener Elemente nicht ändern (mit Ausnahme von Designelementen, dies reicht jedoch häufig nicht aus). Dementsprechend ist in zukünftigen Versionen geplant, diese Lücke zu schließen und das Schlüsselwort EXTEND (das in anderen Syntaxanweisungen von Erweiterungen verwendet wird) in der FORM-Anweisung selbst zu unterstützen. Zum Beispiel:





EXTEND FORM suppliers

    EXTEND PROPERTIES BACKGROUND debt(s)>10

        name(s), number(s)

;





Diese Funktionalität kann besonders nützlich sein, wenn sie in Verbindung mit dem im vorherigen Abschnitt beschriebenen Formularaggregationsmechanismus verwendet wird.



Anpassen von Formularen



, , ( ) , - .







( , , ..), , , . .







/



( / ) . / .







, , / , .. ( ), .







Excel, , Excel, .







:





supplier(sku(d))

GROUP SUM sum(InvoiceDetail id) IF invoice(id)=i





Es wird davon ausgegangen, dass in Schnittstellen, in denen Sie Ausdrücke angeben müssen, auch die Namen von Objekten angezeigt werden (damit klar ist, worauf Sie sich beziehen können).

Sowohl der Konstruktor selbst als auch die Schnittstellen zum Hinzufügen / Ändern von Eigenschaftsattributen werden höchstwahrscheinlich mithilfe der integrierten lsFusion-Mechanismen implementiert (dh in der lsFusion-Sprache unter Verwendung von Plattformelementen wie Eigenschaften und Formularen).







Benutzerdefinierte Filter



Jetzt verfügt die Plattform über einen benutzerdefinierten Filtermechanismus, der jedoch eine Reihe von Nachteilen aufweist:







  1. Der Dialog mit benutzerdefinierten Filtern wird in einem separaten Fenster angezeigt, das nicht sehr benutzerfreundlich ist. Auch Filter sind streng vertikal, was auch in der angedockten Schnittstelle unpraktisch ist.
  2. (- ).
  3. ( , , ).


, , USER FILTER, USERFILTERS ..









(, “” ) .







(). , ( , , ). . , . :





FORM reportSales ''

;

FORM reportSuppliersSales '  ''

    AGGR reportSales

    PIVOT ROW supplier(s);

;

FORM reportStockSales '  '

    AGGR reportSales

    PIVOT ROW stock(s)

;





()



. / ( ), . :







  1. “” URL. / ( , ).
  2. “ / ” , (, ).




lsFusion , Java Swing / / . HTML (-, lsFusion ), , -.







, :







  1. CONTAINER — . direction. .
  2. TABBED — . .
  3. TABLE — , . columns CONTAINER , .


SPLIT SCROLL (true/ false) ( SPLIT ).







alignCaptions, .







:







  1. . , , . TABBED — “”, , , .
  2. . , . “” , , ( ). , , .




. ( , , , ..).







( open-source javascript ), , , javascript .







, , , ( , ). « » ( ).







, , , . :







  • / / .
  • , , , / ( React state).




— . -, , , - , , . , , , , , . , , , . , .










All Articles