Hace apenas unos días empezamos a ver en la oficina que cuando llamábamos a un API no importanto siera custom o no, el API custom era instanciada, y esto se produjo porque el diseño de esa API fue con un magic method “__construct”.

SugarAPI no tienen constructores pero al heredar su funcionalidad sobre la clase Hijo, la clase Hijo era instanciada cada vez que se hacia una llamada al API, para corregir esto, SIEMPRE que heredes de SugarApi, NUNCA le pongas un constructor.

Dentro de SugarCRM existen diferentes tablas que puedes analizar dentro de la documentación, pero la pregunta que nos lleva a esta publicación, es saber cuales de las tablas puedo borrar por completo y cuales no, cual de ellas son las que tienen nuestras personalizaciones y cuales son las que debemos dejar limpias para iniciar una instancia en producción o bien iniciar migración o ETL.

La lista de tablas que nunca debes borrar son las siguientes:

acl_actions
acl_fields
acl_roles
acl_roles_actions
acl_roles_users
team_memberships
team_notices
team_sets
team_sets_modules
team_sets_teams
fields_meta_data
relationships
users
users_cstm (en caso de existir)
users_feeds
users_holidays
users_last_import
users_password_link
users_signatures
workflow
workflow_actions
workflow_actionshells
workflow_alers
workflow_alershells
workflow_schedules
workflow_triggershells
schedulers
config

Fuera de esas tablas, a todo lo demás puedes limpiarlas, no sin antes generar un backup de tu información.

Address programatly in SugarCRM

Imagine that a promotor can add an account, but the addrees out of the box isn’t enoght to save all information about this address, so the promotor needs add in a custom control the información about country, city, state, zip code, street, number, and make a default an address.

In this scenario, the control is a custom module in sugar and embeded in Account’s record view, but the only way that you have to add a new address is by the account record.

How to save and update an address if the only way is

Carlos Zaragoza

Beloved son, brave father, loving husband, sincere brother, musician, engineer and Maker of a better world with source code. Founder AE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store