在调用金蝶云星空接口时,用金蝶云星空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


9461

被折叠的 条评论
为什么被折叠?



