lsFusion 5, 6: más asincrónico, agregación / extensión / personalización de formularios, nuevas vistas





Después del lanzamiento de la primera (tercera) versión pública de la plataforma, recibimos una gran cantidad de comentarios, la mayor parte del trabajo que se reflejó en la cuarta versión de la plataforma recientemente lanzada . Sin embargo, una parte significativa de esta retroalimentación permaneció “por la borda”, pero no se olvidó, y en consecuencia formó un plan para el desarrollo de la plataforma para el futuro cercano. Se trata de este plan que se discutirá en este artículo.









La mayor parte de la funcionalidad planificada, en un grado u otro, se relaciona con la interfaz de usuario: su ergonomía, modularidad y flexibilidad.









Más asincronía



. (, , ). , , ‒ , 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;

}







En la versión actual de la plataforma, la mayoría de los elementos del sistema, incluidos los formularios, se pueden expandir. Sin embargo, en el formulario en sí, solo puede agregar nuevos elementos, no puede cambiar los atributos de los elementos existentes (con la excepción de los elementos de diseño, pero esto a menudo no es suficiente). En consecuencia, en versiones futuras se planea eliminar esta brecha y admitir la palabra clave EXTEND (utilizada en otras instrucciones de sintaxis de extensiones) dentro de la propia instrucción FORM. Por ejemplo:





EXTEND FORM suppliers

    EXTEND PROPERTIES BACKGROUND debt(s)>10

        name(s), number(s)

;





Esta funcionalidad puede ser especialmente útil cuando se usa junto con el mecanismo de agregación de formularios descrito en la sección anterior.



Personalización de formularios



, , ( ) , - .







( , , ..), , , . .







/



( / ) . / .







, , / , .. ( ), .







Excel, , Excel, .







:





supplier(sku(d))

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





Se supone que en las interfaces en las que necesita especificar expresiones, también se mostrarán los nombres de los objetos (para que quede claro a qué puede hacer referencia).

Es muy probable que tanto el constructor como las interfaces para agregar / modificar atributos de propiedad se implementen usando los mecanismos incorporados de lsFusion (es decir, en el lenguaje lsFusion usando elementos de la plataforma como propiedades y formularios).







Filtros personalizados



Ahora la plataforma tiene un mecanismo de filtrado personalizado, pero este mecanismo tiene una serie de desventajas:







  1. El cuadro de diálogo con filtros personalizados se muestra en una ventana separada, que no es muy fácil de usar. Además, los filtros son estrictamente verticales, lo que también es un inconveniente en la interfaz acoplada.
  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