📄 u_clsld.pas
字号:
exit;
end;
if length(trim(edtSlzh.text)) <> 9 then
begin
application.MessageBox('收料字号应为九位', '物资管理系统', mb_iconinformation + mb_defbutton1);
edtSlzh.SetFocus;
exit;
end;
//判断关键字是否重复
s_slzh := edtSlzh.Text;
DM.CDS_CLSLD_INDEX.IndexFieldNames := '收料字号';
DM.CDS_CLSLD_INDEX.Refresh;
if DM.CDS_CLSLD.state = dsinsert then
begin
if DM.CDS_CLSLD_INDEX.FindKey([s_slzh]) then
begin
application.MessageBox('收料字号已重复', '物资管理系统', mb_iconinformation + mb_defbutton1);
edtSlzh.SetFocus;
exit;
end;
end;
//提交、保存数据库
DM.CDS_CLSLD.Post;
DM.CDS_CLSLD.ApplyUpdates(0);
//设置数据显示组件为不可用状态
btn_valid;
end;
procedure TfrmClsld.btn_cgrClick(Sender: TObject);
begin
DM.CDS_CLSLD.FieldByName('采购人').value := GetEmployeeName;
end;
procedure TfrmClsld.btn_zgClick(Sender: TObject);
begin
DM.CDS_CLSLD.FieldByName('主管').value := GetEmployeeName;
end;
procedure TfrmClsld.btn_zdrClick(Sender: TObject);
begin
DM.CDS_CLSLD.FieldByName('制单人').value := GetEmployeeName;
end;
procedure TfrmClsld.btn_ysrClick(Sender: TObject);
begin
DM.CDS_CLSLD.FieldByName('验收人').value := GetEmployeeName;
end;
procedure TfrmClsld.btn_refreshClick(Sender: TObject);
begin
DM.CDS_CLSLD.Refresh;
end;
procedure TfrmClsld.btn_findClick(Sender: TObject);
var
GenQuery: TGenQ3;
begin
GenQuery := TGenQ3.Create(self);
GenQuery.v_TableName := 'WZ_CLSLD_MAIN'; //设置表名
GenQuery.v_AppServName := frmMain.SocketConnection; //设置应用服务器连接
GenQuery.v_ProviderName := 'P_General'; //设置获取数据集的提供者
//==添加定位字段,“;”前表示实际字段名,‘;’后表示实际字段的别名
GenQuery.v_fieldsstrings.Add('收料字号;收料字号');
GenQuery.v_fieldsstrings.Add('仓库名称;仓库名称');
GenQuery.v_fieldsstrings.Add('制单日期;制单日期');
GenQuery.v_fieldsstrings.Add('供应厂家;供应厂家');
GenQuery.v_fieldsstrings.Add('物资来源;物资来源');
GenQuery.v_fieldsstrings.Add('采购人;采购人');
GenQuery.v_fieldsstrings.Add('合同编号;合同编号');
GenQuery.v_fieldsstrings.Add('发票金额;发票金额');
GenQuery.v_fieldsstrings.Add('主管;主管');
GenQuery.v_fieldsstrings.Add('制单人;制单人');
GenQuery.v_fieldsstrings.Add('验收人;验收人');
GenQuery.v_fieldsstrings.Add('审核人;审核人');
//打开窗口
if GenQuery.execute then
begin
//给CDS_CLSLD_CX的过滤条件赋值
DM.CDS_CLSLD.filter := GenQuery.V_filtervalue;
DM.CDS_CLSLD.filtered := true;
end;
end;
procedure TfrmClsld.btn_deleteClick(Sender: TObject);
begin
//判断是否有记录可删除
if DM.CDS_CLSLD.recordcount = 0 then
begin
application.MessageBox('没有记录可删除', '物资管理系统', mb_iconinformation + mb_defbutton1);
exit;
end;
//确认删除
if application.messagebox('请确认是否要删除', '物资管理系统', mb_iconinformation + mb_yesno) = idyes then
begin
DM.CDS_CLSLD.delete;
DM.CDS_CLSLD.applyupdates(0);
end;
end;
procedure TfrmClsld.DBGridDblClick(Sender: TObject);
begin
pmi_Insert.click;
end;
procedure TfrmClsld.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[2].text := '共有:' + inttostr(DM.CDS_CLSLD.recordcount) + '条记录';
if DM.CDS_CLSLD.recordcount = 0 then
statusbar1.panels[1].text := ''
else if DM.CDS_CLSLD.fieldbyname('是否审核').value = true then
statusbar1.panels[1].text := '此单据已审核'
else if (DM.CDS_CLSLD.fieldbyname('是否审核').value = null) or (DM.CDS_CLSLD.fieldbyname('是否审核').value = false) then
statusbar1.panels[1].text := '此单据未审核';
statusbar1.refresh;
end;
procedure TfrmClsld.pmi_InsertClick(Sender: TObject);
var
i: integer;
s_hint: string;
begin
//判断是否在编辑状态下
if btn_edit.Enabled = true then
begin
application.MessageBox('请在编辑或添加状态下添加物资', '物资管理系统', mb_iconinformation + mb_defbutton1);
exit;
end;
//创建辅助录入窗口
application.createform(TfrmClbm_Fzlr, frmClbm_Fzlr);
try
frmClbm_Fzlr.showmodal;
finally
frmClbm_Fzlr.free;
//将选中的材料加到DBGrid中
for i := Low(ClbmRec) to High(clbmRec) do
begin
DM.CDS_CLSLD_DETAIL_INDEX.Active := True;
DM.CDS_CLSLD_DETAIL_INDEX.refresh;
DM.CDS_CLSLD_DETAIL_INDEX.Filter := '收料字号=' + '''' + DM.CDS_CLSLD.fieldbyname('收料字号').asstring + '''';
DM.CDS_CLSLD_DETAIL_INDEX.filtered := true;
DM.CDS_CLSLD_DETAIL_INDEX.IndexFieldNames := '材料编号';
//判断是否有重复的物资
if DM.CDS_CLSLD_DETAIL_INDEX.FindKey([clbmRec[i].clbm]) then
begin
s_hint := '已有材料编号为' + clbmRec[i].clbm + '的物资';
application.MessageBox(Pchar(s_hint), '物资管理系统', mb_iconinformation + mb_defbutton1);
continue;
end;
//添加进DM.CDS_CLSLD_DETAIL
DM.CDS_CLSLD_DETAIL.insert;
DM.CDS_CLSLD_DETAIL.fieldbyname('材料编号').value := ClbmRec[i].clbm;
DM.CDS_CLSLD_DETAIL.fieldbyname('材料名称').value := ClbmRec[i].clmc;
DM.CDS_CLSLD_DETAIL.fieldbyname('规格型号').value := ClbmRec[i].ggxh;
DM.CDS_CLSLD_DETAIL.fieldbyname('计量单位').value := ClbmRec[i].jldw;
DM.CDS_CLSLD_DETAIL.fieldbyname('计划单价').value := ClbmRec[i].jhdj;
DM.CDS_CLSLD_DETAIL.fieldbyname('单价单位').value := ClbmRec[i].djdw;
DM.CDS_CLSLD_DETAIL.fieldbyname('凭证数量').value := 0.0;
DM.CDS_CLSLD_DETAIL.fieldbyname('实收数量').value := 0.0;
DM.CDS_CLSLD_DETAIL.post;
end;
end;
dbgrid.Refresh;
end;
procedure TfrmClsld.pmi_DeleteClick(Sender: TObject);
begin
//判断是否有记录可删除
if DM.CDS_CLSLD_DETAIL.recordcount = 0 then
begin
application.MessageBox('没有记录可删除', '物资管理系统', mb_iconinformation + mb_defbutton1);
exit;
end;
//判断是否在浏览状态下
if (btn_edit.enabled = false) then
begin
application.MessageBox('请在浏览状态下删除物资', '物资管理系统', mb_iconinformation + mb_defbutton1);
exit;
end;
if application.messagebox('请确认是否要删除', '物资管理系统', mb_iconinformation + mb_yesno) = idyes then
begin
DM.CDS_CLSLD_DETAIL.delete;
end;
DM.CDS_CLSLD.applyupdates(0);
end;
procedure TfrmClsld.btn_printClick(Sender: TObject);
var
s_filter: string;
my_bookmark: Tbookmark;
begin
s_filter := DM.CDS_CLSLD.Filter;
my_bookmark := DM.CDS_CLSLD.GetBookmark;
DM.CDS_CLSLD.Filter := '收料字号=' + '''' + DM.CDS_CLSLD.fieldbyname('收料字号').asstring + '''';
DM.CDS_CLSLD.Filtered := true;
quickrep.Preview;
DM.CDS_CLSLD.Filter := s_filter;
DM.CDS_CLSLD.Filtered := true;
DM.CDS_CLSLD.GotoBookmark(my_bookmark);
end;
procedure TfrmClsld.FormShow(Sender: TObject);
var
s_value: string;
begin
//激活仓库信息表
DM.CDS_CKXX_INDEX.Active := True;
DM.CDS_CKXX_INDEX.First;
cmbCkmc.Items.Clear ;
//循环向下拉框写入仓库名称
while not DM.CDS_CKXX_INDEX.eof do
begin
s_value := DM.CDS_CKXX_INDEX.fieldbyname('仓库名称').asstring;
cmbCkmc.Items.Add(s_value);
DM.CDS_CKXX_INDEX.next;
end;
with DM do
begin
CDS_CLSLD_DETAIL.Close;
CDS_CLSLD.Close;
CDS_CLSLD_INDEX.Close;
CDS_CLSLD_DETAIL_INDEX.Close;
CDS_CLSLD.Open;
CDS_CLSLD_DETAIL.Open;
CDS_CLSLD_INDEX.Open;
CDS_CLSLD_DETAIL.Open;
end;
end;
procedure TfrmClsld.N_PassedClick(Sender: TObject);
begin
DM.CDS_CLSLD.DisableControls;
DM.CDS_CLSLD.Filtered := False;
DM.CDS_CLSLD.Filter := '是否审核=True';
DM.CDS_CLSLD.Filtered := True;
DM.CDS_CLSLD.EnableControls;
end;
procedure TfrmClsld.N_NotPassedClick(Sender: TObject);
begin
DM.CDS_CLSLD.DisableControls;
DM.CDS_CLSLD.Filtered := False;
DM.CDS_CLSLD.Filter := '是否审核=False';
DM.CDS_CLSLD.Filtered := True;
DM.CDS_CLSLD.EnableControls;
end;
procedure TfrmClsld.N_AllClick(Sender: TObject);
begin
DM.CDS_CLSLD.Filtered := False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -