123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451 |
- Option Strict Off
- Public Class 財務_收支單申請_ICS
- ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet
- Private DTP As String
- Private DTP1 As String
- Private WWEE As String
- Private 新流水1 As String
- Private 新項次 As String
- Private ReadOnly 新流水2 As String
- Dim NUM1, NUM2 As Integer : Dim 匯率1 As Double
- Private Sub Set_清單1()
- 營運收支單_dgv.DataSource = Nothing : ds1.Clear()
- 營運收支單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 營運收支單_dgv.ColumnHeadersHeight = 25
- 營運收支單_dgv.AllowUserToAddRows = False
- ConnOpen()
- If 未核准的收支單_rb.Checked = True And 作廢的收支單_rb.Checked = False And 已核准的收支單_rb.Checked = False Then
- WWEE = "WHERE (審核人 LIKE N'') "
- ElseIf 未核准的收支單_rb.Checked = False And 作廢的收支單_rb.Checked = True And 已核准的收支單_rb.Checked = False Then
- WWEE = "WHERE (審核人 LIKE N'作廢%') "
- ElseIf 未核准的收支單_rb.Checked = False And 作廢的收支單_rb.Checked = False And 已核准的收支單_rb.Checked = True Then
- WWEE = "WHERE (審核人 NOT LIKE N'作廢%') AND (審核人 NOT LIKE N'') "
- End If
- SQL1 = "SELECT 支付單號 AS 收支單號, 申請日期, 審核日期, 申請人 FROM 財務控制表_ICS " & WWEE & " ORDER BY 申請日期 DESC"
- CmdSet_For_DGV() : da.Fill(ds1) : 營運收支單_dgv.DataSource = ds1.Tables(0) : conn.Close()
-
- 營運收支單_dgv.Columns(0).FillWeight = 160 : 營運收支單_dgv.Columns(1).FillWeight = 100 : 營運收支單_dgv.Columns(2).FillWeight = 100 : 營運收支單_dgv.Columns(3).Visible = False
- End Sub
- Private Sub Set_費用清單()
- 明細表_dgv.DataSource = Nothing : ds.Clear()
- 明細表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 明細表_dgv.ColumnHeadersHeight = 25
- 明細表_dgv.AllowUserToAddRows = False
- 明細表_dgv.RowTemplate.Height = 35
- ConnOpen()
- SQL1 = "SELECT 財務流水帳_ICS.支付單號, 財務流水帳_ICS.項次, 會計科目.會計科目, 財務流水帳_ICS.明細 AS 用途,
- 財務流水帳_ICS.零用金, 財務流水帳_ICS.支票數 AS 支票, Cast(財務流水帳_ICS.收入 AS money) AS 收入,
- Cast(財務流水帳_ICS.支出 AS money) AS 支出, 財務流水帳_ICS.備註 AS 票期, 財務流水帳_ICS.匯率,
- 財務流水帳_ICS.銀行 AS 幣別, 財務流水帳_ICS.類別, 財務流水帳_ICS.流水號, 財務流水帳_ICS.含稅
- FROM 財務流水帳_ICS INNER JOIN
- 會計科目 ON 財務流水帳_ICS.類別 = 會計科目.編號
- WHERE (財務流水帳_ICS.支付單號 LIKE N'" & 收支單號_tb.Text & "')
- ORDER BY 財務流水帳_ICS.項次"
- CmdSet_For_DGV() : da.Fill(ds) : 明細表_dgv.DataSource = ds.Tables(0) : conn.Close()
-
- 明細表_dgv.Columns(0).Visible = False : 明細表_dgv.Columns(1).FillWeight = 80 : 明細表_dgv.Columns(2).FillWeight = 250 : 明細表_dgv.Columns(3).FillWeight = 400
- 明細表_dgv.Columns(4).Visible = False : 明細表_dgv.Columns(5).Visible = False : 明細表_dgv.Columns(6).FillWeight = 165 : 明細表_dgv.Columns(7).FillWeight = 165
- 明細表_dgv.Columns(8).FillWeight = 150 : 明細表_dgv.Columns(9).FillWeight = 130 : 明細表_dgv.Columns(10).FillWeight = 140 : 明細表_dgv.Columns(11).Visible = False
- 明細表_dgv.Columns(12).Visible = False : 明細表_dgv.Columns(13).FillWeight = 80
-
- 明細表_dgv.Columns(1).ReadOnly = True : 明細表_dgv.Columns(2).ReadOnly = True : 明細表_dgv.Columns(9).ReadOnly = True : 明細表_dgv.Columns(10).ReadOnly = True
-
- 明細表_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" : 明細表_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.00" : 明細表_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.00"
- 明細表_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00" : 明細表_dgv.Columns(8).DefaultCellStyle.Format = "#,##0.00"
- 明細表_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細表_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 明細表_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細表_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 明細表_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細表_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 明細表_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細表_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 明細表_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細表_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 明細表_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細表_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 明細表_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細表_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 明細表_dgv.EditMode = DataGridViewEditMode.EditOnEnter
-
- 收入_tb.Text = "0.00" : 支出_tb.Text = "0.00" : 合計_tb.Text = "0.00" : 零用金_tb.Text = "0" : 支票_tb.Text = "0.00"
- For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
- 收入_tb.Text = Val(收入_tb.Text) + Val(明細表_dgv.Rows(i).Cells("收入").Value) * 明細表_dgv.Rows(i).Cells("匯率").Value
- 支出_tb.Text = Val(支出_tb.Text) + Val(明細表_dgv.Rows(i).Cells("支出").Value) * 明細表_dgv.Rows(i).Cells("匯率").Value
- 零用金_tb.Text = Val(零用金_tb.Text) + 明細表_dgv.Rows(i).Cells("零用金").Value * 明細表_dgv.Rows(i).Cells("匯率").Value
- 支票_tb.Text = Val(支票_tb.Text) + 明細表_dgv.Rows(i).Cells("支票").Value * 明細表_dgv.Rows(i).Cells("匯率").Value
- Next i
- 合計_tb.Text = Val(零用金_tb.Text) + Val(收入_tb.Text) - Val(支出_tb.Text)
- If Val(合計_tb.Text) > 0 Then : 合計_tb.ForeColor = Color.Blue : Else : 合計_tb.ForeColor = Color.Red : End If
- 收入_tb.Text = Format(Val(收入_tb.Text), "#,##0.00") : 支出_tb.Text = Format(Val(支出_tb.Text), "#,##0.00") : 合計_tb.Text = Format(Val(合計_tb.Text), "#,##0.00")
- 零用金_tb.Text = Format(Val(零用金_tb.Text), "#,##0.00") : 支票_tb.Text = Format(Val(支票_tb.Text), "#,##0.00")
- End Sub
- Private Sub ComboBox1下拉表單資料載入()
- conn.Close()
- ConnOpen()
- SQL1 = "SELECT 會計科目, 編號 FROM 會計科目 WHERE (LEFT(編號, 7) LIKE N'" & 科目2_號_cb.Text & "') AND (停用 = 0) AND (統制科目 = 0) AND (顯示_ISC = 1) ORDER BY 編號"
- CmdSet_For_dr() : 科目3_名_cb.Items.Clear() : 科目3_號_cb.Items.Clear()
- While (dr.Read()) : 科目3_名_cb.Items.Add(dr("會計科目")) : 科目3_號_cb.Items.Add(dr("編號")) : End While : conn.Close()
- If 科目3_名_cb.Items.Count <> 0 Then : 科目3_名_cb.SelectedIndex = 0 : End If
- End Sub
- Private Sub ComboBox2下拉表單資料載入()
- conn.Close()
- ConnOpen()
- SQL1 = "SELECT 第一階, LEFT(編號, 4) AS 編號 FROM 會計科目 WHERE (停用 = 0) AND (顯示_ISC = 1) GROUP BY 第一階, LEFT(編號, 4) ORDER BY 編號"
- CmdSet_For_dr() : 科目1_名_cb.Items.Clear() : 科目1_號_cb.Items.Clear() : 科目1_名_cb.Text = "" : 科目1_號_cb.Text = ""
- While (dr.Read()) : 科目1_名_cb.Items.Add(dr("第一階")) : 科目1_號_cb.Items.Add(dr("編號")) : End While : conn.Close()
- End Sub
- Private Sub ComboBox3下拉表單資料載入()
- conn.Close()
- ConnOpen()
- SQL1 = "SELECT LEFT(編號, 7) AS 編號, 第二階, 層級 FROM 會計科目 WHERE (LEFT(編號, 4) LIKE N'" & 科目1_號_cb.Text & "') AND (層級 NOT LIKE N'3') AND (停用 = 0) AND (顯示_ISC = 1)
- GROUP BY LEFT(編號, 7), 第二階, 層級 ORDER BY 編號"
- CmdSet_For_dr() : 科目2_名_cb.Items.Clear() : 科目2_號_cb.Items.Clear() : 科目2_名_cb.Text = "" : 科目2_號_cb.Text = ""
- While (dr.Read()) : 科目2_名_cb.Items.Add(dr("第二階")) : 科目2_號_cb.Items.Add(dr("編號")) : End While : conn.Close()
- End Sub
- Private Sub 匯率()
- PA48 = Strings.Left(Strings.Format(日期_dtp.Value, "yyyyMMdd"), 4) : PA49 = Strings.Mid(Strings.Format(日期_dtp.Value, "yyyyMMdd"), 5, 2)
- SQL_匯率查詢()
- If dr.Read() Then
- 人民幣匯率_tb.Text = dr("中心匯率").ToString : 美金匯率_tb.Text = dr("美金匯率").ToString : 印尼匯率_tb.Text = dr("印尼匯率").ToString : conn.Close() : dr.Close()
- Else
- conn.Close() : dr.Close() : 匯率修改.Close() : 匯率修改.Show() : 匯率修改.BringToFront()
- End If
- End Sub
- Private Sub 財務_收支單申請_ISC_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- 未核准的收支單_rb.Checked = True : DateTimePicker2.Visible = False : 複製單據開單ToolStripMenuItem.Enabled = False : 科目3_號_cb.Visible = False
- 營運收支單_dgv.Visible = True : 視窗1_pl.Visible = False : Panel2.SendToBack() : Set_清單1() : ComboBox2下拉表單資料載入()
- 匯率()
- End Sub
- Private Sub 明細表_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 明細表_dgv.CellEndEdit
- 收入_tb.Text = "0" : 支出_tb.Text = "0" : 合計_tb.Text = "0" : 零用金_tb.Text = "0" : 支票_tb.Text = "0"
- For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
- 收入_tb.Text = Val(收入_tb.Text) + 明細表_dgv.Rows(i).Cells("收入").Value * 明細表_dgv.Rows(i).Cells("匯率").Value
- 支出_tb.Text = Val(支出_tb.Text) + 明細表_dgv.Rows(i).Cells("支出").Value * 明細表_dgv.Rows(i).Cells("匯率").Value
- 零用金_tb.Text = Val(零用金_tb.Text) + 明細表_dgv.Rows(i).Cells("零用金").Value * 明細表_dgv.Rows(i).Cells("匯率").Value
- 支票_tb.Text = Val(支票_tb.Text) + 明細表_dgv.Rows(i).Cells("支票").Value * 明細表_dgv.Rows(i).Cells("匯率").Value
- Next i
- 合計_tb.Text = Val(零用金_tb.Text) + Val(收入_tb.Text) - Val(支出_tb.Text)
- If Val(合計_tb.Text) > 0 Then : 合計_tb.ForeColor = Color.Blue : Else : 合計_tb.ForeColor = Color.Red : End If
- 收入_tb.Text = Format(Val(收入_tb.Text), "#,##0") : 支出_tb.Text = Format(Val(支出_tb.Text), "#,##0") : 合計_tb.Text = Format(Val(合計_tb.Text), "#,##0")
- 零用金_tb.Text = Format(Val(零用金_tb.Text), "#,##0") : 支票_tb.Text = Format(Val(支票_tb.Text), "#,##0")
- Dim EU As String
- EU = 明細表_dgv("票期", e.RowIndex).Value.ToString
- If EU = "" Then
- Else
- DateTimePicker2.Text = EU
- 明細表_dgv.Rows(e.RowIndex).Cells("票期").Value = Format(DateTimePicker2.Value, "yyyy/MM/dd")
- End If
- End Sub
- Private Sub 營運收支單_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 營運收支單_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 收支單號_tb.Text = 營運收支單_dgv(0, e.RowIndex).Value.ToString : 日期_dtp.Value = 營運收支單_dgv(1, e.RowIndex).Value.ToString : Set_費用清單()
- 申請人_tb.Text = 營運收支單_dgv(3, e.RowIndex).Value.ToString
- End If
- End Sub
- Private Sub 明細表_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 明細表_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- If 明細表_dgv.SelectedCells.Count = 1 Then
- If 明細表_dgv.SelectedCells(0).ColumnIndex = 4 Then
- 窗口表頭_lb.Text = "零用金-編輯指定" : 窗口說明1_lb.Text = "零用金" : NUM2 = 明細表_dgv.SelectedCells(0).RowIndex
- If 視窗1_pl.Visible = False Then : 視窗1_pl.Visible = True : 視窗1_pl.BringToFront() : Else : 視窗1_pl.Visible = False : End If
- ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 5 Then
- 窗口表頭_lb.Text = "支票-編輯指定" : 窗口說明1_lb.Text = "支票" : NUM2 = 明細表_dgv.SelectedCells(0).RowIndex
- If 視窗1_pl.Visible = False Then : 視窗1_pl.Visible = True : 視窗1_pl.BringToFront() : Else : 視窗1_pl.Visible = False : End If
- End If
- End If
- 項次_tb.Text = 明細表_dgv(1, e.RowIndex).Value.ToString : 幣別_cb.Text = 明細表_dgv("幣別", e.RowIndex).Value.ToString
- 科目1_號_cb.Text = Strings.Left(明細表_dgv("類別", e.RowIndex).Value.ToString, 4) : 科目2_號_cb.Text = Strings.Left(明細表_dgv("類別", e.RowIndex).Value.ToString, 7)
- 科目3_號_cb.Text = 明細表_dgv("類別", e.RowIndex).Value.ToString
- End If
- End Sub
- Private Sub ComboBox5_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 科目1_名_cb.TextChanged
- 科目1_號_cb.SelectedIndex = 科目1_名_cb.SelectedIndex : 關鍵字查詢會計科目_tb.Text = "" : ComboBox3下拉表單資料載入() : ComboBox1下拉表單資料載入()
- End Sub
- Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 科目1_號_cb.TextChanged
- 科目1_名_cb.SelectedIndex = 科目1_號_cb.SelectedIndex : ComboBox3下拉表單資料載入() : ComboBox1下拉表單資料載入()
- End Sub
- Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 科目2_名_cb.TextChanged
- 科目2_號_cb.SelectedIndex = 科目2_名_cb.SelectedIndex : ComboBox1下拉表單資料載入()
- End Sub
- Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 科目2_號_cb.TextChanged
- 科目2_名_cb.SelectedIndex = 科目2_號_cb.SelectedIndex : ComboBox1下拉表單資料載入()
- End Sub
- Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 科目3_名_cb.SelectedIndexChanged
- 科目3_號_cb.SelectedIndex = 科目3_名_cb.SelectedIndex
- End Sub
- Private Sub ComboBox6_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 科目3_號_cb.SelectedIndexChanged
- 科目3_名_cb.SelectedIndex = 科目3_號_cb.SelectedIndex
- End Sub
- Private Sub 關鍵字查詢會計科目_tb_TextChanged(sender As Object, e As EventArgs) Handles 關鍵字查詢會計科目_tb.TextChanged
- conn.Close()
- ConnOpen()
- SQL1 = "SELECT 會計科目, 編號 FROM 會計科目 WHERE (會計科目 LIKE N'%" & 關鍵字查詢會計科目_tb.Text & "%') AND (停用 = 0) AND (統制科目 = 0) ORDER BY 編號"
- CmdSet_For_dr() : 科目3_名_cb.Items.Clear() : 科目3_號_cb.Items.Clear()
- While (dr.Read()) : 科目3_名_cb.Items.Add(dr("會計科目")) : 科目3_號_cb.Items.Add(dr("編號")) : End While : conn.Close()
- If 科目3_名_cb.Items.Count <> 0 Then : 科目3_名_cb.SelectedIndex = 0 : End If
- End Sub
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- If Label62.Visible = True Then : Label62.Visible = False : Else : Label62.Visible = True : End If
- End Sub
- Private Sub Set_切換格式()
- 明細表_dgv.DataSource = Nothing : ds.Clear() : 收支單號_tb.Text = "" : 申請人_tb.Text = "" : 項次_tb.Text = "" : 收入_tb.Text = "" : 支出_tb.Text = "" : 合計_tb.Text = ""
- 零用金_tb.Text = "" : 支票_tb.Text = "" : ComboBox1下拉表單資料載入() : Set_清單1()
- End Sub
- Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles 未核准的收支單_rb.Click
- 未核准的收支單_rb.Checked = True : 作廢的收支單_rb.Checked = False : 已核准的收支單_rb.Checked = False
- 申請完成ToolStripMenuItem.Enabled = True : 複製單據開單ToolStripMenuItem.Enabled = False
- 開立零用金支付單ToolStripMenuItem.Enabled = True : 申請_bt.Enabled = True : 新增一筆資料ToolStripMenuItem.Enabled = True
- 刪除支付單中選中的資料ToolStripMenuItem.Enabled = True : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = True : Set_切換格式()
- End Sub
- Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles 作廢的收支單_rb.Click
- 未核准的收支單_rb.Checked = False : 作廢的收支單_rb.Checked = True : 已核准的收支單_rb.Checked = False
- 申請完成ToolStripMenuItem.Enabled = False : 複製單據開單ToolStripMenuItem.Enabled = False
- 開立零用金支付單ToolStripMenuItem.Enabled = False : 申請_bt.Enabled = False : 新增一筆資料ToolStripMenuItem.Enabled = False
- 刪除支付單中選中的資料ToolStripMenuItem.Enabled = False : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = False : Set_切換格式()
- End Sub
- Private Sub RadioButton3_CheckedChanged(sender As Object, e As EventArgs) Handles 已核准的收支單_rb.Click
- If CC(28) = False Then
- 未核准的收支單_rb.Checked = False : 作廢的收支單_rb.Checked = False : 已核准的收支單_rb.Checked = True
- 申請完成ToolStripMenuItem.Enabled = False : 複製單據開單ToolStripMenuItem.Enabled = True
- 開立零用金支付單ToolStripMenuItem.Enabled = False : 申請_bt.Enabled = False : 新增一筆資料ToolStripMenuItem.Enabled = False
- 刪除支付單中選中的資料ToolStripMenuItem.Enabled = False : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = False : Set_切換格式()
- Else
- 未核准的收支單_rb.Checked = False : 作廢的收支單_rb.Checked = False : 已核准的收支單_rb.Checked = True
- 申請完成ToolStripMenuItem.Enabled = True : 複製單據開單ToolStripMenuItem.Enabled = True
- 開立零用金支付單ToolStripMenuItem.Enabled = True : 申請_bt.Enabled = True : 新增一筆資料ToolStripMenuItem.Enabled = True
- 刪除支付單中選中的資料ToolStripMenuItem.Enabled = True : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = True : Set_切換格式()
- End If
- End Sub
- Private Sub 存檔()
- For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
- ConnOpen()
- SQL1 = "UPDATE 財務流水帳_ICS SET 明細 = N'" & 明細表_dgv.Rows(i).Cells("用途").Value & "', 支出 = N'" & 明細表_dgv.Rows(i).Cells("支出").Value &
- "', 備註 = N'" & 明細表_dgv.Rows(i).Cells("票期").Value & "' , 類別 = N'" & 明細表_dgv.Rows(i).Cells("類別").Value &
- "', 收入 = N'" & 明細表_dgv.Rows(i).Cells("收入").Value & "', 零用金 = N'" & 明細表_dgv.Rows(i).Cells("零用金").Value &
- "', 支票數 = N'" & 明細表_dgv.Rows(i).Cells("支票").Value & "', 匯率 = N'" & 明細表_dgv.Rows(i).Cells("匯率").Value &
- "', 含稅 = N'" & 明細表_dgv.Rows(i).Cells("含稅").Value & "'
- WHERE (支付單號 LIKE N'" & 收支單號_tb.Text & "' AND 項次 LIKE N'" & 明細表_dgv.Rows(i).Cells("項次").Value & "')"
- cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
- Next
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 申請_bt.Click
- Timer1.Enabled = False : Label62.Visible = False
- 開立零用金支付單ToolStripMenuItem.Enabled = True : 未核准的收支單_rb.Enabled = True : 作廢的收支單_rb.Enabled = True
- 營運收支單_dgv.Enabled = True : 已核准的收支單_rb.Enabled = True : 存檔() : Set_清單1() : MsgBox("申請完成,請通知主管審核。")
- End Sub
- Private Sub Set_日期格式轉換()
- If 補單_ch.Checked = False Then
- DTP = Format(Today(), "yyyy/MM/dd") : DTP1 = Format(Today(), "yyyyMMdd")
- Else
- DTP1 = Format(日期_dtp.Value, "yyyyMMdd") : DTP = Format(日期_dtp.Value, "yyyy/MM/dd")
- End If
- End Sub
- Private Sub Set_流水號()
- conn.Close() : dr.Close()
- Dim NUM1 As Integer
- For NUM1 = 0 To 99
- Dim d As String : Dim f As String : Dim g As Integer = 1
- If Month(Now) < 10 Then : d = "0" & CStr(Month(Now))
- Else : d = CStr(Month(Now))
- End If
- If Now.Day() < 10 Then : f = "0" & CStr(Now.Day())
- Else : f = CStr(Now.Day())
- End If
- If NUM1 < 10 Then : 新流水1 = "B" & Microsoft.VisualBasic.Right(CStr(Year(Now)), 2) & d & f & "0" & NUM1
- Else : 新流水1 = "B" & Microsoft.VisualBasic.Right(CStr(Year(Now)), 2) & d & f & NUM1
- End If
-
- ConnOpen()
- SQL1 = "SELECT 流水號 FROM 財務流水帳_ICS WHERE (流水號 ='" & 新流水1 & "')"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : conn.Close() : Else : conn.Close() : NUM1 = 99 : End If
- Next
- End Sub
- Private Sub 開立零用金支付單()
- Dim NUM1 As Integer : Timer1.Enabled = True
- Set_日期格式轉換()
- For i As Integer = 1 To 999
- NUM1 = 0 + i
- If NUM1 < 10 Then : 收支單號_tb.Text = "OE-" & DTP1 & "-00" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : 收支單號_tb.Text = "OE-" & DTP1 & "-0" & NUM1
- ElseIf NUM1 > 99 Then : 收支單號_tb.Text = "OE-" & DTP1 & "-" & NUM1
- End If
- conn.Close()
- ConnOpen()
- SQL1 = "SELECT TOP (1) 支付單號 FROM 財務控制表_ICS WHERE ( 支付單號 LIKE N'" & 收支單號_tb.Text & "')"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
- Next
- ConnOpen()
- SQL1 = "INSERT INTO 財務控制表_ICS (支付單號, 申請人, 申請日期, 審核人, 審核日期, 會計, 作帳日期, 出納, 出納日期, 備註, 公司編號) " &
- "VALUES (N'" & 收支單號_tb.Text & "', N'" & gUserName & "', N'" & DTP & "', N'', N'', N'', N'', N'', N'', N'', N'工巧明')"
- CmdSet_For_dr()
- 申請人_tb.Text = gUserName
- End Sub
- Private Sub 複製歷史單據重新開立_bt_Click(sender As Object, e As EventArgs) Handles 複製歷史單據重新開立_bt.Click
- 開立零用金支付單() : 開立零用金支付單ToolStripMenuItem.Enabled = False : 未核准的收支單_rb.Enabled = False : 作廢的收支單_rb.Enabled = False
- 已核准的收支單_rb.Enabled = False
- 營運收支單_dgv.Enabled = False : 未核准的收支單_rb.Checked = True : 作廢的收支單_rb.Checked = False : 已核准的收支單_rb.Checked = False
- 申請完成ToolStripMenuItem.Enabled = True
- 複製單據開單ToolStripMenuItem.Enabled = False : 開立零用金支付單ToolStripMenuItem.Enabled = True : 申請_bt.Enabled = True : 新增一筆資料ToolStripMenuItem.Enabled = True
- 刪除支付單中選中的資料ToolStripMenuItem.Enabled = True : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = True
- Set_清單1()
- For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
- Set_流水號()
- ConnOpen()
- SQL1 = "INSERT INTO 財務流水帳_ICS (流水號, 銀行, 日期, 類別, 收入, 支出, 明細, 人員, 支付單號, 項次, 會計, 出納, 現金, 備用金, 公帳, 支票,
- 出納日期, 零用金, 支票數, 匯率, 備註)
- VALUES (N'" & 新流水1 & "', N'" & 明細表_dgv.Rows(i).Cells("幣別").Value & "'', N'" & DTP & "', N'" & 明細表_dgv.Rows(i).Cells("類別").Value &
- "', N'" & 明細表_dgv.Rows(i).Cells("收入").Value & "', N'" & 明細表_dgv.Rows(i).Cells("支出").Value & "', N'" & 明細表_dgv.Rows(i).Cells("用途").Value &
- "', N'', N'" & gUserName & "', N'" & 收支單號_tb.Text & "', N'" & 明細表_dgv.Rows(i).Cells("項次").Value & "', N'1', N'0', N'0', N'0', N'0', N'0', N'" & DTP &
- "', N'" & 明細表_dgv.Rows(i).Cells("零用金").Value & "', N'" & 明細表_dgv.Rows(i).Cells("支票").Value & "', N'" & 明細表_dgv.Rows(i).Cells("匯率").Value &
- "', N'" & 明細表_dgv.Rows(i).Cells("票期").Value & "')"
- CmdSet_For_dr()
- Next
- Set_費用清單() : MsgBox("複製單據開立完成。")
- End Sub
- Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles 日期_dtp.ValueChanged
- 匯率()
- End Sub
- Private Sub 開立營運成本收支單_bt_Click(sender As Object, e As EventArgs) Handles 開立營運成本收支單_bt.Click
- 開立零用金支付單() : 開立零用金支付單ToolStripMenuItem.Enabled = False
- 未核准的收支單_rb.Enabled = False : 作廢的收支單_rb.Enabled = False
- 已核准的收支單_rb.Enabled = False : 營運收支單_dgv.Enabled = False
- 明細表_dgv.DataSource = Nothing : ds.Clear() : conn.Close()
- Set_清單1()
- End Sub
- Private Sub 刪除選中的營運成本收支單_bt_Click(sender As Object, e As EventArgs) Handles 刪除選中的營運成本收支單_bt.Click
- Dim aa As MsgBoxResult
- aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
- If aa = MsgBoxResult.Ok Then
- ConnOpen()
- SQL1 = "DELETE FROM 財務控制表_ICS WHERE (支付單號 LIKE N'" & 收支單號_tb.Text & "')"
- cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
- ConnOpen()
- SQL1 = "DELETE FROM 財務流水帳_ICS WHERE (支付單號 LIKE N'" & 收支單號_tb.Text & "')"
- cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
- 收支單號_tb.Text = "" : 申請人_tb.Text = "" : 項次_tb.Text = ""
- 明細表_dgv.DataSource = Nothing : ds.Clear()
- Set_清單1()
- End If
- End Sub
- Private Sub 收支單中新增一筆空白資料_bt_Click(sender As Object, e As EventArgs) Handles 收支單中新增一筆空白資料_bt.Click
- If 科目3_號_cb.Text = "" Or 幣別_cb.Text = "" Then
- MsgBox("沒有選擇會計科目或幣別。")
- Else
- If 收支單號_tb.Text = "" Then
- 開立零用金支付單()
- End If
- Set_日期格式轉換() : Set_流水號()
- 存檔()
- ConnOpen()
- SQL1 = "SELECT TOP(1) 項次 FROM 財務流水帳_ICS WHERE 支付單號 LIKE N'" & 收支單號_tb.Text & "' ORDER BY 項次 DESC"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
- NUM1 = Double.Parse(新項次) + 1
- If NUM1 < 10 Then : 新項次 = "0" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1
- End If
- ConnOpen()
-
- If 幣別_cb.Text = "台幣現金" Then : 匯率1 = 1 / CLng(印尼匯率_tb.Text)
- ElseIf 幣別_cb.Text = "人民幣現金" Then : 匯率1 = CLng(人民幣匯率_tb.Text) / CLng(印尼匯率_tb.Text)
- ElseIf 幣別_cb.Text = "美金" Then : 匯率1 = CLng(美金匯率_tb.Text) / CLng(印尼匯率_tb.Text)
- ElseIf 幣別_cb.Text = "印尼盾" Then : 匯率1 = 1
- End If
-
- SQL1 = "INSERT INTO 財務流水帳_ICS (流水號, 銀行, 日期, 類別, 收入, 支出, 明細, 人員, 支付單號, 項次, 會計, 出納, 現金, 備用金, 公帳, 支票,
- 出納日期, 零用金, 支票數, 匯率, 備註) " &
- "VALUES (N'" & 新流水1 & "', N'" & 幣別_cb.Text & "', N'" & DTP & "', N'" & 科目3_號_cb.Text & "', N'0', N'0', N'', N'" & gUserName & "', N'" & 收支單號_tb.Text & "', N'" & 新項次 &
- "', N'0', N'0', N'0', N'0', N'0', N'0', N'" & DTP & "', N'0', N'0', N'" & 匯率1 & "', N'')"
- CmdSet_For_dr()
- Set_費用清單()
- End If
- End Sub
- Private Sub 刪除選中的一筆資料_bt_Click(sender As Object, e As EventArgs) Handles 刪除選中的一筆資料_bt.Click
- If 項次_tb.Text = "" Then
- MsgBox("未選擇需要刪除的資料。")
- Else
- 存檔()
- ConnOpen()
- SQL1 = "DELETE FROM 財務流水帳_ICS WHERE (支付單號 LIKE N'" & 收支單號_tb.Text & "' AND 項次 LIKE N'" & 項次_tb.Text & "')"
- cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
- Set_費用清單()
- Dim NUM1 As Integer = 0
- For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
- NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If
- ConnOpen()
- SQL1 = "UPDATE 財務流水帳_ICS SET 項次 = N'" & 新項次 & "' WHERE (支付單號 LIKE N'" & 收支單號_tb.Text & "' AND 項次 LIKE N'" & 明細表_dgv.Rows(i).Cells("項次").Value & "')"
- cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
- conn.Close()
- Next
- Set_費用清單()
- End If
- End Sub
- '----------------------滑鼠右鍵--------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Private Sub 重新讀取ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新讀取ToolStripMenuItem.Click
- Set_清單1()
- End Sub
- Private Sub 開立零用金支付單ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 開立零用金支付單ToolStripMenuItem.Click
- 開立營運成本收支單_bt.PerformClick()
- End Sub
- Private Sub 刪除選中的零用金支付單ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 刪除選中的零用金支付單ToolStripMenuItem.Click
- 刪除選中的營運成本收支單_bt.PerformClick()
- End Sub
- Private Sub 刪除支付單中選中的資料ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 刪除支付單中選中的資料ToolStripMenuItem.Click
- 刪除選中的一筆資料_bt.PerformClick()
- End Sub
- Private Sub 新增一筆資料ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 新增一筆資料ToolStripMenuItem.Click
- 收支單中新增一筆空白資料_bt.PerformClick()
- End Sub
- Private Sub 申請完成ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 申請完成ToolStripMenuItem.Click
- 申請_bt.PerformClick()
- End Sub
- Private Sub 複製單據開單ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 複製單據開單ToolStripMenuItem.Click
- 複製歷史單據重新開立_bt.PerformClick()
- End Sub
- '----------------------自創視窗滑鼠拖曳功能---------------------------------------------------------------------------------------------------------
- Dim OldX, OldY As Long : Dim drag As Boolean
- Private Sub 收入_cb_CheckedChanged(sender As Object, e As EventArgs) Handles 收入_cb.Click
- If 收入_cb.Checked = True Then
- 收入_cb.Checked = True : 支出_cb.Checked = False
- Else
- 收入_cb.Checked = False : 支出_cb.Checked = True
- End If
- End Sub
- Private Sub 支出_cb_CheckedChanged(sender As Object, e As EventArgs) Handles 支出_cb.Click
- If 支出_cb.Checked = True Then
- 收入_cb.Checked = False : 支出_cb.Checked = True
- Else
- 收入_cb.Checked = True : 支出_cb.Checked = False
- End If
- End Sub
- Private Sub 確定_bt_Click(sender As Object, e As EventArgs) Handles 確定_bt.Click
- If 收入_cb.Checked = False And 支出_cb.Checked = False Then
- MsgBox("請先選擇這筆資料是收入還是支出!!!")
- Else
- If 收入_cb.Checked = True Then
- 明細表_dgv.Rows(NUM2).Cells("收入").Value = 指定_ndp.Value
- If 窗口說明1_lb.Text = "支票" Then
- 明細表_dgv.Rows(NUM2).Cells("支票").Value = 指定_ndp.Value
- ElseIf 窗口說明1_lb.Text = "零用金" Then
- 明細表_dgv.Rows(NUM2).Cells("零用金").Value = 指定_ndp.Value
- End If
- Else
- 明細表_dgv.Rows(NUM2).Cells("支出").Value = 指定_ndp.Value
- If 窗口說明1_lb.Text = "支票" Then
- 明細表_dgv.Rows(NUM2).Cells("支票").Value = 指定_ndp.Value
- ElseIf 窗口說明1_lb.Text = "零用金" Then
- 明細表_dgv.Rows(NUM2).Cells("零用金").Value = 指定_ndp.Value
- End If
- End If : 指定_ndp.Value = 0 : 收入_cb.Checked = False : 支出_cb.Checked = False : Cancel_bt.PerformClick()
- End If
- End Sub
- Private Sub Cancel_bt_Click(sender As Object, e As EventArgs) Handles Cancel_bt.Click
- If 視窗1_pl.Visible = False Then : 視窗1_pl.Visible = True : 視窗1_pl.BringToFront() : Else : 視窗1_pl.Visible = False : End If
- End Sub
- Private Sub 物料群組1_Panel_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗1_pl.MouseDown
- If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
- End Sub
- Private Sub 物料群組1_Panel_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗1_pl.MouseMove
- If drag Then : 視窗1_pl.Left = 視窗1_pl.Left + e.X - OldX : 視窗1_pl.Top = 視窗1_pl.Top + e.Y - OldY : End If
- End Sub
- Private Sub 物料群組1_Panel_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗1_pl.MouseUp
- drag = False
- End Sub
- End Class
|