Имя: Пароль:
1C
1С v8
У пользователя недостаточно прав на исполнение операции над базой данных.
0 боксер
 
09.11.15
16:58
1С документооборот 8 Корп.
Добавил подписку. При записи исх. документа автоматически создается входящий.
Под пользователем с полными правами нет ошибки.
Под пользователем с ограниченными правами.
Отдельно создавать исх. и вх. документы может т.е. есть права.
А вот при записи исх. выдает ошибку как раз на мою подписку где программно создается вх. документ .
Под. Вх. и исх. документом понимаются соответствующие элементы справочника.

{Справочник.ИсходящиеДокументы.Форма.ФормаЭлемента.Форма(4889)}: Ошибка при вызове метода контекста (Записать)
    Записать(ПараметрыЗаписи);
по причине:
Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
{ОбщийМодуль.ляляля_ПодпискиНаСобытия.Модуль(172)}: Ошибка при вызове метода контекста (Записать)
            ВхДок.Записать();
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.
1 боксер
 
09.11.15
16:59
чую что в дискрипторе каком то дела, если так то как это обойти?
2 АдинС
 
09.11.15
17:03
(0) Попробуй автоматически обработать очередь расчета прав для пользователей, В разделе Администрирование-Сервис где то... Если не поможет то может при создании исх., созданный элемент не добавляется в регистры с дескрипторами..
3 АдинС
 
09.11.15
17:03
(2) и как следствие не добавляется в очередь для расчета прав пользователей...
4 боксер
 
09.11.15
17:10
(2)не нашел такой фичи
5 АдинС
 
09.11.15
17:16
(4)в конфе должны быть регистры сведений с дескрипторами доступа, или как то так... уже не припомню.. при создании исх, он сначала добавляется в очередь на обработку прав, и как следствие  в результате обработки очереди регламентным заданием, в этом регистре формируется дескриптор доступа для исх. Проверь попадает ли твой созданный по подписке исх. в очередь на обработку прав, для очереди свой регистр скорее всего... Какой релиз ДО?
6 боксер
 
09.11.15
17:17
(5) (2.0.8.7)
щас буду рыть. про дискрипторы только краем слыхивал и еще не сталкивался
7 АдинС
 
09.11.15
17:20
Еще можно попробовать профиль пользователя настроить как-нибудь, там права рассчитываются из нескольких параметров: права на сам объект + права на папку+ права профиля пользователя и т.д. ... хотя могу ошибаться, смотрел этот механизм на оочень старом релизе ДО 1.2.8  в 2.0.8 вс уже наверняка переделали раз так по 10....
8 боксер
 
09.11.15
17:23
в РС Дескрипторы доступа для объектов
есть запись на создаваемый вх. документ- но это и не мудрено, под полными правами он создается и перезаписывается.
А вот под ограниченными при перезаписи этого же исх. документа входящий уже не записывается и выдает ошибку.
спасибо. буду рыть.

Но тема должна быть избитая.Т.е. если программно под пользователем создается какой то еще объект то и в коде надо это как то добавлять(управлять деескрипторами что ли)
9 АдинС
 
09.11.15
17:25
Но главное при программном создании Исх. выполнить все операции которые выполняются пр ручном создании, а там черт ногу сломит...
10 АдинС
 
09.11.15
17:27
докапайся отладчиком на запрос к регистру с дескрипторам, он выполняется при проверке прав, как раз в том месте где ошибка выходит...тогда станет понято, из чего складывается открытый доступ на элемент справочника...
11 боксер
 
09.11.15
23:33
нашел как минимум две проблемы.
Первая у пользователей не хватало прав на создаваемый вх.документ т.к. он создавался с недоступной организацией.
Вторая,нужно было переносить все вложенные файлы из документа основания в создаваемый и я там программно помечал на удаление файлы и потом новые добавлял т.к. они могли измениться.
Оказывается при определенном статусе документа нехватало прав на установку пометки на удаление.
Решил первую путем выноса кода в привилегированный общий модуль.
Вторую, добавляю только новые файлы т.к. ситуации когда файлы могут быть удалены быть не должно- также по статусу есть защита.
Всем спасибо проблемы пока решил, правда так и не понял нафига дескрипторов понаделали
Чую что еще с ними придется хлебнуть...
2 + 2 = 3.9999999999999999999999999999999...