cancel
Showing results for 
Search instead for 
Did you mean: 

Agregar un BP desde VB.net

Former Member
0 Kudos

Hola a todos. Estoy intentando agregar un BP desde VB.net. He seguido todos los pasos que me indica el SDK, añadiendo los campos requeridos:

Dim vBP As SAPbobsCOM.BusinessPartners

vBP = Conexion.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners) (Conexion.Company es una clase que se encarga de la conexión a SB1)

vBP.CardName = txt_NuevoIC.text

vBP.CardType = SAPBobsCOM.BoCardTypes.cLid

vBP.CardCode = Generar_CardCode()

Dim ernum as Interger = vBP.Add()

Dim erText as Text =""

if ernum<>0 then     -------------->Error

Conexion.Company.GetLastError(ernum, erText)

end If

Cuando intento hacer el Add me da el error -4002. Y dice: "To generate this document, first define the numbering series in the Administration module"

La serie está definida. Problemas de permisos no son porque es super usuario y tiene acceso a todo.

Supuse que podría asignarle el número de la serie de manera manual haciendo:

vBP.Series = 46  (El número de mi serie)

Pero obtengo error de memoria y que no consigue el código fuente ¿¿¿???

Alguien podría echarme una mano.

Gracias!!!!

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hola a todos.

La solución pasaba por eliminar todos los archivos de log y temporales. Al hacerlo, el programa funciona sin problemas.

Muchas Gracias!

Saludos

felipe_loyolarodriguez
Active Contributor
0 Kudos

Excelente.

Gracias por compartir la solución.

SAP y sus mañas.

Saludos

FLR

Former Member
0 Kudos

Alguna sugerencia?

Sigo estancado en lo mismo. No puedo agregar un IC desde VB.net. Me salta el error al momento de usar la linea de definición de la serie:

vBP.Series = 47.

¿Alguna sugerencia?

Saludos.

felipe_loyolarodriguez
Active Contributor
0 Kudos

Podemos establecer una sesión team viewer si lo deseas para revisar el caso.

Envíame los datos a felipe.loyola@besconsulting.cl

Saludos

FLR

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenos días.

Eso se debe a que el usuario con el que te estás conectando no tiene autorizacion para crear BP.

Saludos

Felipe

Former Member
0 Kudos

Hola Felipe. El usuario es el manager y tiene todos los permisos habilitados en B1.

La cosa es TAN rara que, en mi codigo, aún colocando por ejemplo el vBp.Series = 1 (que es la manual) o vBP.Series = 46 (que es mi serie definidad en B1) dentro de un bloque Try/Entry ni siquiera puede capturar el error. Sale una ventana de error de lectura en memoria restringida ¿¿??

He intentado esto:

 

1 - Sigue esta ruta:

Gestión -> Inicialización Sistemas - > Numeración de documentos -> Interlocutor Comercial ( doble clic)

2 -  Quito el ckeck al campo " Bloqueo" de la línea "Manual".

De esta manera , el código funciona perfectamente desde VB y añade la BP sin ningún problema . La cosa es que mi cliente ha dicho que no se utilice la configuración manual , lo que significa que el cardcode debe crearse automáticamente.

Por tanto , pensamos que a lo mejor (y no estoy seguro de esto) podemos mantener el código como está, y luego, ejecutar una consulta que actualiza el nuevo registro en la tabla OCRD con el fin de actualizar los campos Número y Serie ajustándolos a los parámetros definidos en la tabla NNM1 .

¿Qué opinas ?

Saludos y Gracias

felipe_loyolarodriguez
Active Contributor
0 Kudos

Antes ya me ha pasado que al cargar transacciones a SAP vía aplicaciones DI API he tenido ese mismo problema con las series.

Prueba colocando la serie como un campo string o interger dependiendo de como lo estés asignando ahora.

Atte.

FLR

Former Member
0 Kudos

Hola Felipe. El problema no está en como la asigno, porque no me da ningún error al momento de colocar el código. El problema está en que, si lo igualo a un string ("46") o a un entero (46) me da el mismo error. Lo que es más extraño es que estoy siguiendo al pie de la letra el ejemplo de cómo agregar un BP que viene en el SDK, y no funciona.

Sigo intentando.

Gracias por la ayuda!