FoxPro/Visual FoxPro - Tabla de vencimientos - Servicios a controlar

   
Vista:

Tabla de vencimientos - Servicios a controlar

Publicado por Antonio (3 intervenciones) el 07/04/2016 16:45:23
Buen día: estoy trabado con un sistema para admin de propiedades en alquiler. Para el control de impuestos y servicios del inmueble, quiero generar una tabla con todos los vencimientos entre dos fechas (inicio y finaliz. del contrato). Parto de lo siguiente:

Cuenta/periodo 01 02 03 04 05 06 07 08 09 10 11 12 – Paga mes vencido (si/no)
Agua x x x x x x x x x x x x (todos los meses)
Expensas x x x x x x x x x x x x (todos los meses)
Luz x x x x x x (6 cuotas anuales – meses pares)
Gas x x x x x x (6 cuotas anuales – meses impares)

Cómo puedo generar la tabla con el listado general con fechas de vencimientos. Alguna pista????
Gracias
Antonio Dutto
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauricio Antonio

Tabla de vencimientos - Servicios a controlar

Publicado por Mauricio Antonio (1368 intervenciones) el 07/04/2016 20:08:24
Que tienes hecho, Podrias ponerlo? este foro es para ayudar, no para hacer tareas......disculpa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tabla de vencimientos - Servicios a controlar

Publicado por Antonio (3 intervenciones) el 07/04/2016 20:57:31
Gracias por responder. No quiero que me hagan la tarea, sólo una idea de cómo encarar el tema.
Lo que tengo, es la tabla indicada, donde para cada cuenta tildo el período a controlar el pago.
Hay distintas cuentas (servicios) para un mismo inmueble. Por ej.: agua vence todos los meses (12 cuotas anuales), al período 02/2016 se paga el 03/2016; luz, es bimestral (cada 2 meses) y se paga a mes vencido.
Quiero generar una tabla de vencimientos para determinado período, por ej.: para 2 años (duración contrato del alquiler).
El problema, lo tengo porque hay cuentas que se repiten todos los meses, pero otras no (cada 2 meses - cada 3 meses).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tabla de vencimientos - Servicios a controlar

Publicado por Luiz Alexandre (58 intervenciones) el 07/04/2016 23:40:32
Utilize um FOR para gerar cada conta.

Água
FOR lnA = 1 to 12
INSERT INTO ......
NEXT

Luz
FOR lnA = 1 to 12 STEP 2
INSERT INTO....
NEXT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tabla de vencimientos - Servicios a controlar

Publicado por Antonio (3 intervenciones) el 08/04/2016 21:27:30
Gracias Luiz por tu respuesta. Lo resolví y va el código. No es la manera correcta, pero funciona.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
SELECT * FROM cta WHERE INTO CURSOR xCuenta      &&cargo la tabla anterior con todos los datos
 
FOR I=1 TO nMeses       && meses del contrato (ej.: 24 meses)
feVenc = GOMONTH(f_inicio, (I-1))  && fecha de venc del servicio o impuesto
lmes = MONTH(feVenc)  && Mes en curso a evaluar
DO CASE
 
* Comienzo a evaluar cada período
CASE lmes = 1 && Mes de enero o período 1
SELECT * FROM xCuenta WHERE ene = .T. INTO CURSOR xCta1   && filtro c/otro cursor
	SCAN
		nAno = YEAR(feVenc)
		cCuenta = ALLTRIM(RTRIM(xCta1.cuenta) + " 1" + "/" + " 12  " + " Año  " + LTRIM(STR(nAno)))
		IF xCta1.vencido = "SI"
			fvenc = GOMONTH(feVenc, +1)
		ELSE
				fvenc = feVenc
		ENDIF
 
	INSERT INTO Tabla ( ) ;
	 VALUES (, cCuenta, fvenc, )
		ENDSCAN
 
	CASE lmes = 2 && Mes de febrero o período 2
	SELECT * FROM xCuenta WHERE feb = .T. INTO CURSOR xCta2 && filtro c/otro cursor
 
	SCAN
		nAno = YEAR(feVenc)
		cCuenta = ALLTRIM(RTRIM(xCta2.cuenta) + " 2" + "/" + " 12  " + " Año  " + LTRIM(STR(nAno)))
		IF xCta2.vencido = "SI"
			fvenc = GOMONTH(feVenc, +1)
			fUltm = GOMONTH((fvenc),+1)-1
		ELSE
			fvenc = feVenc
			fUltm = GOMONTH((fvenc),+1)-1
		ENDIF
INSERT INTO Tabla ( ) ;
	 	VALUES (, cCuenta, fvenc, )
 
	CASE lmes = 3 && mes de marzo o período 3
	*********************************************************
CASE lmes = 12 && mes de diciembre o período 12
ENDFOR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tabla de vencimientos - Servicios a controlar

Publicado por Luiz Alexandre (58 intervenciones) el 08/04/2016 23:13:03
Olá... me envie uma cópia da sua tabela, o seu código dá para reduzir bem, mas preciso ver o real conteúdo dela.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar