Lin

@Lin301046

Joined on Jan 3, 2021

  • PS: 所有操作都在 ~ 路徑下 選用 Ubuntu 20.04 LTS (預設 Python版本為 3.8.10) 執行金鑰一定要選,不然會連不進去 安全群組的傳入傳出, 需要設定允許 22, 80, 443, 587, 993, 3306 等常用 port , 如果有特殊情況, 再加上其他的 port EC2 建立後 更新 sshd 設定, 方便後續可以使用帳號密碼連入 EC2, 而不用每次都需要透過金鑰對才能連入 使用初始化實體時設定金鑰對連入 EC2 執行 sudo vim /etc/ssh/sshd_config
     Like  Bookmark
  • Frappe edit background job timeout Frappe default time is 300s, So if your job runtime over 300s, Frappe will throw below exception rq.timeouts.JobTimeoutException: Task exceeded maximum timeout value (300 seconds) But some job need spend a lot of time, So we can set below settings in common_site_config.json "workers": { "default": { "timeout": 900
     Like  Bookmark
  • ERPNext 開發雜記 不知道怎麼分類的紀錄都會丟到這邊來 發票金額的四捨五入 由於台灣的發票金額,稅費等都是整數,而 ERPNext 的金額預設都會有小數點,因此需要透過一些設定來讓 ERPNext 在計算時將金額與稅費時自行四捨五入,以符合台灣的使用習慣。 1. 設定 Regional ERPNext 會根據當前的區域,若為特地區域會有不一樣的金額計算方式(ERPNext 的 Regionl 設定),因此我們可以按照 ERPNext 的做法,在 hooks.py 中新增一個 Taiwan,並且設定要 Override 的 method,如下: # hooks.py
     Like  Bookmark
  • Frappe 的 Excel 匯出格式設定 在使用 Frappe 內建的匯出下載報表時,若為數值(Number)或幣值(Currency)資料,在 Excel 中便會自動靠右,不過因客戶需求的關係,我們需要將某些數字格式化 XX,XXX NTS 這種格式,此時資料型態已經是 String,在 Excel 中便不會靠右,因此需要針對 Frappe 的 make_excel 進行修改(Source Code) import openpyxl from openpyxl.styles import Font, Alignment from openpyxl.utils import get_column_letter from frappe.utils.xlsxutils import handle_html def make_xlsx(data, sheet_name, wb=None, column_widths=None):
     Like  Bookmark
  • 在 MultiSelectDialog 中預設 Filter 在上圖的情境中,點選右上角的「從...獲取項目」後,會出現途中的 Dialog,由於客戶要求在 Dialog 中可以有預設的 Filter,這在 Frappe 的 Dialog 物件中有類似的 function 能用,但 ERPNext 在產生這個 Dialog 時(utils.js #L705),雖然 map_current_doc 有回傳 Dialog 的物件,不過在purchase_invoice.js #L109中,並沒有變數去接這個物件,因此為了達成這個功能,就需要稍微修改一下 map_current_doc 才能夠達成。 Step.1 透過 Form Event 掛載自定義的 JS Frappe Form Event 新增一個 JS 檔,設定 Listen 「Purchase Invoice」(這邊能換成任何一個 Module,此部分以 Purchase Invoice 為例),以及一個 onload 事件。 frappe.ui.form.on("Purchase Invoice", {
     Like  Bookmark
  • Frappe MultiSelectDialog Bug 在 MultiSelectDialog 中使用 Filter 時,會發生已刪除的 Filter ,仍舊會包含在送出的查詢中,翻了 Frappe 的原始碼後也不太清楚是為什麼會造成這個狀況,因此選擇透過覆寫的方式,修改 JS frappe.ui.form.MultiSelectDialog 的 get_args_for_search 方法。 Origin Source Update Script: get_args_for_search() { let [filters, filter_fields] = this.get_filters_from_setters();
     Like  Bookmark
  • 前言 因為公司專案需要,所以開始接觸這一套 ERP,由於剛接觸時遇到了許多問題,因此想說就寫個筆記來紀錄一下遇到的問題與解法 Frappe 基於 Python 所開發的一個全端框架,可外掛許多客製化的模組,並透過模組中的 hooks.py 去覆寫 Frappe 原有的功能,ERPNext 便是介有這樣的方式建立而成的 ERPNext 除了進銷存外,還包含了各種其他教育、醫療等其他行業模組(雖然我沒用過OAO)的ERP 模組 需求環境
     Like  Bookmark