БП3.0. Отправка электронной почты во фреше.

1. mitry 10 14.01.22 08:13 Сейчас в теме
Добрый день все! Есть задача: написать обработку для БП3.0, которая собирает кое-какие данные из базы, формирует несколько электронных писем для контрагентов и отправляет эти письма этим самым контрагентам.
Я всё сделал, на обычной базе (делал на файловой) всё работает как надо. Формирую структуру с параметрами письма и дальше использую типовую функцию общего модуля "РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(Объект.УчетнаяЗапись, ПараметрыПисьма)".
Беда в том, что эту обработку нужно загрузить во фреш. А там при аудите мне её возвращают с ошибкой:

-----------------
1. Если в дополнительной обработке выполняется передача (получение) любых данных за пределы сервиса, эти операции должны подтверждаться пользователем.
Если на этапе разработки дополнительной обработки существует возможность определить ресурсы сети Интернет, к которым будет выполняться обращение, необходимо реализовать запрос разрешений в программном интерфейсе дополнительной обработки. Такой запрос должен дать возможность пользователю еще перед установкой обработки ознакомиться, к каким ресурсам будет выполняться передача данных этой обработкой.
Если определить ресурсы сети Интернет, к которым будет выполняться обращение, невозможно, то:
для дополнительных обработок, содержащих формы, перед выполнением операции следует запрашивать разрешение у пользователя (возможно, с сохранением полученного ответа). При запросе разрешения следует явно указывать, к каким ресурсам сети Интернет будет осуществляться обращение;
для дополнительных обработок, не содержащих форм (например, предназначенных для использования в качестве регламентного задания), рекомендуется:
по умолчанию не выполнять операцию в коде серверной команды;
создавать дополнительную команду с типом вызова Открытие формы, в которой реализовывать запрос подтверждения;
начинать выполнение операции в серверном коде только после подтверждения пользователем выполнений операций.
https://1cfresh.com/articles/so_addprocess_req#outflow2
Примечание: в серверном контексте в безопасном режиме запрещено обращение к сторонним интернет ресурсам.
Вы можете:
1. Добавить Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса(<Протокол>, <Адрес>, <Порт>, <Причина, по которой требуется подключение>);
2. Либо вынести эту операцию на сторону клиента.

Для отправки электронного письма требуется разрешение на использование протокола интернет почты.
-----------------

Народ, объясните, кто в теме, чего эти аудиторы от меня хотят? И как это сделать?

Заранее, премного благодарен!
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Docaru 1 14.01.22 09:29 Сейчас в теме
в последних БСП есть уже возможность делать рассылки - для этого вы создаете свой внешний отчет и настраиваете рассылку (смотри скрин). Или при публикации обработки во фреш, укажите разрешение на доступ
Прикрепленные файлы:
3. mitry 10 14.01.22 13:29 Сейчас в теме
(2) Публикуют во фреш другие люди. Я сделал и отдал им. А они мне обработку возвращают и говорят, что она не прошла аудит по выше обозначенной ошибке. Говорят, надо исправить...
Т.е., мне в самой обработке исправлять ничего не надо, получается? или как?...
4. Docaru 1 14.01.22 14:20 Сейчас в теме
(3) как публикается происходит, знаю не по наслышке. Я вам предложил 2 варианта
1. сделать как вам советуют - в описании обработки добавить разрешение
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса(<Протокол>, <Адрес>, <Порт>, <Причина, по которой требуется подключение>);
2. сделать по другому -данные, которые вы собираете вывести в новый внешний отчет, добавить его в рассылку и предложить пользователю отправлять отчет, но уже средствами БСП
5. mitry 10 20.01.22 16:51 Сейчас в теме
В общем, может кому надо будет:
В модуле объекта в функции СведенияОВнешнейОбработке() добавил две строки:

Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("SMTP","mail.ru",,"Отправка электронной почты");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);

И всё нормально, аудит прошло.
6. ybatiaev 58 22.02.22 10:29 Сейчас в теме
(5) Добрый день!
а как разрешение давать на расширение?
Прикрепленные файлы:
7. mitry 10 22.02.22 14:27 Сейчас в теме
(6) Была такая же фигня, не помню уже, что сделал. Там где-то у тебя есть строка ПривилегированныйРежим = Истина. Убери её.
8. ybatiaev 58 22.02.22 18:13 Сейчас в теме
(7) оказывается надо давать разрешения на самом фреше
https://1cfresh.com/articles/so_addprocess_fastaudit
у них там много статей, оказывается
https://1cfresh.com/articles/so_confext_job

Правда идиотами они не перестают быть - куски кода картинками выкладывают.
Меня вообще картинки бесят. У Борланда текстовка описания и ниже РАБОЧИЙ(!!!) код с примером.
А тут трахешься, трахаешься, а оказывается либо устарело, либо не рекомендуют, либо параметры меняют местами или добавляют...
Хотел написать дальше, но лучше уж промолчу
Оставьте свое сообщение

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