当前位置: 首页 > article >正文

SAP B1 学习笔记 - 易混淆字段名(持续更新中)

背景

在 SAP B1 的单据中,由于同一单据时常对应着多个后台表单,且后台表单内包含的字段信息往往远大于单据显示出来的,在配置时经常出现多个字段混淆、无系统信息提示字段名模糊的情况,这里总结常见的易混淆难查找的后台字段名。

字段名查询方法

1)系统信息显示

 打开【查看】下的【系统信息】,将鼠标停放在需要查询的字段上,即可查看表单内大部分字段的后台【表名】、【列名】以及【选中字段内容】:

2)查询向导

 

需要查询的表单,可以在此输入其英文缩写名称,按【Tab】键,会返回该表单所有列的列名(单据字段仅能显示表单内的部分列,若有被隐藏不显示的列,在此处查找才能获得完整版)。

如下图,点击鼠标右键,点击【复制表】,可将该表所有列名复制去 Excel。在 Excel 内可以实现一键查找。

模块

1. 营销单据金额

1.1 相关概念

博主通过查看单据是否显示【营销单据】下新建的用户定义字段来判断单据是否属于营销单据,查出以下 18 个单据:

  • 销售:销售报价单;销售订单;交货;退货请求;退货;预售款申请;应付发票;营收贷项凭证;应收预留发票
  • 采购:采购申请;采购报价单;采购订单;采购收货单;采购退货单;采购退货请求;采购退货;预付款申请;应付发票;应付预留发票

故,其后所列举的字段名称适用于以上所有单据。

先补充一些概念:

  • 本币:本币是公司向当地税务部门报税时使用的国家货币。
  • 外币:相对于本币有汇率的其他货币,如本币设定为人民币时,欧元、美元、港币均为外币。
  • 系统货币:系统基于国家货币自动确定的货币。
  • 业务伙伴货币:与您签订协议的业务伙伴的货币。

其中,【业务伙伴货币】在业务伙伴使用外币时可选,从内容上相当于【外币】,而【业务伙伴货币】特指该业务伙伴所使用外币,而【外币】为统称且需要用于统一管理所有种类外币汇率。

在系统列名中,使用 本币、外币、系统货币  进行区分,如下图。在使用过程中,系统货币 使用频率相对于 本币、外币 较低。

1.2 字段名

由于营销单据的常规部分和【内容选项卡】分别对应后台单据的一张主表和一张子表,且命名方式均为 OXYZ 和 XYZ1( 详见《SAP B1 常用表单的 中英文名称&路径》),这里分主表内的金额信息和子表内的金额信息进行总结。

1)主表(OXYZ)

单据总金额 - 含税含折扣

折后单据总税额

单据折扣金额
本币DocTotalVatSumDiscSum
外币DocTotalFCVatSumFCDiscSumFC
系统货币DocTotalSyVatSumSyDiscSumSy

示例

注意图中数据对应

2)子表(XYZ1)

单价折后单价

单价-

含税不含折扣

行总计-

不含税含折扣

折后行税额

行总计-

含税不含折扣

本币PriceBefDiPricePriceAfVATLineTotalVatSumGTotal
外币TotalFrgnVatSumFrgnGTotalFC
系统货币TotalSumSyVatSumSyGTotalSC

其中 PriceBefDi、Price、PriceAfVAT 仅有本币类型,如使用外币,则会根据过账日期汇率自动转化为本币金额,下一小节 1.3 部分会举例。

示例

注意图中数据对应

补充:单据折扣和行折扣

折扣:输入数为百分率。单据折扣得到的结果是因折扣减去的金额,而不是最终金额。

两种折扣互不影响,对于最终结果有叠加效果。虽然字段名一致,但是 OXYZ.VatSum 和 XYZ1.VatSum 代表的内容并不一致。子表物料若为多行,XYZ1.VatSum 会按比例分配最终实际结果,即 OXYZ.VatSum,下一小节 1.3 部分会举例。

