Нарушение прав доступа при работе с внешней обработкой

1. rafaiil 15.05.17 10:04 Сейчас в теме
Всем привет!
работаю на 1С:Предприятие 8.3 (8.3.9.2033)(но ошибка встречается и на старых платформах)
Управление торговлей, редакция 11.1 (11.1.9.70)

Ситуация такая:
Вызываю из внешней обработки другую внешнюю обработку следующим кодом:
&НаКлиенте
Процедура ОткрытьПакетныйВводПоступлений(Команда)
	СсылкаНаФайл = ПолучитьСсылкуНаФайлИзСправочника("Пакетный ввод поступлений");
	ОткрытьФорму("ВнешняяОбработка."+ВызовСервера(СсылкаНаФайл)+".Форма"); 
КонецПроцедуры

&НаСервереБезКонтекста
Функция ВызовСервера(АдресХранилища) 
   
   Возврат ВнешниеОбработки.Подключить(АдресХранилища);
   
КонецФункции

&НаСервереБезКонтекста
Функция ПолучитьСсылкуНаФайлИзСправочника(ИмяФайла)
   
   Возврат ПолучитьНавигационнуюСсылку(Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяФайла),"ХранилищеОбработки");
   
КонецФункции


Показать


Код отрабатывает и обработка открывается. Но некоторый функционал в обработке не отрабатывает выходит ошибка

{ВнешняяОбработка.РаботаСЗаказами.Форма.Форма.Форма(649)}: Ошибка при вызове метода контекста (Записать)
НовыйДокумент.Записать();
по причине:
Нарушение прав доступа!


Очевидно в коде я пытаюсь записать новый документ(тестирую,конечно, под Полными Правами).
Но что интересно, если я открываю обработку через Файл-Открыть или просто через стаднартный функционал(предварительно прикрепив внешнюю обработку во Внешние обработки и отчеты) то этой ошибки не выходит.

Может кто сталкивался с подобной историей?
По теме из базы знаний
Найденные решения
10. rafaiil 18.05.17 09:22 Сейчас в теме
(9)как я узнал во внешних обработках невозможно установить привилегированный режим.
решается вопрос следующим способом
&НаСервереБезКонтекста
Функция ВызовСервера(АдресХранилища) 
   
   Возврат ВнешниеОбработки.Подключить(АдресХранилища);
   
КонецФункции


нужно изменить на

Возврат ВнешниеОбработки.Подключить(АдресХранилища,,ЛОЖЬ);

тогда обработка будет открываться без безопасного режима
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. BackinSoda 15.05.17 10:18 Сейчас в теме
Может у пользователя "Защита от опасных действий" проставлена галочка?
4. rafaiil 15.05.17 10:42 Сейчас в теме
(2)
Может у пользователя "Защита от опасных действий" проставлена галочка?

галочка убрана
3. user633533_encantado 11 15.05.17 10:35 Сейчас в теме
Может ее в безопасном режиме открывает ?
5. rafaiil 15.05.17 10:48 Сейчас в теме
(3)в сведениях обработки Безопасный режим отключен. А как проверить в каком режиме запускается обработка? Я ж получаю форму обработки в коде.
6. корум 288 15.05.17 11:03 Сейчас в теме
(5) перед получением формы напиши ИспользоватьПривилегированныйРежим(Истина);
7. rafaiil 15.05.17 11:56 Сейчас в теме
(6)
ИспользоватьПривилегированныйРежим(Истина);

скороее всего вы говорите о УстановитьПривилегированныйРежим(Истина) он работает только на Сервере.
Уточню: я работаю на файловой базе и у пользователя тоже файловый вариант.
Однако использование данной функции не сработало:
1) я указал её в той обработке которую вызываю и пописал её непосредственно перед НовыйДокумент.Записать();
2) так же пытался на сервере материнской обработки её использовать так же не получилось.

Использование
УстановитьБезопасныйРежим(Ложь)
так же не помогло,система сообщает что БР включен чтобы его выключать.
8. rafaiil 16.05.17 17:13 Сейчас в теме
Поднимаю.Может кто то сталкивался всё же?
9. корум 288 16.05.17 17:25 Сейчас в теме
(8)
УстановитьПривилегированныйРежим(Истина) он работает только на Сервере

... и это значит, что устанавливать нужно на сервере.

УстановитьПривилегированныйРежим(Истина) нужно писать вначале процедуры, в которой идет обращение к данным. Либо вызывать процедуру обращения к данным из привилегированного общего модуля.
Надо учесть (из синт. помощника): "В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий."


Вот тут разбирали, что и как.
10. rafaiil 18.05.17 09:22 Сейчас в теме
(9)как я узнал во внешних обработках невозможно установить привилегированный режим.
решается вопрос следующим способом
&НаСервереБезКонтекста
Функция ВызовСервера(АдресХранилища) 
   
   Возврат ВнешниеОбработки.Подключить(АдресХранилища);
   
КонецФункции


нужно изменить на

Возврат ВнешниеОбработки.Подключить(АдресХранилища,,ЛОЖЬ);

тогда обработка будет открываться без безопасного режима
11. Neco 132 09.09.19 12:25 Сейчас в теме
Я добавил обработку в состав конфигурации - проблема с обновления метаданных решилась
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот