Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Непонятная работа системы прав доступа в 1С:ERP

Непонятная работа системы прав доступа в 1С:ERP
Я
   MrCoffin
 
03.06.21 - 10:06
Здравствуйте, уважаемые господа.
Платформа 8.3.18.1363 конфигурация 1С:ERP Управление предприятием 2 (2.4.13.180)
Документ "Движение продукции и материалов", заполнен корректно.
Есть пользователь с нужным набором прав интерактивно может проводить этот документ, а внешней обработкой, выполняющей код в серверном режиме:
    ДокОб=Док.ПолучитьОбъект();
    ДокОб.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
провести не может под предлогом "Нарушение прав доступа!". По журналу регистрации доступа нет к регистру "Активы и Пассивы". По ролям доступ к этому регистру имеют только полные права. Но интерактивно у пользователя провести и получить доступ к этому регистру удается, проходил отладчиком - выполняется тот же код, ни в том ни в другом случае в регистр ничего не пишется.
Оборачивание кода в "УстановитьПривилегированныйРежим" ничего не дает - так же возникает нарушение прав доступа к этому регистру.
Что это за крем-брюле такое?
   тарам пам пам
 
1 - 03.06.21 - 11:01
Пользователь может проводить, т. к. в конфигураторе для данного вида документа установлено свойство "Прив режим при проведении"
Из обработки проведение не работает скорее всего из-за того, что через обработка подключена в безопасном режиме.
Попробуй подключить в справочник внешних обработок с БезопасныйРежим = Ложь
   MrCoffin
 
2 - 03.06.21 - 11:15
(1) Благодарю. Подключение в опасном режиме решило проблему и всё успешно проводится. К сожалению нет возможности подключать этот код в режиме, отличном от безопасного. Это веб-сервис для фреша в расширении, который получает данные и создает нужный документ, создавать создает, а провести не может.
О свойствах документа, упомянуты Вами, я ранее не знал. Нашел описание https://its.1c.ru/db/v8std/content/485/hdoc
Получается, что подключение и выполнение кода расширения/обработки отменяет привилегированный режим даже в местах, где он включен в основной конфигурации?
   ildary
 
3 - 03.06.21 - 11:17
(2) если открыть обработку через Файл-Открыть, то фокус с БезопасныйРежим = Ложь тоже ломается.
   ДенисЧ
 
4 - 03.06.21 - 11:29
(2) Безопасный режим отключает привилегии. Как и внешняя обработка.
Нужно писать прив.модуль, в котором будет проводиться документ. И звать его из обработки.
   MrCoffin
 
5 - 03.06.21 - 11:38
(4) Да, я это понял. Я не могу понять, почему обработчик проведения - код выполняемый в контексте объекта "Документ", не внешней обработки или чего-л. еще тоже теряет свои привилегированные свойства, если я вызвал метод "Записать" объекта "Документ" - они же пытаются косплеить ООП, следовательно, по моему скромному мнению, вызов метода объекта экранирует исполняемый методом в контексте объекта код и может/должен выполняться так, как задумывал разработчик объекта, здесь же обработка проведения, исходя из результата проведения, теряет привилегированный режим, хотя этот привилегированный режим был бы включен в контексте выполнения "безопасного" кода внутри объекта "Документ". Инкаспуляция полиморфизм вот это всё.
Но если это работает не так, значит я в чем-то ошибаюсь, а в чем ошибаюсь понять не могу.
   MrCoffin
 
6 - 03.06.21 - 11:39
(4) В расширении при попытке добавить привилегированный модуль галочка "Привилегированный" неактивна :'(
   ДенисЧ
 
7 - 03.06.21 - 11:43
(6) И правильно. Ибо это была бы дыра в безопасности.
   MrCoffin
 
8 - 03.06.21 - 11:59
(7) Допустим. Каким образом я могу выполнить свой код из внешней обработки/расширения внутри обработчика проведения документа вызвав метод "Записать"?
Какие угрозы несет проведение документа?
   ДенисЧ
 
9 - 03.06.21 - 12:02
(8) Если тебе запрещено проводить этот документ - то запрещено
   MrCoffin
 
10 - 03.06.21 - 12:04
(9) Пользователь под теми же правами может проводить документ интерактивно.
   ДенисЧ
 
11 - 03.06.21 - 12:37
(10) Вот пусть и проводит интерактивно. А всякими левыми обработками в базу лезьть - нихт халяль.
   ildary
 
12 - 03.06.21 - 13:24
(10) На что Вы рассчитываете, если Ваша обработка будет выполняться во фреше? Там свои, полупараноидальные правила, менять которые ради Вас не будут (или заставят пройти аудит).
   Фрэнки
 
13 - 03.06.21 - 13:26
(12) наверное, у него не тот Фрэш о котором все думают, когда видят это слово в тексте. Какой-нибудь свой собственный. Со своим блэк-джеком и ...ми
   MrCoffin
 
14 - 03.06.21 - 14:42
(12) Правила фреша знаю, аудит неоднократно проходил.
(13) Фреш официальный от 1С.
Проблему решил, всем спасибо за участие.
   Вафель
 
15 - 03.06.21 - 15:35
(14) как решил?
   MrCoffin
 
16 - 11.06.21 - 10:31
(15) Документ заполняется, а в ERP проводят руками.

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.