Conectado como invitado | [ Registrarse | Entrar ] Buscar | Contacto
INICIO | NOTICIAS 22 May, 2012 - 05:05

SugarCRM

Tutoriales

Colabora

Menú Principal

Entrar en Tu Cuenta




 


 ¿Has perdido tu contraseña?
 ¿Nuevo usuario? ¡Registrate!



Buscar Ultimos mensajes Nota: Los usuarios registrados pueden participar en el foro activamente, subscribirse a foros o temas, recibir notificaciones sobre nuevos mensajes y mucho más... Nota: Los usuarios registrados pueden participar en el foro activamente, subscribirse a foros o temas, recibir notificaciones sobre nuevos mensajes y mucho más...

copiar el contenido de un campo a otro
Autor Mensaje
Bajar a respuesta rápidaTop
 
explico

tengo un campo llamado 'nombre_completo' y otros dos 'nombre' y 'apellidos'

si utilizo la instruccion 'db_concat_fields'=> array(0=>'nombres', 1=>'apellidos'), en el archivo vardefs, solo es para visualizacion, no guarda la concatenacion en el valor de 'nombre_completo'.

¿como le hago para que guarde esa concatenacion en 'nombre completo'?, ya lo intente con:
'customCode'=> '<input type="text" value="{$fields.nombres.value}+{$fields.apellidos.value}">',

en el archivo editviewdef pero sin resultados

me podrian ayudar????, gracias a todos

Perfil del usuario Enviar MP
Bajar a respuesta rápidaTop
 
Hola Alex, qué tal?. Puedes hacerlo de 2 maneras:
1) Intervenir el archivo Save.php (custom/modules/MODULO/Save.php)
2) Puedes crear un logic_hook (after o before) y guardar tu mismo el valor.

Saludos,

Cualquier inquietud, no dejes de contactarme.
Saludos,

Esteban Schmirman
GrowIT - SugarCRM
* Gold Partners *

Buenos Aires, Arg
+54(11) 4856-7780

Santiago, Chile
+56 (2) 495-7314

Skype: eschmirman

Perfil del usuario Enviar MP
Bajar a respuesta rápidaTop
 
gracias por la respuesta,

efectivamente opte por el logic_hook, y queda de la siguiente forma:

archivo: custom/modules/logic_hook.php

<?php
$hook_array['before_save'][] = Array(1, 'nombre_completo', 'custom/modules/CRMed_Ficha_de_identificacion/identificacionLogicHook.php', 'identificacionLogicHook', 'nombre_completo');
?>

archivo: custom/modules/identificacion/identificacionLogicHook.php

<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
include_once('modules/CRMed_Ficha_de_identificacion/CRMed_Ficha_de_identificacion_sugar.php');

class identificacionLogicHook
{
function nombre_completo(&$bean, $event, $arguments)
{
require_once("config.php");
global $sugar_config;
$con=mysql_connect($sugar_config['dbconfig']['db_host_name'],$sugar_config['dbconfig']['db_user_name'],$sugar_config['dbconfig']['db_password']);
mysql_select_db($sugar_config['dbconfig']['db_name']);
$id=$bean->id;
$qry1= "select nombres from crmed_ficha_de_identificacion where id = '".$id."'";
$result1=mysql_query($qry1);
$acc_info1=mysql_fetch_assoc($result1);
$name1=$acc_info1[0];
$name=$name1;

}
}
?>

todo esto sin exito, sigue sin grabar, no se donde esta el error, me podrian ayudar???, muchas gracias

Perfil del usuario Enviar MP
Bajar a respuesta rápidaTop
 
Hola Alex, encontré varios errores en tu código:
1) El archivo de logic_hook debe ir dentro de custom/modules/TU_MODULO/
2) Para la conexión a la Base de Datos, no debes utilizar la conexión directa.
SugarCRM te provee una Api, prueba instanciando un objeto de la clase DBManagerFactory.

Una vez que tengas el archivo logik_hook correctamente puesto, dentro de la función que llamas, puedes ponerle un print "Pasa";die();
Si ves ese mensaje en pantalla al guardar, entonces vas bién encaminado.

Por otro lado, para guardar un valor en el registro actual, debes guardarlo en $bean->TU_CAMPO

Cualquier cosa, me avisas.
Saludos,


Cualquier inquietud, no dejes de contactarme.
Saludos,

Esteban Schmirman
GrowIT - SugarCRM
* Gold Partners *

Buenos Aires, Arg
+54(11) 4856-7780

Santiago, Chile
+56 (2) 495-7314

Skype: eschmirman

Perfil del usuario Enviar MP
Bajar a respuesta rápidaTop
 
que tal muchas gracias

bueno analizando un poco mas creo que lo mejor seria utilizar algo como esto:

<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
include_once('modules/CRMed_Ficha_de_identificacion/CRMed_Ficha_de_identificacion_sugar.php');
require_once('data/SugarBean.php');


class identificacionLogicHook
{
function nombre_completo(&$bean, $event, $arguments)
{
$bean->name=$bean->nombres+$bean->apellidos;

}
}
?>

ya lo hice y ahora me sale un error:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING /include/ListView/ListViewData.php on line 511

pero yo no le hice nada a este codigo, las lineas son:

function getAdditionalDetailsAjax($id)
{
global $app_strings;

$jscalendarImage = SugarThemeRegistry::current()->getImageURL('info_inline.gif');

$extra = "<span id='adspan_" . $id . "' onmouseout=\"return SUGAR.util.clearAdditionalDetailsCall()\" "
. "onmouseover=\"lvg_dtails('$id')\" "
. "onmouseout=\"return nd(1000);\" style='position: relative; top: 3px;'><img vertical-align='middle' style='padding: 0px 5px 0px 2px' border='0' src='$jscalendarImage'></span>";

return array('fieldToAddTo' => $this->additionalDetailsFieldToAdd, 'string' => $extra);
}

no entiendo, nada y cada vez menos :(

muchas gracias por tus respuestas



Perfil del usuario Enviar MP


Usuarios online:
RestForAll - mehndiimage y 0 invitado

Esta lista muestra los usuarios activos de los últimos 10 minutos