[[Category:MACRO]]
== Descripción ==
Chequea los campos de dimensiones dentro del [[FORM:Presupuesto]]
== Biblioteca ==
[[LIBR:SpanexB]]
== Composición ==
== Código ==
<small><pre>
function CheckValidMeasure (Optional oEvent as Object)

	'Test(oEvent)
	CheckValidMeasure		= True
	oController				= ThisComponent.CurrentController
	if IsMissing(oEvent) Then
		oFormCabecera		= ThisComponent.DrawPage.Forms(0)
		oFormProductos		= oFormCabecera.getByName("Productos")
		oFormProductosGrid	= oFormProductos.getByName("ProductosGrid")
		oCampoAncho			= oFormProductosGrid.getByName("fmtVidQuoteAncho")
		oCampoAlto			= oFormProductosGrid.getByName("fmtVidQuoteAlto")
		oCampoName			= "CheckValidMeasure"
		oMagnitud			= oFormProductosGrid.getByName("txtVidQuoteMagnitud").CurrentValue
	else
		oEvento				= oEvent
		oCampo				= oEvento.Source.Model
		oCampoName			= oEvento.Source.Model.Name
		oFormProductosGrid	= oEvento.Source.Model.Parent
		oMagnitud			= oFormProductosGrid.getByName("txtVidQuoteMagnitud").CurrentValue	
	end if

	'MsgBox "Test"
	select case oCampoName
		case "fmtVidQuoteAncho"
			select case oMagnitud
				case "M2","MG","PR","AN","ML"
					if oCampo.CurrentValue < 25 Then
						oMensaje	= "La magnitud definida del producto requiere completar este campo con valores válidos"
						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,"¡Error!")
						oGridView	= oController.GetControl(oFormProductosGrid)
						oCampoView	= oGridView.getByIndex(3)
						oGridView.setFocus()
						oGridView.setCurrentColumnPosition(3)
						CheckValidMeasure		= False
						'Test(oGridView)
					end if
				case "UN"
			end select
		case "fmtVidQuoteAlto"
			select case oMagnitud
				case "M2","MG","PR","AL"
					if oCampo.CurrentValue < 25 Then
						oMensaje	= "La magnitud definida del producto requiere completar este campo con valores válidos"
						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,"¡Error!")
						oGridView	= oController.GetControl(oFormProductosGrid)
						oCampoView	= oGridView.getByIndex(4)
						oGridView.setFocus()
						oGridView.setCurrentColumnPosition(4)
						CheckValidMeasure		= False
						'Test(oGridView)
					end if
				case "ML","AN","UN"
			end select
		case "CheckValidMeasure"
			oCampo	= oCampoAncho
			select case oMagnitud
				case "M2","MG","PR","AN","ML"
					if oCampo.CurrentValue < 25 Then
						oMensaje	= "La magnitud definida del producto requiere completar este campo (Ancho/Lrg) con valores válidos"
						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,"¡Error!")
						oGridView	= oController.GetControl(oFormProductosGrid)
						oCampoView	= oGridView.getByIndex(4)
						oGridView.setFocus()
						CheckValidMeasure		= False
					end if
				case "UN"
			end select
			if CheckValidMeasure Then
				oCampo	= oCampoAlto
				select case oMagnitud
					case "M2","MG","PR","AL"
						if oCampo.CurrentValue < 25 Then
							oMensaje	= "La magnitud definida del producto requiere completar este campo (Alto) con valores válidos"
							MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,"¡Error!")
							oGridView	= oController.GetControl(oFormProductosGrid)
							oCampoView	= oGridView.getByIndex(4)
							oGridView.setFocus()
							CheckValidMeasure		= False
						end if
					case "ML","AN","UN"
				end select
			end if
	end select
end function
</pre></small>

== Bitácora ==
*20121203
**Cambio de Valores tope: de 100 a 25 (10cm a 25cm)
<small><pre>
oCampo.CurrentValue < 100
</pre></small>
*20121115
**Alta:
<small><pre>
function CheckValidMeasure (Optional oEvent as Object)

	'Test(oEvent)
	CheckValidMeasure		= True
	oController				= ThisComponent.CurrentController
	if IsMissing(oEvent) Then
		oFormCabecera		= ThisComponent.DrawPage.Forms(0)
		oFormProductos		= oFormCabecera.getByName("Productos")
		oFormProductosGrid	= oFormProductos.getByName("ProductosGrid")
		oCampoAncho			= oFormProductosGrid.getByName("fmtVidQuoteAncho")
		oCampoAlto			= oFormProductosGrid.getByName("fmtVidQuoteAlto")
		oCampoName			= "CheckValidMeasure"
		oMagnitud			= oFormProductosGrid.getByName("txtVidQuoteMagnitud").CurrentValue
	else
		oEvento				= oEvent
		oCampo				= oEvento.Source.Model
		oCampoName			= oEvento.Source.Model.Name
		oFormProductosGrid	= oEvento.Source.Model.Parent
		oMagnitud			= oFormProductosGrid.getByName("txtVidQuoteMagnitud").CurrentValue	
	end if

	'MsgBox "Test"
	select case oCampoName
		case "fmtVidQuoteAncho"
			select case oMagnitud
				case "M2","MG","PR","AN","ML"
					if oCampo.CurrentValue < 100 Then
						oMensaje	= "La magnitud definida del producto requiere completar este campo"
						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,"¡Error!")
						oGridView	= oController.GetControl(oFormProductosGrid)
						oCampoView	= oGridView.getByIndex(3)
						oGridView.setFocus()
						oGridView.setCurrentColumnPosition(3)
						CheckValidMeasure		= False
						'Test(oGridView)
					end if
				case "UN"
			end select
		case "fmtVidQuoteAlto"
			select case oMagnitud
				case "M2","MG","PR","AL"
					if oCampo.CurrentValue < 100 Then
						oMensaje	= "La magnitud definida del producto requiere completar este campo"
						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,"¡Error!")
						oGridView	= oController.GetControl(oFormProductosGrid)
						oCampoView	= oGridView.getByIndex(4)
						oGridView.setFocus()
						oGridView.setCurrentColumnPosition(4)
						CheckValidMeasure		= False
						'Test(oGridView)
					end if
				case "ML","AN","UN"
			end select
		case "CheckValidMeasure"
			oCampo	= oCampoAncho
			select case oMagnitud
				case "M2","MG","PR","AN","ML"
					if oCampo.CurrentValue < 100 Then
						oMensaje	= "La magnitud definida del producto requiere completar este campo (Ancho/Lrg)"
						MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,"¡Error!")
						oGridView	= oController.GetControl(oFormProductosGrid)
						oCampoView	= oGridView.getByIndex(4)
						oGridView.setFocus()
						CheckValidMeasure		= False
					end if
				case "UN"
			end select
			if CheckValidMeasure Then
				oCampo	= oCampoAlto
				select case oMagnitud
					case "M2","MG","PR","AL"
						if oCampo.CurrentValue < 100 Then
							oMensaje	= "La magnitud definida del producto requiere completar este campo (Alto)"
							MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,"¡Error!")
							oGridView	= oController.GetControl(oFormProductosGrid)
							oCampoView	= oGridView.getByIndex(4)
							oGridView.setFocus()
							CheckValidMeasure		= False
						end if
					case "ML","AN","UN"
				end select
			end if
	end select
end function
</pre></small>

== Uso ==