Добрый день, подскажите:

Хочу заменить изображения в справочнике "Уровни удовлетворённости"Изображение удалено.

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

Нравится

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

Сергей, добрый вечер!

 

Базовое наполнение справочника изменять не рекомендуется.

Советую настроить свою шкалу удовлетворённости (свои уровни, свои картинки), после чего проверить, всё ли в порядке с отображением.



Детальнее в статьях тут:

https://academy.terrasoft.ru/docs/user/instrumenty_servisa/servisnye_ob…

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

Здравствуйте, помогите решить задачу, пожалуйста,

На странице редактирования выведены 2 поля: Оценка (число), Оценка традиционная (Справочник).

Справочник традиционная оценка содержит колонки Название (например Удовлетворительно), Балл от (напр. 50), Балл до (напр. 69).

Как сделать так, чтобы после ввода числового значения X в поле Оценка на странице редактирования, сравнивалось значение числа по справочнику [Балл от] < X < [Балл до], и затем в справочном поле Оценка традиционная заполнялось Id найденного значения?

Хотелось бы это сделать не процессом после сохранения и закрытия карточки, а именно на странице редактирования после изменения поля.

Колонки:

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

Справочник:

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

Нравится

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

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

attributes: {
	"UsrRatingLookup": {
		dependencies: [
			{
				columns: ["UsrRating"],
				methodName: "setRatingLookup"
			}
		]
	},
},
 
methods: {
	setRatingLookup: function() {
			var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
				rootSchemaName: "UsrRatingLookup"
			});
esq.addColumn("Id");
			esq.addColumn("Name");
			var esqIdFilter = esq.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.GREATER_OR_EQUAL, "UsrRatingMin", this.$UsrRating);
			esq.filters.add("esqFilter", esqIdFilter);
			var esqIdFilter2 = esq.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.LESS_OR_EQUAL, "UsrRatingMax", this.$UsrRating);
			esq.filters.add("esqFilter2", esqIdFilter2);
			esq.getEntityCollection(function (result) {
				if(result.success &amp;&amp; result.collection.collection.items.length&gt;0) {
					this.set("UsrRatingLookup", {value: result.collection.collection.get(0).get("Id"), displayValue: result.collection.collection.get(0).get("Name")});
				}
			}, this);
	},
}

 

Доброе утро.

 

Вам нужно Ваше поле сделать вычисляемым. Посмотрите на Академии пример, как это можно сделать, по ссылке.

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

Создал колонку на детали Связи Активности, на пейдже она отображается и работает, а вот в редакторе БП её нету.
Существует ли какой-то способ добавить её туда?

Нравится

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

Добрый день!

Деталь Связи Активности формируется динамически, в нее добавляются все справочные поля данного объекта. В редактор БП автоматически подтягивает все lookup'ы которые есть в системе. Рекомендую перепроверить что Ваша колонка присутствует в объекте и ее можно найти в разделе Справочники.

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

Возможно я неправильно выразился, когда сказал, что колонки нету в редакторе БП: я имел ввиду элемент "Выполнить задачу", мне колонка нужна там, а если использовать "Добавить данные" (Активность), то там колонка есть, но это не то, что мне нужно. Справочник и колонка в объекте существуют, очистка кеша и редиса не помогли.

Здравствуйте,
Колонка к сожалению, там автоматически не появится, т.к. элемент «Выполнить задачу» это схема (ActivityUserTask), которая создает служебную задачу (аквтивность), и оперирует параметрами что описаны в этой схеме. Рекомендую вам за элементом «Выполнить задачу» использовать элемент «Изменить данные» и по id созданной задачи, изменять эту активность. Там (в элементе Изменить данные) ваша колонка будет.

Добрый день. Может кому актуально будет, но я нашел ответ на этот вопрос.

В БП в новых элементах "Выполнить задачу" связь появляется, а в уже имевшихся, т.е. созданных до добавления новой связи, - нет. Это связано с метаданными схемы БП, он их никогда не обновляет.

Решение напрашивается само собой: нужно в БП/Кейсе удалить старый элемент выполнить задачу, создать новый элемент, и настроить как только что удалённый. Связь появится.

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

Степин Константин Владимирович,

Константин идея хорошая, но есть одно большое НО. Если в БП есть зависимые элементы БП. То править нужно будет и их. и если представить что ветвление очень огромное, то это займет очень много времени.

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

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

Пожалуйста, подскажите, как решить следующую задачу.

В пользовательском пакете (управление конфигурацией) есть готовый исходный код веб-сервиса UsrSourceCode1. Как бизнес-процессу использовать написанный конфигурационный сервис и передать ему входные параметры?

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

Версия: bpm'online sales enterprise 7.8

Нравится

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

Здравствуйте,
Проверю кое-что и отвечу в соседней теме:
http://www.community.terrasoft.ru/forum/topic/24733
Незачем создавать дубли.

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

