AX2012 查询用户在线操作记录
1 static void ExportSysClientAccessLog(Args _args)
2 {
3 SysClientAccessLog sysClientAccessLog;
4
5 SysExcelApplication xlsApplication;
6 SysExcelWorkBooks xlsWorkBookCollection;
7 SysExcelWorkBook xlsWorkBook;
8 SysExcelWorkSheets xlsWorkSheetCollection;
9 SysExcelWorkSheet xlsWorkSheet;
10 SysExcelRange xlsRange;
11
12 int row = 1, idx;
13 str fileName, formName;
14 container con, conSel;
15 ;
16
17 fileName = @"C:\Users\currentUserFileName\Desktop\log\userAccessLog.csv";
18
19 xlsApplication = SysExcelApplication::construct();
20 xlsWorkBookCollection = xlsApplication.workbooks();
21 xlsWorkBook = xlsWorkBookCollection.add();
22 xlsWorkSheetCollection = xlsWorkBook.worksheets();
23 xlsWorkSheet = xlsWorkSheetCollection.itemFromNum(1);
24
25 xlsWorkSheet.cells().item(row, 1).value("User Id");
26 xlsWorkSheet.cells().item(row, 2).value("Form Name");
27 xlsWorkSheet.cells().item(row, 3).value("Operation");
28 xlsWorkSheet.cells().item(row, 4).value("DateTime");
29
30 row++;
31
32 while select sysClientAccessLog
33 where sysClientAccessLog.createdDateTime > 2023-02-14T03:00:00
34 && sysClientAccessLog.createdDateTime < 2023-02-15T00:00:00
35 && sysClientAccessLog.createdBy == 'admin' // UserName
36 {
37 con = sysClientAccessLog.EventsContainer;
38
39 for(idx = 1; idx <= conLen(con); idx++)
40 {
41 conSel = conpeek(con, idx);
42 formName = formName2Pname(conPeek(conSel, 1));
43 //Information to Excel
44 xlsWorkSheet.cells().item(row, 1).value(strFmt("%1", sysClientAccessLog.createdBy));
45 xlsWorkSheet.cells().item(row, 2).value(strFmt("%1", formName ? formName : conPeek(conSel, 1)));
46 xlsWorkSheet.cells().item(row, 3).value(strFmt("%1", conPeek(conSel, 2)));
47 xlsWorkSheet.cells().item(row, 4).value(strFmt("%1", DateTimeUtil::applyTimeZoneOffset(sysClientAccessLog.createdDateTime, DateTimeUtil::getUserPreferredTimeZone())));
48
49 row++;
50 }
51 }
52
53
54 if(WinApi::fileExists(fileName))
55 WinApi::deleteFile(fileName);
56
57 xlsWorkbook.saveAs(fileName);
58 xlsApplication.visible(true);
59
60 info(strFmt("File has been exported"));
61 }
AX2012 查询用户在线操作记录的更多相关文章
- MyBatis 用户表记录数查询
搭建MyBatis开发环境,实现用户表记录数查询 1.在MyEclipse中创建工程,导入MyBatis的jar包
- 使用mybatis提供的各种标签方法实现动态拼接Sql。这里演示where标签和if标签实现使用姓名的模糊查询和性别查询用户列表,当用户没有选择姓名以及性别时查询出所有的记录。
1.需求: 使用姓名的模糊查询和性别查询用户列表,当用户没有选择姓名以及性别时查询出所有的记录. 2.在UserMapper接口中定义方法: public List<User> findU ...
- mybatis框架-查询用户表中的记录数
之前已经搭建过mybatis框架了,现在我们要用mybatis框架真正的干点事情了. 这是这个简单web项目的整体架构. 我们使用mybatis框架查询用户表中的记录数: 这是用户类: package ...
- 05Mybatis_入门程序——根据id查询用户
这篇文章我们来做一个入门的案例: 建表: /* SQLyog v10.2 MySQL - 5.1.72-community : Database - mybatis ***************** ...
- Linux - 查看用户登录记录
有关用户登录的信息记录在 utmp(/var/run/utmp).wtmp(/var/log/wtmp).btmp(/var/log/btmp) 和 lastlog(/var/log/lastlog) ...
- mybatis04 根据用户名称模糊查询用户信息
根据用户名称模糊查询用户信息可能返回多条记录. 1.1.1User.xml 编码 如果用%进行模糊查询,#{}表示一个占位符会被翻译为一个?号(SELECT * FROM USER WHERE id= ...
- Mysql 查询重复的记录
我们都会使用distinct去除重复值,今天调试一个问题,业务需要查询出重复的数据,实现如下: 查询帖子的被哪些用户收藏,其中user_id,post_id可以唯一确定一条记录: 先使用post_id ...
- Linux实战案例(4)CentOS清除用户登录记录和命令历史方法
CentOS清除用户登录记录和命令历史方法 清除登陆系统成功的记录[root@localhost root]# echo > /var/log/wtmp //此文件默认打开时乱码,可查到ip等信 ...
- mybatis由浅入深day01_4.7根据用户名称模糊查询用户信息_4.8添加用户((非)自增主键返回)
4.7 根据用户名称模糊查询用户信息 4.7.1 映射文件 使用User.xml,添加根据用户名称模糊查询用户信息的sql语句. 4.7.2 程序代码 控制台: 4.8 添加用户 4.8.1 映射文件 ...
- Oracle查询库中记录数大于2千万的所有表
Oracle查询库中记录数大于2千万的所有表 假如当前用户拥有select any table权限,则可以使用下列sql语句: select table_name, num_rows from dba ...
随机推荐
- R安装cplexAPI弯路
最近使用R进行生物信息多组学分析,需要用到cplex,安装走了不少弯路,记录这个过程. 首先需要安装cplex:我的安装如下, 1.下载地址:cplex_studio1263.win-x86-64百度 ...
- Java高级助教工作总结
一.助教工作的具体职责和任务 1.帮助老师在云班课上发布作业 2.解答同学们的问题 3.批改同学们的作业,并了解同学们的学习情况 4.在qq群中发布通知,收集同学们的一些意见 二.助教工作的每周时长和 ...
- Unity Prefab(预制体)一次性循环10个会得到同样的
IEnumerator Test1() { for(int i = 0;i < 5;i++) { GameObject gb = (GameObject)Resources.Load(" ...
- join => innerJoin
drupal7中 ->join == ->innerJoin 不是leftJoin哦 无语哦
- Freertos stack-overflow 检测
(出现的地址信息没有特定意义,仅供参考) vApplicationStackOverflowHook() at rtos.c:371 0x55aa vTaskSwitchContext() at ta ...
- reids哨兵机制
宏观上的哨兵机制 监控:哨兵不断的检查master和slave是否正常的运行. 通知:当监控的某台Redis实例发生问题时,可以通过API通知系统管理员和其他的应用程序. 自动故障转移:如果一个mas ...
- (K8s学习笔记三)创建Namespace
Namespace(命名空间)很多情况下用于实现多租户的资源隔离.Namespace通过将集群内部的资源对象"分配"到不同的Namespace中,形成逻辑上分为不同项目.小组或用户 ...
- wpf TreeView右键选中节点弹菜单
<TreeView x:Name="CustomTreeView" Canvas.Top="1" Canvas.Bottom="1" ...
- R6-2 二分查找
R6-2 二分查找 分数 15 全屏浏览题目 切换布局 作者 张泳 单位 浙大城市学院 已有一个10个元素的整形数组a,且按值从小到大有序.输入一个整数x,然后在数组中查找x,如果找到,输出相应的下标 ...
- linux内核源码编译加制作rpm包
本章主要讲解实际操作步骤,具体理论知识可以自行百度 linux内核官网下载:https://cdn.kernel.org/pub/linux/kernel/ (如图) 根据官网发布的信息分析,目前 ...