diff --git a/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionOrder_getConsumptionMovementList.xml b/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionOrder_getConsumptionMovementList.xml
deleted file mode 100644
index 98f8ed5555b6388e32b09312682eb69be084e554..0000000000000000000000000000000000000000
--- a/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionOrder_getConsumptionMovementList.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>"""Returns list of resources\' inventories used in consumption for production\n
-\n
-Args:\n
- - omit_order_resources [default: 1]\n
-   Do not show resources, which are on order lines.\n
-"""\n
-if omit_order_resources:\n
-  from Products.ZSQLCatalog.SQLCatalog import Query\n
-  from Products.ZSQLCatalog.SQLCatalog import NegatedQuery\n
-\n
-  ignored_resource_uid_list = [q.getResourceUid() for q in context.getMovementList() if q.getResourceUid() is not None]\n
-  kwargs[\'query\'] = NegatedQuery(Query(operator=\'IN\',**{\'stock.resource_uid\': ignored_resource_uid_list}))\n
-\n
-kwargs[\'group_by_date\'] = 1\n
-kwargs[\'group_by_node\'] = 1\n
-kwargs[\'group_by_variation\'] = 1\n
-kwargs[\'group_by_resource\'] = 1\n
-kwargs[\'section_uid\'] = context.getDestinationSectionUid()\n
-\n
-inventory_dict = {}\n
-for inventory in context.portal_simulation.getFutureInventoryList(*args,**kwargs):\n
-  inventory_dict[inventory.getResourceUid(), \\\n
-                 tuple(sorted(inventory.getVariationCategoryList())), \\\n
-                 inventory.getDestination()] = inventory\n
-\n
-result_list = inventory_dict.values()\n
-consumption_dict = {}\n
-for movement in context.getMovementList():\n
-  movement_quantity = movement.getQuantity()\n
-  movement_destination = movement.getDestination()\n
-\n
-  transformation = movement.getSpecialiseValue()\n
-  if transformation is not None:\n
-    transformation_line_list = transformation.objectValues()\n
-  else:\n
-    transformation_line_list = ()\n
-\n
-  for material in transformation_line_list:\n
-    material_resource_uid = material.getResourceUid()\n
-    if not material_resource_uid:\n
-      continue\n
-\n
-    inventory_dict_key = material_resource_uid, \\\n
-        tuple(sorted(material.getVariationCategoryList())), \\\n
-        movement_destination\n
-\n
-    quantity = material.getQuantity()\n
-\n
-    try:\n
-      obj = inventory_dict[inventory_dict_key]\n
-    except KeyError:\n
-      obj = material\n
-      result_list.append(obj)\n
-    else:\n
-      inventory_quantity_unit = obj.getQuantityUnit()\n
-      quantity_unit = material.getQuantityUnit()\n
-      if quantity_unit != inventory_quantity_unit:\n
-        quantity = material.getResourceValue().convertQuantity(quantity,\n
-                                                               quantity_unit,\n
-                                                               inventory_quantity_unit)\n
-\n
-    if quantity:\n
-      consumption_dict[obj.getUid()] = quantity * movement_quantity\n
-\n
-context.REQUEST.set(\'consumption_dict\', consumption_dict)\n
-return result_list\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>omit_order_resources=1,*args,**kwargs</string> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ProductionOrder_getConsumptionMovementList</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionOrder_getMaterialFutureInventoryList.xml b/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionOrder_getMaterialFutureInventoryList.xml
index f11f0290839de6b73ebbe3f2eab08dbed0f0be8b..d14478873198987ff5860b1ff2018582087f4ea6 100644
--- a/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionOrder_getMaterialFutureInventoryList.xml
+++ b/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionOrder_getMaterialFutureInventoryList.xml
@@ -50,9 +50,71 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>"""Returns list of materials\' inventories used in consumption for production"""\n
-kwargs[\'resource_portal_type\'] = context.getPortalObject().getPortalProductTypeList()\n
-return context.ProductionOrder_getConsumptionMovementList(*args,**kwargs)\n
+            <value> <string>"""Returns list of resources\' inventories used in consumption for production\n
+   Show only resources which are defined in transformation.\n
+"""\n
+movement_list = context.getMovementList()\n
+transformation_line_list_dict = {}\n
+consumed_resource_list = []\n
+for movement in movement_list:\n
+  transformation = movement.getSpecialiseValue()\n
+  if transformation is not None:\n
+    transformation_line_list = transformation.objectValues()\n
+    transformation_line_list_dict[movement] = transformation_line_list\n
+    for transformation_line in transformation_line_list:\n
+      transformation_resource = transformation_line.getResourceValue()\n
+      if transformation_resource is not None:\n
+        consumed_resource_list.append(transformation_resource)\n
+  else:\n
+    transformation_line_list_dict[movement] = ()\n
+\n
+if not consumed_resource_list:\n
+  return ()\n
+\n
+kwargs[\'resource\'] = [resource.getRelativeUrl() for resource in consumed_resource_list]\n
+kwargs[\'group_by_section\'] = 0\n
+kwargs[\'group_by_node\'] = 1\n
+kwargs[\'group_by_variation\'] = 1\n
+kwargs[\'section_uid\'] = context.getSourceSectionUid()\n
+\n
+inventory_dict = {}\n
+for inventory in context.portal_simulation.getFutureInventoryList(*args,**kwargs):\n
+  inventory_dict[inventory.resource_relative_url,\n
+                 inventory.variation_text,\n
+                 inventory.node_relative_url] = inventory\n
+\n
+result_list = inventory_dict.values()\n
+consumption_dict = {}\n
+for movement in movement_list:\n
+  for material in transformation_line_list_dict[movement]:\n
+    material_resource = material.getResource()\n
+    if material_resource is None:\n
+      continue\n
+\n
+    inventory_dict_key = (material_resource,\n
+                          \'\\n\'.join(sorted(material.getVariationCategoryList())),\n
+                          movement.getSource())\n
+\n
+    quantity = material.getQuantity()\n
+\n
+    try:\n
+      obj = inventory_dict[inventory_dict_key]\n
+    except KeyError:\n
+      obj = material\n
+      result_list.append(obj)\n
+    else:\n
+      inventory_quantity_unit = obj.getQuantityUnit()\n
+      quantity_unit = material.getQuantityUnit()\n
+      if quantity_unit != inventory_quantity_unit:\n
+        quantity = material.getResourceValue().convertQuantity(quantity,\n
+                                                               quantity_unit,\n
+                                                               inventory_quantity_unit)\n
+\n
+    if quantity:\n
+      consumption_dict[obj.getUid()] = quantity * (movement.getQuantity() or 0)\n
+\n
+context.REQUEST.set(\'consumption_dict\', consumption_dict)\n
+return result_list\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionOrder_viewMaterialConsumption/listbox.xml b/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionOrder_viewMaterialConsumption/listbox.xml
index 7b80bfbd82eab9c1371a44b59fa4952daaf78eb4..80fce53fd7080e5ba74da69aff5f11857b1f31e7 100644
--- a/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionOrder_viewMaterialConsumption/listbox.xml
+++ b/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionOrder_viewMaterialConsumption/listbox.xml
@@ -11,7 +11,7 @@
             <value>
               <list>
                 <string>columns</string>
-                <string>editable_columns</string>
+                <string>default_params</string>
                 <string>list_action</string>
                 <string>list_method</string>
                 <string>selection_name</string>
@@ -96,10 +96,6 @@
                           <string>consumption_item</string>
                           <string>Consumption</string>
                         </tuple>
-                        <tuple>
-                          <string>quantity_unit_item</string>
-                          <string>Unit</string>
-                        </tuple>
                         <tuple>
                           <string>getCurrentInventory</string>
                           <string>Current</string>
@@ -112,18 +108,17 @@
                           <string>getFutureInventory</string>
                           <string>Future</string>
                         </tuple>
+                        <tuple>
+                          <string>quantity_unit_item</string>
+                          <string>Unit</string>
+                        </tuple>
                       </list>
                     </value>
                 </item>
                 <item>
-                    <key> <string>editable_columns</string> </key>
+                    <key> <string>default_params</string> </key>
                     <value>
-                      <list>
-                        <tuple>
-                          <string>movement.start_date</string>
-                          <string>movement.start_date</string>
-                        </tuple>
-                      </list>
+                      <list/>
                     </value>
                 </item>
                 <item>
diff --git a/bt5/erp5_mrp/bt/change_log b/bt5/erp5_mrp/bt/change_log
index 03ab0293668f7eff3d036ebb0d8b68d83f408eb9..001aaa12850d37afcdfaeaefd6ca305e0528025a 100644
--- a/bt5/erp5_mrp/bt/change_log
+++ b/bt5/erp5_mrp/bt/change_log
@@ -1,3 +1,6 @@
+2011-06-22 yusei
+* Fix bug on production order material consumption tab.
+
 2011-06-15 yusei
 * production order movement may not have specialise category value.
 
diff --git a/bt5/erp5_mrp/bt/revision b/bt5/erp5_mrp/bt/revision
index 2b808f36cfa85e246f7c84822abab53c178d3ec2..495ae252f0ccba7cb30f39a2737131a2734406b6 100644
--- a/bt5/erp5_mrp/bt/revision
+++ b/bt5/erp5_mrp/bt/revision
@@ -1 +1 @@
-463
\ No newline at end of file
+464
\ No newline at end of file