docs(交接): 09-29 记录——用户手工改母版(格式+删草稿)、G20 措辞按用户手工改动登记忽略、母版扩列器立项;工具加 USER_EDITS 类别
| | |
| | | - ç»æï¼æå½åæ¯çéæ°çæ 2026-08 åï¼ä¸æå·¥å®ç¨¿ç**éå¤çå·®å¼ = 0**ï¼å
¶ä½å
¨é¨è½å¨"已忽ç¥ï¼çº¦å®å·®å¼ï¼"ãæ¸
åï¼`docs/é®é¢æ±æ»/_æ¸
å_æ¯çææ°çæä»¶_20260928.md/.csv`ï¼æ¬å°ï¼ä¸å
¥åºï¼ã |
| | | - 注æï¼æ¡é¢é£ä»½ `çæ_éè·¯è¿è¾éæ±æ»è¡¨_2026-08.xlsx` æ¯æ§å¯¼åºï¼å«æ§é误å¼/æ§åºæ°ï¼ï¼ä¸æ´æ°åçå®ç¨¿æ¯å¯¹ä¼æ¾ç¤ºè¾å¤å·®å¼ï¼ä»¥"æ¯çéæ°çæä»¶"为åã |
| | | - **æ 表头èç¨¿åæ¸
åï¼9 å¤ï¼å
± 539 æ ¼ï¼**ï¼`å
¬äº¤/åºç§/ç½çº¦è½¦!U`ï¼å 72ï¼ã`åå¸å®¢è¿!U`ï¼36ï¼ã`ç线å
车!DU`ï¼55ï¼è¡¨å¤´"1-3æç´¯è®¡"ï¼ã`ä¸å£å¾æç»!U`ï¼90ï¼ã`ä¸å£å¾å®¢è¿é!AB`ï¼180ï¼ã` è´§è¿!V` ä¸ ` è´§è¿!AX`ï¼å 74ï¼ç¨æ·ææ U å卿工é£ä»½å³ç§»ä¸åï¼ãæ¯ç/çæä»¶**å·²å
¨é¨æ¸
空**ï¼æå·¥å®ç¨¿ä»ä¿ç â å¯¹æ¯æ¶å½å
¥ãå·²ç¥è®¾è®¡(æ 表头è稿å)ããå
¶ä½"æ 表头å"æ¯åå¹¶è¡¨å¤´çæ£å¸¸åï¼` è´§è¿!Câ¦Q` æä»½å¼åãåå¹´åå°¾é¨ç´¯è®¡/ç´¯è®¡åæ¯åãæå页 R åçï¼ï¼ä¸¤è¾¹é½æãéè稿ãæç»è§ `docs/é®é¢æ±æ»/_å·²ç¡®è®¤å·®å¼æ¸
å_2026-08_20260928.md`ã |
| | | - **09-29ï¼ç¨æ·æå·¥æ¹æ¯çï¼ä»
æ ¼å¼ + å é¤è稿ï¼ï¼å¹¶ç«é¡¹æ¯çæ©åå¨** |
| | | - ç¨æ·è¯´ææ¬æ¬¡æ¯çæ¹å¨ä»
"è°æ ¼å¼ + å è稿"ï¼æªå¨ä¸å¡å£å¾ï¼æçº¹ååç¼åèªå¨å¤±æï¼å·²éæ°çææ ¸å¯¹ï¼éå¤ç 2 æ¡ â `å叿±æ»!G20` æ"ä»¥ç¨æ·æå·¥æ¹å¨ä¸ºå"ç»è®°ä¸º**å·²ç¥å·®å¼(ç¨æ·æå·¥æ¹å¨)**ï¼å·¥å
·æ°å¢ `USER_EDITS`ï¼ï¼å© `ç线å
车!EO6` = `#DIV/0!`ï¼WPS ä¿åéç®äº§çï¼å¾
å®çç½ï¼ã |
| | | - **æ¯çæ©åå¨ï¼æ¹æ¡ Bï¼**ï¼å¤ç¨ `cloneColumnPair/moveColumnPair/cloneCellForMonth/cloneMergedRegion/copyColumnWidth/fixCumulativeFormulas` ä¸ `SummaryWorkbookFiller.ensureMonth*`ï¼éæ°å"æ©åç¼æ + æ¯é¡µè§åé
ç½® + åå½èªæ£"ã**å½å¹´å
æ¯æä¸é®ã跨年å 䏿¬¡æ§"æ°å¹´å"é»è¾**ï¼é¦æ¬¡ä¼° 0.5~1 天ãçåäºç¡®è®¤åå
åºã19 页æ©åè§æ ¼è¡¨ãã |
| | | - è¿è¡ç¶æï¼å端 8090 / å端 8080 å·²ç± `start-dev.ps1` å¯å¨ã |
| | | - ç¨æ·æ¯çæ¹å¨å°æªæäº¤ï¼å¾
确认å䏿©åå¨ä¸èµ·æäº¤ã |
| | | - **å¾
å**ï¼â æåé¡µç»æï¼å顺åºãæ 颿ªè¾ãå¸å·åçå/å
¨åãå¨è½¬éæåå¤ 7 è¡ï¼ï¼â¡ æåé¡µç»æï¼å顺åºãæ 颿ªè¾ãå¸å·åçå/å
¨åãå¨è½¬éæåå¤ 7 è¡ï¼ï¼â¢ 缺 2026-09 æ¯çã导åºååºæ°ä½æ£ï¼P0-3ï¼ã |
| | | |
| | | ## ææ°ï¼2026-09-27ï¼ |
| | |
| | | if norm_indicator(indicator) == norm_indicator(pat): return True |
| | | return False |
| | | |
| | | # ç¨æ·æå·¥æ¹å¨ä¸ºåï¼ä¸å计å
¥å·®å¼ï¼ |
| | | USER_EDITS = {("å叿±æ»", "G20")} |
| | | |
| | | def num(v): |
| | | return isinstance(v, (int, float)) and not isinstance(v, bool) |
| | | |
| | |
| | | def main(gen, dgf, prefix): |
| | | ACTION = ("å®è´¨æ°å¼å·®å¼", "é误å¼(ç¨åº)", "é误å¼(æå·¥)", "éå¤ç(鿰弿æ¬)", "ææ¬ä¸å") |
| | | IGNORE = ("已忽ç¥(åè¾¹æå¼)", "已忽ç¥(ç»æ/设计)", "忴尾差(å¯å¿½ç¥)", "ææ¬åæ°å(å¯å¿½ç¥)", |
| | | "å·²ç¥è®¾è®¡(æ¯çæ°å¢è¡)", "å·²ç¥è®¾è®¡(æ 表头è稿å)", "å·²ç¥è®¾è®¡(æåè¡¨å½æ/累计å)", "å
¶å®") |
| | | "å·²ç¥è®¾è®¡(æ¯çæ°å¢è¡)", "å·²ç¥è®¾è®¡(æ 表头è稿å)", "å·²ç¥è®¾è®¡(æåè¡¨å½æ/累计å)", |
| | | "å·²ç¥å·®å¼(ç¨æ·æå·¥æ¹å¨)", "å
¶å®") |
| | | cats = list(ACTION) + list(IGNORE) |
| | | REASON = {(" è´§è¿", "EA"): "2022å¹´åå¸å·ç´¯è®¡åæ¯ï¼ä¸å¡å·²ç¡®è®¤è½¯ä»¶å£å¾æ£ç¡®ï¼æå·¥é£åéï¼", |
| | | ("ç线å
车", "EO"): "ç¨åºçææ¶éç®ï¼çæ¯ç2020å¹´ååæ¯ä¸º0ï¼ï¼æ¯ç/æå·¥ä¸º 0.1818ï¼å¾
æ ¸å¯¹", |
| | |
| | | cat = "éå¤ç(鿰弿æ¬)"; note = "ç¨åº=%s æå·¥=%s" % (str(vg)[:14], str(vd)[:14]) |
| | | else: |
| | | cat = "å
¶å®"; note = "ç¨åº=%s æå·¥=%s" % (str(vg)[:14], str(vd)[:14]) |
| | | if cat and (sh, "%s%d" % (get_column_letter(i+1), p+1)) in USER_EDITS: |
| | | bump("å·²ç¥å·®å¼(ç¨æ·æå·¥æ¹å¨)"); continue |
| | | if cat: |
| | | bump(cat) |
| | | rows_out.append([sh, "%s%d" % (get_column_letter(i+1), p+1), rl_g[p][:38], cl_g[i][:18], cat, |