Index: /trunk/grails-app/services/InventoryReportService.groovy
===================================================================
--- /trunk/grails-app/services/InventoryReportService.groovy	(revision 689)
+++ /trunk/grails-app/services/InventoryReportService.groovy	(revision 690)
@@ -184,13 +184,17 @@
         result.site = Site.get(params.site.id.toLong())
 
-        if(params.inventoryTypes) {
+        result.inventoryTypes = []
+        if(params.inventoryTypes instanceof String)
+            result.inventoryTypes << InventoryType.get(params.inventoryTypes.toInteger())
+        else if(params.inventoryTypes)
             result.inventoryTypes = params.inventoryTypes.collect { InventoryType.get(it.toInteger()) }
-        }
         else
             result.inventoryTypes = InventoryType.findAllByIsActive(true, [max:254, sort:'name'])
 
-        if(params.inventoryGroups) {
+        result.inventoryGroups = []
+        if(params.inventoryGroups instanceof String)
+            result.inventoryGroups << InventoryGroup.get(params.inventoryGroups.toInteger())
+        else if(params.inventoryGroups)
             result.inventoryGroups = params.inventoryGroups.collect { InventoryGroup.get(it.toInteger()) }
-        }
         else
             result.inventoryGroups = InventoryGroup.findAllByIsActive(true, [max:254, sort:'name'])
@@ -267,10 +271,16 @@
         result.site = Site.get(params.site.id.toLong())
 
-        if(params.inventoryTypes)
+        result.inventoryTypes = []
+        if(params.inventoryTypes instanceof String)
+            result.inventoryTypes << InventoryType.get(params.inventoryTypes.toInteger())
+        else if(params.inventoryTypes)
             result.inventoryTypes = params.inventoryTypes.collect { InventoryType.get(it.toInteger()) }
         else
             result.inventoryTypes = InventoryType.findAllByIsActive(true, [max:254, sort:'name'])
 
-        if(params.inventoryGroups)
+        result.inventoryGroups = []
+        if(params.inventoryGroups instanceof String)
+            result.inventoryGroups << InventoryGroup.get(params.inventoryGroups.toInteger())
+        else if(params.inventoryGroups)
             result.inventoryGroups = params.inventoryGroups.collect { InventoryGroup.get(it.toInteger()) }
         else
@@ -345,5 +355,5 @@
 
         // Check all currency is the same.
-        if(currencyCount != 1)
+        if(currencyCount > 1)
             fail(code:'report.error.multiple.currency.found') // No return, populate errors but continue report.
 
