D696   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 95
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 95
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
8
class D696 extends Element implements ElementInterface
9
{
10
    const REG = 'D696';
11
    const LEVEL = 3;
12
    const PARENT = '';
13
14
    protected $parameters = [
15
        'CST_ICMS' => [
16
            'type' => 'numeric',
17
            'regex' => '^(\d{3})$',
18
            'required' => true,
19
            'info' => 'Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1 . ',
20
            'format' => ''
21
        ],
22
        'CFOP' => [
23
            'type' => 'numeric',
24
            'regex' => '^(\d{4})$',
25
            'required' => true,
26
            'info' => 'Código Fiscal de agrupamento de itens',
27
            'format' => ''
28
        ],
29
        'ALIQ_ICMS' => [
30
            'type' => 'numeric',
31
            'regex' => '^\d+(\.\d*)?|\.\d+$',
32
            'required' => false,
33
            'info' => 'Alíquota do ICMS',
34
            'format' => '6v2'
35
        ],
36
        'VL_OPR' => [
37
            'type' => 'numeric',
38
            'regex' => '^\d+(\.\d*)?|\.\d+$',
39
            'required' => true,
40
            'info' => 'Valor da operação correspondente à combinação de CST_ICMS, CFOP, e alíquota do ICMS . ',
41
            'format' => '15v2'
42
        ],
43
        'VL_BC_ICMS' => [
44
            'type' => 'numeric',
45
            'regex' => '^\d+(\.\d*)?|\.\d+$',
46
            'required' => true,
47
            'info' => 'Parcela correspondente ao "Valor da base de cálculo do ICMS" 
48
            referente à combinação de CST_ICMS, CFOP e alíquota do ICMS . ',
49
            'format' => '15v2'
50
        ],
51
        'VL_ICMS' => [
52
            'type' => 'numeric',
53
            'regex' => '^\d+(\.\d*)?|\.\d+$',
54
            'required' => true,
55
            'info' => 'Parcela correspondente ao "Valor do ICMS" referente à combinação 
56
            de CST_ICMS, CFOP e alíquota do ICMS . ',
57
            'format' => '15v2'
58
        ],
59
        'VL_BC_ICMS_UF' => [
60
            'type' => 'numeric',
61
            'regex' => '^\d+(\.\d*)?|\.\d+$',
62
            'required' => true,
63
            'info' => 'Parcela correspondente ao valor da base de cálculo do ICMS de outras UFs, 
64
            referente à combinação de CST_ICMS, CFOP e alíquota do ICMS . ',
65
            'format' => '15v2'
66
        ],
67
        'VL_ICMS_UF' => [
68
            'type' => 'numeric',
69
            'regex' => '^\d+(\.\d*)?|\.\d+$',
70
            'required' => true,
71
            'info' => 'Parcela correspondente ao valor do ICMS de outras UFs, referente à combinação 
72
            de CST_ICMS, CFOP, e alíquota do ICMS . ',
73
            'format' => '15v2'
74
        ],
75
        'VL_RED_BC' => [
76
            'type' => 'numeric',
77
            'regex' => '^\d+(\.\d*)?|\.\d+$',
78
            'required' => true,
79
            'info' => 'Valor não tributado em função da redução da base de cálculo do ICMS, 
80
            referente à combinação de CST_ICMS, CFOP e alíquota do ICMS . ',
81
            'format' => '15v2'
82
        ],
83
        'COD_OBS' => [
84
            'type' => 'string',
85
            'regex' => ' ^.{0,6}$',
86
            'required' => false,
87
            'info' => 'Código da observação do lançamento fiscal(campo 02 do Registro 0460)',
88
            'format' => ''
89
        ],
90
    ];
91
92
    /**
93
     * D696 constructor.
94
     * @param \stdClass $std
95
     * @throws \Exception
96
     */
97
    public function __construct(\stdClass $std)
98
    {
99
        parent::__construct(self::REG);
100
        $this->std = $this->standarize($std);
101
    }
102
}
103