DMX · REALTIME

Báo cáo realtime tự động

Tự lấy file từ dashboard 77 → tạo ảnh → đẩy lên kho. Nhân viên gõ /số trong LINE là có ảnh mới nhất. Chạy trên máy tính (giữ tab mở), hoặc trên điện thoại.

01

Cài Violentmonkey

Máy tính (Chrome / Edge / Cốc Cốc) — cách thường dùng: bấm nút dưới → Thêm vào Chrome → Thêm tiện ích.

Violentmonkey cho Chrome

Nếu chạy trên điện thoại: Chrome Android không cài được tiện ích, phải dùng Firefox → menu ⋮ → Tiện ích → tìm Violentmonkey → Thêm.

02

Cài 2 script

Bấm từng nút. Violentmonkey hiện trang xác nhận → chọn Cài đặt (Install). Cài xong bấm nút thứ hai.

Cài / Cập nhật A · Đẩy ảnh & dòng hàng Cài / Cập nhật B · Tự động (dashboard→ảnh→đẩy)

A tạo nút “Đẩy ảnh” trên realtimenv.html. B tự tải file từ ManagerDownload rồi nhờ A đẩy. Phải cài cả hai.

Cần cài thêm script Lấy số hằng ngày trước — nó tạo cấu hình cụm mà 2 script này dùng. Xem trang cài đầy đủ.

03

Đăng nhập một lần

Dùng Chrome như thường ngày thì đã đăng nhập sẵn — bỏ qua bước này. Chỉ khi cài trên trình duyệt khác (vd Firefox điện thoại) mới phải đăng nhập lại: đăng nhập dashboard 77, các trang MWG khác dùng chung phiên đó, tự vào được.

Không phải nhập mã cụm hay token gì — script tự nhận ra cụm của bạn từ chính trang MWG.

04

Chạy

Không phải bấm từng bước nữa — script tự làm cả chu kỳ: xuất excel cho mọi siêu thị trong cụm → sang baocao lấy số trong lúc chờ file → về ManagerDownload tải file → dựng ảnh → đẩy lên → trang thi đua chụp ảnh /số → về dashboard 77.

Thứ tự mới từ bản 0.50.0: trước đây script xuất file rồi ngồi chờ ở ManagerDownload 2,5–3 phút, xong mới sang baocao. Nay nó tranh thủ sang baocao lấy số trong lúc report 77 đang dựng file, nên mỗi cữ nhanh hơn khoảng 1 phút. Quan trọng hơn: ảnh realtime giờ ghép đổi mã bằng số baocao vừa lấy, không phải số của cữ trước (cũ ~20 phút) — đơn đổi mã hết cảnh lúc đúng lúc sai. Số baocao được giữ trong script, đẩy xong đơn mới đưa lên kho, để người đang xem trang không thấy số mới ghép với đơn cũ. Tab sẽ nhảy qua lại report 77 → baocao → ManagerDownload: đó là bình thường, đừng đóng. baocao hỏng hay treo thì script bỏ qua phần đó và vẫn đi tải file, ảnh doanh thu vẫn ra.
Bản 0.50.13 (26/10/2026) — chuẩn bị chuyển kho ảnh sang Cloudflare R2. Supabase đã về gói miễn phí (5 GB băng thông/tháng, tháng 10 dùng gần 17 GB). Mọi chỗ đọc/ghi ảnh và gói số nay đi qua một công tắc chung trong dmx-cluster-shared.js. Hiện vẫn lưu ở Supabase như cũ, dùng không có gì khác. Khi bật R2 chỉ cần sửa công tắc đó và bot LINE, không ai phải cài lại script.
"Không thấy nút Đẩy ảnh" / sieuthi.html báo "chưa có cấu hình cụm" — sửa ở 0.50.12 + Đẩy ảnh 2.11.2 (18/10/2026, cụm 1043). Mã cụm của các trang namkphong.github.io lưu riêng trong trình duyệt. Máy nào lỡ xoá dữ liệu duyệt web (hoặc đổi hồ sơ Chrome) là mất mã ở phía trang, dù script vẫn nhớ đúng cụm. Khi đó /tonghop vẫn trả số, nhưng ảnh realtime không đẩy được và sieuthi.html không gửi ảnh. Nay script Realtime tự ghi lại mã cụm cho trang khi thấy trang chưa có; nv.html và sieuthi.html cũng tự lấy lại mã cụm từ gói số. Nhật ký ghi "Trang chưa có mã cụm — đã ghi lại …". Không cần làm gì: script tự cập nhật ở cữ kế tiếp.
Report 77 đổi nút "Xuất excel" — sửa ở bản 0.50.11 (14/10/2026). Nút "Xuất excel ▾" giờ chỉ mở menu, phải chọn tiếp EXCEL (hoặc CSV) mới xuất thật. Bản cũ bấm nút rồi tưởng đã xuất: cả ngày 14/10 không có lượt xuất nào, bước tải lại lấy file cũ tối 13/10 trên cùng bảng "Lịch sử xuất Excel", vẫn đẩy ảnh và báo ✓. Ảnh realtime vì thế đứng ở số tối hôm trước. Nay script bấm nút rồi chọn EXCEL. Bước tải chỉ nhận file xuất sau lúc bấm; không có file mới thì nhật ký ghi "không có file nào xuất SAU lúc bấm … KHÔNG tải file cũ" (có Telegram thì báo luôn) và không đẩy ảnh cũ nữa. Không cần làm gì: script tự cập nhật ở cữ kế tiếp.
Cùng ngày file Excel cũng đổi tên cột: "Giá bán_1" (giá chưa VAT) thành "Giá bán_2", "CTKM_1" thành "CTKM". Trang realtime không thấy cột cũ nên báo "chưa phân tích được file". Đã sửa realtimenv.html, naplichsu.html và dashboard.html để nhận cả tên cũ lẫn tên mới. Số không đổi: so 1.883 dòng chung giữa file cũ và file mới, giá khớp 100%.
"Chrome đang kẹt phần đọc file" → TẮT HẲN Chrome rồi mở lại (02/10/2026). Tối 02/10 cả Chrome kẹt: đọc một mẩu dữ liệu 3 byte cũng không trả về, trên mọi trang (thử cả example.com). Hậu quả: tải file treo, rồi tải được thì trang realtime "chưa phân tích được file". Ổ đĩa vẫn trống, file report 77 không đổi, nên script không tự chữa được. Từ bản 0.50.10 gặp lỗi này nhật ký ghi thẳng "CHROME ĐANG KẸT phần đọc file… TẮT HẲN Chrome rồi mở lại" (có cài Telegram thì gửi cả cảnh báo). Tắt hẳn là đóng mọi cửa sổ Chrome; trên Windows có thể chuột phải biểu tượng Chrome dưới thanh tác vụ → Đóng mọi cửa sổ. Mở lại một tab dashboard 77 là chuỗi tự chạy tiếp.
Đứng mãi ở "Tải file 1/2…" — sửa ở bản 0.50.9 (02/10/2026). File đã xuất xong, bấm tay tải vẫn được, nhưng lệnh tải riêng của trình quản lý script không bao giờ trả về, mà bản cũ lại không đặt giới hạn thời gian nên chờ mãi. Link file không đổi (vẫn cdnv2.tgdd.vn). Nay script tải bằng cách thông thường của trình duyệt (đo được 432 KB trong 3,5 giây), mỗi file tối đa 90 giây. Hỏng mới thử lại bằng lệnh của trình quản lý script, cũng giới hạn 90 giây.
Chỉ mở MỘT tab dashboard 77 — bản 0.50.8 tự chặn chạy đôi (02/10/2026). Nhật ký cụm 14285 có mọi dòng hiện hai lần: hai tab dashboard 77 cùng nhặt một vòng, xuất 4 file thay vì 2 rồi chạy đôi mãi. Nay mỗi vòng ghi tab nào là chủ; tab khác thấy thì đứng ngoài, nhật ký ghi "⏸ Tab khác đang chạy vòng này — tab này đứng ngoài". Thấy dòng đó thì đóng bớt tab thừa cho gọn. Tab chủ lỡ bị đóng thì sau 15 phút tab còn lại tự nhận thay.
Sang tháng mới: chương trình thi đua đổi tên (02/10/2026). Trang Realtime thi đua chia ngành theo bảng quy tắc phan-tich/bang-gan-<tháng>.json, ghép theo đúng nguyên văn tên chương trình. Tháng 10 mọi tên đổi sang "T10 - …" nên ngày đầu tháng realtime chỉ còn vài ngành. Bảng tháng 10 đã đổi tên và thêm chương trình mới (Hút bụi, Audio, Máy sấy & rửa chén, Tivi…). Chương trình chưa dò ra quy tắc (Phụ kiện IT - nhóm khác, Panasonic) vẫn hiện "Chưa dò ra quy tắc gán", lịch dò hằng ngày sẽ bổ sung dần.
Sáng không có số thi đua — sửa ở bản 0.50.7 (29/09/2026). Từ 0.50.0 số thi đua lấy xong được giữ lại, chờ đẩy xong file đơn mới đưa lên. Nhưng có hai chỗ làm số đó mất oan:
  1. Ở trang dựng ảnh realtime, một file lỗi là chuỗi đứng luôn ở đó: không làm file kế, không đẩy số thi đua, không về dashboard 77, nên hẹn giờ không nổ lại. Nay bỏ file lỗi làm file kế (tối đa 3 lần một vòng). Hết file thì vẫn đẩy số thi đua đang giữ rồi về dashboard 77.
  2. Số giữ quá 30 phút là bị bỏ. Report 77 chậm thì chờ file đã tới 18 phút, cộng thêm lúc tab ngủ là quá hạn. Nay nới lên 45 phút.
