Добрый день!

Возникла необходимость добавить в активность по процессу ссылку на email.

В объекте Activity было добавлено поле типа Справочник, которое ссылается на справочник Активности. В это поле заносится скриптом ссылка на Email и заголовок письма отображается а активности. Все хорошо.
Но, при нажатии на ссылку, появляется карточка задачи, а не email-а. Причем вверху какрточки написано Email, но состав полей соответствует карточке задачи.

Как можно указать системе, что ссылка на данную активность - это email?

Нравится

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

Наталья, в системе есть ActivityPage и EmailPage для отображения Активности и Емайла соответственно. Проверьте, в той ли странице Вы открываете емайл?

Антон, а как мне указать в какой странице открывать? Она автоматически открывается в странице EmailPage.

раз открывается в emailPage, значит, правьте саму EmailPage через мастер раздела

Наталья, а что у Вас в адресной строке указано при открытии ссылки? Проверьте, чтобы e-mail и задача имеют разные страницы редактирования. Например, выполнить запрос в SysModuleEdit.

Илья, Антон,
открывается ActivityPage. Не в этом вопрос. Мне не надо редактировать страницу.
Вопрос в том как открыть вместо нее EmailPage ?

Я просто отображаю поле с помощью следующего кода:
{
"operation": "insert",
"name": "UsrLastEmail",
"values": {
"layout": { "column": 0, "row": 2, "colSpan": 24},
"bindTo": "UsrLastEmail",
"contentType": Terrasoft.ContentType.LOOKUP
},
"parentName": "CaseBlock",
"propertyName": "items"
},
Система сама его открывает при нажатии на ссылку. Но открывает карточку Задачи, а мне надо Email.

у нас было подобное, писали в ТП, они как-то меняли страницу, в которой открывается задача

Антон, спасибо.
Написала в техподдержку.

Как мне сообщили, что этот недочет исправлен в последних версиях 7.6.

Илья,
спасибо за информацию.

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

Здравствуйте!
Необходимо на странице портального обращения получить некоторые значения, например, Email из справочника контактов для контакта, который указан в поле Контакт. Пишу следующий код:

var contact1 = this.get("Contact");
var contactId = contact1.value;
var esqContact = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "Contact"
});
esqContact.addColumn("Email");
esqContact.getEntity(contactId, function(result) {
if (result.entity) {
var ContactEmail = result.entity.get("Email");
this.set("ContactInfo", ContactEmail);
}
}, this);

contactId заполняется правильным Id, но в результате все время получаю result.entity равным null. Причем, result.success равен true.

Подскажите, пожалуйста, что может быть не так?

Нравится

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

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

Александр,
спасибо за помощь.
Я смотрела под отладчиком, Id берется правильный. До записи в поле дело вообще не доходит, т.к. result.entity равна null.
А Вы тестировали на какой странице?

Александр,
спасибо за участие. Ларчик просто открывался: у пользователя нет прав на контакты.

В разделе "объекты" брал Responsible, как поле со справочником контакты. Насколько я знаю, EntitySchemaQuery выполняет обработку накладывая существующие права. Может быть проблема в правах доступа?

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

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

Нравится

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

Если речь о Service Desk, то см.в странице BaseServiceRequestInBPMonlineEditPage функцию GetServicePlannedWorkingTime и то место, где она вызывается, блок БП «Установить Плановые Трудозатраты и Показать Сообщение».

Добрый день! А подскажите, где собственно в интерфейсе Сервис Деска есть блок бизнес-процесса «Установить Плановые Трудозатраты и Показать Сообщение» ?

Увидела, что это ветка про 5.х.
Спасибо, тогда не нужно, думала речь про 7.х

Дарья, добрый день.

Реализацию подсчета трудозатрат, в версии продукта 7.х, есть возможность реализовать созданием БП, который будет считать время между созданием и завершением всех активностей по определенному ID обращения.

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

