Siebel开发中碰到的小问题与解决方案汇总

来源:互联网 发布:java中equals方法重写 编辑:程序博客网 时间:2024/06/06 01:14

1: 在siebel同一个view中,如果多个Applet的Browser Scripts有相同名字的方法,那么在具体页面的调用中,就有可能产生调用错误方法。

 

2:如何在点击一个view的link后,让浏览器定位于某一个特定的Applet:

1.       在view的User Prop中加入一个属性“DefaultAppletFocus”,值为需要focus的applet名字

2.       再在相应的applet上加入User Prop “DefaultFocus_(applet mode name)”, 比如“DefaultFocus_Edit”,值为需要定位的control。

 

3:如何设置一个applet中特定control的字体颜色:可以在applet的Browser Scripts中的Applet_Load方法中写,先找到相应的control,再设定字体颜色属性,具体示例代码如下:

       var ctr =this.FindControl("Province");

       ctr.SetProperty("FontColor","#FFOOOO");

 

4: 在一个Popup的applet中,如何触发double click事件:在applet的User Prop中加入属性“Double Click Applet Method”,它的值填你需要调用的方法,这样在双击Popup Applet的记录时,就可以触发该方法。

 

5: 如何设置form的一个label为一个link,并跳转到相对应的页面:在applet中新建一个control,并把它的html type设置成link,在method invoke属性中填入DrillDown方法。在applet 的DrillDown Object中新建记录,填入与control相同的名字,并配置页面跳转信息(view, destination BC, source field,destination field)就好。

 

6: 在同一个view中,显示的两个applet基于同一个BC,当两个applet有各自不同的search specification时,applet上显示的record只是按照其中一个search specification来过滤,siebel的机制即是如此。那如果我们还是需要在两个applet显示各自不同过滤出来的结果时,我们可以设置其中的一个applet的base BC为原BC的copy。

 

7: 设置了applet的search specification之后,compile applet重新打开view往往看不到新的效果,这时可以先编译applet所在的view,再编译添加了新的search specification的applet。

 

8: 如何个性化设置Calendar:siebel8.1版本之后,对于如何设置Calendar只剩下BC “Action”中的3个User Prop来控制。这3个属性是:

 - LS Calendar TooltipField
 - LS Calendar Icon Field
 - LS Calendar Display Text Field

他们对应的值分别是ActionfieldLS Calendar TooltipLS Calendar Icon, LSCalendar Display Text.具体的用法可以去Oracle Support搜索“1436553.1”。有一点需要注意的是,在更改Calendardisplay field时,我们可以设置LS CalendarDisplay Text为具体要显示的字段,但是当descriptionnull的时候,在calendar上都只显示(no description),所以我给description设了一个初始值(设置 Pre DefaultValue),这样在calendar上面就可以显示我们设置的字段。

 

9: 关于在WebApplet_PreCanInvokeMethod中使用FirstSelected()方法:在WebApplet_PreCanInvokeMethod中使用了FirstRecord()方法,会导致在同一个view中其他的base在同一个BCapplet会自动更新。

 

10: 如何给一个Static Picklist设定一个默认值:找到引用这个默认值所对应的field,并在Predefault Value这个属性填入:Expr: "LookupValue('Type', 'Language-Independent Code')"

 

11: 一个appletQuery mode:一个appletQuery Mode在它所引用的template生成之时,就已经记录下来了。之后不管你如何对template进行改动,Query mode的样式都不会改变。如果我们需要对Querymode进行改变的话,那就必须重新载入新的template,在载入之前,那个template就必须是我们所需要的并且已经正确的,因为你无法在载入之后对其修改。(载入之后的修改对于Query是无效的)

 

12: Siebel 的FindControl方法只在form applet中有效,如果我们需要把焦点focus到具体的某个control的时候,我们可以先用FindControl获取到具体的control,然后再使用theControl.focus()方法聚焦。

Note:

在List Applet的browser scripts 中,新建一条记录后,在当前某个字段填入值之后,直接按ctrl + s保存,browser scripts中并不能获取当前focus字段的值,也就是说当前值并不存在于query中,你需要先把焦点聚集到其他的control上,值才会直接保存下来。

 

原创粉丝点击