自动注释接口不存在的字段

    在调用金蝶云星空接口时,用金蝶云星空API文档提供的字段参数,由于API文档未及时更新,调用接口时,会有多次提示字段不存在,这样会严重影响开发效率,为了提高开发效率,需要在调用接口时,在返回结果中包含“字段不存在”字样时能自动注释不存在的字段。下面是提供的样例代码:

1、接口文件代码:
import json
import time
import pymysql
import configparser
import os
from datetime import datetime
from typing import List, Dict, Optional, Any

from k3cloud_webapi_sdk.main import K3CloudApiSdk

# 配置文件路径(基于文件位置,避免工作目录影响)
BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
CONFIG_PATH = os.path.join(BASE_DIR, 'conf.ini')
DB_CONFIG_PATH = os.path.join(BASE_DIR, 'db.ini')

# 全局变量,延迟初始化
server_url: Optional[str] = None
api_sdk: Optional[K3CloudApiSdk] = None

# 寄售销售订单字段定义
OUTSTOCKAPPLY_FIELDS = [
    'FID',
    'FBillNo',
    'FDocumentStatus',
    #'FSaleOrgId',
    'FDate',
    'FCustId',
    #'FSaleDeptId',
    #'FSaleGroupId',
    #'FSalerId',
    #'FReceiveId',
    #'FSettleId',
    #'FSettleAddress',
    #'FChargeId',
    'FCreatorId',
    'FCreateDate',
    'FModifierId',
    'FModifyDate',
    'FApproverId',
    'FApproveDate',
    'FCloseStatus',
    'FCloserId',
    'FCloseDate',
    'FCancelStatus',
    'FCancellerId',
    'FCancelDate',
    #'FVersionNo',
    #'FChangerId',
    #'FChangeDate',
    #'FChangeReason',
    'FBillTypeID',
    #'FBusinessType',
    #'FHeadDeliveryWay',
    #'FReceiveAddress',
    #'FHEADLOCID',
    #'FCreditCheckResult',
    #'FCorrespondOrgId',
    #'FReceiveContact',
    #'FNetOrderBillNo',
    #'FNetOrderBillId',
    #'FOppID',
    #'FSalePhaseID',
    #'FISINIT',
    'FNote',
    #'FIsMobile',
    #'FSignStatus',
    #'FIsDirectChange',
    #'FManualClose',
    #'FLinkMan',
    #'FLinkPhone',
    #'FSOFrom',
    #'FContractType',
    #'FContractId',
    #'FIsUseOEMBomPush',
    #'FXPKID_H',
    #'FCloseReason',
    #'FIsUseDrpSalePOPush',
    #'FIsCreateStraightOutIN',
    #'FPRESETBASE1',
    #'FPRESETASSISTANT1',
    #'FPRESETASSISTANT2',
    #'FPRESETBASE2',
    #'F_RQFC_Assistant',
    #'F_RQFC_Assistant1',
    #'F_wdtPlatformOrder',
    #'F_wdtOrder',
    #'F_wdtStockNumber',
    #'FHJYDetailId',
    #'FEntryID',
    #'FClauseId',
    #'FClauseName',
    #'FClauseType',
    #'FClauseContent',
    #'FClauseDesc',
    #'FXPKID_C',
    #'FEntryID',
    #'FMaterialId',
    'FMaterialName',
    #'FMaterialModel',
    #'FMaterialType',
    'FUnitID',
    #'FPrice',
    #'FTaxPrice',
    'FBomId',
    #'FPriceUnitId',
    #'FPriceUnitQty',
    #'FPriceCoefficient',
    #'FDiscountRate',
    #'FDiscount',
    #'FEntryTaxRate',
    #'FEntryTaxAmount',
    #'FAllAmount',
    #'FTaxNetPrice',
    #'FBaseUnitQty',
    #'FDeliveryControl',
    #'FDeliveryMaxQty',
    #'FDeliveryMinQty',
    #'FTransportLeadTime1',
    #'FBefDisAllAmt',
    #'FBefDisAmt',
    #'FTaxAmount_LC',
    #'FAmount_LC',
    #'FAllAmount_LC',
    #'FMrpCloseStatus',
    #'FMrpFreezeStatus',
    #'FFreezerId',
    #'FFreezeDate',
    #'FMrpTerminateStatus',
    #'FTerminaterId',
    #'FTerminateDate',
    #'FBaseDeliJoinQty',
    #'FDeliQty',
    #'FStockOutQty',
    #'FRetNoticeQty',
    #'FReturnQty',
    #'FRemainOutQty',
    #'FBaseInvoiceJoinQty',
    #'FInvoiceJoinQty',
    #'FInvoiceQty',
    #'FInvoiceAmount',
    #'FReceiveAmount',
    #'FBasePurJoinQty',
    #'FPurJoinQty',
    #'FPurReqQty',
    #'FPurOrderQty',
    #'FReceiptOrgId',
    #'FSettleOrgIds',
    #'FAmount',
    'FEntryNote',
    'FQty',
    #'FLimitDownPrice',
    #'FSysPrice',
    'FStockOrgId',
    #'FBaseStockOutQty',
    #'FBaseDeliQty',
    #'FBaseRetNoticeQty',
    #'FBaseReturnQty',
    #'FBasePurReqQty',
    #'FBasePurOrderQty',
    'FBaseUnitId',
    #'FChangeFlag',
    #'FMapId',
    'FOwnerTypeId',
    'FOwnerId',
    #'FIsFree',
    #'FLOCKQTY',
    #'FLOCKFLAG',
    'FProduceDate',
    'FExpiryDate',
    #'FExpUnit',
    #'FExpPeriod',
    #'FMaterialIsProduce',
    #'FTaxCombination',
    'FLot',
    #'FMapName',
    'FAuxPropId',
    #'FReturnType',
    #'FDeliveryDate',
    #'FTransJoinQty',
    #'FBaseTransJoinQty',
    #'FSrcType',
    #'FSrcBillNo',
    #'FBaseDeliveryMaxQty',
    #'FBaseDeliveryMinQty',
    #'FOEMInStockJoinQty',
    #'FBaseOEMInStockJoinQty',
    #'FBaseARJoinQty',
    #'FIsReturn',
    #'FInventoryQty',
    #'FBFLowId',
    #'FIsInventory',
    #'FBASEARQTY',
    #'FARJOINAMOUNT',
    #'FARAMOUNT',
    #'FBaseRemainOutQty',
    #'FReBackQty',
    #'FBaseReBackQty',
    #'FARQTY',
    #'FMaterialIsSubContract',
    #'FCanOutQty',
    #'FBaseCanOutQty',
    #'FCanReturnQty',
    #'FBaseCanReturnQty',
     #'FBASEAPQTY',
    #'FAPAMOUNT',
    'FMtoNo',
    #'FPriority',
    #'FReserveType',
    #'FMinPlanDeliveryDate',
    #'FDeliveryStatus',
    #'FOldQty',
    #'FPromotionMatchType',
    #'FPriceListEntry',
    #'FAwaitQty',
    #'FAvailableQty',
    #'FSupplyOrgId',
    #'FNetOrderEntryId',
    #'FPriceBaseQty',
    #'FSetPriceUnitID',
    #'FStockUnitID',
    #'FStockQty',
    #'FStockBaseQty',
    #'FStockBaseCanOutQty',
    #'FStockBaseCanReturnQty',
    #'FStockBaseARJoinQty',
    #'FStockBaseTransJoinQty',
    #'FServiceContext',
    #'FStockBasePurJoinQty',
    #'FSalBaseNum',
    #'FStockBaseDen',
    #'FSRCBIZUNITID',
    #'FPurBaseQty',
    #'FPurUnitID',
    #'FPurQty',
    #'FSalBaseARJoinQty',
    #'FSTOCKBASESTOCKOUTQTY',
    #'FSTOCKBASEREBACKQTY',
    #'FOUTLMTUNIT',
    #'FOutLmtUnitID',
    #'FTRANSRETURNQTY',
    #'FTRANSRETURNBASEQTY',
    #'FCONSIGNSETTQTY',
    #'FCONSIGNSETTBASEQTY',
    #'FLeftQty',
    #'FCurrentInventory',
    #'FRowType',
    #'FParentMatId',
    #'FRowId',
    #'FParentRowId',
    #'FInStockPrice',
    #'FSOStockId',
    #'FSOStockLocalId',
    #'FPurPriceUnitId',
    #'FISMRP',
    #'FBarcode',
    #'FBranchId',
    #'FRetailSaleProm',
    #'FBASEFINARQTY',
    #'FSALBASEFINARQTY',
    #'FEntryDiscountList',
    #'FPriceDiscount',
    #'FZHJStockQty',
    #'FSPMENTRYID',
    #'FSPMANDRPMCONTENT',
    #'FTransReturnStockBaseQty',
    #'FTailDiffFlag',
    #'FOldTaxPrice',
    #'FOldAmount',
    #'FOldAllAmount',
    #'FOldDiscountRate',
    #'FOldDiscount',
    #'FRPAmount',
    #'FAccountBalanceId',
    #'FBOMEntryId',
    #'FRPDiscountRate',
    #'FStockBaseOutJoinQty',
    #'FAllAmountExceptDisCount',
    #'FIsSumQtyTag',
    #'FMaterialGroup',
    #'FMaterialGroupName',
    #'FXPKID',
    #'FManualRowClose',
    #'FMaterialGroupByMat',
    #'FISMRPCAL',
    #'FThirdPartyNo',
    #'FThirdPartyId',
    #'FThirdPartyEntrySeq',
    #'F_ULRW_Price_qtr',
    'F_AvailableStock_Qty',
    'FSKType',
    #'FDetailID',
    'FStockId',
    #'FPlanUnitId',
    #'FPlanQty',
    #'FDeliCommitQty',
    #'FDeliRemainQty',
    #'FDetailLocId',
    #'FDetailLocAddress',
    #'FPlanDate',
    #'FPlanDeliveryDate',
    #'FTransportLeadTime',
    #'FBasePlanQty',
    #'FBaseDeliCommitQty',
    #'FBaseDeliRemainQty',
    #'FPlanBaseUnitId',
    #'FNOTICEQTY',
    #'FNOTICEREMAINQTY',
    #'FNOTICEBASEQTY',
    #'FNOTICEREMAINBASEQTY',
    #'FXPKID_D',
    #'FEntryId',
    #'FLocalCurrId',
    #'FExchangeTypeId',
    #'FExchangeRate',
    #'FPayAdvanceRate',
    #'FPayAdvanceAmount',
    #'FDiscountListId',
    #'FSettleCurrId',
    #'FBillTaxAmount_LC',
    #'FBillAmount_LC',
    #'FBillAllAmount',
    #'FBillAllAmount_LC',
    #'FPriceListId',
    #'FBillTaxAmount',
    #'FBillAmount',
    #'FIsIncludedTax',
    #'FNeedPayAdvance',
    #'FRecBillId',
    #'FRecConditionId',
    #'FSettleModeId',
    #'FJoinStockAmount',
    #'FJoinOrderAmount',
    #'FCreChkStatus',
    #'FCreChkDays',
    #'FCreChkAmount',
    #'FCrePreBatAndMonStatus',
    #'FCrePreBatchOver',
    #'FCreMonControlOver',
    #'FIsPriceExcludeTax',
    #'FMarginLevel',
    #'FAssociateMargin',
    #'FMargin',
    #'FAssRefundMargin',
    #'FCreChkOverAmount',
    #'FOverOrgTransDirect',
    #'FRecNoticeNo',
    #'FRecBarcodeLink',
    #'FAllDisCount',
    #'FXPKID_F',
    #'FDetailID',
    #'FTaxRateId',
    #'FTaxRate',
    #'FTaxAmount',
    #'FCostPercent',
    #'FCostAmount',
    #'FVAT',
    #'FBuyerWithholding',
    #'FSellerWithholding',
    #'FEntryID',
    #'FNeedRecAdvance',
    #'FRecAdvanceRate',
    #'FMustDate',
    #'FRecAdvanceAmount',
    #'FRecAmount',
    #'FRelBillNo',
    #'FReMark',
    #'FReceiveType',
    #'FControlSend',
    #'FPlanMaterialId',
    #'FPlanMaterialName',
    #'FMaterialSeq',
    #'FOrderEntryId',
    #'FASSAMOUNTFOR',
    #'FASSDEDAMOUNTFOR',
    #'FIsOutStockByRecamount',
    #'FMaterialRowID',
    #'FAGGRecAmount',
    #'FMaterialTaxPrice',
    #'FMaterialPriceUnitQty',
    #'FMaterialPriceUnitID',
    #'FOverRecAmount',
    #'FXPKID_R',
    #'FDETAILID',
    #'FActRecAmount',
    #'FADVANCENO',
    #'FADVANCESEQ',
    #'FRemainAmount',
    #'FADVANCEENTRYID',
    #'FADVANCEID',
    #'FPreMatchAmountFor',
    #'FPESettleOrgId',
    #'FOverRecAmount_D',
    #'FXPKID_RE',
    #'FEntryID',
    #'FLogComId',
    #'FCarryBillNo',
    #'FTraceStatus',
    #'FDelTime',
    #'FPhoneNumber',
    #'FFrom',
    #'FTo',
    #'FReceiptTime',
    #'FCarryBillNoType',
    #'FDetailID',
    #'FTraceTime',
    #'FTraceDetail',
    #'FEntryId',
    #'FPLANNOTRECAMOUNT',
    #'FPLANRECAMOUNT',
    #'FPLANALLRECAMOUNT',
    #'FMATCHRECAMOUNT',
    #'FARMATCHRECAMOUNT',
    #'FPLANREFUNDAMOUNT',
    #'FEntryID',
    #'FORMID',
    #'FRELATBILLNO',
    #'FRELATDATE',
    #'FENTRYRECAMOUNT',
    #'FENTRYREFUNDAMT',
    #'FTYPE',
    #'FLinkId',
    #'FSaleOrderEntry_Link_FFlowId',
    #'FSaleOrderEntry_Link_FFlowLineId',
    #'FSaleOrderEntry_Link_FRuleId',
    #'FSaleOrderEntry_Link_FSTableId',
    #'FSaleOrderEntry_Link_FSTableName',
    #'FSaleOrderEntry_Link_FSBillId',
    #'FSaleOrderEntry_Link_FSId',
    #'FSaleOrderEntry_Link_FBaseUnitQtyOld',
    #'FSaleOrderEntry_Link_FBaseUnitQty',
    #'FSaleOrd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值