TIPTOP GP ERP 二次开发:如何在单身档增加自定义字段?

单身档字段扩展是 TIPTOP GP 最常见的客制需求。记录从数据库、画面、程序到测试的完整流程,以及我踩过的坑。

单身档(明细行)字段扩展是 TIPTOP GP 二次开发里最常见的客制需求之一:标准单身档没有你要的”客户批次号””环保等级”或者”责任工程师”字段。这篇文章记录我处理这类需求的完整流程和容易踩的坑。

动手之前:先回答三个问题

  • 这个字段真的属于单身档吗?很多时候字段应该挂在单头档(整个单据一个值)或者主档(料号属性),放错位置以后每次开发都要绕路。
  • 历史数据怎么办?新增字段对历史单据是空的,是否需要回填?回填规则是什么?这一步没定,上线后一定会吵。
  • 谁在维护客制清单?ERP 升级时,所有客制都要重新评估。没有客制清单的工厂,升级就是一场冒险。

标准流程

TIPTOP GP 基于 Genero / 4GL + Oracle,标准做法遵循以下步骤(具体作业编号以你们公司的客制规范为准):

  • 1. 数据库层:在对应单身档表增加字段,注意字段类型和长度宁大勿小,并同步更新表的 schema 定义;
  • 2. 画面层:调整对应画面(4ad),把字段放到合适的栏位,设置校验规则和可否维护;
  • 3. 程序层:检查该单身档的写入逻辑,确保新增 / 修改 / 删除都处理新字段;
  • 4. 报表层:相关报表和查询是否需要带出该字段;
  • 5. 测试:至少覆盖新增、修改、作废、下查上查、历史单据打开五种场景。

数据库变更示例

ALTER TABLE ta_file ADD cust_batch VARCHAR2(40);
COMMENT ON COLUMN ta_file.cust_batch IS '客户批次号(客制)';
-- 历史数据回填示例:按指定规则批量更新
UPDATE ta_file SET cust_batch = 'N/A' WHERE cust_batch IS NULL;

我踩过的坑

  • 只改了画面没改程序:画面上看得到字段,但过账后数据是空的 — 因为写入逻辑没有覆盖;
  • 字段类型给了太小:业务后来要求放完整批号,只能再一次变更;
  • 没做客制记录:半年后升级,忘了这个字段是谁加的、为什么加,只能靠逆向分析;
  • 报表没跟上:单据上有数据,但月底报表出不来,业务部门以为开发没做完。

如果你正在做 TIPTOP GP 客制,或者对某次客制拿不准,可以把场景发给我聊聊。相关服务:ERP 应用与二次开发

需要在你厂的 ERP / MES 上做类似的事?

可以把你的场景发给我,先聊清楚问题和边界,再谈方案。

项目咨询

有一个工厂 IT 问题?

MES、ERP、软件开发、系统集成、IT 架构,或者电子连接产品采购,都可以先交流需求。

滚动至顶部