Нарушение прав доступа при работе с внешней обработкой
Всем привет!
работаю на 1С:Предприятие 8.3 (8.3.9.2033)(но ошибка встречается и на старых платформах)
Управление торговлей, редакция 11.1 (11.1.9.70)
Ситуация такая:
Вызываю из внешней обработки другую внешнюю обработку следующим кодом:
Код отрабатывает и обработка открывается. Но некоторый функционал в обработке не отрабатывает выходит ошибка
Очевидно в коде я пытаюсь записать новый документ(тестирую,конечно, под Полными Правами).
Но что интересно, если я открываю обработку через Файл-Открыть или просто через стаднартный функционал(предварительно прикрепив внешнюю обработку во Внешние обработки и отчеты) то этой ошибки не выходит.
Может кто сталкивался с подобной историей?
работаю на 1С:Предприятие 8.3 (8.3.9.2033)(но ошибка встречается и на старых платформах)
Управление торговлей, редакция 11.1 (11.1.9.70)
Ситуация такая:
Вызываю из внешней обработки другую внешнюю обработку следующим кодом:
&НаКлиенте
Процедура ОткрытьПакетныйВводПоступлений(Команда)
СсылкаНаФайл = ПолучитьСсылкуНаФайлИзСправочника("Пакетный ввод поступлений");
ОткрытьФорму("ВнешняяОбработка."+ВызовСервера(СсылкаНаФайл)+".Форма");
КонецПроцедуры
&НаСервереБезКонтекста
Функция ВызовСервера(АдресХранилища)
Возврат ВнешниеОбработки.Подключить(АдресХранилища);
КонецФункции
&НаСервереБезКонтекста
Функция ПолучитьСсылкуНаФайлИзСправочника(ИмяФайла)
Возврат ПолучитьНавигационнуюСсылку(Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяФайла),"ХранилищеОбработки");
КонецФункции
ПоказатьКод отрабатывает и обработка открывается. Но некоторый функционал в обработке не отрабатывает выходит ошибка
{ВнешняяОбработка.РаботаСЗаказами.Форма.Форма.Форма(649)}: Ошибка при вызове метода контекста (Записать)
НовыйДокумент.Записать();
по причине:
Нарушение прав доступа!
НовыйДокумент.Записать();
по причине:
Нарушение прав доступа!
Очевидно в коде я пытаюсь записать новый документ(тестирую,конечно, под Полными Правами).
Но что интересно, если я открываю обработку через Файл-Открыть или просто через стаднартный функционал(предварительно прикрепив внешнюю обработку во Внешние обработки и отчеты) то этой ошибки не выходит.
Может кто сталкивался с подобной историей?
По теме из базы знаний
- Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы
- Анализ прав доступа БСП 2+
- Подсистема прав доступа к объектам с гибкими отборами (расширение)
- Просмотр прав. Анализ прав и ролей. Поиск подходящего профиля. УТ 10.3, УПП 1.3, УТ 11.Х, КА 2.Х, БП 3.0, ЗУП 3.1, УНФ 1.6, Розница 2.Х
- SynchroSber - полноценный модуль API интеграции с маркетплейсом Мегамаркет (СберМегаМаркет) для 1С УТ 11.X, КА 2.X, ERP 2.X, УНФ 1.6, 3.0 (возможность работы как с публикацией, так и без публикации базы)
Найденные решения
(9)как я узнал во внешних обработках невозможно установить привилегированный режим.
решается вопрос следующим способом
нужно изменить на
тогда обработка будет открываться без безопасного режима
решается вопрос следующим способом
&НаСервереБезКонтекста
Функция ВызовСервера(АдресХранилища)
Возврат ВнешниеОбработки.Подключить(АдресХранилища);
КонецФункции
нужно изменить на
Возврат ВнешниеОбработки.Подключить(АдресХранилища,,ЛОЖЬ);
тогда обработка будет открываться без безопасного режима
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6)
скороее всего вы говорите о УстановитьПривилегированныйРежим(Истина) он работает только на Сервере.
Уточню: я работаю на файловой базе и у пользователя тоже файловый вариант.
Однако использование данной функции не сработало:
1) я указал её в той обработке которую вызываю и пописал её непосредственно перед НовыйДокумент.Записать();
2) так же пытался на сервере материнской обработки её использовать так же не получилось.
Использование
УстановитьБезопасныйРежим(Ложь)
так же не помогло,система сообщает что БР включен чтобы его выключать.
ИспользоватьПривилегированныйРежим(Истина);
скороее всего вы говорите о УстановитьПривилегированныйРежим(Истина) он работает только на Сервере.
Уточню: я работаю на файловой базе и у пользователя тоже файловый вариант.
Однако использование данной функции не сработало:
1) я указал её в той обработке которую вызываю и пописал её непосредственно перед НовыйДокумент.Записать();
2) так же пытался на сервере материнской обработки её использовать так же не получилось.
Использование
УстановитьБезопасныйРежим(Ложь)
так же не помогло,система сообщает что БР включен чтобы его выключать.
(8)
... и это значит, что устанавливать нужно на сервере.
УстановитьПривилегированныйРежим(Истина) нужно писать вначале процедуры, в которой идет обращение к данным. Либо вызывать процедуру обращения к данным из привилегированного общего модуля.
Надо учесть (из синт. помощника): "В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий."
Вот тут разбирали, что и как.
УстановитьПривилегированныйРежим(Истина) он работает только на Сервере
... и это значит, что устанавливать нужно на сервере.
УстановитьПривилегированныйРежим(Истина) нужно писать вначале процедуры, в которой идет обращение к данным. Либо вызывать процедуру обращения к данным из привилегированного общего модуля.
Надо учесть (из синт. помощника): "В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий."
(9)как я узнал во внешних обработках невозможно установить привилегированный режим.
решается вопрос следующим способом
нужно изменить на
тогда обработка будет открываться без безопасного режима
решается вопрос следующим способом
&НаСервереБезКонтекста
Функция ВызовСервера(АдресХранилища)
Возврат ВнешниеОбработки.Подключить(АдресХранилища);
КонецФункции
нужно изменить на
Возврат ВнешниеОбработки.Подключить(АдресХранилища,,ЛОЖЬ);
тогда обработка будет открываться без безопасного режима
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот