Добрый день!

Появилась идея отправлять уведомление некоторой выборке пользователей. Выборка производится в бизнес процессе в задании - сценарии с помощью ESQ.

Возможно ли из c#-го кода отправить уведомление?

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

Может быть есть способ проще написать метод для отправки такого уведомления?

Нравится

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

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

var Activity = UserConnection.EntitySchemaManager.GetInstanceByName("Activity");
var EntityActivity = Activity.CreateEntity(UserConnection);
EntityActivity.SetDefColumnValues();
EntityActivity.SetColumnValue("OwnerId", contactID);
EntityActivity.SetColumnValue("Title", "Активность с уведомлением");
EntityActivity.SetColumnValue("RemindToOwner", true);
EntityActivity.SetColumnValue("RemindToOwnerDate", DateTime.UtcNow);
EntityActivity.Save(false);

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

var Activity = UserConnection.EntitySchemaManager.GetInstanceByName("Activity");
var EntityActivity = Activity.CreateEntity(UserConnection);
EntityActivity.SetDefColumnValues();
EntityActivity.SetColumnValue("OwnerId", contactID);
EntityActivity.SetColumnValue("Title", "Активность с уведомлением");
EntityActivity.SetColumnValue("RemindToOwner", true);
EntityActivity.SetColumnValue("RemindToOwnerDate", DateTime.UtcNow);
EntityActivity.Save(false);
Показать все комментарии

Добрый день!

Пытаюсь в элементе задание - сценарий получить доступ к записям базы данных с помощью esq. Однако при попытке опубликовать элемент, валятся ошибки компиляции.

Для примера написала такую строку:  var esq = Ext.create("Terrasoft.EntitySchemaQuery",{rootSchemaName: "Contact"});

Ошибки вылетают такие: expected ),expected }, expected ; , и т.д. в строке var esq.

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

Данные необходимы, чтобы написать бизнес процесс по уведомлению пользователей о всех просроченных счетах.

 

Нравится

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

В задании - сценарий необходимо использовать серверную версию esq и код c#, как коллеги выше же описали. см тут https://academy.terrasoft.ua/docs/8-0/developer/back_end_razrabotka/ope… или в других примерах на сообщесте

Я бы в таком случае, если есть возможность, включил режим фс и выгрузил файлы на диск. Открыл проект в VS и посмотрел ошибку

Я не уверена в правильности использования такой конструкции для элемента задание - сценарий. В руководствах находила два вида написания запросов. Один написан выше, другой выглядит так :

var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Имя схемы");.

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

Не сразу увидел. var esq = Ext.create("Terrasoft.EntitySchemaQuery",{rootSchemaName: "Contact"}); - это код JS. 

В задании - сценарий необходимо использовать серверную версию esq и код c#, как коллеги выше же описали. см тут https://academy.terrasoft.ua/docs/8-0/developer/back_end_razrabotka/ope… или в других примерах на сообщесте

Безуглый Кирилл Александрович, Спасибо за помощь!

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

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

Нравится

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

Добрый день!

 

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

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

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

Активність використовується як обов'язковий крок перед переходом на наступну стадію. В історії закриття активностей фіксується не фактичний час закриття, а планова тривалість активності. 

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

Нравится

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

Добрий день, Ігорю!

 

Колонка "Завершення" відображає час за наступною формулою:

Дата старту ("Початок") + Планова тривалість = "Завершення"

 

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

 

Гарного дня!

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

Имеется модуль в котором по стандарту не имеется встроенных расширенных и быстрых фильтров (как на картинке). Можете пожалуйста подсказать как эти фильтры реализовать, либо посмотреть код из других объектов где они могут находиться

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

Нравится

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

Добрый день!



Вы можете это реализовать при помощи базового функционала в Freedom UI - [Quick filter].

 

Bogdan, Доброго дня

 

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

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

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

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

стадии правильно выбрана 

Нравится

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

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



Напишите, пожалуйста, нам на почту (support@creatio.com) с детальным описанием данной проблемы и с предоставлением скриншотов, мы постараемся помочь вам как можно скорее. 



