объект_файл
Технические вопросы
7.x

Как можно реализовать в bpm'online 7.x возможность прикреплять в файлах не только http ссылку, но и ссылку на локальный файл (в shared folder), например, \\192.168.0.100\Documents\SQL\Manual.txt ?

Нравится

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

Владимир, ссылка должна иметь вид file://локальный путь
При этом обратите внимание, что к папке должен быть открыт доступ

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

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

Создал виртуальноe поле, в котором отображает кол-во дней с между датой создания и сегодня, забиндил функцию на value.
Когда дата создания == сегодня (т.е. значение 0), то в поле не отображается 0, и оно выглядит пустым. Это может сбивать с толку пользователей. Подкажите, как сделать, чтобы 0 отображался.

Разметка:

{
        "operation": "insert",
        "name": "UsrDaysInWorkVirtual",
        "values": {
                "layout": {
                        "column": 12,
                        "row": 5,
                        "colSpan": 12,
                        "rowSpan": 1
                },
                "bindTo": "UsrDaysInWorkVirtual",
                "caption": {
                        "bindTo": "Resources.Strings.UsrDaysInWorkVirtualCaption"
                },
                "textSize": 0,
                "contentType": 3,
                "labelConfig": {
                        "visible": true
                },
                "enabled": false,
                "value": { "bindTo": "getUsrDaysInWorkVirtualValue" }
        },
        "parentName": "group_gridLayout",
        "propertyName": "items",
        "index": 0
},

Функция:

getUsrDaysInWorkVirtualValue: function() {
        var createdDate = this.get("CreatedOn");
        var today = new Date();
        var result = parseInt((today - createdDate)/(1000*60*60*24));
        return result;
}

Спасибо
----
Lohika Inc.

Нравится

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

Нужно смотреть какое значение находится в result-e
В своей практике используем тройное равенство, что не допускает распознавания как 'false'

Показать все комментарии
бизнес-процесс
преднастроенная страница
Технические вопросы
7.x

Столкнулся со следующей проблемой. В бизнес-процессе делаю несколько элементов "Преднастроенная страница", которые будут обращаться к одному и тому же клиентскому модулю. Публикация проходит без ошибок. При попытке запустить процесс ничего не происходит. В консоли вижу ошибку 400. В описании ошибки запроса есть запись на английском что-то вроде: "Не удалось создать ключ, так как он уже используется". Если оставить один элемент "Преднастроенная страница" всё работает без нареканий.

Делать для каждого элемента отдельный модуль долго и "не кошерно". К тому-же если делать клиентские модули с одинаковыми параметрами (например "PressedButtonCode"), то редактор БП ругается на то, что подобный параметр уже есть.

Выкрутится конечно можно, но может я где-то ошибся. Или есть более правильный метод реализации. Подскажите кто что знает))

Проблема на версиях 7.4 и 7.5

Нравится

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

Добрый день, Вячеслав!

Не смог повторить описанное Вами поведение. Пришлите, пожалуйста, скриншоты схемы неработающего бизнес процесса с настройками элементов "Преднастроенная страница".
В случае, если используются стандартные объекты bpm'online, пришлите,пожалуйста, *.md файлы неработающего процесса.

Все еще не получилось воспроизвести. Написал личное сообщение - ожидаю получения данных для подключения.

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

Подскажите, где взять информацию о том какая коллекция OData соответствует определенному разделу BPMOnline, а также соответвие название свойств коллекции - свойсвам формы редактора на сайте BPMOnline

Нравится

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

Добрый день!

Вы можете получить список коллекций следующим образом:

http://адрес сайта/0/serviceModel/EntityDataService.svc/

После чего в разделе "Конфигурация" выполнить поиск по названию коллекции без слова Collection, например, для AccountCollection выполнить поиск по Account - Вы найдете объект с заголовком Контрагент. Объект соответствует одноименной таблице в базе данных.

Свойства коллекции соответствуют колонкам в этом объекте.

Спасибо, Андрей!

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

Добрый день!

Подскажите, как правильно обращаться с рабочими пространствами.

Суть вопроса:
Создал новое рабочее пространство копированием дефолтного. При попытке зайти в него, открывается не обычный пользовательский интерфейс, а редактор конфигурации.

Попробовал зайти в дефолтное рабочее пространство, а затем в URL поменять 0 на 1, т.е.

было:
http://localhost/0/Nui/ViewModule.aspx#IntroPage/EnterpriseIntro

стало:
http://localhost/1/Nui/ViewModule.aspx#IntroPage/EnterpriseIntro

Но, и из этой затеи ничего не вышло - получил сообщение об ошибке следующего содержания:

Date: 03.07.2015 4:00:28
Date (UTC): 03.07.2015 4:00:28

Exception Message: Сборка конфигурации "Development" не инициализирована
Exception Type: Terrasoft.Common.NullOrEmptyException
Exception Source: Terrasoft.Core

