赛捷软件论坛's Archiver

lynn.yu 发表于 2021-1-21 12:03

[V12功能解说] 如何让定制字段从客户主数据传递至销售订单屏幕?

[b]* 本文由赛捷软件(上海)有限公司翻译完成,未经授权不得转载。如需转载,请先联系相应版块的版主取得授权。[/b]


在Sage X3中,在客户主数据中,用户可以定义多个具有不同地址代码的地址,因此我们的一个客户要求在客户主数据的【地址】页签上添加一些定制字段。并根据销售订单屏幕上的地址代码选择,将它们传递至销售订单。

假设用户想创建定制字段,如GST Reg. No和PAN No字段,并将其从客户主数据传递至销售订单屏幕。为了达到这个目的,我们需要遵循以下步骤:

第1步:

在SORDER(销售订单)表以及销售订单屏幕中创建定制字段,并在【发货地址】字段中添加【修改后】和【字段后】事件,如以下截图所示。

[attach]6758[/attach]
事件

第2步:

在屏幕中添加字段后,审核销售订单屏幕,全局审核窗体,并通过参数设置模块审核所有交易类型。

参数设置→销售→订单

以下是添加字段之后销售订单屏幕的截屏:

[attach]6759[/attach]
销售订单屏幕

第3步:

要想根据发货地址代码将GST No和PAN No从客户主数据传递至销售订单屏幕,我们必须在APRES_MODIF & AVANT_MOD操作下的SPESOH脚本中添加以下代码:

#################################################################################

If !clalev([F:ZBPC]) Local File BPCUSTOMER[F:ZBPC] : Endif
For[F:ZBPC] where [F:ZBPC]BPCNUM=[M:SOH0]BPCORD
[M:SOH1]ZPANNO=[F:ZBPC]XX1P4PANNO
AFFZO[M:SOH1]ZPANNO
Next

If !clalev([F:ZBPD]) Local File BPDLVCUST[F:ZBPD] : Endif
For[F:ZBPD] where [F:ZBPD]BPCNUM=[M:SOH0]BPCORD AND [F:ZBPD]BPAADD=[M:SOH1]BPAADD
[M:SOH1]ZGSTNO=[F:ZBPD]XX1P4GSTNO
AFFZO[M:SOH1]ZGSTNO
Next

#################################################################################

同样地,也需在AM_BPAADD & AP_BPAADD操作中指定定制字段的值。

通过这种方式,开发人员可以在销售订单屏幕中添加“GST No”和”PAN No”字段,并根据客户代码和他们的发货地址代码从客户主数据中传递出数据。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.