Вопрос

Вызов функции после авторизации и фильтр последних записей

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

Два вопроса (не связанных друг с другом):

1. Есть ли возможность вызвать какую-либо функцию после авторизации? Для примера - показывать окно с сообщением сразу после авторизации пользователя. Попробовал добавлять такие вызовы в схемы, загружающиеся только один раз (MainHeaderSchema, CommunicationPanel и т.д.), но вот проблема - если пользователь нажмёт F5, то снова сработает загрузка, а значит - вызов окна.

Добавлять аналогичный вызов в ServiceEnterpriseIntroPage - тоже неверно, не факт, что это будет первая страница после логина пользователя.

2. Есть ли в фильтрах - https://academy.terrasoft.ru/documents/technic-sdk/7-8/rabota-s-filtram… (именно в варианте для клиентской части) фильтрация "последних нескольких записей"? Т.е. к примеру, фильтрация по колонке с датой:

var dateColumn = esq.addColumn("UsrDate");
dateColumn.orderDirection = Terrasoft.OrderDirection.DESC;
dateColumn.orderPosition = 0;

выведет все записи в порядке убывания значений колонки UsrDate. А как мне вытащить только, допустим, первые пять?

Нравится

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

Алла Савельева, чтобы взять именно последние записи еще нужно осортировать например по дате создания записи, както так   :)

var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
      rootSchemaName: "UsrTable",
      rowCount: 5
}
var createdOnColumn = esq.addColumn("CreatedOn");
createdOnColumn .orderDirection = Terrasoft.OrderDirection.DESC;
createdOnColumn .orderPosition = 0;

 

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

2. Вам нужно указать при обращении к EntitySchemaQuery кол-во выводимых записей в запросе:

  var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
      rootSchemaName: "UsrTable",
      rowCount: 5
   }

Алла Савельева, чтобы взять именно последние записи еще нужно осортировать например по дате создания записи, както так   :)

var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
      rootSchemaName: "UsrTable",
      rowCount: 5
}
var createdOnColumn = esq.addColumn("CreatedOn");
createdOnColumn .orderDirection = Terrasoft.OrderDirection.DESC;
createdOnColumn .orderPosition = 0;

 

Григорий Чех пишет:

Алла Савельева, чтобы взять именно последние записи еще нужно осортировать например по дате создания записи, както так   :)

Из второго вопроса Дениса понятно, он понимает, что записи должны быть отсортированы (он даже приводит пример). А я ответила на конкретный вопрос пользователя 'как мне вытащить только, допустим, первые пять?'. 

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