Openbravo Issue Tracking System - Retail Modules
View Issue Details
0037822Retail ModulesWeb POSpublic2018-02-02 12:372018-02-05 13:07
inaki_garcia 
Retail 
normalmajoralways
newopen 
5
main 
 
No
0037822: [RR18Q1] Attribute Set Value popup has no input value checking
There isn't any control on what can be typed in the Attribute Set Value popup window that appears when searching/browsing a product with a configured attribute set. Incorrect values for the attributes of products added to a receipt will lead to problems, such as not showing up in Sales Order screen when paying the receipt.
Preconditions

- "Web POS Enable support for product attributes" preference must be enabled for the user/organization to test this issue with
- There has to be at least one Product with Attribute(s) added to the Assortment of the store to be tested

0. Log in to the Web POS as "vallblanca"
1. Hit "Browse" and choose a product with attributes from the list. A popup titled "Attribute Set Value" will show.
2. Type in any value.
3. Pay the ticket

NOTICE that any value can be typed in, potentially leading to the Sales Order associated to the receipt not being saved due to invalid attribute value

An example of the error log generated in the "Error While Importing POS Data" on this situation is as follows:

--- ERROR ---
org.openbravo.base.exception.OBException: Error in OrderLoader: Product -Balaclava Cap- Uses an AttributeSet -Purchase Serial No- which requires at least 2 values, but just 1 was detected
        at
org.openbravo.retail.posterminal.OrderLoader.saveRecord(OrderLoader.java:528)
    at
-- OR ---
org.openbravo.base.exception.OBException: Error in OrderLoader: String index out of range: -1
    at org.openbravo.retail.posterminal.OrderLoader.saveRecord(OrderLoader.java:525)
    at org.openbravo.mobile.core.process.DataSynchronizationProcess.saveRecord(DataSynchronizationProcess.java:200)
    at org.openbravo.mobile.core.process.DataSynchronizationProcess.exec(DataSynchronizationProcess.java:154)
    at org.openbravo.mobile.core.process.DataSynchronizationProcess.exec(DataSynchronizationProcess.java:86)
    at org.openbravo.mobile.core.process.MobileImportEntryProcessorRunnable.processEntry(MobileImportEntryProcessorRunnable.java:53)
    at org.openbravo.retail.posterminal.importprocess.OrderImportEntryProcessor$OrderLoaderRunnable.processEntry(OrderImportEntryProcessor.java:59)
    at org.openbravo.service.importprocess.ImportEntryProcessor$ImportEntryProcessRunnable.doRunCycle(ImportEntryProcessor.java:365)
    at org.openbravo.service.importprocess.ImportEntryProcessor$ImportEntryProcessRunnable.run(ImportEntryProcessor.java:287)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.openbravo.base.exception.OBException: Product -Balaclava Cap- Uses an AttributeSet -Purchase Serial No- which requires at least 2 values, but just 1 was detected
    at org.openbravo.retail.posterminal.utility.AttributesUtils.fetchAttributeSetValue(AttributesUtils.java:102)
    at org.openbravo.retail.posterminal.OrderLoader.updateLinesWithAttributes(OrderLoader.java:631)
    at org.openbravo.retail.posterminal.OrderLoader.saveRecord(OrderLoader.java:410)
    ... 12 more
Caused by: org.openbravo.base.exception.OBException: Product -Balaclava Cap- Uses an AttributeSet -Purchase Serial No- which requires at least 2 values, but just 1 was detected
    at org.openbravo.retail.posterminal.utility.AttributesUtils.generateValidAttSetInstanceDescription(AttributesUtils.java:199)
    at org.openbravo.retail.posterminal.utility.AttributesUtils.generateValidAttSetInstanceDescription(AttributesUtils.java:121)
    at org.openbravo.retail.posterminal.utility.AttributesUtils.fetchAttributeSetValue(AttributesUtils.java:48)
    ... 14 more

