Buenos días,
quisiera pedir ayuda, pues me gustaría crear un conjunto de permisos en mi .app para que al instalarla se cree de nuevo este conjunto de permisos con todos los permisos de tablas que necesito.
Mis pruebas son:
En la codeunit de Upgrade, en el trigger OnUpgradePerCompany() hago la llamada al procedure:
local procedure SetAttendoPermissions();
var
PermissionSet: Record “Permission Set”;
Permission: Record Permission;
begin
InsertPermissionSet(CopyStr(AttendoTok, 1, MaxStrLen(PermissionSet.”Role ID”)),
CopyStr(AttendoDescriptionTxt, 1, MaxStrLen(PermissionSet.Name)));
InsertPermission(CopyStr(AttendoTok, 1, MaxStrLen(Permission.”Role ID”)), 1, 36, 1, 1, 1, 0, 0);
end;
local procedure InsertPermissionSet(PermissionSetID: Code[20]; PermissionSetName: Text[30])
var
PermissionSet: Record “Permission Set”;
begin
if PermissionSet.Get(PermissionSetID) then
exit;
PermissionSet.”Role ID” := PermissionSetID;
PermissionSet.Name := PermissionSetName;
PermissionSet.Insert();
end;
local procedure InsertPermission(PermissionSetID: Code[20]; ObjType: Option; ObjId: Integer; ReadPerm: Option; InsertPerm: Option; ModifyPerm: Option; DeletePerm: Option; ExecutePerm: Option)
var
Permission: Record Permission;
begin
if Permission.Get(PermissionSetID, ObjType, ObjId) then
exit;
Permission.”Role ID” := PermissionSetID;
Permission.”Object Type” := ObjType;
Permission.”Object ID” := ObjId;
Permission.”Read Permission” := ReadPerm;
Permission.”Insert Permission” := InsertPerm;
Permission.”Modify Permission” := ModifyPerm;
Permission.”Delete Permission” := DeletePerm;
Permission.”Execute Permission” := ExecutePerm;
Permission.Insert();
end;
Pero este código al ejecutarlo, al querer instalar mi .app y ejecutarse, me da un error diciendo: “No tiene los siguientes permisos en TableData Permission Set: Insert.”
Pero mi usuario, con el que intento realizar la instalación, tiene conjunto de permisos SUPER, además de que he incluido las TableData a mano en un conjunto de permisos, les he dado permiso de Read, Write, etc.
Podría alguien decirme cómo se programan conjuntos de permisos para las extensiones de Business Central 365 que no sean de la BaseApplication, sino propios de las extensiones creadas? Gracias.
Mireia Azcona
IATSAE NETWORKS, S.L.