第24期 金蝶云·星空-供应链云 | 产品应用典型/热门问答精选原创
金蝶云社区-一直有项目做的霍普
一直有项目做的霍普
9人赞赏了该文章 324次浏览 未经作者许可,禁止转载编辑于2024年03月06日 16:37:36
封面

image.png

各位社区的小伙伴们,大家好,我是  版主  一直有项目做的霍普   @一直有项目做的霍普 

image.png

在金蝶云·星空-供应链云产品应用中,你需要了解的典型/热门问答都在这里!

本贴不定期持续更新,欢迎小伙伴们收藏本贴,以便随时查看、扩充知识呦

image.png

【汇总】 金蝶云·星空-供应链云 | 产品应用典型/热门问答精选 image.png

【第24期】--~刚刚更新,赶紧收藏点赞关注三连呦~~~~

1、VMI退货消耗汇总数量与源单数量不一致

问题描述

image.png

生成消耗汇总提示,消耗汇总表中1与退单货数量-1不一致

解决方案:

方案一、消耗汇总表,暂存、提交操作按钮取消如图插件

image.png

image.png

方案二:临时补丁(基于2024年1月)https://k3cloudpt.kingdee.com/Package/TempPatch_V8_SCM/TempPatch_V8_SCM_8_0_735_14/8_0_735_14/Stardard/TempPatch_V8_SCM.8.0.735.14.kdpkg

问题来源:VMI退货消耗汇总数量与源单数量不一致 (kingdee.com)

2、销售订单执行明细报表自定义字段提示列名不存在。

问题描述

F_SNBN_TEXT 字段是加在销售订单的明细行里的

image.png

有没有大佬教一下表单的关联关系。

解决方案:

select b.F_SNBN_TEXT ,* from t_sal_order a inner join t_sal_orderentry b on a.fid=b.fid 表头和明细关联,一个fid字段就够了。

问题来源:销售订单执行明细报表自定义字段提示列名不存在。 (kingdee.com)

3、请问各位大神,如何二开插件实现套打导出多张单据导出在同一个压缩包内?

问题描述

 pExInf2.PageId = this.View.PageId;
  pExInf2.FormId = this.View.BillBusinessInfo.GetForm().Id;
  pExInf2.BillIds = new List<string>() { "100039", "100056" };
  pExInf2.TemplateIds = tempIds.ToList();//套打模板ID
  pExInf2.FileType = ExportFileType.PDF;
  pExInf2.AutoZip = true;
  pExInf2.ExportType = ExportType.BillTempId;//导出格式   ByPage 分页
  string fileName = Guid.NewGuid().ToString() + ".PDF";
  pExInf2.FilePath = PathUtils.GetPhysicalPath(KeyConst.TEMPFILEPATH, fileName);
  IDynamicFormViewService viewService = View as IDynamicFormViewService;
  viewService.ExportNotePrint(pExInf2);

image.png

以上代码如果AutoZip = false,只会导出单据ID为100039的pdf到一文件夹。
  
  
  如果AutoZip = true ,可以生成压缩包,但打开压缩包提示:该文件为非压缩文件,无法打开。看不到里面有几张单据,看大小估计也是只有一张。

image.png

解决方案:

大致逻辑是先调用系统自带套打导出方法,在服务器创建临时pdf文件,再压缩成ZIP包,最后通过接口下载。下面是压缩,下载实现方法,生成pdf方法用你上面的即可

   public static string CheckAndCompresseFile(string tempZipDirPath,Context ctx,string filename, IDynamicFormView view,string temppath)

        {

            DirectoryInfo dirInfo = new DirectoryInfo(tempZipDirPath);

            var _zipfilename = string.Format("{1}_{0}.zip", Guid.NewGuid(), filename);

            // string _temppath = HttpContext.Current.Server.MapPath(KeyConst.TEMPFILEPATH);

            string _temppath = temppath;

            string zipfilepath = Path.Combine(_temppath, _zipfilename);

            CreateZipFile(tempZipDirPath, zipfilepath);

            DeleteDirectory(tempZipDirPath);

            string downloadUrl = ConvertPhysicalPathToDownloadUrl(ctx, zipfilepath);

            ViewCommonAction.ShowWebURL(view, downloadUrl);

            //C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\tempfilePath zip文件要删除

            // DeleteZipFile(_temppath + @"\" + _zipfilename);

            return downloadUrl;

        }

        private static void CreateZipFile(string sourceDirectory, string zipFilePath)

        {

            if (!Directory.Exists(sourceDirectory))

            {

                return;

            }

            ZipOutputStream stream = null;

            try

            {

                stream = new ZipOutputStream(File.Create(zipFilePath)); stream.SetLevel(0); // 压缩级别 0-9                      

                byte[] buffer = new byte[4096]; //缓冲区大小                       

                string[] filenames = Directory.GetFiles(sourceDirectory, "*.*", SearchOption.AllDirectories);

                foreach (string file in filenames)

                {

                    ZipEntry entry = new ZipEntry(file.Replace(sourceDirectory, "").TrimStart('\\'));

                    entry.DateTime = DateTime.Now;

                    stream.PutNextEntry(entry);

                    using (FileStream fs = File.OpenRead(file))

                    {

                        int sourceBytes;

                        do

                        {

                            sourceBytes = fs.Read(buffer, 0, buffer.Length);

                            stream.Write(buffer, 0, sourceBytes);

                        } while (sourceBytes > 0);

                    }

                }

            }

            finally

            {

                if (stream != null)

                {

                    stream.Finish();

                    stream.Close();

                }

            }

        }

        private static void DeleteDirectory(string path)

        {

            DirectoryInfo dir = new DirectoryInfo(path);

            if (dir.Exists)

            {

                DirectoryInfo[] childs = dir.GetDirectories();

                foreach (DirectoryInfo child in childs)

                {

                    child.Delete(true);

                }

                dir.Delete(true);

            }

        }


        public static string ConvertPhysicalPathToDownloadUrl(Context context, string physicalPath)

        {

            if (!File.Exists(physicalPath))

            {

                return string.Empty;

            }

            string id = context.DBId + Guid.NewGuid().ToString("N");

            string downloadUrl = string.Format("FileUpLoadServices/DownloadExportFile.ashx?id={0}&token={1}", id, context.UserToken);

            //设置缓存以供下载接口调用           

            CacheUtil.SetCache(context.GetAreaCacheKey(), "DownloadExportFile", id, physicalPath, new TimeSpan(0, 2, 0, 0));

            return downloadUrl;

        }

