説明なし
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

銷售單申請.vb 112KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596
  1. Option Strict Off
  2. Public Class 銷售單申請
  3. ReadOnly ds, ds1, ds2, ds3, ds4, ds5, ds6, ds7 As New DataSet
  4. Dim 首次開啟 As Boolean : Dim EDR As Integer : Dim ESTR As String : Dim EDR1 As Integer : Dim ESTR1 As String : Dim NUM1 As Integer
  5. Dim 運費 As Integer : Dim 稅金存檔 As Integer : Dim 刷卡控制 As Boolean
  6. Private Sub Set_清單()
  7. 物料清單_dgv.DataSource = Nothing : ds.Clear()
  8. 物料清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  9. 物料清單_dgv.ColumnHeadersHeight = 40
  10. 物料清單_dgv.AllowUserToAddRows = False
  11. 物料清單_dgv.RowTemplate.Height = 35
  12. PA1 = "" : PA2 = "" : PA2 = 供應商編碼_cb.Text : PA1 = 查詢_tb.Text
  13. SQL_盤盈盤損申請_物料清單()
  14. da.Fill(ds) : 物料清單_dgv.DataSource = ds.Tables(0) : conn.Close()
  15. 物料清單_dgv.Columns(0).FillWeight = 80 : 物料清單_dgv.Columns(1).FillWeight = 90 : 物料清單_dgv.Columns(2).FillWeight = 100
  16. 物料清單_dgv.Columns(3).FillWeight = 200 : 物料清單_dgv.Columns(4).FillWeight = 80 : 物料清單_dgv.Columns(5).FillWeight = 80 : 物料清單_dgv.Columns(6).FillWeight = 50
  17. 物料清單_dgv.Columns(7).Visible = False : 物料清單_dgv.Columns(8).Visible = False : 物料清單_dgv.Columns(9).Visible = False : 物料清單_dgv.Columns(10).Visible = False
  18. 物料清單_dgv.Columns(11).Visible = False : 物料清單_dgv.Columns(12).Visible = False : 物料清單_dgv.Columns(13).Visible = False
  19. 物料清單_dgv.Columns(1).ReadOnly = True : 物料清單_dgv.Columns(2).ReadOnly = True : 物料清單_dgv.Columns(3).ReadOnly = True : 物料清單_dgv.Columns(4).ReadOnly = True
  20. 物料清單_dgv.Columns(5).ReadOnly = True : 物料清單_dgv.Columns(6).ReadOnly = True : 物料清單_dgv.Columns(7).ReadOnly = True : 物料清單_dgv.Columns(8).ReadOnly = True
  21. 物料清單_dgv.Columns(9).ReadOnly = True : 物料清單_dgv.Columns(0).ReadOnly = True
  22. 物料清單_dgv.Columns("庫存").DefaultCellStyle.Format = "#,##0" : 物料清單_dgv.Columns("未入庫").DefaultCellStyle.Format = "#,##0"
  23. 物料清單_dgv.Columns("未出庫").DefaultCellStyle.Format = "#,##0"
  24. 物料清單_dgv.Columns("庫存").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  25. 物料清單_dgv.Columns("庫存").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  26. 物料清單_dgv.Columns("未入庫").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  27. 物料清單_dgv.Columns("未入庫").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  28. 物料清單_dgv.Columns("未出庫").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  29. 物料清單_dgv.Columns("未出庫").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  30. 資料筆數_tb.Text = 物料清單_dgv.Rows.Count
  31. For i As Integer = 0 To 物料清單_dgv.Rows.Count - 1
  32. 資料數 = 物料清單_dgv.Rows.Count : MyModule1.進度條()
  33. If 物料清單_dgv("倉名", i).Value.ToString = "" Then
  34. If 物料清單_dgv("倉名1", i).Value.ToString <> "" Then
  35. 物料清單_dgv("倉名", i).Value = 物料清單_dgv("倉名1", i).Value.ToString
  36. ElseIf 物料清單_dgv("倉名2", i).Value.ToString <> "" Then
  37. 物料清單_dgv("倉名", i).Value = 物料清單_dgv("倉名2", i).Value.ToString
  38. ElseIf 物料清單_dgv("倉名3", i).Value.ToString <> "" Then
  39. 物料清單_dgv("倉名", i).Value = 物料清單_dgv("倉名3", i).Value.ToString
  40. End If
  41. End If
  42. If 物料清單_dgv("庫存", i).Value.ToString = "" Then : 物料清單_dgv("庫存", i).Value = 0 : End If
  43. If 物料清單_dgv("未入庫", i).Value.ToString = "" Then : 物料清單_dgv("未入庫", i).Value = 0 : End If
  44. If 物料清單_dgv("未出庫", i).Value.ToString = "" Then : 物料清單_dgv("未出庫", i).Value = 0 : End If
  45. If Val(物料清單_dgv("庫存", i).Value) + Val(物料清單_dgv("未入庫", i).Value) - Val(物料清單_dgv("未出庫", i).Value) = 0 Then
  46. 物料清單_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  47. ElseIf Val(物料清單_dgv("庫存", i).Value) = 0 And (Val(物料清單_dgv("未入庫", i).Value) <> 0 Or Val(物料清單_dgv("未出庫", i).Value) <> 0) Then
  48. 物料清單_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  49. ElseIf Val(物料清單_dgv("庫存", i).Value) + Val(物料清單_dgv("未入庫", i).Value) - Val(物料清單_dgv("未出庫", i).Value) <> 0 Then
  50. 物料清單_dgv.Rows(i).DefaultCellStyle.BackColor = Color.White
  51. End If
  52. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  53. End Sub
  54. Private Sub Set_清單1()
  55. 銷售單據_dgv.DataSource = Nothing : ds1.Clear()
  56. 銷售單據_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  57. 銷售單據_dgv.ColumnHeadersHeight = 25
  58. 銷售單據_dgv.AllowUserToAddRows = False
  59. 銷售單據_dgv.RowTemplate.Height = 25
  60. PA19 = 業務_cb.Text
  61. SQL_銷售控制表()
  62. da.Fill(ds1) : 銷售單據_dgv.DataSource = ds1.Tables(0) : conn.Close()
  63. 銷售單據_dgv.Columns(0).Visible = False : 銷售單據_dgv.Columns(1).FillWeight = 100 : 銷售單據_dgv.Columns(2).Visible = False : 銷售單據_dgv.Columns(3).Visible = False
  64. 銷售單據_dgv.Columns(4).Visible = False : 銷售單據_dgv.Columns(5).Visible = False : 銷售單據_dgv.Columns(6).Visible = False : 銷售單據_dgv.Columns(7).Visible = False
  65. 銷售單據_dgv.Columns(8).Visible = False : 銷售單據_dgv.Columns(9).Visible = False : 銷售單據_dgv.Columns(10).Visible = False : 銷售單據_dgv.Columns(11).Visible = False
  66. End Sub
  67. Private Sub Set_清單2()
  68. 客戶資料_dgv.DataSource = Nothing : ds2.Clear()
  69. 客戶資料_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  70. 客戶資料_dgv.ColumnHeadersHeight = 25
  71. 客戶資料_dgv.AllowUserToAddRows = False
  72. 客戶資料_dgv.RowTemplate.Height = 25
  73. PA16 = 客戶_tb.Text
  74. SQL_銷售單申請_客戶資料驗證()
  75. da.Fill(ds2) : 客戶資料_dgv.DataSource = ds2.Tables(0) : conn.Close()
  76. End Sub
  77. Private Sub Set_清單3()
  78. 區域庫存_dgv.DataSource = Nothing : ds3.Clear()
  79. 區域庫存_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  80. 區域庫存_dgv.ColumnHeadersHeight = 25
  81. 區域庫存_dgv.AllowUserToAddRows = False
  82. 區域庫存_dgv.RowTemplate.Height = 25
  83. PA20 = 料號_tb.Text : SQL_倉名_物料分配查詢()
  84. da.Fill(ds3) : 區域庫存_dgv.DataSource = ds3.Tables(0) : conn.Close()
  85. 區域庫存_dgv.Columns(0).FillWeight = 200 : 區域庫存_dgv.Columns(1).FillWeight = 80
  86. 區域庫存_dgv.Columns(0).ReadOnly = True : 區域庫存_dgv.Columns(1).ReadOnly = True
  87. 區域庫存_dgv.Columns("可用").DefaultCellStyle.Format = "#,##0"
  88. 區域庫存_dgv.Columns("可用").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  89. 區域庫存_dgv.Columns("可用").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  90. End Sub
  91. Private Sub Set_清單4()
  92. 銷售明細_dgv.DataSource = Nothing : ds4.Clear()
  93. 銷售明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  94. 銷售明細_dgv.ColumnHeadersHeight = 40
  95. 銷售明細_dgv.AllowUserToAddRows = False
  96. If 小間距_ch.Checked = False And 中間距_ch.Checked = False And 大間距_ch.Checked = True Then
  97. 銷售明細_dgv.RowTemplate.Height = 95
  98. ElseIf 小間距_ch.Checked = False And 中間距_ch.Checked = True And 大間距_ch.Checked = False Then
  99. 銷售明細_dgv.RowTemplate.Height = 60
  100. ElseIf 小間距_ch.Checked = True And 中間距_ch.Checked = False And 大間距_ch.Checked = False Then
  101. 銷售明細_dgv.RowTemplate.Height = 25
  102. End If
  103. PA2 = "" : PA2 = 單號_tb.Text
  104. SQL_銷售明細表()
  105. da.Fill(ds4) : 銷售明細_dgv.DataSource = ds4.Tables(0) : conn.Close()
  106. Set_銷售明細_dgv_下拉式清單1() : Set_銷售明細_dgv_下拉式清單2() : Set_銷售明細_dgv_下拉式清單3()
  107. 銷售明細_dgv.Columns(0).Visible = False : 銷售明細_dgv.Columns(1).FillWeight = 40 : 銷售明細_dgv.Columns(2).FillWeight = 110 : 銷售明細_dgv.Columns(3).FillWeight = 200
  108. 銷售明細_dgv.Columns(4).Visible = False : 銷售明細_dgv.Columns(5).FillWeight = 130 : 銷售明細_dgv.Columns(6).Visible = False : 銷售明細_dgv.Columns(7).FillWeight = 130
  109. 銷售明細_dgv.Columns(8).Visible = False : 銷售明細_dgv.Columns(9).FillWeight = 130 : 銷售明細_dgv.Columns(10).FillWeight = 150 : 銷售明細_dgv.Columns(11).FillWeight = 80
  110. 銷售明細_dgv.Columns(12).FillWeight = 80 : 銷售明細_dgv.Columns(13).FillWeight = 80 : 銷售明細_dgv.Columns(14).FillWeight = 50 : 銷售明細_dgv.Columns(15).FillWeight = 80
  111. 銷售明細_dgv.Columns(16).Visible = False : 銷售明細_dgv.Columns(17).Visible = False : 銷售明細_dgv.Columns(18).Visible = False : 銷售明細_dgv.Columns(19).Visible = False
  112. 銷售明細_dgv.Columns(20).Visible = False : 銷售明細_dgv.Columns(21).FillWeight = 50
  113. 銷售明細_dgv.Columns(1).ReadOnly = True : 銷售明細_dgv.Columns(2).ReadOnly = True : 銷售明細_dgv.Columns(3).ReadOnly = True : 銷售明細_dgv.Columns(4).ReadOnly = True
  114. 銷售明細_dgv.Columns(11).ReadOnly = True : 銷售明細_dgv.Columns(13).ReadOnly = True : 銷售明細_dgv.Columns(16).ReadOnly = True
  115. 銷售明細_dgv.Columns("數量").DefaultCellStyle.Format = "#,##0" : 銷售明細_dgv.Columns("成本").DefaultCellStyle.Format = "#,##0"
  116. 銷售明細_dgv.Columns("單價").DefaultCellStyle.Format = "#,##0.0" : 銷售明細_dgv.Columns("售價").DefaultCellStyle.Format = "#,##0"
  117. 銷售明細_dgv.Columns("數量").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  118. 銷售明細_dgv.Columns("數量").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  119. 銷售明細_dgv.Columns("成本").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  120. 銷售明細_dgv.Columns("成本").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  121. 銷售明細_dgv.Columns("單價").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  122. 銷售明細_dgv.Columns("單價").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  123. 銷售明細_dgv.Columns("售價").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  124. 銷售明細_dgv.Columns("售價").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  125. 銷售明細_dgv.Columns("項次").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  126. 銷售明細_dgv.Columns("項次").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  127. 銷售明細_dgv.Columns("倉儲情況").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  128. 銷售明細_dgv.Columns("倉儲情況").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  129. 銷售明細_dgv.Columns("料號").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  130. 銷售明細_dgv.Columns("料號").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  131. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  132. If 銷售明細_dgv("含稅", i).Value = False Then
  133. 銷售明細_dgv("售價", i).Value = 銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value
  134. ElseIf 銷售明細_dgv("含稅", i).Value = True Then
  135. 銷售明細_dgv("售價", i).Value = 銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value * 1.05
  136. End If
  137. 銷售明細_dgv("項次", i).Value = i + 1
  138. Next
  139. 銷售明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  140. End Sub
  141. Private Sub Set_銷售明細_dgv_下拉式清單1()
  142. Dim Col As New DataGridViewComboBoxColumn With {
  143. .FillWeight = 130,
  144. .DataPropertyName = "倉名"
  145. }
  146. SQL_倉名_下拉清單()
  147. Col.Items.Clear()
  148. While (dr.Read()) : Col.Items.Add(dr("倉名")) : End While : conn.Close()
  149. Col.HeaderText = "倉名" : Col.Name = "倉名"
  150. 銷售明細_dgv.Columns.Insert(5, Col)
  151. End Sub
  152. Private Sub Set_銷售明細_dgv_下拉式清單2()
  153. Dim Col As New DataGridViewComboBoxColumn With {
  154. .FillWeight = 130,
  155. .DataPropertyName = "訂製"
  156. }
  157. SQL_訂製狀態_下拉清單()
  158. Col.Items.Clear()
  159. While (dr.Read()) : Col.Items.Add(dr("訂製")) : End While : conn.Close()
  160. Col.HeaderText = "訂製" : Col.Name = "訂製"
  161. 銷售明細_dgv.Columns.Insert(7, Col)
  162. End Sub
  163. Private Sub Set_銷售明細_dgv_下拉式清單3()
  164. Dim Col As New DataGridViewComboBoxColumn With {
  165. .FillWeight = 130,
  166. .DataPropertyName = "狀態"
  167. }
  168. SQL_倉儲狀態_下拉清單()
  169. Col.Items.Clear()
  170. While (dr.Read()) : Col.Items.Add(dr("狀態")) : End While : conn.Close()
  171. Col.HeaderText = "狀態" : Col.Name = "狀態"
  172. 銷售明細_dgv.Columns.Insert(9, Col)
  173. End Sub
  174. Private Sub Set_清單5()
  175. 銷售備註_dgv.DataSource = Nothing : ds5.Clear()
  176. 銷售備註_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  177. 銷售備註_dgv.ColumnHeadersHeight = 25
  178. 銷售備註_dgv.AllowUserToAddRows = False
  179. 銷售備註_dgv.RowTemplate.Height = 45
  180. PA2 = "" : PA2 = 單號_tb.Text : SQL_銷售備註表()
  181. da.Fill(ds5) : 銷售備註_dgv.DataSource = ds5.Tables(0) : conn.Close()
  182. 銷售備註_dgv.Columns(0).Visible = False : 銷售備註_dgv.Columns(1).FillWeight = 120 : 銷售備註_dgv.Columns(2).FillWeight = 910 : 銷售備註_dgv.Columns(3).FillWeight = 120
  183. 銷售備註_dgv.Columns(4).FillWeight = 120
  184. 銷售備註_dgv.Columns(0).ReadOnly = True : 銷售備註_dgv.Columns(1).ReadOnly = True
  185. 銷售備註_dgv.Columns("收入").DefaultCellStyle.Format = "#,##0" : 銷售備註_dgv.Columns("支出").DefaultCellStyle.Format = "#,##0"
  186. 銷售備註_dgv.Columns("收入").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  187. 銷售備註_dgv.Columns("收入").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  188. 銷售備註_dgv.Columns("支出").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  189. 銷售備註_dgv.Columns("支出").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  190. 銷售備註_dgv.Columns("項次").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  191. 銷售備註_dgv.Columns("項次").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  192. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  193. 銷售備註_dgv("項次", i).Value = i + 1
  194. Next
  195. 銷售備註_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  196. Set_合記計算()
  197. End Sub
  198. Private Sub Set_清單6()
  199. 收款事項_dgv.DataSource = Nothing : ds6.Clear()
  200. 收款事項_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  201. 收款事項_dgv.ColumnHeadersHeight = 25
  202. 收款事項_dgv.AllowUserToAddRows = False
  203. 收款事項_dgv.RowTemplate.Height = 25
  204. PA2 = "" : PA2 = 單號_tb.Text : SQL_銷售收款事項()
  205. da.Fill(ds6) : 收款事項_dgv.DataSource = ds6.Tables(0) : conn.Close()
  206. 收款事項_dgv.Columns(0).Visible = False : 收款事項_dgv.Columns(1).Visible = False : 收款事項_dgv.Columns(2).Visible = False : 收款事項_dgv.Columns(3).FillWeight = 120
  207. 收款事項_dgv.Columns(4).FillWeight = 850 : 收款事項_dgv.Columns(5).FillWeight = 150 : 收款事項_dgv.Columns(6).FillWeight = 150 : 收款事項_dgv.Columns(7).FillWeight = 80
  208. 收款事項_dgv.Columns(2).ReadOnly = True
  209. 收款事項_dgv.Columns("金額").DefaultCellStyle.Format = "#,##0"
  210. 收款事項_dgv.Columns("金額").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  211. 收款事項_dgv.Columns("金額").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  212. 收款事項_dgv.Columns("項次").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  213. 收款事項_dgv.Columns("項次").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  214. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  215. 收款事項_dgv("項次", i).Value = i + 1
  216. If IsDBNull(收款事項_dgv("含稅", i).Value) = True Then
  217. 收款事項_dgv("含稅", i).Value = False
  218. End If
  219. Next
  220. 收款事項_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  221. Set_合記計算()
  222. End Sub
  223. Private Sub Set_清單7()
  224. 銷售衍生運費_dgv.DataSource = Nothing : ds7.Clear()
  225. 銷售衍生運費_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  226. 銷售衍生運費_dgv.ColumnHeadersHeight = 25
  227. 銷售衍生運費_dgv.AllowUserToAddRows = False
  228. 銷售衍生運費_dgv.RowTemplate.Height = 45
  229. PA2 = "" : PA2 = 單號_tb.Text : SQL_銷售衍生費用()
  230. da.Fill(ds7) : 銷售衍生運費_dgv.DataSource = ds7.Tables(0) : conn.Close()
  231. 銷售衍生運費_dgv.Columns(0).Visible = False : 銷售衍生運費_dgv.Columns(1).FillWeight = 30 : 銷售衍生運費_dgv.Columns(2).Visible = False : 銷售衍生運費_dgv.Columns(3).FillWeight = 160
  232. 銷售衍生運費_dgv.Columns(4).FillWeight = 30
  233. 銷售衍生運費_dgv.Columns(0).ReadOnly = True : 銷售衍生運費_dgv.Columns(1).ReadOnly = True
  234. 銷售衍生運費_dgv.Columns("支出").DefaultCellStyle.Format = "#,##0"
  235. 銷售衍生運費_dgv.Columns("支出").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  236. 銷售衍生運費_dgv.Columns("支出").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  237. 銷售衍生運費_dgv.Columns("項次").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  238. 銷售衍生運費_dgv.Columns("項次").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  239. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  240. 銷售衍生運費_dgv("項次", i).Value = i + 1
  241. Next
  242. 銷售衍生運費_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  243. Set_合記計算()
  244. End Sub
  245. Private Sub 供應商_下拉表單資料載入()
  246. BL1 = False : PA3 = "" : PA4 = ""
  247. If 地區_cb.Text = "" Then : PA3 = ""
  248. ElseIf 地區_cb.Text = "北部" Then : PA3 = "2"
  249. ElseIf 地區_cb.Text = "南部" Then : PA3 = "3"
  250. ElseIf 地區_cb.Text = "材料" Then : PA3 = "9"
  251. ElseIf 地區_cb.Text = "調貨" Then : PA3 = "Y"
  252. ElseIf 地區_cb.Text = "其他" Then : PA3 = "1"
  253. End If
  254. SQL_盤盈盤損申請_供應商_下拉清單() : 供應商_cb.Items.Clear() : 供應商編碼_cb.Items.Clear()
  255. While (dr.Read()) : 供應商_cb.Items.Add(dr("簡稱")) : 供應商編碼_cb.Items.Add(dr("編號")) : End While : conn.Close()
  256. End Sub
  257. Private Sub 送貨地點_cb_下拉表單資料載入()
  258. SQL_送貨地點_下拉清單() : 送貨地點_cb.Items.Clear() : 最低運費_cb.Items.Clear() : 最低售價_cb.Items.Clear() : 司機運費_tb.Text = "0"
  259. While (dr.Read()) : 送貨地點_cb.Items.Add(dr("地區")) : 最低運費_cb.Items.Add(dr("起車")) : 最低售價_cb.Items.Add(dr("最低售額")) : End While : conn.Close()
  260. End Sub
  261. Private Sub 倉儲狀態_cb_下拉表單資料載入()
  262. SQL_倉儲狀態_下拉清單() : 倉儲狀態_cb.Items.Clear() : 儲態編號_cb.Items.Clear()
  263. While (dr.Read()) : 倉儲狀態_cb.Items.Add(dr("狀態")) : 儲態編號_cb.Items.Add(dr("編碼")) : End While : conn.Close()
  264. End Sub
  265. Private Sub 訂製狀態_cb_下拉表單資料載入()
  266. SQL_訂製狀態_下拉清單() : 訂製狀態_cb.Items.Clear() : 訂製編碼_cb.Items.Clear()
  267. While (dr.Read()) : 訂製狀態_cb.Items.Add(dr("訂製")) : 訂製編碼_cb.Items.Add(dr("編碼")) : End While : conn.Close()
  268. End Sub
  269. Private Sub Set_日期格式轉換()
  270. DTP = Format(開單日期_dtp.Value, "yyyy/MM/dd") : DTP2 = Format(交貨日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Format(Today(), "yyyyMMdd")
  271. End Sub
  272. Private Sub Set_合記計算()
  273. Dim 不含1類銷售小記 As Integer : Dim 金額1 As Integer = 0 : Dim 無管物料 As Integer
  274. 售價小計_tb.Text = "0" : 稅金_tb.Text = "0" : 銷售合計_tb.Text = "0" : 收入小計_tb.Text = "0" : 支出小計_tb.Text = "0" : 額外收支_tb.Text = "0" : 物料成本_tb.Text = "0"
  275. 司機運費_tb.Text = "0" : 管銷費用_tb.Text = "0" : 其他成本_tb.Text = "0" : 刷卡總和_tb.Text = "0" : 刷卡稅金_tb.Text = "0" : 刷卡傭金_tb.Text = "0"
  276. '-------001-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  277. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  278. If 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  279. 刷卡總和_tb.Text = Val(刷卡總和_tb.Text) + 收款事項_dgv("金額", i).Value
  280. End If
  281. Next
  282. 刷卡稅金_tb.Text = CInt(Val(Val(刷卡總和_tb.Text) * 0.05)) : 刷卡傭金_tb.Text = CInt(Val(刷卡總和_tb.Text) * 0.02)
  283. '-------002-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  284. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  285. 銷售合計_tb.Text = Val(銷售合計_tb.Text) + 銷售明細_dgv("售價", i).Value
  286. 售價小計_tb.Text = Val(售價小計_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value)
  287. If 銷售明細_dgv("無管銷", i).Value = False Then
  288. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  289. 無管物料 = 無管物料 + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  290. End If
  291. End If
  292. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  293. 物料成本_tb.Text = Val(物料成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  294. 不含1類銷售小記 = 不含1類銷售小記 + 銷售明細_dgv("售價", i).Value
  295. End If
  296. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) = "1001" Then
  297. 其他成本_tb.Text = Val(其他成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  298. '不含1類銷售小記 = 不含1類銷售小記 - 銷售明細_dgv("成本", i).Value
  299. End If
  300. If 銷售明細_dgv("含稅", i).Value = True Then
  301. 稅金_tb.Text = Val(稅金_tb.Text) + ((銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value * 1.05) - (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value))
  302. End If
  303. Next
  304. 管銷費用_tb.Text = 無管物料 * 1.06 - 無管物料
  305. If Val(稅金_tb.Text) = 0 And Val(刷卡稅金_tb.Text) = 0 Then
  306. 通知_lb.Text = "無稅金"
  307. ElseIf Val(稅金_tb.Text) = 0 And Val(刷卡稅金_tb.Text) <> 0 Then
  308. 通知_lb.Text = "應刷卡稅金小,有刷卡帶入的稅金,所以拆售價以未稅顯示" : 稅金_tb.Text = Val(稅金_tb.Text) : 售價小計_tb.Text = Val(銷售合計_tb.Text) - Val(稅金_tb.Text)
  309. ElseIf Val(稅金_tb.Text) <> 0 And Val(刷卡稅金_tb.Text) <> 0 And Val(稅金_tb.Text) > Val(刷卡稅金_tb.Text) Then
  310. 通知_lb.Text = "應所拆售價稅金大於刷卡稅金,計算正常,利潤中扣除刷卡傭金"
  311. ElseIf Val(稅金_tb.Text) <> 0 And Val(刷卡稅金_tb.Text) <> 0 And Val(稅金_tb.Text) < Val(刷卡稅金_tb.Text) Then
  312. 通知_lb.Text = "刷卡稅金大於自動計算後的稅金,邏輯有誤,請從新拆售價。"
  313. End If
  314. If 稅金存檔 <> Val(稅金_tb.Text) Then
  315. 稅金_tb.Text = 稅金存檔
  316. 售價小計_tb.Text = Val(銷售合計_tb.Text) - Val(稅金_tb.Text)
  317. 銷售合計_tb.Text = Val(售價小計_tb.Text) + Val(稅金_tb.Text)
  318. ElseIf 稅金存檔 = Val(稅金_tb.Text) Then
  319. 稅金_tb.Text = 稅金存檔
  320. 銷售合計_tb.Text = Val(售價小計_tb.Text) + Val(稅金_tb.Text)
  321. 售價小計_tb.Text = Val(銷售合計_tb.Text) - Val(稅金_tb.Text)
  322. End If
  323. '-------003-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  324. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  325. 收入小計_tb.Text = Val(收入小計_tb.Text) + 銷售備註_dgv("收入", i).Value
  326. 支出小計_tb.Text = Val(支出小計_tb.Text) + 銷售備註_dgv("支出", i).Value
  327. Next
  328. 額外收支_tb.Text = Val(收入小計_tb.Text) - Val(支出小計_tb.Text)
  329. '-------004-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  330. Dim 金額 As Integer = 0
  331. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  332. If 收款事項_dgv("真項次", i).Value.ToString <> "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  333. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  334. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  335. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  336. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString = "未收餘額" Then
  337. 收款事項_dgv("金額", i).Value = CInt(Val(銷售合計_tb.Text)) - 金額
  338. End If
  339. Next
  340. '-------005-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  341. If 送貨地點_cb.Text = "" Or 送貨地點_cb.Text = "自取" Or 最低運費_cb.Text = "" Or 最低售價_cb.Text = "" Then
  342. 司機運費_tb.Text = "0"
  343. Else
  344. If 運費 = 0 Then
  345. If (不含1類銷售小記 - Val(其他成本_tb.Text)) <= Val(最低售價_cb.Text) Then
  346. 司機運費_tb.Text = 最低運費_cb.Text
  347. ElseIf (不含1類銷售小記 - Val(其他成本_tb.Text)) > Val(最低售價_cb.Text) Then
  348. 司機運費_tb.Text = (不含1類銷售小記 - Val(稅金_tb.Text) - Val(刷卡傭金_tb.Text) - Val(其他成本_tb.Text)) / 100 * 3
  349. End If
  350. Else
  351. 司機運費_tb.Text = 運費
  352. End If
  353. End If
  354. '-------006-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  355. 預估利潤_tb.Text = Val(售價小計_tb.Text) + Val(額外收支_tb.Text) - Val(其他成本_tb.Text) - Val(物料成本_tb.Text) - Val(司機運費_tb.Text) - Val(管銷費用_tb.Text) - Val(刷卡傭金_tb.Text)
  356. If 銷售衍生運費_dgv.Rows.Count > 0 Then
  357. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  358. 預估利潤_tb.Text = Val(預估利潤_tb.Text) - 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  359. Next
  360. End If
  361. '-------007-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  362. 售價小計_tb.Text = Format(Val(售價小計_tb.Text), "#,##0") : 稅金_tb.Text = Format(Val(稅金_tb.Text), "#,##0") : 銷售合計_tb.Text = Format(Val(銷售合計_tb.Text), "#,##0")
  363. 收入小計_tb.Text = Format(Val(收入小計_tb.Text), "#,##0") : 支出小計_tb.Text = Format(Val(支出小計_tb.Text), "#,##0") : 額外收支_tb.Text = Format(Val(額外收支_tb.Text), "#,##0")
  364. 司機運費_tb.Text = Format(Val(司機運費_tb.Text), "#,##0") : 管銷費用_tb.Text = Format(Val(管銷費用_tb.Text), "#,##0") : 預估利潤_tb.Text = Format(Val(預估利潤_tb.Text), "#,##0")
  365. 物料成本_tb.Text = Format(Val(物料成本_tb.Text), "#,##0") : 其他成本_tb.Text = Format(Val(其他成本_tb.Text), "#,##0") : 刷卡總和_tb.Text = Format(Val(刷卡總和_tb.Text), "#,##0")
  366. 刷卡稅金_tb.Text = Format(Val(刷卡稅金_tb.Text), "#,##0") : 刷卡傭金_tb.Text = Format(Val(刷卡傭金_tb.Text), "#,##0")
  367. End Sub
  368. Private Sub 指定倉庫_cb_下拉表單資料載入()
  369. If 需要全部庫存區域清單_ch.Checked = True Then
  370. SQL_倉名_下拉清單()
  371. Else
  372. If 料號_tb.Text = "" Then
  373. SQL_倉名_下拉清單()
  374. Else
  375. PA20 = 料號_tb.Text : SQL_倉名_下拉清單_有條件()
  376. End If
  377. End If
  378. 指定倉庫_cb.Items.Clear()
  379. While (dr.Read()) : 指定倉庫_cb.Items.Add(dr("倉名")) : End While : conn.Close()
  380. If 指定倉庫_cb.Items.Count = 0 Then
  381. SQL_倉名_下拉清單()
  382. While (dr.Read()) : 指定倉庫_cb.Items.Add(dr("倉名")) : End While : conn.Close()
  383. End If
  384. End Sub
  385. Private Sub 銷售單申請_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  386. Me.MdiParent = YD_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  387. 顯示_bt.Enabled = False : 隱藏_bt.Enabled = True
  388. If 登入人級別 <= 3 Then : 已審核資料_ch.Enabled = True : Else : 已審核資料_ch.Enabled = False : End If
  389. If CC(37) = False Then : 已審核資料_ch.Checked = False : Else : 已審核資料_ch.Checked = True : End If
  390. 料號_tb.Enabled = False : 供應商編碼_tb.Visible = False : 中間距_ch.Checked = True '--------------------控件隱藏、操作許可設定與其他基本顯示設定
  391. 指定倉庫_cb_下拉表單資料載入() : 訂製狀態_cb_下拉表單資料載入() : 倉儲狀態_cb_下拉表單資料載入() : 送貨地點_cb_下拉表單資料載入()
  392. 首次開啟 = False : Set_清單() : Set_清單1() : 業務_cb.Text = 業務號碼 : 首次開啟 = True '--------------------資料讀取
  393. If YD_ERP_SYS.Size.Width > 1440 And YD_ERP_SYS.Size.Height > 900 Then
  394. 字體_NUD.Value = 9
  395. ElseIf YD_ERP_SYS.Size.Width <= 1440 And YD_ERP_SYS.Size.Height <= 900 Then
  396. 字體_NUD.Value = 7.6
  397. End If
  398. End Sub
  399. Private Sub 銷售單申請_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  400. If 開立庫存調整單_bt.Enabled = False Then
  401. PA = 單號_tb.Text
  402. SQL_銷售控制表_刪除() : SQL_銷售明細表_整體刪除() : SQL_銷售備註表_整體刪除() : SQL_倉儲控制表_依銷售單號刪除() : SQL_銷售收款事項_整體刪除() : conn.Close()
  403. PA = ""
  404. End If
  405. End Sub
  406. Private Sub 銷售單申請_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
  407. If 單號_tb.Text = "" Then : Else
  408. Set_清單4() : Set_清單5() : Set_清單6() : Set_清單7()
  409. End If
  410. If YD_ERP_SYS.Size.Width > 1440 And YD_ERP_SYS.Size.Height > 900 Then
  411. 字體_NUD.Value = 9
  412. ElseIf YD_ERP_SYS.Size.Width <= 1440 And YD_ERP_SYS.Size.Height <= 900 Then
  413. 字體_NUD.Value = 8
  414. End If
  415. End Sub
  416. Private Sub 收款事項_dgv_CellEndEdit(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 收款事項_dgv.CellEndEdit
  417. Set_合記計算()
  418. End Sub
  419. Private Sub 收款事項_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 收款事項_dgv.CellClick
  420. If e.RowIndex = -1 Then : Else
  421. 銷售收款流水號_tb.Text = 收款事項_dgv("資料流水號", e.RowIndex).Value.ToString : 項次2_tb.Text = 收款事項_dgv("項次", e.RowIndex).Value.ToString
  422. 項次3_tb.Text = 收款事項_dgv("真項次", e.RowIndex).Value.ToString
  423. End If
  424. End Sub
  425. Private Sub 銷售備註_dgvCellEndEdit(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售備註_dgv.CellEndEdit
  426. If (Val(銷售備註_dgv.Rows(e.RowIndex).Cells("收入").Value) <> 0 And Val(銷售備註_dgv.Rows(e.RowIndex).Cells("支出").Value) <> 0) Then
  427. MsgBox("支出與收入不能同時有金額")
  428. Set_清單5()
  429. Exit Sub
  430. End If
  431. Set_合記計算()
  432. End Sub
  433. Private Sub 銷售備註_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售備註_dgv.CellClick
  434. If e.RowIndex = -1 Then : Else
  435. 銷售備註流水號_tb.Text = 銷售備註_dgv("資料流水號", e.RowIndex).Value.ToString : 項次1_tb.Text = 銷售備註_dgv("項次", e.RowIndex).Value.ToString
  436. End If
  437. End Sub
  438. Private Sub 銷售衍生運費_dgv_CellEndEdit(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售衍生運費_dgv.CellEndEdit
  439. Set_合記計算()
  440. End Sub
  441. Private Sub 銷售衍生運費_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售衍生運費_dgv.CellClick
  442. If e.RowIndex = -1 Then : Else
  443. 運費資料流水號_tb.Text = 銷售衍生運費_dgv("資料流水號", e.RowIndex).Value.ToString : 項次4_tb.Text = 銷售衍生運費_dgv("項次", e.RowIndex).Value.ToString
  444. End If
  445. End Sub
  446. Private Sub 銷售明細_dgv_CellEndEdit(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售明細_dgv.CellEndEdit
  447. If e.RowIndex = -1 Then : Else
  448. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  449. If 銷售明細_dgv("含稅", i).Value = False Then
  450. 銷售明細_dgv("單價", i).Value = 銷售明細_dgv("售價", i).Value / 銷售明細_dgv("數量", i).Value
  451. ElseIf 銷售明細_dgv("含稅", i).Value = True Then
  452. 銷售明細_dgv("單價", i).Value = (銷售明細_dgv("售價", i).Value / 1.05) / 銷售明細_dgv("數量", i).Value
  453. End If
  454. If 銷售明細_dgv("倉儲情況", i).Value <> "已有貨" Then
  455. PA20 = 銷售明細_dgv(5, i).Value : PA19 = 銷售明細_dgv(7, i).Value : PA18 = 銷售明細_dgv(9, i).Value
  456. SQL_銷售明細_改倉名()
  457. If dr.Read() Then
  458. 銷售明細_dgv("倉儲狀態", i).Value = dr("倉名編號")
  459. End If
  460. SQL_銷售明細_改物料訂製狀態()
  461. If dr.Read() Then
  462. 銷售明細_dgv("訂製狀態", i).Value = dr("編碼")
  463. End If
  464. SQL_銷售明細_倉儲狀態()
  465. If dr.Read() Then
  466. 銷售明細_dgv("物料狀態", i).Value = dr("編碼")
  467. End If : conn.Close()
  468. End If
  469. Next
  470. Set_合記計算()
  471. End If
  472. End Sub
  473. Private Sub 銷售明細_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售明細_dgv.CellClick
  474. If e.RowIndex = -1 Then : Else
  475. 銷售資料流水號_tb.Text = 銷售明細_dgv("資料流水號", e.RowIndex).Value.ToString : 倉儲資料流水號_tb.Text = 銷售明細_dgv("倉儲流水號", e.RowIndex).Value.ToString
  476. 項次_tb.Text = 銷售明細_dgv("項次", e.RowIndex).Value.ToString
  477. 物料圖1_pb.Image = Nothing : PA1 = 銷售明細_dgv("料號", e.RowIndex).Value : SQL_物料檔案_是否有圖()
  478. If dr.Read() Then
  479. If dr("是否有圖") = True Then
  480. 物料圖1_pb.BackgroundImage = Nothing
  481. PA = 銷售明細_dgv("料號", e.RowIndex).Value : SQL_物料圖庫_圖片顯示() '--------------------圖片顯示
  482. While dr.Read() = True
  483. Dim unused As Byte() = New Byte(-1) {}
  484. Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  485. Dim oStream As New MemoryStream(bytes)
  486. 物料圖1_pb.Image = Bitmap.FromStream(oStream)
  487. End While
  488. conn.Close()
  489. 物料圖1_pb.SizeMode = 4
  490. Else
  491. 物料圖1_pb.BackgroundImage = My.Resources.底圖1 : 物料圖1_pb.BackgroundImageLayout = 3
  492. 物料圖1_pb.Image = Nothing
  493. End If
  494. End If : conn.Close()
  495. End If
  496. End Sub
  497. Private Sub 銷售單據_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售單據_dgv.CellClick
  498. If e.RowIndex = -1 Then : Else
  499. 稅金存檔 = 銷售單據_dgv.Rows(e.RowIndex).Cells("稅金").Value
  500. 流水號_tb.Text = 銷售單據_dgv.Rows(e.RowIndex).Cells("流水號").Value : 單號_tb.Text = 銷售單據_dgv.Rows(e.RowIndex).Cells("單號").Value
  501. 開單日期_dtp.Value = 銷售單據_dgv.Rows(e.RowIndex).Cells("開單日期").Value : 客戶編號_tb.Text = 銷售單據_dgv.Rows(e.RowIndex).Cells("客戶編號").Value
  502. 交貨日期_dtp.Value = 銷售單據_dgv.Rows(e.RowIndex).Cells("交貨日期").Value : 含稅_ch.Checked = 銷售單據_dgv.Rows(e.RowIndex).Cells("含稅").Value
  503. 送貨地點_cb_下拉表單資料載入() : 送貨地點_cb.Text = 銷售單據_dgv.Rows(e.RowIndex).Cells("送貨地點").Value.ToString
  504. 運費 = 銷售單據_dgv.Rows(e.RowIndex).Cells("運費").Value.ToString : 客戶流水_tb.Text = ""
  505. 業務_cb.Text = Strings.Left(銷售單據_dgv.Rows(e.RowIndex).Cells("單號").Value, 1)
  506. Set_清單4() : Set_清單5()
  507. Set_清單6() : Set_清單7()
  508. PA = 單號_tb.Text : SQL_銷售單號串聯倉儲表取得倉儲單號()
  509. If dr.Read() Then : 調庫單號_tb.Text = dr("執行單號") : Else : 調庫單號_tb.Text = "" : End If
  510. End If
  511. End Sub
  512. Private Sub 區域庫存_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 區域庫存_dgv.CellClick
  513. If e.RowIndex = -1 Then : Else
  514. 指定倉庫_cb.Text = 區域庫存_dgv.Rows(e.RowIndex).Cells("倉名").Value
  515. End If
  516. End Sub
  517. Private Sub 物料清單_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 物料清單_dgv.CellClick
  518. If 首次開啟 = True Then
  519. If e.RowIndex = -1 Then : Else
  520. 料號_tb.Text = 物料清單_dgv("料號", e.RowIndex).Value.ToString : 供應商編碼_tb.Text = 物料清單_dgv("供應商", e.RowIndex).Value.ToString
  521. 品名_tb.Text = 物料清單_dgv("品名", e.RowIndex).Value.ToString : 最大庫存量_tb.Text = 物料清單_dgv("最低庫存量", e.RowIndex).Value.ToString
  522. 庫存量_tb.Text = Val(物料清單_dgv("庫存", e.RowIndex).Value.ToString)
  523. 可申請_tb.Text = Val(物料清單_dgv("庫存", e.RowIndex).Value.ToString) - Val(物料清單_dgv("未出庫", e.RowIndex).Value.ToString)
  524. 物料圖_pb.Image = Nothing : PA1 = 料號_tb.Text : SQL_物料檔案_是否有圖()
  525. If dr.Read() Then
  526. If dr("是否有圖") = True Then
  527. 物料圖_pb.BackgroundImage = Nothing
  528. PA = 料號_tb.Text : SQL_物料圖庫_圖片顯示() '--------------------圖片顯示
  529. While dr.Read() = True
  530. Dim unused As Byte() = New Byte(-1) {}
  531. Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  532. Dim oStream As New MemoryStream(bytes)
  533. 物料圖_pb.Image = Bitmap.FromStream(oStream)
  534. End While
  535. conn.Close()
  536. 物料圖_pb.SizeMode = 4
  537. Else
  538. 物料圖_pb.BackgroundImage = My.Resources.底圖1 : 物料圖_pb.BackgroundImageLayout = 3
  539. 物料圖_pb.Image = Nothing
  540. End If
  541. End If : conn.Close()
  542. 指定倉庫_cb_下拉表單資料載入() : 指定倉庫_cb.Text = 物料清單_dgv("倉名", e.RowIndex).Value.ToString : Set_清單3()
  543. 成本_nud.Value = 0
  544. If 物料清單_dgv("狀態", e.RowIndex).Value.ToString = "" Then
  545. 訂製狀態_cb_下拉表單資料載入() : 倉儲狀態_cb_下拉表單資料載入()
  546. Else
  547. 倉儲狀態_cb.Text = 物料清單_dgv("狀態", e.RowIndex).Value.ToString : 訂製狀態_cb.Text = 物料清單_dgv("訂製", e.RowIndex).Value.ToString
  548. If 訂製編碼_cb.Text = "MA0001" Then
  549. PA12 = 料號_tb.Text
  550. SQL_銷售明細表_成本讀取()
  551. If dr.Read() Then : 成本_nud.Value = dr("成本")
  552. Else : 成本_nud.Value = 0
  553. End If : conn.Close()
  554. Else
  555. 成本_nud.Value = 0
  556. End If
  557. End If
  558. End If
  559. End If
  560. End Sub
  561. Private Sub 物料清單_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 物料清單_dgv.RowPostPaint
  562. Dim linePen As New Pen(Color.Blue, 2)
  563. If e.RowIndex = 物料清單_dgv.Rows.Count - 1 Then : Exit Sub : Else
  564. If 物料清單_dgv("供應商", e.RowIndex).Value.ToString <> 物料清單_dgv("供應商", e.RowIndex + 1).Value.ToString Then
  565. Dim startX As Integer = IIf(物料清單_dgv.RowHeadersVisible, 物料清單_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  566. Dim endX As Integer = startX + 物料清單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 物料清單_dgv.HorizontalScrollingOffset
  567. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  568. End If
  569. End If
  570. For i As Integer = 0 To 物料清單_dgv.Rows.Count - 1
  571. If Val(物料清單_dgv("庫存", i).Value) + Val(物料清單_dgv("未入庫", i).Value) - Val(物料清單_dgv("未出庫", i).Value) = 0 Then
  572. 物料清單_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  573. ElseIf Val(物料清單_dgv("庫存", i).Value) = 0 And (Val(物料清單_dgv("未入庫", i).Value) <> 0 Or Val(物料清單_dgv("未出庫", i).Value) <> 0) Then
  574. 物料清單_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  575. ElseIf Val(物料清單_dgv("庫存", i).Value) + Val(物料清單_dgv("未入庫", i).Value) - Val(物料清單_dgv("未出庫", i).Value) <> 0 Then
  576. 物料清單_dgv.Rows(i).DefaultCellStyle.BackColor = Color.White
  577. End If
  578. Next
  579. End Sub
  580. Private Sub 窄間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距_ch.Click
  581. 小間距_ch.Checked = True : 中間距_ch.Checked = False : 大間距_ch.Checked = False
  582. 存檔1() : Set_清單4()
  583. End Sub
  584. Private Sub 中間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距_ch.Click
  585. 小間距_ch.Checked = False : 中間距_ch.Checked = True : 大間距_ch.Checked = False
  586. 存檔1() : Set_清單4()
  587. End Sub
  588. Private Sub 大間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距_ch.Click
  589. 小間距_ch.Checked = False : 中間距_ch.Checked = False : 大間距_ch.Checked = True
  590. 存檔1() : Set_清單4()
  591. End Sub
  592. Private Sub 地區_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 地區_cb.SelectedIndexChanged
  593. If 地區_cb.Text = "" And 查詢_tb.Text = "" Then
  594. 供應商_cb.Items.Clear() : 供應商編碼_cb.Items.Clear() : Set_清單()
  595. ElseIf 地區_cb.Text = "" Then
  596. 查詢_tb.Text = "" : 供應商_cb.Items.Clear() : 供應商編碼_cb.Items.Clear()
  597. ElseIf 地區_cb.Text <> "" Then
  598. 查詢_tb.Text = "" : 供應商_下拉表單資料載入()
  599. End If
  600. End Sub
  601. Private Sub 供應商_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商_cb.SelectedIndexChanged
  602. If 地區_cb.Text <> "" Then
  603. 查詢_tb.Text = "" : 供應商編碼_cb.SelectedIndex = 供應商_cb.SelectedIndex
  604. End If
  605. End Sub
  606. Private Sub 供應商編碼_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商編碼_cb.SelectedIndexChanged
  607. If 地區_cb.Text <> "" Then
  608. 查詢_tb.Text = "" : 供應商_cb.SelectedIndex = 供應商編碼_cb.SelectedIndex : 供應商編碼_tb.Text = 供應商編碼_cb.Text : Set_清單()
  609. End If
  610. End Sub
  611. Private Sub 清空_bt_Click(sender As Object, e As EventArgs) Handles 清空_bt.Click
  612. 查詢_tb.Text = "" : 地區_cb.Text = ""
  613. End Sub
  614. Private Sub 查詢_tb_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles 查詢_tb.KeyPress
  615. If e.KeyChar = Chr(13) Then
  616. 供應商_cb.Items.Clear() : 供應商編碼_cb.Items.Clear()
  617. PA = 查詢_tb.Text : Set_清單() : 地區_cb.Text = ""
  618. End If
  619. End Sub
  620. Private Sub 稅金_tb_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles 稅金_tb.KeyPress
  621. If e.KeyChar = Chr(13) Then
  622. 稅金存檔 = 稅金_tb.Text
  623. Set_合記計算()
  624. End If
  625. End Sub
  626. Private Sub 指定倉庫_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 指定倉庫_cb.SelectedIndexChanged
  627. PA6 = 指定倉庫_cb.Text : SQL_指定倉儲_資料讀取()
  628. If dr.Read() Then : 倉庫級別_tb.Text = dr("倉級") : 倉庫編號_tb.Text = dr("倉名編號") : End If : conn.Close()
  629. End Sub
  630. Private Sub 倉儲狀態_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 倉儲狀態_cb.SelectedIndexChanged
  631. 儲態編號_cb.SelectedIndex = 倉儲狀態_cb.SelectedIndex
  632. End Sub
  633. Private Sub 儲態編號_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 儲態編號_cb.SelectedIndexChanged
  634. 倉儲狀態_cb.SelectedIndex = 儲態編號_cb.SelectedIndex
  635. End Sub
  636. Private Sub 訂製狀態_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 訂製狀態_cb.SelectedIndexChanged
  637. 訂製編碼_cb.SelectedIndex = 訂製狀態_cb.SelectedIndex
  638. If 訂製編碼_cb.Text = "MA0001" Then
  639. PA12 = 料號_tb.Text
  640. SQL_銷售明細表_成本讀取()
  641. If dr.Read() Then : 成本_nud.Value = dr("成本")
  642. Else : 成本_nud.Value = 0
  643. End If : conn.Close()
  644. Else
  645. 成本_nud.Value = 0
  646. End If
  647. End Sub
  648. Private Sub 訂製編碼_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 訂製編碼_cb.SelectedIndexChanged
  649. 訂製狀態_cb.SelectedIndex = 訂製編碼_cb.SelectedIndex
  650. End Sub
  651. Private Sub 業務_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 業務_cb.SelectedIndexChanged
  652. Set_清單1()
  653. End Sub
  654. Private Sub 需要全部庫存區域清單_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 需要全部庫存區域清單_ch.CheckedChanged
  655. 指定倉庫_cb_下拉表單資料載入()
  656. End Sub
  657. Private Sub 送貨地點_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 送貨地點_cb.SelectedIndexChanged
  658. 最低運費_cb.SelectedIndex = 送貨地點_cb.SelectedIndex : 最低售價_cb.SelectedIndex = 送貨地點_cb.SelectedIndex : Set_合記計算()
  659. End Sub
  660. Private Sub 最低運費_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 最低運費_cb.SelectedIndexChanged
  661. 送貨地點_cb.SelectedIndex = 最低運費_cb.SelectedIndex : 最低售價_cb.SelectedIndex = 最低運費_cb.SelectedIndex
  662. End Sub
  663. Private Sub 最低售價_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 最低售價_cb.SelectedIndexChanged
  664. 送貨地點_cb.SelectedIndex = 最低售價_cb.SelectedIndex : 最低運費_cb.SelectedIndex = 最低售價_cb.SelectedIndex
  665. End Sub
  666. Private Sub 含稅_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 含稅_ch.CheckedChanged
  667. If 刷卡控制 = False Then
  668. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  669. If 含稅_ch.Checked = False Then : 銷售明細_dgv("含稅", i).Value = False
  670. ElseIf 含稅_ch.Checked = True Then : 銷售明細_dgv("含稅", i).Value = True
  671. End If
  672. If 銷售明細_dgv("含稅", i).Value = False Then
  673. 銷售明細_dgv("售價", i).Value = 銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value
  674. ElseIf 銷售明細_dgv("含稅", i).Value = True Then
  675. 銷售明細_dgv("售價", i).Value = 銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value * 1.05
  676. End If
  677. Next
  678. Set_合記計算()
  679. End If
  680. End Sub
  681. Private Sub 客戶編號_tb_TextChanged(sender As Object, e As EventArgs) Handles 客戶編號_tb.TextChanged
  682. PA15 = 客戶編號_tb.Text
  683. SQL_銷售單申請_客戶資料()
  684. If dr.Read() Then
  685. 客戶_tb.Text = dr("名稱") : 公司_tb.Text = dr("公司名稱") : 統編_tb.Text = dr("統編") : 住址_tb.Text = dr("地址") : 電話1_tb.Text = dr("電話1") : 電話2_tb.Text = dr("電話2")
  686. Else
  687. 客戶_tb.Text = "" : 公司_tb.Text = "" : 統編_tb.Text = "" : 住址_tb.Text = "" : 電話1_tb.Text = "" : 電話2_tb.Text = ""
  688. End If
  689. End Sub
  690. Private Sub 客戶資料查詢_bt_Click(sender As Object, e As EventArgs) Handles 客戶資料查詢_bt.Click
  691. If 流水號_tb.Text = "" Then
  692. MsgBox("指定客戶前要先有銷售單號,請新增單號或是挑選歷史資料!!")
  693. Else
  694. 客戶資料強制對話框模式 = True : 客戶資料表.Close() : 客戶資料表.ShowDialog() : 客戶編號_tb.Text = PA15 : 客戶資料強制對話框模式 = False : 客戶資料表.Close()
  695. End If
  696. End Sub
  697. Private Sub 開立庫存調整單_bt_Click(sender As Object, e As EventArgs) Handles 開立庫存調整單_bt.Click
  698. If 業務_cb.Text = "" Then '--------------------設定條件讓業務控件不為空
  699. MsgBox("沒有選擇業務編號。")
  700. Else
  701. PA = InputBox("請輸入銷售單號。")
  702. If PA = "" Then
  703. MsgBox("沒有輸入修改內容。")
  704. Else
  705. SQL_銷售控制表_單號是否重複() '
  706. If dr.Read() Then
  707. MsgBox("輸入的銷售單號重複。")
  708. Else
  709. If IsNumeric(Strings.Mid(PA, 2, 6)) = True Then
  710. If PA.Length = 7 Or PA.Length = 9 Then
  711. 開立庫存調整單_bt.Enabled = False : 銷售單據_dgv.Enabled = False
  712. 單號_tb.Text = PA : 調庫單號_tb.Text = "" : 客戶編號_tb.Text = "" : 運費 = 0 : 客戶流水_tb.Text = ""
  713. SQL_銷售控制表_最後一筆資料() '--------------------自動取得新編號
  714. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 4)) : Else : EDR = 1 : End If
  715. conn.Close() : EDR += 1
  716. If EDR < 10 Then : ESTR = "PO" & "0000000" & EDR
  717. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PO" & "000000" & EDR
  718. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PO" & "00000" & EDR
  719. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PO" & "0000" & EDR
  720. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PO" & "000" & EDR
  721. ElseIf EDR > 99999 And EDR < 1000000 Then : ESTR = "PO" & "00" & EDR
  722. ElseIf EDR > 999999 And EDR < 10000000 Then : ESTR = "PO" & "0" & EDR
  723. ElseIf EDR > 10000000 Then : ESTR = "PO" & EDR
  724. End If : 流水號_tb.Text = ESTR : PA1 = ESTR
  725. Set_日期格式轉換()
  726. '----------------------------------判斷是否需要經過審核-------------------------------------------
  727. If CC(37) = False Then
  728. SQL_銷售控制表_新增()
  729. Else
  730. SQL_銷售控制表_新增_無須審核()
  731. End If
  732. 稅金存檔 = 0
  733. SQL_銷售收款事項_最後一筆資料()
  734. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  735. conn.Close() : EDR += 1
  736. If EDR < 10 Then : ESTR = "ST" & "00000000" & EDR
  737. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "ST" & "0000000" & EDR
  738. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "ST" & "000000" & EDR
  739. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "ST" & "00000" & EDR
  740. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "ST" & "0000" & EDR
  741. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "ST" & "000" & EDR
  742. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "ST" & "00" & EDR
  743. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "ST" & "0" & EDR
  744. ElseIf EDR > 99999999 Then : ESTR = "ST" & EDR : End If
  745. PA1 = ESTR
  746. SQL_銷售收款事項_新增() : conn.Close() : Set_清單1() : Set_清單4() : Set_清單5() : Set_清單6() : Set_清單7() : 送貨地點_cb_下拉表單資料載入()
  747. 司機運費_tb.Text = "0" : 預估利潤_tb.Text = "0" : 客戶編號_tb.Text = "" : 客戶_tb.Text = "" : 公司_tb.Text = "" : 電話1_tb.Text = "" : 電話2_tb.Text = ""
  748. 統編_tb.Text = "" : 住址_tb.Text = "" : 含稅_ch.Checked = False
  749. Else
  750. MsgBox("輸入的單號需要完整七位數或是九位數。")
  751. End If
  752. Else
  753. MsgBox("單號除了開頭第一位其他都必須是數字。")
  754. End If
  755. End If
  756. End If
  757. End If
  758. End Sub
  759. Private Sub 客戶資料驗證_bt_Click(sender As Object, e As EventArgs) Handles 客戶資料驗證_bt.Click
  760. If 流水號_tb.Text = "" Then
  761. MsgBox("沒有銷售單號,無法作業。")
  762. Else
  763. Set_清單2()
  764. If 客戶資料_dgv.Rows.Count = 1 Then
  765. 客戶編號_tb.Text = 客戶資料_dgv.Rows(0).Cells("舊編").Value
  766. ElseIf 客戶資料_dgv.Rows.Count > 1 Then
  767. MsgBox("即將幫您打開客戶資料表,請在客戶資料表中查詢,選取您確認的正確訊息,並指定到銷售申請單。")
  768. PA30 = 客戶_tb.Text : PA29 = 住址_tb.Text : PA28 = 電話1_tb.Text : PA27 = 電話2_tb.Text : PA26 = 公司_tb.Text : PA25 = 統編_tb.Text
  769. 客戶資料查詢_bt.PerformClick()
  770. ElseIf 客戶資料_dgv.Rows.Count = 0 Then
  771. Dim aa1 As MsgBoxResult = MsgBox("資料庫中查詢不到該客戶資料,是否依照目前資料新增客戶資料?", MsgBoxStyle.OkCancel)
  772. If aa1 = MsgBoxResult.Ok Then
  773. SQL_客戶資料表_流水號_最後一筆資料() '--------------------自動取得新流水號
  774. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If
  775. conn.Close() : EDR += 1
  776. If EDR < 10 Then : ESTR = "CL" & "00000000" & EDR
  777. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "CL" & "0000000" & EDR
  778. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "CL" & "000000" & EDR
  779. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "CL" & "00000" & EDR
  780. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "CL" & "0000" & EDR
  781. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "CL" & "000" & EDR
  782. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "CL" & "00" & EDR
  783. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "CL" & "0" & EDR
  784. ElseIf EDR > 99999999 Then : ESTR = "CL" & EDR
  785. End If : 客戶流水_tb.Text = ESTR : PA16 = ESTR
  786. PA18 = 業務_cb.Text
  787. SQL_客戶資料表_編號_最後一筆資料() '--------------------自動取得新編號
  788. If dr.Read() Then : EDR1 = Double.Parse(Strings.Right(dr("舊編").ToString, 4)) : Else : EDR1 = 0 : End If
  789. conn.Close() : EDR1 += 1
  790. If EDR1 < 10 Then : ESTR1 = 業務_cb.Text & "000" & EDR1
  791. ElseIf EDR1 > 9 And EDR1 < 100 Then : ESTR1 = 業務_cb.Text & "00" & EDR1
  792. ElseIf EDR1 > 99 And EDR1 < 1000 Then : ESTR1 = 業務_cb.Text & "0" & EDR1
  793. ElseIf EDR1 > 999 And EDR1 < 10000 Then : ESTR1 = 業務_cb.Text & EDR1
  794. End If : PA17 = ESTR1
  795. SQL_客戶資料表_新增() '--------------------人事資料表中寫入一筆資料
  796. PA14 = 客戶_tb.Text : PA13 = 電話1_tb.Text : PA12 = 電話2_tb.Text : PA11 = 住址_tb.Text
  797. PA10 = 公司_tb.Text : PA9 = 統編_tb.Text : PA8 = 客戶流水_tb.Text
  798. SQL_客戶資料表_修改() : conn.Close() '--------------------資料修改
  799. 客戶編號_tb.Text = ESTR1
  800. MsgBox("客戶資料新增完畢,請記得存檔。")
  801. End If
  802. End If
  803. End If
  804. End Sub
  805. Private Sub 存檔1()
  806. If 流水號_tb.Text = "" Then
  807. MsgBox("沒有銷售單號,無法作業。")
  808. Else
  809. If 客戶編號_tb.Text = "" Then
  810. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  811. Else
  812. PA14 = 客戶_tb.Text : PA13 = 電話1_tb.Text : PA12 = 電話2_tb.Text : PA11 = 住址_tb.Text
  813. PA10 = 公司_tb.Text : PA9 = 統編_tb.Text : PA8 = 客戶流水_tb.Text
  814. SQL_客戶資料表_修改() '--------------------資料修改
  815. DTP = Format(開單日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Format(交貨日期_dtp.Value, "yyyy/MM/dd") : BL1 = 含稅_ch.Checked : 運費 = 司機運費_tb.Text
  816. PA1 = 流水號_tb.Text : PA2 = 單號_tb.Text : PA3 = 客戶編號_tb.Text : PA4 = 流水號_tb.Text : PA5 = 送貨地點_cb.Text : NU1 = 司機運費_tb.Text : NU2 = 管銷費用_tb.Text
  817. NU3 = 稅金_tb.Text : NU4 = 刷卡傭金_tb.Text
  818. SQL_銷售控制表_修改() '--------------------資料修改
  819. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  820. 資料數 = 銷售明細_dgv.Rows.Count : MyModule1.進度條()
  821. PA10 = 銷售明細_dgv.Rows(i).Cells("備註").Value.ToString : PA11 = 銷售明細_dgv.Rows(i).Cells("資料流水號").Value : PA9 = 銷售明細_dgv.Rows(i).Cells("倉儲狀態").Value
  822. NU1 = 銷售明細_dgv.Rows(i).Cells("成本").Value : NU2 = 銷售明細_dgv.Rows(i).Cells("單價").Value : PA8 = 銷售明細_dgv.Rows(i).Cells("物料狀態").Value
  823. BL5 = 銷售明細_dgv.Rows(i).Cells("含稅").Value : PA7 = 銷售明細_dgv.Rows(i).Cells("訂製狀態").Value : BL6 = 銷售明細_dgv.Rows(i).Cells("無管銷").Value
  824. SQL_銷售明細表_修改() : conn.Close()
  825. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  826. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  827. 資料數 = 銷售備註_dgv.Rows.Count : MyModule1.進度條()
  828. PA10 = 銷售備註_dgv.Rows(i).Cells("備註").Value : PA11 = 銷售備註_dgv.Rows(i).Cells("資料流水號").Value
  829. NU1 = 銷售備註_dgv.Rows(i).Cells("收入").Value : NU2 = 銷售備註_dgv.Rows(i).Cells("支出").Value
  830. SQL_銷售備註表_修改() : conn.Close()
  831. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  832. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  833. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  834. PA10 = 收款事項_dgv.Rows(i).Cells("內容").Value : PA11 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  835. NU1 = 收款事項_dgv.Rows(i).Cells("金額").Value : PA12 = 收款事項_dgv.Rows(i).Cells("含稅").Value
  836. SQL_銷售收款事項_修改() : conn.Close()
  837. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  838. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  839. 資料數 = 銷售衍生運費_dgv.Rows.Count : MyModule1.進度條()
  840. PA10 = 銷售衍生運費_dgv.Rows(i).Cells("運費備註").Value : PA11 = 銷售衍生運費_dgv.Rows(i).Cells("資料流水號").Value
  841. NU1 = 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  842. SQL_銷售衍生運費_修改() : conn.Close()
  843. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  844. Set_清單1()
  845. End If
  846. End If
  847. End Sub
  848. Private Sub 存檔2()
  849. If 流水號_tb.Text = "" Then
  850. MsgBox("沒有銷售單號,無法作業。")
  851. Else
  852. Set_清單2()
  853. If 客戶資料_dgv.Rows.Count = 1 Then
  854. 客戶編號_tb.Text = 客戶資料_dgv.Rows(0).Cells("舊編").Value
  855. ElseIf 客戶資料_dgv.Rows.Count > 1 Then
  856. Dim aa1 As MsgBoxResult = MsgBox("系統查詢到該客戶有多筆客戶資料,你是否已經確定單據上顯示的客戶資料正確?", MsgBoxStyle.OkCancel)
  857. If aa1 = MsgBoxResult.Ok Then : Else
  858. MsgBox("即將幫您打開客戶資料表,請在客戶資料表中查詢,選取您確認的正確訊息,並指定到銷售申請單。")
  859. 客戶資料查詢_bt.PerformClick()
  860. MsgBox("指定客戶後請寄的再次存檔。")
  861. Exit Sub
  862. End If
  863. ElseIf 客戶資料_dgv.Rows.Count = 0 Then
  864. Dim aa1 As MsgBoxResult = MsgBox("資料庫中查詢不到該客戶資料,是否依照目前資料新增客戶資料?", MsgBoxStyle.OkCancel)
  865. If aa1 = MsgBoxResult.Ok Then
  866. SQL_客戶資料表_流水號_最後一筆資料() '--------------------自動取得新流水號
  867. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If
  868. conn.Close() : EDR += 1
  869. If EDR < 10 Then : ESTR = "CL" & "00000000" & EDR
  870. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "CL" & "0000000" & EDR
  871. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "CL" & "000000" & EDR
  872. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "CL" & "00000" & EDR
  873. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "CL" & "0000" & EDR
  874. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "CL" & "000" & EDR
  875. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "CL" & "00" & EDR
  876. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "CL" & "0" & EDR
  877. ElseIf EDR > 99999999 Then : ESTR = "CL" & EDR
  878. End If : 客戶流水_tb.Text = ESTR : PA16 = ESTR
  879. PA18 = 業務_cb.Text
  880. SQL_客戶資料表_編號_最後一筆資料() '--------------------自動取得新編號
  881. If dr.Read() Then : EDR1 = Double.Parse(Strings.Right(dr("舊編").ToString, 4)) : Else : EDR1 = 0 : End If
  882. conn.Close() : EDR1 += 1
  883. If EDR1 < 10 Then : ESTR1 = 業務_cb.Text & "000" & EDR1
  884. ElseIf EDR1 > 9 And EDR1 < 100 Then : ESTR1 = 業務_cb.Text & "00" & EDR1
  885. ElseIf EDR1 > 99 And EDR1 < 1000 Then : ESTR1 = 業務_cb.Text & "0" & EDR1
  886. ElseIf EDR1 > 999 And EDR1 < 10000 Then : ESTR1 = 業務_cb.Text & EDR1
  887. End If : PA17 = ESTR1
  888. SQL_客戶資料表_新增() '--------------------人事資料表中寫入一筆資料
  889. PA14 = 客戶_tb.Text : PA13 = 電話1_tb.Text : PA12 = 電話2_tb.Text : PA11 = 住址_tb.Text
  890. PA10 = 公司_tb.Text : PA9 = 統編_tb.Text : PA8 = 客戶流水_tb.Text
  891. SQL_客戶資料表_修改() : conn.Close() '--------------------資料修改
  892. 客戶編號_tb.Text = ESTR1
  893. End If
  894. End If
  895. If 客戶編號_tb.Text = "" Then
  896. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  897. Else
  898. PA14 = 客戶_tb.Text : PA13 = 電話1_tb.Text : PA12 = 電話2_tb.Text : PA11 = 住址_tb.Text
  899. PA10 = 公司_tb.Text : PA9 = 統編_tb.Text : PA8 = 客戶流水_tb.Text
  900. SQL_客戶資料表_修改() '--------------------資料修改
  901. DTP = Format(開單日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Format(交貨日期_dtp.Value, "yyyy/MM/dd") : BL1 = 含稅_ch.Checked : 運費 = 司機運費_tb.Text
  902. PA1 = 流水號_tb.Text : PA2 = 單號_tb.Text : PA3 = 客戶編號_tb.Text : PA4 = 流水號_tb.Text : PA5 = 送貨地點_cb.Text : NU1 = 司機運費_tb.Text : NU2 = 管銷費用_tb.Text
  903. NU3 = 稅金_tb.Text : NU4 = 刷卡傭金_tb.Text
  904. SQL_銷售控制表_修改() '--------------------資料修改
  905. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  906. 資料數 = 銷售明細_dgv.Rows.Count : MyModule1.進度條()
  907. PA10 = 銷售明細_dgv.Rows(i).Cells("備註").Value.ToString : PA11 = 銷售明細_dgv.Rows(i).Cells("資料流水號").Value : PA9 = 銷售明細_dgv.Rows(i).Cells("倉儲狀態").Value
  908. NU1 = 銷售明細_dgv.Rows(i).Cells("成本").Value : NU2 = 銷售明細_dgv.Rows(i).Cells("單價").Value : PA8 = 銷售明細_dgv.Rows(i).Cells("物料狀態").Value
  909. BL5 = 銷售明細_dgv.Rows(i).Cells("含稅").Value : PA7 = 銷售明細_dgv.Rows(i).Cells("訂製狀態").Value : BL6 = 銷售明細_dgv.Rows(i).Cells("無管銷").Value
  910. SQL_銷售明細表_修改() : conn.Close()
  911. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  912. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  913. 資料數 = 銷售備註_dgv.Rows.Count : MyModule1.進度條()
  914. PA10 = 銷售備註_dgv.Rows(i).Cells("備註").Value : PA11 = 銷售備註_dgv.Rows(i).Cells("資料流水號").Value
  915. NU1 = 銷售備註_dgv.Rows(i).Cells("收入").Value : NU2 = 銷售備註_dgv.Rows(i).Cells("支出").Value
  916. SQL_銷售備註表_修改() : conn.Close()
  917. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  918. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  919. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  920. PA10 = 收款事項_dgv.Rows(i).Cells("內容").Value : PA11 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  921. NU1 = 收款事項_dgv.Rows(i).Cells("金額").Value : PA12 = 收款事項_dgv.Rows(i).Cells("含稅").Value
  922. SQL_銷售收款事項_修改() : conn.Close()
  923. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  924. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  925. 資料數 = 銷售衍生運費_dgv.Rows.Count : MyModule1.進度條()
  926. PA10 = 銷售衍生運費_dgv.Rows(i).Cells("運費備註").Value : PA11 = 銷售衍生運費_dgv.Rows(i).Cells("資料流水號").Value
  927. NU1 = 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  928. SQL_銷售衍生運費_修改() : conn.Close()
  929. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  930. MsgBox("存檔完成。")
  931. 開立庫存調整單_bt.Enabled = True : Set_清單1() : 銷售單據_dgv.Enabled = True
  932. End If
  933. End If
  934. End Sub
  935. Private Sub 存檔3()
  936. If 流水號_tb.Text = "" Then
  937. MsgBox("沒有銷售單號,無法作業。")
  938. Else
  939. If 客戶編號_tb.Text = "" Then
  940. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  941. Else
  942. PA14 = 客戶_tb.Text : PA13 = 電話1_tb.Text : PA12 = 電話2_tb.Text : PA11 = 住址_tb.Text
  943. PA10 = 公司_tb.Text : PA9 = 統編_tb.Text : PA8 = 客戶流水_tb.Text
  944. SQL_客戶資料表_修改() '--------------------資料修改
  945. DTP = Format(開單日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Format(交貨日期_dtp.Value, "yyyy/MM/dd") : BL1 = 含稅_ch.Checked : 運費 = 司機運費_tb.Text
  946. PA1 = 流水號_tb.Text : PA2 = 單號_tb.Text : PA3 = 客戶編號_tb.Text : PA4 = 流水號_tb.Text : PA5 = 送貨地點_cb.Text : NU1 = 司機運費_tb.Text : NU2 = 管銷費用_tb.Text
  947. NU3 = 稅金_tb.Text : NU4 = 刷卡傭金_tb.Text
  948. SQL_銷售控制表_修改() '--------------------資料修改
  949. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  950. 資料數 = 銷售明細_dgv.Rows.Count : MyModule1.進度條()
  951. PA10 = 銷售明細_dgv.Rows(i).Cells("備註").Value.ToString : PA11 = 銷售明細_dgv.Rows(i).Cells("資料流水號").Value : PA9 = 銷售明細_dgv.Rows(i).Cells("倉儲狀態").Value
  952. NU1 = 銷售明細_dgv.Rows(i).Cells("成本").Value : NU2 = 銷售明細_dgv.Rows(i).Cells("單價").Value : PA8 = 銷售明細_dgv.Rows(i).Cells("物料狀態").Value
  953. BL5 = 銷售明細_dgv.Rows(i).Cells("含稅").Value : PA7 = 銷售明細_dgv.Rows(i).Cells("訂製狀態").Value : BL6 = 銷售明細_dgv.Rows(i).Cells("無管銷").Value
  954. SQL_銷售明細表_修改() : conn.Close()
  955. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  956. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  957. 資料數 = 銷售備註_dgv.Rows.Count : MyModule1.進度條()
  958. PA10 = 銷售備註_dgv.Rows(i).Cells("備註").Value : PA11 = 銷售備註_dgv.Rows(i).Cells("資料流水號").Value
  959. NU1 = 銷售備註_dgv.Rows(i).Cells("收入").Value : NU2 = 銷售備註_dgv.Rows(i).Cells("支出").Value
  960. SQL_銷售備註表_修改() : conn.Close()
  961. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  962. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  963. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  964. PA10 = 收款事項_dgv.Rows(i).Cells("內容").Value : PA11 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  965. NU1 = 收款事項_dgv.Rows(i).Cells("金額").Value : PA12 = 收款事項_dgv.Rows(i).Cells("含稅").Value
  966. SQL_銷售收款事項_修改() : conn.Close()
  967. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  968. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  969. 資料數 = 銷售衍生運費_dgv.Rows.Count : MyModule1.進度條()
  970. PA10 = 銷售衍生運費_dgv.Rows(i).Cells("運費備註").Value : PA11 = 銷售衍生運費_dgv.Rows(i).Cells("資料流水號").Value
  971. NU1 = 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  972. SQL_銷售衍生運費_修改() : conn.Close()
  973. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  974. 開立庫存調整單_bt.Enabled = True : Set_清單1() : 銷售單據_dgv.Enabled = True
  975. End If
  976. End If
  977. End Sub
  978. Private Sub 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  979. 存檔2()
  980. End Sub
  981. Private Sub 選定內容加入庫存調整申請單_bt_Click(sender As Object, e As EventArgs) Handles 選定內容加入庫存調整申請單_bt.Click
  982. If 流水號_tb.Text = "" Then
  983. MsgBox("沒有銷售單號,無法作業。")
  984. Else
  985. If 銷售明細_dgv.Rows.Count = 0 Then
  986. 存檔2()
  987. Else
  988. 存檔3()
  989. End If
  990. If 料號_tb.Text = "" Then
  991. MsgBox("請選擇物料,調整庫存需要指定物料!!")
  992. Else
  993. If 儲態編號_cb.Text = "" Then
  994. MsgBox("倉儲狀態是一定要選擇的!!")
  995. Else
  996. If 訂製狀態_cb.Text = "" Then
  997. MsgBox("物品的訂製狀態也是一定要選擇的!!")
  998. Else
  999. If 訂購數量_nud.Value = 0 Then
  1000. MsgBox("訂購數量為零是不容許的!!")
  1001. Else
  1002. PA1 = 單號_tb.Text : PA2 = 料號_tb.Text : PA3 = 倉庫編號_tb.Text
  1003. SQL_銷售明細表_最後一筆資料()
  1004. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  1005. conn.Close() : EDR += 1
  1006. If EDR < 10 Then : ESTR = "SA" & "00000000" & EDR
  1007. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "SA" & "0000000" & EDR
  1008. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "SA" & "000000" & EDR
  1009. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "SA" & "00000" & EDR
  1010. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "SA" & "0000" & EDR
  1011. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "SA" & "000" & EDR
  1012. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "SA" & "00" & EDR
  1013. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "SA" & "0" & EDR
  1014. ElseIf EDR > 99999999 Then : ESTR = "SA" & EDR : End If
  1015. Set_日期格式轉換()
  1016. PA3 = ESTR : PA4 = 單號_tb.Text : PA5 = 倉庫級別_tb.Text : PA6 = 倉庫編號_tb.Text : NU1 = 訂購數量_nud.Value : NU2 = 成本_nud.Value : NU3 = 售價_nud.Value
  1017. PA7 = 儲態編號_cb.Text : PA8 = 訂製編碼_cb.Text : BL2 = 含稅_ch.Checked : PA10 = 倉庫編號_tb.Text : PA9 = "未有貨"
  1018. Dim 排序 As Integer
  1019. SQL_銷售明細表_排序()
  1020. If dr.Read() Then : 排序 = Val(dr("排序")) + 1 : Else : 排序 = 1 : End If : PA11 = 排序
  1021. SQL_銷售單申請_銷售明細表_新增() : conn.Close()
  1022. Set_清單4() : Set_清單()
  1023. PA = 單號_tb.Text : SQL_銷售控制表_驗證解除()
  1024. End If
  1025. End If
  1026. End If
  1027. End If
  1028. End If
  1029. End Sub
  1030. Private Sub 刪除單據上點選的資料_bt_Click(sender As Object, e As EventArgs) Handles 刪除單據上點選的資料_bt.Click
  1031. If 流水號_tb.Text = "" Then
  1032. MsgBox("沒有銷售單號,無法作業。")
  1033. Else
  1034. If 客戶編號_tb.Text = "" Then
  1035. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1036. Else
  1037. Dim aa1 As MsgBoxResult = MsgBox("你確定要刪除這筆資料?", MsgBoxStyle.OkCancel)
  1038. If aa1 = MsgBoxResult.Ok Then
  1039. PA = 銷售資料流水號_tb.Text : PA1 = 倉儲資料流水號_tb.Text
  1040. SQL_銷售明細表_單筆刪除() : SQL_倉儲控制表_依銷售單號單筆刪除() : Set_清單() : Set_清單4()
  1041. PA = 單號_tb.Text : SQL_銷售控制表_驗證解除() : PA = "" : PA1 = ""
  1042. End If
  1043. End If
  1044. End If
  1045. End Sub
  1046. Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  1047. If 流水號_tb.Text = "" Then
  1048. MsgBox("沒有銷售單號,無法作業。")
  1049. Else
  1050. If Val(Strings.Left(單號_tb.Text, 1)) = Val(業務號碼) Or Val(登入人級別) <= 1 Then
  1051. Dim aa1 As MsgBoxResult = MsgBox("刪除銷售單會連同該單據串連的採購,倉儲等聯繫單據都依同刪除,請再次確定是否刪除該單據?", MsgBoxStyle.OkCancel)
  1052. If aa1 = MsgBoxResult.Ok Then
  1053. PA = 單號_tb.Text
  1054. SQL_銷售控制表_刪除() : SQL_銷售明細表_整體刪除() : SQL_銷售備註表_整體刪除() : SQL_倉儲控制表_依銷售單號刪除() : SQL_銷售收款事項_整體刪除()
  1055. Set_清單() : Set_清單1() : Set_清單4() : Set_清單5() : Set_清單6() : Set_清單7()
  1056. conn.Close()
  1057. End If
  1058. Else
  1059. MsgBox("只能刪除屬於自己的單據。")
  1060. End If
  1061. End If
  1062. End Sub
  1063. Private Sub 銷售備註_bt_Click(sender As Object, e As EventArgs) Handles 銷售備註_bt.Click
  1064. If 流水號_tb.Text = "" Then
  1065. MsgBox("沒有銷售單號,無法作業。")
  1066. Else
  1067. If 客戶編號_tb.Text = "" Then
  1068. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1069. Else
  1070. PA = 單號_tb.Text
  1071. SQL_銷售備註表_最後一筆資料()
  1072. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  1073. conn.Close() : EDR += 1
  1074. If EDR < 10 Then : ESTR = "SR" & "00000000" & EDR
  1075. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "SR" & "0000000" & EDR
  1076. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "SR" & "000000" & EDR
  1077. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "SR" & "00000" & EDR
  1078. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "SR" & "0000" & EDR
  1079. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "SR" & "000" & EDR
  1080. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "SR" & "00" & EDR
  1081. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "SR" & "0" & EDR
  1082. ElseIf EDR > 99999999 Then : ESTR = "SR" & EDR : End If
  1083. PA1 = ESTR
  1084. SQL_銷售備註表_新增()
  1085. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  1086. 資料數 = 銷售備註_dgv.Rows.Count : MyModule1.進度條()
  1087. PA10 = 銷售備註_dgv.Rows(i).Cells("備註").Value : PA11 = 銷售備註_dgv.Rows(i).Cells("資料流水號").Value
  1088. NU1 = 銷售備註_dgv.Rows(i).Cells("收入").Value : NU2 = 銷售備註_dgv.Rows(i).Cells("支出").Value
  1089. SQL_銷售備註表_修改() : conn.Close()
  1090. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1091. Set_清單5()
  1092. End If
  1093. End If
  1094. End Sub
  1095. Private Sub 刪除備註_bt_Click(sender As Object, e As EventArgs) Handles 刪除備註_bt.Click
  1096. If 流水號_tb.Text = "" Then
  1097. MsgBox("沒有銷售單號,無法作業。")
  1098. Else
  1099. If 客戶編號_tb.Text = "" Then
  1100. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1101. Else
  1102. Dim aa1 As MsgBoxResult = MsgBox("你確定要刪除這筆資料?", MsgBoxStyle.OkCancel)
  1103. If aa1 = MsgBoxResult.Ok Then
  1104. PA = 銷售備註流水號_tb.Text
  1105. SQL_銷售備註表_刪除() : Set_清單5()
  1106. End If
  1107. End If
  1108. End If
  1109. End Sub
  1110. Private Sub 刪除收款事項上點選的資料_bt_Click(sender As Object, e As EventArgs) Handles 刪除收款事項上點選的資料_bt.Click
  1111. If 流水號_tb.Text = "" Then
  1112. MsgBox("沒有銷售單號,無法作業。")
  1113. Else
  1114. If 客戶編號_tb.Text = "" Then
  1115. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1116. Else
  1117. If 項次3_tb.Text = "" Then
  1118. MsgBox("沒有選擇收款事項,無法作業。")
  1119. Else
  1120. If 刷卡可刪除_ch.Checked = False Then
  1121. If 項次3_tb.Text = "0" Then
  1122. MsgBox("不能刪除 [未收餘額] 或 [刷卡] 選項!!")
  1123. Else
  1124. Dim aa1 As MsgBoxResult = MsgBox("你確定要刪除這筆資料?", MsgBoxStyle.OkCancel)
  1125. If aa1 = MsgBoxResult.Ok Then
  1126. PA = 銷售收款流水號_tb.Text
  1127. SQL_銷售收款事項_刪除() : Set_清單6()
  1128. End If
  1129. End If
  1130. ElseIf 刷卡可刪除_ch.Checked = True Then
  1131. Dim aa1 As MsgBoxResult = MsgBox("你確定要刪除這筆資料?", MsgBoxStyle.OkCancel)
  1132. If aa1 = MsgBoxResult.Ok Then
  1133. PA = 銷售收款流水號_tb.Text
  1134. SQL_銷售收款事項_刪除() : Set_清單6()
  1135. End If
  1136. End If
  1137. 刷卡可刪除_ch.Checked = False
  1138. End If
  1139. End If
  1140. End If
  1141. End Sub
  1142. Private Sub 刷卡收款_bt_Click(sender As Object, e As EventArgs) Handles 刷卡收款_bt.Click
  1143. If 流水號_tb.Text = "" Then
  1144. MsgBox("沒有銷售單號,無法作業。")
  1145. Else
  1146. SQL_銷售收款事項_最後一筆資料()
  1147. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  1148. conn.Close() : EDR += 1
  1149. If EDR < 10 Then : ESTR = "ST" & "00000000" & EDR
  1150. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "ST" & "0000000" & EDR
  1151. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "ST" & "000000" & EDR
  1152. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "ST" & "00000" & EDR
  1153. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "ST" & "0000" & EDR
  1154. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "ST" & "000" & EDR
  1155. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "ST" & "00" & EDR
  1156. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "ST" & "0" & EDR
  1157. ElseIf EDR > 99999999 Then : ESTR = "ST" & EDR : End If
  1158. PA1 = ESTR
  1159. PA = 單號_tb.Text
  1160. SQL_銷售收款事項_最後一筆項次()
  1161. If dr.Read() Then : EDR = dr("項次").ToString : Else : EDR = 0 : End If
  1162. conn.Close() : EDR += 1
  1163. If EDR < 10 Then : ESTR = EDR
  1164. ElseIf EDR > 9 And EDR < 100 Then : ESTR = EDR : End If
  1165. PA2 = ESTR
  1166. SQL_銷售收款事項_新增3()
  1167. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1168. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  1169. PA10 = 收款事項_dgv.Rows(i).Cells("內容").Value : PA11 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  1170. NU1 = 收款事項_dgv.Rows(i).Cells("金額").Value : PA12 = 收款事項_dgv.Rows(i).Cells("含稅").Value
  1171. SQL_銷售收款事項_修改() : conn.Close()
  1172. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1173. Set_清單6()
  1174. 刷卡控制 = True : 含稅_ch.Checked = True : 刷卡控制 = False
  1175. End If
  1176. End Sub
  1177. Private Sub 新增一筆收款事項_bt_Click(sender As Object, e As EventArgs) Handles 新增一筆收款事項_bt.Click
  1178. If 流水號_tb.Text = "" Then
  1179. MsgBox("沒有銷售單號,無法作業。")
  1180. Else
  1181. If 客戶編號_tb.Text = "" Then
  1182. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1183. Else
  1184. SQL_銷售收款事項_最後一筆資料()
  1185. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  1186. conn.Close() : EDR += 1
  1187. If EDR < 10 Then : ESTR = "ST" & "00000000" & EDR
  1188. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "ST" & "0000000" & EDR
  1189. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "ST" & "000000" & EDR
  1190. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "ST" & "00000" & EDR
  1191. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "ST" & "0000" & EDR
  1192. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "ST" & "000" & EDR
  1193. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "ST" & "00" & EDR
  1194. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "ST" & "0" & EDR
  1195. ElseIf EDR > 99999999 Then : ESTR = "ST" & EDR : End If
  1196. PA1 = ESTR
  1197. SQL_銷售收款事項_最後一筆項次()
  1198. If dr.Read() Then : EDR = dr("項次").ToString : Else : EDR = 0 : End If
  1199. conn.Close() : EDR += 1
  1200. If EDR < 10 Then : ESTR = EDR
  1201. ElseIf EDR > 9 And EDR < 100 Then : ESTR = EDR : End If
  1202. PA2 = ESTR : PA = 單號_tb.Text
  1203. SQL_銷售收款事項_新增2()
  1204. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1205. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  1206. PA10 = 收款事項_dgv.Rows(i).Cells("內容").Value : PA11 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  1207. NU1 = 收款事項_dgv.Rows(i).Cells("金額").Value : PA12 = 收款事項_dgv.Rows(i).Cells("含稅").Value
  1208. SQL_銷售收款事項_修改() : conn.Close()
  1209. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1210. Set_清單6()
  1211. End If
  1212. End If
  1213. End Sub
  1214. Private Sub 讀取標準成本_bt_Click(sender As Object, e As EventArgs) Handles 讀取標準成本_bt.Click
  1215. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  1216. 資料數 = 銷售明細_dgv.Rows.Count : MyModule1.進度條()
  1217. PA12 = 銷售明細_dgv.Rows(i).Cells("料號").Value
  1218. SQL_銷售明細表_成本讀取()
  1219. If dr.Read() Then : 銷售明細_dgv.Rows(i).Cells("成本").Value = dr("成本")
  1220. Else : 銷售明細_dgv.Rows(i).Cells("成本").Value = 0
  1221. End If : conn.Close() : Set_合記計算()
  1222. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1223. End Sub
  1224. Private Sub Reset_bt_Click(sender As Object, e As EventArgs) Handles Reset_bt.Click
  1225. Dim 不含1類銷售小記 As Integer : Dim 金額1 As Integer = 0 : Dim 無管物料 As Integer
  1226. 售價小計_tb.Text = "0" : 稅金_tb.Text = "0" : 銷售合計_tb.Text = "0" : 收入小計_tb.Text = "0" : 支出小計_tb.Text = "0" : 額外收支_tb.Text = "0" : 物料成本_tb.Text = "0"
  1227. 司機運費_tb.Text = "0" : 管銷費用_tb.Text = "0" : 其他成本_tb.Text = "0" : 刷卡總和_tb.Text = "0" : 刷卡稅金_tb.Text = "0" : 刷卡傭金_tb.Text = "0"
  1228. '-------001-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1229. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1230. If 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1231. 刷卡總和_tb.Text = Val(刷卡總和_tb.Text) + 收款事項_dgv("金額", i).Value
  1232. End If
  1233. Next
  1234. 刷卡稅金_tb.Text = CInt(Val(Val(刷卡總和_tb.Text) * 0.05)) : 刷卡傭金_tb.Text = CInt(Val(Val(刷卡總和_tb.Text) * 0.02))
  1235. '-------002-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1236. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  1237. 銷售合計_tb.Text = Val(銷售合計_tb.Text) + 銷售明細_dgv("售價", i).Value
  1238. 售價小計_tb.Text = Val(售價小計_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value)
  1239. If 銷售明細_dgv("無管銷", i).Value = False Then
  1240. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  1241. 無管物料 = 無管物料 + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1242. End If
  1243. End If
  1244. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  1245. 物料成本_tb.Text = Val(物料成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1246. 不含1類銷售小記 = 不含1類銷售小記 + 銷售明細_dgv("售價", i).Value
  1247. End If
  1248. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) = "1001" Then
  1249. 其他成本_tb.Text = Val(其他成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1250. '不含1類銷售小記 = 不含1類銷售小記 - 銷售明細_dgv("成本", i).Value
  1251. End If
  1252. If 銷售明細_dgv("含稅", i).Value = True Then
  1253. 稅金_tb.Text = Val(稅金_tb.Text) + ((銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value * 1.05) - (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value))
  1254. End If
  1255. Next
  1256. 管銷費用_tb.Text = 無管物料 * 1.06 - 無管物料
  1257. If Val(稅金_tb.Text) = 0 And Val(刷卡稅金_tb.Text) = 0 Then
  1258. 通知_lb.Text = "無稅金"
  1259. ElseIf Val(稅金_tb.Text) = 0 And Val(刷卡稅金_tb.Text) <> 0 Then
  1260. 通知_lb.Text = "應刷卡稅金小,有刷卡帶入的稅金,所以拆售價以未稅顯示" : 稅金_tb.Text = Val(稅金_tb.Text) : 售價小計_tb.Text = Val(銷售合計_tb.Text) - Val(稅金_tb.Text)
  1261. ElseIf Val(稅金_tb.Text) <> 0 And Val(刷卡稅金_tb.Text) <> 0 And Val(稅金_tb.Text) > Val(刷卡稅金_tb.Text) Then
  1262. 通知_lb.Text = "應所拆售價稅金大於刷卡稅金,計算正常,利潤中扣除刷卡傭金"
  1263. ElseIf Val(稅金_tb.Text) <> 0 And Val(刷卡稅金_tb.Text) <> 0 And Val(稅金_tb.Text) < Val(刷卡稅金_tb.Text) Then
  1264. 通知_lb.Text = "刷卡稅金大於自動計算後的稅金,邏輯有誤,請從新拆售價。"
  1265. End If
  1266. If 稅金存檔 <> Val(稅金_tb.Text) Then
  1267. 稅金_tb.Text = 稅金存檔
  1268. 售價小計_tb.Text = Val(銷售合計_tb.Text) - Val(稅金_tb.Text)
  1269. 銷售合計_tb.Text = Val(售價小計_tb.Text) + Val(稅金_tb.Text)
  1270. ElseIf 稅金存檔 = Val(稅金_tb.Text) Then
  1271. 稅金_tb.Text = 稅金存檔
  1272. 銷售合計_tb.Text = Val(售價小計_tb.Text) + Val(稅金_tb.Text)
  1273. 售價小計_tb.Text = Val(銷售合計_tb.Text) - Val(稅金_tb.Text)
  1274. End If
  1275. '-------003-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1276. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  1277. 收入小計_tb.Text = Val(收入小計_tb.Text) + 銷售備註_dgv("收入", i).Value
  1278. 支出小計_tb.Text = Val(支出小計_tb.Text) + 銷售備註_dgv("支出", i).Value
  1279. Next
  1280. 額外收支_tb.Text = Val(收入小計_tb.Text) - Val(支出小計_tb.Text)
  1281. '-------004-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1282. Dim 金額 As Integer = 0
  1283. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1284. If 收款事項_dgv("真項次", i).Value.ToString <> "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1285. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  1286. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1287. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  1288. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString = "未收餘額" Then
  1289. 收款事項_dgv("金額", i).Value = CInt(Val(銷售合計_tb.Text)) - 金額
  1290. End If
  1291. Next
  1292. '-------005-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1293. If 送貨地點_cb.Text = "" Or 送貨地點_cb.Text = "自取" Or 最低運費_cb.Text = "" Or 最低售價_cb.Text = "" Then
  1294. 司機運費_tb.Text = "0"
  1295. Else
  1296. If (不含1類銷售小記 - Val(其他成本_tb.Text)) <= Val(最低售價_cb.Text) Then
  1297. 司機運費_tb.Text = 最低運費_cb.Text
  1298. ElseIf (不含1類銷售小記 - Val(其他成本_tb.Text)) > Val(最低售價_cb.Text) Then
  1299. 司機運費_tb.Text = (不含1類銷售小記 - Val(稅金_tb.Text) - Val(刷卡傭金_tb.Text) - Val(其他成本_tb.Text)) / 100 * 3
  1300. End If
  1301. End If
  1302. 存檔1()
  1303. '-------006-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1304. 預估利潤_tb.Text = Val(售價小計_tb.Text) + Val(額外收支_tb.Text) - Val(其他成本_tb.Text) - Val(物料成本_tb.Text) - Val(司機運費_tb.Text) - Val(管銷費用_tb.Text) - Val(刷卡傭金_tb.Text)
  1305. If 銷售衍生運費_dgv.Rows.Count > 0 Then
  1306. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  1307. 預估利潤_tb.Text = Val(預估利潤_tb.Text) - 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  1308. Next
  1309. End If
  1310. '-------007-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1311. 售價小計_tb.Text = Format(Val(售價小計_tb.Text), "#,##0") : 稅金_tb.Text = Format(Val(稅金_tb.Text), "#,##0") : 銷售合計_tb.Text = Format(Val(銷售合計_tb.Text), "#,##0")
  1312. 收入小計_tb.Text = Format(Val(收入小計_tb.Text), "#,##0") : 支出小計_tb.Text = Format(Val(支出小計_tb.Text), "#,##0") : 額外收支_tb.Text = Format(Val(額外收支_tb.Text), "#,##0")
  1313. 司機運費_tb.Text = Format(Val(司機運費_tb.Text), "#,##0") : 管銷費用_tb.Text = Format(Val(管銷費用_tb.Text), "#,##0") : 預估利潤_tb.Text = Format(Val(預估利潤_tb.Text), "#,##0")
  1314. 物料成本_tb.Text = Format(Val(物料成本_tb.Text), "#,##0") : 其他成本_tb.Text = Format(Val(其他成本_tb.Text), "#,##0") : 刷卡總和_tb.Text = Format(Val(刷卡總和_tb.Text), "#,##0")
  1315. 刷卡稅金_tb.Text = Format(Val(刷卡稅金_tb.Text), "#,##0") : 刷卡傭金_tb.Text = Format(Val(刷卡傭金_tb.Text), "#,##0")
  1316. End Sub
  1317. Private Sub 字體_NUD_ValueChanged(sender As Object, e As EventArgs) Handles 字體_NUD.ValueChanged
  1318. 銷售單據_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1319. 銷售明細_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1320. 銷售衍生運費_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1321. 區域庫存_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1322. 收款事項_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1323. 銷售備註_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1324. 物料清單_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1325. End Sub
  1326. Private Sub Reset1_bt_Click(sender As Object, e As EventArgs) Handles Reset1_bt.Click
  1327. Dim 不含1類銷售小記 As Integer : Dim 金額1 As Integer = 0 : Dim 無管物料 As Integer
  1328. 售價小計_tb.Text = "0" : 稅金_tb.Text = "0" : 銷售合計_tb.Text = "0" : 收入小計_tb.Text = "0" : 支出小計_tb.Text = "0" : 額外收支_tb.Text = "0" : 物料成本_tb.Text = "0"
  1329. 司機運費_tb.Text = "0" : 管銷費用_tb.Text = "0" : 其他成本_tb.Text = "0" : 刷卡總和_tb.Text = "0" : 刷卡稅金_tb.Text = "0" : 刷卡傭金_tb.Text = "0"
  1330. '-------001-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1331. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1332. If 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1333. 刷卡總和_tb.Text = Val(刷卡總和_tb.Text) + 收款事項_dgv("金額", i).Value
  1334. End If
  1335. Next
  1336. 刷卡稅金_tb.Text = CInt(Val(Val(刷卡總和_tb.Text) * 0.05)) : 刷卡傭金_tb.Text = CInt(Val(刷卡總和_tb.Text) * 0.02)
  1337. '-------002-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1338. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  1339. 銷售合計_tb.Text = Val(銷售合計_tb.Text) + 銷售明細_dgv("售價", i).Value
  1340. 售價小計_tb.Text = Val(售價小計_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value)
  1341. If 銷售明細_dgv("無管銷", i).Value = False Then
  1342. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  1343. 無管物料 = 無管物料 + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1344. End If
  1345. End If
  1346. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  1347. 物料成本_tb.Text = Val(物料成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1348. 不含1類銷售小記 = 不含1類銷售小記 + 銷售明細_dgv("售價", i).Value
  1349. End If
  1350. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) = "1001" Then
  1351. 其他成本_tb.Text = Val(其他成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1352. '不含1類銷售小記 = 不含1類銷售小記 - 銷售明細_dgv("成本", i).Value
  1353. End If
  1354. If 銷售明細_dgv("含稅", i).Value = True Then
  1355. 稅金_tb.Text = Val(稅金_tb.Text) + ((銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value * 1.05) - (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value))
  1356. End If
  1357. Next
  1358. 管銷費用_tb.Text = 無管物料 * 1.06 - 無管物料
  1359. 銷售合計_tb.Text = Val(售價小計_tb.Text) + Val(稅金_tb.Text)
  1360. If Val(稅金_tb.Text) = 0 And Val(刷卡稅金_tb.Text) = 0 Then
  1361. 通知_lb.Text = "無稅金"
  1362. ElseIf Val(稅金_tb.Text) = 0 And Val(刷卡稅金_tb.Text) <> 0 Then
  1363. 通知_lb.Text = "應刷卡稅金小,有刷卡帶入的稅金,所以拆售價以未稅顯示" : 稅金_tb.Text = 刷卡稅金_tb.Text : 售價小計_tb.Text = Val(銷售合計_tb.Text) - Val(稅金_tb.Text)
  1364. ElseIf Val(稅金_tb.Text) <> 0 And Val(刷卡稅金_tb.Text) <> 0 And Val(稅金_tb.Text) > Val(刷卡稅金_tb.Text) Then
  1365. 通知_lb.Text = "應所拆售價稅金大於刷卡稅金,計算正常,利潤中扣除刷卡傭金"
  1366. ElseIf Val(稅金_tb.Text) <> 0 And Val(刷卡稅金_tb.Text) <> 0 And Val(稅金_tb.Text) < Val(刷卡稅金_tb.Text) Then
  1367. 通知_lb.Text = "刷卡稅金大於自動計算後的稅金,邏輯有誤,請從新拆售價。"
  1368. End If
  1369. 稅金存檔 = Val(稅金_tb.Text)
  1370. '-------003-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1371. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  1372. 收入小計_tb.Text = Val(收入小計_tb.Text) + 銷售備註_dgv("收入", i).Value
  1373. 支出小計_tb.Text = Val(支出小計_tb.Text) + 銷售備註_dgv("支出", i).Value
  1374. Next
  1375. 額外收支_tb.Text = Val(收入小計_tb.Text) - Val(支出小計_tb.Text)
  1376. '-------004-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1377. Dim 金額 As Integer = 0
  1378. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1379. If 收款事項_dgv("真項次", i).Value.ToString <> "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1380. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  1381. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1382. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  1383. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString = "未收餘額" Then
  1384. 收款事項_dgv("金額", i).Value = CInt(Val(銷售合計_tb.Text)) - 金額
  1385. End If
  1386. Next
  1387. '-------005-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1388. If 送貨地點_cb.Text = "" Or 送貨地點_cb.Text = "自取" Or 最低運費_cb.Text = "" Or 最低售價_cb.Text = "" Then
  1389. 司機運費_tb.Text = "0"
  1390. Else
  1391. If 運費 = 0 Then
  1392. If (不含1類銷售小記 - Val(其他成本_tb.Text)) <= Val(最低售價_cb.Text) Then
  1393. 司機運費_tb.Text = 最低運費_cb.Text
  1394. ElseIf (不含1類銷售小記 - Val(其他成本_tb.Text)) > Val(最低售價_cb.Text) Then
  1395. 司機運費_tb.Text = (不含1類銷售小記 - Val(稅金_tb.Text) - Val(刷卡傭金_tb.Text) - Val(其他成本_tb.Text)) / 100 * 3
  1396. End If
  1397. Else
  1398. 司機運費_tb.Text = 運費
  1399. End If
  1400. End If
  1401. '-------006-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1402. 預估利潤_tb.Text = Val(售價小計_tb.Text) + Val(額外收支_tb.Text) - Val(其他成本_tb.Text) - Val(物料成本_tb.Text) - Val(司機運費_tb.Text) - Val(管銷費用_tb.Text) - Val(刷卡傭金_tb.Text)
  1403. If 銷售衍生運費_dgv.Rows.Count > 0 Then
  1404. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  1405. 預估利潤_tb.Text = Val(預估利潤_tb.Text) - 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  1406. Next
  1407. End If
  1408. '-------007-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1409. 售價小計_tb.Text = Format(Val(售價小計_tb.Text), "#,##0") : 稅金_tb.Text = Format(Val(稅金_tb.Text), "#,##0") : 銷售合計_tb.Text = Format(Val(銷售合計_tb.Text), "#,##0")
  1410. 收入小計_tb.Text = Format(Val(收入小計_tb.Text), "#,##0") : 支出小計_tb.Text = Format(Val(支出小計_tb.Text), "#,##0") : 額外收支_tb.Text = Format(Val(額外收支_tb.Text), "#,##0")
  1411. 司機運費_tb.Text = Format(Val(司機運費_tb.Text), "#,##0") : 管銷費用_tb.Text = Format(Val(管銷費用_tb.Text), "#,##0") : 預估利潤_tb.Text = Format(Val(預估利潤_tb.Text), "#,##0")
  1412. 物料成本_tb.Text = Format(Val(物料成本_tb.Text), "#,##0") : 其他成本_tb.Text = Format(Val(其他成本_tb.Text), "#,##0") : 刷卡總和_tb.Text = Format(Val(刷卡總和_tb.Text), "#,##0")
  1413. 刷卡稅金_tb.Text = Format(Val(刷卡稅金_tb.Text), "#,##0") : 刷卡傭金_tb.Text = Format(Val(刷卡傭金_tb.Text), "#,##0")
  1414. End Sub
  1415. Private Sub Panel3_Paint(sender As Object, e As PaintEventArgs) Handles Panel3.Paint
  1416. End Sub
  1417. Private Sub 司機運費_tb_TextChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles 司機運費_tb.KeyPress
  1418. If e.KeyChar = Chr(13) Then
  1419. 運費 = 司機運費_tb.Text
  1420. 存檔1() : Set_合記計算()
  1421. End If
  1422. End Sub
  1423. Private Sub 已審核資料_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 已審核資料_ch.CheckedChanged
  1424. Set_清單1()
  1425. End Sub
  1426. Private Sub 隱藏_bt_Click(sender As Object, e As EventArgs) Handles 隱藏_bt.Click
  1427. 顯示_bt.Enabled = True : 隱藏_bt.Enabled = False
  1428. Panel2.Visible = False
  1429. Panel3.Location = New Point(2, 2)
  1430. NU1 = Panel3.Size.Width
  1431. NU2 = Panel3.Size.Height
  1432. NU1 = Panel3.Size.Width + 548
  1433. Panel3.Size = New Size(NU1, NU2)
  1434. End Sub
  1435. Private Sub 顯示_bt_Click(sender As Object, e As EventArgs) Handles 顯示_bt.Click
  1436. 顯示_bt.Enabled = False : 隱藏_bt.Enabled = True
  1437. Panel2.Visible = True
  1438. Panel3.Location = New Point(551, 2)
  1439. NU1 = Panel3.Size.Width
  1440. NU2 = Panel3.Size.Height
  1441. NU1 = Panel3.Size.Width - 548
  1442. Panel3.Size = New Size(NU1, NU2)
  1443. End Sub
  1444. Private Sub Panel3_Size(sender As Object, e As EventArgs) Handles Panel3.SizeChanged
  1445. If Panel3.Size.Width > 914 Then
  1446. 物料圖1_pb.Visible = True : 物料圖1_pb.Size = New Size(300, 167)
  1447. Else
  1448. 物料圖1_pb.Visible = False
  1449. End If
  1450. End Sub
  1451. Private Sub 新增衍生運費_bt_Click(sender As Object, e As EventArgs) Handles 新增衍生運費_bt.Click
  1452. If 流水號_tb.Text = "" Then
  1453. MsgBox("沒有銷售單號,無法作業。")
  1454. Else
  1455. If 客戶編號_tb.Text = "" Then
  1456. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1457. Else
  1458. PA = 單號_tb.Text
  1459. SQL_銷售衍生運費_最後一筆資料()
  1460. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  1461. conn.Close() : EDR += 1
  1462. If EDR < 10 Then : ESTR = "SE" & "00000000" & EDR
  1463. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "SE" & "0000000" & EDR
  1464. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "SE" & "000000" & EDR
  1465. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "SE" & "00000" & EDR
  1466. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "SE" & "0000" & EDR
  1467. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "SE" & "000" & EDR
  1468. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "SE" & "00" & EDR
  1469. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "SE" & "0" & EDR
  1470. ElseIf EDR > 99999999 Then : ESTR = "SE" & EDR : End If
  1471. PA1 = ESTR
  1472. SQL_銷售衍生運費_新增()
  1473. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  1474. 資料數 = 銷售衍生運費_dgv.Rows.Count : MyModule1.進度條()
  1475. PA10 = 銷售衍生運費_dgv.Rows(i).Cells("運費備註").Value : PA11 = 銷售衍生運費_dgv.Rows(i).Cells("資料流水號").Value
  1476. NU1 = 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  1477. SQL_銷售衍生運費_修改() : conn.Close()
  1478. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1479. Set_清單7()
  1480. End If
  1481. End If
  1482. End Sub
  1483. Private Sub 刪除衍生運費_bt_Click(sender As Object, e As EventArgs) Handles 刪除衍生運費_bt.Click
  1484. If 流水號_tb.Text = "" Then
  1485. MsgBox("沒有銷售單號,無法作業。")
  1486. Else
  1487. If 客戶編號_tb.Text = "" Then
  1488. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1489. Else
  1490. Dim aa1 As MsgBoxResult = MsgBox("你確定要刪除這筆資料?", MsgBoxStyle.OkCancel)
  1491. If aa1 = MsgBoxResult.Ok Then
  1492. PA = 運費資料流水號_tb.Text
  1493. SQL_銷售衍生費用_刪除() : Set_清單7()
  1494. End If
  1495. End If
  1496. End If
  1497. End Sub
  1498. End Class