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 ...
随机推荐
- 树莓派,脚本遍历当前目录下视频文件,并用omxplayer播放
事先准备好视频文件,文件名内包含视频尺寸信息,以方便构造 --win "x1 y1 x2 y2" 字符串. 通过 omxplayer -i filename 可查看视频尺寸 ...
- oracle 索引创建
--查询表里的索引 select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.inde ...
- [笔记]gdb调试中一个string变量太长,如何将该string变量完全输出在屏幕上?
来自 https://stackoverflow.com/questions/233328/how-do-i-print-the-full-value-of-a-long-string-in-gdb ...
- https://www.cnblogs.com/DKSoft/category/608549.html
https://www.cnblogs.com/DKSoft/category/608549.html
- Unity 关于可寻址资源系统Addressables的使用和理解(一) 准备工作
一.打开Unity的PackageManager,安装Addressables包 二.打开分组面板,对未来要分类的资源包进行分组,并对组进行设置. 1.菜单栏选择Window/AssetManagen ...
- unity 利用相机截图,可以截取UI,保存png格式,可用于签名抠图
public Camera cam; void Start() { StartCoroutine(CaptureAlphaCamera(cam,new Rect(0,0,1920,1080))); } ...
- 1.PS基本操作
1.图片颜色变淡 1.新建一个白色的画板 什么尺寸都可以 只要能装得下你这张图 2.把这张图拖进去放到画板上 3.在右边找到这张图的图层 更改透明度到你觉得合适的程度 (我初步估计可能20%左右吧)
- 使用cutlass编译时,需要指定架构和sm
对于Turing架构,nvcc需要加上选项 -gencode=arch=compute_75,code=sm_75 其他架构类似.
- 面试之arrayList扩容机制
参考: ArrayList扩容详解_java编程艺术的博客-CSDN博客_arraylist扩容 ArrayList底层是数组elementData,用于存放插入的数据.初始大小是0,当有数据插入时, ...
- redis-RedisTemplate.opsForValue 常用方法
16.multiSetIfAbsent(Map<? extends K,? extends V> map) 如果对应的map集合名称不存在,则添加,如果存在则不做修改. Map value ...