Интеграция с камерой
Технические вопросы
5.x

Коллеги, приветствую. Насколько сложно осуществить интеграцию BPMonline с web-камерой?

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

Бизнес-логика следующая: открываем карточку клиента, нажимаем кнопку "сделать фото", по событию onClick которой запускаются стандартные драйверы ОС для работы с этим классом устройств, делается фото и привязывается либо к карточке, либо к детали.

Нравится

13 комментариев

Проще всего с помощью
silverlight
сама не пробовала

Я от кого-то слышал, что в будущих версиях BPMonline, Terrasoft откажется от этой технологии. Или у меня неверный инсайд? :)

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

Понял. Спасибо за информацию.

Есть примеры по работе с Сильверлайтом в BPMonline? На форуме не нашёл.

Спасибо, HTML5 было бы лучше всего, но не работает в IE включая 10. http://caniuse.com/stream
А у нас в компании только IE разрешены.

"Vitkauskas Vadim" написал:
А у нас в компании только IE разрешены.

Надеюсь, не IE6?
А обходные варианты с Chrome Frame тоже нельзя?

IE9. Вроде встал. Теперь бы понять, как с этим работать.

"Vitkauskas Vadim" написал:
Теперь бы понять, как с этим работать.

Если речь о Chrome Frame - то пишут, что достаточно:

<meta http-equiv="X-UA-Compatible" content="chrome=1" />

Можно проверить, скопировав страницу с демонстрацией вебкамеры и добавить это туда.

Пробовал, пока не выходит.

Данная библиотека вам может помочь - для IE8+ эмулирует HTML5 API для доступа к UserMedia c помощью Flash

Показать все комментарии
скилл звонки
Технические вопросы
5.x

Добрый день,
Кажется дважды создал тему, извиняюсь.

У нас продукт BpmOnline Crm Версия 5.1.1.155

У нас тут возникли вопросы во время разработки "Единого окна оператора SoftCollection"
- Каждое утро система создает определенное количество звонков - "Звонок заемщику".(Уже работает)
- И все звонки обрабатываются через единое окно(без каких либо фильтров, кто работает тому подается любой звонок), и просто завершают задачу.(Уже работает)

Постановка такова:

1. Создать справочник Скилл групп, с которыми надо связать некоторых сотрудников SoftCollection (Сделано)
2. Задать этим скилл группам - фильтры, чтобы отфильтрованные звонки попадали только сотрудникам соответствующей группы, как фильтры динамической группы. Тут проблема: Как сделать так, чтобы скил группам была возможность добавлять фильтры ?
Например: добавил новую скилл группу и где то указал фильтры (См. снимок1), по которым звонки должны попадать в эту группу.

3. Так же необходимо, если возможно задать приоритетность обработки.

Например: оператор закрепленный в группу1 : видит и обрабатывает только по указанному фильтру

Спасибо

Нравится

1 комментарий

В теории видится два простых решения:

1.
а) Сделать поле с типом справочник на карточке звонка, которое будет отображать значения из созданного вами справочника скилл-групп;
б) В скриптах прописать, чтобы записям звонков, удовлетворяющих определённым параметрам, присваивались те или иные значения этого поля;
в) В разделе задач настроить фильтр по этому полю, каждому сотруднику свой.

2. Тупо прописать каждому свой фильтр, чтобы звонки фильтровались непосредственно в разделе, без задействования скриптов.

Показать все комментарии
Технические вопросы
5.x

В БП в элементе "Задача" определено автоматическое заполнение полей (Контакт, Контрагент, Сер. Дог, Инцидент). Однако при тестировании БП оказывается, что заполняются только Контакт и Контрагент, поля Сер. Дог и Инцидент же остаются пустыми.

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

Нравится

1 комментарий

Здравствуйте, Акмаль!

Наиболее вероятная причина сбоя - на момент заполнения источники значений для данных полей пусты.

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

Показать все комментарии
Технические вопросы
5.x

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

Flag = false;

или
Flag = true;

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

Нравится

1 комментарий

Если параметр планируется заполнять программно, ему нельзя прописывать значение по умолчанию в свойствах. Если всё же нужно, чтобы там было значение - присваивайте вручную на обработчике Init.

Показать все комментарии
Технические вопросы
5.x

Здравствуйте!
Подскажите как правильно реализовать возврат к задаче в БП.
После создания инцидента создаётся задача для ответственной группы (определение правильности перенаправления инцидента на них). И если колл-центр определил ответственных неправильно, сначала открывается карточка инцидента, а затем процесс возвращается к задаче для ответственной группы.
Как правильно сделать - предварительно удалить старые данные задачи для ответственной группы и изменить её состояние на начальное или можно как-то создать новую задачу, не используя дополнительных элементов?

