2011年第24卷第4期ླྀၰ ෘمٟࠣᆇElectronicSci &Tech /Apr 15,2011ࠎႿCompiereERP؟ეᇕြༀௐऌඔऌଆഡ࠹Їݚ1,นࡹ1,Ї֣۬ী2,ࠝರଡ3(1 ଽܞҍࣜ࿐ჽຩႋႨඌ࣮෮,ଽܞޫބݽห 010051;2 ޫބݽหቂ࿐ჽ࠹ෘࠏ༢,ଽܞޫބݽห 010051;3 ᇩൔ߶ഠ !,ರЧỌࣘ 101-0021) ᅋ ေ ERP系统多语种票据设计的关键是根据在企业跨国业务中的流程创建业务数据模型,并从后台数据库中选择业务流程对应的数据项b文中通过业务逻辑重点分析和重构CompiereERP&CRM的发票数据模型,并提出基于Oracle10g的Compiere多语种票据业务数据模型的柔性设计思路和实现方法bܱՍ Compiere;开源ERP&CRM;多语种票据;E-R图;业务模型;重构ᇏٳোݼ TP311 52;TP311 138 ໓ངѓ് A ໓ᅣщݼ 1007-7820(2011)04-027-06DesignofDataModelfortheEnterpriseMultilingualServiceBillBasedonCompiereERPB113aoHaishan,TangJianping,BaoW2ugedele,Jirimuto(1 InstituteofNetworkApplicationTechnology,InnerMongoliaFinanceAndEconomicsCollege,Hohhot010051,China;2 DepartmentofComputer,HohhotNationalCollege,Hohhot010051,China;3 AlmasInc ,Tokyo101-0021,Japan)Abstract AkeyofdesigntheMultilingualBillsforERPsystemiscreatesServiceViewLogicandselectdataelementsfromDatabasebasedonworkflowinthetransnationalbusinessbetweentwoenterprises Inthispaper,main lyanalyzedandrebuildtheDatamodelofInvoiceforCompiereERP&CRMbywayofServiceViewLogic,thentopromoteaflexibilitydesignideaandsolutiontoberealizedforServiceViewLogicofMultilingualBillsofCompiereonOracle10gDatabase Keywords Compiere;opensourceERP&CRM;multilingualbills;E Rmap;servicemode;lrebui ᄝࠎႿCompiere؟ეᇕປᆜϱ֥ଖᇏರކሧڛ,ିିܔડቀఒြൌุ֥ERPြༀ๙Ⴈྐ༏ࢌߐླልࡆ۽ఒြERPؿཛଢᇏ,ູିܔડቀఒြൌุေbఒြൻԛ֥؟ეᇕௐऌ,ቔູॴݓြༀචٚಒ֥ݓ࠽߄ႋႨླ,ླေؿ؟ეᇕௐऌൻԛۿିbಪaթြༀສট֥ᆣ,๙ӈҐႨ၂ো҂ეᇕ২ೂ,ھڛልࡆ۽ఒြൌุοఃြༀࠄϴ-ರЧଖഅௐऌ֥ඔऌଆaϱ૫۬ൔཌྷ,ეᇕཌྷၳ֥ٚӆ֥רֆປӮڛልჰҋਘ൬ࠊaࡆ۽aْෂaࢲෘ֥ൔ[2]bطགྷࣂႨ֥ᇏ໓aರ໓ބႇ໓උႿቐޘൔြༀੀӱᇏླေൻԛਆᇕე֥ௐऌ ರ໓ௐऌཿ۬ൔbၹՎ,Чཛଢᇶေ࣮ބࢳथਆ۱໙ี:[ರٚ]ބᇏ໓ௐऌ[ᇏٚ]bཛଢቆ๙ݖٳ༅ބഡ࠹ֻ၂,࣮ഡ࠹ఒြြༀੀӱᇏ۲ᇕௐऌ๙Ⴈ֥ඔऌ๙Ⴈௐऌြༀ൪આࠠ,࣮ԛ၂ส಼ྟഡ࠹නਫ਼:ଆ,ࠧြༀ൪ࠣఃઆ֥ࠠᇗܒ,ᆃ൞ཛଢ֥ܱ০ႨCompiereඔऌଆaඔऌሳ಼ׅ֥ྟഡ࠹෮ᄝ;ֻؽ,ࢳथᇏ໓/ರ໓/ႇ໓ეЇ֥໙หׄ[1],ղ֞҂Ⴈщཿބྩڿჷӱࣼॖၛ၂ഡ࠹,ีॖၛҐႨ!ᄝགྷႵ۲ეᇕეЇᆭഈປӮ۲ᇕြༀௐऌ֥ඔऌଆ,ѩିડቀఒြൌุ؟ეᇕCompiereඌეa૭ඍބᄝཌϺᇹ֥၂,ൌགྷြༀௐऌൻԛླ֥ؿଢѓb၂ᇕြༀௐऌ۬ൔ֥၂ഡ࠹,ಖު۴ऌြༀઆࠠՖCompiereູఒြൌุิ܂ਔປᆜ֥ௐऌൻԛۿြༀ൪ᇏ࿊ᄴඔऌ,ѩࢲކཌྷܱეᇕྐ༏ളӮ҂ეᇕௐऌ֥ϱ૫ଽಸ∀֥ٚൔࠧॖb൬۠ರ௹:2011 03 231 ௐऌြༀଆٳ༅ࠎࣁཛଢ:内蒙古财经学院a日本株式会社 !CompiereERP多语种版本研发合作基金项目(20100603؟ეᇕြༀௐऌؓြༀචٚERP༢֥ြༀੀ)ቔᆀࡥࢺ:包海山(1965-),男,硕士,副教授b研究方向:ӱaྐ༏ؓӫྟิԛਔ۷֥ۚေbႭః൞ರЧఒြERPaCRMa多语种电子商务系统的研发a业务集成a管理及ສটြༀᇏႨ֥ௐऌܿٓఊಆ,๙ႨௐऌᇶေႵ:教学b!見積依頼書(询价单)a見積書(报价单)a注文書www d27ianzikeji org
ླྀၰ ෘمٟࠣᆇ包海山,等:基于CompiereERP多语种业务票据数据模型设计[発注](采购订单)a注文書[受注](销售订单)a納ؿྛ֥ؿௐ,ଢభ۲ఒြࢠູ๙Ⴈ֥؟်૫ؿௐൻԛℼ(ࢌࠊֆ)a貨物受取書(收货单)a請求書[仕入ིݔࠣඔऌཛྐ༏/໓Ч֥ࢳ༅ೂ2෮ൕb༵](܂ႋഅؿௐ)a請求書[顧客](顾客发票)∀等ؿௐൻԛ۬ൔᇶေหׄބླ݂ବೂ༯:֩,၂ҐႨA4ږ૫ൻԛ[3]bᆃུௐऌཌྷᆭࡗ֥ඔऌটჷپڶaઆܱࠠ༢گᄖbؿௐ൞๙Ⴈௐऌܱ༢ࠣERPြༀੀӱೂ1෮ൕbᇏઆࠠࢲܒቋگᄖ֥၂۱,ႮHeaderaContentaFooter۱თቆӮbఃᇏ,HeaderaFooterთᇏ֥ඔऌཛྐ༏টሱC_Invoiceඔऌіࠣაఃܱ৳֥18۱ඔऌі,طContentთᇏ֥ඔऌཛྐ༏টሱC_InvoiceLineaC_InvoiceTaxਆ۱ඔऌіࠣაఃܱ৳֥21۱ඔऌі,ᆃུඔऌі۴ऌြༀઆࠠᆰࢤࠇࡗࢤ৵ࢤളӮگᄖ֥ؿௐြༀ൪bૄ۱ඔऌཛႮުOracleඔऌ९οြༀ൪ܒᄯඔऌіܱ৳ٚൔളӮ,ಖުᄝCompiereඔऌሳׅ֨ѩ๙ݖ!ൻԛ۬ൔ∀Ғֆ࿊aஆѩႋഡᇂ်૫ק໊aሳุሳሳݼ֩ൻԛඋྟbૼ༥ণ؟်૫ൻԛൡႋྟbؿௐଽళ֥ૼ༥ণૄ်ൻԛ20ྛ࠺ඔऌଽಸ,֒ૼ༥ণଽಸӑݖ图၂်ൈ,༢ႋିܔሱൻԛᄝ༯၂်֥ཌྷႋ໊ᇂ1 日本企业ERP业务票据及流程ഈ,ѩЌӻඔऌ֥ປᆜྟބൻԛݼ֥৵࿃ྟbЧ໓ၛ࣮ބഡ࠹!請求書[顧客]∀(中文!顾客֒ؿௐࠣఃૼ༥ণᇏଖඔऌཛྐ༏ູॢൈ,҂ିؿௐ∀)ြༀ൪ູ২ᅚषંඍbರЧીႵݓࡅ၂႕ཙ༯၂ཛྐ༏֥ᆞಒק໊ބൻԛb图2 用CompiereERP设计的通用发票输出格式2 ြༀඔऌଆٳ༅აഡ࠹ིੱູഈ:ᄝЌᆣઆࠠᆞಒ֥భิ༯,ၛ҂ࢆ֮ඔऌ९٠໙ིੱູഡ࠹ଢѓb2 1 ٳ༅აഡ࠹ჰᄵඔऌ९৫:ྟඔऌ९৫൞ႋႨೈࡱؿᅚ֥с๙Ⴈྟbඔऌ࿊ᄴۿିބݓ࠽߄ഡ࠹ႋડቀ۲ᇕಖ൝,CompiereERP๙ݖඔऌሳׅඌൌགྷਔఒြြༀඔऌଆᇏඔऌ֥๙Ⴈྟჰᄵbඔऌ९֥ཌྷؓ৫,ྟ෮ၛြༀ൪આࠠഡ࠹ൈႋх28www dianzikeji org
包海山,等:基于CompiereERP多语种业务票据数据模型设计ླྀၰ ෘمٟࠣᆇ૧Ⴈଖ۱ඔऌ९ϱЧህႨ֥؋ეaݦඔބઆࠠᄎෘb##࿊ᄴളӮ֥bၹՎ,Чཛଢࢲކ๙Ⴈؿௐ۬ൔ෮2 2 ြༀඔऌଆٳ༅აᇗܒླ۲ඔऌཛটჷᇗྍഡ࠹ਔCompiere֥ؿௐြༀ൪,CompiereҐႨؓའܱ༢ඔऌଆ,ࠎႿުѩᄝြༀ൪Էࡹეओᇏܒᄯԛཌྷႋ֥ඔऌі৵ࢤઆORDBMS֥Oracle༢ܵఒြြༀੀӱᇏ֥۲ᇕඔࠠބඔऌཛ࿊ᄴઆࠠ,Ќᆣඔऌটჷ֥Ⴕིྟbऌ,ၹՎ൮༵ࡼERP༢ᇏ෮ླൌุᆭࡗհሸگᄖ2 2 1 ᇶေඔऌཛ֥ඔऌটჷٳ༅֥৳༢ႨE-R૭ඍູܱ༢ඔऌଆ,ಖުᄝӻࣲՖ2෮ൕؿௐ֥ଽಸܒӮაٳ༅CompiereิҪሇ߄ӮO/R႘ഝѩ֝ԛູ࣡ࠇJavaBeanb܂֥ြༀ൪આࠠބඔऌሳׅ,ؿགྷ༯ਙඔऌཛCompiere3 0 3cປᆜϱิ܂֥ඔऌ९Їݣ739۱ؓႋ֥ඔऌіીႵ৵ࢤ֞๙Ⴈؿௐြༀ൪,෮ၛ൮ඔऌі,۲ᇕௐऌ෮ླඔऌ൞๙ݖSQL99ѓሙԷࡹཌྷ༵๙ݖі1ᇏٳ༅ૌ۲ሱ֥ඔऌটჷbູ၂ܤग़ႋ֥ऎСඔऌі৵ࢤa႕ބ࿊ᄴۿି֥ြༀ൪Էؿௐބ܂ႋഅؿௐ֥ଽಸa۬ൔ,ھіؓбਙԛਔਆࡹეओCREATEORREPLACEVIEW##ASSELECTᇕؿௐᇏؓႋ֥ᇶေඔऌཛࠣఃটჷඔऌіbі1 CompiereඔऌሳׅᇏླളӮ֥ᇶေඔऌཛྍᄹཛଢCompiereඔऌሳׅᇏඔऌཛ෮ᄝ֥CompiereඔऌіࠣљקၬൻԛთোљӫླളӮ֥ඔऌཛӫఒြൌุ(ܤग़ؿௐ)ြༀࠄϴ(܂ႋഅؿௐ)OrgFirstNameAD_UserbpcՎཛྐ༏OrgLastNameمದսіFirstNameC_BPartnerbpAD_User৳༢ContactNameAD_UserorC_BPartnerٚൔOrgPhoneAD_UserՎཛྐ༏߅ݼPhoneՎཛྐ༏AD_UserorC_BPartner_LocationHeaderOrgFaxAD_UserՎཛྐ༏ԮᆇݼFaxՎཛྐ༏AD_UserorC_BPartner_LocationࠊлӫISO_CodeࠊлC_Currencyccࠊлࣚ؇StrPrecision߸ሹᅼ२ཬ࠹DiscountAmtTotalՖC_InvoiceLineil࿊ᄴཌྷႋଽಸѩࣜіղൔᄎෘളӮඥॻކ࠹TaxAmtTotalՖC_InvoiceTaxit࿊ᄴཌྷႋଽಸѩࣜіղൔᄎෘളӮၿྛӫBankNameᅬোљBankAccountTypeၿྛC_BankAccountbkaᅬᅬݼAccountNOC_BP_BankAccountbpbkaFooterᅬোBranchNameᅬӫAccountNameC_BankAccountDocbkad2 2 2 ؿௐඔऌଆᇗܒID),ࡼC_BPartnerඔऌіᇏᇶC_BPartner_IDᆴ֩CompiereႨট૭ඍѩളӮؿௐࢲܒ֥ြༀ൪൞ႿC_InvoiceඔऌіᇏຓC_BPartner_IDᆴ֥ପ่࠺VIEW_C_INVOICE_HEADER_VbၛC_Invoiceඔऌ࿊ᄴԛট,ࠧॖ౼֤ြༀࠄϴ֥ӫbіູࠎԤ,ѩοຸ၂ྟٚൔᆰࢤࠇࡗࢤ৵ࢤ؟۱ඔऌᄜ๙ݖࡼC_BPartner_Location(љbpl)৵ࢤ֞іളӮ෮ླ۲ඔऌཛbೂ,ܤग़ؿௐᇏြༀࠄϴ(ܤC_BPartner֥ଽ৵ࢤJOIN؋ე:ग़ࠇսഅ)֥ӫྐ༏ᄝC_BPartnerඔऌіᇏ,طINNERJOINC_BPartner_LocationbplON(bp ཌྷႋֹ֥ᆶྐ༏ᄝC_BPartner_LocationඔऌіᇏbၹC_BPartner_Location_ID=bpl C_BPartner_Location_ID),Վ,ູਔ࿊ᄴԛ֒భؿௐᇏ֥ြༀࠄϴ֥ӫބֹᆶࡼC_BPartner_LocationඔऌіᇏᇶC_BPartner_ྐ༏,൮༵๙ݖࡼC_BPartner(љbp)৵ࢤ֞Location_IDᆴ֩ႿC_BPartnerඔऌіᇏຓC_Invoice(љi)֥ଽ৵ࢤJOIN؋ე:INNERJOINC_BPartner_Location_IDᆴ֥ପ่࠺࿊ᄴԛট,ࠧॖC_BPartnerbpON(i C_BPartner_ID=bp C_BPartner_౼֤ြༀࠄϴֹᆶྐ༏֩bwww d29ianzikeji org
ླྀၰ ෘمٟࠣᆇ包海山,等:基于CompiereERP多语种业务票据数据模型设计ᄝՎࠎԤഈ,ॖၛοྍᄹ֥۲۱ඔऌཛളӮ่ࡱ֥ြༀ൪,ೂ3෮ൕb৵ࢤ෮උඔऌіѩ࿊Ⴈଽళ֥ૼ༥ඔऌіളӮݓ࠽߄图3 重构发票业务数据模型(COMPIERE C_INVOICE_HEADER_V)2 2 3 ؿௐૼ༥ণ֥ඔऌଆᇗܒြༀ൪,Фؿௐൻԛ۬ൔקၬੀӱטႨ,൞ູؿCompiereႨট૭ඍѩӁളؿௐૼ༥ণ֥ြༀ൪ௐݏൻԛૼ༥ণิ܂ඔऌі࠺֥ြༀ൪,ࣜݖ൞VIEW_C_INVOICE_LINETAX_Vb൞৫Ⴟؿௐᇗܒ֥ြༀ൪ೂ4෮ൕb图4 重构发票明细栏业务数据模型(COMPIERE C_INVOICE_LINETAX_V)30www dianzikeji org
包海山,等:基于CompiereERP多语种业务票据数据模型设计ླྀၰ ෘمٟࠣᆇ ֒ླေູૼ༥ণᇏൻԛ֥ࠊлᆴҐႨѓሙࣚ؇ FROM(SELECTbka C_BankAccount_ID,!ඹചೆ∀טᆜൈ,๙ݖC_Invoiceඔऌіᄝbka AD_Client_ID,o AD_Org_IDC_InvoiceLineඔऌіࡗࢤֹ৵ࢤC_Currencyඔऌі, FROMC_BankAccountbka,AD_OrgoಖުࣼॖၛࡼISO_CodeaStrPrecisionඔऌཛҬೆ֞ඔ WHEREbka AD_Client_ID=o AD_Client_IDऌཛਙіѩॖၛᄝіղൔᇏႄႨૌbൈߎေᄝૄ ANDbka AD_Org_ID=0ANDbka IsActive=၂۱๙ݖUNIONᄎෘ৵ࢤ֥ඔऌіᇏඔऌཛਙіؓY''ANDbka IsDefault=Y''ႋ໊ᇂҬೆඔऌཛࠇNULL(ೂݔުᆀ҂թᄝཌྷ UNIONႋ֥ඔऌཛ),ၛЌᆣUNIONᄎෘᇏഈ༯ඔऌі۲ඔ SELECTbka C_BankAccount_ID,bka ऌཛඔਈaোaඨ֥bਸ਼ຓ,֒҂ླေᄝૼAD_Client_ID,bka AD_Org_ID༥ণଌແൻԛྛݼ9998֥ॢ࠺ބྛݼ9999֥Tax FROMC_BankAccountbkaࡆ࠺ྛൈ,ࡼᆃུUNIONᄎෘ(4༯؊Ⴈྴཌ WHEREbka AD_Org_ID<>0ANDॿѓൕ֥3۱ඔऌі)౼ཨࠧॖbbka IsActive=Y''ANDbka IsDefault=Y')' GROUPBYAD_Client_ID,AD_Org_ID)mbka3 ြༀඔऌଆ֥ඔऌ९ൌགྷWHEREobka C_BankAccount_ID=mbka 3 1 ഡ࠹C_INVOICE_HEADER_V֥ြༀඔऌଆC_BankAccount_ID)bkaON(i AD_Org_ID=bka ఓၘᇿҨ֥OSqlEdi,tյषowner:CompiereOrg_ID)|type:VIEW|filter:INVOICE,ಖު๙ݖVIEWোර,ֹᄝ܂ႋഅؿௐᇏ,܂ႋഅิ܂֥၂۱ᄝਙіᇏ֥C_INVOICE_HEADER_Vյष!Create/EditႨၿྛᅬྐ༏္൞Ⴎഈඍ5۱ඔऌཛቆӮ,ᆃུྐObjectSource∀,ᄝCOMPIERE C_INVOICE_HEADER༏ᄝC_BP_BankAccountඔऌіᇏbູՎ,൮༵ླေ_VᇏٳљҬೆႮ༯ਙSQL99ѓሙіղൔקၬ֥ඔऌᄝC_Invoice৵ࢤཌྷႋඔऌіႨၛളӮഈඍ5۱ඔऌཛ,ડቀؿௐᇏ෮Ⴕြༀྐ༏֥ൻԛླေb༯૫๙ݖཛ֥JOIN؋ეೂ༯:ၿྛᅬྐ༏a৳༢ٚൔਆቆඔऌູ২,ؓြༀଆLEFTOUTERJOINC_BP_BankAccountbpbkaONᇏြༀྐ༏ࣉྛઆࠠഡ࠹b(bp C_BPartner_ID=bpbka C_BPartner_IDANDbpb 3 1 1 ၿྛᅬྐ༏֥આࠠഡ࠹ka IsActive=Y')'ؿௐᇏླေ֥ఒြൌุၿྛᅬྐ༏ॖႮູ၂ఒြൌุބြༀࠄϴ֥ၿྛᅬྐ༏֥ଁBankNameaAccountNameaAccountNoaBranchNamea,ႄೆi IsSOTrx(൞ڎཧ൲ြༀ)ሑ؎ࠏᇅ:BankAccountTypeඔऌཛ֥ቆކຸ၂ֹіൕԛট,ط֒i IsSOTrx=Y'ൈ',ູܤग़ؿௐ,ႋൻԛఒြൌุ֥ᆃུඔऌཛٳљթ٢ᄝC_BankaC_BankAccountaၿྛᅬྐ༏;ڎᄵູ܂ႋഅؿௐ,ႋൻԛ܂ႋഅ֥C_BankAccountTypeҪඔऌіᇏbႮႿࣜႏଆൔ֥ၿྛᅬྐ༏b҂,ఒြൌุ֥ၿྛᅬႵ؟ᇕॖ,ିളӮჰᄵ(1)BankName֥SQLіղൔ:ູ:ೂݔթᄝ֒భOrganizationႵ၂۱ࠇ؟۱৫CASEWHENi IsSOTrx=Y''THENbka C_Bank_֥ᅬ,ࣼൻԛఃᇏᄝႨყഡູଏಪ֥ᅬ;ڎᄵIDELSEbpbka C_Bank_IDENDASC_Bank_ID(֒భOrganizationູࠧClientЧദ,ࠇ֒భ(2)AccountName֥SQLіղൔ:OrganizationીႵ৫ᅬ)ൻԛClient֥ᄝႨყഡCASEWHENi IsSOTrx=Y''ູଏಪ֥ᅬb֒թᄝ؟۱ଏಪᅬൈൻԛᅬݼቋն THEN(SELECTbkad NameFROMC_BankAc ᆀ;ၿྛᅬྐ༏ીႵ֨ᄵοၿྛྐ༏ູॢԩcountDocbkadbູՎ,൮༵ླေᄝC_Invoiceഈ৵ࢤളӮඔ WHEREi AD_Org_ID=bkad AD_Org_IDANDऌіbka֥JOIN؋ეೂ༯:bka C_BankAccount_ID=bkad C_BankAccount_ID)LEFTOUTERJOIN ELSEbpbka A_Name (SELECTobka *,mbka AD_Org_IDENDASAccountNameasOrg_IDႨোර֥ٚم,ࠧॖഡ࠹ԛAccountNoaBranch FROM(BankAccountobka,NameބBankAccountType֥SQLіղൔb (SELECTmax(C_BankAccount_ID)as3 1 2 ৳༢ٚൔ֥આࠠഡ࠹C_BankAccount_ID,AD_Client_ID,AD_Org_ID৳༢ٚൔContactଽಸَᄖ,ఃᇏႯщֹᆶ۬ൔawww d31ianzikeji org
ླྀၰ ෘمٟࠣᆇ包海山,等:基于CompiereERP多语种业务票据数据模型设计Phoneਆཛ֥SQLіղൔ൞ܱbcc C_Currency_ID)(1)Ⴏщֹᆶ۬ൔ:ᄝᇶҒֆMenu֥General ᆃဢ,ࣼॖၛᄝC_INVOICE_LINETAX_VᇏؓটሱRule/SystemRule/CountryRegionAndCityᇏࡼЧݓؓႋC_InvoiceLine֥ࠊлൻԛඔऌཛ(ೂ,ؿௐૼ༥ণࣁح֥AddressPrintFormatཛൻԛ۬ൔοླڿэࠧॖbೂ,LineNetAmt)ᆴοఃѓሙࣚ؇ࣉྛ!ඹചೆ∀טᆜਔbCompiereഡ࠹֥ರЧႯщֹᆶ۬ൔູROUND(CASEWHENil LineNetAmt<>0OR@P@-@A@\n@R@\n@C@il M_Product_IDISNOTNULLіൕႯщ(@P@-@A@,ఃᇏP,໊Aඹ໊),߭ THENil LineNetAmtӚ(\n),֡کཅ(@R@),߭Ӛ(\n),൧᩸ը END,cc StdPrecision)(@C@)bᄝWebApplicationϱЧᇏॖοႯщሱӁASLineNetAmtള֞ࢧ֡ݼ(Address1)ູᆸ,ࡆഈఒြൌุሱ࠭щܒᄯປഈඍਆ۱ြༀ൪ᇏ෮Ⴕြༀྐ༏֥આࠠࠠੌݼ-இݼ(Address2),܋ൻԛ5ྛႯщֹᆶྐ໓Ч,ѩႨOSqlEdit֩۽ऎҩ൫๙ݖުᄝ༏bႮႿರЧ๙ႨؿௐᇏࡼႯщa֡کཅބ൧᩸COMPIERE C_INVOICE_HEADER_VTބCOMPIERE ըൻԛᄝ၂ྛ,෮ၛླေࡼఃᇏ֥ਆ۱߭ӚಀוbC_INVOICE_LINETAX_VTਆ۱ြༀ൪ᇏཌྷႋ໊ᇂ္(2)߅ݼPhone֥SQLіղൔ:ြༀࠄϴ֥ႋഡ࠹ཌྷଽಸ֥આࠠ໓Ч,Ќᆣݓ࠽߄ეߌᇏ߅ݼটჷႵ5۱,οܸ২ஆਙ֥Ⴊ༵ඨູඌე҄ԩ֥ᆞಒྟbAD_Userඔऌі(љbpc)ᇏ֥PhoneaPhone2a4 ࢲඏეPhone3ބC_BPartner_Locationඔऌіᇏ֥PhoneaPhone2bھਆ۱ඔऌіၘࣜ৵ࢤᄝC_Invoiceު,෮֒ഡ࠹Ӯۿؿௐ֥ൻԛ۬ൔѩဒᆣ༂ު,ఒြၛᄝOracle10gᇏᆰࢤളӮPhone֥іղൔູ:ൌุࣼॖၛ০ႨCompiere༢಼ྟഡ࠹หׄࡥ߄षCOALESCE(bpc Phone,bpc Phone2,bpc Phone3,ؿݖӱa၂ௐऌ۬ൔbೂ,๙ݖ༢ൻԛ۬ൔקၬbpl Phone,bpl Phone2)ASPhoneࠧॖb൞Oracle8i֝ԛ֝ೆඔऌ֥ۿ,ିࡼܤग़ؿௐ֥ൻԛ۬ൔקၬіၛ༯ϱЧބPostgreSQL֩ඔऌ९҂ᆦӻCOALESCE csv໓ࡱگᇅѩႨExcelщູࠠ܂ႋഅؿௐࠇԛ९aݦඔ,෮ၛࠎႿOracle8iࠇPostgreSQLඔऌ९֥ఒြࢌࠊaࢤࠊಒಪaೆ९֥֩؟ᇕInOutૼ༥ণ֥ൻԛൌุCompiereြༀؿௐᇏളӮPhone֥іղൔႋഡ࠹۬ൔקၬਙ,֝ೆ֞Compiere༢ᇏࣼॖၛഡ࠹ູ:ཌྷႋ֥ௐऌ۬ൔѩൻԛbಖ,ު๙ݖ֝ೆაರ໓ეNVL(bpc Phone,NVL(bpc Phone2,NVLЇཌྷ֥ᇏ໓ეЇ,ѩ๙ݖᇏ໓֨༢,ࠧॖ(bpc Phone3,NVL(bpl Phone,bpl Phone2))))ൻԛཌྷႋ֥ᇏ໓ௐऌbASPhoneЧཛଢࢳथਔݓଽຓᇏཬఒြ֥؟ეᇕௐऌൻԛᆃᇕళส࿊ᄴ֥іղൔෙಖིੱ,֮ॖၛࢳथླ,ѩၘႋႨႿರЧaݓଽ؟ࡅఒြ֥ॴݓြༀbඔऌ९৫ྟ໙ีbࡼྍളӮ֥෮Ⴕඔऌཛเࡆ֞ؿݓଽᇏཬੀ๙ြaڛༀြaᇅᄯြᄝൌീCompiereௐြༀ൪֥SELECTඔऌཛਙіᇏbൈ,္ॖၛҐႨഈඍනਫ਼ؓ؟ეᇕௐऌြༀ൪ࣉྛ3 2 ഡ࠹C_INVOICE_LINETAX_V֥ြༀ൪આࠠݓ࠽߄aग़߄קᇅषؿ,ൌགྷݓ࠽߄ြༀ֥ധೆaᄝOsqlEditщࠠߌᇏ,ႷࠌC_INVOICE_LINE ӻࣲषᅚଢѓbTAX_Vѩ࿊ᄴ!Create/EditObjectSource∀յषఃြༀ൪ჷCOMPIERE Cҕॉ໓ང_INVOICE_LINETAX_V,ᄹഡSQLіղൔקၬ֥JOIN৵ࢤ؋ეೂ༯:[1] ࠝರଡ⯥.Compiere∀⻎現#∃低%!&/短納期開発INNERJOINC_InvoiceiON(i C_Invoice_ID=[J].(ರЧ)Ọࣘ:∋()∗✣ +(JavaWorld),2006,10(8): C_Invoice_IDANDil M_Product_IDISNOTNULL)ᆃဢ,ؓႿૄ၂۱C_InvoiceLine(ሰі[2] ),ႵࣇႵ၂۱oftheSmallandMediumManufacturingEnterprises[C].C_Invoice౨(ڳі),طؓႿૄ၂۱ؿௐႵࣇႵ၂۱ࢲෘࠊл2010SecondInternationalConferenceonCommunicationC_Currency_ID,෮ၛ๙ݖSystems,NetworksandApplications,_InvoiceࡼC_Currencyࡗࢤ৵ࢤ֞C_InvoiceLine֥[3] Պఔ約書書式文例集.請求書,書式−書.方[EB/JOIN؋ეೂ༯:OL].(2009-09-18)[2011-02-16]_CurrencyccON(i C_Currency_ID= dianzikeji org