No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

銷售單申請.vb 112KB

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