NFePHP\NFe\ToolsNFe::sefazCCe PHP Метод

sefazCCe() публичный Метод

sefazCCe Solicita a autorização da Carta de Correção
public sefazCCe ( string $chNFe = '', string $tpAmb = '2', string $xCorrecao = '', integer $nSeqEvento = 1, array &$aRetorno = [] ) : array
$chNFe string
$tpAmb string
$xCorrecao string
$nSeqEvento integer
$aRetorno array
Результат array
    public function sefazCCe($chNFe = '', $tpAmb = '2', $xCorrecao = '', $nSeqEvento = 1, &$aRetorno = array())
    {
        //limpa chave
        $chNFe = preg_replace('/[^0-9]/', '', $chNFe);
        $xCorrecao = Strings::cleanString($xCorrecao);
        $nSeqEvento = (int) $nSeqEvento;
        if (strlen($chNFe) != 44) {
            $msg = "A chave deve ter 44 dígitos!!";
            throw new Exception\InvalidArgumentException($msg);
        }
        if (strlen($xCorrecao) < 15 || strlen($xCorrecao) > 1000) {
            $msg = "A correção deve ter entre 15 e 1000 caracteres!!";
            throw new Exception\InvalidArgumentException($msg);
        }
        if ($nSeqEvento < 1 || $nSeqEvento > 20) {
            $msg = "O número sequencial do evento deve ser entre 1 e 20!!";
            throw new Exception\InvalidArgumentException($msg);
        }
        if ($tpAmb == '') {
            $tpAmb = $this->aConfig['tpAmb'];
        }
        $siglaUF = $this->zGetSigla(substr($chNFe, 0, 2));
        $tpEvento = '110110';
        $xCondUso = "A Carta de Correcao e disciplinada pelo paragrafo " . "1o-A do art. 7o do Convenio S/N, de 15 de dezembro de 1970 " . "e pode ser utilizada para regularizacao de erro ocorrido " . "na emissao de documento fiscal, desde que o erro nao esteja " . "relacionado com: I - as variaveis que determinam o valor " . "do imposto tais como: base de calculo, aliquota, diferenca " . "de preco, quantidade, valor da operacao ou da prestacao; " . "II - a correcao de dados cadastrais que implique mudanca " . "do remetente ou do destinatario; " . "III - a data de emissao ou de saida.";
        $tagAdic = "<xCorrecao>{$xCorrecao}</xCorrecao><xCondUso>{$xCondUso}</xCondUso>";
        $retorno = $this->zSefazEvento($siglaUF, $chNFe, $tpAmb, $tpEvento, $nSeqEvento, $tagAdic);
        $aRetorno = $this->aLastRetEvent;
        return $retorno;
    }

Usage Example

Пример #1
0
<?php

error_reporting(E_ALL);
ini_set('display_errors', 'On');
include_once '../../bootstrap.php';
use NFePHP\NFe\ToolsNFe;
$nfe = new ToolsNFe('../../config/config.json');
$nfe->setModelo('55');
$aResposta = array();
$chNFe = '35150258716523000119550010000000091000000090';
$tpAmb = '2';
$xCorrecao = 'Teste de carta de correcao em ambiente homologacao';
$nSeqEvento = 1;
$retorno = $nfe->sefazCCe($chNFe, $tpAmb, $xCorrecao, $nSeqEvento, $aResposta);
echo '<br><br><PRE>';
echo htmlspecialchars($nfe->soapDebug);
echo '</PRE><BR>';
print_r($aResposta);
echo "<br>";