DocumentoRelacionado.__init__()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 10
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 9
nop 4
dl 0
loc 10
rs 9.95
c 0
b 0
f 0
1
"""ieeh http://www.sat.gob.mx/IngresosHidrocarburos10"""
2
from decimal import Decimal
3
from datetime import datetime, date, time
4
from collections.abc import Sequence
5
from ...cfdi import CFDI
6
from ...xelement import XElement
7
from ...utils import ScalarMap
8
9
10
class DocumentoRelacionado(ScalarMap):
11
    """
12
    Nodo requerido para expresar la información del documento relacionado al ingreso.
13
    
14
    :param folio_fiscal_vinculado: Atributo requerido para expresar el folio fiscal del CFDI expedido por el operador del consorcio al FMP.
15
    :param fecha_folio_fiscal_vinculado: Atributo requerido para expresar la fecha del CFDI expedido por el operador del consorcio al FMP. Se expresa en la forma aaaa-mm-dd, de acuerdo con la especificación ISO 8601.
16
    :param mes: Atributo requerido para expresar el mes que corresponda al CFDI expedido por el operador del consorcio al FMP.
17
    """
18
    
19
    def __init__(
20
            self,
21
            folio_fiscal_vinculado: str,
22
            fecha_folio_fiscal_vinculado: date,
23
            mes: str,
24
    ): 
25
        super().__init__({
26
            'FolioFiscalVinculado': folio_fiscal_vinculado,
27
            'FechaFolioFiscalVinculado': fecha_folio_fiscal_vinculado,
28
            'Mes': mes,
29
        })
30
        
31
32
class IngresosHidrocarburos(CFDI):
33
    """
34
    Complemento para incorporar la información sobre Ingresos atribuibles a los Integrantes de un consorcio derivados de la contraprestación de un contrato de exploración o extracción de hidrocarburos.
35
    
36
    :param numero_contrato: Atributo requerido para expresar el número de contrato asignado por la Comisión Nacional de Hidrocarburos con el cual se encuentra vinculado el ingreso.
37
    :param contraprestacion_pagada_operador: Atributo requerido para precisar el importe total de las contraprestaciones pagadas al operador del consorcio.
38
    :param porcentaje: Atributo requerido para expresar el porcentaje que ampara el CFDI que emite cada integrante del consorcio al operador, respecto del total de las contraprestaciones entregadas al operador del consorcio por el FMP.
39
    :param documento_relacionado: Nodo requerido para expresar la información del documento relacionado al ingreso.
40
    """
41
    
42
    tag = '{http://www.sat.gob.mx/IngresosHidrocarburos10}IngresosHidrocarburos'
43
    version = '1.0'
44
    
45
    def __init__(
46
            self,
47
            numero_contrato: str,
48
            contraprestacion_pagada_operador: Decimal | int,
49
            porcentaje: Decimal | int,
50
            documento_relacionado: DocumentoRelacionado | dict | Sequence[DocumentoRelacionado | dict],
51
    ): 
52
        super().__init__({
53
            'Version': self.version,
54
            'NumeroContrato': numero_contrato,
55
            'ContraprestacionPagadaOperador': contraprestacion_pagada_operador,
56
            'Porcentaje': porcentaje,
57
            'DocumentoRelacionado': documento_relacionado,
58
        })
59
        
60
61