- Se corrigio el código de la encuesta, para que si se presiona BACK antes de terminar la encuesta, borre las pregutas contestadas y se pueda volver a empezar.

This commit is contained in:
2024-05-23 00:47:50 -06:00
parent 9497bdb9b5
commit f42c1aa809
3 changed files with 29 additions and 27 deletions

View File

@@ -165,6 +165,7 @@ Sub Class_Globals
Private encuestaRes As String Private encuestaRes As String
Dim TOMAR_FOTO As String Dim TOMAR_FOTO As String
Private l_segmentoK2 As Label Private l_segmentoK2 As Label
dim salirDeEncuesta as Boolean
End Sub End Sub
Sub initialize Sub initialize
@@ -223,6 +224,7 @@ End Sub
Sub B4XPage_Appear Sub B4XPage_Appear
indicePregunta = 0 indicePregunta = 0
salirDeEncuesta = False
If TOMAR_FOTO <> 0 Then Cuestionario If TOMAR_FOTO <> 0 Then Cuestionario
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MARCAS")) c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MARCAS"))
c.Position =0 c.Position =0
@@ -500,7 +502,13 @@ End Sub
Private Sub B4XPage_CloseRequest As ResumableSub Private Sub B4XPage_CloseRequest As ResumableSub
cuest.encuestaIniciada = False cuest.encuestaIniciada = False
cuest.ocultPanelPregunta cuest.ocultPanelPregunta
If sv_encuesta.Visible = True Then Log(p_encuesta.Visible)
If p_encuesta.Visible Then
salirDeEncuesta = True
botonPresionado = 1
ocultaPanelEncuesta
Return False
Else If sv_encuesta.Visible = True Then
Return False Return False
Else If Subs.hayPedido Then Else If Subs.hayPedido Then
ToastMessageShow("Hay VENTA, por favor presiona GUARDAR para continuar.", True) ToastMessageShow("Hay VENTA, por favor presiona GUARDAR para continuar.", True)
@@ -1840,21 +1848,16 @@ Sub Cuestionario
b_encuesta_continuar.Visible = False b_encuesta_continuar.Visible = False
et_encuesta.Visible = False et_encuesta.Visible = False
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now) sDate = DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime = DateTime.Time(DateTime.Now)
Private fecha As String = $"${DateTime.Date(DateTime.Now)} ${DateTime.Time(DateTime.Now)}"$ Private fecha As String = $"${DateTime.Date(DateTime.Now)} ${DateTime.Time(DateTime.Now)}"$
CUANTOS = 0 CUANTOS = 0
' indicePregunta = 0
If logger Then Log($"Tomar_Foto = ${TOMAR_FOTO}"$) If logger Then Log($"Tomar_Foto = ${TOMAR_FOTO}"$)
If TOMAR_FOTO = 0 Then If TOMAR_FOTO = 0 Then
s = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)") s = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)")
s.Position= 0 s.Position= 0
CUANTOS = s.GetString("CUANTOS") CUANTOS = s.GetString("CUANTOS")
Private CUANTOS2 As Int = 0 Private CUANTOS2 As Int = 0
' s = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS2 from HIST_ENCUESTA2 where HE_CLIENTE In (Select cuenta from cuentaa)")
' s.Position = 0
' CUANTOS2 = s.GetString("CUANTOS2")
' If logger Then LogColor($"Hist:encuesta=${CUANTOS}, hist_encuesta2 = ${CUANTOS2}"$, Colors.Magenta)
End If End If
If logger Then Log(CUANTOS & "|" & CUANTOS2) If logger Then Log(CUANTOS & "|" & CUANTOS2)
If CUANTOS = 0 And CUANTOS2 = 0 Then If CUANTOS = 0 And CUANTOS2 = 0 Then
@@ -1871,21 +1874,16 @@ Sub Cuestionario
If logger Then Log(listaPreguntas) If logger Then Log(listaPreguntas)
enc.position = 0 enc.position = 0
For i = 0 To enc.RowCount - 1 For i = 0 To enc.RowCount - 1
Log($"SALIR DE ENCUESTA = ${salirDeEncuesta}"$)
i = indicePregunta i = indicePregunta
Log("####################################################") Log("####################################################")
Log($"i = ${i}, indicePregunta = ${indicePregunta}"$) Log($"i = ${i}, indicePregunta = ${indicePregunta}"$)
' enc.Position = i
' If logger Then Log($"ROWCOUNT: ${enc.RowCount}"$)
' If logger Then Log($"tipo: ${enc.GetString("CAT_EP_IDTIPOPREGUNTA")}"$)
If logger Then Log($"Tipo: ${enc.GetString("CAT_EP_IDTIPOPREGUNTA")}, CAT_EP_ID=${enc.GetString("CAT_EP_ID")}, CAT_EP_PREGUNTA=${enc.GetString("CAT_EP_PREGUNTA")}"$) If logger Then Log($"Tipo: ${enc.GetString("CAT_EP_IDTIPOPREGUNTA")}, CAT_EP_ID=${enc.GetString("CAT_EP_ID")}, CAT_EP_PREGUNTA=${enc.GetString("CAT_EP_PREGUNTA")}"$)
If enc.GetInt("CAT_EP_IDTIPOPREGUNTA") <> 4 And indicePregunta <> 0 Then If enc.GetInt("CAT_EP_IDTIPOPREGUNTA") <> 4 And indicePregunta <> 0 Then
Log(333)
indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID")) + 1 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos. indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID")) + 1 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos.
i = indicePregunta i = indicePregunta
Log($"i = ${i}"$) Log($"i = ${i}"$)
End If End If
If logger Then Log($"i = ${i}, indicePregunta: "$ & indicePregunta & ", TIPO: " & enc.GetString("CAT_EP_IDTIPOPREGUNTA")) If logger Then Log($"i = ${i}, indicePregunta: "$ & indicePregunta & ", TIPO: " & enc.GetString("CAT_EP_IDTIPOPREGUNTA"))
' Log($"Tomar_Foto = ${TOMAR_FOTO}"$) ' Log($"Tomar_Foto = ${TOMAR_FOTO}"$)
If logger Then Log($"EncuestaRes = ${encuestaRes}"$) If logger Then Log($"EncuestaRes = ${encuestaRes}"$)
@@ -1900,11 +1898,13 @@ Sub Cuestionario
If logger Then Log($"i = ${i}"$) If logger Then Log($"i = ${i}"$)
TOMAR_FOTO = 0 TOMAR_FOTO = 0
End If End If
If i > (enc.RowCount - 1) Then Exit ' Si se contestó la ultima pregunta, entonces salimos. If salirDeEncuesta = True Then
i = enc.RowCount
' indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID")) 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos. End If
' i = indicePregunta If i > (enc.RowCount - 1) Then
Log("TERMINAMOS LA ENCUESTA")
Exit ' Si se contestó la ultima pregunta, entonces salimos.
End If
enc.Position = i enc.Position = i
' Log($"POSICION = ${enc.Position}"$) ' Log($"POSICION = ${enc.Position}"$)
If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 1 Then ' Tipo Abierta If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 1 Then ' Tipo Abierta
@@ -1921,7 +1921,7 @@ Sub Cuestionario
muestraEncuesta muestraEncuesta
Log("Esperamos respuesta") Log("Esperamos respuesta")
Do Until botonPresionado = 1 'Esperamos que respondan la pregunta Do Until botonPresionado = 1 'Esperamos que respondan la pregunta
Sleep(0) Sleep(10)
Loop Loop
indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID")) + 1 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos. indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID")) + 1 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos.
Log($"Respuesta: ${encuestaRes}"$) Log($"Respuesta: ${encuestaRes}"$)
@@ -2024,21 +2024,23 @@ Sub Cuestionario
TOMAR_FOTO = 1 TOMAR_FOTO = 1
CURSOR_FOTO = i CURSOR_FOTO = i
i = 0 i = 0
' Exit
Else Else
' Starter.tipov = "VENTA"
B4XPages.ShowPage("productos") B4XPages.ShowPage("productos")
End If End If
Next Next
enc.Close enc.Close
Else Else
' Starter.tipov = "VENTA"
B4XPages.ShowPage("productos") B4XPages.ShowPage("productos")
End If End If
Else Else
' Starter.tipov = "VENTA"
B4XPages.ShowPage("productos") B4XPages.ShowPage("productos")
End If End If
If salirDeEncuesta Then ' Si se presionó BACK antes de terminar la encuesta, entonces borramos las preguntas contestadas.
Log("BORRAMOS RESPUESTAS")
Starter.skmt.ExecNonQuery($"delete from HIST_ENCUESTA where HE_CLIE = '${Subs.traeCliente}'"$)
indicePregunta = 0
salirDeEncuesta = False
End If
End Sub End Sub
'Muestra el panel de la encuesta, le da el alto y ancho de la pantalla y la pone en 0,0 'Muestra el panel de la encuesta, le da el alto y ancho de la pantalla y la pone en 0,0

View File

@@ -1398,7 +1398,7 @@ Version=12.8
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Durakelo #ApplicationLabel: Durakelo
#VersionCode: 1 #VersionCode: 1
#VersionName: 4.05.21 #VersionName: 4.05.22
'SupportedOrientations possible values: unspecified, landscape or portrait. 'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False

View File

@@ -60,7 +60,7 @@ ModuleClosedNodes16=
ModuleClosedNodes17= ModuleClosedNodes17=
ModuleClosedNodes18= ModuleClosedNodes18=
ModuleClosedNodes19= ModuleClosedNodes19=
ModuleClosedNodes2= ModuleClosedNodes2=2
ModuleClosedNodes20= ModuleClosedNodes20=
ModuleClosedNodes21= ModuleClosedNodes21=
ModuleClosedNodes22=1 ModuleClosedNodes22=1
@@ -73,6 +73,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Cliente,Class_Globals,1,0,C_Principal,cargar_Click,939,0,C_Principal,JobDone,1132,0,C_Cliente,B4XPage_Created,174,0,C_Cliente,B4XPage_Appear,234,6,Main,Globals,25,0,Main,Process_Globals,21,0,C_Cliente,muestraEncuesta,2033,0,C_Cliente,b_encuesta_1_Click,2069,0,C_Cliente,GPS_LocationChanged,397,0,C_Cliente,Cuestionario,1900,6 NavigationStack=C_Cliente,b_encuesta_1_Click,2074,0,C_Cliente,GPS_LocationChanged,397,0,B4XMainPage,B4XPage_Created,148,0,C_Cliente,B_E_NEXT_Click,1607,0,C_Cliente,B_VENTA_Click,1314,1,C_Cliente,gest_Click,482,1,C_Cliente,Class_Globals,161,4,C_Cliente,B4XPage_Appear,219,6,C_Cliente,Cuestionario,2031,6,C_Cliente,B4XPage_CloseRequest,495,6
SelectedBuild=0 SelectedBuild=0
VisibleModules=2,10,4,19,5,6,8,9,11,24 VisibleModules=2,10,4,19,5,6,8,9,11,24