鉴于:
名为A的课程:
class A Extends %Persistent
{
Property rB As B;
ForeignKey FKB(rB) References B();
}
A类的一个实例,名为objA,其中objA.rB =" B3" (这是一个无效的值,因为B没有" B3"持续记录)
我想要:
当要保存objA时(objA。%Save()),用空字符串替换rB无效值并保存。
到目前为止:
我尝试使用回调方法(%OnBeforeSave)进行替换,但似乎之前正在调用%ValidateObject。
有没有办法在%ValidateObject之前使用回调方法进行值更改?
提前致谢。
答案 0 :(得分:2)
您可以在回调方法%OnAddToSaveSet中修改对象: http://docs.intersystems.com/cache201511/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_callbacks#GOBJ_cb_onaddtosaveset