Great Plains персонализиране? програмиране автоматично се прилага в вземания
Microsoft Great Plains е един от трите Microsoft Business Solutions продукти средни пазарни ERP: Great Plains, Соломон, Navision. Като се има предвид, че Great Plains сега е много добър кандидат за интеграция с POS приложение, като например Microsoft дребно система за управление на RMS или и Клиент връзка системи, като Microsoft CRM? има обща нужда от персонализирани Great Plains и интеграции, по-специално върху равнището на държавите-членки SQL Server преговарям SQL заявки и съхранени procedures.In тази малка статия ще ви покажем как да създадете автоматично прилага полза, когато се интегрират огромен брой търговски сделки и плащания. Ние ще работим с RM20101? Вземания Отваряне на файл и RM20201? Вземания и Прилагане Отворено File.Let видим SQL код: @ обяви curpmtamt цифров (19,5) обяви @ curinvamt цифров (19,5) обяви @ curpmtnum VARCHAR (20) обяви @ curinvnum VARCHAR (20) обяви @ curinvtype intdeclare @ curpmttype intdeclare @ maxid intdeclare @ брояч INT - Създаване на временна таблица tablecreate # Температура ([ID] INT самоличност (1,1) първичен ключ, CUSTNMBR VARCHAR (15), INVNUM VARCHAR (20), INVTYPE INT, PMTNUM VARCHAR (20), PMTTYPE INT, INVAMT цифров (19,5), PMTAMT цифров (19,5), AMTAPPLIED цифров (19,5)) създаде индекс IDX_INVNUM на # Температура (INVNUM) Създаване на указател IDX_PMTNUM на # Температура (PMTNUM) - Поставете unapplied фактури и paymentsinsert в # Температура (CUSTNMBR, INVNUM, INVTYPE, PMTNUM, PMTTYPE, INVAMT, PMTAMT, AMTAPPLIED) selectCUSTNMBR = a.CUSTNMBR, INVNUM = b.DOCNUMBR, INVTYPE = b.RMDTYPAL, PMTNUM = a.DOCNUMBR, PMTTYPE = a.RMDTYPAL, INVAMT = b.CURTRXAM, PMTAMT = a.CURTRXAM, AMTAPPLIED = 0from RM20101 ajoin RM20101 б на (a.CUSTNMBR = b.CUSTNMBR) се присъедини RM00101 в на (a.CUSTNMBR = c.CUSTNMBR) wherea.RMDTYPAL в (7, 8, 9) andb.RMDTYPAL в (1, 3) anda.CURTRXAM 0 andb.CURTRXAM 0order bya.custnmbr, b.DOCDATE, a.DOCDATE, a.DOCNUMBR, b.DOCNUMBR-- обхождане през всяка recordselect @ maxid = Max ([ID]) от # @ tempselect брояч 1while = @ брояч = @ curpmtamt) и (@ Curpmtamt> 0) и (@ curinvamt> 0) - ако фактурата сума е по-голям или различен от плащане amountbeginselect @ curinvamt = @ curinvamt - @ curpmtamt - фактура оставащата сума - актуализация на сумата, която е приложени към текущата фактура - текущата paymentupdate # tempsetAMTAPPLIED = @ curpmtamtwhere [ID] = @ брояч - актуализиране с размера на фактура remainingupdate # tempsetINVAMT = @ = @ curinvamtwhereINVNUM curinvnum andINVTYPE = @ curinvtype - актуализиране с размера на плащането remainingupdate # tempsetPMTAMT = 0wherePMTNUM = @ = @ curpmtnum andPMTTYPE curpmttypeendelse ако (@ curinvamt 0) и (@ curinvamt> 0) - ако фактурата е по-малка сума с плащането amountbeginselect @ curpmtamt = @ curpmtamt - @ curinvamt - сума за плащане останалите - актуализация на сумата, която се прилага за текущата фактура - текущата paymentupdate # tempsetAMTAPPLIED = @ Curinvamtwhere [ID] = @ брояч - актуализиране с размера на фактура remainingupdate # tempsetINVAMT = 0whereINVNUM = @ = @ curinvnum andINVTYPE curinvtype - актуализиране с размера на плащането remainingupdate # tempsetPMTAMT = @ CurpmtamtwherePMTNUM = @ = @ curpmtnum andPMTTYPE curpmttypeend - преминете към следващия recordselect @ брояч = @ брояч 1end + - актуализиране на РМ Отворете таблица с правилното amountsupdateRM20101setCURTRXAM = b.INVAMTfromRM20101 ajoin # б Температура на (a.DOCNUMBR = b.INVNUM и a.RMDTYPAL = b.INVTYPE) updateRM20101setCURTRXAM = b.PMTAMTfromRM20101 ajoin # б Температура на (a.DOCNUMBR = b.PMTNUM и a.RMDTYPAL = b.PMTTYPE) - - Създаване на РМ Кандидатствайте за съдимост или актуализира, ако записът вече existupdateRM20201setDATE1 = конвертирате (VARCHAR (10), getdate (), 101), GLPOSTDT = конвертирате (VARCHAR (10), getdate (), 101), APPTOAMT = APPTOAMT + a.AMTAPPLIED, ORAPTOAM = ORAPTOAM + a.AMTAPPLIED, APFRMAPLYAMT = APFRMAPLYAMT + a.AMTAPPLIED, ActualApplyToAmount = APFRMAPLYAMT + a.AMTAPPLIEDfrom # Temp ajoin RM20101 б на (b.DOCNUMBR = a.INVNUM и b.RMDTYPAL = a.INVTYPE) се присъедини RM20101 в на (c.DOCNUMBR = a.PMTNUM и c.RMDTYPAL = a.PMTTYPE) се присъедини RM20201 Г (d.APFRDCTY = a.PMTTYPE andd.APFRDCNM = a.PMTNUM andd.APTODCTY = a.INVTYPE andd.APTODCNM = a.INVNUM) wherea.AMTAPPLIED 0insert в
Член Източник: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
уебмастъра Вземи Html кодекс
Добави тази статия на вашия сайт сега!
уебмастъра Подайте членове
Не е необходима регистрация! Попълнете формата и статията ви е в Messaggiamo.Com директория!