Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||||||
ID | ||||||||||||
0038846 | ||||||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
feature request | [Retail Modules] Web POS | major | have not tried | 2018-06-27 08:17 | 2018-09-10 10:52 | |||||||
Reporter | ebecerra | View Status | public | |||||||||
Assigned To | Retail | |||||||||||
Priority | normal | Resolution | open | Fixed in Version | ||||||||
Status | new | Fix in branch | Fixed in SCM revision | |||||||||
Projection | none | ETA | none | Target Version | ||||||||
OS | Any | Database | Any | Java version | ||||||||
OS Version | Database version | Ant version | ||||||||||
Product Version | SCM revision | |||||||||||
Review Assigned To | ||||||||||||
Regression level | ||||||||||||
Regression date | ||||||||||||
Regression introduced in release | ||||||||||||
Regression introduced by commit | ||||||||||||
Triggers an Emergency Pack | No | |||||||||||
Summary | 0038846: Implement a new API to save log from WebPOS in human readable format | |||||||||||
Description | N/A | |||||||||||
Steps To Reproduce | N/A | |||||||||||
Tags | No tags attached. | |||||||||||
Attached Files | test-humanlog.diff [^] (19,346 bytes) 2018-08-29 09:47 [Show Content] [Hide Content]diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/AllHumanLogTests.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/AllHumanLogTests.java new file mode 100644 --- /dev/null +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/AllHumanLogTests.java @@ -0,0 +1,33 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (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 S.L.U. + * All portions are Copyright (C) 2018 Openbravo S.L.U. + * All Rights Reserved. + * Contributor(s): + ************************************************************************ + * + * @author RAL + * + */ + +package org.openbravo.test.mobile.retail.pack.selenium.tests.humanlog; + +import org.junit.runner.RunWith; +import org.openbravo.test.mobile.core.junit.toolbox.SuiteClassesToolbox; +import org.openbravo.test.mobile.retail.mobilecore.junit.OBWildcardPatternSuite; + +@RunWith(OBWildcardPatternSuite.class) +@SuiteClassesToolbox() +public class AllHumanLogTests { + +} diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashManagement.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashManagement.java new file mode 100644 --- /dev/null +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashManagement.java @@ -0,0 +1,85 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (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 S.L.U. + * All portions are Copyright (C) 2018 Openbravo S.L.U. + * All Rights Reserved. + * Contributor(s): + ************************************************************************ + * + * @author EBE + * + */ + +package org.openbravo.test.mobile.retail.pack.selenium.tests.humanlog; + +import java.util.concurrent.TimeUnit; + +import org.junit.Test; +import org.openbravo.test.mobile.retail.mobilecore.annotations.TestClassAnnotations; +import org.openbravo.test.mobile.retail.mobilecore.javascript.BackboneHelper; +import org.openbravo.test.mobile.retail.pack.API.WebPOSAPI; +import org.openbravo.test.mobile.retail.pack.selenium.TestIdPack; + +@TestClassAnnotations(isHighVolumeCompatible = true) +public class CashManagement extends HumanLogHelper { + + @Test + public void test() { + // starting cash up + WebPOSAPI.cleanCashup(this); + logoutAndCloseBrowser(); + logIn(); + + String ticketNumber = BackboneHelper.getDocumentNo(); + // Open CashManagent Window + tap(TestIdPack.BUTTON_MENU); + tap(TestIdPack.BUTTON_MENU_CASHMANAGEMENT); + verify(TestIdPack.LABEL_CASHMANAGEMENT_TITLE, "Cash Management"); + // Make a deposit + WebPOSAPI.tapKeypad(this, 50); + tap(TestIdPack.BUTTON_CASHMANAGEMENT_CASHDEPOSIT); + verify(TestIdPack.LABEL_SELECTDEPOSIT_BACOFFICEVBS, "Backoffice transfer to VBS"); + tap(TestIdPack.BUTTON_SELECTDEPOSIT_BACOFFICEVBS); + verify(TestIdPack.LABEL_CASHMANAGEMENT_ROW1_DESCRIPTION, + "Deposit: Cash - Backoffice transfer to VBS"); + verify(TestIdPack.LABEL_CASHMANAGEMENT_ROW1_AMOUNT, "50.00"); + + // Complete the CashManagement + tap(TestIdPack.BUTTON_CASHMANAGEMENT_DONE); + verify(TestIdPack.LABEL_POPUP_TITLE, "Done"); + tap(TestIdPack.BUTTON_POPUP_OK); + verify(TestIdPack.LABEL_TOTALTOPAY, "0.00"); + + // Wait to log sent to server + try { + TimeUnit.SECONDS.sleep(40); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + // Validate log + String lastTicketNumber = BackboneHelper.getDocumentNo(); + validateHumanLog(new String[] { // + "Login user: vallblanca", // + "Create new ticket: " + ticketNumber, // + "Menu > Cash Management", // + "Button pushed: 5", // + "Button pushed: 0", // + "Button pushed: Cash Deposit", // + "Deposit Cash: 50.00 EUR, Origin: Backoffice transfer to VBS", // + "Done Cash Management", // + "Create new ticket: " + lastTicketNumber // + }); + } + +} diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashUp.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashUp.java new file mode 100644 --- /dev/null +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashUp.java @@ -0,0 +1,131 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (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 S.L.U. + * All portions are Copyright (C) 2018 Openbravo S.L.U. + * All Rights Reserved. + * Contributor(s): + ************************************************************************ + * + * @author EBE + * + */ + +package org.openbravo.test.mobile.retail.pack.selenium.tests.humanlog; + +import java.util.concurrent.TimeUnit; + +import org.junit.Test; +import org.openbravo.test.mobile.retail.mobilecore.annotations.TestClassAnnotations; +import org.openbravo.test.mobile.retail.mobilecore.javascript.BackboneHelper; +import org.openbravo.test.mobile.retail.pack.API.WebPOSAPI; +import org.openbravo.test.mobile.retail.pack.selenium.TestIdPack; + +@TestClassAnnotations(isHighVolumeCompatible = true) +public class CashUp extends HumanLogHelper { + + @Test + public void test() { + // starting cash up + WebPOSAPI.cleanCashup(this); + logoutAndCloseBrowser(); + logIn(); + + String ticketNumber = BackboneHelper.getDocumentNo(); + // Buy item + buyItem(); + // Pay receipt + payTicket(TestIdPack.BUTTON_PAYMENT_CARD); + + // Open CashUp window + tap(TestIdPack.BUTTON_MENU); + tap(TestIdPack.BUTTON_MENU_CASHUP); + verify(TestIdPack.LABEL_CASHUP_TITLE, "Cash Up"); + + // step 1 of 4 + verify(TestIdPack.LABEL_CASHUP_STEP2_TITLE, "Step 1 of 4: Count Cash"); + tap(TestIdPack.BUTTON_CASHUP_NEXT); + + // step 2 of 4 + verify(TestIdPack.LABEL_CASHUP_STEP3_TITLE, "Step 2 of 4: Count Cash"); + tap(TestIdPack.BUTTON_CASHUP_CARD_OK); + tap(TestIdPack.BUTTON_CASHUP_CASHUSA_OK); + tap(TestIdPack.BUTTON_CASHUP_VOUCHER_OK); + tap(TestIdPack.BUTTON_CASHUP_NEXT); + + // step 3 of 4 + // cash + verify(TestIdPack.LABEL_CASHUP_STEP4_TITLE, "Step 3 of 4: Select Cash to keep"); + verify(TestIdPack.LABEL_CASHUP_KEEPNOTHING, "Nothing"); + tap(TestIdPack.BUTTON_CASHUP_KEEPNOTHING); + tap(TestIdPack.BUTTON_CASHUP_NEXT); + // usa cash + verify(TestIdPack.LABEL_CASHUP_STEP4_TITLE, "Step 3 of 4: Select USA Cash to keep"); + verify(TestIdPack.LABEL_CASHUP_KEEPNOTHING, "Nothing"); + tap(TestIdPack.BUTTON_CASHUP_KEEPNOTHING); + tap(TestIdPack.BUTTON_CASHUP_NEXT); + // voucher + verify(TestIdPack.LABEL_CASHUP_STEP4_TITLE, "Step 3 of 4: Select Voucher to keep"); + verify(TestIdPack.LABEL_CASHUP_KEEPNOTHING, "Nothing"); + tap(TestIdPack.BUTTON_CASHUP_KEEPNOTHING); + tap(TestIdPack.BUTTON_CASHUP_NEXT); + + // step 4 of 4 + verify(TestIdPack.LABEL_CASHUP_STEP5_TITLE, "Step 4 of 4: Post, print and close"); + verify(TestIdPack.LABEL_CASHUP_POSTPRINTANDCLOSE, "Post, Print & Close"); + tap(TestIdPack.BUTTON_CASHUP_POSTPRINTANDCLOSE); + + // done + verify(TestIdPack.LABEL_POPUP_TITLE, "Good job!"); + tap(TestIdPack.BUTTON_POPUP_OK); + verify(TestIdPack.LABEL_TOTALTOPAY, "0.00"); + + // Wait to log sent to server + try { + TimeUnit.SECONDS.sleep(40); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + // Validate log + String lastTicketNumber = BackboneHelper.getDocumentNo(); + validateHumanLog(new String[] { // + "Login user: vallblanca", // + "Create new ticket: " + ticketNumber, // + "Add product \"Avalanche transceiver\" (Qty: 1) to ticket \"" + ticketNumber + "\"", // + "Total Amount (150.50) for ticket: " + ticketNumber, // + "Button pushed: Card", // + "Payment method selected: Card", // + "Exact Payment: Card = 150.50 EUR", // + "Clicked to add (partial or total) payment: Card = 150.50 EUR", // + "Added Payment: Card = 150.50 EUR", // + "Complete ticket payment: " + ticketNumber, // + "Open the drawer", // + "Create new ticket: " + lastTicketNumber, // + "Menu > Cash Up", // + "Count Cash: Cash [Counted: -, Expected: 0.00] EUR", // + "Open the drawer", // + "Count Cash: Cash [Counted: -, Expected: 0.00] EUR", // + "Open the drawer", // + "Count Cash: Card [Counted: 150.50, Expected: 150.50] EUR", // + "Count Cash: USA Cash [Counted: 0.00, Expected: 0.00] USD", // + "Count Cash: Voucher [Counted: 0.00, Expected: 0.00] EUR", // + "Card to keep: 0.00 EUR", // + "Cash to keep: 0.00 EUR", // + "USA Cash to keep: 0.00 USD", // + "Voucher to keep: 0.00 EUR", // + "CashUp Finished Success", // + "Create new ticket: " + lastTicketNumber // + }); + } + +} diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/HumanLogHelper.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/HumanLogHelper.java new file mode 100644 --- /dev/null +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/HumanLogHelper.java @@ -0,0 +1,77 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (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 S.L.U. + * All portions are Copyright (C) 2018 Openbravo S.L.U. + * All Rights Reserved. + * Contributor(s): + ************************************************************************ + * + * @author EBE + * + */ + +package org.openbravo.test.mobile.retail.pack.selenium.tests.humanlog; + +import static org.junit.Assert.assertEquals; + +import java.sql.ResultSet; +import java.sql.SQLException; + +import org.openbravo.test.mobile.core.selenium.SeleniumHelper; +import org.openbravo.test.mobile.retail.extmodules.selenium.TestIdExtModules; +import org.openbravo.test.mobile.retail.mobilecore.database.DatabaseHelperSelect; +import org.openbravo.test.mobile.retail.mobilecore.selenium.TestIdConstructor; +import org.openbravo.test.mobile.retail.pack.selenium.TestIdPack; +import org.openbravo.test.mobile.retail.pack.selenium.terminals.WebPOSTerminalHelper; + +public class HumanLogHelper extends WebPOSTerminalHelper { + + void validateHumanLog(final String[] values) { + String sessionId = (String) SeleniumHelper + .executeScriptWithReturn("OB.UTIL.localStorage.getItem('cacheSessionId')"); + String sql = String.format("select msg from obmobc_logclient_readable " + + "where cache_session_id = '%s' order by created asc", sessionId); + + new DatabaseHelperSelect() { + + int index = 0; + + @Override + protected void yieldResultSet(final ResultSet rs) throws SQLException { + String msg = rs.getString("msg"); + assertEquals(msg, values[index++]); + } + }.execute(sql, values.length); + } + + void buyItem() { + // Buy item + tap(TestIdPack.BUTTON_SEARCH); + write(TestIdPack.FIELD_SEARCH_TEXT, "Avalanche transceiver"); + tap(TestIdPack.BUTTON_SEARCH_EXECUTE); + tap(TestIdPack.BUTTON_SEARCHPRODUCT_AVALANCHETRANSCEIVER); + verify(TestIdPack.LABEL_TOTALTOPAY, "150.50"); + } + + void payTicket(TestIdConstructor paymentMethod) { + // Pay receipt + tap(TestIdExtModules.BUTTON_PAY); + if (paymentMethod != null) { + tap(paymentMethod); + } + tap(TestIdExtModules.BUTTON_PAY_EXACT); + tap(TestIdExtModules.BUTTON_PAY_DONE); + verify(TestIdExtModules.LABEL_TOTALTOPAY, "0.00"); + } + +} diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/LoginInWebPOS.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/LoginInWebPOS.java new file mode 100644 --- /dev/null +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/LoginInWebPOS.java @@ -0,0 +1,53 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (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 S.L.U. + * All portions are Copyright (C) 2018 Openbravo S.L.U. + * All Rights Reserved. + * Contributor(s): + ************************************************************************ + * + * @author EBE + * + */ + +package org.openbravo.test.mobile.retail.pack.selenium.tests.humanlog; + +import java.util.concurrent.TimeUnit; + +import org.junit.Test; +import org.openbravo.test.mobile.retail.mobilecore.annotations.TestClassAnnotations; +import org.openbravo.test.mobile.retail.mobilecore.javascript.BackboneHelper; + +@TestClassAnnotations(isHighVolumeCompatible = true) +public class LoginInWebPOS extends HumanLogHelper { + + @Test + public void test() { + logoutAndCloseBrowser(); + logIn(); + // Wait to log sent to server + try { + TimeUnit.SECONDS.sleep(40); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + // Validate log + String ticketNumber = BackboneHelper.getDocumentNo(); + validateHumanLog(new String[] { // + "Login user: vallblanca", // + "Create new ticket: " + ticketNumber // + }); + } + +} diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/PayTicket.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/PayTicket.java new file mode 100644 --- /dev/null +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/PayTicket.java @@ -0,0 +1,67 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (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 S.L.U. + * All portions are Copyright (C) 2018 Openbravo S.L.U. + * All Rights Reserved. + * Contributor(s): + ************************************************************************ + * + * @author EBE + * + */ + +package org.openbravo.test.mobile.retail.pack.selenium.tests.humanlog; + +import java.util.concurrent.TimeUnit; + +import org.junit.Test; +import org.openbravo.test.mobile.retail.mobilecore.annotations.TestClassAnnotations; +import org.openbravo.test.mobile.retail.mobilecore.javascript.BackboneHelper; + +@TestClassAnnotations(isHighVolumeCompatible = true) +public class PayTicket extends HumanLogHelper { + + @Test + public void test() { + logoutAndCloseBrowser(); + logIn(); + String ticketNumber = BackboneHelper.getDocumentNo(); + // Buy item + buyItem(); + // Pay receipt + payTicket(null); + + // Wait to log sent to server + try { + TimeUnit.SECONDS.sleep(40); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + // Validate log + String lastTicketNumber = BackboneHelper.getDocumentNo(); + validateHumanLog(new String[] { // + "Login user: vallblanca", // + "Create new ticket: " + ticketNumber, // + "Add product \"Avalanche transceiver\" (Qty: 1) to ticket \"" + ticketNumber + "\"", // + "Total Amount (150.50) for ticket: " + ticketNumber, // + "Exact Payment: Cash = 150.50 EUR", // + "Clicked to add (partial or total) payment: Cash = 150.50 EUR", // + "Added Payment: Cash = 150.50 EUR", // + "Complete ticket payment: " + ticketNumber, // + "Open the drawer", // + "Create new ticket: " + lastTicketNumber // + }); + } + +} complementary.diff [^] (2,888 bytes) 2018-08-31 09:37 [Show Content] [Hide Content] diff --git a/web/org.openbravo.retail.complementary/js/hooks/hookPreDeleteLine.js b/web/org.openbravo.retail.complementary/js/hooks/hookPreDeleteLine.js --- a/web/org.openbravo.retail.complementary/js/hooks/hookPreDeleteLine.js +++ b/web/org.openbravo.retail.complementary/js/hooks/hookPreDeleteLine.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2015-2017 Openbravo S.L.U. + * Copyright (C) 2015-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -66,6 +66,13 @@ function setDeleteComplementaryProducts(deleteComplementaryProducts) { args.order.set('deleteComplementaryProducts', deleteComplementaryProducts); + if (deleteComplementaryProducts) { + _.each(args.selectedLines, function (line) { + if (line.get('hasComplementary')) { + OB.logUserAction('Delete complementaries products of: ' + line.get('product').get('_identifier') + ' (Qty: ' + line.get('qty') + ')'); + } + }); + } enyo.$.scrim.show(); OB.UTIL.HookManager.callbackExecutor(args, c); } diff --git a/web/org.openbravo.retail.complementary/js/hooks/hookRenderOrderLine.js b/web/org.openbravo.retail.complementary/js/hooks/hookRenderOrderLine.js --- a/web/org.openbravo.retail.complementary/js/hooks/hookRenderOrderLine.js +++ b/web/org.openbravo.retail.complementary/js/hooks/hookRenderOrderLine.js @@ -46,6 +46,7 @@ tap: function () { var product = this.owner.model.get('product'); if (product) { + OB.logUserAction('Show complementary products for: ' + product.get('_identifier')); OB.UI.SearchProductCharacteristic.prototype.filtersCustomClear(); OB.UI.SearchProductCharacteristic.prototype.filtersCustomAdd(new OBRECP_SearchProductCharacteristicFilter({ text: product.get('_identifier'), @@ -130,6 +131,14 @@ OB.Dal.findUsingCache('checkComplementaryProductCache', OB.Model.ComplementaryProduct, criteria, function (data, params) { orderline.set('hasComplementary', data && data.length > 0); orderline.set('complementaryViewed', false); + if (orderline.get('parentLineId')) { + var parentLine = _.find(args.receipt.get('lines').models, function (line) { + return line.get('id') === orderline.get('parentLineId'); + }); + if (parentLine) { + OB.logUserAction('Add complementary "' + product.get('_identifier') + '" for product: ' + parentLine.get('product').get('_identifier') + ' (Qty: ' + parentLine.get('qty') + ')'); + } + } callback(); }, function (error) { // In case of error, show an error message to the user contactinfoforproduct.diff [^] (3,784 bytes) 2018-08-31 10:57 [Show Content] [Hide Content] diff --git a/web/org.openbravo.retail.contactinfoforproduct/js/hookPreAddProductToOrder.js b/web/org.openbravo.retail.contactinfoforproduct/js/hookPreAddProductToOrder.js --- a/web/org.openbravo.retail.contactinfoforproduct/js/hookPreAddProductToOrder.js +++ b/web/org.openbravo.retail.contactinfoforproduct/js/hookPreAddProductToOrder.js @@ -66,8 +66,7 @@ args.receipt.get('packsContactInfo').push(contactInfo); } } - // The next line must be add to the code again once the human log development is ready - // OB.OBRCIFP.Utils.logProductUserAction(args.productToAdd, args.qtyToAdd, model); + OB.OBRCIFP.Utils.logProductUserAction(args.productToAdd, args.qtyToAdd, model); } else if (action === 'continue') { laterAction(); } diff --git a/web/org.openbravo.retail.contactinfoforproduct/js/hookPreCreateOrderFromQuotation.js b/web/org.openbravo.retail.contactinfoforproduct/js/hookPreCreateOrderFromQuotation.js --- a/web/org.openbravo.retail.contactinfoforproduct/js/hookPreCreateOrderFromQuotation.js +++ b/web/org.openbravo.retail.contactinfoforproduct/js/hookPreCreateOrderFromQuotation.js @@ -40,8 +40,7 @@ }); }); _.each(itemDeclarationLines, function (l) { - // The next line must be add to the code again once the human log development is ready - // OB.OBRCIFP.Utils.logUserAction(l, model); + OB.OBRCIFP.Utils.logUserAction(l, model); }); } else if (action === 'continue') { _.each(itemDeclarationLines, function (l) { diff --git a/web/org.openbravo.retail.contactinfoforproduct/js/modalMissingInfo.js b/web/org.openbravo.retail.contactinfoforproduct/js/modalMissingInfo.js --- a/web/org.openbravo.retail.contactinfoforproduct/js/modalMissingInfo.js +++ b/web/org.openbravo.retail.contactinfoforproduct/js/modalMissingInfo.js @@ -212,7 +212,7 @@ applyChanges: function (inSender, inEvent) { var valid = this.validateInfo(); if (valid) { - // OB.logUserAction('Complete "' + this.args.bPartner.get('_identifier') + '" information -> Birth Place: ' + this.args.bPartner.get('birthPlace') + ', Birth Date: ' + OB.I18N.formatDate(this.args.bPartner.get('birthDay'))); + OB.logUserAction('Complete "' + this.args.bPartner.get('_identifier') + '" information -> Birth Place: ' + this.args.bPartner.get('birthPlace') + ', Birth Date: ' + OB.I18N.formatDate(this.args.bPartner.get('birthDay'))); this.args.callback(this.args.context, true, this.modelBP, this.modelBPLoc); } this.applyAction = true; diff --git a/web/org.openbravo.retail.contactinfoforproduct/js/receiptLineEdit.js b/web/org.openbravo.retail.contactinfoforproduct/js/receiptLineEdit.js --- a/web/org.openbravo.retail.contactinfoforproduct/js/receiptLineEdit.js +++ b/web/org.openbravo.retail.contactinfoforproduct/js/receiptLineEdit.js @@ -55,8 +55,7 @@ openedFrom: 'line', callback: function (action, model) { if (action === 'addInfo') { - // The next line must be add to the code again once the human log development is ready - // OB.OBRCIFP.Utils.logUserAction(me.line, model); + OB.OBRCIFP.Utils.logUserAction(me.line, model); me.line.set('obrcifpDescription', model.get('obrcifpDescription')); me.line.set('obrcifpPurposeUse', model.get('obrcifpPurposeUse')); me.line.set('obrcifpCBpartner', model.get('obrcifpCBpartner')); digitalcoupons.diff [^] (2,474 bytes) 2018-08-31 11:09 [Show Content] [Hide Content] diff --git a/web/org.openbravo.retail.digitalcoupons/js/modalDigitalCoupons.js b/web/org.openbravo.retail.digitalcoupons/js/modalDigitalCoupons.js --- a/web/org.openbravo.retail.digitalcoupons/js/modalDigitalCoupons.js +++ b/web/org.openbravo.retail.digitalcoupons/js/modalDigitalCoupons.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2017 Openbravo S.L.U. + * Copyright (C) 2017-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -293,6 +293,7 @@ couponArray = payment.get('coupons') || []; payment.set('coupons', couponArray.concat([coupon])); payment.set('account', issuingCompany.get('account')); + me.logAddCoupon(coupon); me.receiptPayments = _.filter(me.receipt.get('payments').models, function (p) { return p.get('kind') === me.payment.payment.searchKey && !p.get('isPrePayment') && !p.get('reversedPaymentId'); @@ -329,6 +330,15 @@ }); }, + logAddCoupon: function (coupon) { + var clonedCoupon = _.clone(coupon); + clonedCoupon.get('obdicoIssuingCompany').unset('img'); + OB.logUserAction('Added coupon to payment => Check Number: ' + clonedCoupon.get('checkno') // + + ' - Issuing Company: ' + clonedCoupon.get('obdicoIssuingCompany').get('name') // + + ' - Amount: ' + clonedCoupon.get('checkamt')); + OB.info('Added coupon to payment: ' + JSON.stringify(clonedCoupon)); + }, + isValidDate: function (date) { var now = new Date(); return new Date(now.getYear(), now.getMonth(), now.getDate()) <= new Date(date.getYear(), date.getMonth(), date.getDate()); @@ -399,6 +409,11 @@ pmnt.get('coupons').splice(_.indexOf(pmnt.get('coupons'), cpn), 1); cpnPopup.couponList.remove(cpn); + OB.logUserAction('Removed coupon from payment => Check Number: ' + cpn.get('checkno') // + + ' - Issuing Company: ' + cpn.get('obdicoIssuingCompany').get('name') // + + ' - Amount: ' + cpn.get('checkamt')); + OB.info('Removed coupon from payment: ' + JSON.stringify(cpn)); + //Update receipt payments if (pmnt.get('coupons').length > 0) { pmnt.set('amount', OB.DEC.sub(pmnt.get('amount'), (cpn.checkamt || cpn.get('checkamt')))); giftcards.diff [^] (5,676 bytes) 2018-08-31 11:40 [Show Content] [Hide Content] diff --git a/web/org.openbravo.retail.giftcards/js/components/GiftCardCertificate.js b/web/org.openbravo.retail.giftcards/js/components/GiftCardCertificate.js --- a/web/org.openbravo.retail.giftcards/js/components/GiftCardCertificate.js +++ b/web/org.openbravo.retail.giftcards/js/components/GiftCardCertificate.js @@ -51,6 +51,7 @@ cashupId: OB.MobileApp.model.get('terminal').cashUpId }, function (data) { if (data && data.exception) { + OB.logUserAction('Can not create Gift Certificate: ' + data.exception.message); OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBMOBC_Error'), OB.I18N.getLabel(data.exception.message), [{ label: OB.I18N.getLabel('OBMOBC_LblOk'), action: function () { @@ -66,6 +67,9 @@ }]); me.putDisabled(false); } else if (data && !data.exception) { + OB.logUserAction('Create Gift Certificate: ' + data.data.cardNumber + ' with ' + OB.I18N.formatCurrency(model.get('giftcardAmount')) + // + ' expire ' + model.get('giftcardExpirationDate') + // + (model.get('giftcardCBpartner') ? ' for customer ' + model.get('giftcardCBpartnerName') : '')); // Update CashUp var paymentsList = OB.MobileApp.model.get('payments'); var isCountPaymentInCashup; @@ -91,8 +95,13 @@ me.putDisabled(false); } } + }, function () { + OB.logUserAction('Can not create Gift Certificate: ' + OB.I18N.getLabel('GCNV_ErrorWhenSynchronizing')); + OB.UTIL.showError(OB.I18N.getLabel('GCNV_ErrorWhenSynchronizing')); + me.putDisabled(false); }); }, function () { + OB.logUserAction('Can not create Gift Certificate: ' + OB.I18N.getLabel('GCNV_ErrorWhenSynchronizing')); OB.UTIL.showError(OB.I18N.getLabel('GCNV_ErrorWhenSynchronizing')); me.putDisabled(false); }); diff --git a/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js b/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js --- a/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js +++ b/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js @@ -32,6 +32,7 @@ if (this.disabled) { return; } + OB.logUserAction('Return Gift Card: ' + this.owner.owner.args.giftcard.searchKey); this.doReturnButton(); }, initComponents: function () { @@ -71,6 +72,7 @@ OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBMOBC_Error'), OB.I18N.getLabel('GCNV_ForbidUseCreditNoteWithDifferentCustomer')); return; } + OB.logUserAction('Apply Gift Card: ' + this.owner.owner.args.giftcard.searchKey); this.doAcceptButton(); }, initComponents: function () { @@ -105,6 +107,7 @@ if (this.disabled) { return; } + OB.logUserAction('Print Gift Card: ' + this.owner.owner.args.giftcard.searchKey); this.doPrintButton(); }, initComponents: function () { diff --git a/web/org.openbravo.retail.giftcards/js/components/GiftCardMenu.js b/web/org.openbravo.retail.giftcards/js/components/GiftCardMenu.js --- a/web/org.openbravo.retail.giftcards/js/components/GiftCardMenu.js +++ b/web/org.openbravo.retail.giftcards/js/components/GiftCardMenu.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2017 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -24,6 +24,7 @@ return true; } this.inherited(arguments); // Manual dropdown menu closure + OB.logUserAction('Menu > Gift Certificate / Gift Cards / Vouchers / Credit Notes'); this.doShowPopup({ popup: 'GCNV_UI_SearchDialog' }); @@ -82,6 +83,7 @@ OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBMOBC_Error'), OB.I18N.getLabel('GCNV_GiftCardPaymentNotConfigured')); return; } + OB.logUserAction('Menu > Create Gift Certificate'); this.doShowPopup({ popup: 'GCNV_UI_Certificate' }); diff --git a/web/org.openbravo.retail.giftcards/js/components/GiftCardSearchDialog.js b/web/org.openbravo.retail.giftcards/js/components/GiftCardSearchDialog.js --- a/web/org.openbravo.retail.giftcards/js/components/GiftCardSearchDialog.js +++ b/web/org.openbravo.retail.giftcards/js/components/GiftCardSearchDialog.js @@ -225,6 +225,7 @@ return; } + OB.logUserAction('Select Gift Card: ' + args.giftcard.searchKey); me.doHideThisPopup(); me.doShowPopup({ popup: 'GCNV_UI_Details', diff --git a/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js b/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js --- a/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js +++ b/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js @@ -216,6 +216,8 @@ } else { modelToApply = keyboard.model.get('multiOrders'); } + OB.logUserAction('Add payment: ' + OB.I18N.getLabel('GCNV_LblGiftCardsCertificate') + ' ' + card.searchKey + ' = ' + // + OB.I18N.formatCurrency(OB.DEC.abs(result.realamnt)) + ' ' + p.isocode); modelToApply.addPayment(new OB.Model.PaymentLine({ kind: p.payment.searchKey, paymentData: { productonthefly.diff [^] (2,281 bytes) 2018-08-31 12:25 [Show Content] [Hide Content] diff --git a/web/org.openbravo.retail.productonthefly/js/menu.js b/web/org.openbravo.retail.productonthefly/js/menu.js --- a/web/org.openbravo.retail.productonthefly/js/menu.js +++ b/web/org.openbravo.retail.productonthefly/js/menu.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2017 Openbravo S.L.U. + * Copyright (C) 2017-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -27,6 +27,7 @@ showPopup = this.model.get('order').get('orderType') === 2 || this.model.get('order').get('isQuotation'); } if (showPopup) { + OB.logUserAction('Menu > Create OTF'); this.bubble('onShowPopup', { popup: 'OBROTF_ModalProductDuplicate', args: { @@ -61,6 +62,7 @@ showPopup = OB.MobileApp.model.receipt.get('orderType') === 2 || OB.MobileApp.model.receipt.get('isQuotation'); } if (showPopup) { + OB.logUserAction('Create OTF from "' + product.get('_identifier') + '"'); this.bubble('onShowPopup', { popup: 'OBROTF_ModalProductDuplicate', args: { diff --git a/web/org.openbravo.retail.productonthefly/js/modalproduct.js b/web/org.openbravo.retail.productonthefly/js/modalproduct.js --- a/web/org.openbravo.retail.productonthefly/js/modalproduct.js +++ b/web/org.openbravo.retail.productonthefly/js/modalproduct.js @@ -380,6 +380,13 @@ if (me.isNew) { OB.MobileApp.model.receipt.trigger('scan'); } + + OB.Dal.get(OB.Model.ProductCategory, me.model.get('productCategory'), function (category) { + OB.logUserAction('Create OTF -> Name: ' + me.model.get('_identifier') + ', Category: ' + category.get('name') + ', Price: ' + OB.I18N.formatCurrency(me.model.get('standardPrice'))); + }, function () { + OB.logUserAction('Create OTF -> Name: ' + me.model.get('_identifier') + ', Price: ' + OB.I18N.formatCurrency(me.model.get('standardPrice'))); + }); + me.doAddProduct({ product: me.model }); posterminal.diff [^] (55,797 bytes) 2018-09-04 13:17 [Show Content] [Hide Content] diff --git a/src-db/database/sourcedata/AD_MESSAGE.xml b/src-db/database/sourcedata/AD_MESSAGE.xml --- a/src-db/database/sourcedata/AD_MESSAGE.xml +++ b/src-db/database/sourcedata/AD_MESSAGE.xml @@ -2126,6 +2126,18 @@ <!--355362DDE35646C4A75A902981A96B03--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> <!--355362DDE35646C4A75A902981A96B03--></AD_MESSAGE> +<!--35DB2B32740C4DA48FAB34D3F0F35D68--><AD_MESSAGE> +<!--35DB2B32740C4DA48FAB34D3F0F35D68--> <AD_MESSAGE_ID><![CDATA[35DB2B32740C4DA48FAB34D3F0F35D68]]></AD_MESSAGE_ID> +<!--35DB2B32740C4DA48FAB34D3F0F35D68--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--35DB2B32740C4DA48FAB34D3F0F35D68--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--35DB2B32740C4DA48FAB34D3F0F35D68--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--35DB2B32740C4DA48FAB34D3F0F35D68--> <VALUE><![CDATA[OBPOS_LblOpenbravoSessionLog]]></VALUE> +<!--35DB2B32740C4DA48FAB34D3F0F35D68--> <MSGTEXT><![CDATA[Back Office - Session Log]]></MSGTEXT> +<!--35DB2B32740C4DA48FAB34D3F0F35D68--> <MSGTYPE><![CDATA[I]]></MSGTYPE> +<!--35DB2B32740C4DA48FAB34D3F0F35D68--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--35DB2B32740C4DA48FAB34D3F0F35D68--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> +<!--35DB2B32740C4DA48FAB34D3F0F35D68--></AD_MESSAGE> + <!--35E1D8D0895641FD9F527BEAC7D0513B--><AD_MESSAGE> <!--35E1D8D0895641FD9F527BEAC7D0513B--> <AD_MESSAGE_ID><![CDATA[35E1D8D0895641FD9F527BEAC7D0513B]]></AD_MESSAGE_ID> <!--35E1D8D0895641FD9F527BEAC7D0513B--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_TREENODE.xml b/src-db/database/sourcedata/AD_TREENODE.xml --- a/src-db/database/sourcedata/AD_TREENODE.xml +++ b/src-db/database/sourcedata/AD_TREENODE.xml @@ -63,7 +63,7 @@ <!--5B959C75E4DD42D995503AAF244ABC72--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--5B959C75E4DD42D995503AAF244ABC72--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--5B959C75E4DD42D995503AAF244ABC72--> <PARENT_ID><![CDATA[896AC285FD8F4C25A869689D4A98DD8E]]></PARENT_ID> -<!--5B959C75E4DD42D995503AAF244ABC72--> <SEQNO><![CDATA[70]]></SEQNO> +<!--5B959C75E4DD42D995503AAF244ABC72--> <SEQNO><![CDATA[80]]></SEQNO> <!--5B959C75E4DD42D995503AAF244ABC72--></AD_TREENODE> <!--9A34D67A680744E4B00E07A5585020F1--><AD_TREENODE> @@ -74,7 +74,7 @@ <!--9A34D67A680744E4B00E07A5585020F1--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--9A34D67A680744E4B00E07A5585020F1--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--9A34D67A680744E4B00E07A5585020F1--> <PARENT_ID><![CDATA[896AC285FD8F4C25A869689D4A98DD8E]]></PARENT_ID> -<!--9A34D67A680744E4B00E07A5585020F1--> <SEQNO><![CDATA[70]]></SEQNO> +<!--9A34D67A680744E4B00E07A5585020F1--> <SEQNO><![CDATA[80]]></SEQNO> <!--9A34D67A680744E4B00E07A5585020F1--></AD_TREENODE> <!--D9163EBFF1184AFE9A275A1A78AA80B3--><AD_TREENODE> @@ -96,7 +96,7 @@ <!--DE04AE9BAC99463C83FD35867CFAB114--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--DE04AE9BAC99463C83FD35867CFAB114--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--DE04AE9BAC99463C83FD35867CFAB114--> <PARENT_ID><![CDATA[896AC285FD8F4C25A869689D4A98DD8E]]></PARENT_ID> -<!--DE04AE9BAC99463C83FD35867CFAB114--> <SEQNO><![CDATA[70]]></SEQNO> +<!--DE04AE9BAC99463C83FD35867CFAB114--> <SEQNO><![CDATA[80]]></SEQNO> <!--DE04AE9BAC99463C83FD35867CFAB114--></AD_TREENODE> <!--E832C351041C4AC4B7B1B871AC085A84--><AD_TREENODE> diff --git a/src/org/openbravo/retail/posterminal/OBPOSComponentProvider.java b/src/org/openbravo/retail/posterminal/OBPOSComponentProvider.java --- a/src/org/openbravo/retail/posterminal/OBPOSComponentProvider.java +++ b/src/org/openbravo/retail/posterminal/OBPOSComponentProvider.java @@ -273,7 +273,7 @@ "model/discounts", // Hook - "components/menuhook", + "components/menuhook", "hooks/hookPrePaymentSelected", // Websockets "utils/rfidWebsocket", diff --git a/web/org.openbravo.retail.posterminal/js/cashmgmt/model/cashmgmt-model.js b/web/org.openbravo.retail.posterminal/js/cashmgmt/model/cashmgmt-model.js --- a/web/org.openbravo.retail.posterminal/js/cashmgmt/model/cashmgmt-model.js +++ b/web/org.openbravo.retail.posterminal/js/cashmgmt/model/cashmgmt-model.js @@ -94,6 +94,7 @@ } else { selectedPayment.set('listdepositsdrops', [addedCashMgmt]); } + OB.logUserAction((p.type === 'deposit' ? 'Deposit ' : 'Drop ') + p.identifier + ': ' + OB.I18N.formatCurrency(p.amount) + ' ' + p.isocode + ', ' + (p.type === 'deposit' ? 'Origin: ' : 'Destination: ') + model.get('name')); resolve(); }, reject, this); }); diff --git a/web/org.openbravo.retail.posterminal/js/cashmgmt/view/cashmgmt.js b/web/org.openbravo.retail.posterminal/js/cashmgmt/view/cashmgmt.js --- a/web/org.openbravo.retail.posterminal/js/cashmgmt/view/cashmgmt.js +++ b/web/org.openbravo.retail.posterminal/js/cashmgmt/view/cashmgmt.js @@ -21,6 +21,7 @@ stepCount: 0, span: 6, tap: function () { + OB.logUserAction('Cancel Cash Management'); OB.POS.hwserver.checkDrawer(function () { OB.POS.navigate('retail.pointofsale'); }); @@ -43,6 +44,7 @@ this.model = model; }, tap: function () { + OB.logUserAction('Done Cash Management'); OB.POS.hwserver.checkDrawer(function () { this.model.depsdropstosave.trigger('makeDeposits'); }, this); @@ -249,6 +251,7 @@ if (_.filter(OB.MobileApp.model.paymentnames, function (payment) { return payment.paymentMethod.iscash === true; }).length > 0) { + OB.logUserAction('Menu > Cash Management'); successCallback(args.route); } else { OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBPOS_CashMgmtError'), OB.I18N.getLabel('OBPOS_NoCashPaymentMethod'), [{ diff --git a/web/org.openbravo.retail.posterminal/js/closecash/model/cashup-model.js b/web/org.openbravo.retail.posterminal/js/closecash/model/cashup-model.js --- a/web/org.openbravo.retail.posterminal/js/closecash/model/cashup-model.js +++ b/web/org.openbravo.retail.posterminal/js/closecash/model/cashup-model.js @@ -506,6 +506,15 @@ } } }, + getCashupStep: function (cashupStep) { + var i; + for (i = 0; i < this.cashupsteps.length; i++) { + if (i === cashupStep) { + return this.cashupsteps[i]; + } + } + return null; + }, getStepToolbar: function () { var currentstep = this.get('step') - 1; return this.cashupsteps[currentstep].getToolbarName(); @@ -724,6 +733,7 @@ OB.Dal.save(cashUp.at(0), function () { var callbackFinishedSuccess = function () { + OB.logUserAction('CashUp Finished Success'); OB.UTIL.showLoading(true); me.set('finished', true); if (OB.MobileApp.model.hasPermission('OBPOS_print.cashup')) { @@ -731,6 +741,7 @@ } }; var callbackFinishedWrongly = function () { + OB.logUserAction('CashUp Finished Wrongly'); // reset to N cashUp.at(0).set('isprocessed', 'N'); OB.Dal.save(cashUp.at(0)); diff --git a/web/org.openbravo.retail.posterminal/js/closecash/model/cashup-steps.js b/web/org.openbravo.retail.posterminal/js/closecash/model/cashup-steps.js --- a/web/org.openbravo.retail.posterminal/js/closecash/model/cashup-steps.js +++ b/web/org.openbravo.retail.posterminal/js/closecash/model/cashup-steps.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2013-2016 Openbravo S.L.U. + * Copyright (C) 2013-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -61,6 +61,15 @@ getStepComponent: function (leftpanel$) { return leftpanel$.cashPayments; }, + logUserAction: function (substep) { + var payment = _.find(this.model.get('paymentList').models, function (pay) { + return pay.get('_id') === 'OBPOS_payment.cash'; + }); + if (payment) { + var foreignCounted = payment.get('foreignCounted'); + OB.logUserAction('Count Cash: ' + payment.get('name') + ' [Counted: ' + (foreignCounted ? OB.I18N.formatCurrency(foreignCounted) : "-") + ', Expected: ' + OB.I18N.formatCurrency(payment.get('foreignExpected')) + '] ' + payment.get('isocode')); + } + }, getToolbarName: function () { return 'toolbarcashpayments'; }, @@ -112,6 +121,10 @@ getStepComponent: function (leftpanel$) { return leftpanel$.cashToKeep; }, + logUserAction: function (substep) { + var payment = this.model.get('paymentList').at(substep); + OB.logUserAction(payment.get('name') + ' to keep: ' + OB.I18N.formatCurrency(payment.get('qtyToKeep')) + ' ' + payment.get('isocode')); + }, getToolbarName: function () { if (this.model.get('paymentList').at(this.model.get('substep')).get('paymentMethod').allowvariableamount) { return 'toolbarother'; diff --git a/web/org.openbravo.retail.posterminal/js/closecash/view/closecash.js b/web/org.openbravo.retail.posterminal/js/closecash/view/closecash.js --- a/web/org.openbravo.retail.posterminal/js/closecash/view/closecash.js +++ b/web/org.openbravo.retail.posterminal/js/closecash/view/closecash.js @@ -44,6 +44,7 @@ }, tap: function () { OB.POS.hwserver.checkDrawer(function () { + OB.logUserAction('Cancel Cash Up'); this.doCancelCashup(); }, this); } @@ -539,6 +540,17 @@ this.moveStep(1); } else if (this.model.isSubstepAvailable(nextstep, nextsubstep)) { // go to step + if (direction > 0) { + var cashupStep = nextstep - 1, + cashupSubstep = this.model.get('substep'); + if (cashupSubstep === -1) { + cashupStep--; + } + var tempStep = this.model.getCashupStep(cashupStep); + if (tempStep && tempStep.logUserAction) { + tempStep.logUserAction(cashupSubstep === -1 ? tempStep.getSubstepsLength(this.model) - 1 : cashupSubstep); + } + } this.model.set('step', nextstep); this.model.set('substep', nextsubstep); this.refresh(); @@ -597,6 +609,7 @@ rfidState: false, navigateTo: function (args, successCallback, errorCallback) { var me = this; + OB.logUserAction('Menu > Cash Up'); // Cannot navigate to the cashup window in case of being a seller terminal if (!OB.MobileApp.model.get('hasPaymentsForCashup')) { OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBPOS_NavigationNotAllowedHeader'), OB.I18N.getLabel('OBPOS_CannotNavigateToCashUp'), [{ @@ -635,6 +648,7 @@ finishCloseDialogLabel: 'OBPOS_FinishPartialDialog', cashupSentHook: 'OBPOS_AfterCashUpPartialSent', finalAction: function () { + OB.logUserAction('Menu > Cash Up Partial'); OB.POS.navigate('retail.pointofsale'); } }); @@ -649,6 +663,7 @@ approvalType: 'OBPOS_approval.cashuppartial', rfidState: false, navigateTo: function (args, successCallback, errorCallback) { + OB.logUserAction('Menu > Cash Partial'); if (!OB.MobileApp.model.get('hasPaymentsForCashup')) { // Cannot navigate to the cashup partial window in case of being a seller terminal OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBPOS_NavigationNotAllowedHeader'), OB.I18N.getLabel('OBPOS_CannotNavigateToPartialCashUp'), [{ diff --git a/web/org.openbravo.retail.posterminal/js/closecash/view/closekeyboard.js b/web/org.openbravo.retail.posterminal/js/closecash/view/closekeyboard.js --- a/web/org.openbravo.retail.posterminal/js/closecash/view/closekeyboard.js +++ b/web/org.openbravo.retail.posterminal/js/closecash/view/closekeyboard.js @@ -151,6 +151,7 @@ } payment.set('foreignCounted', OB.DEC.add(0, convAmt)); payment.set('counted', OB.DEC.mul(convAmt, payment.get('rate'))); + OB.logUserAction('Edit Count Cash: ' + payment.get('name') + ' [Counted: ' + OB.I18N.formatCurrency(convAmt) + ', Expected: ' + OB.I18N.formatCurrency(payment.get('foreignExpected')) + '] ' + payment.get('isocode')); } }, label: payment.get('name') diff --git a/web/org.openbravo.retail.posterminal/js/closecash/view/tabcashmaster.js b/web/org.openbravo.retail.posterminal/js/closecash/view/tabcashmaster.js --- a/web/org.openbravo.retail.posterminal/js/closecash/view/tabcashmaster.js +++ b/web/org.openbravo.retail.posterminal/js/closecash/view/tabcashmaster.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2015 Openbravo S.L.U. + * Copyright (C) 2015-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -112,6 +112,7 @@ }, function (data) { if (data && data.exception) { // Error handler + OB.logUserAction('Cash Up Master: Process error -> ' + data.exception.message); OB.log('error', data.exception.message); OB.UTIL.showConfirmation.display( OB.I18N.getLabel('OBPOS_CashMgmtError'), OB.I18N.getLabel('OBPOS_ErrorServerGeneric') + data.exception.message, [{ @@ -140,7 +141,16 @@ col.add(data.terminals); me.$.slaveList.setCollection(col); if (data.finishAll) { + OB.logUserAction('Cash Up Master: Slaves closed'); me.updateCashUpModel(model, data.payments); + } else { + var slaveTerm = []; + _.each(data.terminals, function (term) { + if (term.finish === false && term.noOfTransactions > 0) { + slaveTerm.push(term.name); + } + }); + OB.logUserAction('Cash Up Master: Slaves not closed [' + slaveTerm.join(', ') + ']'); } model.set('slavesCashupCompleted', data.finishAll); }); diff --git a/web/org.openbravo.retail.posterminal/js/closecash/view/tabcountcash.js b/web/org.openbravo.retail.posterminal/js/closecash/view/tabcountcash.js --- a/web/org.openbravo.retail.posterminal/js/closecash/view/tabcountcash.js +++ b/web/org.openbravo.retail.posterminal/js/closecash/view/tabcountcash.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2017 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -96,6 +96,7 @@ lineOK: function (inSender, inEvent) { this.model.set('counted', this.model.get('expected')); this.model.set('foreignCounted', this.model.get('foreignExpected')); + OB.logUserAction('Count Cash: ' + this.model.get('name') + ' [Counted: ' + OB.I18N.formatCurrency(this.model.get('foreignCounted')) + ', Expected: ' + OB.I18N.formatCurrency(this.model.get('foreignExpected')) + '] ' + this.model.get('isocode')); } }); diff --git a/web/org.openbravo.retail.posterminal/js/components/bplocation.js b/web/org.openbravo.retail.posterminal/js/components/bplocation.js --- a/web/org.openbravo.retail.posterminal/js/components/bplocation.js +++ b/web/org.openbravo.retail.posterminal/js/components/bplocation.js @@ -839,6 +839,11 @@ } }); } else { + var logLocation = dataBps.get('locName'); + if (logLocation !== dataBps.get('shipLocName')) { + logLocation = 'Invoice (' + logLocation + '), Shipping (' + dataBps.get('shipLocName') + ')'; + } + OB.logUserAction('Change Customer Location to: ' + logLocation); me.doChangeBusinessPartner({ businessPartner: dataBps, target: me.owner.owner.args.target diff --git a/web/org.openbravo.retail.posterminal/js/components/bplocationship.js b/web/org.openbravo.retail.posterminal/js/components/bplocationship.js --- a/web/org.openbravo.retail.posterminal/js/components/bplocationship.js +++ b/web/org.openbravo.retail.posterminal/js/components/bplocationship.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2017 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -148,6 +148,7 @@ } }); } else { + OB.logUserAction('Change Customer Shipping Location to: ' + dataBps.get('shipLocName')); me.doChangeBusinessPartner({ businessPartner: dataBps, target: me.owner.owner.args.target diff --git a/web/org.openbravo.retail.posterminal/js/components/businesspartner_selector.js b/web/org.openbravo.retail.posterminal/js/components/businesspartner_selector.js --- a/web/org.openbravo.retail.posterminal/js/components/businesspartner_selector.js +++ b/web/org.openbravo.retail.posterminal/js/components/businesspartner_selector.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2016-2017 Openbravo S.L.U. + * Copyright (C) 2016-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -747,6 +747,7 @@ } }); } else { + OB.logUserAction('Change Customer for "' + me.target + '" to: ' + bp.get('name')); me.doChangeBusinessPartner({ businessPartner: bp, target: me.target diff --git a/web/org.openbravo.retail.posterminal/js/components/menu.js b/web/org.openbravo.retail.posterminal/js/components/menu.js --- a/web/org.openbravo.retail.posterminal/js/components/menu.js +++ b/web/org.openbravo.retail.posterminal/js/components/menu.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2017 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -24,6 +24,7 @@ } this.inherited(arguments); // Manual dropdown menu closure this.model.get('order').setDocumentNo(true, false); + OB.logUserAction('Menu > Return This Receipt: ' + this.model.get('order').get('documentNo')); this.doShowDivText({ permission: this.permission, orderType: 1 @@ -92,6 +93,7 @@ } this.inherited(arguments); // Manual dropdown menu closure this.model.get('order').checkNotProcessedPayments(function () { + OB.logUserAction('Menu > Void this Layaway: ' + me.model.get('order').get('documentNo')); me.model.get('order').set('voidLayaway', true); me.doShowDivText({ permission: me.permission, @@ -175,6 +177,7 @@ }, this); if (errorsConvertingLayawayToReceipt.length === 0) { + OB.logUserAction('Menu > Receipt this Layaway: ' + this.model.get('order').get('documentNo')); this.doShowDivText({ permission: this.permission, orderType: 0 @@ -247,6 +250,7 @@ return; } + OB.logUserAction('Menu > Cancel this Layaway: ' + this.model.get('order').get('documentNo')); this.model.get('order').cancelLayaway(this); }, displayLogic: function () { @@ -359,6 +363,7 @@ if (args && args.cancelOperation && args.cancelOperation === true) { return; } + OB.logUserAction('Menu > Layaway this receipt: ' + args.context.model.get('order').get('documentNo')); me.doShowDivText({ permission: me.permission, orderType: 2 @@ -438,6 +443,7 @@ return true; } this.inherited(arguments); // Manual dropdown menu closure + OB.logUserAction('Menu > Receipt Properties: ' + this.model.get('order').get('documentNo')); this.doShowReceiptProperties(); }, init: function (model) { @@ -482,6 +488,7 @@ return true; } this.inherited(arguments); // Manual dropdown menu closure + OB.logUserAction('Menu > Invoice This Receipt: ' + this.model.get('order').get('documentNo')); this.taxIdValidation(this.model.get('order')); }, taxIdValidation: function (model) { @@ -594,6 +601,7 @@ return true; } this.inherited(arguments); // Manual dropdown menu closure + OB.logUserAction('Menu > Customer'); this.doShowPopup({ popup: 'modalcustomer', args: { @@ -628,8 +636,12 @@ } this.inherited(arguments); // Manual dropdown menu closure if (OB.MobileApp.model.hasPermission(this.permission)) { + OB.logUserAction('Menu > Print this Receipt: ' + this.model.get('order').get('documentNo')); this.doPrintReceipt(); } + }, + init: function (model) { + this.model = model; } }); @@ -938,6 +950,7 @@ return; } if (OB.MobileApp.model.hasPermission(this.permission)) { + OB.logUserAction('Menu > Pay Open Tickets'); this.doMultiOrders(); } }, @@ -984,6 +997,39 @@ }); enyo.kind({ + name: 'OB.UI.MenuBackOfficeSessionLog', + kind: 'OB.UI.MenuAction', + permission: 'OBPOS_retail.backoffice', + url: '../..', + events: { + onBackOffice: '' + }, + i18nLabel: 'OBPOS_LblOpenbravoSessionLog', + tap: function () { + var useURL = this.url; + if (this.disabled) { + return true; + } + + // use the central server url + _.each(OB.RR.RequestRouter.servers.models, function (server) { + if (server.get('mainServer') && server.get('address')) { + useURL = server.get('address'); + } + }); + + this.inherited(arguments); // Manual dropdown menu closure + if (OB.MobileApp.model.hasPermission(this.permission)) { + var params = encodeURI('?tabId=6805A073CC3B469AAD3F81DE192A6D27&criteria={"operator":"and","_constructor":"AdvancedCriteria","criteria":[{"fieldName":"cacheSessionId","operator":"iContains","value":"' + OB.UTIL.localStorage.getItem('cacheSessionId') + '","_constructor":"AdvancedCriteria"}]}&emptyFilterClause=true'); + this.doBackOffice({ + url: useURL + params + }); + } + } +}); + + +enyo.kind({ name: 'OB.UI.MenuDisableEnableRFIDReader', kind: 'OB.UI.MenuAction', permission: 'OBPOS_retail.disableEnableRFIDReader', @@ -1151,6 +1197,7 @@ return true; } this.inherited(arguments); // Manual dropdown menu closure + OB.logUserAction('Menu > Cancel and Replace: ' + this.model.get('order').get('documentNo')); this.model.get('order').verifyCancelAndReplace(this); }, updateVisibility: function () { diff --git a/web/org.openbravo.retail.posterminal/js/components/modalmorepaymentmethods.js b/web/org.openbravo.retail.posterminal/js/components/modalmorepaymentmethods.js --- a/web/org.openbravo.retail.posterminal/js/components/modalmorepaymentmethods.js +++ b/web/org.openbravo.retail.posterminal/js/components/modalmorepaymentmethods.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2017 Openbravo S.L.U. + * Copyright (C) 2017-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -40,6 +40,7 @@ enyo.forEach(this.sideButtons, function (sidebutton) { if (sidebutton.active) { sidebutton.btn.definition.includedInPopUp = true; + sidebutton.btn.definition.dialog = this; this.$.body.$.buttonslist.createComponent(sidebutton); } }, this); diff --git a/web/org.openbravo.retail.posterminal/js/components/modalmultiorders.js b/web/org.openbravo.retail.posterminal/js/components/modalmultiorders.js --- a/web/org.openbravo.retail.posterminal/js/components/modalmultiorders.js +++ b/web/org.openbravo.retail.posterminal/js/components/modalmultiorders.js @@ -397,6 +397,12 @@ return true; } + var ordersNum = []; + _.each(checkedMultiOrders, function (iter) { + ordersNum.push(iter.get('documentNo')); + }); + OB.logUserAction('Pay Open Tickets: ' + ordersNum.join(', ')); + function newReversalOrder() { var i; for (i = 0; i < selectedMultiOrders.length; i++) { diff --git a/web/org.openbravo.retail.posterminal/js/components/modalmultiorderslayaway.js b/web/org.openbravo.retail.posterminal/js/components/modalmultiorderslayaway.js --- a/web/org.openbravo.retail.posterminal/js/components/modalmultiorderslayaway.js +++ b/web/org.openbravo.retail.posterminal/js/components/modalmultiorderslayaway.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2013-2017 Openbravo S.L.U. + * Copyright (C) 2013-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -96,6 +96,7 @@ this.doHideThisPopup(); return; } + OB.logUserAction('Change Layaway Amount to: ' + OB.I18N.formatCurrency(amount) + ' in order: ' + currentOrder.get('documentNo')); currentOrder.set('amountToLayaway', amount); currentOrder.setOrderType(null, 2); currentOrder.trigger('amountToLayaway'); diff --git a/web/org.openbravo.retail.posterminal/js/components/modalreceiptlineproperties.js b/web/org.openbravo.retail.posterminal/js/components/modalreceiptlineproperties.js --- a/web/org.openbravo.retail.posterminal/js/components/modalreceiptlineproperties.js +++ b/web/org.openbravo.retail.posterminal/js/components/modalreceiptlineproperties.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2017 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -84,10 +84,12 @@ }, applyChanges: function (inSender, inEvent) { var diff, att, result = true; + OB.logUserAction('Change line properties: "' + this.currentLine.get('product').get('_identifier') + '" (Qty: ' + this.currentLine.get('qty') + ')'); diff = this.propertycomponents; for (att in diff) { if (diff.hasOwnProperty(att)) { if (diff[att].owner.owner.getShowing()) { + OB.logUserAction('Change line property: ' + att + ' = ' + (typeof diff[att].getValue === 'function' ? diff[att].getValue() : '<not defined>')); result = result && diff[att].applyValue(this.currentLine); } } diff --git a/web/org.openbravo.retail.posterminal/js/components/modalsplitlines.js b/web/org.openbravo.retail.posterminal/js/components/modalsplitlines.js --- a/web/org.openbravo.retail.posterminal/js/components/modalsplitlines.js +++ b/web/org.openbravo.retail.posterminal/js/components/modalsplitlines.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2016 Openbravo S.L.U. + * Copyright (C) 2016-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -466,6 +466,7 @@ splitLines: function () { this.indexToAdd = 1; this.qtysToAdd = this.$.bodyContent.$.qtyLines.getValues(); + OB.logUserAction('Split line "' + this.orderline.get('product').get('_identifier') + '" into: [' + this.qtysToAdd.join(', ') + ']'); this.orderline.set('splitline', true); this.receipt.set('skipCalculateReceipt', true); this.doAddProduct({ diff --git a/web/org.openbravo.retail.posterminal/js/datasource.js b/web/org.openbravo.retail.posterminal/js/datasource.js --- a/web/org.openbravo.retail.posterminal/js/datasource.js +++ b/web/org.openbravo.retail.posterminal/js/datasource.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2016 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -162,6 +162,9 @@ this.print(template, null, function (args) { if (args && args.exception && args.exception.message) { OB.info('Error opening the drawer'); + OB.logUserAction('Error opening the drawer'); + } else { + OB.logUserAction('Open the drawer'); } }, OB.DS.HWServer.DRAWER); if (OB.MobileApp.model.get('permissions').OBPOS_closeDrawerBeforeContinue) { diff --git a/web/org.openbravo.retail.posterminal/js/hooks/hookPrePaymentSelected.js b/web/org.openbravo.retail.posterminal/js/hooks/hookPrePaymentSelected.js new file mode 100644 --- /dev/null +++ b/web/org.openbravo.retail.posterminal/js/hooks/hookPrePaymentSelected.js @@ -0,0 +1,19 @@ +/* + ************************************************************************************ + * Copyright (C) 2018 Openbravo S.L.U. + * Licensed under the Openbravo Commercial License version 1.0 + * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html + * or in the legal folder of this module distribution. + ************************************************************************************ + */ + +(function () { + + OB.UTIL.HookManager.registerHook('OBPOS_PrePaymentSelected', function (args, callbacks) { + if (args.paymentSelected) { + OB.logUserAction('Payment method selected: ' + args.paymentSelected.payment._identifier); + } + OB.UTIL.HookManager.callbackExecutor(args, callbacks); + }); + +}()); \ No newline at end of file diff --git a/web/org.openbravo.retail.posterminal/js/login/model/login-model.js b/web/org.openbravo.retail.posterminal/js/login/model/login-model.js --- a/web/org.openbravo.retail.posterminal/js/login/model/login-model.js +++ b/web/org.openbravo.retail.posterminal/js/login/model/login-model.js @@ -783,6 +783,10 @@ postLoginActions: function () { OB.debug("next process: renderTerminalMain"); + var context = OB.MobileApp.model.get('context'), + msg = 'Login user: ' + (context && context.user ? context.user.username : '-') + // + ', Role: ' + (context && context.role ? context.role.name : '-') + (context && context.client ? ' - ' + context.client.name : ''); + OB.logUserAction(msg); //MASTER DATA REFRESH var minIncRefresh = this.get('terminal').terminalType.minutestorefreshdatainc, minTotalRefresh = this.get('terminal').terminalType.minutestorefreshdatatotal * 60 * 1000, @@ -940,6 +944,9 @@ } } + var context = OB.MobileApp.model.get('context'); + OB.logUserAction('Logout user: ' + (context && context.user ? OB.MobileApp.model.get('context').user.username : '-')); + OB.UTIL.Approval.requestApproval( this, 'OBPOS_approval.removereceipts', function (approved, supervisor, approvalType) { if (approved) { diff --git a/web/org.openbravo.retail.posterminal/js/model/order.js b/web/org.openbravo.retail.posterminal/js/model/order.js --- a/web/org.openbravo.retail.posterminal/js/model/order.js +++ b/web/org.openbravo.retail.posterminal/js/model/order.js @@ -1148,6 +1148,7 @@ if (!OB.DEC.isNumber(qty)) { qty = OB.DEC.One; } + OB.logUserAction('Add units (Qty: ' + qty + ') to product "' + line.get('product').get('_identifier') + '"'); this.setUnit(line, OB.DEC.add(line.get('qty'), qty, OB.I18N.qtyScale()), OB.I18N.getLabel('OBPOS_AddUnits', [OB.DEC.toNumber(new BigDecimal((String)(qty.toString()))), line.get('product').get('_identifier')])); }, @@ -1252,6 +1253,8 @@ return; } + OB.logUserAction('Change price (' + OB.I18N.formatCurrency(price) + ') to product "' + line.get('product').get('_identifier') + '"'); + options = args.options || {}; options.setUndo = (_.isUndefined(options.setUndo) || _.isNull(options.setUndo) || options.setUndo !== false) ? true : options.setUndo; @@ -1492,6 +1495,9 @@ } function preDeleteLine() { + _.each(selectedModels, function (line) { + OB.logUserAction('Delete line: "' + line.get('product').get('_identifier') + '" (Qty: ' + line.get('qty') + ') from ticket "' + me.get('documentNo') + '"'); + }); OB.UTIL.HookManager.executeHooks('OBPOS_PreDeleteLine', { order: me, selectedLines: selectedModels @@ -1991,6 +1997,7 @@ }, this); } + OB.logUserAction('Delete line "' + line.get('product').get('_identifier') + '" (Qty: ' + line.get('qty') + ')'); // trigger line.trigger('removed', line); @@ -3267,6 +3274,8 @@ createLine: function (p, units, options, attrs) { var newline, me = this; + OB.logUserAction('Add ' + (p.get('productType') === 'I' ? 'product' : 'service') + ' "' + p.get('_identifier') + '" (Qty: ' + units + ') to ticket "' + this.get('documentNo') + '"'); + function createLineAux(p, units, options, attrs, me) { if (me.validateAllowSalesWithReturn(units, ((options && options.allowLayawayWithReturn) || false))) { return; @@ -3347,6 +3356,7 @@ }, returnLine: function (line, options, skipValidaton) { + OB.logUserAction('Return line "' + line.get('product').get('_identifier') + '" (Qty: ' + line.get('qty') + ')'); var me = this; if (line.get('qty') > 0) { line.get('product').set('ignorePromotions', true); @@ -4247,6 +4257,7 @@ } }, args.order); + var quotationNo = args.order.get('documentNo'); args.order.set('oldId', args.order.get('id')); args.order.set('id', null); args.order.set('isQuotation', false); @@ -4278,6 +4289,8 @@ args.order.unset('deletedLines'); args.order.save(); + OB.logUserAction('Create order ' + nextDocumentno.documentNo + ' from quotation ' + quotationNo); + args.order.get('lines').each(function (line) { var productAttributes = line.get('product').get('hasAttributes'); if (OB.UTIL.isNullOrUndefined(productAttributes) === false && productAttributes) { @@ -4384,13 +4397,15 @@ } this.set('id', null); this.save(); + OB.logUserAction('Reactivate Quotation: ' + this.get('documentNo')); this.calculateReceipt(); }, rejectQuotation: function (rejectReasonId, scope, callback) { if (!this.get('id')) { OB.error("The Id of the order is not defined (current value: " + this.get('id') + "'"); } - var process = new OB.DS.Process('org.openbravo.retail.posterminal.QuotationsReject'); + var process = new OB.DS.Process('org.openbravo.retail.posterminal.QuotationsReject'), + quotationNo = this.get('documentNo'); OB.UTIL.showLoading(true); process.exec({ messageId: OB.UTIL.get_UUID(), @@ -4402,6 +4417,7 @@ }, function (data) { OB.UTIL.showLoading(false); OB.UTIL.showSuccess(OB.I18N.getLabel('OBPOS_SuccessRejectQuotation')); + OB.logUserAction('Reject Quotation: ' + quotationNo); if (callback) { callback.call(scope, data !== null); } @@ -4612,6 +4628,7 @@ order.save(); order.trigger('saveCurrent'); } + OB.logUserAction('Added Payment: ' + payment.get('name') + ' = ' + OB.I18N.formatCurrency(payment.get('amount')) + ' ' + payment.get('isocode')); OB.UTIL.HookManager.executeHooks('OBPOS_postAddPayment', { paymentAdded: payment, payments: payments, @@ -5829,9 +5846,11 @@ } return; } + OB.logUserAction('Delete Ticket: ' + args.receipt.get('documentNo')); removeOrder(args.receipt, callback); }); } else { + OB.logUserAction('Close Ticket: ' + this.get('documentNo')); removeOrder(this, callback); } @@ -6428,6 +6447,14 @@ this.unshift(this.current); this.loadCurrent(true); + var documentType = 'Receipt'; + if (model.get('isQuotation')) { + documentType = 'Quotation'; + } else if (model.get('isLayaway')) { + documentType = 'Layaway'; + } + OB.logUserAction('Open ' + documentType + ': ' + model.get('documentNo')); + if (!model.get('isQuotation')) { // OB.Dal.save is done here because we want to force to save with the original id, only this time. OB.Dal.save(model, function () { @@ -6499,6 +6526,7 @@ this.current.set('quotationnoPrefix', OB.MobileApp.model.get('terminal').quotationDocNoPrefix); this.current.set('quotationnoSuffix', nextQuotationno.quotationnoSuffix); this.current.set('documentNo', nextQuotationno.documentNo); + OB.logUserAction('Create New Quotation: ' + nextQuotationno.documentNo); this.unshift(this.current); this.loadCurrent(); @@ -6845,6 +6873,7 @@ OB.UTIL.HookManager.executeHooks('OBPOS_NewReceipt', { newOrder: order }); + OB.logUserAction('Create new ticket: ' + nextDocumentno.documentNo); return order; } }); @@ -7029,6 +7058,7 @@ callback: callback }, function (args) { var executeFinalCallback = function () { + OB.logUserAction('Added Multi-Order Payment: ' + payment.get('name') + ' = ' + OB.I18N.formatCurrency(payment.get('amount')) + ' ' + payment.get('isocode')); OB.UTIL.HookManager.executeHooks('OBPOS_postAddPayment', { paymentAdded: payment, payments: payments, diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js @@ -210,6 +210,7 @@ addPayment: function (payment, callback) { var modelToIncludePayment; + OB.logUserAction('Clicked to add (partial or total) payment: ' + payment.get('name') + ' = ' + OB.I18N.formatCurrency(payment.get('amount')) + ' ' + payment.get('isocode')); if (this.get('leftColumnViewManager').isOrder()) { modelToIncludePayment = this.get('order'); } else { diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/keyboard-toolbars.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/keyboard-toolbars.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/keyboard-toolbars.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/keyboard-toolbars.js @@ -250,7 +250,8 @@ holdActive: true, permission: sidebutton.permission, stateless: sidebutton.stateless, - action: sidebutton.action + action: sidebutton.action, + scope: this } } }; @@ -261,7 +262,7 @@ OB.UTIL.HookManager.executeHooks('OBPOS_PrePaymentSelected', { paymentSelected: payment, receipt: btncomponent.btn.definition.scope.receipt, - btnDefintion: btncomponent.btn.definition + btnDefinition: btncomponent.btn.definition }, function (args) { if (args && args.cancellation && args.cancellation === true) { callback(false); @@ -385,6 +386,7 @@ holdActive: true, permission: payment.payment.searchKey, stateless: false, + scope: me, action: function (keyboard, txt) { me.payWithProviderGroup(keyboard, txt, providerGroups[payment.providerGroup.id]); } @@ -426,6 +428,7 @@ popup: 'modalPaymentsSelect', args: { idCategory: payment.paymentMethod.paymentMethodCategory, + receipt: me.receipt, amount: amount, options: options } @@ -544,6 +547,7 @@ } if (amount > 0 && exactpayment && OB.MobileApp.model.hasPermission(exactpayment.payment.searchKey)) { + OB.logUserAction('Exact Payment: ' + exactpayment.payment._identifier + ' = ' + OB.I18N.formatCurrency(amount) + ' ' + exactpayment.isocode); me.pay(amount, exactpayment.payment.searchKey, exactpayment.payment._identifier, exactpayment.paymentMethod, exactpayment.rate, exactpayment.mulrate, exactpayment.isocode); } } @@ -711,6 +715,7 @@ }, tap: function () { if (!this.$.btn.hasClass(this.classButtonDisabled)) { + OB.logUserAction('More Payments button clicked'); this.doShowAllButtons(); } }, diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/modals/modalpayments.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/modals/modalpayments.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/modals/modalpayments.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/modals/modalpayments.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2015-2017 Openbravo S.L.U. + * Copyright (C) 2015-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -84,16 +84,24 @@ if (!item.disabled) { var dialog = this.owner.owner.owner; dialog.doHideThisPopup(); - dialog.bubble('onStatusChanged', { - payment: this.payment, - status: this.payment.payment.searchKey, - amount: dialog.args.amount, - options: dialog.args.options - }); - dialog.bubble('onPaymentChanged', { - payment: this.payment, - status: this.payment.payment.searchKey, - amount: dialog.args.amount + OB.UTIL.HookManager.executeHooks('OBPOS_PrePaymentSelected', { + paymentSelected: this.payment, + receipt: dialog.args.receipt + }, function (args) { + if (args && args.cancellation && args.cancellation === true) { + return; + } + dialog.bubble('onStatusChanged', { + payment: args.paymentSelected, + status: args.paymentSelected.payment.searchKey, + amount: dialog.args.amount, + options: dialog.args.options + }); + dialog.bubble('onPaymentChanged', { + payment: args.paymentSelected, + status: args.paymentSelected.payment.searchKey, + amount: dialog.args.amount + }); }); } }, diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/payment.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/payment.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/payment.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/payment.js @@ -46,7 +46,8 @@ this.doShowPopup({ popup: 'modalPaymentsSelect', args: { - idCategory: inEvent.value.status.substring(inEvent.value.status.lastIndexOf('.') + 1) + idCategory: inEvent.value.status.substring(inEvent.value.status.lastIndexOf('.') + 1), + receipt: this.receipt } }); } else { @@ -1299,11 +1300,14 @@ if (this.drawerOpened) { if (this.owner.receipt.get('orderType') === 3 && !this.owner.receipt.get('cancelLayaway')) { //Void Layaway + OB.logUserAction('Void Layaway: ' + me.owner.receipt.get('documentNo')); this.owner.receipt.trigger('voidLayaway'); } else if (this.owner.receipt.get('orderType') === 3) { //Cancel Layaway + OB.logUserAction('Cancel Layaway: ' + me.owner.receipt.get('documentNo')); this.owner.receipt.trigger('cancelLayaway'); } else { + OB.logUserAction('Complete ticket payment: ' + me.owner.receipt.get('documentNo')); this.setDisabled(true); me.owner.model.get('order').trigger('paymentDone', false); OB.UTIL.setScanningFocus(false); @@ -1322,11 +1326,14 @@ } else { if (this.owner.receipt.get('orderType') === 3 && !this.owner.receipt.get('cancelLayaway')) { //Void Layaway + OB.logUserAction('Void Layaway: ' + me.owner.receipt.get('documentNo')); this.owner.receipt.trigger('voidLayaway'); } else if (this.owner.receipt.get('orderType') === 3) { //Cancel Layaway + OB.logUserAction('Cancel Layaway: ' + me.owner.receipt.get('documentNo')); this.owner.receipt.trigger('cancelLayaway'); } else { + OB.logUserAction('Complete ticket payment: ' + me.owner.receipt.get('documentNo')); this.setDisabled(true); me.owner.receipt.trigger('paymentDone', this.allowOpenDrawer); OB.UTIL.setScanningFocus(false); @@ -1335,6 +1342,7 @@ } else { if (this.drawerpreference && this.allowOpenDrawer) { if (this.drawerOpened) { + OB.logUserAction('Complete Multi Orders payment'); this.owner.model.get('multiOrders').trigger('paymentDone', false); OB.UTIL.setScanningFocus(false); this.owner.model.get('multiOrders').set('openDrawer', false); @@ -1350,6 +1358,7 @@ enyo.$.scrim.hide(); } } else { + OB.logUserAction('Complete Multi Orders payment'); this.owner.model.get('multiOrders').trigger('paymentDone', this.allowOpenDrawer); OB.UTIL.setScanningFocus(false); this.owner.model.get('multiOrders').set('openDrawer', false); @@ -1759,6 +1768,7 @@ } this.setDisabled(true); enyo.$.scrim.show(); + OB.logUserAction('Layaway ticket: ' + receipt.get('documentNo')); receipt.trigger('paymentDone', me.allowOpenDrawer); } }); \ No newline at end of file diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js @@ -1001,6 +1001,7 @@ this.$.multiColumn.$.rightPanel.$.keyboard.execStatelessCommand('cashexact'); }, changeCurrentOrder: function (inSender, inEvent) { + OB.logUserAction('Switch to Ticket: ' + inEvent.newCurrentOrder.get('documentNo')); this.model.get('orderList').load(inEvent.newCurrentOrder); return true; }, @@ -1014,6 +1015,7 @@ // } else { // me.model.get('multiOrders').removePayment(inEvent.payment); // } + OB.logUserAction('Remove Payment: ' + inEvent.payment.get('name') + ' = ' + OB.I18N.formatCurrency(inEvent.payment.get('amount')) + ' ' + inEvent.payment.get('isocode')); if (me.model.get('leftColumnViewManager').isOrder()) { me.model.get('order').removePayment(inEvent.payment, inEvent.removeCallback); me.model.get('order').trigger('displayTotal'); @@ -1323,6 +1325,11 @@ me.cancelRemoveMultiOrders(inSender, originator); return true; } + if (inEvent.order) { + OB.logUserAction('Remove Order: ' + inEvent.order.get('documentNo')); + } else { + OB.logUserAction('Close Multi Orders List'); + } // If there are more than 1 order, do as usual if (me.model.get('multiOrders').get('multiOrdersList').length > 1 && inEvent.order) { me.model.get('multiOrders').get('multiOrdersList').remove(inEvent.order); diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/scan.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/scan.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/scan.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/scan.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2017 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -127,6 +127,7 @@ selectedLines: OB.MobileApp.model.receipt.get('undo').lines }, function (args) { if (!args.cancellation && me.undoclick) { + OB.logUserAction('Click on "Undo" button'); me.undoclick(); } else { me.setDisabled(false); diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/subwindows/customeraddress/components/sharedcomponents.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/subwindows/customeraddress/components/sharedcomponents.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/subwindows/customeraddress/components/sharedcomponents.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/subwindows/customeraddress/components/sharedcomponents.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2017 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -217,6 +217,7 @@ customerAddr: OB.UTIL.clone(me.model.get('customerAddr')) }); }; + OB.logUserAction('Create Customer Address: ' + args.customerAddr.get('customerName') + ' - ' + args.customerAddr.get('name')); me.model.get('customerAddr').saveCustomerAddr(callback, enableButtonsCallback); }); } else { @@ -324,6 +325,7 @@ receipt.deleteLinesFromOrder(orderlines, function () { args.customerAddr.saveCustomerAddr(callback, enableButtonsCallback); }); + OB.logUserAction('Update Customer Address: ' + args.customerAddr.get('customerName') + ' - ' + args.customerAddr.get('name')); }); } }, { @@ -343,6 +345,7 @@ enableButtonsCallback(); return true; } + OB.logUserAction('Update Customer Address: ' + args.customerAddr.get('customerName') + ' - ' + args.customerAddr.get('name')); args.customerAddr.saveCustomerAddr(callback, enableButtonsCallback); }); } diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/subwindows/customers/components/sharedcomponents.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/subwindows/customers/components/sharedcomponents.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/subwindows/customers/components/sharedcomponents.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/subwindows/customers/components/sharedcomponents.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2017 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -489,6 +489,7 @@ return true; } customerEdited = args.customer; + OB.logUserAction((args.isNew ? 'Create ' : 'Edit ') + 'Customer: ' + customerEdited.get('name')); args.customer.saveCustomer(function (result) { me.waterfall('onDisableButton', { disabled: false diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/ticketdiscount.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/ticketdiscount.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/ticketdiscount.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/ticketdiscount.js @@ -351,6 +351,7 @@ } _.each(me.checkedLines, function (line) { + OB.logUserAction('Apply promotion "' + promotionToAplly.rule.get('name') + '" to product "' + line.get('product').get('_identifier') + '" (' + line.get('qty') + ')'); orderLinesCollection.add(line); }); diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js @@ -388,6 +388,7 @@ receipt.prepareToSend(function () { receipt.trigger('closed', { callback: function () { + OB.logUserAction('Close Quotation: ' + receipt.get('documentNo') + ', Amount: ' + me.getLabel()); //In case the processed document is a quotation, we remove its id so it can be reactivated if (receipt.get('isQuotation')) { if (!(receipt.get('oldId') && receipt.get('oldId').length > 0)) { @@ -419,6 +420,7 @@ } return; } + OB.logUserAction('Total Amount (' + me.getLabel() + ') for ticket: ' + receipt.get('documentNo')); if (this.model.get('order').get('isEditable') === false && !this.model.get('order').get('isLayaway') && !this.model.get('order').get('isPaid')) { return true; } @@ -682,6 +684,10 @@ }); this.menuEntries.push({ + kind: 'OB.UI.MenuBackOfficeSessionLog' + }); + + this.menuEntries.push({ kind: 'OB.UI.MenuSelectPrinter' }); sessions.diff [^] (3,896 bytes) 2018-09-05 12:54 [Show Content] [Hide Content] diff --git a/web/org.openbravo.retail.sessions/js/components/BusinessDateWindowView.js b/web/org.openbravo.retail.sessions/js/components/BusinessDateWindowView.js --- a/web/org.openbravo.retail.sessions/js/components/BusinessDateWindowView.js +++ b/web/org.openbravo.retail.sessions/js/components/BusinessDateWindowView.js @@ -22,6 +22,7 @@ stepCount: 0, span: 6, tap: function () { + OB.logUserAction('Cancel setting the business date manually'); this.bubble('onCancelButton'); } }, { @@ -88,6 +89,9 @@ model.on('change:businessdate', function () { var newbd = model.get('businessdate'); this.setDisabled(!newbd); + if (newbd) { + OB.logUserAction('Set business date: ' + OB.I18N.formatDate(newbd)); + } }, this); } }] @@ -164,6 +168,7 @@ isActive: false })); } + OB.logUserAction('Set the business date manually'); }, cancelButton: function () {} }); diff --git a/web/org.openbravo.retail.sessions/js/countcash/countcash-model.js b/web/org.openbravo.retail.sessions/js/countcash/countcash-model.js --- a/web/org.openbravo.retail.sessions/js/countcash/countcash-model.js +++ b/web/org.openbravo.retail.sessions/js/countcash/countcash-model.js @@ -48,6 +48,7 @@ })); //ready to send to the server + OB.logUserAction(OB.I18N.getLabel('POSS_CashCountSessionOpen')); server.exec({ messageId: OB.UTIL.get_UUID(), data: [objToSend] @@ -442,6 +443,9 @@ return; // Do not execute the process again if finished. } + var info = me.get(initialCountPayment); + OB.logUserAction('Initial Count Cash: ' + paymentMethod.paymentMethod.name + ' [Counted: ' + OB.I18N.formatCurrency(info.get('totalCounted')) + ', Expected: ' + OB.I18N.formatCurrency(info.get('totalExpected')) + '] ' + paymentMethod.isocode); + if (me.get(initialCountPayment).get('totalDifference') !== 0) { me.hasCashMgmtTrans = true; cashManagmentTransactionModel.set('amount', OB.DEC.abs(me.get(initialCountPayment).get('totalDifference'))); diff --git a/web/org.openbravo.retail.sessions/js/countcash/countcash.js b/web/org.openbravo.retail.sessions/js/countcash/countcash.js --- a/web/org.openbravo.retail.sessions/js/countcash/countcash.js +++ b/web/org.openbravo.retail.sessions/js/countcash/countcash.js @@ -278,6 +278,7 @@ }); }; + OB.logUserAction(OB.I18N.getLabel('POSS_CashCountSessionOpen')); OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBPOS_LblGoodjob'), OB.I18N.getLabel('POSS_CashCountSessionOpen'), [{ label: OB.I18N.getLabel('OBMOBC_LblOk'), action: function () { @@ -299,6 +300,7 @@ if (this.model.get('errorMessage')) { errorMsg = this.model.get('errorMessage'); } + OB.logUserAction('Initial Count Cash finished Wrongly: ' + errorMsg); OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBPOS_CashUpWronglyHeader'), errorMsg, [{ label: OB.I18N.getLabel('OBMOBC_LblOk'), action: function () { @@ -313,6 +315,7 @@ }); }, this); + OB.logUserAction('Start Initial Count Cash'); this.refresh(); }, refresh: function () { @@ -377,6 +380,7 @@ serverMsg = messageValue + "\r\n" + msg; } if (inEvent.originator.stepCount === 0) { + OB.logUserAction('Cancel Open Till'); me.cancelAction(); return true; } @@ -456,6 +460,7 @@ } } } else { + OB.logUserAction('Store is closed, force logout'); OB.UTIL.showConfirmation.display(OB.I18N.getLabel('POSS_StoreIsClosed'), OB.I18N.getLabel('POSS_ForceLogout'), [{ label: OB.I18N.getLabel('OBMOBC_LblOk'), action: function () { test-suite-humanlog.diff [^] (10,558 bytes) 2018-09-10 10:33 [Show Content] [Hide Content] diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/suites/concurrent/job014/HumanLogSuite.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/suites/concurrent/job014/HumanLogSuite.java new file mode 100644 --- /dev/null +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/suites/concurrent/job014/HumanLogSuite.java @@ -0,0 +1,45 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (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 S.L.U. + * All portions are Copyright (C) 2018 Openbravo S.L.U. + * All Rights Reserved. + * Contributor(s): + ************************************************************************ + * + * @author EBE + * + */ + +package org.openbravo.test.mobile.retail.pack.selenium.suites.concurrent.job014; + +import org.junit.AfterClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.openbravo.test.mobile.core.utils.SuiteHelper; +import org.openbravo.test.mobile.retail.pack.selenium.tests.humanlog.AllHumanLogTests; +import org.openbravo.test.mobile.retail.pack.selenium.tests.loginout.LogoutAndCloseBrowser; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + // + AllHumanLogTests.class, // + + LogoutAndCloseBrowser.class, // this have to be the last test in the suite +}) +public class HumanLogSuite extends SuiteHelper { + @AfterClass + public static void afterclass() { + nameChild(HumanLogSuite.class.getSimpleName()); + SuiteHelper.afterclass(); + } +} diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/suites/concurrent/job014/HumanLogSuiteHV.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/suites/concurrent/job014/HumanLogSuiteHV.java new file mode 100644 --- /dev/null +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/suites/concurrent/job014/HumanLogSuiteHV.java @@ -0,0 +1,45 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (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 S.L.U. + * All portions are Copyright (C) 2018 Openbravo S.L.U. + * All Rights Reserved. + * Contributor(s): + ************************************************************************ + * + * @author EBE + * + */ + +package org.openbravo.test.mobile.retail.pack.selenium.suites.concurrent.job014; + +import org.junit.AfterClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.openbravo.test.mobile.core.utils.SuiteHelper; +import org.openbravo.test.mobile.retail.pack.selenium.tests.humanlog.AllHumanLogTestsHV; +import org.openbravo.test.mobile.retail.pack.selenium.tests.loginout.LogoutAndCloseBrowser; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + // + AllHumanLogTestsHV.class, // + + LogoutAndCloseBrowser.class, // this have to be the last test in the suite +}) +public class HumanLogSuiteHV extends SuiteHelper { + @AfterClass + public static void afterclass() { + nameChild(HumanLogSuiteHV.class.getSimpleName()); + SuiteHelper.afterclass(); + } +} diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/AllHumanLogTests.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/AllHumanLogTests.java --- a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/AllHumanLogTests.java +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/AllHumanLogTests.java @@ -11,12 +11,12 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo S.L.U. - * All portions are Copyright (C) 2008-2015 Openbravo S.L.U. + * All portions are Copyright (C) 2018 Openbravo S.L.U. * All Rights Reserved. * Contributor(s): ************************************************************************ * - * @author RAL + * @author EBE * */ diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/AllHumanLogTestsHV.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/AllHumanLogTestsHV.java new file mode 100644 --- /dev/null +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/AllHumanLogTestsHV.java @@ -0,0 +1,35 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (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 S.L.U. + * All portions are Copyright (C) 2018 Openbravo S.L.U. + * All Rights Reserved. + * Contributor(s): + ************************************************************************ + * + * @author EBE + * + */ + +package org.openbravo.test.mobile.retail.pack.selenium.tests.humanlog; + +import org.junit.runner.RunWith; +import org.openbravo.test.mobile.core.junit.toolbox.SuiteClassesToolbox; +import org.openbravo.test.mobile.retail.mobilecore.annotations.SuiteAnnotations; +import org.openbravo.test.mobile.retail.mobilecore.junit.OBWildcardPatternSuite; + +@RunWith(OBWildcardPatternSuite.class) +@SuiteClassesToolbox() +@SuiteAnnotations(activateHighVolumeMode = true) +public class AllHumanLogTestsHV { + +} diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashManagement.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashManagement.java --- a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashManagement.java +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashManagement.java @@ -70,7 +70,7 @@ // Validate log String lastTicketNumber = BackboneHelper.getDocumentNo(); validateHumanLog(new String[] { // - "Login user: vallblanca", // + "Login user: vallblanca, Role: VallBlancaUser - The White Valley Group", // "Create new ticket: " + ticketNumber, // "Menu > Cash Management", // "Button pushed: 5", // diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashUp.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashUp.java --- a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashUp.java +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/CashUp.java @@ -99,8 +99,11 @@ // Validate log String lastTicketNumber = BackboneHelper.getDocumentNo(); validateHumanLog(new String[] { // - "Login user: vallblanca", // + "Login user: vallblanca, Role: VallBlancaUser - The White Valley Group", // "Create new ticket: " + ticketNumber, // + "Search products: \"\"", // + "Search products: \"\"", // + "Search products: \"Avalanche transceiver\"", // "Add product \"Avalanche transceiver\" (Qty: 1) to ticket \"" + ticketNumber + "\"", // "Total Amount (150.50) for ticket: " + ticketNumber, // "Button pushed: Card", // diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/LoginInWebPOS.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/LoginInWebPOS.java --- a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/LoginInWebPOS.java +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/LoginInWebPOS.java @@ -45,7 +45,7 @@ // Validate log String ticketNumber = BackboneHelper.getDocumentNo(); validateHumanLog(new String[] { // - "Login user: vallblanca", // + "Login user: vallblanca, Role: VallBlancaUser - The White Valley Group", // "Create new ticket: " + ticketNumber // }); } diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/PayTicket.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/PayTicket.java --- a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/PayTicket.java +++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/humanlog/PayTicket.java @@ -51,8 +51,11 @@ // Validate log String lastTicketNumber = BackboneHelper.getDocumentNo(); validateHumanLog(new String[] { // - "Login user: vallblanca", // + "Login user: vallblanca, Role: VallBlancaUser - The White Valley Group", // "Create new ticket: " + ticketNumber, // + "Search products: \"\"", // + "Search products: \"\"", // + "Search products: \"Avalanche transceiver\"", // "Add product \"Avalanche transceiver\" (Qty: 1) to ticket \"" + ticketNumber + "\"", // "Total Amount (150.50) for ticket: " + ticketNumber, // "Exact Payment: Cash = 150.50 EUR", // mobile-core.diff [^] (110,412 bytes) 2018-09-10 10:52 [Show Content] [Hide Content] diff --git a/src-db/database/model/tables/OBMOBC_LOGCLIENT_READABLE.xml b/src-db/database/model/tables/OBMOBC_LOGCLIENT_READABLE.xml new file mode 100644 --- /dev/null +++ b/src-db/database/model/tables/OBMOBC_LOGCLIENT_READABLE.xml @@ -0,0 +1,61 @@ +<?xml version="1.0"?> + <database name="TABLE OBMOBC_LOGCLIENT_READABLE"> + <table name="OBMOBC_LOGCLIENT_READABLE" primaryKey="OBMOBC_LOGCLI_READABLE_PK"> + <column name="OBMOBC_LOGCLIENT_READABLE_ID" primaryKey="true" required="true" type="VARCHAR" size="32" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> + <column name="AD_CLIENT_ID" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> + <column name="AD_ORG_ID" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> + <column name="ISACTIVE" primaryKey="false" required="true" type="CHAR" size="1" autoIncrement="false"> + <default><![CDATA[Y]]></default> + <onCreateDefault/> + </column> + <column name="CREATED" primaryKey="false" required="true" type="TIMESTAMP" size="7" autoIncrement="false"> + <default><![CDATA[SYSDATE]]></default> + <onCreateDefault/> + </column> + <column name="CREATEDBY" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> + <column name="UPDATED" primaryKey="false" required="true" type="TIMESTAMP" size="7" autoIncrement="false"> + <default><![CDATA[SYSDATE]]></default> + <onCreateDefault/> + </column> + <column name="UPDATEDBY" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> + <column name="DEVICEID" primaryKey="false" required="false" type="VARCHAR" size="255" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> + <column name="MSG" primaryKey="false" required="false" type="VARCHAR" size="2000" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> + <column name="CACHE_SESSION_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> + <column name="ISONLINE" primaryKey="false" required="true" type="CHAR" size="1" autoIncrement="false"> + <default><![CDATA[Y]]></default> + <onCreateDefault/> + </column> + <foreign-key foreignTable="AD_CLIENT" name="OBMOBC_LOGCLI_READ_AD_CLIENT"> + <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/> + </foreign-key> + <foreign-key foreignTable="AD_ORG" name="OBMOBC_LOGCLI_READ_AD_ORG"> + <reference local="AD_ORG_ID" foreign="AD_ORG_ID"/> + </foreign-key> + <check name="OBMOBC_LOGCLI_READ_ISACT_CHK"><![CDATA[ISACTIVE IN ('Y', 'N')]]></check> + <check name="OBMOBC_LOGCLI_READ_ISON_CHK"><![CDATA[ISONLINE IN ('Y', 'N')]]></check> + </table> + </database> diff --git a/src-db/database/sourcedata/AD_COLUMN.xml b/src-db/database/sourcedata/AD_COLUMN.xml --- a/src-db/database/sourcedata/AD_COLUMN.xml +++ b/src-db/database/sourcedata/AD_COLUMN.xml @@ -39,6 +39,120 @@ <!--01D1BF5838B9461897202218DBAB41A9--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--01D1BF5838B9461897202218DBAB41A9--></AD_COLUMN> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--><AD_COLUMN> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <AD_COLUMN_ID><![CDATA[02F9D71B5A9D41A285B2346EED5EE9F1]]></AD_COLUMN_ID> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <NAME><![CDATA[Organization]]></NAME> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <DESCRIPTION><![CDATA[Organizational entity within client]]></DESCRIPTION> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <HELP><![CDATA[An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.]]></HELP> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <COLUMNNAME><![CDATA[AD_Org_ID]]></COLUMNNAME> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <DEFAULTVALUE><![CDATA[@AD_ORG_ID@]]></DEFAULTVALUE> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISKEY><![CDATA[N]]></ISKEY> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <SEQNO><![CDATA[30]]></SEQNO> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <AD_ELEMENT_ID><![CDATA[113]]></AD_ELEMENT_ID> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISSESSIONATTR><![CDATA[Y]]></ISSESSIONATTR> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <POSITION><![CDATA[3]]></POSITION> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--02F9D71B5A9D41A285B2346EED5EE9F1--></AD_COLUMN> + +<!--06521F129AD94EB5B40DF95DC0414BCF--><AD_COLUMN> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <AD_COLUMN_ID><![CDATA[06521F129AD94EB5B40DF95DC0414BCF]]></AD_COLUMN_ID> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <NAME><![CDATA[deviceId]]></NAME> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <COLUMNNAME><![CDATA[Deviceid]]></COLUMNNAME> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <AD_REFERENCE_ID><![CDATA[10]]></AD_REFERENCE_ID> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <FIELDLENGTH><![CDATA[255]]></FIELDLENGTH> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISKEY><![CDATA[N]]></ISKEY> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <SEQNO><![CDATA[90]]></SEQNO> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <AD_ELEMENT_ID><![CDATA[F74A66B21FBF49EF91A8C6F25F67AA39]]></AD_ELEMENT_ID> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <POSITION><![CDATA[9]]></POSITION> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--06521F129AD94EB5B40DF95DC0414BCF--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--06521F129AD94EB5B40DF95DC0414BCF--></AD_COLUMN> + +<!--098756C2DB1A4A57AF6C8D4595849E30--><AD_COLUMN> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <AD_COLUMN_ID><![CDATA[098756C2DB1A4A57AF6C8D4595849E30]]></AD_COLUMN_ID> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <NAME><![CDATA[Client]]></NAME> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <DESCRIPTION><![CDATA[Client for this installation.]]></DESCRIPTION> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <HELP><![CDATA[A Client is a company or a legal entity. You cannot share data between Clients.]]></HELP> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <COLUMNNAME><![CDATA[AD_Client_ID]]></COLUMNNAME> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <DEFAULTVALUE><![CDATA[@AD_CLIENT_ID@]]></DEFAULTVALUE> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISKEY><![CDATA[N]]></ISKEY> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <SEQNO><![CDATA[20]]></SEQNO> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <AD_ELEMENT_ID><![CDATA[102]]></AD_ELEMENT_ID> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISSESSIONATTR><![CDATA[Y]]></ISSESSIONATTR> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <POSITION><![CDATA[2]]></POSITION> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--098756C2DB1A4A57AF6C8D4595849E30--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--098756C2DB1A4A57AF6C8D4595849E30--></AD_COLUMN> + <!--0B9D815A89954CA6BC002D374D6C397C--><AD_COLUMN> <!--0B9D815A89954CA6BC002D374D6C397C--> <AD_COLUMN_ID><![CDATA[0B9D815A89954CA6BC002D374D6C397C]]></AD_COLUMN_ID> <!--0B9D815A89954CA6BC002D374D6C397C--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -150,6 +264,44 @@ <!--109FF518A6584B7FA15D4F7EE8DCAD13--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--109FF518A6584B7FA15D4F7EE8DCAD13--></AD_COLUMN> +<!--10C850D83A734D5D9A6EE62E61CDA122--><AD_COLUMN> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <AD_COLUMN_ID><![CDATA[10C850D83A734D5D9A6EE62E61CDA122]]></AD_COLUMN_ID> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <NAME><![CDATA[Updated By]]></NAME> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <DESCRIPTION><![CDATA[User who updated this records]]></DESCRIPTION> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <HELP><![CDATA[The Updated By field indicates the user who updated this record.]]></HELP> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <COLUMNNAME><![CDATA[Updatedby]]></COLUMNNAME> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <AD_REFERENCE_ID><![CDATA[30]]></AD_REFERENCE_ID> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISKEY><![CDATA[N]]></ISKEY> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <SEQNO><![CDATA[80]]></SEQNO> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <AD_ELEMENT_ID><![CDATA[608]]></AD_ELEMENT_ID> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <POSITION><![CDATA[8]]></POSITION> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--10C850D83A734D5D9A6EE62E61CDA122--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--10C850D83A734D5D9A6EE62E61CDA122--></AD_COLUMN> + <!--113F2A6F145140B9B3B8BDCBE13D49F1--><AD_COLUMN> <!--113F2A6F145140B9B3B8BDCBE13D49F1--> <AD_COLUMN_ID><![CDATA[113F2A6F145140B9B3B8BDCBE13D49F1]]></AD_COLUMN_ID> <!--113F2A6F145140B9B3B8BDCBE13D49F1--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -297,6 +449,45 @@ <!--1546D863A0B64C8E9F287972FB47CF77--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--1546D863A0B64C8E9F287972FB47CF77--></AD_COLUMN> +<!--16FAA8B462AD4A069191D6D70DE15FD2--><AD_COLUMN> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <AD_COLUMN_ID><![CDATA[16FAA8B462AD4A069191D6D70DE15FD2]]></AD_COLUMN_ID> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <NAME><![CDATA[Creation Date]]></NAME> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <DESCRIPTION><![CDATA[The date that this record is completed.]]></DESCRIPTION> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <HELP><![CDATA[The Created field indicates the date that this record was created.]]></HELP> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <COLUMNNAME><![CDATA[Created]]></COLUMNNAME> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <AD_REFERENCE_ID><![CDATA[16]]></AD_REFERENCE_ID> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <FIELDLENGTH><![CDATA[19]]></FIELDLENGTH> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <DEFAULTVALUE><![CDATA[@#Date@]]></DEFAULTVALUE> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISKEY><![CDATA[N]]></ISKEY> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <SEQNO><![CDATA[50]]></SEQNO> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <AD_ELEMENT_ID><![CDATA[245]]></AD_ELEMENT_ID> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <POSITION><![CDATA[5]]></POSITION> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--16FAA8B462AD4A069191D6D70DE15FD2--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--16FAA8B462AD4A069191D6D70DE15FD2--></AD_COLUMN> + <!--1796EBC9F71E4CC38FFF2FC1124AD391--><AD_COLUMN> <!--1796EBC9F71E4CC38FFF2FC1124AD391--> <AD_COLUMN_ID><![CDATA[1796EBC9F71E4CC38FFF2FC1124AD391]]></AD_COLUMN_ID> <!--1796EBC9F71E4CC38FFF2FC1124AD391--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -642,6 +833,42 @@ <!--2BF44288916F41ED8CEC8203A279350C--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--2BF44288916F41ED8CEC8203A279350C--></AD_COLUMN> +<!--2E085D7854F14AF280BB9FC72609E9E8--><AD_COLUMN> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <AD_COLUMN_ID><![CDATA[2E085D7854F14AF280BB9FC72609E9E8]]></AD_COLUMN_ID> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <NAME><![CDATA[Obmobc_Logclient_Readable_ID]]></NAME> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <COLUMNNAME><![CDATA[Obmobc_Logclient_Readable_ID]]></COLUMNNAME> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <AD_REFERENCE_ID><![CDATA[13]]></AD_REFERENCE_ID> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISKEY><![CDATA[Y]]></ISKEY> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISIDENTIFIER><![CDATA[Y]]></ISIDENTIFIER> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <SEQNO><![CDATA[10]]></SEQNO> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <AD_ELEMENT_ID><![CDATA[A74F058C6F86459887D5DB6F3B69F929]]></AD_ELEMENT_ID> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <POSITION><![CDATA[1]]></POSITION> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--2E085D7854F14AF280BB9FC72609E9E8--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--2E085D7854F14AF280BB9FC72609E9E8--></AD_COLUMN> + <!--2F05A4A47E29468A8162DC1B7D0683EF--><AD_COLUMN> <!--2F05A4A47E29468A8162DC1B7D0683EF--> <AD_COLUMN_ID><![CDATA[2F05A4A47E29468A8162DC1B7D0683EF]]></AD_COLUMN_ID> <!--2F05A4A47E29468A8162DC1B7D0683EF--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -756,6 +983,42 @@ <!--3757014FB37040A585F59C9FE7E8B4E6--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--3757014FB37040A585F59C9FE7E8B4E6--></AD_COLUMN> +<!--3DA27E03446C42EE91714FD55C8C8C46--><AD_COLUMN> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <AD_COLUMN_ID><![CDATA[3DA27E03446C42EE91714FD55C8C8C46]]></AD_COLUMN_ID> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <NAME><![CDATA[msg]]></NAME> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <COLUMNNAME><![CDATA[Msg]]></COLUMNNAME> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <AD_REFERENCE_ID><![CDATA[10]]></AD_REFERENCE_ID> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <FIELDLENGTH><![CDATA[2000]]></FIELDLENGTH> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISKEY><![CDATA[N]]></ISKEY> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <SEQNO><![CDATA[100]]></SEQNO> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <AD_ELEMENT_ID><![CDATA[496EBFE512C849FE8E2BD0C1B1D22F75]]></AD_ELEMENT_ID> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <POSITION><![CDATA[10]]></POSITION> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--3DA27E03446C42EE91714FD55C8C8C46--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--3DA27E03446C42EE91714FD55C8C8C46--></AD_COLUMN> + <!--420CEA8A8FED40DFBCE2DBD2D4FED256--><AD_COLUMN> <!--420CEA8A8FED40DFBCE2DBD2D4FED256--> <AD_COLUMN_ID><![CDATA[420CEA8A8FED40DFBCE2DBD2D4FED256]]></AD_COLUMN_ID> <!--420CEA8A8FED40DFBCE2DBD2D4FED256--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1333,6 +1596,47 @@ <!--5DD40286DCBD40C7823CC0AD3C016882--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--5DD40286DCBD40C7823CC0AD3C016882--></AD_COLUMN> +<!--62D06968B4C042DC9BA304AD9200AF83--><AD_COLUMN> +<!--62D06968B4C042DC9BA304AD9200AF83--> <AD_COLUMN_ID><![CDATA[62D06968B4C042DC9BA304AD9200AF83]]></AD_COLUMN_ID> +<!--62D06968B4C042DC9BA304AD9200AF83--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--62D06968B4C042DC9BA304AD9200AF83--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--62D06968B4C042DC9BA304AD9200AF83--> <NAME><![CDATA[Active]]></NAME> +<!--62D06968B4C042DC9BA304AD9200AF83--> <DESCRIPTION><![CDATA[A flag indicating whether this record is available for use or de-activated.]]></DESCRIPTION> +<!--62D06968B4C042DC9BA304AD9200AF83--> <HELP><![CDATA[There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reporting. There are two reasons for de-activating and not deleting records: +(1) The system requires the record for auditing purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are existing invoices for it. By de-activating the Business Partner you prevent it from being used in future transactions.]]></HELP> +<!--62D06968B4C042DC9BA304AD9200AF83--> <COLUMNNAME><![CDATA[Isactive]]></COLUMNNAME> +<!--62D06968B4C042DC9BA304AD9200AF83--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--62D06968B4C042DC9BA304AD9200AF83--> <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID> +<!--62D06968B4C042DC9BA304AD9200AF83--> <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH> +<!--62D06968B4C042DC9BA304AD9200AF83--> <DEFAULTVALUE><![CDATA[Y]]></DEFAULTVALUE> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISKEY><![CDATA[N]]></ISKEY> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--62D06968B4C042DC9BA304AD9200AF83--> <SEQNO><![CDATA[40]]></SEQNO> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--62D06968B4C042DC9BA304AD9200AF83--> <AD_ELEMENT_ID><![CDATA[348]]></AD_ELEMENT_ID> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--62D06968B4C042DC9BA304AD9200AF83--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--62D06968B4C042DC9BA304AD9200AF83--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--62D06968B4C042DC9BA304AD9200AF83--> <POSITION><![CDATA[4]]></POSITION> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--62D06968B4C042DC9BA304AD9200AF83--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--62D06968B4C042DC9BA304AD9200AF83--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--62D06968B4C042DC9BA304AD9200AF83--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--62D06968B4C042DC9BA304AD9200AF83--></AD_COLUMN> + <!--6EEBA8A387AF4B6FA22AF4A6EFB78137--><AD_COLUMN> <!--6EEBA8A387AF4B6FA22AF4A6EFB78137--> <AD_COLUMN_ID><![CDATA[6EEBA8A387AF4B6FA22AF4A6EFB78137]]></AD_COLUMN_ID> <!--6EEBA8A387AF4B6FA22AF4A6EFB78137--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1788,6 +2092,44 @@ <!--9114835A86C4480299EC334A6D6FC229--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--9114835A86C4480299EC334A6D6FC229--></AD_COLUMN> +<!--921745AD121C408EA8D7A31C45DC6961--><AD_COLUMN> +<!--921745AD121C408EA8D7A31C45DC6961--> <AD_COLUMN_ID><![CDATA[921745AD121C408EA8D7A31C45DC6961]]></AD_COLUMN_ID> +<!--921745AD121C408EA8D7A31C45DC6961--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--921745AD121C408EA8D7A31C45DC6961--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--921745AD121C408EA8D7A31C45DC6961--> <NAME><![CDATA[Created By]]></NAME> +<!--921745AD121C408EA8D7A31C45DC6961--> <DESCRIPTION><![CDATA[User who created this records]]></DESCRIPTION> +<!--921745AD121C408EA8D7A31C45DC6961--> <HELP><![CDATA[The Created By field indicates the user who created this record.]]></HELP> +<!--921745AD121C408EA8D7A31C45DC6961--> <COLUMNNAME><![CDATA[Createdby]]></COLUMNNAME> +<!--921745AD121C408EA8D7A31C45DC6961--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--921745AD121C408EA8D7A31C45DC6961--> <AD_REFERENCE_ID><![CDATA[30]]></AD_REFERENCE_ID> +<!--921745AD121C408EA8D7A31C45DC6961--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISKEY><![CDATA[N]]></ISKEY> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--921745AD121C408EA8D7A31C45DC6961--> <SEQNO><![CDATA[60]]></SEQNO> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--921745AD121C408EA8D7A31C45DC6961--> <AD_ELEMENT_ID><![CDATA[246]]></AD_ELEMENT_ID> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--921745AD121C408EA8D7A31C45DC6961--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--921745AD121C408EA8D7A31C45DC6961--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--921745AD121C408EA8D7A31C45DC6961--> <POSITION><![CDATA[6]]></POSITION> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--921745AD121C408EA8D7A31C45DC6961--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--921745AD121C408EA8D7A31C45DC6961--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--921745AD121C408EA8D7A31C45DC6961--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--921745AD121C408EA8D7A31C45DC6961--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--921745AD121C408EA8D7A31C45DC6961--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--921745AD121C408EA8D7A31C45DC6961--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--921745AD121C408EA8D7A31C45DC6961--></AD_COLUMN> + <!--94D72DA8F86A45AAB2A3B3506FA57DA3--><AD_COLUMN> <!--94D72DA8F86A45AAB2A3B3506FA57DA3--> <AD_COLUMN_ID><![CDATA[94D72DA8F86A45AAB2A3B3506FA57DA3]]></AD_COLUMN_ID> <!--94D72DA8F86A45AAB2A3B3506FA57DA3--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -2854,6 +3196,45 @@ <!--DC7AD0F2652B4D948042EACABA6A034A--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--DC7AD0F2652B4D948042EACABA6A034A--></AD_COLUMN> +<!--DCE7AB7A233148FDB472025386FBE367--><AD_COLUMN> +<!--DCE7AB7A233148FDB472025386FBE367--> <AD_COLUMN_ID><![CDATA[DCE7AB7A233148FDB472025386FBE367]]></AD_COLUMN_ID> +<!--DCE7AB7A233148FDB472025386FBE367--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--DCE7AB7A233148FDB472025386FBE367--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--DCE7AB7A233148FDB472025386FBE367--> <NAME><![CDATA[Updated]]></NAME> +<!--DCE7AB7A233148FDB472025386FBE367--> <DESCRIPTION><![CDATA[The date that this record was last updated]]></DESCRIPTION> +<!--DCE7AB7A233148FDB472025386FBE367--> <HELP><![CDATA[The Updated field indicates the date that this record was updated.]]></HELP> +<!--DCE7AB7A233148FDB472025386FBE367--> <COLUMNNAME><![CDATA[Updated]]></COLUMNNAME> +<!--DCE7AB7A233148FDB472025386FBE367--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--DCE7AB7A233148FDB472025386FBE367--> <AD_REFERENCE_ID><![CDATA[16]]></AD_REFERENCE_ID> +<!--DCE7AB7A233148FDB472025386FBE367--> <FIELDLENGTH><![CDATA[19]]></FIELDLENGTH> +<!--DCE7AB7A233148FDB472025386FBE367--> <DEFAULTVALUE><![CDATA[@#Date@]]></DEFAULTVALUE> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISKEY><![CDATA[N]]></ISKEY> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--DCE7AB7A233148FDB472025386FBE367--> <SEQNO><![CDATA[70]]></SEQNO> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--DCE7AB7A233148FDB472025386FBE367--> <AD_ELEMENT_ID><![CDATA[607]]></AD_ELEMENT_ID> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--DCE7AB7A233148FDB472025386FBE367--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--DCE7AB7A233148FDB472025386FBE367--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--DCE7AB7A233148FDB472025386FBE367--> <POSITION><![CDATA[7]]></POSITION> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--DCE7AB7A233148FDB472025386FBE367--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--DCE7AB7A233148FDB472025386FBE367--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--DCE7AB7A233148FDB472025386FBE367--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--DCE7AB7A233148FDB472025386FBE367--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--DCE7AB7A233148FDB472025386FBE367--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--DCE7AB7A233148FDB472025386FBE367--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--DCE7AB7A233148FDB472025386FBE367--></AD_COLUMN> + <!--DF4AE4BC35C049CC8E7BB1EFFB9DC9B8--><AD_COLUMN> <!--DF4AE4BC35C049CC8E7BB1EFFB9DC9B8--> <AD_COLUMN_ID><![CDATA[DF4AE4BC35C049CC8E7BB1EFFB9DC9B8]]></AD_COLUMN_ID> <!--DF4AE4BC35C049CC8E7BB1EFFB9DC9B8--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -2895,6 +3276,43 @@ <!--DF4AE4BC35C049CC8E7BB1EFFB9DC9B8--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--DF4AE4BC35C049CC8E7BB1EFFB9DC9B8--></AD_COLUMN> +<!--DFCA8FA853CB497FBC29DABC89E6C404--><AD_COLUMN> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <AD_COLUMN_ID><![CDATA[DFCA8FA853CB497FBC29DABC89E6C404]]></AD_COLUMN_ID> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <NAME><![CDATA[Is Online]]></NAME> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <COLUMNNAME><![CDATA[Isonline]]></COLUMNNAME> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <DEFAULTVALUE><![CDATA[Y]]></DEFAULTVALUE> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISKEY><![CDATA[N]]></ISKEY> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <SEQNO><![CDATA[120]]></SEQNO> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <AD_ELEMENT_ID><![CDATA[5DFC15E4F8284723893EEDC347465D59]]></AD_ELEMENT_ID> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <POSITION><![CDATA[12]]></POSITION> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--DFCA8FA853CB497FBC29DABC89E6C404--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--DFCA8FA853CB497FBC29DABC89E6C404--></AD_COLUMN> + <!--E17A111BDE724A388D960232D6C05FF0--><AD_COLUMN> <!--E17A111BDE724A388D960232D6C05FF0--> <AD_COLUMN_ID><![CDATA[E17A111BDE724A388D960232D6C05FF0]]></AD_COLUMN_ID> <!--E17A111BDE724A388D960232D6C05FF0--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -3127,6 +3545,42 @@ <!--F0A5AC4EC9784BFBA610AAB3BD3E9627--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--F0A5AC4EC9784BFBA610AAB3BD3E9627--></AD_COLUMN> +<!--F29790E6AF1E45568A994C52B0FDF934--><AD_COLUMN> +<!--F29790E6AF1E45568A994C52B0FDF934--> <AD_COLUMN_ID><![CDATA[F29790E6AF1E45568A994C52B0FDF934]]></AD_COLUMN_ID> +<!--F29790E6AF1E45568A994C52B0FDF934--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--F29790E6AF1E45568A994C52B0FDF934--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--F29790E6AF1E45568A994C52B0FDF934--> <NAME><![CDATA[Cache session id]]></NAME> +<!--F29790E6AF1E45568A994C52B0FDF934--> <COLUMNNAME><![CDATA[Cache_Session_ID]]></COLUMNNAME> +<!--F29790E6AF1E45568A994C52B0FDF934--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--F29790E6AF1E45568A994C52B0FDF934--> <AD_REFERENCE_ID><![CDATA[14]]></AD_REFERENCE_ID> +<!--F29790E6AF1E45568A994C52B0FDF934--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISKEY><![CDATA[N]]></ISKEY> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--F29790E6AF1E45568A994C52B0FDF934--> <SEQNO><![CDATA[110]]></SEQNO> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--F29790E6AF1E45568A994C52B0FDF934--> <AD_ELEMENT_ID><![CDATA[182FD651C020405DB1BD65E863D61D24]]></AD_ELEMENT_ID> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--F29790E6AF1E45568A994C52B0FDF934--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--F29790E6AF1E45568A994C52B0FDF934--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--F29790E6AF1E45568A994C52B0FDF934--> <POSITION><![CDATA[11]]></POSITION> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--F29790E6AF1E45568A994C52B0FDF934--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--F29790E6AF1E45568A994C52B0FDF934--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--F29790E6AF1E45568A994C52B0FDF934--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--F29790E6AF1E45568A994C52B0FDF934--></AD_COLUMN> + <!--F43B91E4C3404CE7B93D41EBEEC68AC7--><AD_COLUMN> <!--F43B91E4C3404CE7B93D41EBEEC68AC7--> <AD_COLUMN_ID><![CDATA[F43B91E4C3404CE7B93D41EBEEC68AC7]]></AD_COLUMN_ID> <!--F43B91E4C3404CE7B93D41EBEEC68AC7--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_ELEMENT.xml b/src-db/database/sourcedata/AD_ELEMENT.xml --- a/src-db/database/sourcedata/AD_ELEMENT.xml +++ b/src-db/database/sourcedata/AD_ELEMENT.xml @@ -264,6 +264,18 @@ <!--9B02885ACED748A0B84154BD7EE951ED--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> <!--9B02885ACED748A0B84154BD7EE951ED--></AD_ELEMENT> +<!--A74F058C6F86459887D5DB6F3B69F929--><AD_ELEMENT> +<!--A74F058C6F86459887D5DB6F3B69F929--> <AD_ELEMENT_ID><![CDATA[A74F058C6F86459887D5DB6F3B69F929]]></AD_ELEMENT_ID> +<!--A74F058C6F86459887D5DB6F3B69F929--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--A74F058C6F86459887D5DB6F3B69F929--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--A74F058C6F86459887D5DB6F3B69F929--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--A74F058C6F86459887D5DB6F3B69F929--> <COLUMNNAME><![CDATA[Obmobc_Logclient_Readable_ID]]></COLUMNNAME> +<!--A74F058C6F86459887D5DB6F3B69F929--> <NAME><![CDATA[Obmobc_Logclient_Readable_ID]]></NAME> +<!--A74F058C6F86459887D5DB6F3B69F929--> <PRINTNAME><![CDATA[Obmobc_Logclient_Readable_ID]]></PRINTNAME> +<!--A74F058C6F86459887D5DB6F3B69F929--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--A74F058C6F86459887D5DB6F3B69F929--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> +<!--A74F058C6F86459887D5DB6F3B69F929--></AD_ELEMENT> + <!--AC753E2CBC8743B0BE36B5F0E30EF7B6--><AD_ELEMENT> <!--AC753E2CBC8743B0BE36B5F0E30EF7B6--> <AD_ELEMENT_ID><![CDATA[AC753E2CBC8743B0BE36B5F0E30EF7B6]]></AD_ELEMENT_ID> <!--AC753E2CBC8743B0BE36B5F0E30EF7B6--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_FIELD.xml b/src-db/database/sourcedata/AD_FIELD.xml --- a/src-db/database/sourcedata/AD_FIELD.xml +++ b/src-db/database/sourcedata/AD_FIELD.xml @@ -1,5 +1,35 @@ <?xml version='1.0' encoding='UTF-8'?> <data> +<!--0348573849FB4F5DA54C0F571B06E60D--><AD_FIELD> +<!--0348573849FB4F5DA54C0F571B06E60D--> <AD_FIELD_ID><![CDATA[0348573849FB4F5DA54C0F571B06E60D]]></AD_FIELD_ID> +<!--0348573849FB4F5DA54C0F571B06E60D--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--0348573849FB4F5DA54C0F571B06E60D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--0348573849FB4F5DA54C0F571B06E60D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--0348573849FB4F5DA54C0F571B06E60D--> <NAME><![CDATA[Creation Date]]></NAME> +<!--0348573849FB4F5DA54C0F571B06E60D--> <DESCRIPTION><![CDATA[The date that this record is completed.]]></DESCRIPTION> +<!--0348573849FB4F5DA54C0F571B06E60D--> <HELP><![CDATA[The Created field indicates the date that this record was created.]]></HELP> +<!--0348573849FB4F5DA54C0F571B06E60D--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--0348573849FB4F5DA54C0F571B06E60D--> <AD_TAB_ID><![CDATA[6805A073CC3B469AAD3F81DE192A6D27]]></AD_TAB_ID> +<!--0348573849FB4F5DA54C0F571B06E60D--> <AD_COLUMN_ID><![CDATA[16FAA8B462AD4A069191D6D70DE15FD2]]></AD_COLUMN_ID> +<!--0348573849FB4F5DA54C0F571B06E60D--> <PROPERTY><![CDATA[creationDate]]></PROPERTY> +<!--0348573849FB4F5DA54C0F571B06E60D--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--0348573849FB4F5DA54C0F571B06E60D--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--0348573849FB4F5DA54C0F571B06E60D--> <DISPLAYLENGTH><![CDATA[0]]></DISPLAYLENGTH> +<!--0348573849FB4F5DA54C0F571B06E60D--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--0348573849FB4F5DA54C0F571B06E60D--> <SEQNO><![CDATA[70]]></SEQNO> +<!--0348573849FB4F5DA54C0F571B06E60D--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--0348573849FB4F5DA54C0F571B06E60D--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--0348573849FB4F5DA54C0F571B06E60D--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--0348573849FB4F5DA54C0F571B06E60D--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> +<!--0348573849FB4F5DA54C0F571B06E60D--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--0348573849FB4F5DA54C0F571B06E60D--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--0348573849FB4F5DA54C0F571B06E60D--> <GRID_SEQNO><![CDATA[10]]></GRID_SEQNO> +<!--0348573849FB4F5DA54C0F571B06E60D--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--0348573849FB4F5DA54C0F571B06E60D--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--0348573849FB4F5DA54C0F571B06E60D--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--0348573849FB4F5DA54C0F571B06E60D--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--0348573849FB4F5DA54C0F571B06E60D--></AD_FIELD> + <!--05AA59ACE1F1496CB89EFBF25734EC13--><AD_FIELD> <!--05AA59ACE1F1496CB89EFBF25734EC13--> <AD_FIELD_ID><![CDATA[05AA59ACE1F1496CB89EFBF25734EC13]]></AD_FIELD_ID> <!--05AA59ACE1F1496CB89EFBF25734EC13--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -747,6 +777,33 @@ <!--67182A781216444783A9652CB5E0B7C2--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--67182A781216444783A9652CB5E0B7C2--></AD_FIELD> +<!--689F931CA94C4377ACD1E41732BEB5DA--><AD_FIELD> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <AD_FIELD_ID><![CDATA[689F931CA94C4377ACD1E41732BEB5DA]]></AD_FIELD_ID> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <NAME><![CDATA[Message]]></NAME> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <AD_TAB_ID><![CDATA[6805A073CC3B469AAD3F81DE192A6D27]]></AD_TAB_ID> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <AD_COLUMN_ID><![CDATA[3DA27E03446C42EE91714FD55C8C8C46]]></AD_COLUMN_ID> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <DISPLAYLENGTH><![CDATA[2000]]></DISPLAYLENGTH> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <SEQNO><![CDATA[40]]></SEQNO> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <GRID_SEQNO><![CDATA[40]]></GRID_SEQNO> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--689F931CA94C4377ACD1E41732BEB5DA--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--689F931CA94C4377ACD1E41732BEB5DA--></AD_FIELD> + <!--69328821E9C74C519BDD20E5F6B0DC44--><AD_FIELD> <!--69328821E9C74C519BDD20E5F6B0DC44--> <AD_FIELD_ID><![CDATA[69328821E9C74C519BDD20E5F6B0DC44]]></AD_FIELD_ID> <!--69328821E9C74C519BDD20E5F6B0DC44--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -801,6 +858,33 @@ <!--6D7FDB3A5F384B97B8D5E128042D1D74--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--6D7FDB3A5F384B97B8D5E128042D1D74--></AD_FIELD> +<!--6F2E70E933284F1F8ACCF1618A162FCD--><AD_FIELD> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <AD_FIELD_ID><![CDATA[6F2E70E933284F1F8ACCF1618A162FCD]]></AD_FIELD_ID> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <NAME><![CDATA[Client]]></NAME> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <DESCRIPTION><![CDATA[Client for this installation.]]></DESCRIPTION> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <HELP><![CDATA[A Client is a company or a legal entity. You cannot share data between Clients.]]></HELP> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <AD_TAB_ID><![CDATA[6805A073CC3B469AAD3F81DE192A6D27]]></AD_TAB_ID> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <AD_COLUMN_ID><![CDATA[098756C2DB1A4A57AF6C8D4595849E30]]></AD_COLUMN_ID> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <ISDISPLAYED><![CDATA[N]]></ISDISPLAYED> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--6F2E70E933284F1F8ACCF1618A162FCD--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--6F2E70E933284F1F8ACCF1618A162FCD--></AD_FIELD> + <!--76D547ED7B1342E9A11CA95522C67009--><AD_FIELD> <!--76D547ED7B1342E9A11CA95522C67009--> <AD_FIELD_ID><![CDATA[76D547ED7B1342E9A11CA95522C67009]]></AD_FIELD_ID> <!--76D547ED7B1342E9A11CA95522C67009--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1020,6 +1104,32 @@ <!--9BE3230EFAF74B2EB87A6FCC685C5B96--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--9BE3230EFAF74B2EB87A6FCC685C5B96--></AD_FIELD> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--><AD_FIELD> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <AD_FIELD_ID><![CDATA[9DC0DA6E69C94473B2F4B4E90E569B2D]]></AD_FIELD_ID> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <NAME><![CDATA[Unique cache session identifier]]></NAME> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <AD_TAB_ID><![CDATA[6805A073CC3B469AAD3F81DE192A6D27]]></AD_TAB_ID> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <AD_COLUMN_ID><![CDATA[F29790E6AF1E45568A994C52B0FDF934]]></AD_COLUMN_ID> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <SEQNO><![CDATA[50]]></SEQNO> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--9DC0DA6E69C94473B2F4B4E90E569B2D--></AD_FIELD> + <!--9DC560B9CF824B17B4C6F10B9B1B7389--><AD_FIELD> <!--9DC560B9CF824B17B4C6F10B9B1B7389--> <AD_FIELD_ID><![CDATA[9DC560B9CF824B17B4C6F10B9B1B7389]]></AD_FIELD_ID> <!--9DC560B9CF824B17B4C6F10B9B1B7389--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1074,6 +1184,34 @@ <!--9F937F37ABA64DCB9CF0FE31AF9484A3--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--9F937F37ABA64DCB9CF0FE31AF9484A3--></AD_FIELD> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--><AD_FIELD> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <AD_FIELD_ID><![CDATA[A5A017ABC8EC4170964B3B6DACD32CCA]]></AD_FIELD_ID> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <NAME><![CDATA[Organization]]></NAME> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <DESCRIPTION><![CDATA[Organizational entity within client]]></DESCRIPTION> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <HELP><![CDATA[An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.]]></HELP> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <AD_TAB_ID><![CDATA[6805A073CC3B469AAD3F81DE192A6D27]]></AD_TAB_ID> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <AD_COLUMN_ID><![CDATA[02F9D71B5A9D41A285B2346EED5EE9F1]]></AD_COLUMN_ID> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <SEQNO><![CDATA[10]]></SEQNO> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--A5A017ABC8EC4170964B3B6DACD32CCA--></AD_FIELD> + <!--A6F92DF687F74F1790F615893EC93F4D--><AD_FIELD> <!--A6F92DF687F74F1790F615893EC93F4D--> <AD_FIELD_ID><![CDATA[A6F92DF687F74F1790F615893EC93F4D]]></AD_FIELD_ID> <!--A6F92DF687F74F1790F615893EC93F4D--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1242,6 +1380,31 @@ <!--B6FDC08817DF495FAE81C59328CE4BFC--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--B6FDC08817DF495FAE81C59328CE4BFC--></AD_FIELD> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--><AD_FIELD> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <AD_FIELD_ID><![CDATA[B9EBAFF8E47442E3AB98214CD32CBDF8]]></AD_FIELD_ID> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <NAME><![CDATA[Obmobc_Logclient_Readable_ID]]></NAME> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <AD_TAB_ID><![CDATA[6805A073CC3B469AAD3F81DE192A6D27]]></AD_TAB_ID> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <AD_COLUMN_ID><![CDATA[2E085D7854F14AF280BB9FC72609E9E8]]></AD_COLUMN_ID> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <ISDISPLAYED><![CDATA[N]]></ISDISPLAYED> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--B9EBAFF8E47442E3AB98214CD32CBDF8--></AD_FIELD> + <!--BD4068894627477A8D92A921DDA4F251--><AD_FIELD> <!--BD4068894627477A8D92A921DDA4F251--> <AD_FIELD_ID><![CDATA[BD4068894627477A8D92A921DDA4F251]]></AD_FIELD_ID> <!--BD4068894627477A8D92A921DDA4F251--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1296,6 +1459,35 @@ <!--BE49CB946EB04B17BE8367E03586DCA4--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--BE49CB946EB04B17BE8367E03586DCA4--></AD_FIELD> +<!--C191911B17C54AF49922C4E44FAEFBF4--><AD_FIELD> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <AD_FIELD_ID><![CDATA[C191911B17C54AF49922C4E44FAEFBF4]]></AD_FIELD_ID> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <NAME><![CDATA[Created By]]></NAME> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <DESCRIPTION><![CDATA[User who created this records]]></DESCRIPTION> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <HELP><![CDATA[The Created By field indicates the user who created this record.]]></HELP> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <AD_TAB_ID><![CDATA[6805A073CC3B469AAD3F81DE192A6D27]]></AD_TAB_ID> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <AD_COLUMN_ID><![CDATA[921745AD121C408EA8D7A31C45DC6961]]></AD_COLUMN_ID> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <DISPLAYLENGTH><![CDATA[0]]></DISPLAYLENGTH> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <SEQNO><![CDATA[80]]></SEQNO> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <GRID_SEQNO><![CDATA[20]]></GRID_SEQNO> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--C191911B17C54AF49922C4E44FAEFBF4--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--C191911B17C54AF49922C4E44FAEFBF4--></AD_FIELD> + <!--C2DBA4B2BC1A4635846539B492C13018--><AD_FIELD> <!--C2DBA4B2BC1A4635846539B492C13018--> <AD_FIELD_ID><![CDATA[C2DBA4B2BC1A4635846539B492C13018]]></AD_FIELD_ID> <!--C2DBA4B2BC1A4635846539B492C13018--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1352,6 +1544,33 @@ <!--C79AF88EE12F4776B52098AE8A4BF429--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--C79AF88EE12F4776B52098AE8A4BF429--></AD_FIELD> +<!--C8894A77297B45AAA7DF4D32E2702CBF--><AD_FIELD> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <AD_FIELD_ID><![CDATA[C8894A77297B45AAA7DF4D32E2702CBF]]></AD_FIELD_ID> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <NAME><![CDATA[Device Identifier]]></NAME> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <AD_TAB_ID><![CDATA[6805A073CC3B469AAD3F81DE192A6D27]]></AD_TAB_ID> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <AD_COLUMN_ID><![CDATA[06521F129AD94EB5B40DF95DC0414BCF]]></AD_COLUMN_ID> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <DISPLAYLENGTH><![CDATA[255]]></DISPLAYLENGTH> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <SEQNO><![CDATA[30]]></SEQNO> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <GRID_SEQNO><![CDATA[30]]></GRID_SEQNO> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--C8894A77297B45AAA7DF4D32E2702CBF--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--C8894A77297B45AAA7DF4D32E2702CBF--></AD_FIELD> + <!--D7C95D909D684C0EBFEE578AE76164AC--><AD_FIELD> <!--D7C95D909D684C0EBFEE578AE76164AC--> <AD_FIELD_ID><![CDATA[D7C95D909D684C0EBFEE578AE76164AC]]></AD_FIELD_ID> <!--D7C95D909D684C0EBFEE578AE76164AC--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1382,6 +1601,36 @@ <!--D7C95D909D684C0EBFEE578AE76164AC--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--D7C95D909D684C0EBFEE578AE76164AC--></AD_FIELD> +<!--D98F51C575844AD4B64B3F696407F5B9--><AD_FIELD> +<!--D98F51C575844AD4B64B3F696407F5B9--> <AD_FIELD_ID><![CDATA[D98F51C575844AD4B64B3F696407F5B9]]></AD_FIELD_ID> +<!--D98F51C575844AD4B64B3F696407F5B9--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--D98F51C575844AD4B64B3F696407F5B9--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--D98F51C575844AD4B64B3F696407F5B9--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--D98F51C575844AD4B64B3F696407F5B9--> <NAME><![CDATA[Active]]></NAME> +<!--D98F51C575844AD4B64B3F696407F5B9--> <DESCRIPTION><![CDATA[A flag indicating whether this record is available for use or de-activated.]]></DESCRIPTION> +<!--D98F51C575844AD4B64B3F696407F5B9--> <HELP><![CDATA[There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reporting. There are two reasons for de-activating and not deleting records: +(1) The system requires the record for auditing purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are existing invoices for it. By de-activating the Business Partner you prevent it from being used in future transactions.]]></HELP> +<!--D98F51C575844AD4B64B3F696407F5B9--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--D98F51C575844AD4B64B3F696407F5B9--> <AD_TAB_ID><![CDATA[6805A073CC3B469AAD3F81DE192A6D27]]></AD_TAB_ID> +<!--D98F51C575844AD4B64B3F696407F5B9--> <AD_COLUMN_ID><![CDATA[62D06968B4C042DC9BA304AD9200AF83]]></AD_COLUMN_ID> +<!--D98F51C575844AD4B64B3F696407F5B9--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--D98F51C575844AD4B64B3F696407F5B9--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--D98F51C575844AD4B64B3F696407F5B9--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> +<!--D98F51C575844AD4B64B3F696407F5B9--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--D98F51C575844AD4B64B3F696407F5B9--> <SEQNO><![CDATA[20]]></SEQNO> +<!--D98F51C575844AD4B64B3F696407F5B9--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--D98F51C575844AD4B64B3F696407F5B9--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--D98F51C575844AD4B64B3F696407F5B9--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--D98F51C575844AD4B64B3F696407F5B9--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION> +<!--D98F51C575844AD4B64B3F696407F5B9--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--D98F51C575844AD4B64B3F696407F5B9--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--D98F51C575844AD4B64B3F696407F5B9--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--D98F51C575844AD4B64B3F696407F5B9--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--D98F51C575844AD4B64B3F696407F5B9--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--D98F51C575844AD4B64B3F696407F5B9--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--D98F51C575844AD4B64B3F696407F5B9--></AD_FIELD> + <!--DAF3972855064C10A3BBFDFC88A05671--><AD_FIELD> <!--DAF3972855064C10A3BBFDFC88A05671--> <AD_FIELD_ID><![CDATA[DAF3972855064C10A3BBFDFC88A05671]]></AD_FIELD_ID> <!--DAF3972855064C10A3BBFDFC88A05671--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1635,6 +1884,32 @@ <!--ED5E3581518846B19D40050B4D1814BF--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--ED5E3581518846B19D40050B4D1814BF--></AD_FIELD> +<!--F7F3E7C505504C008CF4C5570C140342--><AD_FIELD> +<!--F7F3E7C505504C008CF4C5570C140342--> <AD_FIELD_ID><![CDATA[F7F3E7C505504C008CF4C5570C140342]]></AD_FIELD_ID> +<!--F7F3E7C505504C008CF4C5570C140342--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--F7F3E7C505504C008CF4C5570C140342--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--F7F3E7C505504C008CF4C5570C140342--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--F7F3E7C505504C008CF4C5570C140342--> <NAME><![CDATA[Is Online]]></NAME> +<!--F7F3E7C505504C008CF4C5570C140342--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--F7F3E7C505504C008CF4C5570C140342--> <AD_TAB_ID><![CDATA[6805A073CC3B469AAD3F81DE192A6D27]]></AD_TAB_ID> +<!--F7F3E7C505504C008CF4C5570C140342--> <AD_COLUMN_ID><![CDATA[DFCA8FA853CB497FBC29DABC89E6C404]]></AD_COLUMN_ID> +<!--F7F3E7C505504C008CF4C5570C140342--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--F7F3E7C505504C008CF4C5570C140342--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--F7F3E7C505504C008CF4C5570C140342--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> +<!--F7F3E7C505504C008CF4C5570C140342--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--F7F3E7C505504C008CF4C5570C140342--> <SEQNO><![CDATA[60]]></SEQNO> +<!--F7F3E7C505504C008CF4C5570C140342--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--F7F3E7C505504C008CF4C5570C140342--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--F7F3E7C505504C008CF4C5570C140342--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--F7F3E7C505504C008CF4C5570C140342--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION> +<!--F7F3E7C505504C008CF4C5570C140342--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--F7F3E7C505504C008CF4C5570C140342--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--F7F3E7C505504C008CF4C5570C140342--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--F7F3E7C505504C008CF4C5570C140342--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--F7F3E7C505504C008CF4C5570C140342--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--F7F3E7C505504C008CF4C5570C140342--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--F7F3E7C505504C008CF4C5570C140342--></AD_FIELD> + <!--F855CB904FDA42A4B178F83E21EACD8A--><AD_FIELD> <!--F855CB904FDA42A4B178F83E21EACD8A--> <AD_FIELD_ID><![CDATA[F855CB904FDA42A4B178F83E21EACD8A]]></AD_FIELD_ID> <!--F855CB904FDA42A4B178F83E21EACD8A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_MENU.xml b/src-db/database/sourcedata/AD_MENU.xml --- a/src-db/database/sourcedata/AD_MENU.xml +++ b/src-db/database/sourcedata/AD_MENU.xml @@ -14,6 +14,19 @@ <!--6AE8F3571E2D41B19442BCE024D38247--> <OPENLINKINBROWSER><![CDATA[N]]></OPENLINKINBROWSER> <!--6AE8F3571E2D41B19442BCE024D38247--></AD_MENU> +<!--C07EAA881C87428FA6CEB3357E4E85DF--><AD_MENU> +<!--C07EAA881C87428FA6CEB3357E4E85DF--> <AD_MENU_ID><![CDATA[C07EAA881C87428FA6CEB3357E4E85DF]]></AD_MENU_ID> +<!--C07EAA881C87428FA6CEB3357E4E85DF--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--C07EAA881C87428FA6CEB3357E4E85DF--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--C07EAA881C87428FA6CEB3357E4E85DF--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--C07EAA881C87428FA6CEB3357E4E85DF--> <NAME><![CDATA[Human Readable Client Log]]></NAME> +<!--C07EAA881C87428FA6CEB3357E4E85DF--> <ISSUMMARY><![CDATA[N]]></ISSUMMARY> +<!--C07EAA881C87428FA6CEB3357E4E85DF--> <ACTION><![CDATA[W]]></ACTION> +<!--C07EAA881C87428FA6CEB3357E4E85DF--> <AD_WINDOW_ID><![CDATA[2BEABA28D242420780C5EFA209B6A286]]></AD_WINDOW_ID> +<!--C07EAA881C87428FA6CEB3357E4E85DF--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--C07EAA881C87428FA6CEB3357E4E85DF--> <OPENLINKINBROWSER><![CDATA[N]]></OPENLINKINBROWSER> +<!--C07EAA881C87428FA6CEB3357E4E85DF--></AD_MENU> + <!--DC29352C27464C76A80A208FE110583C--><AD_MENU> <!--DC29352C27464C76A80A208FE110583C--> <AD_MENU_ID><![CDATA[DC29352C27464C76A80A208FE110583C]]></AD_MENU_ID> <!--DC29352C27464C76A80A208FE110583C--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_PREFERENCE.xml b/src-db/database/sourcedata/AD_PREFERENCE.xml --- a/src-db/database/sourcedata/AD_PREFERENCE.xml +++ b/src-db/database/sourcedata/AD_PREFERENCE.xml @@ -77,6 +77,17 @@ <!--7102378FD46F49A3A38B22D08A4A81D1--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--7102378FD46F49A3A38B22D08A4A81D1--></AD_PREFERENCE> +<!--7C18BC39920C417F92D14FFD0778FB4F--><AD_PREFERENCE> +<!--7C18BC39920C417F92D14FFD0778FB4F--> <AD_PREFERENCE_ID><![CDATA[7C18BC39920C417F92D14FFD0778FB4F]]></AD_PREFERENCE_ID> +<!--7C18BC39920C417F92D14FFD0778FB4F--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--7C18BC39920C417F92D14FFD0778FB4F--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--7C18BC39920C417F92D14FFD0778FB4F--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--7C18BC39920C417F92D14FFD0778FB4F--> <VALUE><![CDATA[Y]]></VALUE> +<!--7C18BC39920C417F92D14FFD0778FB4F--> <PROPERTY><![CDATA[OBMOBC_logClient.humanReadable]]></PROPERTY> +<!--7C18BC39920C417F92D14FFD0778FB4F--> <ISPROPERTYLIST><![CDATA[Y]]></ISPROPERTYLIST> +<!--7C18BC39920C417F92D14FFD0778FB4F--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--7C18BC39920C417F92D14FFD0778FB4F--></AD_PREFERENCE> + <!--82A505E31F92488882F552E82DF5C373--><AD_PREFERENCE> <!--82A505E31F92488882F552E82DF5C373--> <AD_PREFERENCE_ID><![CDATA[82A505E31F92488882F552E82DF5C373]]></AD_PREFERENCE_ID> <!--82A505E31F92488882F552E82DF5C373--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_REF_LIST.xml b/src-db/database/sourcedata/AD_REF_LIST.xml --- a/src-db/database/sourcedata/AD_REF_LIST.xml +++ b/src-db/database/sourcedata/AD_REF_LIST.xml @@ -553,6 +553,17 @@ <!--D7110BA3D93D4EC693E27F867B196A24--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--D7110BA3D93D4EC693E27F867B196A24--></AD_REF_LIST> +<!--D958936D0C5E475399A67F66D1796793--><AD_REF_LIST> +<!--D958936D0C5E475399A67F66D1796793--> <AD_REF_LIST_ID><![CDATA[D958936D0C5E475399A67F66D1796793]]></AD_REF_LIST_ID> +<!--D958936D0C5E475399A67F66D1796793--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--D958936D0C5E475399A67F66D1796793--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--D958936D0C5E475399A67F66D1796793--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--D958936D0C5E475399A67F66D1796793--> <VALUE><![CDATA[OBMOBC_logClient.humanReadable]]></VALUE> +<!--D958936D0C5E475399A67F66D1796793--> <NAME><![CDATA[Mobile Log Client Human Readable Activate Log]]></NAME> +<!--D958936D0C5E475399A67F66D1796793--> <AD_REFERENCE_ID><![CDATA[A26BA480E2014707B47257024C3CBFF7]]></AD_REFERENCE_ID> +<!--D958936D0C5E475399A67F66D1796793--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--D958936D0C5E475399A67F66D1796793--></AD_REF_LIST> + <!--D9D9185CC8A44C718FF3B6B9EF44D5B5--><AD_REF_LIST> <!--D9D9185CC8A44C718FF3B6B9EF44D5B5--> <AD_REF_LIST_ID><![CDATA[D9D9185CC8A44C718FF3B6B9EF44D5B5]]></AD_REF_LIST_ID> <!--D9D9185CC8A44C718FF3B6B9EF44D5B5--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_TAB.xml b/src-db/database/sourcedata/AD_TAB.xml --- a/src-db/database/sourcedata/AD_TAB.xml +++ b/src-db/database/sourcedata/AD_TAB.xml @@ -89,6 +89,35 @@ <!--320CB42FD9A1458EB1037FFEF2D21976--> <EM_OBUIAPP_SHOW_SELECT><![CDATA[Y]]></EM_OBUIAPP_SHOW_SELECT> <!--320CB42FD9A1458EB1037FFEF2D21976--></AD_TAB> +<!--6805A073CC3B469AAD3F81DE192A6D27--><AD_TAB> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <AD_TAB_ID><![CDATA[6805A073CC3B469AAD3F81DE192A6D27]]></AD_TAB_ID> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <NAME><![CDATA[Human Readable Client Log]]></NAME> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <AD_WINDOW_ID><![CDATA[2BEABA28D242420780C5EFA209B6A286]]></AD_WINDOW_ID> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <SEQNO><![CDATA[10]]></SEQNO> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <TABLEVEL><![CDATA[0]]></TABLEVEL> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <ISSINGLEROW><![CDATA[N]]></ISSINGLEROW> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <ISINFOTAB><![CDATA[N]]></ISINFOTAB> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <ISTRANSLATIONTAB><![CDATA[N]]></ISTRANSLATIONTAB> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <HASTREE><![CDATA[N]]></HASTREE> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <PROCESSING><![CDATA[N]]></PROCESSING> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <IMPORTFIELDS><![CDATA[N]]></IMPORTFIELDS> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <ISSORTTAB><![CDATA[N]]></ISSORTTAB> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <UIPATTERN><![CDATA[RO]]></UIPATTERN> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <SHOWPARENTBUTTONS><![CDATA[Y]]></SHOWPARENTBUTTONS> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <DISABLE_PARENT_KEY_PROPERTY><![CDATA[N]]></DISABLE_PARENT_KEY_PROPERTY> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <ISREADONLYTREE><![CDATA[N]]></ISREADONLYTREE> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <ISSHOWTREENODEICONS><![CDATA[Y]]></ISSHOWTREENODEICONS> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <EM_OBUIAPP_CAN_ADD><![CDATA[N]]></EM_OBUIAPP_CAN_ADD> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <EM_OBUIAPP_CAN_DELETE><![CDATA[N]]></EM_OBUIAPP_CAN_DELETE> +<!--6805A073CC3B469AAD3F81DE192A6D27--> <EM_OBUIAPP_SHOW_SELECT><![CDATA[Y]]></EM_OBUIAPP_SHOW_SELECT> +<!--6805A073CC3B469AAD3F81DE192A6D27--></AD_TAB> + <!--A2D9C34536974601B900C5A290EDC5AD--><AD_TAB> <!--A2D9C34536974601B900C5A290EDC5AD--> <AD_TAB_ID><![CDATA[A2D9C34536974601B900C5A290EDC5AD]]></AD_TAB_ID> <!--A2D9C34536974601B900C5A290EDC5AD--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_TABLE.xml b/src-db/database/sourcedata/AD_TABLE.xml --- a/src-db/database/sourcedata/AD_TABLE.xml +++ b/src-db/database/sourcedata/AD_TABLE.xml @@ -48,6 +48,28 @@ <!--18EF5CE89A164E7D993DFEC7E0204103--> <ISTREE><![CDATA[N]]></ISTREE> <!--18EF5CE89A164E7D993DFEC7E0204103--></AD_TABLE> +<!--5DD50444BA0A4572A638798E3513503C--><AD_TABLE> +<!--5DD50444BA0A4572A638798E3513503C--> <AD_TABLE_ID><![CDATA[5DD50444BA0A4572A638798E3513503C]]></AD_TABLE_ID> +<!--5DD50444BA0A4572A638798E3513503C--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--5DD50444BA0A4572A638798E3513503C--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--5DD50444BA0A4572A638798E3513503C--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--5DD50444BA0A4572A638798E3513503C--> <NAME><![CDATA[obmobc_logclient_readable]]></NAME> +<!--5DD50444BA0A4572A638798E3513503C--> <TABLENAME><![CDATA[obmobc_logclient_readable]]></TABLENAME> +<!--5DD50444BA0A4572A638798E3513503C--> <CLASSNAME><![CDATA[obmobcLogClientReadable]]></CLASSNAME> +<!--5DD50444BA0A4572A638798E3513503C--> <ISVIEW><![CDATA[N]]></ISVIEW> +<!--5DD50444BA0A4572A638798E3513503C--> <ACCESSLEVEL><![CDATA[3]]></ACCESSLEVEL> +<!--5DD50444BA0A4572A638798E3513503C--> <ISSECURITYENABLED><![CDATA[N]]></ISSECURITYENABLED> +<!--5DD50444BA0A4572A638798E3513503C--> <ISDELETEABLE><![CDATA[Y]]></ISDELETEABLE> +<!--5DD50444BA0A4572A638798E3513503C--> <ISHIGHVOLUME><![CDATA[N]]></ISHIGHVOLUME> +<!--5DD50444BA0A4572A638798E3513503C--> <IMPORTTABLE><![CDATA[N]]></IMPORTTABLE> +<!--5DD50444BA0A4572A638798E3513503C--> <ISCHANGELOG><![CDATA[N]]></ISCHANGELOG> +<!--5DD50444BA0A4572A638798E3513503C--> <ISDEFAULTACCT><![CDATA[N]]></ISDEFAULTACCT> +<!--5DD50444BA0A4572A638798E3513503C--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--5DD50444BA0A4572A638798E3513503C--> <AD_PACKAGE_ID><![CDATA[6F1C0593F8794C699AE6281CEDE4C214]]></AD_PACKAGE_ID> +<!--5DD50444BA0A4572A638798E3513503C--> <DATAORIGINTYPE><![CDATA[Table]]></DATAORIGINTYPE> +<!--5DD50444BA0A4572A638798E3513503C--> <ISTREE><![CDATA[N]]></ISTREE> +<!--5DD50444BA0A4572A638798E3513503C--></AD_TABLE> + <!--9A030632C0FC4C4AA8A58EC59BE2D116--><AD_TABLE> <!--9A030632C0FC4C4AA8A58EC59BE2D116--> <AD_TABLE_ID><![CDATA[9A030632C0FC4C4AA8A58EC59BE2D116]]></AD_TABLE_ID> <!--9A030632C0FC4C4AA8A58EC59BE2D116--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_TREENODE.xml b/src-db/database/sourcedata/AD_TREENODE.xml --- a/src-db/database/sourcedata/AD_TREENODE.xml +++ b/src-db/database/sourcedata/AD_TREENODE.xml @@ -8,7 +8,7 @@ <!--5A60F87FFAD541ABA9112FBC01F939A5--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--5A60F87FFAD541ABA9112FBC01F939A5--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--5A60F87FFAD541ABA9112FBC01F939A5--> <PARENT_ID><![CDATA[896AC285FD8F4C25A869689D4A98DD8E]]></PARENT_ID> -<!--5A60F87FFAD541ABA9112FBC01F939A5--> <SEQNO><![CDATA[70]]></SEQNO> +<!--5A60F87FFAD541ABA9112FBC01F939A5--> <SEQNO><![CDATA[80]]></SEQNO> <!--5A60F87FFAD541ABA9112FBC01F939A5--></AD_TREENODE> <!--6AC077DBE4D14A76B6D015A7CC2DA656--><AD_TREENODE> @@ -44,4 +44,15 @@ <!--BDA7F96D404C467A902A880ECBD29A96--> <SEQNO><![CDATA[70]]></SEQNO> <!--BDA7F96D404C467A902A880ECBD29A96--></AD_TREENODE> +<!--C2028B649AEF44729EE09278D6606192--><AD_TREENODE> +<!--C2028B649AEF44729EE09278D6606192--> <AD_TREENODE_ID><![CDATA[C2028B649AEF44729EE09278D6606192]]></AD_TREENODE_ID> +<!--C2028B649AEF44729EE09278D6606192--> <AD_TREE_ID><![CDATA[10]]></AD_TREE_ID> +<!--C2028B649AEF44729EE09278D6606192--> <NODE_ID><![CDATA[C07EAA881C87428FA6CEB3357E4E85DF]]></NODE_ID> +<!--C2028B649AEF44729EE09278D6606192--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--C2028B649AEF44729EE09278D6606192--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--C2028B649AEF44729EE09278D6606192--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--C2028B649AEF44729EE09278D6606192--> <PARENT_ID><![CDATA[896AC285FD8F4C25A869689D4A98DD8E]]></PARENT_ID> +<!--C2028B649AEF44729EE09278D6606192--> <SEQNO><![CDATA[70]]></SEQNO> +<!--C2028B649AEF44729EE09278D6606192--></AD_TREENODE> + </data> diff --git a/src-db/database/sourcedata/AD_WINDOW.xml b/src-db/database/sourcedata/AD_WINDOW.xml --- a/src-db/database/sourcedata/AD_WINDOW.xml +++ b/src-db/database/sourcedata/AD_WINDOW.xml @@ -17,6 +17,21 @@ <!--1B59429FB63747C6AB267F307502F5A2--> <ISADVANCEDFEATURE><![CDATA[N]]></ISADVANCEDFEATURE> <!--1B59429FB63747C6AB267F307502F5A2--></AD_WINDOW> +<!--2BEABA28D242420780C5EFA209B6A286--><AD_WINDOW> +<!--2BEABA28D242420780C5EFA209B6A286--> <AD_WINDOW_ID><![CDATA[2BEABA28D242420780C5EFA209B6A286]]></AD_WINDOW_ID> +<!--2BEABA28D242420780C5EFA209B6A286--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--2BEABA28D242420780C5EFA209B6A286--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--2BEABA28D242420780C5EFA209B6A286--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--2BEABA28D242420780C5EFA209B6A286--> <NAME><![CDATA[Human Readable Client Log]]></NAME> +<!--2BEABA28D242420780C5EFA209B6A286--> <WINDOWTYPE><![CDATA[M]]></WINDOWTYPE> +<!--2BEABA28D242420780C5EFA209B6A286--> <ISSOTRX><![CDATA[Y]]></ISSOTRX> +<!--2BEABA28D242420780C5EFA209B6A286--> <PROCESSING><![CDATA[N]]></PROCESSING> +<!--2BEABA28D242420780C5EFA209B6A286--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--2BEABA28D242420780C5EFA209B6A286--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--2BEABA28D242420780C5EFA209B6A286--> <ISTHREADSAFE><![CDATA[N]]></ISTHREADSAFE> +<!--2BEABA28D242420780C5EFA209B6A286--> <ISADVANCEDFEATURE><![CDATA[N]]></ISADVANCEDFEATURE> +<!--2BEABA28D242420780C5EFA209B6A286--></AD_WINDOW> + <!--B573F236AC404C43B9899EF714E0C349--><AD_WINDOW> <!--B573F236AC404C43B9899EF714E0C349--> <AD_WINDOW_ID><![CDATA[B573F236AC404C43B9899EF714E0C349]]></AD_WINDOW_ID> <!--B573F236AC404C43B9899EF714E0C349--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src/org/openbravo/mobile/core/utils/LogClientLoader.java b/src/org/openbravo/mobile/core/utils/LogClientLoader.java --- a/src/org/openbravo/mobile/core/utils/LogClientLoader.java +++ b/src/org/openbravo/mobile/core/utils/LogClientLoader.java @@ -20,13 +20,18 @@ import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; +import org.openbravo.base.model.ModelProvider; +import org.openbravo.base.provider.OBProvider; import org.openbravo.dal.core.OBContext; import org.openbravo.dal.service.OBDal; import org.openbravo.dal.service.OBQuery; import org.openbravo.data.UtilSql; import org.openbravo.database.SessionInfo; import org.openbravo.mobile.core.obmobcLogClient; +import org.openbravo.mobile.core.obmobcLogClientReadable; import org.openbravo.mobile.core.process.JSONProcessSimple; +import org.openbravo.mobile.core.process.JSONPropertyToEntity; +import org.openbravo.model.ad.access.User; import org.openbravo.service.db.QueryTimeOutUtil; import org.openbravo.service.json.JsonConstants; @@ -51,7 +56,10 @@ try { for (int i = 0; i < jsonarray.length(); i++) { JSONObject jsonlogclient = jsonarray.getJSONObject(i); - errorReturned = saveLogClient(jsonlogclient); + JSONObject objJson = new JSONObject(jsonlogclient.getString("json")); + boolean humanReadable = objJson.getBoolean("humanReadable"); + errorReturned = humanReadable ? saveLogClientHumanReadable(jsonlogclient, objJson) + : saveLogClient(jsonlogclient); if (errorReturned.length() != 0) { error += errorReturned + "\n"; } @@ -184,6 +192,44 @@ return error; } + private String saveLogClientHumanReadable(JSONObject jsonlogclient, JSONObject objJson) + throws Exception { + + long t0 = System.currentTimeMillis(); + obmobcLogClientReadable logClient = null; + if (OBDal.getInstance().get(obmobcLogClientReadable.class, jsonlogclient.getString("id")) != null) { + // Duplicated message + return ""; + } + + logClient = OBProvider.getInstance().get(obmobcLogClientReadable.class); + logClient.setId(jsonlogclient.getString("id")); + logClient.setNewOBObject(true); + + JSONPropertyToEntity.fillBobFromJSON( + ModelProvider.getInstance().getEntity(obmobcLogClientReadable.class), logClient, objJson); + + updateAuditInfo(logClient, objJson); + OBDal.getInstance().save(logClient); + + log.debug("Creation of Log Client records: " + (System.currentTimeMillis() - t0)); + return ""; + } + + private void updateAuditInfo(obmobcLogClientReadable lc, JSONObject jsonorder) + throws JSONException { + Long value = jsonorder.getLong("created"); + lc.setCreationDate(new Date(value)); + lc.setUpdated(new Date(value)); + String strUserId = "0"; + if (jsonorder.optString("createdby", null) != null) { + strUserId = jsonorder.getString("createdby"); + } + User createdby = OBDal.getInstance().getProxy(User.class, strUserId); + lc.setCreatedBy(createdby); + lc.setUpdatedBy(createdby); + } + @Override protected boolean bypassPreferenceCheck() { return true; diff --git a/web/org.openbravo.mobile.core/source/component/dialog/ob-profile.js b/web/org.openbravo.mobile.core/source/component/dialog/ob-profile.js --- a/web/org.openbravo.mobile.core/source/component/dialog/ob-profile.js +++ b/web/org.openbravo.mobile.core/source/component/dialog/ob-profile.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2017 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -289,6 +289,15 @@ OB.UTIL.HookManager.executeHooks('OBMOBC_ProfileDialogApply', { profileDialogProp: this }, function (args) { + var role = _.find(widgetForm.roleList.collection.models, function (r) { + return r.get('id') === newRoleId; + }); + var language = _.find(widgetForm.langList.collection.models, function (l) { + return l.get('id') === newLanguageId; + }); + if (role && language) { + OB.logUserAction('Change to role: ' + role.get('_identifier') + ', Language: ' + language.get('_identifier')); + } OB.DS.allowRequests(false); OB.UTIL.localStorage.setItem('POSlanguageId', newLanguageId); OB.UTIL.localStorage.setItem('POSlanguageSk', newLanguageSk); diff --git a/web/org.openbravo.mobile.core/source/component/dialog/ob-properties.js b/web/org.openbravo.mobile.core/source/component/dialog/ob-properties.js --- a/web/org.openbravo.mobile.core/source/component/dialog/ob-properties.js +++ b/web/org.openbravo.mobile.core/source/component/dialog/ob-properties.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2013-2017 Openbravo S.L.U. + * Copyright (C) 2013-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -39,6 +39,7 @@ }); }, applyChanges: function (inSender, inEvent) { + OB.logUserAction('Change ticket properties: ' + this.model.get('documentNo')); this.waterfall('onApplyChange', {}); return true; }, diff --git a/web/org.openbravo.mobile.core/source/component/ob-keyboard.js b/web/org.openbravo.mobile.core/source/component/ob-keyboard.js --- a/web/org.openbravo.mobile.core/source/component/ob-keyboard.js +++ b/web/org.openbravo.mobile.core/source/component/ob-keyboard.js @@ -798,24 +798,30 @@ if (button.command) { button.$.button.tap = function () { - OB.UTIL.HookManager.executeHooks('OBMOBC_PrePaymentSelected', { - paymentSelected: button, - receipt: me.receipt - }, function (args) { - if (args && args.cancellation && args.cancellation === true) { - return; - } - if (button.$.button.disabled) { - return true; - } - if (button && button.definition && button.definition.includedInPopUp) { - me.virtualKeypressHandler(button.command, { - fromPopup: button.definition.includedInPopUp - }); - } else { - me.virtualKeypressHandler(button.command); - } - }); + OB.logUserAction('Button pushed: ' + (this.content ? this.content : button.command)); + + var tapButton = function () { + if (button.$.button.disabled) { + return true; + } + if (button && button.definition && button.definition.includedInPopUp) { + me.virtualKeypressHandler(button.command, { + fromPopup: button.definition.includedInPopUp + }); + } else { + me.virtualKeypressHandler(button.command); + } + }; + + if (button.definition && button.definition.canTap) { + button.definition.canTap(function (success) { + if (success) { + return tapButton(); + } + }); + } else { + return tapButton(); + } }; this.addButton(button.command, button.$.button); diff --git a/web/org.openbravo.mobile.core/source/component/obpos-approval.js b/web/org.openbravo.mobile.core/source/component/obpos-approval.js --- a/web/org.openbravo.mobile.core/source/component/obpos-approval.js +++ b/web/org.openbravo.mobile.core/source/component/obpos-approval.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2014-2017 Openbravo S.L.U. + * Copyright (C) 2014-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -163,33 +163,50 @@ }, initComponents: function () { - var i, j; + var i, j, logMsg = '', + hasLineBreak = false; this.inherited(arguments); + + function addLogMsg(msg) { + if (logMsg.length > 0) { + logMsg += '\r\n'; + hasLineBreak = true; + } + logMsg += msg; + } + this.$.bodyContent.$.username.attributes.placeholder = OB.I18N.getLabel('OBMOBC_LoginUserInput'); this.$.bodyContent.$.password.attributes.placeholder = OB.I18N.getLabel('OBMOBC_LoginPasswordInput'); if (!Array.isArray(this.approvalType)) { this.approvalType = [this.approvalType]; } for (i = 0; i < this.approvalType.length; i++) { + var msg; if (this.approvalType[i] instanceof Object) { if (this.approvalType[i].message instanceof Object) { // Complex format approvalType[i] = { message: [ { message, padding, fonstSize, fontWeight, color } ]} for (j = 0; j < this.approvalType[i].message.length; j++) { this.addTextComponent(this.approvalType[i].message[j]); + addLogMsg(this.approvalType[i].message[j].message); } } else { // Approval with approvalType[i] = { message, params } + msg = OB.I18N.getLabel(this.approvalType[i].message, this.approvalType[i].params) || OB.I18N.getLabel('OBMOBC_ApprovalTextHeader'); this.addTextComponent({ - message: OB.I18N.getLabel(this.approvalType[i].message, this.approvalType[i].params) || OB.I18N.getLabel('OBMOBC_ApprovalTextHeader') + message: msg }); + addLogMsg(msg); } } else { // Simple approval + msg = OB.I18N.labels[this.approvalType[i]] || OB.I18N.getLabel('OBMOBC_ApprovalTextHeader'); this.addTextComponent({ - message: OB.I18N.labels[this.approvalType[i]] || OB.I18N.getLabel('OBMOBC_ApprovalTextHeader') + message: msg }); + addLogMsg(msg); } } + OB.logUserAction('Raised approval for: ' + (hasLineBreak ? '\r\n' : ' ') + logMsg); this.postRenderActions(); }, @@ -324,9 +341,11 @@ OB.UTIL.checkApproval(this.approvalType, u, p, function (approved, supervisor, approvalType, continueCallback, warningMsg) { if (!OB.UTIL.isNullOrUndefined(warningMsg)) { me.$.bodyContent.$.approvalWarning.setContent(warningMsg); + OB.logUserAction('Approval warning: ' + warningMsg); return; } if (continueCallback) { + OB.logUserAction('Approved by User: ' + u); if (me.model && me.model.approvedRequest) { me.model.approvedRequest(approved, supervisor, approvalType, me.callback); } else { diff --git a/web/org.openbravo.mobile.core/source/model/logclient.js b/web/org.openbravo.mobile.core/source/model/logclient.js --- a/web/org.openbravo.mobile.core/source/model/logclient.js +++ b/web/org.openbravo.mobile.core/source/model/logclient.js @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2016 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -17,9 +17,9 @@ entityName: 'LogClient', source: 'org.openbravo.mobile.core.master.LogClient', local: true, - createStatement: 'CREATE TABLE IF NOT EXISTS obmobc_logclient (obmobc_logclient_id TEXT PRIMARY KEY, deviceId TEXT, cacheSessionId TEXT, msg TEXT, json CLOB, loglevel TEXT, created TEXT, createdby TEXT)', + createStatement: 'CREATE TABLE IF NOT EXISTS obmobc_logclient (obmobc_logclient_id TEXT PRIMARY KEY, deviceId TEXT, cacheSessionId TEXT, msg TEXT, json CLOB, loglevel TEXT, humanReadable TEXT, created TEXT, createdby TEXT)', dropStatement: 'DROP TABLE IF EXISTS obmobc_logclient', - insertStatement: 'INSERT INTO obmobc_logclient (obmobc_logclient_id, deviceId, cacheSessionId, msg, json, loglevel, created, createdby) VALUES (?,?,?,?,?,?,?,?)', + insertStatement: 'INSERT INTO obmobc_logclient (obmobc_logclient_id, deviceId, cacheSessionId, msg, json, loglevel, humanReadable, created, createdby) VALUES (?,?,?,?,?,?,?,?,?)', serializeToJSON: function () { return JSON.parse(JSON.stringify(this.toJSON())); } @@ -51,6 +51,10 @@ column: 'loglevel', type: 'TEXT' }, { + name: 'humanReadable', + column: 'humanReadable', + type: 'TEXT' + }, { name: 'created', column: 'created', type: 'TEXT' diff --git a/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js b/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js --- a/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js +++ b/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js @@ -2040,6 +2040,8 @@ postLoginActions: function () { OB.debug("next process: none"); + var context = OB.MobileApp.model.get('context'); + OB.logUserAction('Login user: ' + (context && context.user ? OB.MobileApp.model.get('context').user.username : '-')); }, loginUsingCache: function () { @@ -2301,6 +2303,8 @@ * Override this method if your app needs to do something special */ preLogoutActions: function (callback) { + var context = OB.MobileApp.model.get('context'); + OB.logUserAction('Logout user: ' + (context && context.user ? OB.MobileApp.model.get('context').user.username : '-')); callback(); }, diff --git a/web/org.openbravo.mobile.core/source/retail/component/ob-retail-searchproductcharacteristic.js b/web/org.openbravo.mobile.core/source/retail/component/ob-retail-searchproductcharacteristic.js --- a/web/org.openbravo.mobile.core/source/retail/component/ob-retail-searchproductcharacteristic.js +++ b/web/org.openbravo.mobile.core/source/retail/component/ob-retail-searchproductcharacteristic.js @@ -1271,6 +1271,7 @@ brandString = '', i, j, forceRemote, doLocalIfRemoteFails = true; + OB.logUserAction('Search products: "' + inEvent.productName + '"'); // Disable the filters button me.disableFilters(true); diff --git a/web/org.openbravo.mobile.core/source/utils/ob-utilities.js b/web/org.openbravo.mobile.core/source/utils/ob-utilities.js --- a/web/org.openbravo.mobile.core/source/utils/ob-utilities.js +++ b/web/org.openbravo.mobile.core/source/utils/ob-utilities.js @@ -352,7 +352,7 @@ OB.UTIL.localStorage.setItem('logclientErrors', 0); }; - function processConsoleLevel(logLevel, args) { + function processConsoleLevel(logLevel, args, humanReadable) { try { var saveInServer = OB.UTIL.checkPermissionLog(logLevel, "save"); @@ -361,16 +361,14 @@ if (saveInServer) { var isSaveOnlyTraceOfCaller = true; + var serverMessage = OB.UTIL.argumentsToStringifyed(args) + (humanReadable ? '' : "; stackTrace: " + OB.UTIL.getStackTrace('OB.' + logLevel.toLowerCase(), isSaveOnlyTraceOfCaller)); if (logLevel === 'Error' || logLevel === "Critical") { isSaveOnlyTraceOfCaller = false; - } - var serverMessage = OB.UTIL.argumentsToStringifyed(args) + "; stackTrace: " + OB.UTIL.getStackTrace('OB.' + logLevel.toLowerCase(), isSaveOnlyTraceOfCaller); - if (logLevel === 'Error' || logLevel === "Critical") { serverMessage = serverMessage + humanLog + processesLog; } // cut the message serverMessage = (serverMessage.length < 100000000) ? serverMessage : serverMessage.substring(0, 100000000); - OB.UTIL.saveLogClient(serverMessage, logLevel); + OB.UTIL.saveLogClient(serverMessage, logLevel, humanReadable); } if (logLevel === 'Error' || logLevel === "Critical") { @@ -378,7 +376,7 @@ } var showInConsole = OB.UTIL.checkPermissionLog(logLevel, "console"); - if (OB.UTIL.Debug.isDebug() || showInConsole) { + if ((OB.UTIL.Debug.isDebug() || showInConsole) && !humanReadable) { saveInServer = saveInServer && (OB && OB.MobileApp && OB.MobileApp.model && OB.MobileApp.model.get('logClientStatus') === 'OK'); var tags = (showInConsole || saveInServer) ? ("(" + (showInConsole ? "*" : "") + ((showInConsole && saveInServer) ? "," : "") + (saveInServer ? "+" : "") + ")") : ""; var consoleMessage = OB.UTIL.argumentsToStringifyed(args) + "; line: " + OB.UTIL.getStackTrace('OB.' + logLevel.toLowerCase(), true) + " " + tags; @@ -404,28 +402,32 @@ } OB.trace = function () { - processConsoleLevel('Trace', arguments); + processConsoleLevel('Trace', arguments, false); }; OB.debug = function () { - processConsoleLevel('Debug', arguments); + processConsoleLevel('Debug', arguments, false); }; OB.info = function () { - processConsoleLevel('Info', arguments); + processConsoleLevel('Info', arguments, false); }; OB.warn = function () { - processConsoleLevel('Warn', arguments); + processConsoleLevel('Warn', arguments, false); }; OB.error = function () { - processConsoleLevel('Error', arguments); + processConsoleLevel('Error', arguments, false); + }; + + OB.logUserAction = function () { + processConsoleLevel(null, arguments, true); }; // deprecated OB.critical = function () { - processConsoleLevel('Critical', arguments); + processConsoleLevel('Critical', arguments, false); }; // this function receive as arguments first the level of log, the rest of the arguments are the message @@ -442,7 +444,7 @@ msg = OB.UTIL.composeMessage(argsWithoutFirst); if (OB.UTIL.checkPermissionLog(level, "save")) { - OB.UTIL.saveLogClient(msg, level); + OB.UTIL.saveLogClient(msg, level, false); } if (OB.UTIL.checkPermissionLog(level, "console")) { if (level === "Info") { @@ -460,7 +462,7 @@ } }; - OB.UTIL.saveLogClient = function (msg, level) { + OB.UTIL.saveLogClient = function (msg, level, humanReadable) { try { if (OB.MobileApp && OB.MobileApp.model && OB.MobileApp.model.supportLogClient()) { if (!OB.Data.localDB) { @@ -482,6 +484,7 @@ logClientModel.set('created', date.getTime()); logClientModel.set('createdby', OB.MobileApp.model.get('orgUserId')); logClientModel.set('loglevel', level); + logClientModel.set('humanReadable', humanReadable === true); logClientModel.set('msg', msg); logClientModel.set('deviceId', OB.MobileApp.model.get('logConfiguration').deviceIdentifier); logClientModel.set('cacheSessionId', null); @@ -529,6 +532,9 @@ } return false; } + if (level === null) { + return OB.MobileApp.model.get('permissions')['OBMOBC_logClient.humanReadable']; + } if (type === "save") { if (OB.MobileApp.model.get('permissions')['OBMOBC_logClient.saveLog'] === false) { | |||||||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | |
Copyright © 2000 - 2009 MantisBT Group |