Image

Tryton News: Tryton Release 7.8

We are proud to announce the 7.8 release ofTryton.
This release provides many bug fixes, performance improvements and some fine tuning.
You can give it atry on the demo server,use the docker imageordownload it here.
As usualupgrading from previous seriesis fully supported.

Here is a list of the most noticeable changes:

Changes for the User

Client

We added now a drop-down menu to the client containing the user’s notifications. Now when a user clicks on a notification, it is marked asreadfor this user.
Also we implemented anunread counterin the client and raise a user notification pop-up when a new notification is sent by the server.

Now users can subscribe to a chat of documents by toggling the notificationbell-icon.
The chat feature has been activated to many documents like sales, purchases and invoices.

Now we display the buttons that are executed on a selection of records at the bottom of lists.

We now implemented an easier way to search for empty relation fields:
The queryWarehouse: =will now return records without a warehouse instead of the former result of records withwarehouses having empty names. And the former result can be searched by the following query:"Warehouse.Record Name": =.

Now we interchanged theinternal IDby therecord namewhen exportingMany2OneandReferencefields to CSV. And the export ofOne2ManyandMany2Manyfields is using a list of record names.

We also made it possible to importOne2Manyfield content by using a list of names (like for theMany2Many).

Web

We made the keyboard shortcuts now also working on modals.

Server

On scheduled tasks we now also implemented user notifications.
Each user can now subscribe to be notified by scheduled tasks which generates notifications. Notifications will appear in the client drop-down.

Accounting

On supplier invoice we now made it possible to set a payment reference and to validate it. Per default theCreditor Referenceis supported. And on customer invoices Tryton generates a payment reference automatically. It is using theCreditor Referenceformat by default, and thestructured communicationfor Belgian customers. The payment reference can be validated for defined formats like the “Creditor Reference”. And it can be used in payment rules.

Now we support the Belgianstructured communicationon invoices, payments and statement rules. And with this the reconciliation process can be automated.

We now implemented when succeeding a group of payments, Tryton now will ask for theclearing dateinstead of just usingtoday.

Now we store the address of the party in the SEPA mandate instead of using just the first party address.

We now added a button on the accounting category to add or remove multiple products easily.

Customs

Now we supportcustoms agents. They define a party to whom the company is delegating the customs between two countries.

Incoterm

We now added also the old version ofIncoterms 2000because some companies and services are still using it.

Now we allow the modification of the incoterms on the customer shipment as long as it has not yet beenshipped.

Product

We now make the list of variants for a product sortable. This is useful for e-commerce if you want to put a specific variant in front.

Now it is possible to set a differentlist priceandgross priceper variant without the need for a custom module.

We now made thevolumeandweightusable in price list formulas. This is useful to include taxes based on such criteria.

Production

Now we made it possible to define phantom bill-of-materials (BOM) to group common inputs or outputs for different BOMs. When used in a production, the phantom BOM is replaced by its corresponding materials.

We now made it possible to define a production as a disassembly. In this case the calculation from the BOM is inverted.

Purchasing

Now we restrict the run of thecreate purchase wizardfrom purchase requests which are alreadypurchased.

And also we now restrict to run the create quotation wizard on purchase requests when it is no longer possible to create them.

It is now possible to create a new quotation for a purchase request which already has received one.

Now we made the client to open quotations that have been created by the wizard.

We fine-tuned the supply system: When no supplier can supply on time, the system will now choose thefastest supplier.

Sales

Now we made it possible to encode refunding payments on the sale order.

We allow now togroup invoicescreated for asale rentalwith the invoices created forsale orders.

In thesale subscription lineswe now implemented asummarycolumn similar to sales.

Stock

We now added two new stock reports that calculates the inventory and turnover of the stock. We find this useful to optimize and fine-tune the order points.

Now we added the support for international shipping to the shipping services: DPD, Sendcloud and UPS.

And now we made Tryton to generate a default shipping description based on the custom categories of the shipped goods (with a fallback to “General Merchandise” for UPS). This is useful for international shipping.

We now implemented anun-splitfunctionality to correct erroneoussplitmoves.

Now we allow tocancela drop-shipment in statedonesimilar to the other shipment types.

Web Shop

We now define thedefault Incotermper web shop to set on thesale orders.

Now we added a status URL to the sales coming from a web shop.

