- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
将价目表价格作为销售最低价的设置方法.
将价目表价格作为预订单最低价的设置方法
NC产品支持部 刘嘉亮 liujlc@
问题背景:
项目应用中,在预订单或者销售订单时开启了询价参数,填写价格时,希望对价格做一个控制,使得填写的价格不能低于价目表中询出的价格。这样的需求,实际是将价目表价格作为了一个底线:高于价目表中定义的价格的,可以继续业务;低于价目表中定义的价格,不允许业务继续进行。
目前,可以通过配置模板公式从产品层面解决这个问题。
解决方案:
本方案基于56产品。其他版本中,只要表体中有下文用到的相关字段,也可以尝试。
思路为:如果当前录入的价格高于价目表价格,则保持当前价格;如果当前录入的价格低于价目表价格,则取价目表价格。使用单据模版公式中提供的IIF函数实现。
注意到预订单的表体字段中,有“原币无税单价(noriginalcurprice)”、“原币含税单价(noriginalcurtaxprice)”、“报价单位无税单价(nqtorgprc)”、“报价单位含税单价(nqtorgtaxprc)”、“价目表ID(cpriceitemtable)”等字段,括号中的是该字段的项目主键。
如果预订单匹配了价目表,则系统会将询到的价格置到“报价单位无税单价”、“报价单位含税单价”等报价单位相关字段上去。所以,可以将这些字段作为判断条件,将录入的价格与这些字段做比较。
销售订单的表体字段中,有“无税单价(noriginalcurprice)”、“含税单价(noriginalcurtaxprice)”、“主计量询价无税单价(nqtorgprc)”、“主计量询价含税单价(nqtorgtaxprc)”、“税率(ntaxrate)”、“价目表ID(cpriceitemtable)”等字段。
如果销售订单匹配上了价目表,则会根据SA02参数的不同而将询到的价格置入到“主计量询价无税单价”或者“主计量询价含税单价”字段中。这是,必须对这两个字段中确实的价格项进行补齐,然后就可以将“无税单价”和“含税单价”与“主计量询价无税单价”和“主计量询价含税单价”字段进行比较。
这中间需要注意的一个问题就是当存货没有定义价目表或者没有开启预订单询价时,价格项应该保持当前输入值,没有比较的环节。
操作步骤:
一、预订单
1、在“原币无税单价”字段添加编辑公式
原币无税单价的编辑公式中配置:iif(cpriceitemtable==null,noriginalcurprice,iif(noriginalcurprice=nqtorgprc,noriginalcurprice,nqtorgprc))
含义为,先判断是否匹配了价目表,当价目表id值为“null”时,认为没有匹配价目表或者没有开启预订单询价,则保持当前输入值不变;否则判断原币无税单价是否大于等于报价单位无税单价字段,如果大于等于,则保持当前输入的字段值,如果小于,则将原币无税单价字段赋值为报价单位无税单价的值。
2、在“原币含税单价”字段添加编辑公式
同理,原币含税单价的编辑公式中配置:iif(cpriceitemtable==null,noriginalcurtaxprice,iif(noriginalcurtaxprice=nqtorgtaxprc, noriginalcurtaxprice, nqtorgtaxprc))
其公式含义与无税单价字段完全相同,只是相应字段都更改为含税相关。
3、使用要求
由于将公式写在了“原币无税单价”和“原币含税单价”字段的编辑公式中,所以如果希望公式生效,必须手动编辑这两个字段才能看出效果。
编辑其他字段(比如“原币无税净价”等),系统也会根据价格关系反算出“原币无税单价”和“原币含税单价”,但是由于这时公式没能触发,所以不能达到将询到的价格作为最低价格的要求。
这一点需要注意。
二、销售订单
1、在“无税单价”字段添加编辑公式
编辑公式中配置如下公式:
nqtorgprc-iif(getcolvalue2(pub_sysinit,value,initcode,SA02,pk_org,1001)==Y,nqtorgtaxprc/(1+ntaxrate/100),nqtorgprc);
nqtorgtaxprc-iif(getcolvalue2(pub_sysinit,value,initcode,SA02,pk_org,1001)==N,nqtorgprc*(1+ntaxrate/100),nqtorgtaxprc);
iif(cpriceitemtable==null,noriginalcurprice,iif(noriginalcurpricenqtorgprc,noriginalcurprice,nqtorgprc))
销售订单询价结果根据参数SA02(是
文档评论(0)