New Tryton release 4.4

Publicat: 2017-05-01 18:00:00+00:00 release

We are proud to announce the 4.4 release of Tryton.

This release see many work to make Tryton even more customizable by reusing or improving common design patterns of existing modules, but still continues to extend the features with new modules. There is also a good effort in improving the security of the application. It contains also many bug fixes and performance improvements.

This release see the removal of the set of DAV modules (webdav, calendar, party_vcarddav etc.). Those modules were based on the no more maintained PyWebDAV library and they did not support Python 3. The side effect is that now the full server stack is Python 3 compatible.

Of course the migration from previous series is fully supported. Some manual operation may be required, see migration from 4.2 to 4.4.

Major changes for the user

  • The URL entry that was set at the button of every tab has been replaced by a button on the toolbar. The button allow to display the URL and copy it to the clipboard. This allow to have more vertical space in the client for the lists and the forms.
  • A common need, when user customize the report template from the client, is to encode the new translations. This is now very easy thanks to the addition of two actions on the report to set and synchronize the translations. A new relate button allows to open the list of all translations linked to the report. The same feature is also available for the views.
  • The desktop client used until now the security model Trust On First Use. But today with the raise of service like Let's Encrypt, it is very easy and cheap to have a valid SSL certificate but such certificate are renewed very often. So it was no more practical to use TOFU model so the client now validate the certificate of the server using CA of the system or the one configured. The fingerprint of the server is still used as check to prevent to fallback to a plain HTTP connection.

Accounting

  • The period and the fiscal year can be locked definitively. It was already possible to close them to prevent to post anything on them but it was always possible to re-open them. Some countries (like French) has a requirement to have a mechanism that can not be re-open. This is why we have added the lock.
  • The invoice sequences have been simplified. They now use a list of extensible criteria to choose which sequence to use for an invoice. This design is very flexible and allow to implement the country specific requirements very easily.
  • It is now possible to mark a supplier has having direct debit access. In this case its payable lines will not be shown in the list of lines to pay. This prevents to pay them by mistake while the supplier will issue a direct debit.
  • Often a company has only one payment journal. In this case now it will be directly filled in the payment wizard.
  • To ease the task of reviewing the account entries, the statements put the line number and description in respectively move and line description.
  • The analytic accounting has now a rule engine. It allows to apply rules when posting accounting moves without any analytics. The rules can be based on the account, the journal and the party, but of course as usual, those criteria can be easily extended.

account_invoice_correction

This new module allow to correct the price of a posted invoice line. It adds a new wizard which allow the user to select the line to correct and create a new invoice with for each line two opposite ones. This way the user can change the price of the positive line and keep the statistics and the anglo-saxon accounting correct.

account_payment_stripe

This new module adds the support of Stripe as receivable payment method. The module support many Stripe accounts, one per payment journal. It provides checkout method via browser form for payment or to register a party as Stripe customer. The processing of the payment is done asynchronously by a cron task.

Commission

  • It is now possible to use product category as criteria to match a commission plan.

Product

  • The price list has now a new criteria based on the category. It matches products that are linked to the category (standard or accounting).

product_price_list_dates

This new module adds a start and end date to the price list lines like that the price list change can be planned in advance. There is a relate from the price list to open the lines like that the user can use the filter.

Production

  • A new producible checkbox is added to the product. This allow to restrict the product that can have a BOM.

Purchase

  • The purchase price is now displayed on the product search list from the purchase line.
  • It is now possible to edit the delivery date of a purchase line. The computation from the supplier lead time is not always possible, but often the supplier can provide an accurate delivery date. So it is good for the supply planning to have a good accuracy of the planned deliver dates.
  • It is now possible to see the requests from which a purchase line was created. This gives more information to the purchaser in case he has to negotiate the quantity for example.

Sale

  • The sale price is now displayed on the product search list from the sale line. This allow the salesman to discuss the prices of similar product with the customer.
  • It is allowed now to leave the lead time of a product empty. There are cases where a company can not define a lead time for selling a product. Then the generated stock move will not have any planned date.

sale_subscription

This new module defines the basics to support subscription of recurring services. And periodically invoice them based on consumption created recurrence rules.

sale_advance_payment

This new module allows to manage advance payment on the sale. An advance payment term can be linked to a sale which will create advance invoices when it is processed. The payment of those advance payments can condition the execution of the supply and the shipping of the sale. The amount of each invoice is computed using a formula based the sale amount.

Stock

  • The shipments now record the employee responsible for some states. For example the employee who received the supplier shipment; the employee who picked and packed the customer shipment etc.
  • The internal shipment has now a request state. This allows to have similar design as for production by creating request long time in advance and recompute them as far as they stay in request state.
  • The customer shipment can have the same picking/storage location and output location. This allows to support more warehouse workflow. For example, using grouped internal shipment for the picking, this is often known as wave picking.
  • If an order point exists for a specific type (purchase, production etc.), this disable the other supply methods.
  • The internal shipments are now generated recursively because creating an internal shipment can generate a new need of another internal shipment. Now the generation is looping as long as it is needed.
  • All the different wizards that created supply records for each type have been merged into a single wizard. This allow to ensure that all supply records are created at once, leaving the system in a coherent state.
  • The order point has now a maximum quantity. If this quantity is reached by the location then the extra quantity will be shipped to the defined overflowing location.
  • Just like there is a warning on the supply wizard for late supplier moves, there is also now a warning for late customer moves. By default Tryton consider that customer moves not performed on time, will not be done and so they are no more supplied. This warning ensure the user will take care of those late moves by canceling or replanning them before computing the stock supply.

stock_shipment_measurements

This new module adds the computation of the weight and volume of the shipments and packages. This is a central place where this computation can be shared between different modules.

Major changes for the developer

  • The Property fields have been removed in favor of the MultiValue based on the MultiValueMixin and ValueMixin. The Property fields were used mainly to provide multi-company capabilities but the API is based on context attribute only which makes them very difficult to use without having record rules to ensure not mixing between company. The new API allows to get values without using context and this will allow us to remove the multi-company record rule in future release.

  • The col attribute in the view can have a negative value to create an infinite number of column. This is very useful for group that are designed to get an undetermined number of field.

  • A new domain has been added to the window action. This domain evaluation is reevaluated when the context is changed. This creates more dynamic windows.

  • All the domain computation can be override by a method domain_<field name> on the Model with until now the exception of the Function fields. This makes the API more coherent and allow to create more performant SQL query for Function fields by using for example joins.

  • Two new capabilities check methods have been added to the Database back-end:

    • has_select_for which allows to use the SELECT ... FOR to lock specific rows instead of the all table.
    • has_window_functions which allows to use the SQL window functions.
  • A better independence between the fields and the backend has been implemented in this version. This allow external modules to define new kind of fields. For example, a set of GIS fields is under development based on those improvements.

    • The fields define now which methods should be configured for RPC
    • A generic SQL type is defined by the fields and it is on the back-end responsibility to convert into its specific version.
  • The order definition for a column support the extra keywords for ordering null values. The available keywords are: NULLS FIRST and NULLS LAST. For SQL back-end that does not support the keywords, the order is converted into an equivalent SQL query thanks to python-sql.

  • The Many2One fields on ModelSQL can now target just ModelStorage. Tryton will not try to create a foreign key constraint on the table in that case.

  • A new filter attribute has been added to all xxx2Many fields. This filter is used to limit the records returned by the getter of the fields. So it is like domain but without being a constraint for the setter. This allows to replace some Function into plain fields. This review still needs to be done for all modules.

  • The cache management is automatically done now in the Transaction. This allows to ensure the consistency and integrity of the cache but also ease the usage of trytond in Python script.

  • A new security measure against brute force attack on the login has been implemented. A new max_attempt parameter in the configuration determine the number of attempt before the server answers unconditionally Too Many Requests for new login attempts. This lasts for the timeout period.

  • Some constraints have been added to the user password to enforce good security practice. Those constraints are:

    • a configurable minimal length which is 8 by default.
    • a list of forbidden password. This list is stored into a file defined in the configuration. By default there is no list but it is useful for example to forbid the name of the company etc.
    • a minimal ratio of non repeated characters.
    • the password must be different of the login, email and name of the user.

