Michael Miller<\/A> attributeassistant<\/P><\/P>Eu configurei o Attribute Assistant para copiar um ServiceID (campo de Chave Estrangeira) de um Tubo de Serviço Intersectante para outro Tubo de Serviço Intersectante. Isso funciona corretamente ao colocar uma nova feição de Tubo de Serviço; no entanto, obtenho resultados inconsistentes ao dividir uma feição existente de Tubo de Serviço. Se o campo ServiceID tem um valor que não está vinculado a um registro, ele funcionará corretamente e copiará o ServiceID para a nova feição de Tubo de Serviço que é criada pela divisão. Porém, se o campo ServiceID tem um valor que está vinculado a um registro, o valor não é copiado.<\/P><\/P>No código do AA,<\/P>sourceFeature.get_Value(sourceField) retorna null se houver um registro vinculado, mas retorna o valor do ServiceID quando eu coloco um ServiceID que não corresponde a um registro.<\/P><\/P>Isso é um bug ou alguém sabe uma forma de contornar isso?<\/P><\/P>Aqui está a configuração exata:<\/P>
<\/P>
Eu configurei o Attribute Assistant para copiar um ServiceID (campo de Chave Estrangeira) de um Tubo de Serviço Intersectante para outro Tubo de Serviço Intersectante. Isso funciona corretamente ao colocar uma nova feição de Tubo de Serviço; no entanto, obtenho resultados inconsistentes ao dividir uma feição existente de Tubo de Serviço. Se o campo ServiceID tem um valor que não está vinculado a um registro, ele funcionará corretamente e copiará o ServiceID para a nova feição de Tubo de Serviço que é criada pela divisão. Porém, se o campo ServiceID tem um valor que está vinculado a um registro, o valor não é copiado.<\/P>
No código do AA,<\/P>
sourceFeature.get_Value(sourceField) retorna null se houver um registro vinculado, mas retorna o valor do ServiceID quando eu coloco um ServiceID que não corresponde a um registro.<\/P>
Isso é um bug ou alguém sabe uma forma de contornar isso?<\/P>
Aqui está a configuração exata:<\/P>
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.
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.
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?
The key "OnCreateWhenSplit" has it's value set to "False". Should I change this to "True"?
There is an option to suspend the AA on split, can you check that in the loaded.aa.config file?
Membros conectados podem postar, seguir atualizações e mais. Novo aqui? Registre uma conta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.