mirror of
https://github.com/KeymonSoft/Intmex_Preventa.git
synced 2026-04-17 21:06:12 +00:00
Se agregó la clase y codigo para el cuestionario
This commit is contained in:
@@ -149,6 +149,7 @@ Sub Class_Globals
|
||||
Dim j As Cursor
|
||||
Dim h As Cursor
|
||||
Dim distance As Long
|
||||
Dim cuest As C_Cuestionario
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
@@ -162,7 +163,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
'load the layout to Root
|
||||
' Activity.RemoveAllViews
|
||||
Root.LoadLayout("cliente")
|
||||
Log("Create")
|
||||
cuest.Initialize(Me, "cuest", Root, Starter.skmt)
|
||||
ruta = File.DirInternal
|
||||
If File.Exists(ruta, "kmt.db") = False Then
|
||||
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
||||
@@ -414,6 +415,11 @@ End Sub
|
||||
|
||||
Sub gest_Click
|
||||
B4XPages.MainPage.tipo_venta = "PREVENTA"
|
||||
Log($"${cuest.encuestaIniciada} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$)
|
||||
If Not(cuest.encuestaIniciada) And Not(cuest.clienteConCuestionario(Subs.traeCliente)) Then
|
||||
cuest.agregaPregunta("1", "¿Se puede acceder al negocio o está enrejado?", Array As String("No, está enrejado o no se tiene acceso", "Si se pude acceder"))
|
||||
Return False
|
||||
End If
|
||||
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select tienda_id from COORDENADAS_GPS where tienda_id = '${la_cuenta.text}'"$)
|
||||
' Log("+++++++++++++ " & x.RowCount)
|
||||
If distance > 50 And x.RowCount = 0 Then
|
||||
@@ -445,6 +451,8 @@ Private Sub B4XPage_CloseRequest As ResumableSub
|
||||
' BACK key pressed
|
||||
' Return True To close, False To cancel
|
||||
' Log($"venimosDeTicketsDia=${venimosDeTicketsDia}"$)
|
||||
cuest.encuestaIniciada = False
|
||||
cuest.ocultPanelPregunta
|
||||
If IsNumber(l_total.text) And Not(Subs.pedidoGuardado) Then
|
||||
LogColor("Hay Venta", Colors.Red)
|
||||
Private resultado1 As Int = Msgbox2($"Va salir sin haber guardado la venta, si continua, la venta se BORRARA.${CRLF}${CRLF}¿Esta seguro que desea continuar?"$, "SE VA A BORRAR LA VENTA", "Borrar Venta", "Guardar Venta", "", LoadBitmap(File.DirAssets,"alert2.png"))
|
||||
@@ -1058,3 +1066,68 @@ Sub CreateListItem(mostrar As String, mostrar1 As String) As Panel
|
||||
Return p
|
||||
End Sub
|
||||
|
||||
Sub cuest_preguntaContestada(m As Map)
|
||||
' Recibimos el id de la pregunta, el id de la respuesta, el texto de la respuesta y el objeto del panelSombra para poder ocultarlo.
|
||||
Log(m)
|
||||
' If q.IsInitialized Then Log($"${q.encuestaIniciada}|${q.preguntaActual}"$)
|
||||
' m.Get("panel").As(Panel).Visible = False 'Ocultamos el panel de la pregunta.
|
||||
m.Get("panel").As(Panel).RemoveView 'Quitamos le panel de la pregunta
|
||||
DateTime.DateFormat = "dd/MM/yyyy"
|
||||
DateTime.TimeFormat = "HH:mm:ss"
|
||||
Starter.skmt.ExecNonQuery($"delete from CUESTIONARIO where Q_IDCLIENTE = '${Subs.traeCliente}' and Q_IDPREGUNTA = '${m.Get("idPregunta")}'"$)
|
||||
Starter.skmt.ExecNonQuery($"insert into CUESTIONARIO (Q_IDCLIENTE, Q_IDPREGUNTA, Q_PREGUNTA, Q_IDRESPUESTA, Q_RESPUESTA, Q_FECHA) values ('${Subs.traeCliente}', '${m.Get("idPregunta")}', '${m.Get("pregunta")}', '${m.Get("idRespuesta")}', '${m.Get("respuesta")}', '${DateTime.Date(DateTime.now)} ${DateTime.time(DateTime.now)}')"$)
|
||||
Select Case m.Get("idPregunta")
|
||||
Case "1"
|
||||
If m.Get("respuesta") = "No, está enrejado o no se tiene acceso" Then
|
||||
Log("Tiendajon / Ventana / Kiosko")
|
||||
ToastMessageShow("Tiendajon / Ventana / Kiosko", False)
|
||||
cuest.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
|
||||
Else if m.Get("respuesta") = "Si se pude acceder" Then
|
||||
cuest.agregaPregunta("2", "¿Tiene al menos 2 pasillos con acceso directo a la mercancía?", Array As String("Si tiene al menos 2 pasillos con acceso directo a la mercancía", "No tiene pasillos o solo uno central"))
|
||||
End If
|
||||
Case "2"
|
||||
If m.Get("respuesta") = "Si tiene al menos 2 pasillos con acceso directo a la mercancía" Then
|
||||
Log("Mini-Super")
|
||||
ToastMessageShow("Mini-Super", False)
|
||||
cuest.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
|
||||
else If m.Get("respuesta") = "No tiene pasillos o solo uno central" Then
|
||||
cuest.agregaPregunta("3", "¿Cuenta con enfriador horizontal para venta de perecederos como queso, jamon, crema, etc.?", Array As String("Si", "No tiene enfriador horizontal."))
|
||||
End If
|
||||
Case "3"
|
||||
Log("|"&m.Get("respuesta")&"|")
|
||||
If m.Get("respuesta") = "Si" Then
|
||||
Log("Miscelanea")
|
||||
ToastMessageShow("Miscelanea", False)
|
||||
cuest.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
|
||||
else If m.Get("respuesta") = "No tiene enfriador horizontal." Then
|
||||
cuest.agregaPregunta("4", "¿El local esta enfocado a venta especializada?", Array As String("No", "Si"))
|
||||
End If
|
||||
Case "4"
|
||||
If m.Get("respuesta") = "No" Then
|
||||
Log("Abarrotera")
|
||||
ToastMessageShow("Abarrotera", False)
|
||||
cuest.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
|
||||
else If m.Get("respuesta") = "Si" Then
|
||||
cuest.agregaPregunta("5", "¿Cual venta especializada?", Array As String("Carnicería / Pollería", "Cremería", "Depósito / Vinateria", "Dulcería", "Farmacia", "Fonda / Restaurante / Cafetería", "Verdulería"))
|
||||
End If
|
||||
Case "5"
|
||||
Log(m.Get("respuesta"))
|
||||
ToastMessageShow(m.Get("respuesta"), False)
|
||||
' If m.Get("respuesta") = "No" Then
|
||||
' Log("Abarrotera")
|
||||
' q.agregaPregunta("5", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
|
||||
' else If m.Get("respuesta") = "Si" Then
|
||||
cuest.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
|
||||
' End If
|
||||
Case "6"
|
||||
Log(m.Get("respuesta"))
|
||||
ToastMessageShow(m.Get("respuesta"), False)
|
||||
Log(">>>>>>>>>> " & cuest.encuestaIniciada)
|
||||
cuest.encuestaIniciada = False
|
||||
Log(">>>>>>>>>> " & cuest.encuestaIniciada)
|
||||
' refrescarCliente = True
|
||||
' Log($"#### REFRESCAR CLIENTE -> ${refrescarCliente}"$)
|
||||
B4XPage_Appear
|
||||
' Case 6
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
155
B4A/C_Cuestionario.bas
Normal file
155
B4A/C_Cuestionario.bas
Normal file
@@ -0,0 +1,155 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=12.2
|
||||
@EndOfDesignText@
|
||||
Sub Class_Globals
|
||||
Private Root As B4XView 'ignore
|
||||
Private xui As XUI 'ignore
|
||||
Private bAceptarPregunta As Button
|
||||
Dim encuestaIniciada As Boolean = False
|
||||
Private Root2 As B4XView
|
||||
Private EventName As String 'ignore
|
||||
Private CallBack As Object 'ignore
|
||||
Private vPreguntaActual As String
|
||||
Private db As SQL
|
||||
Private clienteAnt As String = ""
|
||||
Dim panelSombra As Panel 'Panel de sombra.
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
Public Sub Initialize (vCallback As Object, vEventName As String, vRoot As B4XView, skmt As SQL) As Object
|
||||
Root2 = vRoot
|
||||
EventName = vEventName
|
||||
CallBack = vCallback
|
||||
db = skmt
|
||||
vPreguntaActual = 0
|
||||
db.ExecNonQuery("CREATE TABLE IF NOT EXISTS CUESTIONARIO (Q_IDCLIENTE TEXT, Q_IDPREGUNTA TEXT, Q_PREGUNTA TEXT, Q_IDRESPUESTA TEXT, Q_RESPUESTA TEXT, Q_FECHA TEXT)")
|
||||
Return Me
|
||||
End Sub
|
||||
|
||||
'This event will be called once, before the page becomes visible.
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Root = Root1
|
||||
'load the layout to Root
|
||||
End Sub
|
||||
|
||||
'Regresa verdadero o falso dependiendo de si ya se inició la encuesta.
|
||||
'Sub encuestaIniciada As Boolean
|
||||
' Return vEncuestaIniciada
|
||||
'End Sub
|
||||
|
||||
'Regresa el Id de la pregunta actual (read-only).
|
||||
Sub preguntaActual As String 'ignore
|
||||
Return vPreguntaActual
|
||||
End Sub
|
||||
|
||||
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||
|
||||
'Muestra una pregunta con sus posibles respuestas.
|
||||
' La lista de respuestas puede ser directamente un array p. ej. Array As String("value1", "value2")
|
||||
' Crear un Sub_Click con el nombre del evento para que reciba un mapa con la respuesta p. ej.: Sub questionario_Click
|
||||
' Regresa un mapa con:
|
||||
' idPregunta - El Id especificado de la pregunta.
|
||||
' pregunta - El texto de la pregunta.
|
||||
' idRespuesta - Un numero consecutivo empezando en 1 por cada pregunta.
|
||||
' respuesta - El texto de la respuesta.
|
||||
' panel - El panel del popup para poder ocultarlo al contestar la pregunta. ( p. ej.: m.Get("panel").As(Panel).Visible = false )
|
||||
'###########################################
|
||||
' Sub questionario_Click
|
||||
' if m.get("idPregunta") = "1" ..Then .. Else con nuevas preguntas
|
||||
' End Sub
|
||||
'###########################################
|
||||
Sub agregaPregunta(id As String, pregunta As String, respuestas As List)
|
||||
encuestaIniciada = True
|
||||
vPreguntaActual = id
|
||||
bAceptarPregunta.Initialize("bAceptarPregunta")
|
||||
|
||||
Private su As StringUtils
|
||||
panelSombra.Initialize("pSombra")
|
||||
Private cd As ColorDrawable
|
||||
cd.Initialize(Colors.ARGB(125, 98, 98, 98), 0)
|
||||
panelSombra.Background = cd
|
||||
Private panelX As Panel 'Panel de la pregunta.
|
||||
panelX.Initialize("pQuest")
|
||||
Private lbl As Label 'Etiqueta de la pregunta.
|
||||
lbl.Initialize("")
|
||||
lbl.Text = pregunta
|
||||
lbl.TextSize = 16
|
||||
lbl.TextColor = Colors.Black
|
||||
cd.Initialize2(Colors.white, 20, 1, Colors.Gray) 'Borde y esquinas redondeadas del panel de la pregunta.
|
||||
panelX.Background = cd
|
||||
panelSombra.AddView(panelX, 10dip, 0dip, 80%x, 200dip)
|
||||
Root2.AddView(panelSombra, 0, 0, 100%x, 100%y) 'add the panel to the layout
|
||||
panelX.AddView(lbl, 20dip, 20dip, (panelX.Width * 0.9), 40dip) 'Agregamos la etiqueta al panel.
|
||||
lbl.Height = su.MeasureMultilineTextHeight(lbl, lbl.Text)
|
||||
Private r(respuestas.Size) As RadioButton
|
||||
For p = 0 To respuestas.Size - 1
|
||||
r(p).Initialize("r")
|
||||
r(p).Text = respuestas.Get(p)
|
||||
r(p).Tag = CreateMap("id":id, "pregunta":pregunta, "panel":panelSombra, "idRespuesta":p + 1)
|
||||
panelX.AddView(r(p), 10dip, (70 * (p + 1)), (panelX.Width * 0.9), 10) 'Agegamos el radio al panel.
|
||||
r(p).Height = su.MeasureMultilineTextHeight(r(p), r(p).Text) + 25 'Calculamos el alto del radio de acuerdo al largo del texto.
|
||||
Private newTop As Int = lbl.top + lbl.Height + 10 'Si es el primer radio, lo ponemos en top = alto de la "pregunta" + 10.
|
||||
If p <> 0 Then newTop = r(p - 1).Top + r(p - 1).Height + 5 'Calculamos el Top del radio de acuerdo al top y alto del radio anterior.
|
||||
r(p).Top = newTop
|
||||
Next
|
||||
r(0).Checked = True
|
||||
bAceptarPregunta.Text = "Continuar"
|
||||
panelX.AddView(bAceptarPregunta, 10, newTop + r(respuestas.Size - 1).Height + 20, 150dip, 50dip) 'Ponemos el boton de continuar despues del ultimo radio.
|
||||
bAceptarPregunta.Left = (panelX.Width / 2) - (bAceptarPregunta.Width / 2)
|
||||
panelX.Height = bAceptarPregunta.Top + bAceptarPregunta.Height + 15dip 'Calculamos el alto del panel de acuerdo al Top del boton.
|
||||
panelX.left = (Root2.Width / 2) - (panelX.Width / 2)
|
||||
panelX.top = (Root2.Height / 3) - (panelX.Height / 2)
|
||||
panelSombra.Width = Root2.Width
|
||||
panelSombra.Height = Root2.Height
|
||||
panelSombra.Elevation = 100
|
||||
panelSombra.BringToFront
|
||||
' panelSombra.Elevation = 0
|
||||
End Sub
|
||||
|
||||
private Sub preguntaContestada(Success As Map) 'ignore
|
||||
If SubExists(CallBack, EventName & "_preguntaContestada") Then
|
||||
CallSubDelayed2(CallBack, EventName & "_preguntaContestada", Success)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
private Sub pSombra_Click
|
||||
End Sub
|
||||
|
||||
private Sub r_CheckedChange(Checked As Boolean)
|
||||
bAceptarPregunta.tag = CreateMap("idPregunta":Sender.As(RadioButton).tag.As(Map).Get("id").As(String), "pregunta":Sender.As(RadioButton).tag.As(Map).Get("pregunta"), "idRespuesta":Sender.As(RadioButton).tag.As(Map).Get("idRespuesta").As(String), "respuesta":Sender.As(RadioButton).text, "panel":Sender.As(RadioButton).tag.As(Map).Get("panel"))
|
||||
End Sub
|
||||
|
||||
Private Sub bAceptarPregunta_Click
|
||||
encuestaIniciada = True
|
||||
Private m As Map = Sender.As(Button).tag.As(Map) 'Recibimos el id de la pregunta, el id de la respuesta, el texto de la respuesta y el objeto del panelSombra para poder ocultarlo.
|
||||
preguntaContestada(m)
|
||||
'' m.Get("panel").As(Panel).Visible = False 'Ocultamos el panel de la pregunta.
|
||||
' m.Get("panel").As(Panel).RemoveView
|
||||
' If m.Get("idPregunta") = "1" And m.Get("respuesta") = "No, está enrejado o no se tiene acceso" Then
|
||||
' Log("Tiendajon / Ventana / Kiosko")
|
||||
' else If m.Get("idPregunta") = "1" And m.Get("respuesta") = "Si se pude acceder" Then
|
||||
' agregaPregunta("2", "¿Tiene al menos 2 pasillos con acceso directo a la mercancía?", Array As String("Si tiene al menos 2 pasillos con acceso directo a la mercancía", "No tiene pasillos o solo uno central"))
|
||||
' End If
|
||||
' If m.Get("idPregunta") = "2" And m.Get("respuesta") = "Si tiene al menos 2 pasillos con acceso directo a la mercancía" Then
|
||||
' Log("Mini-Super")
|
||||
' else If m.Get("idPregunta") = "2" And m.Get("respuesta") = "No tiene pasillos o solo uno central" Then
|
||||
' agregaPregunta("3", "¿Cuenta con enfriador horizontal para venta de perecederos como queso, jamon, crema, etc.?", Array As String("Si", "No tiene enfriador horizontal. ¿El local esta enfocado a venta especializada?"))
|
||||
' End If
|
||||
End Sub
|
||||
|
||||
'Regresa verdadero si el cliente dado tiene cuestionario contestado.
|
||||
Sub clienteConCuestionario(idCliente As String) As Boolean 'ignore
|
||||
Private r As Boolean = False
|
||||
Private c As Cursor = db.ExecQuery($"select count(*) as q from CUESTIONARIO where Q_IDCLIENTE = '${idCliente}'"$)
|
||||
c.Position = 0
|
||||
If c.GetInt("q") > 0 Then r = True
|
||||
Return r
|
||||
End Sub
|
||||
|
||||
'Oculta el anel de la pregunta.
|
||||
Sub ocultPanelPregunta
|
||||
If panelSombra.IsInitialized Then panelSombra.RemoveView
|
||||
End Sub
|
||||
@@ -581,7 +581,7 @@ Sub Subir_Click
|
||||
'ELSE IF c.GetString("DESCUENTO") = 0 Then
|
||||
PASO = 1
|
||||
'End If
|
||||
If PASO =1 Then
|
||||
If PASO = 1 Then
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") )
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
||||
@@ -745,6 +745,23 @@ Sub Subir_Click
|
||||
img2.Visible =True
|
||||
PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
||||
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
|
||||
|
||||
|
||||
'CUESTIONARIOS
|
||||
c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$)
|
||||
Private rutaActual As String = Subs.traeRuta
|
||||
If c.RowCount > 0 Then
|
||||
For x = 0 To c.RowCount - 1
|
||||
c.Position = x
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_CUESTIONARIO_DUR"
|
||||
cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, ALMACEN, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA"))
|
||||
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_cuestionario")
|
||||
Next
|
||||
End If
|
||||
c.Close
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -1720,8 +1737,12 @@ Sub JobDone(Job As HttpJob)
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
If RESULT.Tag = "ins_cuestionario" Then 'query tag
|
||||
Subs.logJobDoneResultados(RESULT)
|
||||
End If
|
||||
|
||||
Job.Release
|
||||
End Sub
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -19,6 +19,7 @@ ModuleBookmarks24=
|
||||
ModuleBookmarks25=
|
||||
ModuleBookmarks26=
|
||||
ModuleBookmarks27=
|
||||
ModuleBookmarks28=
|
||||
ModuleBookmarks3=
|
||||
ModuleBookmarks4=
|
||||
ModuleBookmarks5=
|
||||
@@ -47,6 +48,7 @@ ModuleBreakpoints24=
|
||||
ModuleBreakpoints25=
|
||||
ModuleBreakpoints26=
|
||||
ModuleBreakpoints27=
|
||||
ModuleBreakpoints28=
|
||||
ModuleBreakpoints3=
|
||||
ModuleBreakpoints4=
|
||||
ModuleBreakpoints5=
|
||||
@@ -58,10 +60,10 @@ ModuleClosedNodes0=
|
||||
ModuleClosedNodes1=
|
||||
ModuleClosedNodes10=
|
||||
ModuleClosedNodes11=
|
||||
ModuleClosedNodes12=1,7
|
||||
ModuleClosedNodes13=9,11
|
||||
ModuleClosedNodes14=9,10
|
||||
ModuleClosedNodes15=
|
||||
ModuleClosedNodes12=
|
||||
ModuleClosedNodes13=1,7
|
||||
ModuleClosedNodes14=9,11
|
||||
ModuleClosedNodes15=9,10
|
||||
ModuleClosedNodes16=
|
||||
ModuleClosedNodes17=
|
||||
ModuleClosedNodes18=
|
||||
@@ -69,19 +71,20 @@ ModuleClosedNodes19=
|
||||
ModuleClosedNodes2=
|
||||
ModuleClosedNodes20=
|
||||
ModuleClosedNodes21=
|
||||
ModuleClosedNodes22=2
|
||||
ModuleClosedNodes23=
|
||||
ModuleClosedNodes24=1
|
||||
ModuleClosedNodes25=
|
||||
ModuleClosedNodes26=49,50,52,53,55,58,61
|
||||
ModuleClosedNodes27=
|
||||
ModuleClosedNodes22=
|
||||
ModuleClosedNodes23=2
|
||||
ModuleClosedNodes24=
|
||||
ModuleClosedNodes25=1
|
||||
ModuleClosedNodes26=
|
||||
ModuleClosedNodes27=49,50,52,53,55,58,61
|
||||
ModuleClosedNodes28=
|
||||
ModuleClosedNodes3=
|
||||
ModuleClosedNodes4=
|
||||
ModuleClosedNodes5=3
|
||||
ModuleClosedNodes6=
|
||||
ModuleClosedNodes7=
|
||||
ModuleClosedNodes8=1
|
||||
ModuleClosedNodes9=
|
||||
NavigationStack=C_Productos,b_terminar1_Click,606,0,C_Productos,b_prodMas_Click,513,0,C_Cliente,JobDone,902,0,C_Cliente,mandaPendientes,884,0,B4XMainPage,b_apk_Click,655,0,Diseñador Visual,login.bal,-100,4,B4XMainPage,muestraProgreso,656,0,Starter,Process_Globals,26,0,appUpdater,download_newApk,164,0,B4XMainPage,B4XPage_Appear,248,0,B4XMainPage,B4XPage_Created,141,0
|
||||
ModuleClosedNodes8=
|
||||
ModuleClosedNodes9=1
|
||||
NavigationStack=C_Cliente,Class_Globals,145,0,C_Cliente,B4XPage_Created,158,0,Visual Designer,cliente.bal,-100,1,C_Cliente,b_venta_Click,722,0,C_Cliente,gest_Click,411,0,C_Cliente,B4XPage_CloseRequest,448,0,C_Cliente,CreateListItem,1060,0,C_Cliente,cuest_preguntaContestada,1064,0,C_Principal,Class_Globals,0,0,C_Principal,Subir_Click,739,0,C_Principal,JobDone,1737,0
|
||||
SelectedBuild=0
|
||||
VisibleModules=2,25,23,12,15,13,4,26,14,8
|
||||
VisibleModules=2,26,24,13,16,14,4,27,15,9
|
||||
|
||||
Reference in New Issue
Block a user