Разыскивается живой пример обработки в безопасном режиме, реализующей запросы в веб, сохранение временных файлов и изменения документов

1. kuld 248 09.02.18 14:01 Сейчас в теме
Коллеги, не будет ли кто-нибудь столь любезен поделиться любой работающей обработкой, реализующей в безопасном режиме вот по вот этим требованиям https://1cfresh.com/articles/so_addprocess_req
1) Функции оправки/получения http запросов во внешний сервис,
2) Сохранения картинки полученной из этого сервиса во временном файле с целью последующего отображения в форме,
3) Изменения и записи документа (обработка заполнения табличной части)
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
9. Xershi 1486 11.02.18 08:49 Сейчас в теме
(1)1. Не проверял.
2. Есть рабочий код.
3. Есть код, но в УТ11.3 дырявый модуль из-за этого код не работает! Нужно конфу допиливать, проще было поставить не безопасно!
10. kuld 248 11.02.18 11:39 Сейчас в теме
(9) Цель - сделать внешнюю обработку для УНФ (как минимум, в идеале для всех БСПшных конфиг) в 1С-Fresh. Вариант "конфу допиливать" не подходит никак. Вариант "поставить не безопасно" не подходит совсем.
Ссылки по теме:
[1] https://1cfresh.com/articles/so_addprocess_req
[2] https://1cfresh.com/articles/so_addprocess_audit
11. Xershi 1486 11.02.18 15:37 Сейчас в теме
(10) в таком случае задача не реализуема. Пока разработчики не исправят не стыковки.
2. jigourt 31 09.02.18 15:32 Сейчас в теме
но ведь насколько я знаю в безопасном режиме запрещена работа с внешними ресурсами
3. necropunk 9 09.02.18 15:48 Сейчас в теме
(2) Недавно только разбирался с этим. В общем виде - да, но есть определенные разрешения, которые можно запросить и передать в массиве. Например

РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса(Протокол, Адрес, Порт, Описание)

Потом массив нужных разрешений можно передать в
ЗапросНаИспользованиеВнешнихРесурсов()
и так далее, в зависимости от того, какие ресурсы нужны.

Но помучался, конечно, пока разбирался.

https://1cfresh.com/articles/so_addprocess_fastaudit
5. kuld 248 09.02.18 16:40 Сейчас в теме
(3) Работающий прототип есть?
6. necropunk 9 09.02.18 18:40 Сейчас в теме
(5) С HTTP - нет, делал обработку, работающую с временными файлами и файловой системой. Но там просто с СведенияОВнешнейОбработке вставил:

	ПараметрыРегистрации = Новый Структура;
	ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");
	ПараметрыРегистрации.Вставить("Наименование", "Обработка Импорт счетов");
	ПараметрыРегистрации.Вставить("Версия", "1.1");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", истина);
	ПараметрыРегистрации.Вставить("Информация", "Импорт счетов");
	ПараметрыРегистрации.Вставить("ВерсияБСП", "2.1.2.19");
	
	ПараметрыРегистрации.Вставить("Разрешения", Новый Массив);	
	Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина);
	ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
	Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаПрограммы(Истина, Истина);
	ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
		
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = НСтр("ru = 'Импорт счетов'");
	НоваяКоманда.Идентификатор = "ТК_ИмпортСчетов_Упр";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	НоваяКоманда.ПоказыватьОповещение = Истина;
Показать


Обработка прошла аудит и все работает.
user1823204; ClickUp; provost_ua; batusai_00; +4 Ответить
7. kuld 248 10.02.18 13:52 Сейчас в теме +5 $m
(6) Вот что меня в 1С дико бесит, так это когда делаешь все вроде по инструкции, а в ответ получаешь такое
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиВБезопасномРежимеСлужебный.Модуль(295)}: Значение не является значением объектного типа (Представление)
ПредставлениеРазрешения = ОписаниеРазрешения.Представление;

