SAP B1 应收发票导出至全电发票系统（金税系统）
备注：以下测试是在公司详细信息中勾选启用单独的未税和含税价格模式。(后在没有勾选的情况下测试也是可以正常导出和生成电子发票的)1、基本设置-业务伙伴和物料注意：金税开户行及账号、开票地址及电话也需要维护，否则不能正常导出至 Excel注意：物料商品税目也需要维护，否则不能正常导出至 Excel2、SAP 中生成应收发票3、导出至 Excel导出生成的 Excel 文件信息：1-发票基本信息：2-发票明细信息导出后 SAP 中应收发票“与金税系统相关”变为不可更改，如下图：数据库存储表：OGTM、GTM14、全电发票系统中导入，预览生成的电子发票：5、重置金税状态将已导出或已作废的应收发票重新置为可以导出，在“导出至金税”功能再次可以选择，进行再次导出。*问题：1、导出至金税功能中选不到应收贷项凭证；2、应收发票标题中备注不能导出至 Execl 中的备注栏位；*
SAP B1 移动端配置教程（转载自寇老师博客）
一、安装B1IntegrationIntegration是移动端运行的基础，是服务端。安装文件位置：¥Packages¥B1Integration Component¥Technology安装步骤说明：注：本步骤输入的密码即为B1i 管理员密码如果需要使用手机端则需要勾选【ActivateSupport for SAP Business One Mobile Solution】,注：其他内容请按需勾选【注意部分功能仅限部分国家版本可用】最后打开B1 Integration路径：开始菜单--》程序--》Integrationsolution for SAP Business One--》Integration FrameworkB1iUser: B1iadminPassword：在安装时设置的密码二、配置B1i中的账套连接要正确使用Mobile必须先确保B1i可以正确连接到SAP账套1、路径：SLD--》B1i Server--》SBO-COMMON--》JDBC--》Test Connection2、路径：SLD--》B1i Server--》账套--》B1DI--》Test Connection 注：此处的“UserName”为“B1i”； “password”为SAP中B1i用户的密码，需要到SAP中设置密码。3、路径：SLD--》B1i Server--》账套--》JDBC--》Test Connection三、配置Mobile相关信息1、连接设置路径：SLD--》B1i Server--》WSforMobile测试WSAN、WSAS2、配置ConfigurationRuntime 路径：Maintenance--》CfgRuntime3、配置 Authenfication 路径：ScenariosàAuthenfication 要点：Enforce SecureTransportFalse ：不启用 SSL 使用8080端口，不需要证书True：启用SSL 使用8443端口，需要证书4、重新激活 路径：Scenarios--》 Control--》sap.B1Mobile 去掉该项目前面的勾选，并重新勾选，在弹出的框中点击“Activate”。注：该操作比较慢请耐心等待四、配置SAPBusiness One系统用户信息1、用户配置：1）选择移动用户；2）填写手机号码（可随意填写只要与手机端填写的值一致便可）3）填写手机客户端上的“设备标识”。注：一个SAP账号最多可同时设置2个客户端标识，需要用 / 隔开。2、许可证配置-选择对应的许可证及B1i许可证。五、配置SAPBusiness One APP填写如下信息：B1i的服务器地址、端口需要登录的SAP账套的数据库名称与SAP用户一致的手机号码根据之前配置确定是否选择SSL并关闭DEMO模式。1、安卓版截图：2、ios版本截图
SAP B1 10.0 Demo库 / Localized Demo Databases下载链接
现在大家在项目上逐渐使用10.0进行交付了，但是不可避免地需要安装SAPB1自带的Demo库，不过呢，现在SAPB1安装包里已经没有Demo库了，需要顾问自行下载，为了方便大家下载，将SAP官方提供的Demo库下载文件上传分享给大家，按照需要点击文档里的链接，自动进行下载。分为2个文档：2011和2102；2202和2305大家自行核对版本以及不同Local链接：https://pan.baidu.com/s/1952X0Lytymfek5iL_QFOEw?pwd=vld3 提取码：vld3 --来自百度网盘超级会员V5的分享如果链接失效，请联系博主重新获取，18751551969（微信同号）
SAPB1系统中，财务月结，用于结转成本、损益类科目余额。系统路径： 菜单--管理--实用程序--期末结转/期末关账选择区间，如果是月结，则都是本年利润科目，如果是年结，则选择未分配利润和本年利润月末将损益类科目中的各科目的贷方余额转入"本年利润"的贷方，将损益类科目的借方余额转入“本年利润”借方，比如说"主营业务收入"，“其它业务收入”等一般是贷方余额，将其转入”本年利润“的贷方，而“主营业务成本”、“营业费用”等一般是借方余额，转入“本年利润”借方。损益类科目期末应无余额，如果转入的贷方大于借方，本年利润为贷方余额即表示盈利，反之则是亏损，每月结转，这样累计计算本年利润的科目余额，直至年底算出全年的盈亏。在做结转之前的步骤：检查所有业务是否已经录入，如应收发票、应收贷项凭证、应付帐发票、应付帐款贷项凭证、收款、付款、日记帐凭证(包括差异分配凭证)。核对库存估价报表(计算方式FIFO)是否与总账科目余额一致。核对应收帐龄、应付帐龄是否与总账科目余额一致。核对银行对帐单(银行提供)和总账科目余额是否一致。在SBO锁定会计期间，不允许添加任何营销凭证。仍然允许添加手工日记帐。添加调整日记帐。在SBO激活会计期间，准备做月末结转在SBO进行汇率差异的结转，汇率差异。在SBO打印试算表、损益表、现金流。在SBO进行月末或年末的损益类科目结转，期末结帐。在SBO打印资产负债表。在SBO锁定会计期间，不允许添加任何营销凭证和手工日记帐
SAP B1 标准功能固定资产报废之出售固定资产
出售固定资产是指仅出售公司的部分厂房场地、设备等固定资产、与生产某一产品相关的全部机器设备等出售给其他公司。出售固定资产是资产剥离的一类，资产剥离是指在企业股份制改制过程中将原企业中不属于拟建股份制企业的资产、负债从原有的企业账目中分离出去的行为。在 SAP Business One 中可以使用下列方法报废资产：1.通过销售进行报废：出售固定资产，同时获得利润或遭受损失。如果想指定资产销售的客户信息，您可以创建用于报废资产的应收发票。完成应收发票创建后，系统自动生成报废单据。但是，如果不想指定客户信息，您可以使用〖销售〗类型直接创建报废单据。这是SAP官方的说明，但是通过测试来看，通过销售应收发票来自动创建报废单（原始为IN），那么自动生成的报废单的金额是不对的，所以不能通过销售应收发票来实现出售固定资产业务。建议是：手工做固定资产报废（类型为销售）（报废凭证）+手工分录（应收凭证）。截图如下：
SAP 警报设置正确但是不弹出,查看JobService网页设置警报的地方，发现没有公司可以选择，如下图所示。解决方法：出现该问题的原因是：9.3 PL09 开始添加了公司级别“启用警报”的设置。位置：管理--》系统初始化--》常规设置勾选“启用警报服务”更新后即可在JobService网页中选择到公司了。
实施顾问在项目上，有时候会需要通过一些工具，如B1 Studio进行修改完善UDO，然后存到SAPB1账套中去，但是有时候为了测试，所以先在测试账套中通过B1 Studio进行了大量的完善后，直接右击另存到测试账套中了，但是无法覆盖到正式库，不得不再用B1 Studio再在正式库中修改一遍，浪费时间，浪费精力，所以可以直接通过SQL UPDATE对应的UDO的XML的方式进行覆盖，方法步骤：1.在B1 Studio的测试库中将修改完成后的UDO另存为XML文件。2.打开XML文件，复制XML代码3.到数据库中查询OUDO表，找到对应的UDO那条记录。4.写SQL语句进行 UPDATE OUDO这表的NewFormSrf这个字段的值即可。注意点:如果后面对此UDO进行了修改完善（不管是增加字段，修改表结构，还是其他操作），这个NewFormSrf又被更新成最新的XML了。
有时候SAPB1会出现现金流量表的数据不对，其实不是现金流量表模板的问题，而是日记账分录对应的现金流子表OCFT不对而导致的。所以需要去查询具体的数据，然后进行后台更新处理。以下语句供参考：SELECT T1.TransId,T1.Line_ID,T1.Account,T1.Debit,T1.Credit,T3.CFWId,T4.CFWNameFROM OJDT T0INNER JOIN JDT1 T1 ON T0.TransId = T1.TransIdINNER JOIN OCFT T3 ON T1.Account = T3.Account AND T0.TransId = T3.JDTId AND T1.Line_ID = T3.JDTLineIdINNER JOIN OCFW T4 ON T3.CFWId = T4.CFWIdWHERE T1.RefDate BETWEEN '20230101' AND '20230131' AND T3.CFWId =15SELECT TOP (1000) [CFTId] ,[CFWId] ,[Debit] ,[Credit] ,[SysCredit] ,[SysDebit] ,[FCDebit] ,[FCCredit] ,[FCCurrency] ,[Account] ,[BatchNum] ,[JDTId] ,[JDTLineId] ,[TransType] ,[BaseRef] ,[PaymentMen] ,[PaymentRef] ,[PostDate] ,[ValueDate] ,[Status]FROM [SBO_JL].[dbo].[OCFT] WHERE JDTID= 621SELECT T0.[CFWId], T0.[Debit],T0.[Credit],T0.JDTID,T0.Account,T0.*FROM [dbo].[OCFT] T0 WHERE T0.JDTId =622 AND CFWID=15UPDATE OCFTSET CFWId=999WHERE JDTId =622 AND CFWID=15 AND JDTLineId=3SELECT T0.[CFWId], T0.[Debit],T0.[Credit],T1.TRANSIDFROM [dbo].[OCFT] T0 INNER JOIN [dbo].[OJDT] T1 ON T0.[JDTId] = T1.[TransId] WHERE T0.[CFWId] IS NOT NULL AND T0.[JDTId] IS NOT NULL AND T1.[RefDate] >='20230101' AND T1.[RefDate] <= '20230131' AND T0.[Status] <> 'v' AND T0.[Status] <> 's'AND T0.[TransType] <> 140 AND T0.[TransType] <> 123 AND T0.[TransType] <> 29 AND T0.[TransType] <> 157 AND T0.CFWID=15--GROUP BY T0.[CFWId]
登录网址 https://IP地址:40000/ControlCenter/删除原有连接新建连接
项目上写的，供参考哈：SELECT T0."ItemCode" "物料编码",T0."ItemName" "物料名称",T2."DistNumber" "批次信息",T0."LocCode" "仓库",T4."BinCode" "库位",SUM(T3."Quantity") "数量",T2."MnfSerial" "批次属性1", T2."LotNumber" "批次属性2", CAST(T2."Notes" AS NVARCHAR(200)) "明细"FROM "OITL" T0 --批次交易主表INNER JOIN "ITL1" T1 ON T0."LogEntry" = T1."LogEntry" AND T0."ItemCode" = T1."ItemCode" AND ISNULL(T1."LogEntry",'') <>'' --批次交易明细表NNER JOIN "OBTN" T2 ON T1."ItemCode" = T2."ItemCode" AND T1."SysNumber" = T2."SysNumber" AND T1."MdAbsEntry" = T2."AbsEntry" --批次信息表LEFT JOIN "OBTL" T3 ON T2."AbsEntry" = T3."SnBMDAbs" AND T1."LogEntry" = T3."ITLEntry"INNER JOIN "OBIN" T4 ON T3."BinAbs" = T4."AbsEntry"INNER JOIN "OWHS" T5 ON T0."LocCode"= T5."WhsCode" WHERE T5."BinActivat"='Y'GROUP BY T0."ItemCode", T0."ItemName", T2."DistNumber",T0."LocCode", T4."BinCode", T2."MnfSerial", T2."LotNumber", CAST(T2."Notes" AS NVARCHAR(200)) HAVING SUM(T1."Quantity")<>0ORDER BY T0."ItemCode",T2."DistNumber" ;