存档

‘System’ 分类的存档

Tips-利用内部错误, 实现禁止用户登录到NAV中的指定公司

2015年3月10日 评论已被关闭

NAV Classic版本中, 有时我们会遇到一些未知错误, 通常原因是相应的Object异常所致. 如使用了高版本的Object(NAV5.0 用了2009Object, 2009用了2013Object). 那么我们利用此未知错误, 可以构建一个特殊功能. 即拒绝用户登录到NAV中的指定公司.

下面介绍应用方法(场景: NAV5.0 Classic)

1. NAV2009中导出一个Report.  Report 26 Setup Checklist, 导入到当前NAV 5.0数据库中, 覆盖此Object.

2. User表或[Windows Login]表中增加Deny Company.  Code类型(250字符长度)

3. Codeunit 1 ApplicationManagementCompanyOpen()函数中增加代码.

isFound := False;

if User.[Deny Company]<>” THEN Begin

Comp.SetFilter(Name, User.[Deny Company]);

if Comp.find(‘-‘) Then Repeat

   isFound := (Comp.Name = COMPANYNAME);

Until Comp.Next=0 and isFound=True;

IF isFound THEN

BEGIN

  F.MsgBox(Text800,100,Text801,16);

  REPORT.RUN(26,FALSE,FALSE);

END;

END;

4. 完毕后, 关闭NAV, 并设置用户表的Deny Company.  即可看到, 当用户打开被拒绝访问的公司时, 系统会提示不允许登录. 然后提示系统执行了非法操作. 点击后确定后系统自动关闭并退出NAV.

分类: C/AL, System 标签:

数据恢复记录

2013年4月17日 评论已被关闭

最近硬盘出现损伤, 瞬间产生大量坏道. 并且从后往前蔓延. 自己尝试了数据恢复, 经验记录如下:

首先, 切忌不要再次尝试读取数据. 不要再有更多的使用操作, 这点我没有做到, 连续使用Windows下的RoboCopy / 以及PE下FastCopy进行文件复制, 造成损伤面扩大.
准备1块大于故障硬盘大小的硬盘, 再准备1块数据接收盘(只要可以用来放文件就可以)

2. 购置容量一致的新硬盘一块, 挂载并在HDClone 4的iso直接启动下进行跳过坏道按扇区(1个扇区坏掉, 就意味着512字节数据确实无法用了)复制, 分区复制效果会好于磁盘复制, 并有利于控制.

3. HDClone 4结束后会尝试进行坏扇区强制读取, 时间会非常漫长, 这次我的坏道读取时间达到530小时以上. 无奈放弃了. 这时扇区已经坏的更多了.

4. 由于HDClone 4强制结束, 数据已经写入新硬盘, 但是其文件并没有办法在Windows下访问和读取, 而是要求格式化.

5. 使用DiskGens备份分区表. 然后用WinHex打开磁盘(注意, 不能打开分区, 打开分区是无效的). 在磁盘上选择分区2, 打开. 报错, 忽略. 继续操作

6. 在WinHex上进行两种方式恢复. 方法1, 直接文件夹上点右键, 复制到再准备的1块新硬盘上. 注意查看丢失的文件夹, 里面有好多目录, 按照之前的文件夹结构记忆恢复吧. 截至此处, 已经恢复完大概70%的数据.

7. 在WinHex上的方法2, 在磁盘的分区2上选择 通过文件类型复制, 提前准备好文件类型标志, 标志可以通过16进制查看器来了解到, 如pst文件是!BDN, 可以恢复255M以下的大部分文件. 在此基础上, 也可以尝试磁盘上查找, 并自己标识文件头/尾来恢复超过255M以上的文件. (用此方法需要了解文件结束标志). 结果只实现了一小部分pst的恢复, 其他都没有恢复过来. 文件的类型信息不熟悉.

8. 文件已经全部恢复到再准备的1块新硬盘上了, 大部分文件估计都是可以直接使用了, 一部分doc/docx/rar/pst等不能使用, 就使用相应的文档修复器再次执行修复, 如pst在Outlook下不能直接加载,使用scanPst, 修复后就可以加载了. doc不能打开, 打开提示修复, 选择修复后也就可以打开了.

至此, 基于软件的修复方式完成, 各位朋友有更多的方式/方法, 请协助提供. 我将尝试.

目前阶段, 故障磁盘已经无法再用Windows访问, 连接就要求格式化. 并持续咔嗒咔嗒响.

数据恢复方面:
vhd虚拟机, 90%的VHD已经恢复, 还未验证是否可用.
pst, 95%已经恢复, 由于坏道, 部分邮件丢失. 使用scanPst修复后Outlook才能访问. 已经基本满意了.
fdb,fob 60%的已经恢复, 由于文件较大, 还没有验证恢复结果, 估计不一定能用, fdb, Navision启动后会自动做块修复, 不保证可用. fob就很危险了. 如果没有了标志位, 就只有期待看fob的分割了. 这个比较悲剧
rar/zip/doc/sln等文件, 恢复的比较多, 同时坏的也比较多. 还没有找到好的验证工具来验证文件是否损坏.
QQ聊天记录, msg2.0.db 文件太大, 无法修复和打开, 也没有修复工具, 所以看到文件也没法使用.

分类: System 标签: