• Este debate tiene 0 respuestas, 1 mensaje y ha sido actualizado por última vez el hace 2 años, 2 meses por  iatsae.
Viendo 1 entrada (de un total de 1)

Crear conjunto de permisos en mi .app en codeunit upgrade



  • iatsae
    Participante
    iatsae

    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.

     

     

     

    #1019299
Viendo 1 entrada (de un total de 1)

Debe iniciar sesión para responder a este tema.