--- JSON Order ---
{"hasbeenpaid":"Y","isbeingprocessed":"N","id":"B347AE3DAD1F019F6D16AB66C6E00192","client":"39363B0921BB4293B48383844325E84C","organization":"D270A5AC50874F8BA67A88EE977F8E3B","createdBy":"3073EDF96A3C42CC86C7069E379522D2","updatedBy":"3073EDF96A3C42CC86C7069E379522D2","documentType":"511A9371A0F74195AA3F6D66C722729D","orderType":0,"generateInvoice":false,"isQuotation":false,"oldId":null,"priceList":"496CF965DF9744D2A41248392D1DE407","priceIncludesTax":true,"currency":"102","currency$_identifier":"EUR","session":"9C56A00CB64095277C24BBF4877EB895","warehouse":"CE7AB151695342FF879938F837F12E6E","salesRepresentative":"3073EDF96A3C42CC86C7069E379522D2","salesRepresentative$_identifier":"Vall Blanca Store User","posTerminal":"9104513C2D0741D4850AE8493998A7C8","posTerminal$_identifier":"VBS POS Terminal","orderDate":"2018-02-05T11:26:05.042Z","creationDate":"2018-02-05T11:26:05.044Z","documentnoPrefix":"VBS1","quotationnoPrefix":-1,"returnnoPrefix":-1,"documentnoSuffix":110,"quotationnoSuffix":-1,"returnnoSuffix":-1,"documentNo":"VBS1\/0000110","bp":{"id":"ABD91C9D3BC94175B876FBBE9CACA008","organization":"D270A5AC50874F8BA67A88EE977F8E3B","searchKey":"VBS\/C0001","_identifier":"VBS Customer","name":"VBS Customer","firstName":"VBS Customer","lastName":null,"description":null,"taxID":null,"taxCategory":null,"paymentMethod":"45A202BF44884F05B8A1BF741E2063B6","paymentTerms":"D8955F8808A54C63BBF478A6843D834D","priceList":"496CF965DF9744D2A41248392D1DE407","invoiceTerms":"I","contactId":"032576220FC44B0DA80145B3265E4D9A","phone":null,"email":null,"businessPartnerCategory":"B1DD8B371643421C987EF1D5B358D5E9","businessPartnerCategory_name":"Customer","creditLimit":0,"creditUsed":0,"taxExempt":false,"customerBlocking":false,"salesOrderBlocking":true,"priceIncludesTax":true,"priceListName":"The White Valley Group Sale Price List","loaded":"2018-02-05T12:16:55+01:00","birthDay":null,"birthPlace":null,"uniqueCreditNote":true,"_filter":"VBS\/C0001###VBS Customer###","_idx":1,"shipLocId":"2AA7EADDF7EC405899262DDA3E572436","shipLocName":"Pau Claris 138 1-1","shipCityName":"Barcelona","shipPostalCode":"08009","locId":"2AA7EADDF7EC405899262DDA3E572436","locName":"Pau Claris 138 1-1","cityName":"Barcelona","postalCode":"08009","countryName":"Spain","locationBillModel":{"id":"2AA7EADDF7EC405899262DDA3E572436","bpartner":"ABD91C9D3BC94175B876FBBE9CACA008","name":"Pau Claris 138 1-1","postalCode":"08009","cityName":"Barcelona","countryName":"Spain","countryId":"106","regionName":"BARCELONA ","regionId":"AF310D01B53B461283EB40DB21DCA6B5","isBillTo":true,"isShipTo":true,"_identifier":"Pau Claris 138 1-1","loaded":"2018-02-05T12:16:55+01:00","_filter":"Pau Claris 138 1-1###","_idx":3},"locationModel":{"id":"2AA7EADDF7EC405899262DDA3E572436","bpartner":"ABD91C9D3BC94175B876FBBE9CACA008","name":"Pau Claris 138 1-1","postalCode":"08009","cityName":"Barcelona","countryName":"Spain","countryId":"106","regionName":"BARCELONA ","regionId":"AF310D01B53B461283EB40DB21DCA6B5","isBillTo":true,"isShipTo":true,"_identifier":"Pau Claris 138 1-1","loaded":"2018-02-05T12:16:55+01:00","_filter":"Pau Claris 138 1-1###","_idx":3},"locations":[{"id":"2AA7EADDF7EC405899262DDA3E572436","bpartner":"ABD91C9D3BC94175B876FBBE9CACA008","name":"Pau Claris 138 1-1","postalCode":"08009","cityName":"Barcelona","countryName":"Spain","countryId":"106","regionName":"BARCELONA ","regionId":"AF310D01B53B461283EB40DB21DCA6B5","isBillTo":true,"isShipTo":true,"_identifier":"Pau Claris 138 1-1","loaded":"2018-02-05T12:16:55+01:00","_filter":"Pau Claris 138 1-1###","_idx":3}]},"lines":[{"product":{"id":"4C0563C352A3438FB7F80DE79B15D410","searchkey":"PCG\/16","uPCEAN":null,"uOM":"100","uOMsymbol":"Ud ","uOMstandardPrecision":0,"productCategory":"0C20B3F7AB234915B2239FCD8BE10CD1","taxCategory":"FF80818123B7FC160123B804AB88000B","imgId":null,"description":null,"obposScale":false,"groupProduct":true,"stocked":true,"showstock":false,"isGeneric":false,"generic_product_id":null,"brand":null,"characteristicDescription":null,"showchdesc":true,"bestseller":true,"ispack":false,"listPrice":169,"standardPrice":169,"priceLimit":0,"cost":0,"algorithm":"S","_identifier":"Balaclava Cap","currentStandardPrice":null,"productType":"I","includeProductCategories":null,"includeProducts":null,"printDescription":false,"oBPOSAllowAnonymousSale":true,"returnable":true,"overdueReturnDays":null,"isPriceRuleBased":false,"proposalType":null,"availableForMultiline":false,"isLinkedToProduct":false,"allowDeferredSell":false,"deferredSellMaxDays":null,"quantityRule":null,"isPrintServices":true,"hasAttributes":true,"isSerialNo":true,"obrotfIsOTF":null,"obrotfSourceProductId":null,"stock":null,"gcnvGiftcardtype":null,"printCard":null,"printTemplate":null,"templateIsPdf":null,"templatePrinter":null,"expirationDays":null,"hasSequence":false,"hasOwnSequence":false,"obscoIsBag":false,"obscoIsVerifyProduct":false,"_idx":54,"originalStandardPrice":169},"productidentifier":null,"uOM":"100","qty":1,"price":169,"priceList":169,"gross":169,"net":139.67,"description":"","attributeValue":"asdfasdfafzxcgfasdf","id":"45D7B51D107811C6647D5A94583F4FAD","priceIncludesTax":true,"warehouse":{"id":"CE7AB151695342FF879938F837F12E6E","warehousename":"White Valley Spain Distribution Center"},"isEditable":true,"isDeletable":true,"grossListPrice":169,"promotionCandidates":["0D82537295ED43738B19A252BF43729B","572961E568D84FD180FCFEB1F112C572","CBD7C66B0E29417D885814FB60691C67","F3C28D09F28146C284C5CCFC963AB0D4"],"promotionMessages":[],"taxLines":{"5235D8E99A2749EFA17A5C92A52AEFC6":{"name":"Entregas IVA 21%","rate":21,"net":139.67,"amount":29.33}},"tax":"5235D8E99A2749EFA17A5C92A52AEFC6","taxAmount":29.33,"pricenet":139.67,"discountedNet":139.67,"linerate":1.21,"hasComplementary":false,"complementaryViewed":false,"hasMandatoryServices":false,"sortedTaxCollection":[[{"id":"5235D8E99A2749EFA17A5C92A52AEFC6","name":"Entregas IVA 21%","description":"Entregas IVA 21%","taxSearchKey":"IVA21","validFromDate":"2012-09-01","summaryLevel":false,"rate":21,"parentTaxRate":null,"country":"106","region":null,"destinationCountry":"106","destinationRegion":null,"taxCategory":"FF80818123B7FC160123B804AB88000B","default":false,"taxExempt":false,"salesPurchaseType":"S","cascade":false,"businessPartnerTaxCategory":null,"lineNo":10,"withholdingTax":false,"notTaxable":false,"deductableRate":null,"originalRate":null,"notTaxdeductable":false,"istaxdeductable":false,"noVAT":false,"baseAmount":"LNA","taxBase":null,"docTaxAmount":"D","isCashVAT":false,"_identifier":"Entregas IVA 21% - IVA Normal","_idx":11}]],"linerateWithPrecision":[{"ind":1,"form":0,"mant":[1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"exp":-20}],"hasRelatedServices":false,"overissueStoreBin":"FDC4AC6020F841B3BAA73048C5EA7180","overissueQty":1,"discountPercentage":0,"listPrice":0,"standardPrice":0,"grossUnitPrice":169,"lineGrossAmount":169}],"payments":[{"amount":169,"origAmount":169,"paid":169,"date":"2018-02-05T11:26:04.567Z","kind":"OBPOS_payment.cash","name":"Cash","rate":"1","mulrate":"1.000000000000","isocode":"EUR","allowOpenDrawer":true,"isCash":true,"openDrawer":false,"printtwice":false,"id":"A5949F9269F8CE1D271A7390C464871B","orderGross":169,"isPaid":false,"isReturnOrder":false}],"payment":169,"change":0,"qty":1,"gross":169,"net":139.67,"taxes":{"5235D8E99A2749EFA17A5C92A52AEFC6":{"name":"Entregas IVA 21%","docTaxAmount":"D","rate":21,"taxBase":null,"cascade":false,"lineNo":10,"net":139.67,"amount":29.33}},"description":"","print":true,"sendEmail":false,"isPaid":false,"creditAmount":0,"paidPartiallyOnCredit":false,"paidOnCredit":false,"isLayaway":false,"isEditable":true,"openDrawer":false,"totalamount":null,"approvals":[],"isPartiallyDelivered":false,"isModified":false,"isNewReceipt":false,"cloningReceipt":false,"selectedPayment":"OBPOS_payment.cash","calculateReceiptCallbacks":[],"isBeingDiscounted":false,"reApplyDiscounts":false,"timezoneOffset":-60,"exactpayment":{},"isBeingClosed":false,"pOSSBusinessDate":"2018-02-04T23:00:00.000Z","created":1517829965044,"obposCreatedabsolute":"2018-02-05 12:26:05.044","movementDate":"2018-02-05T11:26:05.049Z","accountingDate":"2018-02-05T11:26:05.049Z","multipleUndo":null,"paymentMethodKind":"OBPOS_payment.cash","obposAppCashup":"3B39E21A2DD9D8B74A5C3FCB316DA1FA","cashUpReportInformation":{"id":"3B39E21A2DD9D8B74A5C3FCB316DA1FA","netSales":194.63,"grossSales":235.5,"netReturns":0,"grossReturns":0,"totalRetailTransactions":235.5,"creationDate":"2015-11-20T11:47Z","userId":"3073EDF96A3C42CC86C7069E379522D2","objToSend":"{\"posterminal\":\"9104513C2D0741D4850AE8493998A7C8\",\"posTerminal\":\"9104513C2D0741D4850AE8493998A7C8\",\"id\":\"3B39E21A2DD9D8B74A5C3FCB316DA1FA\",\"isprocessed\":\"N\",\"isbeingprocessed\":\"Y\",\"netSales\":194.63,\"grossSales\":235.5,\"netReturns\":0,\"grossReturns\":0,\"totalRetailTransactions\":235.5,\"cashPaymentMethodInfo\":[{\"paymentMethodId\":\"5EA2A7DEBB2A49A69550C7E3D8899ED5\",\"id\":\"526B25A396CE1650DB0AA62EC24FB050\",\"searchKey\":\"OBPOS_payment.card\",\"startingCash\":0,\"totalSales\":0,\"totalReturns\":0,\"rate\":\"1\",\"isocode\":\"EUR\",\"totalDeposits\":0,\"totalDrops\":0,\"paymentmethod_id\":\"5EA2A7DEBB2A49A69550C7E3D8899ED5\"},{\"paymentMethodId\":\"63339A82A49A4AE0BCD9AC5929B0EA3B\",\"id\":\"216F292226309F1DD1488354B5045872\",\"searchKey\":\"OBPOS_payment.cash\",\"startingCash\":319.5,\"totalSales\":169,\"totalReturns\":0,\"rate\":\"1\",\"isocode\":\"EUR\",\"totalDeposits\":0,\"totalDrops\":0,\"paymentmethod_id\":\"63339A82A49A4AE0BCD9AC5929B0EA3B\"},{\"paymentMethodId\":\"E11EBCB5CF0442618B72B903DCB6A036\",\"id\":\"8F4E1BF842D8466EAF6D7F17B3984BEF\",\"searchKey\":\"OBPOS.payment.usacash\",\"startingCash\":0,\"totalSales\":0,\"totalReturns\":0,\"rate\":\"0.76082\",\"isocode\":\"USD\",\"totalDeposits\":0,\"totalDrops\":0,\"paymentmethod_id\":\"E11EBCB5CF0442618B72B903DCB6A036\"},{\"paymentMethodId\":\"6E98C4DE459748BE997693E9ED956D21\",\"id\":\"21484C50CDEA8A6BFC11BFA33453ED28\",\"searchKey\":\"OBPOS_payment.voucher\",\"startingCash\":0,\"totalSales\":0,\"totalReturns\":0,\"rate\":\"1\",\"isocode\":\"EUR\",\"totalDeposits\":0,\"totalDrops\":0,\"paymentmethod_id\":\"6E98C4DE459748BE997693E9ED956D21\"}],\"cashTaxInfo\":[{\"name\":\"Entregas IVA 21%\",\"amount\":40.87,\"orderType\":\"0\",\"cashupId\":\"3B39E21A2DD9D8B74A5C3FCB316DA1FA\",\"id\":\"2BA4A1D76FFA880BF2251388C97D93F8\"}],\"cashCloseInfo\":[],\"cashUpDate\":\"\",\"creationDate\":\"2015-11-20T11:47:00.000Z\",\"lastcashupeportdate\":\"2018-02-05T11:26:05.164Z\",\"userId\":\"3073EDF96A3C42CC86C7069E379522D2\",\"organization\":\"D270A5AC50874F8BA67A88EE977F8E3B\"}","isbeingprocessed":"Y","isprocessed":"N","posterminal":"9104513C2D0741D4850AE8493998A7C8","_idx":null,"lastcashupeportdate":"2018-02-05T11:26:05.164Z"}}
No tags attached.
Issue History
2018-02-02 12:37inaki_garciaNew Issue
2018-02-02 12:37inaki_garciaAssigned To => Retail
2018-02-02 12:37inaki_garciaTriggers an Emergency Pack => No
2018-02-05 12:31inaki_garciaSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=16627#r16627
2018-02-05 13:07inaki_garciaSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=16628#r16628

There are no notes attached to this issue.