B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=11.5
@EndOfDesignText@
Sub Class_Globals
	Private Root As B4XView 'ignore
	Private xui As XUI 'ignore
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.
	Dim g As GPS
	Dim ruta As String
	Dim clie_id As String
	Dim sDate,sTime As String
	Dim usuario As String
	Dim total_cliente As String
	Dim m_lat As String
	Dim m_lon As String
	Dim btAdmin As BluetoothAdmin
	Dim cmp20 As Serial
	'Dim printer As TextWriter
	Dim PairedDevices As Map
	Dim L As List
	Dim TAMANO As Int
	Dim ESPACIO As Int
	Dim BLANCO As String
	Dim cuenta As String
'	Dim tipov As String
	Dim Printer1 As EscPosPrinter
'	Dim MAC_IMPRESORA As String
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.

	Dim c As Cursor
	Dim s As Cursor
	Dim c2 As Cursor
	Dim E1 As Cursor
	Dim ListView1 As ListView
	Dim la_cuenta As Label
	Dim La_nombre As Label
	Dim la_Calle As Label
	Dim la_numero As Label
	Dim la_nint As Label
	Dim la_edo As Label
	Dim la_pob As Label
	Dim la_col As Label
	Dim la_cp As Label
	Dim la_zona As Label
	Dim gest As Button
	Dim la_saldotot As Label
	Dim la_saldooper As Label
	
	Dim Tels As Button
	Dim Label10 As Label
	Dim Label11 As Label
	
	Dim Tar As Button
	
	Dim la_comm As Label
	Dim la_actdte As Label
	Dim la_usuario As Label
	Dim la_resultado As Label
	Dim l_entre1 As Label
	Dim l_entre2 As Label
	Dim l_atiende As Label
	Dim l_atiende2 As Label
	Dim DATOS As Button
	Dim Guardar As Button
	Dim NUEVO As Button
	'    Dim lat_gps, lon_gps As String

	Dim l_total As Label
	Dim c2 As Cursor
	Dim S2 As Cursor
	Private s As Cursor
	Dim res As String
	Private HIST As Button
	Private MONTO_COMPRA As String
	Private META As String
	Private META2 As String
	Private VERIFICA As String
	Private L_QR As Label
	Private BT_QR As Button
	Private qr As QRCode
	Dim sc As Zxing_scanner
	Dim CODIGO As String

	Private b_mapa As Button
	Dim CUANTOS As String
	Private B_IMP As Button
'	Dim Toggla As Toggle
	Private B_VENTA As Button
	Dim PASA_IMP As String
	Dim sucursal As String
	Dim FACTURA As String
	Dim CREDITO As String
	Private b_factura As Button
	Dim perfil As String
	Private CH_TA As CheckBox
	Private CH_TC As CheckBox
	Private CH_TB As CheckBox
	Private CH_TD As CheckBox
	Private E_CUANTOS_E As EditText
	Private B_GUARDAR As Button
	Private TIPOEX As String
	Private B_EXIBI As Button
	Private Panel1 As Panel
	
	Dim t3 As Timer
	Private B_INV As Button
	Private B_IMP2 As Button
	
	Dim id_encuesta As String
	Dim LLAMAR_FOTO As String
	Dim CURSOR_FOTO As Int
	Dim TOMAR_FOTO As String
	Private Panel10 As Panel
	Private l_chk_e As Label
	Private Chk_1 As CheckBox
	Private chk_2 As CheckBox
	Private chk_3 As CheckBox
	Private b_chk_e As Button
	
	Private chk_1_valor As String
	Private chk_2_valor As String
	Private chk_3_valor As String
	Private t_tenc As Label
	Private E_RES_E As EditText
	Private B_E_NEXT As Button
	Private Panel9 As Panel
	Private Label26 As Label
	Dim impresoraConectada As Boolean = False
	Dim printer As TextWriter
	Private b_guadaenc As Button
	Private cb_pregunta8 As B4XComboBox
	Private rb_p7si As RadioButton
	Private rb_p7no As RadioButton
	Private et_pregunta6 As EditText
	Private et_pregunta5 As EditText
	Private et_pregunta4 As EditText
	Private et_pregunta3 As EditText
	Private et_pregunta2 As EditText
	Private cb_pregunta1 As B4XComboBox
	Private Label1 As Label
	Private sv_encuesta As ScrollView
	Private p_encuestas As Panel
	Dim itemselect As String
	Dim itemselect2 As String
	Dim pregunta7 As String
	Dim bandera As Int
	Dim errorImpresora As Int = 0
	Dim cuest As C_Cuestionario
	Private p_encuesta As Panel
	Private l_txtEncuesta As Label
	Private b_encuesta_1 As Button
	Private b_encuesta_2 As Button
	Private b_encuesta_3 As Button
	Private l_titEncuesta As Label
	Private ImageView11 As ImageView
	Private b_encuesta_continuar As Button
	Private et_encuesta As EditText
	Dim indicePregunta As Int
	Private botonPresionado As Int
	Private encuestaRes As String
	Dim TOMAR_FOTO As String
	Private l_segmentoK2 As Label
	Dim salirDeEncuesta As Boolean
End Sub

Sub initialize

End Sub

Private Sub B4XPage_Created (Root1 As B4XView)
	'Do not forget to load the layout file created with the visual designer. For example:
	'Activity.LoadLayout("Layout1")
	Root = Root1
	Root.RemoveAllViews
	Root.LoadLayout("Cliente")
	cuest.Initialize(Me, "cuest", Root, Starter.skmt)
	c= Starter.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_BFACTURA,CAT_CL_BCREDITO  from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
	s = Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
	If c.RowCount > 0 Then
		c.Position = 0
		la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
		cuenta = c.GetString("CAT_CL_CODIGO")
		La_nombre.Text = c.GetString("CAT_CL_NOMBRE")
		la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT")
		la_col.Text = c.GetString("CAT_CL_COLONIA")
		la_edo.Text = c.GetString("CAT_CL_EDO")
		la_cp.Text = c.GetString("CAT_CL_CP")
		l_entre1.Text = c.GetString("CAT_CL_CALLE1")
		l_entre2.Text = c.GetString("CAT_CL_CALLE2")
		l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
		l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
		la_saldotot.Text = c.GetString("CAT_CL_TELEFONO")
		la_saldooper.Text = c.GetString("CAT_CL_EMAIL")
		MONTO_COMPRA = c.GetString("CAT_CL_MTOCOMPRA")
		FACTURA = c.GetString("CAT_CL_BFACTURA")
		CREDITO = c.GetString("CAT_CL_BCREDITO")
	End If
	If s.RowCount > 0 Then
		s.Position = 0
		l_total.Text = s.GetString("TOTAL_CLIE")
		total_cliente = s.GetString("TOTAL_CLIE")
	End If
'	c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
'	If c.RowCount > 0 Then
'		c.Position = 0
'		Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")		
'	End If
'	If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
'	Log("|" & Starter.MAC_IMPRESORA & "|")
'	Printer1.Initialize(Me, "Printer1")

	TOMAR_FOTO = 0
	g.Initialize("GPS")
	Panel1.Top = La_nombre.Top + La_nombre.Height + 5 : Panel1.left = 0
	Panel9.Top = La_nombre.Top + La_nombre.Height + 5 : Panel9.left = 0
	Panel10.Top = La_nombre.Top + La_nombre.Height + 5 : Panel10.left = 0
	
End Sub

Sub B4XPage_Appear
	indicePregunta = 0
	salirDeEncuesta = False
	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.Position =0
	Private MARCASQ As String = c.GetString("CAT_VA_VALOR")
	c.Close
	Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_CLASIF NOT IN (" & MARCASQ &")" )
	B_VENTA.Enabled = True
	If Subs.traeCliente = 0 Then B_VENTA.Enabled = False
	c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
	If c.RowCount > 0 Then
		c.Position = 0
		Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
	End If
	If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
