After releasing some bug fix version for the 5.2 series, we have continued our work to use more the queue, to improve the user experience.
Changes For The User
We added the same processing delay from sale to the sale complaint functionality. This allows to reset a complaint to draft after being approved or rejected which is not yet processed.
The same processing delay as on purchase is added to the requisition functionality. This allows to reset an approved requisition to draft which is not yet processed.
We added an option to deactivate a subscription service. This prevents to use these service for new subscriptions.
Now, when drag&drop is available on a view, we show a draggable icon to warn the user but also to provide a handle to drag.
Like for parties, we added on product a list of identifiers. By default, Tryton supports and validates these numbers: EAN, ISAN, ISBN, ISIL, ISIN and ISMN. Non-standard identifiers are supported also. These identifiers are used for matching when searching products by name.
In the search bar of the clients, we enabled the direct search on fields of relational field types, like One2Many, Many2Many and Many2One. This is done by appending a dot to the relational field name and then the name of the field in the relation model. E.g. On products filter you can use the search clause
Variants.Code: PROD, to find all products, which variants have a code named
The search-completion also helps for the related fields.
By default only one level of completion is activated but customization can activate more. This feature also works on the keys of dictionary fields like the product attributes.
Now, you can open the product quantity at a date to see the moves of the product involved at that date.
We force now to always have a minimal quantity for the order point. This avoid confusion for the case where it was not set. Now if you do not want to trigger the purchase or production for any quantity, the user must set an explicit negative quantity.
Purchase and Sale HistoryThese modules activate the history on sales and purchases but also adding a revision number which is incremented each time the document is reset to draft. The revision number is appended to the document number to ensure parties are communicating about the same version.
Changes For The Developer
We added an option to store the SEPA messages on the filesystem instead of the database. This is useful if you generate a lot of message and want to reduce the size of the database (e.g. for backup).
All domain error messages are improved by adding the invalid domain to the exception. Now the client can display these error messages in a user-friendly format in addition to the generic one.
The startup time of the server has been improved by initializing the pool using a thread. So the server starts earlier to listen on the network and if there are many databases to initialize, it is done in parallel.
Now we give the possibility to define a different order (alphabetic) to the keys of a Dict field.
It is now possible to use SQL expressions as value with the create/write methods. The main purpose is to be able to use the time functions of the database server which are linked to the transaction instead of the one provided by the Tryton server.