Product

  • New methods ceil and floor have been added to the Unit of Measure. They have the same API as round.

Production

  • For better accuracy of production quantities, the input quantities are ceil and the output quantities are floored. This reflect better the really than rounding the quantities.

Stock

  • The default product location uses the MatchMixin pattern now. This makes it easier to extend with new criteria.
  • The computation of the maximum lead time has been improved to be more accurate by summing all the lead times to get the biggest path possible. It also adds extra lead times like the biggest supplier lead time.

Security Release for issue6361

Publicat: 2017-04-04 18:00:00+00:00 release security

Synopsis

A vulnerability in trytond has been found by Cédric Krier.

The CVE-2017-0360 allows an authenticated user with write access to report or icon definition to make the server open any readable file under any sibling folder of the trytond installation but only if starts with trytond (for example: ../trytond_suffix). This is a remaining case from CVE-2016-1242

Workaround

The sibling folder starting with trytond could be renamed.

Resolution

All users should upgrade trytond to the latest version.

Affected versions per series: <=3.4.16, <=3.6.14, <=3.8.10, <=4.0.7 and <=4.2.2

Non affected versions per series: >=3.4.17, >=3.6.15, >=3.8.11, >=4.0.8 and >=4.2.3

Concern?

Any security concerns should be reported on the bug-tracker at https://bugs.tryton.org/ with the type security.

New Tryton release 4.2

Publicat: 2016-11-28 18:00:00+00:00 release

We are proud to announce the 4.2 release of Tryton.

With this release, Tryton extends its scope to tailored user applications like Chronos and also as backend for webservice. A part of the effort was put also on closing the feature gap between the web and the desktop client. The web client is still a little bit behind in terms of features but at the current rate the gap will disappear in few releases. This release contains many bug fixes and performance improvements. Polish is now an official language of Tryton.

Of course, migration from previous series is fully supported.

Major changes for the user

  • The tabs in list view can now have a counter showing to the user the number of records under them. The feature is activated by default on tabs where the number should tend to zero thus providing some hint to the user about pending tasks.

    Tryton tab domain count Sao tab domain count
  • When creating a new record from the drop down menu of a relation, the form will have the value entered in the field as default value. This helps the user fill the form.

  • The buttons can now be configured to be clicked by a number of different users before being triggered. The user can see on the button how many clicks it already received and on the tooltip who clicked.

    Tryton button rule
  • With the recent Neso retirement the database management from the client has been removed. This improve the security of the system by removing a potential attack vector.

  • It is now possible to define for each record a different color on the calendar view. This allow to group records visually.

    Tryton calendar color
  • The icons of the relation field has been improved. The experiences have shown that the old version had drawbacks which confused some users. The result was that some users thought they were searching for a new record while actually they were editing it.

    Tryton old Many2One

    As a result the editing button has now been put in on the left and a new button to clear the current value has been put on the right of the field.

    Tryton new Many2One

The web client completes its sets of functionalities in order to be closer to desktop client. The new features implemented in this release are:

  • The CSV Import/Export.

    Sao export CSV
  • The calendar view based on the FullCalendar.

    Sao calendar view
  • Support for translated fields.

    Sao translate field
  • The Favorites menu.

    Sao favorite
  • The date picker is now locale aware.

  • Add support for column sorting.

  • Support for confirm attribute on the buttons.

Accounting

  • A comparison amount has been added on Balance Sheet and Income Statement, allowing the amounts to be compared with different date, fiscal year or periods.

    Balance Sheet comparison
  • The second currency of account is now enforced, closing the gap between the documentation and the code. Thus it is possible to compute the balance of such accounts in the account currency.

  • The creation of a tax can be quite complex. To ease the process, a testing wizard has been added allowing to see the result of the computation in order to validate the definition of the tax.

Invoicing

  • The payment term is no longer required. An invoice without payment term will create a single due line at the invoice date.
  • By default, the invoice reports are stored in the database when the invoice is posted to ensure the immutability of the document. But on large setup with a lot of invoices, the database becomes very huge and this can generate on overload and a waste of space for the backups. So a new configuration option has been added to store the invoice reports in the file store instead of the database. The option can be activated on existing databases. If the report is not found in the file store, the system will take the value found in the database as fallback.
  • The process to post invoices has been reviewed in order to have better performance when posting a large number of invoices.
  • The tax identifier of the company is stored on the invoice. This is useful when company has more than one identifier registered. By default, the system will take the first one.

Payments

  • A new group for Payment Approval has been added in order to have finer grained access to the functionalities.
  • The amount to pay of the invoice is now decreased by the amount of the related payments.
  • It is now possible to block the payment of a line.
  • It is possible to configure the module to always use the RCUR option for a SEPA mandate, as this is allowed by the European Payment Council since November 2016.
  • A statement line for an existing payment will mark the latter as succeeded or failed depending on the sign when the statement is validated. This ease the management of the payment state as some banks credit the bank account first and later if the payment fails, they debit it.
  • The statement line can also refer to payment group instead of individual payment. This is useful when the bank statement contains only one operation.

Analytic

  • Many redundant fields with the account lines have been removed on the line. This simplifies the encoding and avoids mistakes.
  • A new type of analytic account has been introduced for distribution. The analytic lines will be divided when used with such account into many lines accordingly to the distribution ratio defined per sub-accounts.
  • The move line has now an analytic state which defines if the amount of the line is correctly set in each analytic axis/roots. This applies by default only on income lines. A menu entry allow to search for all lines that needs analytic correction.
  • The analytic chart enforces now the company consistency. It is no longer possible to attach an account to an axis of a different company.
  • The supplier invoice for a depreciable asset does not create analytic lines on posting. Indeed the analytic lines creation is postponed to depreciation moves.

Party

  • A more generic address design has been added. It supports as many lines as needed for the streets instead of the previous limitation of two lines. Also the formatting of the address can be configured per country and language. The formats for about 65 countries are preconfigured.
  • A common problem with referential data like party is the duplication. It is common that the same party ended to be created twice in the system. For such issue, Tryton has now a wizard that allow to merge one party into another. The merged party is inactivated to prevent new usage and the remaining one inherits from all the documents. For example, the receivable amount will contain the sum of both parties.
  • SEPA Creditor identifier is now validated and unified into the party identifiers.
  • Phone numbers are automatically formatted now using the phonenumbers library.

Product

  • A new relate from products to variants has been added in order to ease the navigation between them.

