Projet

Général

Profil

Actions

Support #11185

fermé

GED-Publication:Formulaire-Item: Changer la valeur

Ajouté par Marc Avenel il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
04/12/2019
Echéance:
% réalisé:

0%

Temps estimé:
Navigateur:
Firefox
Votre version de Silverpeas:
5.15.11
Système d'exploitation:
Livraison en TEST:
Livraison en PROD:

Description

Des publications sont créées avec le formulaire PROJECT SEARCH
Dans ce formulaire nous avons l'item CUSTOMER
  • Cet item est un champ JDBC
  • La requête JDBC : select label from mgic_customer order by label
  • Cette table mgic_customer est constitué: id, label
  • Les valeurs id de 2000781 à 2000797 qui correspond à MGI COUTIER, MGI COUTIER USA, MGI COUTIER EUROPE,...
  • Le but est de remplacer "MGI COUTIER..." par "AKWEL..." dans toutes les valeurs des publications et mettre également à jour la table mgic_customer

Le but est donc de mettre à jour les publications liées à l'item CUSTOMER du formulaire "PROJECT SEARCH"
Et mettre ensuite à jour la table mgic_customer (manuellement..)

Quelles sont les requêtes au niveau des publications que nous devons mettre en place ?

D'avance merci

Mis à jour par Sebastien Vuillet il y a plus de 4 ans

  • Statut changé de New à Feedback

Le plus simple est de changer les libellés directement dans la table mgic_customer (sans changer les ids)

Mis à jour par Marc Avenel il y a plus de 4 ans

Oui il faut changer les libellés dans la table
Par contre dans les publications, nous faisons comment, car c'est bien le "label" qui est stocké ?
Merci à vous

Mis à jour par Sebastien Vuillet il y a plus de 4 ans

Vous pouvez exécuter ce type de requêtes :

UPDATE sb_formtemplate_textfield SET fieldvalue='AKWEL USA' WHERE fieldvalue='MGI COUTIER USA';
UPDATE sb_formtemplate_textfield SET fieldvalue='AKWEL EUROPE' WHERE fieldvalue='MGI COUTIER EUROPE';
etc...

Mis à jour par David Lesimple il y a plus de 4 ans

En complément, vous pouvez en avoir la liste exhaustive par :

select * from sb_formtemplate_textfield  where fieldvalue like '%MGI COUTIER%' order by fieldname;

Attention à bien modifier les mêmes valeurs dans les formulaires et/ou dans les tables mgic_*

Mis à jour par Marc Avenel il y a plus de 4 ans

Cette requête (select * from sb_formtemplate_textfield where fieldvalue like '%MGI COUTIER%' order by fieldname;
) me donne dans fieldvalue des valeurs qui ne sont pas dans la table mgic_customer comme
  • Wuham MGI COUTIER Auto parts CO.,Ltd
  • MGI COUTIER (THAILAND) CO., LTD
  • Puna - MGIC COUTIER ENGINERING
  • FCA MGI COUTIER POWERTRAIN
  • ...

Et aussi ceci:

<!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:"Segoe UI"; panose-1:2 11 5 2 4 2 4 2 2 3;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; margin-bottom:.0001pt; font-size:11.0pt; font-family:"Calibri",sans-serif; mso-fareast-language:EN-US;} a:link, span.MsoHyperlink {mso-style-priority:99; color:#0563C1; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:#954F72; text-decoration:underline;} span.E-postmall17 {mso-style-type:personal-compose; font-family:"Calibri",sans-serif; color:windowtext;} .MsoChpDefault {mso-style-type:export-only; mso-fareast-language:EN-US;} @page WordSection1 {size:612.0pt 792.0pt; margin:70.85pt 70.85pt 70.85pt 70.85pt;} div.WordSection1 {page:WordSection1;} -->>>> 
Od:
Freddy Sandin <Freddy.Sandin@autotube.se>
Komu:
"'Ales LEBEDINSKY'" <ales.lebedinsky@mgicoutier.com>
Datum:
14. srpen 2017 9:20
Věc:
Delete RFQ 008909

Hello Ales,   I accidently created a new RFQ that was already published and completed from the PL. Please ignore and delete/reject if you can, case: RFQ 008909   Med Vänliga Hälsningar / Best Regards Freddy Sandin | Account Manager MGI COUTIER | Box 33 | 523 21 | Ulricehamn | Sweden Goods and Visit address | Hillaredsvägen 10 | 523 38 | Ulricehamn | Sweden Mob. +46(0)733 955 041 freddy.sandin@autotube.se | www.mgicoutier.com   Note! This message and any documents attached are confidential - created for the exclusive use of its intended recipient(s), and may be legally privileged. Any modification, printing, use, or distribution of this email that is not authorised is prohibited. If you have received this email in error, please notify us immediately, delete it from your system and destroy any attachments. 

Mis à jour par David Lesimple il y a plus de 4 ans

Oui c'est normal, donc si vous ne voulez que les réponses qui utilisent le champ CUSTOMER :

select * from sb_formtemplate_textfield  where fieldvalue like '%MGI COUTIER%' and fieldname = 'CUSTOMER';

Mis à jour par Marc Avenel il y a plus de 4 ans

C'est que j'avais fait : select * from sb_formtemplate_textfield where fieldname='CUSTOMER' AND fieldvalue='MGI COUTIER' order by fieldname;

Mis à jour par Marc Avenel il y a plus de 4 ans

On ne peut pas contrôler que c'est le formulaire "PROJECT SEARCH" ?

Mis à jour par Marc Avenel il y a plus de 4 ans

Si je lance cette requête :
select * from sb_formtemplate_textfield  where fieldname='CUSTOMER' AND fieldvalue like '%MGI COUTIER%' order by fieldname;
  • je ne trouve que des MGI COUTIER

Celà veut dire que dans le formulaire "PROJECT SEARCH" il n'a été qu'utilisé que MGI COUTIER et pas les autres valeurs ?

Mis à jour par David Lesimple il y a plus de 4 ans

Marc Avenel a écrit :

Si je lance cette requête :
[...]
  • je ne trouve que des MGI COUTIER

Celà veut dire que dans le formulaire "PROJECT SEARCH" il n'a été qu'utilisé que MGI COUTIER et pas les autres valeurs ?

Si le nom du champ dans formulaire "PROJECT SEARCH" est bien CUSTOMER, la réponse est oui.
Attention, il existe également un champ customer (en minuscule donc), je vous laisse vérifier à quel formulaire il appartient.

Mis à jour par Marc Avenel il y a plus de 4 ans

Oui vous avez raison il y a un " customer " je vais regarder quel est le formulaire concerné.

Mis à jour par Marc Avenel il y a plus de 4 ans

Existe-t-il une requête pour savoir d'où vient cet item "customer" ?
merci

Mis à jour par Marc Avenel il y a plus de 4 ans

ce sont les formulaires rfq,rfq2,rfq3,rfq4

Mis à jour par Marc Avenel il y a plus de 4 ans

La bonne requête de mise à jour est :

UPDATE sb_formtemplate_textfield SET fieldvalue='AKWEL'  WHERE fieldvalue='MGI COUTIER' AND fieldname='CUSTOMER'
UPDATE sb_formtemplate_textfield SET fieldvalue='AKWEL MEXIQUE' WHERE fieldvalue='MGI COUTIER MEXIQUE' AND fieldname='CUSTOMER'

C'est bien cela

Mis à jour par David Lesimple il y a plus de 4 ans

oui.

Mis à jour par David Lesimple il y a plus de 4 ans

Cette requête va vous permettre de voir que les lignes à remplacer sont bien celles du formulaire voulu :

SELECT count(*) FROM sb_formtemplate_textfield ftt WHERE fieldname='CUSTOMER' AND fieldvalue = 'MGI COUTIER' and ftt.recordid in (select ftx.recordid from sb_formtemplate_textfield ftx, sb_formtemplate_template ft_template, sb_formtemplate_record trec where fieldname='CUSTOMER' AND fieldvalue = 'MGI COUTIER' and ftx.recordid = trec.recordid and trec.templateid=ft_template.templateid and ft_template.templatename='entete-ged-projet.xml');

Mis à jour par Marc Avenel il y a plus de 4 ans

Super. merci à vous

Mis à jour par Marc Avenel il y a plus de 4 ans

je ne comprends pas.
car il faut remplacer
  • "MGI COUTIER" par AKWEL"
  • "MGI COUTIER MEXIQUE" par "AKWEL MEXIQUE"
    ...

Mis à jour par David Lesimple il y a plus de 4 ans

Pour être certain qu'il ne met à jour que les champs du formulaire "Project Search":

UPDATE sb_formtemplate_textfield ftt SET fieldvalue='AKWEL' WHERE fieldname='CUSTOMER' AND fieldvalue = 'MGI COUTIER' and
ftt.recordid in (select ftx.recordid from sb_formtemplate_textfield ftx, sb_formtemplate_template ft_template, sb_formtemplate_record trec where fieldname='CUSTOMER' AND fieldvalue = 'MGI COUTIER'
and ftx.recordid = trec.recordid and trec.templateid=ft_template.templateid and ft_template.templatename='entete-ged-projet.xml');

UPDATE sb_formtemplate_textfield ftt SET fieldvalue='AKWEL MEXIQUE' WHERE fieldname='CUSTOMER' AND fieldvalue = 'MGI COUTIER MEXIQUE' and
 ftt.recordid in (select ftx.recordid from sb_formtemplate_textfield ftx, sb_formtemplate_template ft_template, sb_formtemplate_record trec where fieldname='CUSTOMER' AND fieldvalue = 'MGI COUTIER MEXIQUE'
and ftx.recordid = trec.recordid and trec.templateid=ft_template.templateid and ft_template.templatename='entete-ged-projet.xml');

Mis à jour par Marc Avenel il y a plus de 4 ans

Je vous remercie je vais le tester sur le serveur de TEST.

Mis à jour par Marc Avenel il y a plus de 4 ans

Je ne comprends pas
Si je contrôle votre requête avant de la lancer:

SELECT * FROM sb_formtemplate_textfield ftt  
WHERE
   ftt.recordid in (select ftx.recordid from sb_formtemplate_textfield ftx, sb_formtemplate_template ft_template, sb_formtemplate_record trec where fieldname='CUSTOMER' AND fieldvalue = 'MGI COUTIER'
   and ftx.recordid = trec.recordid and trec.templateid=ft_template.templateid and ft_template.templatename='entete-ged-projet.xml');


Ceci ne correspond pas ...
J'ai du faire une erreur?

Mis à jour par David Lesimple il y a plus de 4 ans

Marc Avenel a écrit :

Je ne comprends pas
Si je contrôle votre requête avant de la lancer:

[...]
Ceci ne correspond pas ...

C'est à dire ?

Mis à jour par Marc Avenel il y a plus de 4 ans

J'ai beaucoup plus de réponses
De plus le champ "customer" n'est pas uniquement égal à "MGI COUTIER", j'ai un peu de tout?
Fait le test sur le serveur de TEST.

Mis à jour par Marc Avenel il y a plus de 4 ans

Par contre j'ai lancé la requête sur le serveur
Si je lance customer=MGI COUTIER il me trouve les publications alors que la valeur de customer="AKWEL"
Ceci n'est pas du à l'indexation ?

Mis à jour par Marc Avenel il y a plus de 4 ans

Je me permets de vous relancer car les utilisateurs en test ne peuvent valider car la résultat de la recherche est incohérent: Formulaire " PROJECT SEARCH " item " CUSTOMER "
  • S'ils recherchent "AKWEL" en résultat rien
  • S'ils recherchent "MIGI COUTIER" ils ont les résultats par contre s'ils regardent une contribution dans le champs "Customer" c'est bien AKWEL

C'est certainement lié à l'indexation ....
Ça devient URGENT.
Merci

Mis à jour par David Lesimple il y a plus de 4 ans

Marc Avenel a écrit :

Je me permets de vous relancer car les utilisateurs en test ne peuvent valider car la résultat de la recherche est incohérent: Formulaire " PROJECT SEARCH " item " CUSTOMER "
  • S'ils recherchent "AKWEL" en résultat rien
  • S'ils recherchent "MIGI COUTIER" ils ont les résultats par contre s'ils regardent une contribution dans le champs "Customer" c'est bien AKWEL

C'est certainement lié à l'indexation ....
Ça devient URGENT.
Merci

oui il faut relancer une indexation sur les éléments concernés (espaces ou applications)

Mis à jour par Marc Avenel il y a plus de 4 ans

David, il y a en un peu de partout... Ça va être compliqué...
Comment faire ? Merci

Mis à jour par Marc Avenel il y a plus de 4 ans

J'ai relancé l'indexation sur le serveur de TESTS
Je ferai le point Lundi matin (16/12/2019)

Mis à jour par Marc Avenel il y a plus de 4 ans

tests effectués sur le serveur de TESTS --> validés
Nous allons l'intégrer sur le serveur de PRODUCTION

Mis à jour par Marc Avenel il y a plus de 4 ans

Intégration sur le serveur de PRODUCTION pour début Janvier.
Car il faut stopper le serveur et appliquer la procédure de mise à jour.

Mis à jour par Marc Avenel il y a plus de 4 ans

  • Statut changé de Feedback à Closed

clos et intégré avec succès ce vendredi 10 Janvier 2020

Actions

Formats disponibles : Atom PDF