Безопасный режим во внешней обработке, запущенной из регламентного задания

1. fixin 4253 20.02.14 12:18 Сейчас в теме
В регламентном задании создаю внешнюю обработку, начинаю ее выполнять, оказывается она работает в ограниченном режиме и не может открывать файлы.

Если то же самое делаю из-под себя, то все работает (у меня полные права).

Пробовал указывать в регламентном задании в качестве пользователя себя - ничего не помогает.

1С:Предприятие 8.2 (8.2.19.68)

Помогите разобраться
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. Rothschild 20.02.14 13:16 Сейчас в теме
(1) fixin,
база серверная, файловая?
обычное или управляемое приложение?
обработку запускаешь из файла или из справочника в базе данных?
***
дело в том что для серверной базы файлы при выполнении обработки
будут открываться именно на стороне сервера.

если укзывается фиксированные пути к этим файлам (доступные на клиенте),
то надо убедиться что на стороне сервера эти пути также доступны.

ну естественно + проверить права на папки с файлами
у пользователя windows
под которым вертятся регламентные задания
(это пользователь, под которым запущен агент сервера 1С).
9. fixin 4253 20.02.14 13:31 Сейчас в теме
(6) Все делаю сам. Внешняя обработка создается нормально, так что причина не в этом.

(7) Режим отладки юзать нереально. я юзаю трассировку через ЖР.

ОК, сделал простейшую внешнюю обработку с кодом в модуле:

ЗаписьЖурналаРегистрации("Отладка.АвтоматическаяПереоценкаБрака.БезопасныйРежим",,,, "При старте простой обработки: " + БезопасныйРежим());


Поставил в регламентном задании код:
ВнешниеОбработки.Создать("e:\1c\Проекты\ТестБезопасногоРежима82.epf");


В записи журнала регистрации получил:

При старте простой обработки: истина


Что за бред?

Хочу уточнить, что этот код из регламентного задания выполняется через Выполнить.
т.е. в регламентном задании написано тупо Выполнить(КодЗадания).
Возможно проблема в этом, но поменять это не реально.
13. Восьмой 88 20.02.14 13:56 Сейчас в теме
(9) fixin, не пойму что вам мешает запустить сервак 1С с режимом отладки?
15. Salavat 13 20.02.14 14:02 Сейчас в теме
(13) Восьмой, во-первых - он медленнее начинает работать. насколько - не знаю, правда.
во-вторых - нужно перезапускать его для этого.

но согласен - иногда это необходимо.

и для этого обычно держат второй сервак.
17. Восьмой 88 20.02.14 14:07 Сейчас в теме
(15) Salavat, да не особо он тормозит я тебе скажу, перезапуск 1 раз. Держать для этого второй сервак правильно - но дороговато - лицензия)
20. Salavat 13 20.02.14 14:14 Сейчас в теме
(17) Восьмой, не знаю не пробовал, т.к. сталкивался обычно с несамыми быстрыми сервами и сисадмины обычно говорили "нет".

это в книжках написано даже.

до лицензии даже не доходил вопрос. а там где был 2-й сервак, там както и не вставал он.
8. Восьмой 88 20.02.14 13:29 Сейчас в теме
(1) fixin, попробуй из регламентного задания обращаться в общий привелигированный модуль в котором создавай и запускай свою обработку
10. Rothschild 20.02.14 13:36 Сейчас в теме
(1) fixin,

*** и не может открывать файлы.


что-за файлы и как это проявляется ???
12. fixin 4253 20.02.14 13:54 Сейчас в теме
(10) да не столь важно, какие файлы. Просто включен безопасный режим, этого уже достаточно. В нем нельзя работать с ЛЮБЫМИ ФАЙЛАМИ. Я же дампы отладчика привел, там видно, что безопасный режим включен.