Purchase

  • As the payment term is no longer required on the invoice, the same applies also to the purchase.

Request

  • It is now possible to create a purchase request without product. In such case, a description is required and will be used for the creation of the purchase line.
  • When converting request into purchase, the requests containing the same product with the same unit will be merged into the same purchase line. This simplifies the purchase order.

Requisition

A new module for managing purchase requisitions has been added. It allows users to create their purchase requisitions which will be approved or rejected by a member of the Approval group. On approval, purchase requests will be created.

Sale

  • As the payment term is no longer required on the invoice, the same applies also to the sale.

Stock

  • A lead time can be configured for internal shipments between warehouses. In such case the internal shipment uses a transit location during the time between the shipping and the reception.
  • A relate has been added to the location to show lots and their quantities inside the location.
  • The default location defined on the product is used in the output of production. This unifies the behaviour of this feature with incoming shipments.
  • The supply period of a supplier is configurable now. Before it was always 1 day.

Package Shipping

A new set of modules has been published. They provide integration with shipping services for printing labels and store shipping references per packages of shipments.

Two services are currently supported UPS and DPD.

Carrier

  • It is possible to restrict the usage of carriers per country of origin and destination. Other criteria can be easily added. The carrier selection is already enforced by default on sales.

Timesheet

  • A Web-Extension named Chronos has been published. It allows to quickly encode timesheet entries using the new user application API (see below). The application supports to work offline and synchronises when the user is back online.

    Chronos

    It will be available soon on the different browser markets.

  • It is now possible to define a start and an end date for the employees. In such case, they will not be allowed to encode timesheet outside the period.

  • The work has be simplified by removing the tree structure. It was considered redundant with the tree structure of the projects.

Project

  • The timesheet works are created automatically from the project form. This simplifies the management of projects.

Production

  • Thanks to the new lead time per BoM and routing, start dates can be computed for productions. This allows to have a better schedule of the production needs for long running productions.

Following the work on previous versions, the production area has received two new modules to extend its functionalities:

Work Timesheet

It allows to track the time spent per production work.

Split

Similar to the stock_split module, this module allows to split a production into several units.

Major changes for the developer

  • The desktop client support GTK-3 thanks to the pygtkcompat module. The support is still experimental and can be tested by setting GTK_VERSION=3 in the environment. The plan is to switch completely to GTK-3 in one year.
  • The server provides now a way to connect URL rules to a callable endpoint. This feature comes with a set of wrappers to simplify the work of the developer like instantiating the pool of the database name found in the URL or start the transaction with automatic retry on operational error. But the more interesting wrapper is the user_application which allows to authenticate a user with a key for a specific sets of endpoints. This feature allows to create applications that do not need to login on each use. Chronos is an example of such application.
  • The translations now support derivative languages. Most of the main language has been renamed without their country code. This allowed the merge of all the Latin American Spanish translations under one common language deriving from Spanish.
  • It is now possible to configure Binary fields to store the data in file store by setting the attribute file_id to the name of the char column which will contain the file store identifier.
  • A new level of access rights has been added targeting the buttons. It allows to define how many different users must click on the button to actually trigger it.
  • It is possible to configure a different cache than the MemoryCache. It just needs to define the fully qualified name of an alternative class in the cache configuration section.
  • A new widget has been implemented in the clients for the Char field that stores PYSON expression. The widget displays a human readable representation of the expression and uses an evaluated dump of the expression as internal value.
  • The read-only states for the fields xxx2Many is now limited only to the addition and suppression of records. The target records must manage themselves the read-only state for edition. This behavior allows for example to still edit the note field of a line of a validated sale while other fields are read-only.
  • To speed up the tests and especially the scenario, a new option has been added that allows to store clean dumps of database (per module installed). A dump will automatically be loaded instead of creating a new database, this operation is way faster. Of course, the developer is responsible for clearing the cache when the database schema definition has been modified.
  • A new mixin has been added to generalize the common pattern of ordering record with a sequence field. It is named sequence_ordered and can be customized with the name and the label of the sequence field, the default order and if null first must be used.

Authentication

The login process has been reworked to be very customizable. It is now possible to plug any authentication factors without the need to adapt the clients.

SMS

The authentication_sms module allows to send by SMS a code to the mobile phone of the user that he will have to enter to proceed with the login.

Web

The module web_user is the first of a new set of module which aims to provide facilities to developers who want to use Tryton as backend for web development.

Security Release for issue5795 and issue5808

Publicat: 2016-08-31 10:00:00+00:00 release security

Synopsis

Two vulnerabilities in trytond have been found by Cédric Krier.

The CVE-2016-1241 allows an authenticated user to read the hashed password of other users. The exploitation is not easy thanks to the existing protection of Tryton against such leak. Those protections are usage of strong hash method (bcrypt or sha1) and the salt of the password with random data (protection against rainbow tables).

The CVE-2016-1242 allows an authenticated user with write access to report or icon definition to make the server opens any readable file. By default, only the administrator group has such right access.

Workaround

There is no workaround for CVE-2016-1241.

For CVE-2016-1242, the modification rights could be removed to all users for the report and icon records.

Resolution

All users should upgrade trytond to the latest version.

It is recommended that every user changes his password.

Affected versions per series: <=3.2.16, <=3.4.13, <=3.6.11, <=3.8.7 and <=4.0.3

Non affected versions per series: >=3.2.17, >=3.4.14, >= 3.6.12, >=3.8.8 and >=4.0.4

Concern?

Any security concerns should be reported on the bug-tracker at https://bugs.tryton.org/ with the type security.

Versió amb traduccions per les series 4.0

Publicat: 2016-05-11 10:00:00+00:00 release

Degut a un problema amb Pootle, la versió inicial de les sèries 4.0 s'ha publicat sense moltes traduccions. Per aquest motiu hem decidit publicar un nou conjunt de versions amb les traduccions corregides encara que això suposa trencar la regla de cap actualització de base de dades per les versions de correccions intermèdies.

Si ja heu actualitzat el vostre servidor a les sèries 4.0, heu d'actualitzar també la base de dades per aquesta versió de correccions. Disculpeu les molèsties.

Nova versió 4.0 de Tryton

Publicat: 2016-05-02 18:00:00+00:00 release

Estem contents d'anunciar la publicació de la versió 4.0 de Tryton.

Aquesta és la primera versió que afegeix suport per a Python 3. El servidor i la majoria de mòduls el suporten. Els mòduls que estan pendents són aquells que fan servir el WebDAV i el LDAP. El client es portarà quan s'afegeixi el suport per a GTK-3.

Aquesta versió també conté una refactorització de la pila del protocol, que abans estava basada en el SimpleHTTPServer de Python. Ara es fa servir una aplicació WSGI que s'executa sobre el servidor Werkzeug per defecte. De totes formes, es pot fer servir qualsevol servidor WSGI per executar Tryton. Això elimina la restricció de disseny d'un procés amb fills, i permet l'execució mitjançant varis esclaus.

S'han revisat tots els mòduls per tal de complir amb la convenció de nomenclatura sobre la identificació de documents: El nom "Codi" es fa servir per tots aquells documents referencials, com per exemple els tercers o els productes. El nom "Número" es fa servir per la identificació interna de tots els documents operacionals, com per exemple les compres, les vendes, les factures, etc. Finalment, el nom "Referència" es fa servir per les identificacions de sistemes externs, com per exemple el número de comanda de venda del proveïdor de les nostres compres.