'	Log("|" & Starter.MAC_IMPRESORA & "|")
	Printer1.Initialize(Me, "Printer1")
	
	BT_QR.Enabled = False
	b_factura.Visible = False
	FACTURA =0
	If g.GPSEnabled=False Then
		ToastMessageShow("Habilitar el GPS", True)
		StartActivity(g.LocationSettingsIntent)
	Else
		g.Start(0,0)
	End If
	c=Starter.skmt.ExecQuery("select * from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
	s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
	s.Position=0
	c.Position=0
	la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
	La_nombre.Text = c.GetString("CAT_CL_NOMBRE")
	la_Calle.Text = c.GetString("CAT_CL_CALLE") & " " & c.GetString("CAT_CL_NOEXT")
	la_col.Text = c.GetString("CAT_CL_COLONIA")
	la_edo.Text = c.GetString("CAT_CL_EDO")
	la_cp.Text = c.GetString("CAT_CL_CP")
	l_entre1.Text = c.GetString("CAT_CL_CALLE1")
	l_entre2.Text = c.GetString("CAT_CL_CALLE2")
	l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
	l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
	'la_saldotot.Text = c.GetString("CAT_CL_TELEFONO")
	'la_saldooper.Text = c.GetString("CAT_CL_EMAIL")
	l_total.Text = s.GetString("TOTAL_CLIE")
	total_cliente = s.GetString("TOTAL_CLIE")
	m_lat =c.GetString("CAT_CL_LAT")
	m_lon =c.GetString("CAT_CL_LONG")
	FACTURA = c.GetString("CAT_CL_BFACTURA")
	CREDITO = c.GetString("CAT_CL_BCREDITO")
	l_segmentoK2.Text = c.GetString("CAT_CL_CLASIFICADOR1")
	'####################################################################################
	'########  Ponemos CREDITO en CERO porque ahora se esta usando para #################
	'########        INFO en el TICKET y no para restringir venta       #################
	'####################################################################################
	CREDITO = 0
	'####################################################################################
			
	If l_total.Text <> Null Then

		If la_cuenta.Text.Contains("N") = True Then
			FACTURA  = 0
		End If
				
'		If FACTURA = "1" Then
'			b_factura.Visible = True
'		End If
	End If
	
	If c.GetString("CAT_CL_NUM_SERIEFISICO") = "0"  Then
		L_QR.Visible = True
	Else
		L_QR.Visible = False
	End If
	S2=Starter.skmt.ExecQuery("select count(*) AS CUANTOS from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
	S2.Position =0
	CUANTOS = S2.GetString("CUANTOS")
	S2.Close
	If CUANTOS > 0 Then
		c2=Starter.skmt.ExecQuery("select sum(HVD_COSTO_TOT) AS TOTAL from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
		c2.Position =0
		MONTO_COMPRA = c2.GetString("TOTAL")
		c2.Close
	Else
		MONTO_COMPRA = "0"
	End If
			
	la_saldotot.Text = MONTO_COMPRA
	If MONTO_COMPRA <> "0" Then
		META2 = 300 -  MONTO_COMPRA
	Else
		META2 = 300
	End If
	If META2 = 0 Then
		META2 = "CUBIERTO"
	Else
		
		la_saldooper.Text = NumberFormat2(META2, 1, 3, 2, False)
	End If
	
	If Printer1.IsConnected = False Then
'		Printer1.Connect
'		Log("1")
	Else
		Printer1.DisConnect
		Printer1.Connect
		Log("2")
	End If
'	Printer1.DisConnect
	If PASA_IMP = "1" Then
		B_IMP.Enabled = True
	End If
	If la_cuenta.Text = "0" Then
		B_VENTA.Visible = False
		gest.Visible = False
	Else
		B_VENTA.Visible = True
		gest.Visible = True
	End If
'	Log(">>>>>>>>>>>> "&Starter.tipov)
	If sv_encuesta.Visible = False Then
		b_factura.Visible = False
		B_EXIBI.Visible = True
		HIST.Visible = True
		Tar.Visible = True
		Tels.Visible = True
		B_VENTA.Visible = True
		B_IMP.Visible = True
		gest.Visible = True
		B_IMP2.Visible = True
		B_INV.Visible = True
		Guardar.Visible = True
	Else if sv_encuesta.Visible = True Then
		b_factura.Visible = False
		B_EXIBI.Visible = False
		HIST.Visible = False
		Tar.Visible = False
		Tels.Visible = False
		B_VENTA.Visible = False
		B_IMP.Visible = False
		gest.Visible = False
		B_IMP2.Visible = False
		B_INV.Visible = False
		Guardar.Visible = False
	End If
	
	If CREDITO = "1" Then
		Msgbox("A este cliente no se le puede vender ya que tiene adeudo en su crédito","ALTO")
		B_VENTA.Visible = False
		gest.Visible = False
	Else
		B_VENTA.Visible = True
		gest.Visible = True
	End If
	
	c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
	c.Position =0
	perfil = c.GetString("CAT_VA_VALOR")
	c.Close
'	Log(perfil&"-------------------------")
	If perfil = "V-ESPECIAL" Then
		c= Starter.skmt.ExecQuery("SELECT CAT_GP_PRECIO, CAT_GP_ID FROM CAT_PRECIOS")
		If c.RowCount > 0 Then
			For i = 0 To c.RowCount -1
				c.Position = i
				Starter.skmt.ExecNonQuery2("Update PEDIDO SET PE_PRECIO2 = ? WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String(c.GetString("CAT_GP_PRECIO"),c.GetString("CAT_GP_ID")))
				Starter.skmt.ExecNonQuery("Update PEDIDO SET PE_TIPO = 'VENTA' WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
			Next
		End If
	End If
End Sub

Sub GPS_LocationChanged (Location1 As Location)
	'lat_gps=Location1.Latitude
	'lon_gps=Location1.Longitude
'	BT_QR.Enabled = True
	Dim sDate,sTime As String
	DateTime.DateFormat = "MM/dd/yyyy"
	sDate=DateTime.Date(DateTime.Now)
	sTime=DateTime.Time(DateTime.Now)
	Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
	Starter.skmt.ExecNonQuery2("INSERT INTO  HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, Starter.lat_gps, Starter.lon_gps))
End Sub

Sub ListView1_ItemLongClick (Position As Int, Value As Object)
	
End Sub

Sub gest_Click
	Log("GEST CLIC")
	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
'	If la_cuenta.Text <> "0" Then
'		Dim queenc As String
'		'		1=1 ----> si no esta en el historico que se descargue del web ver si esta contestada de manera local
'		If B4XPages.MainPage.principal.ALMACEN = "6" Then queenc = "1"
'		If B4XPages.MainPage.principal.ALMACEN = "1" Then queenc = "2"
'		If B4XPages.MainPage.principal.ALMACEN = "2" Then queenc = "3"
'		If B4XPages.MainPage.principal.ALMACEN = "3" Then queenc = "4"
'		If B4XPages.MainPage.principal.ALMACEN = "4" Then queenc = "5"
'		If B4XPages.MainPage.principal.ALMACEN = "5" Then queenc = "6"
'		c2 = Starter.skmt.ExecQuery2("SELECT HE_CLIE FROM HIST_ENCUESTA3 WHERE HE_TIPO = ? AND HE_CLIE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(queenc))
'		If c2.RowCount = 0 Then
	''			2=2 ----> si no esta en el historico local mostrar encuesta
'			c = Starter.skmt.ExecQuery("SELECT DISTINCT HE_CLIE FROM HIST_ENCUESTA4 WHERE HE_CLIE IN(SELECT CUENTA FROM CUENTAA)")
'			If c.RowCount = 0  Then
'				b_factura.Visible = False
'				B_EXIBI.Visible = False
'				HIST.Visible = False
'				Tar.Visible = False
'				Tels.Visible = False
'				B_VENTA.Visible = False
'				B_IMP.Visible = False
'				gest.Visible = False
'				B_IMP2.Visible = False
'				B_INV.Visible = False
'				Guardar.Visible = False
'				sv_encuesta.Visible = True
'				sv_encuesta.Height = Root.Height
'				sv_encuesta.Width = Root.Width
'				sv_encuesta.Panel.LoadLayout("encuesta")
'				sv_encuesta.Panel.Height = p_encuestas.Height
'				p_encuestas.Width = Root.Width
'			
'				Dim items As List
'				items.Initialize
'				items.Add("Selecciona una opción")
'				items.Add("ESQUINA")
'				items.Add("CALLE")
'				items.Add("AVENIDA")
'				cb_pregunta1.SetItems(items)
'				itemselect = "Selecciona una opción"
'			
'				Dim items2 As List
'				items2.Initialize
'				items2.Add("Selecciona una opción")
'				items2.Add("1 persona")
'				items2.Add("2 personas")
'				items2.Add("Mas de 2 personas")
'				cb_pregunta8.SetItems(items2)
'				itemselect2 = "Selecciona una opción"
'			
'				bandera = 2
'			Else
'				Starter.tipov = "PREVENTA"
'				B4XPages.ShowPage("Productos")
'			End If
'		Else
'			Starter.tipov = "PREVENTA"
'			B4XPages.ShowPage("Productos")
'		End If
'	Else If la_cuenta.Text = "0" Then
'		Starter.tipov = "PREVENTA"
'		If Subs.traeCliente = 0 Then Starter.tipov = "ABORDO"
'		B4XPages.ShowPage("Productos")
'	End If
	Starter.tipov = "PREVENTA"
	Log($"TOMAR_FOTO = ${TOMAR_FOTO}"$)
	If TOMAR_FOTO = 0 Then
		Cuestionario
	Else
		B4XPages.ShowPage("Productos")
'	StartActivity(colonia2)
'	Cuestionario
	End If
End Sub

Sub Tels_Click
	' skmt.ExecNonQuery("delete from PEDIDO")
'	StartActivity(nopago)
	B4XPages.ShowPage("NoVenta")
End Sub

Private Sub B4XPage_CloseRequest As ResumableSub
	cuest.encuestaIniciada = False
	cuest.ocultPanelPregunta
	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
	Else If Subs.hayPedido Then
		ToastMessageShow("Hay VENTA, por favor presiona GUARDAR para continuar.", True)
		Return False
	Else
		B4XPages.ShowPage("Principal")
		Return False
	End If
End Sub

Sub Tar_Click
'	StartActivity(tarjeta)
	B4XPages.ShowPage("Nota")
End Sub

Sub DATOS_Click
'	StartActivity(telefonos)
End Sub

Sub Guardar_Click
	DateTime.DateFormat = "MM/dd/yyyy"
	sDate=DateTime.Date(DateTime.Now)
	sTime=DateTime.Time(DateTime.Now)
	c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
	c.Position=0
	clie_id = c.GetString("CUENTA")
	c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
	c.Position=0
	usuario = c.GetString("USUARIO")

	c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
	c.Position=0
	If c.GetString("CUANTOS") > 0 Then
		Starter.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
		Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
		Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))
		Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2  where CAT_CL_CODIGO In (select cuenta from cuentaa)")
	End If
	c.Close

	Starter.skmt.ExecNonQuery("delete from pedido3")
	Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 SELECT PE_PRECIO2, PE_TIPO, PE_FOLIO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, 1 As PE_FECHA, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_FOLIO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE")
	c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_FOLIO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,	PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")

	If c.RowCount>0 Then
		For i=0 To c.RowCount -1
			c.Position=i
			Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ?  AND PE_CEDIS = ?", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS")))
		Next
	End If
	Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
	Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")

	B4XPages.ShowPage("Principal")
'	StartActivity(seleccion)
End Sub

Sub NUEVO_Click
'	StartActivity(nuevocliente)
End Sub

Sub HIST_Click
'	StartActivity(Historico)
	B4XPages.ShowPage("Historico")
End Sub

Sub BT_QR_Click
	'StartActivity(QR_MODULE)
	Dim scan_width As Int
	Dim scan_height As Int
	scan_width = 400
	scan_height = 400
	sc.BeginScan("sc","CODIGO CLIENTE",scan_width,scan_height)
End Sub

Sub sc_result(atype As String,Values As String)
	CODIGO = Values
	Starter.skmt.ExecNonQuery2("UPDATE kmt_info set CAT_CL_NUM_SERIEFISICO = ?, CAT_CL_LONG = ?, CAT_CL_LAT =? where CAT_CL_CODIGO In (select cuenta from cuentaa)", Array As Object(CODIGO, Starter.lon_gps, Starter.lat_gps))
End Sub

Sub sc_noScan
	Log("nothing returned from the scan !!!!!")
End Sub

Sub calc_ean_checksum(number As String) As String           'this has now become redundant as I am only interested in QR Codes
	Dim i As Int
	Dim cO As Char
	Dim soma As Int
	Dim n As Int
	Dim digit As Float
   
	soma = 0
	For i=0 To number.Length - 1
		digit = number.SubString2(i,i+1)
		n= digit * ((i Mod 2) * 2 + 1)
		soma=soma+n
	Next
	Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 )
