Aucune description
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

訂單出貨控制表.vb 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. Option Strict Off
  2. Public Class 訂單出貨控制表
  3. ReadOnly ds2 As New DataSet : ReadOnly ds1 As New DataSet
  4. Dim EDR As Integer = 0 : Dim ESTR As String : Dim HHJJ As String : Dim 核對比數 As Integer : Dim 核對比數2 As Integer
  5. Private Sub Set_訂單清單()
  6. 訂單明細_dgv.DataSource = Nothing : ds2.Clear()
  7. 訂單明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  8. 訂單明細_dgv.ColumnHeadersHeight = 50
  9. 訂單明細_dgv.AllowUserToAddRows = False
  10. 訂單明細_dgv.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText
  11. 訂單明細_dgv.MultiSelect = True
  12. SQL_訂單出貨控制表清單()
  13. da.Fill(ds2) : 訂單明細_dgv.DataSource = ds2.Tables(0) : conn.Close() : Set_grid()
  14. End Sub
  15. Private Sub Set_grid()
  16. 訂單明細_dgv.Columns(0).FillWeight = 120 : 訂單明細_dgv.Columns(1).Visible = False : 訂單明細_dgv.Columns(2).FillWeight = 60 : 訂單明細_dgv.Columns(3).Visible = False
  17. 訂單明細_dgv.Columns(4).FillWeight = 200 : 訂單明細_dgv.Columns(5).FillWeight = 40 : 訂單明細_dgv.Columns(6).FillWeight = 60 : 訂單明細_dgv.Columns(7).FillWeight = 60
  18. 訂單明細_dgv.Columns(8).FillWeight = 60 : 訂單明細_dgv.Columns(9).FillWeight = 40 : 訂單明細_dgv.Columns(10).FillWeight = 120 : 訂單明細_dgv.Columns(11).FillWeight = 120
  19. 訂單明細_dgv.Columns(12).Visible = False : 訂單明細_dgv.Columns(13).FillWeight = 200 : 訂單明細_dgv.Columns(14).Visible = False : 訂單明細_dgv.Columns(15).FillWeight = 45
  20. 訂單明細_dgv.Columns(16).Visible = False : 訂單明細_dgv.Columns(17).FillWeight = 40 : 訂單明細_dgv.Columns(18).Visible = False
  21. If 隱藏_ch.Checked = True Then
  22. 訂單明細_dgv.Columns(6).Visible = False : 訂單明細_dgv.Columns(7).Visible = False : 訂單明細_dgv.Columns(8).Visible = False : 訂單明細_dgv.Columns(13).Visible = False
  23. Else
  24. 訂單明細_dgv.Columns(6).Visible = True : 訂單明細_dgv.Columns(7).Visible = True : 訂單明細_dgv.Columns(8).Visible = True : 訂單明細_dgv.Columns(13).Visible = True
  25. End If
  26. 訂單明細_dgv.Columns(5).DefaultCellStyle.Format = "#,##0" : 訂單明細_dgv.Columns(15).DefaultCellStyle.Format = "#,##0"
  27. 訂單明細_dgv.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 訂單明細_dgv.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  28. 訂單明細_dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 訂單明細_dgv.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  29. 訂單明細_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 訂單明細_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  30. 訂單明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 訂單明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  31. 訂單明細_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 訂單明細_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  32. 訂單明細_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 訂單明細_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  33. 訂單明細_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 訂單明細_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  34. 訂單明細_dgv.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 訂單明細_dgv.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  35. 訂單明細_dgv.Columns(12).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 訂單明細_dgv.Columns(12).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  36. 訂單明細_dgv.Columns(15).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 訂單明細_dgv.Columns(15).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  37. 訂單明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  38. For I As Integer = 0 To 17
  39. If I = 15 Then : Else
  40. 訂單明細_dgv.Columns(I).ReadOnly = True
  41. End If
  42. Next
  43. For i As Integer = 0 To 訂單明細_dgv.Rows.Count - 1 : 訂單明細_dgv.Rows(i).Cells("比對有貨").Value = False : Next
  44. End Sub
  45. Private Sub Set_清單()
  46. 庫存清單_dgv.DataSource = Nothing : ds1.Clear()
  47. 庫存清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  48. 庫存清單_dgv.ColumnHeadersHeight = 50
  49. 庫存清單_dgv.AllowUserToAddRows = False
  50. 庫存清單_dgv.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText
  51. 庫存清單_dgv.MultiSelect = True
  52. SQL_訂單出貨控制表_庫存表()
  53. da.Fill(ds1) : 庫存清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
  54. 庫存清單_dgv.Columns(0).FillWeight = 100 : 庫存清單_dgv.Columns(1).Visible = False : 庫存清單_dgv.Columns(2).Visible = False : 庫存清單_dgv.Columns(3).FillWeight = 250
  55. 庫存清單_dgv.Columns(4).Visible = False : 庫存清單_dgv.Columns(5).Visible = False : 庫存清單_dgv.Columns(6).Visible = False : 庫存清單_dgv.Columns(7).FillWeight = 65
  56. 庫存清單_dgv.Columns(8).Visible = False : 庫存清單_dgv.Columns(9).FillWeight = 65 : 庫存清單_dgv.Columns(10).Visible = False : 庫存清單_dgv.Columns(11).FillWeight = 65
  57. 庫存清單_dgv.Columns(12).Visible = False : 庫存清單_dgv.Columns(13).FillWeight = 65 : 庫存清單_dgv.Columns(14).Visible = False
  58. 庫存清單_dgv.Columns(6).DefaultCellStyle.Format = "#,##0" : 庫存清單_dgv.Columns(7).DefaultCellStyle.Format = "#,##0" : 庫存清單_dgv.Columns(8).DefaultCellStyle.Format = "#,##0"
  59. 庫存清單_dgv.Columns(9).DefaultCellStyle.Format = "#,##0" : 庫存清單_dgv.Columns(10).DefaultCellStyle.Format = "#,##0" : 庫存清單_dgv.Columns(11).DefaultCellStyle.Format = "#,##0"
  60. 庫存清單_dgv.Columns(12).DefaultCellStyle.Format = "#,##0" : 庫存清單_dgv.Columns(13).DefaultCellStyle.Format = "#,##0"
  61. 庫存清單_dgv.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存清單_dgv.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  62. 庫存清單_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存清單_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  63. 庫存清單_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存清單_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  64. 庫存清單_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存清單_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  65. 庫存清單_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存清單_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  66. 庫存清單_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存清單_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  67. 庫存清單_dgv.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存清單_dgv.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  68. 庫存清單_dgv.Columns(12).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存清單_dgv.Columns(12).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  69. 庫存清單_dgv.Columns(13).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存清單_dgv.Columns(13).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  70. 庫存清單_dgv.Columns(0).ReadOnly = True : 庫存清單_dgv.Columns(3).ReadOnly = True : 庫存清單_dgv.Columns(4).ReadOnly = True : 庫存清單_dgv.Columns(5).ReadOnly = True
  71. 庫存清單_dgv.Columns(6).ReadOnly = True : 庫存清單_dgv.Columns(7).ReadOnly = True : 庫存清單_dgv.Columns(8).ReadOnly = True : 庫存清單_dgv.Columns(9).ReadOnly = True
  72. 庫存清單_dgv.Columns(10).ReadOnly = True : 庫存清單_dgv.Columns(11).ReadOnly = True : 庫存清單_dgv.Columns(12).ReadOnly = True : 庫存清單_dgv.Columns(13).ReadOnly = True
  73. 庫存清單_dgv.Columns(7).DefaultCellStyle.BackColor = Color.MistyRose : 庫存清單_dgv.Columns(8).DefaultCellStyle.BackColor = Color.MistyRose
  74. 庫存清單_dgv.Columns(9).DefaultCellStyle.BackColor = Color.LightYellow : 庫存清單_dgv.Columns(10).DefaultCellStyle.BackColor = Color.LightYellow
  75. 庫存清單_dgv.Columns(11).DefaultCellStyle.BackColor = Color.LightGreen : 庫存清單_dgv.Columns(12).DefaultCellStyle.BackColor = Color.LightGreen
  76. For i As Integer = 0 To 庫存清單_dgv.Rows.Count - 1
  77. If 庫存清單_dgv.Rows(i).Cells("未入庫").Value.ToString = "" Then : 庫存清單_dgv.Rows(i).Cells("未入庫").Value = 0 : End If
  78. If 庫存清單_dgv.Rows(i).Cells("在途成本_台幣").Value.ToString = "" Then : 庫存清單_dgv.Rows(i).Cells("在途成本_台幣").Value = 0 : End If
  79. If 庫存清單_dgv.Rows(i).Cells("未出庫").Value.ToString = "" Then : 庫存清單_dgv.Rows(i).Cells("未出庫").Value = 0 : End If
  80. If 庫存清單_dgv.Rows(i).Cells("備貨成本_台幣").Value.ToString = "" Then : 庫存清單_dgv.Rows(i).Cells("備貨成本_台幣").Value = 0 : End If
  81. 庫存清單_dgv.Rows(i).Cells("可領用").Value = 庫存清單_dgv.Rows(i).Cells("庫存").Value - 庫存清單_dgv.Rows(i).Cells("未出庫").Value
  82. Next
  83. End Sub
  84. Private Sub ComboBox5下拉表單資料載入()
  85. SQL_倉名下拉清單()
  86. 指定倉處_cb.Items.Clear() : While (dr.Read()) : 指定倉處_cb.Items.Add(dr("倉名")) : End While : conn.Close()
  87. End Sub
  88. Private Sub ComboBox5_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 指定倉處_cb.SelectedIndexChanged
  89. PA = 指定倉處_cb.Text : SQL_倉名編號取得()
  90. If dr.Read() Then : 倉庫編號_tb.Text = dr("倉名編號") : End If : conn.Close() : Set_清單()
  91. End Sub
  92. Private Sub 訂單控制表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  93. Me.MdiParent = MAOJI_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  94. 依供應商排序_ch.Checked = True : 依商品排序_ch.Checked = False : 出貨開單_bt.Enabled = False : 出貨開單ToolStripMenuItem.Enabled = False
  95. ComboBox5下拉表單資料載入() : 指定倉處_cb.SelectedIndex = 0 : Set_訂單清單() : 隱藏_ch.Checked = True : 單據狀態_cb.SelectedIndex = 0
  96. End Sub
  97. Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 訂單明細_dgv.CellClick
  98. If e.RowIndex = -1 Then : Else
  99. 訂單流水號_tb.Text = 訂單明細_dgv.Rows(e.RowIndex).Cells("訂單流水號").Value.ToString : 出貨備齊_ch.Checked = 訂單明細_dgv.Rows(e.RowIndex).Cells("出貨備齊").Value
  100. 出貨開單_bt.Enabled = False : 出貨開單ToolStripMenuItem.Enabled = False
  101. For i As Integer = 0 To 訂單明細_dgv.Rows.Count - 1
  102. 訂單明細_dgv.Rows(i).Cells("比對有貨").Value = False
  103. If 訂單明細_dgv.Rows(i).Cells("訂單流水號").Value.ToString = 訂單流水號_tb.Text Then
  104. 出貨單號_tb.Text = 訂單明細_dgv.Rows(i).Cells("出貨單號").Value : If 出貨單號_tb.Text <> "" Then : Exit For : End If
  105. End If
  106. Next
  107. End If
  108. End Sub
  109. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 庫存清單_dgv.RowPostPaint
  110. Dim linePen As New Pen(Color.Blue, 2)
  111. If e.RowIndex = 庫存清單_dgv.Rows.Count - 1 Then : Exit Sub
  112. Else
  113. If 依供應商排序_ch.Checked = True Then
  114. If 庫存清單_dgv(0, e.RowIndex).Value.ToString <> 庫存清單_dgv(0, e.RowIndex + 1).Value.ToString Then
  115. Dim startX As Integer = IIf(庫存清單_dgv.RowHeadersVisible, 庫存清單_dgv.RowHeadersWidth, 0)
  116. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  117. Dim endX As Integer = startX + 庫存清單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 庫存清單_dgv.HorizontalScrollingOffset
  118. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  119. End If
  120. Else
  121. If 庫存清單_dgv(2, e.RowIndex).Value.ToString <> 庫存清單_dgv(2, e.RowIndex + 1).Value.ToString Then
  122. Dim startX As Integer = IIf(庫存清單_dgv.RowHeadersVisible, 庫存清單_dgv.RowHeadersWidth, 0)
  123. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  124. Dim endX As Integer = startX + 庫存清單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 庫存清單_dgv.HorizontalScrollingOffset
  125. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  126. End If
  127. End If
  128. End If
  129. For i As Integer = 0 To 庫存清單_dgv.Rows.Count - 1
  130. If 庫存清單_dgv.Rows(i).Cells("可領用").Value = 0 Then : 庫存清單_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink : End If
  131. Next
  132. End Sub
  133. Private Sub DataGridView3_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 訂單明細_dgv.RowPostPaint
  134. Dim linePen As New Pen(Color.Blue, 2)
  135. If e.RowIndex = 訂單明細_dgv.Rows.Count - 1 Then : Exit Sub
  136. Else
  137. If 訂單明細_dgv(0, e.RowIndex).Value.ToString <> 訂單明細_dgv(0, e.RowIndex + 1).Value.ToString Then
  138. Dim startX As Integer = IIf(訂單明細_dgv.RowHeadersVisible, 訂單明細_dgv.RowHeadersWidth, 0)
  139. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  140. Dim endX As Integer = startX + 訂單明細_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 訂單明細_dgv.HorizontalScrollingOffset
  141. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  142. End If
  143. End If
  144. End Sub
  145. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles 依供應商排序_ch.Click
  146. 依供應商排序_ch.Checked = True : 依商品排序_ch.Checked = False : Set_清單()
  147. End Sub
  148. Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles 依商品排序_ch.Click
  149. 依供應商排序_ch.Checked = False : 依商品排序_ch.Checked = True : Set_清單()
  150. End Sub
  151. Private Sub 齊貨比對()
  152. 核對比數 = 0 : For i As Integer = 0 To 訂單明細_dgv.Rows.Count - 1 : 訂單明細_dgv.Rows(i).Cells("比對有貨").Value = False : Next
  153. If 訂單流水號_tb.Text = "" Then : MsgBox("請先選擇訂單 。")
  154. Else
  155. For i As Integer = 0 To 訂單明細_dgv.Rows.Count - 1
  156. If 訂單明細_dgv.Rows(i).Cells("訂單流水號").Value.ToString = 訂單流水號_tb.Text And 訂單明細_dgv.Rows(i).Cells("出貨單號").Value.ToString = "" Then
  157. For ii As Integer = 0 To 庫存清單_dgv.Rows.Count - 1
  158. If 訂單明細_dgv.Rows(i).Cells("料號").Value.ToString = 庫存清單_dgv.Rows(ii).Cells("料號").Value.ToString Then
  159. If 庫存清單_dgv.Rows(ii).Cells("可領用").Value >= 訂單明細_dgv.Rows(i).Cells("數量").Value.ToString Then
  160. '--------------有料可出--------------
  161. 訂單明細_dgv.Rows(i).Cells("比對有貨").Value = True : 核對比數 += 1 : Exit For
  162. ElseIf 庫存清單_dgv.Rows(ii).Cells("可領用").Value = 0 Then
  163. '--------------無料可出--------------
  164. ElseIf 庫存清單_dgv.Rows(ii).Cells("可領用").Value < 訂單明細_dgv.Rows(i).Cells("數量").Value.ToString Then
  165. '--------------無料可出--------------
  166. End If
  167. End If
  168. Next
  169. End If
  170. Next
  171. End If
  172. End Sub
  173. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 齊料比對_bt.Click
  174. 齊貨比對() : MsgBox("本次比對共 " & 核對比數 & " 筆資料有貨可出 。")
  175. 出貨開單_bt.Enabled = True : 出貨開單ToolStripMenuItem.Enabled = True
  176. End Sub
  177. Private Sub Set_自動生成流水號()
  178. SQL_倉儲明細表流水號最後一筆()
  179. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 8)) : Else : EDR = 0 : End If : conn.Close() : EDR += 1
  180. If EDR < 10 Then : ESTR = "WD" & "0000000" & EDR
  181. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "WD" & "000000" & EDR
  182. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "WD" & "00000" & EDR
  183. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "WD" & "0000" & EDR
  184. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "WD" & "000" & EDR
  185. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "WD" & "00" & EDR
  186. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "WD" & "0" & EDR
  187. ElseIf EDR > 9999999 Then : ESTR = "WD" & EDR : End If
  188. End Sub
  189. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 出貨開單_bt.Click
  190. 核對比數2 = 0
  191. If 單據狀態_cb.Text = "" Then : MsgBox("請選擇--直接出貨--還是--組裝出貨--。") : Else
  192. For i As Integer = 0 To 訂單明細_dgv.Rows.Count - 1
  193. 資料數 = 訂單明細_dgv.Rows.Count : MyModule1.進度條()
  194. 齊貨比對()
  195. If 訂單明細_dgv.Rows(i).Cells("比對有貨").Value = True Then
  196. 核對比數2 += 1
  197. DTP = 訂單明細_dgv.Rows(i).Cells("下單日").Value : DTP1 = 訂單明細_dgv.Rows(i).Cells("下單日").Value
  198. DTP2 = 訂單明細_dgv.Rows(i).Cells("交期").Value
  199. If 出貨單號_tb.Text = "" Then
  200. '----------------------自动生成單據編號-------------------------------------------------------------------------
  201. Dim NUM1 As Integer
  202. DTP1 = Format(Today(), "yyyyMMdd")
  203. For ii As Integer = 1 To 999
  204. NUM1 = 0 + ii
  205. If NUM1 < 10 Then : 出貨單號_tb.Text = "WD-" & DTP1 & "-00" & NUM1
  206. ElseIf NUM1 > 9 And NUM1 < 100 Then : 出貨單號_tb.Text = "WD-" & DTP1 & "-0" & NUM1
  207. ElseIf NUM1 > 99 Then : 出貨單號_tb.Text = "WD-" & DTP1 & "-" & NUM1 : End If
  208. PA1 = 出貨單號_tb.Text : SQL_倉儲明細表生成單據編號()
  209. If dr.Read() Then : Else : ii = 999 : conn.Close() : End If : conn.Close()
  210. Next
  211. Set_自動生成流水號()
  212. If 單據狀態_cb.Text = "直接出貨" Then : HHJJ = "銷售出庫" : Else : HHJJ = "組裝出庫" : End If
  213. PA1 = ESTR : PA2 = 出貨單號_tb.Text : PA3 = 訂單明細_dgv.Rows(i).Cells("供應商編號").Value : PA4 = 訂單明細_dgv.Rows(i).Cells("料號").Value
  214. NU1 = 訂單明細_dgv.Rows(i).Cells("成本").Value : NU2 = 1 : NU3 = 0 : NU4 = 訂單明細_dgv.Rows(i).Cells("數量").Value : PA5 = HHJJ : PA6 = DTP
  215. PA7 = 訂單明細_dgv.Rows(i).Cells("客戶編號").Value : NU5 = 訂單明細_dgv.Rows(i).Cells("售價").Value : PA8 = 倉庫編號_tb.Text : PA9 = DTP2
  216. PA10 = 訂單明細_dgv.Rows(i).Cells("訂單流水號").Value : PA = 訂單明細_dgv.Rows(i).Cells("資料流水號").Value
  217. SQL_倉儲明細表新增_含訂單編號() : conn.Close() : SQL_訂單出貨控制表_出貨單號修改() : conn.Close()
  218. Else
  219. Set_自動生成流水號() : conn.Close()
  220. If 單據狀態_cb.Text = "直接出貨" Then : HHJJ = "銷售出庫" : Else : HHJJ = "組裝出庫" : End If
  221. PA1 = ESTR : PA2 = 出貨單號_tb.Text : PA3 = 訂單明細_dgv.Rows(i).Cells("供應商編號").Value : PA4 = 訂單明細_dgv.Rows(i).Cells("料號").Value
  222. NU1 = 訂單明細_dgv.Rows(i).Cells("成本").Value : NU2 = 1 : NU3 = 0 : NU4 = 訂單明細_dgv.Rows(i).Cells("數量").Value : PA5 = HHJJ : PA6 = DTP
  223. PA7 = 訂單明細_dgv.Rows(i).Cells("客戶編號").Value : NU5 = 訂單明細_dgv.Rows(i).Cells("售價").Value : PA8 = 倉庫編號_tb.Text : PA9 = DTP2
  224. PA10 = 訂單明細_dgv.Rows(i).Cells("訂單流水號").Value : PA = 訂單明細_dgv.Rows(i).Cells("資料流水號").Value
  225. SQL_倉儲明細表新增_含訂單編號() : conn.Close() : SQL_訂單出貨控制表_出貨單號修改() : conn.Close()
  226. End If
  227. Set_清單() : Set_訂單清單()
  228. End If
  229. Next : MAOJI_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  230. '-----------------------------------------判別訂單準備是否已經齊套-------------------------------------------------------------------------------------------------------------------------------
  231. For i As Integer = 0 To 訂單明細_dgv.Rows.Count - 1
  232. 資料數 = 訂單明細_dgv.Rows.Count : MyModule1.進度條()
  233. Dim 判別齊套 As Boolean = True
  234. If 訂單明細_dgv.Rows(i).Cells("出貨備齊").Value = True Then : Else
  235. 出貨單號_tb.Text = 訂單明細_dgv.Rows(i).Cells("訂單流水號").Value.ToString
  236. For ii As Integer = 0 To 訂單明細_dgv.Rows.Count - 1
  237. If 訂單明細_dgv.Rows(ii).Cells("訂單流水號").Value = 出貨單號_tb.Text Then
  238. If 訂單明細_dgv.Rows(ii).Cells("出貨單號").Value.ToString = "" Then
  239. 判別齊套 = False
  240. Exit For
  241. End If
  242. End If
  243. Next
  244. If 判別齊套 = False Then : Else : PA1 = 出貨單號_tb.Text : SQL_訂單控制表_出貨備齊() : conn.Close() : End If
  245. End If
  246. Set_訂單清單()
  247. Next : MAOJI_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  248. Set_清單() : Set_訂單清單() : MsgBox("出貨單開立完必,本次新增出貨單資料共 " & 核對比數2 & " 筆。") : 出貨開單_bt.Enabled = False : 出貨開單ToolStripMenuItem.Enabled = False
  249. End If
  250. End Sub
  251. Private Sub CheckBox4_CheckedChanged(sender As Object, e As EventArgs) Handles 隱藏_ch.CheckedChanged
  252. Set_grid()
  253. End Sub
  254. '-----------------------------滑鼠右鍵------------------------------------------------------------------------------------------------------------------------------------------
  255. Private Sub 重新整理ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新整理ToolStripMenuItem.Click
  256. Set_訂單清單() : Set_清單()
  257. End Sub
  258. Private Sub 齊料比對ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 齊料比對ToolStripMenuItem.Click
  259. Me.齊料比對_bt.PerformClick()
  260. End Sub
  261. End Class