Michael Miller<\/A> attributeassistant<\/P><\/P>J'ai configuré Attribute Assistant pour copier un ServiceID (champ Clé étrangère) d'un Service Pipe Intersecting à un autre Service Pipe Intersecting. Cela fonctionne correctement lors de la création d'une nouvelle entité Service Pipe ; cependant, j'obtiens des résultats incohérents lors du fractionnement d'une entité Service Pipe existante. Si le champ ServiceID a une valeur qui ne correspond pas à un enregistrement, cela fonctionne correctement et copie le ServiceID vers la nouvelle entité Service Pipe créée par le fractionnement. Cependant, si le champ ServiceID a une valeur qui correspond à un enregistrement, la valeur n'est pas copiée.<\/P><\/P>Dans le code AA,<\/P>sourceFeature.get_Value(sourceField) renvoie null s'il y a un enregistrement lié, mais renvoie la valeur ServiceID lorsque je mets un ServiceID qui ne correspond pas à un enregistrement.<\/P><\/P>Est-ce un bug, ou quelqu'un connaît-il une solution de contournement ?<\/P><\/P>Voici la configuration exacte :<\/P>
<\/P>
J'ai configuré Attribute Assistant pour copier un ServiceID (champ Clé étrangère) d'un Service Pipe Intersecting à un autre Service Pipe Intersecting. Cela fonctionne correctement lors de la création d'une nouvelle entité Service Pipe ; cependant, j'obtiens des résultats incohérents lors du fractionnement d'une entité Service Pipe existante. Si le champ ServiceID a une valeur qui ne correspond pas à un enregistrement, cela fonctionne correctement et copie le ServiceID vers la nouvelle entité Service Pipe créée par le fractionnement. Cependant, si le champ ServiceID a une valeur qui correspond à un enregistrement, la valeur n'est pas copiée.<\/P>
Dans le code AA,<\/P>
sourceFeature.get_Value(sourceField) renvoie null s'il y a un enregistrement lié, mais renvoie la valeur ServiceID lorsque je mets un ServiceID qui ne correspond pas à un enregistrement.<\/P>
Est-ce un bug, ou quelqu'un connaît-il une solution de contournement ?<\/P>
Voici la configuration exacte :<\/P>
There is an option to suspend the AA on split, can you check that in the loaded.aa.config file?
The key "OnCreateWhenSplit" has it's value set to "False". Should I change this to "True"?
I was thinking of something else, but I do not see that option. Could you activate the log file and maybe that can help us narrow it down. How are you splitting the service line? Does not make sense that get_value is not getting the value when split, unless the new feature is not getting is ID carried over because of the 1:M relationship. If you split a main that has a valid ID, with the AA turned off, do the resulting 2 features have the same ID, hence violating the 1:M relationship?
OK, so I tested changing this value from "False" to "True" and it still doesn't work. The fields that do not have a relationship class with a link record work correctly, but the ServiceID field doesn't. For example, my InServiceDate and InServiceYear will copy to the newly created split feature, but the ServiceID does not.
Let me try to explain the data model a little better:
There is a table called P_ServicesSummary. This table gets a uniqueid called ServiceID generated by Attribute Assistant. There is a 1:M relationship between P_ServicesSummary (Origin) ServiceID (PK) to the feature class P_Service(Destination) ServiceID (FK).
If the P_Service feature that I am splitting has a ServiceID value that matches a ServiceID in the P_ServicesSummary, it will return null as the value; however, if I enter "dumb data" into the ServiceID field like "12345", so there isn't a matching record in P_ServicesSummary table. The get value will return the "12345" and copy it to the newly created service feature correctly.
I will send the log information shortly.
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.