Здравствуйте! Интересует вопрос как я могу отдавать запросы из системы. Например мне нужно сделать автоматический отчет про количество заявок по продуктам на каждого менеджера. Я из внешнего приложения могу делать запрос и в параметре передавать код который соответствует менеджеру. Могу ли я както сформировать ответ на этот запрос в БП и передать результат в Json или в чемто другом? И как это сделать? Спасибо.
Запускать процессы через Execute я умею. А вот отдавать результат запроса внешнему приложению - такого в этой статье нету. Это вообще возможно? Где можна посмотреть пример реализации?
Или можна и подругому решить мою задачу.
Можна ли достучаться к базе данных из внешнего приложения?
Если да, то с какими параметрами? Какой Порт, Логин, Пароль?
Можна ли посмотреть какие есть таблицы и какие поля в таблицах?
Просто когда версия онсайт то я могу к базе обратиться извне, а вот когда ондеманд как это сделать - не знаю. Какой Порт, Логин, Пароль?
Что касается запуска процесса, Вы можете сделать следующее:
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
Посмотрите результат выполнения.
ЗЫ. Как-то небезопасно обращаться в запросах к БД, передавая все параметры. Или я не прав?
Напрямую в БД делать запросы не получится - предоставление доступа к БД сайтов, развернутых в облаке нарушит конфединциальность данных клиентов, которые развернуты на том же блоке.
Все возможные интеграции описаны в Академии.
Также от себя добавлю файлик, где описано создание конфигурационного сервиса.
Это получается что в нашей базе данных лежат еще какието чужие базы данных? Мне казалось что у вас для каждого клиента своя база данных, доступ к которой идет через порт и нужно знать логин и пароль? И таким образом есть доступ только к своей базе. Разве не так?
Не совсем так - на одном SQL сервере размещено несколько баз (у каждого своя база). Для доступа к базам используется уникальный пользователь и свой пароль (для каждой базы свой).
Из соображений безопасности данных пользователей, на данный момент, мы не предоставляем прямой доступ к БД. Но, есть дополнительная услуга :Размещение на выделенных серверах.
Где доступ к БД возможен.
Обратитесь к Вашему менеджеру.
1. Как отпраить GET-запроса на сторонний ресурс,получить ответ в формате json?
2. Отобразаить полученные данные в карточке клиента (контрагенты и контакты)?
3. Это программировать надо? Если да, то куда вписывать код?
var webAddress ='http://example.com/example';
var xmlHttpReq =new ActiveXObject("MSXML2.XMLHTTP.6.0");
xmlHttpReq.open("GET", webAddress, false);
xmlHttpReq.send();
var MyText = xmlHttpReq.responseText;
Он возвращает текст (в Вашем случае JSON), его можно превратить в JS-объект кодом вроде:
eval('('+ MyText +')')
Как отобразить, зависит от конкретной реализации и техническго задания (сразу при открытии карточки, принудительно по кнопке или, может, регулярно по таймеру).
Это действительно требует программирования, код впишется в один из методов скрипта карточки или скрипта датасета, опять же, в зависимости от того, что именно хотите сделать.