Это поле доступно через API, как и любое другое. Ваша проблема также не имеет ничего общего с RecordTypes (когда вы вставляете запись через API, вы можете указать любую строку в качестве значения списка выбора).
Итак, давайте начнем с контрольного списка , и если это не поможет, мы подумаем о дополнительных возможностях:)
- Видимо ли поле на странице "Новая задача"?
- Что говорит «Доступность поля просмотра» ? (поместите свой собственный идентификатор организации в ссылку, я использовал мой "na5")
- Знаете ли вы профиль пользователя, чьи учетные данные вы используете для подключения через API (например, «Системный администратор»)? Можете ли вы проверить в «Установка безопасности на уровне поля» , что этот профиль может видеть это поле (1-й флажок) и не помечен как доступный только для чтения (2-й флажок)?
- Можете ли вы попытаться установить «Вызов» в качестве значения по умолчанию для этого поля и посмотреть, что произойдет?
- Можете ли вы попробовать вставить новую задачу через загрузчик данных Salesforce.com? Если это сработает, это будет означать, что сам по себе API в порядке (Data Loader также использует API), и проблема лежит где-то в вашем приложении.
- Если вам действительно необходим доступ к так называемым метаданным, чтобы узнать возможные значения списка выбора, вы можете использовать вызовы description (). Это должно помочь вам начать, но, как я уже говорил, насколько я помню, значения списка выбора не применяются при использовании API.
- Глупо, но ... проконсультируйтесь с вашим системным администратором, если он не поместил никаких рабочих процессов, которые изменяют значение этого поля. И спросите разработчиков Apex, есть ли какие-либо триггеры «перед вставкой» в объекте Task ...
РЕДАКТИРОВАТЬ: для всех пользователей, у которых есть проблемы с интеграцией Salesforce (особенно "Я создал новое настраиваемое поле, кажется, я могу запросить его, но я не вижу его в возвращаемом Результаты ») есть еще пара шагов:
Если вы используете корпоративный WSDL - не забудьте скачать свежую копию. Java, C # и т. Д. Люди должны восстановить свои классы из wsdl («потреблять» его снова), чтобы увидеть новые поля. Пользователи PHP не должны беспокоиться (в прошлый раз, когда я проверял, что все выполняется во время выполнения в "PHP toolkit" ... конечно, если вы действительно сгенерировали что-то из WSDL - сделайте это снова). Но в случае с PHP кажется, что WSDL может быть как-то кэширован в вашем приложении. Перезагрузите сервер, чтобы убедиться, что используется свежий wsdl?
Это заняло у меня больше времени, чем ожидалось (Apache Axis 2 генерирует совершенно другой код, чем тот, который я использовал с Axis 1.x) + Я столкнулся с некоторыми другими отвлекающими факторами, но я проверил это.
Вкратце: это обычное поле, доступное через API, и оно работает для меня.
Пожалуйста, убедитесь, что ваш корпоративный WSDL содержит строки, подобные
<complexType name="Task">
<complexContent>
<extension base="ens:sObject">
<sequence>
<element name="Account" nillable="true" minOccurs="0" type="ens:Account"/>
(...)
<element name="Type" nillable="true" minOccurs="0" type="xsd:string"/>
(...)
</sequence>
</extension>
</complexContent>
</complexType>
Если это так - восстановите ваши классы Java из него. Если нет - загрузите новый WSDL.
С помощью Apache Axis2 и enterprise.wsdl мне удалось создать такой пример кода:
Task task = Task.Factory.newInstance();
task.setType("Alan's Email"); // Not a valid picklist value, just to prove that these don't matter when we use API.
task.setWhatId("0067000000AH3ME"); // An Opportunity Id ("Burlington Textiles" in my test org) to which this task will be related.
task.setStatus("Not Started");
task.setPriority("Normal");
task.setDescription("A new Task has been created with methods from Enterprise WSDL.");
Вы можете скачать весь тестовый проект (довольно большой) здесь . Существует большая вероятность, что код выглядит странно, если вы привыкли к стилю Axis 1.x (большинство примеров Salesforce API написаны с использованием старого Axis), но, уверяю вас, это сработало для меня.
Если вам все еще нужна помощь - я думаю, нам придется связаться напрямую?
Удачи.