Нравится

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

Здравствуйте.

Возможно не совсем корректно понял Вашу задачу, но я бы порекомендовал создать такой БП:

регистрация инцидента -> задача ->(верно) -> следующие шаги
-> (не верно) -> открыть карточку инцидента (для смены ответственных) -> (после нажатия на ок возврат к второму шагу БП (задача правильности определения ответственных).

Дмитрий, спасибо. При возврате к элементу задачи создаётся новая активность. Что и было нужно.

Показать все комментарии
Фильтры на страницах печати
Технические вопросы
5.x

Добрый день, коллеги !
Я создал свою страницу печати унаследовал её от "Базовая страница параметров отчета" мне понадобилось добавить фильтрацию по двум полям которые зависят друг от друга, я это зделал, данным способом , но насколько я понял не доходит ивент "Init", то есть не добавляется ивент к открытию лукапа, попробовал повесить добавление ивента на ивент "PageLoad", работает но после первой попытки нужно два раза открывать лукап чтобы сработало. Как мне правельней добавлять этот ивент ?

Нравится

8 комментариев

Здравствуйте.
Нет, обработчик события необходимо добавлять на событии Init страницы редактирования.

Если у Вашей страницы нет данного события - просто добавьте (начальное - сообщение; сообщение - Init). После этого события добавьте скрипт, в котором подпишитесь на событие нажатия на "лупу", а после скрипта добавьте промежуточное генерирующее сообщение, с сообщением Init, и установите галочку "отправить в родительский процесс".

"Олейник Дмитрий" написал:

Здравствуйте.

Нет, обработчик события необходимо добавлять на событии Init страницы редактирования.

Если у Вашей страницы нет данного события - просто добавьте (начальное - сообщение; сообщение - Init). После этого события добавьте скрипт, в котором подпишитесь на событие нажатия на "лупу", а после скрипта добавьте промежуточное генерирующее сообщение, с сообщением Init, и установите галочку "отправить в родительский процесс".

С уважением,

Олейник Дмитрий

Эксперт 3-й линии поддержки


Христос Воскрес!!!
Я так и делал... не срабатывает этот ивент!!! Он срабатывает только когда в дизайне запускаю, а при печати документов нет.

Сергей, правильно ли я понимаю, что на странице печати отчета необходимо установить фильтр 2-х лукапных полей?
Вложите, пожалуйста, схему.

"Бондарь Наталия" написал:

Сергей, правильно ли я понимаю, что на странице печати отчета необходимо установить фильтр 2-х лукапных полей?

Вложите, пожалуйста, схему.


Да
В архиве, справочники которые по каким идет фильтрация, плюс схема страницы родителя "PageForPrintingDataFilter", схема страницы в которой идет фильтрация "ReportPageFiltrSteetAndDate.md"
shemy.rar

Попробуйте заменить Init на PageLoad.

"Булавин Владислав Геннадиевич" написал:Попробуйте заменить Init на PageLoad.

Спасибо, но в первом посте описал почему этот вариант не подходит

Сергей, добрый день.

Действительно, "Базовая страница параметров отчета" унаследована не от базовой страницы, и событие Init, на котором необходимо подписываться на события, отсутствует.
К сожалению, необходимо использовать событие PageLoad (есть свои минусы), либо разрабатывать свою страницу с нуля.

"Олейник Дмитрий" написал:Сергей, добрый день.

Действительно, "Базовая страница параметров отчета" унаследована не от базовой страницы, и событие Init, на котором необходимо подписываться на события, отсутствует.
К сожалению, необходимо использовать событие PageLoad (есть свои минусы), либо разрабатывать свою страницу с нуля.


Дмитрий, добрый день.
Не думаю что проблема в странице. В дизайне этот ивент прекрасно работает. Я преполагаю что проблема в действии печати.

Показать все комментарии

Вопрос наверно идиотский, но жизненный...
Закрытие карточки редактирования/просмотра записи по ESC можно реализовать в BPMonline?

Нравится

1 комментарий

Уважаемые форумчане! У меня вопрос по разделу Активности. В реестре почему-то отображаются не все активности созданные операторами. Смотрел на фильтры - все снято. Почему так происходит ума не приложу. Может есть какой-то подводный камень в этом разделе. Оператор "A" звонит уже почти как месяц и всего 3 активности в реестре. А когда смотрю через раздел Контакт (фильтр: существует активность по контакту c ответственным "A") то выдает цифру под 200.

Нравится

11 комментариев

Здравствуйте, Денис.

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

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

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

Здравствуйте Анна! Дело в том, что деталь участники скрыта от операторов. Да и не умеют они ею пользоваться. И как добавить участников ежели Активность не отображается в реестре?

Здравствуйте, Денис!

Участники в активность добавляются автоматически: они формируются из Контакта, Автора и Ответственного.

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

1. Что общего у активностей, которые не отображаются в реестре?

(Например, все они были созданы с детали в определенном разделе)

2. Много ли таких активностей?

3. Даты добавления активностей?

Анна, единственное их сходство в том, что они были заполнены 2 операторами (у остальных все активности отображены в реестре). По 1 оператору не нашло отображение процентов 10 записей, а у другого почти все не были перенесены в реестр (не заполнена деталь участники). Я их выловил. Сейчас добавляю участников. Но возникает вопрос не повториться ли ошибка впредь?

Здравствуйте, Денис.

В качестве отладочного мероприятия рекомендую Вам настроить логирование для раздела Активности и детали Участники - это позволит понять. в какой момент исчезают участники.

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

Денис, здравствуйте.

Настройка логирования осуществляется в разделе "Журнал изменений".
Для того, чтобы добавить таблицу "Активностей" как таблицу для логирования, необходимо в меню кнопки "Действия" нажать на "Настроить журнал" и выбрать объект "Активность" и поля, из этого объекта, по которым будет вестись логирование.

Здравствуйте! По этому вопросу опять незадача. У оператора пропали данные из детали участники и соответственно такие активности не отображаются в реестре. Хотя до этого деталь была заполнена и активности были видны в разделе Активности. При добавлении участников в Активность происходит ошибка, хотя впоследствии участник таки добавляется. Код ошибки:
Action: ThrowClientEvent
SubmitAjaxEventConfig: {"config":{"viewStateMode":"include","extraParams":{"processInstanceId":"a609b0d4-907c-4b90-9279-b4a4ed1a6118PageContainer$DetailGridContainer1f8769742881e011bfea00155d04320c","message":"LookupGridPageClosed","key":"7eeeed6d-e018-4679-9268-aafb31df5df7"}}}

Здравствуйте, Денис.

Были ли какие либо доработки с Вашей стороны?
Также, рекомендовал бы Вам с Вашим вопросам обратиться письменно в тех. поддержку (support@terrasoft.ru), т.к. насколько я знаю Вы используете on-site версию, в связи с чем анализ проблемы в реальных условиях возможен только по Team Viewer/Ammyy Admin.

письмо написал. также выслал исходный код раздела Активность

Денис, в таком случае, ответ Вам будет предоставлен в ответном письме.

Показать все комментарии
Агрегирующий фильтр.
5.x

Помогите плиз! Туплю! :)