S'han afegit dos nous idiomes a la instal·lació per defecte: Lao i el xinès simplificat.

Com ens va recordar el Richard Stallman, la migració des de versions anteriors està totalment suportada.

Canvis importants per l'usuari

  • La nova funcionalitat de nota proveeix un sistema per gestionar notes textuals en qualsevol model de Tryton. Quan es clica s'obre el diàleg de notes on es poden gestionar les notes del registre. La marca de llegit és independent per a cada usuari. Com passa amb els fitxers adjunts, la icona de la barra d'eines mostra quan hi ha notes en un registre.

    Notes a Tryton Notes a SAO
  • La importació i exportació de CSV s'ha millorat per proporcionar una millor experiència. La finestra d'importació ara permet arrossegar i deixar camps per ordenar les columnes, com ja passava amb l'assistent d'exportació. Ambdós assistents ara permeten utilitzar qualsevol codificació disponible a Python. A més a més, ara és possible configurar els paràmetres CSV del resultat de la exportació.

    Exporta CSV
  • S'han millorat els gràfics que ofereix el tipus de vista gràfic. Ara utilitzen colors més suaus, línies més primes i arcs més petits. Pel que fa al fons es fa servir un estil amb guions en comptes de la línia normal per la representació dels eixos. Es fa servir un petit valor de transparència per mostrar les línies i així sempre es pot veure a través d'elles.

  • S'ha afegit un botó a les tasques programades per tal d'executar la tasca una sola vegada, molt útil per executar-les sota demanada o per provar noves configuracions.

Comptabilitat

  • S'ha millorat el disseny dels informes Llibre major, Balanç de sumes i saldos i Balanç històric. Ara es basen en vistes dinàmiques. Això proporciona una millora de funcionalitat i permet filtrar els registres de forma més precisa. A més a més, ara es poden exportar els registres en format CSV, que és útil si es vol realitzar manipulacions en un full de càlcul.

    Llibre major
  • S'ha afegit el camp Data al Balanç històric, cosa que permet modificar la data en que es basen els càlculs. Amb aquesta funcionalitat és possible generar informes basats en dates passades com si s'haguessin ignorat les conciliacions que s'han dut a terme després d'aquella data.

  • La funcionalitat del Balanç de tercer s'ha fusionat amb la del Balanç històric, ja que ens hem adonat que la informació calculada pel Balanç de tercer és la mateixa que la del Balanç històric, amb el tipus Clients i proveïdors.

Tercers

  • El camp Nom dels tercers ja no és obligatori. Això implementa la demanda de poder crear tercers dels quals no es sap el nom en el moment de la seva creació.

Productes

  • S'ha afegit un formulari de configuració al mòdul de productes amb les següents opcions:

    • Valor per defecte pels camps Utilitza categoria.
    • Valor per defecte pel camp Mètode de preu de cost.
  • No sempre ha estat fàcil explicar el disseny dels productes amb les plantilles, especialment quan no és rellevant pel negoci. Així s'han redissenyat les dues vistes perquè siguin molt semblants, i en efecte les dues utilitzen exactament el mateix disseny. Els camps que no existeixen al producte es reemplacen automàticament amb els valors de la plantilla.

    Producte Variant
  • El camp Categoria s'ha reemplaçat pel camp Categories per tal de poder afegir més d'una categoria al mateix producte. Això és especialment útil per crear categories multi-dimensió per una tenda web.

Classificació

Aquest mòdul base afegeix les bases referencials per a crear diferents classificacions de productes. Afegeix el camp genèric Classificació al formulari de producte.

Classificació Taxonòmica

Aquest nou mòdul introdueix la classificació taxonòmica dels productes com un exemple d'utilització del nou modul de classificació. Afegeix la classificació per Tàxons i per Cultivar.

Compres

  • El camp Temps d'enviament del proveïdor del producte s'ha reemplaçat pel camp Temps d'espera, fet que millora la precisió de dies a microsegons.
  • Per a cada magatzem ara es pot definir la ubicació des d'on s'empaqueten els productes en cas de devolució a proveïdor. En cas que aquesta ubicació no estigui definida s'utilitzarà la ubicació d'emmagatzemament per defecte.

Sol·licituds

Les funcionalitats de sol·licituds de compra s'han separat dels mòduls stock_supply i sale_supply cap a un nou mòdul anomenat puchase_request. Això s'ha fet per preparar el treball futur que permetrà utilitzar les sol·licituds de compra sense les funcionalitats de subministrament basat en necessitats.

  • S'ha afegit el nou estat Excepció a les sol·licituds de compra. Aquest estat és útil per gestionar compres cancel·lades que estan vinculades amb els albarans d'enviament directe.

Vendes

  • El camp Data de lliurament del model Línies de venda s'ha reanomenat a Data d'enviament per tal d'evitar possibles confusions.
  • El camp Temps d'enviament del formulari de producte s'ha reemplaçat pel camp Temps d'espera, fet que millora la precisió de dies a microsegons.
  • La gestió personalitzada de la història a les Oportunitats de Venda, s'ha reemplaçat per la funcionalitat del client de mostrar la història d'un registre. Això millora la precisió i funciona automàticament per a nous camps.

Logística

  • L'adreça de la ubicació destí de l'Albarà intern ara es mostra a l'informe.
  • A partir d'ara és possible finalitzar un moviment manualment amb el nou botó Finalitza. Això permet, per exemple, tenir una comptabilitat acurada en cas de produccions llargues en el temps.
  • Els albarans de devolució de proveïdor ara tenen els camps Proveïdor i Adreça d'enviament. Aquests s'ompliran automàticament per les devolucions creades mitjançant una compra.

Producció

Enrutament

Aquest nou mòdul permet definir les rutes, els passos i les operacions de les produccions. Una ruta és una llista ordenada de passos i cada pas es defineix per una operació genèrica.

Treball

Aquest nou mòdul completa el mòdul d'enrutament creant els Treballs d'una producció basats en la seva ruta. Un Treball està vinculat amb un Centre de treball que defineix el preu de cost utilitzant un dels següents mètodes: Per cicle o Per hora. El cost del treball es calcula tenint en compte els Cicles creats en el mateix treball i desprès s'afegeix al cost total de la producció.

