Добрый день!

В рамках реализации функциональности возникла необходимость добавить кастомный элемент в схему кампании. При этом элемент должен выполняться до элемента "Добавление из группы". Для этого была внесена корректировка в базовый элемент: добавлена возможность иметь входящие стрелки. 

Затем был создан кастомный элемент с типом: CampaignSchemaElementType.AsyncTask.  Была построена и запущена схема кампании: 
Однако, согласно дебаггеру, добавление из группы всегда происходит сразу после запуска джоба по расписанию, а затем выполняется кастомный элемент, несмотря на то, как построена схема.

В качестве решения попытались изменить тип элемента на: CampaignSchemaElementType.SyncTask , однако элемент перестал запускаться вовсе.
Соответственно есть несколько вопросов:
1) Как выполнить элемент "Добавление из группы" строго после выполнения предыдущего элемента? 
2) Как запустить элемент с типом CampaignSchemaElementType.SyncTask вместо Async

У меня такой же вопрос

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

У клиента установил систему Marketing 7.12.0.

После авторизации вылетает следующая ошибка:

This page isn’t working. localhost redirected you too many times. Try clearing your cookies

Куки чистил. Пробовал запускать в других браузерах. Не помогло.

В чем может быть проблема? 

Заранее благодарен.

 

 

 

У меня такой же вопрос

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

Данная ошибка связана со старой версией Redis-сервера. Установите последнюю актуальную версию: 4.0 дл Linux или 3.2 для Windows - http://ftp.bpmonline.com/support/pub/redis32.rar

Данная ошибка связана со старой версией Redis-сервера. Установите последнюю актуальную версию: 4.0 дл Linux или 3.2 для Windows - http://ftp.bpmonline.com/support/pub/redis32.rar

Антон Малий,

Спасибо, помогло

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

Уважаемые форумчане.
Возникла проблема с обновлением системы Marketing RUS.
У клиента была установлена версия 7.8.3. Удалось успешно обновить до версии 7.11.0.
Но обновив (процесс обновления прошел без ошибок) до версии 7.11.1 возникли следующие проблемы:
1) после авторизации не корректно загружается главная страница:
    - Некоторые иконки разделов не видны;
    - Не отображаются рисунки запуска процесса, Свернуть панель разделов, Меню, Добавить
    - Также не отображаются рисунки на коммуникационной панели(колокольчик, письмо и т.д),
      только одни синие кружки. Но если кликнуть, например, туда где колокольчик, то коммуникационная 
      панель открывается, но на ней ничего нет.
    - нет отображения значков Дизайнер системы, Профиль. Хотя, если кликнуть, то можно попасть в профиль
     и в дизайнер системы
2) Если зайти в запись какого-нибудь раздела, то ни одна картинка не отображается
   Как-будто в браузере отключена ф-я отображения изображений, хотя там всю включено.
В других браузерах тоже самое.
Пробовал обновляться далее. Дошел до версии 7.11.3. Результат тот же. 

В чем может быть проблема?

Заранее благодарен.

У меня такой же вопрос

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

Из очевидного:

1) Вебсокеты. С какой-то версии в конфиге для подключения указывается MicrosoftWSService, а не SuperWSService. Так что есть повод проверить конфиг (что я задолбался делать. Терики, верните 2011 порт!!)

2) Ресурсы. Такая же фигня, только круче. Теперь они хранятся локально в conf-папке, к которой должен быть полный доступ у IIS-юзера. +После обновлений желательно зайти и полность сгенерировать/скомпилировать конфигурацию(чисто на всякий случай)

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

 

ВАЖНО

Начиная с версии 7.11.1 в каталоге .\Terrasoft.WebApp\conf также содержатся изображения.

Для каталога .\Terrasoft.WebApp\conf должны быть установлены права на модификацию (чтение и запись файлов и вложенных каталогов, а также удаление каталога) для пользователя пула IIS, в котором запущено приложение. В противоположном случае приложение bpm'online не сможет сгенерировать статический контент.

Имя пользователя пула IIS устанавливается в свойстве [Identity]. Доступ к этому свойству можно получить через команду меню [Advanced Settings] на вкладке [Application Pools] менеджера IIS.

https://academy.terrasoft.ru/documents/technic-sdk/7-12/staticheskiy-kl…

Проблема была в другом: не подгружались файлы svg. Нужно было просто в Диспетчере служб IIS - Типы MIME добавить это расширение

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

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

"Вас" - если обращаемся непосредственно к контакту,

"вас" - если тип контакта "семья" 

или "тебя" если тип контакта - ребенок

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