Пример вы можете посмотреть в процессе CreateInvoiceFromOrder (Создание счета на основании заказа). В элементе "Задание-сценарий" вызывается метод CreateInvoice(). Этот метод вызывает метод CreateEntity() схемы OrderInvoiceHelper. Создание счета реализовано в схеме OrderInvoiceHelper.

Спасибо большое за ответ. Буду разбираться. Извините за дубли.

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

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

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

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

Например, нужно посчитать сумму счетов по контрагенту. В веб-сервисе эта сумма считается, принимая на вход id контрагента. То есть нужно передать бизнес-процессу идентификатор контрагента и запустить сервис.

Нравится

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

Какая версия?

Здравствуйте.
bpm'online sales enterprise 7.8 пробная

Здравствуйте,
Если сервис создан в той же bpm’online что в БП, то просто можно создать экземпляр класса, и вызвать нужный вам метод. Пример привели в соседней теме, в комментарии:
http://www.community.terrasoft.ru/forum/topic/24735#comment-65599

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

Добрый день!
Дано: карточка "Продажи", поле "состояние", поле "причина победы".
В данный момент поле "причина победы" становится доступным для заполнения только если в поле "состояние" значение "выполнена".
Вопрос: как расшить эти поля, т.е. поле "причина победы" должно быть доступно для заполнения в любом случае.

Спасибо!

Нравится

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

Нужно открыть скрипт карточки wnd_OpporttunityEditScript. Там есть функции:

function UpdateFinishControls(IsEnabled){
	edtWinner.IsEnabled = IsEnabled;
	edtWinningReason.IsEnabled = IsEnabled;
}
 
function UpdateFinishControlsByDataset(Dataset) {
	var StatusID = Dataset.Values('StatusID');
	var IsFinish;
	if (!IsEmptyGUID(StatusID)){
		IsFinish = GetDetailSummary('tbl_OpportunityStatus', 'ID', StatusID, 
			'IsFinish', stNone);
	} else {
		IsFinish = false;
	}
	//this needs to handle null values
	var IsFinishControlsEnabled = (IsFinish == true);
	UpdateFinishControls(IsFinishControlsEnabled);
}

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

Если эта логика не нужна - можно закомментировать содержимое функции UpdateFinishControlsByDataset целиком или только её последнюю строку.

"Зверев Александр" написал:

Если эта логика не нужна - можно закомментировать содержимое функции UpdateFinishControlsByDataset целиком или только её последнюю строку.


Александр, я не силен в программировании, куда конкретно нужно поставить и что поставить? Можете выделить это на картинке?

Например, так:

function UpdateFinishControlsByDataset(Dataset) {
/*
         var StatusID = Dataset.Values('StatusID');
         var IsFinish;
         if (!IsEmptyGUID(StatusID)){
                 IsFinish = GetDetailSummary('tbl_OpportunityStatus', 'ID', StatusID, 
                         'IsFinish', stNone);
         } else {
                 IsFinish = false;
         }
         //this needs to handle null values
         var IsFinishControlsEnabled = (IsFinish == true);
         UpdateFinishControls(IsFinishControlsEnabled);
*/
}

Поле перестало быть доступным при любом значении поля "состояние" :sad:

А, ещё в функции wnd_OpportunityEditOnPrepare закомментировать строку:

 	UpdateFinishControls(OpportunityEdit.OldStatusIsFinish);

то есть станет:

 	//UpdateFinishControls(OpportunityEdit.OldStatusIsFinish);

Всё, работает! Спасибо!

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

Зачастую при построении бизнес-процесса необходимо огранизовать передачу параметров из диаграммы в элементы, из одного элемента в другой.
В версии 3.3 появился очень удобный функционал, который делает это автоматически и избавляет от необходимости прописывать передачу параметров вручную.
Итак, для того, чтобы передать параметры в бизнес-процессе, необходимо выполнить следующее:
1. Открываем сервис диаграммы. В свойствах диаграммы выбираем Parameters. В появившемся окне создаем параметр диаграммы, например DocumentID. Сохраняем изменения.
2. В том случае если бизнес-процесс состоит из задач, то необходимо также создать этот параметр и для задач. Для этого открываем сервис wa_TaskAction. В свойствах этого действия также есть Parameters. Выбираем это свойство, в появившемся окне добавляем параметр DocumentID для действия задачи. Сохраняем изменения.
3. Далее возвращаемся в диаграмму процесса. Нажимаем на кнопку "Связи параметров". В появившемся окне нужно связать параметр диаграммы и параметр элементов.
Визуально окно разделено на три части. В верхней находятся параметры диаграммы. В нижней левой части перечень всех элементов процесса, в нижней центральной части - параметры каждого из элементов. Так вот, выделяем задачу слева, выбираем параметр задачи DocumentID, нажимаем на кнопку "Изменить". В окне выбираем опцию "Параметр диаграммы" и указываем DocumentID.
Аналогичным образом связываем параметры с каждой задачей.
Сохраняем изменения.
И все...

Желаю удачи!

С уважением,
Мельникова Екатерина

Нравится

Поделиться

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