Как получить дочерние узлы определенной учетной записи в Salesforce - PullRequest
0 голосов
/ 30 марта 2011

Привет, ребята. Я хочу получить дочерние узлы определенной учетной записи в отделе продаж. Как мне этого добиться? Я не очень осведомлен о модели данных, которые используют отдел продаж. Любые предложения будут полезны.

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Если вы используете API Salesforce, вы можете использовать descriptionSObjects () для получения метаданных о любом объекте, который вас интересует, включая объект Account.

Синтаксис:

DescribeSObjectResult [] = sfdc.describeSObjects(string sObjectType[] );

Где sObjectType - это массив до 100 объектов.

Чтобы описать аккаунт, используйте:

DescribeSObjectResult [] = sfdc.describeSObjects("account");

Массив DescribeSObjectResult имеет много свойств, которые можно использовать для обнаружения информации об объекте. Например, если вы хотите получить список полей, принадлежащих объекту учетной записи, вы должны использовать DescribeSObjectResult.Fields.

Вот пример кода Java из справочника разработчика Salesforce API . Это должно помочь вам начать. Есть также примеры C #, если вы перейдете по ссылке на ссылку для разработчиков.

private void describeSObjectsSample()
{
  try {
    DescribeSObjectResult[] describeSObjectResults =
      binding.describeSObjects(new String[] {"account", "contact", "lead"});
    for (int x=0;x<describeSObjectResults.length;x++)
    {
      DescribeSObjectResult describeSObjectResult = describeSObjectResults[x];
      // Retrieve fields from the results
      Field[] fields = describeSObjectResult.getFields();
      // Get the name of the object
      String objectName = describeSObjectResult.getName();
      // Get some flags
      boolean isActivateable = describeSObjectResult.isActivateable();
      System.out.println("Object name: " + objectName);
      // Many other values are accessible
      if (fields != null)
      {
        // Iterate through the fields to get properties for each field
        for (int i = 0; i < fields.length; i++)
        {
          Field field = fields[i];
          int byteLength = field.getByteLength();
          int digits = field.getDigits();
          String label = field.getLabel();
          int length = field.getLength();
          String name = field.getName();
          PicklistEntry[] picklistValues = field.getPicklistValues();
          int precision = field.getPrecision();
          String[] referenceTos = field.getReferenceTo();
          int scale = field.getScale();
          FieldType fieldType = field.getType();
          boolean fieldIsCreateable = field.isCreateable();
          System.out.println("Field name: " + name);
          // Determine whether there are picklist values
          if (picklistValues != null && picklistValues[0] != null)
          {
            System.out.println("Picklist values = ");
            for (int j = 0; j < picklistValues.length; j++)
            {
              if (picklistValues[j].getLabel() != null)
              {
                System.out.println(" Item: " +
                    picklistValues[j].getLabel());
              }
            }
          }
          // Determine whether this field refers to another object
          if (referenceTos != null && referenceTos[0] != null)
          {
            System.out.println("Field references the following objects:");
            for (int j = 0; j < referenceTos.length; j++)
            {
              System.out.println(" " + referenceTos[j]);
            }
          }
        }
      }
    }
  } catch (Exception ex) {
    System.out.println("\nFailed to get object descriptions, error message was: \n" + 
                       ex.getMessage());
  }
}
0 голосов
/ 30 марта 2011

Я предполагаю, что вы используете SOQL для извлечения дочерних данных. Если я не прав, уточните, пожалуйста.

Это будет зависеть от отношения, к которому вы пытаетесь получить доступ, но в целом вы можете выполнить такой запрос, чтобы выбрать дочерние элементы родительского элемента

ВЫБЕРИТЕ идентификатор, имя, (ВЫБЕРИТЕ идентификатор, имя, фамилию, адрес электронной почты от контактов) ОТ учетной записи, где имя = 'Acme'

Полная информация о языке запросов SOQL находится здесь: http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_soql_relationships.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...