Exception Stack Trace:
   at Terrasoft.Core.Configuration.SysWorkspace.get_WorkspaceAssembly()
   at Terrasoft.WebApp.Nui.ViewModuleHelper.CreateModulesConfigScript(UserConnection userConnection, HttpResponse response)
   at Terrasoft.WebApp.Nui.ViewModule.SetupModulesConfig()
   at Terrasoft.WebApp.Nui.ViewModule.Page_Load(Object sender, EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

SessionID: 1yabgbxhyqzua5ibbnklhg5e
Request URL: /1/Nui/ViewModule.aspx
Request Path: /1/Nui/ViewModule.aspx
Request Type: GET
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
User Host Address: 192.168.0.1
User: Supervisor
Is Authenticated: True
Authentication Type: Forms
Is Secure Connection: False

Application Version: 7.5.0.952
Application Path: C:\inetpub\wwwroot\Terrasoft.WebApp\
Application Virtual Path: /1
Application Trust Level: Full
Machine Name: R2D2
Is Local: False

Process ID: 4172
Process Name: w3wp.exe
Process Account Name: R2D2\bpmonline
Thread Account Name: R2D2\bpmonline
OS Version: Microsoft Windows NT 6.3.9600.0
Net Framework Version: 4.0.30319.34209
DBExecutor Type: MSSqlExecutor

Что с этим можно сделать, и как заставить работать механизм рабочих пространств?
Заранее спасибо.

Нравится

1 комментарий
7.x
веб-сервисы
интеграция
Технические вопросы

Добрый вечер!

Можно ли настроить интеграцию bpm 7.x с помощью: Справочники.Интеграции.Веб-сервисы? Есть-ли какое-то описание? В частности из ЦБ: http://www.cbr.ru/scripts/Root.asp?PrtId=DWS

Нравится

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

Здравствуйте!
Интеграцию при помощи этого справочника настроить нельзя. Данный справочник использовался в версии 7.2.2 для регистрации веб-сервисом, созданных в бизнес процессе при помощи элемента "Веб-сервис". В старших версиях этот элемент отсутствует, однако справочник остался.

Для интеграции с веб-сервисом, используйте следующую инструкцию:
vyzov_metoda_veb-servisa.doc

"Демьяник Алексей Олегович" написал:используйте следующую инструкцию

Алексей, спасибо!
С первого прочтения совсем не понятно. Буду разбираться.

Особенно интересно предложение "Далее следуем по пунктам указанным в статье" - видимо где-то должна быть статья, которой в файле нет :sad:

Добрый вечер!

Данный файл и есть статьей. Имелось в виду следуйте далее по инструкции.

Показать все комментарии
обращение
оповещение
service desk
Технические вопросы
7.x

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

Какие могут быть удобные способы оповещения оператора, о том, что у него, например, появилось новое обращение в едином окне, или вообще о том, что в системе было зарегистрировано новое обращение?
Один из способов - это отправка e-mail на почту.Возможно, есть еще какие-то? Возможны ли какие-то оповещения в bpm, если сам браузер с bpm свернут?
Например, когда приходит письмо в аутлуке, то справа в трее выходит оповещение о том, что пришло новое письмо. Может что-то подобное есть в bpm?

Нравится

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

На данный момент единственный способ это отправка e-mail на почту и настройка оповещений о приходе нового письма.

Можно самому доработать с использованием HTML 5 Notifications API,
HTML 5 Notifications API

Ещё есть такое, но там по активностям, а не обращениям:


Инофрмер для Windows
informer

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

Добрый день, коллеги!

Подскажите, пожалуйста, есть ли глобальный поиск в коде bpm (аналог grep search)?
Согласен на sql-код поиска :biggrin:

Нравится

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

Для серверной логики можно выгрузить все исходники в папку и потом Alt+F7 в Тотале.
Клиентские JS тоже можно сохранить в файлы.

"Зверев Александр" написал:Для серверной логики можно

Александр, спасибо!

Показать все комментарии
группа полей
Деталь
Технические вопросы
7.x

Как программно управлять сворачиванием и разворачиванием групп полей и деталей? Например, при открытии карточки одну деталь всегда показывать развёрнутой, а другую свёрнутой? (Сейчас система запоминает последнее состояние и использует его для следующего показа)

Нравится

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

Владимир, здравствуйте!

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

/**
				 * Обрабатывает сворачивание или разворачивание детали.
				 * @protected
				 * @virtual
				 * @param {Boolean} isCollapsed Признак свернутости/развернутости детали.
				 */
				onDetailCollapsedChanged: function(isCollapsed) {
					var profile = this.getProfile();
					var key = this.getProfileKey();
					if (profile && key) {
						profile.isCollapsed = isCollapsed;
						this.Terrasoft.utils.saveUserProfile(key, profile, false);
					}
					this.set("IsDetailCollapsed", isCollapsed);
				},
Показать все комментарии

Снова здравствуйте,

BPM 7.5. Столкнулся с проблемой.
Есть сущность, в неё несколько табов (e.g. Tab1 и Tab2), в табах field groups. Tab1 - первый слева направо, т.е. открыт по умолчанию, и видны поля. Нужно добавить поле в Tab2, закрытый / неактивный по умолчанию. Но не просто добавить, и менять скрывать / снова показывать по условию. Я это делаю путём биндинга функции на свойство "visible" в размете. Еслие поле на карточке (не в табе) или в первом (открытом) то всё работает. Если же поле находится в Tab2, то при открытии сущности бросается исключение. Что делать? Какие обходные пути?

Пример функции:

getUsrAssignedRecVisible: function() {
        var department = this.get("UsrDepartmentUsr");
        return department && department.displayValue === "Engineering"
}

Пример разметки с биндингом:

{
        "operation": "insert",
        "name": "UsrAssignedRec",
        "values": {
                "layout": {
                        "column": 12,
                        "row": 0,
                        "colSpan": 12,
                        "rowSpan": 1
                },
                "bindTo": "UsrAssignedRec",
                "caption": {
                        "bindTo": "Resources.Strings.UsrAssignedRecCaption"
                },
                "textSize": 0,
                "contentType": 5,
                "labelConfig": {
                        "visible": true
                },
                "enabled": true,
                "visible": { "bindTo": "getUsrAssignedRecVisible" }
        },
        "parentName": "group_gridLayout",
        "propertyName": "items",
        "index": 10
},

Спасибо

Нравится

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

"trickbz" написал:Если же поле находится в Tab2, то при открытии сущности бросается исключение.

Какое именно исключение бросается?

удалено, хотя может и поздно) Это всего лишь пилот

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