| Autor |
Mensaje |
alexresano
Registrado: ago. 2010
Mensajes: 3
Estado: Desconectado Ultima visita: 17.08.10
|
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
|
| Enviado: 11.08.2010, 01:48
|
|
 |
eschmirman
Registrado: ene. 2010
Mensajes: 162
Estado: Desconectado Ultima visita: 15.05.12
|
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
|
| Enviado: 13.08.2010, 21:04
|
|
 |
alexresano
Registrado: ago. 2010
Mensajes: 3
Estado: Desconectado Ultima visita: 17.08.10
|

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
|
| Enviado: 16.08.2010, 22:09
|
|
 |
eschmirman
Registrado: ene. 2010
Mensajes: 162
Estado: Desconectado Ultima visita: 15.05.12
|
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
|
| Enviado: 17.08.2010, 03:44
|
|
 |
alexresano
Registrado: ago. 2010
Mensajes: 3
Estado: Desconectado Ultima visita: 17.08.10
|

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
|
| Enviado: 17.08.2010, 19:07
|
|
 |