Привет всем!
Кто знает, подскажите плиз как решить следующую проблему?
Я создал апровал процесс с помощью metadata api. Описание metadata и пример апровал процесса взял с отсюда -> https://github.com/financialforcedev/apex-mdapi.
Но тут столкнулся с проблемой. Мне нужно с помощью metadata api также удалять аппровы процессы, но при выполнении метода ниже происходить ошибка:
Visualforce Error
cwharf_MbOr.MbO_CreatedMetadataService.MbO_CreatedMetadataServiceException: Error occured processing component MbO_Form__c.MbO ap: Approving Achievements. The approval process doesn't exist. (INVALID_CROSS_REFERENCE_KEY).
Метод удаления аппрова(MbO_Form__c.MbO_ap_Approving_Achievements - имя процеса):
public static void deleteApprovalProcess()
{
MetadataService.MetadataPort service = createService();
List<MetadataService.DeleteResult> results =
service.deleteMetadata(
'ApprovalProcess', new String[] { 'MbO_Form__c.MbO_ap_Approving_Achievements' });
handleDeleteResults(results[0]);
}
и метод удаления metadata:
public MetadataService.DeleteResult[] deleteMetadata(String type_x,String[] fullNames)
{
MetadataService.deleteMetadata_element request_x = new MetadataService.deleteMetadata_element();
request_x.type_x = type_x; request_x.fullNames = fullNames;
MetadataService.deleteMetadataResponse_element response_x;
Map<String, MetadataService.deleteMetadataResponse_element> response_map_x = new Map<String, MetadataService.deleteMetadataResponse_element>();
response_map_x.put('response_x', response_x); WebServiceCallout.invoke(this,request_x,response_map_x,new String[]{endpoint_x,'','http://soap.sforce.com/2006/04/metadata','deleteMetadata',
'http://soap.sforce.com/2006/04/metadata','deleteMetadataResponse',
'MetadataService.deleteMetadataResponse_element'} );
response_x = response_map_x.get('response_x');
return response_x.result; }
Подскажите, как решить эту проблему?
Привет всем! Кто знает, подскажите плиз как решить следующую проблему? Я создал апровал процесс с помощью metadata api. Описание metadata и пример апровал процесса взял с отсюда -> https://github.com/financialforcedev/apex-mdapi. Но тут столкнулся с проблемой. Мне нужно с помощью metadata api также удалять аппровы процессы, но при выполнении метода ниже происходить ошибка: [b]Visualforce Error cwharf_MbOr.MbO_CreatedMetadataService.MbO_CreatedMetadataServiceException: Error occured processing component MbO_Form__c.MbO ap: Approving Achievements. The approval process doesn't exist. (INVALID_CROSS_REFERENCE_KEY). [/b] Метод удаления аппрова(MbO_Form__c.MbO_ap_Approving_Achievements - имя процеса): [code]public static void deleteApprovalProcess() { MetadataService.MetadataPort service = createService(); List<MetadataService.DeleteResult> results = service.deleteMetadata( 'ApprovalProcess', new String[] { 'MbO_Form__c.MbO_ap_Approving_Achievements' }); handleDeleteResults(results[0]); }[/code] и метод удаления metadata: [code]public MetadataService.DeleteResult[] deleteMetadata(String type_x,String[] fullNames) { MetadataService.deleteMetadata_element request_x = new MetadataService.deleteMetadata_element(); request_x.type_x = type_x; request_x.fullNames = fullNames; MetadataService.deleteMetadataResponse_element response_x; Map<String, MetadataService.deleteMetadataResponse_element> response_map_x = new Map<String, MetadataService.deleteMetadataResponse_element>(); response_map_x.put('response_x', response_x); WebServiceCallout.invoke(this,request_x,response_map_x,new String[]{endpoint_x,'','http://soap.sforce.com/2006/04/metadata','deleteMetadata', 'http://soap.sforce.com/2006/04/metadata','deleteMetadataResponse', 'MetadataService.deleteMetadataResponse_element'} ); response_x = response_map_x.get('response_x'); return response_x.result; }[/code] Подскажите, как решить эту проблему?
работа с метаданными через Апекс - не частая задача. А програмно менять что то в Апрувал процессах - это вообще редкость.
это вероятно и есть причина, что никто не отвечает на твои сообщения.
попробуй поспрашивать на СФ stack exchange
или на официальном форуме поддержки:
https://developer.salesforce.com/forums/#!/feedtype=RECENT&criteria=ALLQUESTIONS
работа с метаданными через Апекс - не частая задача. А програмно менять что то в Апрувал процессах - это вообще редкость. это вероятно и есть причина, что никто не отвечает на твои сообщения. попробуй поспрашивать на СФ stack exchange или на официальном форуме поддержки: https://developer.salesforce.com/forums/#!/feedtype=RECENT&criteria=ALLQUESTIONS
это вероятно и есть причина, что никто не отвечает на твои сообщения.
попробуй поспрашивать на СФ stack exchange
или на официальном форуме поддержки:
https://developer.salesforce.com/forums/#!/feedtype=RECENT&criteria=ALLQUESTIONS
Я уже разобрался в чем причина, fullNames не правильно указал. Теперь все работает.
[quote="Den Brown"]работа с метаданными через Апекс - не частая задача. А програмно менять что то в Апрувал процессах - это вообще редкость. это вероятно и есть причина, что никто не отвечает на твои сообщения. попробуй поспрашивать на СФ stack exchange или на официальном форуме поддержки: https://developer.salesforce.com/forums/#!/feedtype=RECENT&criteria=ALLQUESTIONS[/quote] Я уже разобрался в чем причина, fullNames не правильно указал. Теперь все работает.