怎么样才能使文档在保存前后其UNID是一样的呢?
在文档中用了一个域显示文档的UNID,其值为@Text(@DocumentUniqueID),在新建文档的时候就会显示文档的ID,但保存后通过超连接发现该ID已变了,并不是文档中那个域的值了,但在有个功能要用到在新建文档时向另一个文档传递当前的UNID,但又不可能每次先保存当前文档,请问有没有什么好办法啊. --------------------编程问答-------------------- 一般的用法就是需要保存后产生有效的UNID来关联文档。如果不能确保能够先保存又需要传递这个文档的链接,可以自己建一个创建时计算的域,即文档UNID
把它传过去,那边要取的话就通过搜索来找,建议用视图的关键字搜索方法getdocumentbykey
事实上无论是传之前还是之后都需要保存文档的,否则即便传过去,以后还是找不到关联的文档。 --------------------编程问答-------------------- 在@WEBQUERYSAVE事件中写入下公式:
@if(@isnewdoc;@setfield(unid;@text(documentuniqueid));"") --------------------编程问答-------------------- 不建议直接使用getdocumentbyunid这样的东西,比较死,做数据迁移的时候会比较麻烦,直接用1楼的说得getdocumentbykey的方法比较好,这样就跟文档的实际UNID没什么关系了,变不变都无所谓
--------------------编程问答-------------------- 嗯,不要用getdocumentbyunid这样的东东,后续维护比较麻烦的 --------------------编程问答-------------------- 强烈建议不要使用getdocumentbyunid
由于文档迁移,读者域变更都会导致错误。
特别是读者域变更,由于这个时候Getdocumentbyunid还可以取得文档,导致数据操作错误,我现在很多程序都要修改。 --------------------编程问答-------------------- lz要干嘛?
补充:企业软件 , Lotus