hola, gracia spor la respuesta. $i si lo inicialice pero no lo agrega al código que pegue aca. Ya había revisado los resultados, del numero de registros y la sentencia lógica. Para mi el error esta en la asignación de valor a $estado o la asignación de este al campo que quiero actualizar ($myAccountTmp->estado_cuenta_c).
cambie $estado por $GLOBALS[estado] e inicialice, por si era cuestión de ámbito de variable, pero nada. me doy cuenta que $myAccountTmp->estado_cuenta_c no esta tomando l que le asigno, nisiquiera si es quemado, pues cambio a $myAccountTmp->estado_cuenta_c=”algo”; y no actualiza.
require_once('data/SugarBean.php');
$GLOBALS[estado]='Inactivo';
if(!defined('sugarEntry') || !sugarEntry) die('Invalid Sugar EntryPoint');
class Project_Hook {
function cambiar_estado(&$bean, $event, $arguments)
{
$db = DBManagerFactory::getInstance();
$query="select ...";
$rs=$db->query($query, true, 'Error al realizar el select: ');
$i=0;
while($row[$i] = $db->fetchByAssoc($rs)){
if($row[$i]['estados_c']=='activo'){
$GLOBALS[estado]='Activo';
}
$i++;
}
if(!empty($bean->accounts_pef09ccounts_ida)){
$myAccountTmp=new Account();
//$myAccountTmp->retrieve($bean->accounts_pef09ccounts_ida);
$myAccountTmp->estado_cuenta_c=$GLOBALS[estado];
$myAccountTmp->save();}
}}




