UNPKG

@cityssm/dynamics-gp

Version:

Read only inquiries into Microsoft Dynamics GP using a SQL Server connection.

41 lines (31 loc) 1.26 kB
import { connect } from '@cityssm/mssql-multi-pool' import type { IResult, config as MSSQLConfig } from 'mssql' import type { GPInvoice } from '../gp/types.js' import type { DiamondExtendedGPInvoice, DiamondTrialBalanceCode } from './types.js' export default async function _extendGpInvoice( mssqlConfig: MSSQLConfig, gpInvoice: GPInvoice ): Promise<DiamondExtendedGPInvoice> { const diamondInvoice = gpInvoice as DiamondExtendedGPInvoice // Trial Balance Code const pool = await connect(mssqlConfig) const tbcResult = (await pool .request() .input('invoiceNumber', gpInvoice.invoiceNumber).query(`SELECT top 1 t.dCUSTTBCODE as trialBalanceCode, t.dDESC as trialBalanceCodeDescription FROM SF120 i inner join SF023 t on i.dcusttbcode = t.dcusttbcode where docnumbr = @invoiceNumber`)) as IResult<DiamondTrialBalanceCode> const trialBalanceCode = tbcResult.recordset.length > 0 ? tbcResult.recordset[0] : undefined if (trialBalanceCode !== undefined) { diamondInvoice.trialBalanceCode = trialBalanceCode.trialBalanceCode diamondInvoice.trialBalanceCodeDescription = trialBalanceCode.trialBalanceCodeDescription } return diamondInvoice }