End Sub

Sub b_mapa_Click
'	StartActivity(mapas)
End Sub

Sub B_IMP_Click
'	Printer1.Connect2
	c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
	c.Position =0
	perfil = c.GetString("CUANTOS")
	c.Close
	
'	If perfil > 0 Then
	c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
	If c.RowCount > 0 Then
		c.Position =0
		perfil = c.GetString("CAT_VA_VALOR")
		c.Close
	End If
	LogColor(perfil,Colors.Magenta)
'	End If
	
	
	
	c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
	c.Position=0
	usuario = c.GetString("USUARIO")
	DateTime.DateFormat = "MM/dd/yyyy HH:mm:ss"
	sDate=DateTime.Date(DateTime.Now)
	sTime=DateTime.Time(DateTime.Now)
	c.Close
	c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
	c.Position = 0
	sucursal = c.GetString("CAT_VA_VALOR")
	c.Close
	
	ProgressDialogShow("Imprimiendo, un momento ...")
	Printer1.DisConnect
	If Not(Printer1.IsConnected) Then
		Log("Conectando a impresora ...")
		Printer1.Connect
		Private cont As Int = 0
		Do While Not(impresoraConectada)
			Sleep(1000)
			Log("++++++  " & cont)
			cont = cont + 1
			If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
			If cont > 3 Then impresoraConectada = True
		Loop
		Sleep(500)
		impresoraConectada = False
	Else
		Log("conectando 2")
		Printer1.Connect
		Private cont As Int = 0
		Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
			Sleep(1000)
			Log("******  " & cont)
			cont = cont + 1
			If cont = 2 Then Printer1.Connect
			If cont > 3 Then impresoraConectada = True
		Loop
		Sleep(500)
		impresoraConectada = False
	End If
	
	TAMANO = 0
	ESPACIO = 21
	BLANCO = " "
	Dim bmp As Bitmap
	bmp.InitializeResize(File.DirAssets, "durakelo1.png", 376, 129, True) 'ignore
	Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
	myimage = Printer1.DitherImage2D(myimage, 128)
	myimage= Printer1.PackImage(myimage)
	Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
	Printer1.WriteString(Printer1.REVERSE)
	Printer1.PrintImage(myimage)
	Printer1.WriteString(Printer1.UNREVERSE)
	Private x As ResultSet = Starter.skmt.ExecQuery($"SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION ='DOMICILIO'"$)
	Private domicilioF As String = ""
	Do While x.NextRow
		domicilioF = x.GetString("CAT_VA_VALOR")
	Loop
	'Printer1.Justify = 1
	'printer.Initialize(cmp20.OutputStream)
	Printer1.WriteString("DURAKELO S.A. de C.V." &  CRLF)
	Printer1.WriteString("RFC: DUR-011025-T12" &  CRLF)
	Printer1.WriteString("REGIMEN GENERAL DE LEY DE PERSONAS MORALES" &  CRLF)
	Printer1.WriteString("DOM: " & domicilioF &  CRLF)
	Printer1.WriteString(sucursal &  CRLF)
	Printer1.WriteString(Subs.fechanormal(DateTime.Now) &  CRLF)
	Printer1.WriteString("Vendedor:" & usuario &  CRLF)
	Printer1.WriteString("Tienda: " & La_nombre.Text &  CRLF)
	Printer1.WriteString("ID.Cliente: " &  la_cuenta.Text &  CRLF)
	Printer1.WriteString("Calle: " & la_Calle.Text &  CRLF)
	Printer1.WriteString("Colonia: " & la_col.Text &  CRLF)
	Printer1.WriteString("C.P.: " & la_cp.Text &  CRLF)
	Printer1.WriteString("Entre calle1: " & l_entre1.Text &  CRLF)
	Printer1.WriteString("Entre Calle2: " & l_entre2.Text &  CRLF)
	
	If perfil = "V-ESPECIAL" Then 'Or perfil = "V-SUPER"
		Printer1.WriteString("-----------PREVENTA-----------" &  CRLF)
		' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
		s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_PRECIO2 as PE_COSTOU, length(PE_PRECIO2) as L_COSTOU,PE_CANT * PE_PRECIO2 AS  PE_COSTO_TOT, length(PE_CANT * PE_PRECIO2) as L_COSTO_TOT,PE_PROID, PE_CEDIS  FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)  order by PE_PROID ", Array As String("PREVENTA"))
		If S.RowCount>0 Then
			For i=0 To S.RowCount -1
				S.Position=i
				If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
					Printer1.WriteString(s.GetString("PE_PRONOMBRE") &  CRLF)
				
				Else
				
					Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") &  CRLF)
					TAMANO = s.GetLong("L_CANT") + TAMANO
					TAMANO = s.GetLong("L_COSTOU") + TAMANO
					TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
	
					ESPACIO = ESPACIO - TAMANO
	
					For E=0 To ESPACIO -1
						BLANCO = " " & BLANCO
					Next
					Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & "   $" & s.GETSTRING("PE_COSTO_TOT") &  CRLF )
					TAMANO = 0
					ESPACIO = 21
					BLANCO = " "
					
				End If
			Next
		End If
		s.Close
		s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL, SUM(PE_PRECIO2 * PE_CANT) AS TOTAL2 FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("PREVENTA"))
		s.Position =0
		If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
			Dim totaltotaltoal As Float = s.GetString("TOTAL2") -  s.GetString("TOTAL")
			Printer1.WriteString("Descuento:     $" & 	NumberFormat2(totaltotaltoal, 1, 3, 2, False) &  CRLF)
		End If
		Printer1.WriteString("Total Preventa:   $" & s.GetString("TOTAL") &  CRLF)
		s.Close
		c=Starter.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )")
		C.Position=0
		Printer1.WriteString("Total Articulos:   " & c.GetString("PC_NOART") &  CRLF)
		c.Close
		Printer1.WriteString(" " &  CRLF)
	Else
		Printer1.WriteString("-----------PREVENTA-----------" &  CRLF)
		' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
		s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS  PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS  FROM PEDIDO WHERE PE_TIPO = ? AND PE_CEDIS <> ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa)  order by  PE_PROID", Array As String("PREVENTA","DUR"))
		If S.RowCount>0 Then
			For i=0 To S.RowCount -1
				S.Position=i
				If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
					Printer1.WriteString(s.GetString("PE_PRONOMBRE") &  CRLF)
				
				Else
				
					Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") &  CRLF)
					TAMANO = s.GetLong("L_CANT") + TAMANO
					TAMANO = s.GetLong("L_COSTOU") + TAMANO
					TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
	
					ESPACIO = ESPACIO - TAMANO
	
					For E=0 To ESPACIO -1
						BLANCO = " " & BLANCO
					Next
					Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & "   $" & s.GETSTRING("PE_COSTO_TOT") &  CRLF )
					TAMANO = 0
					ESPACIO = 21
					BLANCO = " "
				End If
			Next
		End If
		s.Close
		Printer1.WriteString(" " &  CRLF)
		s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS  PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS  FROM PEDIDO WHERE PE_TIPO = ? and LENGTH(PE_CEDIS) > 3  AND PE_CLIENTE IN (Select CUENTA from cuentaa)  order by  PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
		If S.RowCount>0 Then
			Printer1.WriteString("----PROMOS----" &  CRLF)
			For i=0 To S.RowCount -1
				S.Position=i
				If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
					Printer1.WriteString(s.GetString("PE_PRONOMBRE") &  CRLF)
				
				Else
				
					Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") &  CRLF)
					TAMANO = s.GetLong("L_CANT") + TAMANO
					TAMANO = s.GetLong("L_COSTOU") + TAMANO
					TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
	
					ESPACIO = ESPACIO - TAMANO
	
					For E=0 To ESPACIO -1
						BLANCO = " " & BLANCO
					Next
					Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & "   $" & s.GETSTRING("PE_COSTO_TOT") &  CRLF )
					TAMANO = 0
					ESPACIO = 21
					BLANCO = " "
				End If
			Next
			Printer1.WriteString(" " &  CRLF)
		End If
		s.Close
		
		Printer1.WriteString("-------------RMI..-----------" &  CRLF)
		' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
		s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS  PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS  FROM PEDIDO WHERE PE_TIPO = ? AND PE_CEDIS = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa)  order by  PE_PROID", Array As String("PREVENTA","DUR"))
		If S.RowCount>0 Then
			For i=0 To S.RowCount -1
				S.Position=i
				If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
					Printer1.WriteString(s.GetString("PE_PRONOMBRE") &  CRLF)
				
				Else
				
					Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") &  CRLF)
					TAMANO = s.GetLong("L_CANT") + TAMANO
					TAMANO = s.GetLong("L_COSTOU") + TAMANO
					TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
	
					ESPACIO = ESPACIO - TAMANO
	
					For E=0 To ESPACIO -1
						BLANCO = " " & BLANCO
					Next
					Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & "   $" & s.GETSTRING("PE_COSTO_TOT") &  CRLF )
					TAMANO = 0
					ESPACIO = 21
					BLANCO = " "
				End If
			Next
		End If
		s.Close
		
		s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL, SUM(PE_PRECIO2 * PE_CANT) AS TOTAL2 FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("PREVENTA"))
		s.Position =0
		'	If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
		'		Printer1.WriteString("Descuento:     $" & 	 (s.GetString("TOTAL2") -  s.GetString("TOTAL")))
		'	End If
		Printer1.WriteString("Total Preventa:   $" & s.GetString("TOTAL") &  CRLF)
		s.Close
		c=Starter.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) and PE_TIPO = 'PREVENTA'")
		C.Position=0
		Printer1.WriteString("Total Articulos:   " & c.GetString("PC_NOART") &  CRLF)
		
		Private bc As ResultSet = Starter.skmt.ExecQuery($"select CAT_CL_BCREDITO from kmt_info where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
		Private formaPago As String = "Efectivo"
		Do While bc.NextRow
			If bc.GetString("CAT_CL_BCREDITO") = 1 Then formaPago = "Por definir"
		Loop
		Printer1.WriteString("Forma de pago:   " & formaPago &  CRLF)
		c.Close
	
	End If
	Printer1.WriteString(" " &  CRLF)
	Printer1.WriteString("------------------------------" &  CRLF)
	Printer1.WriteString("ENTREGA EN :" &  CRLF)
	Printer1.WriteString(la_Calle.Text &  CRLF)
	Printer1.WriteString("----ESTE TICKET NO ES UN -----" &  CRLF)
	Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" &  CRLF)
	Printer1.WriteString("--------INFORMATIVO-----------" &  CRLF)
	Printer1.WriteString("------------------------------" &  CRLF)
	Printer1.WriteString(" " &  CRLF)
	
	Sleep(1000)
	Printer1.DisConnect
	
	ProgressDialogHide
'	printer.Flush
	'	printer.Close
	
End Sub

Sub B_IMP2_Click
'	Printer1.Connect2
	c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
	c.Position =0
	perfil = c.GetString("CUANTOS")
	c.Close
	
	c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
	If c.RowCount > 0 Then
		c.Position =0
		perfil = c.GetString("CAT_VA_VALOR")
		c.Close
	End If
	LogColor(perfil,Colors.Magenta)
	Log(1)
	c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
	c.Position=0
	usuario = c.GetString("USUARIO")
	DateTime.DateFormat = "MM/dd/yyyy HH:mm:ss"
	sDate=DateTime.Date(DateTime.Now)
	sTime=DateTime.Time(DateTime.Now)
	c.Close
	c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
	c.Position = 0
	sucursal = c.GetString("CAT_VA_VALOR")
	c.Close
	
	ProgressDialogShow("Imprimiendo, un momento ...")
	Printer1.DisConnect
	If Not(Printer1.IsConnected) Then
		Log("conectando 1")
		Printer1.Connect
		Private cont As Int = 0
		Do While Not(impresoraConectada)
			Sleep(1000)
			cont = cont + 1
			Log("x")
			If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
			If cont > 15 Then impresoraConectada = True
		Loop
		Sleep(500)
		impresoraConectada = False
	Else
		Log("conectando 2")
		Printer1.Connect
		Private cont As Int = 0
		Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
			Sleep(1000)
			cont = cont + 1
			If cont = 2 Then Printer1.Connect
			If cont > 4 Then impresoraConectada = True
		Loop
		Sleep(500)
		impresoraConectada = False
	End If
	Log("Iniciamos ...")
	TAMANO = 0
	ESPACIO = 21
	BLANCO = " "
	Dim bmp As Bitmap
	bmp.InitializeResize(File.DirAssets, "durakelo1.png", 376, 129, True) 'ignore
	Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
	myimage = Printer1.DitherImage2D(myimage, 128)
	myimage= Printer1.PackImage(myimage)
	Log("Iniciamos 2 ...")
	Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
	Printer1.WriteString(Printer1.REVERSE)
	Printer1.PrintImage(myimage)
	Printer1.WriteString(Printer1.UNREVERSE)
	Private x As ResultSet = Starter.skmt.ExecQuery($"SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION ='DOMICILIO'"$)
	Private domicilioF As String = ""
	Do While x.NextRow
		domicilioF = x.GetString("CAT_VA_VALOR")
	Loop
'	printer.Initialize(cmp20.OutputStream)
	Printer1.WriteString("DURAKELO S.A. de C.V." &  CRLF)
	Printer1.WriteString("RFC: DUR-011025-T12" &  CRLF)
	Printer1.WriteString("REGIMEN GENERAL DE LEY DE PERSONAS MORALES" &  CRLF)
	Printer1.WriteString("DOM: " & domicilioF &  CRLF)
	Printer1.WriteString(sucursal &  CRLF)
	Printer1.WriteString(Subs.fechanormal(DateTime.Now) &  CRLF)
	Printer1.WriteString("Vendedor:" & usuario &  CRLF)
	Printer1.WriteString("Tienda: " & La_nombre.Text &  CRLF)
	Printer1.WriteString("ID.Cliente: " &  la_cuenta.Text &  CRLF)
	Printer1.WriteString("Calle: " & la_Calle.Text &  CRLF)
	Printer1.WriteString("Colonia: " & la_col.Text &  CRLF)
	Printer1.WriteString("C.P.: " & la_cp.Text &  CRLF)
	Printer1.WriteString("Entre calle1: " & l_entre1.Text &  CRLF)
	Printer1.WriteString("Entre Calle2: " & l_entre2.Text &  CRLF)
	Printer1.WriteString(" " &  CRLF)
	Printer1.WriteString("-----------ENTREGA------------" &  CRLF)
	
	s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND PE_CEDIS <> ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa)  order by  PE_PRONOMBRE", Array As String("VENTA","DUR"))
	If S.RowCount>0 Then
		For i=0 To S.RowCount -1
			S.Position=i
			If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
				Printer1.WriteString(s.GetString("PE_PRONOMBRE") &  CRLF)
				
			Else
				
				Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") &  CRLF)
				TAMANO = s.GetLong("L_CANT") + TAMANO
				TAMANO = s.GetLong("L_COSTOU") + TAMANO
				TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
	
				ESPACIO = ESPACIO - TAMANO
	
				For E=0 To ESPACIO -1
					BLANCO = " " & BLANCO
				Next
				Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & "   $" & s.GETSTRING("PE_COSTO_TOT") &  CRLF )
				TAMANO = 0
				ESPACIO = 21
				BLANCO = " "
			End If
		Next
	End If
	s.Close
	Printer1.WriteString(" " &  CRLF)
	s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa)  order by  PE_CEDIS, PE_COSTOU", Array As String("VENTA"))
	If S.RowCount>0 Then
		Printer1.WriteString("-----------PROMOS-------------" &  CRLF)

		For i=0 To S.RowCount -1
			S.Position=i
			If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
				Printer1.WriteString(s.GetString("PE_PRONOMBRE") &  CRLF)
				
			Else
				
				Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") &  CRLF)
				TAMANO = s.GetLong("L_CANT") + TAMANO
				TAMANO = s.GetLong("L_COSTOU") + TAMANO
				TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
	
				ESPACIO = ESPACIO - TAMANO
	
				For E=0 To ESPACIO -1
					BLANCO = " " & BLANCO
				Next
				Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & "   $" & s.GETSTRING("PE_COSTO_TOT") &  CRLF )
				TAMANO = 0
				ESPACIO = 21
				BLANCO = " "
			End If

		Next
		Printer1.WriteString(" " &  CRLF)

	End If
	s.Close
	
	Printer1.WriteString("-------------RMI--------------" &  CRLF)
	
	s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND PE_CEDIS = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa)  order by  PE_PRONOMBRE", Array As String("VENTA","DUR"))
	If S.RowCount>0 Then
		For i=0 To S.RowCount -1
			S.Position=i
			If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
				Printer1.WriteString(s.GetString("PE_PRONOMBRE") &  CRLF)
				
			Else
				
				Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") &  CRLF)
				TAMANO = s.GetLong("L_CANT") + TAMANO
				TAMANO = s.GetLong("L_COSTOU") + TAMANO
				TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
	
				ESPACIO = ESPACIO - TAMANO
	
				For E=0 To ESPACIO -1
					BLANCO = " " & BLANCO
				Next
				Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & "   $" & s.GETSTRING("PE_COSTO_TOT") &  CRLF )
				TAMANO = 0
				ESPACIO = 21
				BLANCO = " "
			End If
		Next
	End If
	s.Close
	
	Printer1.WriteString(" " &  CRLF)
	s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL, SUM(PE_PRECIO2 * PE_CANT) AS TOTAL2 FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
	s.Position =0
	If perfil = "V-ESPECIAL" Then
		If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
			Dim totaltotaltoal As Float = s.GetString("TOTAL2") -  s.GetString("TOTAL")
			Printer1.WriteString("Descuento:     $" & 	NumberFormat2(totaltotaltoal, 1, 3, 2, False) &  CRLF)
		End If
	End If
	s.Close
	s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
	s.Position =0
	Printer1.WriteString("Total entrega:   $" & s.GetString("TOTAL") &  CRLF)
	s.Close
	c=Starter.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) and PE_TIPO = 'PREVENTA' ")
	C.Position=0
	Printer1.WriteString("Total Articulos:   " & c.GetString("PC_NOART") &  CRLF)
	Private bc As ResultSet = Starter.skmt.ExecQuery($"select CAT_CL_BCREDITO from kmt_info where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
	Private formaPago As String = "Efectivo"
	Do While bc.NextRow
		If bc.GetString("CAT_CL_BCREDITO") = 1 Then formaPago = "Por definir"
	Loop
	Printer1.WriteString("Forma de pago:   " & formaPago &  CRLF)
	c.Close
'	Printer1.WriteString("------------VENTA-------------")
'	Printer1.WriteString("TOTAL COMPRA: $:" & total_cliente)
	Printer1.WriteString(" " &  CRLF)
	Printer1.WriteString("------------------------------" &  CRLF)
	Printer1.WriteString("ENTREGA EN :" &  CRLF)
	Printer1.WriteString(la_Calle.Text &  CRLF)
	Printer1.WriteString("----ESTE TICKET NO ES UN -----" &  CRLF)
	Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" &  CRLF)
	Printer1.WriteString("--------INFORMATIVO-----------" &  CRLF)
	Printer1.WriteString("------------------------------" &  CRLF)
	Printer1.WriteString(" " &  CRLF)
	
	Sleep(1000)
	Printer1.DisConnect
	ProgressDialogHide
	'printer.Flush
'	printer.Close
End Sub

Sub B_INV_Click
	''	Printer1.Connect2
	c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
	c.Position=0
	usuario = c.GetString("USUARIO")
	DateTime.DateFormat = "MM/dd/yyyy"
	sDate=DateTime.Date(DateTime.Now)
	sTime=DateTime.Time(DateTime.Now)
	c.Close
	ProgressDialogShow("Imprimiendo, un momento ...")
'	Printer1.DisConnect
	If Not(Printer1.IsConnected) Then
		Log("conectando 1")
		Printer1.Connect
		Private cont As Int = 0
		Do While Not(impresoraConectada)
'			Log("conectando ...")
			Sleep(1000)
			cont = cont + 1
			If cont = 3 Then Printer1.Connect 'Tratamos de reconectar
			If cont > 15 Then impresoraConectada = True
		Loop
		Sleep(500)
		impresoraConectada = False
	Else
		Log("conectando 2")
		Printer1.Connect
		Private cont As Int = 0
		Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
'			Log("conectando ...")
			Sleep(1000)
			cont = cont + 1
			If cont = 2 Then Printer1.Connect
			If cont > 4 Then impresoraConectada = True
		Loop
		Sleep(500)
		impresoraConectada = False
	End If
	TAMANO = 5
	ESPACIO = 21
	BLANCO = " "
'	printer.Initialize(cmp20.OutputStream)
	Printer1.WriteString("DURAKELO S.A. de C.V." &  CRLF)
	Printer1.WriteString("RESUMEN DIA A LA HORA" &  CRLF)
	Printer1.WriteString(sDate & " " &  sTime &  CRLF)
	Printer1.WriteString("Vendedor:" & usuario  & CRLF )
	Printer1.WriteString("-------------VENTA-------------"  & CRLF)

	E1=Starter.skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("VENTA"))
	E1.Position = 0
	If E1.GetString("CUANTOS") > 0 Then
		c=Starter.skmt.ExecQuery2("Select  sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("VENTA"))
		c.Position = 0
		Printer1.WriteString("VENTA: " &  c.GetString("MONTO_DIA") &  CRLF)
		c.Close
	Else
		Printer1.WriteString("VENTA: " & "0" &  CRLF)
	End If
	E1.Close

	E1=Starter.skmt.ExecQuery2("Select  count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("PREVENTA"))
	E1.Position = 0
	If E1.GetString("CUANTOS") > 0 Then
		c=Starter.skmt.ExecQuery2("Select  sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("PREVENTA"))
		c.Position = 0
		Printer1.WriteString("PREVENTA: " & c.GetString("MONTO_DIA") &  CRLF)
		c.Close
	Else
		Printer1.WriteString("PREVENTA: " & "0" &  CRLF)
	End If
	E1.Close

	E1=Starter.skmt.ExecQuery2("Select  count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("ABORDO"))
	E1.Position = 0
	If E1.GetString("CUANTOS") > 0 Then
		c=Starter.skmt.ExecQuery2("Select  sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("ABORDO"))
		c.Position = 0
		Printer1.WriteString("ABORDO: " & c.GetString("MONTO_DIA") &  CRLF)
		c.Close
	Else
		Printer1.WriteString("ABORDO: " & "0" &  CRLF)
	End If
	E1.Close
	
	Printer1.WriteString("-----------INVENTARIO-----------"  & CRLF)
	' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
	s=Starter.skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN  from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS"))

	If S.RowCount>0 Then
		For i=0 To S.RowCount -1
			S.Position=i
			Printer1.WriteString(s.GetString("CAT_GP_NOMBRE") &  CRLF)
			Printer1.WriteString("CANTIDAD: " &  s.GetString("CAT_GP_ALMACEN")  & CRLF)
			TAMANO = TAMANO + 1
			If TAMANO > 40 Then
				t3.Initialize("T3", 4000) ' 1000 = 1 second
				t3.Enabled = True
				Wait For  t3_tick
				TAMANO = 0
			End If
		Next
	End If
	s.Close

	Printer1.WriteString(" " &  CRLF)
	Printer1.WriteString("-----------RMI----------------"  &  CRLF)
	Printer1.WriteString(" " &  CRLF)
	'c=Starter.skmt.ExecQuery2("select  count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
	'c.Position =0
	'Cuantos = c.GETSTRING("CUANTOS")
	'c.Close
	'If Cuantos >0 Then
	c=Starter.skmt.ExecQuery2("select  SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
	If C.RowCount>0 Then
		For i=0 To C.RowCount -1
			C.Position=i
			Printer1.WriteString(C.GetString("CANTIDAD") & " " & C.GetString("PE_PRONOMBRE") &  CRLF )
		Next
	End If
	c.Close
	'End If

	Printer1.WriteString("------------------------------"  &  CRLF)
	Printer1.WriteString("Nombre y Firma"  &  CRLF)
	Printer1.WriteString(" " &  CRLF)
	Printer1.WriteString(" " &  CRLF)
	Printer1.WriteString(" " &  CRLF)
	Printer1.WriteString("______________________________" &  CRLF )
	Printer1.WriteString("------------------------------"  &  CRLF)
	Printer1.WriteString(" " &  CRLF)
	Printer1.WriteString(" " &  CRLF)
	Printer1.WriteString("------------------------------" &  CRLF)
	Printer1.WriteString(" " &  CRLF)
'	printer.Flush
	ProgressDialogHide
	Printer1.DisConnect
End Sub

Sub B_VENTA_Click
	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
'	If la_cuenta.Text <> "0" Then
'		Dim queenc As String
'		'		1=1 ----> si no esta en el historico que se descargue del web ver si esta contestada de manera local
'		If B4XPages.MainPage.principal.ALMACEN = "6" Then queenc = "1"
'		If B4XPages.MainPage.principal.ALMACEN = "1" Then queenc = "2"
'		If B4XPages.MainPage.principal.ALMACEN = "2" Then queenc = "3"
'		If B4XPages.MainPage.principal.ALMACEN = "3" Then queenc = "4"
'		If B4XPages.MainPage.principal.ALMACEN = "4" Then queenc = "5"
'		If B4XPages.MainPage.principal.ALMACEN = "5" Then queenc = "6"
'		c2 = Starter.skmt.ExecQuery2("SELECT HE_CLIE FROM HIST_ENCUESTA3 WHERE HE_TIPO = ? AND HE_CLIE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(queenc))
'		If c2.RowCount = 0 Then
'			'			2=2 ----> si no esta en el historico local mostrar encuesta
'			c = Starter.skmt.ExecQuery("SELECT DISTINCT HE_CLIE FROM HIST_ENCUESTA4 WHERE HE_CLIE IN(SELECT CUENTA FROM CUENTAA)")
'			If c.RowCount = 0  Then
'				b_factura.Visible = False
'				B_EXIBI.Visible = False
'				HIST.Visible = False
'				Tar.Visible = False
'				Tels.Visible = False
'				B_VENTA.Visible = False
'				B_IMP.Visible = False
'				gest.Visible = False
'				B_IMP2.Visible = False
'				B_INV.Visible = False
'				Guardar.Visible = False
'				sv_encuesta.Visible = True
'				sv_encuesta.Height = Root.Height
'				sv_encuesta.Width = Root.Width
'				sv_encuesta.Panel.LoadLayout("encuesta")
'				sv_encuesta.Panel.Height = p_encuestas.Height
'				p_encuestas.Width = Root.Width
'			
'				Dim items As List
'				items.Initialize
'				items.Add("Selecciona una opción")
'				items.Add("ESQUINA")
'				items.Add("CALLE")
'				items.Add("AVENIDA")
'				cb_pregunta1.SetItems(items)
'				itemselect = "Selecciona una opción"
'			
'				Dim items2 As List
'				items2.Initialize
'				items2.Add("Selecciona una opción")
'				items2.Add("1 persona")
'				items2.Add("2 personas")
'				items2.Add("Mas de 2 personas")
'				cb_pregunta8.SetItems(items2)
'				itemselect2 = "Selecciona una opción"
'			
'				bandera = 1
'			Else
'				Starter.tipov = "VENTA"
'				B4XPages.ShowPage("Productos")
'			End If
'		Else
'			Starter.tipov = "VENTA"
'			B4XPages.ShowPage("Productos")
'		End If
'	Else If la_cuenta.Text = "0" Then
'		Starter.tipov = "VENTA"
'		B4XPages.ShowPage("Productos")
'	End If
	Starter.tipov = "VENTA"
	Log($"TOMAR_FOTO = ${TOMAR_FOTO}"$)
	If TOMAR_FOTO = 0 Then
		Cuestionario
	Else
'	StartActivity(colonia2)
		B4XPages.ShowPage("Productos")
'	Cuestionario
	End If
End Sub

Sub b_factura_Click
	
End Sub

Sub CH_TA_CheckedChange(Checked As Boolean)
	
End Sub

Sub CH_TC_CheckedChange(Checked As Boolean)
	
End Sub

Sub CH_TB_CheckedChange(Checked As Boolean)
	
End Sub

Sub CH_TD_CheckedChange(Checked As Boolean)
	
End Sub

Sub B_GUARDAR_Click
	If CH_TA.Checked = True Then
		TIPOEX = CH_TA.Text
	ELSE If CH_TB.Checked = True Then
		TIPOEX = CH_TB.Text
	ELSE If CH_TC.Checked = True Then
		TIPOEX = CH_TC.Text
	ELSE If CH_TD.Checked = True Then
		TIPOEX = CH_TD.Text
	End If
	
	Panel1.Visible = False
	B_EXIBI.Visible = True
'	b_factura.Visible = True
	HIST.Visible = True
	Tar.VISIBLE = True
	B_IMP.Visible = True
	Tels.Visible = True
	B_VENTA.Visible = True
	B_IMP2.Visible = True
	gest.Visible = True
	Guardar.Visible = True
	B_INV.Visible = True
	
	c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
	c.Position = 0
	cuenta = c.GetString("CUENTA")
	
	Starter.skmt.ExecNonQuery2("INSERT INTO HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR) VALUES(?,?,?)", Array As Object(cuenta,TIPOEX,E_CUANTOS_E.Text))
	
End Sub

Sub B_EXIBI_Click
	s=Starter.skmt.ExecQuery("select CAT_EX_ID, CAT_EX_TIPO, CAT_EX_VALOR FROM CAT_EXHIBIDORES")
	
	If s.RowCount>0 Then
		For i=0 To s.RowCount -1
			s.Position=i
			If s.GetString("CAT_EX_ID") = "1" Then
				CH_TA.Text = s.GetString("CAT_EX_VALOR")
			End If
			If s.GetString("CAT_EX_ID") = "2" Then
				CH_TB.Text = s.GetString("CAT_EX_VALOR")
			End If
			If s.GetString("CAT_EX_ID") = "3" Then
				CH_TC.Text = s.GetString("CAT_EX_VALOR")
			End If
			If s.GetString("CAT_EX_ID") = "4" Then
				CH_TD.Text = s.GetString("CAT_EX_VALOR")
			End If
		
		Next
	End If

	E_CUANTOS_E.Text = ""
	CH_TA.Checked = False
	CH_TB.Checked = False
	CH_TC.Checked = False
	CH_TD.Checked = False
	Panel1.Visible = True
	B_EXIBI.Visible = False
	b_factura.Visible = False
	HIST.Visible = False
	Tar.VISIBLE = False
	B_IMP.Visible = False
	Tels.Visible = False
	B_VENTA.Visible = False
	B_IMP2.Visible = False
	gest.Visible = False
	Guardar.Visible = False
	B_INV.Visible = False
	
End Sub

Sub Printer1_Connected (Success As Boolean)
'	If Logger Then Log("Printer1_Connected")
	If Success Then
		ToastMessageShow("Impresora conectada", False)
		Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
		Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",Starter.mac_impresora))
		LogColor("Impresora conectada", Colors.Green)
'		B_IMP2.Enabled = True
		impresoraConectada = True
	Else
'		Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.") 'ignore
'		ToastMessageShow("Error conectando la impresora", False)
		LogColor("Error conectando la impresora", Colors.Red)
		errorImpresora = errorImpresora + 1
		If errorImpresora > 1 Then
			Starter.MAC_IMPRESORA = "0"
			errorImpresora = 0
		End If
	End If
End Sub

'Sub Printer1_Connected (Success As Boolean)
'	Log("Impresora conectada.")
'	If Success Then
'		Log("aqui estoy 1")
'		ToastMessageShow("Connected successfully", False)
'		Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
'		Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP", Starter.mac_impresora))
'		B_IMP.Enabled = True
'		impresoraConectada = False
''		Printer1.DisConnect
'	Else
''		Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.")
''		If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'ignore
''			StartPrinter
''		End If
'	End If
'End Sub

Sub StartPrinter
	Dim PairedDevices As Map
	Dim L As List
	Dim resimp As Int
	ToastMessageShow("Printing.....",True)
	PairedDevices.Initialize
	Try
		PairedDevices = cmp20.GetPairedDevices
	Catch
		Msgbox("Getting Paired Devices","Printer Error") 'ignore
		printer.Close
		cmp20.Disconnect
	End Try

	If PairedDevices.Size = 0 Then
		Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore
		Return
	End If

	If PairedDevices.Size = 1 Then
		Try
			cmp20.Connect(PairedDevices.Get(PairedDevices.GetKeyAt(0)))
		Catch
			Msgbox("Connecting","Printer Error") 'ignore
			printer.Close
			cmp20.Disconnect
		End Try
	Else
		L.Initialize
		For i = 0 To PairedDevices.Size - 1
			L.Add(PairedDevices.GetKeyAt(i))
		Next
		resimp = InputList(L, "Choose device", -1) 'ignore
		If resimp <> DialogResponse.CANCEL Then
			cmp20.Connect(PairedDevices.Get(L.Get(resimp)))
		End If
	End If
End Sub

Sub cuestionario2
	DateTime.DateFormat = "MM/dd/yyyy HH:mm:ss"
	sDate=DateTime.Date(DateTime.Now)
	sTime=DateTime.Time(DateTime.Now)
	
	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.Position= 0
		CUANTOS = s.GetString("CUANTOS")
	Else
		CUANTOS = 0
	End If
	If CUANTOS = 0 Then
		c=Starter.skmt.ExecQuery("SELECT * FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)")
		If c.RowCount>0 Then
			For i=0 To c.RowCount -1
				
				Log($"####     |${sDate}|${sTime}| ######"$)
				
				If TOMAR_FOTO = 1 Then
					If CURSOR_FOTO + 1 > c.RowCount -1 Then
						TOMAR_FOTO = 0
						Exit
					Else
						i = CURSOR_FOTO +1
					End If
					'Msgbox(i,"a")
					TOMAR_FOTO = 0
				End If
				c.Position=i
				'		Msgbox("paso1","a")
				If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 5 Then
					id_encuesta = c.GetString("CAT_EP_ID")
					TOMAR_FOTO = 1
					CURSOR_FOTO = i
'					StartActivity(foto)
					'		Msgbox("paso2","a")
					Exit
				ELSE IF c.GetString("CAT_EP_IDTIPOPREGUNTA") = 3 Then
					res =  Msgbox2(c.GetString("CAT_EP_PREGUNTA"),c.GetString("CAT_CE_DESCRIPCION"), "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
					If res = DialogResponse.POSITIVE Then
						Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,c.GetString("CAT_EP_ID")))
					Else IF res = DialogResponse.NEGATIVE Then
						Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,c.GetString("CAT_EP_ID")))
					Else IF res = DialogResponse.CANCEL Then
						i = i -1
					End If
				ELSE IF c.GetString("CAT_EP_IDTIPOPREGUNTA") = 4 Then
					res =  Msgbox2(c.GetString("CAT_EP_PREGUNTA"),c.GetString("CAT_CE_DESCRIPCION"), "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
					If res = DialogResponse.POSITIVE Then
						Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,c.GetString("CAT_EP_ID")))
						'i = c.GetString("CAT_EP_RES1_PRED") -1
					Else IF res = DialogResponse.NEGATIVE Then
						Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,c.GetString("CAT_EP_ID")))
						i = c.GetInt("CAT_EP_RES2_PRED") -2
					Else IF res = DialogResponse.CANCEL Then
						i = i -1
					End If
					'			Msgbox("paso3","a")
				ELSE If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 2 Then
					res =  Msgbox2(c.GetString("CAT_EP_PREGUNTA"),c.GetString("CAT_CE_DESCRIPCION"), c.GetString("CAT_EP_RES1_PRED"), c.GetString("CAT_EP_RES2_PRED"),c.GetString("CAT_EP_RES3_PRED"),LoadBitmap(File.DirAssets,"alert2.png"))
					If res = DialogResponse.POSITIVE Then
						Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES1_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
					Else IF res = DialogResponse.NEGATIVE Then
						Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES3_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
					Else IF res = DialogResponse.CANCEL Then
						Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES2_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
					End If
					'		Msgbox("paso4","a")
				ELSE If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 6 Then
					Panel10.Visible = True
					l_chk_e.Text =  c.GetString("CAT_EP_PREGUNTA")
					Chk_1.Checked = False
					chk_2.Checked = False
					chk_3.Checked = False
					Chk_1.Text = c.GetString("CAT_EP_RES1_PRED")
					chk_2.Text =  c.GetString("CAT_EP_RES2_PRED")
					chk_3.Text =  c.GetString("CAT_EP_RES3_PRED")
					chk_1_valor =  c.GetString("CAT_EP_RES1_PRED")
					chk_2_valor =  c.GetString("CAT_EP_RES2_PRED")
					chk_3_valor =  c.GetString("CAT_EP_RES3_PRED")
					TOMAR_FOTO = 1
					CURSOR_FOTO = i
					'			Msgbox("paso5","a")
					Exit
				ELSE If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 1 Then
					Panel9.Visible = True
					t_tenc.Text = c.GetString("CAT_EP_PREGUNTA")
					Label26.Text = c.GetString("CAT_CE_DESCRIPCION")
					E_RES_E.Text = ""
					TOMAR_FOTO = 1
					CURSOR_FOTO = i
					Exit
				Else
					'	Main.tipov = "VENTA"
