При установки поля (lookup) в карточки, должны заполняться еще какие-то поля, взятые из этого поля. Как можно это реализовать?

Нравится

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

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

attributes: {
	"Stage": {
				lookupListConfig: {
					orders: [{columnPath: "Number"}],
					columns: ["End", "MaxProbability", "Successful"]
				}
	},
	"Probability": {
		dependencies: [{
			columns: ["Stage"],
			methodName: "onStageChanged"
		}]
	}
},
methods: {
	onStageChanged: function() {
		var probabilityFromLookup = this.get("Stage") && thtis.get("Stage").MaxProbability || 0;
		this.set("Probability", probabilityFromLookup);
	}
}

 

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

attributes: {
	"Stage": {
				lookupListConfig: {
					orders: [{columnPath: "Number"}],
					columns: ["End", "MaxProbability", "Successful"]
				}
	},
	"Probability": {
		dependencies: [{
			columns: ["Stage"],
			methodName: "onStageChanged"
		}]
	}
},
methods: {
	onStageChanged: function() {
		var probabilityFromLookup = this.get("Stage") && thtis.get("Stage").MaxProbability || 0;
		this.set("Probability", probabilityFromLookup);
	}
}

 

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

Для title колонок в объекте у меня отображается три языка, как можно в список добавить еще один язык?

Нравится

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

Посмотрите эту статью на Академии.

Посмотрите эту статью на Академии.

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

Не получается сохранить ни один объект в конфигурации, вылетает ошибка

Error while saving: Конфликт инструкции INSERT с ограничением FOREIGN KEY "FK0ptyMLPUPcuuJ4DXFRngaggXnqcL". Конфликт произошел в базе данных "as.dev.akoz", таблица "dbo.SysCulture", column 'Id'. Выполнение данной инструкции было прервано.

Нравится

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

Посмотрите тут

Если не поможет посмотрите в БД что у вас лежит в таблице "dbo.SysCulture", какая культура указана в профиле  пользователя. Если культуры из пользовательского профиля нет в "dbo.SysCulture", то попытайтесь установить ту что есть в "dbo.SysCulture".

Сравните отличается ли наполнение таблицы "dbo.SysCulture" от того что идет в поставке вашего продукта. (Возможно записи в "dbo.SysCulture", были запорчены или удалены как это было тут)

 

Посмотрите тут

Если не поможет посмотрите в БД что у вас лежит в таблице "dbo.SysCulture", какая культура указана в профиле  пользователя. Если культуры из пользовательского профиля нет в "dbo.SysCulture", то попытайтесь установить ту что есть в "dbo.SysCulture".

Сравните отличается ли наполнение таблицы "dbo.SysCulture" от того что идет в поставке вашего продукта. (Возможно записи в "dbo.SysCulture", были запорчены или удалены как это было тут)

 

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

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

Нравится

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

Насколько мне известно такого функционала нет.

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

Насколько мне известно такого функционала нет.

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

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

Здравствуйте! Подскажите, как можно реализовать редактор шаблонов для текстовых сообщений(без html). Функционал как у email шаблонов но без изображений, html и прочих не текстовых элементов. Пробовали скопировать отдельно кнопку вставки макроса, а также пытались переделать сам редактор - была идея выключить html режим в ckeditor. Не разобрались как это реализовать, кнопку вставки макросов отдельно скопировать не удалось тк для нее необходимы параметры конфигурации и другие элементы которые зависят от редактора шаблонов email. Требуется только функционал вставки макросов (единственная кнопка из редактора). Текст сообщения допустимо размещать в обычном текстовом поле.

Нравится

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

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

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

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

Всем привет!

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

Нравится

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

Да, можно бизнес-процессом, там есть специальный элемент изменения прав. Процесс будет отрабатывать на сервере при создании или изменении через веб-интерфейс, либо при синхронизации новой или изменённой записи с мобильного. Если же пользователь создал запись и ещё не синхронизировал, то она и так его и права на деталь тоже есть. 

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

Для оффлайн-режима это не актуально.

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

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

Кнопка сброса вызова реализована в схеме CtiPanel пакета CTIBase:

 

 

                {

                    "operation": "insert",

                    "index": 9,

                    "name": "DropButton",

                    "parentName": "ButtonsPanel",

                    "propertyName": "items",

                    "values": {

                        "id": "DropButton",

                        "itemType": Terrasoft.ViewItemType.BUTTON,

                        "click": {"bindTo": "dropCall"},

                        "visible": {"bindTo": "getCanDrop"},

                        "imageConfig": {"bindTo": "getDropButtonImageConfig"},

                        "classes": {"wrapperClass": ["call-drop-button"]},

                        "selectors": {"wrapEl": "#DropButton"},

                        "style": {"bindTo": "getDropButtonStyle"},

                        "hint": {"bindTo": "Resources.Strings.DropButtonHint"},

                        "markerValue": {"bindTo": "Resources.Strings.DropButtonHint"},

                        "tag": "DropButton"

                    }

                },

 

 

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

