cancel
Showing results for 
Search instead for 
Did you mean: 

BF para creación de Listbox anidados en SAP B1

Former Member
0 Kudos

Hola Foro!!

Necesito crear subventanas de selección con ListBox sin problema en sap, el detalle es si quisiéra añadir o relacionar también un valor numérico con dicha cadena, con VB usábamos el método ItemData para asociar ese valor numérico, de forma que cada cadena contenida en el ListBox pudiese tener asociado un valor numérico.

Para hacerlo, usábamos un código parecido a este:

With List1

   .AddItem "elemento 1"

   .ItemData(.NewIndex) = 1

   .AddItem "elemento 2"

   .ItemData(.NewIndex) = 2

End With

Incluso el modulo de actividad lo trae programado!

Aqui en SAP esta muy facil creaer el listbox pero para el contenido de cada celda??

Muchas Gracias!!

Accepted Solutions (0)

Answers (2)

Answers (2)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Quieres crear un combobox y añadir valores?

Atte.

Former Member
0 Kudos

Hola Felipe,

Muchas gracias por tu atención mira adjunto una imagen de lo que deseo hacer.

Al seleccionar una opcion que me aparezca en otro list las opciones del mismo.

Por ejemplo: Para la opcion 1 y 4 les aparece diferente contenido sin que puedan agregar más.

Saludos

Former Member
0 Kudos

Hola son dos cosas diferentes las que necesitras te anexo la solucion a ambas,

La seleccion en cascada se soluciona con busquedas formateadas en las que ligas un campo al campo anterior, es decir el segundo te muestra las opciones de la selecion del primero de una manera muy simple

Select Parametro2 from tabla where parametro1 = x

y así sucesivamente,

Para que esto funcione necesitas lo siguiente:

  • Solo el primer campo  es desplegable
  • Los campos siguientes son campos normales a los que se le aplica la busqueda formateada para que te de los resultados del anterior

Adicionalmente crearia un Transaction Notification para que valide que no ingresan nada manual.

Como esta informacion estara en tablas de usuario, creas una autorizacion adicional sobre esa tabla y con eso ya no pueden dar de alta mas opciones.

Former Member
0 Kudos

Hola Felipe,

Aprovecho para consultarte sobre un tema que vi otorgaste solución e incluso grabaste un video con sonido me lo podrias pasar?

"

Alessandro,

Yo hice una capacitación aquí en la oficina a mis colegas sobre B1if, que contiene casi todos lo que te estoy diciendo que hagas y lo grabé con sonido

Pesa cerca de 600 MB, y me gustaría pasártela porque es muy tedioso explicar todo.

Si me proporcionas algún método, puedo enviártelo.

Saludos"

Tengo dropbox te paso la liga solo enviame tu mail x favor para agregarte como administrador y asi poder subirlo

Aprovecho para consultarte sobre la imagen solicitada

Saludos

Former Member
0 Kudos

Luis Muchas gracias, estoy revisando y progrmando con BF pero para este caso me podrias ayudar un poco con el código BF x favor

Muchas Gracias

Former Member
0 Kudos

Te paso uno que tengo en 2 campos

El primero es un display como el tuyo

SELECT   CASE WHEN $[OPCH.U_PRIORIDAD]= 1 THEN 'Opciones'

CASE WHEN $[OPCH.U_PRIORIDAD]= 1 THEN 'Opciones'

ELSE 0 END

FROM OPCH

els egundo solo muestra el resultado condicional de la primera consulta

Former Member
0 Kudos

Hola Luis,

Mira lo he estado intentado sin exito aun, te comparto lo que tengo.

Tengo un campo U_segmento en donde tengo 2 opciones 1 y 2, derivado de ellas quiero hacer que me muestre estas opciones:

SELECT CASE

WHEN

$[OCRD.U_SEGMENTO]= 1 THEN '1.NEGOCIOS, 2.EDUCATIVOS, 3.SERVICIOS MEDICOS, 4.OTROS SEGMENTOS '

WHEN $[OCRD.U_SEGMENTO]= 2 THEN '5.FULL SERVICE, 6.LIMITED SERVICE,7.HOSPEDAJE,8.TRANSPORTE,9.TIEMPO LIBRE,10.CATERING,11.BARES '

ELSE 0 END

FROM OCRD

Aqui lo tengo con el resultado esperado claro en script de sql, en donde @temp es el campo que leo de OCRD con solo 2 valores

USE [PRUEBAS 17072015]

DECLARE @temp int

set @temp = 2

if @temp = 1

(SELECT * FROM [PRUEBAS 17072015].dbo.[@CHICAGO] Where (Code = '1' or Code = '2' or Code = '3' or Code = '4'))

else

if @temp = 2

    (SELECT * FROM [PRUEBAS 17072015].dbo.[@CHICAGO] Where (Code = '5' or Code = '6' or Code = '7' or Code = '8' or Code = '9' or Code = '10' or Code = '11' or Code = '12')  )

Former Member
0 Kudos

Hola Felipe,

Mira lo he estado intentado sin exito aun, te comparto lo que tengo.

Tengo un campo U_segmento en donde tengo 2 opciones 1 y 2, derivado de ellas quiero hacer que me muestre estas opciones:

SELECT CASE

WHEN

$[OCRD.U_SEGMENTO]= 1 THEN '1.NEGOCIOS, 2.EDUCATIVOS, 3.SERVICIOS MEDICOS, 4.OTROS SEGMENTOS '

