push_pin
lock
Best way to create a new address format in Online
Hi there, i have a customer who'd like a custom address format. In order to do this on-premise i would just copy a layout that already exists, and change the variables i need. Therefore i constructed the following CRM-Script that should copy the 4 other lines, and add them to the addressformat table, with my changed values: #setLanguageLevel 4; SearchEngine se; se.addField('AddressFormat.addressformat_id'); se.addField('AddressFormat.name'); se.addField('AddressFormat.layout_id'); se.addField('AddressFormat.atype_idx'); se.addField('AddressFormat.address1_line'); se.addField('AddressFormat.address1_subpos'); se.addField('AddressFormat.address1_leadtext'); se.addField('AddressFormat.address1_zip'); se.addField('AddressFormat.address1_length'); se.addField('AddressFormat.address1_flags'); se.addField('AddressFormat.address1_mask'); se.addField('AddressFormat.address2_line'); se.addField('AddressFormat.address2_subpos'); se.addField('AddressFormat.address2_leadtext'); se.addField('AddressFormat.address2_zip'); se.addField('AddressFormat.address2_length'); se.addField('AddressFormat.address2_flags'); se.addField('AddressFormat.address2_mask'); se.addField('AddressFormat.address3_line'); se.addField('AddressFormat.address3_subpos'); se.addField('AddressFormat.address3_leadtext'); se.addField('AddressFormat.address3_zip'); se.addField('AddressFormat.address3_length'); se.addField('AddressFormat.address3_flags'); se.addField('AddressFormat.address3_mask'); se.addField('AddressFormat.city_line'); se.addField('AddressFormat.city_subpos'); se.addField('AddressFormat.city_leadtext'); se.addField('AddressFormat.city_zip'); se.addField('AddressFormat.city_length'); se.addField('AddressFormat.city_flags'); se.addField('AddressFormat.city_mask'); se.addField('AddressFormat.county_line'); se.addField('AddressFormat.county_subpos'); se.addField('AddressFormat.county_leadtext'); se.addField('AddressFormat.county_zip'); se.addField('AddressFormat.county_length'); se.addField('AddressFormat.county_flags'); se.addField('AddressFormat.county_mask'); se.addField('AddressFormat.state_line'); se.addField('AddressFormat.state_subpos'); se.addField('AddressFormat.state_leadtext'); se.addField('AddressFormat.state_zip'); se.addField('AddressFormat.state_length'); se.addField('AddressFormat.state_flags'); se.addField('AddressFormat.state_mask'); se.addField('AddressFormat.zip_line'); se.addField('AddressFormat.zip_subpos'); se.addField('AddressFormat.zip_leadtext'); se.addField('AddressFormat.zip_zip'); se.addField('AddressFormat.zip_length'); se.addField('AddressFormat.zip_flags'); se.addField('AddressFormat.zip_mask'); se.addField('AddressFormat.extraFlags'); se.addField('AddressFormat.labelLayout'); se.addField('AddressFormat.registered'); se.addField('AddressFormat.registered_associate_id'); se.addField('AddressFormat.updated'); se.addField('AddressFormat.updated_associate_id'); se.addField('AddressFormat.updatedCount'); se.addField('AddressFormat.labelLayout2'); se.addField('AddressFormat.isBuiltIn'); se.addCriteria('AddressFormat.addressformat_id', 'In', '211,212,213,214'); //print(se.executeHTMLTable()); SearchEngine sequence; sequence.addField('sequence.id'); sequence.addField('sequence.next_id'); sequence.addField('sequence.TableName'); sequence.addField('sequence.TableNumber'); sequence.addCriteria('sequence.id', 'In', '67'); sequence.execute(); Integer next = sequence.getField('sequence.next_id').toInteger(); //Copy the rows from the search engine to 4 new rows, named "Other - 2 address lines" for(se.execute(); !se.eof(); se.next()){ SearchEngine insert; insert.addData('AddressFormat.addressformat_id', next.toString()); insert.addData('AddressFormat.name', 'Other - 2 address lines'); insert.addData('AddressFormat.layout_id', se.getField('AddressFormat.layout_id')); insert.addData('AddressFormat.atype_idx', se.getField('AddressFormat.atype_idx')); insert.addData('AddressFormat.address1_line', se.getField('AddressFormat.address1_line')); insert.addData('AddressFormat.address1_subpos', se.getField('AddressFormat.address1_subpos')); insert.addData('AddressFormat.address1_leadtext', se.getField('AddressFormat.address1_leadtext')); insert.addData('AddressFormat.address1_zip', se.getField('AddressFormat.address1_zip')); insert.addData('AddressFormat.address1_length', se.getField('AddressFormat.address1_length')); insert.addData('AddressFormat.address1_flags', se.getField('AddressFormat.address1_flags')); insert.addData('AddressFormat.address1_mask', se.getField('AddressFormat.address1_mask')); insert.addData('AddressFormat.address2_line', se.getField('AddressFormat.address2_line')); insert.addData('AddressFormat.address2_subpos', se.getField('AddressFormat.address2_subpos')); insert.addData('AddressFormat.address2_leadtext', se.getField('AddressFormat.address2_leadtext')); insert.addData('AddressFormat.address2_zip', se.getField('AddressFormat.address2_zip')); insert.addData('AddressFormat.address2_length', se.getField('AddressFormat.address2_length')); insert.addData('AddressFormat.address2_flags', se.getField('AddressFormat.address2_flags')); insert.addData('AddressFormat.address2_mask', se.getField('AddressFormat.address2_mask')); insert.addData('AddressFormat.address3_line', '0'); insert.addData('AddressFormat.address3_subpos', '0'); insert.addData('AddressFormat.address3_leadtext', '0'); insert.addData('AddressFormat.address3_zip', se.getField('AddressFormat.address3_zip')); insert.addData('AddressFormat.address3_length', '0'); insert.addData('AddressFormat.address3_flags', se.getField('AddressFormat.address3_flags')); insert.addData('AddressFormat.address3_mask', se.getField('AddressFormat.address3_mask')); insert.addData('AddressFormat.city_line', '3'); insert.addData('AddressFormat.city_subpos', se.getField('AddressFormat.city_subpos')); insert.addData('AddressFormat.city_leadtext', se.getField('AddressFormat.city_leadtext')); insert.addData('AddressFormat.city_zip', se.getField('AddressFormat.city_zip')); insert.addData('AddressFormat.city_length', se.getField('AddressFormat.city_length')); insert.addData('AddressFormat.city_flags', se.getField('AddressFormat.city_flags')); insert.addData('AddressFormat.city_mask', se.getField('AddressFormat.city_mask')); insert.addData('AddressFormat.county_line', se.getField('AddressFormat.county_line')); insert.addData('AddressFormat.county_subpos', se.getField('AddressFormat.county_subpos')); insert.addData('AddressFormat.county_leadtext', se.getField('AddressFormat.county_leadtext')); insert.addData('AddressFormat.county_zip', se.getField('AddressFormat.county_zip')); insert.addData('AddressFormat.county_length', se.getField('AddressFormat.county_length')); insert.addData('AddressFormat.county_flags', se.getField('AddressFormat.county_flags')); insert.addData('AddressFormat.county_mask', se.getField('AddressFormat.county_mask')); insert.addData('AddressFormat.state_line', se.getField('AddressFormat.state_line')); insert.addData('AddressFormat.state_subpos', se.getField('AddressFormat.state_subpos')); insert.addData('AddressFormat.state_leadtext', se.getField('AddressFormat.state_leadtext')); insert.addData('AddressFormat.state_zip', se.getField('AddressFormat.state_zip')); insert.addData('AddressFormat.state_length', se.getField('AddressFormat.state_length')); insert.addData('AddressFormat.state_flags', se.getField('AddressFormat.state_flags')); insert.addData('AddressFormat.state_mask', se.getField('AddressFormat.state_mask')); insert.addData('AddressFormat.zip_line', '3'); insert.addData('AddressFormat.zip_subpos', se.getField('AddressFormat.zip_subpos')); insert.addData('AddressFormat.zip_leadtext', se.getField('AddressFormat.zip_leadtext')); insert.addData('AddressFormat.zip_zip', se.getField('AddressFormat.zip_zip')); insert.addData('AddressFormat.zip_length', se.getField('AddressFormat.zip_length')); insert.addData('AddressFormat.zip_flags', se.getField('AddressFormat.zip_flags')); insert.addData('AddressFormat.zip_mask', se.getField('AddressFormat.zip_mask')); insert.addData('AddressFormat.extraFlags', se.getField('AddressFormat.extraFlags')); insert.addData('AddressFormat.labelLayout', se.getField('AddressFormat.labelLayout')); insert.addData('AddressFormat.registered', se.getField('AddressFormat.registered')); insert.addData('AddressFormat.registered_associate_id', se.getField('AddressFormat.registered_associate_id')); insert.addData('AddressFormat.updated', se.getField('AddressFormat.updated')); insert.addData('AddressFormat.updated_associate_id', se.getField('AddressFormat.updated_associate_id')); insert.addData('AddressFormat.updatedCount', se.getField('AddressFormat.updatedCount')); insert.addData('AddressFormat.labelLayout2', se.getField('AddressFormat.labelLayout2')); insert.addData('AddressFormat.isBuiltIn', 'false'); insert.insert(); next = next + 1; } //Update sequence with the new next_id sequence.addData('sequence.next_id', next.toString()); sequence.addCriteria('sequence.id', 'In', '67'); sequence.update(); This Does not work however. I'm getting the following error, that does not really provide me with any help: So do i really have to send a SQL command to support for them to execute, or what is best practise for me to create a custom address format with the tools available? Thanks!
Dennis Aagaard Mortensgaard
21. März 2025 | 12:29 PM