📄 dm.pas
字号:
END;
PROCEDURE TFDM.DataModuleDestroy(Sender:TObject);
BEGIN
Logs.Free;
Tables.Free;
END;
FUNCTION TFDM.GetChangRowCount:Integer;
VAR
S:STRING;
BEGIN
S:='select @@RowCount as Rows ';
TRY
TRY
OpenQuery(FDM.aqTmp, S);
Result:=FDM.aqTmp.FieldValues['Rows'];
EXCEPT
Result:=0;
END;
FINALLY
FDM.aqTmp.Close;
END;
END;
FUNCTION TFDM.GetRate(ADate:STRING):Currency;
BEGIN
END;
FUNCTION TFDM.OpenWorker:Boolean;
VAR sSQL:STRING;
BEGIN
END;
//取当前登录信息
FUNCTION TFDM.GetAccInfo(AStation, AModul:STRING):TAccInfo;
VAR sSQL:STRING;
BEGIN
sSQL:='SELECT A.*, B.dInTime '
+' FROM [UFSystem].[dbo].[UA_Task] A left join [UFSystem].[dbo].[UA_TaskLog] B '
+' ON A.csub_id=B.csub_id and A.cstation=B.cstation '
+' where A.cstation='+Quotedstr(AStation)+' and A.csub_id='+Quotedstr(AModul)
+' ORDER BY B.dInTime DESC ';
TRY
OpenSQL(FDM.aqTemp, sSQL);
IF FDM.aqTemp.RecordCount>0 THEN
BEGIN
Result.ID:=FDM.aqTemp.FieldByName('cAcc_Id').AsString;
Result.year:=FDM.aqTemp.FieldByName('iyear').AsString;
Result.LoginInUser:=FDM.aqTemp.FieldByName('cUser_Id').AsString;
Result.LoginInDate:=trunc(FDM.aqTemp.FieldByName('dInTime').AsFloat);
END;
Result.LoginIn:=(Result.ID<>'')AND(Result.LoginInUser<>'');
FINALLY
FDM.aqTemp.Close;
END;
END;
FUNCTION TFDM.GetCustTableEName(ATableCName:STRING):STRING;
VAR sSQL:STRING;
BEGIN
sSQL:='SELECT [AutoID], [CTableCode], [CTableEName], [CTableCName]'
+' FROM ['+CurrAccDBName+'].[dbo].[AutoSetTableInf]'
+' where CTableCName='+Quotedstr(ATableCName);
Result:='';
TRY
IF OpenSQL(FDM.aqTemp, sSQL)=1 THEN
BEGIN
Result:=FDM.aqTemp.FieldByName('CTableEName').AsString;
END;
FINALLY
FDM.aqTemp.Close;
END;
END;
FUNCTION TFDM.GetCustTableFieldsTitle(ATableCName:STRING):STRING;
VAR sSQL:STRING;
k:Integer;
FieldEName, FieldCName:STRING;
BEGIN
sSQL:='SELECT * '
+' FROM ['+CurrAccDBName+'].[dbo].[AutoSetTableInf] A '
+' left join ['+CurrAccDBName+'].[dbo].[AutoSetFieldInf] B '
+' on A.CTableCode=B.CTableCode '
+' where A.CTableCName='+Quotedstr(ATableCName);
Result:='';
TRY
OpenSQL(FDM.aqTemp, sSQL);
FOR k:=1 TO FDM.aqTemp.RecordCount DO
BEGIN
FieldEName:=FDM.aqTemp.FieldByName('CfieldEName').AsString;
FieldCName:=FDM.aqTemp.FieldByName('CfieldCName').AsString;
IF (FieldEName='CAutoCode')OR(FieldEName='CAutoName') THEN
BEGIN
FDM.aqTemp.Next;
continue;
END;
IF Result='' THEN
Result:=FieldEName+' as '+FieldCName
ELSE
Result:=Result+', '+FieldEName+' as '+FieldCName;
FDM.aqTemp.Next;
END; //of for
FINALLY
END;
END;
FUNCTION ReadLJCodeField:STRING;
VAR FIni:TIniFile;
BEGIN
FIni:=TIniFile.Create(sIniFile);
TRY
Result:=FIni.ReadString('tools', '量具编号字段', 'FError');
FINALLY
FIni.Free;
END;
END;
FUNCTION ReadLJClassID:STRING;
VAR FIni:TIniFile;
BEGIN
FIni:=TIniFile.Create(sIniFile);
TRY
Result:=FIni.ReadString('tools', 'LClassID', 'FError');
FINALLY
FIni.Free;
END;
END;
FUNCTION ReadReportSQL(AStr:STRING):STRING;
VAR FIni:TIniFile;
BEGIN
FIni:=TIniFile.Create(sIniFile);
TRY
Result:=FIni.ReadString('report', AStr, 'FError');
FINALLY
FIni.Free;
END;
END;
FUNCTION ReadReportSQLEx(AStr:STRING):STRING;
VAR FList:TStrings;
BEGIN
FList:=TStringList.Create;
TRY
FList.LoadFromFile(AppPath.Report+AStr);
Result:=FList.Text;
FINALLY
FList.Free;
END;
END;
FUNCTION TFDM.GetMaxDJBH:Integer;
VAR sSQL:STRING;
BEGIN
sSQL:=' SELECT max([AutoID]) as autoid '
+' from ['+CurrAccDBName+'].[dbo].['+FDM.GetCustTableEName(sTableNameM)+']';
TRY
TRY
OpenSQL(FDM.aqTemp, sSQL);
Result:=FDM.aqTemp.FieldByName('autoid').AsInteger;
EXCEPT
Result:=0;
END;
FINALLY
FDM.aqTemp.Close;
END;
END;
FUNCTION TFDM.GetToolsWareList(AList:TStrings):Integer;
VAR sSQL:STRING;
BEGIN
sSQL:='SELECT [cWhCode], [cWhName] '
+' FROM ['+CurrAccDBName+'].[dbo].[Warehouse]';
Result:=-1;
TRY
OpenSQL(FDM.aqTemp, sSQL);
AList.Clear;
WHILE NOT FDM.aqTemp.Eof DO
BEGIN
AList.Add(FDM.aqTemp.FieldByName('cWhCode').AsString
+'='+FDM.aqTemp.FieldByName('cWhName').AsString);
FDM.aqTemp.Next;
END;
Result:=AList.Count;
FINALLY
FDM.aqTemp.Close;
END;
END;
FUNCTION TFDM.GetAccIDList(AList:TStrings):Integer;
VAR sSQL:STRING;
BEGIN
sSQL:='SELECT [cAcc_Name], [cAcc_id], [iYear], '
+' [iMonth], [cAcc_Master], [cUnitName], [cUnitAbbre] '
+' FROM [UFSystem].[dbo].[UA_Account] ';
Result:=-1;
TRY
OpenSQL(FDM.aqTemp, sSQL);
AList.Clear;
WHILE NOT FDM.aqTemp.Eof DO
BEGIN
AList.Add(FDM.aqTemp.FieldByName('cAcc_Name').AsString+'('
+FDM.aqTemp.FieldByName('cAcc_id').AsString+'_'
+FDM.aqTemp.FieldByName('iYear').AsString+')');
FDM.aqTemp.Next;
END;
Result:=AList.Count;
FINALLY
FDM.aqTemp.Close;
END;
END;
FUNCTION TFDM.GetAccInfoEx(AAccID, aYear:STRING):TAccInfo;
VAR sSQL:STRING;
BEGIN
sSQL:='SELECT [cAcc_Name], [cAcc_id], cast([iYear] as char(4)) as cYear, '
+' [iMonth], [cAcc_Master], [cUnitName], [cUnitAbbre] '
+' FROM [UFSystem].[dbo].[UA_Account] '
+' WHERE cAcc_id='+Quotedstr(AAccID)+' and iYear='+aYear;
TRY
OpenSQL(FDM.aqTemp, sSQL);
WHILE NOT FDM.aqTemp.Eof DO
BEGIN
Result.funit:=FDM.aqTemp.FieldByName('cUnitName').AsString;
Result.master:=FDM.aqTemp.FieldByName('cAcc_Master').AsString;
Result.Name:=FDM.aqTemp.FieldByName('cAcc_Name').AsString;
Result.month:=FDM.aqTemp.FieldByName('iMonth').AsString;
FDM.aqTemp.Next;
END;
FINALLY
FDM.aqTemp.Close;
END;
END;
FUNCTION TFDM.GetOneCodeInfo(AName:STRING):TCodeInfo;
VAR sSQL:STRING;
i:Integer;
BEGIN
sSQL:='SELECT * FROM ['+CurrAccDBName+'].[dbo].GradeDef '
+' WHERE GRADECLSNAME='+Quotedstr(AName);
TRY
Result.AllLen:=0;
OpenSQL(FDM.aqTemp, sSQL);
WHILE NOT FDM.aqTemp.Eof DO
BEGIN
Result.chsname:=FDM.aqTemp.FieldByName('GRADECLSNAME').AsString;
Result.tablename:=FDM.aqTemp.FieldByName('KEYWORD').AsString;
Result.scode:=FDM.aqTemp.FieldByName('CODINGRULE').AsString;
Result.length:=length(Result.scode);
SetLength(Result.icode, Result.length);
FOR i:=0 TO High(Result.icode) DO
BEGIN
Result.icode[i]:=StrToInt(Copy(Result.scode, i+1, 1));
Result.AllLen:=Result.AllLen+Result.icode[i];
END;
FDM.aqTemp.Next;
END;
FINALLY
FDM.aqTemp.Close;
END;
END;
FUNCTION TFDM.InitModiInvTables:Integer;
BEGIN
Result:=82;
SetLength(InvTables, Result);
InvTables[0].realName:='AdjustPVouchs';
InvTables[0].chsname:='库存管理的货位调整单子表';
InvTables[0].keyField:='cInvCode';
InvTables[1].realName:='AssemVouchs';
InvTables[1].chsname:='库存管理的组装拆卸形态转换单子表';
InvTables[1].keyField:='cInvCode';
InvTables[2].realName:='CheckVouchs';
InvTables[2].chsname:='库存管理的盘点单子表';
InvTables[2].keyField:='cInvCode';
InvTables[3].realName:='CurrentStock';
InvTables[3].chsname:='库存管理的现存量汇总表';
InvTables[3].keyField:='cInvCode';
InvTables[4].realName:='MatchVouchs';
InvTables[4].chsname:='库存管理的限额领料单子表';
InvTables[4].keyField:='cInvCode';
InvTables[5].realName:='RdRecords';
InvTables[5].chsname:='库存管理的收发记录子表';
InvTables[5].keyField:='cInvCode';
InvTables[6].realName:='IA_Subsidiary';
InvTables[6].chsname:='存货核算的存货明细账';
InvTables[6].keyField:='cInvCode';
InvTables[7].realName:='ScrapVouchs';
InvTables[7].chsname:='库存管理的报废单子表';
InvTables[7].keyField:='cInvCode';
InvTables[8].realName:='TransVouchs';
InvTables[8].chsname:='库存管理的库存调拨单子表';
InvTables[8].keyField:='cInvCode';
InvTables[9].realName:='DispatchLists';
InvTables[9].chsname:='销售管理的发货退货单子表';
InvTables[9].keyField:='cInvCode';
InvTables[10].realName:='ExpenseVouchs';
InvTables[10].chsname:='销售管理的代垫费用单子表';
InvTables[10].keyField:='cInvCode';
InvTables[11].realName:='PriceJustify';
InvTables[11].chsname:='销售管理的销售调价记录表';
InvTables[11].keyField:='cInvCode';
InvTables[12].realName:='SA_CusUPrice';
InvTables[12].chsname:='销售管理的客户销售价格表';
InvTables[12].keyField:='cInvCode';
InvTables[13].realName:='SA_InvUPrice';
InvTables[13].chsname:='销售管理的存货销售价格表';
InvTables[13].keyField:='cInvCode';
InvTables[14].realName:='SA_QuantityDisRate';
InvTables[14].chsname:='销售管理的批量折扣表';
InvTables[14].keyField:='cInvCode';
InvTables[15].realName:='SA_QuoDetails';
InvTables[15].chsname:='销售管理的销售报价单子表';
InvTables[15].keyField:='cInvCode';
InvTables[16].realName:='SA_SalePlan';
InvTables[16].chsname:='销售管理的销售计划表';
InvTables[16].keyField:='cInvCode';
InvTables[17].realName:='SA_SettleVouchs';
InvTables[17].chsname:='销售管理的委托代销结算单子表';
InvTables[17].keyField:='cInvCode';
InvTables[18].realName:='SA_WrapLease';
InvTables[18].chsname:='销售管理的包装物租借退还表';
InvTables[18].keyField:='cInvCode';
InvTables[19].realName:='SaleBillVouchs';
InvTables[19].chsname:='销售管理的销售发票子表';
InvTables[19].keyField:='cInvCode';
InvTables[20].realName:='SalePayVouchs';
InvTables[20].chsname:='销售管理的销售支出单子表';
InvTables[20].keyField:='cInvCode';
InvTables[21].realName:='SO_SODetails';
InvTables[21].chsname:='销售管理的销售订单子表';
InvTables[21].keyField:='cInvCode';
InvTables[22].realName:='PU_AppVouchs';
InvTables[22].chsname:='采购管理的采购请购单子表';
InvTables[22].keyField:='cInvCode';
InvTables[23].realName:='PO_Podetails';
InvTables[23].chsname:='采购管理的采购订单子表';
InvTables[23].keyField:='cInvCode';
InvTables[24].realName:='PU_ArrivalVouchs';
InvTables[24].chsname:='采购管理的采购到货单子表';
InvTables[24].keyField:='cInvCode';
InvTables[25].realName:='PurBillVouchs';
InvTables[25].chsname:='采购管理的采购发票子表';
InvTables[25].keyField:='cInvCode';
InvTables[26].realName:='PurSettleVouchs';
InvTables[26].chsname:='采购管理的采购结算单子表';
InvTables[26].keyField:='cInvCode';
InvTables[27].realName:='GSP_VouchDInforms';
InvTables[27].chsname:='GSP质量管理的报损药品销毁通知单子表';
InvTables[27].keyField:='cInvCode';
InvTables[28].realName:='GSP_VouchDRecords';
InvTables[28].chsname:='GSP质量管理的不合格药品销毁存根子表';
InvTables[28].keyField:='cInvCode';
InvTables[29].realName:='GSP_VouchInform';
InvTables[29].chsname:='GSP质量管理的药品通知单';
InvTables[29].keyField:='cInvCode';
InvTables[30].realName:='GSP_VouchInspect';
InvTables[30].chsname:='GSP质量管理的药品检验单表';
InvTables[30].keyField:='cInvCode';
InvTables[31].realName:='GSP_VouchPAudit';
InvTables[31].chsname:='GSP质量管理的首营药品经营审批表';
InvTables[31].keyField:='cInvCode';
InvTables[32].realName:='GSP_VouchQIFeedback';
InvTables[32].chsname:='GSP质量管理的药品质量信息反馈单';
InvTables[32].keyField:='cInvCode';
InvTables[33].realName:='GSP_VouchsNote';
InvTables[33].chsname:='GSP质量管理的药品记录单子表';
InvTables[33].keyField:='cInvCode';
InvTables[34].realName:='GSP_VouchsQC';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -