Вопрос

Проблема подключения к MS Exchange. При подключение используется домен, но настройки для введения домена нет. Пробовал через domen\ADLogin - не работает. Логин не имеет в себе "@mail.com" (в смысле не совпадает с адресом). При подключении пишет "Указан неправильный email или пароль." Проверил настройки на Outlook встроенный в Windows 10 - все работает нормально, просит завести: Сервер, домен, логин, пароль.

Настраивал по инструкции академии

У меня такой же вопрос

0 комментариев
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Подскажите, как создать бизнес процесс, который бы мог добавить в шаблон письма несколько строк из раздела CRM?
Например, необходимо из реестра Контрагенты получить всех Контрагентов, которые не имеют заполненного поля: Средства связи-web и отправить письмом каждому ответственному списком, указав название Контрагента.

У меня такой же вопрос

3 комментария

Данная информация давно прочитана и разобрана. К сожалению, она не дает понимания, можно ли в один шаблон вставить несколько строк повторяющейся информации, так как модуль "Читать данные" - читает данные из первой записи выборки. Не понятно, как собрать эти данные в цикле и потом подтянуть в шаблон.

Здравствуйте! Я вижу тут 2 варианта.
1) Писать свой макрос для шаблона. Описание как делать свой макрос описана здесь - https://academy.terrasoft.ru/documents/technic-sdk/7-13/dobavlenie-obra…
2) Формировать тело письма непосредственно в БП заносить его в переменную процесса, а в элементе отправки письма подставлять параметр - http://prntscr.com/l7fj1f 
http://prntscr.com/l7fkqf и так можно наполнить тело письма разными параметрами.

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Всем доброго времени суток. Версия 7.12.2

Ситуация следующая: на проекте было создано несколько пакетов, без подключения к хранилищу. По ходу дела понадобилось подключить svn, было создано хранилище, через базу установлена связь с пакетом.

Однако пакет всё равно не получается закоммитить в svn. Скриншот возможной ошибки: https://www.screencast.com/t/7BFlj3ty

Возможно есть какая-то инструкция, можно ли подключить к svn пакет после создания?

У меня такой же вопрос

1 комментарий
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Выдает: При привязке SysSettingsValue выдает "Не привязаны данные для связанного объекта "SysSettings" по колонке "SysSettings". Значение "72ab6c8f-fbb6-42ae-ba5c-7288bab96e2d"

Однако запись в SysSettings c Id = 72ab6c8f-fbb6-42ae-ba5c-7288bab96e2d предварительно успешно привязана.

Манипуляции из этой темы проблемы не решили.

Остается только через SQL?

У меня такой же вопрос

2 комментария

Убедитесь, что вы привязываете правильный объект. Вы должны выбрать в данных "Системная настройка (объект)", если выбрать просто "Системная настройка", то это будет просто представление в бд

Литвинко Павел,

так и было! Благодарю.

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!

Пытаюсь обновить пакет через "Установка и удаление приложений", эффект не возымеется, измененные объекты и модули не обновляются. При этом система говорит, что пакет был установлен хорошо, про ошибки ничего не сообщает.

Изначально пакет был выгружен из разработчиской среды через выгрузку в архив и в рабочую базу установлен через установку приложений. Потребовалась доработка, обновить по этой же схеме не получается.

Может быть перед выгрузкой надо с пакетом манипуляции провести, версию поменять или что нибудь в таком роде?

У меня такой же вопрос

3 комментария

Если не получается обновить, то должна была высветиться ошибка с возможностью скачать ее описание, где будет написана причина, по которой не удалось установить пакет

Литвинко Павел,

ошибок при обновлении не было (допишу сейчас в изначальный пост про это), но изменения в доработанном объекте и клиентском модуле не применились.

 

Проверьте лог обновлений! ( \tmp\PackageInstallation\Log\install.log)

Те в логе установки посмотрите что ваши схемы объекты и тд попали в пакет и успешно импортировались, что в нем нет ошибок....

Проверьте есть ли в конфигурации объекты с признаком требует генерации в БД.

Попытайтесь перекомпилировать конфигурацию (Всю) или накатить пакет повторно

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Коллеги всем доброго времени суток.
Нужна Ваша помощь.

Написал сервис с методом который принимает следующие параметры:

[OperationContract]
        [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
        ResponseFormat = WebMessageFormat.Json)]
        public void StartProcessWithParameters(string processName, Dictionary<object, object> parameters)
        {
            try
            {
                _logService.RecInfo($"[AutobookingServicesPack]:[AbStartProcessManager]:[StartProcessWithParameters(string processName = '{processName}', Dictionary<string, string> parameters)]: ({parameters.Count()})");
                ProcessSchemaManager processSchemaManager = (ProcessSchemaManager)UserConnection.GetSchemaManager("ProcessSchemaManager");
                ProcessSchema processSchema = processSchemaManager.GetInstanceByName(processName);
                Process process = processSchema.CreateProcess(UserConnection);
                foreach (var parameter in parameters)
                {
                    process.SetPropertyValue(parameter.Key.ToString(), parameter.Value);
                }
                process.Execute(UserConnection);
            }
            catch (Exception e)
            {
                _logService.RecInfo($"[AutobookingServicesPack]:[AbStartProcessManager]:[StartProcess(string processName = '{processName}', Dictionary<string, string> parameters)]:Exception: {e.Message}; {e.InnerException}");
            }
 
        }

Через фидлер кидаю следующий json:
{
    "processName":"AbListenCallAfterCancelationOrderProcess",
    "parameters":{
        "OrderId":"e3f25831-2482-4804-9564-72d6670634a5",
        "CallsId":"e22be6b7-9cf7-ab57-3c0d-bdbfd6a0d168;3fcfab93-c395-7223-ee77-78a0a7efde9b;d2607c8b-7796-bb9b-f06f-aa5280240733;ea465baa-8205-914d-77e4-03a7a7249fda"
    }
}
В логах СРМ следующее:
[AutobookingServicesPack]:[AbStartProcessManager]:[StartProcessWithParameters(string processName = 'AbListenCallAfterCancelationOrderProcess', Dictionary<string, string> parameters)]: (0)
Видно, что  processName десерелизовало, а вот parameters нет в Dictionary 0 элементов.
 

Подскажите в чем может быть проблема?
заранее благодарен.

У меня такой же вопрос

4 комментария
Лучший ответ

А еще лучше попробовать так

function toDictionary(obj) {
   var data = [];
   for (var key in obj) {
      data.push({ Key: key, Value: obj[key] });
    }
  return data;
}
 
var _parameters = {}
_parameters ["OrderId"] = "e3f25831-2482-4804-9564-72d6670634a5";
_parameters ["CallsId"] = "e22be6b7-9cf7-ab57-3c0d-bdbfd6a0d168;3fcfab93-c395-7223-ee77-78a0a7efde9b;d2607c8b-7796-bb9b-f06f-aa5280240733;ea465baa-8205-914d-77e4-03a7a7249fda";
 
 
 
var serviceData = {
   processName: "XrenyaNerabotaychayaProcess",
   parameters: toDictionary(_parameters)
};
//serviceData  это то что отправляется сервису

Чтобы получить в JSON.stringify(serviceData) чтото типа:

""processName":"XrenyaNerabotaychayaProcess",

"parameters":[

{"Key":"OrderId","Value":"e3f25831-2482-4804-9564-72d6670634a5"},

{"Key":"CallsId","Value":"e22be6b7-9cf7-ab57-3c0d-bdbfd6a0d168;3fcfab93-c395-7223-ee77-78a0a7efde9b;d2607c8b-7796-bb9b-f06f-aa5280240733;ea465baa-8205-914d-77e4-03a7a7249fda"}

]}"

 

 

 

Попробуйте может WebMessageBodyStyle.Bare вместо Wrapped

Литвинко Павел,

При 

Bare 500 ошибку вываливает

Попробуйте так

В описание метода:

 StartProcessWithParameters(string processName, Dictionary<string, string> parameters)

 

Параметры как то так попытайтесь подставить


"processName":"AbListenCallAfterCancelationOrderProcess",
"parameters":
[{"OrderId" :"e3f25831-2482-4804-9564-72d6670634a5"},
{"CallsId": "e22be6b7-9cf7-ab57-3c0d-bdbfd6a0d168;3fcfab93-c395-7223-ee77-78a0a7efde9b;d2607c8b-7796-bb9b-f06f-aa5280240733;ea465baa-8205-914d-77e4-03a7a7249fda"}]
}
 

В CallsId будет строка список Id через ; 

А еще лучше попробовать так

function toDictionary(obj) {
   var data = [];
   for (var key in obj) {
      data.push({ Key: key, Value: obj[key] });
    }
  return data;
}
 
var _parameters = {}
_parameters ["OrderId"] = "e3f25831-2482-4804-9564-72d6670634a5";
_parameters ["CallsId"] = "e22be6b7-9cf7-ab57-3c0d-bdbfd6a0d168;3fcfab93-c395-7223-ee77-78a0a7efde9b;d2607c8b-7796-bb9b-f06f-aa5280240733;ea465baa-8205-914d-77e4-03a7a7249fda";
 
 
 
var serviceData = {
   processName: "XrenyaNerabotaychayaProcess",
   parameters: toDictionary(_parameters)
};
//serviceData  это то что отправляется сервису

Чтобы получить в JSON.stringify(serviceData) чтото типа:

""processName":"XrenyaNerabotaychayaProcess",

"parameters":[

{"Key":"OrderId","Value":"e3f25831-2482-4804-9564-72d6670634a5"},

{"Key":"CallsId","Value":"e22be6b7-9cf7-ab57-3c0d-bdbfd6a0d168;3fcfab93-c395-7223-ee77-78a0a7efde9b;d2607c8b-7796-bb9b-f06f-aa5280240733;ea465baa-8205-914d-77e4-03a7a7249fda"}

]}"

 

 

 

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!
 

у нас есть стороннее веб приложение которое использует данные из BpmOnline. получает, создает, обновляет данные.

работа идет через DataService, пользователь Supervisor.

иногда в процессе работы выходит ошибка 401.

то есть мы можем работать в нашем веб приложении, все успешно проходит и иногда выходит 401 ошибка. причем нет никакого алгоритма действий как повторить ошибку.

может есть какое-то время жизни токена? или может нужно как-то настроить сайт в иис чтобы не было ошибок?

У меня такой же вопрос

10 комментариев
Лучший ответ

401 ошибка означает, что не аутентифицировался. Нужно сначала аутентифицироваться, сохранить куки и отсылать следующий запрос с сохраненными куками и Вашими данными. 

Без кода трудно понять 

но конечно у каждой сесии (сеанса подключения) есть таймаут

При каждом вызове внешнего сервиса нужно подключать авторизационные кукие как это описанно в статье https://academy.terrasoft.ua/documents/technic-sdk/7-13/rabota-s-obekta… Или для доступа к данным сделать свой анонимный вэб сервис

401 ошибка означает, что не аутентифицировался. Нужно сначала аутентифицироваться, сохранить куки и отсылать следующий запрос с сохраненными куками и Вашими данными. 

Григорий Чех,

мы делаем так - делаем TryLogin а потом полученные куки используем при дальнейших запросах в систему. запросов много - на получение, создание и тп. мне же не нужно наверно перед каждым обращением в бпм заново логиниться? я залогинилась 1 раз и дальше использую эти куки.
 

"401 ошибка означает, что не аутентифицировался. Нужно сначала аутентифицироваться, сохранить куки и отсылать следующий запрос с сохраненными куками и Вашими данными."   - я знаю что означает 401 ошибка. вопрос в том, что оно работает, а потом может в какой то момент времени появится ошибка. и нет точного временного интервала после которого ошибка появляется. всегда по разному. ошибка появляется очень редко, но появляется

Кроме обычной куки, нужно ещё BPMCSRF.

Зверев Александр,

передаем. без этого бы вообще не сработало

Значит, проходит слишком много времени и авторизация отваливается. В таком случае нужно авторизироваться вновь.

Зверев Александр,

просто в чем странность - иногда через 30 минут выходит ошибка, а иногда и через 4ч нормально работает. вот что непонятно

Нужно не завязываться на промежуток времени, а в обработчике ошибки авторизироваться повторно. Кроме тайм-аута может быть что угодно, например, перезапуск сервера и чистка Redis на нём. Логика интеграции при таком страдать не должна.

Zaitova Liubov,

Здравствуйте. не забывайте, что куки авторизации действительны определенное время. Например Вы аторизировались под Supervisor "покидали" некие запросы в срм и потом на протяжении 1 часа действий со стороны Вашего приложения не происходило то тогда Ваши куки устаревают, если мене не изменяет память, по умолчанию таймаут сеанса пользователя составляет 20-30 мин. Данную настройку можно редактировать в профиле пользователя системы. 

http://prntscr.com/l7fu09

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!

Необходимо отправлять email-оповещение при назначении обращения по шаблону из справочника.

Сообщение из раздела обращений которое нужно прочитать:

Upd. Процессом считывания данных и заполнением шаблона занимается бизнес-процесс "SendEmailToSROwner", пакет "CaseService". 

Есть ли возможность вытащить из ленты в бизнес-процессе последнее сообщение?

У меня такой же вопрос

2 комментария
Лучший ответ

Те как написал Саша, в БП через элемент чтения данных только отсортируй их по убыванию даты создания.

Лента — это обычный объект ESNNotification и связанный с ним SocialMessage. Можно читать стандартными элементами чтения данных.

Те как написал Саша, в БП через элемент чтения данных только отсортируй их по убыванию даты создания.

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!