Подскажите кто-нибудь - почему, в BPMonline 7.6, у работающего процесса не визуализируется входящая в состав его схемы преднастроенная страница. Вот (с некоторыми сокращениями - оставлены кнопка и поле) код модуля страницы, подключённой к преднастроенной странице:

define("RIBContactGuarantorsListModule", [/*"RIBContactGuarantorsListModuleResources", "Contact"*/],
        function(/*resources, Contact*/) {
                return {
                        // Название схемы объекта страницы редактирования.
                        //entitySchemaName: "Contact",
                        // Методы, опредёленные на странице.
                        methods: {
                                // Обработчик нажатия на кнопку [Предылущий].
                                OnPreviouseButtonClick: function() {
                                        this.showInformationDialog("Вызов метода кнопки [Предылущий] из модуля RIBContactGuarantorsListModule.");
                                }
                        },
                        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
                        diff: [{
                        // Метаданные для добавления поля [Идентификатор]:
                                // Указать на то, что выполняется опера*/ция добавления элемента на страницу.
                                "operation": "insert",
                                "parentName": "Header",
                                "propertyName": "items",
                                // Имя добавляемого полоя.
                                "name": "Id",
                                // Дополнительные свойства поля:
                                "values": {
                                        // Настройка расположения поля на странице.
                                        "layout": { "column": 0, "row": 2, "colSpan": 15}
                                }
                        },
                        {
                        // Метаданные для добавления кнопки [Предыдущий], по нажатию на которую
                        // выполнется переход на предыдущую запись в таблице поручителей:
                                // Указать на то, что выполняется операция добавления элемента на страницу.
                                "operation": "insert",
                                // Указать имя системного контейнера на странице, в который будет добавлена кнопка.
                                "parentName": "LeftContainer",
                                // Указать, что кнопка добавляется в коллекцию элементов управления в контейнере,
                                // имя которого указано в parentName.
                                "propertyName": "items",
                                // Мета-имя добавляемой кнопки.
                                "name": "PreviouseButton",
                                // Дополнительные свойства кнопки:
                                "values": {
                                        // Тип добавляемого элемента - кнопка.
                                        itemType: Terrasoft.ViewItemType.BUTTON,
                                        // Привязка заголовка кнопки к локализуемой строке схемы.
                                        caption: { bindTo: "Resources.Strings.PreviouseButtonCaption"},
                                        // Привязка метода-обработчика нажатия кнопки.
                                        click: { bindTo: "OnPreviouseButtonClick"},
                                        // Настройка расположения кнопки на странице.
                                        "layout": { "column": 0, "row": 1, "colSpan": 1}
                                }
                        }
                        ]
                };
        });
Для создания модуля страницы выбирал в конфигурации: Добавить/Расширенные/Схема модели представления карточки. Свой модуль - RIBContactGuarantorsListModule - унаследовал от BaseModulePageV2 ( NUI ). Прописал в ресурсах для модуля все строки (она - только одна). В процесс, при запуске которого должна выводиться эта страница, добавил элемент "Преднастроенная страница", в её окне, открывающемся при её добавлении в процесс, определил: Клиентский модуль: "Анкета физического лица; Поручители (для РИБ)" - это такой заголовок у модуля. Объект привязки: "Заявка" - есть такой объект (правда пока не наполнен записями). Вот только в качестве Экземпляра объекта привязки пришлось выбрать "[#Страница списка поручителей.Ответственный#]" - ничего другого система не принимала. Дал бизнес-процессу название и подпись. В его свойстве tag прописал строку "Business process". В меню запуска присутствует название процесса. После его запуска, в Журнале процессов видно, что он выполняется. Т.е., запуск и выполнение происходят без ошибки. Но на экран страница почему-то не выводится. Что у меня сделано неправильно? Ребята, помогите, пожалуйста.

Нравится

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

Евгений, в случае использования преднастроенной или автогенерируемой страниц в БП часто возникают проблемы с web-сокетами.
Для решения проблемы попробуйте поменять параметр defaultPort="2001" на любой другой, не использующийся в системе, в т.ч. и другими сайтами BPM.