Необходимо сформировать список email рассылки "основным контактам" контрагентов имеющих определенное значение поля "Категория".

Заранее спасибо!

Нравится

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

Здравствуйте, Илья =)

Добавьте динамическую группу контактов, вызовите менюшку добавления агрегирующего фильтра - Контрагент (по колонке Основной контакт), выберите поле Существует, добавьте этот фильтр. В нем добавьте подфильтр Категория и задайте значение. Выглядеть должно так:

Огромное спасибо!

Показать все комментарии
Технические вопросы
5.x

Добрый день!

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

Заранее спасибо.

Нравится

6 комментариев

Используйте условный поток вместо потока управления.
Добавьте в параметры ту переменную, которую хотите использовать (не забудь потом убрать ее объявление из скриптов, т.к. теперь она будет объявлена глобально).
В вашем случаи (если 1 из 2) можно добавить в параметры логическую переменную Flag. И где-то в скрипте присвоить ей значение в зависимости от нужных вам условий. А потом сделать 2 условных потока, один с Flag == true, другой Flag == false.

Александр, спасибо! А как прописать условия для условных потоков? В поле окна свойств "Условие"??

Да, все вот так вот просто

Доброго времени суток.
Александр прав, но еще правильнее, если Вы добавите в поток перед ветвлением "Исключающее ИЛИ".
Из него исходит один условный поток с Вашим условием, а второй - Поток по умолчанию. При таком подходе Вы избавитесь от программных ошибок, когда у Вас процесс не пойдет ни по одной из ветвей. Такого быть не должно, если Вы правильно установите условие, но все же :smile: Как программист Вам скажу иногда такие глюки бывают и береженного Бог бережет.

Андрей, спасибо за дополнение, как раз думал об этом:)

"Сазанов Александр Владимирович" написал:

Да, все вот так вот просто

В данном случае в "Условии" можно просто указать имя переменной. Движок процессов пытается интерпретировать содержимое поля "Условие" как C#-выражение в конструкции if.

Показать все комментарии