第一篇:NC二次开发培训感受
3月25日到3月28日四天的NC二次开发培训也许让我们学不到很实质性的东西,但是通过这次的培训确实接触了算是正规的培训吧。自从去年开始从事NC的二次开发之类,学习NC的途径就是一大堆的文档、实际项目中自己的摸索和向其他人请教得来的。在这次培训中重新认识了NC的开发框架技术架构,及使用UAP向导开发表单时应注意的一些问题,培训中老师所提到的一些我们平时该注意的地方,都是一些我们平常容易出现错误的地方,比如说表设计时一些必须有的字段及这些字段的长度定义等。为了使这次的培训更有意义也为了加深自己对这几天培训的印象,我简单写了以下几项: 1.设计数据库表时应该注意的事项:(1)在第一天的表单开发中知道了原来想让自己的单据可以自动生成单据号,需要将主表中编号字段设置为vbillno,而且只能设置为这个字段。另外,主子表的设计时,子表中主表主键必须和主表中主键值相同,比如主表中主键是pk_test,则子表中主表主键字段必须为pk_test。(2)设计主子表时,最好不要使用外键关联,如果使用可能会出现莫名其妙的问题。(3)在设计主表时,应该有以下几个字段:公司、制单人、制单日期、审核人、审核日期、审核批语、最后修改人、最后修改时间、备注、单据状态、单据类型、业务类型、时间戳、删除标识和20个自定义项。在设计子表时,应该有来源单据类型、来源单据ID、来源单据行ID、上层单据类型、上层单据ID、上层单据行ID、时间戳、删除标识和20个自定义项。具体的设计规范,可以参照NC数据库设计注意事项。2.我们使用表单开发工具制作表单时,首先会新建一个项目,这个项目的编码就是我们模块的名字,这个模块的名字一定要和我们在Eclipse下建立的工程模块名相同,否则会出现一些莫名其妙的问题,我在平时就遇到了一些这样的问题,找了半天的错误才发现是因为模块名不匹配的情况。当然,这种情况一般会出现在两个人合作开发。3.利用表单制作单据时,有六个系统按钮需要生成动作脚本:保存、修改、作废、提交、审核和弃审。动作脚本会生成在modules/模块名/METAINF/VAR下。4.二次开发的节点必须遵守规范,否则会出现LESSONS受限的问题。5.会计平台:在由新开发的业务单据生成会计凭证的时候,我们需要做一些配置,当我们在配置凭证模板的时候可能会找补到我们新增的单据,这个时候我们可以到单据类型管理节点下,看一下新增的业务单据是否勾选了根节点和单据大类的设置。6.审批流:当我们正确的配置了审批流后,可能会遇到审批流无效的情况。这个时候我们可以到数据库中查看一下审批流所对应的系统表中看一下该审批流中的业务类型是否为我们单据所对应的业务类型。在培训的时候我就遇到了审批流配置后无法产生审批效果的情况,通过代码跟踪我发现在保存审批后系统会将通用业务类型的主键值给放到了审批流表中,这点不知道是产品的BUG还是我们操作中的问题。7.对于我们在产品的配置过程中所遇到的多语言问题,我们可以在单据项目管理中修改设置。8.在我们开发过程中遇到问题时,不要急于去请教别人,可以自己先通过分析错误日志去查找问题的来源,我想只有这样才会使我们学习到更多的东西。我们可以将日志级别设置为TRACE,以得到更多的日志信息。另外,在查看日志时关键是要提炼出对我们有用的SQL语句。9.应该熟悉一下UI工厂的内容,自己在以前对这部分内容就有所欠缺。主要的是看一下单据的几种状态,这对我们控制按钮很有用处,记得在先前的项目中就遇到过类似的问题。10.在做报表的时候,我感觉最好是使用查询引擎,因为那样会比我们使用报表模板更加的灵活,而且可以实现更加好的效果。11.在考试的过程中,发现了自己平时的一个坏习惯,那就是平时开发的过程中习惯偷懒直接去复制粘贴代码,导致今天在考试时很多代码一时都忘记了。特别是对于modules配置文件,平时的时候就是照者样子去写,没有注意到本质的东西,接下来应该看一下红皮书了。12.在平时的时候,确实需要多看一下别人是怎么写的代码,这样可以节省很多的时间,但是重要的是我们在学习了别人的东西后,要多去练习,将知识转换为我们自己的东西。13.在项目中如果几个人合作开发,最好使用版本控制服务器。在使用过程中一定要求项目组成员规范使用服务器,在自己所开发的内容确定后及时提交到服务器上,以避免最后造成版本混乱。我在项目中就遇到过这样的问题,同事在开发过程中,总是会忘记提交代码而且提交的时候都不知道自己提交的是正确的还是不正确的。另外在提交时最好是写明注释,可以简单地写上本次提交主要改了哪些东西有什么作用,可能在提交的时候你会感觉到麻烦,但是我想在以后的维护中肯定会让你轻松很多的。好了,简单地就写这么多吧。其实自己了解的也不是很多,在这次的培训和考试中,我对NC又有了一个新的认识,相信在以后的开发过程中这几天的培训内容会起到很大的作用的。
第二篇:用友NC系统操作培训总结
NC系统操作培训总结
10月24日,工业集团战略企划部在青岛 公司主持召开了NC系统操作培训,对子公司及集团本部采购条线、财务条线、销售条线人员进行培训。集团信息中心张柏新详细讲解了系统的操作方法。对各条线参训人员均做了详细的操作演练。
工业集团推行ERP系统,对整个集团的统一管控,系统操作有一个质的的发展进步,是大多数集团公司大型企业必由之路,我司紧跟时代步伐,积极推进erp系统上线,对各级人员的职业素养均是一个不可错失的提高机会。
本次培训主要针对NC系统的操作实务,为今后的工作打下基础,各子公司现在正在推行该系统上线,操作人员必须对该系统有全面的了解,所以本次培训势在必行。
通过本次培训,各条线人员对系统有了初步的认识,在原有系统的基础上加深了理解,也熟悉了系统的操作。为今后的工作推动打下基础。
第三篇:网站二次开发协议范文
网站二次开发合同
甲方:
乙方:
甲方在此委托乙方进行
网站的二次开发。为明确双方责任,经友好协商,双方达成以下协议:
第一条:项目的内容、价款、开发进度、交付方式。
第二条:甲方的权利和义务
1.提供专人与乙方联络。
2.提供所有需要放到网上的资料交给乙方,并保证资料的合法性。
3.乙方在完成合同规定的义务后,甲方按照附录一的要求,及时支付费用。
4.甲方将在著作权法的范围内使用本合同标的及相关作品、程序、文件源码,不得将其复制、传播、出售或许可给其它第三方。
5.甲方对本合同标的中的网页、图像享有排版的版权。
6.版权所有归甲方(包括原文件、程序、文字、动画文件、有声文件、及相关作品)第三条:乙方的权利和义务
1.提供专人与甲方联络。
2.按附录一的要求,使用甲方资料,进行网站的二次开发。
3.在附录一要求的期限内,完成网站的二次开发,并通知甲方进行验收。
4.在验收期内甲方要求下,对不合格地方进行修改。
5.乙方未经甲方同意不得向第三方拷贝或泄露网站程序。6.乙方负责维护甲方网站运营期间数据的安全。
7.在附录一要求进行网站更新的情况下,在接到甲方要求网站更新的传真2日内,按照要求对网站进行更新;
8.在附录一要求进行培训的情况下,对甲方1-3名技术人员进行培训。第四条:验收
1.验收标准有以下几条:
a.甲方可以通过任何上网的计算机访问这个网站。
b.主页无文字拼写及图片(以甲方提供的材料为准)错误。
c.网络程序正常运行。
2.验收期为5天时间。
第五条 违约责任
1.任何一方有证据表明对方已经、正在或将要违约,可以中止履行本合同,但应及时通知对方。若对方继续不履行、履行不当或者违反本合同,该方可以解除本合同并要求对方赔偿损失。
2.因不可抗力而无法承担责任的一方,应在不可抗力发生的3 天内,及时通知另一方。
3.一方因不可抗力确实无法承担责任,而造成损失的,不付赔偿责任。本合同所称不可抗力是指不能预见、不能克服并不能避免且对一方当事人造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、火灾和风暴等以及社会事件如战争、**、政府行为等。
第六条 保密条款
双方应严格保守在合作过程中所了解的对方的商业及技术机密,否则应对因此造成的损失承担赔偿。
第七条 以上条款如有未尽事疑,经甲、乙双方协商后加以补充:
补充内容: 乙方需提供使用文档,并根据使用文档对甲方技术人员提供相关培训等支持。并在交付后有免费代码维护义务,并在双方合作共赢的基础上提供更多技术支持(比如有偿的功能开发等项目)。
第八条 其它
1.如果本合同任何条款根据现行法律被确定为无效或无法实施,本合同的其他所有条款将继续有效。此种情况下,双方将以有效的约定替换该约定,且该有效约定应尽可能接近原约定和本合同相应的精神和宗旨。
2.附录一规定的有效期满,乙方未完成附录一任务,超出期限每天扣两百,超出期限后放弃该任务,按网站的费用双倍赔偿。
3.如乙方在期限内放弃该任务,按网站的费用双倍赔偿。3.本合同经双方授权代表签字并盖章,自签订日起生效。
4.本合同一式两份,双方当事人各执一份,具有同等法律效力。
甲方(盖章):
乙方(盖章)代表:
代表:
第四篇:Nutch二次开发总结
1.1 信息源选择及规范制定
Nutch通过制定相应的URL规则来达到对限定的URL进行爬取,即过滤信息。默认情况下可以在相关的配置文件中进行配置,它用正则表达式来规范URL。当然,还可以自己编写相应的插件等来实现所制定的URL规范。
1.2 信息预处理
这里的信息预处理是指将Nutch爬虫所下载下来的内容转变为Nutch索引器所能调用的文本。信息预处理过程主要涉及到如下内容:
(1)格式识别并抽取文本。一般情况下,Nutch爬虫下载下来的文档是HTML,但是网络上还存在诸多类型的其他文本:txt、doc、pdf、xls、rtf等等,甚至还有多媒体的文档格式。在进行索引之前,必然从这些下载下来的文件中抽取出文本信息,针对不同的格式文档抽取方式也不同。Nutch默认对HTML、TXT能直接处理,而其他的有些已经实现但并没有加载。目前有很多开源软件可以抽取文本信息,如word文档的poi、pdf文档的pdf-reader等等。在二次开发时,需要对相应的文档格式进行编写抽取文本工具。
(2)信息过滤。这里的信息过滤是指从抽取的文本中滤去那些不希望使其存在的文本内容,这个过程也不一定是独立的,可能会与上一个过程存在相交之处。举个实例,比如针对某一个网站的某一部分网页中的部分区域不希望被索引,那么可以编写一个相关的插件来实现对这个网站的这类网页进行过滤,去除这一区域内的内容。
(3)编码格式的转换。网络上的信息编码格式五花八门,并不是特别规范。一般情况下,Nutch处理后都能实现编码的统一,但是有些信息却不能很好地被默认程序转换,这时候就应当对Nutch进行扩展,以实现编码的转换。
1.3 索引本土化构建
以过信息预处理后的信息可以直接为Nutch索引。在索引过程中,需要考虑的因素也有很多。一是中文类语言的分词问题。这一点在前面实验中已有详细的分析并做了一些总结。二是信息的进一步处理,这一过程是在寻找最能表达原文语义的语词集合。另外还有一些其他相关技术如词干提取、停止词、本体等等。这个过程是相当重要的一个过程,直接决定了查询服务的效果。
1.4 排序规则制定
排序规则的制定并不仅仅影响到查询结果,可以说它贯穿在了整个搜索引擎的工作过程中。因为能影响排序规则的因素有很多,比如说与用户需求的相关性、系统业务需求等,具体的有如语词在文献中的词频、在整个文献空间的词频、语词位置等,甚至是信息时间都会影响到排序。因此在二次开发时,需要根据需求,针对性地制定排序规则,并把它反映在系统中。
1.5 查询系统及用户界面
Nutch的查询系统是发布在Tomcat下的,它提供了一种类似于google的查询界面,并且支持多语言。在实际的二次开发中,并不一定支持多种语言,可针对某一种语言进行改写。另外还可以对查询过程进行二次改发,改变它的查询方式、添加分页、增加summery等。对于用户接口界面,则根据实际情况改写即可。
第五篇:RobotFramework二次开发小结
RobotFramework二次开发小结
本文主要针对用例之间的调度,和定时运行用例这两个方向进行了介绍,其中用例之间的调度在RobotFramework平台上直接可以实现,对定时运行用例,我们进行了Robot平台的二次开发。
【用例之间调度】:
1、前一个用例的执行结果是后一个用例的执行条件,在python编译环境下定义两个函数。
图1 python编写资源库文件
在RobotFramework里添加该资源库文件,定义一个全局变量${turn},新建两个用例test1和test3,Robot平台提供了关键词Run Keyword if,可以实现两个用例之间的调度关系,如果函数(在Robot称为关键字)check返回的是True则执行函数Add,否则不会执行函数Add。
图2 RobotFramework设计用例1
2、前一个用例的执行结果是后一个测试用例的输入值,定义一个全局变量${sum},将函数Add的执行结果传给函数Fun。
图3 RobotFramework设计用例2
【RobotFramework二次开发】 关于定时运行用例,对Robot平台进行了二次开发,在Robot平台的菜单栏里添加一个Tasks菜单项,点击下拉菜单Schedule弹出设置界面。
图 4 RobotFramework二次开发界面
1、该Task Schedule Dialog 可以设计定时运行用例,有两种触发方式,Single和Cycle(CI Trigger方式目前没有实现),其中Cycle可以设置间隔时间,单位为hour、day、week;
2、打开Task Schedule Dialog时,自动将Robot平台设计的用例树放在界面的绿色区域,可以选择单个用例或多个用例,输入Task Name(也就是Robot平台的tag),选定触发方式(Single或Cycle),点击Add按钮添加任务;
3、选择添加的任何一个任务,可以通过Modify按钮修改Task Name,或通过Delete按钮删除该任务;
4、鼠标点击一个任务时,在绿色区域的用例树中,被设置的用例会自动打勾显示。
图5 RobotFramework平台二次开发功能图
5、点击Start按钮将按设置时间依次运行各用例,如图6所示,如果用例是保存在文件夹D:python_testSofttest,,任务的运行报告自动保存在当前目录的OutputDirN下,如果是Cycle方式会再建一层文件夹(文件夹名为任务运行时间)。
图 6 用例执行报告保存文件夹
关注点:Task Schedule Dialog里的Task Name就是Robot平台的tag,执行的过程先判断设定时间,如果满足条件,将Output Directory目录下的含有该tag的所有用例都运行一次。用例执行顺序和最初在Robot平台设计的用例顺序一致。
6、Robot平台的二次开发使用方法:将FrameTask.py,mainframe.py,TaskSchedule.py,TestTree.py放在C:Python26Libsite-packagesrobotideui,覆盖所有文件,再打开Robot就可以看到菜单项。