Вопрос

Здравствуйте, уважаемые коллеги.

Вопрос касается мобильного приложения.

Есть ли возможность при открытии стандартной детали миновать реестр и открывать сразу же первую же запись в нём? 

Сам так и не разобрался до сих пор. Заранее спасибо за помощь :)

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

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

А что делать если там 2 записи?

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

Федоровский Роман Дмитриевич,

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

Кривонос Максим,

Задача состоит в том, чтобы сделать что-то вроде "вкладок" браузерного приложения, их было решено сделать в виде "деталей", которые открывают представления, в которых куски главной страницы.
А каким образом открывать эту запись из поля или кнопки? Как открывать какую-то запись опредленного модуля в JS по айдишнику, или как нибудь так?

Может Вам подойдут разворачиваемые группы колонок?

Кривонос Максим,​​​​​​ да! Это именно то, что мне надо было. Но вообще нигде не нашел информации про подобные группы полей. Не подскажете, где искать? На скриншоте стандартный раздел обращения? Не могу найти

Да, это раздел обращения (MobileCaseModuleConfig)

В дизайнере создаете группу колонок, накидываете туда нужные колонки и сохраняете.

Затем создаете схему UsrMobileMySectionModuleConfig для настройки вашего раздела и пишите там такой код:

Terrasoft.sdk.RecordPage.configureColumnSet("MySection", "MyColumnSet1", {
	alwaysShowTitle: true,
	collapsible: true,
	isCollapsed: true,
	customEditConfig: {
		isCollapsed: false
	}
});

 

Кривонос Максим,

Спасибо большое, это мне очень сильно поможет!

UPD. Хотя проблема остается актуальной. Всё же это группа полей, а мне бы ещё в эту группу полей запихнуть деталей стандартных..

Федоровский Роман Дмитриевич,

такой стандартной возможности нет

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

Добрый день, Коллеги! 

Возник следующий вопрос.

Необходимо в реестр справочника, например Статусы обращения, вывести значения колонки IsFinal аналогично методу setSubtitleColumns согласно SDK

https://academy.terrasoft.ru/documents/technic-sdkmob/7-12/sdk-reestra

В коробочном решении грид справочника выглядит следующим образом:

 

 

 

 

 

Пример необходимой реализации, колонка контакт:

 

 

 

 

 

 

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

Попытки задания Subtitle через дополнительный модуль, подключённый в манифесте для раздела Case, не дал результата. Что-то делаю не так.

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

Спасибо!

 

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

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

Примеры использования этого свойства есть в «коробке» в схемах MobileLookupGridPageConfig, MobileLookupGridOpportunityPageConfig, MobileCaseMessageHistoryModuleConfig и MobileCaseMessageHistoryModuleConfig. Судя по названию, вторая схема как раз может использоваться для окна выбора из справочника. Её код:

Terrasoft.sdk.LookupGridPage.setSubtitleColumns("Opportunity", ["Account"]);

 

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

Всем доброго времени суток. Подскажите возможно ли реализовать вывод сообщения пользователю мобильного приложения при первом его запуске, после загрузки всех данных или после синхронизации? В какую сторону смотреть, на какие схемы? Заранее благодарен.

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

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

Для вывода сообщения используется функция:

Terrasoft.MessageBox.Show({message:'текст',title:'заголовок'})

 

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

Это понятно как выводить сообщения. Интересует вывод после завершения синхронизации данных.

Определить, загружались ли вообще по синхронизации данные, можно посредством:

!Ext.isEmpty(Terrasoft.CurrentUserInfo.lastSyncDate)

А первый или не первый раз, самому где-то хранить значение-флажок.

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

Всем доброго времени суток.

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

