投稿済み Mon, 09 Apr 2018 15:19:17 GMT 、投稿者 Grupo Terra

Hi,

We used to have a file cabinet to process documents.

After many months of use, a better solution was proposed and we decided to create a new file cabinet and delete the old one. We have migrated all documents to the new cabinet and are now ready to delete the old one.

However, when I try to delete the file cabinet, I get an error saying that I can't do that because there are still document trays associated with the file cabinet. I don't know where, as an admin, I can't get to those document trays and delete them, since the admin user doesn't have "use" or "administrate" permissions over those trays. To complicate matters further, most users have titled the trays "My tray" or something similar, so in the error message I can't figure out which user still has an active tray associated with the file cabinet.

Is there somewhere where I can manage these trays?

Thanks

Regards,

Chris

投稿済み Mon, 09 Apr 2018 15:23:40 GMT 、投稿者 Joe Kaufman Bell Laboratories Inc Senior System Architect

Grupo,

Are you on premise? Can you access the back-end database? You could follow through the data structure in that case to try to find trays linked to cabinets, and who has access to them...

 

Thanks,

Joe Kaufman

 

投稿済み Mon, 09 Apr 2018 19:06:12 GMT 、投稿者 Grupo Terra

Hi,

Yes, I have access to the DB. Where can I find it?

Thanks.

Regards,

Chris

投稿済み Mon, 09 Apr 2018 19:19:31 GMT 、投稿者 Joe Kaufman Bell Laboratories Inc Senior System Architect

Here is a big SQL query I use to get all users and/or roles that have admin or use rights to existing document trays. It should be run against the "dwsystem" database on your DocuWare server (our database is MS SQL Server):

==============================
SELECT fcs.SetID AS ID, fcs.Name AS DocTray, fc.name AS FileCabinet,
    fcs.settings.value('(/WebBasketSettings/@DiskNumber)[1]', 'int') AS DiskNumber,
    r.name COLLATE SQL_Latin1_General_CP1_CI_AS AS UserOrRole, 'Role' AS Type,
    IIF(UPPER(fcp.settings.value('(/BasketProfile/GeneralRights)[1]', 'varchar(500)')) LIKE '%ADMIN_OPERATOR,%', 'Administrate', 'Use') AS Access
    FROM DWFCSettings fcs
    INNER JOIN DWFileCabinet fc ON fcs.settings.value('(/WebBasketSettings/@AssignedFileCabinetGuid)[1]', 'varchar(50)') = fc.Guid
    INNER JOIN DWFCSettingsToFCProfile fcsp ON fcs.setid = fcsp.setid
    INNER JOIN DWFCProfile fcp ON fcsp.fpid = fcp.fpid
    INNER JOIN DWFCProfileToRole fcpr ON fcsp.fpid = fcpr.fpid
    INNER JOIN DWRoles r ON fcpr.rid = r.rid
    WHERE UPPER(fcs.Type) LIKE '%WEBBASKETSETTINGS%'
UNION ALL
SELECT fcs.SetID AS ID, fcs.Name AS DocTray, fc.name AS FileCabinet,
    fcs.settings.value('(/WebBasketSettings/@DiskNumber)[1]', 'int') AS DiskNumber,
    u.name COLLATE SQL_Latin1_General_CP1_CI_AS AS UserOrRole, 'User' AS Type,
    IIF(UPPER(fcp.settings.value('(/BasketProfile/GeneralRights)[1]', 'varchar(500)')) LIKE '%ADMIN_OPERATOR,%', 'Administrate', 'Use') AS Access
    FROM DWFCSettings fcs
    INNER JOIN DWFileCabinet fc ON fcs.settings.value('(/WebBasketSettings/@AssignedFileCabinetGuid)[1]', 'varchar(50)') = fc.Guid
    INNER JOIN DWFCSettingsToFCProfile fcsp ON fcs.setid = fcsp.setid
    INNER JOIN DWFCProfile fcp ON fcsp.fpid = fcp.fpid
    INNER JOIN DWFCProfileToUser fcpu ON fcsp.fpid = fcpu.fpid
    INNER JOIN DWUser u ON fcpu.uid = u.uid
    WHERE UPPER(fcs.Type) LIKE '%WEBBASKETSETTINGS%'
ORDER BY DocTray, Type DESC, UserOrRole

==============================

It's ugly, but seems to work. This information can be subsequently used to get number of documents and total size in bytes, if you need those queries. But this should list all document trays and their backing file cabinets, along with User and Role rights.

 

Thanks,

Joe Kaufman

フォーラムに投稿するためにはログインが必要です。