Использование внешних ресурсов дополнительной обработкой, публикуемой во фреше
Требуется работающую обработку загрузить во фреш, обработка использует интернет ресурс и файлы на компьютере. Вот функция СведенияОВнешнейОбработке(), я добавил строки с разрешением по рекомендации с сайта 1сfresh.com:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Наименование = "Импорт операций по займу ПОТОК";
ПараметрыРегистрации.Информация = НСтр("ru = ' Данная обработка получает данные с интернет ресурса, начисляет доход по физическим лицам и вычисляет НДФЛ для заполнения справок 2-НДФЛ '");
ПараметрыРегистрации.БезопасныйРежим = Истина;
ПараметрыРегистрации.Версия = "1.9";
СтрокаКоманды = ПараметрыРегистрации.Команды.Добавить();
СтрокаКоманды.Идентификатор = "ИмпортПОТОК";
СтрокаКоманды.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
СтрокаКоманды.Представление = "Импорт операций по займу ПОТОК";
СтрокаКоманды.ПоказыватьОповещение = Истина;
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("HTTPS","potok.digital",443,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы("C:\12",Истина,Истина,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Возврат ПараметрыРегистрации;
В итоге обработка при подготовке ее к публикации во фреше их обработкой "ПодготовкаДополнительныхОтчетовИОбработокКПубликацииВМодели Сервиса.epf" выходит ошибка:
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиВМоделиСервисаМанифест.Модуль(272)}: Ошибка при вызове метода контекста (Добавить)
Манифест.Permissions.Добавить(Разрешение);
по причине:
Несоответствие типов XDTO:
Тип '{}InternetResourceAccess' не соответствует типу '{}PermissionBase'
Тип свойства не соответствует типу значения
Подскажите пожалуйста, кто знает что не так
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Наименование = "Импорт операций по займу ПОТОК";
ПараметрыРегистрации.Информация = НСтр("ru = ' Данная обработка получает данные с интернет ресурса, начисляет доход по физическим лицам и вычисляет НДФЛ для заполнения справок 2-НДФЛ '");
ПараметрыРегистрации.БезопасныйРежим = Истина;
ПараметрыРегистрации.Версия = "1.9";
СтрокаКоманды = ПараметрыРегистрации.Команды.Добавить();
СтрокаКоманды.Идентификатор = "ИмпортПОТОК";
СтрокаКоманды.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
СтрокаКоманды.Представление = "Импорт операций по займу ПОТОК";
СтрокаКоманды.ПоказыватьОповещение = Истина;
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("HTTPS","potok.digital",443,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы("C:\12",Истина,Истина,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Возврат ПараметрыРегистрации;
В итоге обработка при подготовке ее к публикации во фреше их обработкой "ПодготовкаДополнительныхОтчетовИОбработокКПубликацииВМодели
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиВМоделиСервисаМанифест.Модуль(272)}: Ошибка при вызове метода контекста (Добавить)
Манифест.Permissions.Добавить(Разрешение);
по причине:
Несоответствие типов XDTO:
Тип '{}InternetResourceAccess' не соответствует типу '{}PermissionBase'
Тип свойства не соответствует типу значения
Подскажите пожалуйста, кто знает что не так
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
Евгений, спасибо большое, на данном этапе проблему решил, до строк добавляющих разрешения:
добавил строку:
версию БСП взял из конфигурации БСП, в которой посмотрел пример по рекомендации 1с фреш
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("HTTPS","potok.digital",443,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы("C:\12",Истина,Истина,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
добавил строку:
ПараметрыРегистрации.Вставить("ВерсияБСП", "2.4.6.197");версию БСП взял из конфигурации БСП, в которой посмотрел пример по рекомендации 1с фреш
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Похоже, что ОбъектXDTO "FileSystemAccess" и "InternetResourceAccess" неверной структуры или заполнены криво.
Проверь, что лежит в переменных "Разрешение".
Проверь, какая версия XDTO используется, их там несколько.
Проверь, что лежит в переменных "Разрешение".
Проверь, какая версия XDTO используется, их там несколько.
(10)
Вот в этом месте кода в общем модуле:
Функция РазрешениеНаИспользованиеКаталогаФайловойСистемы(Знач Адрес, Знач ЧтениеДанных = Ложь, Знач ЗаписьДанных = Ложь, Знач Описание = "") Экспорт
Пакет = РаботаВБезопасномРежимеСлужебный.Пакет();
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(Пакет, "FileSystemAccess"));
в отладке переменная пакет принимает значение:
Вот в этом месте кода в общем модуле:
Функция РазрешениеНаИспользованиеКаталогаФайловойСистемы(Знач Адрес, Знач ЧтениеДанных = Ложь, Знач ЗаписьДанных = Ложь, Знач Описание = "") Экспорт
Пакет = РаботаВБезопасномРежимеСлужебный.Пакет();
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(Пакет, "FileSystemAccess"));
в отладке переменная пакет принимает значение:
Прикрепленные файлы:
Это код из общего модуля, где применяется метод Добавить()
Для Каждого Разрешение Из РазрешенияОбработки Цикл
Если ТипЗнч(Разрешение) = Тип("ОбъектXDTO") Тогда
Манифест.Permissions.Добавить(Разрешение);
Для Каждого Разрешение Из РазрешенияОбработки Цикл
Если ТипЗнч(Разрешение) = Тип("ОбъектXDTO") Тогда
Манифест.Permissions.Добавить(Разрешение);
Зарплата и управление персоналом, редакция 3.1 (3.1.8.155) (
Copyright © ООО "1C-Софт", 2007-2018. Все права защищены
(
Copyright © ООО "1C-Софт", 2007-2018. Все права защищены
(
Вот в этом месте кода в общем модуле:
Функция РазрешениеНаИспользованиеКаталогаФайловойСистемы(Знач Адрес, Знач ЧтениеДанных = Ложь, Знач ЗаписьДанных = Ложь, Знач Описание = "") Экспорт
Пакет = РаботаВБезопасномРежимеСлужебный.Пакет();
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(Пакет, "FileSystemAccess"));
в отладке переменная пакет принимает значение:
Функция РазрешениеНаИспользованиеКаталогаФайловойСистемы(Знач Адрес, Знач ЧтениеДанных = Ложь, Знач ЗаписьДанных = Ложь, Знач Описание = "") Экспорт
Пакет = РаботаВБезопасномРежимеСлужебный.Пакет();
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(Пакет, "FileSystemAccess"));
в отладке переменная пакет принимает значение:
Прикрепленные файлы:
Версия 1.0.0.2 создается в общем модуле ЗУП, а 1.0.0.1 хочет видеть обработка скачанная с 1с фреш, они все последней версии, так получается, может я не прав, но куда дальше копать не понятно.
(16) Ну я же тебе предложил использовать версию, которую требует фреш!
Вместо
Используй свою:
Вместо
Функция РазрешениеНаИспользованиеКаталогаФайловойСистемы(Знач Адрес, Знач ЧтениеДанных = Ложь, Знач ЗаписьДанных = Ложь, Знач Описание = "") Экспорт
Пакет = РаботаВБезопасномРежимеСлужебный.Пакет();
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(Пакет, "FileSystemAccess"));
Используй свою:
Функция РазрешениеНаИспользованиеКаталогаФайловойСистемы(Знач Адрес, Знач ЧтениеДанных = Ложь, Знач ЗаписьДанных = Ложь, Знач Описание = "") Экспорт
Пакет = Метаданные.ПакетыXDTO.ApplicationPermissions_1_0_0_1.ПространствоИмен;
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(Пакет, "FileSystemAccess"));
(18) Снял с поддержки, заменил строки, результат на фото ниже, в общем тот же, так я понимаю метод в
СведенияОВНешнейОбработке
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("HTTPS","potok.digital",443,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы("C:\12",Истина,Истина,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
неправильно применен
СведенияОВНешнейОбработке
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("HTTPS","potok.digital",443,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы("C:\12",Истина,Истина,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
неправильно применен
Прикрепленные файлы:
(30) При установке расширения в облако откроется форма. Необходимо её заполнять(по каждой кнопке далее.. далее). Именно там и будут вопросы с ресурсами. К примеру мне надо было отправлять почту контрагентам. В основной учётной записи 1С (администрирование/органайзер) прописан был сервер, у меня mail.smtp.ru вот я его и прописал. Ему и было дано разрешение.
Ещё уточнение - в облаке нет регламентного задания. Теперь процедуру Вы сами прописываете в каждом отдельном серверном модулей. Одна экспортная процедура в одном модуле и есть типа команда.
Удачи!
Ещё уточнение - в облаке нет регламентного задания. Теперь процедуру Вы сами прописываете в каждом отдельном серверном модулей. Одна экспортная процедура в одном модуле и есть типа команда.
Удачи!
В отладке ->вычислить выражение
Метаданные.ПакетыXDTO.ApplicationPermissions_1_0_0_1.ПространствоИмен
показывает значение
тип строка
только эта обработка загружается во фреш, там же только типовые конфигурации
Метаданные.ПакетыXDTO.ApplicationPermissions_1_0_0_1.ПространствоИмен
показывает значение
тип строка
только эта обработка загружается во фреш, там же только типовые конфигурации
Вот описание метода
РазрешениеНаИспользованиеИнтернетРесурса
Возвращает внутреннее описание разрешения на использование интернет-ресурса.
Синтаксис
Функция РазрешениеНаИспользованиеИнтернетРесурса(Знач Протокол, Знач Адрес, Знач Порт = Неопределено, Знач Описание = "") Экспорт
Параметры
Протокол - Строка - протокол, по которому выполняется взаимодействие с ресурсом. Допустимые значения:
IMAP,
POP3,
SMTP,
HTTP,
HTTPS,
FTP,
FTPS,
Адрес - Строка - адрес ресурса без указания протокола,
Порт - Число - номер порта через который выполняется взаимодействие с ресурсом,
Описание - Строка - описание причины, по которой требуется предоставление разрешения.
Возвращаемое значение
ОбъектXDTO - внутреннее описание запрашиваемого разрешения.
Предназначен только для передачи в качестве параметра в функции.
РаботаВБезопасномРежиме.ЗапросНаИспользованиеВнешнихРесурсов(),
РаботаВБезопасномРежиме.ЗапросНаОтменуРазрешенийИспользованияВнешнихРесурсов() и
РаботаВБезопасномРежиме.ЗапросНаОчисткуРазрешенийИспользованияВнешнихРесурсов().
Пример вызова
Результат = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса(Протокол, Адрес, Порт, Описание)
Доступность
Сервер, Толстый клиент, Внешнее соединение,
смутили строки что "Предназначен только для передачи в качестве параметра в функции.",
попробую
РазрешениеНаИспользованиеИнтернетРесурса
Возвращает внутреннее описание разрешения на использование интернет-ресурса.
Синтаксис
Функция РазрешениеНаИспользованиеИнтернетРесурса(Знач Протокол, Знач Адрес, Знач Порт = Неопределено, Знач Описание = "") Экспорт
Параметры
Протокол - Строка - протокол, по которому выполняется взаимодействие с ресурсом. Допустимые значения:
IMAP,
POP3,
SMTP,
HTTP,
HTTPS,
FTP,
FTPS,
Адрес - Строка - адрес ресурса без указания протокола,
Порт - Число - номер порта через который выполняется взаимодействие с ресурсом,
Описание - Строка - описание причины, по которой требуется предоставление разрешения.
Возвращаемое значение
ОбъектXDTO - внутреннее описание запрашиваемого разрешения.
Предназначен только для передачи в качестве параметра в функции.
РаботаВБезопасномРежиме.ЗапросНаИспользованиеВнешнихРесурсов(),
РаботаВБезопасномРежиме.ЗапросНаОтменуРазрешенийИспользованияВнешнихРесурсов() и
РаботаВБезопасномРежиме.ЗапросНаОчисткуРазрешенийИспользованияВнешнихРесурсов().
Пример вызова
Результат = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса(Протокол, Адрес, Порт, Описание)
Доступность
Сервер, Толстый клиент, Внешнее соединение,
смутили строки что "Предназначен только для передачи в качестве параметра в функции.",
попробую
Так ты не заполняешь "PermissionBase".
Покажи что находится в разрешениях манифеста (Manifest.Permissons).
Покажи что находится в разрешениях манифеста (Manifest.Permissons).
Обработка "ПодготовкаДополнительныхОтчетовИОбработокКПубликацииВМодели Сервиса"
Прикрепленные файлы:
ПодготовкаДополнительныхОтчетовИОбработокКПубликацииВМоделиСервиса.epf
Евгений, спасибо большое, на данном этапе проблему решил, до строк добавляющих разрешения:
добавил строку:
версию БСП взял из конфигурации БСП, в которой посмотрел пример по рекомендации 1с фреш
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("HTTPS","potok.digital",443,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы("C:\12",Истина,Истина,"");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
добавил строку:
ПараметрыРегистрации.Вставить("ВерсияБСП", "2.4.6.197");версию БСП взял из конфигурации БСП, в которой посмотрел пример по рекомендации 1с фреш
Прикрепленные файлы:
Простой пример подключения внешней обработки в безопасном режиме ИСТИНА:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
ПараметрыРегистрации.ОпределитьНастройкиФормы = Истина;
ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет");
ПараметрыРегистрации.Вставить("Наименование", НСтр("ru = 'Прайс-заказ В Excel'"));
ПараметрыРегистрации.Вставить("Версия", "13.11.2024");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Прайс-заказ В Excel'"));
ПараметрыРегистрации.Вставить("Разрешения", Новый Массив);
ПараметрыРегистрации.Вставить("ВерсияБСП", "3.1.10.295");
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("http","192.168.1.111",5005,"Получение картинок номенклатуры");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина);
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаПрограммы(Истина, Истина);
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима("Привелигерованный режим");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
