错误提示英文是"Target frame is ancestor of script object"

天行者008 2008-08-19 11:04:20
错误提示英文是"Target frame is ancestor of script object"
操作环境:
cs模式开发的库,采用帧结构集,在帧结构集的右边的帧结构中一个视图中的按钮中写lotusscript,
当运行时,经常会提示:错误提示英文是"Target frame is ancestor of script object"。
代码:
'全集团的实际分布,所有的PBC完成审批后才能统计
'20080709
'Msgbox "agent begin"
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim dlgdoc As NotesDocument
Dim tempdoc As NotesDocument
Dim uidoc As NotesUIDocument
Dim view As notesview
Dim tempview As NotesView
Dim vn_PBCPLFU As NotesView
Dim keystr As String
Dim selection As String
Dim dc As NotesDocumentCollection
Dim collstr As Variant
Dim deptcoll As Variant
Dim iColumn As Integer
Dim richStyle As NotesRichTextStyle
Dim richText As NotesRichTextItem
Dim styles(1 To 11) As NotesRichTextParagraphStyle

Dim ANum As Integer '绩效等级为A的PBC数量
Dim BBNum As Integer 'B+的PBC的数量
Dim BNum As Integer 'B的数量
Dim CNum As Integer 'C的数量
Dim DNum As Integer 'D的数量
Dim TotalNum As Integer '全集团PBC总的数量

Dim APercent As Variant
Dim BBPercent As Variant
Dim BPercent As Variant
Dim CPercent As Variant
Dim DPercent As Variant

'初始化
ANumSum = 0
BBNumSum = 0
BNumSum = 0
CNumSum = 0
DNumSum = 0

APercentSum = 0
BBPercentSum = 0
BPercentSum = 0
CPercentSum = 0
DPercentSum = 0

Set db = s.CurrentDatabase
Set view = db.GetView("(vn_AllPBCNotCompleted)") '未完成审批的PBC
Set dc = view.GetAllDocumentsByKey("%")
'Msgbox "未完成的PBC:"
'Msgbox dc.Count
If dc.count>0 Then
Msgbox "有PBC未完成绩效等级评估,暂不能查看全集团的实际绩效等级分布"
Exit Sub
End If
'如果全集团所有PBC都已经完成审批,则求出各个绩效等级的数量和百分比
Set vn_PBCPLFU = db.GetView("(vn_AllPBCCompleted)")
Set dc = vn_PBCPLFU.GetAllDocumentsByKey("%")
TotalNum = dc.Count

Set dlgdoc = New NotesDocument(db)
dlgdoc.Form = "fm_PBCCalssDistribution"

If dc.Count <> 0 Then
'初始化变量
ANum = 0
BBNum = 0
BNum = 0
CNum = 0
DNum = 0
'分别求出A、B+、B、C、D的PBC数量和PBC的总数
Set tempdoc = dc.GetFirstDocument
Do While Not tempdoc Is Nothing
If tempdoc.PBCClass(0) = "A" Then
ANum = ANum + 1
Elseif tempdoc.PBCClass(0) = "B+" Then
BBNum = BBNum + 1
Elseif tempdoc.PBCClass(0) = "B" Then
BNum = BNum + 1
Elseif tempdoc.PBCClass(0) = "C" Then
CNum = CNum + 1
Elseif tempdoc.PBCClass(0) = "D" Then
DNum = DNum + 1
End If
Set tempdoc = dc.GetNextDocument(tempdoc)
Loop

'求出各个等级所占的百分比
If TotalNum <> 0 Then
APercent = ANum/TotalNum
BBPercent = BBNum/TotalNum
BPercent = BNum/TotalNum
CPercent = CNum/TotalNum
DPercent = DNum/TotalNum
End If

'为dlgdoc赋值,实际分布汇总
dlgdoc.APercent = APercent
dlgdoc.BBPercent = BBPercent
dlgdoc.BPercent = BPercent
dlgdoc.CPercent = CPercent
dlgdoc.DPercent = DPercent

dlgdoc.ANum = ANum
dlgdoc.BBNum = BBNum
dlgdoc.BNum = BNum
dlgdoc.CNum = CNum
dlgdoc.DNum = DNum

'Call ws.EditDocument(False, dlgdoc,True,,False)
'Call ws.SetTargetFrame("view")
Call ws.EditDocument(False, dlgdoc,True,,False)
'Set uidoc = ws.EditDocument(False, dlgdoc,True,,False)
End If
...全文
114 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
下载代码方式:https://pan.quark.cn/s/dd3561eca308 在软件开发领域,面向对象编程(OOP)是一种普遍采纳的结构化方法,它使得开发者能够借助模拟现实环境中的实体和关系来构建软件系统。在本案例中,我们观察到的是一个关于借助抽象类来执行不同几何图形面积求解的实践应用。现在,让我们详细分析这一议题。 标题 "应用抽象类计算面积" 清晰地表明我们将要讨论一个抽象类,此类设定了一个用于测量图形面积的标准函数,但并未提供实际的执行过程。抽象类在诸如C#或Java等编程语言中通常借助`abstract`修饰符进行声明,它们无法直接创建对象实例,仅能作为其他类的基础模板。 描述部分提及的"图形界面应用"暗示这是一个基于视觉用户界面(GUI)的系统,可能运用了.NET Framework的Windows Forms或WPF技术,或者是Java平台的Swing或JavaFX框架。在这样环境下,用户能够通过视觉元素与这些几何体进行互动,例如输入相关尺寸并观看到计算得出的面积值。 抽象类“几何体”内嵌了“计算面积”这一抽象函数。在代码层面,这可以被表述为: ```csharp public abstract class GeometricShape { public abstract double CalculateArea(); } ``` 随后,有三个派生类:圆(Circle)、矩形(Rectangle)和三角形(Triangle),它们各自提供了这个抽象函数的具体实现。比如,圆的面积是通过π乘以半径的平方得到的,矩形的面积是长和宽的乘积,而三角形的面积可能是底乘以高再除以2的结果。这些类将提供具体实现来计算它们各自的面积: ```csharp p...

536

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