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