Streamlining the complexity of a project


When we have a project in which it is necessary to fill a large amount of data, we have to try, by all possible means, to streamline the entering of them.

When we have 500 fields (for instance), besides a SIGNATURE, PICTURE, collecting and delivering addresses, etc… the project may be quite bothersome since the mobility screen is a very limited space.
In a complex project about vehicles appraisal that we had, in which it is necessary to enter data from the different vehicle damages, taking pictures, taking note about the vehicle extras, if it is customized, the lights of the instruments pannel…etc, we make the choice to split into different collections and not having a single enormous collection.

The relation among tables is 1 to 1, so that we have a “main” table of incidences (which each record would be quite big) and other auxiliary tables with fields that “should” be at the main table but we have distributed by other tables to simplify the management.


Below, there is a screenshot about one of the application tabs, in which we can see how we call to the different “auxiliary” collections, in this case through buttons:



<!--  ************************************************************************************
	- Buscaremos en las colecciones "auxiliares" si dicho registro ya existe, preguntando 
	  por el IDINCIDENCIA y en caso de no existir el registro, se crea.
 *****************************************************************************************  -->
 
<tunning>
	<action name="runscript">
		<script language="VBScript">
 
			st_incidencia=Cstr(This("IDINCIDENCIA"))
			Set CollTun=appdata.GetCollection("Tunning")
 
			' Buscamos si ya lo habíamos creado anteriormente
			Set ObjTun=CollTun("IDINCIDENCIA",st_incidencia)
 
			if ObjTun is nothing then
				' Si no existe, lo creamos
				Set ObjTun=CollTun.CreateObject
				CollTun.AddItem Empty,ObjTun
				' Le asignamos el IDINCIDENCIA
				ObjTun("IDINCIDENCIA")=st_incidencia
			end if
 
			' Lanzamos el objeto en edición
			AppData.PushValue ObjTun		
 
		</script>
	</action>
</tunning>



  1. We reduce the necessary screen space to fulfill data.
  2. Each “independent” collection has its own validations, by reducing the global complexity of the project.
  3. If, for instance, a vehicle to survey is “standard” the tunning part is not even filled up.