Такой вопрос:

Нужно что бы 

відреагуй, замість айпішніка напиши 

http://firma-bpm/0/rest/TestService/TestMethod/qq

работало с любого компа мира, это возможно?

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

Нравится

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

Уважаемое сообщество.

Столкнулся со следующей потребностью:

В Лиде у меня должно быть 2 контакта и не должно быть контрагента (потом при переводе в продажу БП будет вызывать диалоговое окно с возможностью выбора/добавления контрагента, участвующего в продаже). Есть пара идей по возможной реализации, но каждая из них удовлетворят потребность лишь частично, и часть идей возможно не, реализуемы без хардкорного программирования. Хотелось бы реализовать задачу средствами дизайнера или с минимальным кодингом.

  1. Создать кастомный раздел лиды и там настроить страницу с нужными полями и убрать поле контрагента. Тут вопрос: можно ли как-то “в несколько движений” перенести все схемы и перенастроить все БП из нынешнего раздела Лиды на новый раздел. Или может быть есть какой-то способ, позволяющий найти все связанные с лидами элементы (схемы, БП, настройки) и через импорт/экспорт перенести их из раздела Лиды в новый раздел?

  2. В текущем разделе Лиды убрать совсем детали AccountProfile и ContactProfile путем добавления кода {"operation": "remove", "name": "AccountProfile"} в дизайнере во вкладке “Исходный код”. А в основной области добавить  просто 2 объекта из справочника Контакты. Так выходит не очень красиво, потому что слева останется пустота, съедающая место, а людям на планшете в браузере нужно работать.

Что посоветуете?

Благодарю

Нравится

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

Несколько идей.



1. У нас есть правило - один или несколько. То есть, обычно, где есть 2 контакта, могут быть и 3. А это значит, что целесообразно подумать о детали

2. Слева находится не только AccountProfile и ContactProfile, но и поля в Header. Пока они там есть, левый контейнер LeftModulesContainer будет оставаться и "съедать место"

3. Визуально для 2 полей выглядит логичным вместо AccountProfile добавить Contact2Profile, например.

4. Я бы оставил стандартный раздел Lead, чтобы не ломать логику landing page, lead pipeline, не переписывать все бизнес-процессы с лидами и оставить возможность получать улучшения функциональности в новых версиях

Несколько идей.



1. У нас есть правило - один или несколько. То есть, обычно, где есть 2 контакта, могут быть и 3. А это значит, что целесообразно подумать о детали

2. Слева находится не только AccountProfile и ContactProfile, но и поля в Header. Пока они там есть, левый контейнер LeftModulesContainer будет оставаться и "съедать место"

3. Визуально для 2 полей выглядит логичным вместо AccountProfile добавить Contact2Profile, например.

4. Я бы оставил стандартный раздел Lead, чтобы не ломать логику landing page, lead pipeline, не переписывать все бизнес-процессы с лидами и оставить возможность получать улучшения функциональности в новых версиях

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

Нужно настроить видимость отчета в разделе где несколько страниц

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

что сделано:

в карточке и разделе:

attributes: {
			"VisibleExpenditure":
			{
				"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				"dataValueType": Terrasoft.DataValueType.BOOLEAN,
				"value": false
			}
		}

Преопределил функцию:

initCardPrintForms: function(callback, scope) {
                var reportsEsq = this.getModulePrintFormsESQ();
                reportsEsq.clientESQCacheParameters = {cacheItemName: this.getESQCacheName("CardPrintForms")};
                this.initCardPrintFormsEsqFilters(reportsEsq);
                reportsEsq.getEntityCollection(function(result) {
                    if (this.destroyed) {
                        return;
                    }
                    if (result.success && !result.collection.isEmpty()) {
                        var printFormsMenuCollection = result.collection;
                        this.preparePrintFormsMenuCollection(printFormsMenuCollection);
                        printFormsMenuCollection.each(function(item) {
                            item.set("Click", {bindTo: "generateCardPrintForm"});
                            if (item.get("Id") === "70ebac9d-d5ce-48c3-aee7-421dfcf0fe40") {
                                
                                item.set("visible",  {bindTo: "VisibleExpenditure"});
                            }
                        }, this);
                        var printMenuItems = this.preparePrintButtonCollection(this.moduleCardPrintFormsCollectionName);
                        printMenuItems.loadAll(printFormsMenuCollection);
                        this.set(this.moduleCardPrintFormsCollectionName, printMenuItems);
                        this.getCardPrintButtonVisible();
                    }
                    if (callback) {
                        callback.call(scope || this);
                    }
                }, this);
            }

