U8产品UAP表单定制与开发详解

2星 需积分: 49 53 下载量 97 浏览量 更新于2024-07-23 2 收藏 847KB DOCX 举报
"U8开发之UAP表单" U8开发中的UAP表单是一个强大的工具,它扩展了U8产品的自定义能力,允许用户定制单据和档案,以满足特定业务需求。UAP表单提供了全面的功能支持,涵盖了数据管理的各个方面,包括增、删、改、查、打印、审核以及格式设计。这使得在实际应用中能够构建出符合用户需求的个性化单据和档案。 1. UAP表单分为BS表单和CS表单。BS表单基于浏览器,适用于局域网和互联网环境,而CS表单是客户端应用程序,更适合局域网内部使用。两者的主要区别在于呈现方式,但都能提供丰富的功能。 2. 使用UAP定义的单据,可以创建包含多子表和多布局视图的复杂结构,这样就能适应多种业务场景,提供灵活的数据展示和操作方式。 3. UAP支持定义各种类型的档案,包括复杂档案、列表档案、树型编辑档案(如部门档案)和树形导航档案(如人员档案)。这些档案类型为组织和管理企业内部数据提供了便利。 4. UAP定义的档案可以直接在U8的单据格式设置中引用,实现了单据与档案的紧密集成,方便在单据处理中调用和操作档案信息。 5. UAP提供了强大的插件机制,允许开发人员进行扩展性和取代性开发。通过这个机制,可以实现更高级别的个性化功能,以适应企业的特殊业务流程。 6. 核心特性方面,UAP表单支持树形结构的业务实体,允许多个视图对应一个业务实体,一个视图只能对应一个业务实体。同时,它支持业务实体属性在不同视图中的灵活映射,以及丰富的客户端展现形式,如多子表、分组、页签等。表单与业务模型之间保持一对一的关系,确保数据的准确性和一致性。 7. UAP表单的开发过程包括登录UAP、创建项目、定义表单和实体关系、设置实体属性、设计单据布局、发布单据,最后在U8系统中使用。开发工具集成了BS和CS单据的开发流程,简化了定制过程。 8. 对于更高级的定制需求,U8提供了二次开发接口,开发者可以使用Microsoft Visual Studio创建C#类库项目,引用所需U8框架和UAP库,实现自定义接口(如IReceipt),并在编译后将DLL文件引入U8系统,以实现更精细的业务逻辑和操作。 UAP表单是U8产品中的一个重要组成部分,它为企业提供了一种高效、灵活的自定义工具,通过它,企业可以构建符合自身业务流程的定制化单据和档案,从而提升工作效率和数据管理能力。
2009-02-13 上传
工具介绍 本工具软件服务于U8产品,其工作成果只能在U8中使用。此工具的运行必须依赖于U8产品安装后的环境。 【工具目标】 支持业务部门的应用开发,提高应用部门的开发效率。 支持客户个性化的应用要求,提供客户个性化定义的平台。 支持二次开发的应用,利用此工具可以制作行业插件。 支持产业链,支持用友的合作伙伴能利用此系统进行扩展功能的开发和针对个别客户的开发。 【应用角色】 开发人员 包括一次开发和二次开发人员。开发人员通过此工具对底层的元数据进行定义和预置。他们可以进行物理数据库、代码等比较专业化的预置工作。 实施人员 实施人员也可通过此工具预置复杂的逻辑,甚至预置与编码相关的内容,但他们与开发人员所不同的是他们不能修改某些被开发人员锁定的预置内容。 客户化人员 对系统进行各种配置和管理的人员,通常为企业中的信息部人员。 【应用范围】 应用开发工具用角色是水平产品的业务开发人员。 插件开发工具 利用此工具可以开发插件,作为插件开发工具对新功能的开发将不受限制,但对已有功能的扩展将有一定限制。 二次开发工具 利用此工具可以对某客户进行二次开发。 客户化工具 客户可以利用此工具进行个性化的定制,对已有功能的扩展将受到一定限制。

static int sbsa_uart_probe(struct platform_device *pdev) { struct uart_amba_port *uap; struct resource r; int portnr, ret; int baudrate; / * Check the mandatory baud rate parameter in the DT node early * so that we can easily exit with the error. */ if (pdev->dev.of_node) { struct device_node *np = pdev->dev.of_node; ret = of_property_read_u32(np, "current-speed", &baudrate); if (ret) return ret; } else { baudrate = 115200; } portnr = pl011_find_free_port(); if (portnr < 0) return portnr; uap = devm_kzalloc(&pdev->dev, sizeof(struct uart_amba_port), GFP_KERNEL); if (!uap) return -ENOMEM; ret = platform_get_irq(pdev, 0); if (ret < 0) { if (ret != -EPROBE_DEFER) dev_err(&pdev->dev, "cannot obtain irq\n"); return ret; } uap->port.irq = ret; #ifdef CONFIG_ACPI_SPCR_TABLE if (qdf2400_e44_present) { dev_info(&pdev->dev, "working around QDF2400 SoC erratum 44\n"); uap->vendor = &vendor_qdt_qdf2400_e44; } else #endif uap->vendor = &vendor_sbsa; uap->reg_offset = uap->vendor->reg_offset; uap->fifosize = 32; uap->port.iotype = uap->vendor->access_32b ? UPIO_MEM32 : UPIO_MEM; uap->port.ops = &sbsa_uart_pops; uap->fixed_baud = baudrate; snprintf(uap->type, sizeof(uap->type), "SBSA"); r = platform_get_resource(pdev, IORESOURCE_MEM, 0); ret = pl011_setup_port(&pdev->dev, uap, r, portnr); if (ret) return ret; platform_set_drvdata(pdev, uap); return pl011_register_port(uap); }在上述代码中,我需要添加一个功能:在以uefi方式启动系统时,uart驱动读取通用acpi表内有关波特率的设置值,并以这个值进行串口波特率设置,请根据我的要求,在原代码中添加这一功能,并给出acpi表的描述

2023-06-07 上传