[roles] pi merge
authorAsier Lostalé <asier.lostale@openbravo.com>
Thu, 26 Jan 2012 09:16:54 +0100
changeset 15313 80f8d230d189
parent 15312 ba9cd0dc46d9 (current diff)
parent 15229 1d21ce53b5f6 (diff)
child 15314 233ce3dd08cd
[roles] pi merge
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFieldHandler.java
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js
src-db/database/sourcedata/AD_COLUMN.xml
src-db/database/sourcedata/AD_ELEMENT.xml
src-db/database/sourcedata/AD_FIELD.xml
src-db/database/sourcedata/AD_TAB.xml
src-db/database/sourcedata/AD_TABLE.xml
src-db/database/sourcedata/AD_VAL_RULE.xml
--- a/.hgsigs	Wed Jan 25 23:47:42 2012 -0600
+++ b/.hgsigs	Thu Jan 26 09:16:54 2012 +0100
@@ -49,3 +49,9 @@
 d6c9101ee9cc4436d57c65ad0520ec8b24917ef0 0 iEYEABECAAYFAk7ClYYACgkQCX/oGf+2qkMNfgCeN69iKR3vkIoXrebAjrJVMGsmlIoAmwRui8P5+KqWtxgz2idZtgDNROdL
 e3386a2cd54020855bb2b3efa1c0afcfdf30a2b4 0 iEYEABECAAYFAk67/uoACgkQCX/oGf+2qkPXfQCg3lQiuBbJnVsPfnL8LWukEVG5CsIAoKsRfoVp93C1SY2N0iMl1LqT7CmB
 9bb62accddbd9114aa4562816ab5b0234b01b1fa 0 iEYEABECAAYFAk7Gf8IACgkQCX/oGf+2qkMwUACfbNSWszDOxciN14aA09Oe8da52TIAn3xc3Kgek0jmetz0q+lzPVxdAjjk
+1421ed09d86c5034375386393db18b2dc8866f77 0 iEYEABECAAYFAk7c/wQACgkQCX/oGf+2qkPZnwCfdfdLV/fHXKEXL0S+g9ip2PZuc5gAoL89Tv+s7FGS6g9HCfZSAkm76AF3
+29635597c9b7110b66a4cde8e0cb0ece277f7407 0 iEYEABECAAYFAk7l05YACgkQCX/oGf+2qkNbCACgoK+bQ83JFW2GQb4j+YBkkBkrMOYAoKDSHPagp61WCcrPkCS7IEtmVI0E
+bc63869ec25d6771e0b3d3b65ddd630873663fc2 0 iEYEABECAAYFAk7h3vAACgkQCX/oGf+2qkP/HwCgt39R5/w8cF35rRoORikICeXQuDYAn347sM4ST4OvagS5ke9c6whsBYud
+5bb9eb1d86194a2fcf8779d28ee7bb131c53f20d 0 iEYEABECAAYFAk8BnJcACgkQCX/oGf+2qkMN7wCg+wl5wJjx0Y60WgZq3PRlBi3T3OoAmQGlwF1vK52FNykjDiACN+7Xdzjh
+d034d0b54ffb6c401b3741be99d4237f82aa9d76 0 iEYEABECAAYFAk8EN/IACgkQCX/oGf+2qkMPzgCg/gXTYW5Vv9s02aG3VAi3lSvNiMwAn29/22CruqkJ9sTWkyA8lCChqk/r
+aa474df671aa2c3d4a16419479cf8098d5fbca82 0 iEYEABECAAYFAk8N8JAACgkQCX/oGf+2qkMFLACbB+b+pdKa0rd7O+ig6so/ETi1x0YAnRKPM91wMwdONWZ5AOazDoSj6h/c
--- a/.hgtags	Wed Jan 25 23:47:42 2012 -0600
+++ b/.hgtags	Thu Jan 26 09:16:54 2012 +0100
@@ -60,3 +60,9 @@
 4b9a007b2e863b7c914d50ca7abcabf4912c784b 3.0MP4.2
 bee1528a5966a4681a86ed0c9f7129f8f8818ab1 3.0MP5
 5752cade8b792f72e160c7b5870f03b3e5f8bd40 3.0MP5.1
+dae8c968fb85db1920332150543459a147e5fde3 3.0MP5.2
+efa17c6fbb3b286f790ea5b029b1f6fd2b1e5195 3.0MP5.3
+1b8d2b0f0c3f8af08af1d86f0f3f3c252319b0fa 3.0MP6
+5b449c72b2e674843a4f8949d34aa46e2fced9ea 3.0MP6.1
+5e317c1d2b1e4486fa345a5dd0ba3982e596c8cf 3.0MP7
+ed6c72ed7483eeb5a797ae9e1e7dd8775802a4eb 3.0MP7.1
--- a/legal/Licensing.txt	Wed Jan 25 23:47:42 2012 -0600
+++ b/legal/Licensing.txt	Thu Jan 26 09:16:54 2012 +0100
@@ -101,6 +101,7 @@
 # batik-xml.jar
 # catalina-ant.jar
 # commons-beanutils-1.8.3.jar
+# commons-betwixt-0.8.jar
 # commons-codec-1.5.jar
 # commons-collections-3.2.1.jar
 # commons-dbcp-1.4.jar
@@ -113,10 +114,12 @@
 # commons-pool-1.5.6.jar
 # fop.jar
 # google-collections.jar
+# jakarta-oro-2.0.8.jar
 # jettison-1.3.jar
 # log4j-1.2.16.jar
 # quartz-1.6.2.jar
 # tika-core-0.9.jar
+# wstx-asl-3.0.2.jar
 # xercesImpl.jar
 
 All files under Apache Software License 2.0, available at
@@ -167,7 +170,9 @@
 Under the CPL license (available at http://www.opensource.org/licenses/cpl1.0.php)
 
 # js.jar
+# ob-rhino-1.6R7.jar
 Under MPL/GPL License (available at https://developer.mozilla.org/en/Rhino_License)
+ob-rhino-1.6R7.jar is the same code as js.jar repackaged to be available under org.openbravo
 
 # javassist-3.14.0-GA.jar
 Under MPL License (included as MPL-1.1.txt in this folder)
@@ -233,11 +238,20 @@
 # shrinkwrap-spi-1.0.0-alpha-11.jar
 # validation-api-1.0.0.GA.jar
 # jsmin.0.2.4.jar
+# httpcore-4.0.1.jar
+# httpclient-4.0.jar
+# httpmime-4.1.jar
+# guice-2.0.jar
+# openid4java-0.9.6.jar
 Under the Apache 2.0 license (included as Apache_license-2.0.txt in this folder)
 
 # jslint4java-1.4.7.jar
 Under the New BSD license (available at http://www.opensource.org/licenses/bsd-license.php)
 
+# CSSMinimizer.java
+CSSMin Copyright License Agreement (BSD License), Copyright (c) 2011, Barry van Oudtshoorn
+The full license text is embedded within the CSSMinimizer.java file itself
+
 # org.openbravo.client.kernel
 LAB.min.js is available under the MIT license (available at
 http://www.opensource.org/licenses/mit-license.php)
@@ -247,6 +261,31 @@
 directory are licensed under the terms of the LGPL 3.0, available at
 http://www.gnu.org/licenses/lgpl-3.0.html
 
+# BigDecimal-all-1.0.1.min.js
+BigDecimal implementation in JavaScript under the ICU4J license which is available in the file ICU4J-1.3.1.txt in this folder or with more explanation at:
+https://github.com/dtrebbien/BigDecimal.js
+
+# scopeleaks.js
+# scopeleaks.min.js
+A modified version of scopeleaks by Rui Lopes available from https://github.com/ruidlopes/scopeleaks
+(The MIT License), Copyright © 2011 Rui Lopes
+The full license text is embedded within the scopeleaks.js file
+
+# benchmark.js
+Copyright 2010-2011 Mathias Bynens <http://mths.be/>
+Based on JSLitmus.js, copyright Robert Kieffer <http://broofa.com/>
+Modified by John-David Dalton <http://allyoucanleet.com/>
+Available under MIT license <http://mths.be/mit>
+
+# qunit.js
+http://docs.jquery.com/QUnit
+Copyright (c) 2011 John Resig, Jörn Zaefferer
+Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses.
+
+# web/org.openbravo.client.kernel/docs
+Beautiful documentation, dynamically generated from source code in the browser.
+From the code-illuminated project at: http://code.google.com/p/code-illuminated/, under the MPL 1.1
+
 The license files for this third party software are available in the legal
 folder of this distribution.
 
--- a/lib/README	Wed Jan 25 23:47:42 2012 -0600
+++ b/lib/README	Thu Jan 26 09:16:54 2012 +0100
@@ -1,3 +1,3 @@
 When adding or removing libraries to Openbravo ERP please update this page
 with your changes:
-http://wiki.openbravo.com/wiki/ERP/2.50/Openbravo_Libraries
+http://wiki.openbravo.com/wiki/Openbravo_Libraries
--- a/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -238,8 +238,10 @@
         FROM (
             SELECT line, percentage, onremainder, excludetax,
                    COALESCE(paymentrule, v_paymentrule) AS paymentrule,
-                   fixmonthday, fixmonthday2, fixmonthday3, netdays,
-                   fixmonthoffset, netday, isnextbusinessday
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday END) AS fixmonthday,
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday2 END) AS Fixmonthday2,
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday3 END) AS fixmonthday3,
+                   netdays, fixmonthoffset, netday, isnextbusinessday
             FROM c_paymenttermline
             WHERE c_paymentterm_id=v_paymentterm
               AND isactive = 'Y'
@@ -247,27 +249,37 @@
             -- Header of paymentTerm is processed at last
             SELECT 9999 AS line, 100 AS percentage, 'Y' AS onremainder, 'N' AS excludetax,
                    v_paymentRule AS paymentrule,
-                   fixmonthday, fixmonthday2, fixmonthday3, netdays,
-                   fixmonthoffset, netday, isnextbusinessday
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday END) AS fixmonthday,
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday2 END) AS Fixmonthday2,
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday3 END) AS fixmonthday3,
+                   netdays, fixmonthoffset, netday, isnextbusinessday
             FROM c_paymentterm
             WHERE c_paymentterm_id=v_paymentterm) a;
 
         FOR cur_payments IN (
             SELECT line, percentage, onremainder, excludetax,
-                   COALESCE(paymentrule, v_paymentrule) AS paymentrule,
-                   fixmonthday, fixmonthday2, fixmonthday3, netdays,
-                   fixmonthoffset, netday, isnextbusinessday
-            FROM c_paymenttermline
-            WHERE c_paymentterm_id=v_paymentterm
-              AND isactive = 'Y'
+                   COALESCE(cptl.paymentrule, v_paymentrule) AS paymentrule,
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday END) AS fixmonthday,
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday2 END) AS Fixmonthday2,
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday3 END) AS fixmonthday3,
+                   netdays, fixmonthoffset, netday, isnextbusinessday,
+                   COALESCE(cptl.fin_paymentmethod_id,c.fin_paymentmethod_id) as fin_paymentmethod_id
+            FROM c_paymenttermline cptl,c_invoice c
+            WHERE cptl.c_paymentterm_id=v_paymentterm
+              AND cptl.isactive = 'Y'
+              AND c_invoice_id = p_record_id
             UNION
             -- Header of paymentTerm is processed at last
             SELECT 9999 AS line, 100 AS percentage, 'Y' AS onremainder, 'N' AS excludetax,
                    v_paymentRule AS paymentrule,
-                   fixmonthday, fixmonthday2, fixmonthday3, netdays,
-                   fixmonthoffset, netday, isnextbusinessday
-            FROM c_paymentterm
-            WHERE c_paymentterm_id=v_paymentterm
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday END) AS fixmonthday,
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday2 END) AS Fixmonthday2,
+                   (CASE isduefixed WHEN 'N' THEN  null ELSE fixmonthday3 END) AS fixmonthday3,
+                   netdays, fixmonthoffset, netday, isnextbusinessday,
+                   c.fin_paymentmethod_id
+            FROM c_paymentterm cpt ,c_invoice c
+            WHERE cpt.c_paymentterm_id=v_paymentterm
+              AND c_invoice_id = p_record_id
             ORDER BY line
           )
         LOOP
@@ -305,7 +317,7 @@
             v_payment_schedule_invoice, v_client_id, v_org_id, 'Y',
             now(), p_user, now(), p_user,
             p_record_id, v_currency_id, null,
-            v_PaymentMethod,
+            cur_payments.fin_paymentmethod_id,
             v_scheduledamount, v_planneddate,
             v_scheduledamount, v_PaymentPriority
           );
--- a/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_ORD.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_ORD.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -38,6 +38,7 @@
 v_bpartner_id c_order.c_bpartner_id%TYPE;
 v_docSubType c_doctype.docsubtypeso%TYPE;
 v_PaymentPriority VARCHAR(32);
+v_count NUMBER;
 
 TYPE RECORD IS REF CURSOR;
 Cur_Params RECORD;
@@ -75,13 +76,25 @@
   FROM c_order
   WHERE c_order_id = p_record_id;
 
-  SELECT docsubtypeso
-  INTO v_docSubType
+  SELECT COALESCE(docsubtypeso, '---') INTO v_docSubType
   FROM c_doctype
   WHERE c_doctype_id = v_C_Doctype_ID;
   
-  IF(v_docSubType is null or v_docSubType not in ('OB', 'ON')) THEN
-    IF (p_docaction = 'CO') THEN
+  SELECT count(*) INTO v_count
+  FROM fin_payment_schedule
+  WHERE c_order_id = p_record_id
+    -- Migrated orders with related debt-payments have an additional fin_payment_schedule with the paid amount.
+    -- These additional fin_payment_schedules do not have fin_payment_scheduledetail records.
+    AND EXISTS (SELECT 1 FROM fin_payment_scheduledetail
+                WHERE fin_payment_schedule_order = fin_payment_schedule.fin_payment_schedule_id);
+  IF (v_count > 1) THEN
+    RAISE_APPLICATION_ERROR(-20000, '@APRM_Multiple_Payment_Schedules@');
+  END IF;
+  
+  IF(v_docSubType in ('OB', 'ON')) THEN
+    RETURN;
+  END IF;
+  IF (p_docaction = 'CO') THEN
     -- Checking Payment Method ID is available
     IF(v_paymentmethod_id IS NULL) THEN
       RAISE_APPLICATION_ERROR(-20000, '@APRM_PAYMENTMETHOD_MISSING@');
@@ -166,7 +179,6 @@
   ELSIF (p_docaction = 'RE') THEN
     -- check there is not any paid payment
     DECLARE
-      v_count NUMBER;
       Cur_PaymentScheduleDetail RECORD;
     BEGIN
       SELECT count(*) INTO v_count
@@ -200,22 +212,59 @@
   ELSIF (p_docaction = 'CL') THEN
     DECLARE
       v_difference NUMBER;
+      v_FinPaymentScheduleId VARCHAR2(32);
+      v_FinPaymentScheduleDetailId VARCHAR2(32);
+      v_psd_amt NUMBER;
     BEGIN
-      SELECT sum(amount) - v_grandtotal INTO v_difference
+      SELECT v_grandtotal - sum(amount) INTO v_difference
       FROM fin_payment_schedule
       WHERE c_order_id = p_record_id;
+
+      SELECT ps.fin_payment_schedule_id INTO v_finpaymentscheduleid
+      FROM fin_payment_schedule ps
+      WHERE ps.c_order_id=p_record_id
+        AND EXISTS (SELECT 1 FROM fin_payment_scheduledetail WHERE fin_payment_schedule_order = ps.fin_payment_schedule_id);
+
       IF (v_difference <> 0) THEN
-        UPDATE fin_payment_schedule
-        SET amount = amount - v_difference,
-        outstandingamt = outstandingamt - v_difference,
-        updated = now(),
-        updatedby = p_user
-        WHERE c_order_id = p_record_id
-          AND outstandingamt > v_difference;
+        --Get fin_payment_scheduledetail not related to payments nor invoices.
+        SELECT fin_payment_scheduledetail_id, amount
+          INTO v_finpaymentscheduledetailid, v_psd_amt
+        FROM fin_payment_scheduledetail
+        WHERE fin_payment_schedule_order = v_finpaymentscheduleid
+          AND fin_payment_schedule_invoice IS NULL
+          AND fin_payment_detail_id IS NULL;
+        IF (v_finpaymentscheduledetailid IS NOT NULL) THEN
+          --If exists a psd not related to any invoice nor invoice update its amount with the difference.
+          IF (v_psd_amt * -1 = v_difference) THEN
+            -- If amounts are equal we delete the psd
+            DELETE FROM fin_payment_scheduledetail
+            WHERE fin_payment_scheduledetail_id = v_finpaymentscheduledetailid;
+          ELSE 
+            UPDATE fin_payment_scheduledetail
+            SET amount = amount + v_difference
+            WHERE fin_payment_scheduledetail_id = v_finpaymentscheduledetailid;
+          END IF;
+        ELSE
+          -- If not exists a psd to update create one with the difference
+          INSERT INTO fin_payment_scheduledetail (
+              fin_payment_scheduledetail_id, ad_client_id, ad_org_id, isactive,
+              created, createdby, updated, updatedby,
+              fin_payment_detail_id, fin_payment_schedule_order, fin_payment_schedule_invoice,
+              amount, writeoffamt, iscanceled
+          ) VALUES (
+              get_uuid(), v_Client_ID, v_Org_ID,'Y',
+              now(), p_user, now(), p_user,
+              null, v_FinPaymentScheduleId, null,
+              v_difference, 0 ,'N'
+          );
+        END IF;
+        UPDATE fin_payment_schedule 
+        SET amount = amount + v_difference,
+            outstandingamt = outstandingamt + v_difference
+        WHERE fin_payment_schedule_id = v_FinPaymentScheduleId;
       END IF;
     END;
   END IF;
-  END IF;
 EXCEPTION
 WHEN OTHERS THEN
   DBMS_OUTPUT.PUT_LINE('APRM_GENERATE_PAYMENT_SCHEDULE exception: '|| v_ResultStr);
--- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -66,6 +66,17 @@
 <!--19D77522B7A4470FBA505D39A6AA051C-->  <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--19D77522B7A4470FBA505D39A6AA051C--></AD_MESSAGE>
 
+<!--1E8BFED210524080A7F8FE17D6C4DED1--><AD_MESSAGE>
+<!--1E8BFED210524080A7F8FE17D6C4DED1-->  <AD_MESSAGE_ID><![CDATA[1E8BFED210524080A7F8FE17D6C4DED1]]></AD_MESSAGE_ID>
+<!--1E8BFED210524080A7F8FE17D6C4DED1-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--1E8BFED210524080A7F8FE17D6C4DED1-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--1E8BFED210524080A7F8FE17D6C4DED1-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--1E8BFED210524080A7F8FE17D6C4DED1-->  <VALUE><![CDATA[APRM_Multiple_Payment_Schedules]]></VALUE>
+<!--1E8BFED210524080A7F8FE17D6C4DED1-->  <MSGTEXT><![CDATA[The order has more than one Payment Plan record with related Payment Plan details. Please contact your System Administrator to fix it.]]></MSGTEXT>
+<!--1E8BFED210524080A7F8FE17D6C4DED1-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--1E8BFED210524080A7F8FE17D6C4DED1-->  <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--1E8BFED210524080A7F8FE17D6C4DED1--></AD_MESSAGE>
+
 <!--1EB0D3A668784AF8A9133F066EDE6C44--><AD_MESSAGE>
 <!--1EB0D3A668784AF8A9133F066EDE6C44-->  <AD_MESSAGE_ID><![CDATA[1EB0D3A668784AF8A9133F066EDE6C44]]></AD_MESSAGE_ID>
 <!--1EB0D3A668784AF8A9133F066EDE6C44-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <NAME><![CDATA[Advanced Payables and Receivables Mngmt]]></NAME>
-<!--A918E3331C404B889D69AA9BFAFB23AC-->  <VERSION><![CDATA[3.0.14359]]></VERSION>
+<!--A918E3331C404B889D69AA9BFAFB23AC-->  <VERSION><![CDATA[3.0.15193]]></VERSION>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <DESCRIPTION><![CDATA[Managing your finances with an ERP does not have to be difficult. Enjoy a radically improved user experience that combines the power of an enterprise grade financial application with the simplicity and ease of a web 2.0 personal accounting service.]]></DESCRIPTION>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <HELP><![CDATA[Advanced Payables and Receivables Management simplifies and automates the business processes around the management of financial accounts, from the receipt and issue of payment, to the reconciliation of those events with bank statements.
 If you would like to help shape this module you are welcome to take part in the forum discussions or register feature requests or issues in the corresponding (Forum and Bug Tracking) sections in the Advanced Payables and Receivable project in the OB Forge.]]></HELP>
--- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <AD_DEPENDENT_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_DEPENDENT_MODULE_ID>
-<!--89326AE95DAD449D85DFAB2C5B1C6683-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--89326AE95DAD449D85DFAB2C5B1C6683-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Selector]]></DEPENDANT_MODULE_NAME>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--B97FC854C6DD41E692161585645A900F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--B97FC854C6DD41E692161585645A900F-->  <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--B97FC854C6DD41E692161585645A900F-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--B97FC854C6DD41E692161585645A900F-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--B97FC854C6DD41E692161585645A900F-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--B97FC854C6DD41E692161585645A900F-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--B97FC854C6DD41E692161585645A900F-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--B97FC854C6DD41E692161585645A900F-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TAB.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TAB.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -61,6 +61,7 @@
 <!--6707D7449A8D45DB851F608BA88329C8-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--6707D7449A8D45DB851F608BA88329C8-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--6707D7449A8D45DB851F608BA88329C8-->  <NAME><![CDATA[Payment Out Details]]></NAME>
+<!--6707D7449A8D45DB851F608BA88329C8-->  <HELP><![CDATA[Displays the details of the payments (pre-payments or regular payments) made for the order or for the invoice/s of the order.]]></HELP>
 <!--6707D7449A8D45DB851F608BA88329C8-->  <AD_TABLE_ID><![CDATA[DC63963AB3F1489BAAB5A9A7EFD1B407]]></AD_TABLE_ID>
 <!--6707D7449A8D45DB851F608BA88329C8-->  <AD_WINDOW_ID><![CDATA[181]]></AD_WINDOW_ID>
 <!--6707D7449A8D45DB851F608BA88329C8-->  <SEQNO><![CDATA[36]]></SEQNO>
@@ -141,7 +142,7 @@
 <!--A94442B27F664A41BF64735DFA76FB4D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A94442B27F664A41BF64735DFA76FB4D-->  <NAME><![CDATA[Payment Out Plan]]></NAME>
 <!--A94442B27F664A41BF64735DFA76FB4D-->  <DESCRIPTION><![CDATA[List of scheduled payments in expected against a particular invoice and payment in plan associated with that invoice.]]></DESCRIPTION>
-<!--A94442B27F664A41BF64735DFA76FB4D-->  <HELP><![CDATA[List of scheduled payments in expected against a particular invoice and payment in plan associated with that invoice.]]></HELP>
+<!--A94442B27F664A41BF64735DFA76FB4D-->  <HELP><![CDATA[List of the scheduled payments expected against the invoice.]]></HELP>
 <!--A94442B27F664A41BF64735DFA76FB4D-->  <AD_TABLE_ID><![CDATA[77182DC88AA842D499C01FB0BAE39561]]></AD_TABLE_ID>
 <!--A94442B27F664A41BF64735DFA76FB4D-->  <AD_WINDOW_ID><![CDATA[183]]></AD_WINDOW_ID>
 <!--A94442B27F664A41BF64735DFA76FB4D-->  <SEQNO><![CDATA[32]]></SEQNO>
@@ -167,6 +168,7 @@
 <!--B82C02920AA84E8DB57D553185BD2F06-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--B82C02920AA84E8DB57D553185BD2F06-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--B82C02920AA84E8DB57D553185BD2F06-->  <NAME><![CDATA[Payment In Details]]></NAME>
+<!--B82C02920AA84E8DB57D553185BD2F06-->  <HELP><![CDATA[Displays the details of the payments (pre-payments or regular payments) received for the order or for the invoice/s of the order.]]></HELP>
 <!--B82C02920AA84E8DB57D553185BD2F06-->  <AD_TABLE_ID><![CDATA[DC63963AB3F1489BAAB5A9A7EFD1B407]]></AD_TABLE_ID>
 <!--B82C02920AA84E8DB57D553185BD2F06-->  <AD_WINDOW_ID><![CDATA[143]]></AD_WINDOW_ID>
 <!--B82C02920AA84E8DB57D553185BD2F06-->  <SEQNO><![CDATA[46]]></SEQNO>
@@ -220,7 +222,7 @@
 <!--EB0466B2A22343F28773B356D292BC7E-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--EB0466B2A22343F28773B356D292BC7E-->  <NAME><![CDATA[Payment In Plan]]></NAME>
 <!--EB0466B2A22343F28773B356D292BC7E-->  <DESCRIPTION><![CDATA[List of scheduled payments in expected against a particular invoice and payment in plan associated with that invoice.]]></DESCRIPTION>
-<!--EB0466B2A22343F28773B356D292BC7E-->  <HELP><![CDATA[List of scheduled payments in expected against a particular invoice and payment in plan associated with that invoice.]]></HELP>
+<!--EB0466B2A22343F28773B356D292BC7E-->  <HELP><![CDATA[List of the scheduled payments expected against the invoice.]]></HELP>
 <!--EB0466B2A22343F28773B356D292BC7E-->  <AD_TABLE_ID><![CDATA[77182DC88AA842D499C01FB0BAE39561]]></AD_TABLE_ID>
 <!--EB0466B2A22343F28773B356D292BC7E-->  <AD_WINDOW_ID><![CDATA[167]]></AD_WINDOW_ID>
 <!--EB0466B2A22343F28773B356D292BC7E-->  <SEQNO><![CDATA[50]]></SEQNO>
@@ -246,6 +248,7 @@
 <!--EB0E0C5A58344F7FA345097E7365CD22-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--EB0E0C5A58344F7FA345097E7365CD22-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--EB0E0C5A58344F7FA345097E7365CD22-->  <NAME><![CDATA[Payment In Plan]]></NAME>
+<!--EB0E0C5A58344F7FA345097E7365CD22-->  <HELP><![CDATA[Shows the total amount expected to be collected upon order booking as well as the amount/s pre-paid or paid against the invoice/s for the order.]]></HELP>
 <!--EB0E0C5A58344F7FA345097E7365CD22-->  <AD_TABLE_ID><![CDATA[70E57DEA195843729FF303C9A71EBCA3]]></AD_TABLE_ID>
 <!--EB0E0C5A58344F7FA345097E7365CD22-->  <AD_WINDOW_ID><![CDATA[143]]></AD_WINDOW_ID>
 <!--EB0E0C5A58344F7FA345097E7365CD22-->  <SEQNO><![CDATA[45]]></SEQNO>
@@ -272,7 +275,7 @@
 <!--F9751D712A804D57B97A36803843F2D7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--F9751D712A804D57B97A36803843F2D7-->  <NAME><![CDATA[Payment Out Details]]></NAME>
 <!--F9751D712A804D57B97A36803843F2D7-->  <DESCRIPTION><![CDATA[List of payment out made details against a particular invoice based on the payment out plan]]></DESCRIPTION>
-<!--F9751D712A804D57B97A36803843F2D7-->  <HELP><![CDATA[List of payment out made details against a particular invoice based on the payment out plan]]></HELP>
+<!--F9751D712A804D57B97A36803843F2D7-->  <HELP><![CDATA[Display the details of the payments made against the invoice.]]></HELP>
 <!--F9751D712A804D57B97A36803843F2D7-->  <AD_TABLE_ID><![CDATA[DC63963AB3F1489BAAB5A9A7EFD1B407]]></AD_TABLE_ID>
 <!--F9751D712A804D57B97A36803843F2D7-->  <AD_WINDOW_ID><![CDATA[183]]></AD_WINDOW_ID>
 <!--F9751D712A804D57B97A36803843F2D7-->  <SEQNO><![CDATA[33]]></SEQNO>
@@ -298,6 +301,7 @@
 <!--FA57D75B1BBB4583B4A777008A29BF54-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FA57D75B1BBB4583B4A777008A29BF54-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FA57D75B1BBB4583B4A777008A29BF54-->  <NAME><![CDATA[Payment Out Plan]]></NAME>
+<!--FA57D75B1BBB4583B4A777008A29BF54-->  <HELP><![CDATA[Shows the total amount expected to be paid upon order booking as well as the amount/s pre-paid or paid against the invoice/s for the order.]]></HELP>
 <!--FA57D75B1BBB4583B4A777008A29BF54-->  <AD_TABLE_ID><![CDATA[70E57DEA195843729FF303C9A71EBCA3]]></AD_TABLE_ID>
 <!--FA57D75B1BBB4583B4A777008A29BF54-->  <AD_WINDOW_ID><![CDATA[181]]></AD_WINDOW_ID>
 <!--FA57D75B1BBB4583B4A777008A29BF54-->  <SEQNO><![CDATA[35]]></SEQNO>
@@ -324,7 +328,7 @@
 <!--FD40D9C2F1F14943933DEFEF4A8458E4-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FD40D9C2F1F14943933DEFEF4A8458E4-->  <NAME><![CDATA[Payment In Details]]></NAME>
 <!--FD40D9C2F1F14943933DEFEF4A8458E4-->  <DESCRIPTION><![CDATA[List of payment in made details against a particular invoice based on the payment in plan..]]></DESCRIPTION>
-<!--FD40D9C2F1F14943933DEFEF4A8458E4-->  <HELP><![CDATA[List of payment in made details against a particular invoice based on the payment in plan..]]></HELP>
+<!--FD40D9C2F1F14943933DEFEF4A8458E4-->  <HELP><![CDATA[Display the details of the payments received against the invoice.]]></HELP>
 <!--FD40D9C2F1F14943933DEFEF4A8458E4-->  <AD_TABLE_ID><![CDATA[DC63963AB3F1489BAAB5A9A7EFD1B407]]></AD_TABLE_ID>
 <!--FD40D9C2F1F14943933DEFEF4A8458E4-->  <AD_WINDOW_ID><![CDATA[167]]></AD_WINDOW_ID>
 <!--FD40D9C2F1F14943933DEFEF4A8458E4-->  <SEQNO><![CDATA[51]]></SEQNO>
--- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TREENODE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TREENODE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -18,8 +18,8 @@
 <!--3FD746883F8840E1BED768193D141802-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
 <!--3FD746883F8840E1BED768193D141802-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--3FD746883F8840E1BED768193D141802-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
-<!--3FD746883F8840E1BED768193D141802-->  <PARENT_ID><![CDATA[800253]]></PARENT_ID>
-<!--3FD746883F8840E1BED768193D141802-->  <SEQNO><![CDATA[26]]></SEQNO>
+<!--3FD746883F8840E1BED768193D141802-->  <PARENT_ID><![CDATA[800077]]></PARENT_ID>
+<!--3FD746883F8840E1BED768193D141802-->  <SEQNO><![CDATA[140]]></SEQNO>
 <!--3FD746883F8840E1BED768193D141802--></AD_TREENODE>
 
 <!--5E9BF82654A14831A72FD96432F48791--><AD_TREENODE>
--- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/OBUISEL_SELECTOR_FIELD.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/OBUISEL_SELECTOR_FIELD.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -161,9 +161,9 @@
 <!--616F97738AFD4595B74A6A60C8D4B5C4-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--616F97738AFD4595B74A6A60C8D4B5C4-->  <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--616F97738AFD4595B74A6A60C8D4B5C4-->  <AD_COLUMN_ID><![CDATA[2902]]></AD_COLUMN_ID>
-<!--616F97738AFD4595B74A6A60C8D4B5C4-->  <NAME><![CDATA[Name]]></NAME>
-<!--616F97738AFD4595B74A6A60C8D4B5C4-->  <DESCRIPTION><![CDATA[A non-unique identifier for a record/document often used as a search tool.]]></DESCRIPTION>
-<!--616F97738AFD4595B74A6A60C8D4B5C4-->  <HELP><![CDATA[A more descriptive identifier (that does need to be unique) of a record/document that is used as a default search option along with the search key (that is unique and mostly shorter). It is up to 60 characters in length.]]></HELP>
+<!--616F97738AFD4595B74A6A60C8D4B5C4-->  <NAME><![CDATA[Commercial Name]]></NAME>
+<!--616F97738AFD4595B74A6A60C8D4B5C4-->  <DESCRIPTION><![CDATA[Commercial Name of the Business Partner]]></DESCRIPTION>
+<!--616F97738AFD4595B74A6A60C8D4B5C4-->  <HELP><![CDATA[Commercial Name of the Business Partner]]></HELP>
 <!--616F97738AFD4595B74A6A60C8D4B5C4-->  <PROPERTY><![CDATA[name]]></PROPERTY>
 <!--616F97738AFD4595B74A6A60C8D4B5C4-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
 <!--616F97738AFD4595B74A6A60C8D4B5C4-->  <SORT><![CDATA[Y]]></SORT>
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.java	Thu Jan 26 09:16:54 2012 +0100
@@ -292,8 +292,10 @@
     if (payment.getBusinessPartner() != null) {
       xmlDocument.setParameter("businessPartner", payment.getBusinessPartner().getIdentifier());
       xmlDocument.setParameter("businessPartnerId", payment.getBusinessPartner().getId());
-      xmlDocument.setParameter("credit",
-          dao.getCustomerCredit(payment.getBusinessPartner(), payment.isReceipt()).toString());
+      xmlDocument.setParameter(
+          "credit",
+          dao.getCustomerCredit(payment.getBusinessPartner(), payment.isReceipt(),
+              payment.getOrganization()).toString());
       xmlDocument.setParameter("customerBalance",
           payment.getBusinessPartner().getCreditUsed() != null ? payment.getBusinessPartner()
               .getCreditUsed().toString() : BigDecimal.ZERO.toString());
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.java	Thu Jan 26 09:16:54 2012 +0100
@@ -298,7 +298,16 @@
     xmlDocument.setParameter("orgId", strOrgId);
     xmlDocument.setParameter("invoiceId", strInvoiceId);
     xmlDocument.setParameter("isReceipt", (isReceipt ? "Y" : "N"));
-    xmlDocument.setParameter("credit", dao.getCustomerCredit(bp, isReceipt).toString());
+
+    try {
+      OBContext.setAdminMode(true);
+      xmlDocument.setParameter(
+          "credit",
+          dao.getCustomerCredit(bp, isReceipt,
+              OBDal.getInstance().get(Organization.class, strOrgId)).toString());
+    } finally {
+      OBContext.restorePreviousMode();
+    }
 
     // get DocumentNo
     final List<Object> parameters = new ArrayList<Object>();
@@ -339,6 +348,11 @@
     }
     xmlDocument.setParameter("sectionDetailFinancialAccount", finAccountComboHtml);
 
+    if (account != null) {
+      if (!financialAccounts.contains(account)) {
+        strFinancialAccountId = financialAccounts.get(0).getId();
+      }
+    }
     // Currency
     xmlDocument.setParameter("CurrencyId", strCurrencyId);
     final Currency paymentCurrency = dao.getObject(Currency.class, strCurrencyId);
@@ -354,19 +368,24 @@
     } catch (Exception ex) {
       throw new ServletException(ex);
     }
