[Vtigercrm-developers] Error trying to save a new Record of a new Custom module

Juan Pablo Botero juanpabloboterolopez at gmail.com
Thu Aug 23 21:17:55 PDT 2012


Hello.

I had modified the file php to make the module 'Beneficiarios' , the result
is the same:

include_once('./vtlib/Vtiger/Module.php');
 include_once('./vtlib/Vtiger/Menu.php');

 $modulo = new Vtiger_module();
 $modulo->name = 'Beneficiarios';
 $modulo->save();
 /*
  * código para Habilitar el módulo para web Services
  * No se habilita ya que no se necesita aún
  */
 $modulo->initWebService();

 // Iniciar o crear las tablas requeridas para el nuevo módulo:
 $modulo->initTables();

 // Agregar el menú del sistema
 $menu = Vtiger_Menu :: getInstance('Sales');
 $menu->addModule($modulo);

 /**
  * BLOQUE DE LOS DATOS BÁSICOS
  */

 $bloqueDatosBasicos = new Vtiger_Block();
 $bloqueDatosBasicos->label = 'LBL_BENEFICIARIO_INFORMATION';
 $modulo->addBlock($bloqueDatosBasicos);

 /**
  * BLOQUE DE LOS DATOS EXTRA
  */
 $bloqueDatosExtra = new Vtiger_Block();
 $bloqueDatosExtra->label = 'LBL_CUSTOM_INFORMATION';
 $modulo->addBlock($bloqueDatosExtra);

 /**
  * CREACIÓN DE LOS CAMPOS DEL MÓDULO
  */

 $campoNombre = new Vtiger_Field();
 $campoNombre->name = 'nombre_beneficiario';
 $campoNombre->label = 'Nombre';
 // Campos de la base de datos
 $campoNombre->table = $modulo->basetable; // indica que el campo estará en
la base de datos
 $campoNombre->column = 'nombre_beneficiario';
 $campoNombre->columntype = 'VARCHAR(100)';
 $campoNombre->uitype = 2;
 $campoNombre->typeofdata = 'V~M';
 $bloqueDatosBasicos->addField($campoNombre);
 $modulo->setEntityIdentifier($campoNombre);

 // Telefóno Fijo
 $campoTelfijo = new Vtiger_Field();
 $campoTelfijo->name = 'telfijo_beneficiario';
 $campoTelfijo->label = 'Teléfono Fijo';
 $campoTelfijo->table = $modulo->basetable; // indica que el campo estará
en la base de datos
 $campoTelfijo->column = 'telfijo_beneficiario';
 $campoTelfijo->columntype = 'VARCHAR(20)';
 $campoTelfijo->uitype = 2;
 $campoTelfijo->typeofdata = 'V~M';
 $bloqueDatosBasicos->addField($campoTelfijo);
 // el nombre del campo como identificador de campo
 $modulo->setEntityIdentifier($campoTelfijo);

 // Telefóno movil
 $campoTelMovil = new Vtiger_Field();
 $campoTelMovil->name = 'telmovil_beneficiario';
 $campoTelMovil->label = 'Telefono movil';
 $campoTelMovil->table = $modulo->basetable; // indica que el campo estará
en la base de datos
 $campoTelMovil->column = 'telmovil_beneficiario';
 $campoTelMovil->columntype = 'VARCHAR(20)';
 $campoTelMovil->uitype = 2;
 $campoTelMovil->typeofdata = 'V~O';
 $bloqueDatosBasicos->addField($campoTelMovil);
 $modulo->setEntityIdentifier($campoTelMovil);

 // Número Cedúla
 $campoCedula = new Vtiger_Field();
 $campoCedula->name = 'cedula_beneficiario';
 $campoCedula->label = 'Cedúla';
 $campoCedula->table = $modulo->basetable; // indica que el campo estará en
la base de datos
 $campoCedula->column = 'cedula_beneficiario';
 $campoCedula->columntype = 'VARCHAR(100)';
 $campoCedula->uitype = 2;
 $campoCedula->typeofdata = 'V~O';
 $bloqueDatosBasicos->addField($campoCedula);
 // el nombre del campo como identificador de campo
 $modulo->setEntityIdentifier($campoCedula);

 // Ciudad Domicilio
 $campoCiudad= new Vtiger_Field();
 $campoCiudad->name = 'ciudad_beneficiario';
 $campoCiudad->label = 'Ciudad';
 $campoCiudad->table = $modulo->basetable; // indica que el campo estará en
la base de datos
 $campoCiudad->column = 'ciudad_beneficiario';
 $campoCiudad->columntype = 'VARCHAR(255)';
 $campoCiudad->uitype = 1;
 $campoCiudad->typeofdata = 'V~O';
 $bloqueDatosBasicos->addField($campoCiudad);
 // el nombre del campo como identificador de campo
 $modulo->setEntityIdentifier($campoCiudad);

// Departamento Domicilio
 $campoDepartamento= new Vtiger_Field();
 $campoDepartamento->name = 'departamento_beneficiario';
 $campoDepartamento->label = 'Departamento';
 $campoDepartamento->table = $modulo->basetable; // indica que el campo
