2011-04-13 3 views
2
  • 다른 필드를 기반으로 동적 인 드롭 다운 값을 검색하는 방법을 알고 싶습니다. 예를 들면 : "Category"드롭 다운에 종속 된 경우 "Sub Category"에 대한 값을 얻는 방법은 무엇입니까?salesforce phptoolkit에서 동적 드롭 다운 값을 얻는 방법

  • 새로운 "사례"를 제출하는 데 필요한 "사례"의 모든 입력란을 어떻게 찾을 수 있는지 알고 싶었습니다. phptoolkit을 사용하여이 작업을 수행하려하지만 좋은 설명서가 없습니다.

+0

@mmix : 알려 주셔서 감사합니다. 최종 답변을 수락해야한다는 것을 결코 알지 못했습니다. 내가 더 많은 투표를 한 것은 최종 답변이었고 항상 투표를 시도했지만 나는 초보자가 될 수 없다고 생각했습니다. – Johal

+0

초보자도 언제든지 질문에 대한 대답을 수락 할 수 있습니다. 내가 지금 당신이 믿는 upvote 20 rep 필요합니다. 여기에서 당신을 만나서 다행, 당신이 머물기를 바랍니다. – mmix

답변

3

PHP 툴킷은 본질적으로 WSDL SOAP 래퍼이므로 salesforce API 웹 서비스에 적용 가능한 모든 것이 PHP 툴킷에 적용됩니다. 객체 describesObjectResult.Fields의 각 필드는 세 가지 중요한 특성을 가지고

  • 에 대한 정보를 검색 할 수

    1. 전화 describeSObject :

      다음은 문제를 해결하기위한 절차 (I는 PHP 샘플을 가지고 있겠지)입니다 creatable, nillabledefaultedOnCreate. 필드 유형이 선택 목록 또는 다중 체크리스트 인 경우 picklistValues 필드에 PicklistEntry 요소의 목록이 포함되어 있으면

    2. 이 질문에 대한 답변을 제공해야합니다. picklist가 종속 인 경우 각 항목에는 validFor 속성에 base64로 인코딩 된 비트 맵이 포함됩니다. 위치 i의 각 비트는 0 또는 1이며, 선택 목록 항목이 위치 i의 마스터 선택 항목에 적용 가능한지 여부에 따라 다릅니다.
    3. 비트 맵을 디코딩하고이를 사용하여이 특정 항목을 사용할 수있는 마스터 선택 항목을 결정해야합니다. Unfortuantely 지금은 유일한 길.

    은 내가 (lstCategorieslstSubcategoriesPickListEntry의 배열 인) 그것을 어떻게, 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]); 
         } 
        } 
    
  • +0

    또 다른 질문은 creatable, nillable 및 defaultedOnCreate가 모두 "1"로 설정되거나 그 중 하나가 "1"로 설정된 경우 필드가 필요한지 여부입니다. – Johal

    +1

    creatable은 INSERT DML에 값을 지정할 수 있음을 의미합니다. 0이면 전혀 지정할 수 없습니다 (예 : 수식 필드). nillable은 필드 값이 NULL 일 수 있음을 의미합니다 (즉, 값을 제공 할 필요가 없다는 것을 의미합니다. 누락 된 경우 기본값은 null입니다). defaulted는 필드에 정의 된 기본값이 있음을 나타내며 지정하지 않으면 설정됩니다. 그래서 당신은 3,0,0의 조합을 찾고 있습니다. 그 곳에서 값이나 삽입을 제공해야하는 곳은 깨질 것입니다. – mmix

    +2

    = creatable == 1, nillable == 0, defauled == 0 – superfell

    관련 문제