41
41
def _get_lines(self, form):
44
if form['category'] == 'Customer' or form['category'] == 'Supplier' :
45
cat_id=pooler.get_pool(self.cr.dbname).get('res.partner.category').search(self.cr,self.uid,[('name','=',form['category'])])
46
cat_id+=pooler.get_pool(self.cr.dbname).get('res.partner.category').search(self.cr,self.uid,[('parent_id','child_of',cat_id)])
48
cat_id=pooler.get_pool(self.cr.dbname).get('res.partner.category').search(self.cr,self.uid,[('name','in',['Customer','Supplier'])])
49
cat_id+=pooler.get_pool(self.cr.dbname).get('res.partner.category').search(self.cr,self.uid,[('parent_id','child_of',cat_id)])
51
self.cr.execute('SELECT partner_id from res_partner_category_rel where category_id in ('+','.join(map(str,cat_id))+')')
52
data=self.cr.fetchall()
54
self.partner_ids=list(set([x[0] for x in data]))
56
43
account_move_line_obj = pooler.get_pool(self.cr.dbname).get('account.move.line')
57
44
line_query = account_move_line_obj._query_get(self.cr, self.uid, obj='line',
58
45
context={'fiscalyear': form['fiscalyear']})
46
cat = form['category']
47
self.acc_type = (cat == 'Supplier' and "('payable')") or (cat == 'Customer' and "('receivable')") or "'payable', 'receivable'"
59
48
self.cr.execute("SELECT DISTINCT res_partner.id AS id, " \
60
49
"res_partner.name AS name " \
61
50
"FROM res_partner, account_move_line AS line, account_account " \
62
51
"WHERE (line.account_id=account_account.id) " \
63
"AND (line.reconcile_id IS NULL) " \
52
# "AND (line.reconcile_id IS NULL) " \
64
53
"AND (line.partner_id=res_partner.id) " \
65
54
"AND " + line_query + " " \
66
55
"AND (account_account.company_id = %s) " \
67
56
"AND account_account.active " \
68
"AND partner_id in ("+','.join(map(str,self.partner_ids))+")" \
69
57
"ORDER BY res_partner.name", (form['company_id'],))
70
58
partners = self.cr.dictfetchall()
71
59
for partner in partners:
73
61
self.cr.execute("SELECT SUM(debit-credit) " \
74
62
"FROM account_move_line AS line, account_account " \
75
63
"WHERE (line.account_id=account_account.id) " \
76
"AND (account_account.type IN ('payable','receivable')) " \
64
"AND (account_account.type IN (" + self.acc_type + ")) " \
77
65
"AND (date < %s) AND (partner_id=%s) " \
78
"AND (reconcile_id IS NULL) " \
66
# "AND (reconcile_id IS NULL) " \
79
67
"AND " + line_query + " " \
80
68
"AND (account_account.company_id = %s) " \
81
69
"AND account_account.active",
86
74
self.cr.execute("SELECT SUM(debit-credit) " \
87
75
"FROM account_move_line AS line, account_account " \
88
76
"WHERE (line.account_id=account_account.id) " \
89
"AND (account_account.type IN ('payable','receivable')) " \
77
"AND (account_account.type IN (" + self.acc_type + ")) " \
90
78
"AND (date >= %s) AND (date <= %s) " \
91
79
"AND (partner_id = %s) " \
92
"AND (reconcile_id IS NULL) " \
80
# "AND (reconcile_id IS NULL) " \
93
81
"AND " + line_query + " " \
94
82
"AND (account_account.company_id = %s) " \
95
83
"AND account_account.active",
101
89
self.cr.execute("SELECT SUM(debit-credit) " \
102
90
"FROM account_move_line AS line, account_account " \
103
91
"WHERE (line.account_id = account_account.id) " \
104
"AND (account_account.type IN ('payable','receivable')) " \
92
"AND (account_account.type IN (" + self.acc_type + ")) " \
105
93
"AND (partner_id = %s) " \
106
"AND (reconcile_id IS NULL) " \
94
# "AND (reconcile_id IS NULL) " \
107
95
"AND " + line_query + " " \
108
96
"AND (account_account.company_id = %s) " \
109
97
"AND account_account.active",
132
120
self.cr.execute("SELECT SUM(debit - credit) " \
133
121
"FROM account_move_line AS line, account_account " \
134
122
"WHERE (line.account_id = account_account.id) " \
135
"AND (account_account.type IN ('payable', 'receivable')) "\
136
"AND reconcile_id IS NULL " \
123
"AND (account_account.type IN (" + self.acc_type + ")) " \
124
# "AND reconcile_id IS NULL " \
137
125
"AND partner_id is NOT NULL " \
138
126
"AND " + line_query + " " \
139
127
"AND (account_account.company_id = %s) " \
140
"AND partner_id in ("+','.join(map(str,self.partner_ids))+")" \
141
128
"AND account_account.active",
143
130
total = self.cr.fetchone()
150
137
self.cr.execute("SELECT SUM(debit - credit) " \
151
138
"FROM account_move_line AS line, account_account " \
152
139
"WHERE (line.account_id = account_account.id) " \
153
"AND (account_account.type IN ('payable', 'receivable')) " \
154
"AND reconcile_id IS NULL " \
140
"AND (account_account.type IN (" + self.acc_type + ")) " \
141
# "AND reconcile_id IS NULL " \
155
142
"AND (date < %s) " \
156
143
"AND partner_id IS NOT NULL " \
157
144
"AND " + line_query + " " \
158
145
"AND (account_account.company_id = %s) " \
159
"AND partner_id in ("+','.join(map(str,self.partner_ids))+")" \
160
146
"AND account_account.active",
161
147
(date, company_id))
162
148
before = self.cr.fetchone()
169
155
self.cr.execute("SELECT SUM(debit - credit) " \
170
156
"FROM account_move_line AS line, account_account " \
171
157
"WHERE (line.account_id = account_account.id) " \
172
"AND (account_account.type IN ('payable', 'receivable')) " \
173
"AND reconcile_id IS NULL " \
158
"AND (account_account.type IN (" + self.acc_type + ")) " \
159
# "AND reconcile_id IS NULL " \
174
160
"AND (date >= %s) " \
175
161
"AND (date <= %s) " \
176
162
"AND partner_id IS NOT NULL " \
177
163
"AND " + line_query + " " \
178
164
"AND (account_account.company_id = %s) " \
179
"AND partner_id in ("+','.join(map(str,self.partner_ids))+")" \
180
165
"AND account_account.active",
181
166
(period['start'], period['stop'], company_id))
182
167
period = self.cr.fetchone()