我来说说其中的几个问题:
1、第一个难点,其实我已经做过了,就是用一个比较严禁的方法,然后加上数据库事务来实现,生成的流水号唯一,并且也是顺序生成。
2、第四个难点,我们也做过,就是自己做的一个控件,让用户可以选择其中需要的内容,还可以根据用户需要的内容来查询符合条件的记录。
3、其中第二个难点,你可以试试用嵌入excel表格来解决这个问题,输入完之后就用程序处理。并且用execl后,第三个难题和第五个难题就应该不存在了。
1、第一个难点,其实我已经做过了,就是用一个比较严禁的方法,然后加上数据库事务来实现,生成的流水号唯一,并且也是顺序生成。
2、第四个难点,我们也做过,就是自己做的一个控件,让用户可以选择其中需要的内容,还可以根据用户需要的内容来查询符合条件的记录。
3、其中第二个难点,你可以试试用嵌入excel表格来解决这个问题,输入完之后就用程序处理。并且用execl后,第三个难题和第五个难题就应该不存在了。
用asp.net做erp,我提的問題我認為不可避免,應該無論如何,輸入效率都是個應該重點考慮的問題。
我之所以拋轉引玉提出這個問題,是想讓大家集思廣益。
對於上面的問題,我已經有了一個完善的做法了,下面我講一下我大概的思路:
第一點純粹是為了保証數據的唯一性問題,我就用我上面講的辦法去做的;
其他的問題我想採用了Infragistics 的DataGrid控件(最新版本v2.0),並且需要改寫部分原始碼,比如原來它提供了一個多欄下拉框,CheckBox等,我要把它的多欄下拉框改寫成用PopupWindow顯示出來,這樣就不怕被其他的Select控件擋住了,然後再加上了一個可以直接把欄類型設為Date,或者Calculator,一點Button,馬上Popup出一個DatePicker或者一個計算器,這樣方便輸入,至於箭頭及Enter鍵移動,用該控件很方便實現。
其實這些都應該在WinForm中架構比較方便,但是既然客戶要求了,總不能說我就不做吧!
用asp.net做erp, 无论如何性能不能和c/s相比,大量的使用控件也不是一种提高效率的办法。下面就入库单输入谈谈我的做法(已经在运行中,客户没有不满意的地方):首先,让我们看看在线购物的b/s设计的实现,通常是分类列出产品,客户点击产品添加到购物车,确定购买产品的数量(这里有两种方式,一种是:客户可以在添加产品之前输入数量;另一种是客户在选择产品之后输入产品数量),最后生成订单。
基于以上的设计思路,我们的入库单采用了同样的设计,当用户进入入库单输入页面,页面上部是一个入库单的表格,其中可编辑栏可以设定(如计量单位,数量,价格)
在入库单下面是一个物料列表(分左右两部分,左边为类别,右边是选择类别中的物料列表)
物料列表中的每一项都有一个添加按钮,当客户点击这个按钮,该物料自动添加到入库单上。
关于入库单的流水号,日期,操作员等字段实际上不需要用户来输入,系统可以自动生成。
以后方法既简捷又直观,容易实现,而且性能也不差。同时也避免了多用户的并发冲突。所以我不认为这种设计非要模仿桌面应用的界面不可。
3F6D4EFA-1624-423E-971B-96BF7F150045
这样的编码,绝对保证唯一性。
如果因为其他模块的处理需要ID主键必须为Integer数字型,而且不能跳号,那么只有在存储过程或者在后台代码进行处理,非常麻烦。而且数据库的主键字段不能为自动编号,自动编号可以实现不跳号的自动流水号,但是不能删除,执行了删除操作则这个流水号的值以后就不能用了。出现跳号。