问题来源:请问各位大神,如何二开插件实现套打导出多张单据导出在同一个压缩包内? (kingdee.com)

4、非内部交易如何生成其他组织单据

问题描述

香港公司出售产品到报关公司   再由深圳公司找这家报关公司的内地分公司采购回来系统操作是:香港做销售订单,客户为报关公司(香港),再到销售出库单深圳做采购订单,供应商为报关公司(内地),再做采购入库单能否在香港销售订单审核自动生成深圳的采购订单

解决方案:

你这个可以走分销购销业务流程,看一下这两个帖子的介绍

跨组织销售和分销购销的区别 (kingdee.com)

内部销售还有一招――分销 (kingdee.com)

问题来源:非内部交易如何生成其他组织单据 (kingdee.com)

5、怎么新建物料设置先进先出,其它物料都是加权平均

问题描述

怎么新建物料设置先进先出,其它物料都是加权平均

解决方案:

image.png

核算范围中设置为加权平均法,然后再到物料计价方法中设置个别物料的计价方法

系统优先取物料计价方法中的计价方法核算

问题来源:怎么新建物料设置先进先出,其它物料都是加权平均 (kingdee.com)

6、销售出库单提示负库存

问题描述

image.png

出库单这个物料没有库存,但是他子项物料有库存,且比例是1:1.为什么还是出不了库

image.png

解决方案:

出库销售的是成品,如果有子项材料可以组装或者生成出这个成品,那你就去做生产订单或者组装拆卸单,把子项材料使用掉然后入库这个产品,再去销售才能出库成功

问题来源:销售出库单提示负库存 (kingdee.com)

7、其他出库单做一个物料,只有保质期单位和保质期对应不上,其他都对,出现了库存检查不通过。

问题描述

其他出库单:

image.png

去即时库存看,发现保质期和保质期单位不一致了

image.png

物料列表的:

image.png

我已经刚刚改了物料列表里的保质期和保质期单位,然后回其他出库单重新删除明细信息里的物料,物料数据里的有效日期和失效日期也变更了。但还是负库存。不知道是什么原因。

解决方案:

不用关注即时库存和单据上的保质期,你只需要关注生产日期和有效期至,确保其他出库单中的生产日期和有效期至和即时库存中的一致,库存维度一致,就能出库。

问题来源:其他出库单做一个物料,只有保质期单位和保质期对应不上,其他都对,出现了库存检查不通过。 (kingdee.com)

8、采购员做采购订单的时候,在在去年是做了一个采购订单,并且也付钱了,货也到了,也付钱了,发票也到了。

问题描述

采购员做采购订单的时候,在在去年是做了一个采购订单,并且也付钱了,货也到了,也付钱了,发票也到了。可是后来的时候,在今年发现那个货有问题,所以他在2024年的一月份的时候,在那个订单那边做了一个退退料。退料补料的单据,退料补料的单子做完之后呢,可是后来又发现这个原料还是有问题,他们不打算做,不打算再送原,换原料了,就直接想退料了,并且也退款。像这样的话,那个单据该怎么做?退之前从采购订单退了一张单子,但是他退错了,退成了退料又补料了,那这个咋办?

解决方案:

就从采购订单继续下推退料,只退料不补料,退料单下推红字的应付单把钱退回来就行