WHEN $[OCRD.U_SEGMENTO]= 2 THEN '5.FULL SERVICE, 6.LIMITED SERVICE,7.HOSPEDAJE,8.TRANSPORTE,9.TIEMPO LIBRE,10.CATERING,11.BARES '

ELSE 0 END

FROM OCRD

Aqui lo tengo con el resultado esperado claro en script de sql, en donde @temp es el campo que leo de OCRD con solo 2 valores

USE [PRUEBAS 17072015]

DECLARE @temp int

set @temp = 2

if @temp = 1

(SELECT * FROM [PRUEBAS 17072015].dbo.[@CHICAGO] Where (Code = '1' or Code = '2' or Code = '3' or Code = '4'))

else

if @temp = 2

    (SELECT * FROM [PRUEBAS 17072015].dbo.[@CHICAGO] Where (Code = '5' or Code = '6' or Code = '7' or Code = '8' or Code = '9' or Code = '10' or Code = '11' or Code = '12')  )

Former Member
0 Kudos

al parecer esta bien realizado, no se por que no lo hace, lo que podrias probar es meter los valores en una tabla

'1.NEGOCIOS, 2.EDUCATIVOS, 3.SERVICIOS MEDICOS, 4.OTROS SEGMENTOS , de esta forma harias un subquerya a esta tabla, dejame mañana buscar un ejemplo que tengo con centros de costos


saludos



Former Member
0 Kudos

Ok, si de hecho ya lo hice tambien.

Gracias

Former Member
0 Kudos

Hola Luis,

Tendras  oportunidad de compartir el codigo,

Muchas Gracias!!

Former Member
0 Kudos

Hola Felipe,

Alguna sugerencia?

Muchas Gracias

Former Member
0 Kudos

Hola , no estoy en la oficina, dejame que regrese mañana te lo paso

Saludos

Former Member
0 Kudos

Ok Muchas Gracias!

Former Member
0 Kudos

SELECT T0.[PrcCode] , T0.[PrcName]

WHERE T0.[U_BXP_Region] = $[$38.2004.0]

Yo tengo en centros de costo 3 niveles, en la tabla de centros de costo puse un campo el cual relaciona los segundos o terceros niveles, por ejemplo  CC1 Mexico CC2 Sucursal en ese campo de Región pones Mexico,para que ligues las sucursales a ese pais y asi sucesivamente.

Entonces cuando pongas Mexico en CC1 de los documentos de marcketing te saldrá solo los de mexico

Former Member
0 Kudos

Hola, una pregunta para que utilizar un desarrollo SDK, cuando la funcionalidad nativa de business one te permite crear campos de usuario, estos campos tienen dos valores, el valor (puede ser numerico) y la descripcion.

P.D si no programas con el SDK y modificas directo la BD, pierdes la garantia de SAP

Saludos

Former Member
0 Kudos

Luis buen dia,

Agradezco tu comentario solo que como expreso en el texto requiero hacer 3 niveles gobernados cada uno por un listbox.

P.e.

Listbox "Principal"

1.- Ventas

2.- Servicio

3.- Cobranza

Si eligo 1

Listbox "Secundario"

Me muestre solo opciones de "1.-Ventas"

Tal como:

1.- Ventas Refacciones

2.- Ventas Equipos

3.- Ventas a Credito

si eligio opcion 2

1.  Servicio Equipos Clientes

2.- Servicio Equipos Clientes Nuevos

3.-  Servicio Equipos a Crédito

etc...

Saludos

Former Member
0 Kudos

Hola, puedes ser mas especifico, esto es para una ventana dentro de SAP, es una ventana de un desarrollo, donde deseas poner esot?

saludos

Former Member
0 Kudos

Gracias.

Deseo otorgarle nivel a cada SN cliente en SAP.

Crear 2 grandes divisiones

y a su vez cada una de ellas tiene subcategorias pero mi intencion es que solo elijan que no les pemita crear mas divisiones.

Gracias

gerardo_mendez
Active Contributor
0 Kudos

Hola Jorge, revisa esta discusión: Tablas de usuario con campos dependientes


Siento que es más o menos la misma situación.


Suerte.

Former Member
0 Kudos

Hola, esa solucion se crea muy facilmente con campos de usuario, no necesitas programar nada, SAP ya tiene esa funcionalidad,

ahora no me queda claro tienes clientes que lso cllasificas como cobranza, es decir, a algunos clientes no les cobras?

Por que no usas los grupos de socios de negocios y propiedades de socios de negocios?

Revisa este documento

http://www.pioneerb1.com/wp-content/uploads/2012/06/How-to-Create-User-Defined-Fields-and-Tables.pdf

Former Member
0 Kudos

Hola Luis, Es correcto solo que necesito ligar 2 de ellos al elegir una opcion del primero que me muestre solo determinados valores y asi para el 2do etc...

Muchas Gracias

Former Member
0 Kudos

Usa busquedas formateadas en los segundos campos, que se liguen al resultado de la anterior

de esta forma en el segundo solo tendras los campos referentes al seleccionado primero.

Adicional setea un valor default en blanco de los campos adicionales, para que tengan que legir

revisa este documento de las busquedas fomateadas

http://www.pioneerb1.com/wp-content/uploads/2012/09/How-to-Define-and-Use-Formatted-Search.pdf