Bienvenido a los foros %s

Foro comunidad hispana Dolibarr

Identificarse Registrarse

validar slash (signo) en ref ( solucionado por Miguel AR )

Cuestiones sobre cómo utilizar Dolibarr, ayudas sobre las funcionalidades o cualquier cuestión que no está relacionada con un error.
yetroo
Soldado
Mensajes: 121
Registrado: Vie, 03/02/2017, 15:35

validar slash (signo) en ref ( solucionado por Miguel AR )

Mensaje por yetroo »

Buenos dias comunidad.

Los productos con que trabajo tienen un slash ( / )
por ejemplo :

referencia : producto35/1
Al crear los productos el slash se convierte automaticamente
en un guion bajo, en cambio las etiquetas si aceptan el slash.

La pregunta: que parametro es el que me convierte los slash?

ya he visto desde la base de datos que
ref = VARCHAR 128
label = VARCHAR 255 ( pero me temo que no es ahi )

en la carpeta del modulo no encuentro nada y en la carpeta
del canvas -> tpl tampoco encuentro algo.

Si alguien sabe algo al respecto, le agradecere mucho.

gracias.
Última edición por yetroo el Mar, 07/02/2017, 13:48, editado 1 vez en total.

Miguel AR
Novato
Mensajes: 24
Registrado: Mié, 21/09/2016, 12:42

Mensaje por Miguel AR »

El problema que estas teniendo no reside en la base de datos.

Mirando la clase de productos ( Product::create() ), veras lo siguiente:

Código: Seleccionar todo

$this->ref = dol_string_nospecial(trim($this->ref));
Ahí basicamente esta asignando a la clase la propiedad $ref de lo que has introducido, pero filtrandola por la funcion "dol_string_nospecial", en la que no se permite ninguno de estos caracteres:

Código: Seleccionar todo

array(" ","'","/","\\",":","*","?","\"","<",">","|","[","]",",",";","=")
Si no sabes nada de programación, no podrás cambiarlo, si no simplemente podrías retirar la function "dol_string_nospecial" de la referencia o crearte la tuya propia eliminando el caracter que quieres poner y esta marcado como prohibido.
O si no quieres sobreescribir nada creado un evento en la creacion del producto que te sustituya por ejemplo:

Código: Seleccionar todo

 producto35@1 = producto35/1 
Suerte un saludo.

Ubicacion ficheros:

Código: Seleccionar todo

 
DOL_DOCUMENT_ROOT : Raiz de tu dolibarr;
Class Product : DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; 
Funcion limpia caracteres : DOL_DOCUMENT_ROOT . '/core/lib/functions.lib.php';

yetroo
Soldado
Mensajes: 121
Registrado: Vie, 03/02/2017, 15:35

Mensaje por yetroo »

Miguel AR, primeramente muchas gracias en
detenerte a escribir, simplemente genial.

Agradezco tu ayuda, creo que una forma de
recompensarte es mostrar que fue gracias a ti.
Si no te parece dimelo y lo edito.

Nuevamente muchas gracias.