Canvis importants per al desenvolupador

  • Els dominis ara accepten l'operador parent_of que retorna recursivament tots els registres que són pares dels registres buscats. El seu comportament és l'oposat a l'operador existent child_of.
  • Ara és possible heretar d'una vista que ja hereta d'una altra vista d'un altre model diferent.
  • El nou operador de domini where és útil quan es necessita buscar en un camp xxx2Many amb un sub-domini sencer en comptes de clàusules separades. Té l'avantatge que no cal obtenir un resultat intermedi ja que fa servir una sub-consulta.
  • El disseny de la Transacció s'ha modificat per ser més semblant al disseny que es defineix al PEP-0249. Gràcies a aquest nou disseny es permeten transaccions encadenades. També suporta múltiples cursors a la mateixa transacció, reduint el consum de memòria quan s'itera sobre grans conjunts de resultats.
  • S'ha afegit un nou model de context per tal d'estalviar la feina d'escriure assistents simples per configurar el context d'alguns informes. Amb aquest nou disseny, el desenvolupador pot definir un model els camps del qual defineixen els valors del context. El formulari d'aquest model es mostra a la part superior de la vista i aquesta es refresca automàticament quan el context canvia.
  • Ara és possible tenir informes en text pla, XML, HTML i XHTML. Amb aquest canvi la infraestructura d'informes es pot reutilitzar per dissenyar plantilles de correu electrònic.
  • Aquesta versió afegeix el suport del Protocol de commit ens dos fases que permet combinar transaccions distribuïdes. Per defecte, Tryton fa servir una sola transacció del backend de la base de dades, però quan Tryton s'ha de comunicar amb altres sistemes, és millor utilitzar el PC2F per mantenir la integritat. La implementació segueix l'API del Zope Data Manager. Els Data Managers de la comunitat de Zope es poden utilitzar dins de Tryton.
  • Gràcies al protocol de commit en dos fases, ara els emails es poden enviar quan la transacció ha estat comitejada. Així, si alguna cosa va malament i la transacció s'avorta, no s'enviarà cap email.

Comptabilitat

  • El procés de conciliació ara guarda la data de conciliació. Per defecte aquesta és la data més gran de les línies conciliades. Això permet filtrar les línies conciliades en funció de la seva data, per exemple per generar un informe amb les línies no conciliades anteriors a una data concreta.

  • Els Abonaments s'han ajuntat amb les Factures. Ara són factures normals amb les quantitats en negatiu. Això permet barrejar fàcilment els dos tipus en un mateix document. La numeració encara es pot diferenciar gràcies al signe de les línies.

    Nota: Amb la barreja de les Factures i els Abonaments, els signes dels impostos dels Abonaments s'han d'invertir manualment.

Producte

  • El Uom.round ara és un mètode d'instància cosa que té molt més sentit d'acord amb la seva signatura.

Compres

  • S'ha afegit la transició finalitzat a les Compres, tal com existeix a les Vendes per tal de permetre extensions que fan alguna acció quan s'ha finalitzat la compra.
  • Ara es pot buscar les Sol·licituds de compra fent servir el camp Compra.

WebDAV

El mòdul de WebDAV s'ha separat del servidor cap a un mòdul apart cosa que millora la modularitat del sistema. En efecte, hi ha forces configuracions que no fan servir el WebDAV i per això era una mica inflat tenir-ho com a base. A més a més les dependències d'aquest mòdul bloquejaven suportar Python 3 al servidor. Així, actualment el protocol WebDAV es gestiona en un procés separat, però possiblement tornarà en el futur al procés principal.

Publicació seguretat per issue5167

Publicat: 2015-12-17 07:00:00+00:00 release security

Sinopsis

Una vulnerabilitat en trytond ha estat trobada per Cédric Krier, que podria permetre a un usuari maliciós autenticat escriure en camps en els que no tingui accés (veure issue5167).

Impacte

Qualsevol usuari autenticat pot escriure en camps en els que no tingui accés. Els altres permisos d'accés es verifiquen correctament.

Alternativa

No existeix cap alternativa.

Resolució

Tots els usuaris han d'actualitzar trytond a l'última versió.

Versions afectades: <=3.8.0, <=3.6.4, <=3.4.7 and <=3.2.9

Versions no afectades: >=3.8.1, >=3.6.5, >=3.4.8 and >=3.2.10

Incidències?

Qualsevol incidència de seguretat ha de ser reportada al bug-tracker https://bugs.tryton.org/ amb el tipus security.

Nova versió 3.8 de Tryton

Publicat: 2015-11-02 18:00:00+00:00 release

Estem contents d'anunciar la publicació de la versió 3.8 de Tryton.

Per primera vegada conté sao, el nou client web de Tryton. És el resultat de la campanya IndieGoGo . S'ha desenvolupat principalment usant jQuery i Bootstrap i el seu disseny és adaptatiu. Es requereix un navegador actual compatible amb HTML5. Per utilitzar-lo no cal cap modificació en el costat del servidor, cada mòdul treballa tal qual amb sao igual que ho fa amb el client GTK. Està disponible una demostració a http://demo.tryton.org usant demo_es/demo com a usuari/contrasenya d'inici de sessió. Això comporta que el nombre de clients compatibles per Tryton ja siguin tres.

S'ha treballat molt per millorar l'accessibilitat dels clients web i GTK. Per al client GTK s'ha seguit la Guia d'accessibilitat GNOME per desenvolupadors tant com ha estat possible i per al client web s'ha seguit la Iniciativa d'accessibilitat web del W3C. Podeu seguir els avenços en aquest tema en el issue3459.

I per descomptat, aquesta versió conté moltes correccions d'errors i millores de rendiment.

Com sempre, la migració de les versions anteriors està totalment suportada

Les següents captures de pantalla es basen en sao però les mateixes característiques existeixen també en el client GTK.

Aquesta és una comparació de la visualització del client sao front el client GTK:

Venda amb sao Venda amb GTK

Canvis importants per a l'usuari

  • Ara el client és capaç de generar missatges d'error significatius per tot tipus de validació. Aquests missatges d'error utilitzen la mateixa sintaxi que el filtre de cerca.

    Missatge d'error
  • Per a una millor accessibilitat s'ha substituït el color de fons personalitzat per etiquetes en 'negreta' per als camps requerits i per etiquetes en 'cursiva' per als camps editables. Pel mateix motiu, el color de les files s'ha eliminat i pot ser reemplaçat per icones.

    Etiquetes en negreta i cursiva
  • S'ha afegit al client una nova opció per tabulació ràpida. Si s'activa, es salten els camps de només lectura en navegar amb el tabulador. Aquest era el comportament predeterminat anterior, que havia de ser opcional per permetre als usuaris amb discapacitats desplaçar-se pels camps de només lectura per a la seva lectura.

  • Ara la funció d'exportació només funciona amb els registres seleccionats però permet exportar una estructura d'arbre.

Comptabilitat

  • S'ha afegit un nou informe que mostra els imports d'un diari d'efectiu en un període. Això és útil per comprovar el tancament de la caixa.

  • La comptabilitat francesa genera la FEC (Fichier des Écritures Comptables).

  • L'assistent que genera els pagaments permet indicar una data en lloc de la per defecte que és avui.

  • Els comptes d'ingressos i despeses predeterminats es poden configurar des de la configuració de comptabilitat.

    Configuració de comptes
  • La data dels extractes es pot corregir després de la seva comptabilització.

Tercer

  • Ara l'idioma del tercer depèn de l'empresa.

  • Una llista extensible d'identificadors reemplaça l'únic camp CIF/NIF.

    Identificadors del tercer

Projecte

El càlcul de l'arbre del projecte ha estat enormement millorat mitjançant l'agrupació del càlcul i l'ús de millors consultes.

  • Ara hi ha un camp de progrés en els projectes i tasques i, per descomptat, un total que és la suma dels fills.

    El progrés del projecte
  • S'ha afegit un nou mètode per generar la factura del projecte que es basa en el camp de progrés.

  • Ara és possible vincular línies de compra a un projecte que s'afegiran al camp de cost.

  • Ara els treballs dels fulls de treball tenen un camp total d'hores que calcula la durada del treball i els seus fills.

    Hores del treball

