Идея

Было бы не плохо реализовать настройку локализации элементов БП взаимодействующих с пользователем непосредственно в дизайнере БП. 

Обсуждение
2 комментария

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

Просьба описать более подробно идею и какую бизнес-задачу Вы хотите с помощью такой настройкой?

Здравствуйте! Идея заключается в том что бы реализовать внесение локализируемых значений - http://prntscr.com/jk6wc3http://prntscr.com/jk6ynv
так как для примера это реализовано: либо в объектах - http://prntscr.com/jk6wne
либо как это реализовано в клиентских модулях, добавлять локализированные переменные - http://prntscr.com/jk6x2i.
А задача следующая создаю БП который взаимодействует с пользователем и как минимум необходимо 2 языка Ru и En. Если бы данный функционал был бы реализован в дизайнере. то можно было бы бысстро задать эти две локали, не заходя в переводы тратя время на поиск по ключам и т.д.
На данный момент у меня в системе не всегда в переводах находит нужный БП. 

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

Добрый день. Подскажите, кто-нибудь уже делал быстрые фильтры, для кастомной детали.
 

Пробовал сделать так, но фильтры на детали не отобразились:

define("UsrScheduleForAllDayDetail", [], function() {
	return {
		entitySchemaName: "UsrScheduleForAllDay",
		messages: {
			/**
			 * @message GetFixedFilter
			 * ######## ######## FixedFilter.
			 * @param {String} ######## #######.
			 * @return {Object} ######.
			 */
			"GetFixedFilter": {
				mode: this.Terrasoft.MessageMode.PTP,
				direction: this.Terrasoft.MessageDirectionType.PUBLISH
			},
		},
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "merge",
				"name": "DataGrid",
				"values": {
					"type": "listed",
					"hierarchical": true,
					"sortColumnDirection": { "bindTo": "disableGridSorting" },
					"hierarchicalColumnName": "ParentId",
					"updateExpandHierarchyLevels": {
						"bindTo": "onExpandHierarchyLevels"
					},
					"expandHierarchyLevels": {
						"bindTo": "expandHierarchyLevels"
					}
				}
			},
			{
				"operation": "insert",
				"name": "QuickFilterModuleContainer",
				"parentName": "Detail",
				"propertyName": "items",
				"values": {
					"id": "QuickFilterModuleContainer",
					"selectors": {wrapEl: "#QuickFilterModuleContainer"},
					"itemType": Terrasoft.ViewItemType.CONTAINER,
					"wrapClass": ["quick-filter-module-container-wrapClass"],
					"items": []
				}
			}
		]/**SCHEMA_DIFF*/,
		methods: {
			init: function() {
				this.callParent(arguments);
				this.initFixedFiltersConfig();
			},
			initFixedFiltersConfig: function() {
				var fixedFilterConfig = {
					entitySchema: this.entitySchema,
					filters: [
						{
							name: "PeriodFilter",
							caption: this.get("Resources.Strings.PeriodFilterCaption"),
							dataValueType: this.Terrasoft.DataValueType.DATE,
							startDate: {
								columnName: "UsrDate",
								defValue: this.Terrasoft.startOfWeek(new Date())
							},
							dueDate: {
								columnName: "UsrDate",
								defValue: this.Terrasoft.endOfWeek(new Date())
							}
						}
					]
				};
				this.set("FixedFilterConfig", fixedFilterConfig);
			},

 

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

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

На клиенте нужно вставить запись в некоторую таблицу, одним из значений параметров есть Id записи контакта, его нужно получить из таблицы Contact запросом.

Например, вот так:

            setLoggerActivatorParameter: function(clinic) {
                var loggerActivatedById;
                if (this.Ext.isEmpty(clinic)) {
                    return loggerActivatedById;
                }
                var esqContact = Ext.create("Terrasoft.EntitySchemaQuery", {
                    rootSchemaName: "Contact"
                });
                var esqAccountFilter = esqContact.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
                    "Account", clinic.value);
                var esqDataLoggerActivatorFilter =
                    esqContact.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
                    "DataLoggerActivator", true);
                esqContact.filters.add("esqAccountFilter", esqAccountFilter);
                esqContact.filters.add("esqDataLoggerActivatorFilter", esqDataLoggerActivatorFilter);
                esqContact.getEntityCollection(function(result) {
                    if (result.success && result.collection.getCount()) {
                        loggerActivatedById = result.collection.first().get("Id");
                        return loggerActivatedById;
                    }
                }, this);
            }

Но из-за ассинхроности, пока отработает функция setLoggerActivatorParameter, то запись уже добавится в таблицу без значения поля loggerActivatedById.

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

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

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

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

Из других вариантов:

1) сервис

2) использовать chain на клиенте (реализация гуглится по форуму или тут)

3) кривой, но рабочий (более-менее) способ — делать тот же самый esq только при загрузке страницы, где-нибудь в init-е. Ну и складировать результат в переменную. Потом в обработчике уже к переменной обращаться.

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

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

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

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

Здравствуйте! Из-за чего может быть данная проблема, при подключении к приложению через devexpress, причём с другим приложением всё хорошо работает. Понятно что проблемы с соединением, но из-за чего, само приложение работает нормально.

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

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

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

Уверены, что это DexExpress, а не плагин Word Report Designer?

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

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