Всем добрый день!
Столкнулись с такой проблемой: При импорте данных в карточку контактов, права по умолчанию про ставились только для человека, кто делал импорт. В поле "Ответственный" стоит ФИО другого человека, вариант отрывать карточку, заново вручную вводить ответственного, сохранять и использовать после сохранения GiveRightsToRecordOwner(Dataset); очень долгая работа, учитывай что контактов бывает уж очень много.
Подскажите как можно реализовать раздачу прав на чтение и редактирование через программный код, при нажатии на кнопку.
Нравится
если конфигурация 3.4.1, то можно раздавать права одновременно на несколько (много) выделенных записей
если нет - придется написать скрипт
можно попробовать воспользоваться этим (только осторожно :cool:) http://www.community.terrasoft.ru/blogs/9611
Здравствуйте, Николай.
Для раздачи прав доступа ответственным на импортированные контакты, можете воспользоваться следующим скриптом:
insert into tbl_ContactRight (RecordID, AdminUnitID, CanRead, CanWrite, CanDelete, CanChangeAccess) select c.ID, au.ID, 1, 1, 0, 0 -- 1 - разрешение, 0 - запрет from tbl_Contact c inner join tbl_AdminUnit au on c.OwnerID = au.UserContactID where c.CreatedOn > '2013-12-06 14:05' -- Дата и время импорта контактов
тогда уж
INSERT INTO tbl_ContactRight (RecordID, AdminUnitID, CanRead, CanWrite, CanDelete, CanChangeAccess) SELECT c.ID, au.ID, 1, 1, 0, 0 -- 1 - разрешение, 0 - запрет FROM tbl_Contact c INNER JOIN tbl_AdminUnit au ON c.OwnerID = au.UserContactID WHERE c.CreatedOn > '2013-12-06 14:05' -- Дата и время импорта контактов -- чтобы права там, где они есть, не продублировались and not exists (select ID from tbl_ContactRight as CR where CR.RecordID = c.ID and CR.AdminUnitID = (select ID from tbl_AdminUnit where UserContactID = c.OwnerID))