在salesforce phptoolkit中,如何获取动态下拉列表值

|| 我想知道如何根据其他字段动态获取下拉列表的值。例如:如果依赖于“类别”下拉菜单,如何获取“子类别”的值。 还想知道如何才能找到\“ Case \”的所有字段,以便提交新的\“ Case \”。我正在尝试使用phptoolkit来做到这一点,但是我没有找到任何好的文档。     
已邀请:
实际上,PHP工具包是WSDL SOAP包装器,因此适用于salesforce API Web服务的任何内容都适用于PHP工具包。 以下是解决您的问题的过程(我没有PHP示例): 调用
describeSObject
检索有关对象的信息
describesObjectResult.Fields
中的每个字段对您来说具有三个重要属性,
creatable
nillable
defaultedOnCreate
。如果可创建但不可设置且未默认,则必须提供一个值,这将回答问题2 如果字段类型是picklist或multipcklist,则字段的“ 5”包含一个“ 6”元素的列表。如果选择列表是相关的,则每个条目在“ 7”属性中都包含一个base64编码的位图。位置i的每个位为0或1,对应于位置i的选择列表条目是否适用于主选择列表条目。 您必须对位图进行解码,并使用它来确定可以将此特定条目用于哪些主选择列表条目。不幸的是,目前这是唯一的方法。 我可以在javascript中给我一个样例(
lstCategories
lstSubcategories
PickListEntry
的数组),创建的
lstApplicableSubs
具有每个类别的子类别列表。这应该为您提供一种解码方法:
    var b64 = new sforce.Base64Binary(\"\");
    lstApplicableSubs = new Array(lstCategories.length);
    for (var i = 0; i < lstApplicableSubs.length; i++) lstApplicableSubs[i] = new Array();
    for (i = 0; i < lstSubCategories.length; i++)
    {
        var map = b64.decode(lstSubCategories[i].validFor);
        for (var j = 0; j < lstCategories.length; j++)
        {
            var bits = map.charCodeAt(j >> 3);
            if ((bits & (0x80 >> (j & 0x07))) != 0) lstApplicableSubs[j].push(lstSubCategories[i]);
        }
    }
    

要回复问题请先登录注册