Запустили первичную синхронизацию в манифесте прописали некоторые колонки для синхронизации, данные синхронизировались, затем некоторое время спустя в бд добавили новую колонку и заполнили ее по всем записям, так же св-во добавили в манифест(http://prntscr.com/npb7yh) и при повторной синхронизации данные в локальной БД не подтягиваются - http://prntscr.com/npb7cp, нужно чистить кэш и заново синхронизировать все данные.

Проверял на эмуляторе v7.13.11

Очень неудобно.

Обсуждение
1 комментарий

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

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

Коллеги, всем доброго времени суток!

В мобильном приложении необходимо логировать некоторые данные. В приложении есть свой логгер -  http://prntscr.com/noti8j
Подскажите где смотреть логи если назначение будет Terrasoft.LogDestination.Analytics?

 

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

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

Логи Terrasoft.LogDestination.Analytics не предназначены для просмотра пользователем. Можно посмотреть только Terrasoft.LogDestination.File, сформировав письмо с отчётом для отправки.

 

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

 Благодарю.

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

Всем доброго времени суток.

Столкнулся с проблемой фильтрации в разделе активностей в списочном представлении.

Создал ModuleConfig, прописал в нем фильтрацию, название модуля добавил в манифест, но при отработке вываливается ошибка - http://prntscr.com/nns86h
 

Terrasoft.sdk.Module.addFilter("Activity", Ext.create("Terrasoft.Filter", {
	property: "Owner",
	value: Terrasoft.CurrentUserInfo.contactId
}));

так же не работает сортировка - http://prntscr.com/nns8sc
 

Terrasoft.sdk.GridPage.setOrderByColumns("Activity", {
	column: "StartDate",
	orderType: Terrasoft.OrderTypes.DESC
});

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

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

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

Судя по тексту сообщения, код пытается сделать вставку (push) элемента в массив, а массив равен null. Где именно и почему это происходит, можно увидеть, открыв скрипты filter.js, sdk-utils.js и module-sdk.js в указанных на экране номерах строк.

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

Всем доброго времени суток!

Кто нибудь сталкивался с такой проблемой:

Сайт развернут локально. Создаем деталь мобильного приложения через мастер, схемы создались - https://prnt.sc/n6surw
Фиксирую в СВН  - http://prntscr.com/n6svs3
Фиксация проходит успешно - http://prntscr.com/n6svyk
Результат в Svn зафиксировались только метаданные - http://prntscr.com/n6swjg 
http://prntscr.com/n6sx1x 
http://prntscr.com/n6sx6r
 

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

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

Попробуйте так. Фиксируйте в свн 2 раза подряд. Перый раз уедут метаданные, второй раз - все остальное. Мы с этим сталкиваемся регулярно, но решения пока нет...

Попробуйте так. Фиксируйте в свн 2 раза подряд. Перый раз уедут метаданные, второй раз - все остальное. Мы с этим сталкиваемся регулярно, но решения пока нет...

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

Добрый день! 

Может ли кто-нибудь подсказать, данные каких таблиц нужно переносить для полного переноса настроек мобильного приложения через SVN на разные среды?

Требуется перенести только наполнение таблицы SysMobileWorkplace?

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

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

Если речь о доработанных в мастере или вручную мобильных карточках: новых и изменённых полях, деталях и подобном, то нужно смотреть, были ли изменения у схем, которые могут к этому разделу относиться. Например, для контрагента: MobileAccountGridPage, MobileAccountGridPageSettingsDefaultWorkplace, MobileAccountModelConfig, MobileAccountModuleConfig, аналогично по каждой детали. И переносить на другую базу нужные схемы.

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

Здравствуйте! Подскажите как можно реализовать обновление карточки мобильного приложения? Кейс следующий делаю апдейт заказа и после обновления полей в success обновлять страницу.
Код примерно следующий:
 

setDiscount: function(config){
		var orderProductRecord = Ext.clone(config.model);
		if(config.discountType==="legal"){
			var discountByContract = config.contract.data.Discount;
			var totalAmount = config.model.data.TotalAmount;
			var discountPrice = this.calculateAmountWithDiscount(totalAmount, discountByContract);
			var totalDiscount = totalAmount-discountPrice;
			orderProductRecord.set("WaDiscountAccount", discountByContract, true);
			orderProductRecord.set("WaTotalDiscount", totalDiscount, true);
			orderProductRecord.save({
				success: function(){
					window.console.log("Update was success");
					Terrasoft.Router.back();
				},
				failure: function(exception) {
					Terrasoft.MessageBox.showMessage(Ext.String.format(Terrasoft.LS.WaErrorExecutionMessage, exception));
				},
				queryConfig: Ext.create('Terrasoft.QueryConfig', {
					modelName: orderProductRecord.self.modelName,
					columns: ["WaDiscountAccount", "WaTotalDiscount"]
				})
			}, this);
		} else if (config.discountType ==="personal") {
			//orderProductRecord.set("WaDiscountContact", config.DiscountContact, true);
		}
	},

 

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

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

См. тут. Возможно, подойдут функции:

markPreviousPagesAsDirty(operationConfig)

Метод отмечает все предыдущие страницы как неактуальные. После возврата к предыдущим страницам для каждой из них вызовется метод refreshDirtyData(), который выполняет повторную загрузку данных или актуализирует данные на основании объекта operationConfig.

refreshPreviousPages(operationConfig, currentPageHistoryItem)

Метод выполняет для всех предыдущих страниц повторную загрузку данных или актуализирует данные на основании operationConfig. Если установлено значение для параметра currentPageHistoryItem, метод выполняет те же действия для предшествующих страниц.

refreshAllPages(operationConfig, excludedPageHistoryItems)

Метод выполняет для всех страниц повторную загрузку данных или актуализирует данные на основании operationConfig. Если установлен параметр excludedPageHistoryItems, метод исключает из актуализации указанные страницы.

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

Всем доброго времени суток!
Подскажите как можно передать в карточку редактирования нового заказа некоторых параметров - http://prntscr.com/n0jpjt ?
Для открытия карточки редактирования использую:
 

var config = {
			isStartRecord: true,
			pageSchemaName: "MobileOrderEditPage"
		};
		Terrasoft.util.openEditPage("Order", config);

 

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

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

См. в MobilePhoneCallLogPage:

 onSaveButtonButtonTap: function() {
  var modelConfig = Terrasoft.ApplicationConfig.getModelConfig("Activity");
  var requiredModels = modelConfig.RequiredModels;
  Terrasoft.StructureLoader.loadModels({
   modelNames: requiredModels,
   success: function() {
    this.createCallActivity(function() {
     var arrangeActivityToggle = this.getArrangeActivityToggle();
     var toArrange = arrangeActivityToggle.getValue();
     var record = this.record;
     this.back();
     if (toArrange) {
      setTimeout(function() {
       var config = {
        defaultRecordData: {}
       };
       if (Ext.isString(this.activityLinkColumnNames)) {
        config.defaultRecordData[this.activityLinkColumnNames] = record;
       } else {
        for (var i = 0, ln = this.activityLinkColumnNames.length; i < ln; i++) {
         var linkColumnNameConfig = this.activityLinkColumnNames[i];
         var columnName = linkColumnNameConfig.activityColumnName;
         var columnValue = record.get(linkColumnNameConfig.parentColumnName);
         config.defaultRecordData[columnName] = columnValue;
        }
       }
       Terrasoft.util.openEditPage("Activity", config);
      }.bind(this), 500);
     }
    }.bind(this));
   },
   scope: this
  });
 },

 

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