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...