Использование внешних ресурсов дополнительной обработкой, публикуемой во фреше

1. Дон Кихот 3 14.11.18 08:52 Сейчас в теме
Требуется работающую обработку загрузить во фреш, обработка использует интернет ресурс и файлы на компьютере. Вот функция СведенияОВнешнейОбработке(), я добавил строки с разрешением по рекомендации с сайта 1сfresh.com:

Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();


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

СтрокаКоманды = ПараметрыРегистрации.Команды.Добавить();
СтрокаКоманды.Идентификатор = "ИмпортПОТОК";
СтрокаКоманды.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
СтрокаКоманды.Представление = "Импорт операций по займу ПОТОК";
СтрокаКоманды.ПоказыватьОповещение = Истина;


Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("HTTPS","potok.digital",443,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);

Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы("C:\12",Истина,Истина,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);


Возврат ПараметрыРегистрации;



В итоге обработка при подготовке ее к публикации во фреше их обработкой "ПодготовкаДополнительныхОтчетовИОбработокКПубликацииВМодели­Сервиса.epf" выходит ошибка:

{ОбщийМодуль.ДополнительныеОтчетыИОбработкиВМоделиСервисаМанифест.Модуль(272)}: Ошибка при вызове метода контекста (Добавить)
Манифест.Permissions.Добавить(Разрешение);
по причине:
Несоответствие типов XDTO:
Тип '{http://www.1c.ru/1cFresh/Application/Permissions/1.0.0.2}InternetResourceAccess' не соответствует типу '{http://www.1c.ru/1cFresh/ApplicationExtensions/Permissions/1.0.0.1}PermissionBase'
Тип свойства не соответствует типу значения

Подскажите пожалуйста, кто знает что не так
Прикрепленные файлы:
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. triviumfan 82 14.11.18 09:55 Сейчас в теме
Похоже, что ОбъектXDTO "FileSystemAccess" и "InternetResourceAccess" неверной структуры или заполнены криво.
Проверь, что лежит в переменных "Разрешение".
Проверь, какая версия XDTO используется, их там несколько.
5. Дон Кихот 3 14.11.18 11:27 Сейчас в теме
(2)
как проверить какая версия XDTO используется, подскажи пожалуйста
10. triviumfan 82 14.11.18 12:15 Сейчас в теме
(5) Ну тебе возвращается ОбъектXDTO. Зайди в РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы() и посмотри какая версия создаётся.
Или вероятно в РаботаВБезопасномРежимеСлужебный.Пакет().
13. Дон Кихот 3 14.11.18 13:20 Сейчас в теме
(10)
Вот в этом месте кода в общем модуле:

Функция РазрешениеНаИспользованиеКаталогаФайловойСистемы(Знач Адрес, Знач ЧтениеДанных = Ложь, Знач ЗаписьДанных = Ложь, Знач Описание = "") Экспорт

Пакет = РаботаВБезопасномРежимеСлужебный.Пакет();
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(Пакет, "FileSystemAccess"));

в отладке переменная пакет принимает значение:
Прикрепленные файлы:
3. Дон Кихот 3 14.11.18 10:49 Сейчас в теме
вот результат переменной "Разрешение" в отладке на локальном компьютере
Прикрепленные файлы:
4. Дон Кихот 3 14.11.18 11:10 Сейчас в теме
Это код из общего модуля, где применяется метод Добавить()

Для Каждого Разрешение Из РазрешенияОбработки Цикл

Если ТипЗнч(Разрешение) = Тип("ОбъектXDTO") Тогда

