Finding customers (Python)¶
Finding customers (Python)¶
1db = impact.active_database
2
3def DescribeCustomer(customer):
4 if customer.isNone():
5 return
6
7 impact.gui.output_toolbox.add("Code: " + customer.code)
8 impact.gui.output_toolbox.add("Name: " + customer.name)
9 impact.gui.output_toolbox.add("Name: " + customer.formatted_name)
10 impact.gui.output_toolbox.add("Key: " + str(customer.key))
11 impact.gui.output_toolbox.add("Active: " + str(customer.active))
12
13impact.gui.output_toolbox.clear()
14
15impact.gui.output_toolbox.add("**** All Customers ****")
16impact.gui.output_toolbox.add("customer Count: " + str(db.customers.count))
17for i in range(1, db.customers.count + 1):
18 pass
19 # DescribeCustomer db.customers.item(i)
20# Alternative syntax
21# for each cust in db.customers
22# DescribeCustomer cust
23# next
24
25impact.gui.output_toolbox.add("**** Find By Code 'DEF01' ****")
26DescribeCustomer(db.customers.find_by_code("DEF01"))
27
28impact.gui.output_toolbox.add("**** Find By Name 'Default' ****")
29DescribeCustomer(db.customers.find_by_name("Default"))
30
31impact.gui.output_toolbox.add("**** Find By SQL 'CS_NAME like 'Def'' ****")
32customers = db.customers.find_by_sql("CS_NAME like 'Def'", 0)
33
34for customer in customers:
35 DescribeCustomer(customer)
36impact.gui.output_toolbox.add("**** Find By SQL '<$name$> like 'Def'' (Substitution) ****")
37customers = db.customers.find_by_sql("<$name$> like 'Def'", 0)
38
39for customer in customers:
40 DescribeCustomer(customer)
41impact.gui.output_toolbox.add("**** Find by SQL <$active$> (Substitution) ****")
42customers = db.customers.find_by_sql("<$active$> = 1", 0)
43
44for customer in customers:
45 DescribeCustomer(customer)
46impact.gui.output_toolbox.add("**** Count by SQL <$activeclause$> and <$inactiveclause$> (Substitution) ****")
47impact.gui.output_toolbox.add("customer Count: " + str(db.customers.count))
48impact.gui.output_toolbox.add("Active customer Count: " + str(db.customers.count_by_sql("<$activeclause$>")))
49impact.gui.output_toolbox.add("Inactive customer Count: " + str(db.customers.count_by_sql("<$inactiveclause$>")))