问题来源:采购员做采购订单的时候,在在去年是做了一个采购订单,并且也付钱了,货也到了,也付钱了,发票也到了。可是后来的时候 (kingdee.com)

9、 销售订单销售数量10,下推销售出库5,剩余5个下推采购订单,采购数量如何自动显示为剩余数量5

问题描述

销售订单销售数量10,下推销售出库5,剩余5个下推采购订单,采购数量如何自动显示为剩余数量5

解决方案:

image.png

你把单据转换规则里面计算数量的公式改了,改为库存基本数量-累计出库数量或者关联库存数量,根据需求来改

问题来源:销售订单销售数量10,下推销售出库5,剩余5个下推采购订单,采购数量如何自动显示为剩余数量5 (kingdee.com)

10、销售订单能否显示毛利情况

问题描述

各位老师好,请问系统里面能不能看到我们每个销售订单的毛利情况,并且需要把成本细分项分别显示出来,比如说:直接材料成本、直接人工成本、摊销的间接制造费用等

解决方案:

需要在成本管理模块的报表查看

目前销售订单成本跟踪表,可以按成本项目展开,再更细的费用项目就只能通过产品维度利润分析表来查看了

image.png

问题来源:销售订单能否显示毛利情况 (kingdee.com)

11、求教各位大佬 计量单位 和 计量单位组 的区别和联系是什么

问题描述

百度了一下发现说的比较专业、晦涩、大佬们能不能简单易懂的解释一下,不胜感激

解决方案:

系统存在基准单位和非基准单位,这些都可以称为计量单位。而计量单位组里面包含多个非基准单位和一个基准单位。比如重量单位组,基准单位是千克,非基准单位有克,有吨,这些单位之间都存在换算。同个单位组的单位在单据上可以随时换算,如果不是同个单位组,就必须要到物料上建物料单位换算,添加后单据上才能使用。

通俗一点来说,每个人可以理解成一个单位,一个家庭可以理解成一个单位组,而基准单位就是户主,非基准单位就是其他家庭成员。

问题来源:求教各位大佬 计量单位 和 计量单位组 的区别和联系是什么 (kingdee.com)

12、多个价目表如何自动选取最低价格的价目表

问题描述

多个价目表如何自动选取最低价格的价目表:比如:一个物料价目表1价格为5元,另一个价目表价格为7元,怎么在选择此物料时自动选择价格低的价目表

解决方案:

你是说采购价目表,我就拿这个给你举例,这个取价是按生效日期和失效日期进行区分了,如果同一供应商备案的多个物料的价目表,肯定是按最新的生效和失效日期进行获取的。如果说,你就想取最低价格,你可以利用二开功能进行,按条件取最低就行,这个就看你的控制方向了。

问题来源:多个价目表如何自动选取最低价格的价目表 (kingdee.com)

13、只有参数设置为采购订单新变更单方式才允许在列表进行变更操作!

问题描述

只有参数设置为采购订单新变更单方式才允许在列表进行变更操作!

解决方案:

是的,

1、系统参数设置为“启用订单变更单”时,根据原订单下推生成采购订单变更单

image.png

2、系统参数设置为“直接订单变更”时,系统允许通过单据里的修改变更来实现变更发起

3、系统参数设置为“启用订单新变更单”时,系统允许通过列表和单据里的修改变更来实现变更发起,

image.png

问题来源:只有参数设置为采购订单新变更单方式才允许在列表进行变更操作! (kingdee.com)

14、采购订单填错物料,采购退货再重新下单对核算成本有影响吗

问题描述

采购订单填错物料,采购退货再重新下单对核算成本有影响吗

解决方案:

采购退货必须关联生成,如果没有关联生成而且没有启用批号,整个数据会稍微收到一点点影响,主要是看成本计算方式加权平均的话就没事一出一入

问题来源:采购订单填错物料,采购退货再重新下单对核算成本有影响吗 (kingdee.com)

15、询价单的“物料比价”和“总金额比价”的区别

问题描述

大佬们,询价单的“物料比价”与“总金额比价”对供应商的筛选具体有什么影响吗?能举个小栗子不(菜鸟真诚提问)

解决方案:

场景说明:

不同业务场景中并非以目前系统的单个物料进行比价,而是存在多种比价模式,按询价物料的总采购金额比较,按物料明细分开比较等多种业务场景。

场景1:物料分散采购,多个供应商报价时,向报价最优的供应商采购。

场景2:集中供应,为保证本次整体采购最低价,必须通过整体采购金额进行比较。

在询价中设置比价模式,在依据此模式对报价单的价格录入进行控制,用于满足不同模式下对数据的需求。

提供比价模式:物料比价:支持按询价明细中单个物料逐一比价,比价结果单独的选择录用供应商。

采购总额比较:按询价单中的采购数量与供应商的报价,计算采购总额,通过采购总额比较,比较结果对所有明细行物料有效,选择总额比较结果最优的供应商。

问题来源:询价单的“物料比价”和“总金额比价”的区别 (kingdee.com)


赞 9