2009-06-08 49 views

回答

1

当保存文档,你可以通过使用日期或任何你喜欢的技术放在一起数的第一部分(EJ。“PO” &格式(日期,“年月日”)& confDoc.getitemvalue(“doccounter” ))。

至于计数器我喜欢将它存储在配置文件中,并在保存每个文件时进行更新。如果在白天创建了大量文档,您可以在配置文档中遇到代表冲突,如果是这种情况,您可以让服务器上的代理进行实际的数字分配,但缺点是您不能保存时不会立即得到号码。

希望这会有所帮助。

+0

只是一个说明;在抓取下一个数字之前,您可以通过锁定它来避免配置文档上的大多数复制冲突。如果您只在客户端可以从管理服务器获取计数器时分配数字,则应该非常安全。 – 2009-06-09 21:28:16

1

这不是简单的。

为唯一键和此键保存onSave(或其他事件)创建字段,但您必须保护此号码是唯一的。

您可以创建代理,在多米诺服务器上检查号码,如果代理发现冲突,则通知应用程序管理员或其他责任人员解决此问题。

或者每个副本都生成自己的编号,并且在多米诺骨牌上复制后,代理以正确的格式分配编号。

1

我们的服务台中使用的一种解决方案是采用当前用户的姓名缩写并将其添加到视图中最后一个文档中的数字。将一个号码添加到号码中,并将新文件与ititals以及新号码一起存储为密钥。

1

只需使用@Unique函数(不带任何参数),就可以在Domino中创建一个“接近”的唯一键。这将根据当前用户的姓名和当前时钟时间生成一个字符串键。你最终会得到一个类似于“ESCR-12345678”的字符串。

我说“几乎”是唯一的,因为它不是真的像SQL中的标识列--Domino并不保证它只会发出一次特定的字符串。如果您在一次生成多个id的服务器端代理中使用@unique - 例如,在代码中循环使用@unique,您可以进入@unique将返回重复的情况 - 因为您创建2个文档在同一秒内,因为您的“用户名”始终是服务器的规范名称。但是,除此之外,@unique通常可以安全使用。

如果您需要通过此ID打开或引用文档,只需创建一个按该ID排序的视图,并且您可以以../myView/id?readDocument形式创建一个URL。