Вопрос

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

 

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

Используя стандартный скрипт для 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 на название кастомного класса.

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

Есть проблема в отображении отчета.
Создал отчет "Звіт про виконану роботу"
Зарегистрировал его, с формой фильтрации. должно выводить 7 записей(по фильтру)
делал по примеру старого отчета "Отчет о проделанной работе", Но у меня почему то выводит 7 таблиц по 7 записей...
Кроме того нужно еще вывести 2 таблицы, тоже активности но с другими фильтрами, как добавить в данные еще 2 таблицы Активности?ф

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

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

Решил! Из базового отчета нужно перетащить данные, а именно таблицу DetailTable, после этого все выводит как нужно в одном образце)

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

Как сделать формат страницы С5? в настройках devexpress Установил, но при формированиее - выходит А4

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

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

Здравствуйте, Виталий!

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

Мы зафиксировали Ваше пожелание по доработке функциональности формирования печатных форм в дизайнере отчетов DevExpress. 

Спасибо, что помогаете улучшать наши продукты!

Прошу прощения, оно было в нужном формате, просто на первый вид оно отображало тот же А4)

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

Кто сталкивался с данной ошибкой?

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

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

Здравствуйте, Виталий!

Для успешной аутентификации дизайнера отчетов следует добавить "/UserService.svc" через запятую в запись "DisableCsrfTokenValidationForPaths" в web.config Loader-a.

Получится запись следующего вида
<add key="DisableCsrfTokenValidationForPaths" value="/AuthService.svc/SsoLogin,/UserService.svc" />.

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

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

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

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);
            }

 

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

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

Здравствуйте! Столкнулся с такой проблемой: обновляюсь с версии 7.10.3 на 7.11.0. Все нормально работает, прогружается экран с логином, главный экран, но в некоторые разделы (например Контрагенты или Контакты) не могу зайти. Пишет "Недостаточно прав, обратитесь к администратору", при том, что у меня у самого админские права. Может при обновлении напортачил с конфигами? Подскажите пожалуйста

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

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

Возможно, обновление прошло с ошибками, нужно смотреть логи обновления. Дополнительно посмотрите в консоль разработчика F12, там могут быть ошибки, которые укажут на проблемное место.

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