+    try {
+      OBContext.setAdminMode(true);
 
-    final Currency financialAccountCurrency = dao
-        .getFinancialAccountCurrency(strFinancialAccountId);
-    if (financialAccountCurrency != null) {
-      xmlDocument.setParameter("financialAccountCurrencyId", financialAccountCurrency.getId());
-      xmlDocument.setParameter("financialAccountCurrencyPrecision", financialAccountCurrency
-          .getStandardPrecision().toString());
+      final Currency financialAccountCurrency = dao
+          .getFinancialAccountCurrency(strFinancialAccountId);
+      if (financialAccountCurrency != null) {
+        xmlDocument.setParameter("financialAccountCurrencyId", financialAccountCurrency.getId());
+        xmlDocument.setParameter("financialAccountCurrencyPrecision", financialAccountCurrency
+            .getStandardPrecision().toString());
+      }
+      String exchangeRate = findExchangeRate(paymentCurrency, financialAccountCurrency, new Date(),
+          OBDal.getInstance().get(Organization.class, strOrgId), conversionRatePrecision);
+      xmlDocument.setParameter("exchangeRate", exchangeRate);
+
+    } finally {
+      OBContext.restorePreviousMode();
     }
 
-    String exchangeRate = findExchangeRate(paymentCurrency, financialAccountCurrency, new Date(),
-        OBDal.getInstance().get(Organization.class, strOrgId), conversionRatePrecision);
-    xmlDocument.setParameter("exchangeRate", exchangeRate);
-
     boolean forcedFinancialAccountTransaction = false;
     forcedFinancialAccountTransaction = isForcedFinancialAccountTransaction(isReceipt,
         strFinancialAccountId, strPaymentMethodId);
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java	Thu Jan 26 09:16:54 2012 +0100
@@ -22,6 +22,7 @@
 import java.io.PrintWriter;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -44,6 +45,7 @@
 import org.openbravo.base.filter.ValueListFilter;
 import org.openbravo.base.secureApp.HttpSecureAppServlet;
 import org.openbravo.base.secureApp.VariablesSecureApp;
+import org.openbravo.base.session.OBPropertiesProvider;
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBCriteria;
 import org.openbravo.dal.service.OBDal;
@@ -126,8 +128,16 @@
     } else if (vars.commandIn("LOADCREDIT")) {
       final String strBusinessPartnerId = vars.getRequiredStringParameter("inpcBpartnerId");
       final boolean isReceipt = "Y".equals(vars.getRequiredStringParameter("isReceipt"));
-      BigDecimal customerCredit = dao.getCustomerCredit(
-          OBDal.getInstance().get(BusinessPartner.class, strBusinessPartnerId), isReceipt);
+      final String strOrgId = vars.getRequiredStringParameter("inpadOrgId");
+      BigDecimal customerCredit;
+      try {
+        OBContext.setAdminMode(true);
+        customerCredit = dao.getCustomerCredit(
+            OBDal.getInstance().get(BusinessPartner.class, strBusinessPartnerId), isReceipt, OBDal
+                .getInstance().get(Organization.class, strOrgId));
+      } finally {
+        OBContext.restorePreviousMode();
+      }
       response.setContentType("text/html; charset=UTF-8");
       response.setHeader("Cache-Control", "no-cache");
       PrintWriter out = response.getWriter();
@@ -545,7 +555,9 @@
 
     // If business partner and document number are empty search for all filtered scheduled payments
     // list
-    if (!"".equals(strBusinessPartnerId) || !"".equals(strDocumentNo)) {
+    if (!"".equals(strBusinessPartnerId) || !"".equals(strDocumentNo)
+        || isValidJSDate(strDueDateFrom) || isValidJSDate(strDueDateTo)
+        || isValidJSDate(strTransDateFrom) || isValidJSDate(strTransDateTo)) {
       Currency paymentCurrency;
       if (strCurrencyId == null || strCurrencyId.isEmpty()) {
         paymentCurrency = financialAccount.getCurrency();
@@ -572,6 +584,28 @@
     out.close();
   }
 
+  /**
+   * Returns true in case the provided string is well formed JS-formated date
+   */
+  private boolean isValidJSDate(String strDate) {
+    if ("".equals(strDate)) {
+      return false;
+    }
+    try {
+      OBContext.setAdminMode(true);
+      String dateFormat = OBPropertiesProvider.getInstance().getOpenbravoProperties()
+          .getProperty("dateFormat.java");
+
+      Date date = new SimpleDateFormat(dateFormat).parse(strDate);
+      Date year1000 = new SimpleDateFormat("yyyy-MM-dd").parse("999-12-31");
+      return date.after(year1000);
+    } catch (Exception e) {
+      return false;
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+  }
+
   private void refreshPaymentMethod(HttpServletResponse response, String strBusinessPartnerId,
       String strFinancialAccountId, boolean isReceipt) throws IOException, ServletException {
     log4j.debug("Callout: Business Partner has changed to" + strBusinessPartnerId);
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.html	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.html	Thu Jan 26 09:16:54 2012 +0100
@@ -270,7 +270,7 @@
         
         //Coming from AddPaymentFromTransaction and Deposit option is selected
         if (closeAutomatically === "Y") {
-          reloadParentGrid();
+            reloadWindowGrid();
           closeThisPage();
         }
       } else {
@@ -281,6 +281,21 @@
   }
   return true;
 }
+function reloadWindowGrid() {
+      var f, dad;
+      try {
+        f = getFrame('LayoutMDI');
+        if (f && f.OB.MainView.TabSet.getSelectedTab().pane.view) {
+          var theView = f.OB.MainView.TabSet.getSelectedTab().pane.view;
+          theView.refresh(function(){
+              theView.getTabMessage();
+              theView.toolBar.refreshCustomButtons();
+          });
+        }
+      } catch(e) {
+        // not possible to reload parent grid
+      }
+    }
 </script>
 <script language="JavaScript" type="text/javascript">
   function onLoadDo(){
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java	Thu Jan 26 09:16:54 2012 +0100
@@ -24,6 +24,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Set;
 
 import org.apache.commons.lang.StringUtils;
 import org.hibernate.criterion.Criterion;
@@ -1407,6 +1408,7 @@
     return ppfiCriteria.list();
   }
 
+  @Deprecated
   public BigDecimal getCustomerCredit(BusinessPartner bp, boolean isReceipt) {
     BigDecimal creditAmount = BigDecimal.ZERO;
     for (FIN_Payment payment : getCustomerPaymentsWithCredit(bp, isReceipt))
@@ -1415,6 +1417,15 @@
     return creditAmount;
   }
 
+  public BigDecimal getCustomerCredit(BusinessPartner bp, boolean isReceipt, Organization Org) {
+    BigDecimal creditAmount = BigDecimal.ZERO;
+    for (FIN_Payment payment : getCustomerPaymentsWithCredit(Org, bp, isReceipt))
+      creditAmount = creditAmount.add(payment.getGeneratedCredit()).subtract(
+          payment.getUsedCredit());
+    return creditAmount;
+  }
+
+  @Deprecated
   public List<FIN_Payment> getCustomerPaymentsWithCredit(BusinessPartner bp, boolean isReceipt) {
     OBCriteria<FIN_Payment> obcPayment = OBDal.getInstance().createCriteria(FIN_Payment.class);
     obcPayment.add(Restrictions.eq(FIN_Payment.PROPERTY_BUSINESSPARTNER, bp));
@@ -1451,8 +1462,10 @@
       obcPayment.add(Restrictions.neProperty(FIN_Payment.PROPERTY_GENERATEDCREDIT,
           FIN_Payment.PROPERTY_USEDCREDIT));
       final Organization legalEntity = FIN_Utility.getLegalEntityOrg(org);
-      obcPayment.add(Restrictions.in("organization.id", OBContext.getOBContext()
-          .getOrganizationStructureProvider().getNaturalTree(legalEntity.getId())));
+      Set<String> orgIds = OBContext.getOBContext().getOrganizationStructureProvider()
+          .getChildOrg(legalEntity.getId());
+      orgIds.add(legalEntity.getId());
+      obcPayment.add(Restrictions.in("organization.id", orgIds));
       obcPayment.addOrderBy(FIN_Payment.PROPERTY_PAYMENTDATE, true);
       obcPayment.addOrderBy(FIN_Payment.PROPERTY_DOCUMENTNO, true);
       return obcPayment.list();
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentMonitorProcess.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentMonitorProcess.java	Thu Jan 26 09:16:54 2012 +0100
@@ -54,11 +54,9 @@
 
 public class FIN_PaymentMonitorProcess extends DalBaseProcess {
   private static ProcessLogger logger;
-  private static ConnectionProvider conn = null;
 
   public void doExecute(ProcessBundle bundle) throws Exception {
     logger = bundle.getLogger();
-    conn = bundle.getConnection();
     // Check to know if PaymentMonitor property is set in the system.
     try {
       Preferences.getPreferenceValue("PaymentMonitor", true, null, null, OBContext.getOBContext()
@@ -439,9 +437,8 @@
       Date ConvDate, String client, String org) {
     if (CurFrom_ID == null || CurTo_ID == null || CurFrom_ID.equals(CurTo_ID))
       return Amt;
-    if (conn == null) {
-      conn = new DalConnectionProvider();
-    }
+    ConnectionProvider conn = new DalConnectionProvider(false);
+
     String dateFormat = OBPropertiesProvider.getInstance().getOpenbravoProperties()
         .getProperty("dateFormat.java");
     SimpleDateFormat dateFormater = new SimpleDateFormat(dateFormat);
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java	Thu Jan 26 09:16:54 2012 +0100
@@ -41,6 +41,7 @@
 import org.openbravo.erpCommon.utility.Utility;
 import org.openbravo.model.common.businesspartner.BusinessPartner;
 import org.openbravo.model.common.currency.ConversionRateDoc;
+import org.openbravo.model.common.enterprise.Organization;
 import org.openbravo.model.common.invoice.Invoice;
 import org.openbravo.model.financialmgmt.payment.FIN_FinaccTransaction;
 import org.openbravo.model.financialmgmt.payment.FIN_Payment;
@@ -733,8 +734,9 @@
       final BigDecimal usedAmount = newPayment.getUsedCredit();
       final BusinessPartner bp = newPayment.getBusinessPartner();
       final boolean isReceipt = newPayment.isReceipt();
+      final Organization Org = newPayment.getOrganization();
 
-      List<FIN_Payment> creditPayments = dao.getCustomerPaymentsWithCredit(bp, isReceipt);
+      List<FIN_Payment> creditPayments = dao.getCustomerPaymentsWithCredit(Org, bp, isReceipt);
       BigDecimal pendingToAllocateAmount = usedAmount;
       for (FIN_Payment creditPayment : creditPayments) {
         BigDecimal availableAmount = creditPayment.getGeneratedCredit().subtract(
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionModify.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionModify.java	Thu Jan 26 09:16:54 2012 +0100
@@ -132,10 +132,10 @@
       }
       String description = transaction.getDescription();
       String oldGlItemString = Utility.messageBD(bundle.getConnection(), "APRM_GLItem", bundle
-          .getContext().toVars().getLanguage())
+          .getContext().getLanguage())
           + ": " + oldGLItem.getName();
       String newGlItemString = Utility.messageBD(bundle.getConnection(), "APRM_GLItem", bundle
-          .getContext().toVars().getLanguage())
+          .getContext().getLanguage())
           + ": " + newGLItem.getName();
       if (!description.isEmpty()) {
         description = description.indexOf(oldGlItemString) != -1 ? description.substring(0,
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_BankStatementImport.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_BankStatementImport.java	Thu Jan 26 09:16:54 2012 +0100
@@ -245,6 +245,7 @@
     try {
       whereClause.append(" as bsl ");
       whereClause.append(" where bsl." + FIN_BankStatementLine.PROPERTY_BPARTNERNAME + " = ?");
+      parameters.add(partnername);
       whereClause.append(" and bsl." + FIN_BankStatementLine.PROPERTY_BUSINESSPARTNER
           + " is not null");
       whereClause.append(" and bsl." + FIN_BankStatementLine.PROPERTY_BANKSTATEMENT + ".");
@@ -255,7 +256,6 @@
           .getNaturalTree(organization.getId())) + ") ");
       whereClause.append(" and bsl.bankStatement.processed = 'Y'");
       whereClause.append(" order by bsl." + FIN_BankStatementLine.PROPERTY_CREATIONDATE + " desc");
-      parameters.add(partnername);
       final OBQuery<FIN_BankStatementLine> bsl = OBDal.getInstance().createQuery(
           FIN_BankStatementLine.class, whereClause.toString(), parameters);
       bsl.setFilterOnReadableOrganization(false);
--- a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <NAME><![CDATA[JBoss Weld]]></NAME>
-<!--C70732EA90A14EC0916078B85CC33D2D-->  <VERSION><![CDATA[1.1.14359]]></VERSION>
+<!--C70732EA90A14EC0916078B85CC33D2D-->  <VERSION><![CDATA[1.1.15193]]></VERSION>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <DESCRIPTION><![CDATA[JBoss Weld]]></DESCRIPTION>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <HELP><![CDATA[Provides the JBoss Weld framework: Java Contexts and Dependency Injection for the Java EE platform (CDI). For more information see http://seamframework.org/Weld]]></HELP>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <URL><![CDATA[http://forge.openbravo.com/projects/weld]]></URL>
--- a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <AD_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_MODULE_ID>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -99,6 +99,17 @@
 <!--090A37D22ED3AFD5012ED3C5DE60001C-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--090A37D22ED3AFD5012ED3C5DE60001C--></AD_MESSAGE>
 
+<!--0D2FEB9F4F39423BB5A5310891256558--><AD_MESSAGE>
+<!--0D2FEB9F4F39423BB5A5310891256558-->  <AD_MESSAGE_ID><![CDATA[0D2FEB9F4F39423BB5A5310891256558]]></AD_MESSAGE_ID>
+<!--0D2FEB9F4F39423BB5A5310891256558-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--0D2FEB9F4F39423BB5A5310891256558-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--0D2FEB9F4F39423BB5A5310891256558-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--0D2FEB9F4F39423BB5A5310891256558-->  <VALUE><![CDATA[OBUIAPP_DialogTitle_RemoveAttachments]]></VALUE>
+<!--0D2FEB9F4F39423BB5A5310891256558-->  <MSGTEXT><![CDATA[Remove Attachments]]></MSGTEXT>
+<!--0D2FEB9F4F39423BB5A5310891256558-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--0D2FEB9F4F39423BB5A5310891256558-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--0D2FEB9F4F39423BB5A5310891256558--></AD_MESSAGE>
+
 <!--0EAD499E981341CABE550FE951B274F7--><AD_MESSAGE>
 <!--0EAD499E981341CABE550FE951B274F7-->  <AD_MESSAGE_ID><![CDATA[0EAD499E981341CABE550FE951B274F7]]></AD_MESSAGE_ID>
 <!--0EAD499E981341CABE550FE951B274F7-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -176,6 +187,18 @@
 <!--3137ECD8CD0D4656BEDC1FE87DBA8838-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--3137ECD8CD0D4656BEDC1FE87DBA8838--></AD_MESSAGE>
 
+<!--3270B64D4D6B4464B2E9BA10C69996E4--><AD_MESSAGE>
+<!--3270B64D4D6B4464B2E9BA10C69996E4-->  <AD_MESSAGE_ID><![CDATA[3270B64D4D6B4464B2E9BA10C69996E4]]></AD_MESSAGE_ID>
+<!--3270B64D4D6B4464B2E9BA10C69996E4-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--3270B64D4D6B4464B2E9BA10C69996E4-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--3270B64D4D6B4464B2E9BA10C69996E4-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--3270B64D4D6B4464B2E9BA10C69996E4-->  <VALUE><![CDATA[OBUIAPP_Done]]></VALUE>
+<!--3270B64D4D6B4464B2E9BA10C69996E4-->  <MSGTEXT><![CDATA[Done]]></MSGTEXT>
+<!--3270B64D4D6B4464B2E9BA10C69996E4-->  <MSGTIP><![CDATA[Label for submit button in Pick-and-Execute processes]]></MSGTIP>
+<!--3270B64D4D6B4464B2E9BA10C69996E4-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--3270B64D4D6B4464B2E9BA10C69996E4-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--3270B64D4D6B4464B2E9BA10C69996E4--></AD_MESSAGE>
+
 <!--335DB34B941E435BB829ADFA3B3D27AA--><AD_MESSAGE>
 <!--335DB34B941E435BB829ADFA3B3D27AA-->  <AD_MESSAGE_ID><![CDATA[335DB34B941E435BB829ADFA3B3D27AA]]></AD_MESSAGE_ID>
 <!--335DB34B941E435BB829ADFA3B3D27AA-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -359,7 +382,7 @@
 <!--733C8CD6D07F44E5BDD0D9DFB521B2B8-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--733C8CD6D07F44E5BDD0D9DFB521B2B8-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--733C8CD6D07F44E5BDD0D9DFB521B2B8-->  <VALUE><![CDATA[OBUIAPP_DeleteConfirmationMultiple]]></VALUE>
-<!--733C8CD6D07F44E5BDD0D9DFB521B2B8-->  <MSGTEXT><![CDATA[Are you sure that you want to remove the %0 selected records? This will also delete all their child records.]]></MSGTEXT>
+<!--733C8CD6D07F44E5BDD0D9DFB521B2B8-->  <MSGTEXT><![CDATA[Are you sure that you want to delete the %0 selected records? This will also delete all their child records.]]></MSGTEXT>
 <!--733C8CD6D07F44E5BDD0D9DFB521B2B8-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
 <!--733C8CD6D07F44E5BDD0D9DFB521B2B8-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--733C8CD6D07F44E5BDD0D9DFB521B2B8--></AD_MESSAGE>
@@ -375,6 +398,17 @@
 <!--7410A9E707384D369419188644A31430-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--7410A9E707384D369419188644A31430--></AD_MESSAGE>
 
+<!--787E5B6A41DB42B7A79F9789C696FE79--><AD_MESSAGE>
+<!--787E5B6A41DB42B7A79F9789C696FE79-->  <AD_MESSAGE_ID><![CDATA[787E5B6A41DB42B7A79F9789C696FE79]]></AD_MESSAGE_ID>
+<!--787E5B6A41DB42B7A79F9789C696FE79-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--787E5B6A41DB42B7A79F9789C696FE79-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--787E5B6A41DB42B7A79F9789C696FE79-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--787E5B6A41DB42B7A79F9789C696FE79-->  <VALUE><![CDATA[OBUIAPP_DialogTitle_DeleteRecord]]></VALUE>
+<!--787E5B6A41DB42B7A79F9789C696FE79-->  <MSGTEXT><![CDATA[Delete Record]]></MSGTEXT>
+<!--787E5B6A41DB42B7A79F9789C696FE79-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--787E5B6A41DB42B7A79F9789C696FE79-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--787E5B6A41DB42B7A79F9789C696FE79--></AD_MESSAGE>
+
 <!--796AA17B5C2445CDB884D2B680599B97--><AD_MESSAGE>
 <!--796AA17B5C2445CDB884D2B680599B97-->  <AD_MESSAGE_ID><![CDATA[796AA17B5C2445CDB884D2B680599B97]]></AD_MESSAGE_ID>
 <!--796AA17B5C2445CDB884D2B680599B97-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -518,6 +552,17 @@
 <!--9A2BB372D26D47A8B63BC87CB08B270C-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--9A2BB372D26D47A8B63BC87CB08B270C--></AD_MESSAGE>
 
+<!--9A66DC27282742BF825F53B741231823--><AD_MESSAGE>
+<!--9A66DC27282742BF825F53B741231823-->  <AD_MESSAGE_ID><![CDATA[9A66DC27282742BF825F53B741231823]]></AD_MESSAGE_ID>
+<!--9A66DC27282742BF825F53B741231823-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9A66DC27282742BF825F53B741231823-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9A66DC27282742BF825F53B741231823-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9A66DC27282742BF825F53B741231823-->  <VALUE><![CDATA[OBUIAPP_DialogTitle_DeleteRecords]]></VALUE>
+<!--9A66DC27282742BF825F53B741231823-->  <MSGTEXT><![CDATA[Delete Records]]></MSGTEXT>
+<!--9A66DC27282742BF825F53B741231823-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--9A66DC27282742BF825F53B741231823-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--9A66DC27282742BF825F53B741231823--></AD_MESSAGE>
+
 <!--9EFEA3F8412B4F5C836DFB40034156EA--><AD_MESSAGE>
 <!--9EFEA3F8412B4F5C836DFB40034156EA-->  <AD_MESSAGE_ID><![CDATA[9EFEA3F8412B4F5C836DFB40034156EA]]></AD_MESSAGE_ID>
 <!--9EFEA3F8412B4F5C836DFB40034156EA-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -602,7 +647,7 @@
 <!--B807AE3A645140E0B6F55D3114D22C7B-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--B807AE3A645140E0B6F55D3114D22C7B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--B807AE3A645140E0B6F55D3114D22C7B-->  <VALUE><![CDATA[OBUIAPP_DeleteConfirmationSingle]]></VALUE>
-<!--B807AE3A645140E0B6F55D3114D22C7B-->  <MSGTEXT><![CDATA[Are you sure that you want to remove the selected record? This will also delete all its child records.]]></MSGTEXT>
+<!--B807AE3A645140E0B6F55D3114D22C7B-->  <MSGTEXT><![CDATA[Are you sure that you want to delete the selected record? This will also delete all its child records.]]></MSGTEXT>
 <!--B807AE3A645140E0B6F55D3114D22C7B-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
 <!--B807AE3A645140E0B6F55D3114D22C7B-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--B807AE3A645140E0B6F55D3114D22C7B--></AD_MESSAGE>
@@ -629,6 +674,17 @@
 <!--C525E9A7101B4920A8A652DD94B97AFE-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--C525E9A7101B4920A8A652DD94B97AFE--></AD_MESSAGE>
 
+<!--C966E53BF4744D048BB01026A5A3FAA5--><AD_MESSAGE>
+<!--C966E53BF4744D048BB01026A5A3FAA5-->  <AD_MESSAGE_ID><![CDATA[C966E53BF4744D048BB01026A5A3FAA5]]></AD_MESSAGE_ID>
+<!--C966E53BF4744D048BB01026A5A3FAA5-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--C966E53BF4744D048BB01026A5A3FAA5-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--C966E53BF4744D048BB01026A5A3FAA5-->  <ISACTIVE><![CDATA[N]]></ISACTIVE>
+<!--C966E53BF4744D048BB01026A5A3FAA5-->  <VALUE><![CDATA[OBUIAPP_DialogTitle_RemoveAttachment]]></VALUE>
+<!--C966E53BF4744D048BB01026A5A3FAA5-->  <MSGTEXT><![CDATA[Remove Attachment]]></MSGTEXT>
+<!--C966E53BF4744D048BB01026A5A3FAA5-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--C966E53BF4744D048BB01026A5A3FAA5-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--C966E53BF4744D048BB01026A5A3FAA5--></AD_MESSAGE>
+
 <!--CA656863135B44B6BF645936B34C61C7--><AD_MESSAGE>
 <!--CA656863135B44B6BF645936B34C61C7-->  <AD_MESSAGE_ID><![CDATA[CA656863135B44B6BF645936B34C61C7]]></AD_MESSAGE_ID>
 <!--CA656863135B44B6BF645936B34C61C7-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -794,6 +850,17 @@
 <!--EF03C1B05A0548288B31E1B624730A6D-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--EF03C1B05A0548288B31E1B624730A6D--></AD_MESSAGE>
 
+<!--F1608458F2A84B81812F0A5C8B3E8633--><AD_MESSAGE>
+<!--F1608458F2A84B81812F0A5C8B3E8633-->  <AD_MESSAGE_ID><![CDATA[F1608458F2A84B81812F0A5C8B3E8633]]></AD_MESSAGE_ID>
+<!--F1608458F2A84B81812F0A5C8B3E8633-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--F1608458F2A84B81812F0A5C8B3E8633-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--F1608458F2A84B81812F0A5C8B3E8633-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--F1608458F2A84B81812F0A5C8B3E8633-->  <VALUE><![CDATA[OBUIAPP_DialogTitle_DeleteNote]]></VALUE>
+<!--F1608458F2A84B81812F0A5C8B3E8633-->  <MSGTEXT><![CDATA[Delete Note]]></MSGTEXT>
+<!--F1608458F2A84B81812F0A5C8B3E8633-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--F1608458F2A84B81812F0A5C8B3E8633-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--F1608458F2A84B81812F0A5C8B3E8633--></AD_MESSAGE>
+
 <!--FBA2F11416C4413F8E2D554119461964--><AD_MESSAGE>
 <!--FBA2F11416C4413F8E2D554119461964-->  <AD_MESSAGE_ID><![CDATA[FBA2F11416C4413F8E2D554119461964]]></AD_MESSAGE_ID>
 <!--FBA2F11416C4413F8E2D554119461964-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -1042,7 +1109,7 @@
 <!--FF8080812F05D96C012F061FE61C0049-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FF8080812F05D96C012F061FE61C0049-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080812F05D96C012F061FE61C0049-->  <VALUE><![CDATA[OBUIAPP_AttachmentRemoveAll]]></VALUE>
-<!--FF8080812F05D96C012F061FE61C0049-->  <MSGTEXT><![CDATA[Delete All]]></MSGTEXT>
+<!--FF8080812F05D96C012F061FE61C0049-->  <MSGTEXT><![CDATA[Remove All]]></MSGTEXT>
 <!--FF8080812F05D96C012F061FE61C0049-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
 <!--FF8080812F05D96C012F061FE61C0049-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF8080812F05D96C012F061FE61C0049--></AD_MESSAGE>
@@ -1053,7 +1120,7 @@
 <!--FF8080812F05D96C012F0620171E004D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FF8080812F05D96C012F0620171E004D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080812F05D96C012F0620171E004D-->  <VALUE><![CDATA[OBUIAPP_AttachmentRemove]]></VALUE>
-<!--FF8080812F05D96C012F0620171E004D-->  <MSGTEXT><![CDATA[Delete]]></MSGTEXT>
+<!--FF8080812F05D96C012F0620171E004D-->  <MSGTEXT><![CDATA[Remove]]></MSGTEXT>
 <!--FF8080812F05D96C012F0620171E004D-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
 <!--FF8080812F05D96C012F0620171E004D-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF8080812F05D96C012F0620171E004D--></AD_MESSAGE>
@@ -1163,7 +1230,7 @@
 <!--FF8080812FB0FC61012FBA3EBC6F01DC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FF8080812FB0FC61012FBA3EBC6F01DC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080812FB0FC61012FBA3EBC6F01DC-->  <VALUE><![CDATA[OBUIAPP_ConfirmRemove]]></VALUE>
-<!--FF8080812FB0FC61012FBA3EBC6F01DC-->  <MSGTEXT><![CDATA[Are you sure you want to permanently delete this attachment?]]></MSGTEXT>
+<!--FF8080812FB0FC61012FBA3EBC6F01DC-->  <MSGTEXT><![CDATA[Are you sure you want to permanently remove this attachment?]]></MSGTEXT>
 <!--FF8080812FB0FC61012FBA3EBC6F01DC-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
 <!--FF8080812FB0FC61012FBA3EBC6F01DC-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF8080812FB0FC61012FBA3EBC6F01DC--></AD_MESSAGE>
@@ -1174,7 +1241,7 @@
 <!--FF8080812FB0FC61012FBA3FF29701E9-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FF8080812FB0FC61012FBA3FF29701E9-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080812FB0FC61012FBA3FF29701E9-->  <VALUE><![CDATA[OBUIAPP_ConfirmRemoveAll]]></VALUE>
-<!--FF8080812FB0FC61012FBA3FF29701E9-->  <MSGTEXT><![CDATA[Are you sure you want to permanently delete all the attachments of this record?]]></MSGTEXT>
+<!--FF8080812FB0FC61012FBA3FF29701E9-->  <MSGTEXT><![CDATA[Are you sure you want to permanently remove all the attachments of this record?]]></MSGTEXT>
 <!--FF8080812FB0FC61012FBA3FF29701E9-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
 <!--FF8080812FB0FC61012FBA3FF29701E9-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF8080812FB0FC61012FBA3FF29701E9--></AD_MESSAGE>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <NAME><![CDATA[User Interface Application]]></NAME>
-<!--9BA0836A3CD74EE4AB48753A47211BCC-->  <VERSION><![CDATA[2.1.14359]]></VERSION>
+<!--9BA0836A3CD74EE4AB48753A47211BCC-->  <VERSION><![CDATA[2.1.15193]]></VERSION>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <DESCRIPTION><![CDATA[Provides the main application components for the openbravo user interface]]></DESCRIPTION>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <HELP><![CDATA[Provides the main application components for the openbravo user interface. The main layout incorporates a navigation bar and a main view area.]]></HELP>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <URL><![CDATA[http://forge.openbravo.com/projects/clientapplication]]></URL>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <AD_DEPENDENT_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_DEPENDENT_MODULE_ID>
-<!--15D7CE8D95D043189162DBABA54A1F61-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--15D7CE8D95D043189162DBABA54A1F61-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON Datasource]]></DEPENDANT_MODULE_NAME>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--60A170212F36499D83B8AD38D01F46B3-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID>
-<!--60A170212F36499D83B8AD38D01F46B3-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--60A170212F36499D83B8AD38D01F46B3-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Client Kernel]]></DEPENDANT_MODULE_NAME>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--824D60CB352E4099B1D8C903CA139DAE-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--824D60CB352E4099B1D8C903CA139DAE-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -49,7 +49,7 @@
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <AD_DEPENDENT_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_DEPENDENT_MODULE_ID>
-<!--E8FD820AFE3D4FE08C02FC47769026AD-->  <STARTVERSION><![CDATA[8.1.14359]]></STARTVERSION>
+<!--E8FD820AFE3D4FE08C02FC47769026AD-->  <STARTVERSION><![CDATA[8.1.15193]]></STARTVERSION>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TAB.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TAB.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -170,7 +170,7 @@
 <!--FF8081813157AED2013157BF6D810023-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8081813157AED2013157BF6D810023-->  <NAME><![CDATA[Window Personalization]]></NAME>
 <!--FF8081813157AED2013157BF6D810023-->  <DESCRIPTION><![CDATA[Maintains window personalization records]]></DESCRIPTION>
-<!--FF8081813157AED2013157BF6D810023-->  <HELP><![CDATA[Maintains record for window personalization]]></HELP>
+<!--FF8081813157AED2013157BF6D810023-->  <HELP><![CDATA[Window Personalization list and maintains the customized form views.]]></HELP>
 <!--FF8081813157AED2013157BF6D810023-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
 <!--FF8081813157AED2013157BF6D810023-->  <AD_WINDOW_ID><![CDATA[FF8081813157AED2013157BE93460020]]></AD_WINDOW_ID>
 <!--FF8081813157AED2013157BF6D810023-->  <SEQNO><![CDATA[10]]></SEQNO>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_WINDOW.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_WINDOW.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -43,7 +43,7 @@
 <!--FF8081813157AED2013157BE93460020-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8081813157AED2013157BE93460020-->  <NAME><![CDATA[Window Personalization]]></NAME>
 <!--FF8081813157AED2013157BE93460020-->  <DESCRIPTION><![CDATA[Maintains ui personalization records]]></DESCRIPTION>
-<!--FF8081813157AED2013157BE93460020-->  <HELP><![CDATA[Maintains Window Personalization records]]></HELP>
+<!--FF8081813157AED2013157BE93460020-->  <HELP><![CDATA[Openbravo allows the customization of grid and form views. Customize windows and form views are stored once saved in the Window Personalization window.]]></HELP>
 <!--FF8081813157AED2013157BE93460020-->  <WINDOWTYPE><![CDATA[M]]></WINDOWTYPE>
 <!--FF8081813157AED2013157BE93460020-->  <ISSOTRX><![CDATA[N]]></ISSOTRX>
 <!--FF8081813157AED2013157BE93460020-->  <PROCESSING><![CDATA[N]]></PROCESSING>
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/MenuManager.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/MenuManager.java	Thu Jan 26 09:16:54 2012 +0100
@@ -345,7 +345,7 @@
     if (role.getPrimaryTreeMenu() != null) {
       tree = role.getPrimaryTreeMenu();
     } else {
-      tree = OBDal.getInstance().createQuery(Tree.class, "id='10'").list().get(0);
+      tree = OBDal.getInstance().get(Tree.class, "10");
     }
     menuOptions = new ArrayList<MenuOption>();
     OBCriteria<TreeNode> treeNodes = OBDal.getInstance().createCriteria(TreeNode.class);
@@ -360,8 +360,8 @@
       if (!addOption) {
         Menu menuEntry = OBDal.getInstance().get(Menu.class, treeNode.getNode());
         if (menuEntry != null) {
-          addOption = menuEntry.isActive();
-          inactiveSummary = menuEntry.isSummaryLevel();
+          addOption = menuEntry.isSummaryLevel();
+          inactiveSummary = true;
         }
       }
 
@@ -369,7 +369,8 @@
         final MenuOption menuOption = new MenuOption();
         menuOption.setTreeNode(treeNode);
         menuOption.setDbId(treeNode.getId());
-        if (inactiveSummary) {
+        Menu menuEntry = OBDal.getInstance().get(Menu.class, treeNode.getNode());
+        if (menuEntry != null && !menuEntry.isActive()) {
           menuOption.setVisible(false);
         }
         menuOptions.add(menuOption);
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl	Thu Jan 26 09:16:54 2012 +0100
@@ -112,6 +112,10 @@
       }
   });
   OB.TestRegistry.register('org.openbravo.client.application.openbravologo', OB.TopLayout.OpenbravoLogo);    
+
+  if (OB.Styles && OB.Styles.hideOpenbravoLogo) {
+    OB.TopLayout.OpenbravoLogo.hide();
+  }
   
   OB.TopLayout.addMember(OB.NavBar);
   OB.TopLayout.addMember(
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-tab.js.ftl	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-tab.js.ftl	Thu Jan 26 09:16:54 2012 +0100
@@ -69,6 +69,7 @@
        processId: '${field.processId?js_string}',
        <#if field.newDefinition>newDefinition: ${field.newDefinition?string},</#if>
        <#if field.windowId != "">windowId: '${field.windowId?js_string}',</#if>
+       <#if field.windowTitle != "">windowTitle: '${field.windowTitle?js_string}',</#if>
        <#if !field.modal>modal: ${field.modal?string},</#if>
        <#if field.hasLabelValues>
        labelValue: {<#list field.labelValues as value>
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2010-2011 Openbravo SLU 
+ * All portions are Copyright (C) 2010-2012 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -146,7 +146,7 @@
       if (changedColumn != null) {
         log.debug("Changed field: " + changedColumn);
       }
-      if (rowId != null) {
+      if (rowId != null && !rowId.equals("null")) {
         row = OBDal.getInstance().get(tab.getTable().getName(), rowId);
       }
       JSONObject jsContent = new JSONObject();
@@ -382,16 +382,16 @@
           if (field.getDisplayLogic() != null && field.isDisplayed() && field.isActive()) {
             final DynamicExpressionParser parser = new DynamicExpressionParser(
                 field.getDisplayLogic(), tab);
-
-            for (String attrName : parser.getSessionAttributes()) {
-              if (!sessionAttributesMap.containsKey(attrName)) {
-                final String attrValue = Utility
-                    .getContext(new DalConnectionProvider(false), RequestContext.get()
-                        .getVariablesSecureApp(), attrName, tab.getWindow().getId());
-                sessionAttributesMap.put(attrName.startsWith("#") ? attrName.replace("#", "_")
-                    : attrName, attrValue);
-              }
-            }
+            setSessionAttributesFromParserResult(parser, sessionAttributesMap, tab.getWindow()
+                .getId());
+          }
+          // We also add session attributes from readonly logic fields
+          if (field.getColumn().getReadOnlyLogic() != null && field.isDisplayed()
+              && field.isActive()) {
+            final DynamicExpressionParser parser = new DynamicExpressionParser(field.getColumn()
+                .getReadOnlyLogic(), tab);
+            setSessionAttributesFromParserResult(parser, sessionAttributesMap, tab.getWindow()
+                .getId());
           }
 
         }
@@ -444,6 +444,19 @@
     }
   }
 
+  private void setSessionAttributesFromParserResult(DynamicExpressionParser parser,
+      Map<String, String> sessionAttributesMap, String windowId) {
+    for (String attrName : parser.getSessionAttributes()) {
+      if (!sessionAttributesMap.containsKey(attrName)) {
+        final String attrValue = Utility.getContext(new DalConnectionProvider(false),
+            RequestContext.get().getVariablesSecureApp(), attrName, windowId);
+        sessionAttributesMap.put(attrName.startsWith("#") ? attrName.replace("#", "_") : attrName,
+            attrValue);
+      }
+    }
+
+  }
+
   private void computeColumnValues(String mode, Tab tab, List<String> allColumns,
       Map<String, JSONObject> columnValues, BaseOBObject parentRecord, String parentId,
       String changedColumn, JSONObject jsContent, List<String> changeEventCols,
@@ -931,6 +944,10 @@
         continue;
       }
       String column = field.getColumn().getDBColumnName();
+      String columninp = "inp" + Sqlc.TransformaNombreColumna(column);
+      if (column.equalsIgnoreCase("Ad_Org_Id") && !changeEventCols.contains(columninp)) {
+        changeEventCols.add(columninp);
+      }
       if (columnsInValidation.get(column) != null && columnsInValidation.get(column).size() > 0) {
         for (String colInVal : columnsInValidation.get(column)) {
           final String columnName = "inp" + Sqlc.TransformaNombreColumna(colInVal);
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFieldHandler.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFieldHandler.java	Thu Jan 26 09:16:54 2012 +0100
@@ -380,10 +380,6 @@
 
       statusBarFields.add(property.getName());
 
-      if (field.isDisplayed()) {
-        continue;
-      }
-
       final OBViewField viewField = new OBViewField();
       viewField.setField(field);
       viewField.setProperty(property);
@@ -1263,7 +1259,9 @@
     }
 
     public void setReadOnlyIf(String readOnlyExpression) {
-      this.readOnlyIf = readOnlyExpression;
+      if (!this.getReadOnly()) {
+        this.readOnlyIf = readOnlyExpression;
+      }
     }
 
     public String getReadOnlyIf() {
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewTab.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewTab.java	Thu Jan 26 09:16:54 2012 +0100
@@ -409,16 +409,16 @@
   }
 
   public boolean isAllowAdd() {
-    if (tab.isObuiappCanAdd() != null) {
-      return tab.isObuiappCanAdd();
-    }
+    // if (tab.isObuiappCanAdd() != null) {
+    // return tab.isObuiappCanAdd();
+    // }
     return false;
   }
 
   public boolean isAllowDelete() {
-    if (tab.isObuiappCanDelete() != null) {
-      return tab.isObuiappCanDelete();
-    }
+    // if (tab.isObuiappCanDelete() != null) {
+    // return tab.isObuiappCanDelete();
+    // }
     return false;
   }
 
@@ -436,6 +436,7 @@
     private boolean modal = true;
     private String processId = "";
     private String windowId = "";
+    private String windowTitle = "";
     private boolean newDefinition = false;
 
     public ButtonField(Field fld) {
@@ -540,6 +541,7 @@
         } else {
           setWindowId(p.getReferenceSearchKey().getOBUIAPPRefWindowList().get(0).getWindow()
               .getId());
+          setWindowTitle(p.getName());
         }
         return;
       } else if (p.getReference().getId().equals(ApplicationConstants.BUTTON_LIST_REFERENCE_ID)) {
@@ -638,6 +640,14 @@
       this.windowId = windowId;
     }
 
+    public String getWindowTitle() {
+      return windowTitle;
+    }
+
+    public void setWindowTitle(String windowTitle) {
+      this.windowTitle = windowTitle;
+    }
+
     public class Value {
       private String value;
       private String labelValue;
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/alert-management/ob-alert-grid.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/alert-management/ob-alert-grid.js	Thu Jan 26 09:16:54 2012 +0100
@@ -119,6 +119,10 @@
     
     OB.Datasource.get('ADAlert', this, null, true);
     
+    if (OB.AlertManager && OB.AlertManager.lastData && isc.is.Array(OB.AlertManager.lastData.data)){
+        this.dataPageSize = OB.AlertManager.lastData.data.length;
+    }
+
     this.Super('initWidget', arguments);
   },
   
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-canvas.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-canvas.js	Thu Jan 26 09:16:54 2012 +0100
@@ -25,10 +25,10 @@
 isc.OBClientClassCanvasItem.addProperties({
   autoDestroy: true,
   
-  // if the canvas is used somewhere else then
-  // don't redraw it
+  // if the canvas is used somewhere else (in the statusbar) then
+  // don't do placeCanvas.
   placeCanvas: function() {
-    if (this.canvas && this.canvas.parentElement === this.form) {
+    if (this.canvas && !this.canvas.inStatusBar) {
       this.Super('placeCanvas', arguments);
     }
   },
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-date.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-date.js	Thu Jan 26 09:16:54 2012 +0100
@@ -94,7 +94,7 @@
     var i, str = this.blurValue(), 
       length = str.length, 
       parts = [ '', '', '' ], partIndex = 0, result;
-    if (!str || isc.isA.Date(str)) {
+    if (!str || isc.isA.Date(str) || str.replace(/0/g, '') === '') {
       return str;
     }
     for (i = 0; i < length; i++) {
@@ -117,7 +117,11 @@
       }
     }
     for (i = 0; i < 3; i++) {
-      parts[i] = this.expandPart(parts[i], i);
+      if ((parts[i] === '0' || parts[i] === '00') && (this.dateParts[i] === 'D' || this.dateParts[i] === 'M')) {
+        return str;
+      } else {
+        parts[i] = this.expandPart(parts[i], i);
+      }
     }
     return parts[0] + this.dateSeparator + parts[1] + this.dateSeparator
         + parts[2];
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-list-filter.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-list-filter.js	Thu Jan 26 09:16:54 2012 +0100
@@ -30,6 +30,19 @@
   filterOnKeypress: false,
   addUnknownValues: false,
   
+  init: function() {
+    if (this.valueMap) {
+      // add the empty value in this way to make sure that the 
+      // space is shown first
+      this.valueMap = isc.addProperties({'' : ''}, this.valueMap);
+    }
+    this.Super('init', arguments);
+  },
+
+  setValueMap: function(valueMap) {
+    this.Super('setValueMap', [isc.addProperties({'' : ''}, valueMap)]);
+  },
+  
   // note: can't override changed as it is used by the filter editor 
   // itself, see the RecordEditor source code and the changed event
   change: function(form, item, value, oldValue) {
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-list.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-list.js	Thu Jan 26 09:16:54 2012 +0100
@@ -45,15 +45,18 @@
 
   moveFocusOnPickValue: true,
 
-  // only fire change if a value gets picked
-  // explicitly
-  handleChange: function() {
-    if (!this._pickedValue) {
+  hidePickListOnBlur: function() {
+    
+    // when the form gets redrawn the the focus may not be in
+    // the item but it is still the item which gets the focus
+    // after redrawing
+    if (this.form && this.form._isRedrawing && this.form.getFocusItem() === this) {
       return;
     }
-    return this.Super('handleChange', arguments);
+    
+    this.Super('hidePickListOnBlur', arguments);
   },
-
+  
   // is overridden to keep track that a value has been explicitly picked
   pickValue: function(value) {
     this._pickedValue = true;
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-minidaterange.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-minidaterange.js	Thu Jan 26 09:16:54 2012 +0100
@@ -61,6 +61,10 @@
   // after leaving the quantity field the next time the rangeitem is visited the 
   // focus should go to the value field again
   blur: function() {
+    if (this.form && this.form._isRedrawing) {
+      return;
+    }
+
     this.Super('blur', arguments);
     this.form.setFocusItem(this.form.getItem('valueField'));
   }
@@ -257,6 +261,10 @@
   },
   
   blur: function() {
+    if (this.form && this.form._isRedrawing) {
+      return;
+    }
+
     if (this.expandSingleValue()) {
       this.form.grid.performAction();
     }    
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-number.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-number.js	Thu Jan 26 09:16:54 2012 +0100
@@ -429,6 +429,16 @@
   blur: function(){
     var value;
     
+    if (this.form && this.form._isRedrawing) {
+      return;
+    }
+
+    // prevent validation/blurhandling when we are showing the editor and moving
+    // the focus around
+    if (this.form && this.form.grid && this.form.grid._showingEditor) {
+      return;
+    }
+
     if (this.doBlurLogic) {
       this.validate();  
 
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-search-attribute.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-search-attribute.js	Thu Jan 26 09:16:54 2012 +0100
@@ -47,5 +47,14 @@
     parameters[index++] = 'inpProduct';
     parameters[index++] = values.inpmProductId;
     this.openSearchWindow('/info/AttributeSetInstance.html', parameters, this.getValue());
+  },
+
+  isDisabled:function(){
+    if (this.form.values.ATTRIBUTESET && this.form.values.ATTRIBUTESET!=='') {
+      this.Super('isDisabled', arguments);
+    } else {
+      return true;
+    }
   }
+
 });
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-section.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-section.js	Thu Jan 26 09:16:54 2012 +0100
@@ -39,6 +39,13 @@
   
   alwaysTakeSpace: false,
 
+  click: function() {
+    this.focusInItem();
+    
+    var ret = this.Super('click', arguments);
+    return ret;
+  },
+
   setSectionItemInContent: function(form) {
     var i = 0, length = this.itemIds.length;
     for (i = 0; i < length; i++) {
@@ -68,7 +75,7 @@
         if (item.hiddenInForm) {
           continue;
         }
-        if (item.visible || item.displayed !== false) {
+        if (item.displayed !== false) {
           item.alwaysTakeSpace = flag;
         }
       }
@@ -76,67 +83,24 @@
   },
   
   collapseSection: function(preventFocusChange) {
-    // when collapsing set the focus to the header
     this.updateAlwaysTakeSpace(false);
-    if (!preventFocusChange && this.isDrawn() && this.isVisible()) {
-      this.form.setFocusItem(this);
-    }
+
     var ret = this.Super('collapseSection', arguments);
     return ret;
   },
   
   expandSection: function() {
-    var enabled = this.isDrawn() && this.isVisible();
-
     this.updateAlwaysTakeSpace(true);
 
-    if (enabled && this.form.getFocusItem()) {
-      this.form.getFocusItem().blurItem();
-    }
-
     var ret = this.Super('expandSection', arguments);
-    
-    if (enabled && !this.form._preventFocusChanges) {
-      // when expanding set the focus to the first focusable item     
-      // set focus late to give the section time to draw and let
-      // other items to loose focus/redraw
-      this.delayCall('setNewFocusItemExpanding', [], 100);
-      
-      // NOTE: if the layout structure changes then this needs to be 
-      // changed probably to see where the scrollbar is to scroll
-      // the parentElement is not set initially when drawing
-      if (this.form.parentElement) {
-        // scroll after things have been expanded
-        this.form.parentElement.delayCall('scrollTo', [null, this.getTop()], 100);    
-      }
-    }
-
     return ret;
   },
-
-  setNewFocusItemExpanding: function(){
-    var newFocusItem = null, i, length = this.itemIds.length;
-    for (i = 0; i < length; i++) {
-      var itemName = this.itemIds[i], item = this.form.getItem(itemName);
-      // isFocusable is a method added in ob-smartclient.js
-      if (item.isFocusable()) {
-        newFocusItem = item;
-        break;
-      }
-    }
-    if (!newFocusItem && this.handleFocus && this.handleFocus()) {
-      return;
-    } else if (!newFocusItem) {
-      this.focusInItem();
-    } else {
-      newFocusItem.focusInItem();
-    }
-  },
-
+    
   showIf: function(item, value, form, values) {
     var i, field, length;
-
-    if(!this.itemIds) {
+    
+    if (!this.itemIds || item.hiddenInForm === true || item.displayed === false ) {
+      this.updateAlwaysTakeSpace(false); // To avoid an empty space if the section is not shown
       return false;
     }
     
@@ -145,7 +109,7 @@
     for (i = 0; i < length; i++) {
       field = form.getItem(this.itemIds[i]);
 
-      if(!field || (item.visible === false || item.displayed === false || item.hiddenInForm === true)) {
+      if(!field || field.displayed === false || field.hiddenInForm === true) {
         continue;
       }
 
@@ -157,6 +121,8 @@
         return true;
       }
     }
+    
+    this.updateAlwaysTakeSpace(false); // To avoid an empty space if the section is not shown
     return false;
   }
 });
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-time.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-time.js	Thu Jan 26 09:16:54 2012 +0100
@@ -25,21 +25,41 @@
   operator: 'equals',
   validateOnExit: true,
   showHint: false,
+  timeFormatter: 'to24HourTime',
   displayFormat: 'to24HourTime',
   short24TimeFormat: 'HH:MM:SS',
   shortTimeFormat: 'HH:MM:SS',
   long24TimeFormat: 'HH:MM:SS',
   longTimeFormat: 'HH:MM:SS',
+ 
   
   // make sure that the undo/save buttons get enabled, needs to be done like
-  // this because changeOnKeypress is false
+  // this because changeOnKeypress is false. Activating changeOnKeypress makes the
+  // item not editable as it is reformatted on keyStroke, the same happens calling
+  // from this method form.itemChangeActions
   keyPress: function(item, form, keyName, characterValue){
+    var i, f = this.form,
+        toolBarButtons = f.view.toolBar.leftMembers;
+    
     if (characterValue || keyName === 'Backspace' || keyName === 'Delete') {
-      if (this.form.itemChangeActions) {
-        this.form.itemChangeActions();
+      f.setHasChanged(true);
+      f.view.messageBar.hide();
+      for (i = 0; i < toolBarButtons.length; i++) {
+        if (toolBarButtons[i].updateState) {
+          toolBarButtons[i].updateState();
+        }
       }
     }
-    return this.Super('keyPress', arguments);
+   this.Super('keyPress', arguments);
+  },
+
+  // SmartClient's TimeItem doesn't keep time zone. Preserve it in case the
+  // string contains time zone. So time in this format is kept: 12:00+01:00
+  setValue: function(value){
+    if (isc.isA.String(value) && (value.contains('+') || value.contains('-'))) {
+      value = isc.Time.parseInput(value,null,null,true);
+    }
+    return this.Super('setValue', arguments);
   }
 });
 
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-form-button.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-form-button.js	Thu Jan 26 09:16:54 2012 +0100
@@ -26,3 +26,21 @@
   baseStyle: 'OBFormButton',
   titleStyle: 'OBFormButtonTitle'
 });
+
+
+// == OBFocusButton ==
+// Invisible button. It changes the focus location when it gets the focus.
+isc.ClassFactory.defineClass('OBFocusButton', isc.Button);
+
+isc.OBFocusButton.addProperties({
+  title: '',
+  width: 1,
+  height: 1,
+  border: '0px solid',
+  getFocusTarget: null,
+  focusChanged: function(hasFocus) {
+    if (hasFocus && typeof this.getFocusTarget === 'function' && typeof this.getFocusTarget().focus === 'function') {
+      this.getFocusTarget().focus();
+    }
+  }
+});
\ No newline at end of file
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-onchange-registry.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-onchange-registry.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011 Openbravo SLU
+ * All portions are Copyright (C) 2011-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -22,7 +22,7 @@
 // tab and field combination. Multiple callouts can be registered
 // for one field.
 OB.OnChangeRegistry = {
-    registry: [],
+    registry: {},
     
     register: function(tabId, field, callback, id) {
       var tabEntry, fieldEntry, i, overwritten = false;
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-statusbar.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-statusbar.js	Thu Jan 26 09:16:54 2012 +0100
@@ -391,6 +391,7 @@
             arrayTitleField[1][i]._value = arrayTitleField[1][i].contents;
 
             arrayTitleField[1][i].show();
+            arrayTitleField[1][i].inStatusBar = true;
             this.content.addMember(arrayTitleField[1][i]);
             continue;
           }
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-attachments.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-attachments.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011 Openbravo SLU
+ * All portions are Copyright (C) 2011-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -42,7 +42,7 @@
   
   prompt: OB.I18N.getLabel('OBUIAPP_AttachmentPrompt'),
   
-  canvasItem: null,
+  attachmentCanvasItem: null,
   
   visible: false,
   
@@ -61,10 +61,10 @@
   },
 
   getAttachmentPart: function(){
-    if (!this.canvasItem) {
-      this.canvasItem = this.form.getField(this.itemIds[0]);
+    if (!this.attachmentCanvasItem) {
+      this.attachmentCanvasItem = this.form.getField(this.itemIds[0]);
     }
-    return this.canvasItem.canvas;
+    return this.attachmentCanvasItem.canvas;
   },
   
   setRecordInfo: function(entity, id, tabId){
@@ -374,7 +374,7 @@
               canvas.fillAttachments(data.attachments);
             });
           }
-        },{title: OB.I18N.getLabel('OBUIAPP_ConfirmRemoveTitle')});
+        },{title: OB.I18N.getLabel('OBUIAPP_DialogTitle_RemoveAttachments')});
       }
     });
     hLayout.addMember(downloadAllButton);
@@ -403,7 +403,7 @@
               canvas.fillAttachments(data.attachments);
             });
           }
