|
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
|
|
|
* Elemento 0015 do Bloco 0 |
|
11
|
|
|
* REGISTRO 0015: DADOS DO CONTRIBUINTE SUBSTITUTO OU RESPONSÁVEL PELO ICMS DESTINO |
|
12
|
|
|
* Registro obrigatório para todos os contribuintes substitutos tributários do |
|
13
|
|
|
* ICMS, conforme definidos na legislação pertinente. Deve ser gerado um |
|
14
|
|
|
* registro para cada uma das inscrições estaduais cadastradas nas |
|
15
|
|
|
* unidades federadas dos contribuintes substituídos, ainda que não tenha |
|
16
|
|
|
* tido movimentação no período, ficando obrigado à apresentação dos registros |
|
17
|
|
|
* E200, E300 e respectivos filhos. |
|
18
|
|
|
* |
|
19
|
|
|
* NOTA: usada a letra Z no nome da Classe pois os nomes não podem ser exclusivamente |
|
20
|
|
|
* numeréricos e também para não confundir os com elementos do bloco B |
|
21
|
|
|
*/ |
|
22
|
|
View Code Duplication |
class Z0015 extends Element implements ElementInterface |
|
|
|
|
|
|
23
|
|
|
{ |
|
24
|
|
|
const REG = '0015'; |
|
25
|
|
|
const LEVEL = 2; |
|
26
|
|
|
const PARENT = '0005'; |
|
27
|
|
|
|
|
28
|
|
|
protected $parameters = [ |
|
29
|
|
|
'UF_ST' => [ |
|
30
|
|
|
'type' => 'string', |
|
31
|
|
|
'regex' => '^[A-Z]{2}$', |
|
32
|
|
|
'required' => true, |
|
33
|
|
|
'info' => 'Sigla da unidade da federação do contribuinte ' |
|
34
|
|
|
. 'substituído ou unidade de federação do consumidor final não ' |
|
35
|
|
|
. 'contribuinte - ICMS Destino EC 87/15.', |
|
36
|
|
|
'format' => '' |
|
37
|
|
|
], |
|
38
|
|
|
'IE_ST' => [ |
|
39
|
|
|
'type' => 'string', |
|
40
|
|
|
'regex' => '^[0-9]{11,14}$', |
|
41
|
|
|
'required' => true, |
|
42
|
|
|
'info' => 'Inscrição Estadual do contribuinte substituto na ' |
|
43
|
|
|
. 'unidade da federação do contribuinte substituído ou unidade ' |
|
44
|
|
|
. 'de federação do consumidor final não contribuinte - ICMS Destino ' |
|
45
|
|
|
. 'EC 87/15.', |
|
46
|
|
|
'format' => '' |
|
47
|
|
|
] |
|
48
|
|
|
]; |
|
49
|
|
|
|
|
50
|
|
|
/** |
|
51
|
|
|
* Constructor |
|
52
|
|
|
* @param \stdClass $std |
|
53
|
|
|
*/ |
|
54
|
|
|
public function __construct(\stdClass $std) |
|
55
|
|
|
{ |
|
56
|
|
|
parent::__construct(self::REG); |
|
57
|
|
|
$this->std = $this->standarize($std); |
|
58
|
|
|
} |
|
59
|
|
|
} |
|
60
|
|
|
|
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.