"Cữ này không có số baocao" nhiều hơn mấy hôm nay — bản 0.50.5 thử lại (29/09/2026). Kiểm lại baocao: API không đổi gì, lúc rảnh mỗi lệnh chạy 1–2 giây. Lỗi là máy chủ baocao quá tải từng đợt (502/504). Bản cũ gặp một lỗi 502 là bỏ luôn phần số thi đua của vòng đó. Nay gặp lỗi máy chủ, mất mạng hoặc quá giờ thì thử lại, chờ 2 → 5 → 10 giây. Nhật ký ghi "⟳ … hỏng, thử lại sau N giây", thấy dòng này là bình thường. Lỗi hết phiên hay bị khoá quyền thì không thử lại, vẫn báo thẳng như trước.
Nhóm LINE "nhảy sang báo cáo siêu thị khác" — sửa ở Realtime 0.50.4 + Đẩy ảnh 2.11.1 (26/09/2026, cụm 15885). Trên report 77, bấm chọn 18 Cách Mạng Tháng 8 trong cây mà không ăn (nhật ký ghi "đang chọn: 0"). Report xuất theo lựa chọn cũ nên file "781" thực ra là số Phú Cường: hai file giống hệt nhau, đều đẩy vào Phú Cường, ảnh 781 đứng im từ 23/09. Bước đẩy ảnh lại nhận siêu thị bằng cách dò chữ trên ảnh, nên có lúc ảnh vào nhầm nhóm. Nay:
  1. Chọn không ăn thì script thử bấm lại. Vẫn không được thì bỏ siêu thị đó, ghi rõ "Bấm chọn trong cây mà KHÔNG chọn được (…)" kèm tình trạng ô, ví dụ ô bị khoá do tài khoản không có quyền. Không xuất nhầm file của siêu thị khác nữa.
  2. Bước đẩy ảnh nhận siêu thị theo mã đơn hàng trong file (5 số đầu là mã kho tạo), không dò chữ trên ảnh nữa.
  3. Cuối cữ, nếu một siêu thị được đẩy hai lần thì nhật ký ghi ⚠: có siêu thị không nhận được số mới.
Chuỗi đứng ở baocao không có panel, không chạy tiếp — đã sửa ở bản 0.50.3 (25/09/2026). Lúc mở trang, script đọc cấu hình cụm từ Supabase. Trước đây chỉ cần một lần đọc lỗi (mạng chập, Supabase chậm) là nó chuyển sang nhận cụm qua mã nhân viên — mà baocao vẽ tên người dùng muộn nên cũng trượt — rồi bật hộp thoại cảnh báo. Tab chạy nền nên không ai thấy hộp thoại, script bị chặn đứng: trang baocao đứng im, không panel DMX Auto, không một dòng nhật ký. Nay:
  1. Đọc lỗi thì thử lại 3 lần, vẫn lỗi thì dùng bản sao cấu hình lưu trên máy.
  2. Đang giữa chuỗi thì không bao giờ bật hộp thoại: ghi dòng "✗ Không tải được cấu hình cụm" vào nhật ký, tải lại trang thử 2 lần, vẫn hỏng thì đi tiếp (ở bước baocao thì sang tải file, ảnh doanh thu vẫn ra).
  3. Mỗi lần đọc cấu hình có hạn 15 giây, mạng treo không làm script đứng im.
  4. Vào lại dashboard 77 giữa chu kỳ, script chờ ô ngày hiện ra (tối đa 20 giây) thay vì báo ngay "Chỉ thấy 0 ô ngày" rồi bỏ siêu thị đó.
