This commit is contained in:
louiscklaw
2025-01-31 21:20:29 +08:00
parent 76adef672f
commit 9945ddbf10
285 changed files with 15896 additions and 0 deletions

1
kary_lai/draft3/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
**/~*

View File

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,8 @@
del ~*
del *.bas
@REM xlwings vba edit --file ./20241103_ws.xlsm
@REM 20241103_ws_slave
xlwings vba edit --file ./20241103_ws.xlsm

View File

@@ -0,0 +1 @@
rmdir *.bas

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,95 @@
Sub 重設表格()
Dim 目前編號 As Integer
Sheets("訂單").Range("D5,D10:E16").ClearContents
目前編號 = Sheets("資料庫").Range("A1").CurrentRegion.End(xlDown).Value
Sheets("訂單").Range("G6").Value = 目前編號 + 1
Sheets("訂單").Range("G7").Value = Date
End Sub
Sub 儲存訂單()
Dim 品項數量 As Integer, 空白列 As Integer
品項數量 = WorksheetFunction.CountA(Sheets("訂單").Range("D10:D16"))
空白列 = Sheets("資料庫").Range("A1").CurrentRegion.End(xlDown).Offset(1, 0).Row
Sheets("訂單").Range("D10:G10").Resize(品項數量).Copy
Sheets("資料庫").Range("D" & 空白列).PasteSpecial xlPasteValues
Sheets("資料庫").Range("A" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("G6").Value
Sheets("資料庫").Range("B" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("G7").Value
Sheets("資料庫").Range("C" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("D5").Value
Call 重設表格
MsgBox "資料儲存完畢"
End Sub
Sub 查詢訂單()
Dim 訂單編號 As Integer, 訂單位置 As Integer, 品項數量 As Integer
訂單編號 = Sheets("訂單").Range("G6").Value
品項數量 = WorksheetFunction.CountIf(Sheets("資料庫").Range("A:A"), 訂單編號)
Sheets("訂單").Range("D5, D10:E16").ClearContents
If 品項數量 = 0 Then
MsgBox "查無此訂單"
Exit Sub
Else
訂單位置 = WorksheetFunction.Match(訂單編號, Sheets("資料庫").Range("A:A"), 0)
Sheets("資料庫").Range("D" & 訂單位置).Resize(品項數量, 2).Copy
Sheets("訂單").Range("D10").PasteSpecial xlPasteValues
Sheets("訂單").Range("G7").Value = Sheets("資料庫").Range("B" & 訂單位置).Value
Sheets("訂單").Range("D5").Value = Sheets("資料庫").Range("C" & 訂單位置).Value
End If
End Sub
Sub 列印訂單()
Dim 檔名 As String
檔名 = Format(Range("G6").Value, "00000")
Sheets("訂單").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="\\Mac\Home\Downloads\" & 檔名, _
IgnorePrintAreas:=False
End Sub

7
kary_lai/draft3/gitUpdate.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
git add .
git commit -m"update,"
git push

View File

@@ -0,0 +1,19 @@
# balance
modification for "quotation" list and make account for item quantity
- handle sell of item currently in stock
- handle sell of item not currently in stock (presell)
received +HKD250 (paid louis -- thank you)
---
V.O. -HKD100 (stock check-in modification, handle both stock list and samba list)
V.O. -HKD100 (stock list search modification, handle stock list as well)
received +HKD200 (paid louis -- thank you)
current outstanding :
HKD 0

View File

@@ -0,0 +1,97 @@
Attribute VB_Name = "Module1"
Sub <EFBFBD><EFBFBD><EFBFBD>]<EFBFBD><EFBFBD><EFBFBD><EFBFBD>()
Dim <EFBFBD>ثe<EFBFBD>s<EFBFBD><EFBFBD> As Integer
Sheets("<22>q<EFBFBD><71>").Range("D5,D10:E16").ClearContents
<EFBFBD>ثe<EFBFBD>s<EFBFBD><EFBFBD> = Sheets("<22><><EFBFBD>Ʈw").Range("A1").CurrentRegion.End(xlDown).Value
Sheets("<22>q<EFBFBD><71>").Range("G6").Value = <EFBFBD>ثe<EFBFBD>s<EFBFBD><EFBFBD> + 1
Sheets("<22>q<EFBFBD><71>").Range("G7").Value = Date
End Sub
Sub <EFBFBD>x<EFBFBD>s<EFBFBD>q<EFBFBD><EFBFBD>()
Attribute <EFBFBD>x<EFBFBD>s<EFBFBD>q<EFBFBD><EFBFBD>.VB_ProcData.VB_Invoke_Func = "q\n14"
Dim <EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>ƶq As Integer, <EFBFBD>ťզC As Integer
<EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>ƶq = WorksheetFunction.CountA(Sheets("<22>q<EFBFBD><71>").Range("D10:D16"))
<EFBFBD>ťզC = Sheets("<22><><EFBFBD>Ʈw").Range("A1").CurrentRegion.End(xlDown).Offset(1, 0).Row
Sheets("<22>q<EFBFBD><71>").Range("D10:G10").Resize(<EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>ƶq).Copy
Sheets("<22><><EFBFBD>Ʈw").Range("D" & <EFBFBD>ťզC).PasteSpecial xlPasteValues
Sheets("<22><><EFBFBD>Ʈw").Range("A" & <EFBFBD>ťզC).Resize(<EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>ƶq).Value = Sheets("<22>q<EFBFBD><71>").Range("G6").Value
Sheets("<22><><EFBFBD>Ʈw").Range("B" & <EFBFBD>ťզC).Resize(<EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>ƶq).Value = Sheets("<22>q<EFBFBD><71>").Range("G7").Value
Sheets("<22><><EFBFBD>Ʈw").Range("C" & <EFBFBD>ťզC).Resize(<EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>ƶq).Value = Sheets("<22>q<EFBFBD><71>").Range("D5").Value
Call <EFBFBD><EFBFBD><EFBFBD>]<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MsgBox "<22><><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD>"
End Sub
Sub <EFBFBD>d<EFBFBD>߭q<EFBFBD><EFBFBD>()
Dim <EFBFBD>q<EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><EFBFBD> As Integer, <EFBFBD>q<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m As Integer, <EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>ƶq As Integer
<EFBFBD>q<EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><EFBFBD> = Sheets("<22>q<EFBFBD><71>").Range("G6").Value
<EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>ƶq = WorksheetFunction.CountIf(Sheets("<22><><EFBFBD>Ʈw").Range("A:A"), <EFBFBD>q<EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><EFBFBD>)
Sheets("<22>q<EFBFBD><71>").Range("D5, D10:E16").ClearContents
If <EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>ƶq = 0 Then
MsgBox "<22>d<EFBFBD>L<EFBFBD><4C><EFBFBD>q<EFBFBD><71>"
Exit Sub
Else
<EFBFBD>q<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m = WorksheetFunction.Match(<EFBFBD>q<EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><EFBFBD>, Sheets("<22><><EFBFBD>Ʈw").Range("A:A"), 0)
Sheets("<22><><EFBFBD>Ʈw").Range("D" & <EFBFBD>q<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m).Resize(<EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>ƶq, 2).Copy
Sheets("<22>q<EFBFBD><71>").Range("D10").PasteSpecial xlPasteValues
Sheets("<22>q<EFBFBD><71>").Range("G7").Value = Sheets("<22><><EFBFBD>Ʈw").Range("B" & <EFBFBD>q<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m).Value
Sheets("<22>q<EFBFBD><71>").Range("D5").Value = Sheets("<22><><EFBFBD>Ʈw").Range("C" & <EFBFBD>q<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m).Value
End If
End Sub
Sub <EFBFBD>C<EFBFBD>L<EFBFBD>q<EFBFBD><EFBFBD>()
Dim <EFBFBD>ɦW As String
<EFBFBD>ɦW = Format(Range("G6").Value, "00000")
Sheets("<22>q<EFBFBD><71>").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="\\Mac\Home\Downloads\" & <EFBFBD>ɦW, _
IgnorePrintAreas:=False
End Sub

81
kary_lai/draft3/notes.md Normal file
View File

@@ -0,0 +1,81 @@
放完假未? 番左香港未? 開個 call 傾一傾?
唔介意的話, 我可以係 confirm requirement 之後24小時交個 excel 表出黎,不如傾傾先再做?
於我嚟計呢我就唔會話去掂人哋嘅 code 嘅,
當然如果我嘅 code 你發覺有問題我好歡迎你去搵返我
你見我一路以嚟呢無論係 copy image 或者好似
而家呢一個加 database lookup 個 stock 嘅 quantity 都好啦
我都係冇掂過佢原本嘅 code
咁呢一個做法亦都令到我可以保障到一樣嘢
就係話我冇郁過原先嘅 code佢本身行得到或者行唔到其實都唔關我事
咁樣可以好簡單又好清楚因為事實上我就冇掂過佢呀嘛
咁但係而家牽涉到個問題就係話我要掂佢哋嘅 code
要將佢由中文轉英文有三部分需要做
第一個就係 tabs, 第二就係個 code, 第三就係個 formula
呢三個部分都要由中文將佢轉去做英文,
咁對於好似你有中文office咁樣你去做呢係好簡單嘅一件事,
但係對於我呢我就好麻煩
其實如果你轉得到佢做英文畀我,
嗰度其實只需要加多個少少步驟我就可以將佢做得到,
嗰度我可以唔需要收你錢
1. 真係我改錯 code 我責無旁貸
2. 原先嘅 code 本身行得到或者行唔到其實都唔關我事
呢一樣野係之後每一次行唔到都要 validate 喎,個成本幾貴啊
你見我講咁大輪嘢, 其實我好有可能講得嚟都做左
但係點解都仲係堅持唔做嘅就係因為我唔想攞個名去賭咋嘛
嗱好簡單咁樣講一句
因為就算一個咁樣轉中文將佢轉做英文嘅動作
會令到我會修改人哋嘅曲
咁原本有啲可能係得嘅動作變咗做唔得
又或者係一啲唔得嘅動作keep住係唔得
都會入咗我數
咁所以立場上呢我係比較難去支持我去改呢啲曲嘅
喺我個世界度呢只會有 "再做過" 呢件事發生嘅啫
前提係呢啲曲根本就唔係我寫嘅
你講嗰樣嘢呢係可以發生嘅, 係月薪制嘅programmer呢就會做呢啲事
我唔係去說服你做任何嘅動作,
因為於我嚟計,
呢段code喺我前面就好似一個水氹,
但係事實上係咪一個水氹呢, 我唔知, 我亦都冇資源去估
佢可能真係一個水氹, 但係亦有可能係一個好似葫蘆形狀咁嘅水氹
若哥今次真係同你咁樣去改
之後個excel表有問題就會變咗我會有責任
當然我亦都歡迎你去問下我嘅, 但係唔會等於無啦啦要扶起個責任囉
1. 佢可以係真係因為我寫收據而會出咗問題
2. 唔關我嘅修改事去完先就係有問題
但係無論邊一個options都好啦, 都會用我嘅成本嚟去validate個問題囉
而唔似得而家咁樣因為我掂都冇掂過所以好清晰地個問題係一定唔關我事囉
過一個成本基本上我都冇得估底
所以我係極之建議你係自己改呀
因為立場上我唔可以咁樣你去做啫
我我希望你明白我意思啦
cat.mk2

View File

@@ -0,0 +1,95 @@
Sub 重設表格()
Dim 目前編號 As Integer
Sheets("訂單").Range("D5,D10:E16").ClearContents
目前編號 = Sheets("資料庫").Range("A1").CurrentRegion.End(xlDown).Value
Sheets("訂單").Range("G6").Value = 目前編號 + 1
Sheets("訂單").Range("G7").Value = Date
End Sub
Sub 儲存訂單()
Dim 品項數量 As Integer, 空白列 As Integer
品項數量 = WorksheetFunction.CountA(Sheets("訂單").Range("D10:D16"))
空白列 = Sheets("資料庫").Range("A1").CurrentRegion.End(xlDown).Offset(1, 0).Row
Sheets("訂單").Range("D10:G10").Resize(品項數量).Copy
Sheets("資料庫").Range("D" & 空白列).PasteSpecial xlPasteValues
Sheets("資料庫").Range("A" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("G6").Value
Sheets("資料庫").Range("B" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("G7").Value
Sheets("資料庫").Range("C" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("D5").Value
Call 重設表格
MsgBox "資料儲存完畢"
End Sub
Sub 查詢訂單()
Dim 訂單編號 As Integer, 訂單位置 As Integer, 品項數量 As Integer
訂單編號 = Sheets("訂單").Range("G6").Value
品項數量 = WorksheetFunction.CountIf(Sheets("資料庫").Range("A:A"), 訂單編號)
Sheets("訂單").Range("D5, D10:E16").ClearContents
If 品項數量 = 0 Then
MsgBox "查無此訂單"
Exit Sub
Else
訂單位置 = WorksheetFunction.Match(訂單編號, Sheets("資料庫").Range("A:A"), 0)
Sheets("資料庫").Range("D" & 訂單位置).Resize(品項數量, 2).Copy
Sheets("訂單").Range("D10").PasteSpecial xlPasteValues
Sheets("訂單").Range("G7").Value = Sheets("資料庫").Range("B" & 訂單位置).Value
Sheets("訂單").Range("D5").Value = Sheets("資料庫").Range("C" & 訂單位置).Value
End If
End Sub
Sub 列印訂單()
Dim 檔名 As String
檔名 = Format(Range("G6").Value, "00000")
Sheets("訂單").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="\\Mac\Home\Downloads\" & 檔名, _
IgnorePrintAreas:=False
End Sub

View File

@@ -0,0 +1,95 @@
Sub 重設表格()
Dim 目前編號 As Integer
Sheets("訂單").Range("D5,D10:E16").ClearContents
目前編號 = Sheets("資料庫").Range("A1").CurrentRegion.End(xlDown).Value
Sheets("訂單").Range("G6").Value = 目前編號 + 1
Sheets("訂單").Range("G7").Value = Date
End Sub
Sub 儲存訂單()
Dim 品項數量 As Integer, 空白列 As Integer
品項數量 = WorksheetFunction.CountA(Sheets("訂單").Range("D10:D16"))
空白列 = Sheets("資料庫").Range("A1").CurrentRegion.End(xlDown).Offset(1, 0).Row
Sheets("訂單").Range("D10:G10").Resize(品項數量).Copy
Sheets("資料庫").Range("D" & 空白列).PasteSpecial xlPasteValues
Sheets("資料庫").Range("A" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("G6").Value
Sheets("資料庫").Range("B" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("G7").Value
Sheets("資料庫").Range("C" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("D5").Value
Call 重設表格
MsgBox "資料儲存完畢"
End Sub
Sub 查詢訂單()
Dim 訂單編號 As Integer, 訂單位置 As Integer, 品項數量 As Integer
訂單編號 = Sheets("訂單").Range("G6").Value
品項數量 = WorksheetFunction.CountIf(Sheets("資料庫").Range("A:A"), 訂單編號)
Sheets("訂單").Range("D5, D10:E16").ClearContents
If 品項數量 = 0 Then
MsgBox "查無此訂單"
Exit Sub
Else
訂單位置 = WorksheetFunction.Match(訂單編號, Sheets("資料庫").Range("A:A"), 0)
Sheets("資料庫").Range("D" & 訂單位置).Resize(品項數量, 2).Copy
Sheets("訂單").Range("D10").PasteSpecial xlPasteValues
Sheets("訂單").Range("G7").Value = Sheets("資料庫").Range("B" & 訂單位置).Value
Sheets("訂單").Range("D5").Value = Sheets("資料庫").Range("C" & 訂單位置).Value
End If
End Sub
Sub 列印訂單()
Dim 檔名 As String
檔名 = Format(Range("G6").Value, "00000")
Sheets("訂單").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="\\Mac\Home\Downloads\" & 檔名, _
IgnorePrintAreas:=False
End Sub

BIN
kary_lai/draft3/plan/a7xmpQncHg.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/plan/add_to_stock.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/plan/ask.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,3 @@
npm install -g mdimg
mdimg -i draft_2024_11_08.md -o draft_2024_11_08.png -w 600 --css github

BIN
kary_lai/draft3/plan/decount_in_another_list.png (Stored with Git LFS) Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,104 @@
## 你有兩種賣嘅方式:
第一種就係你入貨,然之後擺喺你度你再買出去
第二種就係你 post 一個 item然之後集集埋埋啲客人要幾多件你再買貨
## 第一個賣法
咁我對住第一個問題
我會建議好似下面果幾張圖做法
總括嚟講即係話你入咗一個貨物嘅總數,你每買一件佢就喺個表度扣一件,扣到一個數目以下佢就開始會有個警告畀返你(或者唔比你出單,待定...)
![pic1.png](pic1.png)
![pic2.png](pic2.png)
![pic3.png](pic3.png)
## 第二種賣法
![ask.png](ask.png)
> 我可唔可以整多頁係 訂貨
> 因為我平時係比依個 list 供應商拎貨
> 我可唔可以整多頁係訂貨 list
> 之後可係依度自動計番個數量
咁第二種賣法,我諗我會咁建議
我另外開多一個新嘅欄,佢係會幫你計數咁樣計上去
就好似咁
![pic4.png](pic4.png)
咁最後就可以集集埋埋個數目同埋要買嘅物品向供應商攞貨.
OK ?
## VO
### 1. 訂貨單加 item
![alt text](add_to_stock.png)
加入貨掣,
按下去貨物數量會加番相對應 list 相對應 quantity
- Q: 如果搵唔到 item 我就 skip
---
### 2. 係 "庫存計算" 度加 column
![alt text](images/j2Zm8jibqk.png)
特點同 simba stock list 差唔多
記得 show 個 excel 表新 column
1. "庫存計算"
2. 加數量 column
3. 加 alert column
4. 加 counter column
邏輯呢同原先嗰個表相似嘅
## 出單扣數嘅流程
即係話個用戶會喺個excel表度撳 copy image 嗰個掣
- 如果嗰件貨物係有實貨喺度的話
- (即係數量唔係presell而係一個數目字)
- 咁佢就會睇一睇數目夠唔夠
- 佢會收返喺最左手邊嗰個欄目果度
- 如果夠的話?
- 佢就會畀你出單(即係copy image) -> 好似以前咁話畀你聽個image copy咗
- 如果唔夠的話?
- 佢就會佢就會擋住你 -> 會有條yes no question問你係咪依舊繼續要copy image
- 如果係presell
- 咁佢就會無事數量嗰一個column
- 直接喺後面counter嗰度加個數目上去
呢一個係一個出單扣數嘅流程
## 入貨流程
用戶喺入貨表嗰度揀咗相對應貨物
用戶再喺入貨表嗰度揀返相對應數量
然後用戶會撳入貨嗰粒掣
咁個 script 會
喺庫存計算, 同埋 simba 入數表度去搵番相對應嗰件貨物出嚟
搵到就加落去, 兩個表都搵唔到呢就skip咗佢
---
## ??? 要攪清楚
![alt text](images/n4kGIMRhUM.png)
![alt text](images/fbWSkywn2O.png)
> 想問埋 我加貨果到 我因為訂左 但未到我手 ~ 即係暫時未係現貨 未到 我可唔可以加到欄係 邊張單到左貨 禁個制 之後就會加到我宜家係手既貨到?
>
> 例如
> 我賣奶樽 個奶樽得2 個
> 我就要補貨 訂多2 個
> 個庫存+ 2 = total 4
> 但我怕係+ 左變左4 時 其實果個補貨係未到我手 我以為自己已經有4 個再去左當現貨賣

View File

@@ -0,0 +1,104 @@
## 你有兩種賣嘅方式:
第一種就係你入貨,然之後擺喺你度你再買出去
第二種就係你 post 一個 item然之後集集埋埋啲客人要幾多件你再買貨
## 第一個賣法
咁我對住第一個問題
我會建議好似下面果幾張圖做法
總括嚟講即係話你入咗一個貨物嘅總數,你每買一件佢就喺個表度扣一件,扣到一個數目以下佢就開始會有個警告畀返你(或者唔比你出單,待定...)
![pic1.png](pic1.png)
![pic2.png](pic2.png)
![pic3.png](pic3.png)
## 第二種賣法
![ask.png](ask.png)
> 我可唔可以整多頁係 訂貨
> 因為我平時係比依個 list 供應商拎貨
> 我可唔可以整多頁係訂貨 list
> 之後可係依度自動計番個數量
咁第二種賣法,我諗我會咁建議
我另外開多一個新嘅欄,佢係會幫你計數咁樣計上去
就好似咁
![pic4.png](pic4.png)
咁最後就可以集集埋埋個數目同埋要買嘅物品向供應商攞貨.
OK ?
## VO
### 1. 訂貨單加 item
![alt text](add_to_stock.png)
加入貨掣,
按下去貨物數量會加番相對應 list 相對應 quantity
- Q: 如果搵唔到 item 我就 skip
---
### 2. 係 "庫存計算" 度加 column
![alt text](images/j2Zm8jibqk.png)
特點同 simba stock list 差唔多
記得 show 個 excel 表新 column
1. "庫存計算"
2. 加數量 column
3. 加 alert column
4. 加 counter column
邏輯呢同原先嗰個表相似嘅
## 出單扣數嘅流程
即係話個用戶會喺個excel表度撳 copy image 嗰個掣
- 如果嗰件貨物係有實貨喺度的話
- (即係數量唔係presell而係一個數目字)
- 咁佢就會睇一睇數目夠唔夠
- 佢會收返喺最左手邊嗰個欄目果度
- 如果夠的話?
- 佢就會畀你出單(即係copy image) -> 好似以前咁話畀你聽個image copy咗
- 如果唔夠的話?
- 佢就會佢就會擋住你 -> 會有條yes no question問你係咪依舊繼續要copy image
- 如果係presell
- 咁佢就會無事數量嗰一個column
- 直接喺後面counter嗰度加個數目上去
呢一個係一個出單扣數嘅流程
## 入貨流程
用戶喺入貨表嗰度揀咗相對應貨物
用戶再喺入貨表嗰度揀返相對應數量
然後用戶會撳入貨嗰粒掣
咁個 script 會
喺庫存計算, 同埋 simba 入數表度去搵番相對應嗰件貨物出嚟
搵到就加落去, 兩個表都搵唔到呢就skip咗佢
---
## ??? 要攪清楚
![alt text](images/n4kGIMRhUM.png)
![alt text](images/fbWSkywn2O.png)
> 想問埋 我加貨果到 我因為訂左 但未到我手 ~ 即係暫時未係現貨 未到 我可唔可以加到欄係 邊張單到左貨 禁個制 之後就會加到我宜家係手既貨到?
>
> 例如
> 我賣奶樽 個奶樽得2 個
> 我就要補貨 訂多2 個
> 個庫存+ 2 = total 4
> 但我怕係+ 左變左4 時 其實果個補貨係未到我手 我以為自己已經有4 個再去左當現貨賣

View File

@@ -0,0 +1,133 @@
六粒掣,
重設
查詢
儲存
\\wsl.localhost\Ubuntu\home\logic\_wsl_workspace\comission-playlist\kary_lai\task2\from_client\2024_11_06\20241103.xlsm
## 1. 賣貨 (已有貨物 / 預售貨物) 改乜?
- 概念已清 (skip)
![pic2.png](pic2.png)
![pic3.png](pic3.png)
- 概念要夾
![alt text](images/QaSSOTNGwX.png)
---
1. copy image功能不變
2. 如果item數量唔夠就會蘇紅色
1. (顯示番虧空數量)
3. 如果item數量足夠就會蘇綠色
1. (顯示番數量)
4. 如果本身item喺張表度mark咗做presell就會show黃色
5. 如果個list嗰度有其中一個item數量唔足夠就會出呢個 msgbox, "Yes" 的話如果本身item數量足夠就會照扣item數量唔夠的話就會skip
6. 有一個位可以cancel
### 出單扣數嘅流程
即係話個用戶會喺個excel表度撳 copy image 嗰個掣
- 如果嗰件貨物係有實貨喺度的話
- (即係數量唔係presell而係一個數目字)
- 咁佢就會睇一睇數目夠唔夠
- 佢會 show 返喺最左手邊嗰個欄目果度
- 如果夠的話?
- 佢就會畀你出單(即係copy image) -> 好似以前咁話畀你聽個image copy咗
- 如果唔夠的話?
- 佢就會佢就會擋住你 -> 會有條yes no question問你係咪依舊繼續要copy image
- 如果係 presell
- 咁佢就會 "無視" 數量嗰一個column
- 直接喺後面counter嗰度加個數目上去
喱一個係一個出單扣數嘅流程
---
## 2. 訂貨表改乜 ?
### 1. 訂貨單加 item
![alt text](images/3PljUoKlOM.png)
加入貨掣,撳落去貨物數量會加番相對應 list 相對應 quantity
- 如果搵到 item 名就加
- 如果搵唔到 item 名就 skip
- 加 copy 掣
### 訂貨資料庫
每次加張單都會放返喺個資料庫入面
1. 跟番單號
2. item 名
3. 數量
4. 價格
5. 日期
6. 備註
7. 出貨狀態
![alt text](images/h8CpTUCyTb.png)
### 入貨流程
#### 用戶
1. 用戶喺入貨表嗰度揀咗相對應貨物
1. 用戶再喺入貨表嗰度揀返相對應數量
1. 然後用戶會撳入貨嗰粒掣
#### 咁個 script 就會
1. 喺庫存計算, 同埋 simba 入數表度去搵番相對應嗰件貨物出嚟
1. 搵到就加落去, 兩個表都搵唔到呢就skip咗佢
---
### 2. 係 "庫存計算" 度加 column
變左做商品果張 excel 表度做
![pic3.png](pic3.png)
![alt text](images/j2Zm8jibqk.png)
特點同 simba stock list 差唔多
記得 show 個 excel 表新 column 比人睇
1. "庫存計算"
2. 加數量 column
3. 加 alert column
4. 加 counter column
如果:
1. 數量係一個數字就係當已有貨物, 會喺數量度扣
1. 數量係 "presell" 就當係預售貨物, 會喺 COUNTER 度加
邏輯呢同原先嗰個表 (SIMBA入庫表) 相似嘅
---
## 3. 要攪清楚 ???
![alt text](images/n4kGIMRhUM.png)
![alt text](images/fbWSkywn2O.png)
> 想問埋 我加貨果到 我因為訂左 但未到我手 ~ 即係暫時未係現貨 未到 我可唔可以加到欄係 邊張單到左貨 禁個制 之後就會加到我宜家係手既貨到?
> 例如
> 我賣奶樽 個奶樽得2 個
> 我就要補貨 訂多2 個
> 個庫存+ 2 = total 4
> 但我怕係+ 左變左4 時 其實果個補貨係未到我手 我以為自己已經有4 個再去左當現貨賣
倉嘅數目可以比負數,負數代表賣左但係個倉係虧空

BIN
kary_lai/draft3/plan/draft_2024_11_08.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/plan/images/3PljUoKlOM.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/plan/images/QaSSOTNGwX.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/plan/images/fbWSkywn2O.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/plan/images/h8CpTUCyTb.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/plan/images/j2Zm8jibqk.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/plan/images/n4kGIMRhUM.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,95 @@
Sub ­«³]ªí®æ()
Dim ¥Ø«e½s¸¹ As Integer
Sheets("­q³æ").Range("D5,D10:E16").ClearContents
¥Ø«e½s¸¹ = Sheets("¸ê®Æ®w").Range("A1").CurrentRegion.End(xlDown).Value
Sheets("­q³æ").Range("G6").Value = ¥Ø«e½s¸¹ + 1
Sheets("­q³æ").Range("G7").Value = Date
End Sub
Sub Àx¦s­q³æ()
Dim «~¶µ¼Æ¶q As Integer, ªÅ¥Õ¦C As Integer
«~¶µ¼Æ¶q = WorksheetFunction.CountA(Sheets("­q³æ").Range("D10:D16"))
ªÅ¥Õ¦C = Sheets("¸ê®Æ®w").Range("A1").CurrentRegion.End(xlDown).Offset(1, 0).Row
Sheets("­q³æ").Range("D10:G10").Resize(«~¶µ¼Æ¶q).Copy
Sheets("¸ê®Æ®w").Range("D" & ªÅ¥Õ¦C).PasteSpecial xlPasteValues
Sheets("¸ê®Æ®w").Range("A" & ªÅ¥Õ¦C).Resize(«~¶µ¼Æ¶q).Value = Sheets("­q³æ").Range("G6").Value
Sheets("¸ê®Æ®w").Range("B" & ªÅ¥Õ¦C).Resize(«~¶µ¼Æ¶q).Value = Sheets("­q³æ").Range("G7").Value
Sheets("¸ê®Æ®w").Range("C" & ªÅ¥Õ¦C).Resize(«~¶µ¼Æ¶q).Value = Sheets("­q³æ").Range("D5").Value
Call ­«³]ªí®æ
MsgBox "¸ê®ÆÀx¦s§¹²¦"
End Sub
Sub ¬d¸ß­q³æ()
Dim ­q³æ½s¸¹ As Integer, ­q³æ¦ì¸m As Integer, «~¶µ¼Æ¶q As Integer
­q³æ½s¸¹ = Sheets("­q³æ").Range("G6").Value
«~¶µ¼Æ¶q = WorksheetFunction.CountIf(Sheets("¸ê®Æ®w").Range("A:A"), ­q³æ½s¸¹)
Sheets("­q³æ").Range("D5, D10:E16").ClearContents
If «~¶µ¼Æ¶q = 0 Then
MsgBox "¬dµL¦¹­q³æ"
Exit Sub
Else
­q³æ¦ì¸m = WorksheetFunction.Match(­q³æ½s¸¹, Sheets("¸ê®Æ®w").Range("A:A"), 0)
Sheets("¸ê®Æ®w").Range("D" & ­q³æ¦ì¸m).Resize(«~¶µ¼Æ¶q, 2).Copy
Sheets("­q³æ").Range("D10").PasteSpecial xlPasteValues
Sheets("­q³æ").Range("G7").Value = Sheets("¸ê®Æ®w").Range("B" & ­q³æ¦ì¸m).Value
Sheets("­q³æ").Range("D5").Value = Sheets("¸ê®Æ®w").Range("C" & ­q³æ¦ì¸m).Value
End If
End Sub
Sub ¦C¦L­q³æ()
Dim ÀɦW As String
ÀɦW = Format(Range("G6").Value, "00000")
Sheets("­q³æ").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="\\Mac\Home\Downloads\" & ÀɦW, _
IgnorePrintAreas:=False
End Sub

BIN
kary_lai/draft3/plan/pic1.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/plan/pic2.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/plan/pic3.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/plan/pic4.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

BIN
kary_lai/draft3/question/CzlSVLd97C.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/question/avPkwnZZk9.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/question/chinese_office_test.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
kary_lai/draft3/question/dEjnLiEwbO.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,3 @@
del ~*
del *.bas

View File

@@ -0,0 +1,8 @@
del ~*
del *.bas
@REM xlwings vba edit --file ./20241103_ws.xlsm
@REM 20241103_ws_slave
xlwings vba edit --file ./20241103_ws.xlsm

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
git add .
git commit -m"update src,"
git push

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
helloworld

Binary file not shown.

View File

@@ -0,0 +1,5 @@
rmdir *.bas
xlwings vba edit

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
git add *.xlsm
git commit -m"update,"
git push

Binary file not shown.

View File

@@ -0,0 +1 @@
add error handler

View File

@@ -0,0 +1,8 @@
del ~*
del *.bas
xlwings vba edit --file ./20241103_ws.xlsm
@REM 20241103_ws_slave
@REM xlwings vba edit --file ./20241103_ws_slave.xlsm

View File

@@ -0,0 +1,10 @@
@REM npx vbspretty ./BO_CopyImage.bas
@REM npx vbspretty ./CopyImage.bas
npx vbspretty ./BO_BuyOrderForm.bas
@REM npx vbspretty ./Config.bas
@REM npx vbspretty ./PL_ProductList.bas
@REM npx vbspretty ./POH_PurchaseOrderHistory.bas
@REM npx vbspretty ./SO_ProductQuantityCheck.bas
@REM npx vbspretty ./SO_SellOrderForm.bas
@REM npx vbspretty ./Test.bas

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
git add *.xlsm
git commit -m"update,"
git push

Some files were not shown because too many files have changed in this diff Show More