Merge lp:~inddiana/sisb/sisb_caja_chica_cierre_comparar_plus_reposiciones into lp:sisb
- sisb_caja_chica_cierre_comparar_plus_reposiciones
- Merge into sisb
Proposed by
[SISB] Aryrosa Fuentes
Status: | Merged |
---|---|
Merged at revision: | 983 |
Proposed branch: | lp:~inddiana/sisb/sisb_caja_chica_cierre_comparar_plus_reposiciones |
Merge into: | lp:sisb |
Diff against target: |
648 lines (+223/-132) 5 files modified
l10n_ve_caja_chica/i18n/es_VE.po (+65/-42) l10n_ve_caja_chica/model/caja_chica.py (+141/-80) l10n_ve_caja_chica/view/caja_chica.xml (+7/-1) l10n_ve_caja_chica/view/caja_reposicion.xml (+1/-1) l10n_ve_caja_chica_presupuesto/model/caja_chica_presupuesto.py (+9/-8) |
To merge this branch: | bzr merge lp:~inddiana/sisb/sisb_caja_chica_cierre_comparar_plus_reposiciones |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Juan Lugo | Pending | ||
Review via email: mp+335402@code.launchpad.net |
Commit message
Description of the change
[MOD] Modificaciones en el proceso de cierre de caja chica. Permite
cerrar sin reposicion o sin diferencial.
[MOD] Se listan las reposiciones asociadas.
[MOD] Se incluye validacion para que el apunte del diferencial corresponda
con el monto del asiento.
[MOD] Ajustes en el requerido de la cuenta analitica desde la vista en las
lineas de la reposicion.
To post a comment you must log in.
- 985. By [SISB] Aryrosa Fuentes
-
[MOD] Ajustes en el requerido de la cuenta analitica desde la vista en las lineas de la reposicion.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'l10n_ve_caja_chica/i18n/es_VE.mo' |
2 | Binary files l10n_ve_caja_chica/i18n/es_VE.mo 2016-11-29 14:28:14 +0000 and l10n_ve_caja_chica/i18n/es_VE.mo 2017-12-19 18:13:57 +0000 differ |
3 | === modified file 'l10n_ve_caja_chica/i18n/es_VE.po' |
4 | --- l10n_ve_caja_chica/i18n/es_VE.po 2016-11-29 14:28:14 +0000 |
5 | +++ l10n_ve_caja_chica/i18n/es_VE.po 2017-12-19 18:13:57 +0000 |
6 | @@ -6,8 +6,8 @@ |
7 | msgstr "" |
8 | "Project-Id-Version: OpenERP Server 6.0.4\n" |
9 | "Report-Msgid-Bugs-To: support@openerp.com\n" |
10 | -"POT-Creation-Date: 2016-11-29 14:22+0000\n" |
11 | -"PO-Revision-Date: 2016-11-29 10:25-0400\n" |
12 | +"POT-Creation-Date: 2017-12-19 17:42+0000\n" |
13 | +"PO-Revision-Date: 2017-12-19 13:13-0400\n" |
14 | "Last-Translator: Aryrosa Fuentes <afuentes@industriasdiana.gob.ve>\n" |
15 | "Language-Team: \n" |
16 | "MIME-Version: 1.0\n" |
17 | @@ -79,7 +79,7 @@ |
18 | msgstr "Presupuesto" |
19 | |
20 | #. module: l10n_ve_caja_chica |
21 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:204 |
22 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:205 |
23 | #, python-format |
24 | msgid "Petty Cash updated " |
25 | msgstr "Actualizada caja chica " |
26 | @@ -120,7 +120,7 @@ |
27 | msgstr "Monto de Reposición" |
28 | |
29 | #. module: l10n_ve_caja_chica |
30 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:198 |
31 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:199 |
32 | #, python-format |
33 | msgid "Petty Cash opened " |
34 | msgstr "Abierta caja chica " |
35 | @@ -146,6 +146,12 @@ |
36 | msgstr "¿Desea cerrar la caja chica?" |
37 | |
38 | #. module: l10n_ve_caja_chica |
39 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:354 |
40 | +#, python-format |
41 | +msgid "You cant open! Must be indicate fiscal year before open it." |
42 | +msgstr "No puede aperturar! Debe indicar el año fiscal antes de abrir la caja chica." |
43 | + |
44 | +#. module: l10n_ve_caja_chica |
45 | #: field:caja.reposicion,move_ids:0 |
46 | msgid "Asientos Contable" |
47 | msgstr "Asientos Contable" |
48 | @@ -162,13 +168,13 @@ |
49 | msgstr "Agrupar Por..." |
50 | |
51 | #. module: l10n_ve_caja_chica |
52 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:538 |
53 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:599 |
54 | #, python-format |
55 | msgid "You cant do it!" |
56 | msgstr "No puede realizar ésta operación!" |
57 | |
58 | #. module: l10n_ve_caja_chica |
59 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:534 |
60 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:582 |
61 | #, python-format |
62 | msgid "You cant close! You should check the differential." |
63 | msgstr "¡No puede cerrar! Debe verificar el diferencial." |
64 | @@ -179,12 +185,17 @@ |
65 | msgstr "Reposición de Caja Chica:" |
66 | |
67 | #. module: l10n_ve_caja_chica |
68 | +#: view:caja.chica:0 |
69 | +msgid "Reopen" |
70 | +msgstr "Reapertura" |
71 | + |
72 | +#. module: l10n_ve_caja_chica |
73 | #: field:caja.reposicion,fecha_confirmado:0 |
74 | msgid "Fecha Confirmado" |
75 | msgstr "Fecha Confirmado" |
76 | |
77 | #. module: l10n_ve_caja_chica |
78 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:482 |
79 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:524 |
80 | #, python-format |
81 | msgid "You cant pre-close! Repositioning is not state done." |
82 | msgstr "No puede realizar el pre-cierre! La reposición no está aprobada." |
83 | @@ -221,7 +232,7 @@ |
84 | msgstr "Abierta" |
85 | |
86 | #. module: l10n_ve_caja_chica |
87 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:493 |
88 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:535 |
89 | #, python-format |
90 | msgid "You cant pre-close! Repositioning associated in other document." |
91 | msgstr "No puede realizar el pre-cierre! La reposición está asociada en otro documento." |
92 | @@ -247,13 +258,14 @@ |
93 | msgstr "Líneas la Reposición de Caja" |
94 | |
95 | #. module: l10n_ve_caja_chica |
96 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:392 |
97 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:406 |
98 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:417 |
99 | #, python-format |
100 | msgid "Error !" |
101 | msgstr "Error !" |
102 | |
103 | #. module: l10n_ve_caja_chica |
104 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:343 |
105 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:344 |
106 | #, python-format |
107 | msgid "You cant open! The init date or the end date have an error." |
108 | msgstr "No puede aperturar! La fecha desde o la fecha hasta está fuera del ejercicio fiscal." |
109 | @@ -377,7 +389,7 @@ |
110 | msgstr "Configuracion Caja Chica" |
111 | |
112 | #. module: l10n_ve_caja_chica |
113 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:486 |
114 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:528 |
115 | #, python-format |
116 | msgid "You cant pre-close! Exist repositioning of petty cash in state different of paid." |
117 | msgstr "No puede realizar el pre-cierre! Existe alguna reposición de la caja chica con estado diferente a pagado." |
118 | @@ -389,21 +401,21 @@ |
119 | msgstr "Caja Reposición" |
120 | |
121 | #. module: l10n_ve_caja_chica |
122 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:343 |
123 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:351 |
124 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:353 |
125 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:364 |
126 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:482 |
127 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:486 |
128 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:493 |
129 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:495 |
130 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:509 |
131 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:515 |
132 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:518 |
133 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:534 |
134 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:538 |
135 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:823 |
136 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:970 |
137 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:344 |
138 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:352 |
139 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:354 |
140 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:365 |
141 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:524 |
142 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:528 |
143 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:535 |
144 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:540 |
145 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:560 |
146 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:566 |
147 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:570 |
148 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:582 |
149 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:599 |
150 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:884 |
151 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:1031 |
152 | #, python-format |
153 | msgid "Message" |
154 | msgstr "Mensaje" |
155 | @@ -424,7 +436,7 @@ |
156 | msgstr "Elaborado por:" |
157 | |
158 | #. module: l10n_ve_caja_chica |
159 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:515 |
160 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:566 |
161 | #, python-format |
162 | msgid "You cant close! The differential move associated is not valid." |
163 | msgstr "No puede cerrar! El movimiento diferencial no es válido." |
164 | @@ -479,6 +491,11 @@ |
165 | |
166 | #. module: l10n_ve_caja_chica |
167 | #: view:caja.chica:0 |
168 | +msgid "Esta accion reabre la Caja Chica, ¿Desea reabrir la caja chica?" |
169 | +msgstr "Esta accion reabre la Caja Chica, ¿Desea reabrir la caja chica?" |
170 | + |
171 | +#. module: l10n_ve_caja_chica |
172 | +#: view:caja.chica:0 |
173 | #: field:caja.chica,user_ids:0 |
174 | msgid "Responsables" |
175 | msgstr "Responsables" |
176 | @@ -504,7 +521,7 @@ |
177 | msgstr "Asientos Contables" |
178 | |
179 | #. module: l10n_ve_caja_chica |
180 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:823 |
181 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:884 |
182 | #, python-format |
183 | msgid "You cant confirm the document! The opening payment order should be posted." |
184 | msgstr "No puede confirmar el documento! La orden de pago de apertura debe ser contabilizada." |
185 | @@ -515,13 +532,13 @@ |
186 | msgstr "Buscar Caja Chica" |
187 | |
188 | #. module: l10n_ve_caja_chica |
189 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:202 |
190 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:203 |
191 | #, python-format |
192 | msgid "Petty Cash closed " |
193 | msgstr "Cerrada caja chica " |
194 | |
195 | #. module: l10n_ve_caja_chica |
196 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:351 |
197 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:352 |
198 | #, python-format |
199 | msgid "You cant open! Petty cash of previous fiscal year is open." |
200 | msgstr "No puede aperturar! Caja chica de año fiscal anterior está abierta." |
201 | @@ -558,7 +575,7 @@ |
202 | msgstr "Diario de Gasto" |
203 | |
204 | #. module: l10n_ve_caja_chica |
205 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:509 |
206 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:560 |
207 | #, python-format |
208 | msgid "You cant close! Differential is associated in other document." |
209 | msgstr "No puede cerrar! El diferencial está asociado en otro documento." |
210 | @@ -614,7 +631,7 @@ |
211 | msgstr "Borrador" |
212 | |
213 | #. module: l10n_ve_caja_chica |
214 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:495 |
215 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:540 |
216 | #, python-format |
217 | msgid "You cant pre-close! You must indicate repositioning document." |
218 | msgstr "No puede realizar el pre-cierre! Debe indicar el documento de reposición." |
219 | @@ -631,7 +648,7 @@ |
220 | msgstr "Confirmar" |
221 | |
222 | #. module: l10n_ve_caja_chica |
223 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:518 |
224 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:570 |
225 | #, python-format |
226 | msgid "You cant close! You must associate the differential." |
227 | msgstr "No puede cerrar! Debe asociar el movimiento diferencial." |
228 | @@ -657,10 +674,10 @@ |
229 | msgstr "-" |
230 | |
231 | #. module: l10n_ve_caja_chica |
232 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:353 |
233 | -#, python-format |
234 | -msgid "You cant open! Must be indicate fiscal year before open it." |
235 | -msgstr "No puede aperturar! Debe indicar el año fiscal antes de abrir la caja chica." |
236 | +#: view:caja.chica:0 |
237 | +#: field:caja.chica,reposicion_ids:0 |
238 | +msgid "Reposiciones" |
239 | +msgstr "Reposiciones" |
240 | |
241 | #. module: l10n_ve_caja_chica |
242 | #: field:caja.chica,journal_id:0 |
243 | @@ -668,19 +685,19 @@ |
244 | msgstr "Diario de Pago" |
245 | |
246 | #. module: l10n_ve_caja_chica |
247 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:324 |
248 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:325 |
249 | #, python-format |
250 | msgid "Created account voucher in draft: " |
251 | msgstr "Creada la orden de pago en borrador: " |
252 | |
253 | #. module: l10n_ve_caja_chica |
254 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:970 |
255 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:1031 |
256 | #, python-format |
257 | msgid "You cant create the pay order! Repositioning associated in the closed petty cash." |
258 | msgstr "No puede crear la orden de pago! La reposición está asociada en una caja chica cerrada." |
259 | |
260 | #. module: l10n_ve_caja_chica |
261 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:364 |
262 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:365 |
263 | #, python-format |
264 | msgid "You cant open!" |
265 | msgstr "No puede realizar la apertura de la caja chica!" |
266 | @@ -721,13 +738,13 @@ |
267 | msgstr "Año fiscal" |
268 | |
269 | #. module: l10n_ve_caja_chica |
270 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:392 |
271 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:406 |
272 | #, python-format |
273 | msgid "Dont exist differential move" |
274 | msgstr "No existe el asiento diferencial" |
275 | |
276 | #. module: l10n_ve_caja_chica |
277 | -#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:200 |
278 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:201 |
279 | #, python-format |
280 | msgid "Petty Cash pre-closed " |
281 | msgstr "Pre-cerrada la caja chica " |
282 | @@ -764,6 +781,12 @@ |
283 | msgstr "“" |
284 | |
285 | #. module: l10n_ve_caja_chica |
286 | +#: code:addons/l10n_ve_caja_chica/model/caja_chica.py:417 |
287 | +#, python-format |
288 | +msgid "Error from differential move" |
289 | +msgstr "Error en el asiento diferencial" |
290 | + |
291 | +#. module: l10n_ve_caja_chica |
292 | #: field:caja.reposicion,name:0 |
293 | msgid "Secuencia de movimiento" |
294 | msgstr "Secuencia de movimiento" |
295 | |
296 | === modified file 'l10n_ve_caja_chica/model/caja_chica.py' |
297 | --- l10n_ve_caja_chica/model/caja_chica.py 2016-11-29 14:28:14 +0000 |
298 | +++ l10n_ve_caja_chica/model/caja_chica.py 2017-12-19 18:13:57 +0000 |
299 | @@ -146,6 +146,7 @@ |
300 | 'repo_amount': fields.function(_calculate_amount, digits_compute=dp.get_precision('Account'), method=True, string='Reposition Amount', multi='balance'), |
301 | 'diff_amount': fields.function(_calculate_amount, digits_compute=dp.get_precision('Account'), method=True, string='Differential Amount', multi='balance'), |
302 | 'balance_total': fields.function(_calculate_amount, digits_compute=dp.get_precision('Account'), method=True, string='Balance Total', multi='balance'), |
303 | + 'reposicion_ids': fields.one2many('caja.reposicion', 'caja_chica_id', 'Reposiciones', readonly=True), |
304 | } |
305 | |
306 | _defaults = { |
307 | @@ -364,7 +365,20 @@ |
308 | raise osv.except_osv(_('Message'),_('You cant open!')) |
309 | return True |
310 | |
311 | - |
312 | + def action_reopen(self, cr, uid, ids, context=None): |
313 | + """ Reabrir la caja chica para crear asiento de apertura |
314 | + @return: True |
315 | + """ |
316 | + if not type(ids) == type([]): |
317 | + up_ids = [ids] |
318 | + else: |
319 | + up_ids = ids |
320 | + self.write(cr, uid, up_ids, {'state': 'opened'}, context=context) |
321 | + context.update({'estado': 'opened'}) |
322 | + self.log_caja_chica(cr, uid, up_ids, context=context) |
323 | + |
324 | + return True |
325 | + |
326 | def create_close_move(self, cr, uid, ids, move_differential, context=None): |
327 | |
328 | am_obj = self.pool.get("account.move") |
329 | @@ -387,85 +401,113 @@ |
330 | |
331 | #Apunte del diferencial Caja Chica x Pagar |
332 | if move_differential: |
333 | - apunte_id = aml_obj.search(cr, uid, [('move_id','=',move_differential.id),('account_id','=',account_id_cred)], context=context) |
334 | + apunte_id = aml_obj.search(cr, uid, [('move_id','=',move_differential.id),('account_id','=',account_id_cred),('credit','>',0.00)], context=context) |
335 | if not apunte_id: |
336 | raise osv.except_osv(_('Error !'), _('Dont exist differential move')) |
337 | |
338 | apunte_brw = aml_obj.browse(cr, uid, apunte_id, context=context)[0] |
339 | |
340 | - move = { |
341 | - 'name': seq_obj.get_id(cr, uid, seq_journal_move_id), |
342 | - 'journal_id': journal_move_id, |
343 | - 'date': date_doc, |
344 | - 'ref': 'Cierre caja chica %s'%ca_ch.name, |
345 | - 'period_id': period_id |
346 | - } |
347 | - move_id = am_obj.create(cr, uid, move, context=context) |
348 | - |
349 | - #create lines |
350 | - #cuenta deudora |
351 | + monto_dif = 0.00 |
352 | if apunte_brw.debit: |
353 | - credit = 0.0 |
354 | - debit = ca_ch.amount |
355 | + monto_dif = apunte_brw.debit |
356 | else: |
357 | - credit = ca_ch.amount |
358 | - debit = 0.0 |
359 | - move_line = { |
360 | - 'name': name_line_deb, |
361 | - 'debit': debit, |
362 | - 'credit': credit, |
363 | - 'account_id': account_id_deb, |
364 | - 'move_id': move_id, |
365 | + monto_dif = apunte_brw.credit |
366 | + |
367 | + if not abs(move_differential.amount - monto_dif) < 0.0001: |
368 | + raise osv.except_osv(_('Error !'), _('Error from differential move')) |
369 | + |
370 | + move = { |
371 | + 'name': seq_obj.get_id(cr, uid, seq_journal_move_id), |
372 | 'journal_id': journal_move_id, |
373 | - 'period_id': period_id, |
374 | - 'partner_id': partner_id, |
375 | - 'date': date_doc, |
376 | - 'date_maturity': date_doc, |
377 | - 'analytic_account_id': ca_ch.analytic_id and ca_ch.analytic_id.id or False, |
378 | - } |
379 | - account_credit = aml_obj.create(cr, uid, move_line, context=context) |
380 | - #cuenta acreedora |
381 | - if apunte_brw.debit: |
382 | - credit = ca_ch.amount |
383 | - debit = 0.0 |
384 | - else: |
385 | - credit = 0.0 |
386 | - debit = ca_ch.amount |
387 | - move_line = { |
388 | - 'name': name_line_cred, |
389 | - 'debit': debit, |
390 | - 'credit': credit, |
391 | - 'account_id': account_id_cred, |
392 | - 'move_id': move_id, |
393 | - 'journal_id': journal_move_id, |
394 | - 'period_id': period_id, |
395 | - 'date': date_doc, |
396 | - 'date_maturity': date_doc, |
397 | - 'analytic_account_id': ca_ch.analytic_id and ca_ch.analytic_id.id or False, |
398 | - } |
399 | - account_debit = aml_obj.create(cr, uid, move_line, context=context) |
400 | - isok = am_obj.button_validate(cr, uid, [move_id], context=context) |
401 | - |
402 | - #asociar asiento de cierre |
403 | - self.write(cr, uid, [ca_ch.id], {'close_move_id':move_id}, context=context) |
404 | + 'date': date_doc, |
405 | + 'ref': 'Cierre caja chica %s'%ca_ch.name, |
406 | + 'period_id': period_id |
407 | + } |
408 | + move_id = am_obj.create(cr, uid, move, context=context) |
409 | + |
410 | + #create lines |
411 | + |
412 | + if move_differential: |
413 | + #cuenta deudora |
414 | + if apunte_brw.debit: |
415 | + credit = 0.0 |
416 | + debit = ca_ch.amount |
417 | + else: |
418 | + credit = ca_ch.amount |
419 | + debit = 0.0 |
420 | + else: |
421 | + #cuenta deudora |
422 | + credit = ca_ch.amount |
423 | + debit = 0.0 |
424 | + |
425 | + move_line = { |
426 | + 'name': name_line_deb, |
427 | + 'debit': debit, |
428 | + 'credit': credit, |
429 | + 'account_id': account_id_deb, |
430 | + 'move_id': move_id, |
431 | + 'journal_id': journal_move_id, |
432 | + 'period_id': period_id, |
433 | + 'partner_id': partner_id, |
434 | + 'date': date_doc, |
435 | + 'date_maturity': date_doc, |
436 | + 'analytic_account_id': ca_ch.analytic_id and ca_ch.analytic_id.id or False, |
437 | + } |
438 | + account_credit = aml_obj.create(cr, uid, move_line, context=context) |
439 | + |
440 | + if move_differential: |
441 | + #cuenta acreedora |
442 | + if apunte_brw.debit: |
443 | + credit = ca_ch.amount |
444 | + debit = 0.0 |
445 | + else: |
446 | + credit = 0.0 |
447 | + debit = ca_ch.amount |
448 | + |
449 | + |
450 | + else: |
451 | + #cuenta acreedora |
452 | + credit = 0.0 |
453 | + debit = ca_ch.amount |
454 | + |
455 | + move_line = { |
456 | + 'name': name_line_cred, |
457 | + 'debit': debit, |
458 | + 'credit': credit, |
459 | + 'account_id': account_id_cred, |
460 | + 'move_id': move_id, |
461 | + 'journal_id': journal_move_id, |
462 | + 'period_id': period_id, |
463 | + 'date': date_doc, |
464 | + 'date_maturity': date_doc, |
465 | + 'analytic_account_id': ca_ch.analytic_id and ca_ch.analytic_id.id or False, |
466 | + } |
467 | + account_debit = aml_obj.create(cr, uid, move_line, context=context) |
468 | + isok = am_obj.button_validate(cr, uid, [move_id], context=context) |
469 | + |
470 | + #asociar asiento de cierre |
471 | + self.write(cr, uid, [ca_ch.id], {'close_move_id':move_id}, context=context) |
472 | |
473 | - |
474 | - #conciliar |
475 | - conciliation_ids = [] |
476 | - #Caja chica por pagar del asiento del cierre |
477 | - conciliation_ids.append(account_debit) |
478 | - |
479 | - #caja chica por pagar del asiento de reposicion |
480 | + |
481 | + #conciliar |
482 | + conciliation_ids = [] |
483 | + #Caja chica por pagar del asiento del cierre |
484 | + conciliation_ids.append(account_debit) |
485 | + |
486 | + #caja chica por pagar del asiento de reposicion |
487 | + if ca_ch.repo_id: |
488 | for k in ca_ch.repo_id.move_ids: |
489 | if k.account_id.id == account_id_cred: |
490 | conciliation_ids.append(k.id) |
491 | - |
492 | + |
493 | + if move_differential: |
494 | #caja chica por pagar del asiento diferencial |
495 | conciliation_ids.append(apunte_brw.id) |
496 | - |
497 | - #conciliar todo |
498 | - aml_obj.reconcile_partial(cr, uid, conciliation_ids, 'auto', context=context) |
499 | - |
500 | + |
501 | + #conciliar todo |
502 | + aml_obj.reconcile_partial(cr, uid, conciliation_ids, 'auto', context=context) |
503 | + |
504 | + |
505 | return True |
506 | |
507 | def action_pre_close(self, cr, uid, ids, context=None): |
508 | @@ -491,8 +533,17 @@ |
509 | self.log_caja_chica(cr, uid, [caja.id], context=context) |
510 | else: |
511 | raise osv.except_osv(_('Message'),_('You cant pre-close! Repositioning associated in other document.')) |
512 | + |
513 | + ##### |
514 | + #ya no aplica esta validacion en este punto |
515 | + #~ else: |
516 | + #~ raise osv.except_osv(_('Message'),_('You cant pre-close! You must indicate repositioning document.')) |
517 | + ##### |
518 | else: |
519 | - raise osv.except_osv(_('Message'),_('You cant pre-close! You must indicate repositioning document.')) |
520 | + self.write(cr, uid, caja.id, {'state': 'pre-closed'}, context=context) |
521 | + context.update({'estado': 'pre-closed'}) |
522 | + self.log_caja_chica(cr, uid, [caja.id], context=context) |
523 | + |
524 | return True |
525 | |
526 | |
527 | @@ -514,24 +565,34 @@ |
528 | if not existe_cta: |
529 | raise osv.except_osv(_('Message'),_('You cant close! The differential move associated is not valid.')) |
530 | |
531 | - elif caja.balance_total != 0.00: |
532 | + #~ elif caja.balance_total != 0.00: |
533 | + elif not (abs(caja.balance_total) < 0.0001): |
534 | raise osv.except_osv(_('Message'),_('You cant close! You must associate the differential.')) |
535 | - |
536 | - if (caja.differential_move_id and caja.balance_total == 0.00): |
537 | + |
538 | + #~ if (caja.differential_move_id and caja.balance_total == 0.00): |
539 | + if (caja.differential_move_id and abs(caja.balance_total) < 0.0001): |
540 | #crear asiento |
541 | result = self.create_close_move(cr, uid, [caja.id], caja.differential_move_id, context=context) |
542 | |
543 | - #cambiar estado de la caja chica a closed |
544 | - if result: |
545 | - self.write(cr, uid, [caja.id], {'state': 'closed'}, context=context) |
546 | - #CAMBIAR ESTADO DE LA REPOSICION A PAGADO |
547 | + elif (not caja.differential_move_id and abs(caja.balance_total) < 0.0001): |
548 | + #crear asiento |
549 | + result = self.create_close_move(cr, uid, [caja.id], False, context=context) |
550 | + |
551 | + else: |
552 | + raise osv.except_osv(_('Message'),_('You cant close! You should check the differential.')) |
553 | + |
554 | + |
555 | + #cambiar estado de la caja chica a closed |
556 | + if result: |
557 | + self.write(cr, uid, [caja.id], {'state': 'closed'}, context=context) |
558 | + #CAMBIAR ESTADO DE LA REPOSICION A PAGADO |
559 | + if caja.repo_id: |
560 | repo_obj = self.pool.get('caja.reposicion') |
561 | repo_obj.write(cr, uid, [caja.repo_id.id], {'state': 'final'}, context=context) |
562 | - |
563 | - context.update({'estado': 'closed'}) |
564 | - self.log_caja_chica(cr, uid, [caja.id], context=context) |
565 | - else: |
566 | - raise osv.except_osv(_('Message'),_('You cant close! You should check the differential.')) |
567 | + |
568 | + context.update({'estado': 'closed'}) |
569 | + self.log_caja_chica(cr, uid, [caja.id], context=context) |
570 | + |
571 | return True |
572 | |
573 | def copy(self, cr, uid, id, default=None, context=None): |
574 | @@ -581,7 +642,7 @@ |
575 | 'caja_reposicion_id': fields.many2one('caja.reposicion', 'Caja Reposicion'), |
576 | 'amount': fields.float('Monto', required=True), |
577 | 'account_id': fields.many2one('account.account', 'Cuenta Contable', required=True), |
578 | - 'analytic_id': fields.many2one('account.analytic.account', 'Cuenta Analitica', required=True), |
579 | + 'analytic_id': fields.many2one('account.analytic.account', 'Cuenta Analitica'), |
580 | 'product_id': fields.many2one('product.product', 'Servicio', required=True), |
581 | 'date' : fields.date('Fecha de Emision', required=True), |
582 | 'state': fields.selection([('draft','Borrador'), ('done','Pagado'), |
583 | |
584 | === modified file 'l10n_ve_caja_chica/view/caja_chica.xml' |
585 | --- l10n_ve_caja_chica/view/caja_chica.xml 2016-11-29 14:28:14 +0000 |
586 | +++ l10n_ve_caja_chica/view/caja_chica.xml 2017-12-19 18:13:57 +0000 |
587 | @@ -156,6 +156,11 @@ |
588 | <field name='diff_amount' colspan="2"/> |
589 | </group> |
590 | </page> |
591 | + <page string="Reposiciones"> |
592 | + <group col='6' colspan='4'> |
593 | + <field name='reposicion_ids' colspan="2" nolabel='True' mode="tree"/> |
594 | + </group> |
595 | + </page> |
596 | </notebook> |
597 | <group col='4' colspan='4'> |
598 | <group colspan="2" col="2"> |
599 | @@ -165,7 +170,8 @@ |
600 | </group> |
601 | <group col='2' colspan='2'> |
602 | <button name="action_open" string="Open" type="object" icon="gtk-jump-to" attrs="{'invisible': ['|',('state','<>','draft'),('active','=',False)]}" confirm='Esta accion creara la Caja Chica en la Contabilidad, ¿Desea abrir la caja chica?' groups="l10n_ve_caja_chica.group_caja_chica_creacion"/> |
603 | - <button name="action_pre_close" string="Pre Close" type="object" icon="gtk-cancel" attrs="{'invisible': ['|','|',('repo_id','=',False),('state','<>','opened'),('active','=',False)]}" confirm='¿Desea pre-cerrar la caja chica?' groups="l10n_ve_caja_chica.group_caja_chica_creacion"/> |
604 | + <button name="action_reopen" string="Reopen" type="object" icon="gtk-jump-to" attrs="{'invisible': ['|',('state','<>','pre-closed'),('active','=',False)]}" confirm='Esta accion reabre la Caja Chica, ¿Desea reabrir la caja chica?' groups="l10n_ve_caja_chica.group_caja_chica_creacion"/> |
605 | + <button name="action_pre_close" string="Pre Close" type="object" icon="gtk-cancel" attrs="{'invisible': ['|',('state','<>','opened'),('active','=',False)]}" confirm='¿Desea pre-cerrar la caja chica?' groups="l10n_ve_caja_chica.group_caja_chica_creacion"/> |
606 | <button name="action_close" string="Close" type="object" icon="terp-dialog-close" attrs="{'invisible': ['|',('state','<>','pre-closed'),('active','=',False)]}" confirm='¿Desea cerrar la caja chica?' groups="l10n_ve_caja_chica.group_caja_chica_creacion"/> |
607 | </group> |
608 | </group> |
609 | |
610 | === modified file 'l10n_ve_caja_chica/view/caja_reposicion.xml' |
611 | --- l10n_ve_caja_chica/view/caja_reposicion.xml 2016-11-29 14:28:14 +0000 |
612 | +++ l10n_ve_caja_chica/view/caja_reposicion.xml 2017-12-19 18:13:57 +0000 |
613 | @@ -86,7 +86,7 @@ |
614 | <field name='product_id' domain="[('categ_id', '=', parent.product_categ),('type', '=', 'service')]" on_change="onchange_product_id(product_id, context)"/> |
615 | <field name='amount'/> |
616 | <field name='account_id' domain="[('type', '<>', 'view')]"/> |
617 | - <field name='analytic_id' domain="[('type', '<>', 'view')]"/> |
618 | + <field name='analytic_id' domain="[('type', '<>', 'view')]" required='True'/> |
619 | </page> |
620 | </notebook> |
621 | </form> |
622 | |
623 | === modified file 'l10n_ve_caja_chica_presupuesto/model/caja_chica_presupuesto.py' |
624 | --- l10n_ve_caja_chica_presupuesto/model/caja_chica_presupuesto.py 2016-11-29 14:28:14 +0000 |
625 | +++ l10n_ve_caja_chica_presupuesto/model/caja_chica_presupuesto.py 2017-12-19 18:13:57 +0000 |
626 | @@ -38,14 +38,15 @@ |
627 | caja_chica_brw = self.browse(cr, uid, ids, context=context) |
628 | |
629 | for caja in caja_chica_brw: |
630 | - for line in caja.repo_id.reposicion_linea_ids: |
631 | - """ |
632 | - Desde aqui se llaman las funciones para la imputacion de la caja chica. |
633 | - """ |
634 | - #Imputacion del pagado |
635 | - val = repo_obj._imputar_gasto_reposicion(cr, uid, caja.repo_id.id, line, 'pagado', line.enlace_id, context=None) |
636 | - if val: |
637 | - repo_obj.write(cr, uid, [caja.repo_id.id], {'imputacion_ids': [(4, val)]}, context=context) |
638 | + if caja.repo_id: |
639 | + for line in caja.repo_id.reposicion_linea_ids: |
640 | + """ |
641 | + Desde aqui se llaman las funciones para la imputacion de la caja chica. |
642 | + """ |
643 | + #Imputacion del pagado |
644 | + val = repo_obj._imputar_gasto_reposicion(cr, uid, caja.repo_id.id, line, 'pagado', line.enlace_id, context=None) |
645 | + if val: |
646 | + repo_obj.write(cr, uid, [caja.repo_id.id], {'imputacion_ids': [(4, val)]}, context=context) |
647 | |
648 | return res |
649 |