




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
打印报表设计字段漫游取值OA-ERP项目实施高级指南OA-ERP系统打印、报表设计、字段漫游取值目录第一部分 基本原理与操作1 基本说明2 改变窗口字段的属性3 打印报表4工资项目的定义5 漫游取值6 后续单据统计7 Link漫游8 Excel打印设计9打印数据处理函数基本原理10打印数据处理函数列表11 其它特殊打印处理函数12 Print_ExpandBOM函数说明13 BOM成本单横向项目分类打印, Print_BOMII14 生产单嵌套项目分类打印, Print_ExpandBOM_ZS15 报表的专用查询条件第二部分 使用示例16 窗口清单中增加字段的示例17 漫游取值示例18打印中漫游取值、新增加字段19 设置条件判断20 设置条件判断21 LinkRefFun2示例22 表单跳跃、复杂示例23 漫游式C/C+代码24 完全控制报表设计:销售企业提成表12591011141618222428283233343842434345454646第一部分 基本原理与操作1 基本说明请结合操作结果,以及OA-ERP系统中的帮助(F1)来学习本部分内容。1OA-ERP系统允许用户改变每个窗口的字段、清单字段的显示属性、计算方式。2用户可以创建该窗口不存在的字段,而且允许设置公式获取结果(包括漫游取值)。3允许从某个表单漫游到任何其它表单取值、统计等等。4大多数表单存在一些备用的、没有显示出来的字段,用户可以临活使用他们5允许在任何报表、打印、工资项目设置中,任意增添列,同时任意设置计算、漫游取值公式6但是用户不能够自由创建基本字段(这是为了保证性能,同时由于对系统的基本原理了解不深,自由创建基本字段导致整体规划混乱、数据不协调、甚至大量重复。因此基本字段控制权没有开放出来,但是用户可以告诉开发公司,开发公司权衡后作以扩展)7学习OA-ERP要有钻研精神. 比如,打印报表分列. 系统任何地方都没有说明, 但是有很多报表打印能够分2列,3列,甚至任意列. 是如何设置呢? 这需要你仔细查看示例,获得解决办法. 这类问题的解决方案, 往往比较简单, 如果用文字叙述, 反而累赘.2 改变窗口字段的属性1OA-ERP允许改变窗口字段属性如下1) 启动这个窗口的方法是: 在任何一个窗口,选择:综合处理/高级设置/自定义字段设置(或清单自定义字段设置)2) 对于这里设置选项中的意义不清楚的,请在这里按F1获取帮助。2用户可以修改显示标签、顺序;启用备用字段(“自定义字段001”等)、隐藏不使用的字段。3 创建一个新的字段4所有这些设置,再次启动程序时就可以生效了。 结果如下5什么是C语言代码?(高级开发参考) 银之星 (41285802) 07:46:43大家好, 我是一位新手,请问大家,字段名称和C语言代码一样吗,他们的区别是什么 ERP_informat(506463155) 08:44:24字段名称指字段的标识,其它字段引用它的值时,直接写它的名称就可以了。 银之星 (41285802) 08:45:17函数呢 ERP_informat(506463155) 08:45:46函数,一般指完成特殊功能的一个东西, ERP_informat(506463155) 08:46:04一般书写格式是X(P) ERP_informat(506463155) 08:46:25这里X是函数名称,P是要传给他的参数 ERP_informat(506463155) 08:46:47C语言代码则是指一组指令 银之星 (41285802) 08:47:18还有点抽象 ERP_informat(506463155) 08:47:19它们组合起来,(有先后顺序),完成特殊的功能 ERP_informat(506463155) 08:48:20例如: int LX=CreateFields(X001,条形码); newXSet(Product.BarCode,LX);ERP_informat(506463155) 08:48:42这段代码由2条语句组成 ERP_informat(506463155) 08:49:13第一条,定义了一个字段,而且返回了字段的位置(LX) ERP_informat(506463155) 08:50:17第2条语句,则是从(Product.BarCode)物品资料取得值,赋予给这个位置的字段。 ERP_informat(506463155) 08:50:56运行这组指令的结果是,新定义的字段自动取得物品的条码 6OA-ERP系统提供的业务处理函数如下(高级开发参考)具体使用方法请见帮助、以及报表打印设计的示例。3 打印报表 单据报表的结果如下:要点:1)希望是何种类型的结果?2)从哪个表单取数据?3)清楚该表单的数据的字段列表4)如何从本表单的字段取数据?如何简单设置公式获得计算结果。5)如何从相关的其它表单获取数据(漫游)?1打印报表中的列由下面这些部分控制 1)这里每行控制打印(或报表)中的一列。 2)这里的设置不是可视化的,原因是,这里的功能可能需要无限增长,事实上,需要C语言本身的支持。 3)“字段名或计算公式”一列是关键:漫游到其它单据取值、项目之间的计算,都在这里设置。2“字段名或计算公式”的设置。 1)该列的计算,可以是简单地从本记录中取值,例如上面的18、19、22行。 2)也可以是漫游到其它单据取值,例如上面的17、20、21行。 3)也可以是该报表中其它项目运算而来。例如例示如下: 注意这里使用了后续单据统计函数: SequenceSumX(Product,Product;tblSalecontr,tblSaleLoadCargo,tblOutstock,tblOutstockItems,Amount) (请见帮助,获得详细说明)结果如下:4 工资项目的定义工资项目的定义,原理与上面类似(这里总是不需要”=”号开头) (注意,这里“水电,A1”,中的逗号必须为英文逗号,显示时,英文逗号之后的字段名称不会显示,仅仅显示标签)。 结果如下:5 漫游取值1) 要熟悉这部分内容,需要了解系统的构架、各个表单的关联。2) “主单据-清单”之间的关联一般是通过字段”MainCode”(在清单字段中)实现的。主单据中一般则有一个虚拟字段(Items)指向清单。3) 下面图片表示单据之间的一个漫游:a)起点:销售订单的清单b)终点:客户的电话c)目的:销售报表中显示客户的电话,以便和客户联系,追收账款d)漫游公式:MainCode.SupplierID.Telephone (这里漫游了2层,实际使用漫游层数可能更多,系统本身不限制),漫游的前后字段之间用英文符号”.”分开.e)设置情况6 后续单据统计后续单据统计,原理和上面类似,但是要使用函数:SequenceSumX1)SequenceSumX的帮助请见系统帮助:2)这个函数也有不同的地方,要求写出路径,a)目标:从销售订单的清单,统计出库单中该物品的出库数量b)起点:销售订单的清单c)终点:出库单清单中的相应物品 d)路径图d) 这里列出来了单据之间,字段之间的逻辑关系,函数应该是:SequenceSumX(tblSalecontrItems,tblSalecontr,tblSaleLoadCargo,tblOutstock,tblOutstockItems)e)问题 i) 起点是当前单据本身,不需要说明,故应该省略,减少代码长度. ii) 数量(字段明是Amount)如何体现在公式中. iii) 清单中有多个物品,如何增加条件对应他们,而不会出错.f) 上面几个问题的答案导致最终函数的使用如下(应该是一行书写-这里仅仅为了阅读理解,而写成多行)SequenceSumX(Product,Product;tblSalecontr,tblSaleLoadCargo,tblOutstock,tblOutstockItems,Amount) i) 起点已经不再出现了,默认起点为本行记录所在的数据库表单。. ii) 数量在公式中最后一部分. iii) 清单中有多个物品,那么第一部分(分号前面的) 表示当前的物品,与最终表单中的物品字段Product是相同的。 关于这个函数,更多的注释请见帮助,另外一个示例,请见后面示例。g)结果如下7 Link漫游1漫游时,我们依赖各个表单之间的引用关系。当表单之间没有引用关系时,这个漫游取值将出现困难。此时系统提供了一个LinkRefFun函数,用于在没有关联的表单之间建立联系,使用这个函数的要求是:前后表单中有一对字段(名称可以不同),他们之间使用相同的值。2例如:下面情况,就是表单之间没有直接引用的例子示例相同的字段对前表单后表单1物品资料 服饰样品单Name(物品编码)Name(样板号)2生产单清单 - BOMProduct(物品)Product(物品)3职工档案 - 聘用合同Name(姓名)Name(姓名-新聘直接填写)4业务公司 -潜在客户Name(名称)Name(名称)5业务公司 -Web注册客户Name(名称)Name(名称)该函数的形式为LinkRefFun(Product,prdBOM,Product,)其中的” Product,prdBOM,Product”表示,本记录的Product与prdBOM表单中的Product取值相同。具体使用方法,请见帮助 3为什么有关联的表单之间没有设计直接引用? 一些表单之间的逻辑关系是松散的,而且最终不一定需要建立对应关系(例如客户从网站注册的结果,审核没有通过,则不需要转换为正式客户),如果一定有直接关联的话,业务处理可能不能继续,因此系统必须允许这类状况存在。 下面图片是这个Link取值的内部逻辑链接过程8 Excel打印设计1Excel报表打印的基本原理是,将数据导入设计好的Excel模板文件,产生与单据相关联的Excel文件,当文件修改后,系统会自动保存到服务器上,下次再打印时,系统可以将以前修改国的Excel文件调出来,在此使用或修改。Excel模板文件,就是一个带一些参数的Excel文件,该文件中,所有需要用记录中的值取代的位置,用漫游方式决定,而且全部要用号标识出来。除了号之外,与普通打印字段取值的原理完全一致。而且这里也支持图片(允许漫游),唯一的不同在于,号之后的4个用“,”号分隔的数字,表示图片与单元格的位置,以及图片最后的尺寸。上面打印的结果如下:Excel附件保存的位置如下:2数据取值详解从原理上看,数据取值与普通报表设计完全一样,因为系统不需要多种方案。但是区别仍然存在,因为这里没有数据类型这个控制,因此取值时,可能是直接从主单据取值,也可能是从清单取值,而且可能还要漫游,或者图片。从清单取值的情况,可能是多行数据,此时系统需要识别,是否是清单数据,如果有多行,系统要自动复制多行,保证数据的完整与Excel界面的美观。由于OA-ERP中每个单据有一个指向清单(也可能是多个清单)的虚拟字段(一般是:Items,Items2,),因此自动识别是没有问题的,因此清单取值,是下面格式%Items.Product%(在普通报表单据打印设计中,不需要“Items.”前缀,因为由类型自动区别)另外,取值支持图片,而且支持图片的漫游,例如%Product. ProdPicture%5,1,100,1203综合示例 这里是泉记公司生产单中使用的示例取值设置注释1%Relateid2_XCode.Items.PCodeOtherPart%港板单号2%Items.Product.EnglishName%工厂款名3%LinkRefFun(Product,prdBOM,Product,Items.Product.EnglishName)%物料名称4%LinkRefFun(Product,prdBOM,Product,Items2.SupplierID)%加工商5%LinkRefFun2(Product,tblProductColorTable,MainProduct,Items.Product)%配色清单表6%LinkRefFun2(Relateid2_XcodeProduct,tblSalecontrItemsSE,MainCodeProduct,Items.Product)%订单明细表7%Items.Product.ProdPicture,5,0,100,150%款式图样9 打印数据处理函数基本原理1)单据的打印数据,直接决定于用户从左边树表上选择的记录:2)报表的显示、打印数据,则依赖于用户输入的查询条件,然后系统根据这个条件在数据库查询符合条件的记录3)这里的可以选择的条件较多,有些用户用不上,系统允许自定义设置字段,以便减少使用的难度。条件的输入方法,请见帮助系统。4)在一般情况下,系统根据表头的设置,讲查询到的记录简单地显示出来。 数据显示在单据中的情况、显示在列表中的情况、显示在Excel设计中的情况等都是完全一样的。 在某些情况下,简单地显示并不符合需求: (i)用户可能需要分组统计 (ii)数据可能需要从几个表单中取出来综合分析 (iii)数据可能需要其它特殊处理为了满足这些要求,OA-ERP系统提供了一些通用、以及一些专用的数据处理函数 这里注意到,处理函数是ClassifyQuery,默认分类字段是:Product,SP2,Specif 这个函数ClassifyQuery是报表中最通用的一个函数,从字面理解的意义是:分类查询,所以这个函数需要分类字段,这里设置的是Product,SP2,Specif,共3个字段(之间用英文逗号分开)。 该函数的处理机制是:所有查询出来的记录,按这三个字段来分组,凡是这三个字段的值都相同的方在一起,然后加上一个小计,结果如下:10 打印数据处理函数列表(本篇共高级开发参考)下面是系统提供的全部数据处理函数,这里仅作说明,结果请输入条件后获得:以下序号中有星号*者,属于单据报表(从打印中获得)浅色兰地表示非常通用的函数处理函数名称所属数据库1Report_Sapce不查询,没有动作,仅用于分类节点2ClassifyQuery样品资料作用:通用函数,见上节介绍,适用于任何表单,且与分类字段配合适用。3InventeryMonthStatistic3库存综合报表作用:综合出库单、入库单,统计库存综合报表4MRP_prdMissionX生产单物料需求及库存明细表作用:生产单、采购订单等的综合报表5*PredictionMRPItems销售订单明细表作用:销售订单物料需求表,BOM展开,属于单据报表(从打印中获得)6*Print_BOM_OtherItems物料清单BOM作用:物料清单BOM,包括其它项目7*Print_ExpandBOM车间生产任务作用:展开BOM,打印所有需要生产的物品8*Print_ExpandBOM_AllMakingBillPrint_ExpandBOM_AllMakingBill2Print_ExpandBOM_AllMakingBill_ST生产单同上,全展开Print_ExpandBOM_AllMakingBill_ST 为长风专用,以便每个生产物品一个单独页面9*Print_prdADMSTBarCode开工明细打印派工明细条码单时,先产生条码。10*Print_prdQualityReport质检单II将质检单打印称为特殊格式,仅品佳在使用11Print_tblSaleProportionScaling销售提成表按销售提成规则,产生销售提成表,仅恒大使用12*Print_WorkOrderBarCodeItems裁床明细打菲函数,检查是否为补菲,以及是否产生菲仔条码(没有的话,就产生条码)13PrintEmployeeCard职员档案打印工卡(Excel版示例)该函数本身是一个通用函数,可以用于任何表单数据的处理。14Query_HLeftSum往来帐款变动明细表综合统计各种应收应付单据(销售发货单+销售预收单+销售收款单;采购收货单+;外协,来料加工)15Query_HLeftSumAll往来帐款变动明细表该函数在前面函数Query_HLeftSum的基础上,汇总数据。16Query_MissionprdReleaseMaterialItems领料明细清单汇总领料、退料信息17Query_tblInstockItemsX1入库明细清单仓库盘点表18Query_tblSaleCollmoneyX2销售订单应收帐销售员统计表19Query_tblSaleCollmoneyX3应收帐款统计表应收帐款综合汇总表(多栏)20Query_tblSaleCollmoneyX4应收帐款统计表应收帐款销售员地区统计表21Query_tblSaleLoadCargoItemsX应收帐款综合明细月结收款单的应收帐款综合明细表,目前仅恒大用。22Query_tblSaleLoadCargoItemsX2出货明细清单月结收款单的应收帐款月结单,目前仅恒大用。23Query_tblSaleMothCollmoneyItemsX应收帐款月结明细月结收款单的销售应收、已收综合分析表24Query_tblSaleMothCollmoneyItemsX2应收帐款月结明细月结收款单的销售应收、已收综合分析表统计应收帐款余额25Query_tblSaleMothCollmoneyItemsXB应收帐款增减变动表月结收款单的销售应收、已收综合分析表统计增减变动26Query_tblSaleMothCollmoneyItemsXB2应收帐款增减变动表月结收款单的销售应收、已收综合分析表统计应收帐款增减变动汇总27Query_tblSaleSynthetic应收帐款综合明细毛利润综合分析表28Query_tblSaleSynthetic2应收帐款综合明细同Query_tblSaleSynthetic这个函数将汇总每个物品的情况29QueryInOutstockItems001出入库明细单个物品出入库统计表30QueryInOutstockItems002出入库明细单个物品出入库综合统计表31SaleItemsStutasticSumup销售订单明细表功能非常强大的通用函数,用于将数据分类汇总,交给用户郑州大年食品非常依赖于该报表32*Stutastic_HPW_BarCodeItems_Print条码表条码打印函数,产生128条码点阵图片33*Stutastic_HPW_BarCodeItems_Print2条码表条码打印函数,产生128条码点阵图片34Stutastic_HPW_WorkOrderSEItems裁床明细裁床汇总统计表35StutasticDailySale物品资料销售日报表与成品入库36StutasticInventeryM库存量统计当前库存汇总表,过滤没有库存的物品。37PredictionMRPItems物料需求报表这个功能也在扩充业务中,用法是:选择若干单据,然后使用这个报表。关于取当前库存、剩余库存的功能,使用CurrentStock、CurrentStockLeft(见F1帮助)可以参考63控制单、277报表。如果定义了本表单清单的类似277的报表,显示时会自动使用这个,否则按照63号报表控制显示。11 其它特殊打印处理函数系统还提供一些特殊的统计函数,他们可能不在报表中出现,而出现在一些窗口的扩展功能中1 CombingItems_Print(合并打印多个项目清单)通用。该功能将选择的多张单据的清单合并起来打印。作用举例:选择多张出库单,合并打印后,供仓库管理员一次性地将物品给提货人,而不必见到物品一次,就去取一次物料。2 CombingItems_Classfy(按物品与规格分类)按照序号是214号打印设置的表头设置,将查询到的清单,按物品、规格分类同居出来,并导入Excel文件。3 PredictionMRPItems(计算选择的若干单据的物料需求情况-List)出现窗口:销售订单功能:展开BOM,计算详细的物料预用料表4 PredictionMRPItems_Share_01(分类统计若干单据的物料需求情况-Excel)出现窗口:销售订单功能:(类似PredictionMRPItems)展开BOM,计算详细的物料预用料表,计算结果再分类合并,控制则与“1.CombingItems_Print(合并打印多个项目清单)”相同5 实际生产成本统计出现窗口:生产单,外协单 功能:综合领料、加工费、工人工资,计算生产的实际成本,并与预测成本加以比较。6 还有大量功能出现在综合处理之中,这些功能全部通用,包括 系列查询功能 交叉查询 后续单据查询7 CheckBOMItemsForCost(BOM的预先检查函数)出现位置:BOM的有关单据打印中。功能:该函数预先检查生产成本项目是否填写,目前泉记公司使用。具体作用是,在全部填写清楚,审核前,不能打印,以免将错误的信息发给其它部门或外协加工商。12 Print_ExpandBOM函数的参数在Bom窗口,有162号打印功能,将BOM分层全部展开。这个打印使用了Print_ExpandBOM函数。 在一些情况下,例如要将BOM展开到底,并且合并所有相同的原材料报表,此时这个函数的标准使用就不能满足了。为了解决这个问题,我们把这个函数更换为 Print_ExpandBOM_Share_786448那么一切就ok了。 现在来说明一下这里的786448,打开“高级设置”模块的“开发选项”窗口,找到函数“BomExpendToReleaseMaterial”,我们选中“4,18,19”,点击测试,就获得786448这个参数,因此我们就明白了这个参数的意义。Share部分就是明显的,仅仅是共享这个功能,或者简单将其看作分隔符号就可以了。 实施人员可以根据企业的需要,利用这里的选项,产生各种各样的结果。 其他几个具有类似功能函数是:Print_ExpandBOMPrint_ExpandBOM_AllMakingBillPrint_ExpandBOM_AllMakingBill_ST13 BOM成本单横向项目分类打印, Print_BOMII 一些企业的报价是严格的在BOM基础上进行的。特别是服装、箱包行业,使用原材料多,因此BOM成本单的打印要求很高,下面是一个具体的要求格式 这个打印使用了函数:Print_BOMII。 为了打印出这个效果,必须做以下设置: (1)打印模板285给出了一个示范。(2)每个物品,必须设置物料类型;(3)对于杂项,要打印到主目录中的,需要设置“标准工序”中的隐藏“设置”中的选项。 (4)本身,必须进入“物料类型”窗口,设置选项,特别是那些没有合计的杂项,必须设置好,以便打印时只占单行,节省纸面空间。 (5)统计栏部分, (6)加工项目部分,也属于杂项部分, (7)图片%Images%1,1,60,20, 60指60毫米宽(mm) 20指20毫米高(mm) 1,1指打印时,从单元格左上角横纵向都偏移1毫米尺寸 (8)物料部分使用了清单行设置的字段,来控制 (9)备注使用了代码,由于代码较长,无法放在表格内,因此是在c+代码 录入,这里引用的,代码源码如下,int c1=(int)newGet2(Code);string s1=select * From prdBOMItems2 Where CostBOMType=20007 And MainCode=;s1+=c1;gDataSet ds1(this,4,s1.c_str();float ul=ds1.newGet2(uLength);float uh=ds1.newGet2(uWidth);float uw=ds1.newGet2(uhigh);float ux=ul*uh*uw/1728;c1=(int)(ux*100);ux=c1/100.0;s1=装箱;s1.addReturn();s1+=普通箱:;s1+=长;s1+=ul;s1+=x宽;s1+=uh;s1+=x高;s1+=uw;s1+=;s1+=(int)ds1.newGet2(uAmount);s1.addReturn();s1+=;s1+=ux;s1+=尺;SetResult(s1);各个统计项目的控制是在最后,显示标签列,是物料类型序号+名称,字段列是要统计的字段列表。,注意顺序也是由出现先后控制的。 上面取值计算公式可以扩充成为C+代码,如同上面的CPP.20029,以便成为更符合实际项目的显示情况。 这个函数使用了BOM表单的清单作为保存数据的基础,特别是使用了LocationX、Memo2保存具体信息。因此,如果希望更进一步处理,可以使用这个特点。 例如,希望设计一个打印,将所有金额显示为*号。那么可以使用打印的“C+代码”事件,代码如下:string s1=newGetX4(Memo2);if(s1=小计) newSetX4(LocationX,*); 如果有不清楚的地方,请用下面代码,打印出所有结果,观察处理:string s1=newGetX4(Memo2);string s2=newGetX4(LocationX);printf(Memo2=%s, LocationX =%s,s1.c_str(),s1.c_str(),);具体设置为情况如下:14 生产单嵌套项目分类打印, Print_ExpandBOM_ZS 在服饰或箱包行业,生产单希望打印成为如下格式: 在系统中要获得这个打印效果,需要设置如下(参考287号报表) (1)打印设置为“嵌套打印模板”格式。 (2)打印设置要使用函数Print_ExpandBOM_ZS。 (3)在配色表中要配置裁片配色表。15报表的专用查询条件 表单的每个字段,都可以设置是否允许为查询条件。但这是通用的,为那些非常常用的报表设置方法如下:第二部分 使用示例16 窗口清单中增加字段的示例17 漫游取值示例18打印中漫游取值、新增加字段19 设置条件判断(1)Lily 13:03:56我想在销售订单清单中增加显示字段,此字段取的的产品规格库适合物品列表中图号的数据我用的是以下代码,但是系统没有引用成功int LX=CreateFields(X001,图号);newXSet(Specif.Items.GrtaphCode,LX);我想问以下这个要怎么引用? ERP+informat 17:59:38newXSet(Specif.Items.GrtaphCodeProduct,Product,LX); 你用这个试试看。20 设置条件判断(2)Lily 22:11:10我想请教你一个问题,我在销售订单的清单中启用了一个字段xExtraFields_C01,我想设置一个C代码当xExtraFields_C01这个字段的内容为 “RMB”时,这个物品的单价取的是物品资料中这个字段LTimetblPurchcontr的内容Lily 22:11:48我现在写的是这样的C代码double X1=newGet2(xExtraFields_C01);double X2=newGet2(Product.LTimetblPurchcontr);if(X1=RMB) newSet2(Price,X2); 但是我知道这个是不行的 ERP+informat 22:12:41 ERP+informat 22:32:43string s1=newGetX4(xExtraFields_C01)if(s1=RMB) double X2=newGet2(Product.LTimetblPurchcontr);newSet2(Price,X2); ERP+informat 22:32:49用这个试试 ERP+informat 22:32:56结果马上告诉我 Lily 22:33:34好 Lily 22:37:15这个代码在字段xExtraFields_C01中启用,不起作用 ERP+informat 22:37:52有任何提示没有? Lily 22:37:59没提示 ERP+informat 22:38:52给我演示一下 ERP+informat 00:57:37(1)xExtraFields_C01字段要向前移动8(-8)个字符,(2)代码如下string s1=newGetX4(xExtraFields_C01);string s2=newGetX4(xExtraFields_C01);if(s1=RMB) newSet2(Price,newGet2(Product.LTimetblPurchcontr); if(s2=USD) newSet2(Price,newGet2(Product.LTimeprdMission); 21 LinkRefFun2示例 LinkRefFun2用于跳跃到没有直接联系的表单取清单数据,例如泉记的生产单Excel打印,使用下面设置,取得销售订单的尺码明细 %LinkRefFun2(Relateid2_XCodeProduct,tblSalecontrItems,MainCodeProduct,Items.Product)% 武汉的阿奇拉客户,用下面的代码取得配色表明细 %LinkRefFun2(Items.Product1,Order,tblProductColorTable,MainProduct,Items.Product)% 说明 1)跳跃过程中,需要的条件在1,3位置(逗号分隔),位置1表示当前表单的条件,位置3表示目标表单中的条件,位置2是目标表单,位置4是要取出的结果 2)多个条件时,用分割。例如上面的代码中,Relateid2_XCode-MainCode,Product-Product. 3)允许复杂条件出现,例如,Items.Product=Items.Product1,Order 4)其他跳跃尽量使用新的DT跳跃函数,因为这个函数更容易嵌套在复杂的过程中。22表单跳跃、复杂示例 表单跳跃,又称表单切换,指A.B.C.DTtable1fields1.E.F.G。即在漫游过程中,使用对方指定字段,承接本出的Code值的记录,如果对应的不是本记录的Code字段,那么要指明,例如对应本记录的fields0字段,那么上述形式变为:A.B.C.DTtable1fields1 fields0.E.F.G。一般来说,这可能产生1对多的记录,因此往往还需要其它条件,例如Product,Prodtc,来约束。表单跳跃的标准语法是,DTtable1fields1,其中为链接符号,DT为标识,table1指要跳跃到那个表单,fields1指这个表到的那个字段,与本处的Code字段相等。这个功能类似LinkRefFun,但是这里的表达方式更容易与漫游风格组合使用。 复杂示例包括嵌套、复杂条件、表格中途转换等等。更加详细的示例,请见“配色表的Excel导出”。示例1:从销售发货单,漫游到销售发票,取主单据、或清单中的数据例示如下:取发票中的总金额,发票号码的代码分别如下:MainCode.DThInvoiceSaleItemsRelateid_XCode.MainCode163,PracticeTable.TotalchargeMainCode.DThInvoiceSaleItemsRelateid_XCode.MainCode163,PracticeTable.NameMainCode.DThInvoiceSaleItemsRelateid_XCode.MainCode163,PracticeTable.OtherCode注意,这里163表示销售发货单的代号,PracticeTable则指销售发票中的业务类型。该函数一般获得多条记录,因此过滤条件将获得需要的记录。示例2:在M库存量统计的清单中设置了C代码,增加显示字段,但是没有起作用,请说明应该如何写代码? 给规格,或什么字段建立的C语言代码如下:int LX=CreateFields(X001,图号);newXSet(Specif.DTtblSpecifLibItemsMainCode.GrtaphCodeProduct,Product,LX);即可生效。 附注,当时估计版本问题,上面图片中的代码应该也是正确的,请读者检查一下。23 漫游式C/C+代码指A.B.C.漫游方式的代码。用CPP.开头做标记。 例如,某客户需要在发货单打印时,区分是否要拆散整箱货物的标记 CPP.string x1=newGetX4(IsInt.getPiece.CurrentStock); if(x1=1) SetResult(拆整); else SetResult(零散); 当前库存除以Package_2,有余数时为*1,否则空白字符串。SetResult()函数专门为漫游代码服务。 一些情况下,CPP代码较长,打印设置窗口的空间无法容纳全部的CPP代码,此时可以考虑将代码放置到CPP代码窗口,假如代码记录的序号是20119,那么这里使用这个方式引用:CPP.20119。24 完全控制报表设计:销售企业提成表引言每个业务项目,有收款、提成、业务费用,客户返利等众多因素要考虑。计算也比较复杂。为了简化问题的处理,以及方便操作员的使用,我们使用如下思路(1)在项目核算单中核算所有的发生金额。(2)在项目管理窗口设置提成率。(3)在报表中增加代码核算所有项目。系统要用到的几个函数是:(1)int gPrintRow();/返回当前的打印行(2)void gSetTextPrint(i,B1,s2); /向第i行 “B1”列设置字符串s2.(3)void gAdd(ds2,i); /向当前数据集增加一个数据记录ds2,放置位置为i.注意,ds1必须与当前数据集是同一个表单的数据。这里用到的事件如下:这些事件返回-1,表示让系统删除记录,你当然可以使用函数删除,注意不是从数据库,仅仅是从查询出来的记录中去掉。1. 基本数据与结果(1)项目管理报表结果如下2. 报表设计思路(1)报表设计的基本框架这个报表是以“项目管理”为基础的,该报表目前的结果如下这里我们看到,没有任何明细出来。因此,我们要增加C/C+代码来处理。C/C+代码的链接是在前面图片的第4行,即CPP.20002。代码本身如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自考专业(公共关系)复习提分资料附完整答案详解【考点梳理】
- 2025年汽车行业供应链韧性评估与供应链风险管理咨询项目经验总结方案实施报告
- 环保公司应急演练管理规定
- 资料员之资料员基础知识检测卷(黄金题型)附答案详解
- 表观遗传调控-洞察及研究
- 中级银行从业资格之中级银行业法律法规与综合能力综合检测题型汇编含完整答案详解【各地真题】
- 环保公司授权审批管理细则
- 自考专业(计算机应用)考试综合练习及参考答案详解
- 自考公共课考试黑钻押题及答案详解【各地真题】
- 专升本模拟试题【典优】附答案详解
- 走进奇妙的几何世界
- 飞虎队精神将永远留在这里
- 湘教版九年级美术教学计划(三篇)
- 紧急宫颈环扎术的手术指征及术后管理-课件
- “三重一大”决策 标准化流程图 20131017
- Cpk 计算标准模板
- 信息科技课程标准新课标学习心得分享
- 环保与物业公司合作协议
- FZ/T 01057.2-2007纺织纤维鉴别试验方法 第2部分:燃烧法
- 面条制品-课件
- 四上科学第一单元《多样的动物》知识梳理
评论
0/150
提交评论