Вызов функции после авторизации и фильтр последних записей
Всем доброго времени суток. Версия 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. А как мне вытащить только, допустим, первые пять?
Нравится
Алла Савельева, чтобы взять именно последние записи еще нужно осортировать например по дате создания записи, както так :)
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;
Григорий Чех пишет:
Алла Савельева, чтобы взять именно последние записи еще нужно осортировать например по дате создания записи, както так :)
Из второго вопроса Дениса понятно, он понимает, что записи должны быть отсортированы (он даже приводит пример). А я ответила на конкретный вопрос пользователя 'как мне вытащить только, допустим, первые пять?'.