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

Я хочу в рамках бизнес-процесса добавить комментарий в ленту к лиду. Как это сделать так, чтобы комментарий появился в ленте у нужного лида?

Нравится

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

Добрый день, Павел!



Для создания нового сообщения в ленту необходимо добавлять запись в объект “Сообщение/комментарий”. Для указания объекта, в ленте которого необходимо создать запись, необходимо заполнить колонку “Экземпляр объекта”.

Пример элемента: http://prntscr.com/jhbo18

Анна Журавель,

Спасибо, Анна! А в поле "Экземпляр объекта" что указывается? 

Коробов Павел Анатольевич,

Добрый день!



В поле "Экземпляр процесса" Вам необходимо указать объект, в ленте которого Вы хотите создать сообщение . В данном случае это может быть или параметр процесса, или значение справочника, заданное статически.

Анна Журавель,

Подскажите, нужно ли заполнять поле "Схема" (если да, объясните откуда брать данные и что это за объект)? Если заполнить поля "Экземпляр объекта", "Сообщение/комментарий" и "Контакт" - запись не создается. 

http://prntscr.com/nogym3  - ошибка

http://prntscr.com/nogz4d - как заполнен БП

Туда нужно записывать Id той схемы (объекта в конфигурации, например «Лид»), к которой идёт комментарий. Посмотреть можно в адресной строке, открыв объект в дизайнере.

Evgenyi, данные берутся там из объекта, который так и называется "Схема", внутри которого есть Uid - именно он и требуется для заполнения поля "Схема".

 

Другими словами, например:

1. добавляете действие "Читать данные" и выбираете объект Схема, далее внутри указываете в фильтр по названию, например, название = "Канал" (тот в котором будет запись вашего сообщения ленты).

2. при добавлении записи в объект “Сообщение/комментарий” поле "Схема" заполняете из созданной вами в первом пункте объекта "Схема" и в параметре находите Uid

 

ps: сам проморочил голову, нигде никто не пишет подробно как вставить uid в поле схема.

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

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

При использовании элемента "Открытие страницы редактирования" в бизнес-процессах в системе создаётся специальная техническая активность, назначаемая на ответственного, которому открывается страница редактирования.

Существует другой БП, который при назначении ответственного на задачу (активность) отправляет уведомления по e-mail о назначении. Старт процесса - сигнал о создании активности.

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

Соответственно вопрос  - можно ли, наоборот, из технической активности вытащить в рамках БП ссылку (GUID) на страницу, которую открываем через "Открытие страницы редактирования". Задача состоит в том, что отправить в email ссылку сразу на эту страницу. В идеале - вытащить ещё некоторые сведения об объекте, страницу которого открываем, чтобы добавить их в письмо.

 

Нравится

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

Дмитрий, добрый вечер!



Активность по элементам "Вопрос пользователю" и "Открыть страницу редактирования" создаются процессом в момент достижения этого элемента и до этого не существуют. Такие активности видны в разделе активностей и сохраняются после обработки эллемента и процесса в целом и данные о них можно будет использовать в Вашем кейсе.

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

Добрый день

в тестовой конфигурации bpm online сделал модификации как форм, так и структуры некоторых таблиц.

Есть ли возможность перенести сделанные изменения, а не реализовывать их повторно в рабочей базе данных

Нравится

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

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

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

спасибо большое

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

Добрый день. 

Следуя инструкции на академии добавил действие на страницу карточки.       

getActions: function() {
	var actionMenuItems = this.callParent(arguments);
	actionMenuItems.addItem(this.getButtonMenuItem({
		Type: "Terrasoft.MenuSeparator",
		Caption: ""
	}));
	actionMenuItems.addItem(this.getButtonMenuItem({
		"Caption": {bindTo: "Resources.Strings.SendTTForApprovalCaption"},
		"Tag": "onSendTTForApprovalClick",
		"Enabled": {bindTo: "isSendTTForApprovalEnabled"}
	}));
	return actionMenuItems;
},
isSendTTForApprovalEnabled: function() {
	return !Ext.isEmpty(this.get("Status")) ?
		this.get("Status").value === JSConstants.Change.Status.WritingTTId :
		false;
}

 Также добавил локализируемую  строку и метод, на который биндится свойство enabled, на страницу раздела

isSendTTForApprovalEnabled: function(activeRowId) {
	activeRowId = this.get("ActiveRow");
	var gridData = this.get("GridData");
	var selectedChange = gridData.get(activeRowId);
	var status = selectedChange.get("Status");
	return status.value === JSConstants.Change.Status.WritingTTId;
}

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

 

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

Нравится

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

Добрый день,

У меня такой вопрос, есть представление VwExample, я добавил SQL сценарий на его изменение через ALTER VIEW, добавил пару колонок. При выборке через MSSQL Server все нормально выбирает.

