on 06-18-2010 12:54 AM
Hice un reporte para impresion de facturas, hice uno para MXP y otro para USD, pero no es practico tenerlos separados, el problema que tengo es porque no puedo hacer una condicion en el layout, algo asi como
if xcampo = 0 then
ycampo
else
xcampo
Alguien sabe como aplicar eso en el reportador???
Saludos
Hola
En el Diseñador de layout debes crear campos de fórmula y la condición será una fórmula. Por ejemplo, supongamos que quieres ver un texto A si la moneda del documento es EURO, o un texto B si la moneda es DOLAR.
Se entiende que tienes un campo que trae la moneda del documento, supondremos que este campo es el campo F_100
Ahora creas 2 campos de texto, ambos en la misma posición dentro del diseñador. El primer campo es Texto A y corresponderá al campo F_101. El segundo campo es de texto B y corresponderá a su vez al campo F_102. (Estos son los campos que se mostrarán según la condición que se cumpla)
Luego creas un primer campo fórmula, cuya fórmula es (F_100 == 'EURO') y otro campo fórmula que será (F_100 == 'DOLAR'). Supondremos adicionalmente que estos campos fórmula, son los campos F_103 y F_104 respectivamente.
Ahora que ya tienes lo que quieres mostrar y los campos con las condiciones, solo tienes que realizar los enlaces. El campo F_101 lo enlazas al campo F_103, mientras que el campo F_102 lo enlazas al campo F_104
El enlace lo haces en las propiedades de cada campo, en la opción ENLACE A
Aqui te presento otro caso similar, por si tuvieses alguna duda respecto de lo señalado...
Espero te sea de ayuda
Saludos Cordiales,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ya cheque la manera en que lo expones, y si me funciona, solo que no se oculta el objeto de tabla que quiere, ya hice el objeto con el que voy a condicionar, ya hice los 2 objetos formula como lo indicaste y tambien tengo los 2 objetos que son los importes, uno de pesos y otro de dolares, y cada uno lo enlace con su correspondiente, pero siempre me muestra el importe que quedo encima, no se si me explique.
Saludos
Hola...
OK, trataré de explicarlo nuevamente...
En el layout de cualquier documento, existe un campo de base de datos llamado Moneda de Documento (Este campo debe tener un ID en el layout (Ejemplo: Supondremos que el campo es Field_029)). Entiendo que tus documentos pueden tener como moneda MXP o USD.
En el layout, si creas un campo 'X' y quieres ponerle una condición, entonces debes crear un campo de fórmula con la condición. Si la condición para que el campo aparezca es que la moneda del documento sea MXP, entonces tu fórmula sería
(Field_029 == 'MXP')
Luego bastará con que enlaces el campo 'X' con el campo fórmula. Esto hará que si la moneda del documento efectivamente es MXP, entonces tu campo 'X' será visualizado en la impresión.
Para el caso que la moneda del documento sea USD, necesariamente debes tener tu campo 'Y', y además crear otro campo fórmula que sería
(Field_029 == 'USD')
, y en tal caso tu campo Y lo enlazas a este nuevo campo de fórmula.
Los campos X e Y pueden estar en la misma posición dentro del layout. Lo que hará que sea uno u otro el que se visualice en la impresión es la condición que se cumpla. Los campos fórmula los dejas como invisibles de modo que no se vean en la impresión.
Saludos Cordiales,
En uno de mis layout aparecen campos como los indicados superpuestos con distinta moneda, cuando me ha sucedido que se visualiza solo uno, he cambiado levemente el tamaño de uno de ellos y juego cambiandolos de posicion, hasta que aparezcan ambos cuando la condicion se cumpla. Si existe alguna manera mas técnica de hacer esto sería super útil para quienes juegan con PL.
Gracias.
PAGS.
Hola...
El problema era que en el layout no estaba indicado el campo enlace. Si tú tienes 2 campos de texto y deseas que solo se visualice uno según sea el caso, entonces es necesario que existan 2 campos de fórmula y que cada campo de texto esté enlazado a cada campo de condición.
Se supone que no pueden darse las 2 condiciones, por lo cual siempre aparecerá necesariamente solo un campo, el que si cumpla la condición.
Saludos Cordiales,
User | Count |
---|---|
103 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.