Манифест.Permissions.Добавить(Разрешение);
6. Дон Кихот 3 14.11.18 11:40 Сейчас в теме
вот такое значение в отладке у Манифест.Permissions
Прикрепленные файлы:
7. triviumfan 82 14.11.18 11:53 Сейчас в теме
Блин, не заметил. Ведь на первом скриншоте из темы указаны различия в версиях пакетов XDTO!
8. triviumfan 82 14.11.18 11:57 Сейчас в теме
Похоже, что у тебя ЗУП старой версии. Требуется другой тип хдто - 1.0.0.2
Прикрепленные файлы:
9. Дон Кихот 3 14.11.18 12:13 Сейчас в теме
Зарплата и управление персоналом, редакция 3.1 (3.1.8.155) (http://v8.1c.ru/hrm/)
Copyright © ООО "1C-Софт", 2007-2018. Все права защищены
(http://www.1c.ru)
11. Дон Кихот 3 14.11.18 12:26 Сейчас в теме
Платформа 1С:Предприятие 8.3 (8.3.13.1513)
12. Дон Кихот 3 14.11.18 12:27 Сейчас в теме
Вот в этом месте кода в общем модуле:
Функция РазрешениеНаИспользованиеКаталогаФайловойСистемы(Знач Адрес, Знач ЧтениеДанных = Ложь, Знач ЗаписьДанных = Ложь, Знач Описание = "") Экспорт

Пакет = РаботаВБезопасномРежимеСлужебный.Пакет();
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(Пакет, "FileSystemAccess"));
в отладке переменная пакет принимает значение:
Прикрепленные файлы:
14. triviumfan 82 14.11.18 14:15 Сейчас в теме
(12) Ну вот, у вас 1.0.0.2 используется, а нужно, судя по 1 скриншоту из темы, 1.0.0.1
Либо использовать другую обработку для публикации.
15. triviumfan 82 14.11.18 14:16 Сейчас в теме
(12) Попробуй Пакет = Метаданные.ПакетыXDTO.ApplicationPermissions_1_0_0_1.ПространствоИмен;
16. Дон Кихот 3 14.11.18 14:39 Сейчас в теме
Версия 1.0.0.2 создается в общем модуле ЗУП, а 1.0.0.1 хочет видеть обработка скачанная с 1с фреш, они все последней версии, так получается, может я не прав, но куда дальше копать не понятно.
18. triviumfan 82 14.11.18 15:57 Сейчас в теме
(16) Ну я же тебе предложил использовать версию, которую требует фреш!
Вместо
Функция РазрешениеНаИспользованиеКаталогаФайловойСистемы(Знач Адрес, Знач ЧтениеДанных = Ложь, Знач ЗаписьДанных = Ложь, Знач Описание = "") Экспорт 
Пакет = РаботаВБезопасномРежимеСлужебный.Пакет(); 
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(Пакет, "FileSystemAccess")); 

Используй свою:
Функция РазрешениеНаИспользованиеКаталогаФайловойСистемы(Знач Адрес, Знач ЧтениеДанных = Ложь, Знач ЗаписьДанных = Ложь, Знач Описание = "") Экспорт 
Пакет = Метаданные.ПакетыXDTO.ApplicationPermissions_1_0_0_1.ПространствоИмен; 
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(Пакет, "FileSystemAccess")); 
19. Дон Кихот 3 15.11.18 08:54 Сейчас в теме
(18) Снял с поддержки, заменил строки, результат на фото ниже, в общем тот же, так я понимаю метод в
СведенияОВНешнейОбработке

Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("HTTPS","potok.digital",443,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);

Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы("C:\12",Истина,Истина,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);

неправильно применен
Прикрепленные файлы:
29. ybatiaev 58 22.02.22 10:43 Сейчас в теме
(19)Добрый день!
Подскажите, а расширению как давать разрешения?
Прикрепленные файлы:
30. Iva_Irina_Iva 26.03.22 13:18 Сейчас в теме
(29) Подскажите, у Вас получилось разрешение дать?
32. ybatiaev 58 26.03.22 23:17 Сейчас в теме
(30) При установке расширения в облако откроется форма. Необходимо её заполнять(по каждой кнопке далее.. далее). Именно там и будут вопросы с ресурсами. К примеру мне надо было отправлять почту контрагентам. В основной учётной записи 1С (администрирование/органайзер) прописан был сервер, у меня mail.smtp.ru вот я его и прописал. Ему и было дано разрешение.
Ещё уточнение - в облаке нет регламентного задания. Теперь процедуру Вы сами прописываете в каждом отдельном серверном модулей. Одна экспортная процедура в одном модуле и есть типа команда.
Удачи!
Iva_Irina_Iva; +1 Ответить
33. Iva_Irina_Iva 11.05.22 11:04 Сейчас в теме
(32) Не сталкивались с ошибкой "Обращение к интернет ресурсам запрещено профилем безопасности"?
Прикрепленные файлы:
31. laperuz 45 26.03.22 13:23 Сейчас в теме
(30)
(29)
При добавлении в МС на вкладке где указывается разрешение на временные файлы, там же есть табличная часть, где нужно указать адреса интернет-ресурсов.
ybatiaev; Iva_Irina_Iva; +2 Ответить
17. Дон Кихот 3 14.11.18 15:06 Сейчас в теме
В отладке ->вычислить выражение

Метаданные.ПакетыXDTO.ApplicationPermissions_1_0_0_1.ПространствоИмен

показывает значение

http://www.1c.ru/1cFresh/Application/Permissions/1.0.0.1

тип строка

только эта обработка загружается во фреш, там же только типовые конфигурации
20. Дон Кихот 3 15.11.18 08:59 Сейчас в теме
Вот описание метода

РазрешениеНаИспользованиеИнтернетРесурса
Возвращает внутреннее описание разрешения на использование интернет-ресурса.
Синтаксис

Функция РазрешениеНаИспользованиеИнтернетРесурса(Знач Протокол, Знач Адрес, Знач Порт = Неопределено, Знач Описание = "") Экспорт
Параметры

Протокол - Строка - протокол, по которому выполняется взаимодействие с ресурсом. Допустимые значения:
IMAP,
POP3,
SMTP,
HTTP,
HTTPS,
FTP,
FTPS,
Адрес - Строка - адрес ресурса без указания протокола,
Порт - Число - номер порта через который выполняется взаимодействие с ресурсом,
Описание - Строка - описание причины, по которой требуется предоставление разрешения.
Возвращаемое значение

ОбъектXDTO - внутреннее описание запрашиваемого разрешения.
Предназначен только для передачи в качестве параметра в функции.
РаботаВБезопасномРежиме.ЗапросНаИспользованиеВнешнихРесурсов(),
РаботаВБезопасномРежиме.ЗапросНаОтменуРазрешенийИспользованияВнешнихРесурсов() и
РаботаВБезопасномРежиме.ЗапросНаОчисткуРазрешенийИспользованияВнешнихРесурсов().
Пример вызова

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

Сервер, Толстый клиент, Внешнее соединение,

смутили строки что "Предназначен только для передачи в качестве параметра в функции.",
попробую
21. triviumfan 82 15.11.18 09:01 Сейчас в теме
Скинь обработку "ПодготовкаДополнительныхОтчетовИОбработокКПубликацииВМодели­Сервиса"
22. triviumfan 82 15.11.18 09:03 Сейчас в теме
Так ты не заполняешь "PermissionBase".
Покажи что находится в разрешениях манифеста (Manifest.Permissons).
24. Дон Кихот 3 15.11.18 09:13 Сейчас в теме
(22)
Это вот эту функцию?
РаботаВБезопасномРежиме.ЗапросНаИспользованиеВнешнихРесурсов(),
или "PermissionBase" как то еще заполняется?
27. triviumfan 82 15.11.18 11:15 Сейчас в теме
(24) никак, это базовый тип, я сам туплю =( какая версия зуп/бсп?
25. Дон Кихот 3 15.11.18 09:39 Сейчас в теме
(22)
Значение в отладчике
Manifest.Permissons
есть в сообщении 6,
а где посмотреть его разрешения?
23. Дон Кихот 3 15.11.18 09:10 Сейчас в теме
Обработка "ПодготовкаДополнительныхОтчетовИОбработокКПубликацииВМодели­­Сервиса"
Прикрепленные файлы:
ПодготовкаДополнительныхОтчетовИОбработокКПубликацииВМоделиСервиса.epf
28. Дон Кихот 3 15.11.18 13:35 Сейчас в теме
Евгений, спасибо большое, на данном этапе проблему решил, до строк добавляющих разрешения:

Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("HTTPS","potok.digital",443,"");
	ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
	
	Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы("C:\12",Истина,Истина,"");
	ПараметрыРегистрации.Разрешения.Добавить(Разрешение);

добавил строку:

ПараметрыРегистрации.Вставить("ВерсияБСП", "2.4.6.197");


версию БСП взял из конфигурации БСП, в которой посмотрел пример по рекомендации 1с фреш
Прикрепленные файлы:
Оставьте свое сообщение
Вакансии
Ведущий разработчик 1С
Москва
зарплата от 200 000 руб.
Полный день

Программист 1С
Москва
зарплата от 130 000 руб. до 170 000 руб.
Полный день

Аналитик 1С: ERP (оперконтур)
Москва
зарплата от 180 000 руб. до 250 000 руб.
Полный день

Аналитик 1С: УХ
Москва
зарплата от 180 000 руб. до 250 000 руб.
Полный день

Аналитик 1С: ЗУП
Москва
зарплата от 180 000 руб. до 250 000 руб.
Полный день