Commit cbecda4d authored by Sebastien Robin's avatar Sebastien Robin

- added xml import for checkbook receptions

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@15524 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 2806f818
from zLOG import LOG
from Products.ERP5Type.Message import Message
from Ft.Xml import Parse
def CheckbookReception_importItemFile(self, import_file=None, REQUEST=None, **kw):
reference_dict = {}
reference_dict['CHEQUIER_COMPTE_COURANT_ORDINAIRE'] = 'CHCCO'
reference_dict['CHEQUIER_COMPTE_ORDINAIRE_DU_PERSONNEL'] = 'CHCOP'
reference_dict['BON_VIREMENT'] = 'BV'
# We will build a several listbox like it is already done into the user interface
# A listbox will be build for every resource
xml_content = Parse(import_file)
file_item_list = xml_content.xpath('//object')
# First, construct a dictionnary for every resource
import_dict = {}
for item in file_item_list:
checkbook_id = item.xpath("string(@id)")
check_quantity = str(item.xpath("string(./check_quantity)"))
reference_min = str(item.xpath("string(./reference_min)"))
reference_max = str(item.xpath("string(./reference_max)"))
internal_account_number = item.xpath("string(./numero_interne)")
checkbook_type = item.xpath("string(./checkbook_type)")
type = str(item.xpath("string(./checkbook_type)"))
gid = str(item.xpath("string(./gid)"))
checkbook_dict = import_dict.setdefault(checkbook_type, {})
account_dict = checkbook_dict.setdefault(internal_account_number, {})
item_dict = account_dict.setdefault(gid, {})
item_dict['reference_min'] = reference_min
item_dict['reference_max'] = reference_max
item_dict['check_quantity'] = check_quantity
item_dict['internal_account_number'] = internal_account_number
listbox_dict = {}
for (checkbook_type, checkbook_dict) in import_dict.items():
listbox = []
i = 0
resource_list = self.portal_catalog(portal_type=['Checkbook Model',
'Check Model'],
reference = reference_dict[checkbook_type])
if len(resource_list) != 1:
raise ValueError, "The import does not support this type : %s" % checkbook_type
resource = resource_list[0].getObject()
resource_relative_url = resource.getRelativeUrl()
resource_amount_dict = {}
is_checkbook = 0
if resource.getPortalType() == 'Checkbook Model':
is_checkbook = 1
if is_checkbook:
for amount in resource.objectValues(
portal_type="Checkbook Model Check Amount Variation"):
resource_amount_dict["%i" % amount.getQuantity()] = "check_amount/%s" % \
amount.getRelativeUrl()
for (account, account_dict) in checkbook_dict.items():
for (gid, item_dict) in account_dict.items():
listbox_line = {}
listbox_line['listbox_key'] = '%05i' % i
listbox_line['reference_range_min'] = item_dict['reference_min']
listbox_line['reference_range_max'] = item_dict['reference_max']
listbox_line['destination_payment_reference'] = item_dict['internal_account_number']
listbox_line['quantity'] = 1
if is_checkbook:
listbox_line['check_amount'] = resource_amount_dict[item_dict['check_quantity']]
listbox.append(listbox_line)
listbox_dict[resource_relative_url] = listbox
# First make sure there is no errors
message = None
error_value = 0
for (resource_relative_url, listbox) in listbox_dict.items():
REQUEST['resource'] = resource_relative_url
(error_value, field_error_dict) = self.CheckDelivery_generateCheckDetailInputDialog(
verbose=1,
listbox=listbox,
batch_mode=1,
resource=resource_relative_url,
REQUEST=REQUEST)
if error_value:
message = field_error_dict.values()[0].error_text
redirect_url = '%s/view?%s' % ( self.absolute_url()
, 'portal_status_message=%s' % message)
REQUEST['RESPONSE'].redirect( redirect_url )
# Then create everything
if not error_value:
for (resource_relative_url, listbox) in listbox_dict.items():
REQUEST['resource'] = resource_relative_url
self.CheckDetail_saveFastInputLine(listbox=listbox, check=0,
resource=resource_relative_url,
REQUEST=REQUEST)
message = Message(domain='ui', message='File Imported successfully')
return message
......@@ -67,6 +67,8 @@
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
# Verbose is used when we do not want to use the user interface in order\n
# to have a nice error message\n
from Products.ERP5Type.Message import Message\n
from Products.ERP5Type.Document import newTempBase\n
\n
......@@ -132,9 +134,15 @@ else:\n
string_index=destination_payment_reference)]\n
if len(account_list)==0:\n
message = \'This account number does not exist\'\n
if verbose:\n
message = Message(domain=\'ui\',message=\'$reference account number does not exist\',\n
mapping={\'reference\':destination_payment_reference})\n
generate_error(line,\'destination_payment_reference\',message)\n
elif len(account_list)>1:\n
message = \'This account number exist several times\'\n
if verbose:\n
message = Message(domain=\'ui\',message=\'$reference account number exist several times\',\n
mapping={\'reference\':destination_payment_reference})\n
generate_error(line,\'destination_payment_reference\',message)\n
else:\n
account = account_list[0]\n
......@@ -186,7 +194,7 @@ for i in xrange(len(listbox), 10):\n
listbox.append({\'quantity\':1})\n
\n
if batch_mode:\n
return error_value\n
return (error_value, field_error_dict)\n
else:\n
context.Base_updateDialogForm(listbox=listbox\n
, portal_type = context.getPortalType()\n
......@@ -225,7 +233,7 @@ else:\n
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>listbox=None,batch_mode=0,resource=None,previous_resource=None,**kw</string> </value>
<value> <string>listbox=None,batch_mode=0,resource=None,previous_resource=None,verbose=0,**kw</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
......@@ -245,7 +253,7 @@ else:\n
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>4</int> </value>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
......@@ -255,6 +263,7 @@ else:\n
<string>batch_mode</string>
<string>resource</string>
<string>previous_resource</string>
<string>verbose</string>
<string>kw</string>
<string>Products.ERP5Type.Message</string>
<string>Message</string>
......@@ -317,6 +326,7 @@ else:\n
<int>0</int>
<none/>
<none/>
<int>0</int>
</tuple>
</value>
</item>
......
......@@ -82,7 +82,10 @@ if listbox is None:\n
\n
# get the list of movement we need to create\n
# First call the first scripts wich check many things\n
error_value = context.CheckDelivery_generateCheckDetailInputDialog(\n
error_value = 0\n
field_error_dict = {}\n
if check:\n
(error_value, field_error_dict) = context.CheckDelivery_generateCheckDetailInputDialog(\n
listbox=listbox,batch_mode=1,**kw)\n
\n
request = context.REQUEST\n
......@@ -90,7 +93,7 @@ resource = request.get(\'resource\',None)\n
previous_resource = request.get(\'previous_resource\',None)\n
line_portal_type = "Checkbook Reception Line"\n
\n
if error_value or (previous_resource not in(\'\',None) and previous_resource!=resource):\n
if (error_value or (previous_resource not in(\'\',None) and previous_resource!=resource)):\n
return context.CheckDelivery_generateCheckDetailInputDialog(\n
listbox=listbox,batch_mode=0,**kw)\n
\n
......@@ -179,7 +182,7 @@ request[ \'RESPONSE\' ].redirect( redirect_url )\n
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>listbox=None, **kw</string> </value>
<value> <string>listbox=None, check=1, **kw</string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
......@@ -207,13 +210,14 @@ request[ \'RESPONSE\' ].redirect( redirect_url )\n
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>listbox</string>
<string>check</string>
<string>kw</string>
<string>_getattr_</string>
<string>context</string>
......@@ -224,8 +228,10 @@ request[ \'RESPONSE\' ].redirect( redirect_url )\n
<string>redirect_url</string>
<string>None</string>
<string>_getitem_</string>
<string>_apply_</string>
<string>error_value</string>
<string>field_error_dict</string>
<string>_apply_</string>
<string>_getiter_</string>
<string>resource</string>
<string>previous_resource</string>
<string>line_portal_type</string>
......@@ -234,7 +240,6 @@ request[ \'RESPONSE\' ].redirect( redirect_url )\n
<string>create_line</string>
<string>aggregate_data_list</string>
<string>number_of_line_created</string>
<string>_getiter_</string>
<string>line</string>
<string>add_line</string>
<string>quantity</string>
......@@ -250,6 +255,7 @@ request[ \'RESPONSE\' ].redirect( redirect_url )\n
<string>len</string>
<string>check_type_relative_url</string>
<string>check_type</string>
<string>_inplacevar_</string>
</tuple>
</value>
</item>
......@@ -263,6 +269,7 @@ request[ \'RESPONSE\' ].redirect( redirect_url )\n
<value>
<tuple>
<none/>
<int>1</int>
</tuple>
</value>
</item>
......
......@@ -214,7 +214,7 @@ else:\n
aggregate_list = []\n
for i in xrange(quantity):\n
if create == 1:\n
item = module.newContent()\n
item = module.newContent(activate_kw={\'tag\': tag, \'priority\':4})\n
item.setDestination(destination)\n
if destination_payment_value is not None:\n
item.setDestinationPaymentValue(destination_payment_value)\n
......@@ -236,7 +236,7 @@ for i in xrange(quantity):\n
for j in reference_list:\n
#tag = \'check_%s_%s_%s\' % (model, destination_payment_uid, j)\n
#encountered_check_identifiers_dict[tag] = None\n
check = item.newContent(portal_type=\'Check\', title=j, activate_kw={\'tag\': tag})\n
check = item.newContent(portal_type=\'Check\', title=j, activate_kw={\'tag\': tag, \'priority\':4})\n
check.setDestination(destination_section)\n
check.setStartDate(start_date)\n
check.setReference(j)\n
......
<?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>REQUEST = context.REQUEST\n
message = context.CheckbookReception_importItemFile(import_file=import_file, REQUEST=REQUEST, **kw)\n
redirect_url = \'%s/view?%s\' % ( context.absolute_url()\n
, \'portal_status_message=%s\' % message\n
)\n
request = context.REQUEST\n
request[ \'RESPONSE\' ].redirect( redirect_url )\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>import_file=None, **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>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>import_file</string>
<string>kw</string>
<string>_getattr_</string>
<string>context</string>
<string>REQUEST</string>
<string>_apply_</string>
<string>message</string>
<string>redirect_url</string>
<string>request</string>
<string>_getitem_</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<none/>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CheckbookReception_callImportItemFile</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_function</string> </key>
<value> <string>CheckbookReception_importItemFile</string> </value>
</item>
<item>
<key> <string>_module</string> </key>
<value> <string>CheckbookReceptionImport</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CheckbookReception_importItemFile</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>CheckbookReception_callImportItemFile</string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string>multipart/form-data</string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>your_import_file</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CheckbookReception_viewImportItemFileDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>CheckbookReception_importItemFile</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_view_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Checkbook Reception import Item File</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="FileField" module="Products.Formulator.StandardFields"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>your_import_file</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>40</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>File</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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>destination = context.getDestination()\n
if destination is not None:\n
destination = \'%s/%s\' % (destination,\'caveau/auxiliaire/encaisse_des_billets_et_monnaies\')\n
return destination\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>*args, **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>args</string>
<string>kw</string>
<string>_getattr_</string>
<string>context</string>
<string>destination</string>
<string>None</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>copy_of_CheckbookMovement_getBaobabDestination</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
311
\ No newline at end of file
313
\ No newline at end of file
CheckbookReceptionImport
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment