Skip to Content
avatar image
Former Member

Cancelar un documento por SDK

Buen dia
Se esta intentando cancelar una solicitud de compra por medio de SDK, despues de darle buscar ingresar los parametros y dar click en el boton buscar se necesita cancelar el documento pero al intentar hacerlo sale error, utilice el codigo=

SBO_Application.ActivateMenuItem("39724") 'Activa Solicitud de compra Dim oForm As SAPbouiCOM.Form = SBO_Application.Forms.ActiveForm SBO_Application.ActivateMenuItem("1281") 'Activa Buscar oItem = oForm.Items.Item("88") 'Campo de serie de numeración oCombob = oItem.Specific oCombob.Select("62", SAPbouiCOM.BoSearchKey.psk_ByValue) 'Ingresa el valor de la serie oItem = oForm.Items.Item("8") 'Campo numero de documento oText = oItem.Specific oText.String = "1" 'Ingresa el valor de numero de documento oItem = oForm.Items.Item("540002106") 'Campo fecha creacion, necesario por busqueda formateada oText = oItem.Specific oText.String = "27/12/2017" 'ingresa el valor del campo segun el numero de documento oForm.Items.Item("1").Click(SAPbouiCOM.BoCellClickType.ct_Regular) 'Click al boton buscar

SBO_Application.ActivateMenuItem("1286") 'Activa Cerrar

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Best Answer
    Apr 05 at 05:31 AM

    Hola Marlon,

    Para buscar y cancelar un documento, debe usar la DI API, es mucho más fácil, más preciso y permite una reutilización de código más sencilla si alguna vez desea aplicar la lógica a otros tipos de documentos.

    Sin saber cuál es el error, es difícil saber qué ocurre con este código. Una conjetura descabellada sería que el documento que está intentando cancelar se ha copiado al menos parcialmente en un documento de destino.

    Saludos,

    Johan

    Add comment
    10|10000 characters needed characters exceeded

    • Hola Marlon,

      Consulte la documentación del SDK para obtener más detalles y ejemplos, pero deberá usar el método oDocument.GetByKey(DocEntry) para ver si el documento existe y luego acceder a él.

      Si ese método devuelve verdadero, puede usar el método oDocument.Close() para cerrar el documento. Opcionalmente, podría agregar un comentario con la propiedad oDocument.Comments. Tendrá que encontrar el DocEntry del documento que desea cerrar, utilizando una consulta. Puede usar un objeto DataReader (.net) o puede usar el objeto RecordSet de la DI API.

      Saludos,

      Johan