Существует задача - задать вопрос пользователю, который является начальником у контакта, который запускает БП. Организационная структура большая, поэтому базовые способы не подходят.

Все начальники входят в функциональную роль "Начальники".

Реализацию вижу следующим способом:
1) Считать группу ответственных
2) Найти контакт, который входит в эту группу и в группу "начальники"
3) Если этот контакт не совпадает с ответственным, запустившим БП, то передать его в параметр БП
4) Если контакт совпадает, то взять ParentRoleID и повторить поиск по новой группу+группа начальников, а затем уже передать найденный контакт в параметр БП
5) Если вышестоящей группы нет - тогда уже передать что есть (контакт, совпадающий с ответственным, запустившим БП)

Навыки владения C# скудны, поэтому прошу помощь в понимании следующих нюансов:
1) Как считать нужные данные
2) Как найти контакт, который входит в обе группы
3) Как передать найденное значение в параметр БП для его дальнейшего использования

Буду признателен за помощь.

 

У меня такой же вопрос

4 комментария

Большую часть этой логики, а то и всю, можно попробовать сделать чисто на уровне элементов процесса: чтения с условиями фильтрации, условных потоков. В фильтры можно подставлять значения из параметров процесса и из параметров других элементов.

Это можно было бы сделать, будь у меня пользователь только в одной роли. Как найти ID пользователя, если он в организационной роли и функциональной?

Настраивать нужное условие фильтрации.

Зверев Александр,

Любые мои варианты сделать фильтрацию провалились. Как сделать фильтр, если человек может быть в двух группах и мне нужно найти его? Было бы "или" - вопросов нет. Если предлагаете какой-то вариант - тогда предлагайте до конца. 

Поэтому возвращаемся к исходной задаче и к элементу [Задание-сценарий]. Просто документации с хорошо расписанными примерами просто нету, вот и прошу помощи

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Коллеги, может, кто сталкивался с подобной задачей.

Нужно из простой детали (например, дата - продукт - количество) составить матрицу (cross-tab), где строки задаются датами, столбцы - продуктами, а в ячейках отображается количество продукта, купленного в эту дату.

Естественно, что в детали у другого контрагента будет уже свой набор продуктов (чтобы пустые не отображать)

Спасибо!

У меня такой же вопрос

5 комментариев
Лучший ответ

Я дополнил свой ответ посмотрите (Вы быстрее читаете чем я пишу)

Отчет я бы делал OpenXML  (формировал xlsx файл)

 

OpenXML - Пример создания Excel файла на C#

Есть какие то ограничения на количество продуктов (те столбцов) в детали?

Если нет то штатными средствами будет тот еще головняк предложите как альтернативу отчет!

Или покажите Дата Продукта Количество сгрупировав по датам

1) 20,10,18 Товар1 15

1) 20,10,18 Товар3 5

Понимаю что это не то что вам надо но при работе с diff заложено что столбцов всего 24 и это трудно преодолимо

 

Если количество продуктов в разумных пределах (ограниченно), то посмотрите как пример DayOffsDetail (есть в сервисе может и в остальных продуктах) и обратите внимание на формирование "columnsConfig": и "captionsConfig"

Ну и выбрать данные дучше вьюхой (Думаю это вы и без меня знаете умеете)

 

 

 

 

 

Григорий Чех пишет:

Есть какие то ограничения на количество продуктов (те столбцов) в детали?

Если нет то штатными средствами будет тот еще головняк предложите как альтернативу отчет!

Или покажите Дата Продукта Количество сгрупировав по датам

1) 20,10,18 Товар1 15

1) 20,10,18 Товар3 5

Понимаю что это не то что вам надо но при работе с diff заложенно что столбцов всего 24 и єто труднопреодолимо

"Продукты" - это я условно. Будут категории (штук до 10) 

Григорий Чех пишет:
Если нет то штатными средствами будет тот еще головняк предложите как альтернативу отчет!

А отчет в DevExpress как такой сделать? Тоже не совсем тривиально, как я понимаю?

Я дополнил свой ответ посмотрите (Вы быстрее читаете чем я пишу)

Отчет я бы делал OpenXML  (формировал xlsx файл)

 

OpenXML - Пример создания Excel файла на C#

Григорий Чех пишет:
Если количество продуктов в разумных пределах (ограниченно), то посмотрите как пример DayOffsDetail (есть в сервисе может и в остальных продуктах) и обратите внимание на формирование "columnsConfig": и "captionsConfig"

Спасибо большое за наводку! 

Войдите или зарегистрируйтесь, чтобы комментировать