ei_formulario_ml
 
	
	
		
		
	   
      		
   			Un formulario multilínea (ei_formulario_ml) presenta una grilla de campos repetidos una cantidad dada de filas permitiendo recrear la carga de distintos registros con la misma estructura. 
 La definición y uso de la grilla de campos es similar al formulario simple con el agregado de lógica para manejar un número arbitrario de filas.
 Contiene una serie de ca campos se los denomina Elementos de Formulario (efs).
  See:
			 	
   				
Object
   |
   +--ei
         |
         +--ei_formulario
               |
               +--ei_formulario_ml
		
			Ubicada en ei_formulario_ml.js
		 
	
		 | 
		  
	 
 
	
		
		ef,  efs,  puede_submit,  debe_disparar_evento,  cascadas_maestros_preparados,  cascadas_preparar_esclavo,  get_valores_maestros,  cascadas_comunicar,  cascadas_respuesta,  evt__cascadas_inicio,  evt__cascadas_fin,  set_procesar_cambios,  set_ef_valido,  cambiar_expansion
		 
	 
		
		ini,  set_eventos_condicionados_por_datos,  set_evento,  set_evento_implicito,  reset_evento,  invocar_vinculo,  cuerpo,  raiz,  cambiar_colapsado,  colapsar,  descolapsar,  boton_colapsar,  ocultar,  mostrar,  desactivar_boton,  activar_boton,  ocultar_boton,  mostrar_boton,  get_boton,  exportar_pdf,  exportar_excel,  agregar_notificacion,  limpiar_notificaciones,  filtrado_ef_ce_comunicar,  filtrado_ef_ce_respuesta,  filtrado_ef_ce_validar,  filtrado_ef_ce_respuesta_validacion
		 
	 
	
	
		Métodos 
		
				
			
			
					| 
													 
											void
					 | 
					
						activar_boton_fila(fila, evento)
					 | 
					  |  
			
					| 
													 
											void
					 | 
					
						agregar_total(id_ef)
					 | 
					 Indica que un ef totalize los valores en todas sus filas colocandolo en la última fila |  
			
					| 
													 
											void
					 | 
					
						bajar_seleccionada()
					 | 
					 Toma la fila actualmente seleccionada y la intercambia en orden con la fila posterior en orden |  
			
					| 
													 
											Object
					 | 
					
						boton_agregar()
					 | 
					 Referencia al tag html del boton agregar |  
			
					| 
													 
											Object
					 | 
					
						boton_bajar()
					 | 
					 Referencia al tag html que contiene el boton de bajar la fila actual |  
			
					| 
													 
											Object
					 | 
					
						boton_deshacer()
					 | 
					 Referencia al tag html del boton deshacer |  
			
					| 
													 
											Object
					 | 
					
						boton_deshacer_cant()
					 | 
					 Referencia al tag html que contiene la cantidad de eliminaciones a deshacer |  
			
					| 
													 
											Object
					 | 
					
						boton_eliminar()
					 | 
					 Referencia al tag html del boton eliminar |  
			
					| 
													 
											Object
					 | 
					
						boton_subir()
					 | 
					 Referencia al tag html que contiene el boton de subir la fila actual |  
			
					| 
													 
											Object
					 | 
					
						cambiar_total(<string> id_ef, <string> total)
					 | 
					 Cambia el contenido de la fila destinada a contener el valor totalizado de un ef especifico |  
			
					| 
													 
											void
					 | 
					
						cascadas_cambio_maestro(<string> id_ef)
					 | 
					 Esquema de Cascadas: 
 Un ef indica que su valor cambio y por lo tanto sus esclavos deben refrescarse |  
			
					| 
													 
											Object
					 | 
					
						crear_fila()
					 | 
					 Agrega una nueva fila a la grilla. |  
			
					| 
													 
											void
					 | 
					
						desactivar_boton_fila(fila, evento)
					 | 
					  |  
			
					| 
													 
											void
					 | 
					
						deseleccionar_actual()
					 | 
					 Deselecciona cualquier seleccion anterior de fila |  
			
					| 
													 
											void
					 | 
					
						deshacer()
					 | 
					 Deshace la ultima eliminacion de fila |  
			
					| 
													 
											string
					 | 
					
						eliminar_fila(<string> fila)
					 | 
					 Elimina una fila y retorna la fila anterior en orden |  
			
					| 
													 
											void
					 | 
					
						eliminar_filas()
					 | 
					 Elimina una fila y retorna la fila anterior en orden |  
			
					| 
													 
											Object
					 | 
					
						eliminar_seleccionada()
					 | 
					 Elimina del formulario la fila actualmente seleccionada
 El HTML solo se oculta, no se elimina, con lo cual puede ser recuperado en su estado actual |  
			
					| 
													 
											Object
					 | 
					
						filas()
					 | 
					 Retorna las filas actuales del formulario
 Útil para hacer recorridos por todas las filas, por ejemplo
 
 var filas = this.filas()
 for (id_fila in filas) {
      this.ef('nombre').ir_a_fila(filas[id_fila]).set_estado('nuevo');
      this.seleccionar(filas[id_fila]);
 } |  
			
					| 
													 
											Object
					 | 
					
						get_datos()
					 | 
					 Retorna el estado actual del formulario en un Arreglo que contiene un Objeto asociativo id_ef=>valor (formato RecordSet) |  
			
					| 
													 
											Object
					 | 
					
						hay_cambios(fila_actual, ef_actual)
					 | 
					 Determina si algun ef de alguna fila cambio, o se agregar o quitaron filas
 Opcionalmente resalta o no un ef puntual |  
			
					| 
													 
											void
					 | 
					
						intercambiar_filas(<int> pos_a, <int> pos_b)
					 | 
					 Intercambia de posicion a dos filas dadas |  
			
					| 
													 
											void
					 | 
					
						mostrar_boton_fila(fila, evento)
					 | 
					  |  
			
					| 
													 
											void
					 | 
					
						mostrar_columna(columna, mostrar)
					 | 
					 Muestra u oculta una columna completa |  
			
					| 
													 
											void
					 | 
					
						ocultar_boton_fila(fila, evento)
					 | 
					  |  
			
					| 
													 
											void
					 | 
					
						post_eliminar_fila(fila)
					 | 
					 Ventana para colocar código luego de la eliminación de una fila seleccionada |  
			
					| 
													 
											void
					 | 
					
						refrescar_foco()
					 | 
					 Toma la fila seleccionada y le pone foco al primer ef que lo acepte |  
			
					| 
													 
											void
					 | 
					
						refrescar_todo()
					 | 
					 Refresca todos la grafica variable del formulario |  
			
					| 
													 
											void
					 | 
					
						resetear_errores()
					 | 
					 Limpia el componente de errores producidos anteriormente |  
			
					| 
													 
											void
					 | 
					
						seleccionar(fila)
					 | 
					 Marca una fila como seleccionada, cambiando su color de fondo
 Se puede atrapar el evento con evt__seleccionar_fila (fila),
 si dicha funcion devuelve FALSE no se selecciona la fila. |  
			
					| 
													 
											void
					 | 
					
						set_cabecera_visible_sin_datos(visible)
					 | 
					 Se muestra la cabecera/pie en caso de que no tenga datos el formulario |  
			
					| 
													 
											void
					 | 
					
						set_toggle(id_ef)
					 | 
					  |  
			
					| 
													 
											void
					 | 
					
						subir_seleccionada()
					 | 
					 Toma la fila actualmente seleccionada y la intercambia en orden con la fila anterior en orden |  
			
					| 
													 
											Object
					 | 
					
						submit()
					 | 
					 Inicia el proceso de submit, este proceso recorre todos los componentes
 validandolos y preparandolos para una comunicación con el servidor |  
			
					| 
													 
											void
					 | 
					
						toggle_checkbox(id_ef)
					 | 
					 Dado un id de un ef checkbox cambia el chequeo de todas las filas |  
			
					| 
													 
											Object
					 | 
					
						total(id_ef)
					 | 
					 Función de calculo de total por defecto, suma el valor de cada fila |  
			
					| 
													 
											Object
					 | 
					
						validar()
					 | 
					 Realiza la validación de este componente
 Para agregar validaciones particulares globales al formulario, definir el metodo evt__validar_datos. 
 Para validar efs especificos, definir el método evt__idef__validar |  
			
			 
			 			
		 
	 
 
	
	
 
	
			
						
			
			    
			    	
						
							 
							   ei_formulario_ml (id, instancia, rango_tabs, input_submit, filas, proximo_id, seleccionada, en_linea, maestros, esclavos, invalidos)
							 |  
						 
					 |  
				 
				
			 			
			
		   
		   
		   
		   			
							
		 			
		
		
		
   			
	   		 
				
				
		 
			
			
			
			    
			    	
						
							 
							   void activar_boton_fila (fila, evento)
							 |  
						 
					 |  
				 
				
			 
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			    
			    	
						
							 
							   void agregar_total (id_ef)
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Indica que un ef totalize los valores en todas sus filas colocandolo en la última fila 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			    
			    	
						
							 
							   void bajar_seleccionada ()
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Toma la fila actualmente seleccionada y la intercambia en orden con la fila posterior en orden 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			
				
	  				 Referencia al tag html del boton agregar 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			
				
	  				 Referencia al tag html que contiene el boton de bajar la fila actual 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			
				
	  				 Referencia al tag html del boton deshacer 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			    
			    	
						
							 
							   Object boton_deshacer_cant ()
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Referencia al tag html que contiene la cantidad de eliminaciones a deshacer 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			
				
	  				 Referencia al tag html del boton eliminar 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			
				
	  				 Referencia al tag html que contiene el boton de subir la fila actual 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			    
			    	
						
							 
							   Object cambiar_total (<string> id_ef, <string> total)
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Cambia el contenido de la fila destinada a contener el valor totalizado de un ef especifico 
				
						
			
		   
		   
			Parámetros:		   
			 
				
				
					| 
						id_ef
					 | 
					 
						 Id. del ef o columna a variar  
					 | 
				 
				
				
					| 
						total
					 | 
					 
						 Nuevo total  
					 | 
				 
				
			 		   
		   
		   
		   			
						
   			
		   
		   
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			    
			    	
						
							 
							   void cascadas_cambio_maestro (<string> id_ef)
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Esquema de Cascadas: 
 Un ef indica que su valor cambio y por lo tanto sus esclavos deben refrescarse 
				
						
			
		   
		   
			Parámetros:		   
			 
				
				
					| 
						id_ef
					 | 
					 
						 Identificador del ef maestro que sufrio una modificación 	   
					 | 
				 
				
			 		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			
				
	  				 Agrega una nueva fila a la grilla.
 Dependiendo de la definición del componente en el editor, este método crea la fila directamente en javascript o
 lo hace a través de un evento 'pedido_registro_nuevo' en el servidor 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			    
			    	
						
							 
							   void desactivar_boton_fila (fila, evento)
							 |  
						 
					 |  
				 
				
			 
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			    
			    	
						
							 
							   void deseleccionar_actual ()
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Deselecciona cualquier seleccion anterior de fila 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			
				
	  				 Deshace la ultima eliminacion de fila 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			    
			    	
						
							 
							   string eliminar_fila (<string> fila)
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Elimina una fila y retorna la fila anterior en orden 
				
						
			
		   
		   
			Parámetros:		   
			 
				
				
					| 
						fila
					 | 
					 
						 Id. de la fila a eliminar  
					 | 
				 
				
			 		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			
				
	  				 Elimina una fila y retorna la fila anterior en orden 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			    
			    	
						
							 
							   Object eliminar_seleccionada ()
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Elimina del formulario la fila actualmente seleccionada
 El HTML solo se oculta, no se elimina, con lo cual puede ser recuperado en su estado actual 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			
				
	  				 Retorna las filas actuales del formulario
 Útil para hacer recorridos por todas las filas, por ejemplo
  
 var filas = this.filas()
 for (id_fila in filas) {
      this.ef('nombre').ir_a_fila(filas[id_fila]).set_estado('nuevo');
      this.seleccionar(filas[id_fila]);
 }
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			
				
	  				 Retorna el estado actual del formulario en un Arreglo que contiene un Objeto asociativo id_ef=>valor (formato RecordSet) 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			    
			    	
						
							 
							   Object hay_cambios (fila_actual, ef_actual)
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Determina si algun ef de alguna fila cambio, o se agregar o quitaron filas
 Opcionalmente resalta o no un ef puntual 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			    
			    	
						
							 
							   void intercambiar_filas (<int> pos_a, <int> pos_b)
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Intercambia de posicion a dos filas dadas 
				
						
			
		   
		   
			Parámetros:		   
			 
				
				
					| 
						pos_a
					 | 
					 
						 Posicion que ocupa la primer fila  
					 | 
				 
				
				
					| 
						pos_b
					 | 
					 
						 Posicion que ocupa la segunda fila 	   
					 | 
				 
				
			 		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			    
			    	
						
							 
							   void mostrar_boton_fila (fila, evento)
							 |  
						 
					 |  
				 
				
			 
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			    
			    	
						
							 
							   void mostrar_columna (columna, mostrar)
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Muestra u oculta una columna completa 
				
						
			
		   
		   
			Parámetros:		   
			 
				
				
					| 
						id_ef
					 | 
					 
						 Id. del ef o columna a variar  
					 | 
				 
				
				
					| 
						total
					 | 
					 
						 Nuevo total  
					 | 
				 
				
			 		   
		   
		   
		   			
						
   			
		   
		   
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			    
			    	
						
							 
							   void ocultar_boton_fila (fila, evento)
							 |  
						 
					 |  
				 
				
			 
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			    
			    	
						
							 
							   void post_eliminar_fila (fila)
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Ventana para colocar código luego de la eliminación de una fila seleccionada 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			
				
	  				 Toma la fila seleccionada y le pone foco al primer ef que lo acepte 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			
				
	  				 Refresca todos la grafica variable del formulario 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			
				
	  				 Limpia el componente de errores producidos anteriormente 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			
				
	  				 Marca una fila como seleccionada, cambiando su color de fondo
 Se puede atrapar el evento con evt__seleccionar_fila (fila),
 si dicha funcion devuelve FALSE no se selecciona la fila. 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			    
			    	
						
							 
							   void set_cabecera_visible_sin_datos (visible)
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Se muestra la cabecera/pie en caso de que no tenga datos el formulario 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
		
   			
	   		 
				
				
		 
			
			
			
			    
			    	
						
							 
							   void subir_seleccionada ()
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Toma la fila actualmente seleccionada y la intercambia en orden con la fila anterior en orden 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			
				
	  				 Inicia el proceso de submit, este proceso recorre todos los componentes
 validandolos y preparandolos para una comunicación con el servidor 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			    
			    	
						
							 
							   void toggle_checkbox (id_ef)
							 |  
						 
					 |  
				 
				
			 
			
				
	  				 Dado un id de un ef checkbox cambia el chequeo de todas las filas 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
			 
		 
			
			
			
			
				
	  				 Función de calculo de total por defecto, suma el valor de cada fila 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
   			
	   		 
				
				
		 
			
			
			
			
				
	  				 Realiza la validación de este componente
 Para agregar validaciones particulares globales al formulario, definir el metodo evt__validar_datos. 
 Para validar efs especificos, definir el método evt__idef__validar 
				
						
			
		   
		   
		   
		   			
						
   			
		   
		   
		   
		 
		
	 
 
 
 
	
 
	Desarrollado por  SIU.
	         
	Documentación generada con  JSDoc
 
       |   
     |