'					StartActivity(colonia2)
				End If
			Next
		Else
			'	Main.tipov = "VENTA"
'			StartActivity(colonia2)
		End If
	Else
		'	Main.tipov = "VENTA"
'		StartActivity(colonia2)
	End If
End Sub

Sub B_E_NEXT_Click
	Panel9.Visible = False
	Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, E_RES_E.Text ,sDate & sTime,c.GetString("CAT_EP_ID")))
	Starter.tipov = "VENTA"
	'TOMAR_FOTO = 1
	Cuestionario
	'StartActivity(colonia2)
End Sub

Sub b_chk_e_Click
	Panel10.Visible = False
	If Chk_1.Checked = True Then
		Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_1_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
	else if chk_2.Checked = True Then
		Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_2_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
	else if chk_3.Checked = True Then
		Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_3_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
	End If
	Starter.tipov = "VENTA"
	'TOMAR_FOTO = 1
	Cuestionario
End Sub

Private Sub cb_pregunta1_SelectedIndexChanged (Index As Int)
	itemselect = cb_pregunta1.SelectedItem
End Sub

Private Sub cb_pregunta8_SelectedIndexChanged (Index As Int)
	itemselect2 = cb_pregunta8.SelectedItem
End Sub

Private Sub b_guadaenc_Click
	Starter.skmt.ExecNonQuery("Delete from HIST_ENCUESTA WHERE HE_CLIE IN (SELECT CUENTA FROM CUENTAA)")
	If itemselect <> "Selecciona una opción" Then
		DateTime.DateFormat = "MM/dd/yyyy"
		DateTime.TimeFormat = "HH:mm:ss"
		sDate=DateTime.Date(DateTime.Now)
		sTime=DateTime.Time(DateTime.Now)
		c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
		c.Position = 0
		Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),itemselect,sDate&" "&sTime,2,1 ))
		c.Close
		If et_pregunta2.Text <> "" Then
			DateTime.DateFormat = "MM/dd/yyyy"
			DateTime.TimeFormat = "HH:mm:ss"
			sDate=DateTime.Date(DateTime.Now)
			sTime=DateTime.Time(DateTime.Now)
			c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
			c.Position = 0
			Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),et_pregunta2.Text,sDate&" "&sTime,1,2 ))
			c.Close
			If et_pregunta3.Text <> "" Then
				DateTime.DateFormat = "MM/dd/yyyy"
				DateTime.TimeFormat = "HH:mm:ss"
				sDate=DateTime.Date(DateTime.Now)
				sTime=DateTime.Time(DateTime.Now)
				c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
				c.Position = 0
				Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),et_pregunta3.Text,sDate&" "&sTime,1 ,3))
				c.Close
				If et_pregunta4.Text <> "" Then
					DateTime.DateFormat = "MM/dd/yyyy"
					DateTime.TimeFormat = "HH:mm:ss"
					sDate=DateTime.Date(DateTime.Now)
					sTime=DateTime.Time(DateTime.Now)
					c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
					c.Position = 0
					Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),et_pregunta4.Text,sDate&" "&sTime,1,4 ))
					c.Close
					If et_pregunta5.Text <> "" Then
						DateTime.DateFormat = "MM/dd/yyyy"
						DateTime.TimeFormat = "HH:mm:ss"
						sDate=DateTime.Date(DateTime.Now)
						sTime=DateTime.Time(DateTime.Now)
						c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
						c.Position = 0
						Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),et_pregunta5.Text,sDate&" "&sTime,1,5 ))
						c.Close
						If et_pregunta6.Text <> "" Then
							DateTime.DateFormat = "MM/dd/yyyy"
							DateTime.TimeFormat = "HH:mm:ss"
							sDate=DateTime.Date(DateTime.Now)
							sTime=DateTime.Time(DateTime.Now)
							c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
							c.Position = 0
							Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),et_pregunta6.Text,sDate&" "&sTime,1 ,6))
							c.Close
							If rb_p7no.Checked = True Or rb_p7si.Checked = True Then
								DateTime.DateFormat = "MM/dd/yyyy"
								DateTime.TimeFormat = "HH:mm:ss"
								sDate=DateTime.Date(DateTime.Now)
								sTime=DateTime.Time(DateTime.Now)
								c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
								c.Position = 0
								Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),pregunta7,sDate&" "&sTime,3,7 ))
								c.Close
								If itemselect2 <> "Selecciona una opción" Then
									DateTime.DateFormat = "MM/dd/yyyy"
									DateTime.TimeFormat = "HH:mm:ss"
									sDate=DateTime.Date(DateTime.Now)
									sTime=DateTime.Time(DateTime.Now)
									c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
									c.Position = 0
									Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),itemselect2,sDate&" "&sTime,2,8 ))
									c.Close
									If bandera = 1 Then
										rb_p7si.Checked = False
										rb_p7no.Checked = False
										et_pregunta2.Text = ""
										et_pregunta3.Text = ""
										et_pregunta4.Text = ""
										et_pregunta5.Text = ""
										et_pregunta6.Text = ""
										itemselect2 = "Selecciona una opción"
										itemselect = "Selecciona una opción"
										sv_encuesta.Visible =False
										Starter.tipov = "VENTA"
										B4XPages.ShowPage("Productos")
									Else If bandera = 2 Then
										rb_p7si.Checked = False
										rb_p7no.Checked = False
										et_pregunta2.Text = ""
										et_pregunta3.Text = ""
										et_pregunta4.Text = ""
										et_pregunta5.Text = ""
										et_pregunta6.Text = ""
										itemselect2 = "Selecciona una opción"
										itemselect = "Selecciona una opción"
										sv_encuesta.Visible =False
										Starter.tipov = "PREVENTA"
										B4XPages.ShowPage("Productos")
									End If
								Else
									MsgboxAsync("Por favor completa la encuesta","Atención")
								End If
							Else
								MsgboxAsync("Por favor completa la encuesta","Atención")
							End If
						Else
							MsgboxAsync("Por favor completa la encuesta","Atención")
						End If
					Else
						MsgboxAsync("Por favor completa la encuesta","Atención")
					End If
				Else
					MsgboxAsync("Por favor completa la encuesta","Atención")
				End If
			Else
				MsgboxAsync("Por favor completa la encuesta","Atención")
			End If
		Else
			MsgboxAsync("Por favor completa la encuesta","Atención")
		End If
	Else
		MsgboxAsync("Por favor completa la encuesta","Atención")
	End If
