Foxtable(狐表)用户栏目专家坐堂 → [分享]仓库管理系统


  共有21020人关注过本帖树形打印复制链接

主题:[分享]仓库管理系统

帅哥哟,离线,有人找我吗?
bobolan521
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
[分享]仓库管理系统  发帖心情 Post By:2016/10/28 9:16:00 [显示全部帖子]

图片点击可在新窗口打开查看

[此贴子已经被作者于2020/6/18 8:39:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
bobolan521
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2016/10/28 9:24:00 [显示全部帖子]

先预留几楼
1、基础资料表我们就暂不讲解了,下面我们来看一下这几张表
图片点击可在新窗口打开查看此主题相关图片如下:a.png
图片点击可在新窗口打开查看

这张表用来登记每一表中,哪些字段是必填的,哪些字段是允许编辑的,哪些字段是否合计

2、单据配置表

图片点击可在新窗口打开查看此主题相关图片如下:b.png
图片点击可在新窗口打开查看

单据配置表,是用来记录某种单据类型表头和表体要显示的字段、必填字段,具体内容大家可看见表格内

3、用户配置表
图片点击可在新窗口打开查看此主题相关图片如下:c.png
图片点击可在新窗口打开查看

用户配置表是用来记录,每个用户在每个窗体表格里,可见的字段以及列宽,新用户第一次打开窗体后可以自动新增记录。并且保存用户设置的列宽

4、日志表 
图片点击可在新窗口打开查看此主题相关图片如下:d.png
图片点击可在新窗口打开查看
用来记录每一个用何时打开、关闭、保存等操作。

5、内部函数表 
图片点击可在新窗口打开查看此主题相关图片如下:e.png
图片点击可在新窗口打开查看

用来记录常用的一些代码,在项目加载后自动增加,并可调用。


[此贴子已经被作者于2016/10/28 9:53:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
bobolan521
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2016/10/28 9:25:00 [显示全部帖子]

下面我们来进入软件窗体的一些解讲吧
我们公司使用的是金碟K3软件,出入库单据有,外购入库、生产领料,其他入库、基他出库、委外入库、委外出库、销售出库、产品入库等常用的单据
单据比较多,所以此次设计考虑所有单据共用一个制单窗体。


图片点击可在新窗口打开查看此主题相关图片如下:f.png
图片点击可在新窗口打开查看

首先我们来看仓库模块、菜单上有外购入库、和生产领料,不论我点击哪个,其他跳出来的窗体都是同一个,但是窗体的标题会自动从菜单中读取。

但是外购入库的窗体上有供应商、生产领单上不需要啊,这时我们的单据配置表就起作用了,自动来判断哪些字段该显示,哪些字段为必填字段。

 

 

项目加截事件中

添加以下代码,实现自动读取从内部函数表中的记录,来生成内部函数,以方便调用,通过数据表来保存内部函数代码

Dim drs As new List(Of DataRow)
drs = DataTables("内部函数").sqlSelect("")
For Each dr As DataRow In  drs
    Functions.remove(dr("名称"))
    Functions.Add(dr("名称"),dr("代码")  )
    Functions.Complie()
Next

 

 

窗体打开后 afterload的代 码

 

_ckmc =e.Form.Name

Dim r As Row =Tables("出入库单主表").AddNew()
r("单据类型")= _djlx
Tables(e.Form.Name & "_制单表").Filter ="单据编号='" & r("单据编号") & "'  "

Functions.Execute("打开")  (此处执行的内部函数,打开窗体后,自动记录下某个用户,几点几分,登录了这个窗体)
Functions.Execute("窗口")  
Functions.Execute("打开制单")(表头必填,表体必填的字段自动着色,不允许填写的字段自动锁定)

 
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看



''''''表头显示字段/表头必填字段

Dim dra As DataRow = DataTables("单据配置表").Find("单据类型='" & _djlx & "' and 窗口名称='" & _ckmc & "' ")
_btzd  = "|" & dra("单据体必填字段") & "|"        '''''''''

r("方向")=dra("方向")


Dim xszd As String = dra("单据头显示列")
Dim btzd As String = dra("单据头必填字段")
For Each c As WinForm.Control In e.Form.Controls
    If btzd.Contains(c.Name)=True Then
        c.BackColor = Color.yellow (表头必填字段为黄色)
    End If
   
    If Typeof c Is WinForm.ComboBox=True Or  Typeof c Is WinForm.Label=True Or Typeof c Is WinForm.DateTimePicker =True Then
        If   xszd.Contains(c.Name.Trim("_"))=True  Or c.Name.Contains("选单号")=True  Or c.Name.Contains("源单类型")=True Or c.Name.Contains("方向")=True  Then
            c.Visible =True
        Else
            c.Visible =False
        End If
    End If
Next
''''''表头显示字段/表头必填字段

 

Dim lx As WinForm.Label = e.Form.Controls("外购入库")
lx.Text = _djlx
lx.Visible =True
e.Form.Text = _djlx


[此贴子已经被作者于2016/10/28 19:04:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
bobolan521
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2016/10/28 9:26:00 [显示全部帖子]

2016年11月1日新增单设置功能

通过窗体来设置每张单据,修改单据配置表,来显示单据头和单据体要显示的字段和必填字段,以及列宽

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

窗体里的datacolchanged事件中增加以下代码

 

Dim ctmc As WinForm.ComboBox = e.Form.Controls("窗口名称")
Dim djlx As WinForm.ComboBox = e.Form.Controls("单据类型")
Dim btbt As WinForm.ComboBox = e.Form.Controls("表头表体")

If btbt.Value="表头" Then
   
    If e.DataCol.Name = "是否显示" Or e.DataCol.Name = "是否必填" Then
       
        Dim s As String
        Dim m As String
        For Each r As Row In Tables(e.Form.name & "_table1").Rows
            If r("是否显示") = True Then
                s = s & r("字段") & "|"
            End If
            If r("是否必填") = True Then
                m= m & r("字段") & "|"
            End If
           
        Next
        s=s.Trimend("|")
        m=m.Trimend("|")
       
        Dim dr As DataRow
        dr = DataTables("单据配置表").SQLFind( "窗口名称 = '" & ctmc.Value & "' and 单据类型 = '" & djlx.Value & "'" )
        If dr IsNot Nothing Then
            dr("单据头显示列") = s
            dr("单据头必填字段") = m
            dr.Save
        End If
    End If
ElseIf btbt.Value="表体" Then
   
    Dim s As String
    Dim m As String
    For Each r As Row In Tables(e.Form.name & "_table1").Rows
        If r("是否显示") = True Then
            s = s & r("字段") & "|" & r("宽度") & "|"
        End If
        If r("是否必填") = True Then
            m= m & r("字段") & "|"
        End If
       
    Next
    s=s.Trimend("|")
    m=m.Trimend("|")
   
    Dim dr As DataRow
    dr = DataTables("单据配置表").SQLFind( "窗口名称 = '" & ctmc.Value & "' and 单据类型 = '" & djlx.Value & "'" )
    If dr IsNot Nothing Then
        dr("单据体显示列") = s
        dr("单据体必填字段") = m
        dr.Save
    End If
    '
End If

[此贴子已经被作者于2016/11/1 10:38:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
bobolan521
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2016/10/28 9:26:00 [显示全部帖子]

 


图片点击可在新窗口打开查看此主题相关图片如下:aa.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:bbb.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:ccc.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/8/2 16:19:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
bobolan521
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2016/10/28 9:55:00 [显示全部帖子]

看来移动的光纤真的有问题,OK,谢谢反溃,我会想办法解决

 回到顶部
帅哥哟,离线,有人找我吗?
bobolan521
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2016/10/28 12:38:00 [显示全部帖子]

1.比如说K3里的投料单变更,K3系统里的变更太死板,如果车间多领料了,根本就没有办法变更下来,必须先退料后才能变更,
所以我们用狐表开发了投料单变更功能,自动生成退料报表,
2.另外像K3里的投料单查询,库存查询,单据查询如果购买的站点不够的话,没办法多人同时查询,而且K3里的查询权限不够细,
比如一个人具备查询领料单的权限,那么所有人制单的他都可以查询。而且如果有多个账套就必须登录两个账套查询
 
快速切换账套,查询一些常用的K3软件信息,解决站点问题 ,同时培训起来很方便


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 


 


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

 


 


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/10/28 12:48:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
bobolan521
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2016/10/28 18:41:00 [显示全部帖子]

重新换了个数据源应该可以了

 回到顶部
帅哥哟,离线,有人找我吗?
bobolan521
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2016/10/28 18:42:00 [显示全部帖子]

请问你要实现什么功能

 回到顶部
帅哥哟,离线,有人找我吗?
bobolan521
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2016/10/29 11:54:00 [显示全部帖子]

这个需求很简单啊
[此贴子已经被作者于2020/5/18 12:16:24编辑过]

 回到顶部
总数 13 1 2 下一页