Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
No se muestran los datos después de importación en custom fields
#1
He creado 65 nuevos campos personalizados en el Módulo Contactos, mediante un script según vtlib 5.2.

Tras la importación de los registros mediante un fichero CSV (no se genera ningún tipo de error y se confirma correctamente el número de registros importados), sólo se muestran los datos mapeados con los campos estándar del crm (ejemplo: Nombre, Apellidos, Teléfono, etc etc). Los campos personalizados aparecen vacíos.

En cambio, se muestran correctamente los datos después de la importación, si creo previamente dichos campos personalizados directamente desde el Editor.

Si en un registro ya creado, lo edito para rellenar cualquiera de los campos personalizados que fueron creados mediante el script, muestra correctamente el dato insertado.

Adjunto detalle (por ejemplo de un par de campos) del script de creación:

...
$Vtiger_Utils_Log = true;

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

$module = Vtiger_Module::getInstance('Contacts');

//*************************************** Bloque: Datos Personales *******************************************
$bloque = 4; // Bloque Datos Personales (blockid) = 4
$block = Vtiger_Block::getInstance($bloque, $module);

// CAMPO: DNI
// ========
$field3 = new Vtiger_Field();
$field3->name = 'DNI';
$field3->label = 'DNI';
$field3->table = 'vtiger_contactscf';
$field3->column = 'dni';
$field3->columntype = 'VARCHAR(9)';
$field3->uitype = 1;
$field3->typeofdata = 'V~O~LE~9';
$block->addField($field3);

//********************************************** Bloque: Historial 1 ******************************************
$block2 = new Vtiger_Block();
$block2->label = 'LBL_CUSTOM_HISTORIAL1';
$block2->sequence = 3;
$module->addBlock($block2);

// CAMPO: Epilepsia o convulsiones
// ====================
$field7 = new Vtiger_Field();
$field7->name = 'Epilepsia';
$field7->label = 'Epilepsia';
$field7->table = 'vtiger_contactscf';
$field7->column = 'epilepsia';
$field7->columntype = 'TINYINT(3)';
$field7->uitype = 56; // A checkbox which takes input in the form of yes or no.
$field7->typeofdata = 'C~O';
$block2->addField($field7);
...

No encuentro el error. Agradecería cualquier sugerencia o información al respecto.

Muchas gracias. Saludos.
Reply
#2
Code:
$field->name

y

Code:
$field->column

han de ser SIEMPRE en minúsculas.

Prueba con ese cambio y nos cuentas.

De todos modos otra advertencia: cuidado con la cantidad de campos, mysql tiene un límite máximo de 64Kb en el tamaño total de cada tabla.
Joe
TSolucio
Reply
#3
Sí, señor...toda la razón del mundo.!!!

He realizado el ajuste como indicas y la importación ha funcionado perfectamente (en mi caso tenía que poner en minúsculas los fieldname). Los datos se guardan y se muestran correctamente.

Muy bien por la advertencia (lo desconocía...). Después de crear los nuevos campos con el script, la tabla vtiger_contactscf se encuentra en 16KB.

Solucionado. Muchas gracias.!!!
Reply
#4
Un placer :-)

Buen fin de semana
Joe
TSolucio
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)