Open ghost opened 7 years ago
Give the XML part of the computer inventory, it's <MONITORS>
Bonjour.
Mon UC a deux écrans E222W. Etonament, l'écran pour lequel le fabriquant ne se met pas à jour (serial 04206649NB) est deux fois dans le XML (monitors.txt) Je vous ai aussi mis en PJ le JSON dans lequel on voit bien qu'une fois le "04206649NB"
Cordialement.
Bonjour.
Par contre, je remarque que peut etre à tord, les UC qui ont fait l'objet d'une opération de reprise (donc non créées automatiquement par GLPI) ont un is_dynamic à false. Même en passant à true, ca ne change rien.
Cdt.
Bonjour.
J'ai fais quelques test en local en important mon XML de prod.
Je n'ai laissé que les 3 règles suivantes
Lors de l'import du XML, je remarque que Fusion crée 2 nouveaux écrans, mais ne modifie jamais mon écran avec l'identifiant 1.
Je me demande donc si fusions fais des mises à jour d'écran...
pourtant, la règle a l'air de fonctionner :
Cordialement
Hi @johannsan the double XML entry will be fixed on the agent side with v2.3.19. Actually we only have a RC for windows with the fix and if it's your computer platform, you can give it a try (see FIA4W Installer v2.3.19-teclib-rc7).
Bonjour. Si je ne laisse qu'une balise MONITORS dans le XML, Fusion inventory ne passe pas dans la regle d'update, mais crée tout de même un nouvel écran. Cela ne doit pas etre le probleme.
Bonjour. Y-a-t-il donc une raison qu'aucune donnée du monitor (hormis le lien avec le PC) ne soit mise à jour lors de l'inventaire?
Non pas de raison :(
Et y-a-t-il des display que je peux mettre dans une classe php particulière qui me permettrait de savoir pourquoi les mises à jours ne se font pas? (et que les créations se font bien)
regardes les fichiers :
J'ai fais un test ce matin et mon écran se crée bien avec le fabricant
Mon problème n'est pas en création, mais en mise à jour.
Tous les écrans sont déjà en base avec nom et sérial. et aucune mise à jour se déclenche.
J'essaie de mettre des logs ce matin.
ah, regarde dans l'onglet 'verrou (champs)' du moniteur si le champ fabricant est coché
Bonjour.
Je viens donc de faire le test suivant en local (avec un XML récupéré de production, et en ne laissant qu'un écran), pour la mise à jour (car bien évidement, s'il n'y a pas d'écran dans GLPI, il est créé correctement).
Donc, dans GLPI : Un écran avec :
J'ai effacé l'ensemble des données dans la tables "glpi_plugin_fusioninventory_locks" car il n'y a pas d'écran pour visualiser les verrous fusion sur les écrans (ce qu'il y a sur les pages d'UC).
Pour le test, j'ai laissé les règles par défaut.
Dans le XML à importer :
<LASTLOGGEDUSER>TEST-LASTLOGGEDUSER</LASTLOGGEDUSER>
<MONITORS>
<BASE64>AP///////wA4o3dnAQEBAQ4UAQMILx546jbFpFVMnCUSUFS/74CBwIFAgYCLwJUAkECzAHFPITmQMGIaJ0AYsDZA2igRAAAcAAAA/QA4Sx9TEQAKICAgICAgAAAA/ABFMjIyVwogICAgICAgAAAA/wAwNDIwNjY0OU5CCiAgAJo=</BASE64>
<CAPTION>E222W</CAPTION>
<DESCRIPTION>14/2010</DESCRIPTION>
<MANUFACTURER>NEC Corporation</MANUFACTURER>
<SERIAL>04206649NB</SERIAL>
</MONITORS>
Lors de l'import XML, cet écran est correctement connecté à l'UC, l'usager est mis à jour : 2016-12-28 09:28 glpi (2) (2) Usager Changement de toto-LASTLOGGEDUSER à TEST-LASTLOGGEDUSER 4535 2016-12-28 09:28 glpi (2) (2) Nom Changement de E222Wfsddfsdf à E222W par contre, le fabriquant n'est pas mis à jour.
A la fin de "inc/formatconvert.class.php" var_dump($a_inventory['monitor']); array (size=1) 0 => array (size=4) 'name' => string 'E222W' (length=5) 'manufacturers_id' => string 'NEC Corporation' (length=15) 'serial' => string '04206649NB' (length=10) 'is_dynamic' => int 1
Je continue....
Dans inventorycomputerlib.class.php, je vois l'endroit où on fait
$a_monitors[] = $monitor->add($arrays);
mais je ne vois pas où se passerait l'update... pourtant, ca doit se faire quelque part??
Comment puis-je aller plus loin pour savoir pourquoi l'update ne fait pas de mise à jour du manufacturer?
Cordialement
Auriez vous une réponse à apporter pour avoir un inventaire correct (update) ou devons nous tout mettre à jour manuellement ?
Auriez vous une réponse à apporter pour avoir un inventaire correct (update) ou devons nous tout mettre à jour manuellement ?
Bonjour. Tout d'abord, nous avons la version 0.90+1.4 de fusion, et j'ai lu le message https://github.com/fusioninventory/fusi … sues/1900, mais je ne sais pas si nous sommes concernés. Lors de l'inventaire des PC/écran, fusion inventory passe en MAJ via le serial sur tous les écrans et crée les écrans s'ils n'existent pas. Tous les champs fonctionnent bien sauf le fabriquant. -->Pour tous les écrans "créés", le fabriquant est bien renseigné -->Pour tous les écrans "mis à jour", le fabriquant n'est pas renseigné. Pourtant le fichier de remontée d'inventaire sur le PC indique bien le manufacturers_id pour chaque moniteur. Actuellement en base de données, la plupart des écrans dans la table glpi_monitors ont un manufacturers_id à 0. Il n'y a pas de locks dans
glpi_plugin_fusioninventory_locks
pour les moniteurs. Nous ne savons donc pas d'où ca peut venir. Auriez vous une idée? Merci d'avance.