Venda

  • La data de lliurament en la línia de venda mostra la data efectiva un cop que els béns són lliurats.

  • Ara és possible enviar la venda a un altre tercer diferent de l'indicat en la factura. Això és un complement a l'enviament directe que permet que Tryton suporti totalment els enviaments directes.

    Tercer d'enviament en la venda
  • L'enviament directe ara utilitza dos moviments diferents utilitzant una ubicació temporal.

Compra

  • La data de lliurament en la línia de compra mostra la data efectiva un cop que els béns són rebuts.
  • Es poden cancel·lar moviments d'estoc des de la vista de la compra sense haver de crear un albarà de proveïdor i cancel·lar-lo.

Logística

  • És possible sol·licitar a Tryton tornar a calcular el preu de cost mitjà d'un producte mitjançant la reproducció de tots els moviments des del principi.

  • És possible configurar una altra ubicació de recollida diferent de la ubicació d'emmagatzematge per als magatzems.

    Ubicació de recollida del magatzem
  • És possible establir un proveïment intern per ubicació que s'utilitza per a les regles d'estoc internes per defecte per a tots els productes.

Cost de recepció

Aquests nous mòduls permeten guardar el cost de recepció en els enviaments dels proveïdors després de la recepció. Es crea un nou document per vincular línies de factura de proveïdors amb enviaments i definir el mètode que s'utilitzarà per a l'assignació de costos. Actualment hi ha dos mètodes disponibles: Per Valor i Per pes. I gràcies a l'assistent Actualització preu de cost, el preu de cost dels productes pot ser recalculat tenint en compte el cost de recepció.

Cost de recepció

Duana

Aquest nou mòdul permet definir el Codi de Tarifa del Sistema harmonitzat i la seva taxa de duana sobre els productes. El tipus de taxa s'emmagatzema per a un país durant un període i estan disponibles dos tipus de càlcul: un import fix o un import per quantitat.

Reclamació de venda

Aquest nou mòdul serveix per gestionar les reclamacions dels clients sobre les vendes o factures. Permet definir les accions per resoldre les queixes, com retornar la venda o abonar la factura. Permet establir un flux de treball per a l'aprovació de les accions de reclamació mitjançant els permisos d'accés.

Promoció de venda

Ara és possible aplicar promocions basades en fórmules sobre les vendes seleccionades mitjançant certs criteris. La promoció canvia el preu unitari de la línia quan la venda canvia a pressupost (i es restableix si es torna a esborrany) però només si la promoció és a favor del client. Els criteris disponibles són: la tarifa, un període, la quantitat i els productes.

Quantitat d'estoc a la venda

Aquest nou mòdul comprova en vendes en estat pressupost si hi ha prou quantitat de productes en el magatzem. També comprova que la nova venda no perjudiqui vendes anteriors que seran enviades més tard.

Canvis importants per al desenvolupador

  • El camp de barra de progrés funciona amb un real entre 0 i 1 per facilitar el seu ús com a percentatge.
  • El camp de text enriquit ara utilitza un subconjunt d'HTML per permetre la seva implementació a sao.
  • El camp Many2One té una nova opció target_search que defineix el tipus de consulta a utilitzar per a la cerca desreferenciada. Les opcions són subquery i la nova join (que és el valor per defecte). El mètode join genera una consulta més ràpida en la majoria dels casos.
  • Les restriccions de SQL utilitzen una sintaxi similar a python-sql. Això dóna més flexibilitat per implementar el backend per altres bases de dades.
  • Tractar de crear/escriure/eliminar en un Model basat en una` table_query` genera una excepció en lloc d'un error silenciós.
  • El nom de la taula d'un ModelSQL es pot reemplaçar amb un arxiu de configuració. Això permet evitar les limitacions de certes bases de dades respecte a la longitud dels noms de les taules.
  • S'ha afegit als assistents el nou StateReport per simplificar el codi dels assistents que executen un informe.
  • S'ha eliminat l'estil dels informes, l'experiència mostra que aquesta funció no era utilitzada.
  • El backend de PostgreSQL ara gestiona l' esquema. Això permet que diferents instàncies de Tryton comparteixin la mateixa base de dades.
  • La clau forana genèrica per a crear/modificar l'usuari en tots els ModelSQL ha estat reemplaçada per una regla que impedeix eliminar usuaris. Això millora enormement l'escalabilitat en algunes circumstàncies.
  • El camp Property ara suporta valors float i integer.
  • Un subdirectori locale/override permet als mòduls sobreescriure traduccions d'altres mòduls.

Comptabilitat

  • Els plans comptables ja no són traduïbles. En lloc d'això s'ha de proporcionar plans comptables traduïts a través d'una plantilla usant XSLT.
  • La factura no calcula un preu unitat per línia. Per tenir aquesta funció s'ha d'utilitzar els mòduls de compres o vendes.
  • Alguns camps de la factura com les Notes i l' Origen són editables després de comptabilitzar la factura.

Producte

  • La conversió entre unitats ja no genera errors silenciosos sinó que apareix un error explícit.
  • S'ha afegit la propietat volum als productes.

Projecte

  • L'estructura d'arbre del projecte i del full de treball s'han separat, cada objecte té la seva pròpia estructura d'arbre.
  • La tarifa utilitza els mateixos decimals que el producte.
  • El preu de cost de l'empleat s'emmagatzema a la línia del full de treball segons la data de la línia. Això permet sumar els costos del full de treball més ràpid.

Compra

  • Ara l'estat de la sol·licitud de compra permet fer cerques.
  • Les sol·licituds de compra es generen fins i tot si la quantitat arrodonida és zero per permetre a l'usuari comprar més.

Logística

  • Moltes restriccions innecessàries en l'edició dels camps dels moviments han estat eliminades.
  • La quantitat esperada de les línies d'inventari es calculen sempre, fins i tot si s'afegeixen manualment.
  • És possible crear moviments en estat En procés i Esborrany utilitzant ubicacions de tipus Vista. Aquestes ubicacions hauran de ser canviades per poder finalitzar el moviment.
  • L'inventari utilitza la funció d'agrupació per crear els moviments. Això permet suportar fàcilment el lot (o qualsevol altre camp extra).

Nova versió 3.6 de Tryton

Publicat: 2015-04-22 18:00:00+00:00 release

Estem contents d'anunciar la publicació de la versió 3.6 de Tryton.

Aquesta versió incorpora el suport oficial de PyPy que és una implementació alternativa de Python centrada en la velocitat i la eficiència.

Com sempre, la migració de les versions anteriors està totalment suportada a excepció del mòdul ldap_connection que ha estat eliminat.

Canvis principals per a l'usuari

  • Un esquema de colors nou per als gràfics que reemplaça l'única variació de brillantor que hi havia. Ara l'esquema de colors també canvia el matís de cada color mitjançant l'angle d'or (que assegura que un color no sigui seleccionat dues vegades).

    Esquema de colors per als gràfics
  • El camp diccionari rep suggeriments a partir de la cerca del text de forma similar a altres camps.

  • Els camps data i hora han estat reescrits completament per poder ser més flexibles amb el format a teclejar. Però també són més pràctics si s'usen amb el ratolí gràcies a un calendari emergent real i a una llista desplegable per a l'hora.

    Camp data Camp data i hora
  • Les columnes de la vista llistat que tenen sempre el mateix valor s'oculten automàticament degut a que no proporcionen informació. Per exemple, la llista de factures comptabilitzades no mostren la columna estat perquè, per definició, totes elles estan comptabilitzades.

