原创 用友NC开发方法总结

发布时间:
更新时间:
浏览次数:307
评论数:0

用友NC开发利器全解析:常用接口、父类及方法

服务定位:NCLocator使用

在用友NC的开发中,服务定位是必不可少的一环。NCLocator提供了一个便捷的方法来获取各种服务。以下是一个简单的代码示例:

import nc.bs.framework.common.NCLocator;
import nc.itf.uap.IUAPQueryBS;

public class ServiceLocator {
    public IUAPQueryBS getQueryService() {
        return NCLocator.getInstance().lookup(IUAPQueryBS.class);
    }
}

这个示例展示了如何通过NCLocator获取IUAPQueryBS服务。

数据库查询助手:IUAPQueryBS详解

IUAPQueryBS是一个非常有用的数据库查询辅助类,它简化了数据查询过程。以下是如何使用它进行简单查询的示例:

import nc.jdbc.framework.processor.BeanListProcessor;
import nc.vo.pub.BusinessException;
import java.util.List;

public class QueryHelper {
    private IUAPQueryBS queryService;

    public QueryHelper(IUAPQueryBS queryService) {
        this.queryService = queryService;
    }

    public List<Object> executeSimpleQuery(String sql) throws BusinessException {
        return (List<Object>) queryService.executeQuery(sql, new BeanListProcessor(Object.class));
    }
}

此代码段演示了通过IUAPQueryBS执行SQL查询并将结果处理为对象列表。

单据查询:BillQuery类

BillQuery在单据查询中起着重要作用。以下是如何使用BillQuery进行单据查询:

import nc.bs.uap.billquery.BillLazyQry;
import nc.vo.pub.BusinessException;

public class BillQueryExample {

    public void queryBill() throws BusinessException {
        String billId = "12345";
        BillLazyQry billLazyQry = new BillLazyQry();
        Object bill = billLazyQry.retrieve(billId);

        // 处理单据数据
        System.out.println(bill);
    }
}

这个代码段展示了如何通过BillLazyQry类进行单据检索。

流程平台工具:PfUtilTools简介

PfUtilTools提供了一系列方便的后台工具,支持流程管理和其他操作。下面是一个基本使用示例:

import nc.itf.pf.IPfUtilTools;
import nc.bs.framework.common.NCLocator;

public class PfToolExample {

    public void exampleMethod() {
        IPfUtilTools pfUtilTools = NCLocator.getInstance().lookup(IPfUtilTools.class);

        // 使用pfUtilTools执行一些操作
        pfUtilTools.someMethod();
    }
}

以上代码展示了如何通过NCLocator获取并使用IPfUtilTools服务。

流程平台入口:IplatFormEntry实现

IplatFormEntry用于处理流程平台中的单据动作。下面展示了一个基本用法:

import nc.itf.pf.entry.IPlatFormEntry;
import nc.bs.framework.common.NCLocator;

public class PlatFormEntryExample {

    public void performAction() {
        IPlatFormEntry entry = NCLocator.getInstance().lookup(IPlatFormEntry.class);

        // 执行某个动作,例如提交单据等
        entry.performSomeAction();
    }
}

此示例显示了如何查找并调用IPlatFormEntry接口以执行特定操作。

单据维护接口解析

在开发过程中,单据维护接口也是常见需求之一。以下代码展示了如何使用这些接口:

import nc.itf.bd.syn.InitSynDataFacadeImpl;
import nc.bs.framework.common.NCLocator;

public class DocumentMaintenance {

    public void maintainDocument() {
        InitSynDataFacadeImpl synDataFacade = NCLocator.getInstance().lookup(InitSynDataFacadeImpl.class);

        // 进行具体的单据维护操作,例如保存、更新等
        synDataFacade.saveOrUpdateSomeDocument();
    }
}

这个实例展示了使用InitSynDataFacadeImpl进行单据保存或更新的基本方法。

总之,用友NC开发过程中,这些接口和工具类都极大地提高了开发效率和便捷性。在实际项目中,根据具体需求合理运用这些工具,会让你的工作更加顺利高效!