Así es, dentro del Accepted del PauseButton. Antes de la rutina de creación de la tabla temporal.
Mensaje de espera en ventana reporte
-
- Novato
- Mensajes: 24
- Registrado: Mar Jun 04, 2019 11:03 pm
- Contactar:
Re: Mensaje de espera en ventana reporte
Román Bressán
Corral de Bustos, Córdoba, Argentina.
Corral de Bustos, Córdoba, Argentina.
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: Mensaje de espera en ventana reporte
Podés postear el código? O subir el clw generado?
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 24
- Registrado: Mar Jun 04, 2019 11:03 pm
- Contactar:
Re: Mensaje de espera en ventana reporte
Mauricio, este es el código de la creación de la tabla temporal a mostrar en el reporte y la llamada a la ventana, dentro del Accepted:
Open(Proceso)
MESSAGE('Hola')
Loc:Contador = 0
NRO:NUMERO = 99999999
SET(NRO:K_AUX_NROS,NRO:K_AUX_NROS)
LOCK(AUX_NROS)
PREVIOUS(AUX_NROS)
IF ~ERROR() THEN Loc:numero= NRO:NUMERO + 1
ELSE Loc:numero = 1.
NRO:NUMERO = Loc:numero
ADD(AUX_NROS)
UNLOCK(AUX_NROS)
!ASI:NUMERO = Loc:NUMERO
Loc:FechaInicio = DATE(Loc:MES,01,Loc:ANIO)
Loc:FechaFinal = DATE(Loc:MES+1,01,Loc:ANIO) - 1
!GET(V_EMPRES,1)
!IF ERROR() THEN CLEAR(EMP:RECORD).
AIV:TERMINAL = Loc:numero
CLEAR(RPR:RECORD,-1)
RPR:ANIO = Loc:ANIO
RPR:MES = Loc:MES
SET(RPR:K_IVA,RPR:K_IVA)
LOOP UNTIL EOF(V_REL_PR)
NEXT(V_REL_PR)
IF RPR:ANIO <> Loc:ANIO THEN BREAK.
IF RPR:MES <> Loc:MES THEN BREAK.
PRO:NRO_PRO = RPR:NRO_PRO
GET(V_PROVEE,PRO:K_PRO)
IF ERROR() THEN CLEAR(PRO:RECORD).
IF RPR:TIPO_COM = 'F' or RPR:TIPO_COM = 'LC' THEN !Facturas proveedores
Loc:CONTADOR += 1 ! o liquidaciones de compra
Loc:IMP_NETO = 0
Loc:IMPORTE_IVA = 0
CLEAR(F_P:RECORD)
F_P:NRO_PRO = RPR:NRO_PRO
F_P:MODELO = RPR:MODELO
F_P:SUCURSAL = RPR:SUCURSAL
F_P:NRO_FAC = RPR:NRO_COM
SET(F_P:K_FAC_PROV,F_P:K_FAC_PROV)
LOOP UNTIL EOF(V_FAC_PR)
NEXT(V_FAC_PR)
IF F_P:NRO_PRO <> RPR:NRO_PRO THEN BREAK.
IF F_P:MODELO <> RPR:MODELO THEN BREAK.
IF F_P:SUCURSAL <> RPR:SUCURSAL THEN BREAK.
IF F_P:NRO_FAC <> RPR:NRO_COM THEN BREAK.
Loc:SUMA_IVA = 0
LOc:SUMA_NETO = 0
AIV:ALICUOTA = F_P:P_IVA
AIV:TIPO_COMPRO = RPR:TIPO_COM
AIV:SIT_IVA = PRO:SIT_IVA
GET(AUX_IVA,AIV:K_AUX_IVA)
IF ERROR() THEN CLEAR(AIV:RECORD)
AIV:TERMINAL = Loc:NUMERO
AIV:ALICUOTA = F_P:P_IVA
AIV:TIPO_COMPRO = RPR:TIPO_COM
AIV:SIT_IVA = PRO:SIT_IVA
Loc:P_U = F_P:PRECIO - (F_P:PRECIO * F_P:P_DESCUENTO/100)
AIV:IMP_GRAVADO = Loc:P_U * F_P:CANT_MER
AIV:IMP_IVA = (Loc:P_U * F_P:CANT_MER * F_P:P_IVA /100)
Loc:SUMA_IVA += AIV:IMP_IVA
Loc:SUMA_NETO += AIV:IMP_GRAVADO
Loc:IMP_NETO += (Loc:P_U * F_P:CANT_MER)
Loc:IMPORTE_IVA += (Loc:P_U * F_P:CANT_MER * F_P:P_IVA / 100)
IF AIV:IMP_GRAVADO + AIV:IMP_IVA > 0 THEN ADD(AUX_IVA).
ELSE
Loc:P_U = F_P:PRECIO - (F_P:PRECIO * F_P:P_DESCUENTO/100)
AIV:IMP_GRAVADO += (Loc:P_U * F_P:CANT_MER)
AIV:IMP_IVA += (Loc:P_U * F_P:CANT_MER*F_P:P_IVA/100)
Loc:SUMA_IVA += (Loc:P_U * F_P:CANT_MER)
Loc:SUMA_NETO += (Loc:P_U * F_P:CANT_MER*F_P:P_IVA/100)
PUT(AUX_IVA)
Loc:IMP_NETO += (Loc:P_U * F_P:CANT_MER)
Loc:IMPORTE_IVA += (Loc:P_U * F_P:CANT_MER * F_P:P_IVA / 100)
end ! if
end ! Loop
ELSIF RPR:TIPO_COM = 'D' OR RPR:TIPO_COM = 'ND' THEN
Loc:CONTADOR += 1
Loc:IMP_NETO = 0
Loc:IMPORTE_IVA = 0
CLEAR(DEB:RECORD)
DEB:NRO_PRO = RPR:NRO_PRO
DEB:MODELO = RPR:MODELO
DEB:SUCURSAL = RPR:SUCURSAL
DEB:NRO_DEB = RPR:NRO_COM
SET(DEB:K_DEV_MER,DEB:K_DEV_MER)
LOOP UNTIL EOF(V_DEB_PR)
NEXT(V_DEB_PR)
IF DEB:NRO_PRO <> RPR:NRO_PRO THEN BREAK.
IF DEB:MODELO <> RPR:MODELO THEN BREAK.
IF DEB:SUCURSAL <> RPR:SUCURSAL THEN BREAK.
IF DEB:NRO_DEB <> RPR:NRO_COM THEN BREAK.
Loc:SUMA_IVA = 0
Loc:SUMA_NETO = 0
AIV:ALICUOTA = DEB:P_IVA
AIV:TIPO_COMPRO = 'ND'
AIV:SIT_IVA = PRO:SIT_IVA
GET(AUX_IVA,AIV:K_AUX_IVA)
IF ERROR() THEN CLEAR(AIV:RECORD)
AIV:TERMINAL = Loc:NUMERO
AIV:ALICUOTA = DEB:P_IVA
AIV:TIPO_COMPRO = 'ND'
AIV:SIT_IVA = PRO:SIT_IVA
AIV:IMP_GRAVADO = DEB:PRECIO * DEB:CANT_MER
AIV:IMP_IVA = (DEB:PRECIO * DEB:CANT_MER * DEB:P_IVA /100)
Loc:SUMA_IVA += AIV:IMP_IVA
Loc:SUMA_NETO += AIV:IMP_GRAVADO
Loc:IMP_NETO += (DEB:PRECIO * DEB:CANT_MER)
Loc:IMPORTE_IVA += (DEB:PRECIO * DEB:CANT_MER * DEB:P_IVA / 100)
IF AIV:IMP_GRAVADO + AIV:IMP_IVA > 0 THEN add(aux_iva).
ELSE
AIV:IMP_GRAVADO += (DEB:PRECIO * DEB:CANT_MER)
AIV:IMP_IVA += (DEB:PRECIO*DEB:CANT_MER*DEB:P_IVA/100)
Loc:SUMA_IVA += (DEB:PRECIO * DEB:CANT_MER)
Loc:SUMA_NETO += (DEB:PRECIO*DEB:CANT_MER*DEB:P_IVA/100)
Loc:IMP_NETO += (DEB:PRECIO * DEB:CANT_MER)
Loc:IMPORTE_IVA += (DEB:PRECIO * DEB:CANT_MER * DEB:P_IVA / 100)
PUT(AUX_IVA)
end ! If
end ! Loop
ELSIF RPR:TIPO_COM = 'H' THEN
Loc:CONTADOR += 1
Loc:IMP_NETO = 0
Loc:IMPORTE_IVA = 0
CLEAR(CRE:RECORD)
CRE:NRO_PRO = RPR:NRO_PRO
CRE:MODELO = RPR:MODELO
CRE:SUCURSAL = RPR:SUCURSAL
CRE:NRO_CRE = RPR:NRO_COM
CRE:NRO_FAC = 0
CRE:NRO_MER = 0
SET(CRE:K_DEV_MER,CRE:K_DEV_MER)
LOOP UNTIL EOF(V_CRE_PR)
NEXT(V_CRE_PR)
IF CRE:NRO_PRO <> RPR:NRO_PRO THEN BREAK.
IF CRE:MODELO <> RPR:MODELO THEN BREAK.
IF CRE:SUCURSAL <> RPR:SUCURSAL THEN BREAK.
IF CRE:NRO_CRE <> RPR:NRO_COM THEN BREAK.
Loc:SUMA_IVA = 0
Loc:SUMA_NETO = 0
AIV:ALICUOTA = CRE:P_IVA
AIV:TIPO_COMPRO = 'NC'
AIV:SIT_IVA = PRO:SIT_IVA
GET(AUX_IVA,AIV:K_AUX_IVA)
IF ERROR() THEN CLEAR(AIV:RECORD)
AIV:TERMINAL = Loc:NUMERO
AIV:ALICUOTA = CRE:P_IVA
AIV:TIPO_COMPRO = 'NC'
AIV:SIT_IVA = PRO:SIT_IVA
AIV:IMP_GRAVADO = CRE:PRECIO * CRE:CANT_MER * (-1)
AIV:IMP_IVA = (CRE:PRECIO * CRE:CANT_MER * CRE:P_IVA /100 * (-1))
Loc:SUMA_IVA += AIV:IMP_IVA
Loc:SUMA_NETO += AIV:IMP_GRAVADO
Loc:IMP_NETO += (CRE:PRECIO * CRE:CANT_MER *(-1))
Loc:IMPORTE_IVA += (CRE:PRECIO * CRE:CANT_MER * CRE:P_IVA / 100 * (-1))
IF ABS(AIV:IMP_GRAVADO + AIV:IMP_IVA) > 0 THEN add(aux_iva).
ELSE
AIV:IMP_GRAVADO += (CRE:PRECIO * CRE:CANT_MER * (-1))
AIV:IMP_IVA += (CRE:PRECIO*CRE:CANT_MER*CRE:P_IVA/100 *(-1))
Loc:SUMA_IVA += (CRE:PRECIO * CRE:CANT_MER * (-1))
Loc:SUMA_NETO += (CRE:PRECIO*CRE:CANT_MER*CRE:P_IVA/100 * (-1))
Loc:IMP_NETO += (CRE:PRECIO * CRE:CANT_MER * (-1))
Loc:IMPORTE_IVA += (CRE:PRECIO * CRE:CANT_MER * CRE:P_IVA / 100 * (-1))
PUT(AUX_IVA)
end ! if
end ! Loop
end ! if
end ! Loop
Close(Proceso)
Y acá está la declaración de la ventana dentro de Local Data:
Proceso WINDOW('Cargando reporte'),AT(,,193,146),FONT('MS Sans Serif',8,,FONT:regular,CHARSET:DEFAULT),DOUBLE, |
CENTER,MDI,GRAY,IMM,SYSTEM
END
Román Bressán
Corral de Bustos, Córdoba, Argentina.
Corral de Bustos, Córdoba, Argentina.
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: Mensaje de espera en ventana reporte
Ok, voy a hacer un pequeño ejemplo y te lo voy a pasar a ver si logro hacer lo mismo.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 24
- Registrado: Mar Jun 04, 2019 11:03 pm
- Contactar:
Re: Mensaje de espera en ventana reporte
Muchisimas gracias Mauricio, sería de gran ayuda.
Román Bressán
Corral de Bustos, Córdoba, Argentina.
Corral de Bustos, Córdoba, Argentina.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 24 invitados