Suite

L'objet de mappage de champs ne fonctionne pas avec Merge_management

L'objet de mappage de champs ne fonctionne pas avec Merge_management


J'essaie de limiter le nombre de champs lorsque j'effectue une fusion à deux. Vous trouverez ci-dessous le script que j'ai créé pour le faire. Cependant, la classe d'entités fusionnée porte sur tous les champs, malgré mon utilisation d'unmappages de champsobjet.

diest un dictionnaire avec un type de forme ("polyline", "polygone", etc.) comme clé et une liste python de classes d'entités comme valeur. Des idées?

code correspondant :

fms = FieldMappings() jnFm = FieldMap() sourceFm = FieldMap() jnFm.addInputField(fc, jobField) sourceFm.addInputField(outFcFullPath, "FC_SOURCE") fms.addFieldMap (jnFm) fms.addFieldMap) print (sourcenMer pour shapeType dans di : featureClasses = di[shapeType] mergeFC = os.path.join (outGDB, "All_" + shapeType) Merge_management (featureClasses, mergeFC, fms) print "Created: All_" + shapeType

J'ai compris que pour chaque classe d'entités que je fusionne, je dois ajouter les champs aux objets de carte de champ.

Code de fonctionnement :

fms = FieldMappings() jnFm = FieldMap() sourceFm = FieldMap() jnFm.addInputField(fc, jobField) jnFm.addInputField(outFcFullPath, jobField) #Nouveau code sourceFm.addInputField(fc, "FC_SOURCE") #Nouveau code sourceFm.addInputField(fc, "FC_SOURCE") #Nouveau code sourceF (outFcFullPath, "FC_SOURCE") fms.addFieldMap (jnFm) fms.addFieldMap (sourceFm) print "
Merging" pour shapeType in di: featureClasses = di[shapeType] mergeFC = os.path.join (outGDB, "All_" + shapeType ) Merge_management (featureClasses, mergeFC, fms) print "Created: All_" + shapeType

Erreur lors du déploiement des champs standard dans un gros objet

J'essaie de déployer un gros objet sur Salesforce mais il y a des erreurs avec les champs de l'objet. Le gros objet est basé sur un objet standard qui existe déjà dans salesforce et comporte des champs standard qui proviennent de l'objet d'origine. Lorsque je supprime ces champs standard du fichier objet, le package se déploie avec succès, mais lorsque j'inclus les champs standard, l'erreur suivante s'affiche pour chaque champ : <field name> doit se terminer par : __c ou __kav ou __x ou __b ou __xo ou __e ou __p ou __mdt

Fichier objet :

Les champs en question ici sont Nom, Propriétaire et LastModifiedBy. Pour une raison quelconque, le champ CreatedBy se déploie avec succès même s'il s'agit d'un champ standard. Qu'est-ce qui pourrait être à l'origine des erreurs sur les trois derniers champs ?


Syntaxe

Les attributs des entités cibles et les attributs des entités jointes sont transférés vers la classe d'entités en sortie. Cependant, un sous-ensemble d'attributs peut être défini dans le paramètre de mappage de champ.

Les attributs des entités jointes sont joints aux attributs des entités cibles. Voir l'explication du paramètre join_operation pour plus de détails sur la façon dont l'agrégation des attributs joints est affectée par le type d'opération de jointure.

Une nouvelle classe d'entités contenant les attributs des entités cible et jointe. Par défaut, tous les attributs des entités cibles et les attributs des entités jointes sont écrits dans la sortie. Cependant, l'ensemble d'attributs à transférer peut être contrôlé par le paramètre de mappage de champ.

Détermine comment les jointures entre les entités cibles et les entités jointes seront gérées dans la classe d'entités en sortie si plusieurs entités jointes sont trouvées qui ont la même relation spatiale avec une seule entité cible.

  • JOIN_ONE_TO_ONE —Si plusieurs entités de jointure sont trouvées qui ont la même relation spatiale avec une seule entité cible, les attributs des multiples entités de jointure seront agrégés à l'aide d'une règle de fusion de carte de champ. Par exemple, si une entité cible ponctuelle est trouvée dans deux entités de jointure polygonales distinctes, les attributs des deux polygones seront agrégés avant d'être transférés vers la classe d'entités ponctuelles en sortie. Si un polygone a une valeur attributaire de 3 et l'autre a une valeur de 7 et qu'une règle de fusion Sum est spécifiée, la valeur agrégée dans la classe d'entités en sortie sera 10. Il s'agit de la valeur par défaut.
  • JOIN_ONE_TO_MANY —Si plusieurs entités jointes ont la même relation spatiale avec une seule entité cible, la classe d'entités en sortie contiendra plusieurs copies (enregistrements) de l'entité cible. Par exemple, si une seule entité cible est trouvée dans deux entités de jointure de polygone distinctes, la classe d'entités en sortie contiendra deux copies de l'entité cible : un enregistrement avec les attributs d'un polygone et un autre enregistrement avec les attributs de l'autre polygone .

Détermine si toutes les entités cibles seront conservées dans la classe d'entités en sortie (appelée jointure externe) ou uniquement celles qui ont la relation spatiale spécifiée avec les entités jointes (jointure interne).

  • KEEP_ALL —Toutes les entités cibles seront conservées dans la sortie (jointure externe). C'est la valeur par défaut.
  • KEEP_COMMON — Seules les entités cibles qui ont la relation spatiale spécifiée avec les entités jointes seront conservées dans la classe d'entités en sortie (jointure interne). Par exemple, si une classe d'entités ponctuelles est spécifiée pour les entités cibles et qu'une classe d'entités surfaciques est spécifiée pour les entités jointes, avec match_option = "WITHIN" , la classe d'entités en sortie ne contiendra que les entités cibles qui se trouvent dans une jointure polygonale feature toutes les entités cibles ne faisant pas partie d'une entité de jointure seront exclues de la sortie.

Contrôle les champs attributaires qui seront dans la classe d'entités en sortie. La liste initiale contient tous les champs des entités cibles et des entités jointes. Les champs peuvent être ajoutés, supprimés, renommés ou leurs propriétés modifiées. Les champs sélectionnés des entités cibles sont transférés tels quels, mais les champs sélectionnés des entités de jointure peuvent être agrégés par une règle de fusion. Pour plus de détails sur le mappage des champs, consultez Utilisation du contrôle de mappage des champs et Mappage des champs d'entrée aux champs de sortie. Plusieurs champs et combinaisons de statistiques peuvent être spécifiés.

Définit les critères utilisés pour faire correspondre les lignes. Les options de correspondance sont :

  • INTERSECT —Les entités des entités jointes seront mises en correspondance si elles croisent une entité cible. C'est la valeur par défaut. Spécifiez une distance dans le paramètre search_radius.
  • INTERSECT_3D — Les entités des entités jointes seront mises en correspondance si elles coupent une entité cible dans un espace tridimensionnel (x, y et z). Spécifiez une distance dans le paramètre search_radius.
  • WITHIN_A_DISTANCE —Les entités des entités jointes seront mises en correspondance si elles se trouvent à une distance spécifiée d'une entité cible. Spécifiez une distance dans le paramètre search_radius.
  • WITHIN_A_DISTANCE_GEODESIC —Identique à WITHIN_A_DISTANCE, sauf que la distance géodésique est utilisée plutôt que la distance planaire. Choisissez cette option si vos données couvrent une grande étendue géographique ou si le système de coordonnées des entrées ne convient pas aux calculs de distance.
  • WITHIN_A_DISTANCE_3D —Les entités des entités jointes seront mises en correspondance si elles se trouvent à une distance spécifiée d'une entité cible dans un espace tridimensionnel. Spécifiez une distance dans le paramètre search_radius.
  • CONTIENT —Les entités des entités jointes seront mises en correspondance si une entité cible les contient. Les entités cibles doivent être des polygones ou des polylignes. Pour cette option, les entités cibles ne peuvent pas être des points et les entités jointes ne peuvent être des polygones que lorsque les entités cibles sont également des polygones.
  • COMPLETELY_CONTAINS —Les entités des entités jointes seront mises en correspondance si une entité cible les contient complètement. Le polygone peut complètement contenir n'importe quelle entité. Le point ne peut pas contenir complètement une entité, pas même un point. La polyligne ne peut contenir complètement que la polyligne et le point.
  • CONTAINS_CLEMENTINI —Cette relation spatiale donne les mêmes résultats que COMPLETELY_CONTAINS à l'exception du fait que si l'entité jointe se trouve entièrement sur la limite de l'entité cible (aucune partie n'est correctement à l'intérieur ou à l'extérieur), l'entité ne sera pas mise en correspondance. Clementini définit le polygone frontière comme la ligne séparant l'intérieur et l'extérieur, la frontière d'une ligne est définie comme ses points d'extrémité et la frontière d'un point est toujours vide.
  • WITHIN —Les entités des entités jointes seront mises en correspondance si une entité cible s'y trouve. Il est opposé à CONTIENT . Pour cette option, les entités cibles ne peuvent être des polygones que lorsque les entités jointes sont également des polygones. Le point ne peut être une fonction de jointure que si le point est la cible.
  • COMPLETELY_WITHIN —Les entités dans les entités jointes seront mises en correspondance si une entité cible est complètement à l'intérieur d'elles. Ceci est opposé à COMPLETELY_CONTAINS .
  • WITHIN_CLEMENTINI —Le résultat sera identique à WITHIN, sauf si l'intégralité de l'entité dans les entités jointes se trouve sur la limite de l'entité cible, l'entité ne sera pas mise en correspondance. Clementini définit le polygone frontière comme la ligne séparant l'intérieur et l'extérieur, la frontière d'une ligne est définie comme ses points d'extrémité et la frontière d'un point est toujours vide.
  • ARE_IDENTICAL_TO —Les entités des entités jointes seront mises en correspondance si elles sont identiques à une entité cible. L'entité jointe et l'entité cible doivent être du même type de forme : point à point, ligne à ligne et polygone à polygone.
  • BOUNDARY_TOUCHES —Les entités des entités jointes seront mises en correspondance si elles ont une limite qui touche une entité cible. Lorsque les entités cible et jointe sont des lignes ou des polygones, la limite de l'entité jointe ne peut toucher que la limite de l'entité cible et aucune partie de l'entité jointe ne peut traverser la limite de l'entité cible.
  • SHARE_A_LINE_SEGMENT_WITH —Les entités des entités jointes seront mises en correspondance si elles partagent un segment de ligne avec une entité cible. Les entités jointes et cibles doivent être des lignes ou des polygones.
  • CROSSED_BY_THE_OUTLINE_OF —Les entités des entités jointes seront mises en correspondance si une entité cible est traversée par leur contour. Les entités jointes et cibles doivent être des lignes ou des polygones. Si des polygones sont utilisés pour les entités jointes ou cibles, la limite (ligne) du polygone sera utilisée. Les lignes qui se croisent en un point seront mises en correspondance, pas les lignes qui partagent un segment de ligne.
  • HAVE_THEIR_CENTER_IN —Les entités dans les entités jointes seront mises en correspondance si le centre d'une entité cible se trouve à l'intérieur d'elles. Le centre de l'entité est calculé comme suit : pour les polygones et les multipoints, le centroïde de la géométrie est utilisé et pour l'entrée de ligne, le milieu de la géométrie est utilisé. Spécifiez une distance dans le paramètre search_radius.
  • CLOSEST —L'entité des entités de jointure la plus proche d'une entité cible est mise en correspondance. Voir le conseil d'utilisation pour plus d'informations. Spécifiez une distance dans le paramètre search_radius.
  • CLOSEST_GEODESIC —Identique à CLOSEST, sauf que la distance géodésique est utilisée plutôt que la distance planaire. Choisissez cette option si vos données couvrent une grande étendue géographique ou si le système de coordonnées des entrées ne convient pas aux calculs de distance

Les entités de jointure situées à cette distance d'une entité cible seront prises en compte pour la jointure spatiale. Un rayon de recherche n'est valide que lorsque la relation spatiale ( Option de correspondance ) INTERSECT , WITHIN_A_DISTANCE , WITHIN_A_DISTANCE_GEODESIC , HAVE_THEIR_CENTER_IN , CLOSEST ou CLOSEST_GEODESIC est spécifiée. L'utilisation d'un rayon de recherche de 100 mètres avec la relation spatiale WITHIN_A_DISTANCE rejoindra l'entité à moins de 100 mètres d'une entité cible. Pour les trois relations WITHIN_A_DISTANCE, si aucune valeur n'est spécifiée pour le rayon de recherche, une distance de 0 est utilisée.

Nom d'un champ à ajouter à la classe d'entités en sortie, qui contient la distance entre l'entité cible et l'entité de jointure la plus proche. Cette option n'est valide que lorsque la relation spatiale (Match Option) CLOSEST ou CLOSEST_GEODESIC est spécifiée. La valeur de ce champ est -1 si aucune entité n'est trouvée dans un rayon de recherche. Si aucun nom de champ n'est spécifié, le champ ne sera pas ajouté à la classe d'entités en sortie.


Méthodologie et cadre

La littérature pertinente est passée en revue de manière systématique et organisée en 5 étapes. Premièrement, la portée de l'examen est déterminée comme l'extraction et la découverte de connaissances basées sur le BIM. Par conséquent, les recherches sur la littérature existante dans la base de données universitaires sont effectuées en combinant des mots-clés tels que TITLE-ABS-KEY (« industrie de la construction » OU (« BIM ») OU (« AEC » OU (« gestion de la construction »)) ET TITLE-ABS-KEY (("ontologie*") OU ("web sémantique") OU ("connaissance") OU ("données liées")). Compte tenu de la base de données brute, les études les moins pertinentes sont filtrées en examinant manuellement le titre et le résumé. Résumez ensuite les auteurs, les revues et les mots-clés les plus cités, suivis d'une étude approfondie des principaux courants littéraires pour résumer les sujets de recherche de pointe et les orientations futures.

Portée de la recherche

Afin de se concentrer sur l'extraction et la découverte de connaissances basées sur le BIM, cette revue couvre principalement les études en relation étroite avec le BIM, le web sémantique, l'ontologie, le cadre de description de ressources, le langage d'ontologie web, la gestion des connaissances, etc. En particulier, la combinaison de domaine de la connaissance et le BIM ont apporté de grands changements aux industries AEC [13]. Au début du XXIe siècle, les technologies sémantiques basées sur la connaissance du domaine ont été introduites dans les industries AEC [14]. Par exemple, Pan et al. [15] et Elghamrawy et Boukamp [16] ont discuté des valeurs supplémentaires que le web sémantique bénéficierait aux projets de construction. Dans le même temps, certaines revues récentes ont discuté de la connaissance du BIM [17] et de son application à la conception d'architecture, à la simulation énergétique, à l'optimisation intelligente, à la gestion de la sécurité [18], à la conception et à l'analyse des espaces urbains, à l'intégration du BIM et du système d'information géographique, conformité aux codes de conception [19], facility management [20], etc. Ces sujets ont été résumés selon l'Analyse Sémantique Latente (LSA) des thèmes. Étant donné que le BIM lui-même met l'accent sur les informations contenues dans un modèle numérique, les études examinées se sont principalement concentrées sur la manière de fournir des informations essentielles pour répondre aux exigences de domaines ou d'applications spécifiques. Afin d'être organisées, les études sont divisées en 5 thèmes principaux, à savoir la description des connaissances, la découverte des connaissances, le stockage et la gestion des connaissances, l'inférence des connaissances et l'application des connaissances, comme indiqué dans le tableau 1.

Chaque sujet de recherche énuméré ci-dessus s'appuie sur les informations du bâtiment sous une forme particulière et certains d'entre eux s'appuient même sur des informations provenant de différentes sources de données. La technologie BIM est capable de fournir le cadre d'information, y compris la norme de données, la gestion des données et la plate-forme de données pour intégrer ces données essentielles. Pendant ce temps, le Web sémantique fournit un cadre technique pour la description des connaissances, un langage de requête et un moteur d'inférence pour l'extraction et la découverte de connaissances à partir d'une plate-forme de données BIM. Par conséquent, l'intégration de ces deux technologies présente un potentiel important, comme le résume la figure 1 pour l'ingénierie des connaissances dans les industries AEC.

Cadre d'extraction et de découverte de connaissances sur la modélisation des informations du bâtiment

Statistiques de la littérature

Cette recherche examine principalement la littérature publiée de 2009 à 2019 dans les bases de données Web of Science (WoS) [21] et Scopus [22]. Le nombre d'articles examinés est illustré à la figure 2. En général, le nombre d'articles dans le domaine augmente d'année en année, en particulier après 2014, ce qui implique que la gestion des connaissances basée sur le BIM devient une tendance importante attirant des chercheurs concernant les technologies de l'information dans les industries AEC. .

Numéros de littérature de la base de données WoS et Scopus de 2009 à 2019

Selon la littérature filtrée, les universitaires les plus cités et donc les plus influents tels que C. Eastman, J. Beetz et P. Pauwels, et les revues universitaires internationales telles que Automation in Construction et Advanced Engineering Informatics sont résumés dans la figure 3. Figure 4 montre que les mots-clés les plus actifs incluent BIM, ontologie et web sémantique, etc.

une Top 10 auteurs et b Top 10 des éditeurs liés à l'extraction et à la découverte de connaissances sur la modélisation des informations du bâtiment

Mots clés liés à l'extraction et à la découverte de connaissances sur la modélisation de l'information du bâtiment


Les liens dans les commentaires sont la réponse mais puisque j'ai fait une photo, pourquoi ne pas la poster quand même :

Au lieu de déformer directement l'objet, déformez un empilement de tris. Parentez ensuite votre objet cible (le cylindre dans cet exemple) avec l'objet déformé et activez les duplifaces pour le tris dans Propriétés >> Objet >> Duplication.

Assurez-vous simplement que l'objet que vous souhaitez dupliquer a son échelle appliquée ou il y aura des déformations.


Objet de stratégie de groupe non appliqué à l'ordinateur client

Je prends en charge l'ensemble de notre gestion basée sur Microsoft, cela inclut nos serveurs AD, GPO, etc.

Cela étant dit, je ne sais pas tout sur la configuration de cette configuration. Cependant, j'ai remarqué que nous semblons avoir beaucoup de problèmes liés aux autorisations avec les GPO ou avec les utilisateurs qui ne peuvent pas modifier leurs propres attributs sur leur compte. Je pense que le problème provient du fait que SYSVOL est inaccessible selon l'outil de gestion des stratégies de groupe, mais je n'en suis pas sûr. SYSVOL lui-même est disponible selon la "part nette".

Je ne connais pas de moyen sûr de passer et de vérifier automatiquement les autorisations "de base" sur les comptes, pour vérifier qu'ils y ont accès, mais j'ai vérifié deux fois que le groupe "Utilisateurs authentifiés" a au moins des autorisations de lecture sur tous les GPO . J'ai exécuté dcdiag et repadmin. Les résultats de dcdiag qui peuvent être trouvés ici :

Les résultats de repadmin montrent que tout s'est terminé avec succès. Il n'y a aucune erreur sur aucun des serveurs.


Pour être sûr que cela fonctionne toujours, vous devez ajouter une contrainte à la méthode :

Cela garantira que TInput est un type de référence.

Cela n'a aucun sens de l'appeler sur des structs. Pour eux, vous avez besoin d'une autre surcharge avec une contrainte différente et quelques ? points d'interrogation:

Quelqu'un peut demander à ce stade : mais pourquoi avons-nous besoin de deux extensions si théoriquement une seule fait aussi le travail ?

Avec une seule extension, vous devez utiliser la propriété .Value pour les types nullables. Avec deux extensions, vous obtenez une valeur nette, vous n'avez qu'à faire

Mais n'est-ce pas juste une commodité? Bien sûr que oui. N'écrivons-nous pas des extensions exactement pour cette raison ?

En fait, j'utilise moi-même un code similaire:

mais vous pouvez créer une version simplifiée de votre méthode et la combiner avec le IIf


7 réponses 7

L'exception NullReferenceException vous dit en gros : vous vous trompez. Ni plus ni moins. Ce n'est pas un outil de débogage à part entière, au contraire. Dans ce cas, je dirais que vous vous trompez tous les deux parce que

  • il y a une NullReferenceException
  • vous ne l'avez pas empêché d'une manière dont vous savez pourquoi/où cela s'est produit
  • et aussi peut-être : une méthode nécessitant 20 objets semble un peu décalée

Je suis un grand fan de tout vérifier avant que les choses ne commencent à mal tourner et de fournir de bonnes informations au développeur. En bref : écrivez des chèques en utilisant ArgumentNullException et autres et écrivez le nom vous-même. Voici un exemple :

Vous pouvez également consulter les contrats de code, il a des bizarreries mais cela fonctionne plutôt bien et vous évite de taper.

Il devrait vraiment montrer exactement ce que vous essayez d'appeler. C'est comme dire "Il y a un problème. Vous devez le résoudre. Je sais ce que c'est. Je ne vais pas vous le dire. Vous allez le découvrir" Un peu comme la moitié des réponses sur ce Stack Overflow, ironiquement.

Alors, à quel point cela serait-il utile, par exemple, si vous obteniez ceci.

. Devoir entrer dans le code, le parcourir et comprendre que la chose que vous essayez d'appeler est nulle, c'est bien, mais pourquoi ne pas simplement nous donner un petit coup de main ?

je suis d'accord que c'est d'habitude utile pour parcourir le code pour obtenir la réponse (car vous en saurez probablement plus), mais souvent beaucoup de temps et de frustration seraient économisés si le texte NullReferenceException ressemblait davantage à l'exemple ci-dessus.

Votre journal doit inclure une trace de pile - qui vous donne généralement un indice sur la ligne de la méthode qui pose problème. Vous devrez peut-être faire en sorte que votre version de version inclue des symboles PDB afin d'avoir une idée de la ligne sur laquelle se trouve l'erreur.

Certes, cela ne vous aidera pas dans ce cas :

Le principe tell don't ask peut aider à éviter un tel code.

Quant à savoir pourquoi les informations ne sont pas incluses, je ne suis pas sûr - je soupçonne qu'au moins dans une version de débogage, s'ils le voulaient vraiment, ils pourraient le comprendre. Faire un vidage sur incident et l'ouvrir dans WinDBG peut aider.

Des exceptions ont été créées comme un outil pour signaler des cas exceptionnels non mortel conditionne la chaîne d'appel. Autrement dit, ils ne sont pas conçus comme un outil de débogage.

Si une exception de pointeur nul était un outil de débogage, elle interromprait l'exécution du programme sur-le-champ, permettant à un débogueur de se connecter, le pointant directement sur la ligne incriminée. Cela donnerait au programmeur tous les informations contextuelles disponibles. (Ce qui est à peu près ce que fait un Segfault dû à un accès de pointeur nul en C, bien qu'un peu grossièrement.)

Cependant, l'exception de pointeur null est conçue comme une condition d'exécution valide qui peut être levée et interceptée dans le flux de programme normal. Par conséquent, des considérations de performance doivent être prises en compte. Et toute personnalisation du message d'exception nécessite la création, la concaténation et la destruction d'objets de chaîne au moment de l'exécution. En tant que tel, un message statique est incontestablement plus rapide.

Je ne dis pas que le runtime ne pouvait pas être programmé d'une manière qui donnerait le nom de la référence incriminante, cependant. Cela pourrait être fait. Cela rendrait les exceptions encore plus lentes qu'elles ne le sont. Si quelqu'un s'en souciait suffisamment, une telle fonctionnalité pourrait même être rendue commutable, afin qu'elle ne ralentisse pas le code de production, mais permette un débogage plus facile, mais pour une raison quelconque, personne ne semble s'en soucier suffisamment.


Je ne sais pas exactement quel est le problème, mais c'est ma supposition. Vous devez diminuer la masse du drapeau. Par défaut, il est assez lourd.

J'ai constaté que le tissu semble avoir besoin de "tomber" complètement avant d'être affecté par le vent. J'ai essayé un avion suspendu au bord supérieur et comme il était déjà dans la position "lâchée", il s'est immédiatement animé avec une force de vent de 2000 à 9000 il a bien battu, 10000 l'ont rendu fou. J'ai ensuite essayé avec une cape, beaucoup plus complexe, et après l'avoir épinglée, il a fallu 100 images avant d'avoir des ondulations avec une force de vent de 9000

