Имя: Пароль:
1C
1С v8
Недостаточно прав на исполнение операций над базой данных если программно записывать док
0 Nemirov
 
08.02.23
09:18
УТ 11.4
При помощи одной обработки пользователи записывают программно документ "Оприходование излишек и товаров". Выскакивает ошибка:
Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
Ошибка при вызове метода контекста (Записать)
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных."

Если в базе просто создать документ и записать все ок. То есть права есть у пользователя.
Пробежался отладкой Ошибка возникает  в  процедуре "Общего модуля" - "СводныеПриложения"

// Обработчик подписки на событие ПередЗаписьюНабора.
// @skip-warning ПустойМетод - особенность реализации.
//
Процедура ПередЗаписьюНабора(Источник, Отказ, Замещение) Экспорт
КонецПроцедуры

Источником является РегистрСведенийНаборЗаписей.РеестрДокументов Отказ до этой процедуры "Ложь", в Замещение = Истина.

Права на этот регистр есть в типовой роли которая также дана пользователю "БазовыеПраваУт"

БезопасныйРежим в обработке отключен.  Подскажите куда копать?
1 vicof
 
08.02.23
09:29
Дать права пользователю, под которым записывается документ.
Установить привилегированный режим.
2 unenu
 
08.02.23
09:34
в модуле объекта указанного регистра, к размышлению:

Процедура ПередЗаписью(Отказ, Замещение)
    
    Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    Если Не ПривилегированныйРежим()
        И Не Пользователи.ЭтоПолноправныйПользователь() Тогда
        Отказ = Истина;
    КонецЕсли;
    
    ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);

КонецПроцедуры
3 Nemirov
 
08.02.23
09:57
Благодарю!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший