MUNDOSAP

MUNDOSAP (foro/index.php)
-   Formularios - SAPScript - Smartforms (foro/forumdisplay.php?f=5)
-   -   Formulario: control de salto de página para importe total (foro/showthread.php?t=26900)

kruspex 17/12/08 07:49:37

Formulario: control de salto de página para importe total
 
Hola a tod@s
Me estoy volviendo loca con un asunto de un formulario. Os cuento:
Es una ventana main donde se pintan los importes de un pedido y en otra ventana (sumatotal) calcula la suma de dichos importes.
El caso es que cuando los importes sobrepasan el espacio de la pagina, se crea otra. Hasta aquí todo correcto, pero el importe total de la primera página suma también los importes de la segunda.

¿Cómo puedo controlar eso?
Se pintan 19 registros por página y creemos que el programa entiende que el primero de la siguiente página tb pertenece a la primera.

Gracias por todo

crounly 17/12/08 11:31:10

Puedes intentar jugar con las opciones del nodo ventana - pestaña condiciones
Hay tienes para que se ejecute 'antes de fin de ventana principal' y en la ultima pagina.

Puedes tener una ventana que se ejecute antes del fin de la principal y de salto, esta saca los parciales y otra que se ejecute en la solo cuando sea la ultima pagina con el total....

Suerte

kruspex 17/12/08 13:46:26

¿Y cómo se puede hacer eso?
Verás es que el programa no lo he hecho yo. Tengo una incidencia al respecto y he logrado corregirlo para informes con más de una página y con más de un registro por página y para informes con una página.
He debuggeado el programa de impresión y he mirado el formulario.
Como no se mucho de sapcript he controlado los fallos en el programa de impresión.
No tengo ni idea de como hacer eso que dices y mira que he mirado manuales.

crounly 17/12/08 14:04:36

Si es un sapscript, olvida lo anterior, es solo para smartforms.

En un sapscript tienes &PAGE& y &SAPSCRIPT-FORMPAGES&

Pagina actual / total de paginas
.

Haber que te parece la idea

IF &PAGE& = &SAPSCRIPT-FORMPAGES&.

< IMPRIMES EL TOTAL >

ELSE.

< IMPRIMES EL ACUMULADO PARCIAL >

ENDIF.

kruspex 17/12/08 14:27:48

Te explico lo que he conseguido:

He conseguido que en la primera página me imprima el parcial correctamente, pero en la siguiente página, deja de sumar el último importe.

El Sapscript está hecho muy raro, con subprogramas dentro de la ventana main.
Hay un IF que controla las posiciones que pintar por página pero no lo contempla, porque da igual el valor que pongo, salen siempre 19.

Grrrrrrrrrrrr :mad:

PD/ gracias por tu empeño

crounly 17/12/08 14:37:42

Si con lo de 'deja de sumar el último importe' te refieres a que no suma el ultimo registro que pinta, revisa donde esta sumando los importes, igual lo pinta antes de sumarlo y al ser el ultimo no entra.

Mira a ver donde va sumando los importes y orden que sigue.

;) Si no nos ayudamos entre nosotros mal vamos....

Suerte

kruspex 17/12/08 14:38:32



&ACUMIMP& guarda el importe total que debe ir en cada pagína

FORM DATOS_MAIN:


Estoy desesperada :eek:

kruspex 17/12/08 14:50:03


Como has podido ver en mi copy-paste de código maldito!! primero lo calcula y luego lo pinta, lo que no tengo tan claro es que en el último caso, llegue a pintarlo. Voy a buscarlo.

Una pregunta: ¿habría opción de saber cuando está en la última pagina? es decir, en la MAIN poner algo de:

IF $PAGE$ = $SAPSCRIPT-FORMPAGES$.
$ACUMIMP$ = $BASIMP$
ENDIF.

Donde $BASIMP$ es otra variable que calcula el importe total directamente (es un poco chanchullero pero....)

crounly 17/12/08 15:20:21

Jodeee... que caos , y que de esto surga el orden.....



...buzei < d_buzei ... es decir todas menos la actual, si es la pos 4 calcula hasta la 3. por eso no sumara la ultima.

no te valdria con un buzei <= d_buzei ?? y asi selecciona todas hasta la que vas a pintar...

kruspex 17/12/08 15:41:23


Ayyyy!! Pues ahi empezaron los problemas. Teniamos <= y tuvimos que quitarlo porque lo sumaba en la primera pagina. Poniendo solo < conseguiamos la primera pagina bien porque el último lo metemos más abajo (en el codigo que te he puesto)

¿sabes que pasa? que creo que el "formulario" cree que tiene una pagina en vez de dos. Porque todo lo que afecta al último valor lo pone en la primera pagina.

¿Se puede saber que valor tiene la variable &SAPSCRIPT-FORMPAGES&?
¿Cómo?

Por cierto, muchas gracias por seguir mirandome cosas eh


Husos Horarios son GMT. La hora en este momento es 11:57:44.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web