繁体   English   中英

导丝政策中心有多少种捆绑

[英]How many types of bundle in guidewire policy centre

解释捆绑类型,如当前捆绑新捆绑。 我们何时使用以及它将如何对我的交易产生影响。 请举例说明。

注意:不要在生产环境下运行 Gosu Script

“当前”包是包含可用于当前代码上下文的对象的包。 这包括但不限于用户界面和插件。 这些捆绑包由 Guidewire 应用程序自动创建,以创建、修改或编辑数据。 集成开发人员可以引用当前包中的实体。 他们也可以提交当前的捆绑包,尽管在某些情况下这是不可取的。

var bundleVar = gw.transaction.Transaction.getCurrent()
bundle.Commit()

只读包是包含从数据库检索的实体的包。 这包括作为查询结果返回的实体,以及当相关实体位于只读包中时相关实体的外键引用的实体。 只读包中的实体无法修改。 但是,您可以将实体从只读包复制到可写包中。

示例:查询

在此处输入图像描述

新捆绑包是由集成代码显式创建的捆绑包。 与只读包不同,您可以在新包中修改和提交数据。 与当前捆绑包不同,您可以提交新捆绑包,而不必担心捆绑包中发生以后的交互。

•创建一个新包(未指定用户):

gw.transaction.Transaction.runWithNewBundle(\ newBundle -> {
  CodeBlock } )

示例:更新 Vin 编号

//Getting the peopicy period by Job number
var period=Job.finder.findJobByJobNumber("12345").LatestPeriod
gw.transaction.Transaction.runWithNewBundle(\ newBundle -> {
  //Adding present object to the bundle
  
  newBundle.add(period)
  period.PersonalAutoLine.Vehicles.each(\ veh -> {
       print("before script ="+veh.Vin)
       veh.Vin="12345678"
       print("After script ="+veh.Vin)
  }
  } )

• • 创建一个新的捆绑包(作为指定的用户):

gw.transaction.Transaction.runWithNewBundle(\ newBundle -> {
  CodeBlock } , user )

示例:按用户-超级用户更新 Vin 编号

gw.transaction.Transaction.runWithNewBundle(\ newBundle -> {
  //Adding present object to the bundle
  period.PersonalAutoLine.Vehicles.each(\ veh -> {
       veh.Vin="12345678"
  }
  } , "su")

• runWithNewBundle() 方法固有地在方法末尾提交包

Bundles主要有3种类型。

  1. 当前捆绑包(例如:如果在 Guidewire UI 中发起交易,则 Guidewire 将自动创建当前捆绑包)

  2. 只读包(例如:如果您 select 数据库中的任何结果,那么使用 Gosu 查询获取的结果将在只读包中可用。要使其可写包,然后将结果添加到新包)

  3. 新捆绑包(示例:此捆绑包用于提交数据或实体,当您使用批处理时,Webservice Guidewire 不会创建任何捆绑包,开发人员必须创建一个新捆绑包(使用新捆绑包运行)来提交数据到数据库)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM