Divalto weavy 6.1 (RC3) : notes de version Master & Backoffice

Version

Date de sortie

Durée de maintenance

Version

Date de sortie

Durée de maintenance

6.1 RC3

29/04/2024

3 ans à partir de la sortie de la RELEASE (Voir le tableau de maintenance)

Master

Changelog

Numéro de ticket

Intitulé

Changelog

Numéro de ticket

Intitulé

Valeur id de groupe manquante lors de la création d'un flashMessage ayant plusieurs destinations.

FO : Messages flash multidestinataire - champ de groupement non renseigné

Suppression des gammes d'opérations lors de la suppression d'un équipement.

7914

Suppression des gammes d'opérations lors de la suppression d'un équipement (Helpdesk 4390)

WebService :

  • Génération du devis travaux

  • Le tiers du devis travaux devient le tiers facturé

Webhhok "Intervention Request" :

  • Get en ExtendedRelated : ajout customer_billed

  • Règles : 

    • customer_ID_billed cannot be filled if customeraddress_ID is empty

    • customer_ID_billed is not a customer billed of this customeraddress_ID

3333

Ajouter Tiers à facturer dans la demande pour génération du devis (Webservices, Webhook)

Performances

  • Volumétrie : 575 000

  • Temps avant : timeout (> 30 minutes)

  • Temps actuel : 1 sec

  • Optimisations :

    • Nouvel index : baseuserSpeedIdx5 (teamtype_ID)

    • Nouvel index : planningSpeedIdx7 (resource_ID)

    • Modification index : interventionSpeedIdx2 (generictype_ID_status, startDate, endDate)

FuncServer_UpdateInterventionsStatus :

  • Ajout de gStatus.dataType = 'INTERVENTION_STATUS' dans le LEFT JOIN gStatus interne (et conversion en INNER JOIN)

  • Ajout de (gStatus.tag IS NULL OR (gStatus.tag != 'CLOSED' AND NOT gStatus.tag LIKE 'CLOSED|%')) dans le WHERE interne

FuncServer_SendInterventionsReport :

  • Pré-calcul de minDate pour économiser la jointure sur basevariable

4370

Optimisations du script serveur de gestion du statut d'intervention

Backoffice

Changelog

Numéro de ticket

Intitulé

Changelog

Numéro de ticket

Intitulé

Lors de la création de la demande d'intervention, certains champs n'étaient pas remplis automatiquement.

4807

Soucis de pré-chargement des infos du contact lors de la création d'une demande

Modification du type de retour false qui provoquait une l'erreur

Problème de type de retour de fonction (Helpdesk 1976)

  • Lors d'une planification, le collaborateur n'était pas été désigné comme technicien réfèrent.

  • Il n'était plus possible de modifier une planification depuis la popup

  • Un Endif manquant a été détecté dans le SwingScript Func_InsertPlanningList_ParseForEach_PlanningTeam.

Problème de planification dans le BO qui plante

  • Suppression du baseuser_ID lors de la mise à jour d'un rapport de visite dans le trigger visitreport.triggers.triggerUpdateVisitReport.

  • Cette valeur étant utilisée pour indiquer quel utilisateur a créé le rapport de visite, une modification entrainait le changement de créateur.

Problème de modification d'un rapport

Suppression des sous-traitants dans la liste des utilisateurs non affectés de la structure commerciale

Liste des fournisseurs extranet dans la structure Commerciale

La modification d'un contrat n'était plus possible

WEAVY : impossible de modifier les contrats

Certaines pages et certains composants liés au retour équipement n'était pas conditionnés correctement.
Ajout des conditions manquantes afin de rendre l'affichage plus cohérent

Retour équipement actif dans la fiche société avec variable à false

Exclusion des sous-traitants dans la grid et pendant la vérification des groupes.

6887

Le calcul des groupes prend en compte les sous-traitants

Prise en compte du tiers à facturer pour :

  • Nouvelle demande

  • Consulter demande

  • Nouvelle intervention depuis une demande

3333

Ajouter Tiers à facturer dans la demande

Les tiers facturés n'étaient pas affichés quand on déroulait la combo
Rafraichissement du Tiers facturé si changement de site

