Erro ao salvar endereço (localização)


#1

Olá

Criei um client novo e quando vou colocar um endereço para um parceiro, o Adempiere reclama que o CNPJ é inválido (o mesmo acontece no GW). O parceiro em questão possui CNPJ cadastrado e o mesmo é válido. O erro é o seguinte:

-----------> MBPartnerLocation.save: Validation failed - CNPJ Inválido [11] ===========> MBPartnerLocation.saveError: Error - CNPJ Inválido [11]

Olhando o código, é essa porção do validator que gera o erro:

[code] String CNPJMatriz = (String)bp.get_Value(“lbr_CNPJ”);
String CNPJFilial = (String)bpl.get_Value(“lbr_CNPJ”);

	if(CNPJMatriz.substring(0, 10).equalsIgnoreCase(CNPJFilial.substring(0, 10)))
	{
		if (!validaCNPJ(CNPJFilial))
			return "CNPJ Inválido";[/code]

Quando o bpl é enviado como argumento da função, ele tem um CNPJ como um dos argumentos, mas somente o número até a barra, não tem nada do resto do CNPJ, então ele nunca vai conseguir ser validado, daí o erro.

Pra ser sincero, nunca vi nenhuma opção de filiais no LBR, então não sei nem aonde procurar, pra achar a solução.

Alguma idéia?

Obrigado


#2

gmichels,

Na verdade este recurso não está documentado em lugar nenhum. Funciona da seguinte maneira:

Existe um parâmetro na janela System Configuration chamado LBR_USE_UNIFIED_BP.

Por padrão, o valor desta variável deve ser N, ou seja o CNPJ fica na Aba Parceiro de Negócios.

Se esta variável estiver como Y, então na Aba PN após validar o CNPJ será substiuido o final do mesmo (ref. a filial) com zeros (/0000-00). Então este final do CNPJ deverá ser preenchido na Aba Localização. Para verificar o valor da variável, procure LBR_USE_UNIFIED_BP no contexto (Ferramentas > Preferência > Contexto)

Um Abraço.


#3

ralexsander,

Aqui essa variável está no padrão:

O CNPJ do parceiro está completo:

E na aba Localização não há nenhum campo para CNPJ:

Estou usando código da tag adempiere342 e branch rc110. Eu tinha 3.4.0s e fiz o upgrade pra 3.4.2s usando os scripts da pasta migration do adempiere342, e também rodei todos os sql que tinha no LBR, até o 100-rc110.

Será que ficou faltando alguma coisa durante o upgrade?

Abraço


#4

Troquei o LBR_USE_UNIFIED_BP pra Y e o procedimento todo ocorreu como deveria, o CNPJ do principal teve a parte da filial zerada e o campo CNPJ apareceu pra localização.

Acho que é a maneira mais sensata a se trabalhar mesmo, então vou deixar como está.


#5

OK, mas da outra maneira deveria funcionar também. Eu dei uma olhada na parte do código que você citou e realmente parece ser um BUG.

Eu vou tentar analisar com calma e vou fazer a correção no sistema.

Um Abraço,
Ricardo