Потому что API-шная функция поидее должна взять документ, взять учетку юзера по ЛН имени и сделать проверку могу/не могу открыть (редактировать) и вернуть Да/Нет , а если я напишу скрипт, то это будет что-то вроде.
1. Смотирм доступ к базе
2. Бежим по всем полям собираем все поля типа Автор/Ридер. Делаем список имен
3. Вытаскиваем все роли и группы
4. разворачиваем роли Добавляем имена в список имен. Добавляем группы в список групп.
5. Берем полученные группы. Лезем в Names.nsf и смотрим всех юзеров которых они содержат. Добавляем в список.
6. Смотрим входит ли юзер в полученный гигантский список.
7. Возвращаем Да/нет
А кажется мне что этот механизм должен быть и должен работать быстро потмоу, что скажем в Ytria ScanEZ такой механизм есть и он работает быстро ( когда мы пытаемся получить документ по UNIDу к которому у нас нет прав он сразу пишет что недостаточно прав. Причем именно недостаточно прав, а не документ не найден. Если документа нет, то ошибка будет другая)
ps. прошу не комментировать данный алгоритм так как я его не продумывал, и надеюсь что не придеца, а просто набросал.