error al enviar datos ml con combos editable clave compuesta

Hola!
estoy usando toba 2.7. Tengo formulario ML que esta compuesto por 3 combos editables que se cargan en cascada. el ultimo combo tiene clave compuesta. cargan todos bien (ajax). pero al momento de enviar datos (boton modificar) me sale el siguiente error: “Ha intentado cargara el combo “id_subitem” con un array que posee un formato inadecuado se esperaban 2 claves, pero se utilizaron: 1”

este es el último combo. en datos manejados tengo: “id_subitem, id_version_planilla_de_fosa” en Columna clave de la carga: “id_subitem, id_version_planilla_de_fosa” o sea igual. en la consulta que carga el combo estan esos dos campos (bien escritos) y otro campo nombre que es la descripción.

no entiendo por que sale ese error. veo que el toba en el archivo toba_ef_combo_editable.php en la linea 155 tiene la función set_estado donde hace una comprobación si es clave compuesta y se pregunta lo siguiente:


$cant_datos = count($this->dato);
if (count($estado) <> $cant_datos) {
				throw new toba_error_def("Ha intentado cargara el combo '{$this->id}' con un array que posee un formato inadecuado " .
							" se esperaban {$cant_datos} claves, pero se utilizaron: ". count($estado) . ".");
			}

pero $estado es un string que contiene los dos campos de la clave compuesta de la siguiente forma “nro1||nro2” por lo tanto nunca va a salir bien esa comprobación. ya que $this->dato es un array que tiene dos componentes.

estoy haciendo algo mal? no me estoy dando cuenta de algo? o es un bug?

PD entiendo que estoy en la ultima versión de la rama 2.7 del toba. ya que hice un svn up

desde ya muchas gracias

Evaldo Meinl - FIO - UNaM

Hola Elvio,

por lo que veo del código, no pareciera que en algún momento desde su creación se lo hubiera considerado para tener una clave múltiple, habría que ver mejor el tema de las cascadas y si se puede llevar a ese esquema para que funcione como el combo comun. Por el momento, te diria que ha sido una decisión de diseño.

Saludos