diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_internal_matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_internal_matrixbox.xml
index 7acb73d929589f9e0ba9e229632fb9cc9b5c817d..9c1d568d01742f8942d7d7ee0929febadd9c751a 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_internal_matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_internal_matrixbox.xml
@@ -111,6 +111,10 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
@@ -125,9 +129,7 @@
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -151,7 +153,9 @@
                 </item>
                 <item>
                     <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
                 </item>
                 <item>
                     <key> <string>external_validator</string> </key>
@@ -171,15 +175,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -219,6 +219,10 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path</string> </value>
@@ -346,39 +350,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:here.Resource_getDefaultInternalSupplyLine().SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.Resource_getDefaultInternalSupplyLine().SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.Resource_getDefaultInternalSupplyLine().SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[2]</string> </value>
+            <value> <string>python: context.Resource_getDefaultInternalSupplyLine() is not None</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_purchase_matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_purchase_matrixbox.xml
index 407ebf5561f6a2ee227920f8306a4f67f0e9f6f9..bd461cafa67ed941a60e9fed162de7bd096c1f13 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_purchase_matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_purchase_matrixbox.xml
@@ -111,6 +111,10 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
@@ -125,9 +129,7 @@
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -151,7 +153,9 @@
                 </item>
                 <item>
                     <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
                 </item>
                 <item>
                     <key> <string>external_validator</string> </key>
@@ -171,15 +175,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -219,10 +219,18 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path</string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string>Purchase Supply Cell</string> </value>
@@ -342,39 +350,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:here.Resource_getDefaultPurchaseSupplyLine().SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.Resource_getDefaultPurchaseSupplyLine().SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.Resource_getDefaultPurchaseSupplyLine().SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[2]</string> </value>
+            <value> <string>python: context.Resource_getDefaultPurchaseSupplyLine() is not None</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_sale_matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_sale_matrixbox.xml
index 9bf76115a386bf29d2e32acb0d895fa9bc8be1ce..4b72d0e18389a2a27b94dcdb4daf904a61539a2f 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_sale_matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Base_viewPDMFieldLibrary/my_resource_sale_matrixbox.xml
@@ -111,6 +111,10 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
@@ -125,9 +129,7 @@
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -151,7 +153,9 @@
                 </item>
                 <item>
                     <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
                 </item>
                 <item>
                     <key> <string>external_validator</string> </key>
@@ -171,15 +175,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -219,10 +219,18 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path</string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string>Sale Supply Cell</string> </value>
@@ -342,39 +350,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:here.Resource_getDefaultSaleSupplyLine().SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.Resource_getDefaultSaleSupplyLine().SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.Resource_getDefaultSaleSupplyLine().SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[2]</string> </value>
+            <value> <string>python: context.Resource_getDefaultSaleSupplyLine() is not None</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewAdditionalPrice/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewAdditionalPrice/matrixbox.xml
index c24c1b4c195495c69c05f95d1d78e924d72fcb84..cf8391b6fdf62318fced493c3ce3e6bdd6d7bde9 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewAdditionalPrice/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewAdditionalPrice/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -217,7 +219,7 @@
                 </item>
                 <item>
                     <key> <string>as_cell_range_script_id</string> </key>
-                    <value> <string></string> </value>
+                    <value> <string>SupplyLine_asOptionVariationCellRange</string> </value>
                 </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
@@ -335,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_additional_price\', matrixbox=1, display_base_category=0, option_variation=1)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_additional_price\', matrixbox=1, display_base_category=0, option_variation=1)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_additional_price\', matrixbox=1, display_base_category=0, option_variation=1)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/matrixbox.xml
index 5655a8fd946a7b0361ea4ad9d6d637bf72d5075b..071fff2fa03299bad51cd0789cda1e86b89e2c9d 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -335,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/matrixbox.xml
index 5bc588553b25c99c76bb74a288a64d9475e4bfe5..57b0384157cdd2dad18cf710d062b698edcc3135 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -217,7 +219,7 @@
                 </item>
                 <item>
                     <key> <string>as_cell_range_script_id</string> </key>
