VERSION 6.02.24

Se agrego el check temporal en los comentarios del cliente
Se agrego Datos del cliente nuevo (Numeroint,ext,referencia)
Se agrego pantalla scroll en cliente nuevo
This commit is contained in:
jalarakmt
2026-02-27 17:58:18 -06:00
parent 5c250388dc
commit efc76af182
10 changed files with 300 additions and 87 deletions

View File

@@ -190,6 +190,15 @@ Sub Class_Globals
Private et_cp As EditText
Private Label6 As Label
Private Panel1 As Panel
Private et_calle1 As EditText
Private et_calle2 As EditText
Private scv_nuevocliente As ScrollView
Private Label9 As Label
Private et_numeroint As EditText
Private Label10 As Label
Private et_numeroext As EditText
Private Label11 As Label
Private et_referencia As EditText
End Sub
'You can add more parameters here.
@@ -203,6 +212,9 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
'load the layout to Root
Root.LoadLayout("nuevocliente")
scv_nuevocliente.Height = Root.Height
scv_nuevocliente.Width = Root.Width
ruta = File.DirInternal
If File.Exists(ruta, "kmt.db") = False Then
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
@@ -239,6 +251,15 @@ End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
scv_nuevocliente.Panel.RemoveAllViews
scv_nuevocliente.Panel.LoadLayout("Panel_Nuevocliente")
scv_nuevocliente.Panel.Height = 1100dip
' scv_nuevocliente.Panel.Height = p_nuevoCliente.Height
Panel1.Visible = False
p_nuevoCliente.Visible = False
p_nuevoCliente.Visible = True
Panel1.Visible = True
et_direccion.Text = ""
E_NOMBRE.Text = ""
ET_Atiende.Text = ""
@@ -252,10 +273,10 @@ Sub B4XPage_Appear
GUARDA.Visible = False
Subs.panelVisible(p_nuevoCliente, 0, 0)
Subs.panelVisible(Panel1, 0, 0)
p_nuevoCliente.Height = Root.Height
' p_nuevoCliente.Height = Root.Height
p_nuevoCliente.Width = Root.Width
Panel1.Width = Root.Width
Panel1.Height = Root.Height
Panel1.Height = p_nuevoCliente.Height
Subs.centraEtiqueta(Label1, Root.Width)
Subs.centraEtiqueta(Label5, Root.Width)
Subs.centraEtiqueta(Label6, Root.Width)
@@ -387,6 +408,20 @@ Sub GUARDA_Click
' Verifica si el nombre de la tienda está vacío
' If E_NOMBRE.Text = "" Then
' MsgboxAsync("Por favor captura el nombre de la Tienda","Atención")
' ' Verifica si la dirección tiene más de 3 caracteres
' Else If et_direccion.Text.Length > 3 Then
' ' Verifica si la latitud es diferente de 0
' If lat <> 0 Then
' ' Verifica si el giro del cliente está seleccionado
' If giros <> "SELECCIONA UNA OPCIÓN" Or cb_giro.SelectedItem <> "SELECCIONA UNA OPCIÓN" Then
' ' Verifica si el encargado que atiende el negocio está capturado
' If ET_Atiende.Text <> "" Then
' If et_telefono.Text <> "" Then
' If et_colonia.Text <> "" Then
' If et_cp.Text <> "" Then
If E_NOMBRE.Text = "" Then
MsgboxAsync("Por favor captura el nombre de la Tienda","Atención")
' Verifica si la dirección tiene más de 3 caracteres
@@ -400,52 +435,76 @@ Sub GUARDA_Click
If et_telefono.Text <> "" Then
If et_colonia.Text <> "" Then
If et_cp.Text <> "" Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.Timeformat = "HHmmss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
Log($" //////////// Date: ${sDate} - Time: ${sTime} ////////////////"$)
' Aquí creamos manualmente la hora con el separador de los 2 puntos porque en algunas versiones de Android no respeta el formato "Timeformat = 'HH:mm:ss'"
Private hora As String = sTime.SubString2(0,2)
Private mins As String = sTime.SubString2(2,4)
Private segs As String = sTime.SubString(4)
sTime = hora & ":" & mins & ":" & segs
Dim Fechacliente() As String = Regex.Split("/",sDate)
Log("////////////// sTime: "&sTime&" ////////////////")
c = Starter.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info3")
c.Position = 0
no_ruta = c.GetString("CAT_CL_RUTA")
no_cliente = "N" & sTime & no_ruta
Log("++ ++ no_cliente = "&no_cliente)
c.Close
If et_calle1.Text <> "" Then
If et_calle2.Text <> "" Then
If et_numeroint.Text <> "" Then
If et_numeroext.Text <> "" Then
If et_referencia.Text <> "" Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.Timeformat = "HHmmss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
Log($" //////////// Date: ${sDate} - Time: ${sTime} ////////////////"$)
' Aquí creamos manualmente la hora con el separador de los 2 puntos porque en algunas versiones de Android no respeta el formato "Timeformat = 'HH:mm:ss'"
Private hora As String = sTime.SubString2(0,2)
Private mins As String = sTime.SubString2(2,4)
Private segs As String = sTime.SubString(4)
sTime = hora & ":" & mins & ":" & segs
Dim Fechacliente() As String = Regex.Split("/",sDate)
Log("////////////// sTime: "&sTime&" ////////////////")
c = Starter.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info3")
c.Position = 0
no_ruta = c.GetString("CAT_CL_RUTA")
no_cliente = "N" & sTime & no_ruta
Log("++ ++ no_cliente = "&no_cliente)
c.Close
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (no_cliente))
Starter.skmt.ExecNonQuery("delete from CUENTAA")
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente))
c = Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
If c.RowCount > 0 Then
c.Position = 0
ALMACEN = c.GetString("ID_ALMACEN")
End If
c.Close
c = Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FOTO_CLIENTE(CODIGO, ALMACEN, RUTA) VALUES(?,?,?)", Array As Object(no_cliente, ALMACEN, no_ruta))
' Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_LAT,NV_LON,NV_NOMBRE,NV_DIRECCION) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (no_cliente,sDate & sTime, usuario, "NUEVO CLIENTE", lat, lon, E_NOMBRE.Text,et_direccion.Text))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (no_cliente))
Starter.skmt.ExecNonQuery("delete from CUENTAA")
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente))
c = Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
If c.RowCount > 0 Then
c.Position = 0
ALMACEN = c.GetString("ID_ALMACEN")
End If
c.Close
c = Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FOTO_CLIENTE(CODIGO, ALMACEN, RUTA) VALUES(?,?,?)", Array As Object(no_cliente, ALMACEN, no_ruta))
' Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_LAT,NV_LON,NV_NOMBRE,NV_DIRECCION) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (no_cliente,sDate & sTime, usuario, "NUEVO CLIENTE", lat, lon, E_NOMBRE.Text,et_direccion.Text))
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.Timeformat = "HH:mm:ss"
sDate2 = DateTime.Date(DateTime.Now)
sTime2 = DateTime.Time(DateTime.Now)
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.Timeformat = "HH:mm:ss"
sDate2 = DateTime.Date(DateTime.Now)
sTime2 = DateTime.Time(DateTime.Now)
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info3(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_NUM_SERIEFISICO, gestion, CAT_CL_GIRO,CAT_CL_CP) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,?,?) ", Array As Object (no_cliente,no_ruta, E_NOMBRE.Text,"null","null","null","null","null","null","null","null","null","null","null","null","null",B4XPages.MainPage.lon_gps,B4XPages.MainPage.lat_gps, cb_giro.SelectedItem,et_cp.Text))
Starter.skmt.ExecNonQuery2("INSERT INTO CLIENTES_NUEVOS(CN_ID, CN_FECHA, CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA,CN_COLONIA, CN_TELEFONO,CN_CP) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As String(no_cliente, sDate2 &" "&sTime2, usuario, lat, lon, E_NOMBRE.Text, et_direccion.Text, ALMACEN, no_ruta, cb_giro.SelectedItem, ET_Atiende.Text,et_colonia.Text,et_telefono.Text,et_cp.Text))
' fototomada = "0"
B4XPages.ShowPage("Cliente")
CallSubDelayed(Tracker, "StartFLP")
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info3(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_NUM_SERIEFISICO, gestion, CAT_CL_GIRO,CAT_CL_CP,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_NUMEROINT,CAT_CL_NUMEROEXT,CAT_CL_REFERENCIA) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,?,?,?,?,?,?,?) ", Array As Object (no_cliente,no_ruta, E_NOMBRE.Text,"null","null","null","null","null","null","null","null","null","null","null","null","null",B4XPages.MainPage.lon_gps,B4XPages.MainPage.lat_gps, cb_giro.SelectedItem,et_cp.Text,et_calle1.Text,et_calle2.Text,et_numeroint.Text,et_numeroext.Text,et_referencia.Text))
Starter.skmt.ExecNonQuery2("INSERT INTO CLIENTES_NUEVOS(CN_ID, CN_FECHA, CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA,CN_COLONIA, CN_TELEFONO,CN_CP,CN_CALLE1,CN_CALLE2,CN_NUMEROINT,CN_NUMEROEXT,CN_REFERENCIA) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As String(no_cliente, sDate2 &" "&sTime2, usuario, lat, lon, E_NOMBRE.Text, et_direccion.Text, ALMACEN, no_ruta, cb_giro.SelectedItem, ET_Atiende.Text,et_colonia.Text,et_telefono.Text,et_cp.Text,et_calle1.Text,et_calle2.Text,et_numeroint.Text,et_numeroext.Text,et_referencia.Text))
' fototomada = "0"
B4XPages.ShowPage("Cliente")
CallSubDelayed(Tracker, "StartFLP")
Else
MsgboxAsync("Por favor, captura la referencia","Atención")
End If
Else
MsgboxAsync("Por favor, captura el número ext","Atención")
End If
Else
MsgboxAsync("Por favor, captura el número int","Atención")
End If
' Aquí agregue la validacion de las calles
Else
MsgboxAsync("Por favor, captura Entre calle2","Atención")
End If
Else
MsgboxAsync("Por favor, captura Entre calle1","Atención")
End If
' Aquí termina la validacion de las calles
Else
MsgboxAsync("Por favor, debe capturar el C.P. el negocio.","Atención")
End If