测试

业务代码: XX003

  • 本地菜单: 4000 促销方式
    | 项目 | 值 |
    |-|-|
    | 0 | AB |
    | 1 | 折扣 |
    | 2 | 买赠 |
  • 本地菜单: 4001 扣减依据
    | 项目| 值|
    |-|-|
    | 0 | 12` |
    | 1 | 金额 |
    | 2 | 数量 |
    | 3 | |
  • 本地菜单: 4002 政策状态
    | 项目| 值|
    |-|-|
    | 0 | 12345 |
    | 1 | 草稿 |
    | 2 | 确认 |
    | 3 | 关闭 |
    | 4 | 提交 |
    | 5 | 部门经理审核 |
  • 本地菜单: 4004 价格结构扩展
    | 项目| 值|
    |-|-|
    | 0 | 123 |
    | 1 | 无 |
    | 2 | 返利 |
    | 3 | 促销策略 |

代码文件: CNSXIRSPE

#<AdxTL>@(#)0.0.0.0 $Revision$
# 屏蔽管理 XITMRET (特定的)
# 屏蔽管理 XCOURET (特定的)

$ACTION
 Case ACTION
  When "LECTURE"  :  Gosub LECTURE
  When "OUVRE"    :  Gosub OUVRE
  When "EXEBOUT"   : Gosub EXEBOUT
  When "SETBOUT"   : Gosub SETBOUT
  When Default
 Endcase
Return

$SETBOUT

Return

$EXEBOUT
  Case  BOUT
    When "j" : Gosub COURET
  Endcase

Return

$COURET
  Raz YESNO
  Trbegin [F:XIRL]
  For II = 0 To [M:XIR1]NBLIG-1
    If [M:XIR1]ISSEL(II)=2
      Read [XIRL]XIRL0 = [M:XIR1]XPGNUM(II);[M:XIR1]BPCORD(II)
      If !fstat
        [F:XIRL] = [M:XIR1]
        [F:XIRL]USABLE = [M:XIR1]DCBNUM(II)
        Rewrite [F:XIRL]
      Else
        [F:XIRL] = [M:XIR1]
        [F:XIRL]USABLE = [M:XIR1]DCBNUM(II)
        Write [F:XIRL]
      Endif
      YESNO = YESNO & fstat
    Endif
  Next II
  If YESNO
    Infbox "数据保存出错,记录回滚"
    Rollback
  Else
    Infbox "货返数量已确认!"
    Commit
  Endif
Return

$LECTURE
#-------------分页-------------------------

    If STATE=0
        STATE=1
        Return
    Endif
    Local Char R(255) : R = "CPY=[M:XIR0]BPRCOM"
    If [M:XIR0]BPR<> ""
        R += " & BPR=[M:XIR0]BPR"
    Endif

    If [M:XIR0]XENDDATBEG<>[0/0/0]
        R += " & [F:XFB1]ENDDAT>=[M:XIR0]XENDDATBEG"
    Endif
  If [M:XIR0]ZAX3<>""
      R += " & [F:XFB1]ZAX3=[M:XIR0]ZAX3"
  Endif
    If [M:XIR0]XENDDATEND<>[0/0/0]
        R += " & [F:XFB1]ENDDAT<=[M:XIR0]XENDDATEND"
    Endif

#    If [M:XIR0]ISFORWARD <>2
#        R += " & [F:XFB1]ENDDAT<=date$"
#    Endif
    If clalev([F:XFB1])=0 : Local File XPGFORBPC  [F:XFB1] : Endif
    Filter [F:XFB1] Where  evalue(R)
    nolign =1
#   Infbox R
    Raz [M:XIR1]
    For [F:XFB1]
        [M:XIR1] = [F:XFB1]
#        [M:XIR1]THIRETAMT(nolign-1) = [F:XFB1]NOWRETAMT - [F:XFB1]LASRETAMT
        nolign += 1
    Next
    [M:XIR1]NBLIG = nolign -1
    Affzo [M:XIR1]
    Filter [F:XFB1]
Return

$SHOW

Return

$OUVRE
    Local Integer STATE
    STATE=0
    Local Integer PAGE:PAGE=1
    Local Integer PAGESIZE:PAGESIZE=200
    Local Integer MAXPAGE:MAXPAGE=1
    Local Integer MAXSIZE
    Local Integer YESNO
    If !clalev([F:AMK1])  :  Local File AMSK [AMK1] : Endif
    If !clalev([F:XIRL])  :  Local File XITMREFLIST [XIRL] : Endif
    Read [F:AMK1]ABRMSK = "${2:M2}"
    If fstat=0
        PAGESIZE = [F:AMK1]NBLIGT
    Endif
Return

######################################################################################
## 由系统管理员添加的标签 (屏幕 XCOURET) 2015/06/05 11:33:04 (SAGE)
######################################################################################
Subprog IB_XCTTYP
End


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

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

######################################################################################
## 由系统管理员添加的标签 (屏幕 XIR1) 2016/05/05 19:51:59 (ZERO)
######################################################################################
Subprog AM_ISSEL(VALEUR)
Variable Integer VALEUR
End

Subprog IB_XPGNUM
End

Subprog AV_CPY(VALEUR)
Variable Char    VALEUR()
End

Subprog AS_DES(VALEUR)
Variable Char    VALEUR()
End

Subprog C_ZAX3(VALEUR)
Variable Char    VALEUR()
End

Subprog AP_XPGTYP(VALEUR)
Variable Integer VALEUR
End

Subprog D_SALAMT(VALEUR)
Variable Decimal VALEUR
End


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


代码文件: SPESOH

#<AdxTL>@(#)0.0.0.0 $Revision$ 订单
# 屏蔽管理 SOH4 (特定的)

######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH4) 2015/09/01 20:20:39 (ZERO)
######################################################################################
$ACTION
    Case ACTION
      When "VERIF_MOD"    :  Gosub  VERIF_CRE  #修改
      When "VERIF_CRE"    :  Gosub VERIF_CRE  #新建
      When "SETBOUT" : Gosub SETBOUT  #设置自定义按钮的状态
      When "EXEBOUT"      :  Gosub EXEBOUT
   When Default
   Endcase
   Gosub ACTION From XX003
   Gosub ACTION From XX002
   Gosub ACTION From XX010
   Gosub ACTION From ZX016 # 订单重复验证
Return

$SETBOUT
If !clalev([F:AUS1]):Local File AUTILIS [F:AUS1] : Endif
   Read [F:AUS1]CODUSR =  GUSER
#正常销售订单,SON02和关闭订单不需要审核
 If [M:SOH0]SOHTYP='SON'  | [M:SOH0]SOHTYP='SON02' | [M:SOH1]ORDSTA = 2
     Call VIREBOUT(CHAINE,"B8G") From GOBJET
  Endif

 If [M:SOH0]ZCHECKFLG>1
     Call VIREBOUT(CHAINE,"8") From GOBJET
  Endif

 If [M:SOH0]ZCHECK0=2
     Call VIREBOUT(CHAINE,"B") From GOBJET
  Endif

 If [M:SOH0]SOHTYP='SON03'
      Call VIREBOUT(CHAINE,"7s") From GOBJET
  Endif

##
 If [M:SOH0]SOHTYP<>'SON'  & [M:SOH0]SOHTYP<>'SON02' & [M:SOH1]ORDSTA <> 2 & [M:SOH0]ZCHECKFLG<2
     Call VIREBOUT(CHAINE,"2BG") From GOBJET
  Endif
#SON02不审核,SON03,SON04,SON05类型的销售订单并且金额小于200,部门经理审核
 If [M:SOH0]SOHTYP<>'SON' & [M:SOH0]ZCHECK0<>2 & [M:SOH0]SOHTYP<>'SON01' & [M:SOH0]SOHTYP<>'SON02' & [F:AUS1]CCE(1)=[M:SOH1]ZAUDITOR1 & [M:SOH0]ZCHECKFLG=2
     Call VIREBOUT(CHAINE,"2G8") From GOBJET
  Endif
#总经理不可见部门经理审核按钮
 If [M:SOH0]SOHTYP<>'SON' & [M:SOH0]ZCHECK0<>2 & [M:SOH0]SOHTYP<>'SON01' & [M:SOH0]SOHTYP<>'SON02' & [F:AUS1]CCE(1)<>[M:SOH1]ZAUDITOR1
     Call VIREBOUT(CHAINE,"B2G") From GOBJET
  Endif

#SON03,SON04,SON05类型的销售订单并且金额小于200,部门经理审核之后隐藏按钮(部门经理和总经理审核按钮)
If [M:SOH0]SOHTYP<>'SON' & [M:SOH0]ZCHECK0 = 2 & [M:SOH0]SOHTYP<>'SON01' & [M:SOH4]ZSUMAMT< 200  & [M:SOH0]SOHTYP<>'SON02' 
     Call VIREBOUT(CHAINE,"B8G") From GOBJET
Endif
#SON03,SON04,SON05类型的销售订单并且金额大于等于200,部门经理审核之后隐藏部门经理审核按钮,显示总经理审核按钮
If [M:SOH0]SOHTYP<>'SON' & [M:SOH0]ZCHECK0 = 2 & [M:SOH0]SOHTYP<>'SON01' & [M:SOH4]ZSUMAMT>= 200  & [M:SOH0]SOHTYP<>'SON02' & [M:SOH0]ZCHECK1 <> 2  & GUSER = 'LGQ' 
     Call VIREBOUT(CHAINE,"2B8") From GOBJET
Endif
#部门经理不可见总经理审核按钮
If [M:SOH0]SOHTYP<>'SON' & [M:SOH0]ZCHECK0 = 2 & [M:SOH0]SOHTYP<>'SON01' & [M:SOH4]ZSUMAMT>= 200  & [M:SOH0]SOHTYP<>'SON02' & GUSER <> 'LGQ'
     Call VIREBOUT(CHAINE,"28G") From GOBJET
Endif
#总经理隐藏提交按钮
If  [M:SOH0]ZCHECKFLG=1 & GUSER = 'LGQ'
     Call VIREBOUT(CHAINE,"2BG8") From GOBJET
Endif
#销售订单类型为SON01的直接总经理审核
If [M:SOH0]SOHTYP='SON01' & [M:SOH0]ZCHECK1 <>2 & GUSER = 'LGQ' & [M:SOH0]ZCHECKFLG=2
     Call VIREBOUT(CHAINE,"2B") From GOBJET
Endif
#部门经理不可见总经理审核按钮
If [M:SOH0]SOHTYP='SON01' & [M:SOH0]ZCHECK1 <>2 & GUSER <> 'LGQ'
     Call VIREBOUT(CHAINE,"G2B") From GOBJET
Endif
#总经理审核之后,按钮置灰
If  [M:SOH0]ZCHECK1 = 2 | [M:SOH1]ORDSTA =2
     Call VIREBOUT(CHAINE,"GB8") From GOBJET
Endif

Return


$EXEBOUT
     If BOUT = '8'
    Local Integer YESNO : YESNO = 2 :# Yes
    Call AVERTIRT("确定提交赠送订单”!", YESNO ) From GESECRAN
       If YESNO = 2
          If !clalev([F:SOH1]): Local File SORDER [F:SOH1] : Endif
            [M:SOH0]ZCHECKFLG = 2
            Update [F:SOH1] Where [F:SOH1]SOHNUM = [M:SOH0]SOHNUM  With [F:SOH1]ZCHECKFLG = '2'
           Affzo [M:SOH0]0-99
        Endif
     Endif
    If BOUT = 'B'
    Local Integer YESNO : YESNO = 2 :# Yes
    Call AVERTIRT("确定订单审核通过点击“确定”,不通过点击“取消”!", YESNO ) From GESECRAN
       If YESNO = 2
          If !clalev([F:SOH1]): Local File SORDER [F:SOH1] : Endif
            [M:SOH0]ZCHECK0 = 2
            [M:SOH0]ZCHECKFLG = 3
            Update [F:SOH1] Where [F:SOH1]SOHNUM = [M:SOH0]SOHNUM  With [F:SOH1]ZCHECK0 = '2'
            Update [F:SOH1] Where [F:SOH1]SOHNUM = [M:SOH0]SOHNUM  With [F:SOH1]ZCHECKFLG = '3'
           Affzo [M:SOH0]0-99
        Endif
        If YESNO = 1
          If !clalev([F:SOH1]): Local File SORDER [F:SOH1] : Endif
            [M:SOH0]ZCHECK0 = 1
            [M:SOH0]ZCHECKFLG = 2
            Update [F:SOH1] Where [F:SOH1]SOHNUM = [M:SOH0]SOHNUM  With [F:SOH1]ZCHECK0 = '1'
            Update [F:SOH1] Where [F:SOH1]SOHNUM = [M:SOH0]SOHNUM  With [F:SOH1]ZCHECKFLG = '2'
           Affzo [M:SOH0]0-99
        Endif
     Endif
  If BOUT = 'G'
    Local Integer YESNO : YESNO = 2 :# Yes
    Call AVERTIRT("确定订单审核通过点击“确定”,不通过点击“取消”!", YESNO ) From GESECRAN
       If YESNO = 2
          If !clalev([F:SOH1]): Local File SORDER [F:SOH1] : Endif
            [M:SOH0]ZCHECK1 = 2
            [M:SOH0]ZCHECKFLG = 5
            Update [F:SOH1] Where [F:SOH1]SOHNUM = [M:SOH0]SOHNUM  With [F:SOH1]ZCHECK1 = '2'
            Update [F:SOH1] Where [F:SOH1]SOHNUM = [M:SOH0]SOHNUM  With [F:SOH1]ZCHECKFLG = '5'
           Affzo [M:SOH0]0-99
        Endif
     If YESNO = 1
          If !clalev([F:SOH1]): Local File SORDER [F:SOH1] : Endif
            [M:SOH0]ZCHECK1 = 1
            [M:SOH0]ZCHECK0 = 1
            [M:SOH0]ZCHECKFLG = 2
            Update [F:SOH1] Where [F:SOH1]SOHNUM = [M:SOH0]SOHNUM  With [F:SOH1]ZCHECK1 = '1'
            Update [F:SOH1] Where [F:SOH1]SOHNUM = [M:SOH0]SOHNUM  With [F:SOH1]ZCHECK0 = '1'
            Update [F:SOH1] Where [F:SOH1]SOHNUM = [M:SOH0]SOHNUM  With [F:SOH1]ZCHECKFLG = '2'
           Affzo [M:SOH0]0-99
        Endif
     Endif
  Affzo [M:SOH0]0-99
Return


Subprog IB_NBLIG
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH0) 2015/09/07 17:30:02 (SAGE)
######################################################################################
Subprog AM_SOHTYP(VALEUR)
    Variable Char    VALEUR()
    [M:SOH3]CCE(6) = [M:SOH0]SOHTYP
    Affzo [M:SOH3]CCE(6)
End

Subprog AM_BPCORD(VALEUR)
Variable Char    VALEUR()
   [M:SOH3]CCE(6) = [M:SOH0]SOHTYP
   Affzo [M:SOH3]CCE(6)
    ##预收客户额度
  If !clalev([F:BPC2]) : Local File BPCUSTOMER [BPC2] : Endif
  If !clalev([F:ZBP2]) Local File ZPAYBSUM2 [ZBP2] : Endif
  Read [F:BPC2]BPC0 = VALEUR
  Read [F:ZBP2]ZPB2 = VALEUR
  If  [F:BPC2]ZPAYFLG = 2
      [M:SOH4]ZLIMIT = [F:ZBP2]ENDAMT
       Affzo [M:SOH4]ZLIMIT
        Endif
  If  [F:BPC2]ZPAYFLG = 1
      [M:SOH4]ZLIMIT = 0
       Affzo [M:SOH4]ZLIMIT
   Endif

      If !clalev([F:BPD1]):Local File BPDLVCUST [F:BPD1] : Endif
      If !clalev([F:BPC1]):Local File BPCUSTOMER [F:BPC1] : Endif
      If !clalev([F:ZBF1]):Local File ZBPCFCY [F:ZBF1] : Endif
      Read [F:BPC1]BPC0 = VALEUR
      Read [F:ZBF1]ZBF0 = VALEUR;[M:SOH0]SALFCY
      [M:SOH0]ZTSCCOD = [F:ZBF1]ZTSCCOD1
     If !fstat
       For [F:BPD1] Where  BPCNUM  = VALEUR & BPAADD = [F:BPC1]BPDADD
          [M:SOH1]ZTCLCOD = [F:BPD1]ZTCLCOD
          [M:SOH2]ZDRN = [F:BPD1]ZDRN
          Break
#          [M:SOH0]ZTSCCOD = [F:BPC1]TSCCOD(1)
      Next
     Endif
    Affzo [M:SOH1]0-99
    Affzo [M:SOH2]0-99
    Affzo [M:SOH0]0-99
End


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



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

######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH2) 2015/09/09 11:17:27 (SAGE)
######################################################################################
Subprog AV_STOFCY(VALEUR)
Variable Char    VALEUR()
  If VALEUR <> [M:SOH0]SALFCY
    VALEUR = [M:SOH0]SALFCY
  Endif
End



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


Subprog C_ZFL(VALEUR)
Variable Decimal VALEUR
    Call C_ZFL(VALEUR) From XX002
End

Subprog AM_ZFL(VALEUR)
Variable Decimal VALEUR
    Call AM_ZFL(VALEUR) From XX002
End
####################################################################################################
## 由系统管理员添加的标签 (屏幕 SOH0) 2015/10/20 09:31:52 (ZERO),用于将屏幕表头的品牌带到开票页签中的品牌。
####################################################################################################
Subprog AM_ZAX3(VALEUR)
Variable Char    VALEUR()
   [M:SOH3]CCE(2) = VALEUR
   Affzo[M:SOH3]0-99

   If !clalev([F:CCE1]):Local File CACCE [F:CCE1] : Endif
   Read [F:CCE1]CCE1 = VALEUR
   If !fstat 
     [M:SOH1]ZAUDITOR1 = [F:CCE1]DEFCCE(0)
  Endif
  Affzo [M:SOH1]0-99
   Call AM_ZAX3(VALEUR) From XX002
End


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


######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH4) 2015/10/26 16:31:06 (ZERO)
######################################################################################
Subprog AM_QTY(VALEUR)
Variable Decimal VALEUR
Local Integer R : R = 0
Local Decimal VATVAL: VATVAL=0
    If !clalev([TRA1]): Local File TABRATVAT [TRA1] : Endif
    If !clalev([FCY1]): Local File FACILITY [FCY1] : Endif
    Read [FCY1]FCY0 = [M:SOH0]SALFCY
    If !fstat
        For [TRA1] Where (CPY=''|CPY=[FCY1]LEGCPY) and (STRDAT=[0/0/0]|date$>=STRDAT) and [TRA1]VAT =  [M:SOH4]VAT1(nolign-1)
           VATVAL += [F:TRA1]VATRAT/[F:TRA1]DEDRAT
        Next
    Endif
     [M:SOH4]ZPRIAMT1(nolign-1) = arr(([M:SOH4]GROPRI(nolign-1)*VALEUR/(1+VATVAL)),0.0001)

  R = [M:SOH4]NBLIG
  [M:SOH4]ZSOHQTY = 0
  For Y = 0 To R-1
   If Y<>nolign-1
     [M:SOH4]ZSOHQTY = [M:SOH4]ZSOHQTY +[M:SOH4]QTY(Y)
    Endif
  Next
  [M:SOH4]ZSOHQTY += VALEUR
 # [M:SOH4]GROPRI(nolign-1) = arr([M:SOH4]GROPRI(nolign-1),4)
 Affzo [M:SOH4]0-99
End


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


######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH1) 2015/11/02 14:32:09 (ZERO)
######################################################################################
Subprog AM_BPAADD(VALEUR)
Variable Char    VALEUR()
      If !clalev([F:BPD1]):Local File BPDLVCUST [F:BPD1] : Endif

      For [F:BPD1] Where BPAADD = VALEUR & BPCNUM = [M:SOH0]BPCORD
            [M:SOH1]ZTCLCOD = [F:BPD1]ZTCLCOD
            [M:SOH2]ZDRN = [F:BPD1]ZDRN
      Next

   Affzo [M:SOH1]ZTCLCOD
   Affzo [M:SOH2]0-99
End


######################################################################################
###################################################取数量、返利、促销、费用、产品价格没有定义的不能保存
$VERIF_CRE
    Local Integer R : R = 0

  R = [M:SOH4]NBLIG
 [M:SOH4]ZSOHQTY = 0
 [M:SOH4]ZSUMAMT = 0
 [M:SOH4]ZSUMAMT1 = 0
 [M:SOH4]ZFY1 = 0
 [M:SOH4]ZFY = 0
 [M:SOH4]ZCX = 0
  X = 0
  For Y = 0 To R-1
  #计算每行产品的原始不含税行金额
   Local Decimal VATVAL: VATVAL=0
     If !clalev([TRA1]): Local File TABRATVAT [TRA1] : Endif
     If !clalev([FCY1]): Local File FACILITY [FCY1] : Endif
     Read [FCY1]FCY0 = [M:SOH0]SALFCY
     If !fstat
         For [TRA1] Where (CPY=''|CPY=[FCY1]LEGCPY) and (STRDAT=[0/0/0]|date$>=STRDAT) and [TRA1]VAT =  [M:SOH4]VAT1(Y)
          VATVAL += [F:TRA1]VATRAT/[F:TRA1]DEDRAT
          [M:SOH4]ZPRIAMT1(Y) = arr(([M:SOH4]QTY(Y)*[M:SOH4]GROPRI(Y)/(1+VATVAL)),0.01)
          [M:SOH4]ZPRIAMT(Y) = arr(([M:SOH4]QTY(Y)*[M:SOH4]GROPRI(Y)),0.01)
           Affzo [M:SOH4]0-99
        Next
     Endif

     [M:SOH4]ZSOHQTY = [M:SOH4]ZSOHQTY +[M:SOH4]QTY(Y)
     [M:SOH4]ZSUMAMT = arr(([M:SOH4]ZSUMAMT +[M:SOH4]ZPRIAMT(Y)),0.01)
     [M:SOH4]ZSUMAMT1 = arr(([M:SOH4]ZSUMAMT1 +[M:SOH4]ZPRIAMT1(Y)),0.01)
     [M:SOH4]ZFY1 = [M:SOH4]ZFY1 +[M:SOH4]DISCRGVAL6(Y)
     [M:SOH4]ZCX = [M:SOH4]ZCX +[M:SOH4]DISCRGVAL4(Y)
     [M:SOH4]ZFY = [M:SOH4]ZFY +[M:SOH4]DISCRGVAL5(Y)
     #[M:SOH4]GROPRI(Y) = arr([M:SOH4]GROPRI(Y),0.0001)
   [M:SOH4]NETPRI(Y) = arr((arr([M:SOH4]GROPRI(Y),0.0001)*(1-([M:SOH4]DISCRGVAL1(Y)+[M:SOH4]DISCRGVAL2(Y)+[M:SOH4]DISCRGVAL7(Y))*0.01)*[M:SOH4]QTY(Y)-([M:SOH4]DISCRGVAL3(Y)+[M:SOH4]DISCRGVAL4(Y)+[M:
& SOH4]DISCRGVAL5(Y)+[M:SOH4]DISCRGVAL6(Y)))/[M:SOH4]QTY(Y),0.000000001)

     If [M:SOH4]GROPRI(Y) = 0 & [M:SOH4]XPGNUM(Y) = ''
        X = X+1
     Endif
  Next
  Affzo [M:SOH4]ZSOHQTY,ZSUMAMT,ZSUMAMT,ZFL,ZCX,ZFY
#####非赠送产品价格为0提示
 If [M:SOH0]SOHTYP = 'SON' &   X>=1
    GERR = 1 : GMESSAGE =  '产品价格没有定义'
   OK = 0
 Endif
#######审核人2
   
       [M:SOH1]ZAUDITOR2 = "LGQ9305"
       
Affzo [M:SOH1]0-99
Return

######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH2) 2015/12/07 19:03:13 (ZERO)
######################################################################################
Subprog AM_ZDRN(VALEUR)
Variable Char    VALEUR()
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH4) 2015/12/16 09:09:53 (ZERO)
######################################################################################
Subprog AM_SAU(VALEUR)
Variable Char    VALEUR()

End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH4) 2015/12/17 20:19:28 (ZERO)
######################################################################################
Subprog AM_GROPRI(VALEUR)
Variable Decimal VALEUR
If GWEBSERV>0
Endif
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH4) 2015/12/18 14:52:19 (ZERO)
######################################################################################
Subprog AM_ITMREF(VALEUR)
Variable Char    VALEUR()
    If clalev([F:ITM1])=0 : Local File ITMMASTER  [F:ITM1] : Endif
    Read  [F:ITM1]ITM0 =VALEUR
    If !fstat
        [M:SOH4]ZITMDES2(nolign-1) = [F:ITM1]ITMDES2
    Endif
    Affzo [M:SOH4]ZITMDES2
    [M:SOH4]CCE7(nolign-1) = [M:SOH0]SOHTYP
    Affzo [M:SOH4]CCE7(nolign-1)
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH1) 2015/12/19 10:42:24 (SAGE)
######################################################################################
Subprog AM_REP(VALEUR)
Variable Char    VALEUR()
End


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


######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH4) 2016/01/08 19:12:01 (SAGE)
######################################################################################
Subprog AV_GROPRI(VALEUR)
Variable Decimal VALEUR

End


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


######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH4) 2016/01/12 18:35:04 (SAGE)
######################################################################################
Subprog AV_DISCRGVAL2(VALEUR)
Variable Decimal VALEUR
    If [M:SOH0]SOHTYP <> 'SON'
      VALEUR = 100
    Endif
End


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


######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH4) 2016/01/13 15:01:47 (SAGE)
######################################################################################
Subprog AV_DISCRGVAL1(VALEUR)
Variable Decimal VALEUR
    If [M:SOH0]SOHTYP <> 'SON'
      VALEUR = 0
    Endif
End


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


######################################################################################
## 由系统管理员添加的标签 (屏幕 SOH0) 2016/02/13 03:05:15 (SAGE)
######################################################################################
Subprog AM_SALFCY(VALEUR)
Variable Char    VALEUR()
    [M:SOH3]CCE(6) = [M:SOH0]SOHTYP
    Affzo [M:SOH3]CCE(6)
End


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



代码文件: SPEXPG

#<AdxTL>@(#)0.0.0.0 $Revision$ 促销政策
#
# 日期 (SAGE)
#
$ACTION
#Infbox ACTION
Case ACTION
  When "OUVRE"        :  Gosub OUVRE
  When "FILTRE"       :  Gosub FILTRE
  When "CREATION"     :  Gosub CREATION
  When "APRES_CRE"    :  Gosub APRES_CRE
  When "LIENS"        :  Gosub LIENS
  When "MODIF"        :  Gosub MODIF
  When "APRES_MOD"    :  Gosub APRES_MOD
  When "ANNULE"       :  Gosub ANNULE
  When "DEFLIG"       :  Gosub DEFLIG
  When "INICRE_LIG"   :  Gosub INI_LIG
  When "INIMOD_LIG"   :  Gosub INI_LIG
  When "INICRE"       :  Gosub INICRE
  When "SETBOUT"      :  Gosub SETBOUT
  When "EXEBOUT"      :  Gosub EXEBOUT
  When "RAZDUP"       :  Gosub RAZDUP
  When "RAZCRE"         : Gosub RAZCRE
#  When "CREATION"   : Gosub CREATION
  When "INIMOD"     : Gosub INIMOD
  When "AVANT_MOD"           : Gosub AVANT_MOD
    When "FILGAUCHE"    : Gosub FILGAUCHE
    Endcase
Return

$FILGAUCHE
    If currbox = "GAU_CHE"
        CRITERE = "[F:XPG]TRSFLG=GFLAG"
    ENDIF
Return

$RAZCRE
    Diszo [M:XPG0]XPGNUM
Return

$OUVRE
  Gosub DECLARE From TABLEAUX
  If !clalev([F:XLO]) : Local File XLINOBJ [F:XLO] : Endif
  Local Char    AUZFCY(15)
  Local Integer ACCFCY
  Local Char ZFCY(10)
  If !clalev([F:ZCPY]) : Local File COMPANY [ZCPY] : Endif

Return

$FILTRE
  Default File [XPG]
Return

$CREATION
  Gosub CREATION From TABLEAUX #处理主从表的模块
  If GOK < 1 Return Endif
  Gosub INIMOD
Return

$INIMOD
   Delete [F:XLO] Where XPGNUM = [M:XPG0]XPGNUM
#  For II = 0 To [M:XPG1]NBLIGD -1
#    [F:XLO]OBJ ='ITM'
#    [F:XLO]VCRNUM = [M:XPG1]DCBITM(II)
#    [F:XLO]XPGNUM = [M:XPG0]XPGNUM
#    [F:XLO]XLOLIN = (II+1)*1000
#    Write [F:XLO]
#  Next
  For II = 0 To [M:XPG1]NBLIGA -1
    [F:XLO]OBJ ='CCE'
    [F:XLO]XPGNUM = [M:XPG0]XPGNUM
    [F:XLO]VCRNUM = [M:XPG1]ZCCE1(II)
    [F:XLO]XLOLIN = (II+1)*1000
    Write [F:XLO]
  Next
  For II = 0 To [M:XPG1]NBLIGB -1
    [F:XLO]OBJ ='ADI'
    [F:XLO]XPGNUM = [M:XPG0]XPGNUM
    [F:XLO]VCRNUM = [M:XPG1]ZCCE2(II)
    [F:XLO]XLOLIN = (II+1)*1000
    Write [F:XLO]
  Next
  For II = 0 To [M:XPG1]NBLIGC -1
    [F:XLO]OBJ ='BPC'
    [F:XLO]XPGNUM = [M:XPG0]XPGNUM
    [F:XLO]VCRNUM = [M:XPG1]ZCCE3(II)
    [F:XLO]XLOLIN = (II+1)*1000
    Write [F:XLO]
  Next
Return

$APRES_CRE
  Gosub LIENS From TABLEAUX
Return

$LIENS
  Gosub LIENS From TABLEAUX
    For II = 0 To 9
        If [F:XPG]DCBITM(II)<>""
            [M:XPG1]DCBITM(II) = [F:XPG]DCBITM(II)
        Else
            Break
        Endif
    Next
    If II>0
          [M:XPG1]NBLIGD = II
    Endif
    II =0
    For [XLO] Where [XLO]XPGNUM = [M:XPG0]XPGNUM and OBJ='CCE'
        [M:XPG1]ZCCE1(II) = [F:XLO]VCRNUM
        II+=1
    Next
    If II>0
          [M:XPG1]NBLIGA = II
    Endif
    II =0
    For [XLO] Where [XLO]XPGNUM = [M:XPG0]XPGNUM and OBJ='ADI'
        [M:XPG1]ZCCE2(II) = [F:XLO]VCRNUM
        II+=1
    Next
    If II>0
          [M:XPG1]NBLIGB = II
    Endif
        II =0
    For [XLO] Where [XLO]XPGNUM = [M:XPG0]XPGNUM and OBJ='BPC'
        [M:XPG1]ZCCE3(II) = [F:XLO]VCRNUM
        II+=1
    Next
    If II>0
          [M:XPG1]NBLIGC = II
    Endif
        Affzo [M:XPG1]0-99
Return

$MODIF
  Gosub MODIF From TABLEAUX
  If GOK < 1 Return Endif
Return
$AVANT_MOD
  If [M:XPG0]XPGFLG >1
    OK = 0
  Endif
Return
$APRES_MOD
  Gosub LIENS From TABLEAUX

Return

$ANNULE
  Gosub ANNULE From TABLEAUX
  If GOK < 1 Return Endif
  Delete [F:XLO] Where [F:XLO]XPGNUM = [M:XPG0]XPGNUM
Return

$DEFLIG
  Default Mask [M:XPG1]
  Default File [XPL]
  #从表单号=主屏单
  CRIT ='[F:XPL]XPGNUM="'+[M:XPG0]XPGNUM+'"'
  # 从表名  从表缩写
  FICLIG = "XPROITMLIS" : ABLIG ="XPL"
  #  从表行号
  ZONLIG = "XPGLIN"
Return

$INI_LIG
# 从表单号=主表单号
  [F:XPL]XPGNUM = [F:XPG]XPGNUM
Return

$INICRE
    Local Integer STAT
    Read [F:ZCPY]CPY0 = [M:XPG1]CPY
    If !fstat
        ZFCY = [F:ZCPY]MAIFCY
    Endif
    #生成序列号
    Call NUMERO ('XPG',ZFCY,date$,"",[M:XPG0]XPGNUM,STAT) From SUBANM
    If STAT = 0
        [F:XPG]XPGNUM= [M:XPG0]XPGNUM
        Affzo [M:XPG0]XPGNUM
    Else
       GERR=1:GMESSAGE = mess(60,199,1) : GOK=0 : Return
    Endif
    Gosub INIMOD
Return

$SETBOUT
  Call DROITSITE([M]FCY,[L]AUZFCY,[L]ACCFCY) From CPTSUB
#  Infbox AUZFCY

  # If !instr(1,[L]AUZFCY,"1") | find(GREP,'C','M','S') | [M:XPG0]XPGFLG<>1
     #  Call VIREBOUT(CHAINE,"1") From GOBJET
 #  Endif
 #  If !instr(1,[L]AUZFCY,"2") | find(GREP,'C','M','S') | [M:XPG0]XPGFLG<>2
    #   Call VIREBOUT(CHAINE,"2") From GOBJET
 #  Endif
If !clalev([F:AUS1]):Local File AUTILIS [F:AUS1] : Endif
   Read [F:AUS1]CODUSR =  GUSER
#非自己的促销政策单子不能提交、关闭、修改、删除等
 If   [M:XPG0]CREUSR <> GUSER & [F:AUS1]CCE(1)<>[M:XPG1]MANAX3 & GUSER <>'LGQ'
      Call VIREBOUT(CHAINE,"2A1M34") From GOBJET
  Endif
#品牌经理可以修改删除自己品牌下的促销政策
If   [F:AUS1]CCE(1)=[M:XPG1]MANAX3 
      Call VIREBOUT(CHAINE,"124") From GOBJET
  Endif
#草稿状态的促销政策单子可以提交
 If  [M:XPG0]XPGFLG=1 
      Call VIREBOUT(CHAINE,"123") From GOBJET
  Endif
#品牌经理只能看到自己品牌的促销政策的审核按钮
 If  [M:XPG0]XPGFLG=4 & [F:AUS1]CCE(1)=[M:XPG1]MANAX3
      Call VIREBOUT(CHAINE,"41") From GOBJET
  Endif
#品牌经理不能看到其他品牌的促销政策的审核按钮
 If  [M:XPG0]XPGFLG=4 & [F:AUS1]CCE(1)<>[M:XPG1]MANAX3
      Call VIREBOUT(CHAINE,"341") From GOBJET
  Endif
#总经理账号才能看到总经理审核按钮
 If  [M:XPG0]XPGFLG=5 & GUSER='LGQ'
      Call VIREBOUT(CHAINE,"34") From GOBJET
  Endif
#
 If  [M:XPG0]XPGFLG=5 & GUSER<>'LGQ'
      Call VIREBOUT(CHAINE,"341") From GOBJET
  Endif
 If  [M:XPG0]XPGFLG=2 | [M:XPG0]XPGFLG=3
      Call VIREBOUT(CHAINE,"341") From GOBJET
  Endif
Return

$EXEBOUT
    Case BOUT
        When "1" :
            [F:XPG]XPGFLG = 2
            Rewrite [F:XPG]
            [M:XPG0]XPGFLG =2
            Affzo [M:XPG0]0-99
            Gosub LIENS #From SPEXPG
            Gosub SETBOUT
        When "2" :
            [F:XPG]XPGFLG = 3
            Rewrite [F:XPG]
            [M:XPG0]XPGFLG =3
            Affzo [M:XPG0]XPGFLG
            Gosub LIENS #From SPEXPG
            Gosub SETBOUT
   
      When "3" :
            [F:XPG]XPGFLG =5
            Rewrite [F:XPG]
            [M:XPG0]XPGFLG =5
            Affzo [M:XPG0]XPGFLG
            Gosub LIENS #From SPEXPG
            Gosub SETBOUT

   When "4" :
            [F:XPG]XPGFLG =4
            Rewrite [F:XPG]
            [M:XPG0]XPGFLG =4
            Affzo [M:XPG0]XPGFLG
            Gosub LIENS #From SPEXPG
            Gosub SETBOUT
    Endcase
Return

$RAZDUP
    [M:XPG0]XPGFLG = 1
Return
#

######################################################################################
## 由系统管理员添加的标签 (屏幕 XPG1) 2015/08/25 12:37:20 (ZERO)
######################################################################################
Subprog C_ENDDAT(VALEUR)
Variable Date    VALEUR
    If VALEUR <[M:XPG1]STRDAT
        Call ECR_TRACE('结束日期<开始日期', 0) From GESECRAN
        mkstat = 2
    Endif
End

Subprog AM_LIMITNUM(VALEUR)
Variable Decimal VALEUR
    [M:XPG1]USENUM = VALEUR
    Affzo [M:XPG1]USENUM
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 XPG1) 2015/08/25 12:42:12 (ZERO)
######################################################################################
Subprog C_DCBITM(VALEUR)
Variable Char    VALEUR()
    For II = 0  To [M:XPG1]NBLIGD -1
 #       Infbox(num$(nolign))
        If nolign <> II+1 and [M:XPG1]DCBITM(II) = VALEUR
            Call ECR_TRACE('行:'+num$(II+1)+' 已经存在的产品', 0) From GESECRAN
            mkstat = 2
            Break
        Endif
    Next

End

Subprog C_ZCCE1(VALEUR)
Variable Char    VALEUR()
    For II = 0  To [M:XPG1]NBLIGA -1
        If nolign <> II+1 and [M:XPG1]ZCCE1(II) = VALEUR
            Call ECR_TRACE('行:'+num$(II+1)+' 已经存在的渠道', 0) From GESECRAN
            mkstat = 2
            Break
        Endif
    Next
End

Subprog C_ZCCE2(VALEUR)
Variable Char    VALEUR()
    For II = 0  To [M:XPG1]NBLIGB -1
        If nolign <> II+1 and [M:XPG1]ZCCE2(II) = VALEUR
            Call ECR_TRACE('行:'+num$(II+1)+' 已经存在的区域', 0) From GESECRAN
            mkstat = 2
            Break
        Endif
    Next
End

Subprog C_ZCCE3(VALEUR)
Variable Char    VALEUR()
    For II = 0  To [M:XPG1]NBLIGC -1
        If nolign <> II+1 and [M:XPG1]ZCCE3(II) = VALEUR
            Call ECR_TRACE('行:'+num$(II+1)+' 已经存在的客户', 0) From GESECRAN
            mkstat = 2
            Break
        Endif
    Next
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 XPG1) 2015/08/25 13:18:16 (ZERO)
######################################################################################
Subprog C_ITMREF(VALEUR)
Variable Char    VALEUR()
    For II = 0  To [M:XPG1]NBLIG -1
        If nolign <> II+1 and [M:XPG1]ITMREF(II) = VALEUR
            Call ECR_TRACE('行:'+num$(II+1)+' 已经存在的产品', 0) From GESECRAN
            mkstat = 2
            Break
        Endif
    Next
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 XPG1) 2015/08/25 15:34:27 (ZERO)
######################################################################################
Subprog S_ITMREF(VALEUR)
Variable Char    VALEUR()
End


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



代码文件: XTRTFROBPC

#<AdxTL>@(#)0.0.0.0 $Revision$
$ACTION
    Case ACTION
        When "INIT"     : Gosub INIT
        When "EXEC"     : Gosub EXEC
        When "INIT_DIA" : Gosub INIT_DIA
        When Default
    Endcase
Return

$INIT
Return

$CLECX
    For II =  [M:SOH4]NBLIG - 1 To 0 Step -1
        nolign = II + 1
        #如果是买赠,则删除行
        If [M:SOH4]XPGNUM(II)<>"" and [M:SOH4]GROPRI(II)=0
              Call AVANT_NBLIG From W1SOH4
              status=65
              Dela II,1,[M:SOH4]NBLIG-1 [M:SOH4]NBLIG
              Call APRES_NBLIG From W1SOH4
              [M:SOH4]NBLIG -= 1
              Affzo [M:SOH4]0-99
        Endif

    Next
Return

$EXEC
    Local Decimal LAMT : LAMT = 0
    Local Decimal CAMT : CAMT = 0
    Local Decimal TAMT : TAMT = 0
    If !clalev([F:ITM]) : Local File ITMMASTER [F:ITM] : Endif
    If !clalev([F:ITS]) : Local File ITMSALES [F:ITS] : Endif

    Default Mask [M:SOH0]
    Default Mask [M:SOH1]
    Default Mask [M:SOH4]


    #处理之前的折扣
    Gosub CLECX
    #处理折扣


    #处理买赠
    Local Char LSAU :Raz LSAU
    For II = 0 To  [M:XFB1]NBLIG - 1
        If [M:XFB1]ISSEL(II) = 2 and [M:XFB1]USENUM(II) > 0#如果勾选了该策略 #如果买赠
                LAMT = [M:XFB1]USENUM(II)
                nolign = [M:SOH4]NBLIG+1
                Call IB_NBLIG From W1SOH4
                Call AV_NBLIG From W1SOH4
                Call C_NBLIG From W1SOH4
                Call AVANT_NBLIG From W1SOH4
                Call APRES_NBLIG From W1SOH4

                Read [F:ITM]ITM0 = [M:XFB1]XDCBITM(II)
                Read [F:ITS]ITS0 = [M:XFB1]XDCBITM(II)
                Call IB_ITMREF([M:XFB1]XDCBITM(II)) From W1SOH4
                Call AV_ITMREF([M:XFB1]XDCBITM(II)) From SUBSOH
                Call AS_ITMREF([M:XFB1]XDCBITM(II)) From W1SOH4
                Call C_ITMREF([M:XFB1]XDCBITM(II)) From W1SOH4
                Call AM_ITMREF([M:XFB1]XDCBITM(II)) From W1SOH4
                [M:SOH4]ITMREF(nolign - 1)  =   [M:XFB1]XDCBITM(II)
                LSAU = [M:SOH4]STU(nolign-1)
                If [M:XFB1]ZFROUOM(II) = 2
                    Call AM_SAU(LSAU) From W1SOH4

                    [M:SOH4]SAU(nolign-1) = [M:SOH4]STU(nolign-1)
                    [M:SOH4]SAUSTUCOE(nolign-1) = 1
                    Call AM_SAUSTUCOE([M:SOH4]SAUSTUCOE(nolign-1)) From W1SOH4

                Endif
                Call AP_QTY(LAMT) From W1SOH4
                Call AM_QTY(LAMT) From W1SOH4
                [M:SOH4]QTY(nolign - 1)     =   LAMT
                CAMT = 0
                Call AM_GROPRI(CAMT) From W1SOH4
                [M:SOH4]GROPRI(nolign - 1)  =   0

                Call APRES_NBLIG From W1SOH4
                [M:SOH4]XPGNUM(nolign - 1)  =   [M:XFB1]XPGNUM(II)
                [M:SOH4]NBLIG += 1
        Endif
    Next

Affzo [M:SOH4]0-99
IMOD =1

Return

$INIT_DIA

    If !clalev([F:XPG1]) : Local File XPRMITMGRP [F:XPG1] : Endif
    If !clalev([F:XIRL])  : Local File XITMREFLIST [F:XIRL] :Endif
    nolign = 1
    For [F:XIRL] Where BPCORD = [M:SOH0]BPCORD & USABLE>USEQTY# and ([F:XPG1]USENUM<[F:XPG1]LIMITNUM or [F:XPG1]LIMITNUM=0)
        #查找客户当前已经使用的额度和次数
        Read [F:XPG1]XPG0 = [F:XIRL]XPGNUM
        If !fstat
            [M:XFB1] = [F:XPG1]
            [M:XFB1]USABLE(nolign-1) = [F:XIRL]USABLE-[F:XIRL]USEQTY
            [M:XFB1]XDCBITM(nolign-1) = [F:XPG1]DCBITM(0)
            For II =  1 To 9
#             Infbox "-"+ [F:XPG1]DCBITM(1)+"-"
                If [F:XPG1]DCBITM(II)<>''
                    nolign += 1
                    [M:XFB1] = [F:XPG1]
                    [M:XFB1]USABLE(nolign-1) = [F:XIRL]USABLE-[F:XIRL]USEQTY
                    [M:XFB1]XDCBITM(nolign-1) = [F:XPG1]DCBITM(II)
                Endif
            Next
            nolign += 1
        Endif


    Next
    [M:XFB1]NBLIG = nolign-1
    Affzo [M:XFB1]0-20
#    Infbox num$(nolign)
Return

######################################################################################
## 由系统管理员添加的标签 (屏幕 XFS1) 2015/08/31 20:44:31 (ZERO)
######################################################################################
Subprog AM_ISSEL(VALEUR)
Variable Integer VALEUR

 #   Affzo [M]0-99
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 XFS1) 2015/09/06 17:49:50 (ZERO)
######################################################################################
Subprog IB_XPGNUM
End

Subprog AV_CPY(VALEUR)
Variable Char    VALEUR()
End

Subprog AS_DES(VALEUR)
Variable Char    VALEUR()
End

Subprog C_ZAX3(VALEUR)
Variable Char    VALEUR()
End

Subprog AP_XPGTYP(VALEUR)
Variable Integer VALEUR
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 XFS1) 2015/09/06 17:51:51 (ZERO)
######################################################################################
Subprog D_SALAMT(VALEUR)
Variable Decimal VALEUR
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 XFS1) 2016/01/21 09:30:40 (ZERO)
######################################################################################
Subprog IB_LIMITAMT
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 XFB1) 2016/05/05 22:28:16 (ZERO)
######################################################################################
Subprog C_USENUM(VALEUR)
Variable Decimal VALEUR
  Local Decimal TSNUM : Raz TSNUM
  TSNUM = sigma(I=0,[M:XFB1]NBLIG-1,(I<>nolign-1)*([M:XFB1]XPGNUM(I)=[M:XFB1]XPGNUM(nolign-1))*[M:XFB1]USENUM(I))+VALEUR
  If TSNUM>[M:XFB1]USABLE(nolign-1)
    mkstat = 2
    GERR =1 : GMESSAGE="同一促销不同产品的使用数量之和不能超过可用数量"
    End :
  Endif
  If VALEUR>0
    [M:XFB1]ISSEL(nolign-1) =2
    Affzo     [M:XFB1]ISSEL(nolign-1)
  Endif
End


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


代码文件: XTRTFROSOH

#<AdxTL>@(#)0.0.0.0 $Revision$ 
$ACTION
    Case ACTION
        When "INIT"     : Gosub INIT
        When "EXEC"     : Gosub EXEC
        When "INIT_DIA" : Gosub INIT_DIA
        When Default
    Endcase
Return

$INIT
Return

$CLECX
    For II =  [M:SOH4]NBLIG - 1 To 0 Step -1
        nolign = II + 1
        #如果是买赠,则删除行
        If [M:SOH4]XPGNUM(II)<>"" and [M:SOH4]GROPRI(II)=0
              Call AVANT_NBLIG From W1SOH4
              status=65
              Dela II,1,[M:SOH4]NBLIG-1 [M:SOH4]NBLIG
              Call APRES_NBLIG From W1SOH4
              [M:SOH4]NBLIG -= 1
              Affzo [M:SOH4]0-99
        Endif
        #如果是折扣,则去掉折扣
        If [M:SOH4]XPGNUM(II)<>""

            Call AVANT_NBLIG From W1SOH4
            Call ="AM_DISCRGVAL"+num$(PRSNUM+1)+"" With TAMT From W1SOH4
            Assign "[M:SOH4]DISCRGVAL"+num$(PRSNUM+1)+"(II)" With 0
            [M:SOH4]XPGNUM(II)  = ""
            Call APRES_NBLIG From W1SOH4
        Endif
    Next
Return

$EXEC
    Local Decimal LAMT : LAMT = 0
    Local Decimal CAMT : CAMT = 0
    Local Decimal TAMT : TAMT = 0
    If !clalev([F:ITM]) : Local File ITMMASTER [F:ITM] : Endif
    If !clalev([F:ITS]) : Local File ITMSALES [F:ITS] : Endif
    If !clalev([F:PRS1]) : Local File PRICSTRUCT [F:PRS1] : Endif
    Local Integer PRSNUM : PRSNUM = -1
    Default Mask [M:SOH0]
    Default Mask [M:SOH1]
    Default Mask [M:SOH4]
    #取得促销对应的价格结构
    For [PRS1] Where BPCBPS=1
        For I = 0  To 8
            If [PRS1]XEXT(I) = 3
                PRSNUM = I
                Break 2
            Endif
        Next I
    Next
    #如果没有价格结构使用促销政策,直接结束
    If PRSNUM = -1
        Return
    Endif
    #处理之前的折扣
    Gosub CLECX
    #处理折扣

    For II = 0 To  [M:XFS1]NBLIG - 1
        If [M:XFS1]ISSEL(II) = 2 and [M:XFS1]XPGTYP(II) = 1#如果勾选了该策略 #如果是折扣返
            If [M:XFS1]SALAMT(II)>0 #如果满 >0
                # int(订单金额/满 )* 减 > 限额
                If int([M:XFS1]COUAMT(II)/[M:XFS1]SALAMT(II))*[M:XFS1]DCBAMT(II)>[M:XFS1]LIMITAMT(II)
& and [M:XFS1]LIMITAMT(II)>0
                    LAMT = [M:XFS1]LIMITAMT(II)
                Else
                    # int(订单金额/满 )* 减
                    LAMT = int([M:XFS1]COUAMT(II)/[M:XFS1]SALAMT(II))*[M:XFS1]DCBAMT(II)
                Endif
#                If [M:XFS1]XPGTYP(II) = 1 #如果是折扣返
                For JJ = 0 To [M:SOH4]NBLIG - 1
                    #折扣3 = 数量*净价* 折扣额/订单总额
                    nolign = JJ+1
                    Call AVANT_NBLIG From W1SOH4
                    If JJ =  [M:SOH4]NBLIG - 1
                        #如果是最后一行 为剩余折扣
                        TAMT = LAMT - CAMT
                    Else
                        #折扣为 数量*净价* 折扣额/订单总额
                        TAMT = ar2([M:SOH4]LINORDATI(JJ)*LAMT/[M:SOH4]ORDINVATI)
                        #CAMT 为处理尾差
                        CAMT += TAMT
                    Endif
                    Call ="AM_DISCRGVAL"+num$(PRSNUM+1)+"" With TAMT From W1SOH4
                    Assign "[M:SOH4]DISCRGVAL"+num$(PRSNUM+1)+"(JJ)" With TAMT

                    [M:SOH4]XPGNUM(JJ) = [M:XFS1]XPGNUM(II)
                    Call APRES_NBLIG From W1SOH4
                Next

            Endif
        Endif
    Next
    #处理买赠
    Local Char LSAU :Raz LSAU
    For II = 0 To  [M:XFS1]NBLIG - 1
        If [M:XFS1]ISSEL(II) = 2 and [M:XFS1]XPGTYP(II) = 2#如果勾选了该策略 #如果买赠
            If [M:XFS1]SALAMT(II)>0 #如果满 >0
                If int([M:XFS1]COUAMT(II)/[M:XFS1]SALAMT(II))*[M:XFS1]DCBAMT(II)>[M:XFS1]LIMITAMT(II)
& and [M:XFS1]LIMITAMT(II)>0
                    LAMT = [M:XFS1]LIMITAMT(II)
                Else
                    # int(订单金额/满 )* 减
                    LAMT = int([M:XFS1]COUAMT(II)/[M:XFS1]SALAMT(II))*[M:XFS1]DCBAMT(II)
                Endif
                nolign = [M:SOH4]NBLIG+1
                Call IB_NBLIG From W1SOH4
                Call AV_NBLIG From W1SOH4
                Call C_NBLIG From W1SOH4
                Call AVANT_NBLIG From W1SOH4
                Call APRES_NBLIG From W1SOH4

                Read [F:ITM]ITM0 = [M:XFS1]XDCBITM(II)
                Read [F:ITS]ITS0 = [M:XFS1]XDCBITM(II)
                Call IB_ITMREF([M:XFS1]XDCBITM(II)) From W1SOH4
                Call AV_ITMREF([M:XFS1]XDCBITM(II)) From SUBSOH
                Call AS_ITMREF([M:XFS1]XDCBITM(II)) From W1SOH4
                Call C_ITMREF([M:XFS1]XDCBITM(II)) From W1SOH4
                Call AM_ITMREF([M:XFS1]XDCBITM(II)) From W1SOH4
                [M:SOH4]ITMREF(nolign - 1)  =   [M:XFS1]XDCBITM(II)
                LSAU = [M:SOH4]STU(nolign-1)
                If [M:XFS1]ZFROUOM(II) = 2
                    Call AM_SAU(LSAU) From W1SOH4

                    [M:SOH4]SAU(nolign-1) = [M:SOH4]STU(nolign-1)
                    [M:SOH4]SAUSTUCOE(nolign-1) = 1
                    Call AM_SAUSTUCOE([M:SOH4]SAUSTUCOE(nolign-1)) From W1SOH4

                Endif
                Call AP_QTY(LAMT) From W1SOH4
                Call AM_QTY(LAMT) From W1SOH4
                [M:SOH4]QTY(nolign - 1)     =   LAMT
                CAMT = 0
                Call AM_GROPRI(CAMT) From W1SOH4
                [M:SOH4]GROPRI(nolign - 1)  =   0

                Call APRES_NBLIG From W1SOH4
                [M:SOH4]XPGNUM(nolign - 1)  =   [M:XFS1]XPGNUM(II)
                [M:SOH4]NBLIG += 1
            Endif
        Endif
    Next
Dbgaff
Affzo [M:SOH4]0-99
IMOD =1

Return

$INIT_DIA

    If !clalev([F:XFS0]) : Local File XPGFORSOH [XFS0] : Endif
    If !clalev([F:XPU])  : Local File XBPCUSEXPG [XPU] :Endif
    nolign = 0
    For [F:XFS0] Where SOHNUM = [M:SOH0]SOHNUM and ([F:XFS0]USENUM<[F:XFS0]LIMITNUM or [F:XFS0]LIMITNUM=0)
        #查找客户当前已经使用的额度和次数
        Read [F:XPU]XPU0 = [F:XFS0]XPGNUM;[M:SOH0]BPCORD;[F:XFS0]CPY
        If !fstat
            If [F:XFS0]XPGTYP = 1
                If ([XPU]COUAMT>=[F:XFS0]LIMITAMT and [F:XFS0]LIMITAMT>0)
& or ([XPU]COUNUM>=[F:XFS0]LIMITNUM and [F:XFS0]LIMITNUM>0)
                    #跳出本次循环
                    Goto CONTINUE
                Endif
                        nolign +=1
                [M:XFS1]USEAMT(nolign - 1) = [XPU]COUAMT
                [M:XFS1]USENUM(nolign - 1) = [XPU]COUNUM
            Else
                If ([XPU]QTY>=[F:XFS0]LIMITAMT and [F:XFS0]LIMITAMT>0)
& or ([XPU]COUNUM>=[F:XFS0]LIMITNUM and [F:XFS0]LIMITNUM>0)
                    #跳出本次循环
                    Goto CONTINUE
                Endif
                nolign +=1
                [M:XFS1]USEAMT(nolign - 1) = [XPU]QTY
                [M:XFS1]USENUM(nolign - 1) = [XPU]COUNUM
            Endif
        Else
            nolign +=1
        Endif
        [M:XFS1] = [F:XFS0]
        [M:XFS1]XDCBITM(nolign-1) = [F:XFS0]DCBITM(0)
        For II =  1 To 9
            If [F:XFS0]DCBITM(II)<>''
                nolign += 1
                [M:XFS1] = [F:XFS0]
                [M:XFS1]XDCBITM(nolign-1) = [F:XFS0]DCBITM(II)
            Endif
        Next
        CONTINUE
    Next
    [M:XFS1]NBLIG = nolign
    Affzo [M:XFS1]0-20
#    Infbox num$(nolign)
Return

######################################################################################
## 由系统管理员添加的标签 (屏幕 XFS1) 2015/08/31 20:44:31 (ZERO)
######################################################################################
Subprog AM_ISSEL(VALEUR)
Variable Integer VALEUR
    Local Integer XTYP :  XTYP = [M:XFS1]XPGTYP(nolign -1)
    For II= 0 To [M:XFS1]NBLIG -1
        If II<> nolign-1 and [M:XFS1]XPGTYP(II) = XTYP and VALEUR =2
            [M:XFS1]ISSEL(II) = 1
            Affzo [M:XFS1]ISSEL(II)
        Endif
    Next
 #   Affzo [M]0-99
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 XFS1) 2015/09/06 17:49:50 (ZERO)
######################################################################################
Subprog IB_XPGNUM
End

Subprog AV_CPY(VALEUR)
Variable Char    VALEUR()
End

Subprog AS_DES(VALEUR)
Variable Char    VALEUR()
End

Subprog C_ZAX3(VALEUR)
Variable Char    VALEUR()
End

Subprog AP_XPGTYP(VALEUR)
Variable Integer VALEUR
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 XFS1) 2015/09/06 17:51:51 (ZERO)
######################################################################################
Subprog D_SALAMT(VALEUR)
Variable Decimal VALEUR
End


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

######################################################################################
## 由系统管理员添加的标签 (屏幕 XFS1) 2016/01/21 09:30:40 (ZERO)
######################################################################################
Subprog IB_LIMITAMT
End


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


操作: CONSXIR 货返计算

项目
查询 XIR
模板 查询
类型 DCSSMRC
主窗体
标准窗体
初始录入 没有初始录入
标准过程
特殊过程
子程序
  • 参数
    | 参数 | 参数描述 | 变量类型 |
    |-|-|

操作: XTRTFROBPC 客户期间货返

项目
查询
模板 标准处理
类型 其他
主窗体
标准窗体 XOFB
初始录入 对话框
标准过程
特殊过程 XTRTFROBPC
子程序
  • 参数
    | 参数 | 参数描述 | 变量类型 |
    |-|-|

操作: XTRTFROSOH 订单相关促销策略

项目
查询
模板 标准处理
类型 其他
主窗体
标准窗体 XOFS
初始录入 对话框
标准过程
特殊过程 XTRTFROSOH
子程序
  • 参数
    | 参数 | 参数描述 | 变量类型 |
    |-|-|

功能: CONSXIR 货返计算

项目
对象类型
地点授权
  • 选项
    | 代码| 名称|
    |-|-|
  • 操作 CONSXIR 参数
    | 参数 | 参数描述 | 参数值 |
    |-|-|

功能: GESXITM 产品

项目
对象类型
地点授权
  • 选项
    | 代码| 名称|
    |-|-|
  • 操作 GOBJET 参数
    | 参数 | 参数描述 | 参数值 |
    |-|-|
    | OBJZON | | "" |
    | | | |

功能: GESXPG 促销政策

项目
对象类型
地点授权
  • 选项
    | 代码| 名称|
    |-|-|
  • 操作 GOBJET 参数
    | 参数 | 参数描述 | 参数值 |
    |-|-|
    | OBJZON | | "" |
    | | | |

功能: GESZITM 产品

项目
对象类型
地点授权
  • 选项
    | 代码| 名称|
    |-|-|
  • 操作 GOBJET 参数
    | 参数 | 参数描述 | 参数值 |
    |-|-|
    | OBJZON | | "" |
    | | | |

数据类型: XITM 产品参考

表: PRICSTRUCT 价格结构 (Cust/Supp)

  • 字段
    | 代码 | 描述| 数据类型 | 长度 | 分析元 | 业务代码 | 是否必填 |
    |-|-|-|-|-|
    | XEXT | 扩展功能接口 | M( 4004 ) | 15| 9 | XX003 | 否 |
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|

表: SORDERP 销售订单价格

  • 字段
    | 代码 | 描述| 数据类型 | 长度 | 分析元 | 业务代码 | 是否必填 |
    |-|-|-|-|-|
    | XPGNUM | 促销策略编号 | VCR | 0| 1 | XX003 | 否 |
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|

表: XITMREFLIST 货返列表

  • 置零: 是
  • 标题:
  • 字段
    | 代码 | 描述| 数据类型 | 长度 | 分析元 | 业务代码 | 是否必填 |
    |-|-|-|-|-|
    | XPGNUM | 编号 | VCR | 0| 1 | | 否 |
    | BPCORD | 订单客户 | BPR | 0| 1 | | 是 |
    | USABLE | 可用 | DCB | 9.2| 1 | | 否 |
    | USEQTY | 已消耗数量 | DCB | 9.2| 1 | | 否 |
    | CREDATTIM | 日期时间 | ADATIM | 0| 1 | | 否 |
    | UPDDATTIM | 日期时间 | ADATIM | 0| 1 | | 否 |
    | AUUID | 唯一识别码 | AUUID | 0| 1 | | 否 |
    | CREUSR | 用户 | AUS | 0| 1 | | 否 |
    | UPDUSR | 用户 | AUS | 0| 1 | | 否 |
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|
    | XIRL0 | XPGNUM+BPCORD | 否 | |

表: XLINOBJ 促销政策相关表

  • 置零: 是
  • 标题:
  • 字段
    | 代码 | 描述| 数据类型 | 长度 | 分析元 | 业务代码 | 是否必填 |
    |-|-|-|-|-|
    | OBJ | 对象 | A | 5| 1 | | 否 |
    | VCRNUM | 凭证 | VCR | 0| 1 | | 否 |
    | XLOLIN | | L | 8| 1 | | 否 |
    | XPGNUM | 编号 | VCR | 0| 1 | | 否 |
    | CREDATTIM | 日期时间 | ADATIM | 0| 1 | | 否 |
    | UPDDATTIM | 日期时间 | ADATIM | 0| 1 | | 否 |
    | AUUID | 唯一识别码 | AUUID | 0| 1 | | 否 |
    | CREUSR | 用户 | AUS | 0| 1 | | 否 |
    | UPDUSR | 用户 | AUS | 0| 1 | | 否 |
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|
    | XLO0 | OBJ+XPGNUM+XLOLIN | 否 | |

表: XPRMITMGRP 促销政策

  • 置零: 是
  • 标题: DES
  • 字段
    | 代码 | 描述| 数据类型 | 长度 | 分析元 | 业务代码 | 是否必填 |
    |-|-|-|-|-|
    | TRSFLG | 交易类型 | A | 10| 1 | | 否 |
    | XPGNUM | 编号 | VCR | 0| 1 | | 否 |
    | CPY | 公司 | CPY | 0| 1 | | 否 |
    | FCY | 地点 | FCY | 0| 1 | | 是 |
    | DES | 描述 | DES | 0| 1 | | 否 |
    | XPGTYP | 促销方式 | M( 4000 ) | 15| 1 | | 否 |
    | XPGFLG | 状态 | M( 4002 ) | 15| 1 | | 否 |
    | ZAX3 | 品牌 | CCE | 0| 1 | | 否 |
    | STRDAT | 开始日期 | D | 0| 1 | | 否 |
    | ENDDAT | 结束日期 | D | 0| 1 | | 否 |
    | XPGPRO | 政策说明 | A | 200| 1 | | 否 |
    | LIMITAMT | 每客户限额 | DCB | 9.2| 1 | | 否 |
    | LIMITNUM | 每客户限次 | DCB | 9.2| 1 | | 否 |
    | USENUM | 已用次数 | DCB | 9.2| 1 | | 否 |
    | SALAMT | 满 | DCB | 9.2| 1 | | 否 |
    | DCBAMT | 减(赠) | DCB | 9.2| 1 | | 否 |
    | DCDTYP | 扣减依据 | M( 4001 ) | 15| 1 | | 否 |
    | DCBITM | 免费产品 | ITM | 0| 10 | | 否 |
    | ISNOTBPC | 客户列表为排除客户 | M( 1 ) | 4| 1 | | 否 |
    | ISITMLIS | 只有列表产品生效 | M( 1 ) | 4| 1 | | 否 |
    | CREDATTIM | 日期时间 | ADATIM | 0| 1 | | 否 |
    | UPDDATTIM | 日期时间 | ADATIM | 0| 1 | | 否 |
    | AUUID | 唯一识别码 | AUUID | 0| 1 | | 否 |
    | CREUSR | 用户 | AUS | 0| 1 | | 否 |
    | UPDUSR | 用户 | AUS | 0| 1 | | 否 |
    | ZRATE | 厂家承担比例 | DCB | 9.4| 1 | | 否 |
    | ZFROUOM | 以存货单位计算 | M( 1 ) | 4| 1 | | 否 |
    | MANAX3 | 品牌经理 | CCE | 0| 1 | | 否 |
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|
    | XPG0 | XPGNUM | 否 | |

表: XPROITMLIS 参加促销的产品

  • 置零: 是
  • 标题:
  • 字段
    | 代码 | 描述| 数据类型 | 长度 | 分析元 | 业务代码 | 是否必填 |
    |-|-|-|-|-|
    | ZTSICOD | 系列 | ADI | 0| 1 | | 否 |
    | ITMREF | 产品 | ITM | 0| 1 | | 是 |
    | ITMDES1 | 描述 | DES | 0| 1 | | 否 |
    | XPGNUM | 编号 | VCR | 0| 1 | | 否 |
    | XPGLIN | | L | 8| 1 | | 否 |
    | NESCHK | 必选 | M( 1 ) | 4| 1 | | 否 |
    | MINAMT | 最小值 | MD1 | 0| 1 | | 否 |
    | CREDATTIM | 日期时间 | ADATIM | 0| 1 | | 否 |
    | UPDDATTIM | 日期时间 | ADATIM | 0| 1 | | 否 |
    | AUUID | 唯一识别码 | AUUID | 0| 1 | | 否 |
    | CREUSR | 用户 | AUS | 0| 1 | | 否 |
    | UPDUSR | 用户 | AUS | 0| 1 | | 否 |
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|
    | XPL0 | XPGNUM+XPGLIN | 否 | |

视图: XBPCUSEXPG 客户订单策略使用汇总

  • SQL
SELECT CPY_0,XPGNUM_0,BPCORD_0,SUM(QTY),SUM(COUAMT),SUM(COUNUM) ,'','',1 FROM (
SELECT P.CPY_0,P.SOHNUM_0,P.BPCORD_0,P.XPGNUM_0,SUM(Q.QTYSTU_0/I.SAUSTUCOE_0) QTY,SUM(DISCRGVAL3_0) COUAMT,1 COUNUM  FROM
SORDERP P INNER JOIN SORDERQ Q ON P.SOHNUM_0=Q.SOHNUM_0 AND P.SOPLIN_0=Q.SOPLIN_0 AND P.SOPSEQ_0=Q.SOQSEQ_0
INNER JOIN  ITMMASTER I ON I.ITMREF_0=Q.ITMREF_0
WHERE P.XPGNUM_0<>' '
GROUP BY P.CPY_0,P.SOHNUM_0,P.BPCORD_0,P.XPGNUM_0) A
GROUP BY CPY_0,XPGNUM_0,BPCORD_0
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|
    | XPU0 | XPGNUM+BPCORD+CPY | 否 | |
  • 字段
    | 字段 | 标题 | 数据类型 | 长度 | 业务代码 |
    |-|-|-|
    | CPY | 公司 | CPY | 0 | |
    | XPGNUM | 促销策略 | VCR | 0 | |
    | BPCORD | 客户 | BPC | 0 | |
    | QTY | 数量 | DCB | 9.2 | |
    | COUAMT | 折扣金额 | DCB | 9.2 | |
    | COUNUM | 折扣次数 | DCB | 9.2 | |
    | ZUSERID | 业务员 | REP | 0 | |
    | ZAREA | 区域 | A | 10 | |
    | ZRESPO | 角色 | M( 50 ) | 15 | |

视图: XPGFORBPC 订单促销策略(货返)

  • SQL
SELECT E.XPGNUM_0,E.CPY_0,E.FCY_0,E.DES_0,E.SALAMT_0, ' ',F.BPCORD_0,
    CASE WHEN E.DCDTYP_0=1 THEN 
      AMT_0
    ELSE
      CASE WHEN E.ZFROUOM_0=2 THEN
         QTYSTU_0
      ELSE
        QTY_0
      END
    END
COUAMT_0,E.XPGTYP_0,E.DCBITM_0
,E.DCBITM_1,E.DCBITM_2,E.DCBITM_3,E.DCBITM_4,E.DCBITM_5,E.DCBITM_6,E.DCBITM_7,E.DCBITM_8,E.DCBITM_9
,E.ZAX3_0,E.DCBAMT_0,E.LIMITAMT_0,E.LIMITNUM_0,0 USENUM,'','',1,E.ZFROUOM_0,E.ENDDAT_0,E.DCDTYP_0,
ROUND((CASE WHEN E.DCDTYP_0=1 THEN 
      F.AMT_0
    ELSE
      CASE WHEN E.ZFROUOM_0=2 THEN
         F.QTYSTU_0
      ELSE
        F.QTY_0
      END
    END)/E.SALAMT_0,0) * E.DCBAMT_0
 FROM (SELECT A.XPGNUM_0,Q.BPCORD_0
,SUM(Q.SALAMT_0) AMT_0,SUM(Q.QTYSTU_0/Q.SAUSTUCOE_0) QTY_0,SUM(Q.QTYSTU_0) QTYSTU_0
FROM XPRMITMGRP A 
INNER JOIN XVWSALLIS Q
  ON Q.CPY_0=A.CPY_0 AND (Q.SALFCY_0=A.FCY_0 or A.FCY_0=' ') AND Q.ORDDAT_0>= A.STRDAT_0 AND Q.ORDDAT_0<=A.ENDDAT_0
INNER JOIN  ITMMASTER I ON I.ITMREF_0=Q.ITMREF_0 AND I.CCE_1=A.ZAX3_0
INNER JOIN XPROITMLIS B  ON (B.ITMREF_0=Q.ITMREF_0 OR B.ZTSICOD_0=I.TSICOD_1) AND A.XPGNUM_0=B.XPGNUM_0
INNER JOIN BPCUSTOMER G ON G.BPCNUM_0 = Q.BPCORD_0
LEFT JOIN XLINOBJ X2 ON X2.OBJ_0='CCE' AND X2.XPGNUM_0=A.XPGNUM_0
LEFT JOIN XLINOBJ X3 ON X3.OBJ_0='ADI' AND X3.XPGNUM_0=A.XPGNUM_0

WHERE 
(X2.VCRNUM_0=G.CCE_0 OR X2.VCRNUM_0 IS NULL)
AND (X3.VCRNUM_0=G.TSCCOD_0 OR X3.VCRNUM_0 IS NULL)
AND ( 
  (A.ISNOTBPC_0=2 AND Q.BPCORD_0 NOT IN (SELECT X1.VCRNUM_0 FROM XLINOBJ X1 WHERE X1.OBJ_0='BPC' AND X1.XPGNUM_0=A.XPGNUM_0))
  OR
  (A.ISNOTBPC_0<2 AND Q.BPCORD_0 IN (SELECT X1.VCRNUM_0 FROM XLINOBJ X1 WHERE X1.OBJ_0='BPC' AND X1.XPGNUM_0=A.XPGNUM_0))
  OR
  (SELECT COUNT(X1.VCRNUM_0) FROM XLINOBJ X1 WHERE X1.OBJ_0='BPC' AND X1.XPGNUM_0=A.XPGNUM_0) =0
)
AND A.TRSFLG_0='BPC'
GROUP BY A.XPGNUM_0,Q.BPCORD_0
) F INNER JOIN XPRMITMGRP E ON E.XPGNUM_0=F.XPGNUM_0
LEFT JOIN XITMREFLIST X ON X.XPGNUM_0=F.XPGNUM_0 AND F.BPCORD_0=X.BPCORD_0
WHERE     (CASE WHEN E.DCDTYP_0=1 THEN 
      AMT_0
    ELSE
      CASE WHEN E.ZFROUOM_0=2 THEN
         QTYSTU_0
      ELSE
        QTY_0
      END
    END)>= E.SALAMT_0 AND X.XPGNUM_0 IS NULL
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|
    | XFS0 | XPGNUM+SOHNUM+BPCORD | 是 | |
  • 字段
    | 字段 | 标题 | 数据类型 | 长度 | 业务代码 |
    |-|-|-|
    | XPGNUM | | VCR | 0 | |
    | CPY | 公司 | CPY | 0 | |
    | FCY | 地点 | FCY | 0 | |
    | DES | 政策说明 | DES | 0 | |
    | SALAMT | 销售金额 | DCB | 9.2 | |
    | SOHNUM | 订单号 | VCR | 0 | |
    | BPCORD | 客户 | BPC | 0 | |
    | COUAMT | 订单金额 | DCB | 9.2 | |
    | XPGTYP | | M( 4000 ) | 15 | |
    | DCBITM | 免费 | ITM | 0 | |
    | ZAX3 | 品牌 | CCE | 0 | |
    | DCBAMT | 减(赠) | DCB | 9.2 | |
    | LIMITAMT | 限额 | DCB | 9.2 | |
    | LIMITNUM | 限次 | DCB | 9.2 | |
    | USENUM | 已用次数 | DCB | 9.2 | |
    | ZUSERID | 业务员 | REP | 0 | |
    | ZAREA | 区域 | A | 10 | |
    | ZRESPO | 角色 | M( 50 ) | 15 | |
    | ZFROUOM | 使用存货单位 | M( 1 ) | 4 | |
    | ENDDAT | 结束日期 | D | 0 | |
    | DCDTYP | 扣减依据 | M( 4001 ) | 15 | |
    | DCBNUM | 赠送数量 | DCB | 9.2 | |

视图: XPGFORSOH 订单促销策略

  • SQL
SELECT E.XPGNUM_0,E.CPY_0,E.FCY_0,E.DES_0,E.SALAMT_0, F.SOHNUM_0,F.BPCORD_0,F.COUAMT_0,E.XPGTYP_0,E.DCBITM_0
,E.DCBITM_1,E.DCBITM_2,E.DCBITM_3,E.DCBITM_4,E.DCBITM_5,E.DCBITM_6,E.DCBITM_7,E.DCBITM_8,E.DCBITM_9
,E.ZAX3_0,E.DCBAMT_0,E.LIMITAMT_0,E.LIMITNUM_0,(
  SELECT COUNT(*) FROM SORDER S1 WHERE SOHNUM_0 IN ( SELECT SOHNUM_0 FROM SORDERP WHERE XPGNUM_0=E.XPGNUM_0 ) AND S1.BPCORD_0=F.BPCORD_0
) USENUM,'','',1,E.ZFROUOM_0
FROM XPRMITMGRP  E INNER JOIN 
(

  SELECT A.XPGNUM_0,C.SOHNUM_0,C.BPCORD_0,SUM(
    CASE WHEN A.DCDTYP_0=1 THEN 
      CASE WHEN AMT_0>=ISNULL(MINAMT_0,0)  THEN AMT_0 ELSE 0 END
    ELSE
      CASE WHEN A.ZFROUOM_0=2 THEN
        CASE WHEN QTYSTU_0>=ISNULL(MINAMT_0,0)  THEN QTYSTU_0 ELSE 0 END
      ELSE
        CASE WHEN QTY_0>=ISNULL(MINAMT_0,0)  THEN QTY_0 ELSE 0 END
      END
    END
  ) COUAMT_0
  FROM XPRMITMGRP A 
  INNER JOIN 
  (
    SELECT Q.CPY_0,Q.SALFCY_0,P.SOHNUM_0,P.BPCORD_0,P.ITMREF_0,SUM(P.NETPRIATI_0*Q.QTY_0) AMT_0,Q.ORDDAT_0,SUM(Q.QTYSTU_0/I.SAUSTUCOE_0) QTY_0,SUM(Q.QTYSTU_0) QTYSTU_0,I.CCE_1
    FROM SORDERP P 
    INNER JOIN SORDERQ Q 
    ON P.SOHNUM_0=Q.SOHNUM_0 AND P.SOPLIN_0 = Q.SOPLIN_0 AND Q.SOQSEQ_0=P.SOPSEQ_0
    INNER JOIN  ITMMASTER I ON I.ITMREF_0=Q.ITMREF_0
    GROUP BY Q.CPY_0,Q.SALFCY_0,P.SOHNUM_0,P.ITMREF_0,P.BPCORD_0,Q.ORDDAT_0,I.CCE_1
  ) C 
  ON  C.CPY_0=A.CPY_0 
  AND (C.SALFCY_0=A.FCY_0 or A.FCY_0=' ') AND C.ORDDAT_0>= A.STRDAT_0 AND C.ORDDAT_0<=A.ENDDAT_0
  AND C.CCE_1=A.ZAX3_0
  LEFT JOIN XPROITMLIS B  ON B.ITMREF_0=C.ITMREF_0 AND A.XPGNUM_0=B.XPGNUM_0

  WHERE ((A.ISITMLIS_0=2 AND B.ITMREF_0 IS NOT NULL) OR (A.ISITMLIS_0<2)) 
/* AND A.XPGFLG_0=2  */ 
  AND A.TRSFLG_0='SOH'
  GROUP BY A.XPGNUM_0,C.SOHNUM_0,C.BPCORD_0
) AS F
ON E.XPGNUM_0=F.XPGNUM_0
INNER JOIN BPCUSTOMER G ON G.BPCNUM_0 = F.BPCORD_0
LEFT JOIN XLINOBJ X2 ON X2.OBJ_0='CCE' AND X2.XPGNUM_0=E.XPGNUM_0
LEFT JOIN XLINOBJ X3 ON X3.OBJ_0='ADI' AND X3.XPGNUM_0=E.XPGNUM_0
WHERE (

    SELECT COUNT(*) FROM XPROITMLIS I LEFT JOIN 
    SORDERP S ON I.ITMREF_0=S.ITMREF_0 AND S.SOHNUM_0=F.SOHNUM_0
    WHERE I.XPGNUM_0=E.XPGNUM_0 AND S.SOHNUM_0 IS NULL AND I.NESCHK_0=2 
)=0
AND F.COUAMT_0>=E.SALAMT_0
AND (X2.VCRNUM_0=G.CCE_0 OR X2.VCRNUM_0 IS NULL)
AND (X3.VCRNUM_0=G.TSCCOD_0 OR X3.VCRNUM_0 IS NULL)
AND ( 
  (E.ISNOTBPC_0=2 AND F.BPCORD_0 NOT IN (SELECT X1.VCRNUM_0 FROM XLINOBJ X1 WHERE X1.OBJ_0='BPC' AND X1.XPGNUM_0=E.XPGNUM_0))
  OR
  (E.ISNOTBPC_0<2 AND F.BPCORD_0 IN (SELECT X1.VCRNUM_0 FROM XLINOBJ X1 WHERE X1.OBJ_0='BPC' AND X1.XPGNUM_0=E.XPGNUM_0))
  OR
  (SELECT COUNT(X1.VCRNUM_0) FROM XLINOBJ X1 WHERE X1.OBJ_0='BPC' AND X1.XPGNUM_0=E.XPGNUM_0) =0
)
  AND E.TRSFLG_0='SOH'

/* AND E.XPGFLG_0=2 */
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|
    | XFS0 | XPGNUM+SOHNUM+BPCORD | 是 | |
  • 字段
    | 字段 | 标题 | 数据类型 | 长度 | 业务代码 |
    |-|-|-|
    | XPGNUM | | VCR | 0 | |
    | CPY | 公司 | CPY | 0 | |
    | FCY | 地点 | FCY | 0 | |
    | DES | 政策说明 | DES | 0 | |
    | SALAMT | 销售金额 | DCB | 9.2 | |
    | SOHNUM | 订单号 | VCR | 0 | |
    | BPCORD | 客户 | BPC | 0 | |
    | COUAMT | 订单金额 | DCB | 9.2 | |
    | XPGTYP | | M( 4000 ) | 15 | |
    | DCBITM | 免费 | ITM | 0 | |
    | ZAX3 | 品牌 | CCE | 0 | |
    | DCBAMT | 减(赠) | DCB | 9.2 | |
    | LIMITAMT | 限额 | DCB | 9.2 | |
    | LIMITNUM | 限次 | DCB | 9.2 | |
    | USENUM | 已用次数 | DCB | 9.2 | |
    | ZUSERID | 业务员 | REP | 0 | |
    | ZAREA | 区域 | A | 10 | |
    | ZRESPO | 角色 | M( 50 ) | 15 | |
    | ZFROUOM | 使用存货单位 | M( 1 ) | 4 | |

视图: XPGFORSOH1 订单促销策略

  • SQL
SELECT E.XPGNUM_0,E.CPY_0,E.FCY_0,E.DES_0,E.SALAMT_0, F.SOHNUM_0,F.BPCORD_0,F.COUAMT_0,E.XPGTYP_0,E.DCBITM_0
,E.DCBITM_1,E.DCBITM_2,E.DCBITM_3,E.DCBITM_4,E.DCBITM_5,E.DCBITM_6,E.DCBITM_7,E.DCBITM_8,E.DCBITM_9
,E.ZAX3_0,E.DCBAMT_0,E.LIMITAMT_0,E.LIMITNUM_0,(
  SELECT COUNT(*) FROM SORDER S1 WHERE SOHNUM_0 IN ( SELECT SOHNUM_0 FROM SORDERP WHERE XPGNUM_0=E.XPGNUM_0 ) AND S1.BPCORD_0=F.BPCORD_0
) USENUM,'','',1
FROM XPRMITMGRP  E INNER JOIN 
(

  SELECT A.XPGNUM_0,C.SOHNUM_0,C.BPCORD_0,SUM(
    CASE WHEN A.DCDTYP_0=1 THEN 
    CASE WHEN AMT_0>=ISNULL(MINAMT_0,0)  THEN AMT_0 ELSE 0 END
    ELSE 
    CASE WHEN QTY_0>=ISNULL(MINAMT_0,0)  THEN QTY_0 ELSE 0 END
    END
  ) COUAMT_0
  FROM XPRMITMGRP A 
  INNER JOIN 
  (
    SELECT Q.CPY_0,Q.SALFCY_0,P.SOHNUM_0,P.BPCORD_0,P.ITMREF_0,SUM(P.NETPRIATI_0*Q.QTY_0) AMT_0,Q.ORDDAT_0,SUM(Q.QTYSTU_0/I.SAUSTUCOE_0) QTY_0,I.CCE_1
    FROM SORDERP P 
    INNER JOIN SORDERQ Q 
    ON P.SOHNUM_0=Q.SOHNUM_0 AND P.SOPLIN_0 = Q.SOPLIN_0 AND Q.SOQSEQ_0=P.SOPSEQ_0
    INNER JOIN  ITMMASTER I ON I.ITMREF_0=Q.ITMREF_0
    GROUP BY Q.CPY_0,Q.SALFCY_0,P.SOHNUM_0,P.ITMREF_0,P.BPCORD_0,Q.ORDDAT_0,I.CCE_1
  ) C 
  ON  C.CPY_0=A.CPY_0 
  AND (C.SALFCY_0=A.FCY_0 or A.FCY_0=' ') AND C.ORDDAT_0>= A.STRDAT_0 AND C.ORDDAT_0<=A.ENDDAT_0
  AND C.CCE_1=A.ZAX3_0
  LEFT JOIN XPROITMLIS B  ON B.ITMREF_0=C.ITMREF_0 AND A.XPGNUM_0=B.XPGNUM_0

  WHERE ((A.ISITMLIS_0=2 AND B.ITMREF_0 IS NOT NULL) OR (A.ISITMLIS_0<2))  
  GROUP BY A.XPGNUM_0,C.SOHNUM_0,C.BPCORD_0
) AS F
ON E.XPGNUM_0=F.XPGNUM_0
INNER JOIN BPCUSTOMER G ON G.BPCNUM_0 = F.BPCORD_0
LEFT JOIN XLINOBJ X2 ON X2.OBJ_0='CCE' AND X2.XPGNUM_0=E.XPGNUM_0
LEFT JOIN XLINOBJ X3 ON X3.OBJ_0='ADI' AND X3.XPGNUM_0=E.XPGNUM_0
WHERE (

    SELECT COUNT(*) FROM XPROITMLIS I LEFT JOIN 
    SORDERP S ON I.ITMREF_0=S.ITMREF_0 AND S.SOHNUM_0=F.SOHNUM_0
    WHERE I.XPGNUM_0=E.XPGNUM_0 AND S.SOHNUM_0 IS NULL AND I.NESCHK_0=2 
)=0
AND F.COUAMT_0>=E.SALAMT_0
AND (X2.VCRNUM_0=G.CCE_0 OR X2.VCRNUM_0 IS NULL)
AND (X3.VCRNUM_0=G.TSCCOD_0 OR X3.VCRNUM_0 IS NULL)
AND ( 
  (E.ISNOTBPC_0=2 AND F.BPCORD_0 NOT IN (SELECT X1.VCRNUM_0 FROM XLINOBJ X1 WHERE X1.OBJ_0='BPC' AND X1.XPGNUM_0=E.XPGNUM_0))
  OR
  (E.ISNOTBPC_0<2 AND F.BPCORD_0 IN (SELECT X1.VCRNUM_0 FROM XLINOBJ X1 WHERE X1.OBJ_0='BPC' AND X1.XPGNUM_0=E.XPGNUM_0))
  OR
  (SELECT COUNT(X1.VCRNUM_0) FROM XLINOBJ X1 WHERE X1.OBJ_0='BPC' AND X1.XPGNUM_0=E.XPGNUM_0) =0
)
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|
    | XFS0 | XPGNUM+SOHNUM+BPCORD | 是 | |
  • 字段
    | 字段 | 标题 | 数据类型 | 长度 | 业务代码 |
    |-|-|-|
    | XPGNUM | | VCR | 0 | |
    | CPY | 公司 | CPY | 0 | |
    | FCY | 地点 | FCY | 0 | |
    | DES | 政策说明 | DES | 0 | |
    | SALAMT | 销售金额 | DCB | 9.2 | |
    | SOHNUM | 订单号 | VCR | 0 | |
    | BPCORD | 客户 | BPC | 0 | |
    | COUAMT | 订单金额 | DCB | 9.2 | |
    | XPGTYP | | M( 4000 ) | 15 | |
    | DCBITM | 免费 | ITM | 0 | |
    | ZAX3 | 品牌 | CCE | 0 | |
    | DCBAMT | 减(赠) | DCB | 9.2 | |
    | LIMITAMT | 限额 | DCB | 9.2 | |
    | LIMITNUM | 限次 | DCB | 9.2 | |
    | USENUM | 已用次数 | DCB | 9.2 | |
    | ZUSERID | 业务员 | REP | 0 | |
    | ZAREA | 区域 | A | 10 | |
    | ZRESPO | 角色 | M( 50 ) | 15 | |

视图: XPGLIST 促销政策列表

  • SQL
SELECT XP.XPGNUM_0,XP.DES_0,XP.CPY_0,CY.CPYNAM_0,XP.FCY_0,FY.FCYNAM_0,XP.ZAX3_0,AX3.DES_0,STRDAT_0,ENDDAT_0,XPGPRO_0,Z.REPNUM_0,'',1
 FROM XPRMITMGRP XP
LEFT JOIN COMPANY CY ON CY.CPY_0 = XP.CPY_0
LEFT JOIN FACILITY FY ON FY.FCY_0 = XP.FCY_0
LEFT JOIN CACCE AX3 ON AX3.CCE_0 = XP.ZAX3_0
LEFT JOIN ZREPAX3 Z ON Z.AX3_0 = XP.ZAX3_0
/*WHERE XPGFLG_0 = 2*/
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|
  • 字段
    | 字段 | 标题 | 数据类型 | 长度 | 业务代码 |
    |-|-|-|
    | XPGNUM | 政策编号 | VCR | 0 | |
    | DES | 描述 | DES | 0 | |
    | CPY | 公司 | CPY | 0 | |
    | CPYNAM | 公司名称 | NAM | 0 | |
    | FCY | 地点 | FCY | 0 | |
    | FCYNAM | 地点名称 | NAM | 0 | |
    | ZAX3 | 品牌 | CCE | 0 | |
    | ZAX3DES | 品牌名称 | DES | 0 | |
    | STRDAT | 开始日期 | D | 0 | |
    | ENDDAT | 结束日期 | D | 0 | |
    | XPGPRO | 详细描述 | A | 200 | |
    | ZUSERID | | REP | 0 | |
    | ZAREA | | A | 10 | |
    | ZRESPO | | M( 50 ) | 15 | |

视图: XPGSOH 订单促销策略使用

  • SQL
SELECT A.XPGNUM_0, A.CPY_0, FCY_0, DES_0, SALAMT_0, SOHNUM_0, A.BPCORD_0, A.COUAMT_0, 
XPGTYP_0, DCBITM_0, DCBITM_1, DCBITM_2, DCBITM_3, DCBITM_4, DCBITM_5, DCBITM_6, 
DCBITM_7, DCBITM_8, DCBITM_9, ZAX3_0, DCBAMT_0, LIMITAMT_0, LIMITNUM_0, USENUM_0, 
A.ZUSERID_0, A.ZAREA_0, A.ZRESPO_0,ISNULL(B.QTY_0,0) USEQTY,ISNULL(B.COUAMT_0,0) USEAMT,ISNULL(B.COUNUM_0,0) COUNUM,
I.ITMDES1_0,CASE WHEN A.ZFROUOM_0 = 2 THEN I.STU_0 ELSE I.SAU_0 END SAU,U.TEXTE_0,
CASE WHEN A.XPGTYP_0 = 1 THEN(CASE WHEN A.LIMITAMT_0 = 0 THEN FLOOR(A.COUAMT_0/A.SALAMT_0) * DCBAMT_0 
                              WHEN A.LIMITAMT_0 > 0 AND A.LIMITAMT_0 - ISNULL(B.COUAMT_0,0) >= FLOOR(A.COUAMT_0/A.SALAMT_0) * DCBAMT_0 THEN FLOOR(A.COUAMT_0/A.SALAMT_0) * DCBAMT_0
                WHEN A.LIMITAMT_0 > 0 AND A.LIMITAMT_0 - ISNULL(B.COUAMT_0,0) < FLOOR(A.COUAMT_0/A.SALAMT_0) * DCBAMT_0 THEN A.LIMITAMT_0 - ISNULL(B.COUAMT_0,0) END)
     ELSE 0 END AMT,
CASE WHEN A.XPGTYP_0 = 2 THEN(CASE WHEN A.LIMITAMT_0 = 0 THEN FLOOR(A.COUAMT_0/A.SALAMT_0) * DCBAMT_0 
                              WHEN A.LIMITAMT_0 > 0 AND A.LIMITAMT_0 - ISNULL(B.QTY_0,0) >= FLOOR(A.COUAMT_0/A.SALAMT_0) * DCBAMT_0 THEN FLOOR(A.COUAMT_0/A.SALAMT_0) * DCBAMT_0
                WHEN A.LIMITAMT_0 > 0 AND A.LIMITAMT_0 - ISNULL(B.QTY_0,0) < FLOOR(A.COUAMT_0/A.SALAMT_0) * DCBAMT_0 THEN A.LIMITAMT_0 - ISNULL(B.QTY_0,0) END)
     ELSE 0 END QTY
FROM XPGFORSOH A
LEFT JOIN ITMMASTER I ON A.DCBITM_0 = I.ITMREF_0
LEFT JOIN (SELECT IDENT1_0,TEXTE_0 FROM ATEXTRA 
WHERE CODFIC_0 = 'TABUNIT' AND ZONE_0 = 'DES' AND LANGUE_0 = 'CHI') U ON CASE WHEN A.ZFROUOM_0 = 2 THEN I.STU_0 ELSE I.SAU_0 END = U.IDENT1_0
LEFT JOIN XBPCUSEXPG B ON A.CPY_0 = B.CPY_0 AND A.XPGNUM_0 = B.XPGNUM_0 AND A.BPCORD_0 = B.BPCORD_0
WHERE (A.LIMITNUM_0 = 0 OR A.LIMITNUM_0 > A.USENUM_0) AND (A.LIMITAMT_0 = 0 OR A.LIMITAMT_0 > (CASE A.XPGTYP_0 WHEN 1 THEN ISNULL(B.COUAMT_0,0) ELSE ISNULL(B.QTY_0,0) END))
  • 索引
    | 代码 | 描述符 | 重复 | 业务代码 |
    |-|-|-|
    | XFS0 | XPGNUM+SOHNUM+BPCORD | 是 | |
  • 字段
    | 字段 | 标题 | 数据类型 | 长度 | 业务代码 |
    |-|-|-|
    | XPGNUM | 促销政策号 | VCR | 0 | |
    | CPY | 公司 | CPY | 0 | |
    | FCY | 地点 | FCY | 0 | |
    | DES | 政策说明 | DES | 0 | |
    | SALAMT | 销售金额 | DCB | 9.2 | |
    | SOHNUM | 订单号 | VCR | 0 | |
    | BPCORD | 客户 | BPC | 0 | |
    | COUAMT | 订单金额 | DCB | 9.2 | |
    | XPGTYP | 促销类型(1折扣2买赠) | M( 4000 ) | 15 | |
    | DCBITM | 免费 | ITM | 0 | |
    | ZAX3 | 品牌 | CCE | 0 | |
    | DCBAMT | 减(赠) | DCB | 9.2 | |
    | LIMITAMT | 限额 | DCB | 9.2 | |
    | LIMITNUM | 限次 | DCB | 9.2 | |
    | USENUM | 已用次数 | DCB | 9.2 | |
    | ZUSERID | 业务员 | REP | 0 | |
    | ZAREA | 区域 | A | 10 | |
    | ZRESPO | 角色 | M( 50 ) | 15 | |
    | USEQTY | 已使用数量 | DCB | 9.2 | |
    | USEAMT | 已使用金额 | DCB | 9.2 | |
    | COUNUM | 已使用次数 | DCB | 9.2 | |
    | ITMDES1 | 产品名称 | DES | 0 | |
    | SAU | 销售单位 | UOM | 0 | |
    | SAUNAM | 销售单位名称 | A | 30 | |
    | AMT | 本单折扣金额 | DCB | 9.2 | |
    | QTY | 本单赠送数量 | DCB | 9.2 | |

屏幕: PRS1 价目表结构

  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | XEXT| 扩展功能接口| 2- 14| M( 4004 ): 15(9)| 录入| 否| |

屏幕: SOH4 订单管理

  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | XPGNUM| 促销策略编号| 1- 20.5| VCR: 0(0)| 录入| 否| | GWEBSERV>0

屏幕: WK2ALL4 订单管理

  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | XPGNUM| 促销策略编号| 1- 20.5| VCR: 0(0)| 录入| 否| | GWEBSERV>0

屏幕: WK2SAL4 订单管理

  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | XPGNUM| 促销策略编号| 1- 20.5| VCR: 0(0)| 录入| 否| | GWEBSERV>0

屏幕: WK2STD4 订单管理

  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | XPGNUM| 促销策略编号| 1- 20.5| VCR: 0(0)| 录入| 否| | GWEBSERV>0

屏幕: WK2WSV4 订单管理

  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | XPGNUM| 促销策略编号| 1- 20.5| VCR: 0(0)| 录入| 否| | GWEBSERV>0

屏幕: XFB1 客户期间货返

  • 常规
    | 项目| 值 | 项目| 值|
    |-|-|
    | 缩写 | XFB1 | 尺寸 | 标签 ( 12 * 50 )|
    | 标准脚本 | SUBXFB | 垂直脚本 | |
    | 特殊脚本 | XTRTFROBPC | | |
  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
    | | TLPXIFBMEFG | 0| 0 | | |
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | CPY| 公司| 1- 3| CPY: 0(200)| 隐藏| NO| |
    ||--|事件| 字段前| SPE| | 无
    | DCBAMT| 减(赠)| 1- 7| DCB: 9.2(200)| 隐藏| NO| |
    | DCDTYP| 扣减依据| 1- 5| M( 4001 ): 15(200)| 隐藏| NO| |
    | DES| 描述| 1- 4| DES: 0(200)| 显示| NO| |
    ||--|事件| 录入前| SPE| | 无
    | ISSEL| | 1- 2| M( 1 ): 5(200)| 录入| 否| |
    ||--|事件| 修改后| SPE| | 无
    | NBLIG| | 1- 1| ABS: 0(0)| 录入| NO| |
    | SALAMT| 满| 1- 6| DCB: 9.2(200)| 隐藏| NO| |
    ||--|事件| 开始| SPE| | 无
    | USABLE| 可用| 1- 9| DCB: 9.2(200)| 显示| NO| |
    | USENUM| 使用数量| 1- 9| DCB: 9.2(200)| 录入| 否| |
    ||--|事件| 控制| SPE| | 无
    | XDCBITM| 免费产品| 1- 8| ITM: 0(200)| 显示| NO| |
    | XPGNUM| 编号| 1- 2| VCR: 0(200)| 显示| NO| |
    ||--|事件| 开始按钮| SPE| | 无
    ||--|--|参数| OBJZON|值| ""
    | ZAX3| 品牌| 1- 4| CCE: 0(200)| 显示| NO| |
    ||--|事件| 控制| SPE| | 无
    ||--|--|参数| CCE|值| "AX3"
    | ZFROUOM| 以存货单位计算| 1- 10| M( 1 ): 4(200)| 显示| NO| |

屏幕: XFS1 订单相关促销策略

  • 常规
    | 项目| 值 | 项目| 值|
    |-|-|
    | 缩写 | XFS1 | 尺寸 | 标签 ( 12 * 50 )|
    | 标准脚本 | SUBXFS | 垂直脚本 | |
    | 特殊脚本 | XTRTFROSOH | | |
  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
    | | TLPXIFBMEFG | 0| 0 | | |
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | COUAMT| 订单金额| 1- 10| DCB: 9.2(50)| 显示| NO| |
    | CPY| 公司| 1- 3| CPY: 0(50)| 显示| NO| |
    ||--|事件| 字段前| SPE| | 无
    | DCBAMT| 减(赠)| 1- 7| DCB: 9.2(50)| 显示| NO| |
    | DES| 描述| 1- 4| DES: 0(50)| 显示| NO| |
    ||--|事件| 录入前| SPE| | 无
    | ISSEL| | 1- 2| M( 1 ): 5(50)| 录入| 否| |
    ||--|事件| 修改后| SPE| | 无
    | LIMITAMT| 每客户限额| 1- 11| DCB: 9.2(50)| 显示| NO| |
    ||--|事件| 开始按钮| SPE| | 无
    | NBLIG| | 1- 1| ABS: 0(0)| 录入| NO| |
    | SALAMT| 满| 1- 6| DCB: 9.2(50)| 显示| NO| |
    ||--|事件| 开始| SPE| | 无
    | USEAMT| 已用额度| 1- 9| DCB: 9.2(50)| 显示| NO| |
    | USENUM| 已用次数| 1- 9| DCB: 9.2(50)| 显示| NO| |
    | XDCBITM| 免费产品| 1- 8| ITM: 0(50)| 显示| NO| |
    | XPGNUM| 编号| 1- 2| VCR: 0(50)| 显示| NO| |
    ||--|事件| 开始按钮| SPE| | 无
    ||--|--|参数| OBJZON|值| ""
    | XPGTYP| 促销方式| 1- 5| M( 4000 ): 15(50)| 显示| NO| |
    ||--|事件| 字段后| SPE| | 无
    | ZAX3| 品牌| 1- 4| CCE: 0(50)| 显示| NO| |
    ||--|事件| 控制| SPE| | 无
    ||--|--|参数| CCE|值| "AX3"
    | ZFROUOM| 以存货单位计算| 1- 12| M( 1 ): 4(50)| 显示| NO| |

屏幕: XIR1 货返计算

  • 常规
    | 项目| 值 | 项目| 值|
    |-|-|
    | 缩写 | XIR1 | 尺寸 | 标签 ( 12 * 50 )|
    | 标准脚本 | SUBXIR | 垂直脚本 | |
    | 特殊脚本 | CNSXIRSPE | | |
  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
    | | TLPXIFBMEFG | 0| 0 | | |
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | BPCORD| 订单客户| 1- 5| BPC: 0(500)| 显示| NO| |
    | COUAMT| 计算金额| 1- 10| DCB: 9.2(500)| 显示| NO| |
    | CPY| 公司| 1- 3| CPY: 0(500)| 显示| NO| |
    ||--|事件| 字段前| SPE| | 无
    | DCBAMT| 减(赠)| 1- 7| DCB: 9.2(500)| 显示| NO| |
    | DCBNUM| 赠送数量| 1- 9| DCB: 9.2(500)| 显示| NO| |
    | DCDTYP| 扣减依据| 1- 6| M( 4001 ): 15(500)| 录入| 否| |
    | DES| 描述| 1- 4| DES: 0(500)| 显示| NO| |
    ||--|事件| 录入前| SPE| | 无
    | ISSEL| | 1- 2| M( 1 ): 5(500)| 录入| 否| 2|
    ||--|事件| 修改后| SPE| | 无
    | NBLIG| | 1- 1| ABS: 0(0)| 录入| NO| |
    | SALAMT| 满| 1- 6| DCB: 9.2(500)| 显示| NO| |
    ||--|事件| 开始| SPE| | 无
    | XDCBITM| 免费产品| 1- 8| ITM: 0(500)| 显示| NO| |
    | XPGNUM| 编号| 1- 2| VCR: 0(500)| 显示| NO| |
    ||--|事件| 开始按钮| SPE| | 无
    ||--|--|参数| OBJZON|值| ""
    | XPGTYP| 促销方式| 1- 5| M( 4000 ): 15(500)| 显示| NO| |
    ||--|事件| 字段后| SPE| | 无
    | ZAX3| 品牌| 1- 4| CCE: 0(500)| 显示| NO| |
    ||--|事件| 控制| SPE| | 无
    ||--|--|参数| CCE|值| "AX3"
    | ZFROUOM| 以存货单位计算| 1- 12| M( 1 ): 4(500)| 显示| NO| |

屏幕: XITMRET 货返计算

  • 常规
    | 项目| 值 | 项目| 值|
    |-|-|
    | 缩写 | XIR0 | 尺寸 | 表头 ( 2 * 120 )|
    | 标准脚本 | SUBXIR | 垂直脚本 | |
    | 特殊脚本 | CNSXIRSPE | | |
  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
    | | TLPXIFBMEFG | 0| 0 | | |
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | BPR| 商业伙伴| 1- 1.1| BPR: 0(1)| 录入| 否| |
    | BPRCOM| 公司| 1- 1| CPY: 0(1)| 录入| 是| |
    | XCTTYP| 合同状态| 1- 1.5| M( 1579 ): 4(1)| 隐藏| NO| 2|
    ||--|事件| 开始按钮| SPE| | 无
    | XENDDATBEG| 合同结束日期范围| 1- 1.3| D: 0(1)| 录入| 否| |
    | XENDDATEND| | 1- 1.4| D: 0(1)| 录入| 否| |
    | ZAX3| 品牌| 1- 1.2| CCE: 0(1)| 录入| 否| |

屏幕: XPG0 促销政策

  • 常规
    | 项目| 值 | 项目| 值|
    |-|-|
    | 缩写 | XPG0 | 尺寸 | 表头 ( 2 * 80 )|
    | 标准脚本 | SUBXPG | 垂直脚本 | |
    | 特殊脚本 | SPEXPG | | |
  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
    | | TLPXIFBMEFG | 0| 0 | | |
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | CREUSR| 创建用户| 1- 1.7| AUS: 0(1)| 显示| NO| |
    | DES| 描述| 1- 1.3| DES: 0(1)| 录入| 否| |
    | TRSFLG| 交易类型| 1- 1| A: 10(1)| 显示| NO| GFLAG|
    | XPGFLG| 状态| 1- 1.5| M( 4002 ): 15(1)| 显示| NO| |
    | XPGNUM| 编号| 1- 1| VCR: 0(1)| 录入| 否| |
    | XRATE| 厂家承担比例| 1- 1.6| DCB: 9.4(1)| 录入| 否| 100|

屏幕: XPG1 促销政策

  • 常规
    | 项目| 值 | 项目| 值|
    |-|-|
    | 缩写 | XPG1 | 尺寸 | 标签 ( 23 * 80 )|
    | 标准脚本 | SUBXPG | 垂直脚本 | |
    | 特殊脚本 | SPEXPG | | |
  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
    | 产品列表 | 表格 | 2.1| 10 | D+IRA | NBLIG |
    | | 列表 | 3.1| 0 | | |
    | 免费产品 | 表格 | 4.1| 10 | D+IRA | NBLIGD |
    | 渠道列表 | 表格 | 4.2| 50 | D+IRA | NBLIGA |
    | 区域列表 | 表格 | 5.1| 50 | D+IRA | NBLIGB |
    | 客户列表 | 表格 | 5.2| 50 | D+IRA | NBLIGC |
    | | TLPXIFBMEFG | 0| 0 | | |
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | CPY| 公司| 1- 1| CPY: 0(1)| 录入| 是| |
    | CREFLG| 创建标识| 2- 7| C: 4(10)| 隐藏| NO| |
    | DCBAMT| 减(赠)| 3- 1.6| DCB: 9.2(1)| 录入| 是| |
    | DCBITM| 免费产品| 4- 2| XITM: 0(10)| 录入| 是| |
    ||--|事件| 控制| SPE| | 无
    | DCDTYP| 扣减依据| 3- 1.2| M( 4001 ): 15(1)| 录入| 否| |
    | ENDDAT| 有效期(结束)| 1- 2.5| D: 0(1)| 录入| 是| |
    ||--|事件| 控制| SPE| | 无
    | FCY| 地点| 1- 1.3| FCY: 0(1)| 录入| 否| |
    ||--|事件| 选择| SELFCY| | 无
    ||--|--|参数| FILTRE|值| "[M]CPY='' | [F]LEGCPY=[M]CPY"
    ||--|--|参数| FILTRE|值| "[M]CPY='' | [F]LEGCPY=[M]CPY"
    ||--|--|参数| FILTRE|值| "[M]CPY='' | [F]LEGCPY=[M]CPY"
    | ISITMLIS| 只有产品列表上的产品有效| 3- 2.3| M( 1 ): 4(1)| 录入| 否| |
    | ISNOTBPC| 客户列表为排除客户| 3- 2.3| M( 1 ): 4(1)| 录入| 否| |
    | ITMREF| 产品| 2- 3| XITM: 0(10)| 录入| 是| |
    ||--|事件| 控制| SPE| | 无
    | LIMITAMT| 每客户限额| 3- 2| DCB: 9.2(1)| 录入| 否| |
    | LIMITNUM| 每客户限次| 3- 2.2| DCB: 9.2(1)| 录入| 否| |
    ||--|事件| 修改后| SPE| | 无
    | MANAX3| 品牌经理| 1- 2.2| CCE: 0(1)| 显示| NO| |
    | MINAMT| 最小值(金额/数量)| 2- 5| MD1: 0(10)| 录入| 否| |
    | NBLIG| | 2- 1| ABS: 0(0)| 录入| NO| |
    ||--|事件| 控制| DIVLINCONT| | ASVT
    ||--|--|参数| LIG|值| "XPGLIN"
    ||--|事件| 行后| DIVLINNUM| | ASVT
    ||--|--|参数| LIG|值| "XPGLIN"
    | NBLIGA| | 5- 1| ABS: 0(0)| 录入| NO| |
    | NBLIGB| | 6- 1| ABS: 0(0)| 录入| NO| |
    | NBLIGC| | 7- 1| ABS: 0(0)| 录入| NO| |
    | NBLIGD| | 4- 1| ABS: 0(0)| 录入| NO| |
    | NESCHK| 必选| 2- 4| M( 1 ): 4(10)| 录入| 否| |
    | SALAMT| 满| 3- 1.4| DCB: 9.2(1)| 录入| 是| |
    | STRDAT| 有效期(开始)| 1- 2.3| D: 0(1)| 录入| 是| |
    | UPDFLG| 更新| 2- 6| M( 385 ): 4(10)| 隐藏| NO| |
    | USENUM| 已用次数| 3- 2.4| DCB: 9.2(1)| 隐藏| NO| |
    | XPGLIN| | 2- 2| L: 8(10)| 隐藏| NO| |
    | XPGPRO| 政策说明| 1- 3| A: 200(1)| 录入| 否| |
    | XPGTYP| 促销方式| 3- 1| M( 4000 ): 15(1)| 录入| 否| |
    | ZAX3| 品牌| 1- 2.1| CCE: 0(1)| 录入| 否| |
    | ZCCE1| 渠道| 5- 2| CCE: 0(50)| 录入| 是| |
    ||--|事件| 控制| SPE| | 无
    ||--|--|参数| CCE|值| "AX4"
    | ZCCE2| 区域| 6- 2| ADI: 0(50)| 录入| 是| |
    ||--|事件| 控制| SPE| | 无
    ||--|--|参数| ADI|值| "30"
    | ZCCE3| 客户| 7- 2| BPC: 0(50)| 录入| 是| |
    ||--|事件| 控制| SPE| | 无
    ||--|--|参数| CNSOPT|值| ""
    | ZFROUOM| 以存货单位计算| 3- 1.3| M( 1 ): 4(1)| 录入| 否| | [M]DCDTYP=2
    | ZTSICOD| 系列| 2- 2.5| ADI: 8(10)| 隐藏| NO| |

屏幕: XPGBPC1 促销政策

  • 常规
    | 项目| 值 | 项目| 值|
    |-|-|
    | 缩写 | XPG1 | 尺寸 | 标签 ( 23 * 80 )|
    | 标准脚本 | SUBXPG | 垂直脚本 | |
    | 特殊脚本 | SPEXPG | | |
  • 模块
    | 名称 | 类型 | 位置 | 行 | 选项 | 参数|
    |-|-|
    | 产品列表 | 表格 | 2.1| 10 | D+IRA | NBLIG |
    | | 列表 | 3.1| 0 | | |
    | 免费产品 | 表格 | 4.1| 10 | D+IRA | NBLIGD |
    | 渠道列表 | 表格 | 4.2| 50 | D+IRA | NBLIGA |
    | 区域列表 | 表格 | 5.1| 50 | D+IRA | NBLIGB |
    | 客户列表 | 表格 | 5.2| 50 | D+IRA | NBLIGC |
    | | TLPXIFBMEFG | 0| 0 | | |
  • 字段
    | 字段 | 描述| 模块 | 数据类型 |录入| 必填 | 默认值 | 录入条件
    |-|-|-|-|-|
    | CPY| 公司| 1- 1| CPY: 0(1)| 录入| 是| |
    | CREFLG| 创建标识| 2- 7| C: 4(10)| 隐藏| NO| |
    | DCBAMT| 减(赠)| 3- 1.6| DCB: 9.2(1)| 录入| 是| |
    | DCBITM| 免费产品| 4- 2| XITM: 0(10)| 录入| 是| |
    ||--|事件| 控制| SPE| | 无
    | DCDTYP| 扣减依据| 3- 1.2| M( 4001 ): 15(1)| 录入| 否| |
    | ENDDAT| 有效期(结束)| 1- 2.5| D: 0(1)| 录入| 是| |
    ||--|事件| 控制| SPE| | 无
    | FCY| 地点| 1- 1.3| FCY: 0(1)| 录入| 否| |
    ||--|事件| 选择| SELFCY| | 无
    ||--|--|参数| FILTRE|值| "[M]CPY='' | [F]LEGCPY=[M]CPY"
    ||--|--|参数| FILTRE|值| "[M]CPY='' | [F]LEGCPY=[M]CPY"
    ||--|--|参数| FILTRE|值| "[M]CPY='' | [F]LEGCPY=[M]CPY"
    | ISITMLIS| 只有产品列表上的产品有效| 3- 2.3| M( 1 ): 4(1)| 隐藏| NO| |
    | ISNOTBPC| 客户列表为排除客户| 3- 2.3| M( 1 ): 4(1)| 录入| 否| |
    | ITMREF| 产品| 2- 3| XITM: 0(10)| 录入| 否| |
    ||--|事件| 控制| SPE| | 无
    | LIMITAMT| 每客户限额| 3- 2| DCB: 9.2(1)| 录入| 否| |
    | LIMITNUM| 每客户限次| 3- 2.2| DCB: 9.2(1)| 隐藏| NO| |
    ||--|事件| 修改后| SPE| | 无
    | MINAMT| 最小值(金额/数量)| 2- 5| MD1: 0(10)| 隐藏| NO| |
    | NBLIG| | 2- 1| ABS: 0(0)| 录入| NO| |
    ||--|事件| 控制| DIVLINCONT| | ASVT
    ||--|--|参数| LIG|值| "XPGLIN"
    ||--|事件| 行后| DIVLINNUM| | ASVT
    ||--|--|参数| LIG|值| "XPGLIN"
    | NBLIGA| | 5- 1| ABS: 0(0)| 录入| NO| |
    | NBLIGB| | 6- 1| ABS: 0(0)| 录入| NO| |
    | NBLIGC| | 7- 1| ABS: 0(0)| 录入| NO| |
    | NBLIGD| | 4- 1| ABS: 0(0)| 录入| NO| |
    | NESCHK| 必选| 2- 4| M( 1 ): 4(10)| 隐藏| NO| |
    | SALAMT| 满| 3- 1.4| DCB: 9.2(1)| 录入| 是| |
    | STRDAT| 有效期(开始)| 1- 2.3| D: 0(1)| 录入| 是| |
    | UPDFLG| 更新| 2- 6| M( 385 ): 4(10)| 隐藏| NO| |
    | USENUM| 已用次数| 3- 2.4| DCB: 9.2(1)| 隐藏| NO| |
    | XPGLIN| | 2- 2| L: 8(10)| 隐藏| NO| |
    | XPGPRO| 政策说明| 1- 3| A: 200(1)| 录入| 否| |
    | XPGTYP| 促销方式| 3- 1| M( 4000 ): 15(1)| 显示| NO| 2|
    | ZAX3| 品牌| 1- 2| CCE: 0(1)| 录入| 否| |
    | ZCCE1| 渠道| 5- 2| CCE: 0(50)| 录入| 是| |
    ||--|事件| 控制| SPE| | 无
    ||--|--|参数| CCE|值| "AX4"
    | ZCCE2| 区域| 6- 2| ADI: 0(50)| 录入| 是| |
    ||--|事件| 控制| SPE| | 无
    ||--|--|参数| ADI|值| "30"
    | ZCCE3| 客户| 7- 2| BPC: 0(50)| 录入| 是| |
    ||--|事件| 控制| SPE| | 无
    ||--|--|参数| CNSOPT|值| ""
    | ZFROUOM| 以存货单位计算| 3- 1.3| M( 1 ): 4(1)| 录入| 否| | [M]DCDTYP=2
    | ZTSICOD| 系列| 2- 2.5| ADI: 8(10)| 录入| 否| |

表: XITM 产品

  • 常规
    • 关联表 : ITMMASTER
    • 地点字段 : 访问代码字段 :
    • 管理类型 : 单独 导入 : ITMMASTER
    • 垂直脚本 : 特殊脚本 :
  • 选择选项
    | 选项| 代码 | 条件 | 错误信息 |
    |-|-|
    | 激活的| A| ITMSTA=1| 非业务产品 |
    | 采购的| B| PURFLG = 2 | 非采购产品 |
    | 生产的| C| MFGFLG = 2| 非生产产品 |
    | 外协的| D| SCPFLG = 2 | 非分包产品 |
    | 外协| E| SCSFLG = 2 | 非分包产品 |
    | 虚拟件| F| PHAFLG = 2| 非虚拟件 |
    | 通用| G| GENFLG = 2| 非一般产品 |
    | 工具| H| TOOFLG = 2| 非工具 |
    | 存货管理产品| I| STOMGTCOD > 1| 非存货中管理 |
    | 非存货中管理| J| STOMGTCOD < 2| 存货管理 |
    | 已售出产品| K| SALFLG = 2| 未售出产品 |
    | 品牌| L| CCE(1)=[M]ZAX3| 请选择该品牌的产品 |
    | 地址类型| M| TCLCOD = [M]ZTCLCOD| 请选择与该地址相关的产品 |
  • 选择屏幕
    | 表| 字段 | 标题 | 表述 |类型|
    |-|-|
    | ITMMASTER| ITMREF| 产品编码| | |
    | | | 产品名称| string$(1, [F:AXX]TEXTE) + string$(len([F:AXX]TEXTE)=0, [F:ITM]ITMDES1)| DES |
    | ITMMASTER| ITMDES2| 条形码| | |
    | ITMMASTER| TCLCOD| | | |
    | ITMMASTER| ITMSTA| | | |
  • 环境
    | 表| 索引 | 连接表述 | 缩写|
    |-|-|
    | ITMSALES| | [F:ITM]ITMREF| ITS |
    | BPARTNER| | | BPR |
    | ITMBPS| | | ITP |
    | ITMBPC| | | ITU |
    | CBLOB| | | |
    | ACCES| | | |
    | TABUNIT| | | |
    | ITMCATEG| | | |
    | ACODNUM| | | |
    | ATEXTRA| | "ITMMASTER";"DES1AXX";GLANGUE;[F:ITM]ITMREF;""| |
    | UNITOFTIME| | | |
    | PITDEB| | | |
    | CONTTEMPL| | | |
    | GACCCODE| | | |
    | GDIE| | | |
    | CADIEDEF| | | |
    | FACILITY| | | |
    | ATEXTRA| | "ITMMASTER";"DES2AXX";GLANGUE;ITMREF;""| AX3 |
    | ATEXTRA| | "ITMMASTER";"DES3AXX";GLANGUE;ITMREF;""| AX4 |

表: XPG 促销政策

  • 常规
    • 关联表 : XPRMITMGRP
    • 地点字段 : FCY 访问代码字段 :
    • 管理类型 : 单独 导入 : XPRMITMGRP
    • 垂直脚本 : 特殊脚本 : SPEXPG
  • 选择选项
    | 选项| 代码 | 条件 | 错误信息 |
    |-|-|
  • 选择屏幕
    | 表| 字段 | 标题 | 表述 |类型|
    |-|-|
    | XPRMITMGRP| DES| 描述| | |
    | XPRMITMGRP| STRDAT| 开始日期| | |
    | XPRMITMGRP| ENDDAT| 结束| | |
    | XPRMITMGRP| XPGNUM| 促销政策| | |
    | XPRMITMGRP| XPGFLG| 状态| | |
    | XPRMITMGRP| XPGTYP| 促销方式| | |
  • 环境
    | 表| 索引 | 连接表述 | 缩写|
    |-|-|
    | XPROITMLIS| | | |
    | XLINOBJ| | | |

系统参数: ZDISCXPG 促销策略对应的价格结构

  • 常规
    • 组 : MIS
    • 项目 : TC
    • 级别 : 账套
    • 值类型 : 字母及数字的 0
    • 对象 :
    • 修改条件 :

窗体: OSOH 订单管理

  • 页签
    | 页签| 页签名称 | 可见 |
    |-|-|
  • 窗体按钮
    | 类型 |代码 |标题 | 操作 |
    |-|-|
    | 按钮| 7| 选择促销策略| XTRTFROSOH |
    | 按钮| s| 使用货返| XTRTFROBPC |
  • 浏览器
    |对象|标题|索引|方向 |列表类型 |缩写|
    |-|-|
    | SOH| 订单| SOH0| 降序| 简单的| |

窗体: WOSOHSAL 订单管理

  • 页签
    | 页签| 页签名称 | 可见 |
    |-|-|
  • 窗体按钮
    | 类型 |代码 |标题 | 操作 |
    |-|-|
    | 按钮| 7| 选择促销策略| XTRTFROSOH |
    | 按钮| s| 使用货返| XTRTFROBPC |
  • 浏览器
    |对象|标题|索引|方向 |列表类型 |缩写|
    |-|-|
    | SOH| 订单| SOH0| 降序| 简单的| |

窗体: WOSOHSTD 订单管理

  • 页签
    | 页签| 页签名称 | 可见 |
    |-|-|
  • 窗体按钮
    | 类型 |代码 |标题 | 操作 |
    |-|-|
    | 按钮| 7| 选择促销策略| XTRTFROSOH |
    | 按钮| s| 使用货返| XTRTFROBPC |
  • 浏览器
    |对象|标题|索引|方向 |列表类型 |缩写|
    |-|-|
    | SOH| 订单| SOH0| 降序| 简单的| |

窗体: WOSOHWSV 订单管理

  • 页签
    | 页签| 页签名称 | 可见 |
    |-|-|
  • 窗体按钮
    | 类型 |代码 |标题 | 操作 |
    |-|-|
    | 按钮| 7| 选择促销策略| XTRTFROSOH |
    | 按钮| s| 使用货返| XTRTFROBPC |
  • 浏览器
    |对象|标题|索引|方向 |列表类型 |缩写|
    |-|-|
    | SOH| 订单| SOH0| 降序| 简单的| |

窗体: XOFB 客户期间货返

  • 常规
    • 窗体类型 : 杂项
    • 显示 : 消息框
    • 对象 :
    • 查询 :
    • 业务 :
    • 表头屏幕 :
  • 页签
    | 页签| 页签名称 | 可见 |
    |-|-|
    | XFB1| | 是* 浏览器
    |对象|标题|索引|方向 |列表类型 |缩写|
    |-|-|
    | | | | AD| 1234P| |

窗体: XOFS 订单相关促销策略

  • 常规
    • 窗体类型 : 杂项
    • 显示 : 消息框
    • 对象 :
    • 查询 :
    • 业务 :
    • 表头屏幕 :
  • 页签
    | 页签| 页签名称 | 可见 |
    |-|-|
    | XFS1| | 是* 浏览器
    |对象|标题|索引|方向 |列表类型 |缩写|
    |-|-|
    | | | | AD| 1234P| |

窗体: XOIR 货返计算

  • 常规
    • 窗体类型 : 查询
    • 显示 : 全屏幕
    • 对象 :
    • 查询 : XIR
    • 业务 :
    • 表头屏幕 : XITMRET
  • 页签
    | 页签| 页签名称 | 可见 |
    |-|-|
    | XIR1| | 是* 窗体按钮
    | 类型 |代码 |标题 | 操作 |
    |-|-|
    | 按钮| j| 确认| |
  • 浏览器
    |对象|标题|索引|方向 |列表类型 |缩写|
    |-|-|
    | | | | AD| 1234P| |

窗体: XOPGBPC 促销政策

  • 常规
    • 窗体类型 : 对象
    • 显示 : 全屏幕
    • 对象 : 期间返货
    • 查询 :
    • 业务 : BPC 期间返货
    • 表头屏幕 : XPG0
  • 页签
    | 页签| 页签名称 | 可见 |
    |-|-|
    | XPGBPC1| | 是* 窗体按钮
    | 类型 |代码 |标题 | 操作 |
    |-|-|
    | 按钮| 4| 提交| |
    | 按钮| 3| 品牌经理审核| |
    | 按钮| 1| 总经理审核| |
    | 按钮| 2| 关闭| |
  • 浏览器
    |对象|标题|索引|方向 |列表类型 |缩写|
    |-|-|
    | XPG| 促销政策| XPG0| 降序| 简单的| |

查询: XIR 货返计算

  • 常规
    • 主窗体 :
    • 标准窗体 :
    • 默认屏幕代码 :
    • 标准脚本 :
    • 特殊脚本 :
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容