@@ -301,23 +301,42 @@ class Registro0200(models.Model):
301
301
_description = textwrap .dedent (" %s" % (__doc__ ,))
302
302
_name = "l10n_br_sped.efd_icms_ipi.0200"
303
303
_inherit = "l10n_br_sped.efd_icms_ipi.17.0200"
304
+ _odoo_model = "product.product"
304
305
305
- # @api.model
306
- # def _map_from_odoo(self, record, parent_record, declaration, index=0):
307
- # return {
308
- # "COD_ITEM": 0, # Código do item
309
- # "DESCR_ITEM": 0, # Descrição do item
310
- # "COD_BARRA": 0, # Representação alfanumérico do código de barra do p...
311
- # "COD_ANT_ITEM": 0, # Código anterior do item com relação à última in...
312
- # "UNID_INV": 0, # Unidade de medida utilizada na quantificação de est...
313
- # "TIPO_ITEM": 0, # Tipo do item – Atividades Industriais, Comerciais ...
314
- # "COD_NCM": 0, # Código da Nomenclatura Comum do Mercosul
315
- # "EX_IPI": 0, # Código EX, conforme a TIPI
316
- # "COD_GEN": 0, # Código do gênero do item, conforme a Tabela 4.2.1
317
- # "COD_LST": 0, # Código do serviço conforme lista do Anexo I da Lei C...
318
- # "ALIQ_ICMS": 0, # Alíquota de ICMS aplicável ao item nas operações i...
319
- # "CEST": 0, # Código Especificador da Substituição Tributária
320
- # }
306
+ @api .model
307
+ def _odoo_domain (self , parent_record , declaration ):
308
+ to_date = "%s 23:59:00" % (datetime .strftime (declaration .DT_FIN , "%Y-%m-%d" ))
309
+ context = dict (self .env .context , to_date = to_date )
310
+ product = self .env ["product.product" ].with_context (context )
311
+ records = product .search ([("qty_available" , ">" , 0 )])
312
+ return [
313
+ ("id" , "in" , records .ids ),
314
+ ]
315
+
316
+ @api .model
317
+ def _map_from_odoo (self , record , parent_record , declaration , index = 0 ):
318
+ state_id = record .company_id .state_id or self .env .company .state_id
319
+ tax_definition_id = env ["l10n_br_fiscal.tax.definition" ].search ([
320
+ ("tax_group_id.name" , "ilike" , "ICMS" ),
321
+ ("state_from_id" , "=" , state_id .id ),
322
+ ("state_to_ids" , "ilike" , state_id .id ),
323
+ ("ncm_ids" , "ilike" , record .ncm_id .id ),
324
+ ])
325
+ aliq_icms = tax_definition_id .tax_id .percent_amount
326
+ return {
327
+ "COD_ITEM" : record .default_code , # Código do item
328
+ "DESCR_ITEM" : record .name , # Descrição do item
329
+ "COD_BARRA" : record .barcode or "" , # Representação alfanumérico do códi...
330
+ "COD_ANT_ITEM" : "" , # Código anterior do item com relação à última in...
331
+ "UNID_INV" : record .uom_id .code , # Unidade de medida utilizada na quanti...
332
+ "TIPO_ITEM" : record .fiscal_type , # Tipo do item – Atividades Industriai...
333
+ "COD_NCM" : record .ncm_id .code , # Código da Nomenclatura Comum do Mercosul
334
+ "EX_IPI" : "" , # Código EX, conforme a TIPI
335
+ "COD_GEN" : record .fiscal_genre_id .code , # Código do gênero do item
336
+ "COD_LST" : record .service_type_id .code or "" , # Código do serviço
337
+ "ALIQ_ICMS" : aliq_icms or "" , # Alíquota de ICMS
338
+ "CEST" : record .cest_id .code or "" , # Código Especificador da Substituiç...
339
+ }
321
340
322
341
323
342
class Registro0205 (models .Model ):
0 commit comments