1.3 进阶示例

以下总结三个测试案例,分为 简单案例、复杂案例、外币案例。如下图,例图中均是从同一单据中通过 SQL 抽出主表和子表的表格内金额数据,均为本币类型。

便于对应,再次列出字段名对应信息。

主表(OXYZ):

单据总金额 - 含税含折扣

折后单据总税额

单据折扣金额
DocTotalVatSumDiscSum

子表(XYZ1):

单价折后单价

单价 -

含税含折扣

行总计 -

不含税含折扣

折后行税额

行总计 -

含税不含折扣

PriceBefDiPricePriceAfVATLineTotalVatSumGTotal

1)简单案例

设置:

  • 物料种类为 1 种,数量为 2
  • 无行折扣,单据折扣为 10%
  • 税为销项税 17%

2)复杂案例

设置:

  • 物料种类为 2 种,数量均为 1
  • 物料1 无行折扣,物料2 行折扣为 10%,单据折扣为 10%
  • 税为销项税 17%

3)外币案例

1.4 公式总结

由 1.3 小节案例,逐步总结各字段之间的关系公式如下:

PriceBefDi - 物料信息自带

Price = PriceBefDi * XYZ1.DiscPrcnt(行折扣率)

XYZ1.VatSum = Price * OXYZ.DiscPrcnt(单据折扣率) *  税率

OXYZ.VatSum = (SUM(LineTotal) - DiscSum) * 税率

                         = SUM(LineTotal) * (1 - OXYZ.DiscPrcnt) * 税率

                         = SUM(XYZ1.VatSum)

GTotal = PriceBefDi * (1 + 税率)

PriceAfVAT = GTotal / Quantity(行个数)

LineTotal = Price * Quantity(行个数)

DiscSum = SUM(LineTotal) * OXYZ.DiscPrcnt(单据折扣率)

DocTotal = SUM(LineTotal) - DiscSum - OXYZ.VatSum

               = (SUM(LineTotal) - DiscSum) * (1 - 税率)

               = SUM(LineTotal) * (1 - OXYZ.DiscPrcnt) * (1 - 税率)

由此可见,其中 DocTotal、VatSum、DiscSum 为单据金额使用信息;PriceBefDi 为物料金额使用信息;Price、LineTotal 为单据金额计算过程信息;PriceAfVAT、GTotal 为单据金额概念信息。

--------------

(to be continued)


http://www.kler.cn/a/301508.html

相关文章:

  • 解决Windows远程桌面 “为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多。请稍后片刻再重试,或与系统管理员或技术支持联系“问题
  • 第六节、Docker 方式部署指南 github 上项目 mkdocs-material
  • 编写一个生成凯撒密码的程序
  • 【分布式】万字图文解析——深入七大分布式事务解决方案
  • Unity3D 完整直升机控制器(虚拟仿真级别)
  • Javascript高级—函数柯西化
  • 【c/c++】类型转换:隐式类型转换、强制类型转换
  • Vue - 关于Router路由跳转时显示的animate.css动画
  • ffmpeg使用安装使用教程(命令行-Python)
  • 后端Web之SpringBoot原理
  • Ubuntu 22.04 系统中 ROS2安装
  • 复仇时刻 华为的狙击还没结束
  • JAVA 使用POI实现单元格行合并生成
  • Spring Boot 四大请求编码模板(GET、POST、PUT、DELETE)
  • eureka服务开启之后的默认登录账号密码是什么?
  • SpringBoot项目部署+属性配置方式+多环境开发
  • 爬虫2:web请求与http
  • vue2 条形码 打印3*5的标签,打印标签
  • 【Linux】传输层协议——UDP
  • libyuv之linux编译
  • 【视频教程】Python语言在地球科学领域中的实践技术应用
  • 如何在本地部署大语言模型
  • Docker Container 常用命令
  • Qt-布局管理
  • C语言---函数概念深入学习基础(3)
  • 2.2.3 UDP的可靠传输协议QUIC 1