С Уважением, 

Орхан

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

Не проходит импорт данных из Excel в раздел. Мапинг полей соответствует полям в объекте, куда импортируем.

Просто показывает что обработано 0%, и все. Никаких ошибок нет. Может кто подскажет, где можно посмотреть на логи импорта, чтобы понять хоть на чем оно запинается ? 

Нравится

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

Добрый день.

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

Кнопка отображается но не выполняет те действия что прописаны для нее.

Тоесть, при нажатии, в поле на странице должен загружаться текущий пользователь, который ее нажал, но ничего не происходит.

 

onTakeToWorkButtonClick: function () {

this.set("Srv_ApplExecutor",Terrasoft.SysValue.CURRENT_USER.displayValue);}

 

Но если на кнопку повесить скрипт открытия диалогового окна, 

onTakeToWorkButtonClick: function () {

                this.showInformationDialog("!!!!");}

то все работает, окно появляется. 

 

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

Спасибо.

 

Нравится

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

Добрый день!

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

В этом случае необходимо использовать другой способ обновления записи, например через UpdateQuery:

if (activeRow) {
                    this.showInformationDialog("!!!!");
					var update = Ext.create("Terrasoft.UpdateQuery", { rootSchemaName: "Account" });
					update.filters.add("IdFilter", 
                    	update.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Id", activeRow));
                	update.setParameterValue("UsrTestString", "Some test", Terrasoft.DataValueType.TEXT);
                	update.execute();
                }

 

Добавил в скрипт ActiweRow, но не помогло

methods: {

            

            onTakeToWorkButtonClick: function () {

                

                var activeRow = this.get("ActiveRow");

                    if (activeRow) {

                    return    this.set("Srv_ApplExecutor",Terrasoft.SysValue.CURRENT_USER.displayValue);

                    }    

               }

        },

Добрый день!

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

В этом случае необходимо использовать другой способ обновления записи, например через UpdateQuery:

if (activeRow) {
                    this.showInformationDialog("!!!!");
					var update = Ext.create("Terrasoft.UpdateQuery", { rootSchemaName: "Account" });
					update.filters.add("IdFilter", 
                    	update.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Id", activeRow));
                	update.setParameterValue("UsrTestString", "Some test", Terrasoft.DataValueType.TEXT);
                	update.execute();
                }

 

Дима Вовченко,

Добрый день. 

Спасибо за совет.  Попробую реализовать. 

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

1. 

update.filters.add("IdFilter", 

 IdFilter - мне надо подставить сюда свое значение по которому будут отфильтровываться записи? 

 

2.

сpdate.createColumnFilterWithParameter

(Terrasoft.ComparisonType.EQUAL, "Id", activeRow));

Id - аналогичный вопрос как в п.1. 

 

Спасибо.

 

 

Разобрался, работает. 

IdFilter не трогал, под остальные подставил свои данные и норм. 

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

Добавил this.reloadEntity(), не помогло

Есть же еще варианты по обновлению страницы после нажатия на кнопку?

 

 

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

При добавления файла в деталь, мне нужно по дефолту записывать в поле Описание (Notes) определенный текст. На странице где эта деталь, в прааметрах детали указал defaultValues но это не работает. Файл добавляется но описание не пишется.

Как это сделать для данной детали?

Нравится

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

Добрый день!

 

Данный процесс вы можете реализовать с помощью бизнесс-процесса. Более детальная информация есть в статье ниже: 

https://academy.creatio.com/docs/user/bpm_tools/process_elements_refere…

Mariia Sorochan,

воообще не про то

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

Как установить максимальное значение текстового поля?

К примеру, что бы в поле на скрине, можно было ввести максимум 12 символов.

 

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

Нравится

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

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

 

Вы можете ограничить длину поля базовыми средствами системы, как описано в статье, до 50, 250 или 500 символов. 

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

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

https://community.creatio.com/articles/how-add-input-mask

https://community.creatio.com/questions/add-format-mask-field



С уважением,

Анастасия

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