La version 6.2 du projet lsFusion, qui développe une plateforme déclarative pour le développement d'applications métiers et web, est disponible. La plateforme convient pour le développement d'applications d'entreprise et de comptabilité et peut être utilisée comme une alternative open source et gratuite à la plateforme 1C. Le code du projet est écrit en Java et est distribué sous la licence LGPLv3. La solution ERP typique pour les petites et moyennes entreprises, MyCompany, utilisant lsFusion, est distribuée sous la licence Apache 2.0.
La plateforme est basée sur la paradiсhme de la programmation combinatoire (function-level), ce qui distingue considérablement lsFusion des autres plateformes sur le marché (par exemple, SAP, Dynamics AX, 1C, .Net). De plus, elle utilise activement la programmation événementielle, réactive et orientée objet.
Les principales modifications dans la version 6.2 :
- Des mots-clés alternatifs ACTIVATE et ACTIVE ont été ajoutés pour les opérateurs SEEK et VALUE.
- La bibliothèque JasperReports a été mise à jour vers la version 6.21.5, qui inclut la prise en charge de l'exportation des rapports Excel avec des images au format WebP.
- Le nom du rapport PDF exporté dans le client web correspond désormais au nom du formulaire au lieu d'être fixé à lsfreport.pdf.
- L'attribut footerClass a été ajouté dans le bloc DESIGN pour les colonnes de tableau afin de permettre la stylisation CSS des cellules de pied de page par analogie avec captionClass.
- L'opérateur EXTERNAL HTTP prend en charge les adresses contenant des caractères non-ASCII.
- Pour les données XML dans EXTERNAL HTTP POST, le type MIME correct « application/xml » est utilisé au lieu du désormais obsolète « text/xml ».
- Lors de l'utilisation via un proxy Nginx, l'adresse du client réel est correctement détectée dans la propriété remoteAddress.
- Le fonctionnement des formules d'intervalle pour les types TIME, DATETIME et ZDATETIME a été restauré.
- Les plantages lors de l'utilisation de MATERIALIZED avec une propriété construite par l'opérateur JSON ont été éliminés.
- Les propriétés matérialisées qui dépendent de nouveaux objets statiques se mettent à jour correctement lors de la synchronisation de la structure de la base de données.
- L'attribution de NULL aux propriétés LOCAL supprime désormais correctement l'enregistrement.
- Le planificateur de tâches gère plus efficacement l'interruption des threads et ne perd pas les enregistrements de journaux pour les tâches avec un délai d'expiration défini.
- Les événements obsolètes de pénurie de mémoire sont ignorés dans le cache LRU.
Source : opennet.ru
