Office中国论坛/Access中国论坛

标题: 国内唯一真正全代码开源ERP:永思ERP2.0 完整源码 [打印本页]

作者: fd901028    时间: 2016-12-20 09:15
标题: 国内唯一真正全代码开源ERP:永思ERP2.0 完整源码
    这是国内唯一一套真正全代码开源的ERP软件,是的,唯一!全套!源代码开放!含权限,打印模块! 可自定义字段!  其他全是伪开源,或是阉割版!
重要的是:采用VB.net开发,非常适合咱们这些早期使用VBA的爱好者。

软件在开发思路和实现功能上,紧贴实际需求。功能和界面已经达到同时代 X友,X蝶的绝大多数实用功能,但体积仅为其1%不到。牛!
总之!这是最好(没有之一)的学习教材!!!  

    补充:4年前,软件作者不再更新,并且关闭了网站。开源,也许就没有饭吃,程序大牛的悲哀(我记得他当想提供SaaS模式盈利)!
网上也有源代码下载,多数会报4-500个错误(引用问题等),在此,我把本人整理好(可以直接运行)的源代码分享给大家,希望初学者能得到一些帮助,少走弯路(比如网上的 增、删、改、查 例子多是基于单表,如何更新 主从表?永思ERP 有)。
    末了,对 永思ERP 源码作者表示感谢!直到现在,我都不知道他姓甚名谁!只能再次说声:谢谢!


作者: fd901028    时间: 2016-12-20 09:17
压缩包内的包含数据库:STwo 请自行附加。
作者: shenzhenzch    时间: 2016-12-20 13:39
向源作者致敬!有时间也学习一下.Net
作者: 风中漫步    时间: 2016-12-21 13:54
谢谢分享
开源,也许就没有饭吃,程序大牛的悲哀

我个人认为,这不止和开源有关。原因挺多

作者: fd901028    时间: 2016-12-22 11:38
源码录入界面 CommomOrder 没有参照 现存量 功能,自己写了一个:
1、在CommonOrder  顶端 添加 Button:btnGetSto ,设置快捷键 F4.
2、给Dg1 添加 KeyDown 事件,

3、给 CommomOrder 添加事件,源码如下:

