Пользовательское поле Hard delete в Salesforce

У меня возникла проблема с удалением настраиваемых полей навсегда.

Как, например, Я создал настраиваемое поле в контактном объекте с именем "Информационный бюллетень", который Salesforce internaly хранит как "Newsletter__c" в качестве настраиваемого поля.

Затем я использую приведенный ниже код для удаления настраиваемого поля контакта.

var cstField = new CustomField
{
  type = FieldType.Checkbox,
  fullName = "Contact.Newsletter__c"
};

// Delete the object
var r = metaService.delete(new Metadata[] { cstField })[0];

Вышеприведенный код удаляет настраиваемое поле, но сохраняет его в категории "DeletedFields", где вы можете снова "Удалить" или "Восстановить" настраиваемое поле. Эти настраиваемые поля автоматически удаляются через 15 дней.

Я хочу удалить настраиваемые поля из этой категории так же, как если бы я снова создавал cf с тем же именем, SF дает ошибку, например, "Уже существует".

Я попробовал параметр purgeOnDelete во время развертывания, но пока не повезло.

Ответ 1

purgeOnDelete. Если true, удаленные компоненты в файле манифеста destructiveChanges.xml не сохраняются в Корзине. Вместо этого они сразу же могут быть удалены. Это поле доступно в версии API версии 22.0 и выше. Этот параметр работает только в Developer Edition или в песочницах; он не работает в производственных организациях. Расширение инструмента миграции Salesforce для поддержки PurgeOnDelete.. По какой-то причине эта отличная функция все еще не была обнаружена средствами миграции Salesforce через sf: deploy Ant Task. Однако с некоторыми навыками Java вы можете создать новую задачу развертывания Ant, расширив текущую, чтобы выставить атрибут для скриптов сборки Ant, например...

Предпочитаемый ant -salesforce.jar с deploypurge в нем. Вы можете скачать модифицированный ant -salesforce.jar здесь из рефинансирования FinancialForce.com Developers Github (следует предупредить, что это API v22.0, хотя вы можете использовать его для развертывания кода в любой версии).

Построение собственного расширенного ant -salesforce.jar. Если вы хотите перестроить новую версию, вам нужно загрузить этот Java-класс, скомпилировать его, разархивировать ant -salesforce.jar(переименовать .jar в .zip), поместить его и снова застегнуть его обратно, а все ваши установить!

Обратитесь: https://salesforce.stackexchange.com/questions/12709/hard-delete-objects-using-the-force-com-migration-tool

Ответ 2

Чтобы выполнить требования к удалению массового поля, есть приложение Salesforce AppExchange,

введите описание изображения здесь

Salesforce BULK Object Field Creator - приложение с поддержкой времени....!!!

Помогает администраторам и разработчикам создавать несколько полей, удалять несколько полей и назначать FLS для нескольких профилей для нескольких полей одним щелчком Перетащите файлы csv или xls, которые содержат список новых полей, которые нужно создать. Приложение ограничит пользователя для создания полей, которые уже существуют в системе.

Преимущества:

  • Массовое (множественное) создание поля
  • Массовое (множественное) удаление поля
  • Экспорт объектов, полей, профилей.

Ссылка AppExchange:

https://appexchange.salesforce.com/listingDetail?listingId=a0N30000000qDqqEAE