|
Отключение безопасного режима открытия обработки. | ☑ | ||
---|---|---|---|---|
0
YaFedor
17.02.19
✎
21:45
|
Имеем:
1С:Предприятие 8.3 (8.3.13.1513) Розница (базовая), редакция 2.2 (2.2.9.20) Галка "Защита от опасных действий" у пользователя снята, права у пользователя не полные - это кассир. Обработка опубликована без безопасного режима. Открывается через публикацию. После очередного обновления запуск обработки приводит к аварийному завершению работы платформы. Решил протестировать - открывая обработку через меню Файл\открыть. При открытии обработки выходит ошибка: {ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXMLРозница.Форма.Форма.Форма(31)}: Ошибка при вызове конструктора (Файл) Файл = Новый Файл(ИмяФайлаВыгрузки); по причине: Установлен безопасный режим. Выполнение операции запрещено Как отключить этот безопасный режим? |
|||
1
ponaroshku
18.02.19
✎
04:47
|
Функция СведенияОВнешнейОбработке()
В модуле обработке Должно быть что-то типа ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); |
|||
2
mikeA
18.02.19
✎
06:02
|
(1)+ В РС РежимыПодключенияВнешнихМодулей ещё надо запись сделать и вроде бы ещё профиль безопасности базы настроить.
|
|||
3
ildary
18.02.19
✎
06:23
|
(0) при открытии обработки через Файл-Открыть - она открывается в безопасном режиме вне зависимости от того, что в ней прописано в СведенияОВнешнейОбработке().
|
|||
4
YaFedor
18.02.19
✎
08:38
|
(3) т.е. вообще никак не сделать?
|
|||
5
YaFedor
18.02.19
✎
08:39
|
Должен же быть вариант отладки внешней обработки под неполными правами
|
|||
6
Мимохожий Однако
18.02.19
✎
08:56
|
(5) Начал с одного вопроса, а закончил другим. В отладке можно включить режим отладки под тем пользователем, который нужен.
|
|||
7
YaFedor
18.02.19
✎
09:28
|
(6) Ну и что, если нужный пользователь не может открыть обработку?
|
|||
8
MaxS
18.02.19
✎
09:31
|
(0) >Обработка опубликована без безопасного режима
А Вы посмотрите как она опубликована. То, что в самой обработке указано БезопасныйРежим = Ложь; не действует на некоторых БСП. |
|||
9
YaFedor
18.02.19
✎
09:33
|
(8) Так я посмотрел же. Кроме того - опубликованная она все-таки открывается
|
|||
10
ponaroshku
18.02.19
✎
10:02
|
(5) причем тут права?
Подключаете к отладке своего пользователя Открываете файл, смотрите (3) смотря какие права у пользователя (2) у меня видимо старое бсп, нет такого |
|||
11
YaFedor
18.02.19
✎
10:14
|
(10) Как пользователь откроет обработку, если она у него не открывается через файл \ открыть?
|
|||
12
ponaroshku
18.02.19
✎
10:30
|
(11) она не открывается, пишет нарушение прав или ошибку, которая в (0)?
Если нарушение прав - у него прав нет на интерактивное открытие обработок значит Если как в 0, то уже на этом этапе можно подключить отладку |
|||
13
YaFedor
18.02.19
✎
10:36
|
(0) Конечно то, что в (0), ты вообще читал?
И что даст откладка на том моменте, который описан в (0) - там все ОК, просто в безопасном режиме половина действий не работает - там нечего отлаживать |
|||
14
ponaroshku
18.02.19
✎
10:46
|
(13) в ПриСозданииНаСервере
УстановитьБезопасныйРежим(Ложь); И отладкой посмотри значение БезопасныйРежим() |
|||
15
YaFedor
18.02.19
✎
11:18
|
Вот результат:
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXMLРозница.Форма.Форма.Форма(14)}: Ошибка при вызове метода контекста (УстановитьБезопасныйРежим) УстановитьБезопасныйРежим(Ложь); по причине: В данной процедуре/ функции не был установлен безопасный режим |
|||
16
YaFedor
18.02.19
✎
11:19
|
+
БезопасныйРежим() = Истина |
|||
17
YaFedor
19.02.19
✎
09:12
|
Появились ли у кого-нибудь варианты решения?
|
|||
18
Мимохожий Однако
19.02.19
✎
09:20
|
(17) Какие варианты решения, если у других таких проблем нет?
Покажи как в модуле обработке прописано использование безопасного режима. |
|||
19
YaFedor
19.02.19
✎
09:34
|
Вот так "решилась" проблема:
1) Изменил в конфигураторе имя обработки 2) Скопировал основную форму, назначил ее основной формой. Вуаля, пользователем открывается. Т.о. где-то в конфигурации хранится список обработок с безопасным режимом открытия. Вопрос: "где?" |
|||
20
YaFedor
19.02.19
✎
09:35
|
(18) как и всегда
Функция СведенияОВнешнейОбработке() Экспорт // Создадим структуру для возврата параметрыРегистрации_ = Новый Структура("Вид,Назначение,Наименование,Версия,БезопасныйРежим,Информация,Команды,ВерсияБСП"); параметрыРегистрации_.Вид = "ДополнительнаяОбработка"; параметрыРегистрации_.Назначение = ""; параметрыРегистрации_.Наименование = "Обмен данных между магазинами"; параметрыРегистрации_.Версия = "1.0"; параметрыРегистрации_.БезопасныйРежим = Ложь; параметрыРегистрации_.Информация = "Обработка выгружает / загружает данные"; //параметрыРегистрации_.ВерсияБСП = "2.4.1.84"; ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, НСтр("ru = 'Обмен данных между магазинами'"), "ОткрытьОбработкуОбменаДаннымиМеждуМагазинами", "ОткрытиеФормы"); параметрыРегистрации_.Команды = ТаблицаКоманд; // Вернем структуру Возврат параметрыРегистрации_; КонецФункции // СведенияОВнешнейОбработке() |
|||
21
YaFedor
19.02.19
✎
09:39
|
Второй раз открываешь обработку - все, снова безопасный режим, ничего не работает.
Охренеть |
|||
22
YaFedor
19.02.19
✎
09:54
|
(18) проблема такая у всех присутствует.
Попробуй, например в Бухгалтерии 3.0 пользователю с правами Бухгалтер, Открытие внешних отчетов и обработок открыть обработку, в которой в ПриСозданийНаСервере будет поиск файлов (например как ниже) и все - та же ошибка про безопасный режим &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) найденныеФайлы_ = НайтиФайлы(ОбщегоНазначенияКлиентСервер.КаталогФайловойИнформационнойБазы(), "НужныйФайл.txt"); Если найденныеФайлы_.Количество() = 0 Тогда Иначе КонецЕсли; КонецПроцедуры |
|||
23
Мимохожий Однако
19.02.19
✎
09:55
|
(22) Достаточно добавить права на открытие внешних обработок. Есть такая Группа прав
|
|||
24
YaFedor
19.02.19
✎
09:59
|
(23) Еще раз прочитай (22)
|
|||
25
runoff_runoff
19.02.19
✎
10:05
|
в справке по БСП же все написано..
надо прописывать Разрешения |
|||
26
runoff_runoff
19.02.19
✎
10:06
|
Сведения.Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима("Читай справку"));
|
|||
27
Мимохожий Однако
19.02.19
✎
10:20
|
(24) Код кривой. ИМХО
|
|||
28
YaFedor
19.02.19
✎
10:43
|
(27) Отлично
|
|||
29
YaFedor
19.02.19
✎
10:44
|
(25) Так разрешения прописываются в функции СведенияОВнешнейОбработке.
Эта функция через меню Файл\открыть не вызывается, следовательно не будет ни на что влиять |
|||
30
Cyberhawk
19.02.19
✎
10:49
|
Не безопасный режим насиловать надо, а таблицу разрешений у подключаемой обработки. Насиловать неподчалюемую к БСП внешнюю обработку тоже не надо.
|
|||
31
Cyberhawk
19.02.19
✎
10:49
|
*неподключаемую
|
|||
32
YaFedor
19.02.19
✎
10:52
|
(30) Нужно отладить обработку под пользователем с неполными правами. Как это сделать с подключаемой обработкой?
|
|||
33
Cyberhawk
19.02.19
✎
10:52
|
(32) Так же, как для любого другого пользователя
|
|||
34
Мимохожий Однако
19.02.19
✎
10:54
|
(32) Добавь в обработку форму для отладки и в неё добавь вызов тестируемых процедур
|
|||
35
Cyberhawk
19.02.19
✎
10:56
|
(34) Ага, ведь это куда проще, чем просто взять и подключаемую обработку вывести в интерфейс целевого пользователя ))
|
|||
36
YaFedor
19.02.19
✎
11:00
|
(33) еще раз - как отладить подключенную обработку? При ее открытии генерируется временный файл и в него записывается обработка, которая будет выполняться. Как в этой обработке точку останова поставить?
|
|||
37
Cyberhawk
19.02.19
✎
11:05
|
(36) Задача ничем не сложнее, чем отладить запрос под нужным пользователем. Просто нужно иметь подходящий инструмент.
|
|||
38
YaFedor
19.02.19
✎
11:07
|
(37) Подскажи как это сделать, я не представляю
|
|||
39
Cyberhawk
19.02.19
✎
11:11
|
(38) До БСП 2.1 какой-то подключаемая обработка вызывалась через временный файл. Нужно было лишь этот временный файл идентифицировать (найти) и открыть в конфигураторе.
Потом ребятки из БСП стали выполнять обработку, создавая ее без временного файла (прямо в памяти типа). Но и на этот случай есть способ перехвата такого создания через расширение. Посмотри как сделано в ИР. |
|||
40
Cyberhawk
19.02.19
✎
11:12
|
Накрайняк: нужно чтоб клиент был подключен как предмет отладки к отладчику.
Добавляешь взвод исключения в попытку кода, в пофигураторе автоостановку по ошибке и вуаля - клиент предлагает открыть обработку в конфигураторе. Так находишь файлик и ставишь уже где надо точку останова. |
|||
41
YaFedor
19.02.19
✎
11:19
|
(40) Неа, обработку открыть в конфигураторе не предлагает
|
|||
42
YaFedor
19.02.19
✎
11:20
|
(39) Насчет расширения - не работал с ними еще ни разу. ИР - это что?
|
|||
43
YaFedor
19.02.19
✎
11:20
|
Неужели нет возможности просто отключить этот безопасный режим может через запуск 1с с каким-то параметром?
|
|||
44
Cyberhawk
19.02.19
✎
11:22
|
||||
45
Cyberhawk
19.02.19
✎
11:28
|
(43) Дать пользователю административные права - безопасный режим тогда не будет применяться при открытии через Файл
|
|||
46
YaFedor
19.02.19
✎
11:30
|
(45) печально
|
|||
47
runoff_runoff
19.02.19
✎
11:40
|
(46) сделать обработку дополнительной в базе.. и дать соответствующие разрешения.. самое то.. а отладить модно и под полными правами..
|
|||
48
YaFedor
19.02.19
✎
11:42
|
(47) Под полными правами обработка работает идеально. А под неполными валит приложение 1с. Как тут отладить под полными правами :-)
|
|||
49
runoff_runoff
19.02.19
✎
12:25
|
(48) она не будет валить, если установить привилегированный режим..
|
|||
50
YaFedor
19.02.19
✎
13:03
|
(49) В коде стоит его установка
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |