# Script to acccess tag present on udt

**URL:** <https://forum.inductiveautomation.com/t/script-to-acccess-tag-present-on-udt/78141>\
**Category:** Ignition\
**Created:** [August 21, 2023, 9:19am UTC](https://forum.inductiveautomation.com/t/script-to-acccess-tag-present-on-udt/78141 "2023-08-21T09:19:56Z")\
**Posts on this page:** 2\
**Page:** 2

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [August 21, 2023, 3:29pm UTC](https://forum.inductiveautomation.com/t/script-to-acccess-tag-present-on-udt/78141/24 "2023-08-21T15:29:54Z")

</div>

T'as mon avis sur la question: Tu perds ton temps sur un script qui ne sert à rien.

Mais on peut quand même parler du script, qui me semble étrange.

Pour chaque tag dans ta liste de tags requis, tu regardes la totalité des tags que ressort `browse`, t'es sur que c'est ce que tu veux faire ?

Si c'est vraiment le cas, tu peux le faire comme ca:

```python

required_tags = {"int","code_", "ps_A", "inf"}

tags = system.tag.browse(path, {'recursive': True})
present_tags = set(tag['name'] for tag in tags)

absent_tags = required_tags - present_tags

```

Mais j'ai bien peur que ca ne soit pas vraiment ce que tu veux faire. Quel chemin tu passes à ta fonction ?

---

<div class="post-metadata">

**Author:** ![sebastien\_ng](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/sebastien_ng/32/55297_2.png) [@sebastien\_ng](https://forum.inductiveautomation.com/u/sebastien_ng)\
**Post date:** [August 22, 2023, 7:42am UTC](https://forum.inductiveautomation.com/t/script-to-acccess-tag-present-on-udt/78141/25 "2023-08-22T07:42:36Z")

</div>

> [@pascal.fragnoud](#):
>
> Mais j'ai bien peur que ca ne soit pas vraiment ce que tu veux faire. Quel chemin tu passes à ta fonction ?

Bonjour Pascal,  
`Dans mon chemin, je passe par exemple le chemin du dossier 50 par exemple voir l'image ci-jointe`

Si je dois vérifier l'existence de paramètres dans le **Parameters** du UDT 502 par exemple je dois passer le chemin :` "[CCC]XXX.../Parameters"`

Sur l'image ci-jointe, j'ai par exemple le dossier 50 qui contient plusieurs UDT de la même structure et également paramètres dans le Parameters.  
\*  
J'ai aussi dossier 51, 60,58, etc. qui contient les UDT mais n'ont pas les même nombre de paramètres et structure d'UDT de tag.

Le script doit être capable d'accéder les paramètres: Il vérifie si tous les éléments de la liste `ls_listTag [......]` sont dans les **Parameters**.

Ensuite je traiterai le cas où je vérifierai les valeurs de chaque paramètre

Voici une image qui peut peut être aider à éclaircir ma question.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/2/e203ae1db0e09e9f3489f72354d47be9c434e789.png)

[Previous page](https://forum.inductiveautomation.com/t/script-to-acccess-tag-present-on-udt/78141.md?page=1)
