与‘金蝶’有关的日志

DNS问题导致金蝶”不能创建对象”错误

admin 发表于 金蝶技术 分类,标签: ,
0

前天在一家客户那遇到一个奇怪的问题:不能创建对象”错误,远程组件配置在第一个服务上即卡死无法测试验证通过,也不报错误。金蝶服务器使用经典帐户验证,客户机可访问金蝶服务器的共享,服务器上DTC服务正常,部分客户端可正常使用金蝶,唯独几台刚刚被硬件公司维护的计算机无法正常打开金蝶主控台,想了半天才搞清楚原来是DNS问题,由于新建的域控制器,而金蝶服务器又没有加入到域控里,客户端的首选DNS仅设置了域控机的IP地址,导致金蝶客户端无法正常和金蝶服务器解析通讯,虽然使用的是IP地址配置”远程组件配置”,但是好像通讯还是依赖DNS解析,不清楚具体的金蝶通讯原理是什么,但是把次要DNS地址设置为金蝶服务器的IP后即解决了。

K/3 许可服务已到期解决方案

admin 发表于 金蝶技术 分类,标签:
0

K/3 V11版本:
原因分析:金蝶总部的服务收费机制,对未购买总部服务的K/3用户进行提示,如果没有购买总部的服务而使用分销商的服务的客户需要每年做以下工作:
(软加密许可)在中间层打开账套管理-关于-证书升级,重新下载License.dat引入中间层。
(智能卡许可)在中间层打开账套管理-系统使用状况-智能卡许可,重新更新智能卡信息。

K/3 V12版本:
(成长版)安装服务特性包PT023907
(标准版)安装服务特性包PT023905

金蝶数据库自动备份及压缩工具AU3源码

admin 发表于 金蝶技术 分类,标签: ,
1

金蝶账套管理自带数据库定时自动备份工具,但是没有账套压缩打包功能。
本工具AU3源码功能:在数据库服务器运行金蝶客户端,金蝶退出后自动备份数据库并使用WinRAR压缩。
源码包:本地下载
已知BUG:较大的数据库完全备份会出错,错误原因未知,希望有人能完善该代码。

#Region AutoIt3Wrapper 预编译参数(常用参数)
#AutoIt3Wrapper_icon=main.ico ;图标,支持EXE,DLL,ICO
#AutoIt3Wrapper_outfile=金蝶主控台.exe ;输出文件名
#AutoIt3Wrapper_Compression=4 ;压缩等级
#AutoIt3Wrapper_UseUpx=Y ;使用压缩
#AutoIt3Wrapper_Res_Comment=退出金蝶,数据库自动备份压缩 ;注释
#AutoIt3Wrapper_Res_Description=Kingdee K/3 Main ;详细信息
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0 ;版本
#AutoIt3Wrapper_Res_LegalCopyright=仙童工作室 ;版权
#AutoIt3Wrapper_Run_Obfuscator=N ;代码加密
#AutoIt3Wrapper_Run_AU3Check=Y ;语法检查
#EndRegion AutoIt3Wrapper 预编译参数设置完成
#cs __________________________________

Au3 版本:
脚本作者:仙童
Email:admin@thtznet.com
MSN:thtznet@live.com
脚本版本:1.0.0.0
脚本功能:退出金蝶,数据库自动备份压缩

