Bug #7789
abertoCPF Nfce
100%
Descrição
Boa tarde a todos
Na opção de cadastro de dados do cliente CPF para impressão do NFCe, o campo CPF está deixando digitar qualquer número, e somente após a emissão da NFCe que critica e informa que o CPF é inválido, não emitindo a NFCe e finalizando a compra.
Exemplo para regra de preenchimento campo CPF
import java.util.regex.Pattern;
public class CPFUtil {
// Método para formatar CPF
public static String formatarCPF(String cpf) {
cpf = cpf.replaceAll("[^0-9]", ""); // Remover caracteres não numéricos
return cpf.replaceAll("(\\d{3})(\\d{3})(\\d{3})(\\d{2})", "$1.$2.$3-$4");
}
// Método para validar CPF
public static boolean validarCPF(String cpf) {
cpf = cpf.replaceAll("[^0-9]", ""); // Remover caracteres não numéricos
if (cpf.length() != 11 || cpf.matches("(\\d)\\1{10}")) {
return false; // CPF deve ter 11 dígitos e não pode ser formado por dígitos repetidos
}
// Cálculo do dígito verificador
int[] digits = new int[11];
for (int i = 0; i < 11; i++) {
digits[i] = cpf.charAt(i) - '0';
}
int sum = 0;
for (int i = 0; i < 9; i++) {
sum += digits[i] * (10 - i);
}
int remainder = sum % 11;
int digit1 = (remainder < 2) ? 0 : (11 - remainder);
sum = 0;
for (int i = 0; i < 10; i++) {
sum += digits[i] * (11 - i);
}
remainder = sum % 11;
int digit2 = (remainder < 2) ? 0 : (11 - remainder);
return (digit1 digits[9] && digit2 digits[10]);
}
// Método para verificar a existência do CPF
public static boolean verificarExistenciaCPF(String cpf) {
// Implemente aqui a lógica para verificar se o CPF existe na base de dados da Receita Federal
return true; // Retornar verdadeiro para fins de exemplo
}
// Método principal para teste
public static void main(String[] args) {
String cpf = "12345678901"; // Exemplo de CPF
// Formatar CPF
String cpfFormatado = formatarCPF(cpf);
System.out.println("CPF formatado: " + cpfFormatado);
// Validar CPF
boolean cpfValido = validarCPF(cpf);
System.out.println("CPF válido: " + (cpfValido ? "Sim" : "Não"));
// Verificar existência do CPF
boolean cpfExiste = verificarExistenciaCPF(cpf);
System.out.println("CPF existe: " + (cpfExiste ? "Sim" : "Não"));
}
}
Sempre que houver algum erro ou rejeição para a emissão da NFCe o sistema não pode finalizar a venda até que problema seja solucionado, de acordo com resolução do SEFAZ/RJ.
Obrigado
Sub-tarefa
Tarefas relacionadas
Atualizado por Rodrigues Gustavo há 4 meses
- % Completo alterado de 0 para 100
Cissy 崔敬仪 escreveu (#note-1):
Hi, hope you are doing will
The deadline has been updated here.
Thanks.
Bom dia a todos
Testado e aprovado...
Obrigado pelo empenho de todos
Atualizado por Rodrigues Gustavo há 4 meses
- Estado alterado de In Progress para Resolved