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