[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