精华内容
参与话题
问答
  • K3没有批量BOM单级展开并导出功能,如果需要对特定物料的BOM进行批量单级展开,可以使用如下sql代码来实现

    K3没有批量BOM单级展开并导出功能,如果需要对特定物料的BOM进行批量单级展开,可以使用如下sql代码来实现。


    1、创建BOM父项表

    create table HWbom
    (
    FId int identity(1,1),
    FItemID int
    )
    

    2、创建BOM子项表

    create table HWbomchild
    (
    	FID int identity(1,1),
    	FOrgID int,
    	FParentID int,
    	FLevel int,
    	FSN nvarchar(200),
    	FItemID int,
    	FQty decimal(28,19),
    	FBOMInterID int,
    	FEntryID int
    )

    3、将需要批量导出的BOM编号引入PORTAL数据库中的一个表TTGI28E中;


    4、将父项BOM对应的物料内码插入父项表(可带条件),并与portal的TTGI28E表数据进行匹配:

    insert into HWbom
    (FItemID)
    select t.Fitemid from t_ICItem t
    inner join t_item t5 ON t5.FItemID = t.Fitemid
    inner join [portal].[dbo].TTGI28E t1 on t1.F3J00XC=t.fnumber--将数据与portal数据库中的TTGI28E进行BOM编号匹配,如果需要对所有BOM进行单级展开,可将本条注释掉
    left join icbom t6 on t6.fitemid=t.Fitemid
    left join ICBOMGROUP t7 on t7.finterid=t6.fparentid
    where
    t.FErpClsID in (2,3,5)--2代表自制件,3代表委外件,5代表虚拟件
    and t5.fnumber in('物料编码1','物料编码2')--可根据需要限定BOM范围
    and t5.fdeleted=0 
    order by t.fnumber


    5、根据父项表数据,将数据插入子项表,为后续卷算做准备

    insert into HWbomchild
    (FOrgID,FParentID,FSN,FItemID,FQty,FBOMInterID,FEntryID,FLevel)
    select 
    FId,-1 as FParentID,'001',u1.FItemID,1 as Fqty,t1.FInterID as FBOMInterID,-1  as FEntryID,0
    from HWbom u1
    left join ICBOM t1 on u1.FItemID=t1.FItemID


    6、BOM单层卷算

    declare @level int
    set @level=1
    begin
    
    	insert into HWbomchild
    	(FOrgID,FParentID,FSN,FItemID,FQty,FBOMInterID,FEntryID,FLevel)
    	select
    	u1.FOrgID,u1.FID,u1.FSN+'.'+right('000'+CONVERT(nvarchar(50),t2.Fentryid),3),t2.Fitemid,u1.FQty*(t2.FQty/t1.FQty)/(1-t2.FScrap/100),
    	t2.FInterID,t2.FEntryID,@level
    	from HWbomchild u1
    	inner join icbom t1 on u1.FItemID=t1.FItemID
    	inner join ICBOMChild t2 on t2.FInterID=t1.FInterID
    	where u1.FLevel=@level-1
    
    	set @level=@level+1
    
    end

    7、最终BOM展开数据检索,执行结果可复制到Excel

    select
    t2.FNumber 产品代码,t2.FName 产品名称,t2.FModel 产品规格,
    t1.FSN 序号,
    t3.FNumber 材料代码,t3.FName 材料名称,t3.FModel 材料规格,t1.FQty 产品用量,yy.fname 材料属性,
    t7.fname 计量单位,
    t5.FQty 单位用量,
    t5.FScrap 损耗率,
    --t4.FBOMNumber BOM编号,
    t6.FName as 是否跳层,
    t5.FNote 备注,
    t5.FPositionNo 位置号
    --t1.FBOMInterID,t1.FEntryID
     from HWbom u1
    inner join HWbomchild t1 on u1.FId=t1.FOrgID
    inner join t_icitem t2 on t2.FItemID=u1.FItemID
    inner join t_ICItem t3 on t3.FItemID=t1.FItemID
    left join ICBOM t4 on t4.FInterID=t1.FBOMInterID
    left join ICBOMChild t5 on t5.FInterID=t1.FBOMInterID and t5.FEntryID=t1.FEntryID
    left join t_SubMessage t6 on t6.FInterID=t4.FBOMSkip
    inner join t_SubMessage yy on yy.FInterID=t3.FErpClsID
    inner join t_MeasureUnit t7 on t7.fmeasureunitid=t2.FProductUnitID
    order by u1.FId,t1.FSN


    8、最后清空父项表和子项表数据,以便下次运算使用(不用重新建表了)

    TRUNCATE TABLE HWbom
    --清空附表数据
    TRUNCATE TABLE HWbomchild
    --清空子表数据

    9、如果不再使用,可以将这两个表删除

    drop table HWbom
    --删除父表
    drop table HWbomchild
    --删除子表


    展开全文
  • 清空文件

    2018-01-19 15:11:30
    将Linux文件清空的几种方法1、使用重定向的方法[root@centos7 ~]# du -h test.txt 4.0K test.txt [root@centos7 ~]# > test.txt [root@centos7 ~]# du -h test.txt 0 test.txt 2、使用true命令重定向清空文件...

    将Linux文件清空的几种方法

    1、使用重定向的方法

    [root@centos7 ~]# du -h test.txt 
    4.0K    test.txt
    [root@centos7 ~]# > test.txt 
    [root@centos7 ~]# du -h test.txt 
    0    test.txt

     

    2、使用true命令重定向清空文件

    [root@centos7 ~]# du -h test.txt 
    4.0K    test.txt
    [root@centos7 ~]# true > test.txt 
    [root@centos7 ~]# du -h test.txt 
    0    test.txt

     

    3、使用cat/cp/dd命令及/dev/null设备来清空文件

    复制代码
    [root@centos7 ~]# du -h test.txt 
    4.0K    test.txt
    [root@centos7 ~]# cat /dev/null >  test.txt 
    [root@centos7 ~]# du -h test.txt 
    0    test.txt
    ################################################### [root@centos7
    ~]# echo "Hello World" > test.txt [root@centos7 ~]# du -h test.txt 4.0K test.txt [root@centos7 ~]# cp /dev/null test.txt cp:是否覆盖"test.txt"? y [root@centos7 ~]# du -h test.txt 0 test.txt
    ################################################## [root@centos7
    ~]# echo "Hello World" > test.txt [root@centos7 ~]# du -h test.txt 4.0K test.txt [root@centos7 ~]# dd if=/dev/null of=test.txt 记录了0+0 的读入 记录了0+0 的写出 0字节(0 B)已复制,0.000266781 秒,0.0 kB/秒 [root@centos7 ~]# du -h test.txt 0 test.txt
    复制代码

     

    4、使用echo命令清空文件

    [root@centos7 ~]# echo "Hello World" > test.txt 
    [root@centos7 ~]# du -h test.txt 
    4.0K    test.txt
    [root@centos7 ~]# echo -n "" > test.txt    ==>要加上"-n"参数,默认情况下会"\n",也就是回车符
    [root@centos7 ~]# du -h test.txt  
    0    test.txt

     

    5、使用truncate命令清空文件

    [root@centos7 ~]# du -h test.txt 
    4.0K    test.txt
    [root@centos7 ~]# truncate -s 0 test.txt   -s参数用来设定文件的大小,清空文件,就设定为0;
    [root@centos7 ~]# du -h test.txt 
    0    test.txt
    展开全文
  • 浏览器console终端缓存清空

    千次阅读 2019-06-26 20:51:47
    使用的鼠标右键 clear console 完全没起作用,只是清空了console的终端,刷新浏览器也没用,之前遇到过该问题,没找到方便的解决,所以每次只能 Ctrl+Shift +Delete 来清除console的终端缓存,再刷新,非常麻烦 ...

    使用浏览器的console,测试数据时总是遇到缓存问题,非常不方便
    例如:
    在这里插入图片描述
    说明:当测试时可能就是对一段代码,改了点内容反复测试,可是用过一次的变量就不让用了,这让人真的是非常捉急了。

    使用的鼠标右键 clear console 完全没起作用,只是清空了console的终端,刷新浏览器也没用,之前遇到过该问题,没找到方便的解决,所以每次只能 Ctrl+Shift +Delete

    • clear console 在这里插入图片描述

    • 刷新浏览器
      这个不是非常准确,有的直接刷新浏览器就有用有的没用

    • 在当前网页,直接Ctrl+Shift +Delete
      该方法需要以下操作清除console的终端缓存,再刷新当前网页,非常麻烦
      在这里插入图片描述

    • 推荐方式
      发现一个比较快捷的方式,也不需要清楚整个浏览器的cookie,直接在当前网页操作

      首先需要切换到Network页签

      在这里插入图片描述
      然后右键 clear browser cache

    在这里插入图片描述

    最后,刷新一下页面,再在console页签输入let a=10;就不会再报已定义的错误了,记得一定要刷新一下页面

    至于console页签内容是否清空都可以

    若想要清空console页签的内容,直接右键clear console就可以了

    展开全文
  • 因为项目需要重置初始状态,这时候需要清空原有的部分集合数据。这里我以list集合为例说明一下,其他的map集合都是可以相通的。 代码实现 private List<String> list = new ArrayL...

    背景

    因为项目需要重置初始状态,这时候需要清空原有的部分集合数据。这里我以list集合为例说明一下,其他的map集合都是可以相通的。

    代码实现

    private List<String> list = new ArrayList<>();
        /**
         * clear方法移除集合中的所有元素
         */
        private void clear() {
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
    
            Log.e("not clear", list.toString());
    
            list.clear();// 调用clear方法清空集合中的所有数据
    
            Log.e("clear size", "" + list.size());
        }

    以上代码运行后,打印的日志信息如下:

    这里写图片描述

    这里可以看到,原来集合中有数据,但是调用clear方法后,集合中的数据都被清空了,此时集合的大小为0,表示集合中没有元素存在。

    clear方法源码解读

    下面就是clear方法的源码:

    /**
         * Removes all of the elements from this list (optional operation).
         * The list will be empty after this call returns.
         *
         * @throws UnsupportedOperationException if the <tt>clear</tt> operation
         *         is not supported by this list
         */
        void clear();
    上面的注释说的非常的明白:移除集合中的所有元素。这个集合调用该方法后集合会被置空。
    

    好处分析

    当然,想让一个集合为空有另外的方法,比如重新new一个集合。但是你重新new的时候,会创建一个新的对象,如果设计到需要多次清空集合的操作,你岂不是需要重新创建很多的对象吗?原来的对象分配的内存没被清空,又去新建一个对象分配一个新的内存,这样会对程序的性能造成一定的影响。

    但是你调用clear方法清空集合中数据的时候,这时候对象在系统中分配的内存还是只有一个,不会重新去创建分配新的内存,这样可以极大的优化程序的性能。

    ===========================================================================

    A little bit of progress every day!Come on!

    展开全文
  • List集合的清空方法clear();

    千次阅读 2019-06-30 16:52:11
    List集合的清空方法clear(); ----------------------点滴学习记录 因为最近一直在利用uiautomator做相关的阅读文章操作,其中在测试的过程中发现会大量的重复阅读文章,为了排除它重复阅读,就想到了通过它的标题去...
  • linux下直接清空日志的方法

    千次阅读 2019-04-25 14:00:12
    cat /dev/null > slow.log 或者直接输入 >slow.log
  • C++ vector清空元素的三种方法

    万次阅读 2018-07-19 21:58:00
    #include <iostream> #include <vector> ...//STL vector的几种清空容器(删除)办法 void test() { vector<int> vecnum; vecnum.push_back(1); vecnum.push_ba...
  • python清空字典的两种方法比较

    万次阅读 2016-04-07 22:21:20
    这里说的clear是指清空python中的字典内容,与删除该字典不一样。 例如: d={'name':1,'age':2} 想要清空该字典有两个方法 方法1: d.clear() 打印出d 的值为{} 方法2: d={}
  • js清空input file的值

    万次阅读 多人点赞 2017-08-07 16:11:15
    今天在做选择本地图片上传的功能时遇到一个问题,第一次选择图片完成会触发onchange事件,获取文件后动态在界面上创建img标签展示,这个过程没有问题,问题出在当把创建的img元素节点删除后,再点file控件选中同一个...
  • 对象属性和值的深拷贝 let staffForm = { id: '123', name: 'zhangsan' } 方法一:ES6语法 let obj = Object.assign({}, staffForm);//obj是深拷贝的对象 方法二:JSON工具,通过转字符串,然后转对象 ...
  • 链接redis清空指定库数据

    万次阅读 2020-01-20 10:48:58
    redis-cli -h host -p port -a password 连接redis 如果提示Redis (error) NOAUTH ... 127.0.0.1:6379>auth"yourpassword" flushall 是清除所有库的数据 ...flushdb 是清除当前选择的库的数据 ...select ...
  • JavaScript清空数组的三种方法

    万次阅读 2018-05-20 20:17:42
    用length方法可以很轻松地清空数组,代码示例: var arr = [1,2,3]; console.log(arr); arr.length = 0; console.log(arr); 结果如下: 2、splise splice() 方法向/从数组中添加/删除项目,然后返回被...
  • 解决方法: 执行 cd 回到了当前用户的主目录 然后执行 sudo rm -rf ./local/share/Trash/file/ 即可清空回收站
  • Java清空数组的数据

    万次阅读 2018-10-10 19:37:27
    清空数组, String[] array = new String[2]; array[0] = "1"; array[1] = "2"; array[2] = "3"; 清空操作array=null; 如果用kotlin 是array=emptyArray() 你如果要清空指定索引...
  • 1、为什么需要主动释放vector内存 vector其中一个特点:内存空间只会增长,不会减小,援引C++ Primer:为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储。...
  • sessionStorage清空所有缓存方法

    万次阅读 2018-07-23 20:46:06
    sessionStorage.clear()轻松搞定
  • 使用jquery如何清空input 中的内容

    万次阅读 2017-05-28 19:58:29
    用JQ的attr属性就可以清空input的内容 <inputtype="text"value="TEST"/> <scriptsrc="http://libs.baidu.com/jquery/1.9.0/jquery.min.js"type="text/javascript"/> <script> $(function(){ ...
  • MYSQL:如何清空表中的数据

    万次阅读 多人点赞 2018-09-17 15:34:50
    不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。 效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。 delete的效果有点像将...
  • 代码如上,现在的问题是这样:省市都能正常出来,联动也实现,就是在选择省的时候市的下拉框应该清空上一次的选择,我用this.cityId = '',this.teamUpdateForm.cityId = '',this.cityId = null这些都试过,都无法...
  • 购物车清空

    千次阅读 2018-03-27 19:24:00
    &lt;!DOCTYPE html&gt;&lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8" /&gt; &lt;title&gt;月考&lt;/title&gt; &lt;...&

空空如也

1 2 3 4 5 ... 20
收藏数 739,601
精华内容 295,840
关键字:

清空