Здравствуйте! Интересует вопрос как я могу отдавать запросы из системы.
Например мне нужно сделать автоматический отчет про количество заявок по продуктам на каждого менеджера. Я из внешнего приложения могу делать запрос и в параметре передавать код который соответствует менеджеру. Могу ли я както сформировать ответ на этот запрос в БП и передать результат в Json или в чемто другом? И как это сделать? Спасибо.
Нравится
Здравствуйте!
Вы можете запустить процесс, передав в него нужный параметр. Также в результирующем параметре процесса Вы можете получить результат выполнения процесса, например строку JSON.
Более подробно:
https://academy.terrasoft.ru/documents/technic-sdk/7-7-0/zapusk-process…
Запускать процессы через Execute я умею. А вот отдавать результат запроса внешнему приложению - такого в этой статье нету. Это вообще возможно? Где можна посмотреть пример реализации?
Или можна и подругому решить мою задачу.
Можна ли достучаться к базе данных из внешнего приложения?
Если да, то с какими параметрами? Какой Порт, Логин, Пароль?
Можна ли посмотреть какие есть таблицы и какие поля в таблицах?
Просто когда версия онсайт то я могу к базе обратиться извне, а вот когда ондеманд как это сделать - не знаю. Какой Порт, Логин, Пароль?
Можно достучаться по OData.
Пример описан здесь:
https://academy.terrasoft.ru/documents/technic-sdk/7-7-0/odata
Что касается запуска процесса, Вы можете сделать следующее:
1) Создать процесс MyProcess с параметрами ContactId (идентификатор) и ContactName (строка 250 символов):
- Начальный элемент
- Чтение данных контакта с фильтром Id == ContactId
- Формула: в параметр ContactName установить значение Чтение данных контакта.ФИО
- Конец процесса
2) В адресной строке ввести ссылку:
http[s]://<адрес_приложения_bpm'online>/0/ServiceModel/ProcessEngineService.svc/MyProcess/Execute?ResultParameterName=ContactName&ContactId=410006e1-ca4e-4502-a9ec-e54d922d2c00
Посмотрите результат выполнения.
ЗЫ. Как-то небезопасно обращаться в запросах к БД, передавая все параметры. Или я не прав?
То что вы написали - мне понятно. По ContactId читаем контакт и в процессе передаем в параметр ContactName ФИО. Но я спрашивал о другом.
Как мне сделать чтобы выгрузить из BPM в другую систему файл из результатом запроса.
А еще лучше - могу ли я делать запросы извне прямо в Базу данных, минуя CRM систему?
Напрямую в БД делать запросы не получится - предоставление доступа к БД сайтов, развернутых в облаке нарушит конфединциальность данных клиентов, которые развернуты на том же блоке.
Все возможные интеграции описаны в Академии.
Также от себя добавлю файлик, где описано создание конфигурационного сервиса.
Это получается что в нашей базе данных лежат еще какието чужие базы данных? Мне казалось что у вас для каждого клиента своя база данных, доступ к которой идет через порт и нужно знать логин и пароль? И таким образом есть доступ только к своей базе. Разве не так?
Здравствуйте, Николай!
Не совсем так - на одном SQL сервере размещено несколько баз (у каждого своя база). Для доступа к базам используется уникальный пользователь и свой пароль (для каждой базы свой).
Так почему я не могу используя свой уникальный пользователь и свой пароль получить доступ к своей базе?
Из соображений безопасности данных пользователей, на данный момент, мы не предоставляем прямой доступ к БД. Но, есть дополнительная услуга :Размещение на выделенных серверах.
Где доступ к БД возможен.
Обратитесь к Вашему менеджеру.