|
Установлен безопасный режим. Выполнение операции запрещено | ☑ | ||
---|---|---|---|---|
0
zhabakot 04.12.19 ✎ 16:23 |
Всем привет! Такая проблема. Есть обработка, которую надо открывать в БП 3.0 через «файл-открыть». У пользователей с админскими правами все нормально, а у обычных пользователей выходит «Ошибка при вызове конструктора (WSОпределения): Установлен безопасный режим. Выполнение операции запрещено» |
|||
1
Fragster 04.12.19 ✎ 16:25 |
у тебя у пользователей разрешено открытие обработок через файл-открыть? |
|||
2
Fragster 04.12.19 ✎ 16:25 |
самоубийца |
|||
3
inkvizitr 04.12.19 ✎ 16:26 |
(0) конфигуратор->пользователи->выбираешь нужного пользователя и там в его карточки будет безопасный режим |
|||
4
zhabakot 04.12.19 ✎ 16:35 |
(1) не у меня, пользователям клиента, которым написал обработку, им так надо |
|||
5
Fragster 04.12.19 ✎ 16:36 |
(4) сделай так, чтобы обработка встраивалас в ДополнительныеВнешниеОтчетыИОбработки |
|||
6
zhabakot 04.12.19 ✎ 16:36 |
(3) тесли речь про «Защита от опасных действий», то снятие галки не помогает |
|||
7
zhabakot 04.12.19 ✎ 17:25 |
(5) деваться не куда, буду делать, хотя думал, что есть решение проще, спасибо! |
|||
8
Temai 04.12.19 ✎ 17:30 |
(7) Сделать обработку как в (5) совсем не сложно |
|||
9
zhabakot 04.12.19 ✎ 17:38 |
(8) не подскажешь как? |
|||
10
Александр Б 04.12.19 ✎ 18:22 |
(9) Открой справочник «Дополнительные отчёты и обработки» и нажми F1. В конце есть пример кода. |
|||
11
Temai 04.12.19 ✎ 18:38 |
(9) Там всего лишь в модуль объект добавляется несколько процедур, пример поищи в интернете |
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс
Отключение безопасного режима в интерфейсе
Если у Вас перестала запускаться внешняя обработка с сообщением о безопасном режиме, в первую очередь проверьте свойство «Защита от опасных действий» для пользователя, под которым выполняется запуск внешней обработки:
Если Вы доверяете поставщику внешней обработки — Вы можете отключить защиту от опасных действий. Дело в том, что определенный функционал внешней обработки или отчета может требовать отключения безопасного режима (подключение через Com-соединение к Excel, получение данных из сети). Именно поэтому возможна ситуация, когда необходимо будет отключить защиту для определенного пользователя.
Еще одна возможная ситуация — внешняя обработка перестала запускаться по расписанию с сообщениями об установленном безопасном режиме. Чтобы дать возможность нормально работать такой обработке — для регламентного задания нужно выбрать пользователя с полными правами (и отключенной защитой от опасных действий). Для этого переходим в регламентные задания (Администрирование => Обслуживание => Регламентные и фоновые задания). В списке регламентных заданий находим нужное регламентное задание по шаблону: Дополнительная обработка: Имя обработки.
Для этого регламентного задания указываете пользователя с полными правами, под которым будет это задание выполняться:
Обычно, этих действий достаточно для нормальной работы с внешней обработкой или для корректного запуска регламентного задания с использованием внешней обработки.
Отключение безопасного режима при проектировании внешней обработки (печатной формы)
Раньше можно было без особых проблем отключить безопасный режим при регистрации обработки или при ее выполнении. Фиксируем, что сейчас не работает:
- Отключение безопасного режима при регистрации обработки. Если Вы добавите строку «ПараметрыРегистрации.Вставить(«БезопасныйРежим», Ложь);» в метод СведенияОВнешнейОбработке() — это не отключит безопасный режим при выполнении обработки. Особенно, с учетом включенной защиты от опасных действий в настройках пользователя.
- Создание копии внешней обработки не в безопасном режиме. Раньше можно было при выполнении внешней обработки создать ее копию с отключением безопасного режима и таким образом реализовать необходимый функционал.
На данный момент при регистрации внешней обработки необходимо описывать возможные разрешения для внешней обработки. Для этого используется параметр регистрации «Разрешения» (тип Массив). В качестве примера рассмотрим добавление разрешения на создание Com-объекта «Excel.Application»:
Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; МассивНазначений = Новый Массив; ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", "Пример обработки"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("Информация", "Пример обработки"); ПараметрыРегистрации.Вставить("Разрешения", Новый Массив); ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "Выполнить обработку", "ВыполнитьОбработку", "ВызовСерверногоМетода", , "ВыполнитьОбработку"); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); ПараметрыРегистрации.Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаСозданиеCOMКласса("Excel.Application" , "00024500-0000-0000-C000-000000000046")); Возврат ПараметрыРегистрации; КонецФункции
Для «Word.Application» CLSID будет «000209FF-0000-0000-C000-000000000046». При регистрации внешней обработки с описанием разрешения в форме внешней печатной формы добавится страница «Разрешения»:
Текст разрешения:
Создание COM-объекта
Дополнительному отчету или обработке будет разрешено использовать механизмы внешнего программного обеспечения с помощью COM-соединения со следующими ограничениями:
с программным идентификатором Excel.Application
Также хочется отметить, что на данный момент не все разрешения нормально фиксируются через сведения о внешней обработке. Например, при добавлении разрешения на использование каталога временных файлов (РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина)) Вы можете получить ошибку:
Значение не является значением объектного типа (Представление)
Проблема фиксируется в функции СформироватьПредставлениеРазрешений() т.к. список описаний разрешений не содержит значение для этого разрешения. Возможно, в ближайших релизах мы увидим исправление этой ошибки.
Наши разработки:
|
|||
zhabakot
04.12.19 — 16:23 |
Всем привет! Такая проблема. Есть обработка, которую надо открывать в БП 3.0 через «файл-открыть». У пользователей с админскими правами все нормально, а у обычных пользователей выходит «Ошибка при вызове конструктора (WSОпределения): Установлен безопасный режим. Выполнение операции запрещено» Выходит в момент исполнения кода: WS_Определения_UPDATE = Новый WSОпределения(НастройкиAPI.СервисОбновления); Как отключить этот безопасный режим? |
||
Fragster
1 — 04.12.19 — 16:25 |
у тебя у пользователей разрешено открытие обработок через файл-открыть? |
||
Fragster
2 — 04.12.19 — 16:25 |
самоубийца |
||
inkvizitr
3 — 04.12.19 — 16:26 |
(0) конфигуратор->пользователи->выбираешь нужного пользователя и там в его карточки будет безопасный режим |
||
zhabakot
4 — 04.12.19 — 16:35 |
(1) не у меня, пользователям клиента, которым написал обработку, им так надо |
||
Fragster
5 — 04.12.19 — 16:36 |
(4) сделай так, чтобы обработка встраивалас в ДополнительныеВнешниеОтчетыИОбработки |
||
zhabakot
6 — 04.12.19 — 16:36 |
(3) тесли речь про «Защита от опасных действий», то снятие галки не помогает |
||
zhabakot
7 — 04.12.19 — 17:25 |
(5) деваться не куда, буду делать, хотя думал, что есть решение проще, спасибо! |
||
Temai
8 — 04.12.19 — 17:30 |
(7) Сделать обработку как в (5) совсем не сложно |
||
zhabakot
9 — 04.12.19 — 17:38 |
(8) не подскажешь как? |
||
Александр Б
10 — 04.12.19 — 18:22 |
(9) Открой справочник «Дополнительные отчёты и обработки» и нажми F1. В конце есть пример кода. |
||
Temai 11 — 04.12.19 — 18:38 |
(9) Там всего лишь в модуль объект добавляется несколько процедур, пример поищи в интернете |
TurboConf — расширение возможностей Конфигуратора 1С
Отключение безопасного режима открытия обработки. |
Я |
YaFedor
17.02.19 — 21:45
Имеем:
1С:Предприятие 8.3 (8.3.13.1513)
Розница (базовая), редакция 2.2 (2.2.9.20)
Галка «Защита от опасных действий» у пользователя снята, права у пользователя не полные — это кассир.
Обработка опубликована без безопасного режима. Открывается через публикацию. После очередного обновления запуск обработки приводит к аварийному завершению работы платформы.
Решил протестировать — открывая обработку через меню Файлоткрыть.
При открытии обработки выходит ошибка:
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXMLРозница.Форма.Форма.Форма(31)}: Ошибка при вызове конструктора (Файл)
Файл = Новый Файл(ИмяФайлаВыгрузки);
по причине:
Установлен безопасный режим. Выполнение операции запрещено
Как отключить этот безопасный режим?
ponaroshku
1 — 18.02.19 — 04:47
Функция СведенияОВнешнейОбработке()
В модуле обработке
Должно быть что-то типа
ПараметрыРегистрации.Вставить(«БезопасныйРежим», Ложь);
mikeA
2 — 18.02.19 — 06:02
(1)+ В РС РежимыПодключенияВнешнихМодулей ещё надо запись сделать и вроде бы ещё профиль безопасности базы настроить.
ildary
3 — 18.02.19 — 06:23
(0) при открытии обработки через Файл-Открыть — она открывается в безопасном режиме вне зависимости от того, что в ней прописано в СведенияОВнешнейОбработке().
YaFedor
4 — 18.02.19 — 08:38
(3) т.е. вообще никак не сделать?
YaFedor
5 — 18.02.19 — 08:39
Должен же быть вариант отладки внешней обработки под неполными правами
МимохожийОднако
6 — 18.02.19 — 08:56
(5) Начал с одного вопроса, а закончил другим. В отладке можно включить режим отладки под тем пользователем, который нужен.
YaFedor
7 — 18.02.19 — 09:28
(6) Ну и что, если нужный пользователь не может открыть обработку?
MaxS
8 — 18.02.19 — 09:31
(0) >Обработка опубликована без безопасного режима
А Вы посмотрите как она опубликована. То, что в самой обработке указано БезопасныйРежим = Ложь; не действует на некоторых БСП.
YaFedor
9 — 18.02.19 — 09:33
(8) Так я посмотрел же. Кроме того — опубликованная она все-таки открывается
ponaroshku
10 — 18.02.19 — 10:02
(5) причем тут права?
Подключаете к отладке своего пользователя
Открываете файл, смотрите
(3) смотря какие права у пользователя
(2) у меня видимо старое бсп, нет такого
YaFedor
11 — 18.02.19 — 10:14
(10) Как пользователь откроет обработку, если она у него не открывается через файл открыть?
ponaroshku
12 — 18.02.19 — 10:30
(11) она не открывается, пишет нарушение прав или ошибку, которая в (0)?
Если нарушение прав — у него прав нет на интерактивное открытие обработок значит
Если как в 0, то уже на этом этапе можно подключить отладку
YaFedor
13 — 18.02.19 — 10:36
(0) Конечно то, что в (0), ты вообще читал?
И что даст откладка на том моменте, который описан в (0) — там все ОК, просто в безопасном режиме половина действий не работает — там нечего отлаживать
ponaroshku
14 — 18.02.19 — 10:46
(13) в ПриСозданииНаСервере
УстановитьБезопасныйРежим(Ложь);
И отладкой посмотри значение БезопасныйРежим()
YaFedor
15 — 18.02.19 — 11:18
Вот результат:
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXMLРозница.Форма.Форма.Форма(14)}: Ошибка при вызове метода контекста (УстановитьБезопасныйРежим)
УстановитьБезопасныйРежим(Ложь);
по причине:
В данной процедуре/ функции не был установлен безопасный режим
YaFedor
16 — 18.02.19 — 11:19
+
БезопасныйРежим() = Истина
YaFedor
17 — 19.02.19 — 09:12
Появились ли у кого-нибудь варианты решения?
МимохожийОднако
18 — 19.02.19 — 09:20
(17) Какие варианты решения, если у других таких проблем нет?
Покажи как в модуле обработке прописано использование безопасного режима.
YaFedor
19 — 19.02.19 — 09:34
Вот так «решилась» проблема:
1) Изменил в конфигураторе имя обработки
2) Скопировал основную форму, назначил ее основной формой.
Вуаля, пользователем открывается.
Т.о. где-то в конфигурации хранится список обработок с безопасным режимом открытия.
Вопрос: «где?»
YaFedor
20 — 19.02.19 — 09:35
(18) как и всегда
Функция СведенияОВнешнейОбработке() Экспорт
// Создадим структуру для возврата
параметрыРегистрации_ = Новый Структура(«Вид,Назначение,Наименование,Версия,БезопасныйРежим,Информация,Команды,ВерсияБСП»);
параметрыРегистрации_.Вид = «ДополнительнаяОбработка»;
параметрыРегистрации_.Назначение = «»;
параметрыРегистрации_.Наименование = «Обмен данных между магазинами»;
параметрыРегистрации_.Версия = «1.0»;
параметрыРегистрации_.БезопасныйРежим = Ложь;
параметрыРегистрации_.Информация = «Обработка выгружает / загружает данные»;
//параметрыРегистрации_.ВерсияБСП = «2.4.1.84»;
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
НСтр(«ru = ‘Обмен данных между магазинами’»),
«ОткрытьОбработкуОбменаДаннымиМеждуМагазинами»,
«ОткрытиеФормы»);
параметрыРегистрации_.Команды = ТаблицаКоманд;
// Вернем структуру
Возврат параметрыРегистрации_;
КонецФункции // СведенияОВнешнейОбработке()
YaFedor
21 — 19.02.19 — 09:39
Второй раз открываешь обработку — все, снова безопасный режим, ничего не работает.
Охренеть
YaFedor
22 — 19.02.19 — 09:54
(18) проблема такая у всех присутствует.
Попробуй, например в Бухгалтерии 3.0 пользователю с правами Бухгалтер, Открытие внешних отчетов и обработок открыть обработку, в которой в ПриСозданийНаСервере будет поиск файлов (например как ниже) и все — та же ошибка про безопасный режим
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
найденныеФайлы_ = НайтиФайлы(ОбщегоНазначенияКлиентСервер.КаталогФайловойИнформационнойБазы(), «НужныйФайл.txt»);
Если найденныеФайлы_.Количество() = 0 Тогда
Иначе
КонецЕсли;
КонецПроцедуры
МимохожийОднако
23 — 19.02.19 — 09:55
(22) Достаточно добавить права на открытие внешних обработок. Есть такая Группа прав
YaFedor
24 — 19.02.19 — 09:59
(23) Еще раз прочитай (22)
runoff_runoff
25 — 19.02.19 — 10:05
в справке по БСП же все написано..
надо прописывать Разрешения
runoff_runoff
26 — 19.02.19 — 10:06
Сведения.Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима(«Читай справку»));
МимохожийОднако
27 — 19.02.19 — 10:20
(24) Код кривой. ИМХО
YaFedor
28 — 19.02.19 — 10:43
(27) Отлично
YaFedor
29 — 19.02.19 — 10:44
(25) Так разрешения прописываются в функции СведенияОВнешнейОбработке.
Эта функция через меню Файлоткрыть не вызывается, следовательно не будет ни на что влиять
Cyberhawk
30 — 19.02.19 — 10:49
Не безопасный режим насиловать надо, а таблицу разрешений у подключаемой обработки. Насиловать неподчалюемую к БСП внешнюю обработку тоже не надо.
Cyberhawk
31 — 19.02.19 — 10:49
*неподключаемую
YaFedor
32 — 19.02.19 — 10:52
(30) Нужно отладить обработку под пользователем с неполными правами. Как это сделать с подключаемой обработкой?
Cyberhawk
33 — 19.02.19 — 10:52
(32) Так же, как для любого другого пользователя
МимохожийОднако
34 — 19.02.19 — 10:54
(32) Добавь в обработку форму для отладки и в неё добавь вызов тестируемых процедур
Cyberhawk
35 — 19.02.19 — 10:56
(34) Ага, ведь это куда проще, чем просто взять и подключаемую обработку вывести в интерфейс целевого пользователя ))
YaFedor
36 — 19.02.19 — 11:00
(33) еще раз — как отладить подключенную обработку? При ее открытии генерируется временный файл и в него записывается обработка, которая будет выполняться. Как в этой обработке точку останова поставить?
Cyberhawk
37 — 19.02.19 — 11:05
(36) Задача ничем не сложнее, чем отладить запрос под нужным пользователем. Просто нужно иметь подходящий инструмент.
YaFedor
38 — 19.02.19 — 11:07
(37) Подскажи как это сделать, я не представляю
Cyberhawk
39 — 19.02.19 — 11:11
(38) До БСП 2.1 какой-то подключаемая обработка вызывалась через временный файл. Нужно было лишь этот временный файл идентифицировать (найти) и открыть в конфигураторе.
Потом ребятки из БСП стали выполнять обработку, создавая ее без временного файла (прямо в памяти типа). Но и на этот случай есть способ перехвата такого создания через расширение. Посмотри как сделано в ИР.
Cyberhawk
40 — 19.02.19 — 11:12
Накрайняк: нужно чтоб клиент был подключен как предмет отладки к отладчику.
Добавляешь взвод исключения в попытку кода, в пофигураторе автоостановку по ошибке и вуаля — клиент предлагает открыть обработку в конфигураторе. Так находишь файлик и ставишь уже где надо точку останова.
YaFedor
41 — 19.02.19 — 11:19
(40) Неа, обработку открыть в конфигураторе не предлагает
YaFedor
42 — 19.02.19 — 11:20
(39) Насчет расширения — не работал с ними еще ни разу. ИР — это что?
YaFedor
43 — 19.02.19 — 11:20
Неужели нет возможности просто отключить этот безопасный режим может через запуск 1с с каким-то параметром?
Cyberhawk
44 — 19.02.19 — 11:22
Cyberhawk
45 — 19.02.19 — 11:28
(43) Дать пользователю административные права — безопасный режим тогда не будет применяться при открытии через Файл
YaFedor
46 — 19.02.19 — 11:30
(45) печально
runoff_runoff
47 — 19.02.19 — 11:40
(46) сделать обработку дополнительной в базе.. и дать соответствующие разрешения.. самое то.. а отладить модно и под полными правами..
YaFedor
48 — 19.02.19 — 11:42
(47) Под полными правами обработка работает идеально. А под неполными валит приложение 1с. Как тут отладить под полными правами
runoff_runoff
49 — 19.02.19 — 12:25
(48) она не будет валить, если установить привилегированный режим..
YaFedor
50 — 19.02.19 — 13:03
(49) В коде стоит его установка
Отключение безопасного режима открытия обработки.
Галка «Защита от опасных действий» у пользователя снята, права у пользователя не полные — это кассир.
Обработка опубликована без безопасного режима. Открывается через публикацию. После очередного обновления запуск обработки приводит к аварийному завершению работы платформы.
Решил протестировать — открывая обработку через меню Файлоткрыть.
При открытии обработки выходит ошибка:
: Ошибка при вызове конструктора (Файл)
Файл = Новый Файл(ИмяФайлаВыгрузки);
по причине:
Установлен безопасный режим. Выполнение операции запрещено
Отключить безопасный режим при запуске внешней обработки
Если обработку запускать вручную из справочника внешних обработок, то все нормально работает?
Если да, то попробуйте регламент запустить под пользователем, у которого отключена защита от опасных действий, повторяется ошибка или нет?
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
ОбъектОписанияЗащиты = Новый ОписаниеЗащитыОтОпасныхДействий;
ОбъектОписанияЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь;
при работе COMОбъект во внешней обработке(отчете) когда конкретный пользователь откроет ее(его) первый раз система спросит «а ля тополя вы согласны. » жмем да и при дальнейших открытиях система «молчит», позволяя выполнять «опасный» код.
ВнешниеОтчеты.Подключить(ОтчетАдрес, ОтчетИмя, ОтчетСсылка.БезопасныйРежим, ОбъектОписанияЗащиты);
Имя внешней обработки можно получить из метаданных, а остальные параметры мне лень описывать — они тривиальны
Чаще всего можно столкнуться с ошибкой в 1с «установлен безопасный режим» при подключении или обновлении внешней дополнительной обработки. Задача решается за 2-3 минуты.
Для начала, разберемся в природе самой ошибки.
Причина
Вспоминаем, что в 1С Предприятии существует безопасный режим исполнения программного кода. В таком режиме изначально запускаются все внешние отчеты и обработки для безопасного выполнения кода. Если уверены, что обработка чиста от вредоносного кода, то смело отключаем безопасный режим в 1С.
Решение
Необходимо отключить безопасный режим для нашей обработки, в режиме предприятия.
Шаг 1
Прежде всего, необходимо открыть раздел «Все функции». Примечательно, что в последних версиях раздел может называться «функции для технического специалиста». Далее мы открываем обработку «Групповое изменение реквизитов«.
Шаг 2
В обработке выбираем, что будет изменять — Дополнительные отчеты и обработки. Открываем «Все элементы» и устанавливаем отбор нашей обработки. Условие отбора — имя обработки.
Шаг 3
Включаем служебные реквизиты. Для этого переходим в раздел «Дополнительные параметры», открываем Специальные возможности и устанавливаем галку «показывать служебные реквизиты».
Шаг 4
Теперь реквизит «Безопасный режим». Устанавливаем значение «Нет» и подтверждаем действие — нижний угол экрана «Изменить реквизиты». Готово! Таким образом мы убрали ошибку в 1С Установлен безопасный режим.
В результате должно появиться уведомление, что реквизиты были изменены. Осталось перезапустить обработку.
Отключение безопасного режима в интерфейсе
Если у Вас перестала запускаться внешняя обработка с сообщением о безопасном режиме, в первую очередь проверьте свойство «Защита от опасных действий» для пользователя, под которым выполняется запуск внешней обработки:
Если Вы доверяете поставщику внешней обработки — Вы можете отключить защиту от опасных действий. Дело в том, что определенный функционал внешней обработки или отчета может требовать отключения безопасного режима (подключение через Com-соединение к Excel, получение данных из сети). Именно поэтому возможна ситуация, когда необходимо будет отключить защиту для определенного пользователя.
Еще одна возможная ситуация — внешняя обработка перестала запускаться по расписанию с сообщениями об установленном безопасном режиме. Чтобы дать возможность нормально работать такой обработке — для регламентного задания нужно выбрать пользователя с полными правами (и отключенной защитой от опасных действий). Для этого переходим в регламентные задания (Администрирование => Обслуживание => Регламентные и фоновые задания). В списке регламентных заданий находим нужное регламентное задание по шаблону: Дополнительная обработка: Имя обработки.
Для этого регламентного задания указываете пользователя с полными правами, под которым будет это задание выполняться:
Обычно, этих действий достаточно для нормальной работы с внешней обработкой или для корректного запуска регламентного задания с использованием внешней обработки.
Отключение безопасного режима при проектировании внешней обработки (печатной формы)
Раньше можно было без особых проблем отключить безопасный режим при регистрации обработки или при ее выполнении. Фиксируем, что сейчас не работает:
- Отключение безопасного режима при регистрации обработки. Если Вы добавите строку «ПараметрыРегистрации.Вставить(«БезопасныйРежим», Ложь);» в метод СведенияОВнешнейОбработке() — это не отключит безопасный режим при выполнении обработки. Особенно, с учетом включенной защиты от опасных действий в настройках пользователя.
- Создание копии внешней обработки не в безопасном режиме. Раньше можно было при выполнении внешней обработки создать ее копию с отключением безопасного режима и таким образом реализовать необходимый функционал.
На данный момент при регистрации внешней обработки необходимо описывать возможные разрешения для внешней обработки. Для этого используется параметр регистрации «Разрешения» (тип Массив). В качестве примера рассмотрим добавление разрешения на создание Com-объекта «Excel.Application»:
Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; МассивНазначений = Новый Массив; ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", "Пример обработки"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("Информация", "Пример обработки"); ПараметрыРегистрации.Вставить("Разрешения", Новый Массив); ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "Выполнить обработку", "ВыполнитьОбработку", "ВызовСерверногоМетода", , "ВыполнитьОбработку"); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); ПараметрыРегистрации.Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаСозданиеCOMКласса("Excel.Application" , "00024500-0000-0000-C000-000000000046")); Возврат ПараметрыРегистрации; КонецФункции
Для «Word.Application» CLSID будет «000209FF-0000-0000-C000-000000000046». При регистрации внешней обработки с описанием разрешения в форме внешней печатной формы добавится страница «Разрешения»:
Текст разрешения:
Создание COM-объекта
Дополнительному отчету или обработке будет разрешено использовать механизмы внешнего программного обеспечения с помощью COM-соединения со следующими ограничениями:
с программным идентификатором Excel.Application
Также хочется отметить, что на данный момент не все разрешения нормально фиксируются через сведения о внешней обработке. Например, при добавлении разрешения на использование каталога временных файлов (РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина)) Вы можете получить ошибку:
Значение не является значением объектного типа (Представление)
Проблема фиксируется в функции СформироватьПредставлениеРазрешений() т.к. список описаний разрешений не содержит значение для этого разрешения. Возможно, в ближайших релизах мы увидим исправление этой ошибки.
Наши разработки:
Суть ошибки:
Конфигурация: УТ 11.3.4.31{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(3138)}:
Событие: Отправка.
Объект: Присоединенный файл (Перемещение товаров), к5-47
(e1cib/data/Справочник.ПеремещениеТоваровПрисоединенныеФайлы?ref=90f1000c295916af11e7 ce7c327951c8).
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(4665)}:
Событие: Отправка.
Обработчик: ПриОбработкеПОД.
ПОД: ПеремещениеТоваровПрисоединенныеФайлы.
Объект: Справочник объект: Присоединенные файлы (Перемещение товаров), к5-47.
Ошибка выполнения обработчика.
{ВнешняяОбработка.МодульМенеджераОбмена.МодульОбъекта(50869)}: Ошибка при вызове
конструктора (Файл)
ФайлВременный = Новый Файл(ПолноеИмяФайла);
по причине:
Установлен безопасный режим. Выполнение операции запрещено.
Решение:
В модуле менеджера плана обмена в процедуре ПолучитьВерсииФорматаОбмена установить параметр Безопасный режим = ложь при подключении внешнего модуля менеджера обмена ВнешниеОбработки.Подключить(,,Ложь)
Пример:
ИмяОбработки = Выборка.ПутьКМенеджеруОбмена; ДанныеОбработки = Новый ДвоичныеДанные(ИмяОбработки); АдресОбработки = ПоместитьВоВременноеХранилище(ДанныеОбработки); Если ОбщегоНазначения.ЕстьЗащитаОтОпасныхДействий() Тогда ИмяОбработки = ВнешниеОбработки.Подключить(АдресОбработки, , Ложь, ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений()); Иначе ИмяОбработки = ВнешниеОбработки.Подключить(АдресОбработки); КонецЕсли; МенеджерОбмена = ВнешниеОбработки.Создать(ИмяОбработки);
Сейчас разберём ошибку – «Установлен безопасный режим. Выполнение операций запрещено» 1С 8.3. Почему она появляется при работе с приложением и что в данном случае делать, чтобы от неё избавиться.
Содержание
- Для чего существует безопасный режим в 1С
- Как отключить безопасный режим
- Как отключить режим изменения реквизитов
- Обновление 1С 8 до 3 редакции
- Видеоинструкция
Для чего существует безопасный режим в 1С
Компания по разработке офисных программ 1С в прошлом часто сталкивалась с вирусами, которые мешали работе ПО и крали личные данные пользователей. Заносили в компьютер их сами владельцы компьютера, когда на просторах Интернета искали разнообразные дополнения и расширения для программ. Безопасный режим помогает блокировать внешние программы, не имеющие цифровой подписи и не определяющиеся как одобренные разработчиками.
Если необходимо подключение внешних программ или доступ другим пользователям к отчётным цифровым документам, можно настроить политику конфиденциальности. В окне программы следует открыть блок с использованием отчётов и в разделе «Разрешённые действия» выбрать необходимые. Вернувшись назад, пользователь сможете выбрать участников, которым разрешены эти действия.
Читайте также: не удалось найти в справочнике «Органы ФСГС» получателя отчётности 1С 8.3.
Как отключить безопасный режим
Важным моментом является доверие к поставщику ПО, которому предоставляется внешняя обработка данных. Если с этим проблем нет, безопасный режим может быть деактивирован. Именно это требуют приложения для внешней обработки, такие как таблицы Excel или другие связки для чтения данных из документа. Отключить режим также можно для всех пользователей или только для одного. Чаще всего из группы пользователей с доступом к документу выбираются те, у кого больше всего прав и доверия.
В программе необходимо открыть средство защиты от опасных действий. Это должен сделать пользователь, столкнувшийся с проблемой доступа. К примеру, если вы являетесь администратором, то необходимо открыть приложение из учётной записи пользователя с ошибкой. В основных настройках потребуется снять галочку с пункта «Защита от опасных действий». Пользователя с ошибкой также стоит наделить соответствующими правами в своей учётной записи.
Открыв раздел регламента, установите галочки на тех пунктах, которые разрешат ему выполнять соответствующие действия в ПО. Этим способом устраняется ошибка «Установлен безопасный режим. Выполнение операций запрещено 1С 8.3». Соответственно, отключать модуль безопасности стоит только в том случае, если администратор понимает последствия этих действий.
Это интересно: преобразование значения к типу Число не может быть выполнено 1С 8.3 — как исправить?
Как отключить режим изменения реквизитов
Для того, чтобы избавиться от ошибки, появляющейся в 1С 8.3, следует запустить настройку «Все функции». Если редакция программы выше, параметр может называться по-другому. Найдите пункт «Изменение реквизитов» и следуйте дальнейшим указаниям.
- Нажмите на кнопку меню в верхней панели программы;
- Выберите «Функции технического специалиста»;
- Переходим в параметры отчётов и обработки;
- Активируем служебные реквизиты в разделе «Специальные возможности»;
- Устанавливаем галочку на «Служебные реквизиты»;
- Выбираем в параметре значение «Нет».
Сохраните эти настройки. Для проверки того, что безопасный режим в программе для текущего пользователя больше не работает, повторите действия, при которых появлялось уведомление на экране. Пользователь мог уже работать за данной программой без ошибок. Она могла появиться в результате очередного обновления, с которым сформировалась и система защиты. Или изменение в её работе. Для работы с новой версией приложения обновите его и настройте политику доступа своего или других аккаунтов.
Обновление 1С 8 до 3 редакции
В последней редакции программы 1С появились новые функции, в том числе изменения коснулись системы безопасности. Чтобы защитить свои данные и программу, рекомендуется использовать последнюю версию ПО. По ссылке на сайт продукта необходимо пройти и авторизоваться https://login.1c.ru. И скачать обновление на свой компьютер. Если не войти в аккаунт сразу, данные для входа сайт могут потребоваться на странице загрузки обновления.
- На экране появится список версий, из которого выберите последнюю. Она определяется по дате выхода;
- Следующий шаг предлагает выбрать название вашей системы компьютера – Linux, Windows, Mac;
- Нажмите на кнопку «Скачать» под предложенным файлом;
- Запустите файл из папки, куда он был помещён;
- Откройте папку, в которой расположена резервная база;
- Завершите установку.
Данный пример является классической установкой обновления, но не единственным способом. Пользователь может сделать это при помощи отдельных файлов, загружаемых из сайта 1С. А также непосредственно из самого приложения без посещения сайтов. Загрузка файлов обновлённой версии не всегда является надёжным способом получить их. Приложение может загрузить не полный пакет. Из-за чего появляются другие ошибки во время установки обновлений.
Видеоинструкция
Этими способами вы сможете решить ошибку «Установлен безопасный режим, выполнение операций запрещено» в 1С или обновить свою платформу по инструкции из этого видео.
Содержание:
1. Почему вообще существует безопасный режим?
2. Применение функционала при установленном безопасном режиме в 1С
1. Почему вообще существует безопасный режим в 1С?
С появлением обработок, в которых был вирус, крадущий данные, компания 1С решила предоставить функционал по предупреждению подключения таких обработок в конфигурацию 1С. Это позволило уберечь пользователя при использовании сторонних обработок от несанкционированного доступа к данным системы. Однако в повседневной жизни этот функционал немного усложняет работу при подключении внешних обработок. Предлагаю подробно рассмотреть ситуацию, когда в 1С установлен безопасный режим и выполнение операции запрещено.
2. Применение функционала при установленном безопасном режиме в 1С
В качестве примера рассмотрим ситуацию: мы знаем, что обработка получена из достоверных источников – вирусов нет. Однако при подключении программа выдает вышеупомянутую ошибку. Что делать?
В данном случае нужно поработать с правами доступа, а именно: зайти в раздел «Настройки пользователей и прав», далее перейти в «Профили групп доступа» и «Создать группу». Так мы создадим отдельную роль, которую будем отдавать только тем пользователям, которым нужно работать с данной обработкой. Назовем группу «Использование дополнительных отчётов и обработок» и галочками отметим следующие роли:
· Интерактивное открытие внешних отчетов и обработок 1С;
· Использование дополнительных отчетов и обработок 1С.
Отмечу, что этот конкретный пример демонстрируется в интерфейсе конфигурации 1С Бухгалтерия версии 3.0.
Далее переходим назад – в меню «Пользователи», где из списка выбираем тех сотрудников, кому придется работать именно с данной обработкой. В карточке каждого из них выбираем пункт «Права доступа» и присваиваем сотруднику одну из созданных ранее ролей. Нажимаем кнопку «Записать».
Чтобы при открытии внешних обработок каждый раз не возникало предупреждение об опасных действиях, нам понадобится доступ в конфигуратор данной базы.
В конфигураторе 1С предприятия переходим в меню «Администрирование», после чего выбираем подменю «Пользователи».
В списке указываем пользователя, у которого нужно отключить сообщения об опасных действиях, и убрать галочку с пункта «Защита от опасных действий».
После этого пользователю нужно будет перезайти в базу.
Также ошибка о безопасном режиме 1С может возникнуть при выполнении внешней обработки по расписанию. Это связано с тем, что по умолчанию не указан пользователь, под которым будет выполнена данная задача. Эта проблема решается в обработке «Регламентные и фоновые задания», где, найдя нужное нам регламентное задание, выбираем пользователя с полными правами из списка «Имя пользователя».
В данной статье мы рассмотрели основные способы устранения ошибки безопасного режима 1С при подключении внешних обработок. Однако программные решения 1С многогранны и сложны в освоении, поэтому не стесняйтесь задать вопрос, если он возникает – мы всегда на связи и с удовольствием поможем решить даже самые сложные задачи.
Специалист компании ООО «Кодерлайн»
Кулажевский Сергей Дмитриевич
+1
Установлен безопасный режим. Выполнение операции запрещено
Не могу запустить обработку из раздела «Дополнительные обработки». Выдает «Установлен безопасный режим. Выполнение операции запрещено!»
В 1С Предприятии 8.2-8.3 появился специальный режим исполнения кода — безопасный режим. Суть безопасного режима в том что недоступно выполнение некоторых методов и конструкций встроенного языка. Если вы доверяете источнику из которого получена обработка — безопасный режим можно отключить.
В коде описания подключаемой обработки:
Код 1C v 8.2 УП
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ПриходнаяНакладная");
МассивНазначений.Добавить("Документ.РасходнаяНакладная");
ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Обработка ТЧ");
ПараметрыРегистрации.Вставить("Версия", "W1C.ru v 1.2");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация", "Дополнительная обработка табличной части");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
"Обработка ТЧ",
"Обработка ТЧ",
"ВызовКлиентскогоМетода",
Истина,
"ОткрытиеФормы");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
исправьте БезопасныйРежим
Код 1C v 8.2 УП
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
Отключение безопасного режима в интерфейсе
Если у Вас перестала запускаться внешняя обработка с сообщением о безопасном режиме, в первую очередь проверьте свойство «Защита от опасных действий» для пользователя, под которым выполняется запуск внешней обработки:
Если Вы доверяете поставщику внешней обработки — Вы можете отключить защиту от опасных действий. Дело в том, что определенный функционал внешней обработки или отчета может требовать отключения безопасного режима (подключение через Com-соединение к Excel, получение данных из сети). Именно поэтому возможна ситуация, когда необходимо будет отключить защиту для определенного пользователя.
Еще одна возможная ситуация — внешняя обработка перестала запускаться по расписанию с сообщениями об установленном безопасном режиме. Чтобы дать возможность нормально работать такой обработке — для регламентного задания нужно выбрать пользователя с полными правами (и отключенной защитой от опасных действий). Для этого переходим в регламентные задания (Администрирование => Обслуживание => Регламентные и фоновые задания). В списке регламентных заданий находим нужное регламентное задание по шаблону: Дополнительная обработка: Имя обработки.
Для этого регламентного задания указываете пользователя с полными правами, под которым будет это задание выполняться:
Обычно, этих действий достаточно для нормальной работы с внешней обработкой или для корректного запуска регламентного задания с использованием внешней обработки.
Отключение безопасного режима при проектировании внешней обработки (печатной формы)
Раньше можно было без особых проблем отключить безопасный режим при регистрации обработки или при ее выполнении. Фиксируем, что сейчас не работает:
- Отключение безопасного режима при регистрации обработки. Если Вы добавите строку «ПараметрыРегистрации.Вставить(«БезопасныйРежим», Ложь);» в метод СведенияОВнешнейОбработке() — это не отключит безопасный режим при выполнении обработки. Особенно, с учетом включенной защиты от опасных действий в настройках пользователя.
- Создание копии внешней обработки не в безопасном режиме. Раньше можно было при выполнении внешней обработки создать ее копию с отключением безопасного режима и таким образом реализовать необходимый функционал.
На данный момент при регистрации внешней обработки необходимо описывать возможные разрешения для внешней обработки. Для этого используется параметр регистрации «Разрешения» (тип Массив). В качестве примера рассмотрим добавление разрешения на создание Com-объекта «Excel.Application»:
Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; МассивНазначений = Новый Массив; ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", "Пример обработки"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("Информация", "Пример обработки"); ПараметрыРегистрации.Вставить("Разрешения", Новый Массив); ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "Выполнить обработку", "ВыполнитьОбработку", "ВызовСерверногоМетода", , "ВыполнитьОбработку"); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); ПараметрыРегистрации.Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаСозданиеCOMКласса("Excel.Application" , "00024500-0000-0000-C000-000000000046")); Возврат ПараметрыРегистрации; КонецФункции
Для «Word.Application» CLSID будет «000209FF-0000-0000-C000-000000000046». При регистрации внешней обработки с описанием разрешения в форме внешней печатной формы добавится страница «Разрешения»:
Текст разрешения:
Создание COM-объекта
Дополнительному отчету или обработке будет разрешено использовать механизмы внешнего программного обеспечения с помощью COM-соединения со следующими ограничениями:
с программным идентификатором Excel.Application
Также хочется отметить, что на данный момент не все разрешения нормально фиксируются через сведения о внешней обработке. Например, при добавлении разрешения на использование каталога временных файлов (РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина)) Вы можете получить ошибку:
Значение не является значением объектного типа (Представление)
Проблема фиксируется в функции СформироватьПредставлениеРазрешений() т.к. список описаний разрешений не содержит значение для этого разрешения. Возможно, в ближайших релизах мы увидим исправление этой ошибки.
Наши разработки:
Сейчас разберём ошибку – «Установлен безопасный режим. Выполнение операций запрещено» 1С 8.3. Почему она появляется при работе с приложением и что в данном случае делать, чтобы от неё избавиться.
Содержание
- Для чего существует безопасный режим в 1С
- Как отключить безопасный режим
- Как отключить режим изменения реквизитов
- Обновление 1С 8 до 3 редакции
- Видеоинструкция
Для чего существует безопасный режим в 1С
Компания по разработке офисных программ 1С в прошлом часто сталкивалась с вирусами, которые мешали работе ПО и крали личные данные пользователей. Заносили в компьютер их сами владельцы компьютера, когда на просторах Интернета искали разнообразные дополнения и расширения для программ. Безопасный режим помогает блокировать внешние программы, не имеющие цифровой подписи и не определяющиеся как одобренные разработчиками.
Если необходимо подключение внешних программ или доступ другим пользователям к отчётным цифровым документам, можно настроить политику конфиденциальности. В окне программы следует открыть блок с использованием отчётов и в разделе «Разрешённые действия» выбрать необходимые. Вернувшись назад, пользователь сможете выбрать участников, которым разрешены эти действия.
Читайте также: не удалось найти в справочнике «Органы ФСГС» получателя отчётности 1С 8.3.
Как отключить безопасный режим
Важным моментом является доверие к поставщику ПО, которому предоставляется внешняя обработка данных. Если с этим проблем нет, безопасный режим может быть деактивирован. Именно это требуют приложения для внешней обработки, такие как таблицы Excel или другие связки для чтения данных из документа. Отключить режим также можно для всех пользователей или только для одного. Чаще всего из группы пользователей с доступом к документу выбираются те, у кого больше всего прав и доверия.
В программе необходимо открыть средство защиты от опасных действий. Это должен сделать пользователь, столкнувшийся с проблемой доступа. К примеру, если вы являетесь администратором, то необходимо открыть приложение из учётной записи пользователя с ошибкой. В основных настройках потребуется снять галочку с пункта «Защита от опасных действий». Пользователя с ошибкой также стоит наделить соответствующими правами в своей учётной записи.
Открыв раздел регламента, установите галочки на тех пунктах, которые разрешат ему выполнять соответствующие действия в ПО. Этим способом устраняется ошибка «Установлен безопасный режим. Выполнение операций запрещено 1С 8.3». Соответственно, отключать модуль безопасности стоит только в том случае, если администратор понимает последствия этих действий.
Это интересно: преобразование значения к типу Число не может быть выполнено 1С 8.3 — как исправить?
Как отключить режим изменения реквизитов
Для того, чтобы избавиться от ошибки, появляющейся в 1С 8.3, следует запустить настройку «Все функции». Если редакция программы выше, параметр может называться по-другому. Найдите пункт «Изменение реквизитов» и следуйте дальнейшим указаниям.
- Нажмите на кнопку меню в верхней панели программы;
- Выберите «Функции технического специалиста»;
- Переходим в параметры отчётов и обработки;
- Активируем служебные реквизиты в разделе «Специальные возможности»;
- Устанавливаем галочку на «Служебные реквизиты»;
- Выбираем в параметре значение «Нет».
Сохраните эти настройки. Для проверки того, что безопасный режим в программе для текущего пользователя больше не работает, повторите действия, при которых появлялось уведомление на экране. Пользователь мог уже работать за данной программой без ошибок. Она могла появиться в результате очередного обновления, с которым сформировалась и система защиты. Или изменение в её работе. Для работы с новой версией приложения обновите его и настройте политику доступа своего или других аккаунтов.
Обновление 1С 8 до 3 редакции
В последней редакции программы 1С появились новые функции, в том числе изменения коснулись системы безопасности. Чтобы защитить свои данные и программу, рекомендуется использовать последнюю версию ПО. По ссылке на сайт продукта необходимо пройти и авторизоваться https://login.1c.ru. И скачать обновление на свой компьютер. Если не войти в аккаунт сразу, данные для входа сайт могут потребоваться на странице загрузки обновления.
- На экране появится список версий, из которого выберите последнюю. Она определяется по дате выхода;
- Следующий шаг предлагает выбрать название вашей системы компьютера – Linux, Windows, Mac;
- Нажмите на кнопку «Скачать» под предложенным файлом;
- Запустите файл из папки, куда он был помещён;
- Откройте папку, в которой расположена резервная база;
- Завершите установку.
Данный пример является классической установкой обновления, но не единственным способом. Пользователь может сделать это при помощи отдельных файлов, загружаемых из сайта 1С. А также непосредственно из самого приложения без посещения сайтов. Загрузка файлов обновлённой версии не всегда является надёжным способом получить их. Приложение может загрузить не полный пакет. Из-за чего появляются другие ошибки во время установки обновлений.
Видеоинструкция
Этими способами вы сможете решить ошибку «Установлен безопасный режим, выполнение операций запрещено» в 1С или обновить свою платформу по инструкции из этого видео.
|
|||
Gadin_V
12.04.16 — 12:41 |
Сделал внешнюю обработку выгрузка из 1с в sql Таблицы, запихал ее в регламент как внешнию, вылазиет ошибка {ВнешняяОбработка.ВыгрузкаотчетовНаSQL.МодульОбъекта(74)}: Ошибка при вызове конструктора (ComObject) по причине: Установлен безопасный режим. Выполнение операции запрещено в модуле объекта добавил Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации.Вставить(«БезопасныйРежим», Ложь); Возврат ПараметрыРегистрации; КонецФункции Не помогло, |
||
Timon1405
1 — 12.04.16 — 12:47 |
а как в коде обработка вызывается? ВнешниеОбработкиМенеджер (ExternalDataProcessorsManager) Создать (Create) Вариант синтаксиса: По имени файла Синтаксис: Создать(<ПолноеИмяФайла>, <БезопасныйРежим>) Параметры: <ПолноеИмяФайла> (обязательный) Тип: Строка. Полное имя файла внешней обработки. <БезопасныйРежим> (необязательный) Тип: Булево. Признак создания внешней обработки в безопасном режиме. Если параметр не указан, внешняя обработка будет работать в безопасном режиме. Значение по умолчанию: Истина |
||
Gadin_V
2 — 12.04.16 — 12:54 |
Сама обработка называется «ВыгрузкаотчетовНаSQL» Создать(«ВыгрузкаотчетовНаSQL», ложь) не очень понял что значит создать |
||
Timon1405
3 — 12.04.16 — 12:58 |
Не работает именно в регламенте? Руками запустить работает? Права на ком объект у пользователя из подо которого обработка запускается есть? |
||
Gadin_V
4 — 12.04.16 — 12:59 |
ага, именно в регламенте можно в 1с залить но над что бы как внешняя, щас пробую ВнешниеОбработки.Создать(«ВыгрузкаотчетовНаSQL»,ложь); |
||
Gadin_V
5 — 12.04.16 — 13:11 |
не помогло, то же самое {ВнешняяОбработка.ВыгрузкаотчетовНаSQL.МодульОбъекта(71)}: Ошибка при вызове конструктора (ComObject) по причине: Установлен безопасный режим. Выполнение операции запрещено ConnectionSQL = Новый ComObject(«ADODB.Connection»); ConnectionSQL.ConnectionString = Ругается теперь на строку ConnectionSQL.ConnectionString = |
||
Timon1405
6 — 12.04.16 — 13:50 |
можно попробовать УстановитьБезопасныйРежим(Ложь); перед ConnectionSQL = Новый ComObject(«ADODB.Connection»); |
||
Gadin_V
7 — 12.04.16 — 14:54 |
не помогло, мистика какая то, ставлю пользователя у которого полные права все галочки в ролях стоят, и УстановитьБезопасныйРежим(Ложь); перед ConnectionSQL = Новый ComObject(«ADODB.Connection»); поставил всё равно не работает |
||
Gadin_V
8 — 12.04.16 — 15:50 |
Есть у кого еще какие идеи?) |
||
Serginio1
9 — 12.04.16 — 16:06 |
ВнешниеОбработки.Создать(ПутьКТовейОбработке,ЛОЖЬ); |
||
Gadin_V
10 — 12.04.16 — 16:09 |
пробовал не работает |
||
Serginio1
11 — 12.04.16 — 16:19 |
Проверь внутри обработки ЗаписьЖурналаРегистрации(«ТвояОбработка»,,,, «При старте: » + БезопасныйРежим()); |
||
Serginio1 12 — 12.04.16 — 16:24 |
И перед вызовом обработки проверь БезопасныйРежим |
2 + 2 = 3.9999999999999999999999999999999… |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Содержание:
1. Почему может возникнуть ошибка при вызове конструктора (COM-объект 1С)?
2. С помощью чего можно исправить ошибку при вызове конструктора (COM-объект 1С)?
3. Параметры при вызове конструктора (COM-объект 1С), которые регистрируют компоненты строки кода перед регистрируемым dll-файлом
1. Почему может возникнуть ошибка при вызове конструктора (COM-объект 1С)?
Когда ты начинающий специалист 1С, то иногда приходится чувствовать себя шаманом с бубном, так как не знаешь причин ошибки и как её исправить тоже.
Сегодня мы разберем одну из ошибок, которые появляются при работе с базой, а именно ошибку при вызове конструктора (COM-объект 1С).
Ситуацию такую, мы можем наблюдать при загрузке с Excel при использовании (COM-объекта 1С), при обмене между базами. Ситуаций, когда возникает данное сообщение с возникшей проблемой довольно много при работе с программой.
Как правило, данная ошибка возникает из-за того, что при установке платформы1С не произошла автоматическая регистрация 64-х разрядной компоненты, которая отвечает за использование COM-соединения 1С 8.3. А почему это произошло, спросите? Все очень просто и в то же время сложно, если не знаешь, в чем все ядро проблемы. А причина в том, что те, у кого выдаются такие ошибки, используют 32(86) – разрядную операционную систему и ставят вместо платформы необходимой разрядности их системы, платформу 1С предназначенную для совсем другой системы.
2. С помощью чего можно исправить ошибку при вызове конструктора (COM-объект 1С)?
Исправить данную ошибку, довольно легко. Для этого необходимо всего лишь зарегистрировать библиотеку dll в реестре при помощи командной строки или программы PowerShell, в зависимости от того, что любите использовать, и команды regsvr32.
Для того чтобы выполнить команду, достаточно будет в строке написать такой текст команды «regsvr32 «C:Program Files1cv88.3.ХХ.ХХХХbincomcntr.dll»». Вместо «ХХ.ХХХХ» необходимо указать необходимый релиз платформы, библиотеку которой, необходимо зарегистрировать в реестре системы.
Если все выполнено правильно и регистрация произошла успешно, то должно выдать сообщение, как на скриншоте, об успешной регистрации библиотеки.
Администратор: Командная строка
3. Параметры при вызове конструктора (COM-объект 1С), которые регистрируют компоненты строки кода перед регистрируемым dll-файлом
Также есть некоторые особенности команды, которая регистрирует компоненты.
На данный момент я знаю только 4 параметра (которые при написании строки кода указываются перед регистрируемым dll-файлом):
· /u — параметр, отменяет регистрацию
· /i — параметр, который позволяет при необходимости, в зависимости от библиотеки.
· /n —параметр используется только для установки компоненты 1С, в основном пишется вместе с предыдущим (/I);
· /s – возможность отключить все сообщения при регистрации;
Существует, также, один немаловажный момент, что в зависимости от версии командной строки, иногда приходится прописывать путь к самой утилите.
Кстати, существуют специальные программы-инструменты, которые помогают регистрировать компоненты, без знания команд и утилит администрирования, зарегистрировать библиотеку и продолжить работать дальше.
Таких программ достаточно много и писать, какое-то одно название смысла нет.
Для того чтобы быстро и качественно решать такие проблемы, необходимо изучать разнообразные статьи, для повышения уровня знаний и квалификации.
Специалист компании «Кодерлайн»
Олег Мороз
Сейчас разберём ошибку – «Установлен безопасный режим. Выполнение операций запрещено» 1С 8.3. Почему она появляется при работе с приложением и что в данном случае делать, чтобы от неё избавиться.
Содержание
- Для чего существует безопасный режим в 1С
- Как отключить безопасный режим
- Как отключить режим изменения реквизитов
- Обновление 1С 8 до 3 редакции
- Видеоинструкция
Компания по разработке офисных программ 1С в прошлом часто сталкивалась с вирусами, которые мешали работе ПО и крали личные данные пользователей. Заносили в компьютер их сами владельцы компьютера, когда на просторах Интернета искали разнообразные дополнения и расширения для программ. Безопасный режим помогает блокировать внешние программы, не имеющие цифровой подписи и не определяющиеся как одобренные разработчиками.
Если необходимо подключение внешних программ или доступ другим пользователям к отчётным цифровым документам, можно настроить политику конфиденциальности. В окне программы следует открыть блок с использованием отчётов и в разделе «Разрешённые действия» выбрать необходимые. Вернувшись назад, пользователь сможете выбрать участников, которым разрешены эти действия.
Читайте также: не удалось найти в справочнике «Органы ФСГС» получателя отчётности 1С 8.3.
Как отключить безопасный режим
Важным моментом является доверие к поставщику ПО, которому предоставляется внешняя обработка данных. Если с этим проблем нет, безопасный режим может быть деактивирован. Именно это требуют приложения для внешней обработки, такие как таблицы Excel или другие связки для чтения данных из документа. Отключить режим также можно для всех пользователей или только для одного. Чаще всего из группы пользователей с доступом к документу выбираются те, у кого больше всего прав и доверия.
В программе необходимо открыть средство защиты от опасных действий. Это должен сделать пользователь, столкнувшийся с проблемой доступа. К примеру, если вы являетесь администратором, то необходимо открыть приложение из учётной записи пользователя с ошибкой. В основных настройках потребуется снять галочку с пункта «Защита от опасных действий». Пользователя с ошибкой также стоит наделить соответствующими правами в своей учётной записи.
Открыв раздел регламента, установите галочки на тех пунктах, которые разрешат ему выполнять соответствующие действия в ПО. Этим способом устраняется ошибка «Установлен безопасный режим. Выполнение операций запрещено 1С 8.3». Соответственно, отключать модуль безопасности стоит только в том случае, если администратор понимает последствия этих действий.
Это интересно: преобразование значения к типу Число не может быть выполнено 1С 8.3 — как исправить?
Как отключить режим изменения реквизитов
Для того, чтобы избавиться от ошибки, появляющейся в 1С 8.3, следует запустить настройку «Все функции». Если редакция программы выше, параметр может называться по-другому. Найдите пункт «Изменение реквизитов» и следуйте дальнейшим указаниям.
- Нажмите на кнопку меню в верхней панели программы;
- Выберите «Функции технического специалиста»;
- Переходим в параметры отчётов и обработки;
- Активируем служебные реквизиты в разделе «Специальные возможности»;
- Устанавливаем галочку на «Служебные реквизиты»;
- Выбираем в параметре значение «Нет».
Сохраните эти настройки. Для проверки того, что безопасный режим в программе для текущего пользователя больше не работает, повторите действия, при которых появлялось уведомление на экране. Пользователь мог уже работать за данной программой без ошибок. Она могла появиться в результате очередного обновления, с которым сформировалась и система защиты. Или изменение в её работе. Для работы с новой версией приложения обновите его и настройте политику доступа своего или других аккаунтов.
Обновление 1С 8 до 3 редакции
В последней редакции программы 1С появились новые функции, в том числе изменения коснулись системы безопасности. Чтобы защитить свои данные и программу, рекомендуется использовать последнюю версию ПО. По ссылке на сайт продукта необходимо пройти и авторизоваться https://login.1c.ru. И скачать обновление на свой компьютер. Если не войти в аккаунт сразу, данные для входа сайт могут потребоваться на странице загрузки обновления.
- На экране появится список версий, из которого выберите последнюю. Она определяется по дате выхода;
- Следующий шаг предлагает выбрать название вашей системы компьютера – Linux, Windows, Mac;
- Нажмите на кнопку «Скачать» под предложенным файлом;
- Запустите файл из папки, куда он был помещён;
- Откройте папку, в которой расположена резервная база;
- Завершите установку.
Данный пример является классической установкой обновления, но не единственным способом. Пользователь может сделать это при помощи отдельных файлов, загружаемых из сайта 1С. А также непосредственно из самого приложения без посещения сайтов. Загрузка файлов обновлённой версии не всегда является надёжным способом получить их. Приложение может загрузить не полный пакет. Из-за чего появляются другие ошибки во время установки обновлений.
Видеоинструкция
Этими способами вы сможете решить ошибку «Установлен безопасный режим, выполнение операций запрещено» в 1С или обновить свою платформу по инструкции из этого видео.
+1
Установлен безопасный режим. Выполнение операции запрещено
Не могу запустить обработку из раздела «Дополнительные обработки». Выдает «Установлен безопасный режим. Выполнение операции запрещено!»
В 1С Предприятии 8.2-8.3 появился специальный режим исполнения кода — безопасный режим. Суть безопасного режима в том что недоступно выполнение некоторых методов и конструкций встроенного языка. Если вы доверяете источнику из которого получена обработка — безопасный режим можно отключить.
В коде описания подключаемой обработки:
Код 1C v 8.2 УП
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ПриходнаяНакладная");
МассивНазначений.Добавить("Документ.РасходнаяНакладная");
ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Обработка ТЧ");
ПараметрыРегистрации.Вставить("Версия", "W1C.ru v 1.2");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация", "Дополнительная обработка табличной части");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
"Обработка ТЧ",
"Обработка ТЧ",
"ВызовКлиентскогоМетода",
Истина,
"ОткрытиеФормы");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
исправьте БезопасныйРежим
Код 1C v 8.2 УП
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
Содержание:
1. Почему вообще существует безопасный режим?
2. Применение функционала при установленном безопасном режиме в 1С
1. Почему вообще существует безопасный режим в 1С?
С появлением обработок, в которых был вирус, крадущий данные, компания 1С решила предоставить функционал по предупреждению подключения таких обработок в конфигурацию 1С. Это позволило уберечь пользователя при использовании сторонних обработок от несанкционированного доступа к данным системы. Однако в повседневной жизни этот функционал немного усложняет работу при подключении внешних обработок. Предлагаю подробно рассмотреть ситуацию, когда в 1С установлен безопасный режим и выполнение операции запрещено.
2. Применение функционала при установленном безопасном режиме в 1С
В качестве примера рассмотрим ситуацию: мы знаем, что обработка получена из достоверных источников – вирусов нет. Однако при подключении программа выдает вышеупомянутую ошибку. Что делать?
В данном случае нужно поработать с правами доступа, а именно: зайти в раздел «Настройки пользователей и прав», далее перейти в «Профили групп доступа» и «Создать группу». Так мы создадим отдельную роль, которую будем отдавать только тем пользователям, которым нужно работать с данной обработкой. Назовем группу «Использование дополнительных отчётов и обработок» и галочками отметим следующие роли:
· Интерактивное открытие внешних отчетов и обработок 1С;
· Использование дополнительных отчетов и обработок 1С.
Отмечу, что этот конкретный пример демонстрируется в интерфейсе конфигурации 1С Бухгалтерия версии 3.0.
Далее переходим назад – в меню «Пользователи», где из списка выбираем тех сотрудников, кому придется работать именно с данной обработкой. В карточке каждого из них выбираем пункт «Права доступа» и присваиваем сотруднику одну из созданных ранее ролей. Нажимаем кнопку «Записать».
Чтобы при открытии внешних обработок каждый раз не возникало предупреждение об опасных действиях, нам понадобится доступ в конфигуратор данной базы.
В конфигураторе 1С предприятия переходим в меню «Администрирование», после чего выбираем подменю «Пользователи».
В списке указываем пользователя, у которого нужно отключить сообщения об опасных действиях, и убрать галочку с пункта «Защита от опасных действий».
После этого пользователю нужно будет перезайти в базу.
Также ошибка о безопасном режиме 1С может возникнуть при выполнении внешней обработки по расписанию. Это связано с тем, что по умолчанию не указан пользователь, под которым будет выполнена данная задача. Эта проблема решается в обработке «Регламентные и фоновые задания», где, найдя нужное нам регламентное задание, выбираем пользователя с полными правами из списка «Имя пользователя».
В данной статье мы рассмотрели основные способы устранения ошибки безопасного режима 1С при подключении внешних обработок. Однако программные решения 1С многогранны и сложны в освоении, поэтому не стесняйтесь задать вопрос, если он возникает – мы всегда на связи и с удовольствием поможем решить даже самые сложные задачи.
Специалист компании ООО «Кодерлайн»
Кулажевский Сергей Дмитриевич