Pesquisar na Comunidade
Showing results for tags '2020/005'.
Encontrado 1 registro
-
Função ValidaDrawback e o novo formato após a NT 2020/005 da NFe
um tópico no fórum postou Fábio dos Santos Amorim ACBrNFe
A atual função ValidaDrawback não está, na revisão atual do SVN (22620), contemplando a Nota Técnica 2020/005 da NFe que diz: *Esse novo tamanho é de 20 caracteres. Como pode ser observado no código abaixo, apenas número são aceitos, apesar do argumento ser String, e apenas códigos de tamanho 11 e 9 são aceitos. function ValidaDrawback(AValue: String): Boolean; var ano: integer; begin // AValue = AAAANNNNNND // Onde: AAAA Ano corrente do registro // NNNNNN Número sequencial dentro do Ano ( 6 dígitos ) // D Dígito Verificador, Módulo 11, Pesos de 2 a 9 AValue := OnlyNumber(AValue); ano := StrToInt(Copy(IntToStr(YearOf(Date)), 3, 2)); if length(AValue) = 11 then AValue := copy(AValue, 3, 9); if length(AValue) <> 9 then Result := False else if not ((StrToInt(copy(Avalue, 1, 2)) >= ano - 2) and (StrToInt(copy(Avalue, 1, 2)) <= ano + 2)) then Result := False else Result := copy(AValue, 9, 1) = Modulo11(copy(AValue, 1, 8)); end; Ainda não encontrei nenhum novo formato e o próprio arquivo de leiaute da SEFAZ informa o mesmo formato de antes para drawback. Como uso essa função no meu aplicativo para realizar a validação do código conforme o usuário edita as informações, no momento não consigo acompanhar essa mudança. Alguém sabe se há alguma iniciativa para alguma correção ou se alguém já descobriu esse novo formato? Obrigado.