6108

Contrat - Définition d'intervention

Filtre combobox au lieu de texte libre

6992

Filtre agence en construction d'équipes dynamiques

Performances

Optimisation des recherches sur l'agent via un filtre SqlExpression au lieu de la jointure puis GROUP BY actuel

Pages impactées :

  • actionPlanCustomer : 97 ms

  • actionPlanCustomer.id : 5 ms

  • externalUserDataAccess.customerSelection : 49 ms

  • customerContact.singleSelection.full : 1 ms

  • customerTrace.new : 119 ms

  • customer.singleSelection.full : 82 ms

  • customer : 879 ms

  • customer.searchSubcontractor : 330 ms

  • customer.simplesearch : 761 ms

  • customerMap : 10119 ms

  • expense : 1399 ms

  • expense.export : 10 ms

  • round.id.addCustomer : 532 ms

  • saleOrder.header.new : 835 ms

  • planningCustomer : 22 ms

  • baseuser : 8 ms

  • directory : 18 ms

3728

Implémenter les filtres SqlExpression sur les filtres d'agent

Performances

Optimisation de la requête de récupération des interventions urgentes et à valider sur la barre de notification

  • Volumétrie : 2m5

  • Gain : timeout précédemment

  • Temps actuel :

    • statTurnoverCustomer.year.grid : 22 542 ms

    • statTurnoverCustomer.year.graph : 15 427 ms

    • statTurnoverCustomer.grid : 13 ms

  • Optimisations :

    • Refactorisation requête

4226

Base de référence de performance - Barre de notification technicien

Performances page Collaborateurs (…/page/baseUser)

  • Volumétrie : 579

  • Gain : 100 %

  • Temps actuel : 8 ms

  • Optimisations :

    • Refactorisation requête

4120

Base de référence de performance - Collaborateurs

Performances page Annuaire (…/entity/baseuserDirectory)

  • Volumétrie : 579

  • Gain : 20 %

  • Temps actuel : 18 ms

  • Optimisations :

    • Refactorisation requête de l'annuaire des utilisateurs

4119

Base de référence de performance - Annuaire

Performances page Tâches (..../page/taskManagerV2;mode=2-> Onglet "Toutes les tâches")

  • Volumétrie : 1 000 000

  • Gain : non mesurable car en timeout avant

  • Temps actuel : 53 ms

  • Optimisations :

    • Ajout d'un index :  taskSpeedIdx11 (dueDate)

    • Modification de l'index taskSpeedIdx6: ajout du startDate

    • Changement du tri sur les grilles: Tri par date d'échéance

    • Affichage des tâches dans le kanban sur l'année glissante

2447

Base de référence de performance - Tâches

Performances pages

Relance de devis Suivi  (..../page/quotationDunning)
Analyse des devis  (..../page/quotationAnalysis)
Analyse des devis refusés   (..../page/quotationRefusalAnalysis)

  • Volumétrie : 1 044 000

  • Gain : non mesurable car en timeout avant

  • Temps actuel : 513 ms

  • Optimisations :

    • Ajout des index :

      • orderheaderSpeedIdx3 (generictype_ID_followUpStatus, confreport_ID, baseuser_ID, customer_ID, customerOrderNumber, orderDate)

      • orderheaderSpeedIdx4 (confreport_ID, baseuser_ID, customer_ID, customerOrderNumber, orderDate)

    • Refactorisation des requêtes comportant des GROUP BY

    • Utilisation du SQL_CACHE sur les metrics

3597

Base de référence de performance - Relance de devis 

Performances page Stock (..../page/stock -> Onglet "Stock")

  • Volumétrie : 982 958

  • Gain : non mesurable car en timeout avant

  • Temps actuel : 10,4 sec

  • Optimisations :

    • Suppression filtre "Collaborateurs" redondant avec filtre "Dépôt"

    • Refactorisation requête

3047

Base de référence de performance - Stock

Performances page Détails stock (..../page/stock -> Onglet "Détail stock")

  • Volumétrie : 185 272

  • Gain : 88 %

  • Temps actuel : 5,9 sec

  • Optimisations :

    • Suppression filtre "Collaborateurs" redondant avec filtre "Dépôt"

    • Refactorisation requête

