Извлечение удаленных записей из Apex data loader?

StackOverflow https://stackoverflow.com/questions/1292826

  •  18-09-2019
  •  | 
  •  

Вопрос

Есть ли у кого-нибудь какие-либо идеи, как извлечь данные удаленных записей из Apex data loader или иным образом из Salesforce, кроме как из веб-службы?

Это было полезно?

Решение

Ты не можешь.Единственный способ получить удаленные записи через API - это использовать queryAll , а DataLoader никогда не использует queryAll.

(Извините за воскрешение здесь.)

Другие советы

Проверьте документацию: https://na7.salesforce.com/help/doc/en/salesforce_data_loader.pdf

Если используется графический интерфейс версии v20 или выше, у вас будет кнопка Экспортировать все.

Из версии командной строки process-config.xml файл должен иметь значение атрибута process.operation, равное "extract_all" (в документации указано "Извлечь все", но это не работает).

Использование любого из этих вышеперечисленных параметров позволит извлечь автоматически удаленные записи и позволит вам выполнить фильтрацию по IsDeleted = true или false.(Вы можете включить этот фильтр независимо, но без использования вышеуказанных параметров IsDeleted=true всегда будет возвращать нулевые записи).

Надеюсь, это поможет.

P.S.В Apex все немного по-другому.Ваш запрос SOQL будет [Выберите идентификатор из учетной записи, где IsDeleted=false все строки] Дополнение 'все строки' является верхним эквивалентом 'извлечь все'.

В Dataloader используйте ЭКСПОРТИРОВАТЬ ВСЕ кнопка, а не ЭКСПОРТ кнопка

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

Откатите их с помощью нескольких строк кода Apex в системном журнале.Например:

Account[] a = [select id from Account where isDeleted=true ALL ROWS];
undelete a;
system.debug(a);

Это должно работать до тех пор, пока вы не использовали emptyRecycleBin() (который по-прежнему будет возвращать результаты запроса, но не позволит восстановить, поскольку записи теперь будут помечены для физического удаления).Возьмите несколько идентификаторов из результатов USER_DEBUG для a чтобы подтвердить, что это сработало.

Попробуй extract, extract_all, hard_delete.

Я надеюсь, что еще не слишком поздно.

Есть три способа сделать это.

  • Корзина для мусора.В "Корзина" измените параметр на "Вся корзина".Это похоже на мягкое удаление, мы можем получить запись.Если вы не получили свою запись из корзины
  • Верстак.В workbench выберите soql query и требуемый вами объект и создайте запрос, подобный этому примеру.

    SELECT Id,Name,AccountId,Isdeleted,CreatedDate,StageName
    FROM Opportunity where isdeleted =true
    

    в этом разделе мы не получили запись, мы знаем информацию о записи opportunity.

  • Загрузчик данных.Он также работает как workbench, и вы можете повторно просмотреть информацию из записи.Выберите опцию exportall, выделите необходимые поля и установите фильтр типа is deleted, это true.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top