Muy Buenas Tardes comunidad. Tengo el siguiente problema. Estoy aprendiendo a utilizar SDK Di API, y estoy realizando a través de una planilla excel la modificación del empleado del departamento de ventas (slpcode). He utilizado código que encontré en la comunidad, lo fui adaptando pero no entiendo el error, les agradecería su ayuda, al llegar a esta instrucción ' BP.SlpCode = vendedor', me arroja e error 438 el objeto no admite esta propiedad. Este es el código.
Muchas gracias por su ayuda.
Dim BP As SAPbobsCOM.BusinessPartners
Set BP = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners)
Dim FilaDatos As Integer
FilaDatos = 1
Dim iFactSNPos As Integer
Do While [detCardCode].Cells(FilaDatos, 1) <> ""
' DATOS DETALLE
rut = [detCardCode].Cells(FilaDatos, 1)
If (BP.GetByKey(rut) = True) Then
vendedor = Application.VLookup([detSlpCode].Cells(FilaDatos, 1) _
, [tblVendedores], 1, False)
BP.SlpCode = vendedor
' Modifica
BP.Update
End If
'Contador de filas
FilaDatos = FilaDatos + 1
Loop
El SlpCode es un campo tipo “int”, es un código de la tabla OSLP. Tu error puede ser o por que el tipo de dato es incorrecto (que no veo definición), o por que la referencia a la tabla OSLP te da un error de constraint.
Hola Willy, estoy modificando el ‘slpcode’ de la tabla OCRD ‘Socio de Negocios’, que si bien dices es de tipo entero y no está la definición igual arroja el mismo error al hacer la asignación en forma directa
Hola Oscar, me parece extraño lo que me dices porque con la herramienta ‘Data Transfer Workbench’ si se puede modificar el Sales Person Code (SlpCode) de la OCRD, de la Tabla Business Partner. Como este es un campo que puede, o no contener datos, y si bien es una clave foranea hacia otra tabla, no veo que afecte la integridad de la base.