• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Renco
V2EX  ›  程序员

和 OA 对接为什么那么烦

  •  
  •   Renco · Mar 30, 2022 · 6553 views
    This topic created in 1521 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

    要充分發揮想像力 不然猜不出來
    EIJAM
        21
    EIJAM  
       Mar 30, 2022 via iPhone   ❤️ 2
    OA 的用户不是大众,而是公司里的这个总那个总,还有总下面的这个办那个办(没错,一般员工是被无视的)。
    一切都是领导拍脑袋,这个领导向东那个领导向西,产品敢得罪哪个领导?于是设计出来的东西就主次不分。今天你觉得完美的设计,明天领导一句话就给你改了。
    OA 还要集成各种新的老的内部的外部的业务,对接方水平也是层次不齐,ui 都统一不了。
    这种环境,你招大拿来,大拿也待不住。剩下的人要么水平差要么混日子,自然也不会去优化系统(能跑就行,优化了后台领导也不知道,优化了前端领导不喜欢怎么办)。
    Renco
        22
    Renco  
    OP
       Mar 30, 2022   ❤️ 1
    @Tink 是的
    Bigglesworth
        23
    Bigglesworth  
       Mar 30, 2022
    哎呀,泛微 oa 是比较老古董,文档对不上很正常,老是搞定制化,很多东西其实你们可以自己在 oa 里开发,让他们开发报价会比较高。
    wangsd
        24
    wangsd  
       Mar 30, 2022
    对接过金蝶的 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  
       Mar 30, 2022 via iPhone
    @wangsd True true
    koloonps
        26
    koloonps  
       Mar 30, 2022
    @wangsd 金蝶这个二次开发我还做过.....这么说吧金蝶就没有文档给你,都是自己去百度的
    jago
        27
    jago  
       Mar 30, 2022
    泛微现在都是 9.0 ,这块支持应该还行,8.0 已经没人维护了
    redford42
        28
    redford42  
       Mar 30, 2022
    该不会是致远吧(擦擦汗
    shakoon
        29
    shakoon  
       Mar 31, 2022
    我在十多年前搞过 OA 的开发,主要职责是在屎山上继续拉屎。并不是不想把屎铲走,好几处底层代码优化后运行效率提高了很多,但是真的是难以撼动整座屎山啊。
    Renco
        30
    Renco  
    OP
       Mar 31, 2022
    只能一个个硬怼字段排错了,结果发现是文档问题,文档写 String ,然后我传英文字母报错,发现他们建模用的是 int...
    Renco
        31
    Renco  
    OP
       Mar 31, 2022
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1082 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 18:17 · PVG 02:17 · LAX 11:17 · JFK 14:17
    ♥ Do have faith in what you're doing.