<?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>Python_magic</string> </key>
            <value>
              <none/>
            </value>
        </item>
        <item>
            <key> <string>Script_magic</string> </key>
            <value> <int>3</int> </value>
        </item>
        <item>
            <key> <string>__ac_local_roles__</string> </key>
            <value>
              <none/>
            </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>context.log(\'erp5_account\', \'%s is deprecated, use %s instead\'\n
         % (script.getId(), \'Account_statBalance\'))\n
\n
params = {}\n
pref = context.getPortalObject().portal_preferences\n
precision = context.Base_getPreferredPrecision()\n
\n
###\n
# Merge selection parameters in kw\n
selection_params = None\n
if selection_name is not None:\n
  selection_params = context.portal_selections.getSelectionParamsFor(selection_name)\n
  kw.update(selection_params)\n
\n
###\n
# Get the node UID\n
params[\'node_uid\'] = kw.get(\'node_uid\', context.getUid())\n
\n
###\n
# Get the \'where_expression\' parameter\n
if kw.has_key(\'where_expression\'):\n
  params[\'where_expression\'] = kw[\'where_expression\']\n
\n
###\n
# Get the \'resource_uid\' parameter\n
if kw.get(\'resource\'):\n
  try:\n
    params[\'resource_uid\'] = context.restrictedTraverse(selection_params[\'resource\']).getUid()\n
  except (KeyError, AttributeError):\n
    pass\n
\n
###\n
# Get the \'from_date\' parameter\n
if kw.get(\'no_from_date\', 0):\n
  from_date = None\n
else:\n
  from_date = kw.get( \'from_date\'\n
                    , pref.getPreferredAccountingTransactionFromDate()\n
                    )\n
if from_date:\n
  params[\'from_date\'] = from_date\n
\n
###\n
# Get the \'at_date\' parameter\n
at_date = kw.get( \'at_date\'\n
                , pref.getPreferredAccountingTransactionAtDate()\n
                )\n
if at_date:\n
  params[\'at_date\'] = at_date\n
\n
###\n
# Get the \'to_date\' parameter\n
to_date = kw.get( \'to_date\'\n
                , None\n
                )\n
if to_date:\n
  params[\'to_date\'] = to_date\n
\n
###\n
# Get the \'simulation_state\' parameter\n
# Sometimes \'simulation_state\' is now as \'transaction_simulation_state\'\n
simulation_state = kw.get( \'transaction_simulation_state\'\n
                         , None\n
                         )\n
if not simulation_state:\n
  simulation_state = kw.get( \'simulation_state\'\n
                           , pref.getPreferredAccountingTransactionSimulationStateList()\n
                           )\n
if simulation_state:\n
  params[\'transaction_simulation_state\'] = simulation_state\n
\n
###\n
# Get the \'section_category\' parameter\n
# Sometimes \'section_category\' is now as \'transaction_section_category\'\n
section_category = kw.get( \'transaction_section_category\'\n
                         , None\n
                         )\n
if not section_category:\n
  section_category = kw.get( \'section_category\'\n
                           , pref.getPreferredAccountingTransactionSectionCategory()\n
                           )\n
if section_category:\n
  params[\'transaction_section_category\'] = section_category\n
\n
###\n
# Get omit parameters\n
if kw.get(\'omit_input\') : params[\'omit_input\']  = 1\n
if kw.get(\'omit_output\'): params[\'omit_output\'] = 1\n
\n
###\n
# Get payment and mirror related parameters\n
MARKER = []\n
no_payment_uid        = MARKER\n
no_mirror_section_uid = MARKER\n
payment_uid           = MARKER\n
mirror_section_uid    = MARKER\n
if selection_params != None:\n
  no_payment_uid        = selection_params.get(\'no_payment_uid\',        MARKER)\n
  no_mirror_section_uid = selection_params.get(\'no_mirror_section_uid\', MARKER)\n
  payment_uid           = selection_params.get(\'payment_uid\',           MARKER)\n
  mirror_section_uid    = selection_params.get(\'mirror_section_uid\',    MARKER)\n
if no_payment_uid        is not MARKER: params[\'no_payment_uid\']        = 1\n
if no_mirror_section_uid is not MARKER: params[\'no_mirror_section_uid\'] = 1\n
if payment_uid           is not MARKER: params[\'payment_uid\']           = payment_uid\n
if mirror_section_uid    is not MARKER: params[\'mirror_section_uid\']    = mirror_section_uid\n
\n
###\n
# Clean up date params.\n
\n
# Don\'t use the from_date parameter if from_date_summary is present\n
if kw.get(\'from_date_summary\', 0) and params.has_key(\'from_date\'):\n
  del params[\'from_date\']\n
\n
# \'to_date\' exclude the use of \'from_date\' and \'at_date\'\n
# In fact, \'to_date\' is handle by the SQL query as "at_date minus one day"\n
if params.has_key(\'to_date\'):\n
  if params.has_key(\'at_date\'):   del params[\'at_date\']\n
  if params.has_key(\'from_date\'): del params[\'from_date\']\n
\n
###\n
# Include the previous balance\n
if params.has_key(\'from_date\') and params.has_key(\'at_date\'):\n
  del params[\'from_date\']\n
\n
###\n
# Call the query with selected parameters\n
# context.log("SQL with %s \\n" % params, context.Account_zGetTotalQuantity(src__=1, **params))\n
result = context.Account_zGetTotalQuantity(**params)\n
row = result[0]\n
\n
###\n
# Round the result to avoid float bad precision\n
# TODO: use currency precision\n
return context.Base_getRoundValue(row.total_price or 0.0, precision)\n
</string> </value>
        </item>
        <item>
            <key> <string>_code</string> </key>
            <value>
              <none/>
            </value>
        </item>
        <item>
            <key> <string>_filepath</string> </key>
            <value>
              <none/>
            </value>
        </item>
        <item>
            <key> <string>_owner</string> </key>
            <value>
              <none/>
            </value>
        </item>
        <item>
            <key> <string>_params</string> </key>
            <value> <string>selection, selection_name, **kw</string> </value>
        </item>
        <item>
            <key> <string>_proxy_roles</string> </key>
            <value>
              <tuple>
                <string>Manager</string>
              </tuple>
            </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>2</int> </value>
                    </item>
                    <item>
                        <key> <string>co_varnames</string> </key>
                        <value>
                          <tuple>
                            <string>selection</string>
                            <string>selection_name</string>
                            <string>kw</string>
                            <string>_getattr_</string>
                            <string>context</string>
                            <string>script</string>
                            <string>params</string>
                            <string>pref</string>
                            <string>precision</string>
                            <string>None</string>
                            <string>selection_params</string>
                            <string>_write_</string>
                            <string>_getitem_</string>
                            <string>KeyError</string>
                            <string>AttributeError</string>
                            <string>from_date</string>
                            <string>at_date</string>
                            <string>to_date</string>
                            <string>simulation_state</string>
                            <string>section_category</string>
                            <string>MARKER</string>
                            <string>no_payment_uid</string>
                            <string>no_mirror_section_uid</string>
                            <string>payment_uid</string>
                            <string>mirror_section_uid</string>
                            <string>_apply_</string>
                            <string>result</string>
                            <string>row</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>Account_statSourceBalance</string> </value>
        </item>
        <item>
            <key> <string>warnings</string> </key>
            <value>
              <tuple/>
            </value>
        </item>
      </dictionary>
    </pickle>
  </record>
</ZopeData>