-                    <value> <string></string> </value>
+                    <value> <string>SupplyLine_asCellRange</string> </value>
                 </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
@@ -335,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_discount_ratio\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_discount_ratio\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_discount_ratio\', matrixbox=1, display_base_category=0)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/matrixbox1.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/matrixbox1.xml
index 09bf73403f4a26663112e16eacdd4c474fe51dfa..1d63f69e76316394c209a292f9fffec92cb94703 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/matrixbox1.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/matrixbox1.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -217,7 +219,7 @@
                 </item>
                 <item>
                     <key> <string>as_cell_range_script_id</string> </key>
-                    <value> <string></string> </value>
+                    <value> <string>SupplyLine_asOptionVariationCellRange</string> </value>
                 </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
@@ -335,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_discount_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_discount_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_discount_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewExclusiveDiscountRatio/matrixbox1.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewExclusiveDiscountRatio/matrixbox1.xml
index 4e176ff6e7b39f95337ee645f8e6e3bc6c62b33b..2158dd9bae0fae3232874d448bbfd76d747d6b09 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewExclusiveDiscountRatio/matrixbox1.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewExclusiveDiscountRatio/matrixbox1.xml
@@ -215,13 +215,21 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path_optional_exclusive_discount_ratio</string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
-                    <value> <string>Sale Supply Cell</string> </value>
+                    <value> <string>Internal Supply Cell</string> </value>
                 </item>
                 <item>
                     <key> <string>cell_range</string> </key>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/matrixbox.xml
index 9833e051434634bfccef173732eecc7fc7ef642e..14aac456ef208ebf2ec456b1b5720246d15e13f7 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -217,7 +219,7 @@
                 </item>
                 <item>
                     <key> <string>as_cell_range_script_id</string> </key>
-                    <value> <string></string> </value>
+                    <value> <string>SupplyLine_asCellRange</string> </value>
                 </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
@@ -335,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_surcharge_ratio\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_surcharge_ratio\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_surcharge_ratio\', matrixbox=1, display_base_category=0)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/matrixbox1.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/matrixbox1.xml
index 0d423c148e8797925f26c63d3786838af61cf5e9..1e0146f8fdf1a2909d5286f77cf4d3628846a226 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/matrixbox1.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/matrixbox1.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -217,7 +219,7 @@
                 </item>
                 <item>
                     <key> <string>as_cell_range_script_id</string> </key>
-                    <value> <string></string> </value>
+                    <value> <string>SupplyLine_asOptionVariationCellRange</string> </value>
                 </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
@@ -335,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_surcharge_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_surcharge_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_surcharge_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewAdditionalPrice/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewAdditionalPrice/matrixbox.xml
index 4e61e76d8b62518cb064c5a602f49dc64998d673..92de960ffbfcedb95efdc07752c81d9045765d63 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewAdditionalPrice/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewAdditionalPrice/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,6 +217,10 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asOptionVariationCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path_optional_additional_price</string> </value>
@@ -331,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_additional_price\', matrixbox=1, display_base_category=0, option_variation=1)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_additional_price\', matrixbox=1, display_base_category=0, option_variation=1)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_additional_price\', matrixbox=1, display_base_category=0, option_variation=1)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/matrixbox.xml
index 794a7c627e6896ef372b6b9fcd9ca5d33fed2e88..35f19f6168f07f12dc6635aa5ecb68b01660e00f 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,10 +217,18 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path</string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string>Purchase Supply Cell</string> </value>
@@ -327,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/matrixbox.xml
index 425792f445e5174a82db2b63bd4c124b8939bb0b..90ada6a8aefd3696c22959500ede06a7782a1887 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,6 +217,10 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path_discount_ratio</string> </value>
@@ -331,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_discount_ratio\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_discount_ratio\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_discount_ratio\', matrixbox=1, display_base_category=0)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/matrixbox1.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/matrixbox1.xml
index 2df4b5c4d05f738ba1919648be706d1aaaa39a6f..f5cddae113e355365c45ae3b6d8b44371edf6ca0 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/matrixbox1.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/matrixbox1.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,6 +217,10 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asOptionVariationCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path_optional_discount_ratio</string> </value>
@@ -331,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_discount_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_discount_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_discount_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/matrixbox.xml
index 95c74c86ee5905e501cc5afd9bfee1cadaef9d42..6565efaad51aa40088b50732e26d2a57a7eed637 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,6 +217,10 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path_surcharge_ratio</string> </value>
@@ -331,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_surcharge_ratio\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_surcharge_ratio\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_surcharge_ratio\', matrixbox=1, display_base_category=0)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/matrixbox1.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/matrixbox1.xml
index a0e623c5a2e501c21e096bc1828544ecb3bc3714..0bf50461035a47ad37ff20ef9d49ee6c13f4d719 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/matrixbox1.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/matrixbox1.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,6 +217,10 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asOptionVariationCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path_optional_surcharge_ratio</string> </value>
@@ -331,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_surcharge_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_surcharge_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_surcharge_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Resource_viewDefaultSupplyLineReference/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Resource_viewDefaultSupplyLineReference/matrixbox.xml
index 0efa3e7b85938235677a829d09cb324e13d4c2ac..6ce488d108cdf2a4d858a68615a301cdfa9bb702 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Resource_viewDefaultSupplyLineReference/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/Resource_viewDefaultSupplyLineReference/matrixbox.xml
@@ -111,10 +111,18 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
@@ -330,18 +338,15 @@
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:here.default_supply_line.SupplyLine_asCellRange(base_id=\'reference\', matrixbox=1, display_base_category=0)[1]</string> </value>
+            <value> <string>python:here.Resource_getDefaultSaleSupplyLine().SupplyLine_asCellRange(base_id=\'reference\', matrixbox=1, display_base_category=0)[1]</string> </value>
         </item>
       </dictionary>
     </pickle>
@@ -349,18 +354,15 @@
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:here.default_supply_line.SupplyLine_asCellRange(base_id=\'reference\', matrixbox=1, display_base_category=0)[0]</string> </value>
+            <value> <string>python:here.Resource_getDefaultSaleSupplyLine().SupplyLine_asCellRange(base_id=\'reference\', matrixbox=1, display_base_category=0)[0]</string> </value>
         </item>
       </dictionary>
     </pickle>
@@ -368,18 +370,15 @@
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:here.default_supply_line.SupplyLine_asCellRange(base_id=\'reference\', matrixbox=1, display_base_category=0)[2]</string> </value>
+            <value> <string>python:here.Resource_getDefaultSaleSupplyLine().SupplyLine_asCellRange(base_id=\'reference\', matrixbox=1, display_base_category=0)[2]</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewAdditionalPrice/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewAdditionalPrice/matrixbox.xml
index bad123f200e85f254e682fdeeb7baabe6ea798e7..b22a4ab0f364767266473fc26082e52e0dd5d321 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewAdditionalPrice/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewAdditionalPrice/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,10 +217,18 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asOptionVariationCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path_optional_additional_price</string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string>Sale Supply Cell</string> </value>
@@ -327,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_additional_price\', matrixbox=1, display_base_category=0, option_variation=1)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_additional_price\', matrixbox=1, display_base_category=0, option_variation=1)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_additional_price\', matrixbox=1, display_base_category=0, option_variation=1)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/matrixbox.xml
index 84214cdc509e100e407f814115b2bdf62d2b9a88..8262e3708e0aaa6610cf80e34bc0c0ba9d20e640 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,10 +217,18 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path</string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string>Sale Supply Cell</string> </value>
@@ -327,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path\', matrixbox=1, display_base_category=0)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewDiscountRatio/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewDiscountRatio/matrixbox.xml
index 08fd29413c9abe60de57909e3ee8e76012c2dccc..428097b48146460f770cd643204c75f7b401d7eb 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewDiscountRatio/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewDiscountRatio/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,10 +217,18 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path_discount_ratio</string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string>Sale Supply Cell</string> </value>
@@ -327,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_discount_ratio\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_discount_ratio\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_discount_ratio\', matrixbox=1, display_base_category=0)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewDiscountRatio/matrixbox1.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewDiscountRatio/matrixbox1.xml
index ad65f0850d3c3ac697b065f7468e0c4491c28d22..c74dcca74e28081528c990e1b823a2d6ccfcd056 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewDiscountRatio/matrixbox1.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewDiscountRatio/matrixbox1.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,10 +217,18 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asOptionVariationCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path_optional_discount_ratio</string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string>Sale Supply Cell</string> </value>
@@ -327,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_discount_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_discount_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_discount_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewSurchargeRatio/matrixbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewSurchargeRatio/matrixbox.xml
index ccf87d330cc0ad65431cec8af713613b7c7b0778..fc1368ecdb1cb1d15c5ce9d92dbc8ce2f541700d 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewSurchargeRatio/matrixbox.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewSurchargeRatio/matrixbox.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,10 +217,18 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path_surcharge_ratio</string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string>Sale Supply Cell</string> </value>
@@ -327,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_surcharge_ratio\', matrixbox=1, display_base_category=0)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_surcharge_ratio\', matrixbox=1, display_base_category=0)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_surcharge_ratio\', matrixbox=1, display_base_category=0)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewSurchargeRatio/matrixbox1.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewSurchargeRatio/matrixbox1.xml
index 62d40bdffe31902c23c2288a5cbef844beca00a8..da2254f41bfd230f8ffc5bbbedfd56184876e7cb 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewSurchargeRatio/matrixbox1.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewSurchargeRatio/matrixbox1.xml
@@ -111,19 +111,25 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>columns</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>css_class</string> </key>
@@ -167,15 +173,11 @@
                 </item>
                 <item>
                     <key> <string>lines</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>tabs</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -215,10 +217,18 @@
                     <key> <string>alternate_name</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>as_cell_range_script_id</string> </key>
+                    <value> <string>SupplyLine_asOptionVariationCellRange</string> </value>
+                </item>
                 <item>
                     <key> <string>cell_base_id</string> </key>
                     <value> <string>path_optional_surcharge_ratio</string> </value>
                 </item>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>cell_portal_type</string> </key>
                     <value> <string>Sale Supply Cell</string> </value>
@@ -327,61 +337,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_surcharge_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[1]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_surcharge_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.SupplyLine_asCellRange(\'path_optional_surcharge_ratio\', matrixbox=1, display_base_category=0, option_variation=1)[2]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_asOptionVariationCellRange.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_asOptionVariationCellRange.xml
new file mode 100644
index 0000000000000000000000000000000000000000..99bcabe0cd9c1c2499d4a4fcd0f52b9551158426
--- /dev/null
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_asOptionVariationCellRange.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </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>kw[\'option_variation\'] = True\n
+return context.SupplyLine_asCellRange(**kw)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>kw</string>
+                            <string>True</string>
+                            <string>_write_</string>
+                            <string>_apply_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SupplyLine_asOptionVariationCellRange</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_pdm/bt/revision b/bt5/erp5_pdm/bt/revision
index f9945368e6a42bd79f66d17333a2c68a0d5f1e96..1e59c84a3a5150b77a9a325861bcd9cc79d709ea 100644
--- a/bt5/erp5_pdm/bt/revision
+++ b/bt5/erp5_pdm/bt/revision
@@ -1 +1 @@
-419
\ No newline at end of file
+420
\ No newline at end of file