Examining and Updating Contacts (Python)

Examining and Updating Contacts (Python)
 1db = impact.active_database
 2
 3impact.gui.output_toolbox.clear()
 4
 5impact.gui.output_toolbox.add("**** customer Contacts ****")
 6cust = db.customers.find_by_code("M")
 7
 8if not cust.isNone():
 9    contacts = cust.contacts
10
11    if not contacts.isNone():
12        # list the contacts
13        impact.gui.output_toolbox.add("Contact Count: " + str(contacts.count))
14
15        for contact in contacts:
16            impact.gui.output_toolbox.add("Name: " + contact.full_name)
17            impact.gui.output_toolbox.add("Title: " + contact.title)
18            impact.gui.output_toolbox.add("Job title: " + contact.job_title)
19            impact.gui.output_toolbox.add("Email: " + contact.email)
20            impact.gui.output_toolbox.add("Phone: " + contactsphone)
21            impact.gui.output_toolbox.add("Mobile: " + contact.mobile)
22            impact.gui.output_toolbox.add("Fax: " + contact.fax)
23
24            if contact.active:
25                impact.gui.output_toolbox.add("Active: Yes")
26            else:
27                impact.gui.output_toolbox.add("Active: No")
28
29            # custom field from database values
30            values = contact.values
31            customVal = values.load("CC_CUSTOM")
32            impact.gui.output_toolbox.add("Custom: " + customVal)
33            impact.gui.output_toolbox.add("")
34        # modify custom field and save in database
35        if contacts.count > 0:
36            values = contacts.item(1).values
37            values.save("CC_CUSTOM", "shoozle")
38            values.do_update()
39
40        # Add a new contact for this customer
41        newContact = None
42        try:
43            newContact = contacts.add("Walter Wall")
44        except Exception as exc:
45            pass
46        impact.gui.output_toolbox.add(f"Failed to create object via contacts.add(): {exc}")
47        newContact.email = "wally@walterwallcarpets.co.uk     "
48        newContact.do_update()  # run this script again to see the modifications just made...