Mensaje de espera en ventana reporte

Consultas, trucos, consejos. Todo sobre Clarion en todas sus versiones
roman0994
Novato
Mensajes: 24
Registrado: Mar Jun 04, 2019 11:03 pm
Contactar:

Re: Mensaje de espera en ventana reporte

Mensaje por roman0994 » Mié Oct 16, 2019 12:15 pm

Mauricio escribió:
Mié Oct 16, 2019 7:13 am
Pero dónde estás abriendo esa ventana?
Dentro del ACCEPT?
Así es, dentro del Accepted del PauseButton. Antes de la rutina de creación de la tabla temporal.
Román Bressán
Corral de Bustos, Córdoba, Argentina.


Avatar de Usuario
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

Mensaje por Mauricio » Jue Oct 17, 2019 9:23 am

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

roman0994
Novato
Mensajes: 24
Registrado: Mar Jun 04, 2019 11:03 pm
Contactar:

Re: Mensaje de espera en ventana reporte

Mensaje por roman0994 » Jue Oct 17, 2019 10:18 pm

Mauricio escribió:
Jue Oct 17, 2019 9:23 am
Podés postear el código? O subir el clw generado?
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.

Avatar de Usuario
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

Mensaje por Mauricio » Sab Oct 19, 2019 10:38 am

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

roman0994
Novato
Mensajes: 24
Registrado: Mar Jun 04, 2019 11:03 pm
Contactar:

Re: Mensaje de espera en ventana reporte

Mensaje por roman0994 » Lun Oct 21, 2019 2:28 am

Mauricio escribió:
Sab Oct 19, 2019 10:38 am
Ok, voy a hacer un pequeño ejemplo y te lo voy a pasar a ver si logro hacer lo mismo.
Muchisimas gracias Mauricio, sería de gran ayuda.
Román Bressán
Corral de Bustos, Córdoba, Argentina.


Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados