1

2 つのモジュール、Accounts と別のカスタム モジュール (「Estadisticos」と呼びます) の間に関係を作成しようとしています。SuiteCRM の最終的なモジュール名は「Mk902_Estadisticos」です。REST API を介してモジュールにデータを正常に挿入しましたが、今は Accounts モジュールを使用してこれらのレコード間の関係を作成しようとしています。使用しているコードは、別のモジュール間で正常に使用したものと同じです。アカウントとの連絡先ですが、この場合、これを送り返すのは面倒ではありません:

{"作成":0,"失敗":1,"削除":0}

これは、デフォルト モジュールでは正常に機能するが、カスタム モジュールでは機能しないコードです。

    Map<String, Object> tmpHash = new LinkedHashMap<String, Object>();
    List<String> tmpRelatedIds = new ArrayList<String>();
    tmpRelatedIds.add(aRelatedId);

    tmpHash.put("session", this.getSessionId());
    tmpHash.put("module_name", METHOD_NAME);
    tmpHash.put("module_id", anId);
    tmpHash.put("link_field_name", aMethodRelated.toLowerCase());
    tmpHash.put("related_ids", tmpRelatedIds);

    JSONObject tmpRetreivedData = this.callWS("set_relationship", tmpHash);

    if(tmpRetreivedData != null && tmpRetreivedData.size() > 0){
        System.out.println(tmpRetreivedData.toJSONString());
        return tmpRetreivedData;    
    }
    else{
        return null;
    }

カスタム モジュールを使用して REST 経由で関係を作成できないのでしょうか?

注: 私は Java でコーディングしていますが、PHP のヘルプも役立つ可能性があります。

どうもありがとう!

4

1 に答える 1

2

問題が見つかりました。カスタム モジュールの場合、WebService は、この追加された「_accounts」に関連するモジュールを予期していました。たとえば、アカウントに関連していた場合です。

たとえば、連絡先をアカウントに関連付ける場合、「モジュール名」は「アカウント」である必要がありますが、「リンク フィールド名」は「連絡先」である必要がありますが、「カスタム」などのカスタム モジュールがあり、アカウントとの関係を設定している場合は、次のようになります: 'module_name' 'Accounts' 'link_field_name' 'custom_accounts'

于 2015-10-22T16:02:23.960 に答える