Это после вставки в ПараметрыРегистрации разрешения на работу с временными файлами
    ПараметрыРегистрации.Вставить("Разрешения", Новый Массив);    
    Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина);
    ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
    Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаПрограммы(Истина, Истина);
    ПараметрыРегистрации.Разрешения.Добавить(Разрешение);

И в документации нихрена нету и на Stackowerflow искать решение бесполезно.
13. MakNat 3 05.06.19 16:24 Сейчас в теме
(6) во внешней обработке внесла еще и РазрешениеНаИспользованиеКаталогаФайловойСистемы,
ФайлЗачисления = Новый ЗаписьТекста(СокрЛП(ПутьККаталогу) + "\" + СокрЛП(ИмяФайла), "windows-1251"); - заработало.

Не могу найти как добавить те же разрешения если данную обработку загружаю в расширение. Может кто подскажет ссылку пример?
Отключить безопасный режим расширения не могу, т.к. грузим на фреш.
4. kuld 248 09.02.18 16:39 Сейчас в теме
(2) Есть специальные средства в БСП, которые позволяют это делать.
Понять как этим пользоваться по 1Сной документации я не могу, хоть там и по-русски все написано.
Хочу живой пример.
8. kuld 248 10.02.18 16:03 Сейчас в теме
А вот так ведут себя "официальные" примеры от 1С при попытке их использовать, например, в УНФ

Ошибка инициализации модуля: ВнешняяОбработка._ДемоВыгрузкиДанныхВXMLФайлВБезопасномРежиме.Форма.Форма.Форма
по причине:
{ВнешняяОбработка._ДемоВыгрузкиДанныхВXMLФайлВБезопасномРежиме.Форма.Форма.Форма(19,2)}: Переменная не определена (ДополнительныеОтчетыИОбработкиВБезопасномРежимеВызовСервера)
<<?>>ДополнительныеОтчетыИОбработкиВБезопасномРежимеВызовСервер­а.ВыполнитьСценарийВБезопасномРежиме(


Смотрю в коде, там и общего модуля такого нет, а сама процедура в другом модуле внутренняя, без экспорта.

Вот понимаю, что оно устарело все года три дому назад. Но где новое то?
12. Nuuq 76 25.08.18 16:17 Сейчас в теме
Столкнулся с такой же ошибкой при установке разрешения для HTTPS в обработке, которая должна запускаться в БП 3.0 Расширенная в сервисе 1cfresh и загружать с некого ресурса (базы) документы.
Требования с примерами описаны на сайте https://1cfresh.com/articles/so_addprocess_req но там не сказано какое разрешение работает с какой версии БСП (например с БСП версии 2.2.2.Х или более старшей и вот так это надо учесть в обработке) - т.о. во внешней обработке в функции СведенияОВнешнейОбработке() Экспорт создавая ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("ТУТ.ДОЛЖЕН.БЫТЬ.НОМЕР.БСП"), а не оставлять переменную ВерсияБСП = "" пустой!
Функция СведенияОВнешнейОбработке() Экспорт	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(СтандартныеПодсистемыСервер.ВерсияБиблиотеки());
	//или так
	//ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
	ПараметрыРегистрации.Информация = НСтр("ru = 'Бла бла бла'");
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
	ПараметрыРегистрации.БезопасныйРежим = Истина;
	ПараметрыРегистрации.Версия = "1.2.3";	
	ПараметрыРегистрации.Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("HTTPS", "forum.infostart.ru", Неопределено, НСтр("ru = 'Бла бла бла'")));
	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = НСтр("ru = 'Бла бла бла'");
	Команда.Идентификатор = "Основная";
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	Команда.ПоказыватьОповещение = Истина;
	Возврат ПараметрыРегистрации;	
КонецФункции
Показать
COMPER; CnupT; batusai_00; NGPhoenix; +4 Ответить
14. Xershi 1486 22.11.23 18:33 Сейчас в теме
(12) нужно зайти в регистр сведений версии подсистем. И оттуда скопировать версию, чтобы при обновлении БСП вы четко знали, что обработка уже устарела и ее нужно обновить.
Оставьте свое сообщение

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