📣 We're Hiring!

Cómo crear un campo unico con mi propio ID

Soy nuevo en el foro y en el mundo de la programación, la verdad es que mis conocimientos son casi nada. Quisiera que mis nuevos registros tuvieran un numero ID propio y diferente para cada uno de ellos, y que se puedan visualizas en su respectiva ficha (no editar, solo ver), pero que sea solo de tipo numero (no letras, no caracteres especiales) no solo que tengas su propio numero de identificación sino que también pueda buscarlos en el apartado de la lupa, poder encontrar rapido a alguien con el numero. Podrían por favor decirme cuál es el paso a paso, para hacerlo, en dónde y cómo…? Instale mi Suite en mi hosting de pago este mismo mes de esta publicación.

Hay dos formas de hacerlo. Ambas requiren que primero crees tu campo en Studio (Más info aquí https://docs.suitecrm.com/admin/administration-panel/studio/)

La primera forma requiere que crees un workflow desde donde se assigne el valor que quieras al campo que desees, a la hora de creación. (Más info acerca de Worflow aquí https://docs.suitecrm.com/user/advanced-modules/workflow/)

La segunda forma es que crees un logichook desde donde puedas llenar el campo con los valores que desees. (Aquí un ejemplo: Adding autoincremental number / date / unique number to name)

Hola! edité lo que había escrito en esta entrada porque logré entender el último metodo que mencionas, como no sé casí nada de programación, intentaré explicar lo que entendí del método dos que es mediante la creación de un archivo con código:

  1. Debo ir al editor de modulos y crear mi propio modulo, en este caso como lo que necesito está asociado a contactos y clientes, el módulo debe ser ese mismo. Una vez lo he creado salgo del creador, imagino que me dices que cree un módulo porque el que es del sistema no se podrá editar.

  2. Voy a mi hosting al directorio donde está mi SuiteCRM, busco la carpeta “Custom” luego entro a “Modules” luego busco la carpeta del modulo qu está sociado lo que necesito, en mi caso sería la carpeta “Leads”, dentro de esa carpeta tengo un archivo .php que se llama logic_hooks.php, también hay una llamada “languages” y otra llamada “data”.

  3. Dentro de la carpeta “Leads” junto a las demas carpetas y el archivo logic_hooks.php, creo otra carpeta (no especificas si hay que nombrarla como quiera o debe tener un nombre especifico,por favor me aclaras esto), en esa carpeta creo un documento .php (no especificas que nombre debe tener este archivo .php , por favor me aclaras esto) con el código que pusiste en la entrada: Adding autoincremental number / date / unique number to name

  4. Luego salgo de esa carpeta en la que estaba creando el código y modifico el codigo del archivo logic_hooks.php. colocando el segundo fragmento de codigo que dejas en el post.

Y listo, ya puedo ingresar al CRM… Tengo varia dudas.

  1. Re alizando ese proceso, en qué espacio se creará el numero de la cuenta? dentro del mismo nombre? porque si es así lo que quiero es que esté en un espacio a parte del nombre, en la misma ficha.

  2. Si elijo este paso debo crear si o si en estudio dentro de suitecrm mi paquete de modulos?

  3. Dentro del archivo logic_hooks.php cómo agrego el segundo fragmento de código que mencionas? borro todo lo que está escrito y escribo el fragmanto o lo copio y pego al final de lo que ya hay escrito en ese archivo?

Gracias.

No sé que exactamente desees hacer. Lo que si te puedo decir es que desde Admin->Studio puedes agregar campos personalizados a todos los módulos del sistems. En tu caso que lo único que quieres hacer es agregar un campo de ID.

Si fuera Contactos, por ejemplo. Debes is a Admin->Studio->Contactos y agregar un campo de texto o numérico. Y luego ya sabiendo el nombre del campo puedes proceder a crear el Logichook de la forma que se indica en el ejemplo.

Te recomiendo leer la documentación y buscar algunos ejemplos en Youtube. En caso lo desees, te ofrecezco ayuda profesional. Puedes encontrar mi información de contacto en mi perfil.