1C82, УПП13 Тонкий клиент. &НаСервере не сохраняет файл из временного хранилища: Установлен безопасный режим.

1. duke55 08.08.17 09:43 Сейчас в теме
Есть 2 процедуры: &НаКлиенте открывает эксель файл и передает его через ВременноеХранилище для обработки &НаСервере. Но при попытке записать &НаСервере этот файл из временого хранилища возникает ошибка что установлен безопасный режим.

Кто-нибудь сталкивался с таким?

..................

&НаСервере
Процедура 	ОбработкаФайлаДанныхНаСервере(ВременноеХранилищеФайлаДанных)
	
            ИмяФайлаДанных = ПолучитьИмяВременногоФайла("xls");
            ФайлДанных   = ПолучитьИзВременногоХранилища(ВременноеХранилищеФайлаДанных);
            ФайлДанных.Записать(ИмяФайлаДанных);                                                                                   // *** здесь модуль останавливается с ошибкой
	
	Попытка
		ЭлектроннаяТаблица = ПолучитьCOMОбъект(ФайлДанных.ПолноеИмяФайла);
		РабочийЛист = ЭлектроннаяТаблица.Sheets(1);
	Исключение
		Возврат
	КонецПопытки;

КонецПроцедуры


&НаКлиенте
Процедура 	НовыйМеханизм_ОперацииПриемаЭлектронныйДокументНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	Перем ВременноеХранилищеФайлаДанных;
	
	Режим = РежимДиалогаВыбораФайла.Открытие;
	ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
	ДиалогОткрытияФайла.ПолноеИмяФайла = "";
	Фильтр = "(*.xls)|*.xls";
	ДиалогОткрытияФайла.Фильтр = Фильтр;
	ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
	ДиалогОткрытияФайла.Заголовок = "Укажите электронный документ поставщика";
	
	мМассивВходящихНомеров = Новый Массив;
	Если ДиалогОткрытияФайла.Выбрать() Тогда
		
		НайденныеФайлы = НайтиФайлы(ДиалогОткрытияФайла.ПолноеИмяФайла);
	            ПоместитьФайл(ВременноеХранилищеФайлаДанных, ДиалогОткрытияФайла.ПолноеИмяФайла, , Ложь);
		ОбработкаФайлаДанныхНаСервере(ВременноеХранилищеФайлаДанных)
		
	КонецЕсли;
	
КонецПроцедуры
Показать
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. japopov 68 08.08.17 10:02 Сейчас в теме
(1) УстановитьПривилегированныйРежим() помогает
6. Xershi 1484 08.08.17 10:15 Сейчас в теме
(1) на ИТС есть статья по безопасному режиму, если не охота разбираться нужно ставить не безопасный!
3. duke55 08.08.17 10:11 Сейчас в теме
Пытался и УстановитьПривилегированныйРежим(), и УстановитьБезопасныйРежим()...

Но почему-то не помогает....


Может быть не там их вписываю?
4. user633533_encantado 11 08.08.17 10:12 Сейчас в теме
В безопасном режиме "УстановитьПривилегированныйРежим" не сработает. Подключайте обработку в небезопасном.
5. duke55 08.08.17 10:15 Сейчас в теме
Я обработку запускаю через Файл - Открыть... Может в этом проблема?
7. user633533_encantado 11 08.08.17 10:16 Сейчас в теме
(5) Подключайте ее как внешнюю и в небезопасном режиме, самый простой способ решить эту проблему.
8. japopov 68 08.08.17 10:30 Сейчас в теме
Погодите, а у Вас внешняя обработка? Тогда в модуле прописывали параметры? Что-то вроде
Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
    
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    ПараметрыРегистрации.Версия = "0.0.0.1";
//----- ВОТ ОНО! -----
	ПараметрыРегистрации.БезопасныйРежим = Ложь;
//-----  -----
    
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = "Моя команда (автоматически)";
    НоваяКоманда.Идентификатор = "МояКоманда_Авто";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    НоваяКоманда.ПоказыватьОповещение = Истина;
    
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = "Моя командная команда (вручную)";
    НоваяКоманда.Идентификатор = "МояКоманда_Настройка";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    НоваяКоманда.ПоказыватьОповещение = Ложь;
    
    Возврат ПараметрыРегистрации;

КонецФункции
Показать
9. duke55 08.08.17 10:56 Сейчас в теме
В УПП 1.3 нет справочника "ДополнительныеОтчетыИОбработки".

Там есть только "Внешние обработки". И в реквизитах у этого справочника нет никаких "Безопасных режимов".
12. japopov 68 08.08.17 11:29 Сейчас в теме
(9) В Вашей задаче изначально ни слова об УПП.
Проще всего пользователям отключить контроль опасных действий, на инфостарте была обработка для массового его отключения.
10. duke55 08.08.17 10:59 Сейчас в теме
Если я добавлю в конфигурацию недостающие реквизиты (типа "Безопасный режим") и модули ("ДополнительныеОтчетыИОбработки" и "ДополнительныеОтчетыИОбработкиКлиентСервер") поможет?
11. SPID 08.08.17 11:12 Сейчас в теме
8.2 и УПП 1.3 под рукой нет.
Именно ошибка или предупреждение об опасном действии?
Если предупреждение, то для пользователя можно отключить контроль такой - в конфигураторе - пользователи - флаг "защита от опасных действий".
Еще вариант посмотреть в сторону создания и подключения профилей безопасности сервера (в консоле управления кластером серверов).
14. duke55 08.08.17 11:36 Сейчас в теме
(11)
Именно ошибка или предупреждение об опасном действии?


Ошибка.... Модуль останавливается и светит окно с красным крестом...
13. duke55 08.08.17 11:29 Сейчас в теме
Да-да, я тоже это все знаю.

Проблема только в том, что и флагов таких у пользователей в 1С82 (УПП13) нету, и в кластере соответственно раздела с профилями тоже нету...


Получается что защита активна и её ничем не снять ?
15. duke55 08.08.17 11:53 Сейчас в теме
А этот режим на уровне SQL-таблиц никак не отключается? Может есть таблица на сервере где находится этот параметр?
16. SPID 08.08.17 12:10 Сейчас в теме
Надо тестировать, но сервера 8.2 нет... может кто посмотрит...
Могу только ссылку на ИТС дать https://its.1c.ru/db/metod8dev/content/3555/hdoc
17. duke55 08.08.17 12:26 Сейчас в теме
Оставьте свое сообщение

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