K100   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 1
dl 0
loc 33
ccs 0
cts 5
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
1
<?php
2
3
namespace NFePHP\EFD\Elements\ICMSIPI;
4
5
use NFePHP\EFD\Common\Element;
6
use NFePHP\EFD\Common\ElementInterface;
7
use \stdClass;
8
9
/**
10
 * REGISTRO K100: PERÍODO DE APURAÇÃO DO ICMS/IPI
11
 * Este registro tem o objetivo de informar o período de apuração do ICMS ou do IPI,
12
 * prevalecendo os períodos mais curtos. Contribuintes com mais de um período de
13
 * apuração no mês declaram um registro K100 para cada período no mesmo arquivo.
14
 * Não podem ser informados dois ou mais registros com os mesmos campos DT_INI e DT_FIN.
15
 * Os períodos informados neste registro deverão abranger todo o período da escrituração,
16
 * conforme informado no Registro 0000.
17
 */
18
class K100 extends Element implements ElementInterface
19
{
20
    const REG = 'K100';
21
    const LEVEL = 2;
22
    const PARENT = 'K001';
23
24
    protected $parameters = [
25
        'DT_INI' => [
26
            'type'     => 'string',
27
            'regex'    => '^(0[1-9]|[1-2][0-9]|31(?!(?:0[2469]|11))|30(?!02))(0[1-9]|1[0-2])([12]\d{3})$',
28
            'required' => true,
29
            'info'     => 'Data inicial a que a apuração se refere',
30
            'format'   => ''
31
        ],
32
        'DT_FIN' => [
33
            'type'     => 'string',
34
            'regex'    => '^(0[1-9]|[1-2][0-9]|31(?!(?:0[2469]|11))|30(?!02))(0[1-9]|1[0-2])([12]\d{3})$',
35
            'required' => true,
36
            'info'     => 'Data final a que a apuração se refere',
37
            'format'   => ''
38
        ]
39
    ];
40
    
41
    /**
42
     * Constructor
43
     * @param \stdClass $std
44
     */
45
    public function __construct(\stdClass $std)
46
    {
47
        parent::__construct(self::REG);
48
        $this->std = $this->standarize($std);
49
    }
50
}
51