Edits history of script submission #19789 for ' Update a document line (sage_intacct)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type SageIntacct = {
    	token: string
    }
    /**
     * Update a document line
     * Updates an existing purchasing document line by setting field values. Any fields not provided remain unchanged.
    
    
    Permissions and other requirements
    
    SubscriptionPurchasing
    User typeBusiness, Employee, Project Manager, Warehouse
    PermissionsList, View, Edit Purchasing documents
    
    
    
    
     */
    export async function main(
    	auth: SageIntacct,
    	documentName: string,
    	key: string,
    	body: {
    		key?: string
    		id?: string
    		href?: string
    		documentType?: string
    		lineNumber?: number
    		item?: { key?: string; id?: string; href?: string }
    		memo?: string
    		unit?: string
    		quantity?: string
    		unitQuantity?: string
    		unitPrice?: string
    		price?: string
    		quantityConverted?: string
    		retailPrice?: string
    		priceConverted?: string
    		quantityToleranceVariance?: string
    		priceToleranceVariance?: string
    		audit?: {
    			createdDateTime?: string
    			modifiedDateTime?: string
    			createdBy?: string
    			modifiedBy?: string
    		}
    		status?: 'active' | 'inactive'
    		costMethod?: 'standard' | 'average' | 'FIFO' | 'LIFO'
    		sourceDocument?: {
    			key?: string
    			id?: string
    			documentType?: string
    			href?: string
    		}
    		sourceDocumentLine?: {
    			key?: string
    			id?: string
    			documentType?: string
    			href?: string
    		}
    		baseCurrency?: string
    		txnCurrency?: string
    		priceInTxnCurrency?: string
    		isBillable?: false | true
    		isBilled?: false | true
    		taxRate?: string
    		taxInBaseCurrency?: string
    		taxInTxnCurrency?: string
    		discount?: string
    		enableTax?: false | true
    		quantityRemaining?: string
    		conversionType?: 'quantity' | 'price'
    		dimensions?: {
    			location?: { key?: string; id?: string; name?: string; href?: string }
    			department?: { key?: string; id?: string; name?: string; href?: string }
    			employee?: { key?: string; id?: string; name?: string; href?: string }
    			project?: { key?: string; id?: string; name?: string; href?: string }
    			customer?: { key?: string; id?: string; name?: string; href?: string }
    			vendor?: { key?: string; id?: string; name?: string; href?: string }
    			item?: { key?: string; id?: string; name?: string; href?: string }
    			warehouse?: { key?: string; id?: string; name?: string; href?: string }
    			class?: { key?: string; id?: string; name?: string; href?: string }
    			task?: { id?: string; key?: string; name?: string; href?: string }
    			costType?: { id?: string; key?: string; name?: string; href?: string }
    			asset?: { id?: string; key?: string; name?: string; href?: string }
    			contract?: { id?: string; key?: string; name?: string; href?: string }
    			affiliateEntity?: {
    				key?: string
    				id?: string
    				href?: string
    				name?: string
    			}
    		} & {
    			location?: { key?: string; id?: string; href?: string }
    			department?: { key?: string; id?: string; href?: string }
    			warehouse?: { key?: string; id?: string; href?: string }
    			project?: { key?: string; id?: string; href?: string }
    			task?: { id?: string; key?: string; href?: string }
    		}
    		requestedShippingDate?: string
    		shipByDate?: string
    		cancelAfterDate?: string
    		doNotShipBeforeDate?: string
    		doNotShipAfterDate?: string
    		deliveryDueDate?: string
    		orderConfirmationDate?: string
    		allocation?: { key?: string; id?: string; href?: string }
    		trackingDetail?: {
    			key?: string
    			id?: string
    			href?: string
    			quantity?: string
    			serialNumber?: string
    			lotNumber?: string
    			expirationDate?: string
    			aisle?: { href?: string; key?: string; id?: string }
    			bin?: { href?: string; key?: string; id?: string }
    			row?: { href?: string; key?: string; id?: string }
    			item?: { key?: string; id?: string; href?: string }
    			audit?: {
    				createdDateTime?: string
    				modifiedDateTime?: string
    				createdBy?: string
    				modifiedBy?: string
    			}
    			purchasingDocumentLine?: {
    				key?: string
    				id?: string
    				documentType?: string
    				href?: string
    			}
    		}[]
    		documentHeader?: {
    			key?: string
    			id?: string
    			documentType?: string
    			href?: string
    		}
    		lineSubtotals?: {
    			key?: string
    			id?: string
    			href?: string
    			description?: string
    			absoluteValue?: string
    			percentValue?: string
    			total?: string
    			txnAbsoluteValue?: string
    			txnTotal?: string
    			enableOverrideTax?: false | true
    			taxDetail?: { key?: string; id?: string; href?: string }
    			systemTaxDetail?: { key?: string; id?: string; href?: string }
    			dimensions?: {
    				location?: { key?: string; id?: string; name?: string; href?: string }
    				department?: {
    					key?: string
    					id?: string
    					name?: string
    					href?: string
    				}
    				employee?: { key?: string; id?: string; name?: string; href?: string }
    				project?: { key?: string; id?: string; name?: string; href?: string }
    				customer?: { key?: string; id?: string; name?: string; href?: string }
    				vendor?: { key?: string; id?: string; name?: string; href?: string }
    				item?: { key?: string; id?: string; name?: string; href?: string }
    				warehouse?: { key?: string; id?: string; name?: string; href?: string }
    				class?: { key?: string; id?: string; name?: string; href?: string }
    				task?: { id?: string; key?: string; name?: string; href?: string }
    				costType?: { id?: string; key?: string; name?: string; href?: string }
    				asset?: { id?: string; key?: string; name?: string; href?: string }
    				contract?: { id?: string; key?: string; name?: string; href?: string }
    				affiliateEntity?: {
    					key?: string
    					id?: string
    					href?: string
    					name?: string
    				}
    			} & {
    				location?: { key?: string; id?: string; name?: string; href?: string }
    				department?: {
    					key?: string
    					id?: string
    					name?: string
    					href?: string
    				}
    			}
    			documentLine?: {
    				key?: string
    				id?: string
    				documentType?: string
    				href?: string
    			}
    			document?: {
    				key?: string
    				id?: string
    				documentType?: string
    				href?: string
    			}
    			status?: 'active' | 'inactive'
    		}[]
    	} & { id?: {} }
    ) {
    	const url = new URL(
    		`https://api.intacct.com/ia/api/v1/objects/purchasing/document-line::${documentName}/${key}`
    	)
    
    	const response = await fetch(url, {
    		method: 'PATCH',
    		headers: {
    			'Content-Type': 'application/json',
    			Authorization: 'Bearer ' + auth.token
    		},
    		body: JSON.stringify(body)
    	})
    	if (!response.ok) {
    		const text = await response.text()
    		throw new Error(`${response.status} ${text}`)
    	}
    	return await response.json()
    }
    

    Submitted by hugo697 235 days ago