Lotus Domino维护之财务监理(一、价格核定)(浅述)
*项目名称 | (选1) | ||
设备材料序号 | (填) | 设备材料名称 | (填) |
型号及规格 | (填) | 单位 | (填) |
所用部位 | (填) | 品牌 | (填) |
供应商名称 | 申报单价 | 是否采用 | |
(填) | (填)---数字域 | ◎是 ◎否 | |
。。。。 | | | |
核定单价 | (填)---数字域 | ||
中选供应商通讯地址 | (填) | ||
中选供应商联系电话 | (填) | ||
备注 | (填) |
项目名称:从监理负责的项目中选;
该表单设计的主要是价格核定表单变更的设计,对于已经提交的价格核定单,由于业务需要,可能会改变供应商的数量、供应商的名称,或改变已经采用的相关供应商的选择。对于被变更的表单内容我们需要将其记录在日志中,并显示出来便于查看。
对于这个需求,目前想到的方法有两种如下:
一、在表单变更完毕时,通过将表单中各个值和日志中记录的表单中的原先值进行比较将改变部分写入到变更日志中,并通过HTML将变更日志中的值写成表格样式,附加在原核价表单的下面。
优点:最新的变更内容和核价表单变更前的内容同在一个表单中,层次清晰,变更内容更容易查看和比较;
缺点:由于需要遍历所有的相关域值,所以对系统的性能影响比较大,特别是当表单中有上百甚至上千个域时,这个方法的这个缺点更加明显。采用这个方法对表单的维护也造成一定的负担,主要是如果表单中各个相关域的添加、删除或者修改都将连带的造成运行程序的修改(因为程序的域调用是写死的)。
综上,该方法的可维护性、可扩展性、灵活性及可复用性一般。
二、新建核价表单,总是将最新的表单文档当作主文档,并将原先的所有文档当作该主文档的答复文档附加到该主文档中。
优点:通过在原表单文档的基础上,创建新表单进行变更,并将原文档作为新文档的答复文档,这些不涉及对各个域值的内容比较,提高系统效率,增加可维护性,可扩展性及可复用性等。
缺点:用户对表单的变更内容查看不直观,对于变更的内容不容易进行查看及比较。
表单流程:
新建----->归档;
新建----->归档----->变更----->归档...
代码核心片段:
.......
Set item=doc.GetFirstItem("txtrepUnid")
Call item.AppendToTextList(doc.txtUnid(0))
Forall id In item.Values
Set cdoc=db.GetDocumentByUNID(id)
Call cdoc.MakeResponse(doc)
Call cdoc.Save(True,True)
End Forall
..........