#ce _______________脚本开始_______________
If FileExists ("opt.ini") Then
;-----------------声明全局变量-----------------
$IconHide = IniRead("opt.ini", "system", "iconhide", "N")
$blockinput = IniRead("opt.ini", "system", "blockinput", "Y")
$shutdown = IniRead("opt.ini", "system", "shutdown", "N")
$isrunclient = IniRead("opt.ini", "K/3", "isrunclient", "Y")
$InstallDir = IniRead("opt.ini", "K/3", "InstallDir", @ProgramFilesDir&"\Kingdee\K3ERP\K3Express\")
$issql = IniRead("opt.ini", "mssql", "issql", "Y")
$uid = IniRead("opt.ini", "mssql", "uid", "sa")
$pwd = IniRead("opt.ini", "mssql", "pwd", "")
$ais = IniRead("opt.ini", "mssql", "ais", "")
$noinit = IniRead("opt.ini", "mssql", "noinit", "Y")
$sqldisk = IniRead("opt.ini", "mssql", "sqldisk", @HomeDrive&"\")
$bakname = IniRead("opt.ini", "mssql", "bakname", "Kingdee.bak")
$israr = IniRead("opt.ini", "winrar", "israr", "Y")
$rardisk = IniRead("opt.ini", "winrar", "rardisk", @HomeDrive&"\")
$rarname = IniRead("opt.ini", "winrar", "rarname", "Y")
$date = IniRead("opt.ini", "winrar", "date", "YYMMDD")
$backdel = IniRead("opt.ini", "winrar", "backdel", "Y")
$password = IniRead("opt.ini", "winrar", "password", "N")
;----------------是否隐藏图标----------------
If $IconHide="Y" Then
Opt("TrayIconHide", 1)
EndIf
;----------------运行金蝶客户端--------------
If $isrunclient="Y" Then
If FileExists ($InstallDir&"kdmain.exe") Then
TrayTip("温馨提示:", "当前正在运行金蝶主控台,请稍后...", 10, 1)
RunWait($InstallDir & "kdmain.exe", $InstallDir, Default)
Else
MsgBox(16, "路径错误", "没有找到金蝶主控台,请确认配置文件是否正确!", 10)
Exit
EndIf
Opt("TrayIconHide", 1)
EndIf
;-----------------备份数据库开始--------------
If $issql="Y" Then
If ProcessExists("sqlservr.exe") Then
If $blockinput="Y" Then
BlockInput(1)
EndIf
Opt("TrayIconHide", 0)
TrayTip("温馨提示:", "当前正在备份金蝶K/3数据库,请稍后...", 100, 1)
$connection = ObjCreate( "ADODB.Connection" )
$DSN = "DRIVER={SQL Server};SERVER=;DATABASE="&$ais&";UID="&$uid&";PWD="&$pwd&";"
$connection.Open($DSN)
$recordset = ObjCreate( "ADODB.RecordSet" )
Select
Case $noinit="Y"
$bakname = "F"&$bakname
$recordset.Open( "BACKUP DATABASE ["&$ais&"] TO DISK = '"&$sqldisk&$bakname&"' WITH NOFORMAT", $connection )
Case $noinit="N"
$bakname = "D"&$bakname
$recordset.Open( "BACKUP DATABASE ["&$ais&"] TO DISK = '"&$sqldisk&$bakname&"' WITH DIFFERENTIAL,NOFORMAT", $connection )
EndSelect
$connection.close
;--------------压缩数据库开始--------------
If $israr="Y" Then
TrayTip("温馨提示:", "当前正在压缩金蝶K/3数据库,请稍后...", 100, 1)
Select
Case $backdel="Y"
If $password="N" Then
RunWait(@ComSpec & " /C " & "plugin.dll a -df -k -ag"&$date&"-NN "&$rardisk&$rarname&" "&$sqldisk&$bakname, @ScriptDir , @SW_HIDE)
Else
RunWait(@ComSpec & " /C " & "plugin.dll a -df -p"&$password&" "&"-k -ag"&$date&"-NN "&$rardisk&$rarname&" "&$sqldisk&$bakname, @ScriptDir , @SW_HIDE)
endIf
Case $backdel="N"
If $password="N" Then
RunWait(@ComSpec & " /C " & "plugin.dll a -k -ag"&$date&"-NN "&$rardisk&$rarname&" "&$sqldisk&$bakname, @ScriptDir , @SW_HIDE)
Else
RunWait(@ComSpec & " /C " & "plugin.dll a -p"&$password&" "&"-k -ag"&$date&"-NN "&$rardisk&$rarname&" "&$sqldisk&$bakname, @ScriptDir , @SW_HIDE)
endIf
EndSelect
BlockInput(0)
TrayTip("温馨提示:", "已完成数据库备份压缩,可以安全关机!", 10, 1)
MsgBox(4096, "完成", "数据库备份压缩已完成!",5)
Else
TrayTip("温馨提示:", "已完成数据库备份,可以安全关机!", 10, 1)
MsgBox(4096, "完成", "数据库备份已完成!",5)
EndIf
Else
MsgBox(16, "数据库错误", "数据库服务没有启动!",10)
Exit
EndIf
;--------------压缩数据库结束--------------
EndIf
;--------------备份完成自动关机--------------
If $shutdown="Y" Then
Shutdown(1)
EndIf
Else
MsgBox(16, "配置文件错误", "请确认配置文件是否存在!",5)
EndIf
Exit

金蝶K/3发票已传递的反初始化应收应付解决方案

admin 发表于 金蝶技术 分类,标签: ,
0

对于已经启用应收应付模块后,供应链发票已经被传递到应收应付系统的反初始化需要删除所有的应收应付单据和必须反勾稽供应链发票。
对于反初始化应收应付模块,删除本身模块产生的单据完全合乎情理,但是需要涉及到供应链模块的发票需要全部反勾稽,在某些情况下客户不愿意这么做,而且没有批量反勾稽,工作量巨大,使用SQL后台修改可以很轻松的解决这个问题:
在查询分析器里运行下列语句:
delete t_rp_contact where frp=1 ;应付模块
delete t_rp_contact where frp=0 ;应收模块
以上语句会直接清空应收应付模块里的发票而不影响供应链模块内的发票。

解决MSSQL 2008安装”性能计数器注册表配置单元一致性”失败

admin 发表于 金蝶技术 分类,标签: ,
0

重新生成性能计数器库值:
要在 Windows Server 2003 重新生成所有的性能计数器(包括扩展的和第三方计数器),请在命令提示符处键入以下命令:
cd \windows\system32
lodctr /R
注意:/R 是大写。