Примерный текст шаблона. Хотим пригласить [Вас] [вас] [тебя] на мероприятие..... Если у [Вас] [вас] [тебя] появится возможность присоединиться, ждем [Вас] [вас] [тебя] . Адрес [Вы найдете] [вы найдете] [ты найдешь] на странице по ссылке......

Спасибо

У меня такой же вопрос

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

Марина, здравствуйте!

В приложении нет возможности динамически настраивать шаблоны. Спасибо за идею (мы зафиксировали, чтобы команда аналитиков рассмотрела эту возможность). 

Как обходное решение можно попробовать использовать кампанию и используя динамические группы с уже нужными фильтрами и для каждой аудитории настроить свой шаблон (https://academy.terrasoft.ru/documents/marketing/7-12/razdel-kampanii).

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

Коллеги, добрый день. Спасибо за комментарии. да, мы рассматривали возможность создания вместо одного шаблона - несколько (для каждого типа контакта - свой шаблон. Но согласитесь, что это утомительно :). Особенно, когда количество рассылок тоже не маленькое. Т.е. вместо 100 шаблонов нашему клиенту придется создавать 300 или более шаблонов. Второе, что не устроило нашего клиента в этом предложении, что через рассыльщик, которым клиент пользуется сейчас - возможность динамически настраивать шаблоны - существует. Конечно же, при внедрении хочется сохранить максимально комфортный вариант из всех систем, от которых клиенту придется отказаться, когда он внедрит bpm online.

Вильшанский Дмитрий пишет:
Спасибо за идею (мы зафиксировали, чтобы команда аналитиков рассмотрела эту возможность). 

 Дмитрий, спасибо. Надеюсь в ближайшей версии увидеть решение. Привожу пример, как это выглядит сейчас: "...Адрес встречи [if тип контакта = ‘ребенок’]ты найдешь [else if тип контакта  = ’семья’ and поле 3 = ‘вы’]вы найдете [else] Вы найдете [end if]в приложении ..."

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

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

Александр, в приведенном примере мы видим лишь малую часть изменений. Помимо обращения [Вы], [вы], [ты] есть фразы: [Вы найдете], [вы найдете], [ты найдешь]. Т.е. здесь изменяются не только обращение, но и различные фразы в теле письма. Зависит от типа контакта и возможно, дополнительного признака. Создавать три шаблона вместо одного - трудозатратно. 

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

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

Коллеги, может, кто-то сталкивался.

 

Имеется страница, на которой присутствует несколько одинаковых форм (могут отличаться визуально, но расположены в разных местах).
Соответственно, селекторы у одинаковых полей тоже одинаковы.

Используя стандартный скрипт для landing из bpm'online получается захватывать данные только из первой формы.

Как можно использовать данные именно той формы, на которой произошёл Submit, не настраивая уникальные селекторы на разных формах?

У меня такой же вопрос

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

Добрый день, Владимир!

Если на вашей странице существует несколько форм с одинаковыми селекторами, то блок “config” будет работать только с первым найденным элементом по указанному селектору. это связанно с ограничениями языка JavaScript.

На текущий момент существует только одно решение поставленной задачи: задать к каждому полю уникальный селектор, для каждой формы задать свой блок “config” и свою функцию "create".

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

С уважением,

Татьяна

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

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

У меня такой же вопрос

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

Да, например в бизнес процессе можно указать контрагента

Евгений.,

Евгений, я, видимо, немного неправильно сформулировал. Мне необходимо в массовые рассылки в аудиторию рассылки включать как контакты, так и контрагентов у которых нет контактов. Бизнес процесс, на сколько я понял, предполагает немного иное решение.

Станислав,

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

Соротюк Татьяна,

Понял, спасибо

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

При обновлении до 7.11.2 отвалился DataService. Ничего не поменялось в коде внешнего приложения, всё соответствует документации. Авторизация проходит нормально, но 

https://my.site/0/dataservice/json/reply/InsertQuery - выдает 403-ю ошибку Forbidden.

Подскажите, куда копать?

 

У меня такой же вопрос

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

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

Проверьте Web.config, а именно значение атрибута UseCsrfToken (https://academy.terrasoft.ru/documents/technic-sdk/7-10/zashchita-ot-csrf-atak-pri-integracii-c-bpmonline), если указано значение true, тогда стоит обратить внимание на формирование хедера запроса.

При включенной csrf защите необходимо отправлять BPMCSRF- токен и BPMCSRF -куки, тогда хедер должен выглядеть следующим образом: 

 

Tsopa,Спасибо. Отключил этот флаг и всё снова работает!

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

Всем доброго времени суток! Столкнулись со следующей проблемой. Создаем шаблон Email, при сохранении выдает - https://prnt.sc/httbxf.
Картинки сжали по максимуму. Как можно увеличить порог загружаемого шаблона?
Поправка, бьет данную ошибку при отправке. Отправка через раздел Email. Интеграция с сервисом UniOne.
Заранее благодарю!

У меня такой же вопрос

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

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

По умолчанию в приложении максимальный размер шаблона – 1,5 Мб. Для изменения необходимо заместить схему CESMaillingProvider. Заместить схему CESMaillingProvider стандартным способом при помощи замещения родительской схемы нельзя. Для замещения CESMaillingProvider необходимо создать свой класс, в котором скопировать весь код из CESMaillingProvider. В кастомном классе уже изменить реализацию метода ValidateTemplateSize, в котором вместо MailingMaxTemplateSize указать свой размер. После этого необходимо в таблице SysMalingProvider изменить значение ClassName для Cloud Email Service на название кастомного класса.

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

есть простой до безобразия код:

var select = Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Usrgifts" });
                select.addColumn("id");
                select.getEntityCollection(function(result) {
                    if (result.success) {
                        var collection = result.collection;
                        collection.each(function(item) {
                            this.set("UsrPriceodPresent", 34);
                        }, this);
                    }
                }, this);

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

можете подсказать в чем проблема?

У меня такой же вопрос

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

Добрый день

Такого не бывает :) На вкладке Network должна быть информация. И что значит вылетает? Он должен внутрь зайти только после возврата результата с сервера

Артем Гура,

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

var esq = Ext.create("Terrasoft.EntitySchemaQuery", {rootSchemaName: "Usrgifts"});
                esq.addAggregationSchemaColumn("UsrPriceodPresent", Terrasoft.AggregationType.SUM, "RecalcGiftsAmountContact");
                esq.filters.add("OnlyEWS", this.Terrasoft.createColumnFilterWithParameter(
                    this.Terrasoft.ComparisonType.EQUAL, "Usrgiftscontact", this.get("PrimaryColumnValue")));

Но тут почему то не возвращает ни одной строки, хотя в итога должна быть 1, разве нет?

Заработало! Сначала все  написал)

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

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

