É possível fazer o compartilhamento manual de um registro da entidade Knowledge?
Estou tentando compartilhar usando a classe abaixo, mais estou recebendo esse erro: 09:53:40:245 FATAL_ERROR System.DmlException: Insert failed. First exception on row 0; first error: INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, insufficient access rights on cross-reference id. You can't complete this action because you don't have the required access. For more information, ask your Salesforce admin to review your event log files.: []
@isTest
public class Solar_KB_ManualSharingTest {
@TestSetup
static void makeData(){
User user2 = new User();
user2.LastName = 'Teste';
user2.Alias ='teste2';
user2.Email = 'testeruserlista2@cross21.com';
user2.Username = 'userlista2@cross21.com';
user2.CommunityNickname = 'test2';
user2.IsActive = true;
user2.TimeZoneSidKey = 'America/Sao_Paulo';
user2.LocaleSidKey = 'pt_BR';
user2.EmailEncodingKey = 'UTF-8';
user2.ProfileId = [SELECT Id FROM Profile WHERE Name = 'Atendimento Call Center'].Id;
user2.LanguageLocaleKey = 'pt_BR';
insert user2;
}
@isTest
static void testShareListaVerificacao() {
User user2 = [SELECT Id, Username FROM User WHERE Username = 'userlista2@cross21.com'];
String POP = Schema.SObjectType.Knowledge__kav.getRecordTypeInfosByDeveloperName().get('POP').getRecordTypeId();
System.RunAS (user2){
Knowledge__share knowlegdeShare = new Knowledge__share();
knowlegdeShare.ParentId = 'ka07c000000AvzBAAS';
knowlegdeShare.UserOrGroupId = '0057c000008cepDAAQ';
knowlegdeShare.AccessLevel = 'Read';
knowlegdeShare.RowCause = 'Manual';
insert knowlegdeShare;
}
}
}