cancel
Showing results for 
Search instead for 
Did you mean: 

Enviar u obtener un Dato de un TextBox desde un Formulario Activo a otro por Activarse UI API (SDK)

former_member183397
Participant
0 Kudos

Hola, me estoy iniciando en la programación mediante el SDK y .Net, mi duda es la siguiente:

He Creado un proyecto (SAP B1 Add-On Project) con 2 formularios, en el primero hay un Textbox y un Buttton que al presionar llama el segundo formulario que contiene un TextBox , quisiera saber como hago para enviar el Valor ingresado en el Textbox del primer formulario al Textbox del segundo en el evento  Button1_ClickAfter del Button (O cualquier otro). También que método uso para luego al modificar el contenido del TextBox del segundo formulario, enviarlo al primero al cerrar dicho Form.

Se que es algo básico (En términos de C# o VB.net), pero no consigo la manera de hacer mediante los métodos o propiedades de la UI API.


He llamado al segundo Formulario desde el Button del primero de la siguiente forma:

Private Sub Button1_ClickAfter(sboObject As Object, pVal As SAPbouiCOM.SBOItemEventArg) Handles Button1.ClickAfter

            Dim activeForm2 As Form2

            activeForm2 = New Form2

            activeForm2.Show()

End Sub


Espero puedan darme alguna luz sobre el asunto.


Saludo y muchas gracias.


Gabriel Gonzalez.



Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenas tardes

Replique tu scenario y me funciono de la siguiente manera (usando C#)

codigo boton form1

    private void Button0_ClickBefore(object sboObject, SAPbouiCOM.SBOItemEventArg pVal, out bool BubbleEvent)
    {
        BubbleEvent = true;
        Form2 formp2 = new Form2();

        SAPbouiCOM.UserDataSource oUDS = formp2.UIAPIRawForm.DataSources.UserDataSources.Item("UD_0");
        oUDS.ValueEx = this.UIAPIRawForm.UniqueID;
        formp2.Show();

        }

codigo boton form2

    private void Button0_ClickBefore(object sboObject, SAPbouiCOM.SBOItemEventArg pVal, out bool BubbleEvent)
    {
        BubbleEvent = true;

        SAPbouiCOM.UserDataSource oUDS = this.UIAPIRawForm.DataSources.UserDataSources.Item("UD_0");
        string _x = oUDS.ValueEx;

        SAPbouiCOM.Form oForm = Application.SBO_Application.Forms.Item(_x);

       

        SAPbouiCOM.EditText txt = (SAPbouiCOM.EditText)oForm.Items.Item("Item_1").Specific;

        txt.Value = EditText0.Value.ToString();    

    }

Saludos

former_member183397
Participant
0 Kudos

Muchas Gracias Felipe, con estos pude comprender muchas cosas sobre el enfoque y funcionamiento de la UI API.

Con tu precisa respuesta, ademas de otras tomadas del foro en ingles, resolví de la siguiente manera (VB .Net):

En este caso estoy enviando el contenido de un Textbox del Form1 a otro Texbox en el Form2 mediante la pulsación de un botón en el Form1

Private Sub Button0_ClickAfter(sboObject As System.Object, pVal As SAPbouiCOM.SBOItemEventArg) Handles Button0.ClickAfter

          

            Dim oTextCodigo As SAPbouiCOM.EditText

            Dim sCodigoP As String

            oForm = Application.SBO_Application.Forms.Item(pVal.FormUID)

            oTextCodigo = oForm.Items.Item("Item_0").Specific                         ' Valor Form1 TextBox

            sCodigoP = oTextCodigo.Value.Trim()

            Dim oUDS As SAPbouiCOM.IUserDataSource

            Dim oTextCodigo2 As SAPbouiCOM.EditText

            Dim activeForm As NewForm_3_b1f

            activeForm = New NewForm_3_b1f

            oForm = Application.SBO_Application.Forms.Item(activeForm.UIAPIRawForm.UniqueID)    '

            oTextCodigo2 = oForm.Items.Item("Item_0").Specific

            oTextCodigo2.Value = sCodigoP                                      'Asignar Valor a TextBox Form2

            activeForm.Show()

End Sub

Answers (0)