Нема описа
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 161KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110
  1. Option Strict Off
  2. Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle
  3. Imports Microsoft.Office.Interop.Excel.Constants
  4. Imports Microsoft.Office.Interop.Excel.XlBordersIndex
  5. Imports Microsoft.Office.Interop.Excel.XlLineStyle
  6. Imports Microsoft.Office.Interop.Excel.XlBorderWeight
  7. Imports Microsoft.Office.Interop.Excel.XlThemeFont
  8. Imports Microsoft.Office.Interop.Excel.XlThemeColor
  9. Imports Microsoft.Office.Interop.Excel.XlWindowState
  10. Public Class 銷售單申請
  11. ReadOnly ds, ds1, ds2, ds3, ds4, ds5, ds6, ds7 As New DataSet
  12. Dim 匯率1 As Double
  13. Dim 新項次, ESTR, ESTR1, 變數, 新流水1 As String
  14. Dim 運費, 稅金存檔, 選取位置, NUM1, EDR, EDR1, N1, N2, N3, N4 As Integer
  15. Dim 刷卡控制, 首次開啟, 稅金另算有資料 As Boolean
  16. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  17. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  18. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  19. Private Sub Set_清單()
  20. 物料清單_dgv.DataSource = Nothing : ds.Clear()
  21. 物料清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  22. 物料清單_dgv.ColumnHeadersHeight = 40 : 物料清單_dgv.AllowUserToAddRows = False : 物料清單_dgv.RowTemplate.Height = 25
  23. PA1 = "" : PA2 = "" : PA2 = 供應商編碼_cb.Text : PA1 = 查詢_tb.Text : SQL_盤盈盤損申請_物料清單()
  24. da.Fill(ds) : 物料清單_dgv.DataSource = ds.Tables(0) : conn.Close()
  25. 物料清單_dgv.Columns(0).FillWeight = 90 : 物料清單_dgv.Columns(1).FillWeight = 100 : 物料清單_dgv.Columns(2).FillWeight = 250
  26. 物料清單_dgv.Columns(3).FillWeight = 60 : 物料清單_dgv.Columns(4).Visible = False
  27. 物料清單_dgv.Columns(5).FillWeight = 40 : 物料清單_dgv.Columns(6).Visible = False
  28. 物料清單_dgv.Columns(0).ReadOnly = True : 物料清單_dgv.Columns(1).ReadOnly = True : 物料清單_dgv.Columns(2).ReadOnly = True
  29. 物料清單_dgv.Columns(3).ReadOnly = True : 物料清單_dgv.Columns(4).ReadOnly = True : 物料清單_dgv.Columns(5).ReadOnly = True
  30. 物料清單_dgv.Columns("庫存").DefaultCellStyle.Format = "#,##0"
  31. 物料清單_dgv.Columns("庫存").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  32. 物料清單_dgv.Columns("庫存").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  33. 資料筆數_tb.Text = 物料清單_dgv.Rows.Count
  34. For i As Integer = 0 To 物料清單_dgv.Rows.Count - 1
  35. 資料數 = 物料清單_dgv.Rows.Count : MyModule1.進度條()
  36. If 物料清單_dgv("庫存", i).Value.ToString = "" Then : 物料清單_dgv("庫存", i).Value = 0 : End If
  37. If 物料清單_dgv("未出庫", i).Value.ToString = "" Then : 物料清單_dgv("未出庫", i).Value = 0 : End If
  38. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  39. End Sub
  40. Private Sub Set_清單1()
  41. 銷售單據_dgv.DataSource = Nothing : ds1.Clear()
  42. 銷售單據_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  43. 銷售單據_dgv.ColumnHeadersHeight = 25 : 銷售單據_dgv.AllowUserToAddRows = False : 銷售單據_dgv.RowTemplate.Height = 25
  44. PA19 = 業務_cb.Text : SQL_銷售控制表()
  45. da.Fill(ds1) : 銷售單據_dgv.DataSource = ds1.Tables(0) : conn.Close()
  46. 銷售單據_dgv.Columns(0).Visible = False : 銷售單據_dgv.Columns(1).FillWeight = 100 : 銷售單據_dgv.Columns(2).Visible = False : 銷售單據_dgv.Columns(3).Visible = False
  47. 銷售單據_dgv.Columns(4).Visible = False : 銷售單據_dgv.Columns(5).Visible = False : 銷售單據_dgv.Columns(6).Visible = False : 銷售單據_dgv.Columns(7).Visible = False
  48. 銷售單據_dgv.Columns(8).Visible = False : 銷售單據_dgv.Columns(9).Visible = False : 銷售單據_dgv.Columns(10).Visible = False : 銷售單據_dgv.Columns(11).Visible = False
  49. 銷售單據_dgv.Columns(12).FillWeight = 45 : 銷售單據_dgv.Columns(13).FillWeight = 45 : 銷售單據_dgv.Columns(14).Visible = False
  50. For I As Integer = 0 To 銷售單據_dgv.Rows.Count - 1
  51. If IsDBNull(銷售單據_dgv("轉高層", I).Value) = True Then : 銷售單據_dgv("轉高層", I).Value = False : End If
  52. Next
  53. End Sub
  54. Private Sub Set_清單2()
  55. 客戶資料_dgv.DataSource = Nothing : ds2.Clear()
  56. 客戶資料_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  57. 客戶資料_dgv.ColumnHeadersHeight = 25 : 客戶資料_dgv.AllowUserToAddRows = False : 客戶資料_dgv.RowTemplate.Height = 25
  58. PA16 = 客戶_tb.Text : SQL_銷售單申請_客戶資料驗證()
  59. da.Fill(ds2) : 客戶資料_dgv.DataSource = ds2.Tables(0) : conn.Close()
  60. End Sub
  61. Private Sub Set_清單3()
  62. 區域庫存_dgv.DataSource = Nothing : ds3.Clear()
  63. 區域庫存_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  64. 區域庫存_dgv.ColumnHeadersHeight = 25 : 區域庫存_dgv.AllowUserToAddRows = False : 區域庫存_dgv.RowTemplate.Height = 25
  65. PA20 = 料號_tb.Text : SQL_倉名_物料分配查詢()
  66. da.Fill(ds3) : 區域庫存_dgv.DataSource = ds3.Tables(0) : conn.Close()
  67. 區域庫存_dgv.Columns(0).FillWeight = 200 : 區域庫存_dgv.Columns(1).FillWeight = 80
  68. 區域庫存_dgv.Columns(0).ReadOnly = True : 區域庫存_dgv.Columns(1).ReadOnly = True
  69. 區域庫存_dgv.Columns("可用").DefaultCellStyle.Format = "#,##0"
  70. 區域庫存_dgv.Columns("可用").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  71. 區域庫存_dgv.Columns("可用").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  72. End Sub
  73. Private Sub Set_清單4()
  74. 銷售明細_dgv.DataSource = Nothing : ds4.Clear()
  75. 銷售明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  76. 銷售明細_dgv.ColumnHeadersHeight = 40 : 銷售明細_dgv.AllowUserToAddRows = False
  77. If 小間距_ch.Checked = False And 中間距_ch.Checked = False And 大間距_ch.Checked = True Then : 銷售明細_dgv.RowTemplate.Height = 95
  78. ElseIf 小間距_ch.Checked = False And 中間距_ch.Checked = True And 大間距_ch.Checked = False Then : 銷售明細_dgv.RowTemplate.Height = 60
  79. ElseIf 小間距_ch.Checked = True And 中間距_ch.Checked = False And 大間距_ch.Checked = False Then : 銷售明細_dgv.RowTemplate.Height = 25 : End If
  80. PA2 = "" : PA2 = 單號_tb.Text : SQL_銷售明細表()
  81. da.Fill(ds4) : 銷售明細_dgv.DataSource = ds4.Tables(0) : conn.Close()
  82. Set_銷售明細_dgv_下拉式清單1() : Set_銷售明細_dgv_下拉式清單2() : Set_銷售明細_dgv_下拉式清單3()
  83. 銷售明細_dgv.Columns(0).Visible = False : 銷售明細_dgv.Columns(1).FillWeight = 40 : 銷售明細_dgv.Columns(2).FillWeight = 110 : 銷售明細_dgv.Columns(3).FillWeight = 200
  84. 銷售明細_dgv.Columns(4).Visible = False : 銷售明細_dgv.Columns(5).FillWeight = 130 : 銷售明細_dgv.Columns(6).Visible = False : 銷售明細_dgv.Columns(7).FillWeight = 130
  85. 銷售明細_dgv.Columns(8).Visible = False : 銷售明細_dgv.Columns(9).FillWeight = 130 : 銷售明細_dgv.Columns(10).FillWeight = 150 : 銷售明細_dgv.Columns(11).FillWeight = 80
  86. 銷售明細_dgv.Columns(12).FillWeight = 80 : 銷售明細_dgv.Columns(13).FillWeight = 80 : 銷售明細_dgv.Columns(14).FillWeight = 50 : 銷售明細_dgv.Columns(15).FillWeight = 80
  87. 銷售明細_dgv.Columns(16).Visible = False : 銷售明細_dgv.Columns(17).Visible = False : 銷售明細_dgv.Columns(18).Visible = False : 銷售明細_dgv.Columns(19).Visible = False
  88. 銷售明細_dgv.Columns(20).Visible = False : 銷售明細_dgv.Columns(21).FillWeight = 50
  89. 銷售明細_dgv.Columns(1).ReadOnly = True : 銷售明細_dgv.Columns(2).ReadOnly = True : 銷售明細_dgv.Columns(3).ReadOnly = True : 銷售明細_dgv.Columns(4).ReadOnly = True
  90. 銷售明細_dgv.Columns(11).ReadOnly = True : 銷售明細_dgv.Columns(13).ReadOnly = True : 銷售明細_dgv.Columns(16).ReadOnly = True
  91. 銷售明細_dgv.Columns("數量").DefaultCellStyle.Format = "#,##0" : 銷售明細_dgv.Columns("成本").DefaultCellStyle.Format = "#,##0"
  92. 銷售明細_dgv.Columns("單價").DefaultCellStyle.Format = "#,##0.0" : 銷售明細_dgv.Columns("售價").DefaultCellStyle.Format = "#,##0"
  93. 銷售明細_dgv.Columns("數量").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  94. 銷售明細_dgv.Columns("數量").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  95. 銷售明細_dgv.Columns("成本").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  96. 銷售明細_dgv.Columns("成本").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  97. 銷售明細_dgv.Columns("單價").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  98. 銷售明細_dgv.Columns("單價").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  99. 銷售明細_dgv.Columns("售價").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  100. 銷售明細_dgv.Columns("售價").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  101. 銷售明細_dgv.Columns("項次").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  102. 銷售明細_dgv.Columns("項次").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  103. 銷售明細_dgv.Columns("倉儲情況").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  104. 銷售明細_dgv.Columns("倉儲情況").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  105. 銷售明細_dgv.Columns("料號").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  106. 銷售明細_dgv.Columns("料號").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  107. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  108. If 銷售明細_dgv("含稅", i).Value = False Then
  109. 銷售明細_dgv("售價", i).Value = 銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value
  110. ElseIf 銷售明細_dgv("含稅", i).Value = True Then
  111. 銷售明細_dgv("售價", i).Value = 銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value * 1.05
  112. End If
  113. 銷售明細_dgv("項次", i).Value = i + 1
  114. Next
  115. 銷售明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  116. End Sub
  117. Private Sub Set_銷售明細_dgv_下拉式清單1()
  118. Dim Col As New DataGridViewComboBoxColumn With {
  119. .FillWeight = 130,
  120. .DataPropertyName = "倉名"
  121. }
  122. SQL_倉名_下拉清單()
  123. Col.Items.Clear()
  124. While (dr.Read()) : Col.Items.Add(dr("倉名")) : End While : conn.Close()
  125. Col.HeaderText = "倉名" : Col.Name = "倉名"
  126. 銷售明細_dgv.Columns.Insert(5, Col)
  127. End Sub
  128. Private Sub Set_銷售明細_dgv_下拉式清單2()
  129. Dim Col As New DataGridViewComboBoxColumn With {
  130. .FillWeight = 130,
  131. .DataPropertyName = "訂製"
  132. }
  133. SQL_訂製狀態_下拉清單()
  134. Col.Items.Clear()
  135. While (dr.Read()) : Col.Items.Add(dr("訂製")) : End While : conn.Close()
  136. Col.HeaderText = "訂製" : Col.Name = "訂製"
  137. 銷售明細_dgv.Columns.Insert(7, Col)
  138. End Sub
  139. Private Sub Set_銷售明細_dgv_下拉式清單3()
  140. Dim Col As New DataGridViewComboBoxColumn With {
  141. .FillWeight = 130,
  142. .DataPropertyName = "狀態"
  143. }
  144. SQL_倉儲狀態_下拉清單()
  145. Col.Items.Clear()
  146. While (dr.Read()) : Col.Items.Add(dr("狀態")) : End While : conn.Close()
  147. Col.HeaderText = "狀態" : Col.Name = "狀態"
  148. 銷售明細_dgv.Columns.Insert(9, Col)
  149. End Sub
  150. Private Sub Set_料號轉簡稱()
  151. SQL料號查詢簡稱() : 轉換_tb.Clear()
  152. While (dr.Read()) : 轉換_tb.Text = dr("簡稱").ToString : End While : conn.Close()
  153. End Sub
  154. Private Sub Set_清單5()
  155. 銷售備註_dgv.DataSource = Nothing : ds5.Clear()
  156. 銷售備註_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  157. 銷售備註_dgv.ColumnHeadersHeight = 25
  158. 銷售備註_dgv.AllowUserToAddRows = False
  159. 銷售備註_dgv.RowTemplate.Height = 45
  160. PA2 = "" : PA2 = 單號_tb.Text : SQL_銷售備註表()
  161. da.Fill(ds5) : 銷售備註_dgv.DataSource = ds5.Tables(0) : conn.Close()
  162. 銷售備註_dgv.Columns(0).Visible = False : 銷售備註_dgv.Columns(1).FillWeight = 110 : 銷售備註_dgv.Columns(2).FillWeight = 800 : 銷售備註_dgv.Columns(3).FillWeight = 120
  163. 銷售備註_dgv.Columns(4).FillWeight = 120 : 銷售備註_dgv.Columns(5).FillWeight = 280 : 銷售備註_dgv.Columns(6).FillWeight = 100 : 銷售備註_dgv.Columns(7).FillWeight = 100
  164. 銷售備註_dgv.Columns(0).ReadOnly = True : 銷售備註_dgv.Columns(1).ReadOnly = True
  165. 銷售備註_dgv.Columns("收入").DefaultCellStyle.Format = "#,##0" : 銷售備註_dgv.Columns("支出").DefaultCellStyle.Format = "#,##0"
  166. 銷售備註_dgv.Columns("收入").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  167. 銷售備註_dgv.Columns("收入").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  168. 銷售備註_dgv.Columns("支出").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  169. 銷售備註_dgv.Columns("支出").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  170. 銷售備註_dgv.Columns("項次").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  171. 銷售備註_dgv.Columns("項次").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  172. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  173. 銷售備註_dgv("項次", i).Value = i + 1
  174. Next
  175. 銷售備註_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  176. Set_合記計算()
  177. End Sub
  178. Private Sub Set_清單6()
  179. 收款事項_dgv.DataSource = Nothing : ds6.Clear()
  180. 收款事項_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  181. 收款事項_dgv.ColumnHeadersHeight = 25
  182. 收款事項_dgv.AllowUserToAddRows = False
  183. 收款事項_dgv.RowTemplate.Height = 25
  184. PA2 = "" : PA2 = 單號_tb.Text : SQL_銷售收款事項()
  185. da.Fill(ds6) : 收款事項_dgv.DataSource = ds6.Tables(0) : conn.Close()
  186. 收款事項_dgv.Columns(0).Visible = False : 收款事項_dgv.Columns(1).Visible = False : 收款事項_dgv.Columns(2).Visible = False : 收款事項_dgv.Columns(3).FillWeight = 100
  187. 收款事項_dgv.Columns(4).FillWeight = 700 : 收款事項_dgv.Columns(5).FillWeight = 150 : 收款事項_dgv.Columns(6).FillWeight = 250 : 收款事項_dgv.Columns(7).FillWeight = 90
  188. 收款事項_dgv.Columns(8).FillWeight = 90
  189. 收款事項_dgv.Columns(2).ReadOnly = True
  190. 收款事項_dgv.Columns("金額").DefaultCellStyle.Format = "#,##0"
  191. 收款事項_dgv.Columns("金額").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  192. 收款事項_dgv.Columns("金額").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  193. 收款事項_dgv.Columns("項次").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  194. 收款事項_dgv.Columns("項次").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  195. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  196. 收款事項_dgv("項次", i).Value = i + 1
  197. If IsDBNull(收款事項_dgv("含稅", i).Value) = True Then : 收款事項_dgv("含稅", i).Value = False : End If
  198. If IsDBNull(收款事項_dgv("轉財務", i).Value) = True Then : 收款事項_dgv("轉財務", i).Value = False : End If
  199. Next
  200. 收款事項_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  201. Set_合記計算()
  202. End Sub
  203. Private Sub Set_清單7()
  204. 銷售衍生運費_dgv.DataSource = Nothing : ds7.Clear()
  205. 銷售衍生運費_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  206. 銷售衍生運費_dgv.ColumnHeadersHeight = 25
  207. 銷售衍生運費_dgv.AllowUserToAddRows = False
  208. 銷售衍生運費_dgv.RowTemplate.Height = 45
  209. PA2 = "" : PA2 = 單號_tb.Text : SQL_銷售衍生費用()
  210. da.Fill(ds7) : 銷售衍生運費_dgv.DataSource = ds7.Tables(0) : conn.Close()
  211. 銷售衍生運費_dgv.Columns(0).Visible = False : 銷售衍生運費_dgv.Columns(1).FillWeight = 25 : 銷售衍生運費_dgv.Columns(2).Visible = False : 銷售衍生運費_dgv.Columns(3).FillWeight = 150
  212. 銷售衍生運費_dgv.Columns(4).FillWeight = 30 : 銷售衍生運費_dgv.Columns(5).FillWeight = 60 : 銷售衍生運費_dgv.Columns(6).FillWeight = 20 : 銷售衍生運費_dgv.Columns(7).FillWeight = 20
  213. 銷售衍生運費_dgv.Columns(0).ReadOnly = True : 銷售衍生運費_dgv.Columns(1).ReadOnly = True
  214. 銷售衍生運費_dgv.Columns("支出").DefaultCellStyle.Format = "#,##0"
  215. 銷售衍生運費_dgv.Columns("支出").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  216. 銷售衍生運費_dgv.Columns("支出").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  217. 銷售衍生運費_dgv.Columns("項次").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  218. 銷售衍生運費_dgv.Columns("項次").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  219. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  220. 銷售衍生運費_dgv("項次", i).Value = i + 1
  221. Next : 銷售衍生運費_dgv.EditMode = DataGridViewEditMode.EditOnEnter : Set_合記計算()
  222. End Sub
  223. Private Sub 供應商_下拉表單資料載入()
  224. BL1 = False : PA3 = "" : PA4 = ""
  225. If 地區_cb.Text = "" Then : PA3 = ""
  226. ElseIf 地區_cb.Text = "北部" Then : PA3 = "2"
  227. ElseIf 地區_cb.Text = "南部" Then : PA3 = "3"
  228. ElseIf 地區_cb.Text = "材料" Then : PA3 = "9"
  229. ElseIf 地區_cb.Text = "調貨" Then : PA3 = "Y"
  230. ElseIf 地區_cb.Text = "其他" Then : PA3 = "1"
  231. End If
  232. SQL_盤盈盤損申請_供應商_下拉清單() : 供應商_cb.Items.Clear() : 供應商編碼_cb.Items.Clear()
  233. While (dr.Read()) : 供應商_cb.Items.Add(dr("簡稱")) : 供應商編碼_cb.Items.Add(dr("編號")) : End While : conn.Close()
  234. End Sub
  235. Private Sub 送貨地點_cb_下拉表單資料載入()
  236. SQL_送貨地點_下拉清單() : 送貨地點_cb.Items.Clear() : 最低運費_cb.Items.Clear() : 最低售價_cb.Items.Clear() : 司機運費_tb.Text = "0"
  237. While (dr.Read()) : 送貨地點_cb.Items.Add(dr("地區")) : 最低運費_cb.Items.Add(dr("起車")) : 最低售價_cb.Items.Add(dr("最低售額")) : End While : conn.Close()
  238. End Sub
  239. Private Sub 倉儲狀態_cb_下拉表單資料載入()
  240. SQL_倉儲狀態_下拉清單() : 倉儲狀態_cb.Items.Clear() : 儲態編號_cb.Items.Clear()
  241. While (dr.Read()) : 倉儲狀態_cb.Items.Add(dr("狀態")) : 儲態編號_cb.Items.Add(dr("編碼")) : End While : conn.Close()
  242. End Sub
  243. Private Sub 訂製狀態_cb_下拉表單資料載入()
  244. SQL_訂製狀態_下拉清單() : 訂製狀態_cb.Items.Clear() : 訂製編碼_cb.Items.Clear()
  245. While (dr.Read()) : 訂製狀態_cb.Items.Add(dr("訂製")) : 訂製編碼_cb.Items.Add(dr("編碼")) : End While : conn.Close()
  246. End Sub
  247. Private Sub Set_日期格式轉換()
  248. DTP = Strings.Format(開單日期_dtp.Value, "yyyy/MM/dd") : DTP2 = Strings.Format(交貨日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Strings.Format(Today(), "yyyyMMdd")
  249. DTP3 = Strings.Format(申請日期_dtp.Value, "yyyyMMdd") : DTP4 = Strings.Format(申請日期_dtp.Value, "yyyy/MM/dd")
  250. End Sub
  251. Private Sub Set_合記計算()
  252. Dim 不含1類銷售小記 As Integer : Dim 金額1 As Integer = 0 : Dim 無管物料 As Integer
  253. 售價小計_tb.Text = "0" : 稅金_tb.Text = "0" : 銷售合計_tb.Text = "0" : 收入小計_tb.Text = "0" : 支出小計_tb.Text = "0" : 額外收支_tb.Text = "0" : 物料成本_tb.Text = "0"
  254. 司機運費_tb.Text = "0" : 管銷費用_tb.Text = "0" : 其他成本_tb.Text = "0" : 刷卡總和_tb.Text = "0" : 刷卡稅金_tb.Text = "0" : 刷卡傭金_tb.Text = "0"
  255. If 稅金另算有資料 = False Then : 稅金25_tb.Text = "0" : End If
  256. '-------001-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  257. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  258. If 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  259. 刷卡總和_tb.Text = CLng(刷卡總和_tb.Text) + 收款事項_dgv("金額", i).Value
  260. End If
  261. Next
  262. 刷卡稅金_tb.Text = CInt(CLng(CLng(刷卡總和_tb.Text) * 0.05)) : 刷卡傭金_tb.Text = CInt(CLng(刷卡總和_tb.Text) * 0.02)
  263. '-------002-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  264. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  265. 銷售合計_tb.Text = CLng(銷售合計_tb.Text) + 銷售明細_dgv("售價", i).Value
  266. 售價小計_tb.Text = CLng(售價小計_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value)
  267. If 銷售明細_dgv("無管銷", i).Value = False Then
  268. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  269. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  270. If IsDBNull(銷售明細_dgv("成本", i).Value) = True Then : 銷售明細_dgv("成本", i).Value = "0" : End If
  271. 無管物料 = 無管物料 + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  272. End If
  273. End If
  274. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  275. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  276. If IsDBNull(銷售明細_dgv("成本", i).Value) = True Then : 銷售明細_dgv("成本", i).Value = "0" : End If
  277. 物料成本_tb.Text = CLng(物料成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  278. 不含1類銷售小記 = 不含1類銷售小記 + 銷售明細_dgv("售價", i).Value
  279. End If
  280. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) = "1001" Then
  281. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  282. If IsDBNull(銷售明細_dgv("成本", i).Value) = True Then : 銷售明細_dgv("成本", i).Value = "0" : End If
  283. 其他成本_tb.Text = CLng(其他成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  284. '不含1類銷售小記 = 不含1類銷售小記 - 銷售明細_dgv("成本", i).Value
  285. End If
  286. If 銷售明細_dgv("含稅", i).Value = True Then
  287. 稅金_tb.Text = CLng(稅金_tb.Text) + ((銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value * 1.05) - (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value))
  288. End If
  289. Next
  290. 管銷費用_tb.Text = 無管物料 * 1.06 - 無管物料
  291. If CLng(稅金_tb.Text) = 0 And CLng(刷卡稅金_tb.Text) = 0 Then
  292. 通知_lb.Text = "無稅金"
  293. ElseIf CLng(稅金_tb.Text) = 0 And CLng(刷卡稅金_tb.Text) <> 0 Then
  294. 通知_lb.Text = "因清單中沒有打勾含稅,但有刷卡帶入的稅金,所以稅金以刷卡稅金為主"
  295. 稅金_tb.Text = CLng(刷卡總和_tb.Text) / 21 : 售價小計_tb.Text = CLng(銷售合計_tb.Text) - CLng(稅金_tb.Text)
  296. ElseIf (CLng(稅金_tb.Text) <> 0 Or CLng(刷卡稅金_tb.Text) <> 0) And CLng(稅金_tb.Text) > CLng(刷卡稅金_tb.Text) Then
  297. 通知_lb.Text = "因售價稅金大於刷卡稅金,計算正常,利潤中扣除刷卡傭金"
  298. ElseIf (CLng(稅金_tb.Text) <> 0 Or CLng(刷卡稅金_tb.Text) <> 0) And CLng(稅金_tb.Text) < CLng(刷卡稅金_tb.Text) Then
  299. 通知_lb.Text = "刷卡稅金大於自動計算後的稅金,邏輯有誤,請從新拆售價。"
  300. End If
  301. If 稅金存檔 <> CLng(稅金_tb.Text) Then
  302. 稅金_tb.Text = 稅金存檔
  303. 售價小計_tb.Text = CLng(銷售合計_tb.Text) - CLng(稅金_tb.Text)
  304. 銷售合計_tb.Text = CLng(售價小計_tb.Text) + CLng(稅金_tb.Text)
  305. ElseIf 稅金存檔 = CLng(稅金_tb.Text) Then
  306. 稅金_tb.Text = 稅金存檔
  307. 銷售合計_tb.Text = CLng(售價小計_tb.Text) + CLng(稅金_tb.Text)
  308. 售價小計_tb.Text = CLng(銷售合計_tb.Text) - CLng(稅金_tb.Text)
  309. End If
  310. If 稅金另算有資料 = False Then
  311. '稅金25_tb.Text = CLng(稅金_tb.Text) / 2
  312. End If
  313. '-------003-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  314. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  315. 收入小計_tb.Text = CLng(收入小計_tb.Text) + 銷售備註_dgv("收入", i).Value
  316. 支出小計_tb.Text = CLng(支出小計_tb.Text) + 銷售備註_dgv("支出", i).Value
  317. Next
  318. 額外收支_tb.Text = CLng(收入小計_tb.Text) - CLng(支出小計_tb.Text)
  319. '-------004-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  320. Dim 金額 As Integer = 0
  321. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  322. If 收款事項_dgv("真項次", i).Value.ToString <> "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  323. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  324. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  325. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  326. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString = "未收餘額" Then
  327. 收款事項_dgv("金額", i).Value = CInt(CLng(銷售合計_tb.Text)) - 金額
  328. End If
  329. Next
  330. '-------005-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  331. If 送貨地點_cb.Text = "" Or 送貨地點_cb.Text = "自取" Or 最低運費_cb.Text = "" Or 最低售價_cb.Text = "" Then
  332. 司機運費_tb.Text = "0"
  333. Else
  334. If 運費 = 0 Then
  335. If (不含1類銷售小記 - CLng(其他成本_tb.Text)) <= CLng(最低售價_cb.Text) Then
  336. 司機運費_tb.Text = 最低運費_cb.Text
  337. ElseIf (不含1類銷售小記 - CLng(其他成本_tb.Text)) > CLng(最低售價_cb.Text) Then
  338. 司機運費_tb.Text = (不含1類銷售小記 - CLng(稅金_tb.Text) - CLng(刷卡傭金_tb.Text) - CLng(其他成本_tb.Text)) / 100 * 3
  339. End If
  340. Else
  341. 司機運費_tb.Text = 運費
  342. End If
  343. End If
  344. '-------006-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  345. 預估利潤_tb.Text = CLng(售價小計_tb.Text) + CLng(額外收支_tb.Text) - CLng(其他成本_tb.Text) - CLng(物料成本_tb.Text) -
  346. CLng(司機運費_tb.Text) - CLng(管銷費用_tb.Text) - CLng(刷卡傭金_tb.Text) + CLng(稅金25_tb.Text)
  347. If 銷售衍生運費_dgv.Rows.Count > 0 Then
  348. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  349. 預估利潤_tb.Text = CLng(預估利潤_tb.Text) - 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  350. Next
  351. End If
  352. '-------007-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  353. 售價小計_tb.Text = Strings.Format(CLng(售價小計_tb.Text), "#,##0") : 稅金_tb.Text = Strings.Format(CLng(稅金_tb.Text), "#,##0") : 銷售合計_tb.Text = Strings.Format(CLng(銷售合計_tb.Text), "#,##0")
  354. 收入小計_tb.Text = Strings.Format(CLng(收入小計_tb.Text), "#,##0") : 支出小計_tb.Text = Strings.Format(CLng(支出小計_tb.Text), "#,##0") : 額外收支_tb.Text = Strings.Format(CLng(額外收支_tb.Text), "#,##0")
  355. 司機運費_tb.Text = Strings.Format(CLng(司機運費_tb.Text), "#,##0") : 管銷費用_tb.Text = Strings.Format(CLng(管銷費用_tb.Text), "#,##0") : 預估利潤_tb.Text = Strings.Format(CLng(預估利潤_tb.Text), "#,##0")
  356. 物料成本_tb.Text = Strings.Format(CLng(物料成本_tb.Text), "#,##0") : 其他成本_tb.Text = Strings.Format(CLng(其他成本_tb.Text), "#,##0") : 刷卡總和_tb.Text = Strings.Format(CLng(刷卡總和_tb.Text), "#,##0")
  357. 刷卡稅金_tb.Text = Strings.Format(CLng(刷卡稅金_tb.Text), "#,##0") : 刷卡傭金_tb.Text = Strings.Format(CLng(刷卡傭金_tb.Text), "#,##0") : 稅金25_tb.Text = Strings.Format(CLng(稅金25_tb.Text), "#,##0")
  358. End Sub
  359. Private Sub 指定倉庫_cb_下拉表單資料載入()
  360. If 需要全部庫存區域清單_ch.Checked = True Then
  361. SQL_倉名_下拉清單()
  362. Else
  363. If 料號_tb.Text = "" Then
  364. SQL_倉名_下拉清單()
  365. Else
  366. PA20 = 料號_tb.Text : SQL_倉名_下拉清單_有條件()
  367. End If
  368. End If
  369. 指定倉庫_cb.Items.Clear()
  370. While (dr.Read()) : 指定倉庫_cb.Items.Add(dr("倉名")) : End While : conn.Close()
  371. If 指定倉庫_cb.Items.Count = 0 Then
  372. SQL_倉名_下拉清單()
  373. While (dr.Read()) : 指定倉庫_cb.Items.Add(dr("倉名")) : End While : conn.Close()
  374. End If
  375. End Sub
  376. Private Sub 業務_cb_下拉表單資料載入()
  377. SQL_業務編號_下拉清單()
  378. 業務_cb.Items.Clear() : 業務_cb.Items.Clear()
  379. While (dr.Read()) : 業務_cb.Items.Add(dr("業務號")) : End While : conn.Close()
  380. End Sub
  381. Private Sub ComboBox1下拉表單資料載入()
  382. conn.Close()
  383. SQL_應收帳款已收_查詢公帳控制表會計科目1() : ComboBox1.Items.Clear() : ComboBox6.Items.Clear()
  384. While (dr.Read()) : ComboBox1.Items.Add(dr("會計科目")) : ComboBox6.Items.Add(dr("編號")) : End While : conn.Close()
  385. If ComboBox1.Items.Count <> 0 Then : ComboBox1.SelectedIndex = 0 : End If
  386. End Sub
  387. Private Sub ComboBox2下拉表單資料載入()
  388. conn.Close()
  389. SQL_應收帳款已收_查詢最後一筆公帳控制表會計科目() : 會科1_ch.Items.Clear() : 會科碼1_ch.Items.Clear() : 會科1_ch.Text = "" : 會科碼1_ch.Text = ""
  390. While (dr.Read()) : 會科1_ch.Items.Add(dr("第一階")) : 會科碼1_ch.Items.Add(dr("編號")) : End While : conn.Close()
  391. End Sub
  392. Private Sub ComboBox3下拉表單資料載入()
  393. conn.Close()
  394. SQL_應收帳款已收_查詢最左邊公帳控制表會計科目1() : ComboBox3.Items.Clear() : ComboBox4.Items.Clear() : ComboBox3.Text = "" : ComboBox4.Text = ""
  395. While (dr.Read()) : ComboBox3.Items.Add(dr("第二階")) : ComboBox4.Items.Add(dr("編號")) : End While : conn.Close()
  396. End Sub
  397. Private Sub 匯率()
  398. PA1 = Strings.Left(Strings.Format(申請日期_dtp.Value, "yyyyMMdd"), 4)
  399. PA2 = Strings.Mid(Strings.Format(申請日期_dtp.Value, "yyyyMMdd"), 5, 2)
  400. SQL_營運成本收支單申請_查詢匯率()
  401. If dr.Read() Then
  402. 人民幣匯率_tb.Text = dr("中心匯率").ToString : 美金匯率_tb.Text = dr("美金匯率").ToString : conn.Close() : dr.Close()
  403. Else
  404. conn.Close() : dr.Close() : 匯率管理.Close() : 匯率管理.Show() : 匯率管理.BringToFront()
  405. End If
  406. End Sub
  407. Private Sub 銷售單申請_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  408. Me.MdiParent = YD_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  409. ComboBox3.Items.Clear() : ComboBox4.Items.Clear() : ComboBox3.Text = "" : ComboBox4.Text = ""
  410. 會科1_ch.Items.Clear() : 會科碼1_ch.Items.Clear() : 會科1_ch.Text = "" : 會科碼1_ch.Text = ""
  411. ComboBox2下拉表單資料載入() : 幣別_cb.SelectedIndex = 0
  412. 會科1_ch.SelectedIndex = 1 : ComboBox3.SelectedIndex = 1 : ComboBox1.SelectedIndex = 0
  413. 申請人_tb.Text = gUserName : 申請日期_dtp.Value = Today() : 匯率()
  414. 顯示_bt.Enabled = False : 隱藏_bt.Enabled = True : 業務_cb_下拉表單資料載入()
  415. If 登入人級別 <= 3 Then : 已審核資料_ch.Enabled = True : Else : 已審核資料_ch.Enabled = False : End If
  416. If CC(37) = False Then : 已審核資料_ch.Checked = False : Else : 已審核資料_ch.Checked = True : End If
  417. 料號_tb.Enabled = False : 供應商編碼_tb.Visible = False : 中間距_ch.Checked = True '--------------------控件隱藏、操作許可設定與其他基本顯示設定
  418. 指定倉庫_cb_下拉表單資料載入() : 訂製狀態_cb_下拉表單資料載入() : 倉儲狀態_cb_下拉表單資料載入() : 送貨地點_cb_下拉表單資料載入()
  419. 首次開啟 = False : Set_清單() : Set_清單1() : 業務_cb.Text = 業務號碼 : 首次開啟 = True '--------------------資料讀取
  420. If YD_ERP_SYS.Size.Width > 1440 And YD_ERP_SYS.Size.Height > 900 Then
  421. 字體_NUD.Value = 9
  422. ElseIf YD_ERP_SYS.Size.Width <= 1440 And YD_ERP_SYS.Size.Height <= 900 Then
  423. 字體_NUD.Value = 7.6
  424. End If
  425. End Sub
  426. Private Sub 銷售單申請_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  427. If 開立庫存調整單_bt.Enabled = False Then
  428. Dim aa1 As MsgBoxResult = MsgBox("目前的系統狀況關閉會刪除銷售單並連同該單據串連的採購,倉儲等聯繫單據都一同刪除,請再次確定是否刪除該單據?", MsgBoxStyle.OkCancel)
  429. If aa1 = MsgBoxResult.Ok Then
  430. Dim SSA As String
  431. SSA = InputBox("確定刪除資料請輸入 [YES] !")
  432. If SSA = "YES" Then
  433. PA = 單號_tb.Text
  434. SQL_銷售控制表_刪除() : SQL_銷售明細表_整體刪除() : SQL_銷售備註表_整體刪除() : SQL_倉儲控制表_依銷售單號刪除() : SQL_銷售收款事項_整體刪除() : conn.Close()
  435. PA = ""
  436. End If
  437. End If
  438. End If
  439. End Sub
  440. Private Sub 銷售單申請_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
  441. If 單號_tb.Text = "" Then : Else
  442. Set_清單4() : Set_清單5() : Set_清單6() : Set_清單7()
  443. End If
  444. If YD_ERP_SYS.Size.Width > 1440 And YD_ERP_SYS.Size.Height > 900 Then
  445. 字體_NUD.Value = 9
  446. ElseIf YD_ERP_SYS.Size.Width <= 1440 And YD_ERP_SYS.Size.Height <= 900 Then
  447. 字體_NUD.Value = 8
  448. End If
  449. End Sub
  450. Private Sub 收款事項_dgv_CellEndEdit(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 收款事項_dgv.CellEndEdit
  451. Set_合記計算()
  452. End Sub
  453. Private Sub 收款事項_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 收款事項_dgv.CellClick
  454. If e.RowIndex = -1 Then : Else
  455. 銷售收款流水號_tb.Text = 收款事項_dgv("資料流水號", e.RowIndex).Value.ToString : 項次2_tb.Text = 收款事項_dgv("項次", e.RowIndex).Value.ToString
  456. 營運成本收支單號_tb.Text = 收款事項_dgv("收支單號", e.RowIndex).Value.ToString : 流水號2_bt.Text = 收款事項_dgv("資料流水號", e.RowIndex).Value.ToString
  457. 項次3_tb.Text = 收款事項_dgv("真項次", e.RowIndex).Value.ToString
  458. End If
  459. End Sub
  460. Private Sub 銷售備註_dgvCellEndEdit(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售備註_dgv.CellEndEdit
  461. If (CLng(銷售備註_dgv.Rows(e.RowIndex).Cells("收入").Value) <> 0 And CLng(銷售備註_dgv.Rows(e.RowIndex).Cells("支出").Value) <> 0) Then
  462. MsgBox("支出與收入不能同時有金額")
  463. Set_清單5()
  464. Exit Sub
  465. End If
  466. Set_合記計算()
  467. End Sub
  468. Private Sub 銷售備註_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售備註_dgv.CellClick
  469. If e.RowIndex = -1 Then : Else
  470. 銷售備註流水號_tb.Text = 銷售備註_dgv("資料流水號", e.RowIndex).Value.ToString : 項次1_tb.Text = 銷售備註_dgv("項次", e.RowIndex).Value.ToString
  471. End If
  472. End Sub
  473. Private Sub 銷售衍生運費_dgv_CellEndEdit(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售衍生運費_dgv.CellEndEdit
  474. Set_合記計算()
  475. End Sub
  476. Private Sub 銷售衍生運費_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售衍生運費_dgv.CellClick
  477. If e.RowIndex = -1 Then : Else
  478. 運費資料流水號_tb.Text = 銷售衍生運費_dgv("資料流水號", e.RowIndex).Value.ToString : 項次4_tb.Text = 銷售衍生運費_dgv("項次", e.RowIndex).Value.ToString
  479. End If
  480. End Sub
  481. Private Sub 銷售明細_dgv_CellEndEdit(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售明細_dgv.CellEndEdit
  482. If e.RowIndex = -1 Then : Else
  483. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  484. If 銷售明細_dgv("含稅", i).Value = False Then
  485. If IsDBNull(銷售明細_dgv("售價", i).Value) = True Then : 銷售明細_dgv("售價", i).Value = "0" : End If
  486. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  487. 銷售明細_dgv("單價", i).Value = 銷售明細_dgv("售價", i).Value / 銷售明細_dgv("數量", i).Value
  488. ElseIf 銷售明細_dgv("含稅", i).Value = True Then
  489. If IsDBNull(銷售明細_dgv("售價", i).Value) = True Then : 銷售明細_dgv("售價", i).Value = "0" : End If
  490. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  491. 銷售明細_dgv("單價", i).Value = (銷售明細_dgv("售價", i).Value / 1.05) / 銷售明細_dgv("數量", i).Value
  492. End If
  493. If 銷售明細_dgv("倉儲情況", i).Value <> "已有貨" Then
  494. PA20 = 銷售明細_dgv(5, i).Value : PA19 = 銷售明細_dgv(7, i).Value : PA18 = 銷售明細_dgv(9, i).Value
  495. SQL_銷售明細_改倉名()
  496. If dr.Read() Then
  497. 銷售明細_dgv("倉儲狀態", i).Value = dr("倉名編號")
  498. End If
  499. SQL_銷售明細_改物料訂製狀態()
  500. If dr.Read() Then
  501. 銷售明細_dgv("訂製狀態", i).Value = dr("編碼")
  502. End If
  503. SQL_銷售明細_倉儲狀態()
  504. If dr.Read() Then
  505. 銷售明細_dgv("物料狀態", i).Value = dr("編碼")
  506. End If : conn.Close()
  507. End If
  508. Next
  509. Set_合記計算()
  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. 銷售資料流水號_tb.Text = 銷售明細_dgv("資料流水號", e.RowIndex).Value.ToString : 倉儲資料流水號_tb.Text = 銷售明細_dgv("倉儲流水號", e.RowIndex).Value.ToString
  515. 項次_tb.Text = 銷售明細_dgv("項次", e.RowIndex).Value.ToString
  516. 物料圖1_pb.Image = Nothing : PA1 = 銷售明細_dgv("料號", e.RowIndex).Value : SQL_物料檔案_是否有圖()
  517. If dr.Read() Then
  518. If dr("是否有圖") = True Then
  519. 物料圖1_pb.BackgroundImage = Nothing
  520. PA = 銷售明細_dgv("料號", e.RowIndex).Value : SQL_物料圖庫_圖片顯示() '--------------------圖片顯示
  521. While dr.Read() = True
  522. Dim unused As Byte() = New Byte(-1) {}
  523. Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  524. Dim oStream As New MemoryStream(bytes)
  525. 物料圖1_pb.Image = Bitmap.FromStream(oStream)
  526. End While
  527. conn.Close()
  528. 物料圖1_pb.SizeMode = 4
  529. Else
  530. 物料圖1_pb.BackgroundImage = My.Resources.底圖1 : 物料圖1_pb.BackgroundImageLayout = 3
  531. 物料圖1_pb.Image = Nothing
  532. End If
  533. End If : conn.Close()
  534. End If
  535. End Sub
  536. Private Sub 銷售單據_讀取()
  537. If 選取位置 = -1 Then : Else
  538. 稅金存檔 = 銷售單據_dgv.Rows(選取位置).Cells("稅金").Value
  539. 流水號_tb.Text = 銷售單據_dgv.Rows(選取位置).Cells("流水號").Value : 單號_tb.Text = 銷售單據_dgv.Rows(選取位置).Cells("單號").Value
  540. 開單日期_dtp.Value = 銷售單據_dgv.Rows(選取位置).Cells("開單日期").Value : 客戶編號_tb.Text = 銷售單據_dgv.Rows(選取位置).Cells("客戶編號").Value
  541. 交貨日期_dtp.Value = 銷售單據_dgv.Rows(選取位置).Cells("交貨日期").Value : 含稅_ch.Checked = 銷售單據_dgv.Rows(選取位置).Cells("含稅").Value
  542. 送貨地點_cb_下拉表單資料載入() : 送貨地點_cb.Text = 銷售單據_dgv.Rows(選取位置).Cells("送貨地點").Value.ToString
  543. 轉高層_cb.Checked = 銷售單據_dgv.Rows(選取位置).Cells("轉高層").Value
  544. 運費 = 銷售單據_dgv.Rows(選取位置).Cells("運費").Value.ToString : 客戶流水_tb.Text = ""
  545. 業務_cb.Text = Strings.Left(銷售單據_dgv.Rows(選取位置).Cells("單號").Value, 1)
  546. If 銷售單據_dgv.Rows(選取位置).Cells("稅金另扣").Value.ToString <> "" Then
  547. 稅金另算有資料 = True : 稅金25_tb.Text = 銷售單據_dgv.Rows(選取位置).Cells("稅金另扣").Value.ToString
  548. 稅金25_tb.Text = Strings.Format(CLng(稅金25_tb.Text), "#,##0")
  549. Else : 稅金另算有資料 = False : 稅金25_tb.Text = "" : End If
  550. Set_清單4() : Set_清單5() : Set_清單6() : Set_清單7()
  551. PA = 單號_tb.Text : SQL_銷售單號串聯倉儲表取得倉儲單號()
  552. If dr.Read() Then : 調庫單號_tb.Text = dr("執行單號") : Else : 調庫單號_tb.Text = "" : End If
  553. End If
  554. End Sub
  555. Private Sub 銷售單據_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 銷售單據_dgv.CellClick
  556. 選取位置 = e.RowIndex
  557. 銷售單據_讀取()
  558. End Sub
  559. Private Sub 區域庫存_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 區域庫存_dgv.CellClick
  560. If e.RowIndex = -1 Then : Else
  561. 指定倉庫_cb.Text = 區域庫存_dgv.Rows(e.RowIndex).Cells("倉名").Value
  562. End If
  563. End Sub
  564. Private Sub 物料清單_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 物料清單_dgv.CellClick
  565. If 首次開啟 = True Then
  566. If e.RowIndex = -1 Then : Else
  567. 料號_tb.Text = 物料清單_dgv("料號", e.RowIndex).Value.ToString : 供應商編碼_tb.Text = 物料清單_dgv("供應商", e.RowIndex).Value.ToString
  568. 品名_tb.Text = 物料清單_dgv("品名", e.RowIndex).Value.ToString : 最大庫存量_tb.Text = 物料清單_dgv("最低庫存量", e.RowIndex).Value.ToString
  569. 庫存量_tb.Text = CLng(物料清單_dgv("庫存", e.RowIndex).Value.ToString)
  570. 可申請_tb.Text = CLng(物料清單_dgv("庫存", e.RowIndex).Value.ToString) - CLng(物料清單_dgv("未出庫", e.RowIndex).Value.ToString)
  571. 物料圖_pb.Image = Nothing : PA1 = 料號_tb.Text : SQL_物料檔案_是否有圖()
  572. If dr.Read() Then
  573. If dr("是否有圖") = True Then
  574. 物料圖_pb.BackgroundImage = Nothing
  575. PA = 料號_tb.Text : SQL_物料圖庫_圖片顯示() '--------------------圖片顯示
  576. While dr.Read() = True
  577. Dim unused As Byte() = New Byte(-1) {}
  578. Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  579. Dim oStream As New MemoryStream(bytes)
  580. 物料圖_pb.Image = Bitmap.FromStream(oStream)
  581. End While
  582. conn.Close()
  583. 物料圖_pb.SizeMode = 4
  584. Else
  585. 物料圖_pb.BackgroundImage = My.Resources.底圖1 : 物料圖_pb.BackgroundImageLayout = 3
  586. 物料圖_pb.Image = Nothing
  587. End If
  588. End If : conn.Close()
  589. 指定倉庫_cb_下拉表單資料載入()
  590. 成本_nud.Value = 0
  591. 訂製狀態_cb_下拉表單資料載入() : 倉儲狀態_cb_下拉表單資料載入()
  592. PA12 = 料號_tb.Text
  593. SQL_銷售明細表_成本讀取()
  594. If dr.Read() Then : 成本_nud.Value = dr("成本")
  595. Else : 成本_nud.Value = 0
  596. End If : conn.Close()
  597. End If
  598. End If
  599. End Sub
  600. Private Sub 物料清單_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 物料清單_dgv.RowPostPaint
  601. Dim linePen As New Pen(Color.Blue, 2)
  602. If e.RowIndex = 物料清單_dgv.Rows.Count - 1 Then : Exit Sub : Else
  603. If 物料清單_dgv("供應商", e.RowIndex).Value.ToString <> 物料清單_dgv("供應商", e.RowIndex + 1).Value.ToString Then
  604. Dim startX As Integer = IIf(物料清單_dgv.RowHeadersVisible, 物料清單_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  605. Dim endX As Integer = startX + 物料清單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 物料清單_dgv.HorizontalScrollingOffset
  606. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  607. End If
  608. End If
  609. End Sub
  610. Private Sub 窄間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距_ch.Click
  611. 小間距_ch.Checked = True : 中間距_ch.Checked = False : 大間距_ch.Checked = False
  612. 存檔1() : Set_清單4()
  613. End Sub
  614. Private Sub 中間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距_ch.Click
  615. 小間距_ch.Checked = False : 中間距_ch.Checked = True : 大間距_ch.Checked = False
  616. 存檔1() : Set_清單4()
  617. End Sub
  618. Private Sub 大間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距_ch.Click
  619. 小間距_ch.Checked = False : 中間距_ch.Checked = False : 大間距_ch.Checked = True
  620. 存檔1() : Set_清單4()
  621. End Sub
  622. Private Sub ComboBox5_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 會科1_ch.TextChanged
  623. 會科碼1_ch.SelectedIndex = 會科1_ch.SelectedIndex : 關鍵字查詢會計科目_tb.Text = "" : ComboBox3下拉表單資料載入() : ComboBox1下拉表單資料載入()
  624. End Sub
  625. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 會科碼1_ch.TextChanged
  626. 會科1_ch.SelectedIndex = 會科碼1_ch.SelectedIndex : ComboBox3下拉表單資料載入() : ComboBox1下拉表單資料載入()
  627. End Sub
  628. Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.TextChanged
  629. ComboBox4.SelectedIndex = ComboBox3.SelectedIndex : ComboBox1下拉表單資料載入()
  630. End Sub
  631. Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox4.TextChanged
  632. ComboBox3.SelectedIndex = ComboBox4.SelectedIndex : ComboBox1下拉表單資料載入()
  633. End Sub
  634. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
  635. ComboBox6.SelectedIndex = ComboBox1.SelectedIndex
  636. End Sub
  637. Private Sub ComboBox6_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox6.SelectedIndexChanged
  638. ComboBox1.SelectedIndex = ComboBox6.SelectedIndex
  639. End Sub
  640. Private Sub 地區_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 地區_cb.SelectedIndexChanged
  641. If 地區_cb.Text = "" And 查詢_tb.Text = "" Then
  642. 供應商_cb.Items.Clear() : 供應商編碼_cb.Items.Clear() : Set_清單()
  643. ElseIf 地區_cb.Text = "" Then
  644. 查詢_tb.Text = "" : 供應商_cb.Items.Clear() : 供應商編碼_cb.Items.Clear()
  645. ElseIf 地區_cb.Text <> "" Then
  646. 查詢_tb.Text = "" : 供應商_下拉表單資料載入()
  647. End If
  648. End Sub
  649. Private Sub 供應商_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商_cb.SelectedIndexChanged
  650. If 地區_cb.Text <> "" Then
  651. 查詢_tb.Text = "" : 供應商編碼_cb.SelectedIndex = 供應商_cb.SelectedIndex
  652. End If
  653. End Sub
  654. Private Sub 供應商編碼_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商編碼_cb.SelectedIndexChanged
  655. If 地區_cb.Text <> "" Then
  656. 查詢_tb.Text = "" : 供應商_cb.SelectedIndex = 供應商編碼_cb.SelectedIndex : 供應商編碼_tb.Text = 供應商編碼_cb.Text : Set_清單()
  657. End If
  658. End Sub
  659. Private Sub 清空_bt_Click(sender As Object, e As EventArgs) Handles 清空_bt.Click
  660. 查詢_tb.Text = "" : 地區_cb.Text = ""
  661. End Sub
  662. Private Sub 查詢_tb_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles 查詢_tb.KeyPress
  663. If e.KeyChar = Chr(13) Then
  664. 供應商_cb.Items.Clear() : 供應商編碼_cb.Items.Clear()
  665. PA = 查詢_tb.Text : Set_清單() : 地區_cb.Text = ""
  666. End If
  667. End Sub
  668. Private Sub 稅金_tb_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles 稅金_tb.KeyPress
  669. If e.KeyChar = Chr(13) Then
  670. 稅金存檔 = 稅金_tb.Text
  671. Set_合記計算()
  672. End If
  673. End Sub
  674. Private Sub 指定倉庫_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 指定倉庫_cb.SelectedIndexChanged
  675. PA6 = 指定倉庫_cb.Text : SQL_指定倉儲_資料讀取()
  676. If dr.Read() Then : 倉庫級別_tb.Text = dr("倉級") : 倉庫編號_tb.Text = dr("倉名編號") : End If : conn.Close()
  677. End Sub
  678. Private Sub 倉儲狀態_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 倉儲狀態_cb.SelectedIndexChanged
  679. 儲態編號_cb.SelectedIndex = 倉儲狀態_cb.SelectedIndex
  680. End Sub
  681. Private Sub 儲態編號_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 儲態編號_cb.SelectedIndexChanged
  682. 倉儲狀態_cb.SelectedIndex = 儲態編號_cb.SelectedIndex
  683. End Sub
  684. Private Sub 訂製狀態_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 訂製狀態_cb.SelectedIndexChanged
  685. 訂製編碼_cb.SelectedIndex = 訂製狀態_cb.SelectedIndex
  686. If 訂製編碼_cb.Text = "MA0001" Then
  687. PA12 = 料號_tb.Text
  688. SQL_銷售明細表_成本讀取()
  689. If dr.Read() Then : 成本_nud.Value = dr("成本")
  690. Else : 成本_nud.Value = 0
  691. End If : conn.Close()
  692. Else
  693. 成本_nud.Value = 0
  694. End If
  695. End Sub
  696. Private Sub 訂製編碼_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 訂製編碼_cb.SelectedIndexChanged
  697. 訂製狀態_cb.SelectedIndex = 訂製編碼_cb.SelectedIndex
  698. End Sub
  699. Private Sub 業務_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 業務_cb.SelectedIndexChanged
  700. Set_清單1()
  701. End Sub
  702. Private Sub 需要全部庫存區域清單_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 需要全部庫存區域清單_ch.CheckedChanged
  703. 指定倉庫_cb_下拉表單資料載入()
  704. End Sub
  705. Private Sub 送貨地點_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 送貨地點_cb.SelectedIndexChanged
  706. 最低運費_cb.SelectedIndex = 送貨地點_cb.SelectedIndex : 最低售價_cb.SelectedIndex = 送貨地點_cb.SelectedIndex : Set_合記計算()
  707. End Sub
  708. Private Sub 最低運費_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 最低運費_cb.SelectedIndexChanged
  709. 送貨地點_cb.SelectedIndex = 最低運費_cb.SelectedIndex : 最低售價_cb.SelectedIndex = 最低運費_cb.SelectedIndex
  710. End Sub
  711. Private Sub 最低售價_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 最低售價_cb.SelectedIndexChanged
  712. 送貨地點_cb.SelectedIndex = 最低售價_cb.SelectedIndex : 最低運費_cb.SelectedIndex = 最低售價_cb.SelectedIndex
  713. End Sub
  714. Private Sub 含稅_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 含稅_ch.CheckedChanged
  715. If 刷卡控制 = False Then
  716. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  717. If 含稅_ch.Checked = False Then : 銷售明細_dgv("含稅", i).Value = False
  718. ElseIf 含稅_ch.Checked = True Then : 銷售明細_dgv("含稅", i).Value = True
  719. End If
  720. If 銷售明細_dgv("含稅", i).Value = False Then
  721. If IsDBNull(銷售明細_dgv("售價", i).Value) = True Then : 銷售明細_dgv("售價", i).Value = "0" : End If
  722. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  723. 銷售明細_dgv("售價", i).Value = 銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value
  724. ElseIf 銷售明細_dgv("含稅", i).Value = True Then
  725. If IsDBNull(銷售明細_dgv("售價", i).Value) = True Then : 銷售明細_dgv("售價", i).Value = "0" : End If
  726. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  727. 銷售明細_dgv("售價", i).Value = 銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value * 1.05
  728. End If
  729. Next
  730. Set_合記計算()
  731. End If
  732. End Sub
  733. Private Sub 客戶編號_tb_TextChanged(sender As Object, e As EventArgs) Handles 客戶編號_tb.TextChanged
  734. PA15 = 客戶編號_tb.Text
  735. SQL_銷售單申請_客戶資料()
  736. If dr.Read() Then
  737. 客戶_tb.Text = dr("名稱") : 公司_tb.Text = dr("公司名稱") : 統編_tb.Text = dr("統編") : 住址_tb.Text = dr("地址") : 電話1_tb.Text = dr("電話1") : 電話2_tb.Text = dr("電話2")
  738. Else
  739. 客戶_tb.Text = "" : 公司_tb.Text = "" : 統編_tb.Text = "" : 住址_tb.Text = "" : 電話1_tb.Text = "" : 電話2_tb.Text = ""
  740. End If
  741. End Sub
  742. Private Sub 客戶資料查詢_bt_Click(sender As Object, e As EventArgs) Handles 客戶資料查詢_bt.Click
  743. If 流水號_tb.Text = "" Then
  744. MsgBox("指定客戶前要先有銷售單號,請新增單號或是挑選歷史資料!!")
  745. Else
  746. PA30 = 客戶_tb.Text : 客戶資料強制對話框模式 = True : 客戶資料表.Close() : 客戶資料表.ShowDialog() : 客戶編號_tb.Text = PA15 : 客戶資料強制對話框模式 = False : 客戶資料表.Close()
  747. End If
  748. End Sub
  749. Private Sub 開立庫存調整單_bt_Click(sender As Object, e As EventArgs) Handles 開立庫存調整單_bt.Click
  750. If 業務_cb.Text = "" Then '--------------------設定條件讓業務控件不為空
  751. MsgBox("沒有選擇業務編號。")
  752. Else
  753. PA = InputBox("請輸入銷售單號。")
  754. If PA = "" Then
  755. MsgBox("沒有輸入修改內容。")
  756. Else
  757. SQL_銷售控制表_單號是否重複() '
  758. If dr.Read() Then
  759. MsgBox("輸入的銷售單號重複。")
  760. Else
  761. If IsNumeric(Strings.Mid(PA, 2, 6)) = True Then
  762. If PA.Length = 7 Or PA.Length = 9 Then
  763. 開立庫存調整單_bt.Enabled = False : 銷售單據_dgv.Enabled = False
  764. 單號_tb.Text = PA : 調庫單號_tb.Text = "" : 客戶編號_tb.Text = "" : 運費 = 0 : 客戶流水_tb.Text = ""
  765. SQL_銷售控制表_最後一筆資料() '--------------------自動取得新編號
  766. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 4)) : Else : EDR = 1 : End If
  767. conn.Close() : EDR += 1
  768. If EDR < 10 Then : ESTR = "PO" & "0000000" & EDR
  769. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PO" & "000000" & EDR
  770. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PO" & "00000" & EDR
  771. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PO" & "0000" & EDR
  772. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PO" & "000" & EDR
  773. ElseIf EDR > 99999 And EDR < 1000000 Then : ESTR = "PO" & "00" & EDR
  774. ElseIf EDR > 999999 And EDR < 10000000 Then : ESTR = "PO" & "0" & EDR
  775. ElseIf EDR > 10000000 Then : ESTR = "PO" & EDR
  776. End If : 流水號_tb.Text = ESTR : PA1 = ESTR
  777. Set_日期格式轉換()
  778. '----------------------------------判斷是否需要經過審核-------------------------------------------
  779. If CC(37) = False Then
  780. SQL_銷售控制表_新增()
  781. Else
  782. SQL_銷售控制表_新增_無須審核()
  783. End If
  784. 稅金存檔 = 0
  785. SQL_銷售收款事項_最後一筆資料()
  786. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  787. conn.Close() : EDR += 1
  788. If EDR < 10 Then : ESTR = "ST" & "00000000" & EDR
  789. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "ST" & "0000000" & EDR
  790. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "ST" & "000000" & EDR
  791. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "ST" & "00000" & EDR
  792. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "ST" & "0000" & EDR
  793. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "ST" & "000" & EDR
  794. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "ST" & "00" & EDR
  795. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "ST" & "0" & EDR
  796. ElseIf EDR > 99999999 Then : ESTR = "ST" & EDR : End If
  797. PA1 = ESTR
  798. SQL_銷售收款事項_新增() : conn.Close() : Set_清單1() : Set_清單4() : Set_清單5() : Set_清單6() : Set_清單7() : 送貨地點_cb_下拉表單資料載入()
  799. 司機運費_tb.Text = "0" : 預估利潤_tb.Text = "0" : 客戶編號_tb.Text = "" : 客戶_tb.Text = "" : 公司_tb.Text = "" : 電話1_tb.Text = "" : 電話2_tb.Text = ""
  800. 統編_tb.Text = "" : 住址_tb.Text = "" : 含稅_ch.Checked = False
  801. Else
  802. MsgBox("輸入的單號需要完整七位數或是九位數。")
  803. End If
  804. Else
  805. MsgBox("單號除了開頭第一位其他都必須是數字。")
  806. End If
  807. End If
  808. End If
  809. End If
  810. End Sub
  811. Private Sub 客戶資料驗證_bt_Click(sender As Object, e As EventArgs) Handles 客戶資料驗證_bt.Click
  812. If 流水號_tb.Text = "" Then
  813. MsgBox("沒有銷售單號,無法作業。")
  814. Else
  815. Set_清單2()
  816. If 客戶資料_dgv.Rows.Count = 1 Then
  817. 客戶編號_tb.Text = 客戶資料_dgv.Rows(0).Cells("舊編").Value
  818. ElseIf 客戶資料_dgv.Rows.Count > 1 Then
  819. MsgBox("即將幫您打開客戶資料表,請在客戶資料表中查詢,選取您確認的正確訊息,並指定到銷售申請單。")
  820. PA30 = 客戶_tb.Text : PA29 = 住址_tb.Text : PA28 = 電話1_tb.Text : PA27 = 電話2_tb.Text : PA26 = 公司_tb.Text : PA25 = 統編_tb.Text
  821. 客戶資料查詢_bt.PerformClick()
  822. ElseIf 客戶資料_dgv.Rows.Count = 0 Then
  823. Dim aa1 As MsgBoxResult = MsgBox("資料庫中查詢不到該客戶資料,是否依照目前資料新增客戶資料?", MsgBoxStyle.OkCancel)
  824. If aa1 = MsgBoxResult.Ok Then
  825. SQL_客戶資料表_流水號_最後一筆資料() '--------------------自動取得新流水號
  826. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If
  827. conn.Close() : EDR += 1
  828. If EDR < 10 Then : ESTR = "CL" & "00000000" & EDR
  829. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "CL" & "0000000" & EDR
  830. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "CL" & "000000" & EDR
  831. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "CL" & "00000" & EDR
  832. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "CL" & "0000" & EDR
  833. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "CL" & "000" & EDR
  834. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "CL" & "00" & EDR
  835. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "CL" & "0" & EDR
  836. ElseIf EDR > 99999999 Then : ESTR = "CL" & EDR
  837. End If : 客戶流水_tb.Text = ESTR : PA16 = ESTR
  838. PA18 = 業務_cb.Text
  839. SQL_客戶資料表_編號_最後一筆資料() '--------------------自動取得新編號
  840. If dr.Read() Then : EDR1 = Double.Parse(Strings.Right(dr("舊編").ToString, 4)) : Else : EDR1 = 0 : End If
  841. conn.Close() : EDR1 += 1
  842. If EDR1 < 10 Then : ESTR1 = 業務_cb.Text & "000" & EDR1
  843. ElseIf EDR1 > 9 And EDR1 < 100 Then : ESTR1 = 業務_cb.Text & "00" & EDR1
  844. ElseIf EDR1 > 99 And EDR1 < 1000 Then : ESTR1 = 業務_cb.Text & "0" & EDR1
  845. ElseIf EDR1 > 999 And EDR1 < 10000 Then : ESTR1 = 業務_cb.Text & EDR1
  846. End If : PA17 = ESTR1
  847. SQL_客戶資料表_新增() '--------------------人事資料表中寫入一筆資料
  848. PA14 = 客戶_tb.Text : PA13 = 電話1_tb.Text : PA12 = 電話2_tb.Text : PA11 = 住址_tb.Text
  849. PA10 = 公司_tb.Text : PA9 = 統編_tb.Text : PA8 = 客戶流水_tb.Text
  850. SQL_客戶資料表_修改() : conn.Close() '--------------------資料修改
  851. 客戶編號_tb.Text = ESTR1
  852. MsgBox("客戶資料新增完畢,請記得存檔。")
  853. End If
  854. End If
  855. End If
  856. End Sub
  857. Private Sub 存檔1()
  858. If 流水號_tb.Text = "" Then
  859. MsgBox("沒有銷售單號,無法作業。")
  860. Else
  861. If 客戶編號_tb.Text = "" Then
  862. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  863. Else
  864. PA14 = 客戶_tb.Text : PA13 = 電話1_tb.Text : PA12 = 電話2_tb.Text : PA11 = 住址_tb.Text
  865. PA10 = 公司_tb.Text : PA9 = 統編_tb.Text : PA8 = 客戶流水_tb.Text
  866. SQL_客戶資料表_修改() '--------------------資料修改
  867. DTP = Strings.Format(開單日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Strings.Format(交貨日期_dtp.Value, "yyyy/MM/dd") : BL1 = 含稅_ch.Checked : 運費 = 司機運費_tb.Text
  868. PA1 = 流水號_tb.Text : PA2 = 單號_tb.Text : PA3 = 客戶編號_tb.Text : PA4 = 流水號_tb.Text : PA5 = 送貨地點_cb.Text : NU1 = 司機運費_tb.Text : NU2 = 管銷費用_tb.Text
  869. NU3 = 稅金_tb.Text : NU4 = 刷卡傭金_tb.Text : NU5 = 銷售合計_tb.Text : BL7 = 轉高層_cb.Checked : SQL5 = ", 轉高層 = N'" & BL7 & "'"
  870. SQL_銷售控制表_修改() '--------------------資料修改
  871. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  872. 資料數 = 銷售明細_dgv.Rows.Count : MyModule1.進度條()
  873. PA10 = 銷售明細_dgv.Rows(i).Cells("備註").Value.ToString : PA11 = 銷售明細_dgv.Rows(i).Cells("資料流水號").Value : PA9 = 銷售明細_dgv.Rows(i).Cells("倉儲狀態").Value
  874. NU1 = 銷售明細_dgv.Rows(i).Cells("成本").Value : NU2 = 銷售明細_dgv.Rows(i).Cells("單價").Value : PA8 = 銷售明細_dgv.Rows(i).Cells("物料狀態").Value
  875. BL5 = 銷售明細_dgv.Rows(i).Cells("含稅").Value : PA7 = 銷售明細_dgv.Rows(i).Cells("訂製狀態").Value : BL6 = 銷售明細_dgv.Rows(i).Cells("無管銷").Value
  876. SQL_銷售明細表_修改() : conn.Close()
  877. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  878. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  879. 資料數 = 銷售備註_dgv.Rows.Count : MyModule1.進度條()
  880. PA10 = 銷售備註_dgv.Rows(i).Cells("備註").Value : PA11 = 銷售備註_dgv.Rows(i).Cells("資料流水號").Value
  881. NU1 = 銷售備註_dgv.Rows(i).Cells("收入").Value : NU2 = 銷售備註_dgv.Rows(i).Cells("支出").Value
  882. SQL_銷售備註表_修改() : conn.Close()
  883. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  884. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  885. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  886. PA10 = 收款事項_dgv.Rows(i).Cells("內容").Value : PA11 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  887. NU1 = 收款事項_dgv.Rows(i).Cells("金額").Value : PA12 = 收款事項_dgv.Rows(i).Cells("含稅").Value
  888. SQL_銷售收款事項_修改() : conn.Close()
  889. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  890. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  891. 資料數 = 銷售衍生運費_dgv.Rows.Count : MyModule1.進度條()
  892. PA10 = 銷售衍生運費_dgv.Rows(i).Cells("運費備註").Value : PA11 = 銷售衍生運費_dgv.Rows(i).Cells("資料流水號").Value
  893. NU1 = 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  894. SQL_銷售衍生運費_修改() : conn.Close()
  895. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  896. Set_清單1()
  897. End If
  898. End If
  899. End Sub
  900. Private Sub 存檔2()
  901. If 流水號_tb.Text = "" Then
  902. MsgBox("沒有銷售單號,無法作業。")
  903. Else
  904. Set_清單2()
  905. If 客戶資料_dgv.Rows.Count = 1 Then
  906. 客戶編號_tb.Text = 客戶資料_dgv.Rows(0).Cells("舊編").Value
  907. ElseIf 客戶資料_dgv.Rows.Count > 1 Then
  908. Dim aa1 As MsgBoxResult = MsgBox("系統查詢到該客戶有多筆客戶資料,你是否已經確定單據上顯示的客戶資料正確?", MsgBoxStyle.OkCancel)
  909. If aa1 = MsgBoxResult.Ok Then : Else
  910. MsgBox("即將幫您打開客戶資料表,請在客戶資料表中查詢,選取您確認的正確訊息,並指定到銷售申請單。")
  911. 客戶資料查詢_bt.PerformClick()
  912. MsgBox("指定客戶後請寄的再次存檔。")
  913. Exit Sub
  914. End If
  915. ElseIf 客戶資料_dgv.Rows.Count = 0 Then
  916. Dim aa1 As MsgBoxResult = MsgBox("資料庫中查詢不到該客戶資料,是否依照目前資料新增客戶資料?", MsgBoxStyle.OkCancel)
  917. If aa1 = MsgBoxResult.Ok Then
  918. SQL_客戶資料表_流水號_最後一筆資料() '--------------------自動取得新流水號
  919. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If
  920. conn.Close() : EDR += 1
  921. If EDR < 10 Then : ESTR = "CL" & "00000000" & EDR
  922. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "CL" & "0000000" & EDR
  923. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "CL" & "000000" & EDR
  924. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "CL" & "00000" & EDR
  925. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "CL" & "0000" & EDR
  926. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "CL" & "000" & EDR
  927. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "CL" & "00" & EDR
  928. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "CL" & "0" & EDR
  929. ElseIf EDR > 99999999 Then : ESTR = "CL" & EDR
  930. End If : 客戶流水_tb.Text = ESTR : PA16 = ESTR
  931. PA18 = 業務_cb.Text
  932. SQL_客戶資料表_編號_最後一筆資料() '--------------------自動取得新編號
  933. If dr.Read() Then : EDR1 = Double.Parse(Strings.Right(dr("舊編").ToString, 4)) : Else : EDR1 = 0 : End If
  934. conn.Close() : EDR1 += 1
  935. If EDR1 < 10 Then : ESTR1 = 業務_cb.Text & "000" & EDR1
  936. ElseIf EDR1 > 9 And EDR1 < 100 Then : ESTR1 = 業務_cb.Text & "00" & EDR1
  937. ElseIf EDR1 > 99 And EDR1 < 1000 Then : ESTR1 = 業務_cb.Text & "0" & EDR1
  938. ElseIf EDR1 > 999 And EDR1 < 10000 Then : ESTR1 = 業務_cb.Text & EDR1
  939. End If : PA17 = ESTR1
  940. SQL_客戶資料表_新增() '--------------------人事資料表中寫入一筆資料
  941. PA14 = 客戶_tb.Text : PA13 = 電話1_tb.Text : PA12 = 電話2_tb.Text : PA11 = 住址_tb.Text
  942. PA10 = 公司_tb.Text : PA9 = 統編_tb.Text : PA8 = 客戶流水_tb.Text
  943. SQL_客戶資料表_修改() : conn.Close() '--------------------資料修改
  944. 客戶編號_tb.Text = ESTR1
  945. End If
  946. End If
  947. If 客戶編號_tb.Text = "" Then
  948. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  949. Else
  950. PA14 = 客戶_tb.Text : PA13 = 電話1_tb.Text : PA12 = 電話2_tb.Text : PA11 = 住址_tb.Text
  951. PA10 = 公司_tb.Text : PA9 = 統編_tb.Text : PA8 = 客戶流水_tb.Text
  952. SQL_客戶資料表_修改() '--------------------資料修改
  953. DTP = Strings.Format(開單日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Strings.Format(交貨日期_dtp.Value, "yyyy/MM/dd") : BL1 = 含稅_ch.Checked : 運費 = 司機運費_tb.Text
  954. PA1 = 流水號_tb.Text : PA2 = 單號_tb.Text : PA3 = 客戶編號_tb.Text : PA4 = 流水號_tb.Text : PA5 = 送貨地點_cb.Text : NU1 = 司機運費_tb.Text : NU2 = 管銷費用_tb.Text
  955. NU3 = 稅金_tb.Text : NU4 = 刷卡傭金_tb.Text : NU5 = 銷售合計_tb.Text : BL7 = 轉高層_cb.Checked : SQL5 = ", 轉高層 = N'" & BL7 & "', 稅金另扣 = N'" & 稅金25_tb.Text & "'"
  956. SQL_銷售控制表_修改() '--------------------資料修改
  957. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  958. 資料數 = 銷售明細_dgv.Rows.Count : MyModule1.進度條()
  959. PA10 = 銷售明細_dgv.Rows(i).Cells("備註").Value.ToString : PA11 = 銷售明細_dgv.Rows(i).Cells("資料流水號").Value : PA9 = 銷售明細_dgv.Rows(i).Cells("倉儲狀態").Value
  960. NU1 = 銷售明細_dgv.Rows(i).Cells("成本").Value : NU2 = 銷售明細_dgv.Rows(i).Cells("單價").Value : PA8 = 銷售明細_dgv.Rows(i).Cells("物料狀態").Value
  961. BL5 = 銷售明細_dgv.Rows(i).Cells("含稅").Value : PA7 = 銷售明細_dgv.Rows(i).Cells("訂製狀態").Value : BL6 = 銷售明細_dgv.Rows(i).Cells("無管銷").Value
  962. SQL_銷售明細表_修改() : conn.Close()
  963. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  964. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  965. 資料數 = 銷售備註_dgv.Rows.Count : MyModule1.進度條()
  966. PA10 = 銷售備註_dgv.Rows(i).Cells("備註").Value : PA11 = 銷售備註_dgv.Rows(i).Cells("資料流水號").Value
  967. NU1 = 銷售備註_dgv.Rows(i).Cells("收入").Value : NU2 = 銷售備註_dgv.Rows(i).Cells("支出").Value
  968. SQL_銷售備註表_修改() : conn.Close()
  969. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  970. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  971. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  972. PA10 = 收款事項_dgv.Rows(i).Cells("內容").Value : PA11 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  973. NU1 = 收款事項_dgv.Rows(i).Cells("金額").Value : PA12 = 收款事項_dgv.Rows(i).Cells("含稅").Value
  974. SQL_銷售收款事項_修改() : conn.Close()
  975. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  976. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  977. 資料數 = 銷售衍生運費_dgv.Rows.Count : MyModule1.進度條()
  978. PA10 = 銷售衍生運費_dgv.Rows(i).Cells("運費備註").Value : PA11 = 銷售衍生運費_dgv.Rows(i).Cells("資料流水號").Value
  979. NU1 = 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  980. SQL_銷售衍生運費_修改() : conn.Close()
  981. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  982. MsgBox("存檔完成。")
  983. 開立庫存調整單_bt.Enabled = True : Set_清單1() : 銷售單據_dgv.Enabled = True
  984. End If
  985. End If
  986. End Sub
  987. Private Sub 存檔3()
  988. If 流水號_tb.Text = "" Then
  989. MsgBox("沒有銷售單號,無法作業。")
  990. Else
  991. If 客戶編號_tb.Text = "" Then
  992. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  993. Else
  994. PA14 = 客戶_tb.Text : PA13 = 電話1_tb.Text : PA12 = 電話2_tb.Text : PA11 = 住址_tb.Text
  995. PA10 = 公司_tb.Text : PA9 = 統編_tb.Text : PA8 = 客戶流水_tb.Text
  996. SQL_客戶資料表_修改() '--------------------資料修改
  997. DTP = Strings.Format(開單日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Strings.Format(交貨日期_dtp.Value, "yyyy/MM/dd") : BL1 = 含稅_ch.Checked : 運費 = 司機運費_tb.Text
  998. PA1 = 流水號_tb.Text : PA2 = 單號_tb.Text : PA3 = 客戶編號_tb.Text : PA4 = 流水號_tb.Text : PA5 = 送貨地點_cb.Text : NU1 = 司機運費_tb.Text : NU2 = 管銷費用_tb.Text
  999. NU3 = 稅金_tb.Text : NU4 = 刷卡傭金_tb.Text : NU5 = 銷售合計_tb.Text : BL7 = 轉高層_cb.Checked : SQL5 = ", 轉高層 = N'" & BL7 & "'"
  1000. SQL_銷售控制表_修改() '--------------------資料修改
  1001. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  1002. 資料數 = 銷售明細_dgv.Rows.Count : MyModule1.進度條()
  1003. PA10 = 銷售明細_dgv.Rows(i).Cells("備註").Value.ToString : PA11 = 銷售明細_dgv.Rows(i).Cells("資料流水號").Value : PA9 = 銷售明細_dgv.Rows(i).Cells("倉儲狀態").Value
  1004. NU1 = 銷售明細_dgv.Rows(i).Cells("成本").Value : NU2 = 銷售明細_dgv.Rows(i).Cells("單價").Value : PA8 = 銷售明細_dgv.Rows(i).Cells("物料狀態").Value
  1005. BL5 = 銷售明細_dgv.Rows(i).Cells("含稅").Value : PA7 = 銷售明細_dgv.Rows(i).Cells("訂製狀態").Value : BL6 = 銷售明細_dgv.Rows(i).Cells("無管銷").Value
  1006. SQL_銷售明細表_修改() : conn.Close()
  1007. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1008. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  1009. 資料數 = 銷售備註_dgv.Rows.Count : MyModule1.進度條()
  1010. PA10 = 銷售備註_dgv.Rows(i).Cells("備註").Value : PA11 = 銷售備註_dgv.Rows(i).Cells("資料流水號").Value
  1011. NU1 = 銷售備註_dgv.Rows(i).Cells("收入").Value : NU2 = 銷售備註_dgv.Rows(i).Cells("支出").Value
  1012. SQL_銷售備註表_修改() : conn.Close()
  1013. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1014. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1015. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  1016. PA10 = 收款事項_dgv.Rows(i).Cells("內容").Value : PA11 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  1017. NU1 = 收款事項_dgv.Rows(i).Cells("金額").Value : PA12 = 收款事項_dgv.Rows(i).Cells("含稅").Value
  1018. SQL_銷售收款事項_修改() : conn.Close()
  1019. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1020. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  1021. 資料數 = 銷售衍生運費_dgv.Rows.Count : MyModule1.進度條()
  1022. PA10 = 銷售衍生運費_dgv.Rows(i).Cells("運費備註").Value : PA11 = 銷售衍生運費_dgv.Rows(i).Cells("資料流水號").Value
  1023. NU1 = 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  1024. SQL_銷售衍生運費_修改() : conn.Close()
  1025. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1026. 開立庫存調整單_bt.Enabled = True : Set_清單1() : 銷售單據_dgv.Enabled = True
  1027. End If
  1028. End If
  1029. End Sub
  1030. Private Sub 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  1031. 存檔2()
  1032. End Sub
  1033. Private Sub 選定內容加入庫存調整申請單_bt_Click(sender As Object, e As EventArgs) Handles 選定內容加入庫存調整申請單_bt.Click
  1034. If 流水號_tb.Text = "" Then
  1035. MsgBox("沒有銷售單號,無法作業。")
  1036. Else
  1037. If 銷售明細_dgv.Rows.Count = 0 Then
  1038. 存檔2()
  1039. Else
  1040. 存檔3()
  1041. End If
  1042. If 料號_tb.Text = "" Then
  1043. MsgBox("請選擇物料,調整庫存需要指定物料!!")
  1044. Else
  1045. If 儲態編號_cb.Text = "" Then
  1046. MsgBox("倉儲狀態是一定要選擇的!!")
  1047. Else
  1048. If 訂製狀態_cb.Text = "" Then
  1049. MsgBox("物品的訂製狀態也是一定要選擇的!!")
  1050. Else
  1051. If 訂購數量_nud.Value = 0 Then
  1052. MsgBox("訂購數量為零是不容許的!!")
  1053. Else
  1054. PA1 = 單號_tb.Text : PA2 = 料號_tb.Text : PA3 = 倉庫編號_tb.Text
  1055. SQL_銷售明細表_最後一筆資料()
  1056. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  1057. conn.Close() : EDR += 1
  1058. If EDR < 10 Then : ESTR = "SA" & "00000000" & EDR
  1059. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "SA" & "0000000" & EDR
  1060. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "SA" & "000000" & EDR
  1061. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "SA" & "00000" & EDR
  1062. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "SA" & "0000" & EDR
  1063. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "SA" & "000" & EDR
  1064. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "SA" & "00" & EDR
  1065. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "SA" & "0" & EDR
  1066. ElseIf EDR > 99999999 Then : ESTR = "SA" & EDR : End If
  1067. Set_日期格式轉換()
  1068. PA3 = ESTR : PA4 = 單號_tb.Text : PA5 = 倉庫級別_tb.Text : PA6 = 倉庫編號_tb.Text : NU1 = 訂購數量_nud.Value : NU2 = 成本_nud.Value : NU3 = 售價_nud.Value
  1069. PA7 = 儲態編號_cb.Text : PA8 = 訂製編碼_cb.Text : BL2 = 含稅_ch.Checked : PA10 = 倉庫編號_tb.Text : PA9 = "未有貨"
  1070. Dim 排序 As Integer
  1071. SQL_銷售明細表_排序()
  1072. If dr.Read() Then : 排序 = CLng(dr("排序")) + 1 : Else : 排序 = 1 : End If : PA11 = 排序
  1073. SQL_銷售單申請_銷售明細表_新增() : conn.Close()
  1074. Set_清單4() : Set_清單()
  1075. PA = 單號_tb.Text : SQL_銷售控制表_驗證解除()
  1076. End If
  1077. End If
  1078. End If
  1079. End If
  1080. End If
  1081. End Sub
  1082. Private Sub 刪除單據上點選的資料_bt_Click(sender As Object, e As EventArgs) Handles 刪除單據上點選的資料_bt.Click
  1083. If 流水號_tb.Text = "" Then
  1084. MsgBox("沒有銷售單號,無法作業。")
  1085. Else
  1086. If 客戶編號_tb.Text = "" Then
  1087. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1088. Else
  1089. Dim aa1 As MsgBoxResult = MsgBox("你確定要刪除這筆資料?", MsgBoxStyle.OkCancel)
  1090. If aa1 = MsgBoxResult.Ok Then
  1091. PA = 銷售資料流水號_tb.Text : PA1 = 倉儲資料流水號_tb.Text
  1092. SQL_銷售明細表_單筆刪除() : SQL_倉儲控制表_依銷售單號單筆刪除() : Set_清單() : Set_清單4()
  1093. PA = 單號_tb.Text : SQL_銷售控制表_驗證解除() : PA = "" : PA1 = ""
  1094. End If
  1095. End If
  1096. End If
  1097. End Sub
  1098. Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  1099. If 流水號_tb.Text = "" Then
  1100. MsgBox("沒有銷售單號,無法作業。")
  1101. Else
  1102. If CLng(Strings.Left(單號_tb.Text, 1)) = CLng(業務號碼) Or CLng(登入人級別) <= 1 Then
  1103. Dim aa1 As MsgBoxResult = MsgBox("刪除銷售單會連同該單據串連的採購,倉儲等聯繫單據都依同刪除,請再次確定是否刪除該單據?", MsgBoxStyle.OkCancel)
  1104. If aa1 = MsgBoxResult.Ok Then
  1105. Dim SSA As String
  1106. SSA = InputBox("確定刪除資料請輸入 [YES] !")
  1107. If SSA = "YES" Then
  1108. PA = 單號_tb.Text
  1109. SQL_銷售控制表_刪除() : SQL_銷售明細表_整體刪除() : SQL_銷售備註表_整體刪除() : SQL_倉儲控制表_依銷售單號刪除() : SQL_銷售收款事項_整體刪除()
  1110. Set_清單() : Set_清單1() : Set_清單4() : Set_清單5() : Set_清單6() : Set_清單7()
  1111. conn.Close()
  1112. End If
  1113. End If
  1114. Else
  1115. MsgBox("只能刪除屬於自己的單據。")
  1116. End If
  1117. End If
  1118. End Sub
  1119. Private Sub 銷售備註_bt_Click(sender As Object, e As EventArgs) Handles 銷售備註_bt.Click
  1120. If 流水號_tb.Text = "" Then
  1121. MsgBox("沒有銷售單號,無法作業。")
  1122. Else
  1123. If 客戶編號_tb.Text = "" Then
  1124. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1125. Else
  1126. PA = 單號_tb.Text
  1127. SQL_銷售備註表_最後一筆資料()
  1128. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  1129. conn.Close() : EDR += 1
  1130. If EDR < 10 Then : ESTR = "SR" & "00000000" & EDR
  1131. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "SR" & "0000000" & EDR
  1132. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "SR" & "000000" & EDR
  1133. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "SR" & "00000" & EDR
  1134. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "SR" & "0000" & EDR
  1135. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "SR" & "000" & EDR
  1136. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "SR" & "00" & EDR
  1137. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "SR" & "0" & EDR
  1138. ElseIf EDR > 99999999 Then : ESTR = "SR" & EDR : End If
  1139. PA1 = ESTR
  1140. SQL_銷售備註表_新增()
  1141. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  1142. 資料數 = 銷售備註_dgv.Rows.Count : MyModule1.進度條()
  1143. PA10 = 銷售備註_dgv.Rows(i).Cells("備註").Value : PA11 = 銷售備註_dgv.Rows(i).Cells("資料流水號").Value
  1144. NU1 = 銷售備註_dgv.Rows(i).Cells("收入").Value : NU2 = 銷售備註_dgv.Rows(i).Cells("支出").Value
  1145. SQL_銷售備註表_修改() : conn.Close()
  1146. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1147. Set_清單5()
  1148. End If
  1149. End If
  1150. End Sub
  1151. Private Sub 刪除備註_bt_Click(sender As Object, e As EventArgs) Handles 刪除備註_bt.Click
  1152. If 流水號_tb.Text = "" Then
  1153. MsgBox("沒有銷售單號,無法作業。")
  1154. Else
  1155. If 客戶編號_tb.Text = "" Then
  1156. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1157. Else
  1158. Dim aa1 As MsgBoxResult = MsgBox("你確定要刪除這筆資料?", MsgBoxStyle.OkCancel)
  1159. If aa1 = MsgBoxResult.Ok Then
  1160. PA = 銷售備註流水號_tb.Text
  1161. SQL_銷售備註表_刪除() : Set_清單5()
  1162. End If
  1163. End If
  1164. End If
  1165. End Sub
  1166. Private Sub 稅金25_tb_TextChanged(sender As Object, e As EventArgs) Handles 稅金25_tb.TextChanged
  1167. If 售價小計_tb.Text <> "" And 額外收支_tb.Text <> "" And 其他成本_tb.Text <> "" And 物料成本_tb.Text <> "" And
  1168. 司機運費_tb.Text <> "" And 管銷費用_tb.Text <> "" And 刷卡傭金_tb.Text <> "" And 稅金25_tb.Text <> "" Then
  1169. 預估利潤_tb.Text = CLng(售價小計_tb.Text) + CLng(額外收支_tb.Text) - CLng(其他成本_tb.Text) - CLng(物料成本_tb.Text) -
  1170. CLng(司機運費_tb.Text) - CLng(管銷費用_tb.Text) - CLng(刷卡傭金_tb.Text) + CLng(稅金25_tb.Text)
  1171. If 銷售衍生運費_dgv.Rows.Count > 0 Then
  1172. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  1173. 預估利潤_tb.Text = CLng(預估利潤_tb.Text) - 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  1174. Next
  1175. End If
  1176. 預估利潤_tb.Text = Strings.Format(CLng(預估利潤_tb.Text), "#,##0")
  1177. End If
  1178. End Sub
  1179. Private Sub 財務單據退回_bt_Click(sender As Object, e As EventArgs) Handles 財務單據退回_bt.Click
  1180. If 營運成本收支單號_tb.Text = "" Then
  1181. MsgBox("沒有選擇要退回的資料,無法操作")
  1182. Else
  1183. PA = 營運成本收支單號_tb.Text : SQL_營運成本收支單申請_刪除公帳流水帳_應收用()
  1184. PA12 = 流水號2_bt.Text : SQL_應收帳款未收_轉財務_退回() : conn.Close() : Set_清單6()
  1185. MsgBox("退單完成!!")
  1186. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1187. If 收款事項_dgv("內容", i).Value.ToString = "未收餘額" And 收款事項_dgv.Rows(i).Cells("金額").Value <> 0 Then
  1188. 轉高層_cb.Checked = False
  1189. DTP = Strings.Format(開單日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Strings.Format(交貨日期_dtp.Value, "yyyy/MM/dd") : BL1 = 含稅_ch.Checked : 運費 = 司機運費_tb.Text
  1190. PA1 = 流水號_tb.Text : PA2 = 單號_tb.Text : PA3 = 客戶編號_tb.Text : PA4 = 流水號_tb.Text : PA5 = 送貨地點_cb.Text : NU1 = 司機運費_tb.Text : NU2 = 管銷費用_tb.Text
  1191. NU3 = 稅金_tb.Text : NU4 = 刷卡傭金_tb.Text : NU5 = 銷售合計_tb.Text : BL7 = 轉高層_cb.Checked : SQL5 = ", 轉高層 = N'" & BL7 & "', 稅金另扣 = N'" & 稅金25_tb.Text & "'"
  1192. SQL_銷售控制表_修改() : Exit For '--------------------資料修改
  1193. End If
  1194. Next : Set_清單1()
  1195. End If
  1196. End Sub
  1197. Private Sub Set_流水號()
  1198. conn.Close() : dr.Close()
  1199. Dim NUM1 As Integer
  1200. For NUM1 = 0 To 99
  1201. Dim d As String : Dim f As String : Dim g As Integer = 1
  1202. If Month(申請日期_dtp.Value) < 10 Then : d = "0" & CStr(Month(申請日期_dtp.Value))
  1203. Else : d = CStr(Month(申請日期_dtp.Value))
  1204. End If
  1205. If CLng(Strings.Right(Strings.Format(申請日期_dtp.Value, "yyyy/MM/dd"), 2)) < 10 Then : f = "0" & CLng(Strings.Right(Strings.Format(申請日期_dtp.Value, "yyyy/MM/dd"), 2))
  1206. Else : f = CLng(Strings.Right(Strings.Format(申請日期_dtp.Value, "yyyy/MM/dd"), 2))
  1207. End If
  1208. If NUM1 < 10 Then : 新流水1 = "B" & Microsoft.VisualBasic.Right(CStr(Year(申請日期_dtp.Value)), 2) & d & f & "0" & NUM1
  1209. Else : 新流水1 = "B" & Microsoft.VisualBasic.Right(CStr(Year(申請日期_dtp.Value)), 2) & d & f & NUM1
  1210. End If : PA19 = 新流水1
  1211. SQL_營運成本收支單申請_查詢收支單公帳流水號()
  1212. If dr.Read() Then : conn.Close() : Else : conn.Close() : NUM1 = 99 : End If
  1213. Next
  1214. End Sub
  1215. Private Sub 轉財務系統_bt_Click(sender As Object, e As EventArgs) Handles 轉財務系統_bt.Click
  1216. SQL_應收帳款未收_轉財務Null為False()
  1217. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1218. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  1219. PA10 = 收款事項_dgv.Rows(i).Cells("內容").Value : PA11 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  1220. NU1 = 收款事項_dgv.Rows(i).Cells("金額").Value : PA12 = 收款事項_dgv.Rows(i).Cells("含稅").Value
  1221. SQL_銷售收款事項_修改() : conn.Close()
  1222. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1223. Dim AA As Boolean = True
  1224. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1225. If 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" And 收款事項_dgv("轉財務", i).Value = False Then
  1226. AA = False
  1227. Exit For
  1228. End If
  1229. Next
  1230. If AA = False Then
  1231. Dim NUM1 As Integer
  1232. Set_日期格式轉換()
  1233. For i As Integer = 1 To 999
  1234. NUM1 = 0 + i
  1235. If NUM1 < 10 Then : 營運成本收支單號_tb.Text = "OE-" & DTP3 & "-00" & NUM1
  1236. ElseIf NUM1 > 9 And NUM1 < 100 Then : 營運成本收支單號_tb.Text = "OE-" & DTP3 & "-0" & NUM1
  1237. ElseIf NUM1 > 99 Then : 營運成本收支單號_tb.Text = "OE-" & DTP3 & "-" & NUM1
  1238. End If
  1239. conn.Close()
  1240. PA = 營運成本收支單號_tb.Text
  1241. SQL_營運成本收支單申請_查詢第一筆公帳支付單號()
  1242. If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
  1243. Next
  1244. PA = 營運成本收支單號_tb.Text
  1245. SQL_營運成本收支單申請_新增一筆公帳控制表() : conn.Close()
  1246. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1247. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  1248. If 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" And 收款事項_dgv("轉財務", i).Value = False And 收款事項_dgv("金額", i).Value <> 0 Then
  1249. If ComboBox6.Text = "" Or 幣別_cb.Text = "" Then
  1250. MsgBox("沒有選擇會計科目或幣別。")
  1251. Else
  1252. Set_日期格式轉換() : Set_流水號()
  1253. PA = 營運成本收支單號_tb.Text
  1254. SQL_營運成本收支單申請_查詢最後一筆公帳支付單號()
  1255. If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
  1256. NUM1 = Double.Parse(新項次) + 1
  1257. If NUM1 < 10 Then : 新項次 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 99 Then : 新項次 = NUM1 : End If
  1258. If 幣別_cb.Text = "台幣現金" Then : 匯率1 = 1
  1259. ElseIf 幣別_cb.Text = "人民幣現金" Then : 匯率1 = 人民幣匯率_tb.Text
  1260. ElseIf 幣別_cb.Text = "美金" Then : 匯率1 = 美金匯率_tb.Text : End If
  1261. Dim RR As String
  1262. If Len(客戶_tb.Text & 收款事項_dgv.Rows(i).Cells("內容").Value) <= 21 Then
  1263. RR = 收款事項_dgv.Rows(i).Cells("內容").Value
  1264. Else
  1265. RR = Strings.Left(收款事項_dgv.Rows(i).Cells("內容").Value, 21 - Len(客戶_tb.Text))
  1266. End If
  1267. PA14 = 單號_tb.Text & " - " & 客戶_tb.Text & " - " & RR & " - [" & 收款事項_dgv.Rows(i).Cells("資料流水號").Value & "]"
  1268. PA16 = 匯率1 : PA15 = 新項次 : PA17 = 幣別_cb.Text : PA18 = ComboBox6.Text : PA20 = 收款事項_dgv.Rows(i).Cells("金額").Value
  1269. PA21 = 收款事項_dgv.Rows(i).Cells("含稅").Value : PA22 = "0"
  1270. SQL_應收轉財務_新增公帳流水帳資料()
  1271. PA12 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  1272. SQL_應收帳款未收_轉財務()
  1273. conn.Close() : Set_清單6()
  1274. End If
  1275. End If
  1276. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1277. Set_清單1() : MsgBox("收款資料轉財務單完成!!!")
  1278. Else
  1279. MsgBox("沒有滿足可以轉財務的需求!!!")
  1280. End If
  1281. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1282. If 收款事項_dgv("內容", i).Value.ToString = "未收餘額" And 收款事項_dgv.Rows(i).Cells("金額").Value = 0 Then
  1283. 轉高層_cb.Checked = True : 交貨日期_dtp.Value = 申請日期_dtp.Value
  1284. DTP = Strings.Format(開單日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Strings.Format(交貨日期_dtp.Value, "yyyy/MM/dd") : BL1 = 含稅_ch.Checked : 運費 = 司機運費_tb.Text
  1285. PA1 = 流水號_tb.Text : PA2 = 單號_tb.Text : PA3 = 客戶編號_tb.Text : PA4 = 流水號_tb.Text : PA5 = 送貨地點_cb.Text : NU1 = 司機運費_tb.Text : NU2 = 管銷費用_tb.Text
  1286. NU3 = 稅金_tb.Text : NU4 = 刷卡傭金_tb.Text : NU5 = 銷售合計_tb.Text : BL7 = 轉高層_cb.Checked : SQL5 = ", 轉高層 = N'" & BL7 & "', 稅金另扣 = N'" & 稅金25_tb.Text & "'"
  1287. SQL_銷售控制表_修改() : Exit For '--------------------資料修改
  1288. End If
  1289. Next : Set_清單1()
  1290. End Sub
  1291. Private Sub 刪除收款事項上點選的資料_bt_Click(sender As Object, e As EventArgs) Handles 刪除收款事項上點選的資料_bt.Click
  1292. If 流水號_tb.Text = "" Then
  1293. MsgBox("沒有銷售單號,無法作業。")
  1294. Else
  1295. If 客戶編號_tb.Text = "" Then
  1296. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1297. Else
  1298. If 項次3_tb.Text = "" Then
  1299. MsgBox("沒有選擇收款事項,無法作業。")
  1300. Else
  1301. If 刷卡可刪除_ch.Checked = False Then
  1302. If 項次3_tb.Text = "0" Then
  1303. MsgBox("不能刪除 [未收餘額] 或 [刷卡] 選項!!")
  1304. Else
  1305. Dim aa1 As MsgBoxResult = MsgBox("你確定要刪除這筆資料?", MsgBoxStyle.OkCancel)
  1306. If aa1 = MsgBoxResult.Ok Then
  1307. PA = 銷售收款流水號_tb.Text
  1308. SQL_銷售收款事項_刪除() : Set_清單6()
  1309. End If
  1310. End If
  1311. ElseIf 刷卡可刪除_ch.Checked = True Then
  1312. Dim aa1 As MsgBoxResult = MsgBox("你確定要刪除這筆資料?", MsgBoxStyle.OkCancel)
  1313. If aa1 = MsgBoxResult.Ok Then
  1314. PA = 銷售收款流水號_tb.Text
  1315. SQL_銷售收款事項_刪除() : Set_清單6()
  1316. End If
  1317. End If
  1318. 刷卡可刪除_ch.Checked = False
  1319. End If
  1320. End If
  1321. End If
  1322. End Sub
  1323. Private Sub 刷卡收款_bt_Click(sender As Object, e As EventArgs) Handles 刷卡收款_bt.Click
  1324. If 流水號_tb.Text = "" Then
  1325. MsgBox("沒有銷售單號,無法作業。")
  1326. Else
  1327. SQL_銷售收款事項_最後一筆資料()
  1328. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  1329. conn.Close() : EDR += 1
  1330. If EDR < 10 Then : ESTR = "ST" & "00000000" & EDR
  1331. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "ST" & "0000000" & EDR
  1332. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "ST" & "000000" & EDR
  1333. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "ST" & "00000" & EDR
  1334. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "ST" & "0000" & EDR
  1335. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "ST" & "000" & EDR
  1336. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "ST" & "00" & EDR
  1337. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "ST" & "0" & EDR
  1338. ElseIf EDR > 99999999 Then : ESTR = "ST" & EDR : End If
  1339. PA1 = ESTR
  1340. PA = 單號_tb.Text
  1341. SQL_銷售收款事項_最後一筆項次()
  1342. If dr.Read() Then : EDR = dr("項次").ToString : Else : EDR = 0 : End If
  1343. conn.Close() : EDR += 1
  1344. If EDR < 10 Then : ESTR = EDR
  1345. ElseIf EDR > 9 And EDR < 100 Then : ESTR = EDR : End If
  1346. PA2 = ESTR
  1347. SQL_銷售收款事項_新增3()
  1348. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1349. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  1350. PA10 = 收款事項_dgv.Rows(i).Cells("內容").Value : PA11 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  1351. NU1 = 收款事項_dgv.Rows(i).Cells("金額").Value : PA12 = 收款事項_dgv.Rows(i).Cells("含稅").Value
  1352. SQL_銷售收款事項_修改() : conn.Close()
  1353. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1354. Set_清單6()
  1355. 刷卡控制 = True : 含稅_ch.Checked = True : 刷卡控制 = False
  1356. End If
  1357. End Sub
  1358. Private Sub 新增一筆收款事項_bt_Click(sender As Object, e As EventArgs) Handles 新增一筆收款事項_bt.Click
  1359. If 流水號_tb.Text = "" Then
  1360. MsgBox("沒有銷售單號,無法作業。")
  1361. Else
  1362. If 客戶編號_tb.Text = "" Then
  1363. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1364. Else
  1365. SQL_銷售收款事項_最後一筆資料()
  1366. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  1367. conn.Close() : EDR += 1
  1368. If EDR < 10 Then : ESTR = "ST" & "00000000" & EDR
  1369. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "ST" & "0000000" & EDR
  1370. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "ST" & "000000" & EDR
  1371. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "ST" & "00000" & EDR
  1372. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "ST" & "0000" & EDR
  1373. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "ST" & "000" & EDR
  1374. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "ST" & "00" & EDR
  1375. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "ST" & "0" & EDR
  1376. ElseIf EDR > 99999999 Then : ESTR = "ST" & EDR : End If
  1377. PA1 = ESTR
  1378. SQL_銷售收款事項_最後一筆項次()
  1379. If dr.Read() Then : EDR = dr("項次").ToString : Else : EDR = 0 : End If
  1380. conn.Close() : EDR += 1
  1381. If EDR < 10 Then : ESTR = EDR
  1382. ElseIf EDR > 9 And EDR < 100 Then : ESTR = EDR : End If
  1383. PA2 = ESTR : PA = 單號_tb.Text
  1384. SQL_銷售收款事項_新增2()
  1385. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1386. 資料數 = 收款事項_dgv.Rows.Count : MyModule1.進度條()
  1387. PA10 = 收款事項_dgv.Rows(i).Cells("內容").Value : PA11 = 收款事項_dgv.Rows(i).Cells("資料流水號").Value
  1388. NU1 = 收款事項_dgv.Rows(i).Cells("金額").Value : PA12 = 收款事項_dgv.Rows(i).Cells("含稅").Value
  1389. SQL_銷售收款事項_修改() : conn.Close()
  1390. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1391. Set_清單6()
  1392. End If
  1393. End If
  1394. End Sub
  1395. Private Sub 讀取標準成本_bt_Click(sender As Object, e As EventArgs) Handles 讀取標準成本_bt.Click
  1396. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  1397. 資料數 = 銷售明細_dgv.Rows.Count : MyModule1.進度條()
  1398. PA12 = 銷售明細_dgv.Rows(i).Cells("料號").Value
  1399. SQL_銷售明細表_成本讀取()
  1400. If dr.Read() Then : 銷售明細_dgv.Rows(i).Cells("成本").Value = dr("成本")
  1401. Else : 銷售明細_dgv.Rows(i).Cells("成本").Value = 0
  1402. End If : conn.Close() : Set_合記計算()
  1403. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1404. End Sub
  1405. Private Sub 轉財務3_bt_Click(sender As Object, e As EventArgs) Handles 轉財務3_bt.Click
  1406. Dim 開啟選擇 As Boolean
  1407. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1408. If 收款事項_dgv("內容", i).Value.ToString = "未收餘額" Then
  1409. If 收款事項_dgv("金額", i).Value.ToString = "0" Then
  1410. 開啟選擇 = True : Exit For
  1411. Else
  1412. 開啟選擇 = False : Exit For
  1413. End If
  1414. End If
  1415. Next
  1416. If 收款事項_dgv.Rows.Count > 0 Then
  1417. If 開啟選擇 = True Then : 應收帳款已收.ShowDialog() : Else : 應收帳款未收.ShowDialog() : End If
  1418. End If
  1419. End Sub
  1420. Private Sub Reset_bt_Click(sender As Object, e As EventArgs) Handles Reset_bt.Click
  1421. Dim 不含1類銷售小記 As Integer : Dim 金額1 As Integer = 0 : Dim 無管物料 As Integer
  1422. 售價小計_tb.Text = "0" : 稅金_tb.Text = "0" : 銷售合計_tb.Text = "0" : 收入小計_tb.Text = "0" : 支出小計_tb.Text = "0" : 額外收支_tb.Text = "0" : 物料成本_tb.Text = "0"
  1423. 司機運費_tb.Text = "0" : 管銷費用_tb.Text = "0" : 其他成本_tb.Text = "0" : 刷卡總和_tb.Text = "0" : 刷卡稅金_tb.Text = "0" : 刷卡傭金_tb.Text = "0"
  1424. If 稅金另算有資料 = False Then : 稅金25_tb.Text = "0" : End If
  1425. '-------001-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1426. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1427. If 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1428. 刷卡總和_tb.Text = CLng(刷卡總和_tb.Text) + 收款事項_dgv("金額", i).Value
  1429. End If
  1430. Next
  1431. 刷卡稅金_tb.Text = CInt(CLng(CLng(刷卡總和_tb.Text) * 0.05)) : 刷卡傭金_tb.Text = CInt(CLng(CLng(刷卡總和_tb.Text) * 0.02))
  1432. '-------002-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1433. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  1434. 銷售合計_tb.Text = CLng(銷售合計_tb.Text) + 銷售明細_dgv("售價", i).Value
  1435. 售價小計_tb.Text = CLng(售價小計_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value)
  1436. If 銷售明細_dgv("無管銷", i).Value = False Then
  1437. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  1438. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  1439. If IsDBNull(銷售明細_dgv("成本", i).Value) = True Then : 銷售明細_dgv("成本", i).Value = "0" : End If
  1440. 無管物料 = 無管物料 + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1441. End If
  1442. End If
  1443. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  1444. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  1445. If IsDBNull(銷售明細_dgv("成本", i).Value) = True Then : 銷售明細_dgv("成本", i).Value = "0" : End If
  1446. 物料成本_tb.Text = CLng(物料成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1447. 不含1類銷售小記 = 不含1類銷售小記 + 銷售明細_dgv("售價", i).Value
  1448. End If
  1449. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) = "1001" Then
  1450. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  1451. If IsDBNull(銷售明細_dgv("成本", i).Value) = True Then : 銷售明細_dgv("成本", i).Value = "0" : End If
  1452. 其他成本_tb.Text = CLng(其他成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1453. '不含1類銷售小記 = 不含1類銷售小記 - 銷售明細_dgv("成本", i).Value
  1454. End If
  1455. If 銷售明細_dgv("含稅", i).Value = True Then
  1456. 稅金_tb.Text = CLng(稅金_tb.Text) + ((銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value * 1.05) - (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value))
  1457. End If
  1458. Next
  1459. 管銷費用_tb.Text = 無管物料 * 1.06 - 無管物料
  1460. If CLng(稅金_tb.Text) = 0 And CLng(刷卡稅金_tb.Text) = 0 Then
  1461. 通知_lb.Text = "無稅金"
  1462. ElseIf CLng(稅金_tb.Text) = 0 And CLng(刷卡稅金_tb.Text) <> 0 Then
  1463. 通知_lb.Text = "因清單中沒有打勾含稅,但有刷卡帶入的稅金,所以稅金以刷卡稅金為主"
  1464. 稅金_tb.Text = CLng(刷卡總和_tb.Text) / 21 : 售價小計_tb.Text = CLng(銷售合計_tb.Text) - CLng(稅金_tb.Text) : 售價小計_tb.Text = CLng(銷售合計_tb.Text) - CLng(稅金_tb.Text)
  1465. ElseIf (CLng(稅金_tb.Text) <> 0 Or CLng(刷卡稅金_tb.Text) <> 0) And CLng(稅金_tb.Text) > CLng(刷卡稅金_tb.Text) Then
  1466. 通知_lb.Text = "因售價稅金大於刷卡稅金,計算正常,利潤中扣除刷卡傭金"
  1467. ElseIf (CLng(稅金_tb.Text) <> 0 Or CLng(刷卡稅金_tb.Text) <> 0) And CLng(稅金_tb.Text) < CLng(刷卡稅金_tb.Text) Then
  1468. 通知_lb.Text = "刷卡稅金大於自動計算後的稅金,邏輯有誤,請從新拆售價。"
  1469. End If
  1470. If 稅金存檔 <> CLng(稅金_tb.Text) Then
  1471. 稅金_tb.Text = 稅金存檔
  1472. 售價小計_tb.Text = CLng(銷售合計_tb.Text) - CLng(稅金_tb.Text)
  1473. 銷售合計_tb.Text = CLng(售價小計_tb.Text) + CLng(稅金_tb.Text)
  1474. ElseIf 稅金存檔 = CLng(稅金_tb.Text) Then
  1475. 稅金_tb.Text = 稅金存檔
  1476. 銷售合計_tb.Text = CLng(售價小計_tb.Text) + CLng(稅金_tb.Text)
  1477. 售價小計_tb.Text = CLng(銷售合計_tb.Text) - CLng(稅金_tb.Text)
  1478. End If
  1479. If 稅金另算有資料 = False Then
  1480. '稅金25_tb.Text = CLng(稅金_tb.Text) / 2 :
  1481. End If
  1482. '-------003-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1483. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  1484. 收入小計_tb.Text = CLng(收入小計_tb.Text) + 銷售備註_dgv("收入", i).Value
  1485. 支出小計_tb.Text = CLng(支出小計_tb.Text) + 銷售備註_dgv("支出", i).Value
  1486. Next
  1487. 額外收支_tb.Text = CLng(收入小計_tb.Text) - CLng(支出小計_tb.Text)
  1488. '-------004-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1489. Dim 金額 As Integer = 0
  1490. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1491. If 收款事項_dgv("真項次", i).Value.ToString <> "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1492. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  1493. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1494. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  1495. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString = "未收餘額" Then
  1496. 收款事項_dgv("金額", i).Value = CInt(CLng(銷售合計_tb.Text)) - 金額
  1497. End If
  1498. Next
  1499. '-------005-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1500. If 送貨地點_cb.Text = "" Or 送貨地點_cb.Text = "自取" Or 最低運費_cb.Text = "" Or 最低售價_cb.Text = "" Then
  1501. 司機運費_tb.Text = "0"
  1502. Else
  1503. If (不含1類銷售小記 - CLng(其他成本_tb.Text)) <= CLng(最低售價_cb.Text) Then
  1504. 司機運費_tb.Text = 最低運費_cb.Text
  1505. ElseIf (不含1類銷售小記 - CLng(其他成本_tb.Text)) > CLng(最低售價_cb.Text) Then
  1506. 司機運費_tb.Text = (不含1類銷售小記 - CLng(稅金_tb.Text) - CLng(刷卡傭金_tb.Text) - CLng(其他成本_tb.Text)) / 100 * 3
  1507. End If
  1508. End If
  1509. 存檔1()
  1510. '-------006-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1511. 預估利潤_tb.Text = CLng(售價小計_tb.Text) + CLng(額外收支_tb.Text) - CLng(其他成本_tb.Text) - CLng(物料成本_tb.Text) -
  1512. CLng(司機運費_tb.Text) - CLng(管銷費用_tb.Text) - CLng(刷卡傭金_tb.Text) + CLng(稅金25_tb.Text)
  1513. If 銷售衍生運費_dgv.Rows.Count > 0 Then
  1514. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  1515. 預估利潤_tb.Text = CLng(預估利潤_tb.Text) - 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  1516. Next
  1517. End If
  1518. '-------007-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1519. 售價小計_tb.Text = Strings.Format(CLng(售價小計_tb.Text), "#,##0") : 稅金_tb.Text = Strings.Format(CLng(稅金_tb.Text), "#,##0") : 銷售合計_tb.Text = Strings.Format(CLng(銷售合計_tb.Text), "#,##0")
  1520. 收入小計_tb.Text = Strings.Format(CLng(收入小計_tb.Text), "#,##0") : 支出小計_tb.Text = Strings.Format(CLng(支出小計_tb.Text), "#,##0") : 額外收支_tb.Text = Strings.Format(CLng(額外收支_tb.Text), "#,##0")
  1521. 司機運費_tb.Text = Strings.Format(CLng(司機運費_tb.Text), "#,##0") : 管銷費用_tb.Text = Strings.Format(CLng(管銷費用_tb.Text), "#,##0") : 預估利潤_tb.Text = Strings.Format(CLng(預估利潤_tb.Text), "#,##0")
  1522. 物料成本_tb.Text = Strings.Format(CLng(物料成本_tb.Text), "#,##0") : 其他成本_tb.Text = Strings.Format(CLng(其他成本_tb.Text), "#,##0") : 刷卡總和_tb.Text = Strings.Format(CLng(刷卡總和_tb.Text), "#,##0")
  1523. 刷卡稅金_tb.Text = Strings.Format(CLng(刷卡稅金_tb.Text), "#,##0") : 刷卡傭金_tb.Text = Strings.Format(CLng(刷卡傭金_tb.Text), "#,##0") : 稅金25_tb.Text = Strings.Format(CLng(稅金25_tb.Text), "#,##0")
  1524. End Sub
  1525. Private Sub 字體_NUD_ValueChanged(sender As Object, e As EventArgs) Handles 字體_NUD.ValueChanged
  1526. 銷售單據_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1527. 銷售明細_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1528. 銷售衍生運費_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1529. 區域庫存_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1530. 收款事項_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1531. 銷售備註_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1532. 物料清單_dgv.RowsDefaultCellStyle.Font = New Font("微軟正黑體", 字體_NUD.Value)
  1533. End Sub
  1534. Private Sub Reset1_bt_Click(sender As Object, e As EventArgs) Handles Reset1_bt.Click
  1535. Dim 不含1類銷售小記 As Integer : Dim 金額1 As Integer = 0 : Dim 無管物料 As Integer
  1536. 稅金另算有資料 = False
  1537. 售價小計_tb.Text = "0" : 稅金_tb.Text = "0" : 銷售合計_tb.Text = "0" : 收入小計_tb.Text = "0" : 支出小計_tb.Text = "0" : 額外收支_tb.Text = "0" : 物料成本_tb.Text = "0"
  1538. 司機運費_tb.Text = "0" : 管銷費用_tb.Text = "0" : 其他成本_tb.Text = "0" : 刷卡總和_tb.Text = "0" : 刷卡稅金_tb.Text = "0" : 刷卡傭金_tb.Text = "0"
  1539. If 稅金另算有資料 = False Then : 稅金25_tb.Text = "0" : End If
  1540. '-------001-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1541. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1542. If 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1543. 刷卡總和_tb.Text = CLng(刷卡總和_tb.Text) + 收款事項_dgv("金額", i).Value
  1544. End If
  1545. Next
  1546. 刷卡稅金_tb.Text = CInt(CLng(CLng(刷卡總和_tb.Text) * 0.05)) : 刷卡傭金_tb.Text = CInt(CLng(刷卡總和_tb.Text) * 0.02)
  1547. '-------002-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1548. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  1549. 銷售合計_tb.Text = CLng(銷售合計_tb.Text) + 銷售明細_dgv("售價", i).Value
  1550. 售價小計_tb.Text = CLng(售價小計_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value)
  1551. If 銷售明細_dgv("無管銷", i).Value = False Then
  1552. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  1553. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  1554. If IsDBNull(銷售明細_dgv("成本", i).Value) = True Then : 銷售明細_dgv("成本", i).Value = "0" : End If
  1555. 無管物料 = 無管物料 + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1556. End If
  1557. End If
  1558. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) <> "1001" Then
  1559. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  1560. If IsDBNull(銷售明細_dgv("成本", i).Value) = True Then : 銷售明細_dgv("成本", i).Value = "0" : End If
  1561. 物料成本_tb.Text = CLng(物料成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1562. 不含1類銷售小記 = 不含1類銷售小記 + 銷售明細_dgv("售價", i).Value
  1563. End If
  1564. If Strings.Left(銷售明細_dgv("料號", i).Value.ToString, 4) = "1001" Then
  1565. If IsDBNull(銷售明細_dgv("數量", i).Value) = True Then : 銷售明細_dgv("數量", i).Value = "0" : End If
  1566. If IsDBNull(銷售明細_dgv("成本", i).Value) = True Then : 銷售明細_dgv("成本", i).Value = "0" : End If
  1567. 其他成本_tb.Text = CLng(其他成本_tb.Text) + (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("成本", i).Value)
  1568. '不含1類銷售小記 = 不含1類銷售小記 - 銷售明細_dgv("成本", i).Value
  1569. End If
  1570. If 銷售明細_dgv("含稅", i).Value = True Then
  1571. 稅金_tb.Text = CLng(稅金_tb.Text) + ((銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value * 1.05) - (銷售明細_dgv("數量", i).Value * 銷售明細_dgv("單價", i).Value))
  1572. End If
  1573. Next
  1574. 管銷費用_tb.Text = 無管物料 * 1.06 - 無管物料
  1575. 銷售合計_tb.Text = CLng(售價小計_tb.Text) + CLng(稅金_tb.Text)
  1576. If CLng(稅金_tb.Text) = 0 And CLng(刷卡稅金_tb.Text) = 0 Then
  1577. 通知_lb.Text = "無稅金"
  1578. ElseIf CLng(稅金_tb.Text) = 0 And CLng(刷卡稅金_tb.Text) <> 0 Then
  1579. 通知_lb.Text = "因清單中沒有打勾含稅,但有刷卡帶入的稅金,所以稅金以刷卡稅金為主"
  1580. 稅金_tb.Text = CLng(刷卡總和_tb.Text) / 21 : 售價小計_tb.Text = CLng(銷售合計_tb.Text) - CLng(稅金_tb.Text) : 售價小計_tb.Text = CLng(銷售合計_tb.Text) - CLng(稅金_tb.Text)
  1581. ElseIf (CLng(稅金_tb.Text) <> 0 Or CLng(刷卡稅金_tb.Text) <> 0) And CLng(稅金_tb.Text) > CLng(刷卡稅金_tb.Text) Then
  1582. 通知_lb.Text = "因售價稅金大於刷卡稅金,計算正常,利潤中扣除刷卡傭金"
  1583. ElseIf (CLng(稅金_tb.Text) <> 0 Or CLng(刷卡稅金_tb.Text) <> 0) And CLng(稅金_tb.Text) < CLng(刷卡稅金_tb.Text) Then
  1584. 通知_lb.Text = "刷卡稅金大於自動計算後的稅金,邏輯有誤,請從新拆售價。"
  1585. End If
  1586. 稅金存檔 = CLng(稅金_tb.Text)
  1587. If 稅金另算有資料 = False Then
  1588. '稅金25_tb.Text = CLng(稅金_tb.Text) / 2
  1589. End If
  1590. '-------003-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1591. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  1592. 收入小計_tb.Text = CLng(收入小計_tb.Text) + 銷售備註_dgv("收入", i).Value
  1593. 支出小計_tb.Text = CLng(支出小計_tb.Text) + 銷售備註_dgv("支出", i).Value
  1594. Next
  1595. 額外收支_tb.Text = CLng(收入小計_tb.Text) - CLng(支出小計_tb.Text)
  1596. '-------004-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1597. Dim 金額 As Integer = 0
  1598. For i As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1599. If 收款事項_dgv("真項次", i).Value.ToString <> "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1600. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  1601. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString <> "未收餘額" Then
  1602. 金額 = 金額 + 收款事項_dgv("金額", i).Value
  1603. ElseIf 收款事項_dgv("真項次", i).Value.ToString = "0" And 收款事項_dgv("內容", i).Value.ToString = "未收餘額" Then
  1604. 收款事項_dgv("金額", i).Value = CInt(CLng(銷售合計_tb.Text)) - 金額
  1605. End If
  1606. Next
  1607. '-------005-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1608. If 送貨地點_cb.Text = "" Or 送貨地點_cb.Text = "自取" Or 最低運費_cb.Text = "" Or 最低售價_cb.Text = "" Then
  1609. 司機運費_tb.Text = "0"
  1610. Else
  1611. If 運費 = 0 Then
  1612. If (不含1類銷售小記 - CLng(其他成本_tb.Text)) <= CLng(最低售價_cb.Text) Then
  1613. 司機運費_tb.Text = 最低運費_cb.Text
  1614. ElseIf (不含1類銷售小記 - CLng(其他成本_tb.Text)) > CLng(最低售價_cb.Text) Then
  1615. 司機運費_tb.Text = (不含1類銷售小記 - CLng(稅金_tb.Text) - CLng(刷卡傭金_tb.Text) - CLng(其他成本_tb.Text)) / 100 * 3
  1616. End If
  1617. Else
  1618. 司機運費_tb.Text = 運費
  1619. End If
  1620. End If
  1621. '-------006-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1622. 預估利潤_tb.Text = CLng(售價小計_tb.Text) + CLng(額外收支_tb.Text) - CLng(其他成本_tb.Text) - CLng(物料成本_tb.Text) -
  1623. CLng(司機運費_tb.Text) - CLng(管銷費用_tb.Text) - CLng(刷卡傭金_tb.Text) + CLng(稅金25_tb.Text)
  1624. If 銷售衍生運費_dgv.Rows.Count > 0 Then
  1625. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  1626. 預估利潤_tb.Text = CLng(預估利潤_tb.Text) - 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  1627. Next
  1628. End If
  1629. '-------007-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1630. 售價小計_tb.Text = Strings.Format(CLng(售價小計_tb.Text), "#,##0") : 稅金_tb.Text = Strings.Format(CLng(稅金_tb.Text), "#,##0") : 銷售合計_tb.Text = Strings.Format(CLng(銷售合計_tb.Text), "#,##0")
  1631. 收入小計_tb.Text = Strings.Format(CLng(收入小計_tb.Text), "#,##0") : 支出小計_tb.Text = Strings.Format(CLng(支出小計_tb.Text), "#,##0") : 額外收支_tb.Text = Strings.Format(CLng(額外收支_tb.Text), "#,##0")
  1632. 司機運費_tb.Text = Strings.Format(CLng(司機運費_tb.Text), "#,##0") : 管銷費用_tb.Text = Strings.Format(CLng(管銷費用_tb.Text), "#,##0") : 預估利潤_tb.Text = Strings.Format(CLng(預估利潤_tb.Text), "#,##0")
  1633. 物料成本_tb.Text = Strings.Format(CLng(物料成本_tb.Text), "#,##0") : 其他成本_tb.Text = Strings.Format(CLng(其他成本_tb.Text), "#,##0") : 刷卡總和_tb.Text = Strings.Format(CLng(刷卡總和_tb.Text), "#,##0")
  1634. 刷卡稅金_tb.Text = Strings.Format(CLng(刷卡稅金_tb.Text), "#,##0") : 刷卡傭金_tb.Text = Strings.Format(CLng(刷卡傭金_tb.Text), "#,##0") : 稅金25_tb.Text = Strings.Format(CLng(稅金25_tb.Text), "#,##0.0")
  1635. End Sub
  1636. Private Sub 司機運費_tb_TextChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles 司機運費_tb.KeyPress
  1637. If e.KeyChar = Chr(13) Then
  1638. 運費 = 司機運費_tb.Text
  1639. 存檔1() : Set_合記計算()
  1640. End If
  1641. End Sub
  1642. Private Sub 已審核資料_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 已審核資料_ch.CheckedChanged
  1643. Set_清單1()
  1644. End Sub
  1645. Private Sub 隱藏_bt_Click(sender As Object, e As EventArgs) Handles 隱藏_bt.Click
  1646. 顯示_bt.Enabled = True : 隱藏_bt.Enabled = False
  1647. Panel2.Visible = False
  1648. Panel3.Location = New Point(2, 2)
  1649. NU1 = Panel3.Size.Width
  1650. NU2 = Panel3.Size.Height
  1651. NU1 = Panel3.Size.Width + 548
  1652. Panel3.Size = New Size(NU1, NU2)
  1653. End Sub
  1654. Private Sub 查_bt_Click(sender As Object, e As EventArgs) Handles 查_bt.Click
  1655. If 銷售單據_dgv.Rows.Count > 2999 Then
  1656. MsgBox("清單數量超過3000個,清通知系統管理員修改程式!!")
  1657. Else
  1658. For I As Integer = 0 To 3000 : PPBB(I) = "" : Next
  1659. For I As Integer = 0 To 銷售單據_dgv.Rows.Count - 1
  1660. PPBB(I) = 銷售單據_dgv("單號", I).Value.ToString : NN1 = I
  1661. Next
  1662. 下拉清單_1.ShowDialog()
  1663. For I As Integer = 0 To 銷售單據_dgv.Rows.Count - 1
  1664. If PPAA = 銷售單據_dgv("單號", I).Value.ToString Then
  1665. 選取位置 = I : Exit For
  1666. End If
  1667. Next : 銷售單據_讀取()
  1668. End If
  1669. End Sub
  1670. Private Sub 顯示_bt_Click(sender As Object, e As EventArgs) Handles 顯示_bt.Click
  1671. 顯示_bt.Enabled = False : 隱藏_bt.Enabled = True
  1672. Panel2.Visible = True
  1673. Panel3.Location = New Point(551, 2)
  1674. NU1 = Panel3.Size.Width
  1675. NU2 = Panel3.Size.Height
  1676. NU1 = Panel3.Size.Width - 548
  1677. Panel3.Size = New Size(NU1, NU2)
  1678. End Sub
  1679. Private Sub Panel3_Size(sender As Object, e As EventArgs) Handles Panel3.SizeChanged
  1680. If Panel3.Size.Width > 914 Then
  1681. 物料圖1_pb.Visible = True : 物料圖1_pb.Size = New Size(300, 167)
  1682. Else
  1683. 物料圖1_pb.Visible = False
  1684. End If
  1685. End Sub
  1686. Private Sub 新增衍生運費_bt_Click(sender As Object, e As EventArgs) Handles 新增衍生運費_bt.Click
  1687. If 流水號_tb.Text = "" Then
  1688. MsgBox("沒有銷售單號,無法作業。")
  1689. Else
  1690. If 客戶編號_tb.Text = "" Then
  1691. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1692. Else
  1693. PA = 單號_tb.Text
  1694. SQL_銷售衍生運費_最後一筆資料()
  1695. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 9)) : Else : EDR = 0 : End If
  1696. conn.Close() : EDR += 1
  1697. If EDR < 10 Then : ESTR = "SE" & "00000000" & EDR
  1698. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "SE" & "0000000" & EDR
  1699. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "SE" & "000000" & EDR
  1700. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "SE" & "00000" & EDR
  1701. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "SE" & "0000" & EDR
  1702. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "SE" & "000" & EDR
  1703. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "SE" & "00" & EDR
  1704. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "SE" & "0" & EDR
  1705. ElseIf EDR > 99999999 Then : ESTR = "SE" & EDR : End If
  1706. PA1 = ESTR
  1707. SQL_銷售衍生運費_新增()
  1708. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  1709. 資料數 = 銷售衍生運費_dgv.Rows.Count : MyModule1.進度條()
  1710. PA10 = 銷售衍生運費_dgv.Rows(i).Cells("運費備註").Value : PA11 = 銷售衍生運費_dgv.Rows(i).Cells("資料流水號").Value
  1711. NU1 = 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  1712. SQL_銷售衍生運費_修改() : conn.Close()
  1713. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  1714. Set_清單7()
  1715. End If
  1716. End If
  1717. End Sub
  1718. Private Sub 刪除衍生運費_bt_Click(sender As Object, e As EventArgs) Handles 刪除衍生運費_bt.Click
  1719. If 流水號_tb.Text = "" Then
  1720. MsgBox("沒有銷售單號,無法作業。")
  1721. Else
  1722. If 客戶編號_tb.Text = "" Then
  1723. MsgBox("銷售單據要指定完客戶才可存檔,如你已手動輸入客戶資料請按一下 [客戶驗證] ,系統會自動判斷客戶資訊。")
  1724. Else
  1725. Dim aa1 As MsgBoxResult = MsgBox("你確定要刪除這筆資料?", MsgBoxStyle.OkCancel)
  1726. If aa1 = MsgBoxResult.Ok Then
  1727. PA = 運費資料流水號_tb.Text
  1728. SQL_銷售衍生費用_刪除() : Set_清單7()
  1729. End If
  1730. End If
  1731. End If
  1732. End Sub
  1733. Private Sub 列印_bt_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click
  1734. N1 = 0 : N2 = 0 : N3 = 0 : N4 = 0
  1735. xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application)
  1736. xlApp.Visible = True
  1737. xlApp.DisplayAlerts = True
  1738. xlApp.Application.WindowState = xlMaximized
  1739. xlBook = xlApp.Workbooks.Add
  1740. '--------------------------------------------------------------------------------------------------------------------
  1741. xlSheet = NewMethod(xlBook)
  1742. '--------------------------------
  1743. xlBook.Activate()
  1744. xlSheet.Activate()
  1745. '-------------------------------------------------------------
  1746. For a As Integer = 0 To 收款事項_dgv.Rows.Count - 1
  1747. If 收款事項_dgv("內容", a).Value.ToString = "未收餘額" Then '未收餘額
  1748. N2 = 收款事項_dgv("金額", a).Value
  1749. End If
  1750. '----------------------------------------------------------------------------------------------------判斷出貨
  1751. If 收款事項_dgv("金額", a).Value = "0" And 收款事項_dgv("內容", a).Value.ToString = "未收餘額" Then
  1752. 變數 = "Y"
  1753. ElseIf 收款事項_dgv("金額", a).Value <> 0 And 收款事項_dgv("內容", a).Value.ToString = "未收餘額" Then
  1754. 變數 = "N"
  1755. End If
  1756. Next
  1757. xlSheet.Cells(1, 6) = "送貨單成本估計" : xlSheet.Cells(1, 10) = "單號:" & 單號_tb.Text
  1758. xlSheet.Cells(3, 1) = "訂購日期:" : xlSheet.Cells(3, 2) = 開單日期_dtp.Value : xlSheet.Cells(3, 4) = "出貨日期" : xlSheet.Cells(3, 5) = 交貨日期_dtp.Value
  1759. xlSheet.Cells(3, 7) = "出貨時間:" : xlSheet.Cells(3, 9) = "原始編號:" & 單號_tb.Text : xlSheet.Cells(3, 12) = "出貨:"
  1760. xlSheet.Cells(3, 13) = 變數 : xlSheet.Cells(4, 1) = "客戶姓名:" : xlSheet.Cells(4, 2) = 客戶_tb.Text : xlSheet.Cells(4, 4) = "客戶地址:"
  1761. xlSheet.Cells(4, 5) = 住址_tb.Text : xlSheet.Cells(5, 1) = "客戶電話:" : xlSheet.Cells(5, 2) = "'" + 電話1_tb.Text : xlSheet.Cells(5, 4) = "訂金:"
  1762. xlSheet.Cells(5, 5) = "0" : xlSheet.Cells(5, 6) = "刷卡" : xlSheet.Cells(5, 7) = "0" : xlSheet.Cells(5, 8) = "支票:"
  1763. xlSheet.Cells(5, 9) = "0" : xlSheet.Cells(5, 10) = "現金:" : xlSheet.Cells(5, 11) = "0" : xlSheet.Cells(5, 12) = "傭金:"
  1764. xlSheet.Cells(5, 13) = "0" : xlSheet.Cells(6, 1) = "業務員:" : xlSheet.Cells(6, 2) = 業務_cb.Text : xlSheet.Cells(6, 4) = "稅金:"
  1765. xlSheet.Cells(6, 5) = CInt(稅金_tb.Text) : xlSheet.Cells(6, 6) = "手續:" : xlSheet.Cells(6, 7) = 刷卡傭金_tb.Text : xlSheet.Cells(6, 8) = "總額:"
  1766. xlSheet.Cells(6, 9) = 銷售合計_tb.Text : xlSheet.Cells(6, 10) = "餘額:" : xlSheet.Cells(6, 11) = N2 : xlSheet.Cells(8, 2) = "品號"
  1767. xlSheet.Cells(8, 5) = "品名規格" : xlSheet.Cells(8, 8) = "數量" : xlSheet.Cells(8, 9) = "單價" : xlSheet.Cells(8, 11) = "金額" : xlSheet.Cells(8, 12) = "含管銷"
  1768. xlSheet.Cells(8, 13) = "成本價" : xlSheet.Cells(8, 14) = "廠商名稱"
  1769. If CInt(稅金25_tb.Text) = 0 Then : Else : xlSheet.Cells(7, 4) = "稅金2.5%:" : xlSheet.Cells(7, 5) = CInt(稅金25_tb.Text) : End If
  1770. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  1771. xlSheet.Cells(i + 9, 1) = 銷售明細_dgv.Rows(i).Cells("料號").Value
  1772. xlSheet.Cells(i + 9, 3) = 銷售明細_dgv.Rows(i).Cells("品名").Value & " " & 銷售明細_dgv.Rows(i).Cells("備註").Value
  1773. xlSheet.Cells(i + 9, 8) = 銷售明細_dgv.Rows(i).Cells("數量").Value : xlSheet.Cells(i + 9, 9) = 銷售明細_dgv.Rows(i).Cells("單價").Value
  1774. xlSheet.Cells(i + 9, 11) = 銷售明細_dgv.Rows(i).Cells("售價").Value : xlSheet.Cells(i + 9, 13) = 銷售明細_dgv.Rows(i).Cells("成本").Value * 銷售明細_dgv.Rows(i).Cells("數量").Value
  1775. xlSheet.Cells(i + 9, 12) = 銷售明細_dgv.Rows(i).Cells("成本").Value * 1.06 * 銷售明細_dgv.Rows(i).Cells("數量").Value
  1776. PA30 = Strings.Left(銷售明細_dgv.Rows(i).Cells("料號").Value.ToString, 4) : Set_料號轉簡稱() : xlSheet.Cells(i + 9, 14) = 轉換_tb.Text
  1777. With xlApp.Selection
  1778. .Font.Bold = True
  1779. End With
  1780. N1 = i + 9
  1781. Next
  1782. xlSheet.Cells(N1 + 3, 1) = "銷貨總額:" : xlSheet.Cells(N1 + 3, 2) = 銷售合計_tb.Text : xlSheet.Cells(N1 + 3, 4) = "成本:" : xlSheet.Cells(N1 + 3, 5) = 物料成本_tb.Text
  1783. xlSheet.Cells(N1 + 3, 7) = "運費:" : xlSheet.Cells(N1 + 3, 8) = 司機運費_tb.Text : xlSheet.Cells(N1 + 3, 9) = "管銷費用:" : xlSheet.Cells(N1 + 3, 10) = 管銷費用_tb.Text
  1784. xlSheet.Cells(N1 + 3, 13) = "毛利:" : xlSheet.Cells(N1 + 3, 14) = 預估利潤_tb.Text
  1785. xlSheet.Cells(N1 + 6, 1) = "項次" : xlSheet.Cells(N1 + 6, 2) = "備註" : xlSheet.Cells(N1 + 6, 13) = "收入" : xlSheet.Cells(N1 + 6, 14) = "支出"
  1786. For i As Integer = 0 To 銷售備註_dgv.Rows.Count - 1
  1787. xlSheet.Cells(i + N1 + 7, 1) = 銷售備註_dgv.Rows(i).Cells("項次").Value : xlSheet.Cells(i + N1 + 7, 2) = 銷售備註_dgv.Rows(i).Cells("備註").Value
  1788. xlSheet.Cells(i + N1 + 7, 13) = 銷售備註_dgv.Rows(i).Cells("收入").Value : xlSheet.Cells(i + N1 + 7, 14) = 銷售備註_dgv.Rows(i).Cells("支出").Value
  1789. N3 = i + N1 + 7
  1790. Next
  1791. If N3 = 0 Then : N3 = N1 + 7 : End If
  1792. xlSheet.Cells(N3 + 2, 1) = "項次" : xlSheet.Cells(N3 + 2, 2) = "衍生運費備註" : xlSheet.Cells(N3 + 2, 14) = "支出"
  1793. For i As Integer = 0 To 銷售衍生運費_dgv.Rows.Count - 1
  1794. xlSheet.Cells(i + N3 + 3, 1) = 銷售衍生運費_dgv.Rows(i).Cells("項次").Value : xlSheet.Cells(i + N3 + 3, 2) = 銷售衍生運費_dgv.Rows(i).Cells("運費備註").Value
  1795. xlSheet.Cells(i + N3 + 3, 14) = 銷售衍生運費_dgv.Rows(i).Cells("支出").Value
  1796. N4 = i + N3 + 5
  1797. Next
  1798. If N4 = 0 Then : N4 = N3 + 5 : End If
  1799. BB(xlApp, xlSheet)
  1800. xlApp.Cells.Select()
  1801. xlApp.Application.WindowState = xlMinimized
  1802. MsgBox("列印完成")
  1803. End Sub
  1804. Private Shared Function NewMethod(xlBook As Microsoft.Office.Interop.Excel.Workbook) As Microsoft.Office.Interop.Excel.Worksheet
  1805. Return CType(xlBook.Worksheets.Add, Microsoft.Office.Interop.Excel.Worksheet)
  1806. End Function
  1807. Private Sub BB(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Microsoft.Office.Interop.Excel.Worksheet)
  1808. Dim aa As Integer
  1809. xlSheet.Cells.Select()
  1810. With myExcel.Selection.Font
  1811. .Name = "微軟正黑體" : .Size = 22 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  1812. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  1813. End With
  1814. '-------------------------------------------------------------------------------------------------------------------
  1815. myExcel.Selection.ColumnWidth = 12.5
  1816. xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 11
  1817. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 11
  1818. xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 11
  1819. xlSheet.Columns("F:F").Select : myExcel.Selection.ColumnWidth = 11
  1820. xlSheet.Columns("G:G").Select : myExcel.Selection.ColumnWidth = 10.75
  1821. xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = 10.88
  1822. xlSheet.Columns("K:K").Select : myExcel.Selection.ColumnWidth = 11
  1823. xlSheet.Columns("N:N").Select : myExcel.Selection.ColumnWidth = 30.63
  1824. xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 5
  1825. xlSheet.Columns("E:F").Select : myExcel.Selection.ColumnWidth = 10
  1826. xlSheet.Columns("L:L").Select : myExcel.Selection.ColumnWidth = 12.5
  1827. '---------調數字
  1828. xlSheet.Columns("I:I").Select : myExcel.Selection.NumberFormatLocal = "#,##0_ ;[紅色]-#,##0 "
  1829. xlSheet.Columns("K:K").Select : myExcel.Selection.NumberFormatLocal = "#,##0_ ;[紅色]-#,##0 "
  1830. xlSheet.Columns("L:L").Select : myExcel.Selection.NumberFormatLocal = "#,##0_ ;[紅色]-#,##0 "
  1831. xlSheet.Columns("M:M").Select : myExcel.Selection.NumberFormatLocal = "#,##0_ ;[紅色]-#,##0 "
  1832. '---------------------------------------------------------------------------------------------------------------------
  1833. xlSheet.Range("A8:N8").Select() '畫線
  1834. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
  1835. myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone : myExcel.Selection.Borders(xlEdgeLeft).LineStyle = xlNone
  1836. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1837. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlDouble : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThick : End With
  1838. myExcel.Selection.Borders(xlEdgeRight).LineStyle = xlNone : myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone
  1839. myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  1840. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent1 : .TintAndShade = 0.799981688894314
  1841. .PatternTintAndShade = 0
  1842. End With
  1843. xlSheet.Range("A" & N1 + 6 & ":N" & N1 + 6).Select() '畫線
  1844. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
  1845. myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone : myExcel.Selection.Borders(xlEdgeLeft).LineStyle = xlNone
  1846. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1847. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlDouble : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThick : End With
  1848. myExcel.Selection.Borders(xlEdgeRight).LineStyle = xlNone : myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone
  1849. myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  1850. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent1 : .TintAndShade = 0.799981688894314
  1851. .PatternTintAndShade = 0
  1852. End With
  1853. xlSheet.Range("A" & N3 + 2 & ":N" & N3 + 2).Select() '畫線
  1854. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
  1855. myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone : myExcel.Selection.Borders(xlEdgeLeft).LineStyle = xlNone
  1856. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1857. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlDouble : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThick : End With
  1858. myExcel.Selection.Borders(xlEdgeRight).LineStyle = xlNone : myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone
  1859. myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  1860. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent1 : .TintAndShade = 0.799981688894314
  1861. .PatternTintAndShade = 0
  1862. End With
  1863. '----------------------------------------------------------------------------------------------------------------------------------------------------------------
  1864. xlSheet.Range("F1:K1").Select() '固定的格式 調整文字靠左、合併儲存格
  1865. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 26 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  1866. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  1867. xlSheet.Range("F1:I1").Select()
  1868. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1869. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1870. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1871. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1872. xlSheet.Range("B3").Select()
  1873. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1874. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1875. xlSheet.Range("B3:C3").Select()
  1876. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1877. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1878. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1879. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1880. xlSheet.Range("B4:C4").Select()
  1881. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1882. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1883. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1884. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1885. xlSheet.Range("B5:C5").Select()
  1886. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1887. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1888. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1889. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1890. xlSheet.Range("B6:C6").Select()
  1891. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1892. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1893. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1894. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1895. xlSheet.Range("E3:F3").Select()
  1896. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1897. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1898. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1899. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1900. xlSheet.Range("E5").Select()
  1901. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1902. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1903. xlSheet.Range("E6").Select()
  1904. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1905. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1906. xlSheet.Range("G5").Select()
  1907. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1908. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1909. xlSheet.Range("G6").Select()
  1910. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1911. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1912. xlSheet.Range("I5").Select()
  1913. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1914. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1915. xlSheet.Range("I6").Select()
  1916. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1917. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1918. xlSheet.Range("K5").Select()
  1919. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1920. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1921. xlSheet.Range("K6").Select()
  1922. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1923. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1924. xlSheet.Range("M5").Select()
  1925. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1926. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1927. xlSheet.Range("E4:J4").Select() : myExcel.Selection.Merge : xlSheet.Range("A8:B8").Select() : myExcel.Selection.Merge
  1928. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1929. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1930. xlSheet.Range("C8:G8").Select() : myExcel.Selection.Merge
  1931. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1932. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1933. xlSheet.Range("H8").Select()
  1934. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1935. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1936. xlSheet.Range("I8").Select()
  1937. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1938. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1939. xlSheet.Range("K8").Select()
  1940. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1941. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1942. xlSheet.Range("M8").Select()
  1943. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1944. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1945. xlSheet.Range("N8").Select()
  1946. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1947. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1948. xlSheet.Range("L8").Select()
  1949. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1950. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1951. '---------------------------------------------------------------------------------------------------------------------------
  1952. For i As Integer = 0 To 銷售明細_dgv.Rows.Count - 1
  1953. xlSheet.Range("A" & i + 9 & ":B" & i + 9 & "").Select() '迴圈合併儲存格
  1954. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1955. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1956. myExcel.Selection.Merge : xlSheet.Range("C" & i + 9 & ":G" & i + 9 & "").Select()
  1957. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1958. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1959. myExcel.Selection.Merge : xlSheet.Range("N" & i + 9 & "").Select()
  1960. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1961. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1962. aa = i + 9
  1963. Next
  1964. '--------------------------------------畫底下的線-----------------------------------------------------------------------------------------------------------
  1965. xlSheet.Range("A" & aa + 3 & ":N" & aa + 3 & "").Select() : myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
  1966. myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone : myExcel.Selection.Borders(xlEdgeLeft).LineStyle = xlNone
  1967. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1968. myExcel.Selection.Borders(xlEdgeBottom).LineStyle = xlNone : myExcel.Selection.Borders(xlEdgeRight).LineStyle = xlNone
  1969. myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone : myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  1970. xlSheet.Range("A" & N4 & ":N" & N4 & "").Select() : myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
  1971. myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone : myExcel.Selection.Borders(xlEdgeLeft).LineStyle = xlNone
  1972. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1973. myExcel.Selection.Borders(xlEdgeBottom).LineStyle = xlNone : myExcel.Selection.Borders(xlEdgeRight).LineStyle = xlNone
  1974. myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone : myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  1975. xlSheet.Range("M" & aa + 3).Select()
  1976. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1977. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1978. xlSheet.Range("N" & aa + 3).Select()
  1979. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1980. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1981. xlSheet.Range("K" & aa + 3).Select()
  1982. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1983. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1984. xlSheet.Range("J" & aa + 3).Select()
  1985. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1986. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1987. xlSheet.Range("H" & aa + 3).Select()
  1988. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1989. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1990. xlSheet.Range("G" & aa + 3).Select()
  1991. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1992. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1993. xlSheet.Range("E" & aa + 3).Select()
  1994. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1995. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1996. xlSheet.Range("D" & aa + 3).Select()
  1997. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1998. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  1999. xlSheet.Range("B" & aa + 3).Select()
  2000. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  2001. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  2002. xlSheet.Range("A" & aa + 3).Select()
  2003. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  2004. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  2005. xlSheet.Columns("A:A").Select
  2006. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  2007. .ShrinkToFit = False : .ReadingOrder = xlContext : End With
  2008. xlSheet.Columns("N:N").Select : myExcel.Columns("N:N").EntireColumn.AutoFit
  2009. ''---------------------------------------格線取消-----------------------------------------------------------------------------------------------------------
  2010. myExcel.ActiveWindow.DisplayGridlines = False
  2011. '----------------------------------------列印規格-----------------------------------------------------------------------------------------------------------
  2012. xlSheet.Columns("A:N").Select
  2013. myExcel.Application.PrintCommunication = False : With myExcel.ActiveSheet.PageSetup : .PrintTitleRows = "" : .PrintTitleColumns = "" : End With
  2014. myExcel.Application.PrintCommunication = True : myExcel.ActiveSheet.PageSetup.PrintArea = "" : myExcel.Application.PrintCommunication = False
  2015. With myExcel.ActiveSheet.PageSetup : .LeftHeader = "" : .CenterHeader = "" : .RightHeader = "" : .LeftFooter = "" : .CenterFooter = "" : .RightFooter = ""
  2016. .LeftMargin = myExcel.Application.InchesToPoints(0.25) : .RightMargin = myExcel.Application.InchesToPoints(0.25) : .TopMargin = myExcel.Application.InchesToPoints(0.75)
  2017. .BottomMargin = myExcel.Application.InchesToPoints(0.75) : .HeaderMargin = myExcel.Application.InchesToPoints(0.3) : .FooterMargin = myExcel.Application.InchesToPoints(0.3)
  2018. .PrintHeadings = False : .PrintGridlines = False : .PrintQuality = 1200 : .CenterHorizontally = False : .CenterVertically = False : .Draft = False
  2019. .FirstPageNumber = xlAutomatic : .BlackAndWhite = False : .Zoom = False : .FitToPagesWide = 1 : .FitToPagesTall = False : .OddAndEvenPagesHeaderFooter = False
  2020. .DifferentFirstPageHeaderFooter = False : .ScaleWithDocHeaderFooter = True : .AlignMarginsHeaderFooter = True
  2021. .EvenPage.LeftHeader.Text = "" : .EvenPage.CenterHeader.Text = "" : .EvenPage.RightHeader.Text = "" : .EvenPage.LeftFooter.Text = "" : .EvenPage.CenterFooter.Text = ""
  2022. .EvenPage.RightFooter.Text = "" : .FirstPage.LeftHeader.Text = "" : .FirstPage.CenterHeader.Text = "" : .FirstPage.RightHeader.Text = "" : .FirstPage.LeftFooter.Text = ""
  2023. .FirstPage.CenterFooter.Text = "" : .FirstPage.RightFooter.Text = ""
  2024. End With
  2025. End Sub
  2026. End Class