'========参照现存量
        Private Sub btnGetSto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetSto.Click
            If TS.State = Control.MyToolStrip.ToolStripState.None Then
                myMsg("请新增或修改单据")
                Exit Sub
            End If
            If CheckData() = False Then
                Exit Sub
            End If
            '==========传递参数=
            PasPar()
            Dim mdls As Model.Order.CommonOrder.OrdersInfoCollection
            If Me.pnl.Controls.Contains(Me.txtCusName) Then
                mdls = GetSto.GetSto.GetSto_WithCusCode(Me.VouchType, Me.txtCusName.Value, Me.cWh, Me.cInv, Me.cBatch,
                                                        Me.cFr1, Me.cFr2, Me.cFr3, Me.cFr4, Me.cFr5, Me.cFr6, Me.cFr7, Me.cFr8)
            ElseIf Me.pnl.Controls.Contains(Me.txtVenName) Then
                mdls = GetSto.GetSto.GetSto_WithVenCode(Me.VouchType, Me.txtCusName.Value, Me.cWh, Me.cInv, Me.cBatch,
                                                        Me.cFr1, Me.cFr2, Me.cFr3, Me.cFr4, Me.cFr5, Me.cFr6, Me.cFr7, Me.cFr8)
            Else
                mdls = GetSto.GetSto.GetSto(Me.VouchType)
            End If
            If mdls.Count <> 0 Then
                Dim mdlsTemp As Model.Order.CommonOrder.OrdersInfoCollection = dg1.DataSource
                mdlsTemp = Helper.DeleteEmptyRow(mdlsTemp)
                mdlsTemp.Merge(mdls)
                Helper.AddOrComputeTotalRow(mdlsTemp)
                dg1.DataSource = mdlsTemp
            End If
        End Sub

        '' 注意,dg1 进入按F4有效,进入单元格级别(编辑某个单元格时) 按F4,无效,单元格没有定义 F4 的事件。
        Private Sub dg1_KeyDown(sender As Object, e As KeyEventArgs) Handles dg1.KeyDown
            If e.KeyCode = Keys.F4 Then
                If TS.State = Control.MyToolStrip.ToolStripState.None Then
                    myMsg("请新增或修改单据")
                    Exit Sub
                End If
                If CheckData() = False Then
                    Exit Sub
                End If
                '==========传递参数=
                PasPar()
                '===========接受getSto的返回mdl
                Dim mdls As Model.Order.CommonOrder.OrdersInfoCollection
                If Me.pnl.Controls.Contains(Me.txtCusName) Then
                    mdls = GetSto.GetSto.GetSto_WithCusCode(Me.VouchType, Me.txtCusName.Value, Me.cWh, Me.cInv, Me.cBatch,
                                                            Me.cFr1, Me.cFr2, Me.cFr3, Me.cFr4, Me.cFr5, Me.cFr6, Me.cFr7, Me.cFr8)
                ElseIf Me.pnl.Controls.Contains(Me.txtVenName) Then
                    mdls = GetSto.GetSto.GetSto_WithVenCode(Me.VouchType, Me.txtCusName.Value, Me.cWh, Me.cInv, Me.cBatch,
                                                            Me.cFr1, Me.cFr2, Me.cFr3, Me.cFr4, Me.cFr5, Me.cFr6, Me.cFr7, Me.cFr8)
                Else
                    mdls = GetSto.GetSto.GetSto(Me.VouchType)
                End If
                If mdls.Count <> 0 Then
                    Dim mdlsTemp As Model.Order.CommonOrder.OrdersInfoCollection = dg1.DataSource
                    mdlsTemp = Helper.DeleteEmptyRow(mdlsTemp)
                    mdlsTemp.Merge(mdls)
                    Helper.AddOrComputeTotalRow(mdlsTemp)
                    dg1.DataSource = mdlsTemp
                End If
            End If
        End Sub

        Private Sub PasPar()
            Dim dr As DataGridViewRow = dg1.CurrentRow
            Try
                cWh = dr.Cells(colWhName.HeaderText).Value.ToString
            Catch
                cWh = ""
            End Try
            Try
                cInv = dr.Cells(colInvName.HeaderText).Value.ToString
            Catch
                cInv = ""
            End Try
            Try
                cBatch = dr.Cells(colBatch.HeaderText).Value.ToString
            Catch
                cBatch = ""
            End Try

            Try
                cFr1 = dr.Cells(colInvFree1.HeaderText).Value.ToString
            Catch
                cFr1 = ""
            End Try
            Try
                cFr2 = dr.Cells(colInvFree2.HeaderText).Value.ToString
            Catch
                cFr2 = ""
            End Try
            Try
                cFr3 = dr.Cells(colInvFree3.HeaderText).Value.ToString
            Catch
                cFr3 = ""
            End Try
            Try
                cFr4 = dr.Cells(colInvFree4.HeaderText).Value.ToString
            Catch
                cFr4 = ""
            End Try
            Try
                cFr5 = dr.Cells(colInvFree5.HeaderText).Value.ToString
            Catch
                cFr5 = ""
            End Try
            Try
                cFr6 = dr.Cells(colInvFree6.HeaderText).Value.ToString
            Catch
                cFr6 = ""
            End Try
            Try
                cFr7 = dr.Cells(colInvFree7.HeaderText).Value.ToString
            Catch
                cFr7 = ""
            End Try
            Try
                cFr8 = dr.Cells(colInvFree8.HeaderText).Value.ToString
            Catch
                cFr8 = ""
            End Try
        End Sub

4、库存参照的源码在附件中,请自行添加到程序OrderView中;

注、源程序只有两个自由项,这段代码中有 8个 自由项,那是我二开时加的,请把多余的6个去掉。



作者: giminicn    时间: 2016-12-25 14:20
以前听说过。现在开始学习VB才觉得真可惜
作者: talonwei    时间: 2016-12-29 15:11
很好的东西,新人可以学习到很多技巧
作者: loren    时间: 2017-2-16 16:44
安装了永思erp,启动让选择链接数据库,哪位大师说说数据库怎么建啊?
作者: 尉蓝    时间: 2018-3-4 08:01
本帖最后由 尉蓝 于 2018-3-4 08:04 编辑

这个软件的使用说明有吗?网上下载了一个,老是提示数据库连接失败。  软件登录的用户名还有密码分别是什么?数据库没有密码吗?
作者: euilo    时间: 2018-7-14 10:13
这个软件的使用说明有吗?网上下载了一个,老是提示数据库连接失败。  软件登录的用户名还有密码分别是什么?数据库没有密码吗?
作者: boon    时间: 2019-4-9 13:18
谢谢分享
作者: xjy2004    时间: 2021-12-12 10:22
感谢感谢




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3