-        },{title: OB.I18N.getLabel('OBUIAPP_ConfirmRemoveTitle')});
+        },{title: OB.I18N.getLabel('OBUIAPP_DialogTitle_RemoveAttachment')});
       };
     
       length = attachments.length;
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-linked-items.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-linked-items.js	Thu Jan 26 09:16:54 2012 +0100
@@ -44,7 +44,7 @@
   
   prompt: OB.I18N.getLabel('OBUIAPP_LinkedItemsPrompt'),
   
-  canvasItem: null,
+  linkedItemCanvasItem: null,
   
   visible: false,
   
@@ -63,10 +63,10 @@
   },
   
   getLinkedItemPart: function(){
-    if (!this.canvasItem) {
-      this.canvasItem = this.form.getField(this.itemIds[0]);
+    if (!this.linkedItemCanvasItem) {
+      this.linkedItemCanvasItem = this.form.getField(this.itemIds[0]);
     }
-    return this.canvasItem.canvas;
+    return this.linkedItemCanvasItem.canvas;
   },
   
   setRecordInfo: function(entity, id){
@@ -165,7 +165,8 @@
       useSimpleHttp: true,
       actionURL: actionURL
     };
-    
+    this.linkedItemCategoryListGrid.setData([]);
+    this.linkedItemCategoryListGrid.showLoadingMessage();
     isc.RPCManager.sendRequest(reqObj);
   },
   
@@ -215,6 +216,8 @@
       useSimpleHttp: true,
       actionURL: actionURL
      };
+    this.linkedItemListGrid.setData([]);
+    this.linkedItemListGrid.showLoadingMessage();
     isc.RPCManager.sendRequest(reqObj);
     }
   },
@@ -261,6 +264,8 @@
       showFilterEditor: true,
       selectionType: 'single',
       filterOnKeypress: true,
+      loadingDataMessage: OB.I18N.getLabel('OBUISC_ListGrid.loadingDataMessage'),
+      emptyDataMessage: OB.I18N.getLabel('OBUIAPP_LinkedItemsEmptyMessage'),
       emptyMessage: OB.I18N.getLabel('OBUIAPP_LinkedItemsEmptyMessage'),
       layout: this,
       recordClick: 'this.layout.openLinkedItemInNewWindow(record)',
@@ -271,6 +276,18 @@
       filterData: function(criteria, callback, requestProperties){
         this.checkShowFilterFunnelIcon(criteria);
         return this.Super('filterData', arguments);
+      },
+      showLoadingMessage: function () {
+        this.emptyMessage = this.loadingDataMessage;
+      },
+      showNoRowsMessage: function () {
+                this.emptyMessage = this.emptyDataMessage;
+      },
+      dataArrived: function (startRow, endRow) {
+        if (startRow === 0 && endRow === -1) {
+          this.showNoRowsMessage();
+        }
+        return this.Super('dataArrived', arguments);
       }
     });
     
@@ -293,6 +310,8 @@
       height: 300,
       dataSource: this.linkedItemCategoryDS,
       layout: this,
+      emptyDataMessage: this.emptyMessage,
+      loadingDataMessage: OB.I18N.getLabel('OBUISC_ListGrid.loadingDataMessage'),
       recordClick: 'this.layout.loadLinkedItems(record)',
       showFilterEditor: true,
       selectionType: 'single',
@@ -305,6 +324,18 @@
       filterData: function(criteria, callback, requestProperties){
         this.checkShowFilterFunnelIcon(criteria);
         return this.Super('filterData', arguments);
+      },
+      showLoadingMessage: function () {
+        this.emptyMessage = this.loadingDataMessage;
+      },
+      showNoRowsMessage: function () {
+        this.emptyMessage = this.emptyDataMessage;
+      },
+      dataArrived: function (startRow, endRow) {
+        if (startRow === 0 && endRow === -1) {
+          this.showNoRowsMessage();
+        }
+        return this.Super('dataArrived', arguments);
       }
     });
     
@@ -420,4 +451,4 @@
     return false;
   }
   
-});
+});
\ No newline at end of file
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-notes.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-notes.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011 Openbravo SLU
+ * All portions are Copyright (C) 2011-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s): Valery Lezhebokov.
  ************************************************************************
@@ -41,7 +41,7 @@
 
   prompt : OB.I18N.getLabel('OBUIAPP_NotesPrompt'),
 
-  canvasItem : null,
+  noteCanvasItem : null,
 
   visible : true,
   
@@ -80,10 +80,10 @@
   },
 
   getNotePart : function() {
-    if (!this.canvasItem) {
-      this.canvasItem = this.form.getField(this.itemIds[0]);
+    if (!this.noteCanvasItem) {
+      this.noteCanvasItem = this.form.getField(this.itemIds[0]);
     }
-    return this.canvasItem.canvas;
+    return this.noteCanvasItem.canvas;
   },
 
   setRecordInfo : function(entity, id) {
@@ -101,10 +101,10 @@
 
   hide: function() {
     this.Super('hide',arguments);
-    if (this.canvasItem) {
+    if (this.noteCanvasItem) {
       // Solves issue #16663: Forcing call to canvas hide. 
       // Shouldn't this be invoked by SmartClient 
-      this.canvasItem.hide();
+      this.noteCanvasItem.hide();
     }
   }
 
@@ -177,14 +177,14 @@
         });
         noteSection.setNoteCount(noteSection.noteCount - 1);
       }
