新年度开账结转操作步骤(2021年结转到2022年)

一、新建会计期间:

        1、2021年度12月份做月末结账,系统自动新建新年度会计期间;

       2、2021年度业务未完成,同时需操作2022年业务:

   手动新建新年度会计期间,路径:用U8账套主身份用户登陆U8客户端,登陆日期选20211231日(12月会计期间的最后日期之前),在基础设置---基本信息---会计期间,打开会计期间,点“增加”按操作提示完成新年度会计期间建立,详见下例示图:

图片

图片

图片

二、总账开账、结转:

        总账12月份月末结账后,U8账套主管用户登陆U8客户端,选登陆日期为202211日,依次打开:财务会计--总账--期初,点击进入期初余额界面,再点表头“开账”,即完成新总账开账,详见下例示图:

图片

图片

开账之前期初为空白,开账完成后自动将上年度的会计科目基础档案结转至新年度,如果此时12月份已结账,可以点“结转”,将上年度期末结转至新年度期初。结转完成后与上年度进行对账,对账正确后正常开展后续操作。(备注:总账支持重复结转,当结转完后发现上年度需要调整,可以返回上年度调整正确后重新结转总账期初.开帐只能进行一次,如果在开账之后再在21年增加的基础档案是不会再结转到22年的,要相应的在22年增加。 

图片

三、出纳管理开账

    用U8账套主管用户登陆U8客户端,选登陆日期为2022年1月1日,依次打开:财务会计--出纳管理--设置--系统设置,详见下例示图:

进入系统设置界面后先点“开账”,提示完成后再点“结转”,结转完成后正常操作。


Linux 端口的开启

  • Linux 端口的开启

  • 一、firewall 方式 (centOS7.*)

  • 二、修改 iptables 方式 (centOS6.*)

一、firewall 方式 (centOS7.*)

  1. 查看防火墙状态


firewall-cmd --state

图片

图片

如果返回的是 “not running”,那么需要先开启防火墙;

  1. 开启防火墙


systemctl start firewalld.service

图片

再次查看防火墙状态,发现已开启!另外,搜索公众号Linux就该这样学后台回复“Linux”,获取一份惊喜礼包。

  1. 开启指定端口


firewall-cmd --zone=public --add-port=3306/tcp --permanent

显示 success 表示成功
–zone=public 表示作用域为公共的
–add-port=443/tcp 添加 tcp 协议的端口端口号为 443
–permanent 永久生效,如果没有此参数,则只能维持当前 服 务生命周期内,重新启动后失效;

  1. 重启防火墙


systemctl restart firewalld.service

系统没有任何提示表示成功!

  1. 重新加载防火墙


firewall-cmd --reload

显示 success 表示成功

  1. 其他命令


#查看已开启的端口
firewall-cmd --list-ports

#关闭指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload

#查看端口被哪一个进程占用
netstat -lnpt |grep 5672
# centos7默认没有 netstat 命令,需要安装 net-tools 工具:
# 安装 net-tools
yum install -y net-tools

# 临时关闭防火墙
systemctl stop firewalld.service
# 或者
systemctl stop firewalld

# 永久关闭防火墙(必须先临时关闭防火墙,再执行该命令,进行永久关闭)
systemctl disable firewalld.service
# 或者
systemctl disable firewalld



二、修改 iptables 方式 (centOS6.*)

centOS6.* 的linux版本是自带iptables的,所以可以直接使用该方式,centOS7 不自带iptables的,所以要使用该方式,需要手动安装iptables后,再使用该方式!

2.1 修改 iptables 文件

#修改iptables
[root@localhost sbin]# vi /etc/sysconfig/iptables

图片

2.2 重启防火墙

[root@localhost sbin]# /etc/init.d/iptables restart

图片


三、注意事项

当在 Linux 中成功开启了某个端口,但是远程 telnet 还是无法 ping 通,是正常的!

图片

因为 3306 端口没有被 Linux 进程监听,换句话说,就是该端口上没有运行任何程序!!!
如果这时,我将 Mysql 在 Linux 中启动,并配置完成,那么远程 telnet 该端口是可以成功的!!!


SAP  拆分批次后,拆分数据丢失等原因不法删除。导致前台删除不了行项目及交货单。 可通过 修改 LIPS表    KCMENG(所有分裂项目的累计批数量(以库存单位计)) 字段值改为:0,和 KCBRGEW(所有批量拆分项的累计总重) 字段为:空。后数据空正常删除了  

一:什么是MRO

所谓的MRO,就是方法解析顺序(Method Resolution Order)。在调用方法时,会对当前类以及所有的基类进行一个搜索,确定要调用的方法具体在哪。不管用哪种方式去确定MRO列表,必须满足 本地优先级和单调性。

本地优先级:指声明时父类的顺序,比如C(A,B),如果访问C类对象属性时,应该根据声明顺序,优先查找A类,然后再查找B类

单调性:如果在C的解析顺序中,A排在B的前面,那么在C的所有子类里,也必须满足这个顺序

二:常见的mro算法

1:mro=深度优先遍历的(DFS)

正常继承模式 没有任何问题。。。

菱形继承模式 就有问题啦。。

        比如说C重写了D中的test()方法,A在调用test()时,按照MRO顺序调用的是D中的test,此时C中重写的test()方法将永远访问不到,导致了C只能继承不能重写D中的方法(即使C重写了test()方法也不会访问到),这就是DFS的缺陷。

2:mro=广度优先遍历的(BFS)

既然采用DFS存在问题,采用BFS会不会就没有上边的问题尼?

正常继承模式 有问题啦

        比如说 C D中都有test()方法,A中调用test()按照MRO顺序 调用到了C中的test(),这显然是不正确的,因为先从B开始搜索 B中虽然没有 但是B的父类D中有,正常应该调用D中的test()。所以如果采用BFS时,正常继承模式 不满足前边说的单调性。。

菱形继承模式 没有问题,解决了DFS菱形继承带来的问题

3:mro=C3算法

既然DFS和BFS都存在问题,那么只能才用其他方式了,这就是C3啦。。。

正常继承模式和菱形继承模式  都没有问题,DFS和BFS存在的问题都给解决了,哈哈 是不是很棒

 正常继承

class D(object):def __init__(self):super(D,self).__init__()print('D')def fun(self):print('D fun()')class E(object):def __init__(self):super(E,self).__init__()print('E')class C(E):def __init__(self):super(C,self).__init__()print('C')def fun(self):print('C fun()')class B(D):def __init__(self):super(B,self).__init__()print('B')class A(B,C):def __init__(self):super(A,self).__init__()print('A')if __name__ == '__main__':a = A()print(A.__mro__)a.fun()

菱形继承

class D(object):def __init__(self):super(D,self).__init__()print('D')def fun(self):print('D fun()')class C(D):def __init__(self):super(C,self).__init__()print('C')def fun(self):print('C fun()')class B(D):def __init__(self):super(B,self).__init__()print('B')class A(B,C):def __init__(self):super(A,self).__init__()print('A')if __name__ == '__main__':a = A()print(A.__mro__)a.fun()

算法正常继承 mro顺序菱形继承 mro顺序
DFSA,B,D,C,EA,B,D,C (只能继承,不能重写问题)
BFSA,B,C,D,E(不满足单调性原则)A,B,C,D
C3A,B,D,C,EA,B,C,D

三:C3算法

C3算法的核心就是merge

利用merge计算A的mro (O代表object类)

mro(E) = [E,O]mro(D) = [D,O]mro(F) = [F,O]mro(B) = [B] + merge(mro(E),mro(D),[E,D]) = [B] + merge([E,O],[D,O],[E,D]) E符合merge条件 = [B,E] + merge([O],[D,O],[D]) D符合merge条件 = [B,E,D] + merge([O],[O],[]) O符合merge条件 = [B,E,D,O]mro(C) = [C] + merge(mro(D),mro(F),[D,F]) = [C] + merge([D,O],[F,O],[D,F]) D符合merge条件 = [C,D] + merge([O],[F,O],[F]) F符合merge条件 = [C,D,F] + merge([O],[O],[]) O符合merge条件 = [C,D,F,O]mro(A) = [A] + merge(mro(B),mro(C),[B,C]) = [A] + merge([B,E,D,O] ,[C,D,F,O] ,[B,C]) B符合merge条件 = [A,B] + merge([E,D,O] ,[C,D,F,O] ,[C]) E符合merge条件 = [A,B,E] + merge([D,O] ,[C,D,F,O] ,[C]) C符合merge条件 = [A,B,E,C] + merge([D,O] ,[D,F,O] ,[]) D符合merge条件 = [A,B,E,C,D] + merge([O] ,[F,O] ,[]) F符合merge条件 = [A,B,E,C,D,F] + merge([O] ,[O] ,[]) O符合merge条件 = [A,B,E,C,D,F,O] 与程序结果一致

利用拓扑排序计算mro

根据继承关系图,(简单来说就是不停找入度为0的点,然后减去相连的边,不停重复,直至只剩下一个点)找到入度为0的点,只有A,将A加入mro顺序列表中,剪掉与A相连的边;再找入度为0的点,有两个点B和C,取最左,so将B加入mro顺序列表中,剪掉与B相连的边;再找入度为0的点,有两个点E和C,取最左,so将E加入mro顺序列表中,剪掉与E相连的边;再找入度为0的点,只有C,so将C加入mro顺序列表中,剪掉与C相连的边;再找入度为0的点,有两个点D和F,取最左,so将D加入mro顺序列表中,剪掉与D相连的边;再找入度为0的点,只有F,so将F加入mro顺序列表中,剪掉与F相连的边;只剩下object,将object加入mro顺序列表中;此时得出mro = [A,B,E,C,D,F,O],与程序结果一致.
class D(object):passclass E(object):passclass F(object):passclass B(E,D):passclass C(D,F):passclass A(B,C):passprint(A.__mro__)

 打印A的__mro__ 结果是ABECDFO  根上边分析计算的一样

变换一下 就是D和E的位置交换一下,也就是B的父类由B(E,D)--->B(D,E)

class D(object):passclass E(object):passclass F(object):passclass B(E,D):passclass C(D,F):passclass A(B,C):passprint(A.__mro__)

 打印A的__mro__ 结果是ABCDEFO

变换前:A B 相连的边都剪掉后,此时入度为0的节点有C和E,这里先选的是E

变换后:A B 相连的边都剪掉后,此时入度为0的节点有C和E,这里先选的是C


 四:经典类、新式类中MRO

 1:经典类  mro=深度优先遍历的(DFS)

经典类没有__mro__属性

 

2:新式类 mro=C3算法

新式类有__mro__属性 


源:https://blog.csdn.net/zhangdell/article/details/122041048

U8  供需政策  LP件转PE件

先查询确定数据

select bTrackSaleBill ,csrpolicy from inventory where cinvcode=N'物料号'

select  * from inventory_sub where cInvSubCode=N'物料号'


更新物料档案

update inventory set csrpolicy = 'PE',bTrackSaleBill = 0 where cinvcode in ('物料号')

update inventory_sub  set iRequireTrackStyle=0  where cinvsubcode in ('物料号')


更新 销售订单子表

idemandtype (U872)需求跟踪方式(1-销售订单行号;4-需求分类号5-销售订单号)

update set idemandtype = '0'  where cSOCode = '销售订单号'