Однако в коде почему то говорит 

Terrasoft.Common.ItemNotFoundException: Значение с именем "TestColumn" не найдено

 

Выбираю следующим образом 

 

var esqActivity = new EntitySchemaQuery(userConnection.EntitySchemaManager, "VwExample");
esqActivity.AddAllSchemaColumns(true);
var entities = esqActivity.GetEntityCollection(userConnection);

Значения получаю так: 

foreach (var entity in entities)
{
    var test = activity.GetTypedColumnValue<Guid>("TestColumn");
 
}

Такое ощущение что в BPM хранится предыдущее представление до его изменения, хотя в базе данных при Select * from VwExample" выводит все колонки, в том числе TestColumn. Я что то забываю?

Нравится

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

ESQ берёт информацию о колонках не из самой таблицы или view в базе, а из объекта в конфигурации. Соответственно, нужно открыть дизайнер объекта и добавить и там все новые колонки.

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

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

Можно ли реализовать подобное:

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

То есть всплывающую подсказку, вроде стандартного title, всплывающего по наводке на заголовок колонки. В идеале ещё по наводке на строку "всплывать" поле Name.

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

Нравится

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

Краткая инструкция (как делал я всплывающие окна в редактируемом гриде на проекте):

1) Запилить свой грид с  ̶б̶л̶е̶к̶д̶ж̶е̶к̶о̶м̶  mouseOver-ивентами. Которые выпаливают fireevent. Который отлавливается в diff-описании грида. На который биндится функция, которая вызывает п.6.

2) Сделать свой Listener (наподобие дефолтного. который открывает мини-странички). При инициализации детали загружать его.

3) В listener-е описать ContainerviewModel. Его тоже нужно будет описать в отдельной схеме.

4) Для ContainerviewModel вызвать свой модуль (Не забыть и его создать, вместе со схемой страницы)

5) Вот уже эту страницу наполнять как угодно, реализовывать любую логику.

6) Ну и чтобы это все работало в детали перехватывать сообщение от грида, вызвать

 Terrasoft.MyPageListener.open(...)

 

Ну и ещё отладить весь этот велосипед. Вот. Желательно предварительно запастись недельным запасом чая.

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

Добрый день!

Создал новый список в итогах раздела Активности, и всё бы хорошо, но хочется исключить из списка записи с 0 (подсчитывал кол-во завершённых активностей для сотрудников).

В параметрах отображения выбирал "Активность(по колонке ответственный) количество > 0" но это не помогло.

Вариантов кроме создания представления в БД и соответствующего объекта в конфигурации, чтобы строить аналитику по нему нет?

Нравится

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

В SQL за это отвечает инструкция having (условия постобработки выборки), на сколько я понимаю, пока этого в итогах нет

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

Например, есть запрос на sql такого вида:

declare @DocumentTypeId uniqueidentifier

declare @InvoiceTypeId uniqueidentifier

update I

set

    I.TypeId = @InvoiceTypeId

from Invoice I

    join Document D on D.Id = I.DocumentId

where D.TypeId = @DocumentTypeId

Можно ли его реализовать с помощью класса Update на C#?

Нравится

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

Добрый день.

При попытке сохранить новую запись в бд через esq возникает ошибка на методе Save():

"Ссылка на объект не указывает на экземпляр объекта..    в Terrasoft.Core.DB.Select.GetSqlText()"

Код:

var schema = UserConnection.EntitySchemaManager.GetInstanceByName("OrderProduct");
			var esqEntity = schema.CreateEntity(UserConnection);
			esqEntity.SetColumnValue("Id", entity.BpmId);
            ....
            esqEntity.SetColumnValue("CurrencyId", entity.CurrencyId);
            esqEntity.UseAdminRights = false;
            esqEntity.Save();

 

Нравится

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

Сообщение «Ссылка на объект не указывает на экземпляр объекта» означает, что в C#-коде конфигурации или ядра в какое-то поле попадает Null, а с ним пытаются работать как с объектом. Например, обращаться к его полям и методам. Не видя полного кода и стека сложно сказать точно, где именно.

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

Есть ли у кого опыт интеграции d3.js в bpm?

Сталкивался ли кто-нибудь с такой ошибкой:

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

Листинг:

https://gist.github.com/MikeWar1ock/a42fdaa5d5d22d210059187b0338ba7d

Нравится

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

Михаил, стандартно в системе bpm'online и Marketplace нет готовых реализаций интеграции с фреймворком d3.js. Вы можете заказать такую доработку в рамках проекта или разработки для Marketplace.

Судя по скриншоту, Вы положили js-файл прямо в папку с сайтом. Видимо, так нельзя и нужно делать из него отдельную схему в конфигурации, как с jquery. См. тут.

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