== Descripción ==
BTN de copia del registro señalado en el [[FORM:CopiaComposicion]] sobre otro producto, existente o no. Hace un call al [[PROC:DuplicaProductoCompo]]

== Composición ==
== Codigo ==
<small><pre>
function CopiaComposicion( oEvent ) as boolean
Dim SQLStatement As Object
Dim strSQLSearch As String
Dim oConnection As Object
Dim oForm As Object
Dim oMensaje As String
Dim vProductoIDOrg As String
Dim vProductoIDDst As String
Dim vProductoDSCDst As String

	'oForm			= ThisComponent.Drawpage.Forms.getByName("FormConsulta")
	oForm			= oEvent.Source.Model.Parent
	oSubForm		= oForm.getByName("DetalleProductoOriginal")
	oSubFormGrid	= oSubForm.getByName("DetalleProductoOriginalGrid")
	vProductoIDOrg	= oSubFormGrid.getByName("ProductoID").String
	vProductoIDDst 	= oForm.getByName("fProductoID").text
	vProductoDSCDst = oForm.getByName("fProductoDSC").text

	if len(vProductoIDOrg) < 1 Then
		MsgBox("Producto Origen no válido", 0, "Error")
		CopiaComposicion = False
	else
		if len(vProductoIDDst) < 1 Then
			MsgBox("Producto Destino no válido", 0, "Error")
			CopiaComposicion = False		
		else
			if len(vProductoDSCDst) < 1 Then
				MsgBox("Descripción Destino no válida", 0, "Error")
				CopiaComposicion = False
			else
				CopiaComposicion= False
				oCondicion		= "ProductoID=" & chr(39) & vProductoIDDst & chr(39)
				if QuerySimple("Count(*)","HayProductos","productos",oCondicion,"Integer") > 0 Then
					'Existe un producto con ese código
					oMensaje	= "Existe un producto con el codigo de destino especificado. Si desea Si continua, se eliminarán todos los datos del "
					oMensaje	= oMensaje & " producto anteriormente ingresado. ¿Desea continuar?"
					if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,"Atención") = IDYES Then
						CopiaComposicion= True	
					endif
				else
					CopiaComposicion= True
				end if
				if CopiaComposicion Then
					oMensaje = "¿Está seguro de copiar la composicion de " & vProductoIDOrg & " a " & vProductoIDDst & "?"
				   	if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,"Atención") = IDYES Then
			       		oConnection = oEvent.Source.Model.getParent().ActiveConnection
			    		SQLStatement = oConnection.preparestatement("CALL DuplicaProductoCompo(?,?,?)")
			    		SQLStatement.setstring(1,vProductoIDOrg)
			    		SQLStatement.setstring(2,vProductoIDDst)
			    		SQLStatement.setstring(3,vProductoDSCDst)	    			
			    		SQLStatement.execute()
						SQLStatement.close()
						msgBox("Verifique los valores Base del nuevo Producto-Composición", 0, "Mensaje")
			    		oForm.getByName("fProductoID").reset()
						oForm.getByName("fProductoDSC").reset()
					else
						CopiaComposicion= False
				  	end if
				end if
			end if
		end if
	end if
end function
</pre></small>
== Bitácora ==
*20120904
** Incorporación de preguntas para determinar si copia a pesar de existir previamente otro producto con ese código.
== Uso ==
[[FORM:CopiaComposicion]]