потом в карточке прописал:

onEntityInitialized: function() {
				this.callParent(arguments);
				var visible = (this.get("WisType").value === "339a6b20-e26f-4f4a-8328-2b238c99e8bd");
				this.sandbox.publish("SetVisibleExpenditure", visible, ["SetVisibleExpenditure"]);
				this.set("VisibleExpenditure", visible);
			}

И разделе в разделе:

init: function() {
				this.callParent(arguments);
				var scope = this;
				this.sandbox.subscribe("SetVisibleExpenditure", function(arg) {
					scope.set("VisibleExpenditure",  arg);
					scope.initCardPrintForms();
				}, this, ["SetVisibleExpenditure"]);
			}

Видимость не работает!

При переходе по разным карточкам отчет активный всегда(

Нравится

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

Вопрос актуальный! Могу перефразировать: как обновлять выпадающие меню кнопки? Коллекцию изменил, но набор кнопок - тот же

Решил))) Нужно в функции initCardPrintForms прописать код:

	if (!this.get("VisibleExpenditure")) {
							printMenuItems.collection.removeAtKey("70ebac9d-d5ce-48c3-aee7-421dfcf0fe40");
						}

 

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

Коллегу, у меня такой вопрос.

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

Ну и вопрос в следующем, каким образом можно сделать подобный функционал в кастомном разделе и детали? Что бы при изменении карточки раздела происходила отправка сообщения во все карточки детали. Подписка в init в карточки детали (___productPage) не работает.

Нравится

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

Посмотрите в объекте Invoice процесс InvoiceSaving. В методе OnSaving устанавливается признак необходимости пересчета (при изменении курса).



А в процессе InvoiceSaved в методе OnSaved уже вызывается сам пересчёт

Посмотрите в объекте Invoice процесс InvoiceSaving. В методе OnSaving устанавливается признак необходимости пересчета (при изменении курса).



А в процессе InvoiceSaved в методе OnSaved уже вызывается сам пересчёт

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

Добрый день. 

BPM service, облако. 

Столкнулся со следующей проблемой - пользователи портала не видят сообщения (email) в обращениях на Портале. 

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

Нравится

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

Необходимо с помощью процесса на добавление/изменение "Activity" и добавление в объект "Email message" (у нас в процессе на все три события)  раздавать дополнительно права на e-mail сообщения (Activity) нужным пользователям портала (например, мы выдавали контакту инцидента и его руководителю).



И посмотрите, есть ли на чтение объекта Activity права у All portal users

Необходимо с помощью процесса на добавление/изменение "Activity" и добавление в объект "Email message" (у нас в процессе на все три события)  раздавать дополнительно права на e-mail сообщения (Activity) нужным пользователям портала (например, мы выдавали контакту инцидента и его руководителю).



И посмотрите, есть ли на чтение объекта Activity права у All portal users

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

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

Хотим выбрать для системы коннектор Bpm'online Asterisk Connector. Сейчас занимаемся изучением вопроса и возможных "но".

Например, возник вопрос, как фиксируется звонок, если Клиент позвонил, начал разговор с Оператором 1, Оператор фиксирует Обращение. Звонок сорвался, Клиент перезвонил, попал на  Оператора 2, тот перевёл его на Оператора 1. Как звонок зафиксируется в системе? Возможно ли эти два звонка привязать к одному Обращению?

Или если переадресация от Оператора на другого Сотрудника. Это будет один и тот же звонок в системе или 2 звонка - один Оператору, другой - Сотруднику?  

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

Нравится

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