(11) Грош цена была бы такому безопасному режиму, если бы его можно было отключить банальным вызовом УстановитьБезопасныйРежим. Если БР включен не из обработки, то его не выключить, понимаешь? Но меня смущает, что у меня полные права, а она не дает делать в регламентном задании то, что я могу сделать в толстом клиенте.
14. Восьмой 88 20.02.14 14:00 Сейчас в теме
(12) fixin, т.е.
Платформа обеспечивает равенство значений счетчика безопасного режима при вызове произвольного метода встроенного языка и после возврата из него.
тебе ни о чем не говорит? Создал внешнюю обработку -подключил - проверил методом БезопасныйРежим() - Выключил безопасный режим методом УстановитьБезопасныйРежим() выполнил метод обработки - ты в обработке не сможешь его полюбому снять так как контекст исполнения другой? тебе снимать нужно в контексте модуля задания.
16. Rothschild 20.02.14 14:06 Сейчас в теме
(10)
ЗЫ
а безопасный режим из принципа требуется?
можно же создать объект и "НЕБЕЗОПАСНО":
ВнешниеОбработки.Создать("e:\1c\Проекты\ТестБезопасногоРежима82.epf",ЛОЖЬ);



tiniji; surr; zhenianik; Огонек; PetrPan; sww1984; Salavat; Восьмой; +8 Ответить
18. Восьмой 88 20.02.14 14:08 Сейчас в теме
(16) Rothschild, Красава век живи век учись.
Rothschild; +1 Ответить
19. Rothschild 20.02.14 14:12 Сейчас в теме
(18) Восьмой,
и ДУРАКОМ реинкарнируешся ...
... в БАОБАБ!!!
;))))
21. Salavat 13 20.02.14 14:16 Сейчас в теме
(16) Rothschild, чтото да. ладно я не пользовался этим ниразу, но еслиб пользовался - уж глянул бы про параметры метода.
23. fixin 4253 20.02.14 15:38 Сейчас в теме
(21) видишь ли, это проблема обратной совместимости. Надо было по умолчанию делать параметр ЛОЖЬ, тогда не было бы проблем с обратной совместимостью. В 81 этого параметра не было.
22. fixin 4253 20.02.14 14:56 Сейчас в теме
(16) ух ты, я про этот параметр не знал. в 81 его не было. счас покурю, спасибо за наводку.
Предварительно получил:
"При старте простой обработки: ложь"

Это радует, завтра обновлю конфу, если заработает, то бабло отдам тебе. ;-)
24. bad_boys 16 30.06.16 10:55 Сейчас в теме
(16) Rothschild, Спасибо) искал искал, только в этой ветке нашел как правильно сделать!!!
11. Восьмой 88 20.02.14 13:52 Сейчас в теме
(1) fixin, при запуске внешних обработок 1С по умолчанию устанавливает безопасный режим при котором система накладывает ряд ограничений , если его нужно вырубить то для этого существует процедура УстановитьБезопасныйРежим() есть также функция которая проверяет включен безопасный режим или нет БезопасныйРежим()
2. Salavat 13 20.02.14 12:21 Сейчас в теме
а какие пользователи для этой внешней обработки указаны? и какой режим там указан?
3. fixin 4253 20.02.14 12:50 Сейчас в теме
(2) что значит пользователи для внешней обработки? Я запускаю регламентное задание (по расписанию), пользователем регламентного задания указан я. у меня полные права.

Добавил код:
	ЗаписьЖурналаРегистрации("Отладка.АвтоматическаяПереоценкаБрака.БезопасныйРежим",,,, "При старте: " + БезопасныйРежим());          


Когда стартую под собой вижу:
Перед записью документа: ложь
4. Salavat 13 20.02.14 12:55 Сейчас в теме
(3) fixin, внешнюю обработку (когда добавляется в допобработки) указываются пользователи и режим запуска.

насчёт регламентного задания - надо смотреть, что (и как) оно там творит?
5. fixin 4253 20.02.14 13:11 Сейчас в теме
(4) У меня УТ 10.3. Я сам в коде создаю объект внешней обработки. Поэтому не понятно, о каком пользователе речь.
Есть пользователь у регламентного задания, об этом я уже говорил.
7. Salavat 13 20.02.14 13:18 Сейчас в теме
(5) fixin, а ну ясно, я говорил про управляемые приложения (ут 11 - например),

а так, тогда в отладчике проверять, что откуда берётся.
но на сервере нужно, чтоб было включен режим отладки.
Оставьте свое сообщение

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