程式資訊
- 程式 ID:
VISIT - 所屬子系統:E.營業收款
- 狀態:stable
拜訪單(客戶拜訪記錄)¶
功能簡介¶
「拜訪單」用來登錄業務員每一次實際拜訪客戶的紀錄——何時去、去看誰、見了哪些受訪人員、談了什麼主旨與內容,以及交通上的里程數與過路費。它是業務日常活動的原始憑證,後續可透過內建的查詢報表彙整成日報表、週報表、里程數彙總、客戶彙總,供業務主管掌握團隊的客戶接觸狀況與交通成本。
使用者主要是業務員(登錄自己的拜訪)與業務主管(透過報表檢視全員拜訪)。在銷售流程中,它屬於銷售訂單模組的前端 CRM 環節,與客戶基本資料緊密相連:輸入受訪代號即自動帶出該客戶的簡稱、類別、經銷商與負責業務員。
前置需求¶
- 權限:E.銷售訂單 →
拜訪單(ProgramClassVISIT)的瀏覽/修改權限。 - 回報拜訪任務不需要額外權限:回報改在下方面板的 相關任務 分頁按
回報,不是工具列的延伸功能,因此VISIT權限的可否其他2不必開啟。(部署腳本仍把其他1說明=查詢設好,工具列的其他功能1用來開拜訪查詢報表。) - 待辦要看得到拜訪單內容需先部署:回報開出的待辦,其內容區要顯示拜訪單欄位,資料庫必須有
vwcommpr_visit檢視並在單據別設定登錄聯絡單view(部署腳本已含)。沒跑到這段的環境,待辦點開只有主旨、內容空白,但回報與跳轉功能不受影響。詳見待辦顯示的拜訪單內容。 - 報表的「主管」視野:權限的備註欄若含「主管」二字,查詢報表才能看到全部業務員的資料;否則系統一律只回傳「姓名=目前登入者」的拜訪紀錄(見欄位連動與附加功能)。
- 基礎資料:下列主檔需先維護,拜訪單才能正確帶值——
| 資料 | 影響什麼 |
|---|---|
| 客戶基本資料 | 受訪代號帶出客戶簡稱/客戶名稱/客戶類別/經銷商/負責業務員 |
| 業務員(員工)主檔 | 業務員編號帶出姓名與所屬部門代號 |
| 部門主檔 | 部門代號帶出部門簡稱 |
| 客戶類別代碼(C262)、經銷商代碼(C270) | 下拉選單的可選值與顯示文字 |
操作步驟¶
新增一張拜訪單¶
- 從主選單開啟 E.銷售訂單 → 拜訪單。
- 點工具列
新增。系統會自動把公司代碼設為1(見欄位連動與附加功能)。 - 填寫拜訪日期、拜訪主旨。
- 在受訪代號輸入客戶代號(或用放大鏡查詢),離開欄位後系統自動帶出客戶簡稱、客戶類別、經銷商,並把該客戶的負責業務員帶進業務員編號。
- 視需要調整業務員編號;輸入後自動帶出姓名與業部門代號/部門簡稱。
- 填寫受訪人員、起始時間/截止時間、里程數、過路費。
- 在下方拜訪內容與附件及備註輸入詳細紀錄(皆為可換行的多行文字)。
-
點
儲存。小技巧
可用 Ctrl+S 快速儲存。拜訪單號為系統自動產生、不可輸入。
修改/刪除¶
- 用工具列的上一筆/下一筆或查詢功能切換到要處理的拜訪單;切換後系統會自動重新整理客戶簡稱、業務員姓名、部門簡稱等顯示文字(見欄位連動與附加功能)。
- 直接修改欄位後
儲存,或點刪除移除整張單。
查詢報表(拜訪統計)¶
- 在拜訪單畫面按工具列的延伸功能
其他功能1,開啟拜訪查詢(Visit Query)視窗。 -
視窗內有四個頁籤,各自有獨立的查詢條件與
查詢按鈕:- Daily Report(日報表):依拜訪日期區間+業務員編號區間列出每一筆拜訪明細。
- Weekly Report(週報表):把區間內的拜訪依「週」分組,並把每天的拜訪內容填進週一~週日的對應欄,彙總里程數與過路費。
- Mileage Summary Report(里程數彙總):依年度+業務員編號區間,把每位業務員的里程數攤平成一月~十二月十二欄並加總。
- Customer Summary Report(客戶彙總):依日期區間+業務員編號區間,並可加上客戶類別/經銷商篩選,列出以客戶為主軸的拜訪明細。
-
設定條件後按
查詢,結果顯示在資料表格中。 -
各頁籤下方有
列印版面控制(PrintLayoutControl)可輸出報表;按離開關閉視窗。關閉後拜訪單主畫面會自動重新整理資料。報表查詢不會改資料
查詢視窗只做查詢與列印,
儲存按鈕在此情境等同關閉視窗(不會回寫資料庫)。日報表分頁可以直接排當天的行程
在拜訪日報表分頁勾選當天要跑的拜訪單後按
行程規劃,系統會排出路線、每站預計到達/離開、里程與過路費估算,最後可把里程與過路費回填到這些拜訪單。見拜訪行程規劃。(沒有拜訪單的帳套不會出現這顆鈕。)
查看「相關任務」分頁¶
主管可以用排程事件(專案)派「客戶拜訪」任務給業務員;業務員在拜訪單下方面板的 相關任務 分頁,就能看到自己身上有哪些拜訪任務、哪一筆已經回報過了。
- 開啟一張拜訪單,切到下方面板的 相關任務 分頁。
- 分頁會列出兩類任務:
- 這張拜訪單已經回報過的排程事件,狀態標示
已回報。 - 登入者名下尚未回報、單據別為
VISIT的任務;其中對象與本單受訪客戶相同的另外標示同客戶。
- 這張拜訪單已經回報過的排程事件,狀態標示
- 每一列最左邊有一顆
回報鈕,用來對該筆任務回報進度,見回報拜訪任務。 -
切換到另一張拜訪單時,分頁內容會自動重撈,不必手動重新整理。
欄位意義見「相關任務」分頁欄位。
回報拜訪任務¶
拜訪完成後,在 相關任務 分頁按該筆任務的 回報,把進度回寫到當初派給你的排程事件,並通知主管。
- 先把這次拜訪的拜訪單建好並
儲存。 -
確認畫面在瀏覽狀態(不是新增/修改中),切到下方面板的 相關任務 分頁。
編輯中或還沒存檔的新單不能回報
回報只能在瀏覽狀態、且已存檔的拜訪單上使用。在新增/修改狀態按下去,系統會提示你先存檔或離開編輯狀態。 -
在要回報的那一列按
回報,開啟事件進度回報視窗——這和右側行事曆面板的事件卡按報告是同一個視窗。 -
視窗內容系統已依這張拜訪單預先填好(見事件進度回報視窗欄位):
- 項目進度:
100。 - 內容:「已完成拜訪 客戶代號 客戶簡稱,詳見拜訪單 單號」。
- 通知人員:該事件所屬專案的負責人(通常就是派任務給你的主管)。
需要調整就直接改,例如只完成一半就把進度改成 50、或把通知人員換成別人。
完成鈕:一鍵把進度設成 100項目進度輸入框左邊有一顆
完成鈕,按下去進度直接變100,不必手打。進度達到 100 時,送出後事件會一併被標記完成。 - 項目進度:
-
視需要調整通知方式(預設
待辦事項)。選待辦事項 + Email時,系統會自動把通知人員的 email 帶進通知帳號;先填通知人員再改通知方式也一樣會帶。只走待辦時,通知帳號空白是正常的
通知帳號只有通知方式含 Email時才用得到。維持
待辦事項時帳號留空不影響回報,主管照樣收得到待辦。 -
按
通知送出。系統會做三件事:- 把項目進度與通知人員寫進該事件,並把事件標記完成。
- 替通知人員開一筆待辦事項。這筆待辦掛在這張拜訪單上——主管點待辦會直接開啟這張拜訪單,不必再去翻單號;待辦的內容區也會直接列出這張拜訪單的欄位(見待辦顯示的拜訪單內容)。
- 把這筆事件記成本張拜訪單的來源事件;回到 相關任務 分頁,該列狀態會變成
已回報。
不想送出就按
離開關閉視窗,什麼都不會寫入。中途失敗不會回退前面的步驟
上述三步是依序執行的。任一步失敗時系統會跳出提示;已完成的步驟不會被回退(例如待辦開失敗時,進度與完成狀態已經寫進事件了)。重新回報之前,請先到排程事件(專案)確認該事件目前的進度與完成狀態,避免重複寫入。
待辦顯示的拜訪單內容¶
主管(或任何被指定為通知人員的人)點開這筆待辦時,除了主旨,待辦的內容區會直接把這張拜訪單的欄位列出來,不必再開拜訪單就能看重點:
拜訪單號、拜訪日期、拜訪主旨、受訪代號、客戶簡稱、業務員編號/業務員姓名、業部門代號/部門簡稱、起始時間/截止時間、受訪人員、拜訪內容、附件及備註、里程數、過路費。
待辦點開只有主旨、內容一片空白?
這代表該資料庫還沒建立拜訪單的待辦檢視。內容區是依單據別去抓對應檢視的欄位,需要部署腳本建立 vwcommpr_visit 檢視並在單據別設定(_sheetno)登錄聯絡單view。請洽系統管理員執行 sql/visit-task-report-nogi-20260828.sql;回報流程本身不受影響(待辦照樣開得出來、點了照樣跳到拜訪單)。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 拜訪單號 | 自動 | 系統自動產生,唯讀,不可輸入 |
| 拜訪日期 | ✔ | yyyy/MM/dd;空白會擋存檔 |
| 拜訪主旨 | — | 文字(上限 80 字) |
| 受訪代號 | ✔ | 客戶代號;空白會擋存檔。輸入後連動帶出客戶資訊 |
| 客戶簡稱 | 帶出 | 由受訪代號帶出,唯讀 |
| 業務員編號 | ✔ | 空白會擋存檔。輸入後帶出姓名與部門 |
| 姓名 | 帶出 | 由業務員編號帶出,唯讀 |
| 業部門代號/部門簡稱 | 帶出 | 由業務員編號帶出 |
| 客戶類別 | 帶出/可選 | 下拉(代碼表 C262);輸入受訪代號時自動帶入 |
| 經銷商 | 帶出/可選 | 下拉(代碼表 C270);輸入受訪代號時自動帶入 |
| 受訪人員 | — | 多行文字(上限 999 字) |
| 起始時間/截止時間 | — | 時間格式(HH:mm) |
| 里程數(公里) | — | 數值,預設 0 |
| 過路費(元) | — | 數值,預設 0(程式內部屬性名為「過路費次數」) |
| 拜訪內容 | — | 多行文字(上限 999 字) |
| 附件及備註 | — | 多行文字(上限 999 字) |
| 公司代碼 | 自動 | 新增時自動設為 1;為 0 會擋存檔 |
查詢報表條件欄位¶
| 頁籤 | 條件 | 預設 |
|---|---|---|
| 日報表/週報表/客戶彙總 | Beginning Date~Ending Date | 起訖皆預設今天 |
| 日報表/週報表/里程數/客戶彙總 | Beginning~Ending SalesRep Code | 起=空、訖=zzzzz(涵蓋全部) |
| 里程數彙總 | Year | 預設今年 |
| 客戶彙總 | 客戶類別/經銷商 | 預設空白(不篩選) |
「相關任務」分頁欄位¶
| 欄位 | 說明 |
|---|---|
回報 |
按鈕;開啟事件進度回報視窗對該筆任務回報進度,見回報拜訪任務 |
| 狀態 | 已回報=這張拜訪單已經回報過該任務;同客戶=尚未回報、且對象與本單受訪客戶相同。其餘(空白)為登入者名下其他尚未回報的 VISIT 任務 |
| 預定時間 | 事件的預定時間 |
| 說明 | 事件的說明 |
| 任務類型 | 事件的任務類型(例:客戶拜訪) |
| 對象 | 事件對象反查後的名稱 |
| 進度 | 事件目前的進度 |
| 已完成 | 事件是否已標記完成 |
| 專案 | 事件所屬的排程事件專案 |
事件進度回報視窗欄位¶
視窗標題為事件進度回報,與右側行事曆面板事件卡的 報告 是同一個視窗;下表是從拜訪單的 回報 開啟時系統預先帶入的值。
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
完成 |
— | 按鈕,位於項目進度左邊;按下把項目進度一鍵設為 100 |
| 項目進度 | — | 數值,預設 100(=任務完成,送出時事件一併標記完成)。只完成一部分就自行改小 |
| 通知人員 | — | 員工代號;預設帶入該事件所屬專案的負責人。按 負責人 鈕可重新帶一次負責人 |
| 通知方式 | — | 下拉二選一,依序為 待辦事項/待辦事項 + Email(待辦事項 + Line 先隱藏,通道尚未提供);預設 待辦事項。選項與排程事件(專案)一致 |
| 通知帳號 | — | 選 待辦事項 + Email 時自動帶入通知人員的 email(先填人員再改方式也會帶),可手動修改。只走 待辦事項 時用不到,留空即可 |
| 內容 | — | 多行文字;預設「已完成拜訪 客戶代號 客戶簡稱,詳見拜訪單 單號」,可自行改寫 |
通知/離開 |
— | 按 通知 送出回報;按 離開 直接關閉視窗,不寫入任何資料 |
欄位連動與附加功能¶
這一節彙整「輸入某欄位/按某功能後系統會做什麼」,全部來自實際程式碼(VisitViewModel、Twork_ord_vw_visitSource、四支報表 VM 與 VisitSave)。
主畫面的欄位連動¶
-
輸入受訪代號:離開欄位後,系統用該代號去客戶主檔查資料並一次帶入多個欄位——
- 帶出客戶簡稱(
GetCustomerName)。 - 若查得到客戶,再帶出客戶名稱、客戶類別、經銷商。
- 並把該客戶設定的負責業務員編號帶進來,連帶觸發下一條的業務員連動。
一次輸入、整列帶齊
只要打對受訪代號,客戶相關欄位(簡稱、類別、經銷商)與負責業務員多半會自動填好,通常不必再手動選客戶類別或經銷商。
- 帶出客戶簡稱(
-
輸入業務員編號:離開欄位後,系統帶出該業務員的——
- 姓名(
GetSalesmenName)。 - 若查得到員工,帶出其部門代號並換算成部門簡稱。
- 姓名(
-
新增時的預設值(
AfterAddNew):按新增後,系統把公司代碼設為1。其餘數值欄(里程數、過路費)以 0 起始。 -
切換筆數時重新整理顯示(
AfterMoverRecord→RefreshDescription):每次移動到另一筆拜訪單,系統會依存檔的代號重新查出部門簡稱/客戶簡稱/業務員姓名,避免顯示舊客戶或舊業務員的名稱。
存檔檢核(VisitSave.AllowSave)¶
按 儲存 時,除了共用檢核外,下列四項任一不符就會擋下並提示「請輸入…」:
- 受訪代號不可空白。
- 公司代碼不可為 0。
- 業務員編號不可空白。
- 拜訪日期不可空白。
其他功能1:拜訪查詢報表(ExtendedFunction1)¶
工具列延伸功能 其他功能1 會開啟 Visit_q 視窗(四個報表頁籤)。視窗關閉後,主畫面會自動 Renew 重新載入目前的拜訪單。四個報表的計算邏輯如下:
-
共同的權限過濾:四個報表查詢時都會檢查
VISIT權限的備註——- 備註含「主管」→ 看得到條件內所有業務員的拜訪。
- 否則 → 自動加上「姓名=登入者名稱」,只看自己的拜訪。
-
日報表(
Visit_dailyViewModel):以拜訪日期 between 起訖、業務員編號 between 起訖為條件,直接列出原始拜訪明細(twork_ord_vw_visit_v檢視)。 -
週報表(
Visit_weeklyViewModel):先抓出區間內的拜訪,依年+週數分組(GetWeek,以星期日為週首)。每一週先放一列「週標題」列出該週週一~週日的日期;接著依「業務員+客戶類別」彙整,把每筆拜訪的內容(受訪代號 客戶簡稱 / 拜訪單號 / 拜訪主旨)填進對應的星期欄,並加總該組的里程數(TotalMileage)與過路費(TotalFee)。 -
里程數彙總(
Visit_mileageViewModel):以年度(拜訪日期前 4 碼)+業務員編號區間為條件,SQL 端依「業務員+姓名+月份」group by把里程數加總,再於 C# 端把每個月攤平成一月~十二月十二欄,並算出全年合計(TotalMileage)。 -
客戶彙總(
Visit_customerViewModel):以拜訪日期區間+業務員編號區間為條件,並可再加客戶類別、經銷商兩個篩選(留空=不篩),列出以客戶為主軸的拜訪明細。
「相關任務」分頁的 回報 鈕¶
- 回報入口在下方面板的分頁裡,不是工具列延伸功能——
VISIT的可否其他2不影響它,工具列上也不會有回報用的按鈕。 - 按
回報前系統會檢查畫面狀態:只在瀏覽狀態、已存檔的拜訪單上有作用,編輯中或未存檔會被提示擋下。 - 開啟的是共用的事件進度回報視窗(與行事曆事件卡的
報告同一支),差別在於從拜訪單開啟時會依本張單預填進度與內容,且送出後會把事件與這張拜訪單關聯起來。 - 回報成功後,該筆事件會被記進拜訪單的 來源事件id 欄位。這個欄位畫面上看不到,只供 相關任務分頁判斷哪些任務已回報。
尚未提供的功能
本表單目前沒有轉傳票、沖帳或附件上傳功能;「附件及備註」是一個純文字欄位,並非檔案夾帶。報表查詢視窗的 查詢 按鈕在母層 Visit_qViewModel 為空實作,實際查詢由各頁籤自己的 查詢 觸發。
回報拜訪任務已於 2026-08-28 提供;行事曆事件卡的 開單(從事件直接開拜訪單)仍未提供。
拜訪單也可以送簽了(2026-08-28)
拜訪單沒有維護流程樣板,但工作流程面板的樣板下拉一律附一項 自訂流程——拜訪單開啟時就只有這一項且預設選中,可以直接用右鍵 新增數筆 指定要通知/簽核的人後送出。前提是 VISIT 有開工作流程權限。操作見工作流程派送。
送簽後的進度看畫面下方面板的 工作流程 分頁(流程圖);回報產生的通知待辦不會畫進流程圖,改列在流程圖下方的 通知紀錄 清單。
常見問題¶
輸入受訪代號後,客戶簡稱/類別/經銷商沒帶出來?
這些值來自客戶基本資料。請確認該客戶代號確實存在、且資料完整。若客戶主檔查不到此代號,系統只會留下你打的代號,其餘欄位維持空白。
業務員姓名或部門簡稱是空的?
姓名由業務員編號帶出、部門簡稱再由該業務員的部門代號帶出。若員工主檔沒有這位業務員,或業務員沒設定部門,連動就帶不到值。切換到別筆再切回來會觸發重新整理(RefreshDescription)。
按儲存出現「請輸入…」存不了?
存檔會檢核四個必填項:受訪代號、公司代碼、業務員編號、拜訪日期。其中公司代碼是新增時自動帶 1 的;若你是用其他方式建立而公司代碼為 0,也會被擋。請補齊紅框欄位後再存。
報表只看得到自己的拜訪,看不到別人的?
這是權限設計。只有 VISIT 權限的備註欄含「主管」字樣時,報表才會放行查看全體業務員的資料;否則系統一律過濾成只顯示登入者本人的拜訪。請洽系統管理員調整權限備註。
里程數彙總某些月份是 0?
里程數彙總是把該年度有拜訪紀錄的月份里程加總後攤平到十二欄;沒有拜訪(或里程數為 0)的月份自然顯示 0。也請確認查詢的年度與業務員編號區間正確。
工具列上找不到回報用的按鈕?
回報入口不在工具列。請切到畫面下方面板的 相關任務 分頁,在要回報的那一列按 回報。(2026-08-28 改版前曾短暫放在工具列的延伸功能,現已移除;VISIT 權限的可否其他2不必再開啟。)
相關任務 分頁沒有列出任何任務?
分頁只收擁有者是你本人、單據別為 VISIT、且尚未回報的排程事件(外加這張單已回報的事件)。空白時請檢查:
- 主管建立的事件擁有者類別/代號是不是設成你(
個人+ 你的員工代號)。 - 事件的任務類型有沒有選(選了
客戶拜訪系統才會把單據別帶成VISIT)。 - 該專案是否已審核。
- 這些任務是不是都已經回報過了——已回報的會顯示在這張拜訪單的分頁上、狀態
已回報;回報在別張拜訪單的任務不會再出現。
按 回報 沒反應,或跳出提示要我先存檔?
回報只能在瀏覽狀態、已存檔的拜訪單上進行。若你正在新增或修改(畫面在編輯狀態),系統會提示先 儲存 或取消編輯;新開的、還沒存檔的單也不能回報,因為待辦要掛在拜訪單號上。存檔後回到瀏覽狀態,分頁會自動重撈,再按 回報 即可。
回報視窗的 通知帳號 是空的,可以按 通知 嗎?
可以。通知帳號只有通知方式含 Email時才會用到;維持預設的 待辦事項 時留空是正常的,主管照樣收得到待辦。若改選 待辦事項 + Email,系統會自動帶入通知人員的 email——帳號仍空白代表員工主檔沒維護該員工的 email,補齊後重選一次通知人員或通知方式即可帶入。
主管點開待辦,只看到主旨、內容一片空白?
待辦的內容區要靠 vwcommpr_visit 檢視與單據別設定的聯絡單view 登錄才顯示得出拜訪單欄位,請洽系統管理員確認部署腳本已執行,見待辦顯示的拜訪單內容。點待辦跳到拜訪單的功能不受影響。
里程數與過路費一定要自己打嗎?
可以由系統算。把當天的拜訪單建好之後,到拜訪查詢的拜訪日報表分頁勾選這些單、按 行程規劃,排完路線再按 回填里程過路費,系統就會把每一段(上一站到本站)的里程與過路費估算寫回各張拜訪單;已審核的單不會被覆蓋。詳見拜訪行程規劃。
過路費欄位為什麼程式裡叫「過路費次數」?
畫面標示為「過路費(元)」,但底層 Source 屬性名是 過路費次數,兩者是同一欄。週報表彙總時這個值會加總成 Total Fee。
相關功能¶
- 拜訪行程規劃(從拜訪查詢排當天路線,並把里程與過路費回填本單)
- 銷售訂單模組首頁
- 客戶基本資料
- 客戶資料維護(多筆)
- 出貨通知單
- 銷售訂單
- 排程事件(專案)(派拜訪任務的來源)
- 右側行事曆面板
- 主管資訊/EIS 報表
- 回到 欄位連動與附加功能
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/E-SalesOrder/images/):
visit-step1.png— 拜訪單主畫面(受訪代號/業務員連動帶值後的全貌)visit-step2.png— 新增並填妥一張拜訪單、含拜訪內容與附件及備註visit-step3.png— 拜訪查詢(Visit Query)視窗的四個報表頁籤visit-step4.png— 里程數彙總報表(一月~十二月攤平與合計)visit-relatedtask-tab.png— 下方面板 相關任務 分頁:第一欄回報鈕與已回報/同客戶兩種狀態的列(需先有派給登入者的VISIT任務才拍得到)visit-report-event-window.png— 從 相關任務 分頁按回報開啟的事件進度回報視窗:項目進度左邊的完成鈕、進度預填 100、內容預填「已完成拜訪 …,詳見拜訪單 …」、通知人員帶專案負責人、通知方式下拉展開(待辦事項 + Email/待辦事項 + Line/待辦事項三項順序),下方通知/離開兩鈕visit-report-task-todo.png— 主管收到的待辦事項:點該筆待辦直接開啟這張拜訪單visit-report-todo-content.png— 待辦事項的內容區顯示這張拜訪單的欄位(拜訪單號/拜訪日期/拜訪主旨/受訪代號/客戶簡稱/業務員/拜訪內容…;需先跑過部署腳本建立vwcommpr_visit)