Всё нижеупомянутое — общее для разных систем телефонии, не только Asterisk:

В первой ситуации, конечно, будет два звонка.

При поступлении в bpm'online service звонка оператору справа под информацией о входящем звонке есть кнопки запуска процессов создания нового обращения и привязки к существующему:

scr_section_service_requests_buttons_on_call.png 

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

Сравнение функциональности Asterisk и других АТС есть здесь.

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

 В чем может быть проблема?

Процесс валится с ошибкой https://yadi.sk/i/OEAV92qdZHfeIA

Вот сам процесс:

Изображение удалено.

Параметр:

Изображение удалено.

 

Нравится

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

А если просто:

AccountListParameter = query.GetEntityCollection(userConnection);

 

Rochefort Trappistes,

Процесс так даже не опубликуется

эт почему не опубликуется? параметры это поля класса (процесс это класс), а блок c# это метод, который имеет доступ к полям класса, как на чтение так и на запись.

снимите галочку "Интерпритируемый" в блоке с c# кодом (в расширенных настройках)

 

Rochefort Trappistes,

нет такой галочки

три точки - расширенный режим, как-то так

Rochefort Trappistes,

значит убрали её. какая ошибка при компиляции, если сетить значение в параметр через равно, как я писал выше?

 Rochefort Trappistes, см тут:

Начиная с версии 7.12.3 все создаваемые бизнес-процессы в bpm’online являются интерпретируемыми. Для обращения к значениям параметра процесса следует использовать методы get и set.

Миннекаев Айдар, дело в том, что в версии 7.13 в системе отключена возможность создания компилируемых бизнес-процессов, что делает невозможным работу с параметром EntityCollection. Параметр такого типа оставлен в системе для совместимости со старыми бизнес-процессами, которые работают в компилируемом режиме, а для новых — возможность использования компилируемых скрипт-тасков в БП отключена.

В последующих версиях системы запланирована поддержка EntityCollection и работы по внедрению этой поддержки, по словам разработчиков ядра системы, уже ведутся.

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

Добрый день!



Столкнулся с задачей:

Есть чек-бокс. К нему привязано правило отображения на карточке. Вопрос - как сделать так, чтобы при появлении его на карточке - он был заполнен автоматически, а при исчезании - очищался?



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

Нравится

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

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

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

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

Привет всем, некоторое время назад решали проблему с множественными прайсами в коммерсе и энтерпрайзе с фактурами и заказами. Предыстория - у клиента множественные прайсы в разных валютах, при этом на момент оформления заказа известно какой прайс будет использоваться. Ну и раньше мы это решали так - https://community.terrasoft.ru/articles/ulucsaem-rabotu-mastera-podbora-produktov

Однако, коллеги-разработчики не дают скучать и переход на новую версию каталога + отказ от наследования модулей свел на нет наши изыскания. Но мы сдаваться не привыкли, посему выкладываю решение это проблемы для каталога 2.0. Решение требует добавления поля "Прайс-лист (UsrPricelist)" в фактуру и заказ, ну и установку станицы каталога (во вложении к посту). Результат - в этих объектах можно выбрать прайс, по которому будут выбраны продукты по его же ценам. Т.е. если у продукта этого прайса нет, он вообще не будет доступен к подбору. Далее дело фантазии - назначить прайс клиенту и тянуть его из карты клиента в заказ / фактуру и т.д. 

Всем удачи :)

Прикрепленные файлы

Нравится

Поделиться

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

Добрый день. Попробовал поставить ваше дополнение (верисия 7.14.3), но из-за него образуется много ошибок. Текущие (цены которые уже выставили и сохранили в деталь) не загружаются при повторном редактировании списка продуктов. Так же отвалился поиск. Нет ли у вас обновленной версии решения?

Трефилов Павел Сергеевич, написал в личку

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

добрый день.

прошу помощи зала: мне необходимо понять, разобраться и научиться настраивать бизнес-процессы в врм.

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

 

заранее благодарна за помощь.

Нравится

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

Добрый день, попробуйте посмотреть это видео.

Добрый день, попробуйте посмотреть это видео.

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