Amigos desenvolvedores.
Devido a inclusão da DIFAL, existe uma situação em que a regra 773 não está passando.
Quando o contribuinte de outra UF vier ao estabelecimento comprar um produto e for leva-lo (venda presencial), na emissão da NFe (veja PDF em anexo) o contribuinte deverá emitir a NFe com o cadastro do cidadão (ou seja outra UF), emitir como venda dentro do estado (operação interna) com CFOP interno (5...) Contribuinte do ICMS não - Venda presencial e sem frete.
Com estes parâmetros a SEFAZ autoriza a nota fiscal. Ocorre que a regra de validação 773 somente verifica a diferença entre as UFs do emissor e do destinatário e se a id. do destinatário esta correta como interestadual.
Minha sugestão é que além desta a ser verificada colocar também se a venda for presencial como abaixo, ou se não , outro parâmetro para que o validador não indique que esta operação está errada uma vez que a SEFAZ autoriza.
GravaLog('Validar: 773-Op.Interna e UF diferente');
if (nfe.Ide.idDest = doInterna) and
(NFe.Dest.EnderDest.UF <> NFe.Emit.EnderEmit.UF) and
(NFe.Ide.indPres <> pcPresencial) then
AdicionaErro('773-Rejeição: Operação Interna e UF de destino difere da UF do emitente - não presencial');
Aguardo a vossa análise para colocar em produção.
O PDF em anexo está feito em homologação, mais fiz um teste em um cliente e em produção também passou certinho.
para isso os principais parâmetros são:
indFinal=1
indPres=1
idDest=1
ACBrNFeNotasFiscais.pas
nota fiscal difal teste.pdf