estará en la base de datos
 $campoDepartamento->column = 'departamento_beneficiario';
 $campoDepartamento->columntype = 'VARCHAR(255)';
 $campoDepartamento->uitype = 1;
 $campoDepartamento->typeofdata = 'V~O';
 $bloqueDatosBasicos->addField($campoDepartamento);
 // el nombre del campo como identificador de campo
 $modulo->setEntityIdentifier($campoDepartamento);

 /**
  * Bloque de dato extra
  */
 // Fecha de Nacimiento
 $campoNacimiento= new Vtiger_Field();
 $campoNacimiento->name = 'nacimiento_beneficiario';
 $campoNacimiento->label = 'Fecha de nacimiento';
 $campoNacimiento->table = 'vtiger_crmentity';
 $campoNacimiento->column = 'nacimiento_beneficiario';
 $campoNacimiento->columntype = 'DATE';
 $campoNacimiento->uitype = 5;
 $campoNacimiento->typeofdata = 'D~O';
 $bloqueDatosExtra->addField($campoNacimiento);
 // el nombre del campo como identificador de campo
 $modulo->setEntityIdentifier($campoNacimiento);

 // Dirección Domicilio
 $campoDireccion= new Vtiger_Field();
 $campoDireccion->name = 'direccion_beneficiario';
 $campoDireccion->label = 'Dirección Domicilio';
 $campoDireccion->table = $modulo->basetable; // indica que el campo estará
en la base de datos
 $campoDireccion->column = 'direccion_Beneficiario';
 $campoDireccion->columntype = 'VARCHAR(255)';
 $campoDireccion->uitype = 1;
 $campoDireccion->typeofdata = 'V~O';
 $bloqueDatosExtra->addField($campoDireccion);
 // el nombre del campo como identificador de campo
 $modulo->setEntityIdentifier($campoDireccion);

 // Indicaciones Dirección Domicilio
 $campoIndicacion= new Vtiger_Field();
 $campoIndicacion->name = 'indicacion_direccion_beneficiario';
 $campoIndicacion->label = 'Indicación Dirección';
 $campoIndicacion->table = $modulo->basetable; // indica que el campo
estará en la base de datos
 $campoIndicacion->column = 'indicacion_direccion_beneficiario';
 $campoIndicacion->columntype = 'VARCHAR(255)';
 $campoIndicacion->uitype = 24;
 $campoIndicacion->typeofdata = 'V~O';
 $bloqueDatosExtra->addField($campoIndicacion);
 // el nombre del campo como identificador de campo
 $modulo->setEntityIdentifier($campoIndicacion);

 /*
  * CAMPOS RELACIONADOS
  */

 // Relación con Cuentas
 $campoCampana= new Vtiger_Field();
 $campoCampana->name = 'campana_relacionada';
 $campoCampana->label = 'Campaña';
 $campoCampana->column = 'campana_relacionada';
 $campoCampana->columntype = 'VARCHAR(100)';
 $campoCampana->uitype = 10;
 $campoCampana->typeofdata = 'V~O';
 $campoCampana->helpinfo = 'Relación con una campaña existente';

 $bloqueDatosBasicos->addField($campoCampana);
 $campoCampana->setRelatedModules(Array('Campaigns'));

 //$modulo->setRelatedModules(Array('Accounts'));

 /**
  * Campo de asignación
  */
  $campoAsignado = new Vtiger_Field();
  $campoAsignado->name = 'id_usuario_asignado';
  $campoAsignado->label = 'Asignado a';
  $campoAsignado->table = 'vtiger_crmentity';
  $campoAsignado->column = 'smownerid';
  $campoAsignado->uitype = 53;
  $campoAsignado->typeofdata = 'V~O';
  $bloqueDatosExtra->addField($campoAsignado);

 /*
  * Filtros
  */

  $filtro1 = new Vtiger_Filter();
  $filtro1->name = 'Todo';
  $filtro1->isdefault = true;

  // Campos del filtro1
  $filtro1->addField($campoNombre);
  $filtro1->addField($campoCedula);
  //$filtro1->addField($campoApellido);
  $filtro1->addField($campoTelfijo);
  $filtro1->addField($campoTelMovil);
  $filtro1->addField($campoDireccion);
  $filtro1->addField($campoCiudad);
  $filtro1->addField($campoDepartamento);
  $modulo->addFilter($filtro1);
  // Cambiar vista del módulo a privada
  $modulo->setDefaultSharing('Private');

  /**
   * Listas relacionadas
   * Las listas se muestran en la pestaña 'mas información'
   */
   $moduloActividades = Vtiger_Module::getInstance('Activities');
   $etiquetaRelacion = 'Actividades';
   $modulo->setRelatedList($moduloCuentas, $etiquetaRelacion, Array('ADD',
'SELECT'));

   //$moduloActividades = Vtiger_Module::getInstance('Activities');
  /**
   * Herramientas de módulo
   * Habilita la importación, exportación
   * deshabilita la mezcla
   */
  $modulo->enableTools(Array('Import', 'Export'));
  $modulo->disableTools('Merge');


Thanks.

2012/8/22 Joe Bordes <joe at tsolucio.com>

>  Yes
>
>
>
> On 22/08/12 19:02, Juan Pablo Botero wrote:
>
> underlines are good?
>
> $campoNombre->column = 'nombre_beneficiario';
>
> 2012/8/22 Joe Bordes <joe at tsolucio.com>
>
>> Column and Fields cannot have capital letters
>>
>>
>>
>> On 22/08/12 17:08, Juan Pablo Botero wrote:
>> >  $campoNombre->column = 'nombreBeneficiario';
>>
>> _______________________________________________
>> http://www.vtiger.com/
>>
>
>
>
> --
> Cordialmente:
> Juan Pablo Botero
> Administrador de Sistemas informáticos
> Fedora Ambassador for Colombia
> http://www.jpilldev.net
>
>
>
> _______________________________________________http://www.vtiger.com/
>
>
>
> _______________________________________________
> http://www.vtiger.com/
>



-- 
Cordialmente:
Juan Pablo Botero
Administrador de Sistemas informáticos
Fedora Ambassador for Colombia
http://www.jpilldev.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.vtigercrm.com/pipermail/vtigercrm-developers/attachments/20120823/6ed9038e/attachment.html 


More information about the vtigercrm-developers mailing list