cancel
Showing results for 
Search instead for 
Did you mean: 

problema búsqueda formateada

Former Member
0 Kudos

Hola a todos, tengo un detalle con una búsqueda formateada que genere para que se llene el campo de precio unitario con el valor definido en la lista de precios asignada al socio de negocios en las ofertas de compra, el detalle esta en que la búsqueda me propone varios resultados siendo que lo que deseo es que se asigne el único valor de precio asignado para cierto articulo en base a la lista que tenga definida el Socio. Mis listas de precios se llaman igual al código de cada socio es por eso que use ese valor para la búsqueda formateada, pero creo que los campos no son del mismo tipo y es por eso que me devuelve mas de un resultado. Este es el query que tengo

SELECT T0.[Price]

FROM [dbo].[ITM1] 

T0 INNER JOIN [dbo].[OPLN]  T1 ON

T0.PriceList = T1.ListNum

INNER JOIN OCRD T2 ON T1.ListNum = T2.ListNum

WHERE t0.itemcode=$[$38.1.1]

and T2.[CardCode]= T1.[ListName]

adjunto pantallas de referencia.

agradezco cualquier aporte que me puedan brindar.

Accepted Solutions (1)

Accepted Solutions (1)

rjovel
Active Participant
0 Kudos

podrias intentar esto:

SELECT T0.[Price]

FROM [dbo].[ITM1]

T0 INNER JOIN [dbo].[OPLN]  T1 ON

T0.PriceList = T1.ListNum

 

WHERE t0.itemcode=$[$38.1.1]

and T1.[ListName]=$[$4.0.1]

Former Member
0 Kudos

si funciona =), realice unos cambios en mi búsqueda original y también jala la comparto para futuras referencias

SELECT T0.[Price]

FROM [dbo].[ITM1]T0

INNER JOIN [dbo].[OPLN]  T1

ON T0.PriceList = T1.ListNum

INNER JOIN OCRD T2 ON T1.ListNum = T2.ListNum

WHERE t0.itemcode=$[$38.1.0] and

T2.[CardCode] =$[ocrd.CardCode]

and T2.[CardCode]= T1.[ListName]

Una pregunta, como obtienes los valores de cada campo? por ejemplo el T1.[ListName]=$[$4.0.1]?

rjovel
Active Participant
0 Kudos

primero debes presionar ctrl+shift+i

luego posicionas el mouse sobre el campo que quieres el numero

y $[$4.0.1]?

4=item

0=pane

1=variable

por cierto no te olvides de marcar mi respuesta y darme unos puntos, que me caerian bien, tambien de marcar la respuesta como contestada!

saludos

gerardo_mendez
Active Contributor
0 Kudos

Solo para complementar:

   Para recuperar datos de la ventana activa, necesita crear la consulta de una manera determinada. Hay dos posibles sintaxis:


• Usar la sintaxis $[Nombre de tabla.Nombre de campo] para referirse a campos en una pantalla de entrada. El nombre de la tabla es el nombre de la tabla de base de datos de la pantalla de entrada, por ejemplo, OINV para la pantalla de entrada de factura de clientes.


• Usar la sintaxis $[$Índice de campo.Columna de campo.Número/Moneda/Fecha/0] para referirse a un campo de la ventana activa. El sistema identifica unívocamente cada campo de un documento mediante un número de artículo (índice) y un número de columna. Se recomienda usar esta sintaxis en alertas y procedimientos de aprobación, ya que la consulta se aplica a todas las pantallas de entrada de documentos que comparten la misma estructura. Si el campo es un campo de línea, especifique el índice del Campo y la Columna. Si el campo es un campo de cabecera, configure la Columna en 0 (por ejemplo $[$29.0.0]).


Cuando se recuperan datos de una ventana activa, el resultado es siempre un string. Por lo tanto, si se usa un cálculo o comparación, se debe convertir en un string en la sintaxis:

- Número: recupera automáticamente el valor de un campo, por ejemplo, $[$24.0.number].

- Moneda: recupera automáticamente el símbolo de moneda de un campo de sistema.

- Fecha: recupera un string de un campo de fecha para se pueda usar para cálculos.

- 0: recupera el string en la pantalla como string simple.

  

Sugerencia: Use Visualizar + Información sistema para ver el número de columna y el artículo del campo en la barra de status al final de la pantalla.

¡Suerte!

Former Member
0 Kudos

Ok Gerardo muchas gracias por el aporte, voy a hacer mas pruebas para tener mas dominado este tema.

saludos.

Answers (0)