details: https://code.openbravo.com/erp/devel/pi/rev/d4708d99d1bb changeset: 19015:d4708d99d1bb user: Ioritz Cia <ioritz.cia <at> openbravo.com> date: Mon Dec 10 13:48:42 2012 +0100 summary: Fixes issue 22495: Generate invoices fails when selecting a lot of orders.
details: https://code.openbravo.com/erp/devel/pi/rev/b8adf9e3f452 changeset: 19016:b8adf9e3f452 user: Ioritz Cia <ioritz.cia <at> openbravo.com> date: Tue Dec 11 12:22:35 2012 +0100 summary: Fixes issue 21980: 'Fully paid documents' Commissions. Commission defined as Basis Status 'Fully Paid Documents' should consider payment date (instead of document date). diffstat: src-db/database/model/functions/C_COMMISSION_PROCESS.xml | 14 +++++++++++--- src-db/database/model/functions/C_INVOICE_CREATE.xml | 14 +++++++------- 2 files changed, 18 insertions(+), 10 deletions(-) diffs (75 lines): diff -r af172edc22e2 -r b8adf9e3f452 src-db/database/model/functions/C_COMMISSION_PROCESS.xml --- a/src-db/database/model/functions/C_COMMISSION_PROCESS.xml Wed Dec 12 13:23:08 2012 +0100 +++ b/src-db/database/model/functions/C_COMMISSION_PROCESS.xml Tue Dec 11 12:22:35 2012 +0100 @@ -271,11 +271,19 @@ || 'FROM C_Invoice h JOIN C_InvoiceLine l ON h.C_Invoice_ID = l.C_Invoice_ID' || ' JOIN c_doctype dt ON h.c_doctype_id = dt.c_doctype_id '; END IF; + IF (v_BasisStatus='F') THEN + v_Cmd:= v_Cmd || ' left join fin_payment_sched_inv_v psv ON psv.C_Invoice_ID = h.C_Invoice_ID '; + END IF; v_Cmd := v_Cmd || ' WHERE h.DocStatus IN (''CL'',''CO'')' || ' AND h.ISSOTRX = ''Y''' - || ' AND h.AD_Client_ID = '':1''' - || ' AND h.DateInvoiced >= to_date('':2'')' - || ' AND h.DateInvoiced < to_date('':3'') +1'; + || ' AND h.AD_Client_ID = '':1'''; + IF (v_BasisStatus='F') THEN + v_Cmd:= v_Cmd || ' AND psv.LastPayment >= to_date('':2'')' + || ' AND psv.LastPayment < to_date('':3'') +1'; + ELSE + v_Cmd:= v_Cmd || ' AND h.DateInvoiced >= to_date('':2'')' + || ' AND h.DateInvoiced < to_date('':3'') +1'; + END IF; -- Order Basis ELSE IF(v_ListDetails='Y') THEN diff -r af172edc22e2 -r b8adf9e3f452 src-db/database/model/functions/C_INVOICE_CREATE.xml --- a/src-db/database/model/functions/C_INVOICE_CREATE.xml Wed Dec 12 13:23:08 2012 +0100 +++ b/src-db/database/model/functions/C_INVOICE_CREATE.xml Tue Dec 11 12:22:35 2012 +0100 @@ -693,10 +693,10 @@ FROM C_INVOICE WHERE C_INVOICE_ID = p_Invoice_ID; IF(v_Message_Check <= 10) THEN - v_Message:=v_Message||', '||'@InvoiceDocumentno@ ' || v_DocumentNo; + v_Message:=SUBSTR(v_Message||', '||'@InvoiceDocumentno@ ' || v_DocumentNo, 0, 2000); ELSE IF(v_Message_Check = 11) THEN - v_Message :=v_Message ||' @InvoiceNumberCheck@'; + v_Message :=SUBSTR(v_Message ||' @InvoiceNumberCheck@', 0, 2000); END IF; END IF; v_Message_Check := v_Message_Check+1; @@ -1109,9 +1109,9 @@ v_LineNo:=0; v_InOut_ID:='-1'; IF(v_Message NOT LIKE '%@InvoiceDocumentno@%') THEN - v_Message:=v_Message||', '||'@InvoiceDocumentno@ ' || v_DocumentNo; + v_Message:=SUBSTR(v_Message||', '||'@InvoiceDocumentno@ ' || v_DocumentNo, 0, 2000); ELSE - v_Message:=v_Message||', '|| v_DocumentNo; + v_Message:=SUBSTR(v_Message||', '|| v_DocumentNo, 0, 2000); END IF; END IF; ELSIF (v_isfinaldoctype = 'N') THEN --If docType is not a final one update it @@ -1231,9 +1231,9 @@ WHERE C_INVOICE_ID = p_Invoice_ID; IF(v_Message NOT LIKE '%'||v_DocumentNo||'%') THEN IF(v_Message NOT LIKE '%@InvoiceDocumentno@%') THEN - v_Message:=v_Message||', '||'@InvoiceDocumentno@ ' || v_DocumentNo; + v_Message:=SUBSTR(v_Message||', '||'@InvoiceDocumentno@ ' || v_DocumentNo, 0, 2000); ELSE - v_Message:=v_Message||', '|| v_DocumentNo; + v_Message:=SUBSTR(v_Message||', '|| v_DocumentNo, 0, 2000); END IF; END IF; END IF; @@ -1242,7 +1242,7 @@ END; -- Block END IF; -- PInstance not null --<<FINISH_PROCESS>> - v_Message:='@Created@: ' || v_NoRecords||v_Message; + v_Message:=SUBSTR('@Created@: ' || v_NoRecords||v_Message, 0, 2000); IF(p_PInstance_ID IS NOT NULL) THEN -- Update AD_PInstance DBMS_OUTPUT.PUT_LINE('Updating PInstance - Finished ' || v_Message) ; ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ Openbravo-commits mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbravo-commits
