[[Category:MACRO]]
== Descripción ==
Ejecuta la llamada al [[PROC:ActualizaPreciosPresupuesto]] con los parámetros del Presupuesto indicado.

== Biblioteca ==
== Composición ==
*[[PROC:ActualizaPreciosPresupuesto]]
*[[FORM:Presupuesto]]

== Código ==
<small><pre>
Sub BotonActualizarPresupuesto (oEvent as Object)

Dim oMensaje 		as String
Dim oForm 			as Object
Dim strSQLSearch	as String
Dim SQLStatement	as Object
Dim oEstado			as Boolean
Dim oVidQuoteID		as Integer
Dim oVidQuoteLPre	as Integer
Dim oVidQuoteCoefCL	as Double
Dim oVidQuoteCoefAC	as Double

   	oForm		= ThisComponent.Drawpage.Forms.getByName("Cabecera")
   	if oForm.IsNew Then
		MsgBox("No es posible ejecutar esta operacion",MB_OK+MB_ICONEXCLAMATION,"¡Atencion!")
	else
		if oForm.getByName("txtVidQuoteEstado").CurrentValue = 0 Then
			oMensaje	= "¿Está seguro de Actualizar este Presupuesto con los precios vigentes?"
			if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION, "!Atención!" ) = IDYES Then
			
        		oVidQuoteID		= oForm.getByName("fmtVidQuoteID").CurrentValue
				oVidQuoteLPre	= oForm.getByName("DataCliente").getByName("fmtListaPrecio").CurrentValue
				oVidQuoteCoefCL	= oForm.getByName("DataCliente").getByName("fmtCoeficienteAC").CurrentValue
				oVidQuoteCoefAC	= oForm.getByName("DataAgente").getByName("fmtCoeficienteAC").CurrentValue
					
				oConnection = oForm.ActiveConnection
				SQLStatement = oConnection.createStatement()
				SQLStatement = oConnection.preparestatement("CALL ActualizaPreciosPresupuesto (?,?,?)")
				SQLStatement.setInt(1,oVidQuoteID)
				SQLStatement.setInt(2,oVidQuoteLPre)
				SQLStatement.setDouble(3,oVidQuoteCoefCL * oVidQuoteCoefAC)
				'SQLStatement.execute()
				oForm.getByName("Productos").reload()
				oForm.getByName("Productos").getByName("ComponentesDisplay").reload()
			end if
		else
			oMensaje	= "Este Presupuesto se encuentra en estado Aprobado"
			MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION, "!Atención!" )
	    end if       	
   	endif
End Sub
</pre></small>

== Bitácora ==
*20120920
**Cambio debido al nuevo [[PROC:ActualizaPreciosPresupuesto]]
<small><pre>
Sub BotonActualizarPresupuesto (oEvent as Object)

Dim oMensaje 		as String
Dim oForm 		as Object
Dim oSubForm 		as Object
Dim strSQLSearch	as String
Dim SQLStatement	as Object
Dim oVidQuoteID		as String

   	oForm	= ThisComponent.Drawpage.Forms.getByName("Cabecera")
   	oSubForm= oForm.getByName("CabeceraAmpliada").getByName("DetallePresupuesto")
   	if oForm.IsNew Then
		MsgBox("No es posible ejecutar esta operacion",1,"¡Atencion!")
	else
		select case msgBox( "¿Está seguro de Actualizar este Presupuesto con los precios actuales?", 1, "!Atención!" )
	        case 1 : 
        		oVidQuoteID		= oForm.getByName("fmtVidQuoteID").CurrentValue
				''strSQLSearch = ""
				''strSQLSearch = strSQLSearch & "UPDATE vidquoten3 AS T3 SET "
				''strSQLSearch = strSQLSearch & "T3.VidQuotePrecio = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,T3.VidQuoteAncho,T3.VidQuoteAlto,T3.VidQuoteLPre),"
				''strSQLSearch = strSQLSearch & "T3.VidQuotePrecioP = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,T3.VidQuoteAncho,T3.VidQuoteAlto,T3.VidQuoteLPre) * VidQuoteProdCantidad"
				''strSQLSearch = strSQLSearch & " WHERE "
				''strSQLSearch = strSQLSearch & "VidQuoteID=" & CStr(Int(oVidQuoteID))
				''oConnection = oEvent.Source.Model.Parent.ActiveConnection		'Event from Button
				''SQLStatement = oConnection.createStatement()
				''SQLStatement.executeUpdate(strSQLSearch)
				''SQLStatement.close()
				oConnection = oForm.ActiveConnection
				SQLStatement = oConnection.createStatement()
				SQLStatement = oConnection.preparestatement("CALL ActualizaPreciosPresupuesto (?)")
				SQLStatement.setint(1,oVidQuoteID)
				SQLStatement.execute()
				oSubForm.reload()
        	case 2 : False
	    end select        	
   	endif
End Sub
</pre></small>
== Uso ==