End Sub

Private Sub rb_p7si_CheckedChange(Checked As Boolean)
	pregunta7 = "Si"
End Sub

Private Sub rb_p7no_CheckedChange(Checked As Boolean)
	pregunta7 = "No"
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_RUTA, Q_ALMACEN, Q_IDCLIENTE, Q_IDPREGUNTA, Q_PREGUNTA, Q_IDRESPUESTA, Q_RESPUESTA, Q_FECHA) values ('${Subs.traeRuta}', '${Subs.traeAlmacen}', '${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 3 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 3 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


'Esta subrutina muestra las encuestas.
Sub Cuestionario
	Log("########################################################")
	Log("Entramos a Cuestionario")
	Private logger As Boolean = True
	b_encuesta_continuar.Visible = False
	et_encuesta.Visible = False
	DateTime.DateFormat = "MM/dd/yyyy"
	DateTime.TimeFormat = "HH:mm:ss"
	sDate = DateTime.Date(DateTime.Now)
	sTime = DateTime.Time(DateTime.Now)
	Private fecha As String = $"${DateTime.Date(DateTime.Now)} ${DateTime.Time(DateTime.Now)}"$
	CUANTOS = 0
	If logger Then Log($"Tomar_Foto = ${TOMAR_FOTO}"$)
	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.Position= 0
		CUANTOS = s.GetString("CUANTOS")
		Private CUANTOS2 As Int = 0
	End If
	If logger Then Log(CUANTOS & "|" & CUANTOS2)
	If CUANTOS = 0 And CUANTOS2 = 0 Then
		Private enc As Cursor = Starter.skmt.ExecQuery("SELECT CAT_EP_ID, CAT_EP_IDTIPOPREGUNTA, CAT_CE_DESCRIPCION, CAT_EP_PREGUNTA, CAT_EP_RES1_PRED, CAT_EP_RES2_PRED, CAT_EP_RES3_PRED, CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)")
		If enc.RowCount > 0 Then
			enc.position = 0
			If logger Then Log($"CAT_EP_ID=${enc.GetString("CAT_EP_ID")}"$)
			Private listaPreguntas As List
			listaPreguntas.Initialize
			For j = 0 To enc.RowCount - 1 'Ponemos en una lista los ID de las preguntas.
				enc.Position = j
				listaPreguntas.Add(enc.GetString("CAT_EP_ID"))
			Next
			If logger Then Log(listaPreguntas)
			enc.position = 0
			For i = 0 To enc.RowCount - 1
				Log($"SALIR DE ENCUESTA = ${salirDeEncuesta}"$)
				Log($"|${sDate}|${sTime}|"$)
				i = indicePregunta
				Log("####################################################")
				Log($"i = ${i}, indicePregunta = ${indicePregunta}"$)
				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
					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
					Log($"i = ${i}"$)
				End If
				If logger Then Log($"i = ${i}, indicePregunta: "$ & indicePregunta & ", TIPO: " & enc.GetString("CAT_EP_IDTIPOPREGUNTA"))
'				Log($"Tomar_Foto = ${TOMAR_FOTO}"$)
				If logger Then Log($"EncuestaRes = ${encuestaRes}"$)
				If logger Then Log(listaPreguntas)
				If TOMAR_FOTO = 1 Then
					If CURSOR_FOTO + 1 > enc.RowCount -1 Then
						TOMAR_FOTO = 0
						Exit
					Else
						i = CURSOR_FOTO + 1
					End If
					If logger Then Log($"i = ${i}"$)
					TOMAR_FOTO = 0
				End If
				If salirDeEncuesta = True Then
					i = enc.RowCount
				End If
				If i > (enc.RowCount - 1) Then
					Log("TERMINAMOS LA ENCUESTA")
					Exit ' Si se contestó la ultima pregunta, entonces salimos.
				End If
				enc.Position = i
'				Log($"POSICION = ${enc.Position}"$)
				If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 1 Then  ' Tipo Abierta
					Log("Pregunta tipo 1")
					botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta
					l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
					l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
					If logger Then Log(enc.GetString("CAT_EP_PREGUNTA") &"|"&enc.GetString("CAT_EP_ORDEN_PREGUNTA"))
					Subs.centraEditText(et_encuesta, Root.Width)
					et_encuesta.Visible = True
					b_encuesta_continuar.Enabled = False
					Private bTop = et_encuesta.Top + 130
					muestraBoton(b_encuesta_continuar,"Continuar", enc.GetString("CAT_EP_ID"), centroPantalla-250, bTop, 500, 160)
					muestraEncuesta
					Log("Esperamos respuesta")
					Do Until botonPresionado = 1 'Esperamos que respondan la pregunta
						Sleep(10)
					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.
					Log($"Respuesta: ${encuestaRes}"$)
					If logger Then LogColor($"Guardamos tipo 1 : ${encuestaRes}"$, Colors.Green)
					Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_LAT, HE_LON) VALUES (?,?,?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes, fecha, enc.GetString("CAT_EP_ID"), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
					ocultaPanelEncuesta
					i = 0
				else If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 2 Then ' Tipo Opcion Multiple
					Log("Pregunta tipo 2")
					botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta.
					l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
					l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
					If logger Then Log(enc.GetString("CAT_EP_PREGUNTA"))
					muestraBoton(b_encuesta_1, enc.GetString("CAT_EP_RES1_PRED"), enc.GetString("CAT_EP_ID"), centroPantalla-250, 580, 500, 160)
					muestraBoton(b_encuesta_2, enc.GetString("CAT_EP_RES2_PRED"), enc.GetString("CAT_EP_ID"), centroPantalla-250, 740, 500, 160)
					muestraBoton(b_encuesta_3, enc.GetString("CAT_EP_RES3_PRED"), enc.GetString("CAT_EP_ID"), centroPantalla-250, 900, 500, 160)
					muestraEncuesta
					Log("Esperamos respuesta")
					Do Until botonPresionado = 1 'Esperamos que respondan la pregunta.
						Sleep(0)
					Loop
					Log("encuestaRes: " & encuestaRes)
					If logger Then LogColor($"Guardamos tipo 2 : ${encuestaRes}"$, Colors.Green)
					Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_LAT, HE_LON) VALUES (?,?,?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes, fecha, enc.GetString("CAT_EP_ID"), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
					Log($"CAT_EP_ID: ${enc.GetString("CAT_EP_ID")}, listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID")) = ${listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID"))} "$)
					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 = 0 ' indicePregunta
					Log($"i = ${i}"$)
					ocultaPanelEncuesta
				else if enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 3 Then ' Tipo Verdadero/Falso
					If logger Then Log("Pregunta tipo 3")
					botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta
					l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
					l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
					Subs.centraEtiqueta(l_txtEncuesta, Root.Width)
					muestraBoton(b_encuesta_1,"SI", enc.GetString("CAT_EP_ID"), centroPantalla-350, 580, 300, 160)
					muestraBoton(b_encuesta_2, "NO", enc.GetString("CAT_EP_ID"), centroPantalla+50, 580, 300, 160)
					muestraEncuesta
					Log("Esperamos respuesta")
					Do Until botonPresionado = 1 'Esperamos que respondan la pregunta
						Sleep(0)
					Loop
					If logger Then Log("encuestaRes: " & encuestaRes)
					If logger Then LogColor($"Guardamos tipo 3 : ${encuestaRes}"$, Colors.Green)
					Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_LAT, HE_LON) VALUES (?,?,?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes, fecha, enc.GetString("CAT_EP_ID"), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
					ocultaPanelEncuesta
					i = 0
				else if enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 4 Then  ' Tipo Decision
					If logger Then Log("Pregunta tipo 4")
					botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta
					l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
					l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
					If logger Then Log(enc.GetString("CAT_EP_PREGUNTA"))
					Subs.centraEtiqueta(l_txtEncuesta, Root.Width)
					muestraBoton(b_encuesta_1,"SI", enc.GetString("CAT_EP_ID"), centroPantalla-350, 580, 300, 160)
					muestraBoton(b_encuesta_2, "NO", enc.GetString("CAT_EP_ID"), centroPantalla+50, 580, 300, 160)
					muestraEncuesta
					Log("Esperamos respuesta")
					Do Until botonPresionado = 1 'Esperamos que respondan la pregunta
						Sleep(0)
					Loop
					If logger Then Log("encuestaRes: " & encuestaRes)
					If logger Then LogColor($"Guardamos tipo 4 : ${encuestaRes}"$, Colors.Green)
					If encuestaRes = "SI" Then
						Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_LAT, HE_LON) VALUES (?,?,?,?,?,?)", Array As Object(la_cuenta.Text, "SI", fecha, enc.GetString("CAT_EP_ID"), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
						indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES1_PRED")) 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos.
						i = 0 'indicePregunta
						Log($"i = ${i}, IndicePreg = ${indicePregunta}"$)
					else if encuestaRes = "NO" Then
						Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_LAT, HE_LON) VALUES (?,?,?,?,?,?)", Array As Object(la_cuenta.Text, "NO", fecha, enc.GetString("CAT_EP_ID"), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
						indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES2_PRED")) 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos.
						i = 0 'indicePregunta
						Log($"i = ${i}, IndicePreg = ${indicePregunta}"$)
					End If
					If i = enc.RowCount - 1 Then
						i = 0 'i - 1
					End If
				else If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 5 Then  ' Tipo Foto
					If logger Then Log("Pregunta tipo 5")
					id_encuesta = enc.GetString("CAT_EP_ID")
					TOMAR_FOTO = 1
					CURSOR_FOTO = i
					Exit
				else If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 6 Then  ' Tipo Multi-Seleccion
					If logger Then Log("Pregunta tipo 6")
					Panel10.Visible = True
					l_chk_e.Text =  enc.GetString("CAT_EP_PREGUNTA")
					Chk_1.Checked = False
					chk_2.Checked = False
					chk_3.Checked = False
					Chk_1.Text = enc.GetString("CAT_EP_RES1_PRED")
					chk_2.Text =  enc.GetString("CAT_EP_RES2_PRED")
					chk_3.Text =  enc.GetString("CAT_EP_RES3_PRED")
					chk_1_valor =  enc.GetString("CAT_EP_RES1_PRED")
					chk_2_valor =  enc.GetString("CAT_EP_RES2_PRED")
					chk_3_valor =  enc.GetString("CAT_EP_RES3_PRED")
					Chk_1.Tag = enc.GetString("CAT_EP_ID")
					chk_2.Tag = enc.GetString("CAT_EP_ID")
					chk_3.Tag = enc.GetString("CAT_EP_ID")
					TOMAR_FOTO = 1
					CURSOR_FOTO = i
					i = 0
				Else
					B4XPages.ShowPage("productos")
				End If
			Next
			enc.Close
		Else
			B4XPages.ShowPage("productos")
		End If
	Else
		B4XPages.ShowPage("productos")
	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

