Merge lp:~vauxoo/openerp-venezuela-localization/ovl70-fb-rev2-kty into lp:openerp-venezuela-localization

Proposed by Katherine Zaoral (Vauxoo)
Status: Merged
Merged at revision: 844
Proposed branch: lp:~vauxoo/openerp-venezuela-localization/ovl70-fb-rev2-kty
Merge into: lp:openerp-venezuela-localization
Diff against target: 2313 lines (+984/-909)
8 files modified
l10n_ve_fiscal_book/__openerp__.py (+4/-1)
l10n_ve_fiscal_book/model/fiscal_book.py (+199/-170)
l10n_ve_fiscal_book/report/fiscal_book_purchase_report.rml (+287/-289)
l10n_ve_fiscal_book/report/fiscal_book_sale_report.rml (+364/-439)
l10n_ve_fiscal_book/security/fiscal_book_security.xml (+16/-0)
l10n_ve_fiscal_book/security/ir.model.access.csv (+16/-0)
l10n_ve_fiscal_book/view/fiscal_book.xml (+18/-10)
l10n_ve_fiscal_book/workflow/fb_workflow.xml (+80/-0)
To merge this branch: bzr merge lp:~vauxoo/openerp-venezuela-localization/ovl70-fb-rev2-kty
Reviewer Review Type Date Requested Status
hbto [Vauxoo] http://www.vauxoo.com Approve
Review via email: mp+165939@code.launchpad.net

Description of the change

[IMP] Fourth revision Fiscal Book.
- Add workflow and security.
- adapted to article 78 (group non tax payer and fiscal printer lines).
- unify and optimized update book process.
- finish verion of book reports.
- more presentable views.

