2014-06-20 4 views
12

Ich habe Probleme beim permanenten Löschen von benutzerdefinierten Feldern.Benutzerdefiniertes Feld "Hard delete" in Salesforce

Wie z.B. Ich habe ein benutzerdefiniertes Feld in der Contact-Entität mit dem Namen "Newsletter" erstellt, das Salesforce intern als "Newsletter__c" als benutzerdefiniertes Feld speichert.

Dann verwende ich den folgenden Code, um benutzerdefinierte Kontaktfeld zu löschen.

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

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

Der obige Code löscht das benutzerdefinierte Feld, sondern hält es unter „DeletedFields“ Kategorie, wo Sie wieder können „Löschen“ oder „Undelete“ das benutzerdefinierte Feld. Diese benutzerdefinierten Felder werden nach 15 Tagen automatisch gelöscht.

Ich möchte die benutzerdefinierten Felder aus dieser Kategorie auch löschen, als ob ich wieder cf mit dem gleichen Namen SF gibt Fehler wie "Bereits existiert".

Ich versuchte PurgeOnDelete Option auch während der Bereitstellung, aber bisher kein Glück.

+1

Nicht sicher, ob Sie das tun können. Mein Ansatz war, Felder vor dem Löschen umzubenennen. –

+0

Ich habe viele Methoden zum Löschen von benutzerdefinierten Feldern ausprobiert, konnte aber immer noch nicht erfolgreich sein. Umbenennen ist eine gute Option, aber wenn das gleiche benutzerdefinierte Feld dreimal erstellt wird, dann jedes Mal umzubenennen und zu löschen wäre Overhead. Nicht sicher, dass es keine Methode zum Löschen gibt. Trotzdem vielen Dank für Ihren Versuch. –

Antwort

3

pureOnDelete. Wenn dies der Fall ist, werden die gelöschten Komponenten in der Manifestdatei destructiveChanges.xml nicht im Papierkorb gespeichert. Stattdessen können sie sofort gelöscht werden. Dieses Feld ist in der API-Version 22.0 und höher verfügbar. Diese Option funktioniert nur in der Developer Edition oder in Sandbox-Organisationen. Es funktioniert nicht in Produktionsorganisationen. Erweiterung des Salesforce-Migrationstools zur Unterstützung von PurgeOnDelete .. Aus irgendeinem Grund wurde diese hervorragende Funktion von den Salesforce-Migrationstools weiterhin nicht über die Ant-Task sf: deploy bereitgestellt. Doch mit ein wenig Java-Kenntnisse können Sie eine neue einsetzen Ant-Task von der aktuellen erstreckt, erstellen Sie das Attribut auf Ihre Ant-Build-Skripte zu belichten, zum Beispiel ...

Vorgefertigte ant-salesforce.jar mit deploypurge drin. Sie können eine modifizierte ant-salesforce.jar hier vom FinancialForce.com Developers Github Repo herunterladen (seien Sie gewarnt, dass dies API v22.0 ist, obwohl Sie Code für jede Version verwenden können).

Erstellen Sie Ihre eigene erweiterte ant-salesforce.jar. Wenn Sie eine neue Version neu erstellen möchten, müssen Sie diese Java-Klasse herunterladen, kompilieren, die Datei anti-salesforce.jar entpacken (.jar in .zip umbenennen), sie in die Datei einfügen und sie erneut sichern.

Siehe: https://salesforce.stackexchange.com/questions/12709/hard-delete-objects-using-the-force-com-migration-tool

-1

Massenfeldlösch Anforderungen zu erfüllen, ist es eine Salesforce AppExchange App,

enter image description here

Salesforce BULK Objekt Feld Creator - A Time Saver App ....! !!

hilft Admins & Entwickler mehrere Felder zu erstellen, löschen Mehrere Felder & zuordnen FLS für mehrere Profile für mehrere Felder in einzelnen Klick Drag CSV- oder XLS-Dateien Tropfen, die Liste der neuen Felder enthält erstellt werden App beschränken wird Benutzer, um Felder zu erstellen, die bereits im System vorhanden sind.

Vorteile:

  1. Masse (mehrfach) Feld Creation
  2. Masse (Mehrfach-) Feldlösch
  3. Export Objekt, Felder, Profile Einzelheiten

AppExchange-Link:

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

Verwandte Themen