Comptabilitat

  • Ara es pot afegir una descripció a l'assentament de cancel·lació des de l'assistent.

  • En el llibre major apareix una nova opció per mostrar només el saldo.

  • Es poden configurar els impostos per modificar el preu base per als següents impostos de la llista.

  • Ara es poden definir plantilles per a assentaments habituals. Quan s'executa una plantilla, l'usuari se li demanarà que introdueixi algunes dades com un import o un tercer, per poder generar un assentament amb aquestes dades.

    Plantilla d'assentament
  • S'ha afegit un informe imprimible per a l'amortització d'actius.

  • Els plans comptables per a França i Bèlgica han estat actualitzats. I el de Bèlgica ha estat traduït a l'holandès.

  • Es disposa d'un assistent de prova per veure els resultats generats per un termini de pagament. Com que els terminis de pagament són molt flexibles perquè permeten aplicar diversos increments de temps (en lloc d'un), no sempre és fàcil preveure el comportament.

    Prova de termini de pagament
  • S'ha estès la cobertura de SEPA amb els sabors pain.001.003.03 i 008.003.02 que s'utilitzen a Alemanya. I també és possible regenerar un missatge SEPA en cas de configuració errònia en la primera generació.

  • Els extractes creen assentaments agrupats per número, data i tercer per defecte. Així, quan una línia d'extracte es divideix per conciliar factures, només es crea un assentament i l'origen d'aquest assentament és el grup de les línies d'extracte.

  • Les regles d'impostos ara poden dependre del país d'origen i de destí gràcies al nou mòdul account_tax_rule_country.

  • S'ha afegit el format SEPA personalitzat (no estàndard) CFONB amb el nou mòdul account_payment_sepa_cfonb.

  • El nou mòdul account_deposit afegeix un nou tipus de compte Bestreta. Permet facturar bestretes i recuperar aquest import més tard a la següent factura.

Productes

  • Ara es pot definir una tarifa amb impostos inclosos. Tryton calcularà el preu sense impostos segons els impostos aplicats.

Vendes

  • S'ha afegit un nou estat Guanyada a les oportunitats de venda. L'oportunitat canvia a aquest estat automàticament quan una de les seves vendes es confirma i totes les altres estan també confirmades o cancel·lades.
  • L'import de les oportunitats s'actualitza segons l'import de les vendes relacionades. Això permet obtenir informes més precisos.
  • El càlcul del cost d'enviament només es calcula en passar a pressupost. Això redueix la càrrega en el client quan la venda és força llarga ja que el cost es calcularà una sola vegada en lloc de cada vegada que una línia sigui afegida.
  • El mòdul nou sale_extra permet afegir línies extres a les vendes segons diversos criteris. La línia extra pot ser tant un producte gratuït com un cost de servei addicional.

Logística

  • Ara hi ha una relació entre un producte i les seves regles de proveïment.
  • La creació de sol·licituds de compra avisa també de produccions anteriors igual com ho feia d'albarans d'entrada anteriors.
  • Les informacions de vida útil i data de caducitat estan incloses en el nou mòdul stock_lot_sled. Quan un lot caduca, no s'utilitza més per calcular la quantitat prevista d'estoc.

Comissions

Aquesta nova àrea es gestiona amb un conjunt de nous mòduls commission. Es creen comissions per a l'agent definit en una venda o factura utilitzant un pla de comissions. També permet definir agents principals en els productes als quals també caldrà pagar comissions.

Principals canvis per al desenvolupador

  • Ara es permet tenir diverses vegades el mateix camp en una vista llistat/arbre.
  • El camp datetime ha desaparegut de les vistes llistat/arbre, cal utilitzar en el seu lloc dues columnes, una amb el camp data i una altra amb el camp hora.
  • En aquesta versió apareix un nou camp TimeDelta per representar una durada. Reemplaça el camp float_time que té alguns problemes d'arrodoniment. Aquest nou camp ja s'usa en els mòduls timesheet i project.
  • Es pot configurar els camps One2Many per utilitzar un producte cartesià amb la selecció de diversos valors de camps Many2One o Reference.
  • S'afegeix el mètode restore_history_before a ModelSQL que es comporta com l'existent restore_history però restaurant els registres just abans d'una data-hora.
  • Els mètodes on_change han estat migrats per tenir un comportament més consistent amb el Active Record Pattern utilitzat a Tryton. En comptes de tornar un diccionari amb els valors a canviar, es canvia la instància directament. Això permet encadenar fàcilment els mètodes on_change o reutilitzar-los en altres mètodes reduint la duplicació de codi.
  • El mètode save de ModelStorage ara és un dualmethod que significa que pugui ser cridat com sempre com a mètode d'instància però també com a mètode de classe amb una llista de registres. D'aquesta manera, desar diversos registres alhora millora el rendiment ja que el mètode minimitzarà el nombre de peticions a la base de dades i validarà el resultat sencer.
  • El camp Dict rep el mètode translated per crear descriptors amb els que traduir els valors o les claus, de forma similar al mateix mètode en els camps Selection.
  • Ara es pot utilitzar la notació amb punt en el paràmetre ordre d'una cerca. El ORM generarà automàticament les agrupacions necessàries.
  • La API de la classe Report ha estat reescrita per millorar la personalització del motor d'informes. Ara els mètodes de format són més estrictes per prevenir fallades silencioses.
  • La funció safe_eval (que no és per res segura) ha estat completament eliminada. En els llocs on el codi avaluat era de totes maneres segur s'utilitza la funció estàndard eval. Per avaluar codi des de l'exterior ara s'utilitza una notació JSON. S'han desenvolupat algunes utilitats per facilitar la creació de JSON des de XML o a les vistes.
  • S'ha afegit una nova classe de botó que treballa sobre registres no desats. Són similars als on_change però són disparats per un clic a un botó en lloc d'un canvi en un camp.

Comptabilitat

  • S'ha afegit un mètode nou reverse_compute als impostos que permet calcular l'import base a partir de l'import amb impostos.
  • El signe de l'import en la segona moneda d'un apunt es força a que sigui el mateix que el signe del deure - haver.
  • La gestió de la comptabilitat analítica ha estat reescrita per utilitzar realment camps One2Many en lloc de pseudo-camps. Aquesta simplificació ha estat possible gràcies a les noves funcionalitats recents com l'ús d'un camp Reference en un One2Many.

Tercers

  • Ara es guarda el número de CIF/NIF en la seva forma compacta.

Productes

  • Ara es pot definir el nombre de decimals per als càlculs interns de preus com un paràmetre de configuració price_decimal. Aquest paràmetre s'usa a tots els llocs per assegurar consistència entre tots els mòduls.