Nhật ký có thêm dòng "⚠ Chrome đã cho tab này NGỦ N phút" khi máy ngủ hoặc tab bị cho ngủ quá 3 phút (gập máy, di chuyển…) — thấy dòng đó là biết chuỗi đứng vì máy, không phải vì script. Từ bản 0.50.6 dòng này chỉ ghi khi đang có chuỗi chạy (hoặc ở dashboard 77 có bật hẹn giờ). Tab baocao mở để xem tay mà ngủ thì không ghi nữa.
Từ bản 0.23.0: chu kỳ kết thúc ngay sau khi đẩy ảnh doanh thu từng siêu thị. Trang bi.thegioididong.com đã ngừng hoạt động nên bước cào Ô1/Ô2 bên BI đã được cắt bỏ — trước đó nó làm cả chu kỳ chết dở giữa chừng. Hệ quả: ảnh Realtime tổng cụm (rt_…) không còn được cập nhật; ảnh doanh thu từng siêu thị vẫn chạy bình thường vì lấy từ dashboard 77.
  1. Mở dashboard 77. Panel DMX Auto hiện dưới màn hình.
  2. Bật ⏰ Tự chạy mỗi 20 phút. Giữ nguyên tab đó, đừng đóng.
  3. Script tự chạy lại mỗi 20 phút trong khung 8–22h. Nhóm LINE gõ /số là có ảnh mới nhất.
  4. Cữ đã nới từ 10 lên 20 phút (từ bản 0.40.0). Report 77 mấy nay đổ chậm, mà cụm nhiều siêu thị thì mỗi cữ phải xuất nhiều file chứ không phải một — cữ 10 phút thường hết giờ chờ trước khi tải xong, rồi cữ sau lại đặt lệnh xuất đúng khoảng ngày đó lên một hệ thống vốn đã nghẽn. Thời gian chờ file cũng nới theo: 9 → 18 phút. Ảnh gửi nhóm LINE vì thế mới hơn tối đa 20 phút thay vì 10 — chậm hơn một chút nhưng ít lượt hỏng hơn nhiều.
  5. Không phải cữ nào cũng lấy cùng số ngày (từ bản 0.34.0). Cữ thường chỉ lấy 14 ngày cho nhanh; khoảng 3 tiếng một lần sẽ có một cữ quét sâu 30 ngày, nhật hai thứ mà cữ thường không thấy: đơn lên từ lâu nay mới xuất, và đơn cũ bị nhập trả. Nhật ký sẽ ghi rõ CỪ QUÉT SÂU ở những cữ đó, nên cữ đó lâu hơn bình thường là đúng, không phải treo.
  6. Report nghẽn thì công cụ tự nghỉ (từ bản 0.39.0). Thấy từ 4 lượt xuất chưa xong trên bảng là nghỉ 40 phút (hai cữ), không đặt thêm lệnh nào. Đặt thêm lúc đó chỉ làm hàng đợi dài ra và mọi lượt đều chậm hơn, kể cả lượt của người khác dùng chung report. Xuất được file trở lại là tự bỏ phanh. Nhật ký ghi "⛔ Bảng đang có N lượt xuất chưa xong — NGHỈ 40 phút".
  7. Cữ thường xuất lâu thì bỏ luôn, không giữ dấu để tải lại. Cữ sau xuất đúng 14 ngày y hệt nên tải lại chỉ tổ trùng. Chỉ cữ quét sâu 30 ngày và file nạp lịch sử (trọn tháng) mới được ghi dấu để phiên sau tải — hai thứ này thưa và không tự lặp lại, mất là mất luôn.
  8. Chuỗi không còn đứng im ở giữa đường (từ bản 0.38.0). Mọi ngõ cụt ở trang Report Manager nay đều tự quay về dashboard 77 — đứng lại đó là hẹn giờ tự chạy không bao giờ nổ nữa. Trang baocao.dienmayxanh cũng có chốt chặn 12 phút và mỗi lần gọi API có hạn 30 giây, nên một lần gọi treo không còn làm đứng cả chuỗi.
  9. Cữ quét sâu không còn làm nghẽ̃n chuỗi (từ bản 0.37.0). Report đổ 30 ngày xuất rất lâu; trước đây công cụ ngồi chờ rồi bỏ cuộc, mất trắng cả lượt. Nay chờ hết giờ chờ là ghi dấu rồi thả ra, để cữ sau chạy tiếp bình thường; phiên sau quay lại thấy file đã xuất xong thì tự tải. Nhật ký sẽ ghi "Không chờ nữa — đã ghi dấu N file, phiên sau tự tải" rồi sau đó "File để lại phiên trước ĐÃ XONG". Thấy hai dòng đó là đúng, không phải lỗi.
  10. Hỏng ở bước thi đua nay ghi lại được (từ bản 0.45.0). Bước này chạy trên máy của từng cụm, nhật ký chỉ hiện trên panel của họ — mỗi lần hỏng phải nhờ chụp màn hình mới biết lý do, trong khi nó lặp lại mỗi 20 phút. Nay hỏng thì công cụ ghi một tệp nhỏ lên kho (bc/loi_thidua_cum<mã cụm>.json) gồm bước đang chạy, lý do và số bản công cụ; chạy được thì tự xoá dấu. Không ảnh hưởng gì tới ảnh hay số.
  11. "Không nhận được khu vực nào" = phiên baocao HẾT HẠN (sửa ở bản 0.44.0). Token vẫn còn trong máy nên công cụ tưởng đã đăng nhập, nhưng baocao từ chối (lỗi 401) — và bản cũ nuốt mọi mã lỗi thành "danh sách rỗng". Nay công cụ đọc mã lỗi: gặp 401 thì tự tải lại trang một lần; vẫn 401 thì dừng và báo thẳng "Phiên baocao hết hạn — cần ĐĂNG NHẬP LẠI". Các lỗi khác (403 bị khoá quyền, 404 API bị gỡ) cũng hiện nguyên văn lý do của baocao để biết mà xử lý.
  12. "Chưa đăng nhập baocao" phần lớn là báo nhầm (sửa ở bản 0.43.0). baocao là ứng dụng một trang: nó khôi phục phiên đăng nhập SAU khi trang khởi động xong. Công cụ đọc quá sớm nên thường xuyên báo chưa đăng nhập dù phiên vẫn còn — bấm refresh một cái là vào được. Nay công cụ tự chờ 20 giây, vẫn không thấy thì tự tải lại trang một lần (đúng thao tác bấm refresh) rồi chờ tiếp. Sau đó mà vẫn trống mới thật sự là hết phiên và cần đăng nhập lại.
  13. Bốn ô tổng không còn tự biến mất (sửa ở dmx-thu-baocao 0.32.0). Tệp số thi đua có HAI công cụ cùng ghi. Bản của công cụ thu số không có khối doanh thu hợp nhất, nên cứ bấm "Đẩy realtime" là 4 ô tổng của cụm đó trống trơn cho tới cữ tự chạy kế tiếp. Nay công cụ thu số đọc bản cũ trước và giữ nguyên những phần không phải của mình. Cập nhật CẢ HAI công cụ thì mới hết.
  14. Không còn nằm chết ở trang baocao (từ bản 0.42.0). Chuỗi ghé baocao.dienmayxanh.com một nhịp để lấy số thi đua. Trước đây nếu tới nơi mà việc đã mất (chốt chặn vừa nổ, hoặc cữ trước dọn việc) thì công cụ thoát ngay và tab nằm lại đó vĩnh viễn — hẹn giờ tự chạy sống trên dashboard 77 nên cả chuỗi chết im, không báo gì. Nay nó tự quay về sau 5 giây, kèm nút "Ở lại trang này" nếu bạn đang cần dùng trang đó.
    Bạn TỰ mở baocao (để chạy công cụ thu số) thì công cụ không đụng vào — nó chỉ tự quay về khi chính chuỗi đã đưa tab sang.
    Trang này cũng có nhịp báo còn sống: cứ 20 giây ghi một dòng "⏳ đang: … — x/12 phút". Nó gọi hàng trăm API nối đuôi nhau nên im lặng vài phút là bình thường — có dòng nhịp thì phân biệt được chậm với chết. Quá 12 phút thì tự bỏ dở và nói rõ kẹt ở bước nào.
  15. Gom lượt khách nhanh hơn nhiều (từ bản 0.41.0). Bước này gọi 14 tháng × 2 báo cáo cho mỗi siêu thị — cụm 5 kho là khoảng 160 lượt gọi nối đuôi nhau, nên nó ăn hết hạn 3 phút rồi bị cắt, mà cữ sau lại làm lại từ siêu thị đầu tiên: cụm to gom mãi không xong. Nay công cụ nhớ lại những tháng đã đóng (tháng đã qua thì số không đổi nữa), nên từ ngày thứ hai trở đi chỉ còn khoảng 50 lượt. Tháng nào máy đếm khách còn thiếu ngày thì KHÔNG nhớ, vẫn gọi lại mỗi lần — để khi MWG bù ngày là mình có ngay, không đóng băng số sai. Hạn gom nới 3 → 5 phút, và tiến độ nay tích luỹ qua các cữ chứ không mất. Nhật ký ghi "(dùng lại N tháng đã nhớ, gọi mới M tháng)" — lần đầu M lớn, những lần sau M gần bằng 0 là đúng.
  16. Tỷ lệ phục vụ thành công (từ bản 0.36.0): mỗi ngày một lần, chuỗi tự lấy lượt khách ra vào và lượt bill của 14 tháng gần nhất rồi đẩy lên kho. Thẻ hiện ở dashboard.html và sieuthi.html, so cùng kỳ tháng trước và năm trước. Máy đếm khách của siêu thị hay hỏng vài tháng — tháng nào thiếu ngày thì phần so sánh tự ẩn, ghi "chưa có số" chứ không hiện giảm 100%.
  17. Bổ sung dữ liệu CŨ (từ bản 0.35.0): mở naplichsu.html sẽ hiện bảng DMX · Nạp lịch sử. Nó tự đếm 12 tháng gần nhất xem siêu thị nào thiếu tháng nào, rồi tự vào report 77 xuất và nạp giúp — ưu tiên tháng trước, rồi cùng kỳ năm trước, rồi các tháng thiếu còn lại. Cần cho thẻ so sánh năm trước ở sieuthi.html và lịch sử ở dashboard.html. Chạy khá lâu vì mỗi tháng phải xuất lại cho từng siêu thị — cứ để yên tab đó.
  18. Một siêu thị lỗi không còn làm dừng cả cụm (Realtime tự động 0.49.0, tự cập nhật). Trước đây chỉ cần report 77 không tìm thấy một siêu thị trong cây là cả chuỗi dừng, mọi siêu thị trong cụm mất số realtime. Nay siêu thị đó bị bỏ qua, các siêu thị còn lại chạy tiếp. Tìm siêu thị trong cây theo mã là chính — report 77 hay viết tắt tên (vd "18 CMT8"), lệch tên thì vẫn chọn đúng và ghi lại tên thật. Nhật ký mỗi chu kỳ được gửi lên kho (nhatky_cum<mã>.json) để khi có lỗi thì xem được ngay, không phải nhờ chép nhật ký gửi qua.
  19. Tự cập nhật, không cần bấm tay nữa (từ các bản: Lấy số hằng ngày 0.39.0, Realtime tự động 0.48.0, Đẩy ảnh 2.10.0, Giờ công 1.9.0, Lấy số BI 2.15.0, Thẻ mục tiêu 1.1.0). Mỗi script giờ là một vỏ: mỗi lần trang mở, nó tự xem trên namkphong.github.io có bản mới không; có thì tải và chạy bản mới luôn — sửa lỗi xong là mọi máy, mọi cụm nhận ngay ở lần tải trang kế tiếp. Bên trong vỏ vẫn mang sẵn bản đầy đủ: mất mạng, trình duyệt chặn, hay bản mới tải về bị lỗi thì tự chạy bản mang sẵn, y như trước. Chỉ phải cập nhật tay một lần lên các bản trên (Violentmonkey cũng tự làm trong vòng một ngày). Muốn biết máy đang chạy bản nào: mở Console (F12) gõ __DMX_VO — ghi rõ số bản và "mạng" hay "mang sẵn", kèm lý do nếu phải dùng bản mang sẵn.
  20. Ba API baocao đã bị gỡ (Lấy số hằng ngày từ bản 0.38.0): lợi nhuận trực tiếp, tỷ lệ phục vụ, tỷ trọng trả góp trả lỗi 404 từ 19/09/2026 — MWG thay bằng API gộp cả khu vực, không còn số riêng từng siêu thị. Công cụ thôi gọi nên hết 6 dòng cảnh báo. Báo cáo không mất gì: tỷ trọng trả góp tự tính từ số quy đổi (đúng con số MWG), thẻ lợi nhuận vốn đã ẩn vì tài khoản Quản lý không có quyền. Bản này cũng sửa tên gói tổng hợp bị lặp chữ (goi_tong_cumcum…) khiến /tonghop không đọc được.
  21. Ghi doanh thu cho người được ĐỔI MÃ bán hàng (Realtime tự động từ bản 0.47.0). Report 77 chỉ có cột Người tạo: ai tạo đơn rồi đổi mã bán hàng sang người khác thì realtime trước đây vẫn ghi cho người tạo, trong khi baocao ghi cho người được đổi mã. Nay mỗi cữ công cụ lấy thêm số hôm nay theo người × ngành hàng từ baocao, rồi realtime.html quy từng đơn về đúng người (ghép đúng số tiền trong cùng ngành). Trang ghi một dòng "↪ N đơn đã ghi cho người được đổi mã". Ngành nào hai bên chốt số lệch giờ, ghép không khớp trọn vẹn thì tạm để theo người tạo và ghi rõ.
  22. Gói tổng hợp cho bot LINE (từ bản 0.36.0): mỗi lần thu số, công cụ đẩy thêm một tệp nhỏ goi_tong_cum<mã cụm>.json lên kho. Thẻ /tonghop của bot và trang tonghop.html đọc tệp này, nên số trên thẻ bằng đúng số sieuthi.html hiển thị. Chưa chạy bản 0.36.0 thì thẻ tạm lấy gói realtime và ghi rõ "MWG (realtime)"; không có gói nào thì rơi về tổng cộng nhân viên của nv.html — thiếu nhân viên hỗ trợ và nhân viên online, thẻ cũng nói rõ.
  23. Lấy hụt thì nói ra (từ bản 0.36.0): lợi nhuận trực tiếp, tỷ lệ phục vụ, tỷ trọng trả góp trước đây hỏng là im lặng, trang chỉ hiện "—" mà không ai biết vì sao. Nay mỗi cái hỏng đều thành một dòng cảnh báo kèm mã lỗi. Riêng tỷ trọng trả góp, nếu API hỏng thì sieuthi.html tự tính lấy từ trả góp quy đổi ÷ DTQĐ luỹ kế trong gói.
  24. Hàng bán trên 30 ngày mà bị trả thì không cữ nào đọc được — report không còn dòng đó nữa. Lúc đó baocao ghi số âm ở ngành tương ứng. Đó là chuyện bình thường của cách tính doanh thu = bán − trả, không phải lỗi công cụ.
  25. Muốn chạy ngay một lần thì bấm ▶ Chạy tất cả trong panel.
  26. Cụm nhiều siêu thị — xem số từng siêu thị trên trang: chuỗi chạy lần lượt và tải lại trang giữa hai siêu thị, nên xong xuôi trang chỉ còn số của siêu thị cuối. Mở realtimenv.html, panel DMX · Xem lại theo siêu thị có sẵn nút tên từng siêu thị — bấm là hiện số của siêu thị đó. Chỉ hiện trên trang, không đẩy ảnh lên LINE. Sang ngày mới thì bảng này tự mất vì số realtime chỉ có nghĩa trong ngày.

Nếu MWG đăng xuất giữa chừng, script dừng lại và gửi cảnh báo Telegram (nếu bạn đã cấu hình) — đăng nhập lại là nó chạy tiếp.

Khi có lỗi

Mọi bước đều in ra khung đen trong panel. Chụp khung đó là đủ để tìm nguyên nhân.

Không thấy “Tải file excel”Bảng chưa cập nhật. Bấm Làm mới bảng trong panel.
Chưa “Đã xuất xong”File còn đang xuất. Đợi thêm rồi bấm lại.
Không thấy nút Đẩy ảnhChưa cài script A, hoặc chưa tải lại trang. Tải lại realtimenv.html.
Trang chưa phân tích fileFile tải về lỗi/rỗng. Xuất lại rồi thử lại.
Chưa có cấu hình siêu thịPanel DMX Auto → ⚙ Đổi mã cụm → chọn đúng cụm của bạn trong danh sách.
Không gắn được siêu thị cho dòng hàng nàoCụm chưa có mã MWG. Mở Báo cáo giờ công → panel GC → Tự dò mã MWG.