Код функции getCanDrop скрыт в ядре.

 

Я попробовала следующим образом:

 

               {

                    "operation": "merge",

                    "name": "DropButton",

                    "parentName": "ButtonsPanel",

                    "propertyName": "items",

                    "values": {

                        "visible": {"bindTo": "getCanDrop2"}

                    }

                },

 

И сама функция:

 

                getCanDrop2: function() {

                        if(Terrasoft.SysValue.CURRENT_USER.value !== "e0634934-6a13-482c-b5c5-16ac60404347") {

                              return false

                        } else {

                              this.getCanDrop();

                       }

                },

 

 

Но кнопка стала скрыта для всех пользователей. Я так понимаю, что при вызове функции this.getCanDrop(); нужно вместо this использовать что-то другое.

 

Скажите, как правильно вызвать эту функцию, чтобы ее код был выполнен.

Нравится

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

return  this.getCanDrop();

а  this.getCanDrop функция должна возвращать true/false

Варфоломеев Данила,

Спасибо большое! Получилось!

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

Есть БП, который запускается по сигналу "Изменение записи". Можно ли в логах БП (полный доступ в базу имеется) узнать Id записи, на которую сработал БП? Логируется ли это где-нибудь?

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

Нравится

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

Добрый день!

Для решения задачи нужно в сам процесс добавить элемент [Привязать процесс к объекту]. Описание можно найти в документации.

После этого связь между экземпляром процесса и записью можно будет увидеть в Журнале процессов в конкретном экземпляре.

Или в таблице SysProcessEntity. Тут есть ссылка на экземпляр БП (в SysProcessLog), UId схемы объекта к которому привязан экземпляр (в SysSchema) и Id конкретной записи (из объекта к которому выполнена привязка)

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

Возникло сразу несколько вопросов по графикам:

1. Можно ли показатель поделить на какое-то число перед отображением? Например, сумму выводить в миллионах рублей, а не в единицах рублей? Огромные числа не информативны!

2. Можно ли в горизонтальной гистограмме выводить top 5, 10 или 20 линий в сортировке по убыванию?

3. Как настроить подписи по оси Х, чтобы они были развернуты на 90%, т.е. вертикально? Тогда они перестанут наезжать друг на друга.

Нравится

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

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

1. На данный момент, к сожалению, данные на графиках отображаются в том же виде, в котором заполнены соответствующие поля на страницах разделов. Мы зафиксировали Ваше пожелание и передали его аналитикам продукта. Они рассмотрят возможность реализации настройки отображения данных на дашбордах в будущих релизах продукта

2. Индивидуально для каждого графика такой возможности нет, но можно ограничить количество выводимых на дашборд данных в системной настройке "Ограничение запроса данных графика". Тогда на графике будет отображаться только топ-N категорий согласно сортировке (работает начиная с версии 7.11.2, только с графиками, где настроена одна серия данных). Также можем предложить устанавливать дополнительные фильтры, чтоб уменьшить количество выводимых данных

3. К сожалению, пользовательскими средствами данную настройку выполнить возможности нет. Данная проблема находится в работе у аналитиков продукта с высоким приоритетом. Мы обязательно уведомим Вас, когда оно будет включено в релиз. В качестве обходного решения можем предложить устанавливать дополнительные фильтры в графиках, которые будут ограничивать количество выводимых на график данных. Также можно изменять высоту графика или, например, сделать один график большого размера на отдельной вкладке.

Мы передали все Ваши пожелания аналитикам продукта. Спасибо, что помогаете улучшать наши продукты!

Посмотрел в 7.11.2 как работает эта настройка.

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

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

Алексей, необходимая Вам настройка количества выводимых значений на график находится в работе у аналитиков продукта. На данный момент, к сожалению, настраивать количество выводимых значений индивидуально для блока итогов можно только для дашбордов с типом "Список".

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

Здравствуйте, подскажите как правильно настроить WebStorm для разработки под BPM.Какие библиотеки, подводные камни и тд

Нравится

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

Добрый день, нет никаких особенных настроек. Просто создаете проект с указанием пути к папке с js файлами

Артем Гура,

а насчет библиотек? просто хотелось бы использовать не как редактор кода, а как полноценную IDE 

Михаил, можете привести пример? не совсем понятно, ведь библиотек никаких нет. Вы хотите делать запуск приложения из webstorm, чтобы в нем осуществлять debug?

Артем Гура,

Насчет debug тоже интересно можно ли? Если насчет IDE то к примеру удобство написания Crud запросов и прочих особенностей Bpm

 

Касательно debug, то не пробовал, ибо в Chrome удобнее :)

А на счет функциональности IDE, то он подхватывает функции нормально. Чтобы он подхватывал ядровый js, то нужно подключить папку ...\Terrasoft.WebApp\Resources\ui. Там js-ы ядра (контролы, схемы...). Но их изменять не нужно, ибо приложение их не подхватывает. Они больше именно для разработки

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