在Form的字段'SoaType'中有一个子域'PropDescs',它包含表单上字段的名称,但不包含值。
对于前。字段'owning_group'包含密钥'owning_group'和值'{Teamcenter.Soa.Internal.Client.Model.PropertyDescriptionImpl}',而不是包含owning_group名称的字符串。
相反,该值公开PropertyDescription类型成员,例如。 'enabled,FieldType,InitialValue,Localizable,LovCategory'仅举几例,但同样,该字段中的实际值不存在/未加载。
在表示Form的WorkspaceObject上运行DataManagementService.GetProperties不会加载任何其他属性,即Object_properties,在这种情况下看起来是所需的字段。
GetAttachedPropDescs2文档措辞没有提供清晰度 - “根据输入类型名称和属性名称结构获取附加属性描述符。”
这是否意味着需要输入类型,例如。 “ItemRevision”,以及前。 name“object_name”,输出是“String”还是存储在object_name中的实际值?
同样,此方法如何知道从哪个对象提取数据?
tl; dr - 如何在表单上加载给定字段的输入值并检索它?
答案 0 :(得分:0)
ModelObject.GetProperty(string propertyName)返回一个'Property'对象,该对象包含各种参数中的数据,即'DisplayValue','StringValue'等等。
注意:这至少对我来说也会返回通过BMIDE创建的自定义属性。
前:
// Load the property
Teamcenter.Soa.Client.Model.Property temp = ModelObject.GetProperty("owning_user");
// Data entered into "owning_user" field
string refFormText = temp.StringValue;