首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Genexus 3将数据分配给事务中的元素

问Genexus 3将数据分配给事务中的元素
EN

Stack Overflow用户
提问于 2016-07-19 19:22:24
回答 2查看 617关注 0票数 0

在基于业务组件(对于外键事务)为事务属性赋值时,我遇到了一些问题。

  • 如果我想在事件中赋值,我将得到一个spc0150错误(Cannot update database. Changes to database are only allowed in procedures)。
  • 如果我将其放入规则中,就会得到一个spc0158警告(Rule 'OperacionChTasaInteres = &Analisis.Analisistasa IF &Cambioempresa .AND. .NOT. &Errorempresa ; ' not included.),而该规则不会被执行。

我有很多属性要分配,所以我认为最后一个肮脏的方法是在规则中调用一个过程,它读取(再次)事务,并将值作为输出参数返回,但是如果我要做很多次,我必须创建很多过程,只是为了初始化和计算。在尝试之后,我有了这个过程,但是由于对一个事件分配了条件变量,所以规则永远不会被执行。

我认为的脏选项是将这个Foreign事务的所有必需属性添加到我需要他的字段的事务中,但我将以一个长而脏的事务结束。

非常感谢,艾丽尔

EN

回答 2

Stack Overflow用户

发布于 2016-07-20 11:02:44

您在哪里使用业务组件?在GeneXus中有三种插入、更新或删除数据的方法:

  1. 对象事务:如果您不仅可以键入数据,还可以在“规则”中更改数据(即: Att1 = Att2 * Att3 (条件);),您不能在"events“中这样做。
  2. 过程,使用"For each“更新或删除,使用"New”插入。
  3. 业务组件(不推荐,它会阻塞很多表):在设置为"Business“= True的事务中,您可以在过程或webpanel中定义基于此事务的变量。您不应该在事务对象中使用业务组件。
票数 0
EN

Stack Overflow用户

发布于 2016-07-20 17:49:37

如果在IsValid事件中设置了变量,请尝试将变量放在表单中。您可以将它们全部放在一个表中,并将其隐藏在Start事件中。如果它不起作用,添加接受规则(&VariableX 1);接受规则(&VariableX);记住,您将隐藏它们,因此,如果它们是编辑的,就没有问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38466855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档