У меня такой же вопрос

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

1) с помощью бизнес правил. прописать их в странице редактирования карточки этой детали

2) там есть кусок, в котором формируется контрол. можно для определённых полей прописать enabled: false (прям в коде детали)

getDefaultCellControlsConfig: function(columnName, params) {
	var config = {
		itemType: Terrasoft.ViewItemType.MODEL_ITEM,
		name: columnName,
		labelConfig: {visible: false}
	};
	if (columnName === "TmName") {
		config.enabled = false;
	}
}

+можно попробовать в объекте сделать режим использования нужной колонки - никогда (в этом способе я не уверен)

Добрый день! Попробуйте в модуле детали (который от BaseDetailV2 наследуется) определить isEditableColumn(columnName). Чтобы он заработал, в методе на детали generateActiveRowControlsConfig, в конфиге поля задать свойству enabled соответствие методу isEditableColumn

generateActiveRowControlsConfig: function(id, columnsConfig, rowConfig) {
                this.columnsConfig = columnsConfig;
                var gridLayoutItems = [];
                var currentColumnIndex = 0;
                this.Terrasoft.each(columnsConfig, function(columnConfig) {
                    var columnName = columnConfig.key[0].name.bindTo;
                    var column = this.getColumnByColumnName(columnName);
                    var cellConfig = column ? this.getCellControlsConfig(column)
                        : this.getNotFoundCellControlsConfig(columnName);
                    cellConfig = this.Ext.apply({
                        layout: {
                            colSpan: columnConfig.cols,
                            column: currentColumnIndex,
                            row: 0,
                            rowSpan: 1
                        }
                    }, cellConfig);
 
                    cellConfig.enabled = this.isEditableColumn(columnName);
 
                    if (!cellConfig.hasOwnProperty("isNotFound")) {
                        gridLayoutItems.push(cellConfig);
                    }
                    currentColumnIndex += columnConfig.cols;
                }, this);
                var gridData = this.getGridData();
                var activeRow = gridData.get(id);
                var rowClass = {prototype: activeRow};
                BusinessRulesApplier.applyRules(rowClass, gridLayoutItems);
                var viewGenerator = this.Ext.create("Terrasoft.ViewGenerator");
                viewGenerator.viewModelClass = this;
                var gridLayoutConfig = viewGenerator.generateGridLayout({
                    name: this.name,
                    items: gridLayoutItems
                });
                rowConfig.push(gridLayoutConfig);
            }

 

Благодарю! Помогло! Рекомендую!

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