J'ai eu un problème similaire et mon drapeau a commencé à réagir à la force du vent une fois que je l'ai agrandi 10 fois.

Plus le drapeau était grand (en unités Blender), plus il réagissait à la force du vent.

Vérifiez également Puissance de chute
(mon problème était: force trop faible et puissance de chute trop grande).

La taille de la scène compte. Si vos vêtements ne réagissent pas aux forces : accédez à l'onglet des propriétés de la scène et augmentez les unités. Après l'avoir fait, accédez aux propriétés physiques de votre tissu et vous remarquerez que la masse du sommet a changé. Décréter la masse du vertex et démarrer la simulation


Obtenez un ID d'élément de liste SharePoint à partir d'une liste où le champ 'Title' est une valeur spécifique en JavaScript

J'essaie d'extraire l'ID ListItem d'une liste dans laquelle je ne suis actuellement PAS en fonction d'une valeur de champ dans cette liste. Je ne trouve rien qui explique comment faire cela.

Alors, pour expliquer. J'ai une liste personnalisée appelée 'Département'. J'ai une autre liste personnalisée appelée 'Article'. J'ai un champ dans le 'Article' Liste qui est une recherche sur le 'Titre' terrain dans le 'Département' Lister

J'ai du JavaScript qui lit le DispForm d'un « article » dans la « liste d'articles » et extrait le département sous forme de chaîne de texte. Maintenant, en utilisant cette chaîne de texte, je souhaite utiliser JavaScript pour rechercher dans la liste "Département", rechercher la valeur du champ "Titre" qui correspond à la chaîne de texte (par exemple, Finance) et renvoyer l'ID d'élément de cet élément de liste.

Toutes les solutions que je peux trouver sur le Web se connectent à la liste à l'aide de la méthode 'getItemById', mais je ne connais pas l'ID car c'est ce que j'essaie de retourner (par exemple ci-dessous)

Quelqu'un peut-il m'orienter dans la bonne direction sur la façon dont je m'y prendrais?


Voir la vidéo: Ms. Project - Asignar Recursos Trabajo, Material y Costo