易飞自定义报表之调用自定义函数
- 格式:doc
- 大小:80.50 KB
- 文档页数:4
excel 自定义函数调用公式
Excel自定义函数是一种强大的工具,它允许用户根据自己的
需求创建自定义的函数来处理数据。
通过自定义函数,用户可以扩
展Excel的功能,使其更适合特定的工作需求。
在Excel中,自定义函数可以通过VBA(Visual Basic for Applications)编写并保存在工作簿中。
一旦定义了自定义函数,
就可以在Excel中使用它来处理数据。
要调用自定义函数,只需在
单元格中输入函数名称和参数,就像调用内置函数一样。
例如,假设我们定义了一个名为"CalculateBonus"的自定义函数,用于计算员工的奖金。
我们可以在单元格中输入类似于
"=CalculateBonus(A1)"的公式来调用这个自定义函数,其中A1是
员工的销售额。
这样,Excel就会自动调用我们定义的函数来计算
奖金,并将结果显示在单元格中。
通过自定义函数,用户可以根据自己的需求扩展Excel的功能,使其更加灵活和强大。
无论是进行复杂的数据分析,还是简单的计算,自定义函数都可以帮助用户更高效地处理数据,提高工作效率。
总之,Excel自定义函数是一种强大的工具,可以帮助用户根据自己的需求扩展Excel的功能。
通过自定义函数,用户可以根据自己的需求创建自定义的函数来处理数据,从而提高工作效率。
易飞费用表单集成操作说明目录一、安装 (3)1、安装易飞费用集成模块 (3)二、参数配置说明 (9)1、易飞端配置 (9)2、工作流端配置 (9)三、设置基础资料 (13)1、人员基础资料设定 (13)2、员工借款信用额度设置 (15)3、录入部门信息 (15)4、录入汇率设定 (16)5、设置费用单据性质 (16)6、录入费用项目 (18)7、录入费用预算项目 (18)8、录入费用预算方案 (18)9、设置应付单据性质 (19)10、设置其他收支类型 (21)11、设置核算项目 (22)12、设置科目/部门预算 (22)四、日常单据录入 (23)1、录入费用预算单 (23)2、录入费用预算调整单 (24)3、费用表单自定义栏位设定作业 (25)4、费用表单集成查询 (26)5、费用申请单 (26)6、国内/国外出差费用申请单 (34)7、其他费用申请单 (34)8、费用借款单 (38)9、录入预付款单 (41)10、借款单自动生成预付款单 (42)11、录入费用还款单 (43)12、录入退款单 (44)13、录入费用报销单 (46)14、国内/国外出差费用报销单 (47)15、录入费用报销单 (48)16、录入付款单 (50)17、报销单自动生成付款单 (51)18、录入其他费用单 (52)19、录入其他应付单 (54)五、实例操作 (55)(一)基础资料设置 (55)1、设置共用参数,启用“费用管理” (55)2、设置会计科目 (56)3、录入三大费用承担中心 (56)4、录入费用项目 (58)5、录入费用预算项目 (58)6、录入币种汇率 (59)7、录入费用预算方案 (60)8、设置费用单据性质 (60)9、自定义费用报销参数字段 (61)(二)实例 (62)一、安装1、安装易飞费用集成模块工作流安装包找到YifeiOMS文件夹,双击EFSPTool.exe文件,弹出安装程序对话框,点小版版更按钮(1)安装数据库服务器点数据库服务器按钮,点继续安装按钮,安装数据库服务器输入SA使用者密码后,点测试联机,联机成功点确定按钮点开始安装按钮,开始安装数据库服务器安装完后,弹出还原数据库成功,点确定,数据库安装成功。
自定义单据的步骤一、单据自定义的步骤(以销货单半页单据设计为例):在步骤中若有看到「注」请至文件后参考「三、备注说明」STEP1:一单据多格式设定(所谓一单据多格式是指同一种单别有不同的单据格式)订单管理系统->基本信息管理->单据性质设置①先选该单别③可输入单据格式名称,若有输入名称不可大于6码且不可有_ 线符号②此处须勾选※如果在单据格式中输入单据格式的名称,那么在打印此单别的单据时,系统会自动Default此单据格式STEP2:在Microsoft Word里先编辑好单据样式(设档案为A1.DOC)STEP3:订单管理系统->异动单据打印->销货单打印->基本选项(如果要针对某单别设定单据格式,可以在“选择销货单别”处选择或输入单别代号) ->系统选项->打印使用格式(如果要新设格式则在此入格式名称)->点选设计凭证STEP4:点选「设计凭证」后,即会出现此画面。
[注一]*建议设计者在自定义单据时,将此画面COPY下来!(键盘上Print Screen Sys Rq->画图->Ctrl+V->打印)以方便设计单据时,方便查询各字段代号!区域一区域二区域三区域四整张单据的范围不可超过此蓝色虚线1.QRGroup(区域一)性质:单头区段。
每张单据的单头打印部分。
设定的高度包含单身的中文字段名称。
2.QRDetailBand(区域二)性质:单身一笔区段。
设定的高度为可打印单身一笔资料。
3.QRGroupFooter(区域三)性质:单身数据段。
每张单据可打印的单身资料高度。
范围由QRDetailBand(区域二)的底端至该页可打印单身资料的高度,若资料不足,未到该页底端时,会印『//以下空白』4.GroupFooterChildBand(区域四)性质:单尾区段。
每张单据的单尾打印部分可印单头金额合计、备注、签核等(也就是每张单据只印一次的资料),当单据超过一张时,会印『接下页...』STEP5:将不要显示的字段先隐藏请先开启组件检视器(在设计单据画面里,按右键->显示组件检视器)点选要隐藏的字段->将组件检视器的「打印」选项空白将不要显示的字段拖放到其它空白处STEP6:将Word格式的文档(* .DOC)转成 Emf 图档在「设计凭证」界面空白处点击鼠标的右键->Word.doc 转 emf图档文件(F)->开启文件(O)->开启A1.DOC文件(F)->保存文件(S)->A1.EMF->保存(S)*须记下保存文件的路径文件(F)->退出(X)按下后,在文件名称里输入emf图文件的路径及文件名(若出现「WORDSTEP7:改变系统预设的底图(在对象检示器中选QuickRep)点选这个点选此可清除系统预设的底图STEP8:定义单据长度〔注三〕组件检视器-> QuickRep->点选鼠标二下「页面」点选鼠标两下会展以下设连续报表纸的长度为279.4;因是半页单据,所以长度=279.4 / 2=139.7必须改成「Custom」才可以修改「长度」的值STEP9:字段位置调整点选欲作位置调整的字段按住鼠标右键移动到合适的位置。
易飞系统作业操作手册目录第一章基本作业操作____________________________________3第一节主画面基本操作_____________________________________3第二节录入作业基本操作___________________________________4第三节打印凭证基本操作___________________________________10第四节报表基本操作_______________________________________13第二章品号与BOM 信息的建立___________________________18第一节品号资料的建立_____________________________________ 18第二节BOM 资料的建立____________________________________24第三节相关报表的查询及列印________________________________27第三章客户订单至生成批次需求计划_______________________28第一节设置订单单据性质____________________________________28第二节客户信息资料的建立__________________________________29第三节报价单的录入________________________________________30第四节客户商品价格的录入__________________________________31第五节客户订单资料的录入__________________________________32第六节订单变更单的录入____________________________________33第七节生成批次需求计划维护及锁定__________________________34第八节发放LRP采购单______________________________________37第九节发放LRP工单_________________________________________38第十节相关报表的查询及列印________________________________39第四章请购单至采购进货_________________________________40第一节设置采购单单据性质__________________________________40第二节供应商信息资料建立__________________________________41第三节采购核价单的录入____________________________________42第四节供应商料件价格的录入________________________________43第五节请购单资料的建立____________________________________44第六节维护请购信息作业____________________________________45第七节从请购单生成采购单__________________________________46第八节采购单资料的建立____________________________________47第九节采购变更单的录入____________________________________48第十节采购进货单的录入____________________________________49第十一节采购退货单的录入__________________________________51第十二节相关报表的查询及列印______________________________52第五章工单至入库及委外进、退货_________________________53第一节设置工单单据性质___________________________________53第二节委外核价单的录入___________________________________54第三节委外价格的录入_____________________________________55第四节工单资料的建立_____________________________________56第五节工单变更单的录入___________________________________58第六节领、补料单及超领单的录入__________________________59第七节退料单的录入_______________________________________61第八节生产入库单的录入___________________________________63第九节委外进货单的录入___________________________________64第十节委外退货单的录入___________________________________65第十一节相关报表的查询及列印_____________________________66第六章客户订单至销货___________________________________67第一节出货通知单的录入___________________________________67第二节销货单的录入_______________________________________68第三节销退单的录入_______________________________________69第四节相关报表的查询及列印_______________________________70附表易飞系统作业流程图_______________________71第一章 基本作业操作第一节 主画面基本操作<主画面>双击¡易飞ERP 系统¡,图标找开系统登录画面选择公司名称(即套帐名称) 功能设置-第二节录入作业基本操作<主画面>1. 新增:在数据库中新增一笔信息,选择新增功能钮后,将进入信息新增状态。
关于报表工具FineReport的自定义函数的应用很多报表工具都自带大量的函数,在正常情况下足够满足用户的报表制作需求,但是在一些特殊领域,可能需要一些特殊的函数,在这种情况下,报表工具FineReport提供了自定义函数机制,可以由用户根据业务需要自己来定义一些函数,满足用户的自定义需求。
但这些函数必须FineReport函数定义规则。
以下以两个实际案例来仔细详解。
应用一:生成cpu条形码FineReport中自带有EAN型编码,但却没有cpu条形码,但是可以通过自定义函数引用第三方包来生成cpu编码的条形码并显示出来。
如输入数值12345678912,将会得到以下UPC条形码:具体步骤怎么实现?1、编写自定义函数●导入第三方包在eclipse中导入第三方包(barcode4j-light.jar,可在帆软论坛上下载),barcode4j是一款开源的条形码生成库,能够生成很多种编码的条形码,包括UPC码。
自定义函数中可以直接调用该包中现成的方法来生成UPC条形码。
●自定义函数类新建一个类Upc,完整代码如下:// 自定义函数生成UPC条形码package com.fr.function;import java.awt.image.BufferedImage;import org.krysalis.barcode4j.impl.upcean.UPCABean;import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;import org.krysalis.barcode4j.tools.UnitConv;import com.fr.script.AbstractFunction;public class Upc extends AbstractFunction {public Object run(Object[] args) {if (args == null || args.length < 1) {return "参数不对,必须有一个参数";}try {// 创建一个UPC编码生成器UPCABean bean = new UPCABean();// 设置条形码高度,BufferedImage.TYPE_BYTE_BINARY代表常量值12,可直接使用常量值final int dpi = Integer.parseInt(args[1].toString());bean.setModuleWidth(UnitConv.in2mm(1.0f / dpi));bean.doQuietZone(false);BitmapCanvasProvider canvas = new BitmapCanvasProvider(dpi,BufferedImage.TYPE_BYTE_BINARY, false, 0);// 创建条形码bean.generateBarcode(canvas,args[0].toString());canvas.finish();// 返回图片显示return canvas.getBufferedImage();} catch (Exception e) {e.printStackTrace();}return args[0];}}2、编译自定义函数编译Upc.java生成Upc.class文件,拷贝至报表环境目/WebReport/WEB-INF/classes/com/fr/function下;将第三方包barcode4j-light.jar放在报表环境目录/WebReport/WEB-INF/lib文件夹下。
EXCEL中自定义函数的创建与使用方法Excel是一个强大的工具,广泛应用于数据处理、计算和分析。
而在其强大的功能中,自定义函数可以帮助用户实现个性化的计算需求。
通过简单的步骤,我们可以创建符合特定要求的函数,从而提高工作效率和精确度。
在Excel中,创建自定义函数需要使用VBA (VisualBasicforApplications)编程语言。
尽管许多用户可能对编程感到陌生,但只需掌握一些基本概念,便能轻松上手。
了解VBA环境在使用Excel之前,首先需要了解VBA编辑器的基本使用。
在Excel中,按下Alt+F11,便可以打开VBA编辑器。
此时,你会看到一个界面,左侧有一个“项目窗口”,显示当前打开的工作簿和任何已插入的模块。
在此窗口中,右键单击您的工作簿,选择“插入”>“模块”,即可创建一个新模块。
创建简单的自定义函数自定义函数的语法相对简单。
以下是一个基础示例,用于计算两个数字的和。
FunctionSumTwoNumbers(Number1AsDouble,Number2AsDoubl e)AsDoubleSumTwoNumbers=Number1+Number2EndFunction在这个代码中,Function关键字表明这是一个函数。
函数接受两个参数(Number1和Number2),并返回它们的和。
创建完后,关闭VBA编辑器,回到Excel工作表,你可以在单元格中使用此函数,就像使用内置的SUM函数一样。
例如:=SumTwoNumbers(5,10)返回15。
添加复杂的逻辑自定义函数不仅可以进行简单的数学运算,还可以处理复杂的逻辑。
考虑一个示例,该函数用于检测一个数是否为质数。
FunctionIsPrime(NumberAsLong)AsBooleanDimiAsLongIfNumber<2ThenIsPrime=FalseExitFunctionEndIfFori=2ToSqr(Number)IfNumberModi=0ThenIsPrime=FalseExitFunctionEndIfNextiIsPrime=TrueEndFunction这个函数使用循环和条件语句来判断输入的数字是否是质数。
调用自定义函数
调用自定义函数是指在程序中使用自己编写的函数。
在程序开发过程中,我们往往会需要多次使用某个功能,此时我们就可以将这个功能封装在一个函数中,方便重复调用。
调用自定义函数的步骤如下:
1.定义函数:先编写函数代码,定义函数的输入和输出参数。
2.调用函数:在程序中使用函数名加参数的形式调用函数。
3.传递参数:通过调用函数时传递参数,实现函数的功能。
调用自定义函数可以提高程序的复用性和可读性,同时也有助于提高开发效率。
- 1 -。
在excel任何工作簿中调用个人工作簿中的自定义函数
在excel任何工作簿中调用个人工作簿中的自定义函数,过程如下:
1、在excel中创建一个工作簿,按Alt+F11,进入VBA编辑器,右击工程或对象或表或thisworkbook,插入模块,双击新增的模块,在右边的代码窗口中编辑好自定义函数,存为C:\Users\lenovo\AppData\Roaming\Microsoft\AddIns文件夹下的喜欢的一个文件,扩展名为.xlam,也可以用具有代表性的personal.xlam;
2、回到excel中,点击:选项>加载项,点击加载项列表中的刚才存的文件,再点击下面的“转到”,在弹出的可加载宏列表中前面的复选框打上勾;
3、退出excel,再启动excel,该自定义函数或此文件中的宏就可以在任一工作簿中调用了。
上一次发表衍生字段的使用方法,在衍生字段中可以调用系统函数或者进行四则运算。
本人的理解都是转换成可运行的SQL 语句。
故可以在数据库执行函数都应该可以被调用,系统函数可以调用那自定义函数呢?答案是对的。
首先进行一个简单的测试:日期转换格式自定义函数20100611—》2010-06-11创建函数create function Date10(@date8 nvarchar(8))returns nvarchar(10)begindeclare @tmp nvarchar(10)if @date8 is not nullbeginset @tmp=substring(@date8,1,4)+'-'+substring(@date8,5,2)+'-'+substring(@date8,7,2)endelsebeginset @tmp=''endreturn @tmpend注意必须加上ZE表示当前数据,因为易飞在处理集团业务的时候多公司就有多数据库(这点很无奈-不知道神码开发人怎么想?应该采用多地点方式,或者公司别)否则就会找不到该函数(当然系统函数就不必要加)再建一个自定义函数看看:根据客户订单别订单号订单序号-查询到相关的工单。
通常是一对一,但如果是拆单这个可能一对多CREA TE function GetWO(@TD001 AS V ARCHAR(10),@TD002 AS V ARCHAR(10),@TD003 AS V ARCHAR(10))returns varchar(100)asbegindeclare @remarks varchar(100) ,@TA001 nvarchar(10),@TA002 V ARCHAR(10)Declare MyCursor CURSORlocal static for select TA001,TA002 FROM MOCTA WHERE TA026=@TD001 and TA027=@TD002 and TA028=@TD003Open MyCursorwhile 1=1beginfetch MyCursor into@TA001,@TA002if @@fetch_status<>0breakIF @TA001 is not nullbeginset @remarks=rtrim(@TA001)+'-'+rtrim(@TA002)+' ' endendclose MyCursordeallocate MyCursorreturn @remarksend好了看看效果吧!。
自定义单据的步骤一、单据自定义的步骤(以销货单半页单据设计为例):在步骤中若有看到「注」请至文件后参考「三、备注说明」STEP1:一单据多格式设定(所谓一单据多格式是指同一种单别有不同的单据格式)订单管理系统->基本信息管理->单据性质设置①先选该单别③可输入单据格式名称,若有输入名称不可大于6码且不可有_ 线符号②此处须勾选※如果在单据格式中输入单据格式的名称,那么在打印此单别的单据时,系统会自动Default此单据格式STEP2:在Microsoft Word里先编辑好单据样式(设档案为A1.DOC)STEP3:订单管理系统->异动单据打印->销货单打印->基本选项(如果要针对某单别设定单据格式,可以在“选择销货单别”处选择或输入单别代号) ->系统选项->打印使用格式(如果要新设格式则在此入格式名称)->点选设计凭证STEP4:点选「设计凭证」后,即会出现此画面。
[注一]*建议设计者在自定义单据时,将此画面COPY下来!(键盘上Print Screen Sys Rq->画图->Ctrl+V->打印)以方便设计单据时,方便查询各字段代号!区域一区域二区域三区域四整张单据的范围不可超过此蓝色虚线1.QRGroup(区域一)性质:单头区段。
每张单据的单头打印部分。
设定的高度包含单身的中文字段名称。
2.QRDetailBand(区域二)性质:单身一笔区段。
设定的高度为可打印单身一笔资料。
3.QRGroupFooter(区域三)性质:单身数据段。
每张单据可打印的单身资料高度。
范围由QRDetailBand(区域二)的底端至该页可打印单身资料的高度,若资料不足,未到该页底端时,会印『//以下空白』4.GroupFooterChildBand(区域四)性质:单尾区段。
每张单据的单尾打印部分可印单头金额合计、备注、签核等(也就是每张单据只印一次的资料),当单据超过一张时,会印『接下页...』STEP5:将不要显示的字段先隐藏请先开启组件检视器(在设计单据画面里,按右键->显示组件检视器)点选要隐藏的字段->将组件检视器的「打印」选项空白将不要显示的字段拖放到其它空白处STEP6:将Word格式的文档(* .DOC)转成 Emf 图档在「设计凭证」界面空白处点击鼠标的右键->Word.doc 转 emf图档文件(F)->开启文件(O)->开启A1.DOC文件(F)->保存文件(S)->A1.EMF->保存(S)*须记下保存文件的路径文件(F)->退出(X)按下后,在文件名称里输入emf图文件的路径及文件名(若出现「WORDSTEP7:改变系统预设的底图(在对象检示器中选QuickRep)点选这个点选此可清除系统预设的底图STEP8:定义单据长度〔注三〕组件检视器-> QuickRep->点选鼠标二下「页面」点选鼠标两下会展以下设连续报表纸的长度为279.4;因是半页单据,所以长度=279.4 / 2=139.7必须改成「Custom」才可以修改「长度」的值STEP9:字段位置调整点选欲作位置调整的字段按住鼠标右键移动到合适的位置。
上一次发表衍生字段的使用方法,在衍生字段中可以调用系统函数或者进行四则运算。
本人的理解都是转换成可运行的SQL 语句。
故可以在数据库执行函数都应该可以被调用,系统函数可以调用那自定义函数呢?
答案是对的。
首先进行一个简单的测试:日期转换格式自定义函数20100611—》2010-06-11
创建函数
create function Date10
(
@date8 nvarchar(8)
)returns nvarchar(10)
begin
declare @tmp nvarchar(10)
if @date8 is not null
begin
set @tmp=substring(@date8,1,4)+'-'+substring(@date8,5,2)+'-'+substring(@date8,7,2)
end
else
begin
set @tmp=''
end
return @tmp
end
注意必须加上ZE表示当前数据,因为易飞在处理集团业务的时候多公司就有多数据库(这点很无奈-不知道神码开发人怎么想?应该采用多地点方式,或者公司别)
否则就会找不到该函数(当然系统函数就不必要加)
再建一个自定义函数看看:
根据客户订单别订单号订单序号-查询到相关的工单。
通常是一对一,但如果是拆单这个可能一对多
CREA TE function GetWO(
@TD001 AS V ARCHAR(10),@TD002 AS V ARCHAR(10),@TD003 AS V ARCHAR(10)
)returns varchar(100)
as
begin
declare @remarks varchar(100) ,@TA001 nvarchar(10),@TA002 V ARCHAR(10)
Declare MyCursor CURSOR
local static for select TA001,TA002 FROM MOCTA WHERE TA026=@TD001 and TA027=@TD002 and TA028=@TD003
Open MyCursor
while 1=1
begin
fetch MyCursor into
@TA001,
@TA002
if @@fetch_status<>0
break
IF @TA001 is not null
begin
set @remarks=rtrim(@TA001)+'-'+rtrim(@TA002)+' ' end
end
close MyCursor
deallocate MyCursor
return @remarks
end
好了看看效果吧!。