SuiteCRM自定义popview的条件查询

时间:2018-02-24 14:31:42

标签: sugarcrm suitecrm

如何为弹出视图进行自定义查询,我如上所述在ViewList中进行了更改,但它不会影响弹出视图列表中的列表。

我的要求是在我从发票模块打开时传递产品类型。

在发票中,我们有产品线和服务项目,从产品模块,我按类型区分产品,同时将新产品添加为“商品”或“服务”。

现在我创建了2个自定义文件view.list.php和view.popup.php。

但是不明白如何将view.popup.php中的type标志传递给view.list.php

如果有人建议我在关联从服务热线调用的弹出窗口和从产品线调用的弹出窗口时过滤产品数据,那将会很棒。

由于

1 个答案:

答案 0 :(得分:-1)

这是我们必须做的安全升级:

  1. 创建文件夹custom / modules / AOS_Products_Quotes /
  2. 在文件夹中创建原始Line_Items.php的副本,但以不同方式命名该函数,以免它发生碰撞。
  3. 创建line_items.js的自定义副本
  4. 更改Line_Items.php中包含的脚本以包含新的JS $html .= '<script src="modules/AOS_Products_Quotes/line_items.js"></script>';
  5. 编辑line_items.js以过滤所需的字段
  6. 要调用自定义Line_Items.php,您必须在AOS_Quotes / Ext / Vardefs / vardefs.ext.php上执行此更改:

    $dictionary['AOS_Quotes']['fields']['line_items']=array(
        'required' => false,
        'name' => 'line_items',
        'vname' => 'LBL_LINE_ITEMS',
        'type' => 'function',
        'source' => 'non-db',
        'massupdate' => 0,
        'importable' => 'false',
        'duplicate_merge' => 'disabled',
        'duplicate_merge_dom_value' => 0,
        'audited' => false,
        'reportable' => false,
        'inline_edit' => false,
        'function' =>
            array(
                'name' => 'lx_display_lines',
                'returns' => 'html',
                'include' => 'custom/modules/AOS_Products_Quotes/Line_Items.php'
            ),
    );
    

    确保根据您的需要编辑自定义line_items.js以进行过滤。查找具有sqs_objects属性的condition,您可以在其中过滤事物,留下硬编码/默认值或(我们做什么)从另一个JS调用中获取它,如window.getCurrenUserSettings

    sqs_objects["product_name[" + prodln + "]"] = {