3187

Base de référence de performance - Détails stock

Performances page Mouvements de stock (..../page/stock -> Onglet "Mouvements")

  • Volumétrie : 701 464

  • Gain : non mesurable car en timeout avant

  • Temps actuel : 26 sec

  • Optimisations :

    • Suppression filtre "Collaborateurs" redondant avec filtre "Dépôt"

    • Refactorisation requête

    • Nouvel index productstockmovementSpeedIdx2 (dateMovement, productdepot_ID, product_ID)

    • Modification index productstockmovementSpeedIdx1 (productdepot_ID, product_ID, dateMovement)

    • Filtre "Date de début" initialisé à Date du jour - 1 mois

3320

Base de référence de performance - Mouvements

Performances page Détails des mouvements de stock (..../page/stock -> Onglet "Détails mouvements")

  • Volumétrie : 137 664

  • Gain : non mesurable car en timeout avant

  • Temps actuel : 4,8 sec

  • Optimisations :

    • Suppression filtre "Collaborateurs" redondant avec filtre "Dépôt"

    • Refactorisation requête

    • Filtre "Date de début" initialisé à Date du jour - 1 mois

    • On profite du nouvel index productstockmovementSpeedIdx2

3321

Base de référence de performance - Détails mouvements

Performances page Stock (..../page/stock -> Onglet "Bons de transfert")

  • Volumétrie : 5008

  • Gain : 51 %

  • Temps actuel : 3 sec

  • Optimisations :

    • Nouvel index : productstocktransfertoreceiveheaderSpeedIdx2 (generictype_ID_status, productdepot_ID_origin  generictype_ID_transferType, productdepot_ID_destination, transferDate)

    • Refactorisation requête

3605

Base de référence de performance - Bons de transfert

Performances page Evénements tiers (..../page/customerTrace)

  • Volumétrie : 1 128 662

  • Gain : pas de gain significatif

  • Temps actuel : 14,6 sec

  • Optimisations :

    • Refactorisation requête

4129

Base de référence de performance - Evénements tiers

Performances page Feuilles de temps (..../page/timeSheet -> Suivi)

  • Volumétrie : 10 255

  • Gain : 94 %

  • Temps actuel : 135 ms

  • Optimisations :

    • Refactorisation requête

    • Amélioration jointures

Performances page Feuilles de temps (..../page/timeSheet -> Analyse)

  • Volumétrie : 10 255

  • Gain : non significatif

  • Temps actuel : 6,6 sec

  • Optimisations :

    • Amélioration jointures

Performances page Feuilles de temps (..../page/timeSheet -> Synthèse)

  • Volumétrie : 10 255

  • Gain : /

  • Temps actuel : 1,3 sec

  • Optimisations :

    • Aucune optimisation

4137

Base de référence de performance - Feuilles de temps

Performances page Intervention (..../page/intervention)

  • Volumétrie : 1 000 000

  • Gain : 26% sur la grille avec les filtres standard

  • Temps actuel : 68 ms

  • Optimisations :

    • Ajout index interventionSpeedIdx8 (CreatDate)

2444

Base de référence de performance - Interventions

Performances page Site (..../page/site)

  • Volumétrie : 107 696

  • Gain : 62 %

  • Temps après : 2,5 s

  • Optimisations :

    • Ajout d'un STRAIGHT_JOIN

4134

Base de référence de performance - Sites

Performances page Contacts (..../page/customerContact)

  • Volumétrie : 100 000

  • Gain : 48 %

  • Temps après : 1,9 s

  • Optimisations :

    • Suppression du GROUP BY

    • Refactorisation de la clause FROM

    • Refactorisation de la partie de la requête associé aux relations

2843

Base de référence de performance - Contacts

Performances page Equipements (..../page/equipments)

  • Volumétrie : 223 552

  • Gain : 98,7 %

  • Temps après : 4,5 s

  • Optimisations :

    • Suppression du GROUP BY

2006

Base de référence de performance - Équipements

Performances page Historique (..../page/saleHistory)

  • Volumétrie : 1 680 000

  • Gain : 95 %

  • Temps actuel : 1200 ms

  • Optimisations :

    • Ajout de docDate en deuxième position de histoheaderSpeedIdx3

    • Déplacement des INNER JOIN juste après le FROM

    • Remplacement de INNER JOIN par STRAIGHT_JOIN entre histoheader et customer

4133

Base de référence de performance - Historique pièces commerciales

Performances page Planification (..../page/planningIntervention -> Onglet "Liste")

  • Volumétrie : 570 000

  • Gain : 95 %

  • Temps actuel : 1200 ms

  • Optimisations :

    • Conversion du LEFT JOIN en INNER JOIN sur intervention

    • Déplacement des INNER JOIN juste après le FROM

    • Ajout d'un STRAIGHT_JOIN général

4139

Base de référence de performance - Liste de planifications

Performances page Pièces commerciales (..../page/saleOrder.toManage et ..../page/saleOrder.draft)

  • Volumétrie : 1 000 000

  • Gain (saleOrder.toManage) : 87 %

  • Temps actuel (saleOrder.toManage) : 1150 ms

  • Gain (saleOrder.draft) : 99 %

  • Temps actuel (saleOrder.draft) : 70 ms

  • Optimisations :

    • Nouvel index : orderheaderSpeedIdx5 (srvExport)

    • Nouvel index : orderheaderSpeedIdx6 (draftBO)

    • Transformation de la jointure de status contenant une sous-requête INNER sur confreport

    • Déplacement des INNER juste après le FROM

    • Modification du filtre sur CodeConfreport pour éviter un OR

    • Ajout d'une STRAIGHT_JOIN général

3173

Base de référence de performance - Pièces commerciales

Performances page Planification (..../page/planningIntervention -> Onglet "Planning", Puits d'interventions)

  • Volumétrie : 576 000

  • Gain : 99 %

  • Temps actuel : 70 ms

  • Optimisations :

    • Nouvel index : interventionSpeedIdx8 (creatDate [champ système])

    • Regroupement des INNER JOIN juste après le FROM

4138

Base de référence de performance - Puits  d'interventions

Utilisation de la variable MasterInfinity. Seul l'administrateur partenaire à tous les droits. 

5368

Restrictions infinity - Mettre en place une condition d'activation de restriction

Mise en place de restrictions d'ajout, modification, suppression

5373

Restrictions infinity - Paramétrage des types d'interventions

Mise en place de restrictions d'ajout, modification, suppression

5374

Restrictions infinity - Paramétrage des types de contrats

Mise en place de restrictions d'ajout, modification, suppression

5375

Restrictions infinity - Paramétrage des codes activités

Mise en place de restrictions d'ajout, modification, suppression

5376

Restrictions infinity - Paramétrage des types de garanties

Mise en place de restrictions d'ajout, modification, suppression

5378

Restrictions infinity - Paramétrage des types d'opportunités et des étapes d'opportunités

Mise en place de restrictions d'ajout, modification, suppression

5379

Restrictions infinity - Paramétrage des types d'affaires et des étapes affaires 

Mise en place de restrictions de modification

5369

Restrictions infinity - Fiche Société

Mise en place de restrictions d'ajout, modification, suppression

5370

Restrictions infinity - Fiche agence

Mise en place de restrictions d'ajout, modification, suppression

5371

Restrictions infinity - Paramétrage genres équipements

Mise en place de restrictions d'ajout, modification, suppression

5372

Restrictions infinity - Paramétrage types équipements

Mise en place de restrictions d'ajout, modification, suppression

5380

Restrictions infinity - Paramétrage des familles d'articles

Mise en place de restrictions d'ajout, modification, suppression

5381

Restrictions infinity - Fiche collaborateur

Mise en place de restrictions d'ajout, modification, suppression

5382

Restrictions infinity - Fiche article

Mise en place de restrictions d'ajout, modification, suppression

5383

Restrictions infinity - Fiche KIT d'article

Mise en place de restrictions d'ajout, modification, suppression

6991

Restrictions infinity - Rendre impossible la création de dépôt