⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stock_fad.pas

📁 delphi的一个开发实例
💻 PAS
📖 第 1 页 / 共 4 页
字号:
            end;
        end;
    end;
    //操作草稿单据
    if Public_Do='Business_Draft_0003' then
    begin
        //单据过帐
        if Public_Do_Result='01' then
        begin
            with frm_data.ClientDataSet2 do
            begin
                Close;
                CommandText:='';
                Commandtext:='Select * from [V_Stock_Cancel_strip_View] where Receipt_No='''+Trim(List_NO)+'''';
                try
                    Open;
                    Check_Flag:=frm_data.ClientDataSet2.FieldValues['Check_Result'];
                    if Check_Flag='0' then
                    begin
                        Application.MessageBox('该【采购退货单】草稿单据还没有完全审核,不能过帐',pchar(application.Title),mb_iconwarning);
                        Exit;
                    end;
                    if Check_Flag='1' then
                    begin
                        with frm_data.ClientDataSet_Add do
                        begin
                            Close;
                            Commandtext:='';
                            Commandtext:='Update [Cancel_strip] set Contract_No='''+Trim(Edit3.Text)+''',Gather_Name='''+Trim(Edit4.Text)+''',Storage_NO='''+Trim(Edit5.Text)+''',Transactor='''+Trim(Edit6.Text)+''',Shop_NO='''+Trim(Edit7.Text)+''',proposer='''+Trim(Edit8.Text)+''',Condense='''+Trim(Edit9.Text)+''',Remark='''+Trim(Edit10.Text)+''' where Stock_No='''+Trim(List_NO)+'''';
                            try
                                Execute;
                                try
                                    for i:=1 to Total_Count-1 do
                                    begin
                                        with frm_data.ClientDataSet_Add do
                                        begin
                                            Close;
                                            CommandText:='';
                                            CommandText:='update [Cancel_strip_detail] set Pass_NO='''+Trim(StringGrid1.Cells[3,i])+''',price='''+Trim(StringGrid1.Cells[4,i])+''',amount='''+Trim(StringGrid1.Cells[5,i])+''',Total_Money='''+Trim(StringGrid1.Cells[6,i])+''',agio='''+Trim(StringGrid1.Cells[7,i])+''',agio_price='''+Trim(StringGrid1.Cells[8,i])+''',agio_money='''+Trim(StringGrid1.Cells[9,i])+''',tax_rate='''+Trim(StringGrid1.Cells[10,i])+''',tax_rate_price='''+Trim(StringGrid1.Cells[11,i])+''',tax_money='''+Trim(StringGrid1.Cells[12,i])+''',quality='''+Trim(StringGrid1.Cells[13,i])+''',Fade_Name='''+Trim(StringGrid1.Cells[14,i])+''' where Stock_NO='''+Trim(List_NO)+''' and Goods_No='''+Trim(StringGrid1.Cells[1,i])+'''';
                                            try
                                                Execute;
                                            except;
                                                Application.MessageBox('系统错误,在单据过帐时,修改数据表【采购退货明细表】时出错,'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),Mb_ICONwarning);
                                                Exit;
                                            end;
                                        end;
                                    end;
                                    with frm_data.ClientDataSet_Add do
                                    begin
                                        Close;
                                        Commandtext:='';
                                        Commandtext:='Update [Receipt] set Flag_sign=''单据'' where Receipt_No='''+Trim(List_NO)+'''';
                                        try
                                            Execute;
                                            ///Stock_States_Total;
                                            Application.MessageBox('恭喜你!【采购退货单】单据过帐完毕!',pchar(application.Title),mb_iconwarning);
                                        except
                                            Application.MessageBox('系统错误,在单据过帐时,修改数据表【采购退货审核表】时出错,'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),Mb_ICONwarning);
                                            Exit;
                                        end;
                                    end;
                                except
                                    Application.MessageBox('系统错误,在操作数据表【采购退货明细表】循环时出错,'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),Mb_ICONwarning);
                                    Exit;
                                end;
                            except
                                Application.MessageBox('系统错误,在修改数据表【采购退货单】时出错,'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),Mb_ICONwarning);
                                Exit;
                            end;
                        end;
                    end;
                except
                    Application.MessageBox('系统错误,在打开数据表【采购退货视图】时出错,'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),Mb_ICONwarning);
                    Exit;
                end;
            end;
        end;
        if Public_Do_Result='02' then //存入草稿
        begin
            with frm_data.ClientDataSet_Add do
            begin
                Close;
                Commandtext:='';
                Commandtext:='Update [Cancel_strip] set Contract_No='''+Trim(Edit3.Text)+''',Gather_Name='''+Trim(Edit4.Text)+''',Storage_NO='''+Trim(Edit5.Text)+''',Transactor='''+Trim(Edit6.Text)+''',Shop_NO='''+Trim(Edit7.Text)+''',proposer='''+Trim(Edit8.Text)+''',Condense='''+Trim(Edit9.Text)+''',Remark='''+Trim(Edit10.Text)+''' where Stock_No='''+Trim(List_NO)+'''';
                try
                    Execute;
                    try
                        for i:=1 to Total_Count-1 do
                        begin
                            with frm_data.ClientDataSet_Add do
                            begin
                                Close;
                                CommandText:='';
                                CommandText:='update [Cancel_strip_detail] set Pass_NO='''+Trim(StringGrid1.Cells[3,i])+''',price='''+Trim(StringGrid1.Cells[4,i])+''',amount='''+Trim(StringGrid1.Cells[5,i])+''',Total_Money='''+Trim(StringGrid1.Cells[6,i])+''',agio='''+Trim(StringGrid1.Cells[7,i])+''',agio_price='''+Trim(StringGrid1.Cells[8,i])+''',agio_money='''+Trim(StringGrid1.Cells[9,i])+''',tax_rate='''+Trim(StringGrid1.Cells[10,i])+''',tax_rate_price='''+Trim(StringGrid1.Cells[11,i])+''',tax_money='''+Trim(StringGrid1.Cells[12,i])+''',quality='''+Trim(StringGrid1.Cells[13,i])+''',Fade_Name='''+Trim(StringGrid1.Cells[14,i])+''' where Stock_NO='''+Trim(List_NO)+''' and Goods_No='''+Trim(StringGrid1.Cells[1,i])+'''';
                                try
                                    Execute;
                                except;
                                    Application.MessageBox('系统错误,在单据过帐时,修改数据表【采购退货明细表】时出错,'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),Mb_ICONwarning);
                                    Exit;
                                end;
                            end;
                        end;
                    except
                        Application.MessageBox('系统错误,在操作数据表【采购退货明细表】循环时出错,'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),Mb_ICONwarning);
                        Exit;
                    end;
                except
                    Application.MessageBox('系统错误,在修改数据表【采购退货单】时出错,'+#13#10+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),Mb_ICONwarning);
                    Exit;
                end;
            end;
        end;
        if Public_Do_Result='03' then //废弃退出
        begin
            Close;
        end;
    end;
end;


procedure Tfrm_Stock_Fad.StringGrid1DblClick(Sender: TObject);
var
    openstr:string;
    S1,s2,s3:string;
begin
    if Trim(Edit2.Text)='' then
    begin
        Application.MessageBox('操作失败,【单据编号】不能为空!',pchar(application.Title),mb_iconwarning);
        Edit2.SetFocus;
        Exit;
    end;
    if Trim(Edit4.Text)='' then
    begin
        Application.MessageBox('操作失败,【供货单位】不能为空!',pchar(application.Title),mb_iconwarning);
        Edit4.SetFocus;
        Exit;
    end;
    if Trim(Edit5.Text)='' then
    begin
        Application.MessageBox('操作失败,【经手人】不能为空!',pchar(application.Title),mb_iconwarning);
        Edit5.SetFocus;
        Exit;
    end;
    s1:='select Goods_NO,Goods_Name,Goods_Modal_No,Goods_Modal,Goods_Cards_NO,Goods_Cards,Goods_Brand_NO,';
    S2:='Goods_Brand,Norms_Type_NO,Norms_Type,Goods_Sphere,Goods_Column,Goods_Color_NO,Goods_Color,Goods_Coding,Enroll_Brand,Factory,';
    s3:='Goods_abbrev,Base_Monad,Whole_Monad,Valid_Month,Valid_Day,Remark from [Goods_Information]';
    openstr:=s1+s2+s3;
    if PCol=1 then //表示选择的是商品编号 选择的是第一列
    begin
        Goods_Check_str:='';
        frm_Goods_Check:=Tfrm_Goods_Check.Create(self);
        frm_Goods_Check.ShowModal;
        if Goods_Check_str='Stock_0004' then
        begin
            try
                with frm_data.ClientDataSet_Add do
                begin
                    Close;
                    CommandText:='';
                    CommandText:='select * from [Goods_Information]  where Goods_No='''+Goods_No_Str+'''';
                    Open;
                    StringGrid1.Cells[1,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_NO'];//商品名称
                    StringGrid1.Cells[2,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Name'];//商品名称
                    StringGrid1.Cells[15,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Modal']; //类别名称
                    StringGrid1.Cells[16,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Cards']; //品牌名称
                    StringGrid1.Cells[17,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Brand']; //品种名称
                    StringGrid1.Cells[18,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Norms_Type'];//规格型号名称
                    StringGrid1.Cells[19,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Sphere'];//球面度数
                    StringGrid1.Cells[20,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Column'];//柱面度数
                    StringGrid1.Cells[21,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Color'];//颜色名称
                    StringGrid1.Cells[22,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Coding'];//商品条玛
                    StringGrid1.Cells[23,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Enroll_Brand'];//注册商标
                    StringGrid1.Cells[24,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Factory'];//生产厂家
                    StringGrid1.Cells[25,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Base_Monad'];//基本单位
                    StringGrid1.Cells[26,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Valid_Day']; //有效日期
                    StringGrid1.Cells[27,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Remark'];  //备注说明
                end;
            except
                application.MessageBox('操作失败,请检查连接网络是否正常?请确认!',pchar(application.Title),mb_iconwarning);
            end;
        end;
        frm_Goods_Check.Free;
    end;
    if PCol=2 then //表示选择的是商品名称 选择的是第二列
    begin
        Goods_Check_str:='';
        frm_Goods_Check:=Tfrm_Goods_Check.Create(self);
        frm_Goods_Check.ShowModal;
        if Goods_Check_str='Stock_0004' then
        begin
            try
                with frm_data.ClientDataSet_Add do
                begin
                    Close;
                    CommandText:='';
                    CommandText:='select * from [Goods_Information]  where Goods_No='''+Goods_No_Str+'''';
                    Open;
                    StringGrid1.Cells[1,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_NO'];//商品名称
                    StringGrid1.Cells[2,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Name'];//商品名称
                    StringGrid1.Cells[14,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Modal']; //类别名称
                    StringGrid1.Cells[15,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Cards']; //品牌名称
                    StringGrid1.Cells[16,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Brand']; //品种名称
                    StringGrid1.Cells[17,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Norms_Type'];//规格型号名称
                    StringGrid1.Cells[18,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Sphere'];//球面度数
                    StringGrid1.Cells[19,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Column'];//柱面度数
                    StringGrid1.Cells[20,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Color'];//颜色名称
                    StringGrid1.Cells[21,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Goods_Coding'];//商品条玛
                    StringGrid1.Cells[22,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Enroll_Brand'];//注册商标
                    StringGrid1.Cells[23,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Factory'];//生产厂家
                    StringGrid1.Cells[24,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Base_Monad'];//基本单位
                    StringGrid1.Cells[25,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Valid_Day']; //有效日期
                    StringGrid1.Cells[26,String_Col]:=frm_data.ClientDataSet_Add.FieldValues['Remark'];  //备注说明
                end;
            except
                application.MessageBox('操作失败,请检查连接网络是否正常?请确认!',pchar(application.Title),mb_iconwarning);
            end;
        end;
        frm_Goods_Check.Free;
    end;
end;


procedure Tfrm_Stock_Fad.StringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
     with sender as TStringGrid do
    begin
        if (GDFocused in state) then
        begin
            Pcol:=Acol;
            Prow:=ARow;
            func.String_Col:=ARow;
        end;
    end;
end;

procedure Tfrm_Stock_Fad.Cmd1Click(Sender: TObject);
begin
    if Flag1=1 then
    begin
        if Application.MessageBox('确定需要【审核】该单据吗?请确认!',pchar(application.Title),mb_okcancel)=idok then
        begin
            try
                with frm_data.ClientDataSet4 do
                begin
                    Close;
                    Commandtext:='';
                    Commandtext:='Update [Receipt] set Examine_Man1='''+Trim(Handle_Man)+''' where Receipt_No='''+Trim(Edit2.Text)+''' and Receipt_Name=''采购退货单''';
                    Execute;
                    L1.Caption:='';
                    L1.Caption:=LevelName1+'【已审】';
                    Flag1:=2;
                    Application.MessageBox('【审核】操作成功!请确认',Pchar(application.Title),MB_ICONwarning);
                    Cmd_Check_Filsh;
                end;
            except
                Application.MessageBox('【审核】操作失败!,请确认!',pchar(application.Title),mb_iconwarning);
                Exit;
            end;
        end;
    end
    else if Flag1=2 then
    begin
        if Application.MessageBox('确定需要【反审核】该单据吗?'+#13#10+'如果【反审核】你将使后面级别的人的【审核】作废,'+#13#10+'后面级别的人必须重新【审核】,才能够生效,请确认!',pchar(application.Title),mb_okcancel)=idok then
        begin
            try
                with frm_data.ClientDataSet4 do
                begin
                    Close;
                    Commandtext:='';
                    Commandtext:='Update [Receipt] set Examine_Man1='''',Examine_Man2='''',Examine_Man3='''',Examine_Man4='''',Examine_Man5='''' where Receipt_No='''+Trim(Edit2.Text)+''' and Receipt_Name=''采购退货单''';
                    Execute;

                    L1.Caption:=LevelName1+':'+Handle_Man;
                    L2.Caption:=LevelName2+':'+Handle_Man;
                    L3.Caption:=LevelName3+':'+Handle_Man;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -