仅当$ bean-> status更改时,逻辑钩子才会触发

问题描述

我想实现一个将发票状态更改为“已验证”时触发的Sugar逻辑挂钩。
这是我的逻辑钩子:

<?PHP
$hook_version = 1; 
$hook_array = Array(); 
$hook_array['after_save'] = Array(); 
$hook_array['after_save'][] = Array(1,'status invoices Changes','/var/www/html/suitecrm/modules/AOS_Invoices/AOS_LogicHooks.PHP','AOS_LogicHooks','statusInvoicesChanges'); 
?>

这是我的动作课:
<?PHP class AOS_LogicHooks {
 public function statusInvoicesChanges (SugarBean $bean,$event,$arguments){
if($bean->status == 'Validated' && $bean->fetched_row->status <> $bean->status){ 
$GLOBALS['log']->fatal("Status has been changed");
}}}
?>  


我想念什么?

解决方法

我们都犯了一个简单的错误,读取的行是一个数组,因此您不能将内容作为属性访问。

我刚刚测试了一下,效果很好!看看:

```@(Html.Kendo().Grid(Model.SpecificRequirementList)
                                    .Name("SpecificationRequirementDetails")
                                            .Columns(columns =>
                                            {
                                                columns.Bound(p => p.Id).Visible(false);
                                                columns.Bound(p => p.SpecificRequirement).Title("Specific Requirements").HtmlAttributes(new { style = "text-align:left;",@title = "#= SpecificRequirement#" }).Width("10%");
                                                columns.Bound(p => p.Description).Title("Description").Width("10%").HtmlAttributes(new { style = "text-align:left;",@title = "#= Description#" }).Width("10%");
                                                //columns.ForeignKey(o => o.Uom,Model.UomCollection,"Value","Text").Title("UOM").HeaderHtmlAttributes(new { style = "text-align: left" }).Width(50).Visible(true);
                                                columns.ForeignKey(p => p.Uom,(System.Collections.IEnumerable)ViewBag.MyList,"Text").Width(60);
                                                columns.Bound(p => p.Modifiedby).Title("Modified By").Width("5%").HtmlAttributes(new { style = "text-align:left;",@title = "#= Modifiedby#" }).Width("5%");
                                                columns.Bound(p => p.ModifiedOn).Title("Modified On").Width("5%").HtmlAttributes(new { style = "text-align:left;",@title = "#= ModifiedOn#" }).Width("5%");
                                                columns.Bound(p => p.Active).Title("Active").Width(20).ClientTemplate("<input type='checkbox'  class='clscheckdactive'   id='checkedActive' name='checkedActive' # if (Active=='Y') { #checked='checked'# } else {Active=='N'}# disabled='true' value= '#= Id #'  />")
                                                 .Filterable(false);
                                            })
                                                                          .Selectable()
                                                                          .Navigatable()
                                                                          .Scrollable()
                                                                           .Filterable(KendoConfig.FilterConfiguration)
                                                                          .Editable(e => e.Mode(GridEditMode.InCell).Enabled(true))
                                                                          .Reorderable(reorder => reorder.Columns(true))
                                                                           .Resizable(resize => resize.Columns(true))
                                                                          .DataSource(dataSource => dataSource
                                                                            .Ajax()
                                                                            .Batch(true)
                                                                            //.PageSize(20)
                                                                            .Model(model =>
                                                                            {
                                                                                model.Id(p => p.Id);
                                                                                model.Field(p => p.SpecificRequirement).Editable(true);
                                                                                model.Field(p => p.Description).Editable(true);
                                                                                model.Field(p => p.Active).Editable(false);
                                                                                model.Field(p => p.Modifiedby).Editable(false);
                                                                                model.Field(p => p.ModifiedOn).Editable(false);
                                                                            })
                                                .Read(read => read.Action("GetSpecificationRequirements","SpecificRequirement"))
                                                                    )
                                                                    .Events(e => e.DataBound("onDataboundRequirementsGrid").Edit("OnEditGrid"))
)```

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...