You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过会话对象检测Quickbooks版本?C# SDK集成适配需求

检测QuickBooks版本以适配计量单位字段(C# + QB SDK 13.0)

当然可以解决这个问题!QB SDK 13.0完全支持从会话对象中获取当前连接的QuickBooks版本信息,这样你就能精准判断用户的版本类型,动态调整字段配置,彻底避免因版本差异触发的错误。

1. 从会话对象获取版本详情

你可以通过QBSessionManager的CompanyFile属性直接拿到当前连接的QuickBooks版本信息——其中Product属性会返回完整的版本类型(比如"QuickBooks Pro 2023"、"QuickBooks Premier 2022"),Version属性则会返回具体的年份版本号。

代码示例

using QBFC13Lib;

public string GetQBVersionInfo(QBSessionManager session)
{
    // 确保会话已成功连接到公司文件
    if (session.CompanyFile == null)
        throw new InvalidOperationException("未连接到QuickBooks公司文件");

    string productType = session.CompanyFile.Product;
    string versionYear = session.CompanyFile.Version;

    return $"当前QuickBooks版本:{productType}(版本号:{versionYear})";
}

2. 判断是否需要包含计量单位字段

拿到版本信息后,通过字符串匹配就能快速区分Pro和Premier版本,进而决定是否添加Unit of Measure字段:

public bool IsPremierVersion(QBSessionManager session)
{
    string productName = session.CompanyFile.Product;
    // 用不区分大小写的匹配兼容不同年份版本的命名格式
    return productName.Contains("Premier", StringComparison.OrdinalIgnoreCase);
}

3. 动态调整项目创建逻辑

在创建项目时,根据上面的判断结果动态控制字段的添加:

public void CreateInventoryItem(QBSessionManager session, string itemName, string uom = null)
{
    bool needUOM = IsPremierVersion(session);

    IMsgSetRequest request = session.CreateMsgSetRequest("US", 13, 0);
    IItemInventoryAdd itemAddReq = request.AppendItemInventoryAddRq();

    // 必填字段配置
    itemAddReq.Name.SetValue(itemName);
    itemAddReq.IncomeAccountRef.FullName.SetValue("销售收入");
    // 其他必填字段...

    // 仅在Premier版本下添加计量单位字段
    if (needUOM && !string.IsNullOrEmpty(uom))
    {
        itemAddReq.UnitOfMeasure.SetValue(uom);
    }

    // 发送请求并处理响应
    IMsgSetResponse response = session.DoRequests(request);
    // 响应校验逻辑...
}

额外提示

  • 务必确保会话已经成功连接到QuickBooks公司文件,否则CompanyFile属性会为空,触发空引用异常。
  • 不同年份的QB版本可能会有细微的命名差异(比如"QuickBooks Premier Accountant Edition"),用不区分大小写的包含匹配可以兼容这些情况。
  • 如果后续需要适配Enterprise等其他版本,也可以用同样的逻辑扩展判断条件。

内容的提问来源于stack exchange,提问作者Rani Radcliff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:36:00