<wsService type="Terrasoft.Messaging.SuperWSService.SuperWSService, Terrasoft.Messaging.SuperWSService" defaultPort="2001" encrypted="false" portForClientConnection="44310" maxConnectionNumber="100" clearIdleSession="false" clearIdleSessionInterval="120" />

Находится в ...\Ваш сайт\Terrasoft.WebApp\Web.config

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

Подскажите пожалуйста, как бороться с такой записью в логах, и нужно ли это делать в принципе?

2015-10-08 17:36:56,412 [15344] INFO  uzer Terrasoft.WebApp.Global WatchForWorkspaceReload - (Store.Cache[CacheLevel.Workspace]["BPMonline.Application.Version"] = 656) > (current version = 646). Reload web-application ...

После последней установки пакета, сформированного на другом сервере - такие сообщения просто забивают логи. Как я понимаю, из темы про Версионность, что в версии 7.2 есть версия только конфигурации (из таблицы SysWorkspace), но как на эту версию оказывает процесс установки пакета? IIS перезапускается, Redis чистится, кеш в браузерах также чиститься.
И при этом стали периодически прерываться процессы, начинаются, потом вот это сообщение и на этом больше ничего не логгируется по процессу, словно он более не работает (и результата процесса тоже нет). Или это никак не связано?

Нравится

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

Добрый день, Александр!

Необходимо обновить поле Version в таблице SysWorkspace на значение «646»

Возникла рассинхронизация версий сборки и версии индекса в таблице.

Т.е. просто скриптом обновить и всё? Или это как-то можно сделать из UI, например, конфигуратора?

Здравствуйте.
Скриптом или SQL-сценарием из конфигурации (соответствующая закладка над реестром записей).

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

Добрый день!
Скажите, пожалуйста, как в шаблоне почтового сообщения (7.6) можно вставить ссылку на объект
- при нажатии на которую открывалась бы карточка этого объекта.

Например

при нажатии на ссылку открыть - откроется карточка обращения

Нравится

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

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

Может быть не по теме, но как в версии 7.2 в шаблоне указать, что этот текст - это ссылка? При выводе/отправке текста ссылка заменяется на текст. Т.е. нельзя вставить ссылка, так, чтобы пользователь увидел ссылку - "Нажми на меня", получается только просто вставить адрес http://blabla.bla?r=10101&t=10101, и почтовик сам уже определяет, что это ссылка. Но выглядит это не лучшим образом.

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

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

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

Дарья, добрый день.

В службе технической поддержки компании Террасофт это реализовано средствами MS SQL сервера.
Александр Зубков уже описал метод реализации этого кейса средствами bpm`online.

"Михайленко Михаил" написал:

Дарья, добрый день.

В службе технической поддержки компании Террасофт это реализовано средствами MS SQL сервера.

Александр Зубков уже описал метод реализации этого кейса средствами bpm`online.

В итоге в шаблон добавляется ссылка вида

то есть ссылка на схему+ид объекта

Выглядlит это в письме следующим образом

Можно ли как-то в шаблоне указать название красивое для ссылки?
типа

и при нажатии уже на "Открыть" открывалась бы ссылка
вида

Добрый день, Дарья!

Пользовательскими методами этот кейс не настроить в шаблоне. У Вас url не будет статичным, поэтому методом [url=http://сайт.com]Text[/url] его не решить. Возможно Вам стоит данный кейс реализовать на стороне почтового сервера.

Дарья,
это можно сделать, сформировав гиперссылку в MS Outlook (Новое письмо, закладка Вставка, Гиперссылка).
В открывшемся окошке в поле Текст указываете Открыть, а в поле адрес вашу ссылку вида:
http://имя вашего сервера/0/Nui/ViewModule.aspx#CardModuleV2/CasePage/edit/%Id%

После нажатия ОК, будет сформирована ссылка с текстом Открыть. Копируете ее из Outlook-а и вставляете в свой шаблон в системе.

Спасибо, Наталия!
Работает - это то, что нужно)

Доброго времени, коллеги!

Как правильно указать в шаблоне ссылку используя переменную %id%, чтобы получить номер ID в ссылке почтового письма?

Евгений, по аналогии с другими полями [#Id#] не подходит?

А по поводу ссылки, в 7.16 сделали в шаблоне HTML-блок с параметрами:

smartblock.gif

Зверев Александр,

Большое спасибо! Параметр [#Id#] подошёл, но вот генерирует он ID записи визирования, а не ID Изменения. Придётся делать макрос.

Версия платформы: 7.13.0.284

 

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

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

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

this.set("SelectedRows", []);

А вот обратная операция не получается - нужно действием проставить все "галочки". Пробовал так:

var gridData = this.getGridData();
var collection = this.Ext.create("Terrasoft.BaseViewModelCollection");
var items = gridData.getItems();
Terrasoft.each(items, function(item) {
        collection.add(item.get("Id"));
});
this.set("SelectedRows", collection);

Не получается - то есть галочки не появляются.
Кто-нибудь пробовал такое действие сделать, коллеги? В системе примера не нашел...

Нравится

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

Добрый день Александр!!!

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

"Власов Михаил Викторович" написал:Select ALL

Именно select all. Буду очень благодарен за пример.
Deselect вполне получился.

Александр, добрый день!

В первом случае Вы присваиваете атрибуту "SelectedRows" пустой массив, а во втором пытаетесь присвоить коллекцию. Попробуйте во втором случае также присвоить массив идентификаторов:

var gridData = this.getGridData();
var selectedRows = [];
var items = gridData.getItems();
Terrasoft.each(items, function(item) {
        selectedRows.push(item.get("Id"));
});
this.set("SelectedRows", selectedRows);

Олег, спасибо. Ошибку свою понял, разобрался, все получилось.

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

Здравствуйте!
В разделе контрагента создаётся новая деталь. (новый объект, из которого формируется деталь).
В деталях, если какие-то поле справочник - щёлкнув по нему есть возможность перейти в карточку данной записи.
Мне необходимо, создать возможность перехода по гиперссылке, по полю, не являющемся справочником.
Можно ли это как-то реализовать самостоятельно, через код?

Нравится

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

Добрый день Екатерина!!!

поясните пожалуйста, если реквизит не является справочником и при этом будет являться Гиперссылкой, подскажите пожалуйста нажав на данную ссылку куда вы желаете потом перейти? немного непонял задачи. Так как если к примеру Реквизит имеет тип "Текст", и принудительно описать, что данный реквизит на детали будет Гиперссылка, то нужно будет не забывать, что еще и события по нажатию на Гиперссылку нужно будет отработать. Уточните пожалуйста задачу, я поделюсь примером из своих решений. Спасибо!!!

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

Здравствуйте, Екатерина!

Посмотрите в пакете CTIBase деталь Активности.

Там должен быть пример обработчика клика по номеру телефона.

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

Здравствуйте.
При добавлении новой характеристики в списке, к сожалению, отображаются характеристики только типа "Строка". Ни тип "целое число", ни "дробное число", ни "логическое". Подскажите как настроить систему, чтобы отображались все типы характеристик?
Благодарю.

Нравится

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

Дмитрий, добрый день!

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

Спасибо!

"Арменчу Артём Александрович" написал:

Дмитрий, добрый день!

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

Спасибо!

С уважением, Арменчу Артём.

Добрый вечер, Артём.
Создавая характеристику в справочнике типа "Строка", она отображается в списке при попытке привязки к продукту или каталогу продукта.
Однако, создавая характеристику типа "Дробное число", "целое число" и т.д. в списке привязки к продукту их нет. Они просто не отображаются и выбрать их невозможно.
Так вот как можно исправить данную ситуацию?

Дмитрий,

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

Спасибо!

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

Добрый день!
Скажите, пожалуйста, какая схема отвечает за реализацию детали Лента

Нравится

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

Добрый день!

Реализация ленты находится в ESNFeedModule (пакет ESN). Данная вкладка вызывается в BaseModulePageV2 (пакет ESN).

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