Compres/Vendes

  • Les línies de compres/vendes suporten ambdós tipus de factura (factura i factura d'abonament) a cada línia quan es calcula la quantitat facturada.

Logística

  • S'ha afegit un nou estat staging en els moviments. Aquest estat no impacta en cap càlcul dels nivells d'estoc. S'utilitza per al proveïment en vendes, per crear moviments per avançat.
  • També es calculen els productes inactius per saber el nivell d'estoc.
  • S'ha millorat el càlcul dels moviments assignats per tenir en compte només els moviments assignats de sortida, no els d'entrada. Això comporta un nivell d'estoc menys optimista i per tant evita assignar moviments amb una entrada que estigui assignada però encara no finalitzada.
  • Les previsions són desactivades automàticament quan el seu període forma part del passat.

Nova versió 3.4 de Tryton

Publicat: 2014-10-20 18:00:00+00:00 release

Estem contents d'anunciar l'alliberament de la versió 3.4 de Tryton.

A més de les millores habituals sobre les funcionalitats existents per a usuaris i desenvolupadors, aquesta versió mostra els resultats del treball exhaustiu realitzat en l'àrea de comptabilitat.

Per descomptat, la migració de les versions anteriors està plenament suportada amb l'excepció del mòdul ldap_connection que ha estat eliminat.

Principals canvis en la interfície d'usuari

  • La cerca de registres relacionats ha estat redissenyada per aprofitar els avantatges de l'emplenament automàtic. En aquesta versió, la finestra emergent manté el text introduït en la cerca.

  • Ara el botó de Obre/Cerca un registre dels registres relacionats està situat dins la caixa de text i el botó Crea un nou registre s'ha substituït per les accions d'emplenament automàtic o el botó de la finestra emergent. Aquest canvi permet harmonitzar les dimensions dels camps en els formularis.

    botons interiors camp many2one
  • Ara es poden mostrar imatges a la vista de llistat/arbre.

    camp imatge dins llistats
  • Es poden realitzar prevalidacions de camps abans d'executar accions de botó. Les validacions ressalten els camps erronis en comptes d'informar de l'error en una finestra emergent.

  • S'incrementen les possibilitats de l'exportació de dades incorporant l'etiqueta de camps selecció i el valor intern (ID) del registre (CSV).

  • Exportar la informació que s'està consultant ara és més fàcil i més ràpid, ja que la finestra d'exportació es predefineix amb els camps que es visualitzen.

  • Els camps predefinits d'exportació ara es poden substituir directament per una nova selecció de camps. Una millora pensada per facilitar la creació de plantilles d'exportació.

  • Ara podem ordenar fàcilment la llista de camps per exportar seleccionant i arrossegant els elements.

  • Els rangs de cerca ara inclouen per defecte ambdós extrems. Aquest comportament és menys estrany pels usuaris encara que el comportament anterior d'incloure - no incloure el extrems tingués alguns avantatges pràctics.

  • En aquesta versió el client també carrega els 'plug-ins' definits en el directori local de l'usuari. (~/.config/tryton/x.y/plugins).

Principals canvis en el servidor

  • S'introdueix la classe Mixin MatchMixin que permet implementar un patró comú de cerca de registres a partir de certs valors.
  • També s'afegeix la classe UnionMixin que permet definir un ModelSQL que és la UNION de varis ModelSQL.
  • En la versió anterior, Tryton no actualitzava els registres de configuració definits mitjançant un fitxer XML si es modificaven fora del fitxer. En la nova versió és possible trobar aquests registres i forçar la seva actualització per sincronitzar-los amb l'arxiu XML.
  • S'ha afegit un Descriptor de Python als camps Selection. Permet definir quin atribut d'un model conté l'etiqueta de la selecció del registre. Està previst actualitzar tots els informes perquè utilitzin aquest descriptor en comptes de valors fixos.
  • S'ha introduït un nou format pel fitxer de configuració del servidor. Aquest format es pot estendre fàcilment per ser usat pels mòduls. Aquest fitxer utilitza el format de configuració de registres de Python.
  • El context definit en els camps relacionats ara s'utilitza per instanciar el destí.
  • La consulta SQL utilitzada pel domini d'un camp ara pot ser personalitzada utilitzant el mètode domain_<field>. Aquest mètode està dissenyat per suportar JOINs i permet definir consultes SQL més eficients en alguns casos.
  • Les regles d'accés s'han millorat perquè només estiguin activades a les crides RPC . Amb aquest disseny, Tryton segueix el principi de validar les dades als extrems de l'aplicació. Amb això, ja no és necessari canviar a l'usuari root quan es necessiten permisos d'usuaris més específics sinó és que ens trobem dins d'una crida RPC.

Mòduls

Account

  • S'ha afegit un nou assistent per conciliar apunts comptables. El programa cerca per a cada compte comptable i tercer proposant apunts per conciliar. Una funcionalitat que permet augmentar notablement la velocitat del procés de conciliació.

    assistent per conciliar
  • També s'ha afegit un nou assistent per facilitar la creació d'assentaments de cancel·lació que concilia automàticament l'apunt amb la seva contrapartida de cancel·lació.

  • S'ha afegit l'opció de Tercer requerit en els comptes comptables. Aquesta opció obliga introduir el tercer en els apunts dels comptes marcats i prohibeix introduir-lo en els altres.

Account Invoice

  • Ara és possible configurar l'arrodoniment d'impostos tant a nivell de línia de factura com a nivell global de factura. Per defecte és a nivell global de factura.

Account Payment

  • S'ha incorporat la possibilitat de modificar l'estat dels pagaments Amb èxit a Fallat.

Account Payment SEPA

  • S'ha habilitat l'esquema Empresa a Empresa per domiciliacions bancàries.
  • Ara els mandats reben una identificació única a partir de la seqüència configurada.
  • S'ha adaptat el mòdul per a les notificacions de dèbit/crèdit de banc a client (CAMT.054).
  • S'ha afegit un informe per imprimir un formulari estàndard per als mandats.

Account Statement

  • Ara podem ordenar les línies d'extracte i numerar-les. Una millora que permet reproduir de forma fidel els extractes bancaris.
  • S'ha afegit un informe d'extracte que permet, per exemple, repassar els extractes de dipòsits de xecs.
  • En aquesta versió es pot definir el mètode de validació al diari d'extracte. Els mètodes disponibles són: Balanç, Import i Número de línies. Això permet utilitzar els extracte per diferents propòsits com ara la conciliació bancària o el control de dipòsits de xecs.

Account Stock Continental/Anglo-Saxon

  • Ara el mètode es defineix per exercici fiscal en comptes d'activar-se a nivell global en la instal·lació del mòdul.

Country

  • La nova versió permet emmagatzemar codis postals per país. Es proporciona un script per descarregar codis postals des de GeoNames.

LDAP Authentication

  • El mòdul ldap_connection s'ha substituït per una entrada en el fitxer de configuració de trytond.

Party

  • La nova funcionalitat del mòdul 'Country' s'utilitza per l'autocompletat dels camps ciutat i codi postal de les adreces.

Purchase

  • L'estat Confirmat s'ha dividit en dos estats Confirmat i En procés, per fer-lo similar al procés de vendes.

Sale Supply Drop Shipment

  • La gestió de les excepcions dels enviaments directes de proveïdor a client es propaguen des de la venda fins a la compra.

Nous mòduls

  • El nou mòdul Account Payment Clearing permet generar assentaments de liquidació entre els comptes a cobrar o a pagar i el compte de liquidació quan un pagament ha tingut èxit. El compte de liquidació es concilia posteriorment amb els extractes.

Proteus

Proteus és una llibreria Python per accedir a Tryton com si fos un client.

  • Ara permet executar informes. És útil per testejar-los.
  • S'ha afegit un nou mètode de duplicat de registres que és similar al menú de copiar del client.