設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

12下一頁
返回列表 發(fā)新帖
查看: 15033|回復(fù): 11
打印 上一主題 下一主題

國內(nèi)唯一真正全代碼開源ERP:永思ERP2.0 完整源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2016-12-20 09:15:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    這是國內(nèi)唯一一套真正全代碼開源的ERP軟件,是的,唯一!全套!源代碼開放!含權(quán)限,打印模塊! 可自定義字段!  其他全是偽開源,或是閹割版!
重要的是:采用VB.net開發(fā),非常適合咱們這些早期使用VBA的愛好者。

軟件在開發(fā)思路和實現(xiàn)功能上,緊貼實際需求。功能和界面已經(jīng)達到同時代 X友,X蝶的絕大多數(shù)實用功能,但體積僅為其1%不到。牛!
總之!這是最好(沒有之一)的學(xué)習(xí)教材。!  

    補充:4年前,軟件作者不再更新,并且關(guān)閉了網(wǎng)站。開源,也許就沒有飯吃,程序大牛的悲哀(我記得他當(dāng)想提供SaaS模式盈利)!
網(wǎng)上也有源代碼下載,多數(shù)會報4-500個錯誤(引用問題等),在此,我把本人整理好(可以直接運行)的源代碼分享給大家,希望初學(xué)者能得到一些幫助,少走彎路(比如網(wǎng)上的 增、刪、改、查 例子多是基于單表,如何更新 主從表?永思ERP 有)。
    末了,對 永思ERP 源碼作者表示感謝!直到現(xiàn)在,我都不知道他姓甚名誰!只能再次說聲:謝謝!

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享分享 分享淘帖 訂閱訂閱
推薦
 樓主| 發(fā)表于 2016-12-22 11:38:51 | 只看該作者
源碼錄入界面 CommomOrder 沒有參照 現(xiàn)存量 功能,自己寫了一個:
1、在CommonOrder  頂端 添加 Button:btnGetSto ,設(shè)置快捷鍵 F4.
2、給Dg1 添加 KeyDown 事件,

3、給 CommomOrder 添加事件,源碼如下:

'========參照現(xiàn)存量
        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("請新增或修改單據(jù)")
                Exit Sub
            End If
            If CheckData() = False Then
                Exit Sub
            End If
            '==========傳遞參數(shù)=
            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("請新增或修改單據(jù)")
                    Exit Sub
                End If
                If CheckData() = False Then
                    Exit Sub
                End If
                '==========傳遞參數(shù)=
                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個去掉。


本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
2#
 樓主| 發(fā)表于 2016-12-20 09:17:09 | 只看該作者
壓縮包內(nèi)的包含數(shù)據(jù)庫:STwo 請自行附加。
3#
發(fā)表于 2016-12-20 13:39:56 | 只看該作者
向源作者致敬!有時間也學(xué)習(xí)一下.Net
4#
發(fā)表于 2016-12-21 13:54:43 | 只看該作者
謝謝分享
開源,也許就沒有飯吃,程序大牛的悲哀

我個人認為,這不止和開源有關(guān)。原因挺多
6#
發(fā)表于 2016-12-25 14:20:58 | 只看該作者
以前聽說過,F(xiàn)在開始學(xué)習(xí)VB才覺得真可惜
7#
發(fā)表于 2016-12-29 15:11:50 | 只看該作者
很好的東西,新人可以學(xué)習(xí)到很多技巧
8#
發(fā)表于 2017-2-16 16:44:45 | 只看該作者
安裝了永思erp,啟動讓選擇鏈接數(shù)據(jù)庫,哪位大師說說數(shù)據(jù)庫怎么建?
9#
發(fā)表于 2018-3-4 08:01:23 | 只看該作者
本帖最后由 尉藍 于 2018-3-4 08:04 編輯

這個軟件的使用說明有嗎?網(wǎng)上下載了一個,老是提示數(shù)據(jù)庫連接失敗。  軟件登錄的用戶名還有密碼分別是什么?數(shù)據(jù)庫沒有密碼嗎?

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
10#
發(fā)表于 2018-7-14 10:13:38 | 只看該作者
這個軟件的使用說明有嗎?網(wǎng)上下載了一個,老是提示數(shù)據(jù)庫連接失敗。  軟件登錄的用戶名還有密碼分別是什么?數(shù)據(jù)庫沒有密碼嗎?
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 08:38 , Processed in 0.167215 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表