'Muestra el panel de la encuesta, le da el alto y ancho de la pantalla y la pone en 0,0
Sub muestraEncuesta
	Log("Muestra Encuesta")
	p_encuesta.Top = 0
	p_encuesta.left = 0
	p_encuesta.Height = GetDeviceLayoutValues.Height
	p_encuesta.Width = GetDeviceLayoutValues.Width
	p_encuesta.SetVisibleAnimated(200, True)
	p_encuesta.Visible = True
	p_encuesta.Elevation = 90 'ignore
	p_encuesta.BringToFront
'	P_INF_GENERAL.Visible = False
'	Log("Panel general="&P_INF_GENERAL.Visible)
End Sub

' Oculta el panel de la encuesta y los botones de la misma.
Sub ocultaPanelEncuesta
'	Log("Oculta Encuesta")
	b_encuesta_1.Visible = False
	b_encuesta_2.Visible = False
	b_encuesta_3.Visible = False
	p_encuesta.Visible = False
'	P_INF_GENERAL.Visible = True
'	If logger Then Log("Panel general="&P_INF_GENERAL.Visible)
End Sub

'Regresa el valor de "left" para el centro de la pantalla
Sub centroPantalla As Int
	Private anchoPantalla As Int = GetDeviceLayoutValues.Width
	Private anchoPantalla As Int = Root.Width
	Return anchoPantalla/2
End Sub

Private Sub b_encuesta_1_Click
'	Log("BOTON 1 CLICK")
	Dim btn As Button = Sender
	Log("BOTON 1 CLICKED "& " clicked - " & btn.Text & " - " & btn.Tag)
	encuestaRes = btn.Text
	indicePregunta = btn.Tag
	ocultaPanelEncuesta
	botonPresionado = 1
End Sub

Private Sub b_encuesta_2_Click
	Log("BOTON 2 CLICK")
	Dim btn As Button = Sender
	Log("BOTON 2 CLICKED "& " clicked - " & btn.Text & " - " & btn.Tag)
	encuestaRes = btn.Text
	indicePregunta = btn.Tag
	ocultaPanelEncuesta
	botonPresionado = 1
End Sub

Private Sub b_encuesta_3_Click
	Log("BOTON 3 CLICK")
	Dim btn As Button = Sender
	Log("BOTON 3 CLICKED "& " clicked - " & btn.Text & " - " & btn.Tag)
	encuestaRes = btn.Text
	indicePregunta = btn.Tag
	ocultaPanelEncuesta
	botonPresionado = 1
End Sub

Private Sub b_encuesta_continuar_Click
	Dim btn As Button = Sender
	Log("BOTON CONTINUAR CLICK - " & btn.Text & " - " & btn.Tag)
	encuestaRes = et_encuesta.Text
	indicePregunta = btn.Tag
	et_encuesta.Text = ""
	et_encuesta.Visible = False
	b_encuesta_continuar.Visible = False
	ocultaPanelEncuesta
	botonPresionado = 1
End Sub

Private Sub et_encuesta_TextChanged (Old As String, New As String)
'	Log($"|${Old}|,|${New}|"$)
	If New.Length > 0 Then b_encuesta_continuar.Enabled = True
	If New.Length < 1 Then b_encuesta_continuar.Enabled = False
End Sub

'Muestra un boton con las dimensiones, posicion y texto especificados.
Sub muestraBoton (thisButton As Button, theText As String, theTag As String, Left As Int, Top As Int, width As Int, height As Int)
	thisButton.Text = theText
	thisButton.Tag = theTag
	thisButton.Left = Left
	thisButton.Top = Top
	thisButton.Width = width
	thisButton.Height = height
	thisButton.Visible = True
End Sub

'Muestra un boton con las dimensiones, posicion y texto especificados.
Sub muestraBotonCentrado (thisButton As Button, theText As String, theTag As String, Top As Int, width As Int, height As Int) 'ignore
	Private anchoPantalla As Int
	thisButton.Text = theText
	thisButton.Tag = theTag
	anchoPantalla = GetDeviceLayoutValues.Width
	thisButton.Left = (anchoPantalla/2) - (width/2)
	thisButton.Top = Top
	thisButton.Width = width
	thisButton.Height = height
	thisButton.Visible = True
End Sub