-    },{title: OB.I18N.getLabel('OBUIAPP_ConfirmRemoveTitle')});
+    },{title: OB.I18N.getLabel('OBUIAPP_DialogTitle_DeleteNote')});
   },
 
   /**
    * Returns Notes data source.
    */
   getNoteDataSource : function() {
-    return isc.DataSource.getDataSource(this.noteDSId);
+    return this.noteListGrid.dataSource;
   },
 
   /**
@@ -193,9 +193,6 @@
   initWidget : function() {
     this.Super('initWidget', arguments);
 
-    // register note DS
-    OB.Datasource.get(this.noteDSId);
-
     var hLayout = isc.HLayout.create({
       width : '50%',
       height : '100%',
@@ -260,7 +257,6 @@
       alternateRecordStyles : false,
       autoFetchData : true,
       baseStyle : 'OBNoteListGridCell',
-      dataSource : this.noteDSId,
       fixedRecordHeights : false,
       filterOnKeypress : true,
       headerHeight : 0,
@@ -272,6 +268,10 @@
       showEmptyMessage : false,
       styleName : 'OBNoteListGrid',
       wrapCells : true,
+      
+      setDataSource: function (dataSource, fields) {
+        this.Super('setDataSource', [dataSource, this.fields]);
+      },
 
       fetchData : function(criteria, callback, requestProperties) {
         if (this.layout.getForm() && this.layout.getForm().noteSection && 
@@ -363,7 +363,9 @@
     });
     
     this.addMember(this.noteListGrid);
-
+    
+    // register note DS
+    OB.Datasource.get(this.noteDSId, this.noteListGrid, null, true);
   },
 
   /**
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2010-2011 Openbravo SLU
+ * All portions are Copyright (C) 2010-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -255,13 +255,35 @@
       if (enable) {
         this.noteSection.setRecordInfo(this.view.entity, this.getValue(OB.Constants.ID));
         this.noteSection.collapseSection(true);
+        delete this.noteSection.hiddenInForm;
         this.noteSection.refresh();
         this.noteSection.show();
       } else {
+        this.noteSection.hiddenInForm = true;
         this.noteSection.hide();
       }
   },
   
+  enableAuditSection: function(enable){
+      var auditSection,i;
+      for(i=0;i<this.items.length;i++) {
+        if(this.items[i].type==='OBAuditSectionItem') {
+          auditSection = this.items[i];
+        }
+      }
+      if (!auditSection) {
+        return;
+      }
+      if (enable) {
+        delete auditSection.hiddenInForm;
+        auditSection.show();
+      } else {
+        auditSection.collapseSection(false);
+        auditSection.hiddenInForm = true;
+        auditSection.hide();
+      }
+  },
+
   enableLinkedItemSection: function(enable){
     if (!this.linkedItemSection) {
       return;
@@ -269,8 +291,10 @@
     if (enable) {
       this.linkedItemSection.collapseSection(true);
       this.linkedItemSection.setRecordInfo(this.view.entity, this.getValue(OB.Constants.ID));
+      delete this.linkedItemSection.hiddenInForm;
       this.linkedItemSection.show();
     } else {
+      this.linkedItemSection.hiddenInForm = true;
       this.linkedItemSection.hide();
     }
   },
@@ -279,11 +303,13 @@
     if (!this.attachmentsSection) {
       return;
     }
-    if(enable){
+    if (enable) {
       this.attachmentsSection.collapseSection(true);
       this.attachmentsSection.setRecordInfo(this.view.entity, this.getValue(OB.Constants.ID), this.view.tabId);
+      delete this.attachmentsSection.hiddenInForm;
       this.attachmentsSection.show();
-    }else{
+    } else {
+      this.attachmentsSection.hiddenInForm = true;
       this.attachmentsSection.hide();
     }
   },
@@ -322,6 +348,7 @@
     this.enableNoteSection(!isNew);
     this.enableLinkedItemSection(!isNew);
     this.enableAttachmentsSection(!isNew);
+    this.enableAuditSection(!isNew);
     
     if (isNew) {
       this.view.statusBar.newIcon.prompt = OB.I18N.getLabel('OBUIAPP_NewIconPrompt');
@@ -899,7 +926,8 @@
     } else if (columnValue.value || columnValue.value === 0 || columnValue.value === false) {
       isDate = field.type &&
       (isc.SimpleType.getType(field.type).inheritsFrom === 'date' ||
-      isc.SimpleType.getType(field.type).inheritsFrom === 'datetime');
+      isc.SimpleType.getType(field.type).inheritsFrom === 'datetime' ||
+      isc.SimpleType.getType(field.type).inheritsFrom === 'time');
       if (isDate) {
         this.setItemValue(field.name, isc.Date.parseSchemaDate(columnValue.value));
       } else if(columnValue.hasDateDefault){
@@ -1068,8 +1096,12 @@
       return;
     }
 
+    if (this.grid) {
+      this.grid.setEditValue(this.grid.getEditRow(), item.name, value); 
+    }
+    
     this.setValue(item, value);
-
+    
     // fire any new callouts
     if (this.view) {
       view = this.view;
@@ -1078,7 +1110,7 @@
     }
 
     if (view && OB.OnChangeRegistry.hasOnChange(view.tabId, item)) {
-      OB.OnChangeRegistry.call(view.tabId, item, view, view.viewForm, view.viewGrid);
+      OB.OnChangeRegistry.call(view.tabId, item, view, this, view.viewGrid);
     }
   },
   
@@ -1103,7 +1135,7 @@
       }
 
       if (view && OB.OnChangeRegistry.hasOnChange(view.tabId, item)) {
-        OB.OnChangeRegistry.call(view.tabId, item, view, view.viewForm, view.viewGrid);
+        OB.OnChangeRegistry.call(view.tabId, item, view, this, view.viewGrid);
       } else {
         // call the classic callout if there
         length = this.dynamicCols.length;
@@ -1379,6 +1411,15 @@
         // of the attachments section are created
         if(savingNewRecord){
           this.attachmentsSection.fillAttachments(null);
+          // We also do a call to the FIC on SETSESSION mode to set the session variables
+          // to fix issue 18453
+          var sessionProperties = this.view.getContextInfo(true, true, false, true);
+          OB.RemoteCallManager.call('org.openbravo.client.application.window.FormInitializationComponent', sessionProperties, {
+            MODE: 'SETSESSION',
+            TAB_ID: this.view.tabId,
+            PARENT_ID: this.view.getParentId(),
+            ROW_ID: this.values.id
+          }, null);
         }
         
       } else if (status === isc.RPCResponse.STATUS_VALIDATION_ERROR && resp.errors) {
@@ -1647,7 +1688,9 @@
   },
   
   redraw: function() {
+    this._isRedrawing = true;
     this.Super('redraw', arguments);
+    delete this._isRedrawing;
     this.selectOnFocus = this.previousSelectOnFocus;
     delete this.previousSelectOnFocus;
   },
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-grid.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-grid.js	Thu Jan 26 09:16:54 2012 +0100
@@ -35,7 +35,28 @@
   poolComponentsPerColumn: true,
   showRecordComponents: true,
   escapeHTML: true,
-  bodyProperties: {canSelectText:true},
+  bodyProperties: {
+    canSelectText:true,
+ 
+    // the redraw on change should not only redraw the current item
+    // but the whole edit row, make sure that happens asynchronously
+    redrawFormItem: function(item, reason) {
+      var lg = this.grid, row = lg.getEditRow(), 
+        col = lg.getColNum(item.getFieldName());
+      
+      // If the user has edited the cell, or setValue() has been called on the item
+      // we don't want a call to redraw() on the item to drop that value
+      if (lg.getEditCol() === col) {
+        lg.storeUpdatedEditorValue();
+      }
+      
+      if (row === 0 || row > 0) {
+        lg.fireOnPause('refreshEditRow', function() {
+          lg.refreshRow(row);
+        });
+      }
+    }
+  },
 
   enableShortcuts: function() {
     var me = this;
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2010-2011 Openbravo SLU
+ * All portions are Copyright (C) 2010-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -283,11 +283,14 @@
   
     var ret = this.Super('initWidget', arguments);
     
-    vwState = this.view.standardWindow.getDefaultGridViewState(this.view.tabId);
-    if (vwState) {
-      this.setViewState(vwState);
+    // only personalize if there is a professional license
+    if (!OB.Utilities.checkProfessionalLicense(null, true)) {
+      vwState = this.view.standardWindow.getDefaultGridViewState(this.view.tabId);
+      if (vwState) {
+        this.setViewState(vwState);
+      }
     }
-
+    
     this.noDataEmptyMessage = '<span class="OBGridNotificationText">' + OB.I18N.getLabel('OBUISC_ListGrid.loadingDataMessage') + '</span>'; // OB.I18N.getLabel('OBUIAPP_GridNoRecords')
     this.filterNoRecordsEmptyMessage = '<span class="OBGridNotificationText">' + OB.I18N.getLabel('OBUIAPP_GridFilterNoResults') + '</span>' +
     '<span onclick="window[\'' +
@@ -424,9 +427,41 @@
     delete this.inCellHoverHTML;
     return ret;
   },
- 
+  
+  reorderField: function(fieldNum, moveToPosition){
+    var res = this.Super('reorderField', arguments);
+    if (OB.Utilities.checkProfessionalLicense(null, true)) {
+      this.view.standardWindow.storeViewState();
+    }
+    return res;
+  },
+
+  hideField: function(field, suppressRelayout){
+    var res = this.Super('hideField', arguments);
+    if (OB.Utilities.checkProfessionalLicense(null, true)) {
+      this.view.standardWindow.storeViewState();
+    }
+    return res;
+  },
+
+  showField: function(field, suppressRelayout){
+    var res = this.Super('showField', arguments);
+    if (OB.Utilities.checkProfessionalLicense(null, true)) {
+      this.view.standardWindow.storeViewState();
+    }
+    return res;
+  },
+
+  resizeField: function(fieldNum, newWidth, storeWidth){
+    var res = this.Super('resizeField', arguments);
+    if (OB.Utilities.checkProfessionalLicense(null, true)) {
+      this.view.standardWindow.storeViewState();
+    }
+    return res;
+  },
+  
   // also store the filter criteria
-  getViewState : function (returnObject, includeFilter) {
+  getViewState: function (returnObject, includeFilter) {
     var state = this.Super('getViewState', [returnObject || true]);
 
     if (includeFilter) {
@@ -437,6 +472,9 @@
       }
     }
     
+    // get rid of the selected state
+    delete state.selected;
+    
     if (returnObject) {
       return state;
     }
@@ -799,7 +837,7 @@
     if (this.isOpenDirectMode && this.data && this.data.getLength() >= 1) {
       // now tell the parent grid to refresh on the basis of this parentRecordId also
       if (this.view.parentView) {
-        this.view.parentRecordId = this.data.get(0)[this.view.parentProperty];
+        this.view.parentRecordId = this.data.get(startRow)[this.view.parentProperty];
 
         this.view.parentView.viewGrid.isOpenDirectMode = true;
         // makes sure that the parent refresh will not fire back to cause a child refresh
@@ -1021,7 +1059,7 @@
       criteria.criteria = [];
     }
     
-    if (this.targetRecordId) {
+    if (!this.notRemoveFilter && this.targetRecordId) {
       // do not filter on anything with a targetrecord
       criteria = {
         operator: 'and', 
@@ -1030,11 +1068,6 @@
         
       // add a dummy criteria to force a fetch
       criteria.criteria.push(isc.OBRestDataSource.getDummyCriterion());
-      
-      if (!this.notRemoveFilter) {
-        // remove the filter clause we don't want to use it anymore
-        this.filterClause = null;
-      }
     } else if (this.forceRefresh) {
       // add a dummy criteria to force a fetch
       criteria.criteria.push(isc.OBRestDataSource.getDummyCriterion());
@@ -1668,6 +1701,8 @@
     
     ret = this.Super('startEditing', [rowNum, colNum, suppressFocus, eCe, suppressWarning]);
     
+    this.recomputeCanvasComponents(rowNum);
+    
     return ret;
   },
   
@@ -1689,9 +1724,23 @@
     }
     this.createNewRecordForEditing(insertRow);
     this.startEditing(insertRow);
+    this.recomputeCanvasComponents(insertRow);
     this.view.refreshChildViews();
   },
   
+  // recompute recordcomponents
+  recomputeCanvasComponents: function(rowNum) {
+    var i, fld, length = this.getFields().length;
+
+    // remove client record components in edit mode
+    for (i = 0; i < length; i++) {
+      fld = this.getFields()[i];
+      if (fld.clientClass) {
+        this.refreshRecordComponent(rowNum, i);
+      }
+    }
+  },
+  
   initializeEditValues: function(rowNum, colNum){
     var record = this.getRecord(rowNum);
     // no record create one
@@ -1702,7 +1751,8 @@
   },
   
   createNewRecordForEditing: function(rowNum){
-    // note: the id is dummy, will be replaced when the save succeeds 
+    // note: the id is dummy, will be replaced when the save succeeds, 
+    // it MUST start with _ to identify it is a temporary id 
     var record = {
       _new: true,
       id: '_' + new Date().getTime()
@@ -1839,8 +1889,8 @@
   
   // prevent multi-line content to show strangely
   // https://issues.openbravo.com/view.php?id=17531
-  formatCellValue: function(value, record, rowNum, colNum) {
-    var fld = this.getFields()[colNum];
+  formatDisplayValue: function(value, record, rowNum, colNum) {
+    var fld = this.getFields()[colNum], index;
     
     if (fld.clientClass) {
       return '';
@@ -1850,7 +1900,7 @@
       return value;
     }
   
-    var index = value.indexOf('\n');
+    index = value.indexOf('\n');
     if (index !== -1) {
       return value.substring(0, index) + '...';
     } 
@@ -2153,8 +2203,8 @@
     
     var ret = this.Super('showInlineEditor', [rowNum, colNum, newCell, newRow, suppressFocus]);
     
-    delete this._showingEditor;
     if (!newRow) {
+      delete this._showingEditor;
       return ret;
     }
     
@@ -2196,6 +2246,7 @@
     
     this.view.messageBar.hide();
     
+    delete this._showingEditor;
     return ret;
   },
   
@@ -2462,30 +2513,6 @@
   
   isEditLinkColumn: function(colNum){
     return this.editLinkColNum === colNum;
-  },
-  
-  reorderField: function(fieldNum, moveToPosition){
-    var res = this.Super('reorderField', arguments);
-    this.view.standardWindow.storeViewState();
-    return res;
-  },
-  
-  hideField: function(field, suppressRelayout){
-    var res = this.Super('hideField', arguments);
-    this.view.standardWindow.storeViewState();
-    return res;
-  },
-  
-  showField: function(field, suppressRelayout){
-    var res = this.Super('showField', arguments);
-    this.view.standardWindow.storeViewState();
-    return res;
-  },
-  
-  resizeField: function(fieldNum, newWidth, storeWidth){
-    var res = this.Super('resizeField', arguments);
-    this.view.standardWindow.storeViewState();
-    return res;
   }
   
 });
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-base-view.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-base-view.js	Thu Jan 26 09:16:54 2012 +0100
@@ -40,12 +40,21 @@
   // replacing the current open view there). This is needed for cases
   // when a certain view may only be opened once.
   isSameTab: function(viewId, params){
+    var prop;
+    
+    for (prop in params) {
+      if (params.hasOwnProperty(prop)) {
+        if (params[prop] !== this[prop]) {
+          return false;
+        }
+      }
+    }
+    
     // a common implementation does this, this allows only 
     // one instance of certain view class to be open at one point 
     // in time.
-    // return viewId === this.getClassName();
     // this will allow multiple tabs to be opened:
-    return false;
+    return viewId === this.getClassName();
   },
 
   // ** {{{ OBBaseView.getBookMarkParams() }}} **
@@ -57,6 +66,7 @@
   getBookMarkParams: function() {
     var result = {};
     result.viewId = this.getClassName();
+    result.tabTitle = this.tabTitle;
     return result;
   },
   
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2010-2011 Openbravo SLU
+ * All portions are Copyright (C) 2010-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -1393,11 +1393,13 @@
         return;
       }
     
-      var msg, view = this, deleteCount = this.viewGrid.getSelection().length;
+      var msg, dialogTitle, view = this, deleteCount = this.viewGrid.getSelection().length;
       if (deleteCount === 1) {
         msg = OB.I18N.getLabel('OBUIAPP_DeleteConfirmationSingle');
+        dialogTitle = OB.I18N.getLabel('OBUIAPP_DialogTitle_DeleteRecord');
       } else {
         msg = OB.I18N.getLabel('OBUIAPP_DeleteConfirmationMultiple', [this.viewGrid.getSelection().length]);
+        dialogTitle = OB.I18N.getLabel('OBUIAPP_DialogTitle_DeleteRecords');
       }
     
       var callback = function(ok){
@@ -1485,7 +1487,7 @@
           }
         }
       };
-      isc.ask(msg, callback);
+      isc.ask(msg, callback, {title: dialogTitle});
     }
   },
   
@@ -1705,7 +1707,14 @@
         // if in edit mode then the grid always has the current record selected
         record[OB.Constants.ID] = this.viewGrid.getSelectedRecord()[OB.Constants.ID];
       }
-      
+
+      // New records in grid have a dummy id (see OBViewGrid.createNewRecordForEditing)
+      // whereas new form records don't have it. This temporary id starts with _. Removing this
+      // id so it behaves in the same way in form and grid
+      if (record[OB.Constants.ID] && record[OB.Constants.ID].indexOf('_') === 0) { // startsWith a SC function, is slower than indexOf
+        record[OB.Constants.ID] = undefined;
+      }
+
       length = properties.length;
       for (i = 0; i < length; i++) {
         propertyObj = properties[i];
@@ -1969,7 +1978,6 @@
 
       // correct some stuff coming from the form fields
       if (fld.displayed === false) {
-        fld.canEdit = false;
         fld.visible = true;
         fld.alwaysTakeSpace = true;
       }
@@ -2018,6 +2026,11 @@
         });
       }
 
+      if (!fld.filterEditorProperties) {
+        fld.filterEditorProperties = {};
+      }
+      fld.filterEditorProperties.required = false;
+      
       result.push(fld);
     }
     
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2010-2011 Openbravo SLU
+ * All portions are Copyright (C) 2010-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -58,9 +58,9 @@
     this.views = [];
 
     this.processLayout = isc.VStack.create({
-      height: 1,
-      width: 1,
-      overflow: 'visible',
+      height: '100%',
+      width: '100%',
+      overflow: 'auto',
       visibility: 'hidden'
     });
 
@@ -123,9 +123,7 @@
       if (isc[className]) {
         this.selectedState = this.activeView && this.activeView.viewGrid && this.activeView.viewGrid.getSelectedState();
         this.runningProcess = isc[className].create(isc.addProperties({}, params, {
-          parentWindow: this,
-          width: this.width,
-          height: this.height
+          parentWindow: this
         }));
 
         this.processLayout.addMember(this.runningProcess);
@@ -264,6 +262,11 @@
   setPersonalization: function(personalization) {
     var i, defaultView, persDefaultValue, views, length, me = this;
     
+    // only personalize if there is a professional license
+    if (!OB.Utilities.checkProfessionalLicense(null, true)) {
+      return;
+    }
+    
     // cache the original view so that it can be restored
     if (!this.getClass().originalView) {
       this.getClass().originalView = {};
@@ -306,6 +309,19 @@
       // maybe do this in a separate thread
       if (defaultView) {
         OB.Personalization.applyViewDefinition(defaultView.personalizationId, defaultView.viewDefinition, this);
+      } else { 
+        // only apply the default form/grid if there are no views
+        // otherwise you get strange interference
+        // check the default form and grid viewstates
+        length = this.views.length;
+        for (i = 0; i < length; i++) {
+          if (personalization.forms && personalization.forms[this.views[i].tabId]) {
+            OB.Personalization.personalizeForm(personalization.forms[this.views[i].tabId], this.views[i].viewForm);
+          }
+          if (this.viewState && this.viewState[this.views[i].tabId]) {
+            this.views[i].viewGrid.setViewState(this.viewState[this.views[i].tabId]);
+          }
+        }
       }
       
       this.getClass().personalization.views.sort(function(v1, v2) {
@@ -324,12 +340,8 @@
     var views, length, i, personalization = this.getClass().personalization,    
       defaultView,
       persDefaultValue = OB.PropertyStore.get('OBUIAPP_DefaultSavedView', this.windowId);
-
-    if (!personalization) {
-      return null;
-    }
     
-    if (personalization.views) {
+    if (personalization && personalization.views) {
       views = personalization.views;
       length = views.length;
       if (persDefaultValue) {
@@ -353,6 +365,10 @@
     if (defaultView && defaultView.viewDefinition && 
         defaultView.viewDefinition[tabId]) {
       return defaultView.viewDefinition[tabId].grid;
+    } 
+        
+    if (this.viewState && this.viewState[tabId]) {
+      return this.viewState[tabId];
     }
     
     return null;
@@ -833,11 +849,13 @@
 
   storeViewState: function(){
     var result = {}, i, length = this.views.length;
+    
     for (i = 0; i < length; i++) {
-      if(this.views[i].viewGrid){
-        result[this.views[i].tabId]=this.views[i].viewGrid.getViewState();
+      if ( this.views[i].viewGrid ) {
+        result[this.views[i].tabId] = this.views[i].viewGrid.getViewState();
       }
     }
+    this.viewState = result;
     OB.PropertyStore.set('OBUIAPP_GridConfiguration', result, this.windowId);
   }
 });
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-help-about-widget.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-help-about-widget.js	Thu Jan 26 09:16:54 2012 +0100
@@ -40,14 +40,51 @@
     OB.TestRegistry.register('org.openbravo.client.application.HelpAboutWidget', this);
     this.Super('initWidget', arguments);
   },
+
+  doShow: function(){
+    this.Super('doShow', arguments);
+    var me = this, focusInFirstHelpItem;
+    focusInFirstHelpItem = function() {
+      if (me.members[0].members[1]) {
+        me.members[0].members[1].focus(); 
+      }
+      if (isc.EH.getFocusCanvas() === me.members[0].members[1]) { // Sometimes the focus is not positioned in the previous step
+        return;
+      } else {
+        setTimeout(function() { focusInFirstHelpItem(); }, 10);
+      }
+    };
+    focusInFirstHelpItem();
+  },
   
   beforeShow: function(){
     // determine if the help should be displayed or not
-    var tabPane = null, aboutLink = null, helpLink = null, helpView = null;
-    
+    var tabPane = null, aboutLink = null, helpLink = null, helpView = null, dummyFirstField = null, dummyLastField = null;
+
+    dummyFirstField = isc.OBFocusButton.create({
+      getFocusTarget: function() {
+        return isc.OBQuickRun.currentQuickRun.members[0].members[isc.OBQuickRun.currentQuickRun.members[0].getMembers().length-2];
+      }
+    });
+
+    dummyLastField = isc.OBFocusButton.create({
+      getFocusTarget: function() {
+        return isc.OBQuickRun.currentQuickRun.members[0].members[1];
+      }
+    });
+
     aboutLink = isc.OBHelpAboutLinkButton.create({
       name: 'aboutLink',
       title: OB.I18N.getLabel('UINAVBA_About'),
+      keyPress: function(){
+        var key = isc.EventHandler.getKey();
+        if (key === 'Escape') {
+          if (isc.OBQuickRun.currentQuickRun) {
+            isc.OBQuickRun.currentQuickRun.doHide();
+          }
+        }
+        return true;
+      },
       action: function(){
         isc.OBQuickRun.hide();
         OB.Layout.ClassicOBCompatibility.Popup.open('About', 620, 500, OB.Application.contextUrl + 'ad_forms/about.html', '', window);
@@ -57,6 +94,15 @@
     helpLink = isc.OBHelpAboutLinkButton.create({
       name: 'helpLink',
       title: OB.I18N.getLabel('UINAVBA_Help'),
+      keyPress: function(){
+        var key = isc.EventHandler.getKey();
+        if (key === 'Escape') {
+          if (isc.OBQuickRun.currentQuickRun) {
+            isc.OBQuickRun.currentQuickRun.doHide();
+          }
+        }
+        return true;
+      },
       action: function(){
         isc.OBQuickRun.hide();
         OB.Layout.ViewManager.openView(helpView.viewId, helpView);
@@ -74,15 +120,17 @@
       this.members[0].destroyAndRemoveMembers(this.members[0].getMembers().duplicate());
     } 
     if (!tabPane) {
-      this.members[0].setMembers([aboutLink]);
+      this.members[0].addMembers([aboutLink]);
     } else {
       helpView = tabPane.getHelpView();
       if (!helpView) {
-        this.members[0].setMembers([aboutLink]);
+        this.members[0].addMembers([aboutLink]);
       } else {
-        this.members[0].setMembers([helpLink, aboutLink]);
+        this.members[0].addMembers([helpLink, aboutLink]);
       }
     }
+    this.members[0].addMembers(dummyFirstField, 0);
+    this.members[0].addMembers(dummyLastField, this.members[0].getMembers().length);
     OB.TestRegistry.register('org.openbravo.client.application.HelpAbout.HelpLink', helpLink);
     OB.TestRegistry.register('org.openbravo.client.application.HelpAbout.AboutLink', aboutLink);
   },
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quick-launch.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quick-launch.js	Thu Jan 26 09:16:54 2012 +0100
@@ -23,12 +23,6 @@
   recentObject: null,
   prefixLabel: null,
   action: function(){
-    // getting the last event prevents an error in chrome
-    // https://issues.openbravo.com/view.php?id=16847
-    var lastEvent = isc.EventHandler.getLastEvent();
-    if (!isc.EventHandler.leftButtonDown()) {
-      return;
-    }
     OB.RecentUtilities.addRecent(this.recentPropertyName, this.recentObject);
     if (this.recentObject.viewId) {
       OB.Layout.ViewManager.openView(this.recentObject.viewId, this.recentObject);
@@ -88,22 +82,27 @@
           index++;
         }
       }
-      if (this.members[0].getMembers()) {
-        this.members[0].destroyAndRemoveMembers(this.members[0].getMembers().duplicate());
-      } 
+      if (this.members[1].getMembers()) {
+        this.members[1].destroyAndRemoveMembers(this.members[1].getMembers().duplicate());
+      }
 
-      this.members[0].setMembers(newFields);
+      this.members[1].setMembers(newFields);
 
-      this.layout.showMember(this.members[0]);
+      if (this.separatorHeight) {
+        this.members[1].layoutBottomMargin = this.separatorHeight;
+        this.members[1].setLayoutMargin();
+      }
+
+      this.layout.showMember(this.members[1]);
     }
-    this.members[1].getField('value').setValue(null);
-    this.members[1].getField('value').setElementValue('', null);
+    this.members[2].getField('value').setValue(null);
+    this.members[2].getField('value').setElementValue('', null);
   },
 
   // handle the case that someone entered a url in the quick launch
   doHide: function(){
-    if (this.members[1].getField('value').getValue() && this.members[1].getField('value').getValue().contains('?')) {
-      var params = OB.Utilities.getUrlParameters(this.members[1].getField('value').getValue());
+    if (this.members[2].getField('value').getValue() && this.members[2].getField('value').getValue().contains('?')) {
+      var params = OB.Utilities.getUrlParameters(this.members[2].getField('value').getValue());
       if (params && params.tabId) {
         OB.Utilities.openDirectTab(params.tabId, params.recordId, params.command);
       }
@@ -112,7 +111,24 @@
   },
 
   initWidget: function(){
-    this.members = [isc.VLayout.create({
+    var dummyFirstField = isc.OBFocusButton.create({
+      getFocusTarget: function() {
+        return this.parentElement.members[this.parentElement.members.length-2];
+      }
+    });
+    var dummyLastField = isc.OBFocusButton.create({
+      getFocusTarget: function() {
+        var firstFocusableItem;
+        if (this.parentElement.members[1].members.length > 0) {
+          firstFocusableItem = this.parentElement.members[1].members[0];
+        } else {
+          firstFocusableItem = this.parentElement.members[this.parentElement.members.length-2];
+        }
+        return firstFocusableItem;
+      }
+    });
+    this.members = [dummyFirstField,
+    isc.VLayout.create({
       height: 1, //To allow height grow with its contents
       visibility: 'hidden'
     }), isc.DynamicForm.create({
@@ -124,6 +140,7 @@
         cellStyle: OB.Styles.OBFormField.DefaultComboBox.cellStyle,
         titleStyle: OB.Styles.OBFormField.DefaultComboBox.titleStyle,
         textBoxStyle: OB.Styles.OBFormField.DefaultComboBox.textBoxStyle,
+        pendingTextBoxStyle: OB.Styles.OBFormField.DefaultComboBox.pendingTextBoxStyle,
         controlStyle: OB.Styles.OBFormField.DefaultComboBox.controlStyle,
         pickListBaseStyle: OB.Styles.OBFormField.DefaultComboBox.pickListBaseStyle,
         pickListTallBaseStyle: OB.Styles.OBFormField.DefaultComboBox.pickListTallBaseStyle,
@@ -287,14 +304,14 @@
           return result;
         }
       }]
-    })];
+    }), dummyLastField];
 
     var ret = this.Super('initWidget', arguments);
 
     // register the field in the registry
-    var suggestionField = this.members[1].getField('value');
-    OB.TestRegistry.register(this.recentPropertyName + '_RECENTFORM', this.members[0]);
-    OB.TestRegistry.register(this.recentPropertyName + '_FORM', this.members[1]);
+    var suggestionField = this.members[2].getField('value');
+    OB.TestRegistry.register(this.recentPropertyName + '_RECENTFORM', this.members[1]);
+    OB.TestRegistry.register(this.recentPropertyName + '_FORM', this.members[2]);
     OB.TestRegistry.register(this.recentPropertyName + '_BUTTON', this);
     OB.TestRegistry.register(this.recentPropertyName + '_FIELD', suggestionField);
 
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quickrun-widget.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quickrun-widget.js	Thu Jan 26 09:16:54 2012 +0100
@@ -83,7 +83,7 @@
       if (!me.showing) {
         isc.EH.clickMaskClick();
       }
-      me.click();
+      setTimeout(function() {me.click();}, 10); //setTimeout to avoid delayCall function that manages the focus
       return false; //To avoid keyboard shortcut propagation
     };
     OB.KeyboardManager.Shortcuts.set(this.keyboardShortcutId, 'Canvas', ksAction);
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-user-profile-widget.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-user-profile-widget.js	Thu Jan 26 09:16:54 2012 +0100
@@ -98,7 +98,7 @@
      orgField, warehouseField, languageField, checkboxFieldProperties,
      defaultField, clientField, tabSet, pwdButtonLayout, 
      pwdFormLayout, pwdSaveButton, textFieldProperties, 
-     passwordFieldProperties;
+     passwordFieldProperties, dummyFirstField, dummyLastField;
   
     OB.Layout.userProfileWidget = this;
     
@@ -111,6 +111,7 @@
       cellStyle: OB.Styles.OBFormField.DefaultComboBox.cellStyle,
       titleStyle: OB.Styles.OBFormField.DefaultComboBox.titleStyle,
       textBoxStyle: OB.Styles.OBFormField.DefaultComboBox.textBoxStyle,
+      pendingTextBoxStyle: OB.Styles.OBFormField.DefaultComboBox.pendingTextBoxStyle,
       controlStyle: OB.Styles.OBFormField.DefaultComboBox.controlStyle,
       width: '*',
       pickListBaseStyle: OB.Styles.OBFormField.DefaultComboBox.pickListBaseStyle,
@@ -555,8 +556,26 @@
       }]
     });
     widgetInstance.tabSet = tabSet;
+
+    dummyFirstField = isc.OBFocusButton.create({
+      getFocusTarget: function() {
+        var tabSet = this.parentElement.members[1];
+        var selectedTabNumber = tabSet.getSelectedTabNumber();
+        var length1 = tabSet.getTabPane(selectedTabNumber).members.length - 1;
+        var length2 = tabSet.getTabPane(selectedTabNumber).members[length1].members.length - 1;
+        return tabSet.getTabPane(selectedTabNumber).members[length1].members[length2];
+      }
+    });
+
+    dummyLastField = isc.OBFocusButton.create({
+      getFocusTarget: function() {
+        var tabSet = this.parentElement.members[1];
+        var selectedTabNumber = tabSet.getSelectedTabNumber();
+        return tabSet.tabBar.members[selectedTabNumber];
+      }
+    });
     
-    this.members = [tabSet];
+    this.members = [dummyFirstField, tabSet, dummyLastField];
     
     OB.TestRegistry.register('org.openbravo.client.application.navigationbarcomponents.UserProfile.Tabset', tabSet);
     OB.TestRegistry.register('org.openbravo.client.application.navigationbarcomponents.UserProfilePassword.SaveButton', pwdSaveButton);
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views.js	Thu Jan 26 09:16:54 2012 +0100
@@ -142,6 +142,12 @@
       if (view.childTabSet && viewTabDefinition.selectedTab >= 0) {
         view.childTabSet.selectTab(viewTabDefinition.selectedTab);
       }
+
+      // never show the form as this gives unpredictable results 
+      // if there is no record selected etc.
+      if (view.isShowingForm) {
+        view.switchFormGridVisibility();
+      }
       
       if (viewTabDefinition.grid) {
         view.viewGrid.setViewState(viewTabDefinition.grid);
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011 Openbravo SLU
+ * All portions are Copyright (C) 2011-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s): ___________
  ************************************************************************
@@ -180,7 +180,6 @@
     if (dataField) {
       // will be corrected in a later loop
       delete dataField.isStatusBarField;
-      delete dataField.parentName;
       continue;
     }
 
@@ -233,7 +232,7 @@
       for (j = 0; j < dataFields[i].childNames.length; j++) {
         // find is a smartclient extension
         record = dataFields.find('name', dataFields[i].childNames[j]);
-        if (record) {
+        if (record && !record.parentName) {
           record.parentName = dataFields[i].name;
         }
       }
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalize-form.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalize-form.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011 Openbravo SLU
+ * All portions are Copyright (C) 2011-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -597,7 +597,7 @@
   save: function(callback) {
     var params, me = this, newDataFields, 
       formPers = this.form.view.getFormPersonalization();
-
+    
     // if there is a personalization id then use that
     // this ensures that a specific record will be updated
     // on the server
@@ -671,12 +671,6 @@
           if (callback) {
             callback();
           }
-          
-          // update the information in the global class
-          // so that the settings are maintained when the window
-          // is re-opened
-          personalization = me.getStandardWindow().getClass().personalization;
-          personalization[me.tabId] = me.personalizationData;          
         });
   },
 
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-grid.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-grid.js	Thu Jan 26 09:16:54 2012 +0100
@@ -337,13 +337,22 @@
         record = isc.addProperties({}, this.getRecord(rowNum), this.getEditValues(rowNum)),
         fields = this.view.viewProperties.fields,
         len = fields.length,
-        fld, i, value, undef;
+        fld, i, value, undef, type;
 
     for (i = 0; i < len; i++) {
       fld = fields[i];
       value = record[fld.name];
       if (value !== undef) {
-        contextInfo[fld.inpColumnName] = value;
+        if (fld.type) {
+          type = isc.SimpleType.getType(fld.type);
+          if (type.createClassicString) {
+            contextInfo[fld.inpColumnName] = type.createClassicString(value);
+          } else {
+            contextInfo[fld.inpColumnName] = this.view.parentWindow.activeView.convertContextValue(value, fld.type);
+          }
+        } else {
+          contextInfo[fld.inpColumnName] = this.view.parentWindow.activeView.convertContextValue(value, fld.type);
+        }
       }
     }
 
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-view.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-view.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011 Openbravo SLU
+ * All portions are Copyright (C) 2011-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -31,11 +31,12 @@
   showMinimizeButton: false,
   showMaximizeButton: false,
   showFooter: false,
+  showTitle: true,
 
   width: '100%',
   height: '100%',
   overflow: 'auto',
-  position: 'absolute',
+  autoSize: false,
 
   dataSource: null,
 
@@ -55,8 +56,7 @@
     }
 
     okButton = isc.OBFormButton.create({
-      //FIXME: Move to AD_Message
-      title: 'Done',
+      title: OB.I18N.getLabel('OBUIAPP_Done'),
       _buttonValue: 'DONE',
       click: actionClick
     });
@@ -74,6 +74,7 @@
 
     this.dataSource = this.viewProperties.dataSource;
     this.dataSource.view = this;
+    this.title = this.windowTitle;
 
     // the datasource object is defined on viewProperties, do not destroy it
     this.dataSource.potentiallyShared = true;
@@ -81,7 +82,7 @@
     this.viewGrid = isc.OBPickAndExecuteGrid.create({
       view: this,
       fields: this.gridFields,
-      height: (this.parentWindow.height - 200),
+      height: '80%',
       dataSource: this.dataSource,
       gridProperties: this.viewProperties.gridProperties
     });
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-action-button.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-action-button.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011 Openbravo SLU
+ * All portions are Copyright (C) 2011-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -48,13 +48,18 @@
       parameters: [rowNum]
     };
 
-    theView.standardWindow.doActionAfterAutoSave(actionObject);
+    if (this.autosave) {
+      theView.standardWindow.doActionAfterAutoSave(actionObject);
+    } else {
+      OB.Utilities.callAction(actionObject);
+    }
   },
 
   doAction: function (rowNum) {
     var theView = this.contextView,
         me = this,
         standardWindow = this.view.standardWindow,
+        autosaveButton = this.autosave,
         param, allProperties, sessionProperties, callbackFunction, popupParams;
 
     if (rowNum && !theView.viewGrid.getSelectedRecord()) {
@@ -84,6 +89,7 @@
         standardWindow.openProcess({
           processId: me.processId,
           windowId: me.windowId,
+          windowTitle: me.windowTitle,
           actionHandler: me.command,
           buttons: me.labelValue
         });
@@ -96,9 +102,12 @@
     // ad_process definition handling
     if (this.modal) {
       allProperties.Command = this.command;
-      callbackFunction = function(){
+      callbackFunction = function () {
         var popup = OB.Layout.ClassicOBCompatibility.Popup.open('process', 900, 600, OB.Utilities.applicationUrl(me.obManualURL), '', null, false, false, true, allProperties);
-        popup.activeViewWhenClosed = theView;
+        if (autosaveButton) {
+          // Back to header if autosave button
+          popup.activeViewWhenClosed = theView;
+        }
       };
     } else {
       popupParams = {
@@ -126,7 +135,10 @@
     //Keep current view for the callback function. Refresh and look for tab message.
     var contextView = OB.ActionButton.executingProcess.contextView,
         currentView = this.view,
-        afterRefresh = function(){
+        afterRefresh = function (doRefresh) {
+          var undef,
+              refresh = (doRefresh === undef || doRefresh);
+
           // Refresh context view
           contextView.getTabMessage();
           currentView.toolBar.refreshCustomButtons();
@@ -138,21 +150,28 @@
           }
 
           // Refresh in order to show possible new records
-          currentView.refresh(null, false, true);
+          if (refresh) {
+            currentView.refresh(null, false, true);
+          }
         };
 
-    if (currentView.parentView) {
-      currentView.parentView.setChildsToRefresh();
+    if (this.autosave) {
+      if (currentView.parentView) {
+        currentView.parentView.setChildsToRefresh();
+      } else {
+        currentView.setChildsToRefresh();
+      }
+
+      if (currentView.viewGrid.getSelectedRecord()) {
+        // There is a record selected, refresh it and its parent
+        currentView.refreshCurrentRecord(afterRefresh);
+      } else {
+        // No record selected, refresh parent
+        currentView.refreshParentRecord(afterRefresh);
+      }
     } else {
-      currentView.setChildsToRefresh();
-    }
-        
-    if (currentView.viewGrid.getSelectedRecord()) {
-      // There is a record selected, refresh it and its parent
-      currentView.refreshCurrentRecord(afterRefresh);
-    } else {
-      // No record selected, refresh parent
-      currentView.refreshParentRecord(afterRefresh);
+      // If the button is not autosave, do not refresh but get message.
+      afterRefresh(false);
     }
 
     OB.ActionButton.executingProcess = null;
@@ -179,9 +198,12 @@
     }
   },
   
-  updateState: function(record, hide, context) {
-    var currentValues = record || this.contextView.getCurrentValues() || {};
-    if (hide || !record) {
+  updateState: function(record, hide, context, keepNonAutosave) {
+    var currentValues = record || this.contextView.getCurrentValues() || {},
+        // do not hide non autosave buttons when hidding the rest if keepNonAutosave === true
+        hideButton = hide && (!keepNonAutosave || this.autosave);
+
+    if (hideButton || !record) {
       this.hide();
       return;
     }
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2010-2011 Openbravo SLU
+ * All portions are Copyright (C) 2010-2012 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):   Sreedhar Sirigiri (TDS), Mallikarjun M (TDS)
  ************************************************************************
@@ -231,22 +231,62 @@
   ATTACHMENTS_BUTTON_PROPERTIES: {
     action: function(){
       var selectedRows = this.view.viewGrid.getSelectedRecords(),
-          attachmentExists = this.view.attachmentExists, i;
+          attachmentExists = this.view.attachmentExists,
+          attachmentSection = this.view.viewForm.getItem('_attachments_'),
+          me = this, i;
       if(this.view.isShowingForm){
-        this.view.viewForm.getItem('_attachments_').expandSection();
-        this.view.viewForm.scrollToBottom();
+        if (!attachmentSection.isExpanded()) {
+          attachmentSection.expandSection();
+        }
+        attachmentSection.focusInItem();
+        if (this.view.viewForm.parentElement) {
+          // scroll after things have been expanded
+          this.view.viewForm.parentElement.delayCall('scrollTo', [null, attachmentSection.getTop()], 100);
+        }
+
         if(!attachmentExists){
-          this.view.viewForm.getItem('_attachments_').canvasItem.canvas.getMember(0).getMember(0).click();
+          attachmentSection.attachmentCanvasItem.canvas.getMember(0).getMember(0).click();
         }
         return;
       }
       if(selectedRows.size() === 1){
-        this.view.viewForm.setFocusItem(this.view.viewForm.getItem('_attachments_'));
+        this.view.viewForm.setFocusItem(attachmentSection);
         this.view.viewForm.forceFocusedField = '_attachments_';
         this.view.viewForm.expandAttachments = true;
         this.view.editRecord(selectedRows[0]);
+
+        // Move from grid view to form view could take a while.
+        // Section needs to be expanded before the viewport adjustment.
+        var expandedCount = 0, expandedInterval;
+        expandedInterval = setInterval(function() {
+          expandedCount += 1;
+          if(attachmentSection.isExpanded()){
+            me.view.viewForm.parentElement.scrollTo(null, attachmentSection.getTop());
+            clearInterval(expandedInterval);
+          }
+          if (expandedCount === 50) {
+            clearInterval(expandedInterval);
+          }
+        }, 100);
+
         if(!attachmentExists){
-          this.view.viewForm.getItem('_attachments_').canvasItem.canvas.getMember(0).getMember(0).click();
+          if (attachmentSection.attachmentCanvasItem.canvas.getMember(0)) {
+            attachmentSection.attachmentCanvasItem.canvas.getMember(0).getMember(0).click();
+          } else {
+            // The first time the form view is loaded, the section is not already built and it could take a while to be.
+            // Section needs to be built before the click event.
+            var clickCount = 0, clickInterval;
+            clickInterval = setInterval(function() {
+              clickCount += 1;
+              if(attachmentSection.attachmentCanvasItem.canvas.getMember(0)){
+                attachmentSection.attachmentCanvasItem.canvas.getMember(0).getMember(0).click();
+                clearInterval(clickInterval);
+              }
+              if (clickCount === 50) {
+                clearInterval(clickInterval);
+              }
+            }, 100);
+          }
         }
       } else {
         var recordIds = "";
@@ -547,6 +587,13 @@
   // NOTE: new buttons should implement the updateState method.
   //
   updateButtonState: function(noSetSession, changeEvent){
+    var me = this;
+    this.fireOnPause('updateButtonState', function() {
+      me.pausedUpdateButtonState(noSetSession, changeEvent);
+    });
+  },
+   
+  pausedUpdateButtonState: function(noSetSession, changeEvent) { 
     var length = this.leftMembers.length, i, 
       form = this.view.isEditingGrid ? this.view.viewGrid.getEditForm() : this.view.viewForm;
     
@@ -1020,7 +1067,7 @@
   //
   refreshCustomButtons: function(noSetSession){
     var selectedRecords, multipleSelectedRowIds, allProperties, i;
-    function doRefresh(buttons, currentValues, hideAllButtons, me) {
+    function doRefresh(buttons, currentValues, hideAllButtons, noneOrMultipleRecordsSelected, me) {
       var i, length = me.rightMembers.length;
       for (i = 0; i < length; i++) { // To disable any button previous defined keyboard shortcut
         me.rightMembers[i].disableShortcut();
@@ -1028,7 +1075,7 @@
       length = buttons.length;
       for (i = 0; i < length; i++) {
         if (buttons[i].updateState) {
-          buttons[i].updateState(currentValues, hideAllButtons);
+          buttons[i].updateState(currentValues, hideAllButtons, null, !noneOrMultipleRecordsSelected);
         }
       }
       length = me.leftMembers.length;
@@ -1087,7 +1134,7 @@
           }
         }
         currentContext.viewForm.view.attachmentExists = attachmentExists;
-        doRefresh(buttonsByContext[currentContext], currentContext.getCurrentValues() || {}, noneOrMultipleRecordsSelected, me);
+        doRefresh(buttonsByContext[currentContext], currentContext.getCurrentValues() || {}, noneOrMultipleRecordsSelected, noneOrMultipleRecordsSelected, me);
       };
     };
 
@@ -1111,11 +1158,12 @@
         this.hideShowRightMembers(false);
       }
       
-      var noneOrMultipleRecordsSelected = currentContext.viewGrid.getSelectedRecords().length !== 1 && !isNew;
       if (currentContext.viewGrid.getSelectedRecords()) {
         numOfSelRecords = currentContext.viewGrid.getSelectedRecords().length;
       }
 
+      var noneOrMultipleRecordsSelected = numOfSelRecords !== 1 && !isNew;
+
       if (currentValues && !noSetSession && !currentContext.isShowingForm && !isNew && !hideAllButtons) {
         if(this.view.tabId===currentContext.tabId){
           currentTabCalled = true;	
@@ -1137,7 +1185,7 @@
         allProperties = currentContext.getContextInfo(false, true, false, true);
         OB.RemoteCallManager.call('org.openbravo.client.application.window.FormInitializationComponent', allProperties, requestParams, callbackHandler(currentContext, me));
       } else {
-        doRefresh(buttonsByContext[currentContext], currentValues || {}, hideAllButtons || noneOrMultipleRecordsSelected, this);
+        doRefresh(buttonsByContext[currentContext], currentValues || {}, hideAllButtons || noneOrMultipleRecordsSelected, numOfSelRecords !== 1,this);
       }
     }
 
@@ -1174,13 +1222,20 @@
   },
   
   hideShowRightMembers: function(show) {
-    var i;
+    var i, button, context;
     // if showing make sure that they are not always shown
     if (show) {
       this.refreshCustomButtons(false);
     } else {
       for (i = 0; i < this.rightMembers.length; i++) {
-        this.rightMembers[i].hide();
+        button = this.rightMembers[i];
+        if (button.autosave) {
+          button.hide();
+        } else{
+          // do not hide non autosave buttons, keep them in case display logic allows it
+          context = button.contextView;
+          button.updateState(context.getCurrentValues(), false, context.getContextInfo(false, true, true));
+        }
       }
     }
   },
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-utilities.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-utilities.js	Thu Jan 26 09:16:54 2012 +0100
@@ -26,16 +26,18 @@
 // (!= community). If the instance has a community instance then 
 // a popup message is shown and false is returned.
 // The parameter can be used to add a custom message to the popup.
-OB.Utilities.checkProfessionalLicense = function(msg) {
+OB.Utilities.checkProfessionalLicense = function(msg, doNotShowMessage) {
   if(OB.Application.licenseType === 'C') {
-    if (!msg) {
-      msg = '';
-    }
-    isc.warn(OB.I18N.getLabel('OBUIAPP_ActivateMessage', [msg]), {
+    if (!doNotShowMessage) {
+      if (!msg) {
+        msg = '';
+      }
+      isc.warn(OB.I18N.getLabel('OBUIAPP_ActivateMessage', [msg]), {
         isModal: true,
         showModalMask: true,
         toolbarButtons: [isc.Dialog.OK]
-    });
+      });      
+    }
     return false;
   }
   return true;
--- a/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-application-styles.css	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-application-styles.css	Thu Jan 26 09:16:54 2012 +0100
@@ -37,6 +37,10 @@
   color: #333;
 }
 
+* :focus { /* Fixes completely issue: https://issues.openbravo.com/view.php?id=18501 */
+  outline: none;
+}
+
 .pageBackground {
   color: #333333;
   background: #FAFAFA;
--- a/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-form-styles.css	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-form-styles.css	Thu Jan 26 09:16:54 2012 +0100
@@ -48,6 +48,14 @@
  * Form Field Styles 
 =======================================================================*/
 
+.OBLabelCanvasItem,
+.OBLabelCanvasItemDisabled,
+.OBLabelCanvasItemFocused,
+.OBLabelCanvasItemError {
+  font-family: 'lucida sans', sans-serif;
+  padding: 0px 4px 0px 4px;
+}
+
 .OBFormField,
 .OBFormFieldDisabled,
 .OBFormFieldFocused,
@@ -100,6 +108,8 @@
 .OBFormFieldSelectInputError,
 .OBFormFieldSelectInputHint,
 
+.OBFormFieldSelectInputPending,
+
 .OBFormFieldSelectInputRequired,
 .OBFormFieldSelectInputRequiredDisabled,
 .OBFormFieldSelectInputRequiredFocused,
@@ -186,6 +196,8 @@
 .OBFormFieldSelectInputFocused,
 .OBFormFieldSelectInputHint,
 
+.OBFormFieldSelectInputPending,
+
 .OBFormFieldSelectInputRequired,
 .OBFormFieldSelectInputRequiredFocused,
 .OBFormFieldSelectInputRequiredError,
@@ -325,18 +337,24 @@
   border: 1px solid #fa962f;
 }
 
+.OBFormFieldSelectInput,
+.OBFormFieldSelectInputError,
+.OBFormFieldSelectInputSelectedFocused,
+.OBFormFieldSelectInputFocused,
+.OBFormFieldSelectInputDisabled,
+
+.OBFormFieldSelectInputPending,
+
 .OBFormFieldSelectInputRequired,
 .OBFormFieldSelectInputRequiredDisabled,
 .OBFormFieldSelectInputRequiredFocused,
 .OBFormFieldSelectInputRequiredError,
-.OBFormFieldSelectInputRequiredHint,
+.OBFormFieldSelectInputRequiredHint {
+  border-width: 1px 0px 1px 1px;
+}
 
-.OBFormFieldSelectInput,
-.OBFormFieldSelectInputError,
-.OBFormFieldSelectInputSelectedFocused,
-.OBFormFieldSelectInputFocused,
-.OBFormFieldSelectInputDisabled {
-  border-width: 1px 0px 1px 1px;
+.OBFormFieldSelectInputPending {
+  background-color: #FFDFDF;
 }
 
 .OBFormFieldInputRequiredHint,
--- a/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-form-styles.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-form-styles.js	Thu Jan 26 09:16:54 2012 +0100
@@ -60,6 +60,8 @@
 
 isc.OBTimeItem.addProperties(isc.addProperties({}, OB.Styles.OBFormField.DefaultTextItem));
 
+isc.OBFKFilterTextItem.addProperties(isc.addProperties({}, OB.Styles.OBFormField.DefaultTextItem));
+
 isc.OBEncryptedItem.addProperties(isc.addProperties({}, OB.Styles.OBFormField.DefaultTextItem));
 
 isc.OBClientClassCanvasItem.addProperties(isc.addProperties({}, OB.Styles.OBFormField.DefaultTextItem));
@@ -100,10 +102,10 @@
   cellStyle: 'OBFormField',
   titleStyle: 'OBFormFieldLabel',
   textBoxStyle: 'OBFormFieldSelectInput',
+  pendingTextBoxStyle: null, //'OBFormFieldSelectInputPending',
   controlStyle: 'OBFormFieldSelectControl',
   pickerIconStyle: 'OBFormFieldSelectPickerIcon',
   pickListBaseStyle: 'OBFormFieldPickListCell',
-  pendingTextBoxStyle: null,
   // tallbasestyle is used when the cellheight is different
   // from the standard
   pickListTallBaseStyle: 'OBFormFieldPickListCell',
@@ -265,6 +267,9 @@
 
 isc.OBDateTimeItem.addProperties(isc.addProperties({}, OB.Styles.OBFormField.DefaultDateInput));
 
+isc.OBTruncAddMinusDisplay.addProperties({
+  baseStyle: 'OBLabelCanvasItem'
+});
 
 isc.OBNumberItem.addProperties({
   cellStyle: 'OBFormField',
--- a/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-grid-styles.css	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-grid-styles.css	Thu Jan 26 09:16:54 2012 +0100
@@ -77,6 +77,7 @@
 .OBGridCellErrorEditDisabled,
 .OBGridCellErrorEditDisabledDark {
   font-family: arial, sans-serif;
+  font-size: 12px;
   vertical-align: middle;
   border-right: 1px solid #cdd7bb;
   border-bottom: 1px solid #cdd7bb;
--- a/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.css	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.css	Thu Jan 26 09:16:54 2012 +0100
@@ -168,6 +168,16 @@
   padding-right: 10px;
 }
 
+.OBNavBarComponentFormTabButtonTopSelectedFocused,
+.OBNavBarComponentFormTabButtonTopSelectedFocusedOver,
+.OBNavBarComponentFormTabButtonTopSelectedFocusedDown {
+  border-top-color: #fa962f;
+  border-right-color: #fa962f;
+  border-bottom-color: #fff;
+  border-left-color: #fa962f;
+  color: #fa962f;
+}
+
 /*============================================================
   Standard flyout styling
 ============================================================*/
--- a/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.js	Thu Jan 26 09:16:54 2012 +0100
@@ -60,10 +60,11 @@
   // todo: it is nicer to move this to a style but then this issue occurs:
   // https://issues.openbravo.com/view.php?id=13786
   width: 57,
+  separatorHeight: 10,
   
   layoutProperties: {
     width: 250,
-    membersMargin: 10
+    membersMargin: 0 // use custom attribute "separatorHeight" instead
   },
 
   nodeIcons: {
--- a/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <NAME><![CDATA[HTML Widget]]></NAME>
-<!--D393BE6F22BB44B7B728259B34FC795A-->  <VERSION><![CDATA[1.0.14359]]></VERSION>
+<!--D393BE6F22BB44B7B728259B34FC795A-->  <VERSION><![CDATA[1.0.15193]]></VERSION>
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <DESCRIPTION><![CDATA[Provides the HTML Widget superclass that allows to create widget classes that embed the html code.]]></DESCRIPTION>
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <HELP><![CDATA[With this module you can define your own widget classes just setting up your own html code or the html code provided by third parties.]]></HELP>
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <URL><![CDATA[http://forge.openbravo.com/projects/htmlwidget]]></URL>
--- a/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <AD_MODULE_ID><![CDATA[D393BE6F22BB44B7B728259B34FC795A]]></AD_MODULE_ID>
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <AD_DEPENDENT_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_DEPENDENT_MODULE_ID>
-<!--DCE798FBC5B648F7A3C81A6941720A57-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--DCE798FBC5B648F7A3C81A6941720A57-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <DEPENDANT_MODULE_NAME><![CDATA[My Openbravo Tab]]></DEPENDANT_MODULE_NAME>
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--4B828F4D03264080AA1D2057B13F613C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--4B828F4D03264080AA1D2057B13F613C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--4B828F4D03264080AA1D2057B13F613C-->  <NAME><![CDATA[User Interface Client Kernel]]></NAME>
-<!--4B828F4D03264080AA1D2057B13F613C-->  <VERSION><![CDATA[2.1.14359]]></VERSION>
+<!--4B828F4D03264080AA1D2057B13F613C-->  <VERSION><![CDATA[2.1.15193]]></VERSION>
 <!--4B828F4D03264080AA1D2057B13F613C-->  <DESCRIPTION><![CDATA[Provides framework functionality for the Openbravo User Interface]]></DESCRIPTION>
 <!--4B828F4D03264080AA1D2057B13F613C-->  <HELP><![CDATA[The user interface client kernel is a generation framework for generating client (browser) components used in Openbravo. Its components are mainly used by other modules to provide customizable and extendable user interfaces.]]></HELP>
 <!--4B828F4D03264080AA1D2057B13F613C-->  <URL><![CDATA[http://forge.openbravo.com/projects/openbravoclientkernel]]></URL>
--- a/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <AD_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_MODULE_ID>
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--26B041893E844A53AFA58BC326C4F0D7-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--26B041893E844A53AFA58BC326C4F0D7-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <AD_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_MODULE_ID>
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <AD_DEPENDENT_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_DEPENDENT_MODULE_ID>
-<!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <STARTVERSION><![CDATA[1.1.14359]]></STARTVERSION>
+<!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <STARTVERSION><![CDATA[1.1.15193]]></STARTVERSION>
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <DEPENDANT_MODULE_NAME><![CDATA[JBoss Weld]]></DEPENDANT_MODULE_NAME>
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <AD_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_MODULE_ID>
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <AD_DEPENDENT_MODULE_ID><![CDATA[F8D1B3ECB3474E8DA5C216473C840DF1]]></AD_DEPENDENT_MODULE_ID>
-<!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <STARTVERSION><![CDATA[2.0.14359]]></STARTVERSION>
+<!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <STARTVERSION><![CDATA[2.0.15193]]></STARTVERSION>
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON REST Webservice]]></DEPENDANT_MODULE_NAME>
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/GetLabelActionHandler.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/GetLabelActionHandler.java	Thu Jan 26 09:16:54 2012 +0100
@@ -25,12 +25,7 @@
 import org.apache.log4j.Logger;
 import org.codehaus.jettison.json.JSONObject;
 import org.openbravo.base.exception.OBException;
-import org.openbravo.dal.core.DalUtil;
 import org.openbravo.dal.core.OBContext;
-import org.openbravo.dal.service.OBDal;
-import org.openbravo.dal.service.OBQuery;
-import org.openbravo.model.ad.ui.Message;
-import org.openbravo.model.ad.ui.MessageTrl;
 
 /**
  * Retrieves a label from the server.
@@ -52,29 +47,12 @@
     final JSONObject result = new JSONObject();
     OBContext.setAdminMode();
     try {
-
-      // first read the labels from the base table
-      final OBQuery<Message> messages = OBDal.getInstance().createQuery(Message.class,
-          Message.PROPERTY_SEARCHKEY + "=:key");
-      messages.setNamedParameter("key", key);
-      if (messages.list().isEmpty()) {
+      final String label = KernelUtils.getInstance().getI18N(key, null);
+      if (label == null) {
         // not found, will result in a strange label on the client
         return result;
       }
-
-      if (messages.list().size() > 1) {
-        log.warn("More than one message found using key " + key);
-      }
-
-      // pick the first one
-      final Message message = messages.list().get(0);
-      result.put(LABEL_PROPERTY, message.getMessageText());
-      final String languageId = OBContext.getOBContext().getLanguage().getId();
-      for (MessageTrl messageTrl : message.getADMessageTrlList()) {
-        if (DalUtil.getId(messageTrl.getLanguage()).equals(languageId)) {
-          result.put(LABEL_PROPERTY, messageTrl.getMessageText());
-        }
-      }
+      result.put(LABEL_PROPERTY, label);
     } catch (Exception e) {
       throw new OBException("Exception when getting message for key: " + key, e);
     } finally {
--- a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/JSCompressor.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/JSCompressor.java	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2010-2011 Openbravo SLU 
+ * All portions are Copyright (C) 2010-2012 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -27,7 +27,8 @@
 import org.openbravo.base.provider.OBProvider;
 
 /**
- * Compresses a JavaScript source using Closure Compiler http://code.google.com/p/closure-compiler/
+ * Compresses a JavaScript source using JSMin <br>
+ * http://code.google.com/p/jsmin-ant-task/
  * 
  * @author mtaal
  * @author iperdomo
--- a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelUtils.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelUtils.java	Thu Jan 26 09:16:54 2012 +0100
@@ -37,9 +37,12 @@
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBCriteria;
 import org.openbravo.dal.service.OBDal;
+import org.openbravo.dal.service.OBQuery;
 import org.openbravo.model.ad.datamodel.Column;
 import org.openbravo.model.ad.module.Module;
 import org.openbravo.model.ad.module.ModuleDependency;
+import org.openbravo.model.ad.ui.Message;
+import org.openbravo.model.ad.ui.MessageTrl;
 import org.openbravo.model.ad.ui.Tab;
 
 /**
@@ -72,6 +75,47 @@
 
   private List<Module> sortedModules = null;
 
+  public String getI18N(String key, String[] params) {
+    OBContext.setAdminMode();
+    try {
+
+      // first read the labels from the base table
+      final OBQuery<Message> messages = OBDal.getInstance().createQuery(Message.class,
+          Message.PROPERTY_SEARCHKEY + "=:key");
+      messages.setNamedParameter("key", key);
+      if (messages.list().isEmpty()) {
+        return null;
+      }
+
+      if (messages.list().size() > 1) {
+        log.warn("More than one message found using key " + key);
+      }
+
+      // pick the first one
+      final Message message = messages.list().get(0);
+      String label = message.getMessageText();
+      final String languageId = OBContext.getOBContext().getLanguage().getId();
+      for (MessageTrl messageTrl : message.getADMessageTrlList()) {
+        if (DalUtil.getId(messageTrl.getLanguage()).equals(languageId)) {
+          label = messageTrl.getMessageText();
+          break;
+        }
+      }
+      // parameter substitution
+      if (params != null && params.length > 0) {
+        int cnt = 0;
+        for (String param : params) {
+          label = label.replace("%" + cnt++, param);
+        }
+      }
+      return label;
+    } catch (Exception e) {
+      throw new OBException("Exception when getting message for key: " + key, e);
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+  }
+
   public Property getPropertyFromColumn(Column column) {
     return getPropertyFromColumn(column, true);
   }
--- a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/event/PersistenceEventOBInterceptor.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/event/PersistenceEventOBInterceptor.java	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2011 Openbravo SLU 
+ * All portions are Copyright (C) 2011-2012 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -25,6 +25,7 @@
 import javax.inject.Inject;
 
 import org.hibernate.EmptyInterceptor;
+import org.hibernate.Transaction;
 import org.hibernate.type.Type;
 import org.openbravo.base.structure.BaseOBObject;
 import org.openbravo.base.structure.Traceable;
@@ -48,6 +49,12 @@
   @Inject
   private Event<EntityDeleteEvent> entityDeleteEventProducer;
 
+  @Inject
+  private Event<TransactionBeginEvent> transactionBeginEventProducer;
+
+  @Inject
+  private Event<TransactionCompletedEvent> transactionCompletedEventProducer;
+
   public void onDelete(Object entity, Serializable id, Object[] state, String[] propertyNames,
       Type[] types) {
     final EntityDeleteEvent entityEvent = new EntityDeleteEvent();
@@ -105,4 +112,18 @@
     return t.getCreatedBy() == null;
   }
 
+  @Override
+  public void afterTransactionBegin(Transaction tx) {
+    final TransactionBeginEvent event = new TransactionBeginEvent();
+    event.setTransaction(tx);
+    transactionBeginEventProducer.fire(event);
+  }
+
+  @Override
+  public void afterTransactionCompletion(Transaction tx) {
+    final TransactionCompletedEvent event = new TransactionCompletedEvent();
+    event.setTransaction(tx);
+    transactionCompletedEventProducer.fire(event);
+  }
+
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/event/TransactionBeginEvent.java	Thu Jan 26 09:16:54 2012 +0100
@@ -0,0 +1,49 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SLU 
+ * All portions are Copyright (C) 2012 Openbravo SLU 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+ */
+package org.openbravo.client.kernel.event;
+
+import org.hibernate.Transaction;
+import org.openbravo.dal.core.OBInterceptor;
+
+/**
+ * The event object send out when a transaction is started.
+ * 
+ * To receive this event, create a class with a method which has this signature:
+ * 
+ * public void onTransactionBegin(@Observes TransactionBeginEvent event) {
+ * 
+ * Note, the method name is unimportant, the @Observes EntityNewEvent specifies that this method
+ * will be called before persisting a new instance.
+ * 
+ * @see OBInterceptor#afterTransactionBegin(Transaction)
+ * 
+ * @author mtaal
+ */
+public class TransactionBeginEvent {
+  private Transaction transaction;
+
+  public Transaction getTransaction() {
+    return transaction;
+  }
+
+  public void setTransaction(Transaction transaction) {
+    this.transaction = transaction;
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/event/TransactionCompletedEvent.java	Thu Jan 26 09:16:54 2012 +0100
@@ -0,0 +1,49 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SLU 
+ * All portions are Copyright (C) 2012 Openbravo SLU 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+ */
+package org.openbravo.client.kernel.event;
+
+import org.hibernate.Transaction;
+import org.openbravo.dal.core.OBInterceptor;
+
+/**
+ * The event object send out when a transaction has been completed.
+ * 
+ * To receive this event, create a class with a method which has this signature:
+ * 
+ * public void onTransactionComplete(@Observes TransactionCompletedEvent event) {
+ * 
+ * Note, the method name is unimportant, the @Observes EntityNewEvent specifies that this method
+ * will be called before persisting a new instance.
+ * 
+ * @see OBInterceptor#afterTransactionCompletion(Transaction)
+ * 
+ * @author mtaal
+ */
+public class TransactionCompletedEvent {
+  private Transaction transaction;
+
+  public Transaction getTransaction() {
+    return transaction;
+  }
+
+  public void setTransaction(Transaction transaction) {
+    this.transaction = transaction;
+  }
+
+}
--- a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/EnumUIDefinition.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/EnumUIDefinition.java	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2010-2011 Openbravo SLU 
+ * All portions are Copyright (C) 2010-2012 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -66,6 +66,7 @@
     try {
       value = new JSONObject(super.getFieldProperties(field, getValueFromSession));
       if (!getSafeBoolean(field.isDisplayed()) && !getSafeBoolean(field.isShowInGridView())
+          && !getSafeBoolean(field.isShownInStatusBar())
           && field.getColumn().getDefaultValue() == null
           && !getSafeBoolean(field.getColumn().isMandatory())) {
         return value.toString();
--- a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/FKComboUIDefinition.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/FKComboUIDefinition.java	Thu Jan 26 09:16:54 2012 +0100
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2010-2011 Openbravo SLU 
+ * All portions are Copyright (C) 2010-2012 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -47,6 +47,7 @@
     try {
       value = new JSONObject(super.getFieldProperties(field, getValueFromSession));
       if (!getSafeBoolean(field.isDisplayed()) && !getSafeBoolean(field.isShowInGridView())
+          && !getSafeBoolean(field.isShownInStatusBar())
           && field.getColumn().getDefaultValue() == null && !field.getColumn().isMandatory()) {
         return value.toString();
       }
--- a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/TimeUIDefinition.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/TimeUIDefinition.java	Thu Jan 26 09:16:54 2012 +0100
@@ -31,7 +31,7 @@
  */
 public class TimeUIDefinition extends UIDefinition {
   private SimpleDateFormat classicFormat = null;
-  private SimpleDateFormat xmlTimeFormat = JsonUtils.createTimeFormat();
+  private SimpleDateFormat xmlTimeFormat = JsonUtils.createJSTimeFormat();
 
   @Override
   public String getParentType() {
@@ -72,15 +72,9 @@
       if (value == null || value.length() == 0 || value.equals("null")) {
         return null;
       }
-      // sometimes the default value gets passed which is already in the correct
-      // format, in that case just use that.
-      if (value.indexOf(":") == 2 && value.indexOf(":", 3) == 5) {
-        if (!value.contains("+") && !value.contains("-")) {
-          return value + "+00:00";
-        }
-        return value;
-      }
+
       final java.util.Date date = getClassicFormat().parse(value);
+
       return xmlTimeFormat.format(date);
     } catch (Exception e) {
       throw new OBException("Exception when handling value " + value, e);
--- a/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_COLUMN.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_COLUMN.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -254,7 +254,8 @@
 <!--4246D6A142A14DD0A9272C784D1EEBD0-->  <HELP><![CDATA[The Language identifies the language to use for display]]></HELP>
 <!--4246D6A142A14DD0A9272C784D1EEBD0-->  <COLUMNNAME><![CDATA[AD_Language]]></COLUMNNAME>
 <!--4246D6A142A14DD0A9272C784D1EEBD0-->  <AD_TABLE_ID><![CDATA[09C543CF4D854CB4A706E8EF1591F042]]></AD_TABLE_ID>
-<!--4246D6A142A14DD0A9272C784D1EEBD0-->  <AD_REFERENCE_ID><![CDATA[10]]></AD_REFERENCE_ID>
+<!--4246D6A142A14DD0A9272C784D1EEBD0-->  <AD_REFERENCE_ID><![CDATA[18]]></AD_REFERENCE_ID>
+<!--4246D6A142A14DD0A9272C784D1EEBD0-->  <AD_REFERENCE_VALUE_ID><![CDATA[106]]></AD_REFERENCE_VALUE_ID>
 <!--4246D6A142A14DD0A9272C784D1EEBD0-->  <FIELDLENGTH><![CDATA[6]]></FIELDLENGTH>
 <!--4246D6A142A14DD0A9272C784D1EEBD0-->  <ISKEY><![CDATA[N]]></ISKEY>
 <!--4246D6A142A14DD0A9272C784D1EEBD0-->  <ISPARENT><![CDATA[N]]></ISPARENT>
--- a/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MESSAGE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MESSAGE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -67,6 +67,18 @@
 <!--1547AA8E541249B1979258E8D5443594-->  <AD_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_MODULE_ID>
 <!--1547AA8E541249B1979258E8D5443594--></AD_MESSAGE>
 
+<!--1EB68E2D11EF4404ADFB6470D052EB99--><AD_MESSAGE>
+<!--1EB68E2D11EF4404ADFB6470D052EB99-->  <AD_MESSAGE_ID><![CDATA[1EB68E2D11EF4404ADFB6470D052EB99]]></AD_MESSAGE_ID>
+<!--1EB68E2D11EF4404ADFB6470D052EB99-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--1EB68E2D11EF4404ADFB6470D052EB99-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--1EB68E2D11EF4404ADFB6470D052EB99-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--1EB68E2D11EF4404ADFB6470D052EB99-->  <VALUE><![CDATA[OBKMO_AdminValueLabel]]></VALUE>
+<!--1EB68E2D11EF4404ADFB6470D052EB99-->  <MSGTEXT><![CDATA[Value]]></MSGTEXT>
+<!--1EB68E2D11EF4404ADFB6470D052EB99-->  <MSGTIP><![CDATA[Label uses in the 'Admin Others' dialog's second combo]]></MSGTIP>
+<!--1EB68E2D11EF4404ADFB6470D052EB99-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--1EB68E2D11EF4404ADFB6470D052EB99-->  <AD_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_MODULE_ID>
+<!--1EB68E2D11EF4404ADFB6470D052EB99--></AD_MESSAGE>
+
 <!--2AEA0063724C4EB69EA7829F37CCACF4--><AD_MESSAGE>
 <!--2AEA0063724C4EB69EA7829F37CCACF4-->  <AD_MESSAGE_ID><![CDATA[2AEA0063724C4EB69EA7829F37CCACF4]]></AD_MESSAGE_ID>
 <!--2AEA0063724C4EB69EA7829F37CCACF4-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -191,6 +203,18 @@
 <!--5E70B4EEF8E7486A8EEBEFC99D36C9BC-->  <AD_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_MODULE_ID>
 <!--5E70B4EEF8E7486A8EEBEFC99D36C9BC--></AD_MESSAGE>
 
+<!--68DF6DE9C5504710A6698DF1D3569374--><AD_MESSAGE>
+<!--68DF6DE9C5504710A6698DF1D3569374-->  <AD_MESSAGE_ID><![CDATA[68DF6DE9C5504710A6698DF1D3569374]]></AD_MESSAGE_ID>
+<!--68DF6DE9C5504710A6698DF1D3569374-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--68DF6DE9C5504710A6698DF1D3569374-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--68DF6DE9C5504710A6698DF1D3569374-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--68DF6DE9C5504710A6698DF1D3569374-->  <VALUE><![CDATA[OBKMO_AdminLevelLabel]]></VALUE>
+<!--68DF6DE9C5504710A6698DF1D3569374-->  <MSGTEXT><![CDATA[Level]]></MSGTEXT>
+<!--68DF6DE9C5504710A6698DF1D3569374-->  <MSGTIP><![CDATA[Label uses in the 'Admin Others' dialog's first combo]]></MSGTIP>
+<!--68DF6DE9C5504710A6698DF1D3569374-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--68DF6DE9C5504710A6698DF1D3569374-->  <AD_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_MODULE_ID>
+<!--68DF6DE9C5504710A6698DF1D3569374--></AD_MESSAGE>
+
 <!--6B3520F1A0F5415B9A8C5CA78D06AA75--><AD_MESSAGE>
 <!--6B3520F1A0F5415B9A8C5CA78D06AA75-->  <AD_MESSAGE_ID><![CDATA[6B3520F1A0F5415B9A8C5CA78D06AA75]]></AD_MESSAGE_ID>
 <!--6B3520F1A0F5415B9A8C5CA78D06AA75-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -258,6 +282,18 @@
 <!--9A0BD5C58B094E0884DD43D4281EDF06-->  <AD_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_MODULE_ID>
 <!--9A0BD5C58B094E0884DD43D4281EDF06--></AD_MESSAGE>
 
+<!--9E19BE42AD6443D28196CC71DF96D0B2--><AD_MESSAGE>
+<!--9E19BE42AD6443D28196CC71DF96D0B2-->  <AD_MESSAGE_ID><![CDATA[9E19BE42AD6443D28196CC71DF96D0B2]]></AD_MESSAGE_ID>
+<!--9E19BE42AD6443D28196CC71DF96D0B2-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9E19BE42AD6443D28196CC71DF96D0B2-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9E19BE42AD6443D28196CC71DF96D0B2-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9E19BE42AD6443D28196CC71DF96D0B2-->  <VALUE><![CDATA[OBKMO_AdminEdit]]></VALUE>
+<!--9E19BE42AD6443D28196CC71DF96D0B2-->  <MSGTEXT><![CDATA[Edit]]></MSGTEXT>
+<!--9E19BE42AD6443D28196CC71DF96D0B2-->  <MSGTIP><![CDATA[Label uses in the 'Admin Others' button]]></MSGTIP>
+<!--9E19BE42AD6443D28196CC71DF96D0B2-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--9E19BE42AD6443D28196CC71DF96D0B2-->  <AD_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_MODULE_ID>
+<!--9E19BE42AD6443D28196CC71DF96D0B2--></AD_MESSAGE>
+
 <!--A1F6CE173F6F4C188FD66D5F23256F00--><AD_MESSAGE>
 <!--A1F6CE173F6F4C188FD66D5F23256F00-->  <AD_MESSAGE_ID><![CDATA[A1F6CE173F6F4C188FD66D5F23256F00]]></AD_MESSAGE_ID>
 <!--A1F6CE173F6F4C188FD66D5F23256F00-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <NAME><![CDATA[Workspace & Widgets]]></NAME>
-<!--2758CD25B2704AF6BBAD10365FC82C06-->  <VERSION><![CDATA[2.1.14359]]></VERSION>
+<!--2758CD25B2704AF6BBAD10365FC82C06-->  <VERSION><![CDATA[2.1.15193]]></VERSION>
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <DESCRIPTION><![CDATA[Workspace & Widgets]]></DESCRIPTION>
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <HELP><![CDATA[Provides the infrastructure of workspace tab (formerly My Openbravo)]]></HELP>
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <URL><![CDATA[http://forge.openbravo.com/projects/myopenbravo]]></URL>
--- a/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--15F51F03882F444CAB6593B4566DC929-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--15F51F03882F444CAB6593B4566DC929-->  <AD_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_MODULE_ID>
 <!--15F51F03882F444CAB6593B4566DC929-->  <AD_DEPENDENT_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_DEPENDENT_MODULE_ID>
-<!--15F51F03882F444CAB6593B4566DC929-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--15F51F03882F444CAB6593B4566DC929-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--15F51F03882F444CAB6593B4566DC929-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--15F51F03882F444CAB6593B4566DC929-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Application]]></DEPENDANT_MODULE_NAME>
 <!--15F51F03882F444CAB6593B4566DC929-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <AD_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_MODULE_ID>
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--E71B28FC949D481D9F59C17D01E46EF9-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--E71B28FC949D481D9F59C17D01E46EF9-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME>
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.myob/web/org.openbravo.client.myob/js/ob-myopenbravo.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.myob/web/org.openbravo.client.myob/js/ob-myopenbravo.js	Thu Jan 26 09:16:54 2012 +0100
@@ -175,18 +175,34 @@
       overflow: 'visible',
       contents: OB.I18N.getLabel('OBKMO_AddWidget') + ' »',
       addWidgetLayout: addWidgetLayout,
+      doOpen: function() {
+        this.setContents(OB.I18N.getLabel('OBKMO_AddWidget') + ' «');
+        this.addWidgetLayout.addMember(isc.OBMyOBAddWidgetDialog.create({myParent: this}));
+      },
+      doBeforeClose: function() { // Invoked directly from widget dialog 'destroy' function
+        this.setContents(OB.I18N.getLabel('OBKMO_AddWidget') + ' »');
+      },
+      isOpened: function() {
+        if (this.addWidgetLayout.getMembers().length >= 2) {
+          return true;
+        } else {
+          return false;
+        }
+      },
       action: function(){
-        var addWidgetDialog;
-        if (this.addWidgetLayout.getMembers().length >= 2) {
-          return;
+        if (this.isOpened()) {
+          this.addWidgetLayout.getMembers()[1].destroy();
+        } else {
+          this.doOpen();
         }
-        addWidgetDialog = isc.OBMyOBAddWidgetDialog.create({});
-        this.addWidgetLayout.addMember(addWidgetDialog);
       }
     }));
 
     if (this.enableAdminMode) {
-      adminOtherMyOBLayout = isc.VLayout.create({});
+      adminOtherMyOBLayout = isc.VLayout.create({
+        height: 1,
+        overflow: 'visible'
+      });
       adminOtherMyOBLayout.addMember(isc.Label.create({
         styleName: OB.Styles.OBMyOpenbravo.adminOtherMyOBLayout.styleName,
         height: 1,
@@ -194,17 +210,26 @@
         overflow: 'visible',
         contents: OB.I18N.getLabel('OBKMO_AdminOtherMyOpenbravos') + ' »',
         adminOtherMyOBLayout: adminOtherMyOBLayout,
+        doOpen: function() {
+          this.setContents(OB.I18N.getLabel('OBKMO_AdminOtherMyOpenbravos') + ' «');
+          this.adminOtherMyOBLayout.addMember(isc.OBMyOBAdminModeDialog.create({myParent: this}));
+        },
+        doBeforeClose: function() { // Invoked directly from widget dialog 'destroy' function
+          this.setContents(OB.I18N.getLabel('OBKMO_AdminOtherMyOpenbravos') + ' »');
+        },
+        isOpened: function() {
+          if (this.adminOtherMyOBLayout.getMembers().length >= 2) {
+            return true;
+          } else {
+            return false;
+          }
+        },
         action: function(){
-          var adminModeDialog;
-          if (this.adminOtherMyOBLayout.getMembers().length >= 2) {
-            return;
+          if (this.isOpened()) {
+            this.adminOtherMyOBLayout.getMembers()[1].destroy();
+          } else {
+            this.doOpen();
           }
-          adminModeDialog = isc.OBMyOBAdminModeDialog.create({});
-          adminOtherMyOBLayout = isc.VLayout.create({
-            height: 1,
-            overflow: 'visible'
-          });
-          this.adminOtherMyOBLayout.addMember(adminModeDialog);
         }
       }));
     }
@@ -224,6 +249,9 @@
     if (this.enableAdminMode) {
       this.leftColumnLayout.addMember(adminOtherMyOBLayout);
     }
+    this.leftColumnLayout.addMember(isc.VLayout.create({
+      height: 10
+    }));
     
     this.leftColumnLayout.recentViewsLayout = recentViewsLayout;
     this.leftColumnLayout.recentDocumentsLayout = recentDocumentsLayout;
@@ -802,6 +830,9 @@
     leftColumn.recentDocumentsLayout.hide();
     leftColumn.adminOtherMyOBLayout.getMembers()[1].destroy(); // remove DynamicForm
     leftColumn.adminOtherMyOBLayout.hide();
+    if (!leftColumn.addWidgetLayout.getMember(0).isOpened()) {
+      leftColumn.addWidgetLayout.getMember(0).doOpen();
+    }
     leftColumn.addMember(isc.OBMyOBPublishChangesDialog.create({
       levelLabel: level.getDisplayValue(),
       levelValueLabel: levelValue.getDisplayValue ? levelValue.getDisplayValue() : ''
@@ -860,8 +891,11 @@
   actionHandler: 'org.openbravo.client.myob.MyOpenbravoActionHandler',
 
   initWidget: function(){
-    this.buttonsLayout = isc.HStack.create({
+    this.buttonsLayout = isc.VStack.create({
+      layoutTopMargin: 10,
+      layoutBottomMargin: 5,
       align: 'center',
+      defaultLayoutAlign: 'center',
       overflow: 'visible',
       height: 1,
       width: '100%'
@@ -883,6 +917,8 @@
 });
 
 isc.defineClass('OBMyOBAddWidgetDialog', isc.OBMyOBDialog).addProperties({
+  myParent: null,
+  canDragReposition: false,
 
   initWidget: function(){
     var post = {
@@ -908,6 +944,11 @@
     });
   },
 
+  destroy: function() {
+    this.myParent.doBeforeClose();
+    this.Super('destroy', arguments);
+  },
+
   createDialogContents: function(rpcResponse, data, rpcRequest){
     var i, widgetClasses, availableWidgetsMap = {};
 
@@ -925,7 +966,7 @@
 
     this.form = isc.DynamicForm.create({
       width: '100%',
-      height: '100%',
+      height: 1,
       numCols: 1,
       titleSuffix: '',
       requiredTitleSuffix: '',
@@ -938,10 +979,13 @@
         cellStyle: OB.Styles.OBMyOBAddWidgetDialog.cellStyle,
         titleStyle: OB.Styles.OBMyOBAddWidgetDialog.titleStyle,
         textBoxStyle: OB.Styles.OBMyOBAddWidgetDialog.textBoxStyle,
+        pendingTextBoxStyle: OB.Styles.OBFormField.DefaultComboBox.pendingTextBoxStyle,
         controlStyle: OB.Styles.OBMyOBAddWidgetDialog.controlStyle,
         pickListBaseStyle: OB.Styles.OBMyOBAddWidgetDialog.pickListBaseStyle,
+        pickListTallBaseStyle: OB.Styles.OBMyOBAddWidgetDialog.pickListTallBaseStyle,
         pickerIconSrc: OB.Styles.OBMyOBAddWidgetDialog.pickerIconSrc,
         height: OB.Styles.OBMyOBAddWidgetDialog.height,
+        pickListCellHeight: OB.Styles.OBMyOBAddWidgetDialog.pickListCellHeight,
         pickerIconWidth: OB.Styles.OBMyOBAddWidgetDialog.pickerIconWidth,
         pickListProperties: {
           bodyStyleName: OB.Styles.OBMyOBAddWidgetDialog.pickListProperties.bodyStyleName
@@ -950,7 +994,12 @@
         titleSuffix: '',
         requiredTitleSuffix: '',
         type: 'select',
-        valueMap: availableWidgetsMap
+        valueMap: availableWidgetsMap,
+        changed: function(form, item, value){
+          if (value) {
+            form.parentElement.parentElement.buttonsLayout.getMember(0).setDisabled(false);
+          }
+        }
       }]
     });
 
@@ -961,6 +1010,12 @@
       title: OB.I18N.getLabel('OBKMO_AddLabel'),
       form: this.form,
       dialog: this,
+      draw: function() {
+        if (!this.form.getItem('widget').getValue()) {
+          this.setDisabled(true);
+        }
+        this.Super('draw', arguments);
+      },
       click: function(){
 
         if (!this.form.getItem('widget').getValue()) {
@@ -973,7 +1028,8 @@
         widgetInstanceProperties.rowNum = position.rowNum;
 
         OB.MyOB.addWidget(widgetInstanceProperties);
-        this.dialog.destroy();
+        this.dialog.form.reset();
+        this.setDisabled(true);
       }
     }));
     this.addItem(this.buttonsLayout);
@@ -981,6 +1037,14 @@
 });
 
 isc.defineClass('OBMyOBAdminModeDialog', isc.OBMyOBDialog).addProperties({
+  myParent: null,
+  canDragReposition: false,
+
+  destroy: function() {
+    this.myParent.doBeforeClose();
+    this.Super('destroy', arguments);
+  },
+
   initWidget: function(){
     var valueMap = isc.addProperties({}, OB.MyOB.adminModeValueMap.level), prop, formFields = [];
 
@@ -1000,26 +1064,33 @@
     }
     formFields.push({
       name: 'level',
-      title: '',
+      title: OB.I18N.getLabel('OBKMO_AdminLevelLabel'),
       type: 'select',
       width: '*',
       errorOrientation: 'left',
       cellStyle: OB.Styles.OBMyOBAdminModeDialog.cellStyle,
       titleStyle: OB.Styles.OBMyOBAdminModeDialog.titleStyle,
       textBoxStyle: OB.Styles.OBMyOBAdminModeDialog.textBoxStyle,
+      pendingTextBoxStyle: OB.Styles.OBFormField.DefaultComboBox.pendingTextBoxStyle,
       controlStyle: OB.Styles.OBMyOBAdminModeDialog.controlStyle,
       pickListBaseStyle: OB.Styles.OBMyOBAdminModeDialog.pickListBaseStyle,
+      pickListTallBaseStyle: OB.Styles.OBMyOBAdminModeDialog.pickListTallBaseStyle,
       pickerIconSrc: OB.Styles.OBMyOBAdminModeDialog.pickerIconSrc,
       height: OB.Styles.OBMyOBAdminModeDialog.height,
+      pickListCellHeight: OB.Styles.OBMyOBAdminModeDialog.pickListCellHeight,
       pickerIconWidth: OB.Styles.OBMyOBAdminModeDialog.pickerIconWidth,
       pickListProperties: {
         bodyStyleName: OB.Styles.OBMyOBAdminModeDialog.pickListProperties.bodyStyleName
       },
       valueMap: OB.MyOB.adminModeValueMap.level,
-      changed: function(){
+      changed: function(form, item, value){
         var levelValue = this.form.getField('levelValue');
         if (levelValue) {
           levelValue.setValueMap(OB.MyOB.adminModeValueMap.levelValue[this.getValue()]);
+          levelValue.setDisabled(false);
+          form.parentElement.parentElement.buttonsLayout.getMember(0).setDisabled(true);
+        } else if (value) {
+          form.parentElement.parentElement.buttonsLayout.getMember(0).setDisabled(false);
         }
       }
     });
@@ -1027,28 +1098,50 @@
     if (!valueMap.system) {
       formFields.push({
         name: 'levelValue',
-        title: '',
+        title: OB.I18N.getLabel('OBKMO_AdminValueLabel'),
         type: 'select',
         width: '*',
         errorOrientation: 'left',
         cellStyle: OB.Styles.OBMyOBAdminModeDialog.cellStyle,
         titleStyle: OB.Styles.OBMyOBAdminModeDialog.titleStyle,
         textBoxStyle: OB.Styles.OBMyOBAdminModeDialog.textBoxStyle,
+        pendingTextBoxStyle: OB.Styles.OBFormField.DefaultComboBox.pendingTextBoxStyle,
         controlStyle: OB.Styles.OBMyOBAdminModeDialog.controlStyle,
         pickListBaseStyle: OB.Styles.OBMyOBAdminModeDialog.pickListBaseStyle,
+        pickListTallBaseStyle: OB.Styles.OBMyOBAdminModeDialog.pickListTallBaseStyle,
         pickerIconSrc: OB.Styles.OBMyOBAdminModeDialog.pickerIconSrc,
         height: OB.Styles.OBMyOBAdminModeDialog.height,
+        pickListCellHeight: OB.Styles.OBMyOBAdminModeDialog.pickListCellHeight,
         pickerIconWidth: OB.Styles.OBMyOBAdminModeDialog.pickerIconWidth,
         pickListProperties: {
           bodyStyleName: OB.Styles.OBMyOBAdminModeDialog.pickListProperties.bodyStyleName
         },
-        addUnknownValues: false
+        addUnknownValues: false,
+        setDisabled: function(value) {
+          if (value) {
+            this.title = '';
+          } else {
+            this.title = OB.I18N.getLabel('OBKMO_AdminValueLabel');
+          }
+          this.Super('setDisabled', arguments);
+        },
+        init: function() {
+          this.Super('init', arguments);
+          if (!this.getValue()) {
+            this.setDisabled(true);
+          }
+        },
+        changed: function(form, item, value){
+          if (value) {
+            form.parentElement.parentElement.buttonsLayout.getMember(0).setDisabled(false);
+          }
+        }
       });
     }
 
     this.form = isc.DynamicForm.create({
       width: '100%',
-      height: '100%',
+      height: 1,
       titleSuffix: '',
       requiredTitleSuffix: '',
       numCols: 1,
@@ -1059,9 +1152,15 @@
     this.addItem(this.form);
 
     this.buttonsLayout.addMember(isc.OBFormButton.create({
-      title: 'Edit', // FIXME
+      title: OB.I18N.getLabel('OBKMO_AdminEdit'),
       form: this.form,
       dialog: this,
+      draw: function() {
+        if (!this.form.getItem('level').getValue()) {
+          this.setDisabled(true);
+        }
+        this.Super('draw', arguments);
+      },
       click: function(){
         var level = this.form.getField('level'), levelValue = this.form.getField('levelValue');
 
@@ -1085,6 +1184,7 @@
 isc.defineClass('OBMyOBPublishChangesDialog', isc.OBMyOBDialog).addProperties({
   levelLabel: '',
   levelValueLabel: '',
+  canDragReposition: false,
   
   initWidget: function(){
     var htmlContents = '', label = OB.I18N.getLabel('OBKMO_PublishLabel');
@@ -1103,12 +1203,13 @@
     }
 
 
-    htmlContents = '<p>' + label + '</p>' +
-    '<p style=\'color:red\'>' +
+    htmlContents = '<p style=\'padding: 2px 3px 5px 3px; margin: 0px;\'>' + label + '</p>' +
+    '<p style=\'color:red; padding: 7px 3px 5px 3px; margin: 0px;\'>' +
     OB.I18N.getLabel('OBKMO_PublishWarning') +
     '</p>';
 
     this.form = isc.HTMLFlow.create({
+      height: 1,
       width: '100%',
       styleName: OB.Styles.OBMyOBPublishChangesDialog.form.styleName,
       contents: htmlContents
@@ -1126,6 +1227,10 @@
       }
     }));
 
+    this.buttonsLayout.addMember(isc.VLayout.create({
+      height: 5
+    }));
+
     this.buttonsLayout.addMember(isc.OBFormButton.create({
       title: OB.I18N.getLabel('UINAVBA_Cancel'),
       form: this.form,
--- a/modules/org.openbravo.client.myob/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.myob/ob-myopenbravo-styles.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.myob/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.myob/ob-myopenbravo-styles.js	Thu Jan 26 09:16:54 2012 +0100
@@ -68,11 +68,14 @@
   cellStyle: 'OBFormField',
   titleStyle: 'OBFormFieldLabel',
   textBoxStyle: 'OBFormFieldSelectInput',
+  pendingTextBoxStyle: null, //'OBFormFieldSelectInputPending',
   controlStyle: 'OBFormFieldSelectControl',
   pickListBaseStyle: 'OBFormFieldPickListCell',
+  pickListTallBaseStyle: 'OBFormFieldPickListCell',
   pickerIconSrc: OB.Styles.skinsPath + 'Default/org.openbravo.client.application/images/form/comboBoxPicker.png',
   height: 21,
   pickerIconWidth: 21,
+  pickListCellHeight: 22,
   pickListProperties: {
     bodyStyleName: 'OBPickListBody'
   }
@@ -82,11 +85,14 @@
   cellStyle: 'OBFormField',
   titleStyle: 'OBFormFieldLabel',
   textBoxStyle: 'OBFormFieldSelectInput',
+  pendingTextBoxStyle: null, //'OBFormFieldSelectInputPending',
   controlStyle: 'OBFormFieldSelectControl',
   pickListBaseStyle: 'OBFormFieldPickListCell',
+  pickListTallBaseStyle: 'OBFormFieldPickListCell',
   pickerIconSrc: OB.Styles.skinsPath + 'Default/org.openbravo.client.application/images/form/comboBoxPicker.png',
   height: 21,
   pickerIconWidth: 21,
+  pickListCellHeight: 22,
   pickListProperties: {
     bodyStyleName: 'OBPickListBody'
   }
--- a/modules/org.openbravo.client.myob/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.myob/ob-widget-styles.css	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.myob/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.myob/ob-widget-styles.css	Thu Jan 26 09:16:54 2012 +0100
@@ -202,6 +202,10 @@
   cursor: pointer;
 }
 
+.OBMyOBLeftColumnLink:hover {
+  text-decoration: underline;
+}
+
 /* RecentViews */
 .OBMyOBRecentViews { 
   border-bottom: 2px solid #72AB10; 
--- a/modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <NAME><![CDATA[Query/List Widget]]></NAME>
-<!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <VERSION><![CDATA[1.0.14359]]></VERSION>
+<!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <VERSION><![CDATA[1.0.15193]]></VERSION>
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <DESCRIPTION><![CDATA[Provides the Query/List superclass widget that allows to create widget classes that prints a grid of data based on a query.]]></DESCRIPTION>
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <HELP><![CDATA[With this module you can define your own widget classes that just with simple Application Dictionary shows a grid of data based on a HQL Query.]]></HELP>
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <URL><![CDATA[http://forge.openbravo.com/projects/querylistwidget]]></URL>
--- a/modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--26558497C31140BFAB067BA4BC47D799-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--26558497C31140BFAB067BA4BC47D799-->  <AD_MODULE_ID><![CDATA[0A060B2AF1974E8EAA8DB61388E9AECC]]></AD_MODULE_ID>
 <!--26558497C31140BFAB067BA4BC47D799-->  <AD_DEPENDENT_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_DEPENDENT_MODULE_ID>
-<!--26558497C31140BFAB067BA4BC47D799-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--26558497C31140BFAB067BA4BC47D799-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--26558497C31140BFAB067BA4BC47D799-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--26558497C31140BFAB067BA4BC47D799-->  <DEPENDANT_MODULE_NAME><![CDATA[My Openbravo Tab]]></DEPENDANT_MODULE_NAME>
 <!--26558497C31140BFAB067BA4BC47D799-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.querylist/src/org/openbravo/client/querylist/QueryListDataSource.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.querylist/src/org/openbravo/client/querylist/QueryListDataSource.java	Thu Jan 26 09:16:54 2012 +0100
@@ -28,9 +28,11 @@
 import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
@@ -47,6 +49,7 @@
 import org.openbravo.base.model.domaintype.PrimitiveDomainType;
 import org.openbravo.client.application.Parameter;
 import org.openbravo.client.application.ParameterUtils;
+import org.openbravo.client.kernel.reference.EnumUIDefinition;
 import org.openbravo.client.kernel.reference.ForeignKeyUIDefinition;
 import org.openbravo.client.kernel.reference.NumberUIDefinition;
 import org.openbravo.client.kernel.reference.UIDefinition;
@@ -170,13 +173,14 @@
             if (queryAliases[i].equals(column.getDisplayExpression())
                 || (!isExport && queryAliases[i].equals(column.getLinkExpression()))) {
               Object value = resultList[i];
-              if (value instanceof Date) {
-                value = xmlDateFormat.format(value);
-              }
               if (value instanceof Timestamp) {
                 value = xmlDateTimeFormat.format(value);
                 value = JsonUtils.convertToCorrectXSDFormat((String) value);
               }
+              if (value instanceof Date) {
+                value = xmlDateFormat.format(value);
+              }
+
               data.put(queryAliases[i], value);
             }
           }
@@ -327,6 +331,29 @@
             dsProperty.setPrimitiveObjectType(((PrimitiveDomainType) uiDefinition.getDomainType())
                 .getPrimitiveType());
             dsProperty.setNumericType(uiDefinition instanceof NumberUIDefinition);
+
+            if (uiDefinition instanceof EnumUIDefinition) {
+              if (column.getReferenceSearchKey() == null) {
+                log.warn("In widget " + column.getWidgetQuery().getWidgetClass().getWidgetTitle()
+                    + " column " + column.getDisplayExpression()
+                    + " is of enum type but does not define sub reference.");
+              } else {
+                Set<String> allowedValues = new HashSet<String>();
+
+                final String hql = "select al.searchKey from ADList al"
+                    + " where al.reference=:ref";
+                final Query qry = OBDal.getInstance().getSession().createQuery(hql);
+                qry.setParameter("ref", column.getReferenceSearchKey());
+                for (Object o : qry.list()) {
+                  final String value = (String) o;
+                  allowedValues.add(value);
+                }
+
+                dsProperty.setAllowedValues(allowedValues);
+                dsProperty.setValueMap(DataSourceProperty.createValueMap(allowedValues, column
+                    .getReferenceSearchKey().getId()));
+              }
+            }
           } else {
           }
           dsProperties.add(dsProperty);
--- a/modules/org.openbravo.client.querylist/web/org.openbravo.client.querylist/js/ob-querylist-widget.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.querylist/web/org.openbravo.client.querylist/js/ob-querylist-widget.js	Thu Jan 26 09:16:54 2012 +0100
@@ -96,13 +96,12 @@
       height: '100%',
       width: '100%',
       styleName: ''
-    }), url, params = {};
+    }), url, params = {},
+    showFilter = (this.viewMode === 'maximized');
     
-    if (this.viewMode === 'maximized') {
-      isc.addProperties(this.gridProperties, {
-        showFilterEditor: true
-      });
-    }
+    isc.addProperties(this.gridProperties, {
+      showFilterEditor: showFilter
+    });
     
     this.grid = isc.OBQueryListGrid.create(isc.addProperties({
       dataSource: this.gridDataSource,
--- a/modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--FF8080812D842086012D844F3CC0003E-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FF8080812D842086012D844F3CC0003E-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080812D842086012D844F3CC0003E-->  <NAME><![CDATA[Widgets Collection]]></NAME>
-<!--FF8080812D842086012D844F3CC0003E-->  <VERSION><![CDATA[0.0.14359]]></VERSION>
+<!--FF8080812D842086012D844F3CC0003E-->  <VERSION><![CDATA[0.0.15193]]></VERSION>
 <!--FF8080812D842086012D844F3CC0003E-->  <DESCRIPTION><![CDATA[Collection of Workspace Widgets]]></DESCRIPTION>
 <!--FF8080812D842086012D844F3CC0003E-->  <HELP><![CDATA[Collection of Workspace Widgets]]></HELP>
 <!--FF8080812D842086012D844F3CC0003E-->  <URL><![CDATA[http://forge.openbravo.com/projects/widgetscollection]]></URL>
--- a/modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--FF8080812D842086012D845002070046-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080812D842086012D845002070046-->  <AD_MODULE_ID><![CDATA[FF8080812D842086012D844F3CC0003E]]></AD_MODULE_ID>
 <!--FF8080812D842086012D845002070046-->  <AD_DEPENDENT_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_DEPENDENT_MODULE_ID>
-<!--FF8080812D842086012D845002070046-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--FF8080812D842086012D845002070046-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--FF8080812D842086012D845002070046-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--FF8080812D842086012D845002070046-->  <DEPENDANT_MODULE_NAME><![CDATA[Workspace & Widgets]]></DEPENDANT_MODULE_NAME>
 <!--FF8080812D842086012D845002070046-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.widgets/src-db/database/sourcedata/OBKMO_WIDGET_URL.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.client.widgets/src-db/database/sourcedata/OBKMO_WIDGET_URL.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -105,7 +105,7 @@
 <!--D0A05A5571E34C21B0811517701CB83E-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--D0A05A5571E34C21B0811517701CB83E-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--D0A05A5571E34C21B0811517701CB83E-->  <OBKMO_WIDGET_CLASS_ID><![CDATA[35002C82027448708D173B75FB27D037]]></OBKMO_WIDGET_CLASS_ID>
-<!--D0A05A5571E34C21B0811517701CB83E-->  <URL><![CDATA[http://www.ig.gmodules.com/gadgets/ifr?exp_rpc_js=1&exp_track_js=1&url=http://www.google.com/ig/modules/currency_converter.xml&container=ig&view=home&lang=en&country=US&v=dd2b6777ab733961&parent=http://www.google.com&libs=core:core.io:core.iglegacy:auth-refresh&is_signedin=1&synd=ig&view=home#st=c%3Dig%26e%3DAPu7icqhCciqChdGSC/K9sNH9eBgjEDt4WT0TmMWAhOfDYPt4DbaLsxf6wznY5Ubtp3A/r/6NJRncLt0k3YUh0MIAwtBFraG1sImcgNFIIHZtPK9Goc3vy6YywbIkeDbZbpW5UwBj6fz&gadgetId=101048974621201906114&gadgetOwner=103232707669555548376&gadgetViewer=103232707669555548376&rpctoken=1766320301&ifpctok=1766320301&up_currencies=&up_prevTarget=-1&up_prevValue=1&up_prevSource=-1&up_prevSourceCode=&up_prevTargetCode=]]></URL>
+<!--D0A05A5571E34C21B0811517701CB83E-->  <URL><![CDATA[http://www.google.com/finance/converter]]></URL>
 <!--D0A05A5571E34C21B0811517701CB83E--></OBKMO_WIDGET_URL>
 
 <!--F0252EB6C9CD4F108D73125D5FE746BA--><OBKMO_WIDGET_URL>
--- a/modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <NAME><![CDATA[Payment Report]]></NAME>
-<!--2A5EE903D7974AC298C0504FBC4501A7-->  <VERSION><![CDATA[3.0.14359]]></VERSION>
+<!--2A5EE903D7974AC298C0504FBC4501A7-->  <VERSION><![CDATA[3.0.15193]]></VERSION>
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <DESCRIPTION><![CDATA[Payment Report]]></DESCRIPTION>
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <URL><![CDATA[http://forge.openbravo.com/projects/paymentreport]]></URL>
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <TYPE><![CDATA[M]]></TYPE>
--- a/modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <AD_MODULE_ID><![CDATA[2A5EE903D7974AC298C0504FBC4501A7]]></AD_MODULE_ID>
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <AD_DEPENDENT_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_DEPENDENT_MODULE_ID>
-<!--A3B449C4D5FE4D688CC58236FE33B802-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--A3B449C4D5FE4D688CC58236FE33B802-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <DEPENDANT_MODULE_NAME><![CDATA[Advanced Payables and Receivables Mngmt]]></DEPENDANT_MODULE_NAME>
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_TEXTINTERFACES.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_TEXTINTERFACES.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -704,6 +704,17 @@
 <!--BA58631F88A74CB1859804387A7AE6B2-->  <AD_MODULE_ID><![CDATA[2A5EE903D7974AC298C0504FBC4501A7]]></AD_MODULE_ID>
 <!--BA58631F88A74CB1859804387A7AE6B2--></AD_TEXTINTERFACES>
 
+<!--BEB5223AF030406F8680D17D143C3935--><AD_TEXTINTERFACES>
+<!--BEB5223AF030406F8680D17D143C3935-->  <AD_TEXTINTERFACES_ID><![CDATA[BEB5223AF030406F8680D17D143C3935]]></AD_TEXTINTERFACES_ID>
+<!--BEB5223AF030406F8680D17D143C3935-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--BEB5223AF030406F8680D17D143C3935-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--BEB5223AF030406F8680D17D143C3935-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--BEB5223AF030406F8680D17D143C3935-->  <TEXT><![CDATA[Payment Method]]></TEXT>
+<!--BEB5223AF030406F8680D17D143C3935-->  <FILENAME><![CDATA[/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportExcel.jrxml]]></FILENAME>
+<!--BEB5223AF030406F8680D17D143C3935-->  <ISUSED><![CDATA[Y]]></ISUSED>
+<!--BEB5223AF030406F8680D17D143C3935-->  <AD_MODULE_ID><![CDATA[2A5EE903D7974AC298C0504FBC4501A7]]></AD_MODULE_ID>
+<!--BEB5223AF030406F8680D17D143C3935--></AD_TEXTINTERFACES>
+
 <!--BF61E0FF53934902B0CC763EEC48B42B--><AD_TEXTINTERFACES>
 <!--BF61E0FF53934902B0CC763EEC48B42B-->  <AD_TEXTINTERFACES_ID><![CDATA[BF61E0FF53934902B0CC763EEC48B42B]]></AD_TEXTINTERFACES_ID>
 <!--BF61E0FF53934902B0CC763EEC48B42B-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -781,6 +792,17 @@
 <!--D331A2D41B8840838C4708C92DC5E435-->  <AD_MODULE_ID><![CDATA[2A5EE903D7974AC298C0504FBC4501A7]]></AD_MODULE_ID>
 <!--D331A2D41B8840838C4708C92DC5E435--></AD_TEXTINTERFACES>
 
+<!--D3DA75B510A54CEDAD7813134FA06BB7--><AD_TEXTINTERFACES>
+<!--D3DA75B510A54CEDAD7813134FA06BB7-->  <AD_TEXTINTERFACES_ID><![CDATA[D3DA75B510A54CEDAD7813134FA06BB7]]></AD_TEXTINTERFACES_ID>
+<!--D3DA75B510A54CEDAD7813134FA06BB7-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D3DA75B510A54CEDAD7813134FA06BB7-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D3DA75B510A54CEDAD7813134FA06BB7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D3DA75B510A54CEDAD7813134FA06BB7-->  <TEXT><![CDATA[Balance: ]]></TEXT>
+<!--D3DA75B510A54CEDAD7813134FA06BB7-->  <FILENAME><![CDATA[/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReport.html]]></FILENAME>
+<!--D3DA75B510A54CEDAD7813134FA06BB7-->  <ISUSED><![CDATA[Y]]></ISUSED>
+<!--D3DA75B510A54CEDAD7813134FA06BB7-->  <AD_MODULE_ID><![CDATA[2A5EE903D7974AC298C0504FBC4501A7]]></AD_MODULE_ID>
+<!--D3DA75B510A54CEDAD7813134FA06BB7--></AD_TEXTINTERFACES>
+
 <!--D97008CA65654BE69AFCDEECC9D20210--><AD_TEXTINTERFACES>
 <!--D97008CA65654BE69AFCDEECC9D20210-->  <AD_TEXTINTERFACES_ID><![CDATA[D97008CA65654BE69AFCDEECC9D20210]]></AD_TEXTINTERFACES_ID>
 <!--D97008CA65654BE69AFCDEECC9D20210-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReport.html	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReport.html	Thu Jan 26 09:16:54 2012 +0100
@@ -145,7 +145,7 @@
                 lastOrd = ord[i];
             }
             else {
-            	ord[i].style.visibility = '';
+                ord[i].style.visibility = '';
             }
                 
         }
@@ -162,7 +162,7 @@
                 lastSho = sho[i];
             }
             else {
-            	sho[i].style.visibility = '';
+                sho[i].style.visibility = '';
             }
                 
         }
@@ -185,25 +185,25 @@
         for (i = 0; i < ord.length; i++){
             // Duplicates between left and right.
             for (j = 0; j < sho.length; j++){
-	            if (ord.options[i].value == sho.options[j].value){
-	                elementsToRemove.push(i);
-	            }
+                if (ord.options[i].value == sho.options[j].value){
+                    elementsToRemove.push(i);
+                }
             }
             // Duplicates in left part.
             for (j = 0; j < ord.length; j++){
-	            if (ord.options[i].value == ord.options[j].value && i != j){
-	                if (ord.options[i].style.visibility == "hidden"){
-	                	elementsToRemove.push(i);
-	                } else {
-	                	elementsToRemove.push(j);
-	                }
-	            }
+                if (ord.options[i].value == ord.options[j].value && i != j){
+                    if (ord.options[i].style.visibility == "hidden"){
+                        elementsToRemove.push(i);
+                    } else {
+                        elementsToRemove.push(j);
+                    }
+                }
             }
         }
         
         elementsToRemove = elementsToRemove.sort(sortNumber);
         for (i = 0; i < elementsToRemove.length; i++){
-        	ord.options.remove(elementsToRemove[i]);
+            ord.options.remove(elementsToRemove[i]);
         }
 
         // Ordering criteria left: Moving to last position intermediate hidden objects.
@@ -218,9 +218,9 @@
         // Ordering criteria right: Moving to last position intermediate hidden objects.
         for (i = 0; i < sho.length; i++){
             if (sho.options[i].style.visibility == "hidden"){
-	            hiddenElement = sho[i];
-	            sho.remove(i);
-	            sho.add(hiddenElement, null);
+                hiddenElement = sho[i];
+                sho.remove(i);
+                sho.add(hiddenElement, null);
             }
         }
     }
@@ -228,26 +228,26 @@
         return b - a;
     }
     function selectedStatuses(){
-    	var selStatus = document.frmMain.inpSelectedStatuses;
-    	var strSelStatus;
-    	var arrSelStatus;
-    	var status = document.frmMain.paramfinPaymSt;
-    	
-    	var i;
-    	var j;
-    	
-    	strSelStatus = selStatus.value.replace("('","");
-    	strSelStatus = strSelStatus.replace("')","");
-    	
-    	arrSelStatus = strSelStatus.split("', '");
-    	
-    	for (i = 0; i < arrSelStatus.length; i++ ){
-    		for (j = 0; j < status.options.length; j++){
-    			if (arrSelStatus[i] == status.options[j].value){
-    				status.options[j].selected = true;
-    			}
-    		}
-    	}
+        var selStatus = document.frmMain.inpSelectedStatuses;
+        var strSelStatus;
+        var arrSelStatus;
+        var status = document.frmMain.paramfinPaymSt;
+        
+        var i;
+        var j;
+        
+        strSelStatus = selStatus.value.replace("('","");
+        strSelStatus = strSelStatus.replace("')","");
+        
+        arrSelStatus = strSelStatus.split("', '");
+        
+        for (i = 0; i < arrSelStatus.length; i++ ){
+            for (j = 0; j < status.options.length; j++){
+                if (arrSelStatus[i] == status.options[j].value){
+                    status.options[j].selected = true;
+                }
+            }
+        }
     }
     function openPaymentTab(isReceipt, recordId) {
        var myframe = getFrame('LayoutMDI') || top.opener;
@@ -407,13 +407,13 @@
                                 </tbody>
                               </table>
                             <!-- USER CONTROLS -->
-						  </td>
-						</tr>
-					  </table>
-					
-					</td>
-				   </tr>
-				 </table>		
+                          </td>
+                        </tr>
+                      </table>
+                    
+                    </td>
+                   </tr>
+                 </table>       
               <table class="Main_Client_TableEdition">
                 <tr>
                   <td class="TableEdition_OneCell_width"></td>
@@ -1057,7 +1057,7 @@
                       <table border="0" cellspacing="0" cellpadding="0" width="90%" class="DataGrid_Header_Table DataGrid_Body_Table" style="table-layout: auto;">
                         <div id="sectionStatus">
                           <tr class="DataGrid_Body_Row">
-                            <th colspan="15" class="DataGrid_Header_Cell">Status<span>:&nbsp;</span>
+                            <th colspan="15"  class="DataGrid_Header_Cell" style="text-align:left">Status<span>:&nbsp;</span>
                             <span id="fieldStatus">xxStatusName</span></th>
                           </tr>
                     
@@ -1068,15 +1068,15 @@
                             <th width="10%" class="DataGrid_Header_Cell">Project</th>
                             <th width="10%" class="DataGrid_Header_Cell">Sales Person</th>
                             <th width="10%" class="DataGrid_Header_Cell">Invoice Number</th>
-                            <th width="10%" class="DataGrid_Header_Cell_Amount">Invoice Date</th>
-                            <th width="10%" class="DataGrid_Header_Cell_Amount">Payment</th>
-                            <th width="10%" class="DataGrid_Header_Cell_Amount">Due Date</th>
+                            <th width="10%" class="DataGrid_Header_Cell">Invoice Date</th>
+                            <th width="10%" class="DataGrid_Header_Cell">Payment</th>
+                            <th width="10%" class="DataGrid_Header_Cell">Due Date</th>
                             <th width="10%" class="DataGrid_Header_Cell">PlannedDSO</th>
                             <th width="10%" class="DataGrid_Header_Cell">CurrentDSO</th>
                             <th width="10%" class="DataGrid_Header_Cell">Overdue</th>
-                            <th width="10%" class="DataGrid_Header_Cell_Amount">Trans. Amount</th>
+                            <th width="10%" class="DataGrid_Header_Cell">Trans. Amount</th>
                             <th width="10%" class="DataGrid_Header_Cell">Trans. Currency</th>
-                            <th width="10%" class="DataGrid_Header_Cell_Amount">Base Amount</th>
+                            <th width="10%" class="DataGrid_Header_Cell">Base Amount</th>
                             <th width="10%" class="DataGrid_Header_Cell">Base Currency</th>
                           </tr>
                     
@@ -1093,26 +1093,26 @@
                                 <span id="fieldInvoiceNumber_nolink" class="DataGrid_Body_Cell" style="xx">xx14500.34</span>
                               </td>
                                 
-                              <td width="10%" id="fieldInvoiceDate" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
+                              <td width="10%" id="fieldInvoiceDate" class="DataGrid_Body_Cell">xx14500.34</td>
                               <td width="10%" class="DataGrid_Body_Cell_Amount">
                                 <a href="#" onclick="validate(); openPaymentTab('yy', 'zz');" onmouseover="window.status='Payment Report';return true;" onmouseout="window.status='';return true;" class="LabelLink" id="fieldPaymLink" style="xx" title="xx">
                                   <span id="fieldPayment">xx14500.34</span>
                                 </a>
                               </td>
-                              <td width="10%" id="fieldDueDate" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
-                              <td width="10%" id="fieldPlannedDSO" class="DataGrid_Body_Cell">xx14500.34</td>
-                              <td width="10%" id="fieldCurrentDSO" class="DataGrid_Body_Cell">xx14500.34</td>
-                              <td width="10%" id="fieldOverdue" class="DataGrid_Body_Cell">xx14500.34</td>
+                              <td width="10%" id="fieldDueDate" class="DataGrid_Body_Cell">xx14500.34</td>
+                              <td width="10%" id="fieldPlannedDSO" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
+                              <td width="10%" id="fieldCurrentDSO" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
+                              <td width="10%" id="fieldOverdue" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
                               <td width="10%" id="fieldTransAmount" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
                               <td width="10%" id="fieldTransCurrency" class="DataGrid_Body_Cell">xx14500.34</td>
                               <td width="10%" id="fieldBaseAmount" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
-                              <td width="10%" id="fieldBaseCurrency" class="DataGrid_Body_Cell">xx14500.34</td>
+                              <td width="10%" id="fieldBaseCurrency" class="DataGrid_Body_Cell" style="text-align:center">xx14500.34</td>
                             </tr>
                           </div>
                           <tr class="DataGrid_Body_Row">
                             <th width="10%" class="DataGrid_Header_Cell"><span class="Bold">Sub Total (Status)</span></th>
                             <th width="100%" class="DataGrid_Header_Cell_Amount" colspan="12"></th>
-                            <th width="10%" class="DataGrid_Header_Cell_Amount"><span class="Bold" id="subtotalBaseAmount"></span></th>
+                            <th width="10%" class="DataGrid_Header_Cell_Amount" style="text-align:right"><span class="Bold" id="subtotalBaseAmount"></span></th>
                             <th width="10%" class="DataGrid_Header_Cell"><span class="Bold" id="fieldBaseCurrency"></span></th>
                           </tr>
                           <tr>
@@ -1125,16 +1125,16 @@
                       <table cellspacing="0" cellpadding="0" width="90%" class="DataGrid_Header_Table DataGrid_Body_Table" style="table-layout: auto;">
                           <div id="sectionGroupCrit">
                             <tr class="DataGrid_Body_Row">
-                              <th colspan="12" class="DataGrid_Header_Cell">Grouping Criteria<span>:&nbsp;</span>
+                              <th colspan="12" class="DataGrid_Header_Cell" style="text-align:left">Grouping Criteria<span>:&nbsp;</span>
                                 <span id="fieldGroupCritName">xxGroupCritName</span></th>
                              <!-- <th class="DataGrid_Header_Cell">Balance</th>
                               <th class="DataGrid_Header_Cell_Amount"><span id="sumBalanceAmount"></span></th>
                               <th class="DataGrid_Header_Cell"><span id="fieldBaseCurrency2"></span></th> -->
-                              <th colspan="3" class="DataGrid_Header_Cell">Balance<span>:&nbsp;</span><span id="sumBalanceAmount"></span><span>&nbsp;</span><span id="fieldBaseCurrency2"></span></th>
+                              <th colspan="3" class="DataGrid_Header_Cell" style="text-align:right">Balance:&nbsp;<span id="sumBalanceAmount"></span>&nbsp;<span id="fieldBaseCurrency2"></span>&nbsp;</th>
                             </tr>
                             <div id="sectionStatus2">
                                 <tr class="DataGrid_Body_Row">
-                                  <th colspan="15" class="DataGrid_Header_Cell">Status<span>:&nbsp;</span>
+                                  <th colspan="15" class="DataGrid_Header_Cell" style="text-align:left">Status<span>:&nbsp;</span>
                                 <span id="fieldStatus2">xxStatusName</span></th>
                                 </tr>
                         
@@ -1144,15 +1144,15 @@
                                     <th width="10%" class="DataGrid_Header_Cell">Project</th>
                                     <th width="10%" class="DataGrid_Header_Cell">Sales Person</th>
                                     <th width="10%" class="DataGrid_Header_Cell">Invoice Number</th>
-                                    <th width="10%" class="DataGrid_Header_Cell_Amount">Invoice Date</th>
-                                    <th width="10%" class="DataGrid_Header_Cell_Amount">Payment</th>
-                                    <th width="10%" class="DataGrid_Header_Cell_Amount">Due Date</th>
+                                    <th width="10%" class="DataGrid_Header_Cell">Invoice Date</th>
+                                    <th width="10%" class="DataGrid_Header_Cell">Payment</th>
+                                    <th width="10%" class="DataGrid_Header_Cell">Due Date</th>
                                     <th width="10%" class="DataGrid_Header_Cell">PlannedDSO</th>
                                     <th width="10%" class="DataGrid_Header_Cell">CurrentDSO</th>
                                     <th width="10%" class="DataGrid_Header_Cell">Overdue</th>
-                                    <th width="10%" class="DataGrid_Header_Cell_Amount">Trans. Amount</th>
+                                    <th width="10%" class="DataGrid_Header_Cell">Trans. Amount</th>
                                     <th width="10%" class="DataGrid_Header_Cell">Trans. Currency</th>
-                                    <th width="10%" class="DataGrid_Header_Cell_Amount">Base Amount</th>
+                                    <th width="10%" class="DataGrid_Header_Cell">Base Amount</th>
                                     <th width="10%" class="DataGrid_Header_Cell">Base Currency</th>
                                 </tr>
                         
@@ -1168,26 +1168,26 @@
                                       </a>
                                       <span id="fieldInvoiceNumber2_nolink" class="DataGrid_Body_Cell" style="xx">xx14500.34</span>
                                     </td>
-                                    <td width="10%" id="fieldInvoiceDate2" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
+                                    <td width="10%" id="fieldInvoiceDate2" class="DataGrid_Body_Cell">xx14500.34</td>
                                     <td width="10%" class="DataGrid_Body_Cell_Amount">
                                       <a href="#" onclick="validate(); openPaymentTab('yy', 'zz');" onmouseover="window.status='Payment Report';return true;" onmouseout="window.status='';return true;" class="LabelLink" id="fieldPaymLink2" style="xx" title="xx">
                                         <span id="fieldPayment2">xx14500.34</span>
                                       </a>
                                     </td>
-                                    <td width="10%" id="fieldDueDate2" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
-                                    <td width="10%" id="fieldPlannedDSO2" class="DataGrid_Body_Cell">xx14500.34</td>
-                                    <td width="10%" id="fieldCurrentDSO2" class="DataGrid_Body_Cell">xx14500.34</td>
-                                    <td width="10%" id="fieldOverdue2" class="DataGrid_Body_Cell">xx14500.34</td>
+                                    <td width="10%" id="fieldDueDate2" class="DataGrid_Body_Cell">xx14500.34</td>
+                                    <td width="10%" id="fieldPlannedDSO2" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
+                                    <td width="10%" id="fieldCurrentDSO2" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
+                                    <td width="10%" id="fieldOverdue2" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
                                     <td width="10%" id="fieldTransAmount2" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
                                     <td width="10%" id="fieldTransCurrency2" class="DataGrid_Body_Cell">xx14500.34</td>
                                     <td width="10%" id="fieldBaseAmount2" class="DataGrid_Body_Cell_Amount">xx14500.34</td>
-                                    <td width="10%" id="fieldBaseCurrency2" class="DataGrid_Body_Cell">xx14500.34</td>
+                                    <td width="10%" id="fieldBaseCurrency2" class="DataGrid_Body_Cell" style="text-align:center">xx14500.34</td>
                                   </tr>
                                 </div>
                                 <tr class="DataGrid_Body_Row">
                                   <th width="10%" class="DataGrid_Header_Cell"><span class="Bold">Sub Total (Status)</span></th>
                                   <th width="100%" class="DataGrid_Header_Cell_Amount" colspan="12"></th>
-                                  <th width="10%" class="DataGrid_Header_Cell_Amount"><span class="Bold" id="subtotalBaseAmountStatus"></span></th>
+                                  <th width="10%" class="DataGrid_Header_Cell_Amount" style="text-align:right"><span class="Bold" id="subtotalBaseAmountStatus"></span></th>
                                   <th width="10%" class="DataGrid_Header_Cell"><span class="Bold" id="fieldBaseCurrency2"></span></th>
                                 </tr>
                               
@@ -1203,13 +1203,13 @@
 
                       <!-- USER CONTROLS -->
                 <table class="Main_Client_TableEdition">
-			      <tr>
-				   <td>					
-				    <div id="paramShowOneAsterisk" style="xx" class="RelationInfoContent">* Invoice paid using a credit payment</div>
-				    <div id="paramShowTwoAsterisk" style="xx" class="RelationInfoContent">** Several invoices have been paid using the same credit payment</div>
-				   </td>
-				  </tr>
-			  </table>		
+                  <tr>
+                   <td>                 
+                    <div id="paramShowOneAsterisk" style="xx" class="RelationInfoContent">* Invoice paid using a credit payment</div>
+                    <div id="paramShowTwoAsterisk" style="xx" class="RelationInfoContent">** Several invoices have been paid using the same credit payment</div>
+                   </td>
+                  </tr>
+              </table>      
               </tr>
               </table>
         
@@ -1218,7 +1218,7 @@
             <td class="Main_Bottom_bg"><img src="../../../../../web/images/blank.gif" border="0"/></td>
           </tr>
         </table>
-	</div>
+    </div>
       </td>
       <td valign="top">
         <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Main_ContentPane_Right" id="tdrightSeparator">
--- a/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java	Thu Jan 26 09:16:54 2012 +0100
@@ -111,7 +111,8 @@
     OBContext.setAdminMode();
     try {
 
-      hsqlScript.append(" as fpsd ");
+      hsqlScript
+          .append("select fpsd.id, (select a.sequenceNumber from ADList a where a.reference.id = '575BCB88A4694C27BC013DE9C73E6FE7' and a.searchKey = coalesce(pay.status, 'RPAP')) as a from FIN_Payment_ScheduleDetail as fpsd ");
       hsqlScript.append(" left outer join fpsd.paymentDetails.finPayment pay");
       hsqlScript.append(" left outer join pay.businessPartner paybp");
       hsqlScript.append(" left outer join paybp.businessPartnerCategory paybpc");
@@ -156,8 +157,8 @@
 
       // Exclude payments that use credit payment
       if (!strInclPaymentUsingCredit.equalsIgnoreCase("Y")) {
-        hsqlScript.append(" and not (pay.amount = 0 ");
-        hsqlScript.append(" and pay.usedCredit > pay.generatedCredit) ");
+        hsqlScript.append(" and (not (pay.amount = 0 ");
+        hsqlScript.append(" and pay.usedCredit > pay.generatedCredit) or pay is null)");
       }
 
       // due date from - due date to
@@ -336,7 +337,7 @@
         hsqlScript.append("), ");
       }
 
-      hsqlScript.append(" coalesce(pay.");
+      hsqlScript.append(" a, coalesce(pay.");
       hsqlScript.append(FIN_Payment.PROPERTY_STATUS);
       hsqlScript.append(", 'RPAP')");
 
@@ -383,11 +384,25 @@
       hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
       hsqlScript.append(".");
       hsqlScript.append(FIN_PaymentSchedule.PROPERTY_ID);
+      final Session session = OBDal.getInstance().getSession();
+      final Query query = session.createQuery(hsqlScript.toString());
 
-      final OBQuery<FIN_PaymentScheduleDetail> obqPSD = OBDal.getInstance().createQuery(
-          FIN_PaymentScheduleDetail.class, hsqlScript.toString(), parameters);
-      obqPSD.setFilterOnReadableOrganization(false);
-      java.util.List<FIN_PaymentScheduleDetail> obqPSDList = obqPSD.list();
+      boolean firstMember = true;
+      java.util.List<FIN_PaymentScheduleDetail> obqPSDList = new ArrayList<FIN_PaymentScheduleDetail>();
+      for (Object resultObject : query.list()) {
+        if (resultObject.getClass().isArray()) {
+          final Object[] values = (Object[]) resultObject;
+          for (Object value : values) {
+            if (firstMember) {
+              obqPSDList.add(OBDal.getInstance().get(FIN_PaymentScheduleDetail.class,
+                  (String) value));
+              firstMember = false;
+            } else {
+              firstMember = true;
+            }
+          }
+        }
+      }
       data = FieldProviderFactory.getFieldProviderArray(obqPSDList);
 
       FIN_PaymentScheduleDetail[] FIN_PaymentScheduleDetail = new FIN_PaymentScheduleDetail[0];
@@ -405,6 +420,9 @@
       boolean isAmtInLimit = false;
 
       for (int i = 0; i < data.length; i++) {
+
+        // If the payment schedule detail has a payment detail, then, the information is taken from
+        // the payment. If not, the information is taken from the invoice (the else).
         if (FIN_PaymentScheduleDetail[i].getPaymentDetails() != null) {
           BusinessPartner bp = getDocumentBusinessPartner(FIN_PaymentScheduleDetail[i]);
           if (bp == null) {
@@ -481,7 +499,8 @@
               .getCurrency();
           FieldProviderFactory.setField(data[i], "TRANS_CURRENCY", transCurrency.getISOCode());
           // paymentMethod
-          FieldProviderFactory.setField(data[i], "PAYMENT_METHOD", "");
+          FieldProviderFactory.setField(data[i], "PAYMENT_METHOD", FIN_PaymentScheduleDetail[i]
+              .getInvoicePaymentSchedule().getFinPaymentmethod().getIdentifier());
           // payment
           FieldProviderFactory.setField(data[i], "PAYMENT", "");
           // payment_id
@@ -509,6 +528,16 @@
           }
         }
 
+        /*
+         * - If the payment schedule detail has an invoice, the line is filled normally.
+         * 
+         * - If it has a payment it does not have an invoice or it should have entered the first if,
+         * thus, it is a credit payment. If it is a credit payment, it is checked whether it pays
+         * one or multiple invoices. If it is one, the information of that invoice is provided. If
+         * not, it is filled with '**'.
+         * 
+         * - Otherwise, it is filled empty.
+         */
         if (FIN_PaymentScheduleDetail[i].getInvoicePaymentSchedule() != null) {
           fillLine(dateFormat, data[i], FIN_PaymentScheduleDetail[i],
               FIN_PaymentScheduleDetail[i].getInvoicePaymentSchedule(), false);
@@ -516,9 +545,9 @@
           java.util.List<Invoice> invoices = getInvoicesUsingCredit(FIN_PaymentScheduleDetail[i]
               .getPaymentDetails().getFinPayment());
           if (invoices.size() == 1) {
-            FIN_PaymentSchedule ps = getInvoicePaymentSchedule(FIN_PaymentScheduleDetail[i]
+            java.util.List<FIN_PaymentSchedule> ps = getInvoicePaymentSchedules(FIN_PaymentScheduleDetail[i]
                 .getPaymentDetails().getFinPayment());
-            fillLine(dateFormat, data[i], FIN_PaymentScheduleDetail[i], ps, true);
+            fillLine(dateFormat, data[i], FIN_PaymentScheduleDetail[i], ps.get(0), true);
           } else {
             // project
             FieldProviderFactory.setField(data[i], "PROJECT", "");
@@ -1062,6 +1091,26 @@
     }
   }
 
+  public java.util.List<FIN_PaymentSchedule> getInvoicePaymentSchedules(FIN_Payment credit_payment) {
+    final StringBuilder sql = new StringBuilder();
+    sql.append(" select ps ");
+    sql.append(" from FIN_Payment_Credit pc, FIN_Payment_Detail_V pdv, ");
+    sql.append(" FIN_Payment_Schedule ps ");
+    sql.append(" where pc.payment = pdv.payment ");
+    sql.append(" and ps.id = pdv.invoicePaymentPlan ");
+    sql.append(" and pc.creditPaymentUsed.id = '" + credit_payment.getId() + "' ");
+
+    try {
+      OBContext.setAdminMode(true);
+      final Session session = OBDal.getInstance().getSession();
+      final Query query = session.createQuery(sql.toString());
+      return query.list();
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+  }
+
+  @Deprecated
   public FIN_PaymentSchedule getInvoicePaymentSchedule(FIN_Payment credit_payment) {
     final StringBuilder sql = new StringBuilder();
     sql.append(" select ps ");
--- a/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportExcel.jrxml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportExcel.jrxml	Thu Jan 26 09:16:54 2012 +0100
@@ -1,210 +1,65 @@
-<?xml version="1.0" encoding="UTF-8"  ?>
-<!-- Created with iReport - A designer for JasperReports -->
-<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
-<jasperReport
-		 name="PaymentReportExcel"
-		 columnCount="1"
-		 printOrder="Vertical"
-		 orientation="Landscape"
-		 pageWidth="1385"
-		 pageHeight="595"
-		 columnWidth="1325"
-		 columnSpacing="0"
-		 leftMargin="30"
-		 rightMargin="30"
-		 topMargin="20"
-		 bottomMargin="20"
-		 whenNoDataType="NoDataSection"
-		 isTitleNewPage="false"
-		 isSummaryNewPage="false">
-	<property name="ireport.scriptlethandling" value="0" />
-	<property name="ireport.encoding" value="UTF-8" />
-	<import value="java.util.*" />
-	<import value="net.sf.jasperreports.engine.*" />
-	<import value="net.sf.jasperreports.engine.data.*" />
-
-	<style 
-		name="default"
-		isDefault="false"
-		vAlign="Middle"
-		fontName="Bitstream Vera Sans"
-		fontSize="8"
-	>
-	</style>
-	<style 
-		name="Report_Title"
-		isDefault="false"
-		fontName="Bitstream Vera Sans"
-		fontSize="18"
-	>
-	</style>
-	<style 
-		name="Report_Subtitle"
-		isDefault="false"
-		forecolor="#555555"
-		fontName="Bitstream Vera Sans"
-		fontSize="14"
-	>
-	</style>
-	<style 
-		name="Report_Data_Label"
-		isDefault="false"
-		fontName="Bitstream Vera Sans"
-		fontSize="11"
-		isBold="true"
-	>
-	</style>
-	<style 
-		name="Report_Data_Field"
-		isDefault="false"
-		fontName="Bitstream Vera Sans"
-		fontSize="11"
-		isBold="false"
-	>
-	</style>
-	<style 
-		name="Total_Field"
-		isDefault="false"
-		mode="Opaque"
-		forecolor="#000000"
-		backcolor="#CCCCCC"
-		vAlign="Middle"
-		fontName="Bitstream Vera Sans"
-		fontSize="11"
-		isBold="true"
-	>
-	</style>
-	<style 
-		name="GroupHeader_DarkGray"
-		isDefault="false"
-		mode="Opaque"
-		forecolor="#FFFFFF"
-		backcolor="#555555"
-		vAlign="Middle"
-		fontName="Bitstream Vera Sans"
-		fontSize="12"
-		isBold="true"
-	>
-	</style>
-	<style 
-		name="Group_Data_Label"
-		isDefault="false"
-		fontName="Bitstream Vera Sans"
-		fontSize="11"
-		isBold="true"
-	>
-	</style>
-	<style 
-		name="Group_Data_Field"
-		isDefault="false"
-		fontName="Bitstream Vera Sans"
-		fontSize="11"
-	>
-	</style>
-	<style 
-		name="Detail_Header"
-		isDefault="false"
-		mode="Opaque"
-		forecolor="#FFFFFF"
-		backcolor="#5D5D5D"
-		vAlign="Middle"
-		fontName="Bitstream Vera Sans"
-		fontSize="10"
-		isBold="true"
-	>
-	</style>
-	<style 
-		name="Detail_Line"
-		isDefault="false"
-		fontName="Bitstream Vera Sans"
-		fontSize="8"
-	>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="PaymentReportExcel" pageWidth="1800" pageHeight="595" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="1740" leftMargin="30" rightMargin="30" topMargin="20" bottomMargin="20">
+	<property name="ireport.scriptlethandling" value="0"/>
+	<property name="ireport.encoding" value="UTF-8"/>
+	<property name="ireport.zoom" value="1.0"/>
+	<property name="ireport.x" value="0"/>
+	<property name="ireport.y" value="0"/>
+	<import value="net.sf.jasperreports.engine.*"/>
+	<import value="java.util.*"/>
+	<import value="net.sf.jasperreports.engine.data.*"/>
+	<style name="default" vAlign="Middle" fontName="Bitstream Vera Sans" fontSize="8"/>
+	<style name="Report_Title" fontName="Bitstream Vera Sans" fontSize="18"/>
+	<style name="Report_Subtitle" forecolor="#555555" fontName="Bitstream Vera Sans" fontSize="14"/>
+	<style name="Report_Data_Label" fontName="Bitstream Vera Sans" fontSize="11" isBold="true"/>
+	<style name="Report_Data_Field" fontName="Bitstream Vera Sans" fontSize="11" isBold="false"/>
+	<style name="Total_Field" mode="Opaque" forecolor="#000000" backcolor="#CCCCCC" vAlign="Middle" fontName="Bitstream Vera Sans" fontSize="11" isBold="true"/>
+	<style name="GroupHeader_DarkGray" mode="Opaque" forecolor="#FFFFFF" backcolor="#555555" vAlign="Middle" fontName="Bitstream Vera Sans" fontSize="12" isBold="true"/>
+	<style name="Group_Data_Label" fontName="Bitstream Vera Sans" fontSize="11" isBold="true"/>
+	<style name="Group_Data_Field" fontName="Bitstream Vera Sans" fontSize="11"/>
+	<style name="Detail_Header" mode="Opaque" forecolor="#FFFFFF" backcolor="#5D5D5D" vAlign="Middle" fontName="Bitstream Vera Sans" fontSize="10" isBold="true"/>
+	<style name="Detail_Line" fontName="Bitstream Vera Sans" fontSize="8">
 		<conditionalStyle>
 			<conditionExpression><![CDATA[new Boolean($V{REPORT_COUNT}.intValue()%2==0)]]></conditionExpression>
-			<style 
-				name="Detail_Line"
-				isDefault="false"
-				mode="Opaque"
-				backcolor="#CCCCCC"
-			>
-			</style>
+			<style mode="Opaque" backcolor="#CCCCCC"/>
 		</conditionalStyle>
 	</style>
-	<style 
-		name="Total_Gray"
-		isDefault="false"
-		mode="Opaque"
-		forecolor="#000000"
-		backcolor="#CCCCCC"
-	>
-	</style>
-	<style 
-		name="Detail_Data_Label"
-		isDefault="false"
-		mode="Opaque"
-		backcolor="#CCCCCC"
-		fontName="Bitstream Vera Sans"
-		fontSize="10"
-		isBold="true"
-	>
-	</style>
-	<style 
-		name="Detail_Data_Field"
-		isDefault="false"
-		mode="Opaque"
-		backcolor="#CCCCCC"
-		fontName="Bitstream Vera Sans"
-		fontSize="10"
-	>
-	</style>
-	<style 
-		name="Group_Footer"
-		isDefault="false"
-		fontName="Bitstream Vera Sans"
-		fontSize="11"
-		isBold="true"
-	>
-	</style>
-	<style 
-		name="Report_Footer"
-		isDefault="true"
-		vAlign="Middle"
-		fontName="Bitstream Vera Sans"
-		fontSize="11"
-	>
-	</style>
-
-	<parameter name="GROUP_CRIT" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="ORG_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="INCL_SUBORG_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="DUEDATEFROM_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="DUEDATETO_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="AMTFROM_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="AMTTO_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="DOCDATEFROM_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="DOCDATETO_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="BPARTNER_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="BPGROUP_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="PROJECT_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="STATUS_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="CURRENCY_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="CONVERSIONDATE_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="PAYMTYPE_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="OVERDUE_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="GROUPCRIT_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="ORDCRIT_SHOW" isForPrompting="false" class="java.lang.String"/>
-	<parameter name="ONE_ASTERISK_SHOW" isForPrompting="false" class="java.lang.Boolean">
-		<defaultValueExpression ><![CDATA[new Boolean(false)]]></defaultValueExpression>
+	<style name="Total_Gray" mode="Opaque" forecolor="#000000" backcolor="#CCCCCC"/>
+	<style name="Detail_Data_Label" mode="Opaque" backcolor="#CCCCCC" fontName="Bitstream Vera Sans" fontSize="10" isBold="true"/>
+	<style name="Detail_Data_Field" mode="Opaque" backcolor="#CCCCCC" fontName="Bitstream Vera Sans" fontSize="10"/>
+	<style name="Group_Footer" fontName="Bitstream Vera Sans" fontSize="11" isBold="true"/>
+	<style name="Report_Footer" isDefault="true" vAlign="Middle" fontName="Bitstream Vera Sans" fontSize="11"/>
+	<parameter name="GROUP_CRIT" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="ORG_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="INCL_SUBORG_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="DUEDATEFROM_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="DUEDATETO_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="AMTFROM_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="AMTTO_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="DOCDATEFROM_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="DOCDATETO_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="BPARTNER_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="BPGROUP_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="PROJECT_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="STATUS_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="CURRENCY_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="CONVERSIONDATE_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="PAYMTYPE_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="OVERDUE_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="GROUPCRIT_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="ORDCRIT_SHOW" class="java.lang.String" isForPrompting="false"/>
+	<parameter name="ONE_ASTERISK_SHOW" class="java.lang.Boolean" isForPrompting="false">
+		<defaultValueExpression><![CDATA[new Boolean(false)]]></defaultValueExpression>
 	</parameter>
-	<parameter name="TWO_ASTERISK_SHOW" isForPrompting="false" class="java.lang.Boolean">
-		<defaultValueExpression ><![CDATA[new Boolean(false)]]></defaultValueExpression>
+	<parameter name="TWO_ASTERISK_SHOW" class="java.lang.Boolean" isForPrompting="false">
+		<defaultValueExpression><![CDATA[new Boolean(false)]]></defaultValueExpression>
 	</parameter>
-	<queryString><![CDATA[SELECT 'hello' AS BP_GROUP, 'hello' AS BPARTNER, 'hello' AS PROJECT, 'hello' AS PAYMENT, 'hello' AS SALES_PERSON, 1234 AS INVOICE_NUMBER, to_Date('01/01/2010') AS INVOICE_DATE,
+	<queryString>
+		<![CDATA[SELECT 'hello' AS BP_GROUP, 'hello' AS BPARTNER, 'hello' AS PROJECT, 'hello' AS PAYMENT, 'hello' AS SALES_PERSON, 1234 AS INVOICE_NUMBER, to_Date('01/01/2010') AS INVOICE_DATE,
        to_Date('01/03/2010') AS DUE_DATE, 1234 AS PLANNED_DSO, 1234 AS CURRENT_DSO, 1234 AS OVERDUE, 1234 AS DAYS_OVERDUE, 1234 AS AMOUNT,
        'hello' AS CURRENCY, 1234 AS BASE_AMOUNT, 'hello' AS BASE_CURRENCY, 'hello' AS PAYMENT_METHOD, 'hello' AS FINANCIAL_ACCOUNT
-FROM DUAL]]></queryString>
-
+FROM DUAL]]>
+	</queryString>
 	<field name="BP_GROUP" class="java.lang.String"/>
 	<field name="BPARTNER" class="java.lang.String"/>
 	<field name="PROJECT" class="java.lang.String"/>
@@ -228,610 +83,370 @@
 	<field name="PAYMENT_DESC" class="java.lang.String"/>
 	<field name="PAYMENT_DATE" class="java.util.Date"/>
 	<field name="PAYMENT_DOCNO" class="java.lang.String"/>
-
-	<variable name="SUMSUBTOTALSTATUS" class="java.math.BigDecimal" resetType="Report" calculation="Sum">
+	<variable name="SUMSUBTOTALSTATUS" class="java.math.BigDecimal" calculation="Sum">
 		<variableExpression><![CDATA[$F{BASE_AMOUNT}]]></variableExpression>
 		<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
 	</variable>
-	<variable name="SUMSUBTOTALGC" class="java.math.BigDecimal" resetType="Report" calculation="Sum">
+	<variable name="SUMSUBTOTALGC" class="java.math.BigDecimal" calculation="Sum">
 		<variableExpression><![CDATA[$F{BASE_AMOUNT}]]></variableExpression>
 		<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
 	</variable>
-	<variable name="SUMSUBTOTALGT" class="java.math.BigDecimal" resetType="Report" calculation="Sum">
+	<variable name="SUMSUBTOTALGT" class="java.math.BigDecimal" calculation="Sum">
 		<variableExpression><![CDATA[$F{BASE_AMOUNT}]]></variableExpression>
 		<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
 	</variable>
-		<background>
-			<band height="0"  isSplitAllowed="true" >
-			</band>
-		</background>
-		<title>
-			<band height="0"  isSplitAllowed="true" >
-			</band>
-		</title>
-		<pageHeader>
-			<band height="50"  isSplitAllowed="true" >
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="0"
-						y="25"
-						width="99"
-						height="25"
-						key="staticText-2"/>
-					<box leftPadding="2"></box>
-					<textElement verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+	<background>
+		<band splitType="Stretch"/>
+	</background>
+	<title>
+		<band splitType="Stretch"/>
+	</title>
+	<pageHeader>
+		<band height="50" splitType="Stretch">
+			<staticText>
+				<reportElement key="staticText-2" style="Detail_Header" x="0" y="25" width="99" height="25"/>
+				<box leftPadding="2"/>
+				<textElement verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Business Partner]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="523"
-						y="25"
-						width="65"
-						height="25"
-						key="staticText-4"/>
-					<box leftPadding="2"></box>
-					<textElement verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-4" style="Detail_Header" x="523" y="25" width="65" height="25"/>
+				<box leftPadding="2"/>
+				<textElement verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Payment]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="335"
-						y="25"
-						width="78"
-						height="25"
-						key="staticText-5"/>
-					<box leftPadding="2"></box>
-					<textElement verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-5" style="Detail_Header" x="335" y="25" width="78" height="25"/>
+				<box leftPadding="2"/>
+				<textElement verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Sales Person]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="413"
-						y="25"
-						width="55"
-						height="25"
-						key="staticText-6"/>
-					<box leftPadding="2"></box>
-					<textElement verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-6" style="Detail_Header" x="413" y="25" width="55" height="25"/>
+				<box leftPadding="2"/>
+				<textElement verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Invoice
 Number]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="468"
-						y="25"
-						width="55"
-						height="25"
-						key="staticText-7"/>
-					<box leftPadding="2"></box>
-					<textElement textAlignment="Left" verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-7" style="Detail_Header" x="468" y="25" width="55" height="25"/>
+				<box leftPadding="2"/>
+				<textElement textAlignment="Left" verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Invoice Date]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="895"
-						y="25"
-						width="62"
-						height="25"
-						key="staticText-8"/>
-					<box leftPadding="2"></box>
-					<textElement textAlignment="Left" verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-8" style="Detail_Header" x="1067" y="25" width="62" height="25"/>
+				<box leftPadding="2"/>
+				<textElement textAlignment="Left" verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Due Date]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="957"
-						y="25"
-						width="33"
-						height="25"
-						key="staticText-9"/>
-					<box></box>
-					<textElement textAlignment="Center" verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-9" style="Detail_Header" x="1129" y="25" width="33" height="25"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Planned
 DSO]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="990"
-						y="25"
-						width="33"
-						height="25"
-						key="staticText-10"/>
-					<box></box>
-					<textElement textAlignment="Center" verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-10" style="Detail_Header" x="1162" y="25" width="33" height="25"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Current
 DSO]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="1023"
-						y="25"
-						width="36"
-						height="25"
-						key="staticText-11"/>
-					<box></box>
-					<textElement textAlignment="Center" verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-11" style="Detail_Header" x="1195" y="25" width="36" height="25"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Overdue]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="1199"
-						y="25"
-						width="80"
-						height="25"
-						key="staticText-13"/>
-					<box rightPadding="2"></box>
-					<textElement textAlignment="Right">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-13" style="Detail_Header" x="1371" y="25" width="80" height="25"/>
+				<box rightPadding="2"/>
+				<textElement textAlignment="Right">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Base
 Amount]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="1279"
-						y="25"
-						width="46"
-						height="25"
-						key="staticText-14"/>
-					<box leftPadding="2"></box>
-					<textElement textAlignment="Center">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-14" style="Detail_Header" x="1451" y="25" width="46" height="25"/>
+				<box leftPadding="2"/>
+				<textElement textAlignment="Center">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Base
 Currency]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="1059"
-						y="25"
-						width="80"
-						height="25"
-						key="staticText-15"/>
-					<box rightPadding="2"></box>
-					<textElement textAlignment="Right">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-15" style="Detail_Header" x="1231" y="25" width="80" height="25"/>
+				<box rightPadding="2"/>
+				<textElement textAlignment="Right">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Transactional
 Amount]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="1139"
-						y="25"
-						width="60"
-						height="25"
-						key="staticText-16"/>
-					<box leftPadding="2"></box>
-					<textElement textAlignment="Center">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-16" style="Detail_Header" x="1311" y="25" width="60" height="25"/>
+				<box leftPadding="2"/>
+				<textElement textAlignment="Center">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Transactional Currency]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Report_Footer"
-						x="0"
-						y="0"
-						width="169"
-						height="25"
-						key="staticText-17"/>
-					<box></box>
-					<textElement>
-						<font/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-17" style="Report_Footer" x="0" y="0" width="169" height="25"/>
+				<textElement/>
 				<text><![CDATA[Payment Report]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="99"
-						y="25"
-						width="76"
-						height="25"
-						key="staticText-18"/>
-					<box leftPadding="2"></box>
-					<textElement verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-18" style="Detail_Header" x="99" y="25" width="76" height="25"/>
+				<box leftPadding="2"/>
+				<textElement verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Business Partner Category]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="175"
-						y="25"
-						width="76"
-						height="25"
-						key="staticText-19"/>
-					<box leftPadding="2"></box>
-					<textElement verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-19" style="Detail_Header" x="175" y="25" width="76" height="25"/>
+				<box leftPadding="2"/>
+				<textElement verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Status]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="251"
-						y="25"
-						width="84"
-						height="25"
-						key="staticText-20"/>
-					<box leftPadding="2"></box>
-					<textElement verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-20" style="Detail_Header" x="251" y="25" width="84" height="25"/>
+				<box leftPadding="2"/>
+				<textElement verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Project]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="588"
-						y="25"
-						width="227"
-						height="25"
-						key="staticText-22"/>
-					<box leftPadding="2"></box>
-					<textElement textAlignment="Left" verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-22" style="Detail_Header" x="760" y="25" width="227" height="25"/>
+				<box leftPadding="2"/>
+				<textElement textAlignment="Left" verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Payment Description]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Detail_Header"
-						x="815"
-						y="25"
-						width="80"
-						height="25"
-						key="staticText-25"/>
-					<box leftPadding="2"></box>
-					<textElement textAlignment="Left" verticalAlignment="Middle">
-						<font size="8" isBold="false"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-25" style="Detail_Header" x="987" y="25" width="80" height="25"/>
+				<box leftPadding="2"/>
+				<textElement textAlignment="Left" verticalAlignment="Middle">
+					<font size="8" isBold="false"/>
+				</textElement>
 				<text><![CDATA[Payment Date]]></text>
-				</staticText>
-			</band>
-		</pageHeader>
-		<columnHeader>
-			<band height="0"  isSplitAllowed="true" >
-			</band>
-		</columnHeader>
-		<detail>
-			<band height="25"  isSplitAllowed="true" >
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="0"
-						y="0"
-						width="99"
-						height="25"
-						key="textField-2"/>
-					<box leftPadding="2"></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[$F{BPARTNER}]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="523"
-						y="0"
-						width="65"
-						height="25"
-						key="textField-4"/>
-					<box leftPadding="2"></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[$F{PAYMENT_DOCNO}]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="335"
-						y="0"
-						width="78"
-						height="25"
-						key="textField-5"/>
-					<box leftPadding="2"></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[($F{SALES_PERSON}==null ? " " : $F{SALES_PERSON})]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="413"
-						y="0"
-						width="55"
-						height="25"
-						key="textField-6"/>
-					<box leftPadding="2"></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[($F{INVOICE_NUMBER}==null ? " " : $F{INVOICE_NUMBER}.toString())]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="468"
-						y="0"
-						width="55"
-						height="25"
-						key="textField-7"/>
-					<box leftPadding="2"></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[($F{INVOICE_DATE}== null ? " " : $F{INVOICE_DATE})]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="895"
-						y="0"
-						width="62"
-						height="25"
-						key="textField-8"/>
-					<box leftPadding="2"></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[($F{DUE_DATE}== null ? " " : $F{DUE_DATE})]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="957"
-						y="0"
-						width="33"
-						height="25"
-						key="textField-9"/>
-					<box></box>
-					<textElement textAlignment="Center">
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[($F{PLANNED_DSO}== null ? " " : $F{PLANNED_DSO}.toString())]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="990"
-						y="0"
-						width="33"
-						height="25"
-						key="textField-10"/>
-					<box></box>
-					<textElement textAlignment="Center">
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[($F{CURRENT_DSO}== null ? " " : $F{CURRENT_DSO}.toString())]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="1023"
-						y="0"
-						width="36"
-						height="25"
-						key="textField-11"/>
-					<box></box>
-					<textElement textAlignment="Center">
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[($F{OVERDUE}== null ? " " : $F{OVERDUE}.toString())]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="1199"
-						y="0"
-						width="80"
-						height="25"
-						key="textField-13"/>
-					<box rightPadding="2"></box>
-					<textElement textAlignment="Right">
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[($F{BASE_AMOUNT}== null ? " " : $F{BASE_AMOUNT}.toString())]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="1279"
-						y="0"
-						width="46"
-						height="25"
-						key="textField-14"/>
-					<box></box>
-					<textElement textAlignment="Center">
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[$F{BASE_CURRENCY}]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="1059"
-						y="0"
-						width="80"
-						height="25"
-						key="textField-15"/>
-					<box rightPadding="2"></box>
-					<textElement textAlignment="Right">
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[$F{TRANS_AMOUNT}.toString() + " "]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="1139"
-						y="0"
-						width="60"
-						height="25"
-						key="textField-16"/>
-					<box></box>
-					<textElement textAlignment="Center">
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[$F{TRANS_CURRENCY}]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="99"
-						y="0"
-						width="76"
-						height="25"
-						key="textField-17"/>
-					<box leftPadding="2"></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[$F{BP_GROUP}]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="175"
-						y="0"
-						width="76"
-						height="25"
-						key="textField-18"/>
-					<box leftPadding="2"></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[$F{STATUS}]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="251"
-						y="0"
-						width="84"
-						height="25"
-						key="textField-19"/>
-					<box leftPadding="2"></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[$F{PROJECT}]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="588"
-						y="0"
-						width="227"
-						height="25"
-						key="textField-21"
-						stretchType="RelativeToBandHeight"/>
-					<box leftPadding="2"></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.lang.String"><![CDATA[$F{PAYMENT_DESC}]]></textFieldExpression>
-				</textField>
-				<textField isStretchWithOverflow="false" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
-					<reportElement
-						style="Report_Footer"
-						x="815"
-						y="0"
-						width="80"
-						height="25"
-						key="textField-22"/>
-					<box leftPadding="2"></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-				<textFieldExpression   class="java.util.Date"><![CDATA[$F{PAYMENT_DATE}]]></textFieldExpression>
-				</textField>
-			</band>
-		</detail>
-		<columnFooter>
-			<band height="0"  isSplitAllowed="true" >
-			</band>
-		</columnFooter>
-		<pageFooter>
-			<band height="0"  isSplitAllowed="true" >
-			</band>
-		</pageFooter>
-		<lastPageFooter>
-			<band height="40"  isSplitAllowed="true" >
-				<staticText>
-					<reportElement
-						style="Report_Footer"
-						x="1"
-						y="1"
-						width="693"
-						height="17"
-						key="staticText-23">
-							<printWhenExpression><![CDATA[$P{ONE_ASTERISK_SHOW}]]></printWhenExpression>
-						</reportElement>
-					<box></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-14" style="Detail_Header" x="588" y="25" width="172" height="25"/>
+				<box leftPadding="2"/>
+				<textElement textAlignment="Left">
+					<font size="8" isBold="false"/>
+				</textElement>
+				<text><![CDATA[Payment Method]]></text>
+			</staticText>
+		</band>
+	</pageHeader>
+	<columnHeader>
+		<band splitType="Stretch"/>
+	</columnHeader>
+	<detail>
+		<band height="25" splitType="Stretch">
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-2" style="Report_Footer" x="0" y="0" width="99" height="25"/>
+				<box leftPadding="2"/>
+				<textElement>
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{BPARTNER}]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-4" style="Report_Footer" x="523" y="0" width="65" height="25"/>
+				<box leftPadding="2"/>
+				<textElement>
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{PAYMENT_DOCNO}]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-5" style="Report_Footer" x="335" y="0" width="78" height="25"/>
+				<box leftPadding="2"/>
+				<textElement>
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[($F{SALES_PERSON}==null ? " " : $F{SALES_PERSON})]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-6" style="Report_Footer" x="413" y="0" width="55" height="25"/>
+				<box leftPadding="2"/>
+				<textElement>
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[($F{INVOICE_NUMBER}==null ? " " : $F{INVOICE_NUMBER}.toString())]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-7" style="Report_Footer" x="468" y="0" width="55" height="25"/>
+				<box leftPadding="2"/>
+				<textElement>
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[($F{INVOICE_DATE}== null ? " " : $F{INVOICE_DATE})]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-8" style="Report_Footer" x="1067" y="0" width="62" height="25"/>
+				<box leftPadding="2"/>
+				<textElement>
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[($F{DUE_DATE}== null ? " " : $F{DUE_DATE})]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-9" style="Report_Footer" x="1129" y="0" width="33" height="25"/>
+				<textElement textAlignment="Center">
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[($F{PLANNED_DSO}== null ? " " : $F{PLANNED_DSO}.toString())]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-10" style="Report_Footer" x="1162" y="0" width="33" height="25"/>
+				<textElement textAlignment="Center">
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[($F{CURRENT_DSO}== null ? " " : $F{CURRENT_DSO}.toString())]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-11" style="Report_Footer" x="1195" y="0" width="36" height="25"/>
+				<textElement textAlignment="Center">
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[($F{OVERDUE}== null ? " " : $F{OVERDUE}.toString())]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-13" style="Report_Footer" x="1371" y="0" width="80" height="25"/>
+				<box rightPadding="2"/>
+				<textElement textAlignment="Right">
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[($F{BASE_AMOUNT}== null ? " " : $F{BASE_AMOUNT}.toString())]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-14" style="Report_Footer" x="1451" y="0" width="46" height="25"/>
+				<textElement textAlignment="Center">
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{BASE_CURRENCY}]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-15" style="Report_Footer" x="1231" y="0" width="80" height="25"/>
+				<box rightPadding="2"/>
+				<textElement textAlignment="Right">
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{TRANS_AMOUNT}.toString() + " "]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-16" style="Report_Footer" x="1311" y="0" width="60" height="25"/>
+				<textElement textAlignment="Center">
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{TRANS_CURRENCY}]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-17" style="Report_Footer" x="99" y="0" width="76" height="25"/>
+				<box leftPadding="2"/>
+				<textElement>
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{BP_GROUP}]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-18" style="Report_Footer" x="175" y="0" width="76" height="25"/>
+				<box leftPadding="2"/>
+				<textElement>
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{STATUS}]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-19" style="Report_Footer" x="251" y="0" width="84" height="25"/>
+				<box leftPadding="2"/>
+				<textElement>
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{PROJECT}]]></textFieldExpression>
+			</textField>
+			<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
+				<reportElement key="textField-21" style="Report_Footer" stretchType="RelativeToBandHeight" x="760" y="0" width="227" height="25"/>
+				<box leftPadding="2"/>
+				<textElement>
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{PAYMENT_DESC}]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-22" style="Report_Footer" x="987" y="0" width="80" height="25"/>
+				<box leftPadding="2"/>
+				<textElement>
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.util.Date"><![CDATA[$F{PAYMENT_DATE}]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement key="textField-14" style="Report_Footer" x="588" y="0" width="172" height="25"/>
+				<textElement textAlignment="Left">
+					<font size="8"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{PAYMENT_METHOD}]]></textFieldExpression>
+			</textField>
+		</band>
+	</detail>
+	<columnFooter>
+		<band splitType="Stretch"/>
+	</columnFooter>
+	<pageFooter>
+		<band splitType="Stretch"/>
+	</pageFooter>
+	<lastPageFooter>
+		<band height="40" splitType="Stretch">
+			<staticText>
+				<reportElement key="staticText-23" style="Report_Footer" x="1" y="1" width="693" height="17">
+					<printWhenExpression><![CDATA[$P{ONE_ASTERISK_SHOW}]]></printWhenExpression>
+				</reportElement>
+				<textElement>
+					<font size="8"/>
+				</textElement>
 				<text><![CDATA[* Invoice paid using a credit payment]]></text>
-				</staticText>
-				<staticText>
-					<reportElement
-						style="Report_Footer"
-						x="1"
-						y="18"
-						width="693"
-						height="17"
-						key="staticText-24">
-							<printWhenExpression><![CDATA[$P{TWO_ASTERISK_SHOW}]]></printWhenExpression>
-						</reportElement>
-					<box></box>
-					<textElement>
-						<font size="8"/>
-					</textElement>
+			</staticText>
+			<staticText>
+				<reportElement key="staticText-24" style="Report_Footer" x="1" y="18" width="693" height="17">
+					<printWhenExpression><![CDATA[$P{TWO_ASTERISK_SHOW}]]></printWhenExpression>
+				</reportElement>
+				<textElement>
+					<font size="8"/>
+				</textElement>
 				<text><![CDATA[** Several invoices have been paid using the same credit payment]]></text>
-				</staticText>
-			</band>
-		</lastPageFooter>
-		<summary>
-			<band height="0"  isSplitAllowed="true" >
-			</band>
-		</summary>
+			</staticText>
+		</band>
+	</lastPageFooter>
+	<summary>
+		<band splitType="Stretch"/>
+	</summary>
 </jasperReport>
--- a/modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--3A3A943684D64DEF9EC39F588A656848-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--3A3A943684D64DEF9EC39F588A656848-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--3A3A943684D64DEF9EC39F588A656848-->  <NAME><![CDATA[Orders Awaiting Delivery]]></NAME>
-<!--3A3A943684D64DEF9EC39F588A656848-->  <VERSION><![CDATA[1.1.14359]]></VERSION>
+<!--3A3A943684D64DEF9EC39F588A656848-->  <VERSION><![CDATA[1.1.15193]]></VERSION>
 <!--3A3A943684D64DEF9EC39F588A656848-->  <DESCRIPTION><![CDATA[Report displaying sales orders not shipped.]]></DESCRIPTION>
 <!--3A3A943684D64DEF9EC39F588A656848-->  <URL><![CDATA[http://forge.openbravo.com/projects/ordersawaitingdlivery]]></URL>
 <!--3A3A943684D64DEF9EC39F588A656848-->  <TYPE><![CDATA[M]]></TYPE>
--- a/modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <AD_MODULE_ID><![CDATA[3A3A943684D64DEF9EC39F588A656848]]></AD_MODULE_ID>
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <NAME><![CDATA[JSON Datasource]]></NAME>
-<!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <VERSION><![CDATA[2.1.14359]]></VERSION>
+<!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <VERSION><![CDATA[2.1.15193]]></VERSION>
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <DESCRIPTION><![CDATA[Provides data source CRUD functionality using JSON as the data format]]></DESCRIPTION>
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <HELP><![CDATA[This module implements the datasource concept. Datasources play a central role in Smartclient applications. The datasource module automatically creates a datasource for each Openbravo entity. In addition custom data source implementations can be defined.]]></HELP>
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <URL><![CDATA[http://forge.openbravo.com/projects/datasourceservice]]></URL>
--- a/modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <AD_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_MODULE_ID>
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <AD_DEPENDENT_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_DEPENDENT_MODULE_ID>
-<!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <STARTVERSION><![CDATA[1.1.14359]]></STARTVERSION>
+<!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <STARTVERSION><![CDATA[1.1.15193]]></STARTVERSION>
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <DEPENDANT_MODULE_NAME><![CDATA[JBoss Weld]]></DEPENDANT_MODULE_NAME>
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <AD_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_MODULE_ID>
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <AD_DEPENDENT_MODULE_ID><![CDATA[F8D1B3ECB3474E8DA5C216473C840DF1]]></AD_DEPENDENT_MODULE_ID>
-<!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <STARTVERSION><![CDATA[2.0.14359]]></STARTVERSION>
+<!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <STARTVERSION><![CDATA[2.0.15193]]></STARTVERSION>
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON REST Webservice]]></DEPENDANT_MODULE_NAME>
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <AD_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_MODULE_ID>
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--4FCE95802A854F7E8623AFF7C33D13EE-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--4FCE95802A854F7E8623AFF7C33D13EE-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -49,7 +49,7 @@
 <!--54AF8B39C55E4E7496902893ECD82786-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--54AF8B39C55E4E7496902893ECD82786-->  <AD_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_MODULE_ID>
 <!--54AF8B39C55E4E7496902893ECD82786-->  <AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID>
-<!--54AF8B39C55E4E7496902893ECD82786-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--54AF8B39C55E4E7496902893ECD82786-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--54AF8B39C55E4E7496902893ECD82786-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--54AF8B39C55E4E7496902893ECD82786-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Client Kernel]]></DEPENDANT_MODULE_NAME>
 <!--54AF8B39C55E4E7496902893ECD82786-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -63,7 +63,7 @@
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <AD_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_MODULE_ID>
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <AD_DEPENDENT_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_DEPENDENT_MODULE_ID>
-<!--D03C56D8A4E14F45A5466350E05C631F-->  <STARTVERSION><![CDATA[8.1.14359]]></STARTVERSION>
+<!--D03C56D8A4E14F45A5466350E05C631F-->  <STARTVERSION><![CDATA[8.1.15193]]></STARTVERSION>
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME>
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--FF8080813129ADA401312CA1222A0005-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FF8080813129ADA401312CA1222A0005-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813129ADA401312CA1222A0005-->  <NAME><![CDATA[Integration with Google APIs]]></NAME>
-<!--FF8080813129ADA401312CA1222A0005-->  <VERSION><![CDATA[0.1.14359]]></VERSION>
+<!--FF8080813129ADA401312CA1222A0005-->  <VERSION><![CDATA[0.1.15193]]></VERSION>
 <!--FF8080813129ADA401312CA1222A0005-->  <DESCRIPTION><![CDATA[Integration with Google APIs]]></DESCRIPTION>
 <!--FF8080813129ADA401312CA1222A0005-->  <TYPE><![CDATA[M]]></TYPE>
 <!--FF8080813129ADA401312CA1222A0005-->  <LICENSE><![CDATA[Licensed under the Openbravo Public License Version 1.1.
--- a/modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--FF8080813141B198013141BA0F7D0012-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813141B198013141BA0F7D0012-->  <AD_MODULE_ID><![CDATA[FF8080813129ADA401312CA1222A0005]]></AD_MODULE_ID>
 <!--FF8080813141B198013141BA0F7D0012-->  <AD_DEPENDENT_MODULE_ID><![CDATA[FF8080813141B198013141B86DD70003]]></AD_DEPENDENT_MODULE_ID>
-<!--FF8080813141B198013141BA0F7D0012-->  <STARTVERSION><![CDATA[0.1.14359]]></STARTVERSION>
+<!--FF8080813141B198013141BA0F7D0012-->  <STARTVERSION><![CDATA[0.1.15193]]></STARTVERSION>
 <!--FF8080813141B198013141BA0F7D0012-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--FF8080813141B198013141BA0F7D0012-->  <DEPENDANT_MODULE_NAME><![CDATA[OpenID Service Integration]]></DEPENDANT_MODULE_NAME>
 <!--FF8080813141B198013141BA0F7D0012-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--FF8080813151AEE1013151C4ACE6001B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813151AEE1013151C4ACE6001B-->  <AD_MODULE_ID><![CDATA[FF8080813129ADA401312CA1222A0005]]></AD_MODULE_ID>
 <!--FF8080813151AEE1013151C4ACE6001B-->  <AD_DEPENDENT_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_DEPENDENT_MODULE_ID>
-<!--FF8080813151AEE1013151C4ACE6001B-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--FF8080813151AEE1013151C4ACE6001B-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--FF8080813151AEE1013151C4ACE6001B-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--FF8080813151AEE1013151C4ACE6001B-->  <DEPENDANT_MODULE_NAME><![CDATA[Openbravo 3.0 Framework]]></DEPENDANT_MODULE_NAME>
 <!--FF8080813151AEE1013151C4ACE6001B-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--FF8080813141B198013141B86DD70003-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FF8080813141B198013141B86DD70003-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813141B198013141B86DD70003-->  <NAME><![CDATA[OpenID Service Integration]]></NAME>
-<!--FF8080813141B198013141B86DD70003-->  <VERSION><![CDATA[0.1.14359]]></VERSION>
+<!--FF8080813141B198013141B86DD70003-->  <VERSION><![CDATA[0.1.15193]]></VERSION>
 <!--FF8080813141B198013141B86DD70003-->  <DESCRIPTION><![CDATA[OpenID Service Integration]]></DESCRIPTION>
 <!--FF8080813141B198013141B86DD70003-->  <TYPE><![CDATA[M]]></TYPE>
 <!--FF8080813141B198013141B86DD70003-->  <LICENSE><![CDATA[Licensed under the Openbravo Public License Version 1.1.
--- a/modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--FF8080813141B198013141B8B21B0006-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813141B198013141B8B21B0006-->  <AD_MODULE_ID><![CDATA[FF8080813141B198013141B86DD70003]]></AD_MODULE_ID>
 <!--FF8080813141B198013141B8B21B0006-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--FF8080813141B198013141B8B21B0006-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--FF8080813141B198013141B8B21B0006-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--FF8080813141B198013141B8B21B0006-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--FF8080813141B198013141B8B21B0006-->  <DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME>
 <!--FF8080813141B198013141B8B21B0006-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <NAME><![CDATA[JSON REST Webservice]]></NAME>
-<!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <VERSION><![CDATA[2.0.14359]]></VERSION>
+<!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <VERSION><![CDATA[2.0.15193]]></VERSION>
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <DESCRIPTION><![CDATA[Provides a JSON REST webservice for CRUD service requests]]></DESCRIPTION>
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <HELP><![CDATA[Provides a JSON REST webservice for CRUD service requests. Both the servlet implementation (receiving HTTP REST requests in JSON) as the backend processing are provided.]]></HELP>
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <URL><![CDATA[http://forge.openbravo.com/projects/openbravojsonrest]]></URL>
--- a/modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--9E3E7B42DB16405FB794496D309D7044-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--9E3E7B42DB16405FB794496D309D7044-->  <AD_MODULE_ID><![CDATA[F8D1B3ECB3474E8DA5C216473C840DF1]]></AD_MODULE_ID>
 <!--9E3E7B42DB16405FB794496D309D7044-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--9E3E7B42DB16405FB794496D309D7044-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--9E3E7B42DB16405FB794496D309D7044-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--9E3E7B42DB16405FB794496D309D7044-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--9E3E7B42DB16405FB794496D309D7044-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--9E3E7B42DB16405FB794496D309D7044-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.service.json/src/org/openbravo/service/json/JsonUtils.java	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.service.json/src/org/openbravo/service/json/JsonUtils.java	Thu Jan 26 09:16:54 2012 +0100
@@ -70,6 +70,17 @@
   }
 
   /**
+   * @return a new instance of the {@link SimpleDateFormat} using a format of yyyy-MM-dd'T'HH:mm:ss
+   *         (see http://www.w3.org/TR/xmlschema-2/#dateTime). The date format has lenient set to
+   *         true.
+   */
+  public static SimpleDateFormat createJSTimeFormat() {
+    final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
+    dateFormat.setLenient(true);
+    return dateFormat;
+  }
+
+  /**
    * Note the formatted date string must be repaired in the timezone to follow the XSD format, see:
    * {@link #convertToCorrectXSDFormat(String)}.
    * 
--- a/modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_FIELD.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_FIELD.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -982,7 +982,7 @@
 <!--8C3E350D85C34985829D3EF28F4334EE-->  <AD_TAB_ID><![CDATA[107]]></AD_TAB_ID>
 <!--8C3E350D85C34985829D3EF28F4334EE-->  <AD_COLUMN_ID><![CDATA[28443181CA7245C195AD5C0FD8464EC7]]></AD_COLUMN_ID>
 <!--8C3E350D85C34985829D3EF28F4334EE-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--8C3E350D85C34985829D3EF28F4334EE-->  <DISPLAYLOGIC><![CDATA[@OBUISEL_SelectorOutField@='Y' & @ad_column_id@ ! '']]></DISPLAYLOGIC>
+<!--8C3E350D85C34985829D3EF28F4334EE-->  <DISPLAYLOGIC><![CDATA[@OBUISEL_SelectorOutField@='Y' & @ad_column_id@ ! '' & @OBUIAPP_Field_Reference@ ! '30' & @OBUIAPP_Field_Reference@ ! '95E2A8B50A254B2AAE6774B8C2F28120' & @OBUIAPP_Field_Reference@ ! '80B1630792EA46F298A3FBF81E77EF9C']]></DISPLAYLOGIC>
 <!--8C3E350D85C34985829D3EF28F4334EE-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--8C3E350D85C34985829D3EF28F4334EE-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--8C3E350D85C34985829D3EF28F4334EE-->  <SEQNO><![CDATA[200]]></SEQNO>
--- a/modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <NAME><![CDATA[User Interface Selector]]></NAME>
-<!--5EB4F15C80684ACA904756BDC12ADBE5-->  <VERSION><![CDATA[2.1.14359]]></VERSION>
+<!--5EB4F15C80684ACA904756BDC12ADBE5-->  <VERSION><![CDATA[2.1.15193]]></VERSION>
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <DESCRIPTION><![CDATA[Provides a selector with a suggestion box and popup grid window]]></DESCRIPTION>
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <HELP><![CDATA[The Openbravo selector provides new selector functionality which is used inside of existing Openbravo forms. The selector is mainly used for supporting foreign key references in the user interface. The selector combines both suggestion box behavior with a popup grid.]]></HELP>
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <URL><![CDATA[http://forge.openbravo.com/projects/selector]]></URL>
--- a/modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <AD_DEPENDENT_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_DEPENDENT_MODULE_ID>
-<!--38825CAED43941D38CA0C78DB04FCFA0-->  <STARTVERSION><![CDATA[8.1.14359]]></STARTVERSION>
+<!--38825CAED43941D38CA0C78DB04FCFA0-->  <STARTVERSION><![CDATA[8.1.15193]]></STARTVERSION>
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME>
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <AD_DEPENDENT_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_DEPENDENT_MODULE_ID>
-<!--6DDE7B1A70174242AF82B5022FB89279-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--6DDE7B1A70174242AF82B5022FB89279-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Application]]></DEPENDANT_MODULE_NAME>
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID>
-<!--94F9CD2CB5EF4467A67475C786C984A7-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--94F9CD2CB5EF4467A67475C786C984A7-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Client Kernel]]></DEPENDANT_MODULE_NAME>
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -49,7 +49,7 @@
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <AD_DEPENDENT_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_DEPENDENT_MODULE_ID>
-<!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <STARTVERSION><![CDATA[1.1.14359]]></STARTVERSION>
+<!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <STARTVERSION><![CDATA[1.1.15193]]></STARTVERSION>
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <DEPENDANT_MODULE_NAME><![CDATA[JBoss Weld]]></DEPENDANT_MODULE_NAME>
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -63,7 +63,7 @@
 <!--C8DAC574B88649D08C9468521B343F12-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--C8DAC574B88649D08C9468521B343F12-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--C8DAC574B88649D08C9468521B343F12-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--C8DAC574B88649D08C9468521B343F12-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--C8DAC574B88649D08C9468521B343F12-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--C8DAC574B88649D08C9468521B343F12-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--C8DAC574B88649D08C9468521B343F12-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--C8DAC574B88649D08C9468521B343F12-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -77,7 +77,7 @@
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <AD_DEPENDENT_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_DEPENDENT_MODULE_ID>
-<!--F14EB17946BE4724A46F80CB1A47EC70-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--F14EB17946BE4724A46F80CB1A47EC70-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON Datasource]]></DEPENDANT_MODULE_NAME>
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js	Thu Jan 26 09:16:54 2012 +0100
@@ -326,7 +326,19 @@
     }
   },
 
+  hidePickListOnBlur: function() {    
+    // when the form gets redrawn the focus may not be in
+    // the item but it is still the item which gets the focus
+    // after redrawing
+    if (this.form && this.form._isRedrawing && this.form.getFocusItem() === this) {
+      return;
+    }
+    
+    this.Super('hidePickListOnBlur', arguments);
+  },
+
   setUpPickList: function (show, queueFetches, request) {
+    this.pickListProperties.canResizeFields = true;
     // Set the pickListWidth just before being shown.
     this.setPickListWidth();
     this.Super('setUpPickList', arguments);
--- a/modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <NAME><![CDATA[2.50 to 3.00 Compatibility Skin]]></NAME>
-<!--96998CBC42744B3DBEE28AC8095C9335-->  <VERSION><![CDATA[2.0.14359]]></VERSION>
+<!--96998CBC42744B3DBEE28AC8095C9335-->  <VERSION><![CDATA[2.0.15193]]></VERSION>
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <DESCRIPTION><![CDATA[Skin module to proper visualization of classic windows inside the MDI interface]]></DESCRIPTION>
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <HELP><![CDATA[With this skin module the classic windows styles will display in a way more coherent with the new 3.00 styles]]></HELP>
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <URL><![CDATA[www.openbravo.com]]></URL>
--- a/modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <AD_MODULE_ID><![CDATA[96998CBC42744B3DBEE28AC8095C9335]]></AD_MODULE_ID>
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--39BF75AD9AB3453698BF5DE29E727AA9-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--39BF75AD9AB3453698BF5DE29E727AA9-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -6,7 +6,7 @@
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <NAME><![CDATA[Smartclient]]></NAME>
-<!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <VERSION><![CDATA[8.1.14359]]></VERSION>
+<!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <VERSION><![CDATA[8.1.15193]]></VERSION>
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <DESCRIPTION><![CDATA[Smartclient libraries for use within Openbravo]]></DESCRIPTION>
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <HELP><![CDATA[This module contains the Smartclient libraries for usage by other modules. It also contains some simple test pages to validate that Smartclient is working correctly. Also contains generic Openbravo Smartclient components]]></HELP>
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <URL><![CDATA[http://forge.openbravo.com/projects/obsmartclient]]></URL>
--- a/modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -7,7 +7,7 @@
 <!--086331E18477496B8AC74D2CFEBD1307-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--086331E18477496B8AC74D2CFEBD1307-->  <AD_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_MODULE_ID>
 <!--086331E18477496B8AC74D2CFEBD1307-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--086331E18477496B8AC74D2CFEBD1307-->  <STARTVERSION><![CDATA[3.0.14359]]></STARTVERSION>
+<!--086331E18477496B8AC74D2CFEBD1307-->  <STARTVERSION><![CDATA[3.0.15193]]></STARTVERSION>
 <!--086331E18477496B8AC74D2CFEBD1307-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--086331E18477496B8AC74D2CFEBD1307-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--086331E18477496B8AC74D2CFEBD1307-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--DC5D4EF450244482BD2B458DAA496333-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--DC5D4EF450244482BD2B458DAA496333-->  <AD_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_MODULE_ID>
 <!--DC5D4EF450244482BD2B458DAA496333-->  <AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID>
-<!--DC5D4EF450244482BD2B458DAA496333-->  <STARTVERSION><![CDATA[2.1.14359]]></STARTVERSION>
+<!--DC5D4EF450244482BD2B458DAA496333-->  <STARTVERSION><![CDATA[2.1.15193]]></STARTVERSION>
 <!--DC5D4EF450244482BD2B458DAA496333-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--DC5D4EF450244482BD2B458DAA496333-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Client Kernel]]></DEPENDANT_MODULE_NAME>
 <!--DC5D4EF450244482BD2B458DAA496333-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <AD_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_MODULE_ID>
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <AD_DEPENDENT_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_DEPENDENT_MODULE_ID>
-<!--F2AF15C0AF5540E393D96BE506E20648-->  <STARTVERSION><![CDATA[1.1.14359]]></STARTVERSION>
+<!--F2AF15C0AF5540E393D96BE506E20648-->  <STARTVERSION><![CDATA[1.1.15193]]></STARTVERSION>
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <DEPENDANT_MODULE_NAME><![CDATA[JBoss Weld]]></DEPENDANT_MODULE_NAME>
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/js/ob-smartclient.js	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/js/ob-smartclient.js	Thu Jan 26 09:16:54 2012 +0100
@@ -31,6 +31,8 @@
 // NOTE: disabled as now timezone is send from the client to the server
 // Time.setDefaultDisplayTimezone(0);
 
+isc.DataSource.serializeTimeAsDatetime=true;
+
 isc.Canvas.addProperties({
   
   // make sure that the datasources are also destroyed
@@ -65,7 +67,9 @@
   }
 });
 
-isc.StaticTextItem.getPrototype().getCanFocus = function() {return false;};
+isc.StaticTextItem.addProperties({
+  canFocus: false
+});
 
 isc.Layout.addProperties({
   
@@ -344,6 +348,9 @@
     if (result.criteria && result.criteria.length === 0) {
       result = null;
     }
+    if (!result.fieldName) {
+      result.fieldName = fieldName;
+    }
   
     return result;
   },
@@ -373,7 +380,18 @@
 
   // disable tab to icons
   canTabToIcons: false,
-  
+
+  _original_validate: isc.FormItem.getPrototype().validate,
+  validate: function() {
+    
+    // prevent validation when we are showing the editor and moving
+    // the focus around
+    if (this.form && this.form.grid && this.form.grid._showingEditor) {
+      return;
+    }
+    return this._original_validate();
+  },
+
   _original_init: isc.FormItem.getPrototype().init,
   init: function() {
     this.obShowIf = this.showIf; // Copy the reference of showIf definition
@@ -382,6 +400,14 @@
     this._original_init();
   },
   
+  _handleEditorExit: isc.FormItem.getPrototype().handleEditorExit,
+  handleEditorExit: function() {
+    if (this.form && this.form._isRedrawing) {
+      return;
+    }
+    return this._handleEditorExit();
+  },
+  
   // make sure that the datasources are also destroyed
   _original_destroy: isc.FormItem.getPrototype().destroy,
   destroy: function() {
@@ -413,6 +439,14 @@
     if (val1NullOrUndefined && val2NullOrUndefined) {
       return true;
     }
+    // a special case, smartclient makes a mistake when comparing
+    // zero against an empty string
+    if (value1 === 0 && value2 !== 0) {
+      return false;
+    }
+    if (value1 !== 0 && value2 === 0) {
+      return false;
+    }
     return this._original_compareValues(value1, value2);
   },
   
@@ -438,15 +472,6 @@
       this._selectValue();
     }
   },
-  
-  // prevent to many calls to focus in item if there is already focus
-  _focusInItem: isc.FormItem.getPrototype().focusInItem,
-  focusInItem: function() {
-    if (this.hasFocus) {
-      return;
-    }
-    this._focusInItem();
-  },
 
   titleClick: function(form, item){
     item.focusInItem();
@@ -486,15 +511,18 @@
   },
   
   blur: function(form, item){
+    if (this.form && this.form._isRedrawing) {
+      return;
+    }
     if (item._hasChanged && form && form.handleItemChange) {
-      form.handleItemChange(this);
+      form.handleItemChange(item);
     }
   },
   
   // prevent a jscript error in ie when closing a tab
   // https://issues.openbravo.com/view.php?id=18890
   blurItem: function() {
-    if (!this.form || this.form.destroyed) {
+    if (!this.form || this.form.destroyed || this.form._isRedrawing) {
       return;
     }
     this.Super('blurItem', arguments);
@@ -639,6 +667,44 @@
 
 });
 
+isc.addProperties(isc.Date, {
+//http://forums.smartclient.com/showthread.php?p=77883#post77883
+  createLogicalDate: function (year, month, date, suppressConversion) {
+    var d = new Date(); 
+    d.setHours(12);
+    d.setMinutes(0);
+    d.setSeconds(0);
+    d.setMilliseconds(0);
+    if (date !== null) {
+      d.setDate(1);
+    }
+    if (year !== null) {
+      d.setFullYear(year);
+    }
+    if (month !== null) {
+      d.setMonth(month);
+    }
+    if (date !== null) {
+      d.setDate(date);
+    }
+    
+    if (suppressConversion) {
+        // If the 'suppressConversion' flag was passed, we will want to return null to indicate
+        // we were passed an invalid date if the values passed in had to be converted
+        // (For example a month of 13 effecting the year, etc)
+        var isValid = (d.getFullYear() === year &&
+                       d.getMonth() === month &&
+                       d.getDate() === date );
+        if (!isValid) {
+          return null;
+        }
+    }
+    
+    d.logicalDate = true;
+    return d;
+  }
+});
+
 isc.DateItem.changeDefaults('textFieldDefaults', {
   isDisabled: function() {
     var disabled = this.Super('isDisabled', arguments);
--- a/modules/org.openbravo.v3.datasets/referencedata/standard/V3_Roles.xml	Wed Jan 25 23:47:42 2012 -0600
+++ b/modules/org.openbravo.v3.datasets/referencedata/standard/V3_Roles.xml	Thu Jan 26 09:16:54 2012 +0100
@@ -5,9 +5,9 @@
     <specialForm id="800015" entity-name="ADForm" identifier="About"/>
     <role id="CA5B7FB2C95740E499C0F102343D51AD" entity-name="ADRole" identifier="Employee"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.578Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.201Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.578Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.201Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -16,20 +16,20 @@
     <specialForm id="800015" entity-name="ADForm" identifier="About"/>
     <role id="FF808181259DADEB01259DDDA4C201E6" entity-name="ADRole" identifier="Company Executive"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.577Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.201Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.577Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.201Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
-  <ADFormAccess id="2423622E375A40C29924DBE8AD4B7539" identifier="Requisition To Order - Purchase Management">
+  <ADFormAccess id="2423622E375A40C29924DBE8AD4B7539" identifier="Requisition To Order - Procurement">
     <id>2423622E375A40C29924DBE8AD4B7539</id>
     <specialForm id="1004400000" entity-name="ADForm" identifier="Requisition To Order"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.577Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.201Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.577Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.201Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -38,9 +38,9 @@
     <specialForm id="4201E189318E443297F6B23F03CABB9D" entity-name="ADForm" identifier="AccountTransactions"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.576Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.200Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.576Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.200Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -49,9 +49,9 @@
     <specialForm id="FE9623C32FE749DD803ED7C64CCD7405" entity-name="ADForm" identifier="Payment Execution"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.576Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.200Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.576Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.200Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -60,9 +60,9 @@
     <specialForm id="800015" entity-name="ADForm" identifier="About"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.576Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.199Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.576Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.199Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -71,31 +71,31 @@
     <specialForm id="800015" entity-name="ADForm" identifier="About"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.575Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.199Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.575Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.199Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
-  <ADFormAccess id="E1FB2FF7692542BEAF95900E75598FA9" identifier="About - Material Management">
+  <ADFormAccess id="E1FB2FF7692542BEAF95900E75598FA9" identifier="About - Warehouse">
     <id>E1FB2FF7692542BEAF95900E75598FA9</id>
     <specialForm id="800015" entity-name="ADForm" identifier="About"/>
-    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Material Management"/>
+    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Warehouse"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.575Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.199Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.575Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.199Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
-  <ADFormAccess id="ED6E4BC8B7CB4E4E84EEC7602A3F0254" identifier="About - Purchase Management">
+  <ADFormAccess id="ED6E4BC8B7CB4E4E84EEC7602A3F0254" identifier="About - Procurement">
     <id>ED6E4BC8B7CB4E4E84EEC7602A3F0254</id>
     <specialForm id="800015" entity-name="ADForm" identifier="About"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.574Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.198Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.574Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.198Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -104,9 +104,9 @@
     <specialForm id="800015" entity-name="ADForm" identifier="About"/>
     <role id="FF8081812250326E012250353BDE0006" entity-name="ADRole" identifier="Sales"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.574Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.198Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.574Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.198Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -115,9 +115,9 @@
     <specialForm id="800016" entity-name="ADForm" identifier="Alert Management"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.573Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.198Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.573Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.198Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -126,9 +126,9 @@
     <specialForm id="800016" entity-name="ADForm" identifier="Alert Management"/>
     <role id="FF8081812250326E012250353BDE0006" entity-name="ADRole" identifier="Sales"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.573Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.197Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.573Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.197Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -137,9 +137,9 @@
     <specialForm id="800016" entity-name="ADForm" identifier="Alert Management"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.573Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.197Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.573Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.197Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -148,9 +148,9 @@
     <specialForm id="800003" entity-name="ADForm" identifier="GL Posting by DB Tables"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.572Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.197Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.572Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.197Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -159,9 +159,9 @@
     <specialForm id="100" entity-name="ADForm" identifier="Create Invoices from Orders"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.572Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.196Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.572Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.196Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
@@ -170,53 +170,53 @@
     <specialForm id="800016" entity-name="ADForm" identifier="Alert Management"/>
     <role id="FF808181259DADEB01259DDDA4C201E6" entity-name="ADRole" identifier="Company Executive"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.571Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.196Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.571Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.196Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
-  <ADFormAccess id="FF808181259DADEB01259DDDA4C401EF" identifier="Alert Management - Material Management">
+  <ADFormAccess id="FF808181259DADEB01259DDDA4C401EF" identifier="Alert Management - Warehouse">
     <id>FF808181259DADEB01259DDDA4C401EF</id>
     <specialForm id="800016" entity-name="ADForm" identifier="Alert Management"/>
-    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Material Management"/>
+    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Warehouse"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.571Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.195Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.571Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.195Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
-  <ADFormAccess id="FF808181259DADEB01259DDDA4C401F0" identifier="Create Shipments from Orders - Material Management">
+  <ADFormAccess id="FF808181259DADEB01259DDDA4C401F0" identifier="Create Shipments from Orders - Warehouse">
     <id>FF808181259DADEB01259DDDA4C401F0</id>
     <specialForm id="110" entity-name="ADForm" identifier="Create Shipments from Orders"/>
-    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Material Management"/>
+    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Warehouse"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.571Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.195Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.571Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.195Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
-  <ADFormAccess id="FF808181259DADEB01259DDDA4C401F1" identifier="Pending Goods Receipts - Material Management">
+  <ADFormAccess id="FF808181259DADEB01259DDDA4C401F1" identifier="Pending Goods Receipts - Warehouse">
     <id>FF808181259DADEB01259DDDA4C401F1</id>
     <specialForm id="800009" entity-name="ADForm" identifier="Pending Goods Receipts"/>
-    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Material Management"/>
+    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Warehouse"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.570Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.195Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.570Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.195Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADFormAccess>
-  <ADWindowAccess id="024DBCC13FEF447F8057128973499A6F" identifier="Requisition - Purchase Management">
+  <ADWindowAccess id="024DBCC13FEF447F8057128973499A6F" identifier="Requisition - Procurement">
     <id>024DBCC13FEF447F8057128973499A6F</id>
     <window id="800092" entity-name="ADWindow" identifier="Requisition"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.570Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.194Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.570Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.194Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -225,31 +225,42 @@
     <window id="557A0AA1D0D745F9A61557C05483072C" entity-name="ADWindow" identifier="Bank File Format"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.569Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.194Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.569Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.194Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>false</editableField>
   </ADWindowAccess>
+  <ADWindowAccess id="17334F9036F54D0DAE2D11FD59C60A42" identifier="Requisition - Sales">
+    <id>17334F9036F54D0DAE2D11FD59C60A42</id>
+    <window id="800092" entity-name="ADWindow" identifier="Requisition"/>
+    <role id="FF8081812250326E012250353BDE0006" entity-name="ADRole" identifier="Sales"/>
+    <active>true</active>
+    <creationDate transient="true">2011-12-13T10:36:05.887Z</creationDate>
+    <createdBy transient="true" id="4DE7A6F9980C48DCBA84C7D24355B688" entity-name="ADUser" identifier="roles"/>
+    <updated transient="true">2011-12-13T10:36:05.887Z</updated>
+    <updatedBy transient="true" id="4DE7A6F9980C48DCBA84C7D24355B688" entity-name="ADUser" identifier="roles"/>
+    <editableField>true</editableField>
+  </ADWindowAccess>
   <ADWindowAccess id="17B6F52474A74D7ABAABF40E9EF89415" identifier="Audit Trail - Company Admin">
     <id>17B6F52474A74D7ABAABF40E9EF89415</id>
     <window id="FEB8679CAA0D47E5978F10E22566FCEA" entity-name="ADWindow" identifier="Audit Trail"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.569Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.194Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.569Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.194Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADWindowAccess id="1A54D17A2C40474B901A8C3019718F4E" identifier="Business Partner - Purchase Management">
+  <ADWindowAccess id="1A54D17A2C40474B901A8C3019718F4E" identifier="Business Partner - Procurement">
     <id>1A54D17A2C40474B901A8C3019718F4E</id>
     <window id="123" entity-name="ADWindow" identifier="Business Partner"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.569Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.193Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.569Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.193Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -258,9 +269,9 @@
     <window id="D549B07D9D774AB2A60FF09E1562C93A" entity-name="ADWindow" identifier="Payment Priority"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.568Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.193Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.568Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.193Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -269,9 +280,9 @@
     <window id="1002100003" entity-name="ADWindow" identifier="Tax Register Type"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.568Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.193Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.568Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.193Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -280,20 +291,20 @@
     <window id="800092" entity-name="ADWindow" identifier="Requisition"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.567Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.192Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.567Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.192Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADWindowAccess id="3B09B42A29664EE689E4458B47BD4786" identifier="Price List - Purchase Management">
+  <ADWindowAccess id="3B09B42A29664EE689E4458B47BD4786" identifier="Price List - Procurement">
     <id>3B09B42A29664EE689E4458B47BD4786</id>
     <window id="146" entity-name="ADWindow" identifier="Price List"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.567Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.192Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.567Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.192Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -302,31 +313,31 @@
     <window id="E547CE89D4C04429B6340FFA44E70716" entity-name="ADWindow" identifier="Payment In"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.567Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.192Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.567Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.192Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADWindowAccess id="4F9F81033E31414ABE2889ED90AA5E8C" identifier="Requisition - Material Management">
+  <ADWindowAccess id="4F9F81033E31414ABE2889ED90AA5E8C" identifier="Requisition - Warehouse">
     <id>4F9F81033E31414ABE2889ED90AA5E8C</id>
     <window id="800092" entity-name="ADWindow" identifier="Requisition"/>
-    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Material Management"/>
+    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Warehouse"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.566Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.191Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.566Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.191Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADWindowAccess id="58C228D635EB4F2C8F3FC4A1EA075201" identifier="Manage Requisitions - Purchase Management">
+  <ADWindowAccess id="58C228D635EB4F2C8F3FC4A1EA075201" identifier="Manage Requisitions - Procurement">
     <id>58C228D635EB4F2C8F3FC4A1EA075201</id>
     <window id="1004400000" entity-name="ADWindow" identifier="Manage Requisitions"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.565Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.191Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.565Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.191Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -335,9 +346,9 @@
     <window id="6F8F913FA60F4CBD93DC1D3AA696E76E" entity-name="ADWindow" identifier="Payment Out"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.565Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.190Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.565Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.190Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -346,9 +357,9 @@
     <window id="800092" entity-name="ADWindow" identifier="Requisition"/>
     <role id="FF808181259DADEB01259DDDA4C201E6" entity-name="ADRole" identifier="Company Executive"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.564Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.190Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.564Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.190Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -357,9 +368,9 @@
     <window id="3CAAC7D54593489384452416ACF356DD" entity-name="ADWindow" identifier="Payment Method"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.564Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.190Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.564Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.190Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -368,9 +379,9 @@
     <window id="D549B07D9D774AB2A60FF09E1562C93A" entity-name="ADWindow" identifier="Payment Priority"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.564Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.189Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.564Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.189Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -379,20 +390,20 @@
     <window id="24DDE1DDF13942D78B6D6F216979E56A" entity-name="ADWindow" identifier="Execution Process"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.563Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.189Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.563Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.189Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADWindowAccess id="BB837EDB65D14902B1E5925F25F36FA5" identifier="Purchase Order - Purchase Management">
+  <ADWindowAccess id="BB837EDB65D14902B1E5925F25F36FA5" identifier="Purchase Order - Procurement">
     <id>BB837EDB65D14902B1E5925F25F36FA5</id>
     <window id="181" entity-name="ADWindow" identifier="Purchase Order"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.563Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.189Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.563Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.189Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -401,20 +412,20 @@
     <window id="800092" entity-name="ADWindow" identifier="Requisition"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.562Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.188Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.562Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.188Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADWindowAccess id="C7F30F6D272D49F88650946B76AEC115" identifier="Product - Purchase Management">
+  <ADWindowAccess id="C7F30F6D272D49F88650946B76AEC115" identifier="Product - Procurement">
     <id>C7F30F6D272D49F88650946B76AEC115</id>
     <window id="140" entity-name="ADWindow" identifier="Product"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.562Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.188Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.562Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.188Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -423,9 +434,9 @@
     <window id="800077" entity-name="ADWindow" identifier="Budget"/>
     <role id="FF808181259DADEB01259DDDA4C201E6" entity-name="ADRole" identifier="Company Executive"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.562Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.188Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.562Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.188Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -434,9 +445,9 @@
     <window id="800077" entity-name="ADWindow" identifier="Budget"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.561Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.187Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.561Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.187Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -445,9 +456,9 @@
     <window id="1002100004" entity-name="ADWindow" identifier="Tax Payment"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.561Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.187Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.561Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.187Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -456,9 +467,9 @@
     <window id="AFE6BDF360C44B99ACA6FB5E9F51EA45" entity-name="ADWindow" identifier="Payment Run"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.561Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.187Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.561Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.187Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -467,9 +478,9 @@
     <window id="3CAAC7D54593489384452416ACF356DD" entity-name="ADWindow" identifier="Payment Method"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.560Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.186Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.560Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.186Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -478,9 +489,9 @@
     <window id="D1D0C603DFC0423099D897A0DB388AC2" entity-name="ADWindow" identifier="Matching Algorithm"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.560Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.186Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.560Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.186Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>false</editableField>
   </ADWindowAccess>
@@ -489,9 +500,9 @@
     <window id="137" entity-name="ADWindow" identifier="Tax Rate"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.559Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.186Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.559Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.186Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -500,9 +511,9 @@
     <window id="1B7B3BB7FEAF41ED8D9727AB98779D3C" entity-name="ADWindow" identifier="Payment Proposal"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.559Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.185Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.559Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.185Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -511,9 +522,9 @@
     <window id="94EAA455D2644E04AB25D93BE5157B6D" entity-name="ADWindow" identifier="Financial Account"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.558Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.185Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.558Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.185Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -522,9 +533,9 @@
     <window id="800092" entity-name="ADWindow" identifier="Requisition"/>
     <role id="CA5B7FB2C95740E499C0F102343D51AD" entity-name="ADRole" identifier="Employee"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.558Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.185Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.558Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.185Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -533,9 +544,9 @@
     <window id="144" entity-name="ADWindow" identifier="Product Category"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.557Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.184Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.557Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.184Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -544,9 +555,9 @@
     <window id="110" entity-name="ADWindow" identifier="Organization"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.557Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.184Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.557Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.184Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -555,9 +566,9 @@
     <window id="112" entity-name="ADWindow" identifier="Document Sequence"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.557Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.183Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.557Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.183Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -566,9 +577,9 @@
     <window id="120" entity-name="ADWindow" identifier="Unit of Measure"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.556Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.183Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.556Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.183Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -577,9 +588,9 @@
     <window id="116" entity-name="ADWindow" identifier="Conversion Rates"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.556Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.182Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.556Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.182Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -588,9 +599,9 @@
     <window id="115" entity-name="ADWindow" identifier="Currency"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.555Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.182Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.555Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.182Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -599,9 +610,9 @@
     <window id="260" entity-name="ADWindow" identifier="Attribute"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.555Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.182Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.555Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.182Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -610,9 +621,9 @@
     <window id="192" entity-name="ADWindow" identifier="Business Partner Category"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.552Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.181Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.552Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.181Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -621,9 +632,9 @@
     <window id="135" entity-name="ADWindow" identifier="Document Type"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.551Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.181Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.551Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.181Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -632,9 +643,9 @@
     <window id="256" entity-name="ADWindow" identifier="Attribute Set"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.551Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.181Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.551Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.181Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -643,9 +654,9 @@
     <window id="137" entity-name="ADWindow" identifier="Tax Rate"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.551Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.180Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.551Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.180Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -654,9 +665,9 @@
     <window id="138" entity-name="ADWindow" identifier="Tax Category"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.550Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.180Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.550Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.180Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -665,9 +676,9 @@
     <window id="800086" entity-name="ADWindow" identifier="Business Partner Tax Category"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.550Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.180Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.550Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.180Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -676,9 +687,9 @@
     <window id="146" entity-name="ADWindow" identifier="Price List"/>
     <role id="FF8081812250326E012250353BDE0006" entity-name="ADRole" identifier="Sales"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.549Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.179Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.549Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.179Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -687,9 +698,9 @@
     <window id="140" entity-name="ADWindow" identifier="Product"/>
     <role id="FF8081812250326E012250353BDE0006" entity-name="ADRole" identifier="Sales"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.549Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.179Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.549Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.179Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -698,9 +709,9 @@
     <window id="143" entity-name="ADWindow" identifier="Sales Order"/>
     <role id="FF8081812250326E012250353BDE0006" entity-name="ADRole" identifier="Sales"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.549Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.178Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.549Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.178Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -709,9 +720,9 @@
     <window id="123" entity-name="ADWindow" identifier="Business Partner"/>
     <role id="FF8081812250326E012250353BDE0006" entity-name="ADRole" identifier="Sales"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.548Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.178Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.548Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.178Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -720,9 +731,9 @@
     <window id="800026" entity-name="ADWindow" identifier="Amortization"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.548Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.178Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.548Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.178Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -731,9 +742,9 @@
     <window id="800017" entity-name="ADWindow" identifier="Discount"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.547Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.177Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.547Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.177Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -742,9 +753,9 @@
     <window id="143" entity-name="ADWindow" identifier="Sales Order"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.547Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.177Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.547Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.177Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -753,9 +764,9 @@
     <window id="118" entity-name="ADWindow" identifier="Account Tree"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.546Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.177Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.546Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.177Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -764,9 +775,9 @@
     <window id="123" entity-name="ADWindow" identifier="Business Partner"/>
     <role id="FF808181259DADEB01259DDDA4C201E6" entity-name="ADRole" identifier="Company Executive"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.546Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.176Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.546Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.176Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -775,9 +786,9 @@
     <window id="184" entity-name="ADWindow" identifier="Goods Receipt"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.546Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.176Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.546Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.176Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -786,9 +797,9 @@
     <window id="141" entity-name="ADWindow" identifier="Payment Term"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.545Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.176Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.545Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.176Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -797,20 +808,20 @@
     <window id="140" entity-name="ADWindow" identifier="Product"/>
     <role id="FF808181259DADEB01259DDDA4C201E6" entity-name="ADRole" identifier="Company Executive"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.545Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.175Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.545Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.175Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADWindowAccess id="FF808181259DADEB01259DDDA4CB020C" identifier="Warehouse and Storage Bins - Material Management">
+  <ADWindowAccess id="FF808181259DADEB01259DDDA4CB020C" identifier="Warehouse and Storage Bins - Warehouse">
     <id>FF808181259DADEB01259DDDA4CB020C</id>
     <window id="139" entity-name="ADWindow" identifier="Warehouse and Storage Bins"/>
-    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Material Management"/>
+    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Warehouse"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.544Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.175Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.544Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.175Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -819,9 +830,9 @@
     <window id="162" entity-name="ADWindow" identifier="Accounting Transaction Details"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.544Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.174Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.544Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.174Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -830,9 +841,9 @@
     <window id="137" entity-name="ADWindow" identifier="Tax Rate"/>
     <role id="FF808181259DADEB01259DDDA4C201E6" entity-name="ADRole" identifier="Company Executive"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.544Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.174Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.544Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.174Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -841,9 +852,9 @@
     <window id="800007" entity-name="ADWindow" identifier="G/L Item"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.543Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.174Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.543Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.174Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -852,9 +863,9 @@
     <window id="125" entity-name="ADWindow" identifier="Accounting Schema"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.543Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.173Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.543Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.173Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -863,20 +874,20 @@
     <window id="144" entity-name="ADWindow" identifier="Product Category"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.542Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.173Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.542Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.173Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADWindowAccess id="FF808181259DADEB01259DDDA4CD0214" identifier="Goods Shipment - Material Management">
+  <ADWindowAccess id="FF808181259DADEB01259DDDA4CD0214" identifier="Goods Shipment - Warehouse">
     <id>FF808181259DADEB01259DDDA4CD0214</id>
     <window id="169" entity-name="ADWindow" identifier="Goods Shipment"/>
-    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Material Management"/>
+    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Warehouse"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.542Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.173Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.542Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.173Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -885,9 +896,9 @@
     <window id="132" entity-name="ADWindow" identifier="G/L Journal"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.542Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.172Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.542Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.172Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -896,20 +907,20 @@
     <window id="E56E701CCBA14B8BA480CBDE37C50D7A" entity-name="ADWindow" identifier="Open/Close Period Control"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.541Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.172Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.541Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.172Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADWindowAccess id="FF808181259DADEB01259DDDA4CE0218" identifier="Goods Movements - Material Management">
+  <ADWindowAccess id="FF808181259DADEB01259DDDA4CE0218" identifier="Goods Movements - Warehouse">
     <id>FF808181259DADEB01259DDDA4CE0218</id>
     <window id="170" entity-name="ADWindow" identifier="Goods Movements"/>
-    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Material Management"/>
+    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Warehouse"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.541Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.171Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.541Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.171Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -918,9 +929,9 @@
     <window id="146" entity-name="ADWindow" identifier="Price List"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.540Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.171Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.540Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.171Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -929,9 +940,9 @@
     <window id="800027" entity-name="ADWindow" identifier="Assets"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.540Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.171Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.540Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.171Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -940,9 +951,9 @@
     <window id="233" entity-name="ADWindow" identifier="Price List Schema"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.540Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.170Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.540Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.170Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -951,9 +962,9 @@
     <window id="183" entity-name="ADWindow" identifier="Purchase Invoice"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.539Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.170Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.539Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.170Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -962,9 +973,9 @@
     <window id="123" entity-name="ADWindow" identifier="Business Partner"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.538Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.170Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.538Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.170Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -973,9 +984,9 @@
     <window id="167" entity-name="ADWindow" identifier="Sales Invoice"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.537Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.169Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.537Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.169Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -984,20 +995,20 @@
     <window id="117" entity-name="ADWindow" identifier="Fiscal Calendar"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.537Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.169Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.537Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.169Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADWindowAccess id="FF808181259DADEB01259DDDA4D10224" identifier="Physical Inventory - Material Management">
+  <ADWindowAccess id="FF808181259DADEB01259DDDA4D10224" identifier="Physical Inventory - Warehouse">
     <id>FF808181259DADEB01259DDDA4D10224</id>
     <window id="168" entity-name="ADWindow" identifier="Physical Inventory"/>
-    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Material Management"/>
+    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Warehouse"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.537Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.168Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.537Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.168Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -1006,9 +1017,9 @@
     <window id="252" entity-name="ADWindow" identifier="Asset Group"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.536Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.168Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.536Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.168Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -1017,20 +1028,20 @@
     <window id="140" entity-name="ADWindow" identifier="Product"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.536Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.168Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.536Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.168Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADWindowAccess id="FF808181259DADEB01259DDDA4D20227" identifier="Goods Receipt - Material Management">
+  <ADWindowAccess id="FF808181259DADEB01259DDDA4D20227" identifier="Goods Receipt - Warehouse">
     <id>FF808181259DADEB01259DDDA4D20227</id>
     <window id="184" entity-name="ADWindow" identifier="Goods Receipt"/>
-    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Material Management"/>
+    <role id="FF808181259DADEB01259DDDA4C201E7" entity-name="ADRole" identifier="Warehouse"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.535Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.167Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.535Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.167Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -1039,9 +1050,9 @@
     <window id="192" entity-name="ADWindow" identifier="Business Partner Category"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.535Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.167Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.535Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.167Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -1050,9 +1061,9 @@
     <window id="181" entity-name="ADWindow" identifier="Purchase Order"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.535Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.166Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.535Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.166Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
@@ -1061,20 +1072,20 @@
     <window id="147" entity-name="ADWindow" identifier="Invoice Schedule"/>
     <role id="FF808181259DADEB01259DDDA4BB01E5" entity-name="ADRole" identifier="Company Admin"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.534Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.165Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.534Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.165Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADWindowAccess>
-  <ADProcessAccess id="1E5AE503111A4C359B98AFCC11C9554A" identifier="Stock Report - Purchase Management">
+  <ADProcessAccess id="1E5AE503111A4C359B98AFCC11C9554A" identifier="Stock Report - Procurement">
     <id>1E5AE503111A4C359B98AFCC11C9554A</id>
     <process id="800185" entity-name="ADProcess" identifier="Stock Report"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.534Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.165Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.534Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.165Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1083,20 +1094,20 @@
     <process id="6AD04479EC134BD4826077F36B709876" entity-name="ADProcess" identifier="Payment Report"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.533Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.165Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.533Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.165Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
-  <ADProcessAccess id="2F69595C49B84388A916906AC62658FE" identifier="Purchase Dimensional Report - Purchase Management">
+  <ADProcessAccess id="2F69595C49B84388A916906AC62658FE" identifier="Purchase Dimensional Report - Procurement">
     <id>2F69595C49B84388A916906AC62658FE</id>
     <process id="800181" entity-name="ADProcess" identifier="Purchase Dimensional Report"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.533Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.164Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.533Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.164Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1105,9 +1116,9 @@
     <process id="ACD33F81B247441B8659BECF10D7A808" entity-name="ADProcess" identifier="Print payments process"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.533Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.164Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.533Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.164Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1116,9 +1127,9 @@
     <process id="3C4A5FB206B74C3CA9FE20116FCA0464" entity-name="ADProcess" identifier="Reconciliation Details"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.532Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.162Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.532Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.162Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1127,9 +1138,9 @@
     <process id="2EED9BC16DB34D2B80BA40A21564BECF" entity-name="ADProcess" identifier="Add Payment In/Out"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.532Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.162Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.532Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.162Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1138,9 +1149,9 @@
     <process id="1003900000" entity-name="ADProcess" identifier="TaxPayment Post"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.531Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.162Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.531Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.162Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1149,9 +1160,9 @@
     <process id="C125EA7C85234D8B89FEA511FCCD2E9E" entity-name="ADProcess" identifier="Match Statement"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.531Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.161Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.531Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.161Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1160,20 +1171,20 @@
     <process id="800138" entity-name="ADProcess" identifier="Export Budget to Excel"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.531Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.161Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.531Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.161Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
-  <ADProcessAccess id="4FC9FBBFB1724E68B1A3AF02EC590FE1" identifier="Create Purchase Order - Purchase Management">
+  <ADProcessAccess id="4FC9FBBFB1724E68B1A3AF02EC590FE1" identifier="Create Purchase Order - Procurement">
     <id>4FC9FBBFB1724E68B1A3AF02EC590FE1</id>
     <process id="1004400000" entity-name="ADProcess" identifier="Create Purchase Order"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.530Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.161Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.530Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.161Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1182,20 +1193,20 @@
     <process id="E3E92E9F08214507958E6875E66F2F99" entity-name="ADProcess" identifier="Add Transaction"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.530Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.160Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.530Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.160Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
-  <ADProcessAccess id="55B2C5D954B341B1A7DF174AF47F71BC" identifier="Price List Report - Purchase Management">
+  <ADProcessAccess id="55B2C5D954B341B1A7DF174AF47F71BC" identifier="Price List Report - Procurement">
     <id>55B2C5D954B341B1A7DF174AF47F71BC</id>
     <process id="800067" entity-name="ADProcess" identifier="Price List Report"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.529Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.160Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.529Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.160Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1204,9 +1215,9 @@
     <process id="EB3D56BDD37E4229B67DBAB9F9A9B167" entity-name="ADProcess" identifier="Reconcile"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.529Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.160Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.529Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.160Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1215,20 +1226,20 @@
     <process id="4A059E4F79294640AD37B1B718C56E5D" entity-name="ADProcess" identifier="Add Payment From Transaction"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.529Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.159Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.529Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.159Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
-  <ADProcessAccess id="76CAA60305E940628F7778E9374E9A18" identifier="Purchase Order Report - Purchase Management">
+  <ADProcessAccess id="76CAA60305E940628F7778E9374E9A18" identifier="Purchase Order Report - Procurement">
     <id>76CAA60305E940628F7778E9374E9A18</id>
     <process id="800171" entity-name="ADProcess" identifier="Purchase Order Report"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.528Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.159Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.528Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.159Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1237,9 +1248,9 @@
     <process id="7AC7BE9024E448A0BB863C159DA762F9" entity-name="ADProcess" identifier="Import Statement"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.528Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.159Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.528Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.159Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1248,9 +1259,9 @@
     <process id="800135" entity-name="ADProcess" identifier="Copy Budget"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.527Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.158Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.527Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.158Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1259,9 +1270,9 @@
     <process id="62E6270312534380B9A8BDF603CA8FBB" entity-name="ADProcess" identifier="Select Expected Payments"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.527Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.158Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.527Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.158Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1270,9 +1281,9 @@
     <process id="1002100000" entity-name="ADProcess" identifier="Create Vat Registers"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.527Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.157Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.527Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.157Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1281,9 +1292,9 @@
     <process id="12016E2EDE0245B5A36B84CBA144DBDF" entity-name="ADProcess" identifier="Add Details"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.526Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.157Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.526Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.157Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1292,9 +1303,9 @@
     <process id="DC23BB9234174E52879E4B21C8CD1F4B" entity-name="ADProcess" identifier="Process Payment Proposal"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.526Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.154Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.526Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.154Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1303,9 +1314,9 @@
     <process id="E011F492B0814A74B63CD1F3B9FF0526" entity-name="ADProcess" identifier="Execute Payment"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.525Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.154Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.525Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.154Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1314,9 +1325,9 @@
     <process id="800137" entity-name="ADProcess" identifier="Create Budget Reports in Excel"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.525Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.154Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.525Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.154Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1325,9 +1336,9 @@
     <process id="6255BE488882480599C81284B70CD9B3" entity-name="ADProcess" identifier="Payment Process"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.524Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.153Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.524Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.153Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1336,9 +1347,9 @@
     <process id="D16966FBF9604A3D91A50DC83C6EA8E3" entity-name="ADProcess" identifier="Payment Proposal Process"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.524Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.150Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.524Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.150Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1347,9 +1358,9 @@
     <process id="BBA11D1A061346459AF6148920FE6629" entity-name="ADProcess" identifier="Reconciliation Summary"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.524Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.150Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.524Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.150Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1358,9 +1369,9 @@
     <process id="800023" entity-name="ADProcess" identifier="Invoice Taxes Report"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.523Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.149Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.523Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.149Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1369,9 +1380,9 @@
     <process id="800099" entity-name="ADProcess" identifier="Bpartner print"/>
     <role id="FF808181259DADEB01259DDDA4C201E6" entity-name="ADRole" identifier="Company Executive"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:43:10.200Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.148Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:43:10.200Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.148Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>false</editableField>
   </ADProcessAccess>
@@ -1380,9 +1391,9 @@
     <process id="800099" entity-name="ADProcess" identifier="Bpartner print"/>
     <role id="FF8081812250326E012250353BDE0006" entity-name="ADRole" identifier="Sales"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:43:51.587Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.137Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:43:51.587Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.137Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>false</editableField>
   </ADProcessAccess>
@@ -1391,20 +1402,20 @@
     <process id="800099" entity-name="ADProcess" identifier="Bpartner print"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:44:01.699Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.136Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:44:01.699Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.136Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>false</editableField>
   </ADProcessAccess>
-  <ADProcessAccess id="FF80808132C8B23A0132C8BDA22700E6" identifier="Bpartner print - Purchase Management">
+  <ADProcessAccess id="FF80808132C8B23A0132C8BDA22700E6" identifier="Bpartner print - Procurement">
     <id>FF80808132C8B23A0132C8BDA22700E6</id>
     <process id="800099" entity-name="ADProcess" identifier="Bpartner print"/>
-    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Purchase Management"/>
+    <role id="D7D7D228E4594ACE8D00FD0E08B333DE" entity-name="ADRole" identifier="Procurement"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:44:23.592Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.136Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:44:23.592Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.136Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>false</editableField>
   </ADProcessAccess>
@@ -1413,9 +1424,9 @@
     <process id="800168" entity-name="ADProcess" identifier="Not Posted Transaction Report"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.523Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.136Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.523Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.136Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1424,9 +1435,9 @@
     <process id="800165" entity-name="ADProcess" identifier="Copy from Order"/>
     <role id="FF8081812250326E012250353BDE0005" entity-name="ADRole" identifier="Finance"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.522Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.135Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.522Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.135Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1435,9 +1446,9 @@
     <process id="800039" entity-name="ADProcess" identifier="Trial Balance Report"/>
     <role id="FF808181259DADEB01259DDDA4C201E6" entity-name="ADRole" identifier="Company Executive"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.521Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.135Z</creationDate>
     <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
-    <updated transient="true">2011-10-03T09:33:20.521Z</updated>
+    <updated transient="true">2011-12-13T10:35:14.135Z</updated>
     <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/>
     <editableField>true</editableField>
   </ADProcessAccess>
@@ -1446,9 +1457,9 @@
     <process id="800021" entity-name="ADProcess" identifier="Balance sheet and P&amp;L structure"/>
     <role id="FF808181259DADEB01259DDDA4C201E6" entity-name="ADRole" identifier="Company Executive"/>
     <active>true</active>
-    <creationDate transient="true">2011-10-03T09:33:20.521Z</creationDate>
+    <creationDate transient="true">2011-12-13T10:35:14.132Z</cr