V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Renco
V2EX  ›  程序员

和 OA 对接为什么那么烦

  •  
  •   Renco · 2022-03-30 09:41:17 +08:00 · 5537 次点击
    这是一个创建于 1006 天前的主题,其中的信息可能已经有所发展或是发生改变。

    OA 提供标准流程请求文档,请求后返回错误码,文档上找到错误码的翻译,说是字段错误,然后联系 OA 方问是哪个字段错了,能否提供具体的错误信息 。

    OA 回复:这个您直接根据我们提供的表单字段 copy 一下就行了,和其他客户对接的时候这些都不是什么问题。

    。。。一个表单三四十个字段,部分接口还用的 xml 请求。难道只能这边一个个去查字段??

    31 条回复    2022-03-31 14:51:01 +08:00
    Renco
        1
    Renco  
    OP
       2022-03-30 09:41:44 +08:00
    第一次和 OA 对接,OA 侧提供的接口都是这样的吗。。
    Renco
        2
    Renco  
    OP
       2022-03-30 09:42:13 +08:00
    麻了
    rbe
        3
    rbe  
       2022-03-30 09:47:36 +08:00
    OA 是什么职位?
    BadAngel
        4
    BadAngel  
       2022-03-30 09:53:21 +08:00 via Android   ❤️ 1
    @rbe 办公自动化系统,通常用于公司公告,邮件,电子流程,文件传递等等
    binge921
        5
    binge921  
       2022-03-30 09:54:06 +08:00
    oa 这块本来就是技术不咋滴 事儿多那种 我宁可写 cms crm 系统 也不想写 oa 系统
    HongJay
        6
    HongJay  
       2022-03-30 09:54:33 +08:00
    QA
    atpking
        7
    atpking  
       2022-03-30 09:56:57 +08:00
    对接调试的时候可以试试我们的 nuapi ,会适当缓解对接的痛苦
    murmur
        8
    murmur  
       2022-03-30 10:34:21 +08:00   ❤️ 1
    那你还是太弱,我们对接的 oa 是用 vb 开发的,最后是抓页面对接的,我们单独写了一个 headless 去抓这个系统

    你至少还有错误码,我处理的是形形色色的错误信息,什么页面,弹窗,卡死,啥都得自己去想
    murmur
        9
    murmur  
       2022-03-30 10:34:36 +08:00
    *domino ,编程语言是 vb
    rbe
        10
    rbe  
       2022-03-30 10:37:22 +08:00
    @BadAngel #4 通常 OA 就是这个意思,所以他说 OA 职位我很好奇这还是一个职位的缩写?
    如果是 QA 打错了也不至于打好几次都错吧
    RRRoger
        11
    RRRoger  
       2022-03-30 10:42:25 +08:00
    哈哈哈 我最近也在对接泛微的 oa 接口 麻了
    clf
        12
    clf  
       2022-03-30 10:44:32 +08:00
    我们是从页面上抓接口对接的。

    还有就是直接泛微的系统里二次开发,提供接口。
    aru
        13
    aru  
       2022-03-30 10:50:21 +08:00
    已经不错了,至少有标准接口,有返回码
    xuanbg
        14
    xuanbg  
       2022-03-30 11:06:30 +08:00   ❤️ 2
    若干年前和用友对接过接口,然后照着文档就是各种错,也不知道什么字段该传什么类型。。。实在是无从猜测,请教了一个专门做用友二开的老师傅,才把接口给调通了。nmd 接口实际的入参和文档相差十万八千里。。。
    zoharSoul
        15
    zoharSoul  
       2022-03-30 11:22:38 +08:00
    @rbe #10 他没说 oa 职位
    RealJacob
        16
    RealJacob  
       2022-03-30 11:52:47 +08:00
    遗留的 shi 山太多了,一般如果公司内部自己开发的 oa 系统,可能会有各个业务方同时开发,很多定制化逻辑。一个前端页面 react 写的五千行的有的是。后端逻辑估计很多也是不清不楚,可能他想给你找,都找不着。
    Tink
        17
    Tink  
       2022-03-30 12:00:11 +08:00   ❤️ 1
    是泛微的吗
    blu10ph
        18
    blu10ph  
       2022-03-30 12:00:39 +08:00
    对接过致远,对接的哥们被我问烦了...
    adoal
        19
    adoal  
       2022-03-30 12:03:50 +08:00 via iPhone
    因为技术水平高的人都要去一互大拿高薪了,在地行小的程序员普遍比较菜,能被按着脑袋勉强把业务功能正确实现出来已经很不容易了。技术品位和技术审美?想多了,没有的。
    但是想想一互大里也充斥着水平稀烂的程序员…那地行小的就更没底了。
    roundgis
        20
    roundgis  
       2022-03-30 12:48:26 +08:00 via Android
    @xuanbg 用友的數據庫字段名是拼音縮寫

    要充分發揮想像力 不然猜不出來
    EIJAM
        21
    EIJAM  
       2022-03-30 12:51:25 +08:00 via iPhone   ❤️ 2
    OA 的用户不是大众,而是公司里的这个总那个总,还有总下面的这个办那个办(没错,一般员工是被无视的)。
    一切都是领导拍脑袋,这个领导向东那个领导向西,产品敢得罪哪个领导?于是设计出来的东西就主次不分。今天你觉得完美的设计,明天领导一句话就给你改了。
    OA 还要集成各种新的老的内部的外部的业务,对接方水平也是层次不齐,ui 都统一不了。
    这种环境,你招大拿来,大拿也待不住。剩下的人要么水平差要么混日子,自然也不会去优化系统(能跑就行,优化了后台领导也不知道,优化了前端领导不喜欢怎么办)。
    Renco
        22
    Renco  
    OP
       2022-03-30 13:16:04 +08:00   ❤️ 1
    @Tink 是的
    Bigglesworth
        23
    Bigglesworth  
       2022-03-30 15:47:25 +08:00
    哎呀,泛微 oa 是比较老古董,文档对不上很正常,老是搞定制化,很多东西其实你们可以自己在 oa 里开发,让他们开发报价会比较高。
    wangsd
        24
    wangsd  
       2022-03-30 18:04:34 +08:00
    对接过金蝶的 ERP ,对接那个人提供的文档还没我网上找的详细,给你看看查询某个物料返回的信息。

    {
    "Creator": "",
    "NeedUpDateFields": [],
    "NeedReturnFields": [],
    "IsDeleteEntry": "True",
    "SubSystemId": "",
    "IsVerifyBaseDataField": "false",
    "IsEntryBatchFill": "True",
    "ValidateFlag": "True",
    "NumberSearch": "True",
    "InterationFlags": "",
    "Model": {
    "FMATERIALID": 0,
    "FCreateOrgId": {
    "FNumber": "100"
    },
    "FUseOrgId": {
    "FNumber": "100"
    },
    "FNumber":"",
    "FName": "测试 104",
    "FSpecification": "大份,微辣",
    "FImgStorageType": "B",
    "FIsSalseByNet": false,
    "SubHeadEntity": {
    "FErpClsID": "1",
    "FCategoryID": {
    "FNumber": "CHLB01_SYS"
    },
    "FTaxType": {
    "FNumber": "WLDSFL01_SYS"
    },
    "FTaxRateId": {
    "FNUMBER": "SL31_SYS"
    },
    "FBaseUnitId": {
    "FNumber": "Pcs"
    },
    "FIsPurchase": true,
    "FIsInventory": true,
    "FIsSubContract": false,
    "FIsSale": true,
    "FIsProduce": false,
    "FIsAsset": false,
    "FWEIGHTUNITID": {
    "FNUMBER": "kg"
    },
    "FVOLUMEUNITID": {
    "FNUMBER": "m"
    }
    },
    "SubHeadEntity1": {
    "FStoreUnitID": {
    "FNumber": "Pcs"
    },
    "FUnitConvertDir": "1",
    "FIsLockStock": true,
    "FIsCycleCounting": false,
    "FCountCycle": "1",
    "FCountDay": 1,
    "FIsMustCounting": false,
    "FIsBatchManage": false,
    "FIsKFPeriod": false,
    "FIsExpParToFlot": false,
    "FCurrencyId": {
    "FNumber": "PRE001"
    },
    "FIsEnableMinStock": false,
    "FIsEnableMaxStock": false,
    "FIsEnableSafeStock": false,
    "FIsEnableReOrder": false,
    "FIsSNManage": false,
    "FIsSNPRDTracy": false,
    "FSNManageType": "1",
    "FSNGenerateTime": "1"
    },
    "SubHeadEntity2": {
    "FSaleUnitId": {
    "FNumber": "Pcs"
    },
    "FSalePriceUnitId": {
    "FNumber": "Pcs"
    },
    "FMaxQty": 100000.0,
    "FIsATPCheck": false,
    "FIsReturnPart": false,
    "FIsInvoice": false,
    "FIsReturn": true,
    "FAllowPublish": false,
    "FISAFTERSALE": true,
    "FISPRODUCTFILES": true,
    "FISWARRANTED": false,
    "FWARRANTYUNITID": "D",
    "FOutLmtUnit": "SAL",
    "FIsTaxEnjoy": false
    },
    "SubHeadEntity3": {
    "FPurchaseUnitId": {
    "FNumber": "Pcs"
    },
    "FPurchasePriceUnitId": {
    "FNumber": "Pcs"
    },
    "FIsQuota": false,
    "FQuotaType": "1",
    "FIsVmiBusiness": false,
    "FEnableSL": false,
    "FIsPR": false,
    "FIsReturnMaterial": true,
    "FIsSourceControl": false,
    "FPOBillTypeId": {
    "FNUMBER": "CGSQD01_SYS"
    },
    "FPrintCount": 1,
    "FMinPackCount": 1
    },
    "SubHeadEntity4": {
    "FPlanningStrategy": "1",
    "FMfgPolicyId": {
    "FNumber": "ZZCL001_SYS"
    },
    "FFixLeadTimeType": "1",
    "FVarLeadTimeType": "1",
    "FCheckLeadTimeType": "1",
    "FOrderIntervalTimeType": "3",
    "FMaxPOQty": 100000.0,
    "FEOQ": 1.0,
    "FVarLeadTimeLotSize": 1.0,
    "FIsMrpComReq": false,
    "FReserveType": "1",
    "FAllowPartAhead": false,
    "FCanDelayDays": 999,
    "FAllowPartDelay": true,
    "FPlanOffsetTimeType": "1"
    },
    "SubHeadEntity5": {
    "FProduceUnitId": {
    "FNumber": "Pcs"
    },
    "FProduceBillType": {
    "FNUMBER": "SCDD03_SYS"
    },
    "FOrgTrustBillType": {
    "FNUMBER": "SCDD06_SYS"
    },
    "FIsSNCarryToParent": false,
    "FIsProductLine": false,
    "FBOMUnitId": {
    "FNumber": "Pcs"
    },
    "FIsMainPrd": false,
    "FIsCoby": false,
    "FIsECN": false,
    "FIssueType": "1",
    "FOverControlMode": "1",
    "FMinIssueQty": 1.0,
    "FISMinIssueQty": false,
    "FIsKitting": false,
    "FIsCompleteSet": false,
    "FMinIssueUnitId": {
    "FNUMBER": "Pcs"
    },
    "FStandHourUnitId": "3600",
    "FBackFlushType": "1"
    },
    "SubHeadEntity7": {
    "FSubconUnitId": {
    "FNumber": "Pcs"
    },
    "FSubconPriceUnitId": {
    "FNumber": "Pcs"
    },
    "FSubBillType": {
    "FNUMBER": "WWDD01_SYS"
    }
    },
    "SubHeadEntity6": {
    "FCheckIncoming": false,
    "FCheckProduct": false,
    "FCheckStock": false,
    "FCheckReturn": false,
    "FCheckDelivery": false,
    "FEnableCyclistQCSTK": false,
    "FEnableCyclistQCSTKEW": false,
    "FCheckEntrusted": false,
    "FCheckOther": false
    },
    "FEntityInvPty": [
    {
    "FInvPtyId": {
    "FNumber": "01"
    },
    "FIsEnable": true,
    "FIsAffectPrice": false,
    "FIsAffectPlan": false,
    "FIsAffectCost": false
    },
    {
    "FInvPtyId": {
    "FNumber": "02"
    },
    "FIsEnable": true,
    "FIsAffectPrice": false,
    "FIsAffectPlan": false,
    "FIsAffectCost": false
    },
    {
    "FInvPtyId": {
    "FNumber": "03"
    },
    "FIsEnable": false,
    "FIsAffectPlan": false,
    "FIsAffectCost": false
    },
    {
    "FInvPtyId": {
    "FNumber": "04"
    },
    "FIsEnable": false,
    "FIsAffectPrice": false,
    "FIsAffectPlan": false,
    "FIsAffectCost": false
    },
    {
    "FInvPtyId": {
    "FNumber": "06"
    },
    "FIsEnable": false,
    "FIsAffectPrice": false,
    "FIsAffectPlan": false,
    "FIsAffectCost": false
    }
    ]
    }
    }
    souco
        25
    souco  
       2022-03-30 18:40:26 +08:00 via iPhone
    @wangsd True true
    koloonps
        26
    koloonps  
       2022-03-30 19:51:52 +08:00
    @wangsd 金蝶这个二次开发我还做过.....这么说吧金蝶就没有文档给你,都是自己去百度的
    jago
        27
    jago  
       2022-03-30 20:14:05 +08:00
    泛微现在都是 9.0 ,这块支持应该还行,8.0 已经没人维护了
    redford42
        28
    redford42  
       2022-03-30 21:19:05 +08:00
    该不会是致远吧(擦擦汗
    shakoon
        29
    shakoon  
       2022-03-31 08:27:40 +08:00
    我在十多年前搞过 OA 的开发,主要职责是在屎山上继续拉屎。并不是不想把屎铲走,好几处底层代码优化后运行效率提高了很多,但是真的是难以撼动整座屎山啊。
    Renco
        30
    Renco  
    OP
       2022-03-31 14:50:50 +08:00
    只能一个个硬怼字段排错了,结果发现是文档问题,文档写 String ,然后我传英文字母报错,发现他们建模用的是 int...
    Renco
        31
    Renco  
    OP
       2022-03-31 14:51:01 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1080 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:13 · PVG 03:13 · LAX 11:13 · JFK 14:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.