diff --git a/src/Make.php b/src/Make.php index cdcbaf0f..b3b41d05 100755 --- a/src/Make.php +++ b/src/Make.php @@ -1857,8 +1857,17 @@ public function tagprod(stdClass $std): DOMElement $this->errors[] = "cEANTrib {$ceantrib} " . $e->getMessage(); } } - $CRT = $this->emit->getElementsByTagName("CRT")->item(0)->nodeValue ?? null; - $idDest = $this->ide->getElementsByTagName("idDest")->item(0)->nodeValue ?? null; + + $CRT = null; + if (!empty($this->emit->getElementsByTagName("CRT")->item(0))) { + $CRT = (int) $this->emit->getElementsByTagName("CRT")->item(0)->nodeValue; + } + + $idDest = null; + if (!empty($this->ide->getElementsByTagName("idDest")->item(0))) { + $idDest = (int) $this->ide->getElementsByTagName("idDest")->item(0)->nodeValue; + } + $allowEmptyNcm = $CRT == 4 && $idDest == 1; if ($allowEmptyNcm && empty($std->NCM)) { @@ -4770,7 +4779,11 @@ public function tagICMSSN(stdClass $std): DOMElement $this->stdTot->vFCPST += (float) !empty($std->vFCPST) ? $std->vFCPST : 0; $this->stdTot->vFCPSTRet += (float) !empty($std->vFCPSTRet) ? $std->vFCPSTRet : 0; - $CRT = $this->emit->getElementsByTagName("CRT")->item(0)->nodeValue ?? null; + $CRT = null; + if (!empty($this->emit->getElementsByTagName("CRT")->item(0))) { + $CRT = (int) $this->emit->getElementsByTagName("CRT")->item(0)->nodeValue; + } + $allowEmptyOrig = $CRT == 4 && in_array($std->CSOSN, [ '102', '103', '300', '400', '900', ]);