We now added the URL to each product that is published in a web shop.

Now we added a button onsalefrom theweb shopto force an update from the web shop.

We did many improvements to extend our Shopify support:

  • Support the credit refunds
  • Support of taxes from the shipping product
  • Add an option to notify the customers about fulfilment
  • Add a set of rules to select the carrier
  • Support of product of type “kit”
  • Set the “compare-at” price using the non-sale price
  • Set the language of the customer to the party
  • Add admin URL to each record with a Shopify identifier

New Modules

EDocument Peppol

TheEDocument Peppol Moduleprovides the foundation for sending and receiving
electronic documents on thePeppol network.

EDocument Peppol Peppyrus

TheEDocument Peppol Peppyrus Moduleallows sending and receiving electronic
documents on thePeppol networkthanks to the freePeppyrus service.

EDocument UBL

TheEDocument UBL Moduleadds electronic documents fromUBL.

Sale Rental

TheSale Rental Modulemanages rental order.

Sale Rental Progress Invoice

TheSale Rental Progress Invoice Moduleallows creating progress invoices for
rental orders.

Stock Shipment Customs

TheStock Shipment Customs Moduleenables the generation of commercial
invoices for both customer and supplier return shipments.

Stock Shipping Point

TheStock Shipping Point Moduleadds a shipping point to shipments.

Changes for the System Administrator

Server

We now made the server stream the JSON and gzip response to reduce the memory consumption.

Now thetrytond-consolegains an option to execute a script from a file.

We now replaced the[cron] clean_daysconfiguration by[cron] log_size. Now the storage of the logs of scheduled tasks only depends on itssizeand no longer on itsfrequency.

Now we made the login process send the URL for the host of the bus. This way the clients do not need to rely on the browser to manage the redirection. Which wasn’t working on recent browsers, anyway.

We now made the login sessions only valid for the IP address of the client that generates it. This enforces the security againstsession leak.

Now we let the server set aMessage-Idheader in all sent emails.

Product

We added a timestamp parameter to the URLs of product images. This allows to force a refresh of the old cached images.

Web Shop

Now we added routes to open products, variants, customers and orders using their Shopify-ID. This can be used to customize the admin UI to add a direct link to Tryton.

Changes for the Developer

Server

In this release we introduce notifications. Their messages are sent to the user as soon as they are created via the bus. They can be linked to a set of records or an action that will be opened when the user click on it.

We made it now possible to configure aModelSQLbased on atable_queryto be materialized. The configuration defines the interval at which the data must be refreshed and a wizard lets the user force a refresh.
This is useful to optimize some queries for which the data does not need to be exactly fresh but that could benefit from some indexes.

Now we register themodels, wizardsandreportsin thetryton.cfgmodule file. This reduces the memory consumption of the server. It does no longer need to import all the installed modules but only the activated modules.
This is also a first step tosupport typingwith the Tryton modular design.

We now added the attributemultipleto the<button>ontreeview. When set, the button is shown at the bottom of the view.

Now we implemented the declaration ofread-onlyWizards. Such wizards use a read-only transaction for the execution and because of thiswrite accesson the records is not needed.

We now store only immutable structures in theMemoryCache. This prevents the alteration of cached data.

Now we added a new method to theDatabaseto clear the cached properties of the database. This is useful when writing tests that alter those properties.

We now use the SQLFILTERsyntax for aggregate functions.

Now we use the SQLEXISTSoperator for searchingMany2Onefields with thewheredomain operator.

We introduced now thetrytond.model.sequence_reordermethod to update the sequence field according to the current order of a record list.

Now we refactored thetrytond.configto add cache. It is no more needed to retrieve the configuration as a global variable to avoid performance degradation.

We removed thehas_window_functionsfunction from theDatabase, because the feature is supported by all the supported databases.

Now we added to thetrytond.toolspairandunpairmethods which are equivalent implementation in Python of thesql_pairing.

Proteus

We now implemented the support oftotal orderingin ProteusModel.

Marketing

We now set theOne-Clickheader on the marketing emails to let the receivers unsubscribe easily.

Sales

Now we renamed theadvance payment conditionsintolinesfor more coherence.

Web Shop

We now updated the Shopify module to use the GraphQL API because their REST-API is now deprecated.

2 posts - 1 participant

Read full topic

https://discuss.tryton.org/t/tryton-release-7-8/9015