To post a comment you must log in.
Revision history for this message
hbto [Vauxoo] http://www.vauxoo.com (humbertoarocha) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'l10n_ve_fiscal_book/__openerp__.py'
2--- l10n_ve_fiscal_book/__openerp__.py 2013-04-30 19:55:43 +0000
3+++ l10n_ve_fiscal_book/__openerp__.py 2013-05-27 21:01:40 +0000
4@@ -59,7 +59,10 @@
5 "wizard/fiscal_book_wizard_view.xml",
6 "view/adjustment_book.xml",
7 "view/fiscal_book.xml",
8- "report/fiscal_book_report.xml"
9+ "report/fiscal_book_report.xml",
10+ "workflow/fb_workflow.xml",
11+ "security/fiscal_book_security.xml",
12+ "security/ir.model.access.csv"
13 ],
14 "active": False,
15 "installable": True,
16
17=== modified file 'l10n_ve_fiscal_book/model/fiscal_book.py'
18--- l10n_ve_fiscal_book/model/fiscal_book.py 2013-05-20 20:32:23 +0000
19+++ l10n_ve_fiscal_book/model/fiscal_book.py 2013-05-27 21:01:40 +0000
20@@ -194,8 +194,9 @@
21 help="Book's Fiscal Period",
22 required=True),
23 'state': fields.selection([('draft', 'Getting Ready'),
24- ('open', 'Approved by Manager'),
25- ('done', 'Seniat Submitted')],
26+ ('confirmed', 'Approved by Manager'),
27+ ('done', 'Seniat Submitted'),
28+ ('cancel', 'Cancel')],
29 string='Status', required=True),
30 'type': fields.selection([('sale', 'Sale Book'),
31 ('purchase', 'Purchase Book')],
32@@ -595,13 +596,11 @@
33 taxes. """
34 context = context or {}
35 for fb_brw in self.browse(cr, uid, ids, context=context):
36+ self.clear_book(cr, uid, [fb_brw.id], context=context)
37 self.update_book_invoices(cr, uid, fb_brw.id, context=context)
38 self.update_book_issue_invoices(cr, uid, fb_brw.id, context=context)
39 self.update_book_wh_iva_lines(cr, uid, fb_brw.id, context=context)
40 self.update_book_lines(cr, uid, fb_brw.id, context=context)
41- if fb_brw.article_number in ['77', '78']:
42- self.update_book_ntp_lines(cr, uid, fb_brw.id, context=context)
43- self.order_book_lines(cr, uid, fb_brw.id, context=context)
44 return True
45
46 def update_book_invoices(self, cr, uid, fb_id, context=None):
47@@ -628,8 +627,8 @@
48 return True
49
50 def _get_issue_invoice_ids(self, cr, uid, fb_id, context=None):
51- """ It returns ids from not open or paid invoices regarding to the type and
52- period of the fiscal book order by date invoiced.
53+ """ It returns ids from not open or paid invoices regarding to the type
54+ and period of the fiscal book order by date invoiced.
55 @param fb_id: fiscal book id.
56 """
57 context = context or {}
58@@ -647,7 +646,6 @@
59 '&', '&', ('period_id', '=', fb_brw.period_id.id), ('type', 'in', inv_type),
60 ('state', 'not in', inv_state)],
61 order='date_invoice asc', context=context)
62-
63 return issue_inv_ids
64
65 def update_book_issue_invoices(self, cr, uid, fb_id, context=None):
66@@ -697,8 +695,15 @@
67 """
68 context = context or {}
69 iwdl_obj = self.pool.get('account.wh.iva.line')
70+ fb_brw = self.browse(cr, uid, fb_id, context=context)
71 #~ Relate wh iva lines
72 iwdl_ids = self._get_wh_iva_line_ids(cr, uid, fb_id, context=context)
73+
74+ if fb_brw.type == "sale" \
75+ and fb_brw.company_id.partner_id.wh_iva_agent and iwdl_ids:
76+ raise osv.except_osv(_("Error!"),
77+ _("You have withholdings registred but you are not a withholding agent"))
78+
79 iwdl_obj.write(cr, uid, iwdl_ids, {'fb_id': fb_id}, context=context)
80 #~ Unrelate wh iva lines (period book change, wh iva line have been
81 #~ cancel or have change its period)
82@@ -711,12 +716,11 @@
83 return True
84
85 def _get_book_taxes_ids(self, cr, uid, fb_id, context=None):
86- """ It returns account invoice taxes IDSs from the fiscal book
87+ """ It returns account invoice taxes IDs from the fiscal book
88 invoices.
89 @param fb_id: fiscal book id
90 """
91 context = context or {}
92- inv_obj = self.pool.get('account.invoice')
93 ait_ids = []
94 for inv_brw in self.browse(cr, uid, fb_id,
95 context=context).invoice_ids:
96@@ -724,18 +728,11 @@
97 return ait_ids
98
99 def update_book_taxes(self, cr, uid, fb_id, context=None):
100- """ It relate/unrelate the invoices taxes from the period to the book.
101+ """ It relate the invoices taxes from the period to the book.
102 @param fb_id: fiscal book id
103 """
104 context = context or {}
105- fbt_obj = self.pool.get('fiscal.book.taxes')
106- fb_brw = self.browse(cr, uid, fb_id, context=context)
107 ait_ids = self._get_book_taxes_ids(cr, uid, fb_id, context=context)
108- fbt_ids = fbt_obj.search(cr, uid, [('fb_id', '=', fb_id)],
109- context=context)
110- #~ Unrelate taxes
111- fbt_obj.unlink(cr, uid, fbt_ids, context=context)
112- #~ Relate taxes
113 data = map(lambda x: (0, 0, {'ait_id': x}), ait_ids)
114 self.write(cr, uid, fb_id, {'fbt_ids': data}, context=context)
115 return True
116@@ -786,31 +783,21 @@
117 @param fb_id: book id.
118 """
119 context = context or {}
120+ fbl_obj = self.pool.get('fiscal.book.line')
121 fb_brw = self.browse(cr, uid, fb_id, context=context)
122- fbl_obj = self.pool.get('fiscal.book.line')
123 fbl_ids = [line_brw.id for line_brw in fb_brw.fbl_ids]
124 order_criteria = fb_brw.type == 'sale' \
125- and 'accounting_date asc, fiscal_printer asc, z_report asc, invoice_number asc' \
126+ and 'accounting_date asc, invoice_number asc' \
127 or 'emission_date asc, invoice_number asc'
128- ordered_fbl_ids = fbl_obj.search(cr, uid, [('id', 'in', fbl_ids)],
129- order=order_criteria, context=context)
130+ ordered_fbl_ids = \
131+ fbl_obj.search(cr, uid, [('id', 'in', fbl_ids)],
132+ order=order_criteria, context=context)
133
134 for rank, fbl_id in enumerate(ordered_fbl_ids, 1):
135 fbl_obj.write(cr, uid, fbl_id, {'rank': rank}, context=context)
136
137- ordered_ntp_ids = fbl_obj.browse(cr, uid, self.order_group_by_invoice_number(
138- cr, uid, [line_brw.id for line_brw in fb_brw.ntp_fbl_ids],
139- context=context), context=context)
140-
141- for rank, line_brw in enumerate(ordered_ntp_ids, 1):
142- fbl_obj.write(cr, uid, line_brw.id,
143- {'rank': rank + (1000000 * line_brw.parent_id.rank)},
144- context=context)
145-
146 return True
147
148-
149-
150 def _get_no_match_date_iwdl_ids(self, cr, uid, fb_id, context=None):
151 """ It returns a list of wh iva lines ids that have a invoice in the
152 same book period but where the invoice date_invoice is different from
153@@ -831,7 +818,8 @@
154 return res
155
156 def update_book_lines(self, cr, uid, fb_id, context=None):
157- """ It updates the fiscal book lines values.
158+ """ It updates the fiscal book lines values. Cretate, order and rank
159+ the book lines. Creates the book taxes too acorring to lines created.
160 @param fb_id: fiscal book id
161 """
162 context = context or {}
163@@ -840,10 +828,6 @@
164 iwdl_obj = self.pool.get('account.wh.iva.line')
165 fbl_obj = self.pool.get('fiscal.book.line')
166 fb_brw = self.browse(cr, uid, fb_id, context=context)
167- #~ delete book lines
168- fbl_ids = [fbl_brw.id for fbl_brw in self.browse(
169- cr, uid, fb_id, context=context).fbl_ids]
170- fbl_obj.unlink(cr, uid, fbl_ids, context=context)
171
172 #~ add book lines for withholding iva lines
173 if fb_brw.iwdl_ids:
174@@ -853,17 +837,20 @@
175 self._get_no_match_date_iwdl_ids(cr, uid, fb_id,
176 context=context)
177 iwdl_ids = orphan_iwdl_ids + no_match_dt_iwdl_ids
178+ t_type = fb_brw.type == 'sale' and 'tp' or 'do'
179 for iwdl_brw in iwdl_obj.browse(cr, uid, iwdl_ids,
180 context=context):
181 values = {
182 'iwdl_id': iwdl_brw.id,
183 'rank': my_rank,
184+ 'type': t_type,
185 'accounting_date': iwdl_brw.date_ret or False,
186 'emission_date': iwdl_brw.date or iwdl_brw.date_ret or False,
187 'doc_type': self.get_doc_type(cr, uid, iwdl_id=iwdl_brw.id,
188 context=context),
189 'wh_number': iwdl_brw.retention_id.number or False,
190 'partner_name': iwdl_brw.retention_id.partner_id.name or False,
191+ 'partner_vat': iwdl_brw.retention_id.partner_id.vat or False,
192 'affected_invoice': iwdl_brw.invoice_id.fiscal_printer
193 and iwdl_brw.invoice_id.invoice_printer
194 or (fb_brw.type == 'sale'
195@@ -903,7 +890,7 @@
196 'credit_affected': inv_brw.parent_id and \
197 inv_brw.parent_id.type in ['in_refund', 'out_refund'] \
198 and inv_brw.parent_id.number or False,
199- 'ctrl_number': inv_brw.nro_ctrl or False,
200+ 'ctrl_number': not inv_brw.fiscal_printer and inv_brw.nro_ctrl or False,
201 'affected_invoice': (doc_type == "N/DE" or doc_type == "N/CR") \
202 and (inv_brw.parent_id and inv_brw.parent_id.number or False) \
203 or False,
204@@ -936,39 +923,51 @@
205 self.write(cr, uid, fb_id, {'fbl_ids': data}, context=context)
206 self.link_book_lines_and_taxes(cr, uid, fb_id, context=context)
207
208+ if fb_brw.article_number in ['77', '78']:
209+ self.update_book_ntp_lines(cr, uid, fb_brw.id, context=context)
210+ else:
211+ self.order_book_lines(cr, uid, fb_brw.id, context=context)
212+
213 return True
214
215- def get_grouped_lines_ids(self, cr, uid, fbl_groups_list, order_field, context=None):
216- """ Extract book lines ids groups according to the given citeria.
217- @param fbl_groups_list: list of book lines ids.
218- @param order_field: order criteria (emission_date, accounting_date),
219- fiscal_printer, z_report.
220+ def get_grouped_consecutive_lines_ids(self, cr, uid, lines_ids, context=None):
221+ """ Return a list of tuples that represent every line in the book.
222+ If there is a group of consecutive no tax payer with fiscal printer
223+ billing lines, it will return a unique tuple that holds the information
224+ of the lines. The return tutple has this format
225+ ('invoice_number'[0], 'invoice_number'[-1], [line_brw])
226+ - 'invoice_number'[0]: invoice number of the first line in the
227+ group
228+ - 'invoice_number'[-1]: invoice number of the last line in the
229+ group
230+ - [line_brw] list o browse records that weel be into the line.
231+ @param line_ids: list of book lines ids.
232 """
233 context = context or {}
234- fbl_obj = self.pool.get('fiscal.book.line')
235- groups_list = list()
236- no_group_list = list()
237-
238- for group_ids in fbl_groups_list:
239- group_brw = fbl_obj.browse(cr, uid, group_ids, context=context)
240- #~ extract set of values for the order condition
241- group_values = list(set([ getattr(line_brw, order_field)
242- for line_brw in group_brw ]))
243- #~ initializing storable group variable.
244- group_dict = {}.fromkeys(group_values)
245- for value in group_dict.keys():
246- group_dict[value] = list()
247- #~ separating items to the corresponding sub group.
248- for line_brw in group_brw:
249- group_dict[getattr(line_brw, order_field)].append(line_brw.id)
250-
251- for value in group_dict.keys():
252- if len(group_dict[value]) > 1:
253- groups_list.append(group_dict[value])
254+ lines_brws = self.pool.get('fiscal.book.line').browse(
255+ cr, uid, lines_ids, context=context)
256+ res = list()
257+ group_list = list()
258+ group_value = False
259+
260+ for line_brw in lines_brws:
261+ group_value = group_value or line_brw.type
262+ if line_brw.type == group_value and group_value == 'ntp' \
263+ and line_brw.fiscal_printer:
264+ group_list.append(line_brw)
265+ else:
266+ if group_list:
267+ res.append( (group_list[0].invoice_number, group_list[-1].invoice_number, group_value, group_list) )
268+ group_value = line_brw.type
269+ group_list = [line_brw]
270 else:
271- no_group_list.extend(group_dict[value])
272-
273- return groups_list, no_group_list
274+ res.append( (line_brw.invoice_number, line_brw.invoice_number, group_value, [line_brw]) )
275+ group_value = False
276+
277+ if group_list:
278+ res.append( (group_list[0].invoice_number, group_list[-1].invoice_number, group_value, group_list) )
279+
280+ return res
281
282 def update_book_ntp_lines(self, cr, uid, fb_id, context=None):
283 """ It consolidate no tax payer book lines into one line considering
284@@ -981,74 +980,122 @@
285 fbl_obj = self.pool.get('fiscal.book.line')
286 fb_brw = self.browse(cr, uid, fb_id, context=context)
287
288- #~ delete old ntp book lines
289- ntp_fbl_ids = [fbl_brw.id for fbl_brw in self.browse(
290- cr, uid, fb_id, context=context).ntp_fbl_ids]
291- fbl_obj.unlink(cr, uid, ntp_fbl_ids, context=context)
292-
293- #~ extracting mather ntp lines
294- ntp_lines = [ fbl_brw.id for fbl_brw in fb_brw.fbl_ids
295- if fbl_brw.type == 'ntp' and fbl_brw.fiscal_printer]
296- no_group_list = list()
297- groups_list = [[ fbl_id for fbl_id in ntp_lines ]]
298-
299- #~ define book groups cirteria
300- #~ TODO: Be carefull with de date criteria order.
301- order_criteria = ['emission_date', 'fiscal_printer', 'z_report']
302-
303- for criteria in order_criteria:
304- groups_list, tmp_no_group_list = \
305- self.get_grouped_lines_ids(cr, uid, groups_list, criteria,
306- context=context)
307- no_group_list.extend(tmp_no_group_list)
308- #~ print criteria, groups_list, 'no group', no_group_list
309-
310- #~ print 'no_group_list:', no_group_list
311- #~ print 'groups_list:', groups_list
312-
313- groups_list = \
314- [ self.order_group_by_invoice_number(cr, uid, group_ids, context=context)
315- for group_ids in groups_list ]
316-
317- # re-write no group lines (set partner name and vat).
318- if no_group_list:
319- fbl_obj.write(cr, uid, no_group_list,
320- {'partner_name': 'No Contribuyente',
321- 'partner_vat': False}, context=context)
322-
323- # re-write group info.
324- for group_ids in groups_list:
325+ #~ separating groups
326+ lines_brws = fb_brw.fbl_ids
327+ order_dict = dict()
328+ date_values = list(set([ line_brw.emission_date for line_brw in lines_brws ]))
329+ date_values.sort()
330+ order_dict = {}.fromkeys(date_values)
331+ for date in date_values:
332+ date_records = [ line_brw
333+ for line_brw in lines_brws
334+ if line_brw.emission_date == date ]
335+ printers_values = list(set( [ line_brw.fiscal_printer for line_brw in date_records ] ))
336+ printers_values.sort()
337+ order_dict[date] = {}.fromkeys(printers_values)
338+ for printer in printers_values:
339+ printer_records = [ line_brw
340+ for line_brw in date_records
341+ if line_brw.fiscal_printer == printer ]
342+ z_report_values = list(set( [ line_brw.z_report for line_brw in printer_records ] ))
343+ z_report_values.sort()
344+ order_dict[date][printer] = {}.fromkeys(z_report_values)
345+ for z_report in z_report_values:
346+ #~ this records needs to be order by invoice number
347+ z_records = \
348+ [ (line_brw.invoice_number, line_brw)
349+ for line_brw in printer_records
350+ if line_brw.z_report == z_report ]
351+ z_records.sort()
352+ z_records = [ item[1] for item in z_records]
353+ #~ group by type of line
354+ order_dict[date][printer][z_report] = \
355+ self.get_grouped_consecutive_lines_ids(
356+ cr, uid, [ item.id for item in z_records],
357+ context=context)
358+
359+ #~ import pprint
360+ #~ print 'order_dict'
361+ #~ pprint.pprint(order_dict)
362+
363+ # agruping and ranking
364+ rank = 1
365+ #~ order_dict[date][printer][z_report] = [ ('desde', 'hasta', 'tipot', list(line_brws)) ]
366+ ntp_groups_list = list() # format [ ( rank, invoice_number, [line_brws] ) ]
367+ ntp_no_group_list = list() # format [ ( rank, [line_brws] ) ]
368+ order_no_group_list = list() # format [ ( rank, line_id ) ]
369+
370+ order_dates = order_dict.keys()
371+ order_dates.sort()
372+ for date in order_dates:
373+ order_printers = order_dict[date].keys()
374+ order_printers.sort()
375+ for printer in order_printers:
376+ order_z_reports = order_dict[date][printer].keys()
377+ order_z_reports.sort()
378+ for z_report in order_z_reports:
379+ for line in order_dict[date][printer][z_report]:
380+ if line[2] == 'ntp':
381+ if line[0] == line[1] and len(line[3]) == 1:
382+ ntp_no_group_list.append(
383+ (rank, line[3][0].id))
384+ elif line[0] != line[1] and len(line[3]) > 1:
385+ ntp_groups_list.append(
386+ (rank,
387+ 'Desde: '+line[0]+' ... Hasta: '+line[1],
388+ line[3]))
389+ else:
390+ raise osv.except_osv(_("Error!"), _("This is a no valid line. Be sure you have two or more invoices with the same invoice number"))
391+ elif line[2] != 'ntp':
392+ order_no_group_list.append(
393+ (rank, line[3][0].id))
394+ rank+= 1
395+
396+ #~ import pprint
397+ #~ print '\n ntp_no_group_list'
398+ #~ pprint.pprint(ntp_no_group_list)
399+ #~ print '\n ntp_groups_list'
400+ #~ pprint.pprint(ntp_groups_list)
401+ #~ print '\n order_no_group_list'
402+ #~ pprint.pprint(order_no_group_list)
403+
404+ #~ # rank lines that have nothing to do with ntp.
405+ for line in order_no_group_list:
406+ fbl_obj.write(cr, uid, line[1], {'rank': line[0]}, context=context)
407+
408+ #~ # rank ntp individual lines.
409+ for line in ntp_no_group_list:
410+ fbl_obj.write(
411+ cr, uid, line[1],
412+ {'rank': line[0],
413+ 'partner_name': 'No Contribuyente',
414+ 'partner_vat': False},
415+ context=context)
416+
417+ #~ create consolidate line using ntp_groups_list list, move group lines
418+ #~ to no tax payer lines detail.
419+ for line_tuple in ntp_groups_list:
420 consolidate_line_id = \
421- self.create_consolidate_line(cr, uid, fb_id, group_ids,
422+ self.create_consolidate_line(cr, uid, fb_id, line_tuple,
423 context=context)
424+ for rank, line_brw in enumerate(line_tuple[-1], 1):
425+ fbl_obj.write(
426+ cr, uid, line_brw.id,
427+ {'fb_id': False,
428+ 'ntp_fb_id': fb_id,
429+ 'parent_id': consolidate_line_id,
430+ 'rank': -1 },
431+ context=context)
432
433- # move group lines to no tax payer lines.
434- fbl_obj.write(cr, uid, group_ids,
435- {'fb_id': False,
436- 'ntp_fb_id': fb_id,
437- 'parent_id': consolidate_line_id },
438- context=context)
439 return True
440
441- def order_group_by_invoice_number(self, cr, uid, group_ids, context=None):
442- """ Return a list of order group items by asc invoice number.
443- @param group_ids: ids of the item that are in a same group
444- """
445- context = context or {}
446- fbl_obj = self.pool.get('fiscal.book.line')
447- group_brws = fbl_obj.browse(cr, uid, group_ids, context=context)
448- ordered_inv_nums = [ item.invoice_number for item in group_brws ]
449- ordered_inv_nums.sort()
450- return [ item.id
451- for number in ordered_inv_nums
452- for item in group_brws
453- if item.invoice_number == number ]
454-
455- def create_consolidate_line(self, cr, uid, fb_id, group_ids, context=None):
456- """ Create a New consolidate no tax payer line for a group of no tax
457+ def create_consolidate_line(self, cr, uid, fb_id, line_tuple, context=None):
458+ """ Create a new consolidate no tax payer line for a group of no tax
459 payer operations.
460 @param fb_id: fiscal book line id.
461- @param group_ids: lines ids to be consolidated.
462+ @param line_tuple: tuple with the information for construct the
463+ consolidate line (rank, [brws]).
464+ # format [ ( rank, invoice_number, [line_brws] ) ]
465 """
466 context = context or {}
467 fbl_obj = self.pool.get('fiscal.book.line')
468@@ -1057,33 +1104,28 @@
469 'vat_general_base', 'vat_general_tax',
470 'vat_additional_base', 'vat_additional_tax']
471
472- group_brws = fbl_obj.browse(cr, uid, group_ids, context=context)
473- first_item_brw = fbl_obj.browse(cr, uid, group_ids[0], context=context)
474- last_item_brw = fbl_obj.browse(cr, uid, group_ids[-1:], context=context)[0]
475+ rank, invoice_number, child_brws = line_tuple
476+ child_ids = [ line_brw.id for line_brw in child_brws ]
477+ first_item_brw = fbl_obj.browse(cr, uid, child_brws[0].id,
478+ context=context)
479 # fill common value
480 values = {
481+ 'rank': rank,
482+ 'invoice_number': invoice_number,
483+ 'child_ids': [(6, 0, child_ids)],
484 'fb_id': first_item_brw.fb_id.id,
485- 'invoice_id': False,
486- 'parent_id': False,
487- 'child_ids': [(6, 0, group_ids)],
488- 'rank': first_item_brw.id,
489+ 'partner_name': 'No Contribuyente',
490 'emission_date': first_item_brw.emission_date,
491 'accounting_date': first_item_brw.accounting_date,
492 'doc_type': first_item_brw.doc_type,
493- 'partner_name': 'No Contribuyente',
494- 'partner_vat': False,
495- 'invoice_number': 'Desde: ' \
496- + str(first_item_brw.invoice_number) \
497- + ' ... Hasta: ' + str(last_item_brw.invoice_number),
498- 'debit_affected': False,
499- 'credit_affected': False,
500 'type': first_item_brw.type,
501 'fiscal_printer': first_item_brw.fiscal_printer,
502 'z_report': first_item_brw.z_report,
503 }
504 # fill totalization values
505 for col in float_colums:
506- values[col] = sum([ getattr(brw, col) for brw in group_brws ])
507+ values[col] = \
508+ sum([ getattr(line_brw, col) for line_brw in child_brws ])
509
510 return fbl_obj.create(cr, uid, values, context=context)
511
512@@ -1202,6 +1244,9 @@
513 sum( [ data[optype + '_' + ttax + "_vat_base_sum"]
514 for ttax in ["general", "additional", "reduced"] ] )
515
516+ data['imex_vat_base_sum'] += \
517+ data['imex_exempt_vat_sum'] + data['imex_sdcf_vat_sum']
518+
519 #~ sale book domestic fields transformations (ntp and tp sums)
520 if fb_brw.type == 'sale':
521
522@@ -1294,44 +1339,31 @@
523 book line and update the fields of sum taxes in the book.
524 @param fb_id: the id of the current fiscal book """
525 context = context or {}
526- fbt_obj = self.pool.get('fiscal.book.taxes')
527 fbl_obj = self.pool.get('fiscal.book.line')
528- #~ delete book taxes
529- fbt_ids = fbt_obj.search(cr, uid, [('fb_id', '=', fb_id)],
530- context=context)
531- fbt_obj.unlink(cr, uid, fbt_ids, context=context)
532 #~ write book taxes
533 data = []
534 for fbl in self.browse(cr, uid, fb_id, context=context).fbl_ids:
535 if fbl.invoice_id:
536- total_w_iva_amount = fbl.invoice_id.amount_untaxed
537- sdcf_tax_amount = exent_tax_amount = amount_withheld = 0.0
538+ amount_field_data = \
539+ { 'total_with_iva': fbl.invoice_id.amount_untaxed,
540+ 'vat_sdcf': 0.0, 'vat_exempt': 0.0 }
541 taxes = fbl.type in ['im','ex'] \
542- and fbl.invoice_id.imex_tax_line \
543- or fbl.invoice_id.tax_line
544+ and fbl.invoice_id.imex_tax_line \
545+ or fbl.invoice_id.tax_line
546 for ait in taxes:
547 if ait.tax_id:
548 data.append((0, 0, {'fb_id': fb_id,
549 'fbl_id': fbl.id,
550 'ait_id': ait.id}))
551-
552- total_w_iva_amount += ait.tax_amount
553+ amount_field_data['total_with_iva'] += ait.tax_amount
554 if ait.tax_id.appl_type == 'sdcf':
555- sdcf_tax_amount += ait.base_amount
556+ amount_field_data['vat_sdcf'] += ait.base_amount
557 if ait.tax_id.appl_type == 'exento':
558- exent_tax_amount += ait.base_amount
559+ amount_field_data['vat_exempt'] += ait.base_amount
560 else:
561 data.append((0, 0, {'fb_id':
562 fb_id, 'fbl_id': False, 'ait_id': ait.id}))
563- fbl_obj.write(
564- cr, uid, fbl.id, {'total_with_iva': total_w_iva_amount},
565- context=context)
566- fbl_obj.write(
567- cr, uid, fbl.id, {'vat_sdcf': sdcf_tax_amount},
568- context=context)
569- fbl_obj.write(
570- cr, uid, fbl.id, {'vat_exempt': exent_tax_amount},
571- context=context)
572+ fbl_obj.write(cr, uid, fbl.id, amount_field_data, context=context)
573
574 if data:
575 self.write(cr, uid, fb_id, {'fbt_ids': data}, context=context)
576@@ -1384,22 +1416,19 @@
577 return True
578
579 def clear_book_lines(self, cr, uid, ids, context=None):
580- """ It delete all book lines loaded in the book. """
581+ """ It delete all book lines loaded in the book """
582 context = context or {}
583 fbl_obj = self.pool.get("fiscal.book.line")
584 for fb_id in ids:
585 fbl_brws = self.browse(cr, uid, fb_id, context=context).fbl_ids
586 fbl_ids = [fbl.id for fbl in fbl_brws]
587 fbl_obj.unlink(cr, uid, fbl_ids, context=context)
588- ntp_fbl_brws = self.browse(cr, uid, fb_id, context=context).fbl_ids
589- ntp_fbl_ids = [fbl.id for fbl in ntp_fbl_brws]
590- fbl_obj.unlink(cr, uid, ntp_fbl_ids, context=context)
591 self.clear_book_taxes_amount_fields(cr, uid, fb_id,
592 context=context)
593 return True
594
595 def clear_book_taxes(self, cr, uid, ids, context=None):
596- """ It delete all book taxes loaded in the book. """
597+ """ It delete all book taxes loaded in the book """
598 context = context or {}
599 fbt_obj = self.pool.get("fiscal.book.taxes")
600 for fb_id in ids:
601
602=== modified file 'l10n_ve_fiscal_book/report/fiscal_book_purchase_report.rml'
603--- l10n_ve_fiscal_book/report/fiscal_book_purchase_report.rml 2013-05-20 18:33:19 +0000
604+++ l10n_ve_fiscal_book/report/fiscal_book_purchase_report.rml 2013-05-27 21:01:40 +0000
605@@ -1,21 +1,301 @@
606 <?xml version="1.0"?>
607-<document filename="test.pdf" invariant="1">
608+<document filename="book.pdf" invariant="1">
609 <!--
610 info: http://www.dpandi.com/paper/
611 Royal Size ( 20 x 25 inches )
612 A2 Size ( 420 x 594 mm - 16.5 x 23.4 inches )
613 A3 Size ( 297 x 420 mm - 11.7 x 16.5 inches )
614 -->
615- <template pageSize="(59.4cm, 42.0cm)" title="Test" author="Katherine Zaoral" allowSplitting="20" showBoundary="0">
616+ <template pageSize="(59.4cm, 42.0cm)" title="Fiscal Book" author="Katherine Zaoral" allowSplitting="20" showBoundary="0">
617 <pageTemplate id="first">
618 <pageGraphics>
619+
620+ <!-- PAGE HEADER -->
621+ <place x="2cm" y="36.7cm" width="59.4cm" height="3.33cm">
622+ <!-- REPORT HEADER -->
623+ <blockTable colWidths="28.81cm,11.08cm,15.51cm" style="HEADER-REPORT-TABLE">
624+ <tr>
625+ [[ setLang(my_fb.company_id.partner_id.lang) ]]
626+ <td>
627+ <para style="HEADERDOC">[[ company.partner_id.name ]] [[ company.partner_id.vat[2:] ]]</para>
628+ <para style="HEADERDOC">[[ my_fb.get_partner_addr ]]</para>
629+ </td>
630+ <td>
631+ <para style="HEADERDOC">Libro: Compras </para>
632+ <para style="HEADERDOC">[[ my_fb.get_month_year ]]</para>
633+ <para style="HEADERDOC">[[ 'Desde: %s'%formatLang( my_fb.period_id.date_start, date=True) ]]</para>
634+ <para style="HEADERDOC">[[ 'Hasta: %s'%formatLang( my_fb.period_id.date_stop, date=True) ]]</para>
635+ </td>
636+ <td>
637+ <para style="HEADERDOC" fontName="Times-Roman">Según Articulo 76 del Reglamento de la Ley del IVA No. 5.363 del 12 de Julio de 1999</para>
638+ <para style="POPINFO">[[ my_fb.state == 'draft' and 'GETTING READY' or my_fb.state == 'confirmed' and 'APPROVED BY MANAGER' or my_fb.state == 'done' and '' ]]</para>
639+ </td>
640+ </tr>
641+ </blockTable>
642+ <spacer length="0.5cm"/>
643+ </place>
644+
645+ <place x="8.34cm" y="34.3cm" width="59.4cm" height="3.33cm">
646+ <!-- PURCHASE BOOK HEADERS -->
647+ <section>
648+ <blockTable colWidths="379.0, 37.0, 310.0, 485.0" style="HEADER-BOOK-TABLE" blockAlignment="LEFT">
649+ <tr>
650+ <td>
651+ <blockTable colWidths="379.0" style="HEADER-BOOK-TABLE">
652+ <tr>
653+ <td vAlign="MIDDLE"><para style="HEADER">DATOS DE LA FACTURA O/Y DOCUMENTO</para></td>
654+ </tr>
655+ <tr>
656+ <td>
657+ <blockTable colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 36.0, 130.0, 25.0, 63.0" style="HEADER-BOOK-TABLE">
658+ <tr>
659+ <td vAlign="MIDDLE"><para style="HEADER">Linea</para></td>
660+ <td vAlign="MIDDLE"><para style="HEADER">T. Doc.</para></td>
661+ <td vAlign="MIDDLE"><para style="HEADER">Fecha Doc.</para></td>
662+ <td vAlign="MIDDLE"><para style="HEADER">Numero Control</para></td>
663+ <td vAlign="MIDDLE"><para style="HEADER">Numero de Documento</para></td>
664+ <td vAlign="MIDDLE"><para style="HEADER">Factura Afectada</para></td>
665+ <td vAlign="MIDDLE"><para style="HEADER">Razon Social</para></td>
666+ <td vAlign="MIDDLE"><para style="HEADER">RIF</para></td>
667+ <td vAlign="MIDDLE"><para style="HEADER">Liquidación de Aduana</para>
668+ <section>
669+ <blockTable colWidths="23.0, 40.0" style="HEADER-BOOK-TABLE">
670+ <tr>
671+ <td><para style="HEADER">Fecha Nac.</para></td>
672+ <td><para style="HEADER">Declaración</para></td>
673+ </tr>
674+ </blockTable>
675+ </section>
676+ </td>
677+ </tr>
678+ </blockTable>
679+ </td>
680+ </tr>
681+ </blockTable>
682+ </td>
683+ <td>
684+ <blockTable colWidths="37.0" style="HEADER-BOOK-TABLE">
685+ <tr>
686+ <td vAlign="MIDDLE"><para style="HEADER">TOTALES</para></td>
687+ </tr>
688+ <tr>
689+ <td>
690+ <blockTable colWidths="37.0" style="HEADER-BOOK-TABLE" rowHeights="12">
691+ <tr>
692+ <td vAlign="MIDDLE"><para style="HEADER">Total con IVA</para></td>
693+ </tr>
694+ </blockTable>
695+ </td>
696+ </tr>
697+ </blockTable>
698+ </td>
699+ <td>
700+ <blockTable colWidths="310.0" style="HEADER-BOOK-TABLE">
701+ <tr>
702+ <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES DE IMPORTACIONES</para></td>
703+ </tr>
704+ <tr>
705+ <td>
706+ <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="HEADER-BOOK-TABLE">
707+ <tr>
708+ <td>
709+ <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
710+ <tr>
711+ <td><para style="HEADER">No Gravado</para></td>
712+ </tr>
713+ <tr>
714+ <td>
715+ <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE">
716+ <tr>
717+ <td><para style="HEADER">SDCF</para></td>
718+ <td><para style="HEADER">Exento</para></td>
719+ </tr>
720+ </blockTable>
721+ </td>
722+ </tr>
723+ </blockTable>
724+ </td>
725+ <td>
726+ <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
727+ <tr>
728+ <td><para style="HEADER">Compras o Servicios Gravados Alícuota General</para></td>
729+ </tr>
730+ <tr>
731+ <td>
732+ <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
733+ <tr>
734+ <td><para style="HEADER">Base Imponible</para></td>
735+ <td><para style="HEADER">Alícuota</para></td>
736+ <td><para style="HEADER">Débito Fiscal</para></td>
737+ </tr>
738+ </blockTable>
739+ </td>
740+ </tr>
741+ </blockTable>
742+ </td>
743+ <td>
744+ <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
745+ <tr>
746+ <td><para style="HEADER">Compras o Servicios Gravados Alícuota Reducida</para></td>
747+ </tr>
748+ <tr>
749+ <td>
750+ <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
751+ <tr>
752+ <td><para style="HEADER">Base Imponible</para></td>
753+ <td><para style="HEADER">Alícuota</para></td>
754+ <td><para style="HEADER">Débito Fiscal</para></td>
755+ </tr>
756+ </blockTable>
757+ </td>
758+ </tr>
759+ </blockTable>
760+ </td>
761+ <td>
762+ <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
763+ <tr>
764+ <td><para style="HEADER">Compras o Servicios Gravados Alícuota Adicional</para></td>
765+ </tr>
766+ <tr>
767+ <td>
768+ <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
769+ <tr>
770+ <td><para style="HEADER">Base Imponible</para></td>
771+ <td><para style="HEADER">Alícuota</para></td>
772+ <td><para style="HEADER">Débito Fiscal</para></td>
773+ </tr>
774+ </blockTable>
775+ </td>
776+ </tr>
777+ </blockTable>
778+ </td>
779+ </tr>
780+ </blockTable>
781+ </td>
782+ </tr>
783+ </blockTable>
784+ </td>
785+ <td>
786+ <blockTable colWidths="485.0" style="HEADER-BOOK-TABLE">
787+ <tr>
788+ <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES EN EL MERCADO INTERNO</para></td>
789+ </tr>
790+ <tr>
791+ <td>
792+ <blockTable colWidths="40.0, 90.0, 90.0, 90.0, 175.0" style="HEADER-BOOK-TABLE">
793+ <tr>
794+ <td>
795+ <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
796+ <tr>
797+ <td><para style="HEADER">No Gravado</para></td>
798+ </tr>
799+ <tr>
800+ <td>
801+ <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE">
802+ <tr>
803+ <td><para style="HEADER">SDCF</para></td>
804+ <td><para style="HEADER">Exento</para></td>
805+ </tr>
806+ </blockTable>
807+ </td>
808+ </tr>
809+ </blockTable>
810+ </td>
811+ <td>
812+ <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
813+ <tr>
814+ <td><para style="HEADER">Compras o Servicios Gravados Alícuota General</para></td>
815+ </tr>
816+ <tr>
817+ <td>
818+ <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
819+ <tr>
820+ <td><para style="HEADER">Base Imponible</para></td>
821+ <td><para style="HEADER">Alícuota</para></td>
822+ <td><para style="HEADER">Débito Fiscal</para></td>
823+ </tr>
824+ </blockTable>
825+ </td>
826+ </tr>
827+ </blockTable>
828+ </td>
829+ <td>
830+ <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
831+ <tr>
832+ <td><para style="HEADER">Compras o Servicios Gravados Alícuota Reducida</para></td>
833+ </tr>
834+ <tr>
835+ <td>
836+ <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
837+ <tr>
838+ <td><para style="HEADER">Base Imponible</para></td>
839+ <td><para style="HEADER">Alícuota</para></td>
840+ <td><para style="HEADER">Débito Fiscal</para></td>
841+ </tr>
842+ </blockTable>
843+ </td>
844+ </tr>
845+ </blockTable>
846+ </td>
847+ <td>
848+ <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
849+ <tr>
850+ <td><para style="HEADER">Compras o Servicios Gravados Alícuota Adicional</para></td>
851+ </tr>
852+ <tr>
853+ <td>
854+ <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
855+ <tr>
856+ <td><para style="HEADER">Base Imponible</para></td>
857+ <td><para style="HEADER">Alícuota</para></td>
858+ <td><para style="HEADER">Débito Fiscal</para></td>
859+ </tr>
860+ </blockTable>
861+ </td>
862+ </tr>
863+ </blockTable>
864+ </td>
865+ <td>
866+ <blockTable colWidths="175.0" style="HEADER-BOOK-TABLE">
867+ <tr>
868+ <td><para style="HEADER">Retenciones</para></td>
869+ </tr>
870+ <tr>
871+ <td>
872+ <blockTable colWidths="35.0, 35.0, 35.0, 35.0, 35.0" style="HEADER-BOOK-TABLE">
873+ <tr>
874+ <td><para style="HEADER">Fecha Factura Afect.</para></td>
875+ <td><para style="HEADER">Nro Retención</para></td>
876+ <td><para style="HEADER">Débito Fiscal Base</para></td>
877+ <td><para style="HEADER">Retención %</para></td>
878+ <td><para style="HEADER">Monto Retenido</para></td>
879+ </tr>
880+ </blockTable>
881+ </td>
882+ </tr>
883+ </blockTable>
884+ </td>
885+ </tr>
886+ </blockTable>
887+ </td>
888+ </tr>
889+ </blockTable>
890+ </td>
891+ </tr>
892+ </blockTable>
893+ </section>
894+ </place>
895+
896+ <!-- PAGE FOOTER -->
897 <setFont name="Times-Roman" size="10"/>
898 <drawString x="2.5cm" y="2.5cm"> [[ formatLang(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),date_time = True) ]]</drawString>
899 <drawString x="55cm" y="2.5cm">Pagina <pageNumber/></drawString>
900 <lineMode width="0.7"/>
901+ <setFont name="Times-Roman" size="8"/>
902+ <drawString x="25cm" y="2.5cm"> Printed in Report Lab using OpenERP</drawString>
903 <lines>2.0cm 3.0cm 57.4cm 3.0cm</lines>
904 </pageGraphics>
905- <frame id="first" x1="2.0cm" y1="2.0cm" width="55.4cm" height="38.0cm"/>
906+ <frame id="first" x1="2.0cm" y1="3.5cm" width="55.4cm" height="33.7cm"/>
907 </pageTemplate>
908 </template>
909
910@@ -68,6 +348,7 @@
911 <paraStyle name="CONTENIDOLEFT" fontName="Times-Roman" fontSize="4.5" leading="4.7" alignment="LEFT"/>
912 <paraStyle name="HEADERLEFT" fontName="Times-Roman" fontSize="4.0" leading="6" alignment="LEFT"/>
913 <paraStyle name="CONTENIDOLEFT_BOLD" fontName="Times-Bold" fontSize="7.0" leading="6" alignment="LEFT"/>
914+ <paraStyle name="POPINFO" fontName="Times-Bold" fontSize="18.0" textColor="red" leading="6" alignment="LEFT"/>
915
916 </stylesheet>
917 <images/>
918@@ -78,276 +359,6 @@
919 <section>
920 <para>[[repeatIn( objects ,'my_fb')]]</para>
921
922- <!-- REPORT HEADER -->
923- <blockTable colWidths="28.81cm,11.08cm,15.51cm" style="HEADER-REPORT-TABLE">
924- <tr>
925- [[ setLang(my_fb.company_id.partner_id.lang) ]]
926- <td>
927- <para style="HEADERDOC">[[ company.partner_id.name ]] [[ company.partner_id.vat[2:] ]]</para>
928- <para style="HEADERDOC">[[ my_fb.get_partner_addr ]]</para>
929- </td>
930- <td>
931- <para style="HEADERDOC">Libro: Compras </para>
932- <para style="HEADERDOC">[[ my_fb.get_month_year ]]</para>
933- <para style="HEADERDOC">[[ 'Desde: %s'%formatLang( my_fb.period_id.date_start, date=True) ]]</para>
934- <para style="HEADERDOC">[[ 'Hasta: %s'%formatLang( my_fb.period_id.date_stop, date=True) ]]</para>
935- </td>
936- <td>
937- <para style="HEADERDOC" fontName="Times-Roman">Según Articulo 76 del Reglamento de la Ley del IVA No. 5.363 del 12 de Julio de 1999</para>
938- </td>
939- </tr>
940- </blockTable>
941- <spacer length="10mm"/>
942-
943- <!-- PURCHASE BOOK HEADERS -->
944- <section>
945- <blockTable colWidths="379.0, 37.0, 310.0, 485.0" style="HEADER-BOOK-TABLE" blockAlignment="LEFT">
946- <tr>
947- <td>
948- <blockTable colWidths="379.0" style="HEADER-BOOK-TABLE">
949- <tr>
950- <td vAlign="MIDDLE"><para style="HEADER">DATOS DE LA FACTURA O/Y DOCUMENTO</para></td>
951- </tr>
952- <tr>
953- <td>
954- <blockTable colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 36.0, 130.0, 25.0, 63.0" style="HEADER-BOOK-TABLE">
955- <tr>
956- <td vAlign="MIDDLE"><para style="HEADER">Linea</para></td>
957- <td vAlign="MIDDLE"><para style="HEADER">T. Doc.</para></td>
958- <td vAlign="MIDDLE"><para style="HEADER">Fecha Doc.</para></td>
959- <td vAlign="MIDDLE"><para style="HEADER">Numero Control</para></td>
960- <td vAlign="MIDDLE"><para style="HEADER">Numero de Documento</para></td>
961- <td vAlign="MIDDLE"><para style="HEADER">Factura Afectada</para></td>
962- <td vAlign="MIDDLE"><para style="HEADER">Razon Social</para></td>
963- <td vAlign="MIDDLE"><para style="HEADER">RIF</para></td>
964- <td vAlign="MIDDLE"><para style="HEADER">Liquidación de Aduana</para>
965- <section>
966- <blockTable colWidths="23.0, 40.0" style="HEADER-BOOK-TABLE">
967- <tr>
968- <td><para style="HEADER">Fecha Nac.</para></td>
969- <td><para style="HEADER">Declaración</para></td>
970- </tr>
971- </blockTable>
972- </section>
973- </td>
974- </tr>
975- </blockTable>
976- </td>
977- </tr>
978- </blockTable>
979- </td>
980- <td>
981- <blockTable colWidths="37.0" style="HEADER-BOOK-TABLE">
982- <tr>
983- <td vAlign="MIDDLE"><para style="HEADER">TOTALES</para></td>
984- </tr>
985- <tr>
986- <td>
987- <blockTable colWidths="37.0" style="HEADER-BOOK-TABLE" rowHeights="12">
988- <tr>
989- <td vAlign="MIDDLE"><para style="HEADER">Total con IVA</para></td>
990- </tr>
991- </blockTable>
992- </td>
993- </tr>
994- </blockTable>
995- </td>
996- <td>
997- <blockTable colWidths="310.0" style="HEADER-BOOK-TABLE">
998- <tr>
999- <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES DE IMPORTACIONES</para></td>
1000- </tr>
1001- <tr>
1002- <td>
1003- <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="HEADER-BOOK-TABLE">
1004- <tr>
1005- <td>
1006- <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
1007- <tr>
1008- <td><para style="HEADER">No Gravado</para></td>
1009- </tr>
1010- <tr>
1011- <td>
1012- <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE">
1013- <tr>
1014- <td><para style="HEADER">SDCF</para></td>
1015- <td><para style="HEADER">Exento</para></td>
1016- </tr>
1017- </blockTable>
1018- </td>
1019- </tr>
1020- </blockTable>
1021- </td>
1022- <td>
1023- <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
1024- <tr>
1025- <td><para style="HEADER">Compras o Servicios Gravados Alícuota General</para></td>
1026- </tr>
1027- <tr>
1028- <td>
1029- <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
1030- <tr>
1031- <td><para style="HEADER">Base Imponible</para></td>
1032- <td><para style="HEADER">Alícuota</para></td>
1033- <td><para style="HEADER">Débito Fiscal</para></td>
1034- </tr>
1035- </blockTable>
1036- </td>
1037- </tr>
1038- </blockTable>
1039- </td>
1040- <td>
1041- <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
1042- <tr>
1043- <td><para style="HEADER">Compras o Servicios Gravados Alícuota Reducida</para></td>
1044- </tr>
1045- <tr>
1046- <td>
1047- <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
1048- <tr>
1049- <td><para style="HEADER">Base Imponible</para></td>
1050- <td><para style="HEADER">Alícuota</para></td>
1051- <td><para style="HEADER">Débito Fiscal</para></td>
1052- </tr>
1053- </blockTable>
1054- </td>
1055- </tr>
1056- </blockTable>
1057- </td>
1058- <td>
1059- <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
1060- <tr>
1061- <td><para style="HEADER">Compras o Servicios Gravados Alícuota Adicional</para></td>
1062- </tr>
1063- <tr>
1064- <td>
1065- <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
1066- <tr>
1067- <td><para style="HEADER">Base Imponible</para></td>
1068- <td><para style="HEADER">Alícuota</para></td>
1069- <td><para style="HEADER">Débito Fiscal</para></td>
1070- </tr>
1071- </blockTable>
1072- </td>
1073- </tr>
1074- </blockTable>
1075- </td>
1076- </tr>
1077- </blockTable>
1078- </td>
1079- </tr>
1080- </blockTable>
1081- </td>
1082- <td>
1083- <blockTable colWidths="485.0" style="HEADER-BOOK-TABLE">
1084- <tr>
1085- <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES EN EL MERCADO INTERNO</para></td>
1086- </tr>
1087- <tr>
1088- <td>
1089- <blockTable colWidths="40.0, 90.0, 90.0, 90.0, 175.0" style="HEADER-BOOK-TABLE">
1090- <tr>
1091- <td>
1092- <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
1093- <tr>
1094- <td><para style="HEADER">No Gravado</para></td>
1095- </tr>
1096- <tr>
1097- <td>
1098- <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE">
1099- <tr>
1100- <td><para style="HEADER">SDCF</para></td>
1101- <td><para style="HEADER">Exento</para></td>
1102- </tr>
1103- </blockTable>
1104- </td>
1105- </tr>
1106- </blockTable>
1107- </td>
1108- <td>
1109- <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
1110- <tr>
1111- <td><para style="HEADER">Compras o Servicios Gravados Alícuota General</para></td>
1112- </tr>
1113- <tr>
1114- <td>
1115- <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
1116- <tr>
1117- <td><para style="HEADER">Base Imponible</para></td>
1118- <td><para style="HEADER">Alícuota</para></td>
1119- <td><para style="HEADER">Débito Fiscal</para></td>
1120- </tr>
1121- </blockTable>
1122- </td>
1123- </tr>
1124- </blockTable>
1125- </td>
1126- <td>
1127- <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
1128- <tr>
1129- <td><para style="HEADER">Compras o Servicios Gravados Alícuota Reducida</para></td>
1130- </tr>
1131- <tr>
1132- <td>
1133- <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
1134- <tr>
1135- <td><para style="HEADER">Base Imponible</para></td>
1136- <td><para style="HEADER">Alícuota</para></td>
1137- <td><para style="HEADER">Débito Fiscal</para></td>
1138- </tr>
1139- </blockTable>
1140- </td>
1141- </tr>
1142- </blockTable>
1143- </td>
1144- <td>
1145- <blockTable colWidths="90.0" style="HEADER-BOOK-TABLE">
1146- <tr>
1147- <td><para style="HEADER">Compras o Servicios Gravados Alícuota Adicional</para></td>
1148- </tr>
1149- <tr>
1150- <td>
1151- <blockTable colWidths="35.0, 20.0, 35.0" style="HEADER-BOOK-TABLE">
1152- <tr>
1153- <td><para style="HEADER">Base Imponible</para></td>
1154- <td><para style="HEADER">Alícuota</para></td>
1155- <td><para style="HEADER">Débito Fiscal</para></td>
1156- </tr>
1157- </blockTable>
1158- </td>
1159- </tr>
1160- </blockTable>
1161- </td>
1162- <td>
1163- <blockTable colWidths="175.0" style="HEADER-BOOK-TABLE">
1164- <tr>
1165- <td><para style="HEADER">Retenciones</para></td>
1166- </tr>
1167- <tr>
1168- <td>
1169- <blockTable colWidths="35.0, 35.0, 35.0, 35.0, 35.0" style="HEADER-BOOK-TABLE">
1170- <tr>
1171- <td><para style="HEADER">Fecha Factura Afect.</para></td>
1172- <td><para style="HEADER">Nro Retención</para></td>
1173- <td><para style="HEADER">Débito Fiscal Base</para></td>
1174- <td><para style="HEADER">Retención %</para></td>
1175- <td><para style="HEADER">Monto Retenido</para></td>
1176- </tr>
1177- </blockTable>
1178- </td>
1179- </tr>
1180- </blockTable>
1181- </td>
1182- </tr>
1183- </blockTable>
1184- </td>
1185- </tr>
1186- </blockTable>
1187- </td>
1188- </tr>
1189- </blockTable>
1190- </section>
1191-
1192 <!-- PURCHASE BOOK LINES -->
1193 <section>
1194 <para>[[repeatIn( my_fb.fbl_ids,'my_fbl')]]</para>
1195@@ -477,7 +488,7 @@
1196 <blockTable colWidths="70mm,40mm" style="SUMMARY-TABLE" repeatRows="2">
1197 <tr>
1198 <td><para style="HEADER">[['RESUMEN RETENCIONES']]</para></td>
1199- <td><para style="HEADER">RET. DEBITO FISCAL</para></td>
1200+ <td><para style="HEADER">RET. CRÉDITO FISCAL</para></td>
1201 </tr>
1202 <tr>
1203 <td><para style="CONTENIDOLEFT">[['RETENCIONES PERIODOS ANTERIORES']]</para></td>
1204@@ -502,7 +513,7 @@
1205 <tr>
1206 <td><para style="HEADER">RESUMEN</para></td>
1207 <td><para style="HEADER">BASE IMPONIBLE</para></td>
1208- <td><para style="HEADER">DEBITO FISCAL</para></td>
1209+ <td><para style="HEADER">CRÉDITO FISCAL</para></td>
1210 </tr>
1211 <tr>
1212 <td><para style="HEADERLEFT">IMPORTACIONES NO GRAVADAS Y/O SIN DERECHO A CREDITO FISCAL</para></td>
1213@@ -546,26 +557,13 @@
1214 <td><para style="HEADER">[[ formatLang(my_fb.do_reduced_vat_tax_sum or 0.0) ]]</para></td>
1215 </tr>
1216 <tr>
1217- <td><para style="CONTENIDOLEFT_BOLD">TOTAL VENTAS Y DEBITOS FISCAL PARA EFECTOS DE DETERMINACION</para></td>
1218+ <td><para style="CONTENIDOLEFT_BOLD">TOTAL COMPRAS Y CRÉDITOS FISCAL PARA EFECTOS DE DETERMINACION</para></td>
1219 <td><para style="HEADER">[[ formatLang(my_fb.get_total_tax_credit_debit_base_sum or 0.0) ]]</para></td>
1220 <td><para style="HEADER">[[ formatLang(my_fb.get_total_tax_credit_debit_tax_sum or 0.0) ]]</para></td>
1221 </tr>
1222 </blockTable>
1223 </section>
1224
1225-<!--
1226-<blockTable colWidths="110.0" style="INTERNALTABLE">
1227- <tr>
1228- <td vAlign="MIDDLE">
1229- <para>[[ validation(data['form']) and '.' or removeParentNode('blockTable') ]]</para>
1230- <nextPage/>
1231- OJO AQUI el next page estaba comentado.
1232- </td>
1233- </tr>
1234-</blockTable>
1235-
1236--->
1237-
1238 </section>
1239 </story>
1240 </document>
1241
1242=== modified file 'l10n_ve_fiscal_book/report/fiscal_book_sale_report.rml'
1243--- l10n_ve_fiscal_book/report/fiscal_book_sale_report.rml 2013-05-20 18:33:19 +0000
1244+++ l10n_ve_fiscal_book/report/fiscal_book_sale_report.rml 2013-05-27 21:01:40 +0000
1245@@ -1,21 +1,376 @@
1246 <?xml version="1.0"?>
1247-<document filename="test.pdf" invariant="1">
1248+<document filename="book.pdf" invariant="1">
1249 <!--
1250 info: http://www.dpandi.com/paper/
1251 Royal Size ( 20 x 25 inches )
1252 A2 Size ( 420 x 594 mm - 16.5 x 23.4 inches )
1253 A3 Size ( 297 x 420 mm - 11.7 x 16.5 inches )
1254 -->
1255- <template pageSize="(59.4cm, 42.0cm)" title="Test" author="Katherine Zaoral" allowSplitting="20" showBoundary="0">
1256+ <template pageSize="(59.4cm, 42.0cm)" title="Fiscal Book" author="Katherine Zaoral" allowSplitting="20" showBoundary="0">
1257 <pageTemplate id="first">
1258 <pageGraphics>
1259+
1260+ <!-- PAGE HEADER -->
1261+ <place x="2cm" y="36.7cm" width="59.4cm" height="3.33cm">
1262+ <!-- REPORT HEADER -->
1263+ <blockTable colWidths="28.81cm, 11.08cm, 15.51cm" style="HEADER-REPORT-TABLE">
1264+ <tr>
1265+ [[ setLang(my_fb.company_id.partner_id.lang) ]]
1266+ <td>
1267+ <para style="HEADERDOC">[[ my_fb.company_id.partner_id.name ]] [[ my_fb.company_id.partner_id.vat[2:] ]]</para>
1268+ <para style="HEADERDOC">[[ my_fb.get_partner_addr ]]</para>
1269+ </td>
1270+ <td>
1271+ <para styleda="HEADERDOC">Libro: Ventas </para>
1272+ <para style="HEADERDOC">[[ my_fb.get_month_year ]]</para>
1273+ <para style="HEADERDOC">[[ 'Desde: %s'%formatLang( my_fb.period_id.date_start, date=True) ]]</para>
1274+ <para style="HEADERDOC">[[ 'Hasta: %s'%formatLang( my_fb.period_id.date_stop, date=True) ]]</para>
1275+ </td>
1276+ <td>
1277+ <para style="HEADERDOC" fontName="Times-Roman">Según Articulo 76 del Reglamento de la Ley del IVA No. 5.363 del 12 de Julio de 1999</para>
1278+ <para style="POPINFO">[[ my_fb.state == 'draft' and 'GETTING READY' or my_fb.state == 'confirmed' and 'APPROVED BY MANAGER' or my_fb.state == 'done' and '' ]]</para>
1279+ </td>
1280+ </tr>
1281+ </blockTable>
1282+ <spacer length="0.5cm"/>
1283+ </place>
1284+
1285+ <place x="6.6cm" y="34.5cm" width="59.4cm" height="3.33cm">
1286+ <!-- SALE BOOK HEADERS -->
1287+ <blockTable colWidths="375.0, 37.0, 103.0, 795.0" style="NEW-HEADER" blockAlignment="LEFT">
1288+ <tr>
1289+ <td>
1290+ <blockTable colWidths="375.0" style="NEW-HEADER">
1291+ <tr>
1292+ <td vAlign="MIDDLE"><para style="HEADER">DATOS DE LA FACTURA O/Y DOCUMENTO</para></td>
1293+ </tr>
1294+ <tr>
1295+ <td>
1296+ <blockTable colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 72.0, 23.0, 130.0, 25.0" style="NEW-HEADER" rowHeights="18">
1297+ <tr>
1298+ <td vAlign="MIDDLE"><para style="HEADER">Linea</para></td>
1299+ <td vAlign="MIDDLE"><para style="HEADER">T. Doc.</para></td>
1300+ <td vAlign="MIDDLE"><para style="HEADER">Fecha Doc.</para></td>
1301+ <td vAlign="MIDDLE"><para style="HEADER">Numero Control</para></td>
1302+ <td vAlign="MIDDLE"><para style="HEADER">Numero de Documento</para></td>
1303+
1304+ <td>
1305+ <blockTable colWidths="72.0" style="NEW-HEADER">
1306+ <tr>
1307+ <td vAlign="MIDDLE"><para style="HEADER">Impresora Fiscal</para></td>
1308+ </tr>
1309+ <tr>
1310+ <td>
1311+ <blockTable colWidths="36.0, 36.0" style="NEW-HEADER" rowHeights="12">
1312+ <tr>
1313+ <td vAlign="MIDDLE"><para style="HEADER">Numero Impresora</para></td>
1314+ <td vAlign="MIDDLE"><para style="HEADER">Reporte Z</para></td>
1315+ </tr>
1316+ </blockTable>
1317+ </td>
1318+ </tr>
1319+ </blockTable>
1320+ </td>
1321+
1322+ <td vAlign="MIDDLE"><para style="HEADER">Factura Afectada</para></td>
1323+ <td vAlign="MIDDLE"><para style="HEADER">Razon Social</para></td>
1324+ <td vAlign="MIDDLE"><para style="HEADER">RIF</para></td>
1325+ </tr>
1326+ </blockTable>
1327+ </td>
1328+ </tr>
1329+ </blockTable>
1330+ </td>
1331+ <td>
1332+ <blockTable colWidths="37.0" style="NEW-HEADER">
1333+ <tr>
1334+ <td vAlign="MIDDLE"><para style="HEADER">TOTALES</para></td>
1335+ </tr>
1336+ <tr>
1337+ <td>
1338+ <blockTable colWidths="37.0" style="NEW-HEADER" rowHeights="18">
1339+ <tr>
1340+ <td vAlign="MIDDLE"><para style="HEADER">Total con IVA</para></td>
1341+ </tr>
1342+ </blockTable>
1343+ </td>
1344+ </tr>
1345+ </blockTable>
1346+ </td>
1347+ <td>
1348+ <blockTable colWidths="103.0" style="NEW-HEADER">
1349+ <tr>
1350+ <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES DE EXPORTACION</para></td>
1351+ </tr>
1352+ <tr>
1353+ <td>
1354+ <blockTable colWidths="63.0, 40.0" style="NEW-HEADER" rowHeights="18">
1355+ <tr>
1356+ <td>
1357+ <blockTable colWidths="63.0" style="NEW-HEADER">
1358+ <tr>
1359+ <td vAlign="MIDDLE"><para style="HEADER">Datos Generales de Aduana</para></td>
1360+ </tr>
1361+ <tr>
1362+ <td>
1363+ <blockTable colWidths="23.0, 40.0" style="NEW-HEADER" rowHeights="12">
1364+ <tr>
1365+ <td><para style="HEADER">Fecha</para></td>
1366+ <td><para style="HEADER">Declaración</para></td>
1367+ </tr>
1368+ </blockTable>
1369+ </td>
1370+ </tr>
1371+ </blockTable>
1372+ </td>
1373+ <td>
1374+ <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
1375+ <tr>
1376+ <td><para style="HEADER">No Gravado</para></td>
1377+ </tr>
1378+ <tr>
1379+ <td>
1380+ <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE" rowHeights="12">
1381+ <tr>
1382+ <td><para style="HEADER">SDCF</para></td>
1383+ <td><para style="HEADER">Exento</para></td>
1384+ </tr>
1385+ </blockTable>
1386+ </td>
1387+ </tr>
1388+ </blockTable>
1389+ </td>
1390+ </tr>
1391+ </blockTable>
1392+ </td>
1393+ </tr>
1394+ </blockTable>
1395+ </td>
1396+ <td>
1397+ <blockTable colWidths="795.0" style="NEW-HEADER">
1398+ <tr>
1399+ <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES EN EL MERCADO INTERNO</para></td>
1400+ </tr>
1401+ <tr>
1402+ <td>
1403+ <blockTable colWidths="310.0, 310.0, 175.0" style="NEW-HEADER">
1404+ <tr>
1405+ <td>
1406+ <blockTable colWidths="310.0" style="NEW-HEADER">
1407+ <tr>
1408+ <td vAlign="MIDDLE"><para style="HEADER">Contribuyente</para></td>
1409+ </tr>
1410+ <tr>
1411+ <td>
1412+ <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="NEW-HEADER">
1413+ <tr>
1414+ <td>
1415+ <blockTable colWidths="40.0" style="NEW-HEADER">
1416+ <tr>
1417+ <td><para style="HEADER">No Gravado</para></td>
1418+ </tr>
1419+ <tr>
1420+ <td>
1421+ <blockTable colWidths="20.0, 20.0" style="NEW-HEADER">
1422+ <tr>
1423+ <td><para style="HEADER">SDCF</para></td>
1424+ <td><para style="HEADER">Exento</para></td>
1425+ </tr>
1426+ </blockTable>
1427+ </td>
1428+ </tr>
1429+ </blockTable>
1430+ </td>
1431+ <td>
1432+ <blockTable colWidths="90.0" style="NEW-HEADER">
1433+ <tr>
1434+ <td><para style="HEADER">Ventas o Servicios Gravados Alícuota General</para></td>
1435+ </tr>
1436+ <tr>
1437+ <td>
1438+ <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1439+ <tr>
1440+ <td><para style="HEADER">Base Imponible</para></td>
1441+ <td><para style="HEADER">Alícuota</para></td>
1442+ <td><para style="HEADER">Débito Fiscal</para></td>
1443+ </tr>
1444+ </blockTable>
1445+ </td>
1446+ </tr>
1447+ </blockTable>
1448+ </td>
1449+ <td>
1450+ <blockTable colWidths="90.0" style="NEW-HEADER">
1451+ <tr>
1452+ <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Reducida</para></td>
1453+ </tr>
1454+ <tr>
1455+ <td>
1456+ <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1457+ <tr>
1458+ <td><para style="HEADER">Base Imponible</para></td>
1459+ <td><para style="HEADER">Alícuota</para></td>
1460+ <td><para style="HEADER">Débito Fiscal</para></td>
1461+ </tr>
1462+ </blockTable>
1463+ </td>
1464+ </tr>
1465+ </blockTable>
1466+ </td>
1467+ <td>
1468+ <blockTable colWidths="90.0" style="NEW-HEADER">
1469+ <tr>
1470+ <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Adicional</para></td>
1471+ </tr>
1472+ <tr>
1473+ <td>
1474+ <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1475+ <tr>
1476+ <td><para style="HEADER">Base Imponible</para></td>
1477+ <td><para style="HEADER">Alícuota</para></td>
1478+ <td><para style="HEADER">Débito Fiscal</para></td>
1479+ </tr>
1480+ </blockTable>
1481+ </td>
1482+ </tr>
1483+ </blockTable>
1484+ </td>
1485+ </tr>
1486+ </blockTable>
1487+ </td>
1488+ </tr>
1489+ </blockTable>
1490+ </td>
1491+
1492+ <td>
1493+ <blockTable colWidths="310.0" style="NEW-HEADER">
1494+ <tr>
1495+ <td vAlign="MIDDLE"><para style="HEADER">No Contribuyente</para></td>
1496+ </tr>
1497+ <tr>
1498+ <td>
1499+ <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="NEW-HEADER">
1500+ <tr>
1501+ <td>
1502+ <blockTable colWidths="40.0" style="NEW-HEADER">
1503+ <tr>
1504+ <td><para style="HEADER">No Gravado</para></td>
1505+ </tr>
1506+ <tr>
1507+ <td>
1508+ <blockTable colWidths="20.0, 20.0" style="NEW-HEADER">
1509+ <tr>
1510+ <td><para style="HEADER">SDCF</para></td>
1511+ <td><para style="HEADER">Exento</para></td>
1512+ </tr>
1513+ </blockTable>
1514+ </td>
1515+ </tr>
1516+ </blockTable>
1517+ </td>
1518+ <td>
1519+ <blockTable colWidths="90.0" style="NEW-HEADER">
1520+ <tr>
1521+ <td><para style="HEADER">Ventas o Servicios Gravados Alícuota General</para></td>
1522+ </tr>
1523+ <tr>
1524+ <td>
1525+ <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1526+ <tr>
1527+ <td><para style="HEADER">Base Imponible</para></td>
1528+ <td><para style="HEADER">Alícuota</para></td>
1529+ <td><para style="HEADER">Débito Fiscal</para></td>
1530+ </tr>
1531+ </blockTable>
1532+ </td>
1533+ </tr>
1534+ </blockTable>
1535+ </td>
1536+ <td>
1537+ <blockTable colWidths="90.0" style="NEW-HEADER">
1538+ <tr>
1539+ <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Reducida</para></td>
1540+ </tr>
1541+ <tr>
1542+ <td>
1543+ <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1544+ <tr>
1545+ <td><para style="HEADER">Base Imponible</para></td>
1546+ <td><para style="HEADER">Alícuota</para></td>
1547+ <td><para style="HEADER">Débito Fiscal</para></td>
1548+ </tr>
1549+ </blockTable>
1550+ </td>
1551+ </tr>
1552+ </blockTable>
1553+ </td>
1554+ <td>
1555+ <blockTable colWidths="90.0" style="NEW-HEADER">
1556+ <tr>
1557+ <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Adicional</para></td>
1558+ </tr>
1559+ <tr>
1560+ <td>
1561+ <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1562+ <tr>
1563+ <td><para style="HEADER">Base Imponible</para></td>
1564+ <td><para style="HEADER">Alícuota</para></td>
1565+ <td><para style="HEADER">Débito Fiscal</para></td>
1566+ </tr>
1567+ </blockTable>
1568+ </td>
1569+ </tr>
1570+ </blockTable>
1571+ </td>
1572+ </tr>
1573+ </blockTable>
1574+ </td>
1575+ </tr>
1576+ </blockTable>
1577+ </td>
1578+
1579+ <td>
1580+ <blockTable colWidths="175.0" style="NEW-HEADER">
1581+ <tr>
1582+ <td><para style="HEADER">Retenciones</para></td>
1583+ </tr>
1584+ <tr>
1585+ <td>
1586+ <blockTable colWidths="35.0, 35.0, 35.0, 35.0, 35.0" style="NEW-HEADER" rowHeights="12.0">
1587+ <tr>
1588+ <td><para style="HEADER">Fecha de Factura Afectada</para></td>
1589+ <td><para style="HEADER">Nro Retención</para></td>
1590+ <td><para style="HEADER">Débito Fiscal Base</para></td>
1591+ <td><para style="HEADER">Retención %</para></td>
1592+ <td><para style="HEADER">Monto Retenido</para></td>
1593+ </tr>
1594+ </blockTable>
1595+ </td>
1596+ </tr>
1597+ </blockTable>
1598+ </td>
1599+ </tr>
1600+ </blockTable>
1601+ </td>
1602+ </tr>
1603+ </blockTable>
1604+ </td>
1605+ </tr>
1606+ </blockTable>
1607+
1608+ </place>
1609+
1610+ <!-- PAGE FOOTER -->
1611 <setFont name="Times-Roman" size="10"/>
1612 <drawString x="2.5cm" y="2.5cm"> [[ formatLang(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),date_time = True) ]]</drawString>
1613 <drawString x="55cm" y="2.5cm">Pagina <pageNumber/></drawString>
1614 <lineMode width="0.7"/>
1615+ <setFont name="Times-Roman" size="8"/>
1616+ <drawString x="25cm" y="2.5cm"> Printed in Report Lab using OpenERP</drawString>
1617 <lines>2.0cm 3.0cm 57.4cm 3.0cm</lines>
1618+
1619 </pageGraphics>
1620- <frame id="first" x1="2.0cm" y1="2.0cm" width="55.4cm" height="38.0cm"/>
1621+ <frame id="first" x1="2.0cm" y1="3.5cm" width="55.4cm" height="33.7cm"/>
1622 </pageTemplate>
1623 </template>
1624
1625@@ -131,6 +486,7 @@
1626 <paraStyle name="Index" fontName="Times-Roman"/>
1627 <paraStyle name="Table Contents" fontName="Times-Roman"/>
1628 <paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
1629+ <paraStyle name="POPINFO" fontName="Times-Bold" fontSize="18.0" textColor="red" leading="6" alignment="LEFT"/>
1630
1631 <blockTableStyle id="NEW-HEADER">
1632 <lineStyle kind="GRID" colorName="black"/>
1633@@ -162,412 +518,13 @@
1634 <section>
1635 <para>[[repeatIn( objects ,'my_fb')]]</para>
1636
1637- <!-- REPORT HEADER -->
1638- <blockTable colWidths="28.81cm,11.08cm,15.51cm" style="HEADER-REPORT-TABLE">
1639- <tr>
1640- [[ setLang(my_fb.company_id.partner_id.lang) ]]
1641- <td>
1642- <para style="HEADERDOC">[[ company.partner_id.name ]] [[ company.partner_id.vat[2:] ]]</para>
1643- <para style="HEADERDOC">[[ my_fb.get_partner_addr ]]</para>
1644- </td>
1645- <td>
1646- <para styleda="HEADERDOC">Libro: Ventas </para>
1647- <para style="HEADERDOC">[[ my_fb.get_month_year ]]</para>
1648- <para style="HEADERDOC">[[ 'Desde: %s'%formatLang( my_fb.period_id.date_start, date=True) ]]</para>
1649- <para style="HEADERDOC">[[ 'Hasta: %s'%formatLang( my_fb.period_id.date_stop, date=True) ]]</para>
1650- </td>
1651- <td>
1652- <para style="HEADERDOC" fontName="Times-Roman">Según Articulo 76 del Reglamento de la Ley del IVA No. 5.363 del 12 de Julio de 1999</para>
1653- </td>
1654- </tr>
1655- </blockTable>
1656- <spacer length="10mm"/>
1657-
1658- <!-- SALE BOOK HEADERS -->
1659- <section>
1660- <blockTable colWidths="375.0, 37.0, 373.0, 795.0" style="NEW-HEADER" blockAlignment="LEFT">
1661- <tr>
1662- <td>
1663- <blockTable colWidths="375.0" style="NEW-HEADER">
1664- <tr>
1665- <td vAlign="MIDDLE"><para style="HEADER">DATOS DE LA FACTURA O/Y DOCUMENTO</para></td>
1666- </tr>
1667- <tr>
1668- <td>
1669- <blockTable colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 72.0, 23.0, 130.0, 25.0" style="NEW-HEADER" rowHeights="18">
1670- <tr>
1671- <td vAlign="MIDDLE"><para style="HEADER">Linea</para></td>
1672- <td vAlign="MIDDLE"><para style="HEADER">T. Doc.</para></td>
1673- <td vAlign="MIDDLE"><para style="HEADER">Fecha Doc.</para></td>
1674- <td vAlign="MIDDLE"><para style="HEADER">Numero Control</para></td>
1675- <td vAlign="MIDDLE"><para style="HEADER">Numero de Documento</para></td>
1676-
1677- <td>
1678- <blockTable colWidths="72.0" style="NEW-HEADER">
1679- <tr>
1680- <td vAlign="MIDDLE"><para style="HEADER">Impresora Fiscal</para></td>
1681- </tr>
1682- <tr>
1683- <td>
1684- <blockTable colWidths="36.0, 36.0" style="NEW-HEADER" rowHeights="12">
1685- <tr>
1686- <td vAlign="MIDDLE"><para style="HEADER">Numero Impresora</para></td>
1687- <td vAlign="MIDDLE"><para style="HEADER">Reporte Z</para></td>
1688- </tr>
1689- </blockTable>
1690- </td>
1691- </tr>
1692- </blockTable>
1693- </td>
1694-
1695- <td vAlign="MIDDLE"><para style="HEADER">Factura Afectada</para></td>
1696- <td vAlign="MIDDLE"><para style="HEADER">Razon Social</para></td>
1697- <td vAlign="MIDDLE"><para style="HEADER">RIF</para></td>
1698- </tr>
1699- </blockTable>
1700- </td>
1701- </tr>
1702- </blockTable>
1703- </td>
1704- <td>
1705- <blockTable colWidths="37.0" style="NEW-HEADER">
1706- <tr>
1707- <td vAlign="MIDDLE"><para style="HEADER">TOTALES</para></td>
1708- </tr>
1709- <tr>
1710- <td>
1711- <blockTable colWidths="37.0" style="NEW-HEADER" rowHeights="18">
1712- <tr>
1713- <td vAlign="MIDDLE"><para style="HEADER">Total con IVA</para></td>
1714- </tr>
1715- </blockTable>
1716- </td>
1717- </tr>
1718- </blockTable>
1719- </td>
1720- <td>
1721- <blockTable colWidths="373.0" style="NEW-HEADER">
1722- <tr>
1723- <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES DE EXPORTACION</para></td>
1724- </tr>
1725- <tr>
1726- <td>
1727- <blockTable colWidths="63.0, 40.0, 90.0, 90.0, 90.0" style="NEW-HEADER" rowHeights="18">
1728- <tr>
1729- <td>
1730- <blockTable colWidths="63.0" style="NEW-HEADER">
1731- <tr>
1732- <td vAlign="MIDDLE"><para style="HEADER">Datos Generales de Aduana</para></td>
1733- </tr>
1734- <tr>
1735- <td>
1736- <blockTable colWidths="23.0, 40.0" style="NEW-HEADER" rowHeights="12">
1737- <tr>
1738- <td><para style="HEADER">Fecha</para></td>
1739- <td><para style="HEADER">Declaración</para></td>
1740- </tr>
1741- </blockTable>
1742- </td>
1743- </tr>
1744- </blockTable>
1745- </td>
1746- <td>
1747- <blockTable colWidths="40.0" style="HEADER-BOOK-TABLE">
1748- <tr>
1749- <td><para style="HEADER">No Gravado</para></td>
1750- </tr>
1751- <tr>
1752- <td>
1753- <blockTable colWidths="20.0, 20.0" style="HEADER-BOOK-TABLE" rowHeights="12">
1754- <tr>
1755- <td><para style="HEADER">SDCF</para></td>
1756- <td><para style="HEADER">Exento</para></td>
1757- </tr>
1758- </blockTable>
1759- </td>
1760- </tr>
1761- </blockTable>
1762- </td>
1763- <td>
1764- <blockTable colWidths="90.0" style="NEW-HEADER">
1765- <tr>
1766- <td><para style="HEADER">Ventas o Servicios Gravados Alícuota General</para></td>
1767- </tr>
1768- <tr>
1769- <td>
1770- <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER" rowHeights="12">
1771- <tr>
1772- <td><para style="HEADER">Base Imponible</para></td>
1773- <td><para style="HEADER">Alícuota</para></td>
1774- <td><para style="HEADER">Débito Fiscal</para></td>
1775- </tr>
1776- </blockTable>
1777- </td>
1778- </tr>
1779- </blockTable>
1780- </td>
1781- <td>
1782- <blockTable colWidths="90.0" style="NEW-HEADER">
1783- <tr>
1784- <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Reducida</para></td>
1785- </tr>
1786- <tr>
1787- <td>
1788- <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER" rowHeights="12">
1789- <tr>
1790- <td><para style="HEADER">Base Imponible</para></td>
1791- <td><para style="HEADER">Alícuota</para></td>
1792- <td><para style="HEADER">Débito Fiscal</para></td>
1793- </tr>
1794- </blockTable>
1795- </td>
1796- </tr>
1797- </blockTable>
1798- </td>
1799- <td>
1800- <blockTable colWidths="90.0" style="NEW-HEADER">
1801- <tr>
1802- <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Adicional</para></td>
1803- </tr>
1804- <tr>
1805- <td>
1806- <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER" rowHeights="12">
1807- <tr>
1808- <td><para style="HEADER">Base Imponible</para></td>
1809- <td><para style="HEADER">Alícuota</para></td>
1810- <td><para style="HEADER">Débito Fiscal</para></td>
1811- </tr>
1812- </blockTable>
1813- </td>
1814- </tr>
1815- </blockTable>
1816- </td>
1817- </tr>
1818- </blockTable>
1819- </td>
1820- </tr>
1821- </blockTable>
1822- </td>
1823- <td>
1824- <blockTable colWidths="795.0" style="NEW-HEADER">
1825- <tr>
1826- <td vAlign="MIDDLE"><para style="HEADER">OPERACIONES EN EL MERCADO INTERNO</para></td>
1827- </tr>
1828- <tr>
1829- <td>
1830- <blockTable colWidths="310.0, 310.0, 175.0" style="NEW-HEADER">
1831- <tr>
1832- <td>
1833- <blockTable colWidths="310.0" style="NEW-HEADER">
1834- <tr>
1835- <td vAlign="MIDDLE"><para style="HEADER">Contribuyente</para></td>
1836- </tr>
1837- <tr>
1838- <td>
1839- <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="NEW-HEADER">
1840- <tr>
1841- <td>
1842- <blockTable colWidths="40.0" style="NEW-HEADER">
1843- <tr>
1844- <td><para style="HEADER">No Gravado</para></td>
1845- </tr>
1846- <tr>
1847- <td>
1848- <blockTable colWidths="20.0, 20.0" style="NEW-HEADER">
1849- <tr>
1850- <td><para style="HEADER">SDCF</para></td>
1851- <td><para style="HEADER">Exento</para></td>
1852- </tr>
1853- </blockTable>
1854- </td>
1855- </tr>
1856- </blockTable>
1857- </td>
1858- <td>
1859- <blockTable colWidths="90.0" style="NEW-HEADER">
1860- <tr>
1861- <td><para style="HEADER">Ventas o Servicios Gravados Alícuota General</para></td>
1862- </tr>
1863- <tr>
1864- <td>
1865- <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1866- <tr>
1867- <td><para style="HEADER">Base Imponible</para></td>
1868- <td><para style="HEADER">Alícuota</para></td>
1869- <td><para style="HEADER">Débito Fiscal</para></td>
1870- </tr>
1871- </blockTable>
1872- </td>
1873- </tr>
1874- </blockTable>
1875- </td>
1876- <td>
1877- <blockTable colWidths="90.0" style="NEW-HEADER">
1878- <tr>
1879- <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Reducida</para></td>
1880- </tr>
1881- <tr>
1882- <td>
1883- <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1884- <tr>
1885- <td><para style="HEADER">Base Imponible</para></td>
1886- <td><para style="HEADER">Alícuota</para></td>
1887- <td><para style="HEADER">Débito Fiscal</para></td>
1888- </tr>
1889- </blockTable>
1890- </td>
1891- </tr>
1892- </blockTable>
1893- </td>
1894- <td>
1895- <blockTable colWidths="90.0" style="NEW-HEADER">
1896- <tr>
1897- <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Adicional</para></td>
1898- </tr>
1899- <tr>
1900- <td>
1901- <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1902- <tr>
1903- <td><para style="HEADER">Base Imponible</para></td>
1904- <td><para style="HEADER">Alícuota</para></td>
1905- <td><para style="HEADER">Débito Fiscal</para></td>
1906- </tr>
1907- </blockTable>
1908- </td>
1909- </tr>
1910- </blockTable>
1911- </td>
1912- </tr>
1913- </blockTable>
1914- </td>
1915- </tr>
1916- </blockTable>
1917- </td>
1918-
1919- <td>
1920- <blockTable colWidths="310.0" style="NEW-HEADER">
1921- <tr>
1922- <td vAlign="MIDDLE"><para style="HEADER">No Contribuyente</para></td>
1923- </tr>
1924- <tr>
1925- <td>
1926- <blockTable colWidths="40.0, 90.0, 90.0, 90.0" style="NEW-HEADER">
1927- <tr>
1928- <td>
1929- <blockTable colWidths="40.0" style="NEW-HEADER">
1930- <tr>
1931- <td><para style="HEADER">No Gravado</para></td>
1932- </tr>
1933- <tr>
1934- <td>
1935- <blockTable colWidths="20.0, 20.0" style="NEW-HEADER">
1936- <tr>
1937- <td><para style="HEADER">SDCF</para></td>
1938- <td><para style="HEADER">Exento</para></td>
1939- </tr>
1940- </blockTable>
1941- </td>
1942- </tr>
1943- </blockTable>
1944- </td>
1945- <td>
1946- <blockTable colWidths="90.0" style="NEW-HEADER">
1947- <tr>
1948- <td><para style="HEADER">Ventas o Servicios Gravados Alícuota General</para></td>
1949- </tr>
1950- <tr>
1951- <td>
1952- <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1953- <tr>
1954- <td><para style="HEADER">Base Imponible</para></td>
1955- <td><para style="HEADER">Alícuota</para></td>
1956- <td><para style="HEADER">Débito Fiscal</para></td>
1957- </tr>
1958- </blockTable>
1959- </td>
1960- </tr>
1961- </blockTable>
1962- </td>
1963- <td>
1964- <blockTable colWidths="90.0" style="NEW-HEADER">
1965- <tr>
1966- <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Reducida</para></td>
1967- </tr>
1968- <tr>
1969- <td>
1970- <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1971- <tr>
1972- <td><para style="HEADER">Base Imponible</para></td>
1973- <td><para style="HEADER">Alícuota</para></td>
1974- <td><para style="HEADER">Débito Fiscal</para></td>
1975- </tr>
1976- </blockTable>
1977- </td>
1978- </tr>
1979- </blockTable>
1980- </td>
1981- <td>
1982- <blockTable colWidths="90.0" style="NEW-HEADER">
1983- <tr>
1984- <td><para style="HEADER">Ventas o Servicios Gravados Alícuota Adicional</para></td>
1985- </tr>
1986- <tr>
1987- <td>
1988- <blockTable colWidths="35.0, 20.0, 35.0" style="NEW-HEADER">
1989- <tr>
1990- <td><para style="HEADER">Base Imponible</para></td>
1991- <td><para style="HEADER">Alícuota</para></td>
1992- <td><para style="HEADER">Débito Fiscal</para></td>
1993- </tr>
1994- </blockTable>
1995- </td>
1996- </tr>
1997- </blockTable>
1998- </td>
1999- </tr>
2000- </blockTable>
2001- </td>
2002- </tr>
2003- </blockTable>
2004- </td>
2005-
2006- <td>
2007- <blockTable colWidths="175.0" style="NEW-HEADER">
2008- <tr>
2009- <td><para style="HEADER">Retenciones</para></td>
2010- </tr>
2011- <tr>
2012- <td>
2013- <blockTable colWidths="35.0, 35.0, 35.0, 35.0, 35.0" style="NEW-HEADER" rowHeights="12.0">
2014- <tr>
2015- <td><para style="HEADER">Fecha de Factura Afectada</para></td>
2016- <td><para style="HEADER">Nro Retención</para></td>
2017- <td><para style="HEADER">Débito Fiscal Base</para></td>
2018- <td><para style="HEADER">Retención %</para></td>
2019- <td><para style="HEADER">Monto Retenido</para></td>
2020- </tr>
2021- </blockTable>
2022- </td>
2023- </tr>
2024- </blockTable>
2025- </td>
2026- </tr>
2027- </blockTable>
2028- </td>
2029- </tr>
2030- </blockTable>
2031- </td>
2032- </tr>
2033- </blockTable>
2034- </section>
2035-
2036 <!-- SALE BOOK LINES -->
2037 <section>
2038 <para>[[repeatIn( my_fb.fbl_ids,'my_fbl')]]</para>
2039- <blockTable style="NEW-CONTENIDOTABLE-LINES" blockAlignment="LEFT"
2040+ <blockTable style="NEW-CONTENIDOTABLE-LINES"
2041 colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 36.0, 36.0, 23.0, 130.0, 25.0,
2042 37.0,
2043- 23.0, 40.0, 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,
2044+ 23.0, 40.0, 20.0, 20.0,
2045 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,
2046 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,
2047 35.0, 35.0, 35.0, 35.0, 35.0">
2048@@ -590,15 +547,6 @@
2049 <td vAlign="MIDDLE"><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.custom_statement # Declaracion ]]</para></td>
2050 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_sdcf # SDCF ]]</para></td>
2051 <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_exempt # Exento ]]</para></td>
2052- <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_general_base # General | Base Imponible ]]</para></td>
2053- <td><para style="HEADER">[[ my_fbl.type in ['ex'] and '12%' # General | Alícuota ]]</para></td>
2054- <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_general_tax # General | Débito Fiscal ]]</para></td>
2055- <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_reduced_base # Reducido | Base Imponible ]]</para></td>
2056- <td><para style="HEADER">[[ my_fbl.type in ['ex'] and '8%' # Reducido | Alícuota ]]</para></td>
2057- <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_reduced_tax # Reducido | Débito Fiscal ]]</para></td>
2058- <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_additional_base # Adicional | Base Imponible ]]</para></td>
2059- <td><para style="HEADER">[[ my_fbl.type in ['ex'] and '22%' # Adicional | Alícuota ]]</para></td>
2060- <td><para style="HEADER">[[ my_fbl.type in ['ex'] and my_fbl.vat_additional_tax # Adicional | Débito Fiscal ]]</para></td>
2061 <!-- Ventas Internas / Contribuyentes -->
2062 <td><para style="HEADER">[[ my_fbl.type in ['tp'] and my_fbl.vat_sdcf # SDCF ]]</para></td>
2063 <td><para style="HEADER">[[ my_fbl.type in ['tp'] and my_fbl.vat_exempt # Exento ]]</para></td>
2064@@ -635,10 +583,10 @@
2065
2066 <!-- TOTALS SALE PARCIALES -->
2067 <section>
2068- <blockTable style="NEW-CONTENIDOTABLE-LINES" blockAlignment="LEFT"
2069- colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 36.0, 36.0, 36.0, 23.0, 130.0, 25.0,
2070+ <blockTable style="NEW-CONTENIDOTABLE-LINES"
2071+ colWidths="15.0, 15.0, 23.0, 36.0, 36.0, 36.0, 36.0, 23.0, 130.0, 25.0,
2072 37.0,
2073- 23.0, 40.0, 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,
2074+ 23.0, 40.0, 20.0, 20.0,
2075 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,
2076 20.0, 20.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0, 35.0, 20.0, 35.0,
2077 35.0, 35.0, 35.0, 35.0, 35.0">
2078@@ -650,7 +598,6 @@
2079 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Numero Control ]]</para></td>
2080 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Numero de Doc ]]</para></td>
2081 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Numero Impresora ]]</para></td>
2082- <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Numero de Factura de impresora ]]</para></td>
2083 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Reporte Z ]]</para></td>
2084 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Factura Afectada ]]</para></td>
2085 <td vAlign="MIDDLE"><para style="HEADER">[[ 'TOTALES' # Razon Social ]]</para></td>
2086@@ -662,15 +609,6 @@
2087 <td vAlign="MIDDLE"><para style="HEADER">[[ '' # Declaracion ]]</para></td>
2088 <td><para style="HEADER">[[ my_fb.imex_sdcf_vat_sum # SDCF ]]</para></td>
2089 <td><para style="HEADER">[[ my_fb.imex_exempt_vat_sum # Exento ]]</para></td>
2090- <td><para style="HEADER">[[ my_fb.imex_general_vat_base_sum # General | Base Imponible ]]</para></td>
2091- <td><para style="HEADER">[[ '' # General | Alícuota ]]</para></td>
2092- <td><para style="HEADER">[[ my_fb.imex_general_vat_tax_sum # General | Débito Fiscal ]]</para></td>
2093- <td><para style="HEADER">[[ my_fb.imex_reduced_vat_base_sum # Reducido | Base Imponible ]]</para></td>
2094- <td><para style="HEADER">[[ '' # Reducido | Alícuota ]]</para></td>
2095- <td><para style="HEADER">[[ my_fb.imex_reduced_vat_tax_sum # Reducido | Débito Fiscal ]]</para></td>
2096- <td><para style="HEADER">[[ my_fb.imex_additional_vat_base_sum # Adicional | Base Imponible ]]</para></td>
2097- <td><para style="HEADER">[[ '' # Adicional | Alícuota ]]</para></td>
2098- <td><para style="HEADER">[[ my_fb.imex_additional_vat_tax_sum # Adicional | Débito Fiscal ]]</para></td>
2099 <!-- Ventas Internas / Contribuyentes -->
2100 <td><para style="HEADER">[[ my_fb.tp_sdcf_vat_sum # SDCF ]]</para></td>
2101 <td><para style="HEADER">[[ my_fb.tp_exempt_vat_sum # Exento ]]</para></td>
2102@@ -772,19 +710,6 @@
2103 </blockTable>
2104 </section>
2105
2106-<!--
2107-<blockTable colWidths="110.0" style="INTERNALTABLE">
2108- <tr>
2109- <td vAlign="MIDDLE">
2110- <para>[[ validation(data['form']) and '.' or removeParentNode('blockTable') ]]</para>
2111- <nextPage/>
2112- OJO AQUI el next page estaba comentado.
2113- </td>
2114- </tr>
2115-</blockTable>
2116-
2117--->
2118-
2119 <spacer length='5mm'/>
2120 <!-- ************ AJUSTMENT BOOK ************-->
2121 <!--
2122
2123=== added directory 'l10n_ve_fiscal_book/security'
2124=== added file 'l10n_ve_fiscal_book/security/fiscal_book_security.xml'
2125--- l10n_ve_fiscal_book/security/fiscal_book_security.xml 1970-01-01 00:00:00 +0000
2126+++ l10n_ve_fiscal_book/security/fiscal_book_security.xml 2013-05-27 21:01:40 +0000
2127@@ -0,0 +1,16 @@
2128+<?xml version='1.0' encoding='UTF-8'?>
2129+<openerp>
2130+<data noupdate="1">
2131+
2132+ <record id="group_account_fiscal_book_manager" model="res.groups">
2133+ <field name="name">Fiscal Book / Manager</field>
2134+ </record>
2135+ <record id="group_account_fiscal_book_power_user" model="res.groups">
2136+ <field name="name">Fiscal Book / Power User</field>
2137+ </record>
2138+ <record id="group_account_fiscal_book_user" model="res.groups">
2139+ <field name="name">Fiscal Book / User</field>
2140+ </record>
2141+
2142+</data>
2143+</openerp>
2144
2145=== added file 'l10n_ve_fiscal_book/security/ir.model.access.csv'
2146--- l10n_ve_fiscal_book/security/ir.model.access.csv 1970-01-01 00:00:00 +0000
2147+++ l10n_ve_fiscal_book/security/ir.model.access.csv 2013-05-27 21:01:40 +0000
2148@@ -0,0 +1,16 @@
2149+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
2150+"access_fb_fiscal_book_user","fb.fiscal.book.user","model_fiscal_book","l10n_ve_fiscal_book.group_account_fiscal_book_user","1","0","0","0"
2151+"access_fb_fiscal_book_line_user","fb.fiscal.book.lines.user","model_fiscal_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_user","1","0","0","0"
2152+"access_fb_fiscal_book_taxes_user","fb.fiscal.book.taxes.user","model_fiscal_book_taxes","l10n_ve_fiscal_book.group_account_fiscal_book_user","1","0","0","0"
2153+"access_fb_fiscal_book_taxes_summary_user","fb.fiscal.book.taxes.summary.user","model_fiscal_book_taxes_summary","l10n_ve_fiscal_book.group_account_fiscal_book_user","1","0","0","0"
2154+"access_fb_adjustment_book_line_user","fb.adjustment.book.line.user","model_adjustment_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_user","1","0","0","0"
2155+"access_fb_fiscal_book_power_user","fb.fiscal.book.power.user","model_fiscal_book","l10n_ve_fiscal_book.group_account_fiscal_book_power_user","1","0","0","0"
2156+"access_fb_fiscal_book_line_power_user","fb.fiscal.book.lines.power.user","model_fiscal_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_power_user","1","0","0","0"
2157+"access_fb_fiscal_book_taxes_power_user","fb.fiscal.book.taxes.power.user","model_fiscal_book_taxes","l10n_ve_fiscal_book.group_account_fiscal_book_power_user","1","0","0","0"
2158+"access_fb_fiscal_book_taxes_summary_power_user","fb.fiscal.book.taxes.summary.power.user","model_fiscal_book_taxes_summary","l10n_ve_fiscal_book.group_account_fiscal_book_power_user","1","0","0","0"
2159+"access_fb_adjustment_book_line_power_user","fb.adjustment.book.line.power.user","model_adjustment_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_power_user","1","0","0","0"
2160+"access_fb_fiscal_book_manager","fb.fiscal.book.manager","model_fiscal_book","l10n_ve_fiscal_book.group_account_fiscal_book_manager","1","1","1","1"
2161+"access_fb_fiscal_book_line_manager","fb.fiscal.book.lines.manager","model_fiscal_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_manager","1","1","1","1"
2162+"access_fb_fiscal_book_taxes_manager","fb.fiscal.book.taxes.manager","model_fiscal_book_taxes","l10n_ve_fiscal_book.group_account_fiscal_book_manager","1","1","1","1"
2163+"access_fb_fiscal_book_taxes_summary_manager","fb.fiscal.book.taxes.summary.manager","model_fiscal_book_taxes_summary","l10n_ve_fiscal_book.group_account_fiscal_book_manager","1","1","1","1"
2164+"access_fb_adjustment_book_line_manager","fb.adjustment.book.line.manager","model_adjustment_book_line","l10n_ve_fiscal_book.group_account_fiscal_book_manager","1","1","1","1"
2165
2166=== modified file 'l10n_ve_fiscal_book/view/fiscal_book.xml'
2167--- l10n_ve_fiscal_book/view/fiscal_book.xml 2013-05-23 04:34:03 +0000
2168+++ l10n_ve_fiscal_book/view/fiscal_book.xml 2013-05-27 21:01:40 +0000
2169@@ -75,10 +75,14 @@
2170 <field name="arch" type="xml">
2171 <form string="Fiscal Sale Book" version="7.0">
2172 <header>
2173- <button name="update_book" type="object" string="Update Book" class="oe_highlight"/>
2174- <button name="clear_book" type="object" string="Clear Book" class="oe_highlight"/>
2175- <button name="%(fiscal_book_wizard_act)d" type="action" string="Print Book" class="oe_highlight"/>
2176- <field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors="{&quot;draft&quot;:&quot;blue&quot;,&quot;open&quot;:&quot;green&quot;,&quot;done&quot;:&quot;red&quot;}"/>
2177+ <button name="update_book" type="object" string="Update Book" states="draft" class="oe_highlight"/>
2178+ <button name="clear_book" type="object" string="Clear Book" states="draft" class="oe_highlight"/>
2179+ <button name="%(fiscal_book_wizard_act)d" type="action" string="Print Book" states="draft,confirmed,done" class="oe_highlight"/>
2180+ <button name="act_confirm" string="Confirm" states="draft" icon="gtk-go-forward"/>
2181+ <button name="act_done" string="Done" states="confirmed" icon="gtk-execute"/>
2182+ <button name="act_cancel" string="Cancel" states="confirmed,done" icon="gtk-cancel"/>
2183+ <button name="act_draft" colspan="2" string="Set to draft" states="cancel" icon="gtk-go-forward"/>
2184+ <field name="state" widget="statusbar" statusbar_visible="draft,confirmed,done" statusbar_colors="{&quot;draft&quot;:&quot;blue&quot;,&quot;confirmed&quot;:&quot;green&quot;,&quot;done&quot;:&quot;red&quot;}"/>
2185 </header>
2186 <group>
2187 <field name="name"/>
2188@@ -99,12 +103,12 @@
2189 <field name="affected_invoice"/>
2190 <field name="partner_name"/>
2191 <field name="partner_vat"/>
2192- <field name="total_with_iva" sum=""/>
2193 <field name="type"/>
2194 <field name="custom_statement"/>
2195 <field name="imex_date"/>
2196 <field name="fiscal_printer"/>
2197 <field name="z_report"/>
2198+ <field name="total_with_iva" sum=""/>
2199 <field name="vat_sdcf"/>
2200 <field name="vat_exempt"/>
2201 <field name="vat_general_base"/>
2202@@ -268,10 +272,14 @@
2203 <field name="arch" type="xml">
2204 <form string="Fiscal Purchase Book" version="7.0">
2205 <header>
2206- <button name="update_book" type="object" string="Update Book" class="oe_highlight"/>
2207- <button name="clear_book" type="object" string="Clear Book" class="oe_highlight"/>
2208- <button name="%(fiscal_book_wizard_act)d" type="action" string="Print Book" class="oe_highlight"/>
2209- <field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors="{&quot;draft&quot;:&quot;blue&quot;,&quot;open&quot;:&quot;green&quot;,&quot;done&quot;:&quot;red&quot;}"/>
2210+ <button name="update_book" type="object" string="Update Book" states="draft" class="oe_highlight"/>
2211+ <button name="clear_book" type="object" string="Clear Book" states="draft" class="oe_highlight"/>
2212+ <button name="%(fiscal_book_wizard_act)d" type="action" string="Print Book" states="draft,confirmed,done" class="oe_highlight"/>
2213+ <button name="act_confirm" string="Confirm" states="draft" icon="gtk-go-forward"/>
2214+ <button name="act_done" string="Done" states="confirmed" icon="gtk-execute"/>
2215+ <button name="act_cancel" string="Cancel" states="confirmed,done" icon="gtk-cancel"/>
2216+ <button name="act_draft" colspan="2" string="Set to draft" states="cancel" icon="gtk-go-forward"/>
2217+ <field name="state" widget="statusbar" statusbar_visible="draft,confirmed,done" statusbar_colors="{&quot;draft&quot;:&quot;blue&quot;,&quot;confirmed&quot;:&quot;green&quot;,&quot;done&quot;:&quot;red&quot;}"/>
2218 </header>
2219 <group>
2220 <field name="name"/>
2221@@ -412,4 +420,4 @@
2222 <menuitem name="Fiscal Purchase Book" id="menu_fiscal_purchase_book" parent="menu_fr_main" action="action_fiscal_purchase_book"/>
2223
2224 </data>
2225-</openerp>
2226\ No newline at end of file
2227+</openerp>
2228
2229=== added directory 'l10n_ve_fiscal_book/workflow'
2230=== added file 'l10n_ve_fiscal_book/workflow/fb_workflow.xml'
2231--- l10n_ve_fiscal_book/workflow/fb_workflow.xml 1970-01-01 00:00:00 +0000
2232+++ l10n_ve_fiscal_book/workflow/fb_workflow.xml 2013-05-27 21:01:40 +0000
2233@@ -0,0 +1,80 @@
2234+<?xml version='1.0' encoding='UTF-8'?>
2235+<openerp>
2236+ <data>
2237+
2238+ <record id="fb_wkf" model="workflow">
2239+ <field name="name">Fiscal Book Workflow</field>
2240+ <field name="osv">fiscal.book</field>
2241+ <field name="on_create">True</field>
2242+ </record>
2243+
2244+<!--
2245+ Activity
2246+-->
2247+
2248+ <record id="act_draft" model="workflow.activity">
2249+ <field name="wkf_id" ref="fb_wkf"/>
2250+ <field name="name">draft</field>
2251+ <field name="kind">function</field>
2252+ <field name="action">write({'state':'draft'})</field>
2253+ <field name="flow_start">True</field>
2254+ </record>
2255+
2256+ <record id="act_confirmed" model="workflow.activity">
2257+ <field name="wkf_id" ref="fb_wkf"/>
2258+ <field name="name">confirmed</field>
2259+ <field name="kind">function</field>
2260+ <field name="action">update_book()
2261+write({'state':'confirmed'})</field>
2262+ </record>
2263+
2264+ <record id="act_done" model="workflow.activity">
2265+ <field name="wkf_id" ref="fb_wkf"/>
2266+ <field name="name">done</field>
2267+ <field name="kind">function</field>
2268+ <field name="action">write({'state':'done'})</field>
2269+ </record>
2270+
2271+ <record id="act_cancel" model="workflow.activity">
2272+ <field name="wkf_id" ref="fb_wkf"/>
2273+ <field name="name">cancel</field>
2274+ <field name="kind">function</field>
2275+ <field name="action">write({'state':'cancel'})</field>
2276+ </record>
2277+
2278+<!--
2279+ Transitions
2280+-->
2281+
2282+ <record id="trans_draft_confirmed" model="workflow.transition">
2283+ <field name="act_from" ref="act_draft"/>
2284+ <field name="act_to" ref="act_confirmed"/>
2285+ <field name="signal">act_confirm</field>
2286+ </record>
2287+
2288+ <record id="trans_confirmed_done" model="workflow.transition">
2289+ <field name="act_from" ref="act_confirmed"/>
2290+ <field name="act_to" ref="act_done"/>
2291+ <field name="signal">act_done</field>
2292+ </record>
2293+
2294+ <record id="trans_confirmed_cancel" model="workflow.transition">
2295+ <field name="act_from" ref="act_confirmed"/>
2296+ <field name="act_to" ref="act_cancel"/>
2297+ <field name="signal">act_cancel</field>
2298+ </record>
2299+
2300+ <record id="trans_done_cancel" model="workflow.transition">
2301+ <field name="act_from" ref="act_done"/>
2302+ <field name="act_to" ref="act_cancel"/>
2303+ <field name="signal">act_cancel</field>
2304+ </record>
2305+
2306+ <record id="trans_cancel_draft" model="workflow.transition">
2307+ <field name="act_from" ref="act_cancel"/>
2308+ <field name="act_to" ref="act_draft"/>
2309+ <field name="signal">act_draft</field>
2310+ </record>
2311+
2312+ </data>
2313+</openerp>