Files
Kelloggs_v4/B4A/C_NuevoCliente.bas
Jose Alberto Guerra Ugalde 1451af86ec 13/01/24 - Correcciones en editText de promos y mostrar inv de abordo en productos.
- Se corrigio un error que se daba cuando se editaba la cantidad de prductos varaiables en promociones y quedaba en blanco.
- Se agegó el inventario de abordo a la descripcion del producto cuando se estan seleciconando productos para el Abordo.
2024-01-13 23:07:45 -06:00

131 lines
4.7 KiB
QBasic

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
Private kh As kms_helperSubs
'//Process Globals
Dim g As GPS
Dim ruta As String
Dim c As Cursor
Dim C2 As Cursor
'//Globals
Dim cuenta As String
Dim usuario As String
Dim sDate,sTime As String
Dim lat_gps, lon_gps As String
Dim no_cliente As String
Dim no_ruta As String
Dim r_4 As RadioButton
Dim E_NOMBRE As EditText
Dim ALMACEN As String
Dim DIA_VISITA As String
Private b_guardar As Button
Private b_cancelar As Button
Private Panel1 As Panel
Private p_botones As Panel
Private maxClientesNuevos As Int = 0
Private permitirCtesNuevos As Boolean
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
kh.Initialize(Me, "kh", Starter.skmt)
Return Me
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
'load the layout to Root
Root.LoadLayout("nuevocliente")
ruta = File.DirInternal
Subs.centraPanel(Panel1, Root.Width)
Subs.centraPanel(p_botones, Root.Width)
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
b_guardar.Enabled = False
permitirCtesNuevos = True
b_guardar.Text = "Sin Ubicación ..."
E_NOMBRE.Text = ""
CallSubDelayed(Tracker, "StartFLPSmall")
Private c As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from cat_variables where CAT_VA_DESCRIPCION = 'MAXCTESNUEVOS'"$)
If c.RowCount > 0 Then
c.Position = 0
maxClientesNuevos = c.GetString("CAT_VA_VALOR")
End If
' Log("MaxClientesNuevos: " & maxClientesNuevos)
'Para el almacen 12 (GDL) no hay limite de clientes nuevos.
If kh.traeAlmacen = 12 Then maxClientesNuevos = 0
If maxClientesNuevos <> 0 Then
Private d As Cursor = Starter.skmt.ExecQuery($"select count(CAT_CL_CODIGO) as ctesNuevos from kmt_info where CAT_CL_CODIGO like 'N%'"$)
If d.RowCount > 0 Then
d.Position = 0
' Log($"Clientes nuevos actuales: ${d.GetString("ctesNuevos")}"$)
If d.GetString("ctesNuevos") >= maxClientesNuevos Then
b_guardar.Enabled = False
permitirCtesNuevos = False
ToastMessageShow("¡Ha alcanzado el LIMITE de usuarios nuevos por día!", True)
End If
End If
End If
End Sub
Sub GPS_LocationChanged (Location1 As Location)
' lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
' lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
If Not(permitirCtesNuevos) Then
b_guardar.Enabled = False
Else
b_guardar.Enabled = True
End If
b_guardar.Text = "Guardar"
End Sub
Sub b_cancelar_Click
Subs.iniciaActividad("Principal")
' B4XPages.ShowPage("Principal")
End Sub
Sub b_guardar_Click
If E_NOMBRE.Text = "" Then
ToastMessageShow("Se tiene que nombrar la tienda para continuar" , True)
Else
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.Timeformat = "HHmmss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("select CAT_CL_RUTA, CAT_CL_DIAS_VISITA FROM kmt_info WHERE CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'DIA_VISITA')")
If c.RowCount > 0 Then
c.Position=0
no_ruta= c.GetString("CAT_CL_RUTA")
DIA_VISITA=c.GetString("CAT_CL_DIAS_VISITA")
'Aqui 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)
Private sTime2 As String = hora&":"&mins&":"&segs
Log("////////////// sTime: "&sTime&" ////////////////")
no_cliente= "N" & sTime2 & no_ruta
c.Close
C2=Starter.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
C2.Position=0
ALMACEN= C2.GetString("ID_ALMACEN")
C2.Close
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_DIAS_VISITA,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,CAT_CL_BCREDITO, gestion,CAT_CL_BFACTURA,IMPRESION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,0,1000000,0) ",Array As Object (no_cliente,no_ruta, E_NOMBRE.Text,DIA_VISITA,"new","null","null","null","null","null","null","null","null","NULL","NULL","null","0", Starter.lon_gps, Starter.lat_gps))
Starter.skmt.ExecNonQuery("delete from CUENTAA")
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente))
Subs.iniciaActividad("cliente")
End If
End If
End Sub