diff --git a/B4A - Copy/B4XMainPage.bas b/B4A - Copy/B4XMainPage.bas
new file mode 100644
index 0000000..ec19c44
--- /dev/null
+++ b/B4A - Copy/B4XMainPage.bas
@@ -0,0 +1,530 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=9.85
+@EndOfDesignText@
+#Region Shared Files
+ 'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
+ 'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
+ '###########################################################################################################
+ '###################### PULL #############################################################
+ 'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull
+ '###########################################################################################################
+ '###################### PUSH #############################################################
+ 'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=github&Args=..\..\
+ '###########################################################################################################
+ '###################### PUSH TORTOISE GIT #########################################################
+ 'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=TortoiseGitProc&Args=/command:commit&Args=/path:"./../../"&Args=/closeonend:2
+ '###########################################################################################################
+#End Region
+
+Sub Class_Globals
+ Private Root As B4XView
+ Private xui As XUI
+ Public login As B4XMainPage
+ Dim rp As RuntimePermissions
+ Public principal As C_Principal 'Antes seleccion
+ Public clientes As C_Clientes 'Antes Colonia
+ Public cliente As C_Cliente 'Antes fila
+' Public productos As C_Productos 'Antes colonia2
+' Public updateAvailable As C_updateAvailable
+'' Public mapas As C_Mapas
+'' Public nuevoCliente As C_NuevoCliente
+' Public ticketsDia As C_TicketsDia 'Antes buscar
+ Public noVenta As C_NoVenta 'Antes nopago
+ Public nota As C_Nota 'Antes tarjeta
+' Public promos As C_Promos
+ Public historico As C_Historico 'Antes historico
+
+ Dim reqManager As DBRequestManager
+ Dim ultimaActualizacionGPS As String = 235959
+ Dim almacen, ruta As String
+ Dim user As EditText
+ Dim pass As EditText
+ Dim c As Cursor
+ Dim D As Cursor
+ Dim existe As String
+ Dim paso1 As String
+ Dim IMEI As String
+ Dim alterno As String
+ Private b_menu As Button
+' Dim PopupMenu As RSPopupMenu
+ Dim cmd As DBCommand
+
+ Private IMEN As EditText
+ Private Entrar As Button
+ Private Panel1 As Panel
+ Private ImageView4 As ImageView
+ Private E_SERVER As EditText
+ Private B_SERVER As Button
+ Private B_MACIMP As Button
+ Private CUANTOS As String
+ Private foto_g () As Byte
+
+ Private ListView1 As ListView
+ Private ImageView1 As ImageView
+ Private Label1 As Label
+ Private B_BorrarFinDia As Button
+ Private b_fdCancelar As Button
+ Private b_findiaOk As Button
+ Private p_finDia As Panel
+ Private et_autSup As EditText
+
+ 'prueba downloadfile
+ Dim ProgressBar1 As ProgressBar
+ Dim Label1 As Label
+ Dim btnDownload As Button
+ Dim btnCancel As Button
+ Private p_download As Panel
+ Private Label6 As Label
+ Dim logger As Boolean = True
+
+ Dim lat_gps, lon_gps As String
+ Dim tipo_venta As String
+ Dim bTerminarClicked As Boolean = False
+ Private lv_server As ListView
+ Private l_server As Label
+ Public rutaBDBackup As String = ""
+ Private b_envioBD As Button
+ Dim kh As kms_helperSubs
+ Private p_login As Panel
+ Private l_version As Label
+End Sub
+
+Public Sub Initialize
+ B4XPages.GetManager.LogEvents = True
+ #if not(DEBUG)
+ Starter.logger = False
+ #end if
+End Sub
+
+'This event will be called once, before the page becomes visible.
+Private Sub B4XPage_Created (Root1 As B4XView)
+ If Not(Starter.Logger) Then logger = False
+ Root = Root1
+' Root.LoadLayout("MainPage")
+ Root.LoadLayout("login")
+ B4XPages.SetTitle(Me, "Durakelo")
+ login.Initialize
+ B4XPages.AddPage("Login", login)
+ principal.Initialize
+ B4XPages.AddPage("Principal", principal)
+ clientes.Initialize
+ B4XPages.AddPage("Clientes", clientes)
+ cliente.Initialize
+ B4XPages.AddPageAndCreate("Cliente", cliente)
+' productos.Initialize
+' B4XPages.AddPage("Productos", productos)
+' updateAvailable.Initialize
+' B4XPages.AddPage("updateAvailable", updateAvailable)
+' mapas.Initialize
+' B4XPages.AddPage("Mapas", mapas)
+' nuevoCliente.Initialize
+' B4XPages.AddPageAndCreate("NuevoCliente", nuevoCliente)
+' ticketsDia.Initialize
+' B4XPages.AddPage("TicketsDia", ticketsDia)
+ noVenta.Initialize
+ B4XPages.AddPage("NoVenta", noVenta)
+ nota.Initialize
+ B4XPages.AddPage("Nota", nota)
+' pedidos.Initialize
+' B4XPages.AddPage("Pedidos", pedidos)
+' promos.Initialize
+' B4XPages.AddPage("Promos", promos)
+ historico.Initialize
+ B4XPages.AddPage("Historico", historico)
+' checklist.Initialize
+' B4XPages.AddPage("CheckList", checklist)
+' ruta = Starter.ruta
+ ruta = File.DirInternal
+ kh.Initialize(Me, "kh")
+' If(FirstTime) Then
+' g.Initialize("GPS")
+' End If
+ ' se crea o no el archivo de la base de ddatos de kmt
+ 'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE
+ 'TOME LA NUEVA ESTRUCTURA ES MUY IMPORTANTE TENER EL IF DE LO CONTRARIO SOLO LO ESCRIBE UNA VEZ Y LO BORRA
+ 'SI SE REGRESA A ESTE ACTIVIDAD.
+' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
+' Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
+ kh.guardaAppInfo(Starter.skmt)
+ Dim sDate, sTime As String
+ DateTime.DateFormat = "yyyyMMdd"
+ sDate=DateTime.Date(DateTime.Now)
+
+ Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS PEDIDO3")
+' skmt.ExecNonQuery("DROP VIEW TOTAL_MARCAS")
+
+ Starter.skmt.ExecNonQuery("CREATE VIEW IF NOT EXISTS CATALOGO AS Select CAT_GP_CLASIF, CAT_GP_ID FROM CAT_GUNAPROD UNION Select CAT_GP_CLASIF, CAT_GP_ID FROM CAT_GUNAPROD2 GROUP BY CAT_GP_CLASIF, CAT_GP_ID")
+ Starter.skmt.ExecNonQuery("create view IF NOT EXISTS total_marcas AS Select cat_gp_clasif, sum(pe_costo_tot) As total from CATALOGO, pedido where pe_proid = cat_gp_id And pe_cliente <> 0 group by cat_gp_clasif")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_EXHIBIDORES (CAT_EX_ID TEXT, CAT_EX_TIPO TEXT, CAT_EX_VALOR TEXT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE PEDIDO3 (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTA_GPS(FECHA INTEGER, LAT TEXT, LON TEXT)")
+ If sDate = "20190523" Then
+ Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
+
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",Starter.skmt))
+ End If
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT)")
+
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA2 (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT, HE_PRECIO TEXT)")
+
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)")
+
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA5P (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)")
+
+ c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
+ c.Position =0
+ If c.GetString("CUANTOS") = 0 Then
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",Starter.DBReqServer))
+ Else
+ c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
+ c.Position =0
+ Starter.DBReqServer = c.GetString("CAT_VA_VALOR")
+ End If
+ Dim P As PhoneId
+ 'user.Text = P.GetDeviceId
+ Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE)
+ Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
+ If Result Then
+ Dim P As PhoneId
+ 'user.Text = P.GetDeviceId
+ IMEI = P.GetDeviceId
+ IMEI = ""
+ Else
+ If logger Then Log("Sin permisos para leer los datos del celular")
+ End If
+
+ Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
+ Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
+ If Result Then
+ StartService(Tracker)
+ Log("Start Tracker")
+ End If
+ p_login.Height = Root.Height
+ p_login.Width = Root.Width
+
+End Sub
+
+Sub B4XPage_Appear
+ l_version.Text = Application.VersionName
+' copiaDB
+' server = "http://10.0.0.205:1782"
+
+ reqManager.Initialize(Me, Starter.DBReqServer)
+ Log(Starter.DBReqServer)
+' If g.GPSEnabled=False Then
+ ' ToastMessageShow("Habilitar el GPS", True)
+ ' StartActivity(g.LocationSettingsIntent)
+ ' Else
+ ' g.Start(0,0)
+ ' End If
+' user.Text ="GPS"
+ c = Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA"))
+ c.Position =0
+ If c.GetString("CUANTOS") = 0 Then
+ cmd.Initialize
+ cmd.Name = "select_fechat"
+ reqManager.ExecuteQuery(cmd , 0, "fecha")
+
+ 'Msgbox("AJUSTAR FECHA","AVISO")
+ B4XPage_Appear
+ Else
+ c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA"))
+ c.Position =0
+ Dim sDate,sTime As String
+
+ DateTime.dateFormat = "yyyyMMddHHmm"
+ sDate=DateTime.Date(DateTime.Now)
+
+ 'Msgbox("aaa"& sDate,"aviso")
+ If c.GetString("CAT_VA_VALOR") > sDate & sTime Then
+' Msgbox("AJUSTAR LA FECHA YA QUE ES MENOR AL SISTEMA " & " "& c.GetString("CAT_VA_VALOR") & " " & sDate & sTime ,"AVISO")
+ DateTime.TimeFormat = "MM/dd/yyyyHH:mm:ss"
+ B4XPage_Appear
+ End If
+ DateTime.TimeFormat = "MM/dd/yyyyHH:mm:ss"
+ End If
+ c.Close
+ c = Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CODIGO"))
+ c.Position =0
+ CUANTOS = c.GetString("CUANTOS")
+ c.Close
+ If CUANTOS > 0 Then
+ c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CODIGO"))
+ c.Position =0
+ If c.GetString("CAT_VA_VALOR") = "743" Then
+ Entrar.Visible = True
+ End If
+ c.Close
+ Else
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CODIGO","0"))
+ End If
+
+ c=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
+ c.Position =0
+ If c.GetString("CUANTOS") = 0 Then
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
+ End If
+
+ c=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS FROM VERSION")
+ c.Position= 0
+
+ If c.GetString("CUANTOS") = 0 Then
+ Starter.skmt.ExecNonQuery("delete from VERSION")
+ Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.6"))
+ End If
+ c.Close
+
+ c=Starter.skmt.ExecQuery("select NOVERSION FROM VERSION")
+ c.Position = 0
+
+ If c.GetString("NOVERSION") <> "2.6" Then
+' Msgbox("VERSION INCORRECTA SOLICITAR O DESCARGAR LA NUEVA","ALERTA")
+ B4XPage_Appear
+ End If
+ Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
+ Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
+ If Result Then
+ StartService(Tracker)
+ If logger Then Log("Start Tracker")
+ Else
+ ToastMessageShow("No permission", True)
+ End If
+ Starter.usuario = kh.traeUsuarioDeDB(Starter.skmt)
+' dameUsuario 'Obtenemos el usuario registrado
+ CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
+End Sub
+
+'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
+
+Sub Entrar_Click
+ If user.Text = "ROOT" Then
+ Starter.skmt.ExecNonQuery("delete from usuarioa")
+ Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
+
+ Starter.skmt.ExecNonQuery("delete from cat_almacen")
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (pass.Text))
+ B4XPages.ShowPage("Principal")
+ End If
+
+ c=Starter.skmt.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", Array As String(user.Text))
+ c.Position=0
+ existe = c.GetString("EXISTE1")
+
+ 'existe = 1
+ If existe = 0 Then
+ 'skmt.ExecNonQuery("delete from usuarioa")
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_usuario_guna_DUR"
+ cmd.Parameters = Array As Object(user.Text, pass.Text)
+ reqManager.ExecuteQuery(cmd , 0, "usuario")
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_version_DUR"
+ reqManager.ExecuteQuery(cmd , 0, "version")
+ Else
+ B4XPages.ShowPage("Principal")
+ End If
+
+End Sub
+
+Sub JobDone(Job As HttpJob)
+ If Job.Success = False Then
+ ToastMessageShow("Error: " & Job.ErrorMessage, True)
+ Else
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "version" Then 'query tag
+ For Each records() As Object In result.Rows
+ Starter.skmt.ExecNonQuery("delete from VERSION")
+ Dim CAT_VE_VERSION As String = records(result.Columns.Get("CAT_VE_VERSION"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
+ If CAT_VE_VERSION <> "2.6" Then
+ Msgbox("VERSION INCORRECTA SOLICITAR O DESCARGAR LA NUEVA","ALERTA")
+ B4XPage_Appear
+ End If
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "agencia" Then 'query tag
+ For Each records() As Object In result.Rows
+ Dim ID_ALMACEN As String = records(result.Columns.Get("ID_ALMACEN"))
+ Next
+
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "fecha" Then 'query tag
+ For Each records() As Object In result.Rows
+ Dim FECHA_HOY As String = records(result.Columns.Get("FECHA"))
+ Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",FECHA_HOY))
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "usuario" Then 'query tag
+ For Each records() As Object In result.Rows
+ Dim name As String = records(result.Columns.Get("USUARIO"))
+ Dim ID_ALMACEN As String = records(result.Columns.Get("CAT_LO_AGENCIA"))
+' Dim IMEI_BASE As String = records(result.Columns.Get("CAT_LO_IDTELEFONO"))
+ Next
+ paso1 = 1
+ End If
+ End If
+ Job.Release
+ End If
+
+ If paso1 =1 Then
+ If name = "OKActivo" & IMEI Then
+ Starter.skmt.ExecNonQuery("delete from usuarioa")
+ Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
+ Starter.skmt.ExecNonQuery("delete from cat_almacen")
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (ID_ALMACEN))
+ Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0))
+ B4XPages.ShowPage("Principal")
+ Else If name = "OKExpirado"& IMEI Then
+ Msgbox("Usuario Expirado llamar al administrador","")
+ Else If name = "OKCancelado"& IMEI Then
+ Msgbox("Usuario Cancelado llamar al administrador","")
+ Else
+ Msgbox("Usuario o password No validos","")
+ End If
+ paso1 = 0
+ End If
+End Sub
+
+Sub Activity_KeyPress (key As Int) As Boolean
+ ' BACK key pressed
+ If key=KeyCodes.KEYCODE_BACK Then
+ ' I want to capture the key here so I return True
+ 'StartActivity(Main)
+ ExitApplication
+ 'Return True
+ End If
+ ' Returning False signals the system to handle the key
+ Return False
+End Sub
+
+Sub GPS_LocationChanged (Location1 As Location)
+ If user.text = "GPS" Then
+ 'user.Text=Location1.ConvertToMinutes(Location1.Latitude)
+ 'pass.text=Location1.ConvertToMinutes(Location1.Longitude)
+ user.Text=Location1.Latitude
+ pass.text=Location1.Longitude
+ 'btnTakePicture.Enabled = True
+ 's.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE,HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, lat_gps, lon_gps))
+ End If
+End Sub
+
+Sub PopupMenu_MenuItemClick (ItemId As Int) As Boolean
+ ToastMessageShow("Item " & ItemId & " clicked.", False)
+ Return False
+End Sub
+
+Sub PDF_Click
+
+End Sub
+
+Sub user_EnterPressed
+ If user.Text = "CODIGO" Then
+ IMEN.Visible = True
+ user.Text = ""
+ End If
+End Sub
+
+Sub ImageView4_Click
+ Entrar.Visible = False
+ ListView1.Clear
+ Dim Label1 As Label
+ Label1 = ListView1.SingleLineLayout.Label
+ Label1.TextSize = 20
+ Label1.TextColor = Colors.Black
+ ListView1.AddSingleLine(Starter.DBReqServer)
+
+ c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
+ c.Position =0
+ E_SERVER.text = c.GetString("CAT_VA_VALOR")
+' Panel1.Visible = True
+ kh.panelVisible(Panel1, 0, 0)
+End Sub
+
+Sub B_SERVER_Click
+ Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",E_SERVER.text))
+ reqManager.Initialize(Me, E_SERVER.text.trim)
+ Starter.DBReqServer = E_SERVER.text.trim
+ Panel1.Visible = False
+ Entrar.Visible = True
+End Sub
+
+Sub B_FECHA_Click
+ Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA"))
+ 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","0"))
+ Panel1.Visible = False
+End Sub
+
+Sub ListView1_ItemClick (Position As Int, Value As Object)
+ E_SERVER.text = Value
+End Sub
+
+Sub B_IMPRESORA_Click
+ 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","0"))
+ Panel1.Visible = False
+End Sub
+
+Sub dameUsuario
+ c=Starter.skmt.ExecQuery("select count(*) as EXISTE1 from usuarioa")
+ c.Position=0
+ existe = c.GetString("EXISTE1")
+ c.Close
+ If existe > 0 Then
+ c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ Starter.usuario = c.GetString("USUARIO")
+ Else
+ Starter.usuario = "SINUSUARIO"
+ End If
+End Sub
+
+'Copia la base de datos del almacenamiento interno al externo en el directorio kmts
+Sub copiaDB
+ Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
+ Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
+ If Result Then
+ Dim theDir As String
+ Try
+ File.MakeDir(File.DirRootExternal,"kmts")
+ theDir = "/kmts"
+ Catch
+ theDir = ""
+ End Try
+ Try
+ File.Copy(File.DirInternal,"kmt.db",File.DirRootExternal&theDir,"dura_kmt.db")
+ ToastMessageShow("Listo, copiada a " & File.DirRootExternal&theDir & "/dura_kmt.db", False)
+ LogColor("copiado", Colors.red)
+ Catch
+ ToastMessageShow("No se pudo hacer la copia: "&LastException, True)
+ LogColor("no copiado", Colors.red)
+ End Try
+' Log("rootExternal="&p)
+' Log("File.DirInternal="&File.DirInternal)
+' Log("File.DirRootExternal="&File.DirRootExternal)
+ Else
+ ToastMessageShow("Sin permisos", True)
+ End If
+End Sub
diff --git a/B4A - Copy/BatteryUtilities.bas b/B4A - Copy/BatteryUtilities.bas
new file mode 100644
index 0000000..ebb4448
--- /dev/null
+++ b/B4A - Copy/BatteryUtilities.bas
@@ -0,0 +1,126 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=10.2
+@EndOfDesignText@
+'Class module
+Sub Class_Globals
+ Private nativeMe As JavaObject
+
+End Sub
+'Initializes the object.
+Public Sub Initialize
+ nativeMe = Me
+End Sub
+'Return information about the battery status. It returns the following 11 values in an integer Array:
+'EXTRA_LEVEL = current battery level, from 0 To EXTRA_SCALE.
+'EXTRA_SCALE = the maximum battery level possible.
+'EXTRA_HEALTH = the current health constant.
+'EXTRA_ICON_SMALL = the resource ID of a small status bar icon indicating the current battery state.
+'EXTRA_PLUGGED = whether the device is plugged into a Power source; 0 means it is on battery, other constants are different types of Power sources.
+'EXTRA_STATUS = the current status constant.
+'EXTRA_TEMPERATURE = the current battery temperature.
+'EXTRA_VOLTAGE = the current battery voltage level.
+'A value indicating if the battery is being charged or fully charged (If neither it returns 0 Else it returns 1)
+'A value indicating if it is charging via USB (0 = Not USB, 2 = USB)
+'A value indicating if it is charging via AC (0 = Not AC, 1 = AC)
+Public Sub getBatteryInformation () As Int()
+
+ Dim batteryInfo(11) As Int
+ batteryInfo = nativeMe.RunMethod("getBatteryInformation",Null)
+ Return batteryInfo
+
+End Sub
+
+Public Sub getBatteryTechnolgy() As String
+
+ Dim batterytech As String
+ batterytech = nativeMe.RunMethod("getBatteryTechnology",Null)
+ Return batterytech
+
+End Sub
+
+
+
+#If Java
+
+import android.os.BatteryManager;
+import android.os.Bundle;
+import android.app.Activity;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+
+ public int[] getBatteryInformation() {
+
+ int[] mybat = new int[11];
+
+ Intent batteryIntent = ba.context.getApplicationContext().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+
+ int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
+ mybat[0] = level;
+ int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
+ mybat[1] = scale;
+ int health = batteryIntent.getIntExtra(BatteryManager.EXTRA_HEALTH,-1);
+ mybat[2] = health;
+ int icon_small = batteryIntent.getIntExtra(BatteryManager.EXTRA_ICON_SMALL,-1);
+ mybat[3] = icon_small;
+ int plugged = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);
+ mybat[4] = plugged;
+// boolean present = batteryIntent.getExtras().getBoolean(BatteryManager.EXTRA_PRESENT);
+ int status = batteryIntent.getIntExtra(BatteryManager.EXTRA_STATUS,-1);
+ mybat[5] = status;
+// String technology = batteryIntent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY);
+// BA.Log("Technology = " + technology);
+ int temperature = batteryIntent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,-1);
+ mybat[6] = temperature;
+ int voltage = batteryIntent.getIntExtra(BatteryManager.EXTRA_VOLTAGE,-1);
+ mybat[7] = voltage;
+// int ac = batteryIntent.getIntExtra("plugged",BatteryManager.BATTERY_PLUGGED_AC);
+// mybat[8] = ac;
+// int usb = batteryIntent.getIntExtra("plugged",BatteryManager.BATTERY_PLUGGED_USB);
+// mybat[9] = usb;
+
+ boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
+ status == BatteryManager.BATTERY_STATUS_FULL;
+ mybat[8] = 0;
+ if (isCharging == true) {
+ mybat[8] = 1;
+ }
+
+ // How are we charging?
+ mybat[9] = 0;
+ mybat[10] = 0;
+ int chargePlug = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
+ boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
+ if (usbCharge == true) {
+ mybat[9] = 2;
+ }
+
+ boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
+ if (acCharge == true) {
+ mybat[10] = 1;
+ }
+
+ return mybat;
+ }
+
+
+ public String getBatteryTechnology() {
+
+ Intent batteryIntent = ba.context.getApplicationContext().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+
+ String technology = batteryIntent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY);
+
+ return technology;
+ }
+
+
+
+
+
+
+
+#End If
\ No newline at end of file
diff --git a/B4A - Copy/C_Cliente.bas b/B4A - Copy/C_Cliente.bas
new file mode 100644
index 0000000..f1f93f2
--- /dev/null
+++ b/B4A - Copy/C_Cliente.bas
@@ -0,0 +1,1202 @@
+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
+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")
+ 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
+ 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 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,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)")
+ 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")
+
+ 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 CREDITO = "1" Then
+ Msgbox("ALTO","Este cliente no se le puede vender ya que tienen adeudo en su crédito")
+ B_VENTA.Visible = False
+ gest.Visible = False
+ Else
+ B_VENTA.Visible = True
+ gest.Visible = True
+
+ 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 < 1 Then
+ META2 = "CUBIERTO"
+ End If
+ la_saldooper.Text = META2
+
+ If Printer1.IsConnected = False Then
+ Printer1.Connect
+ Else
+ Printer1.DisConnect
+ Printer1.Connect
+ End If
+ If PASA_IMP = "1" Then
+ B_IMP.Enabled = True
+ End If
+ '''''''''Agregar la parte de si tiene credito o no tiene credito
+ If la_cuenta.Text="0" Then
+ B_VENTA.Visible = False
+ gest.Visible = False
+ Else
+ B_VENTA.Visible = True
+ gest.Visible = True
+ 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
+ Starter.tipov = "PREVENTA"
+ ' StartActivity(colonia2)
+ cuestionario
+End Sub
+
+Sub Tels_Click
+ ' skmt.ExecNonQuery("delete from PEDIDO")
+' StartActivity(nopago)
+ B4XPages.ShowPage("NoVenta")
+End Sub
+
+Sub Activity_KeyPress (key As Int) As Boolean
+ ' BACK key pressed
+ If key=KeyCodes.KEYCODE_BACK Then
+ ' I want to capture the key here so I return True
+' StartActivity(colonia)
+ 'Return True
+ End If
+ ' Returning False signals the system to handle the key
+ Return False
+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
+ 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"))
+ c.Position =0
+ perfil = c.GetString("CAT_VA_VALOR")
+ c.Close
+ End If
+
+ 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
+ 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 = 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)
+ Log("****** " & cont)
+ cont = cont + 1
+ If cont = 2 Then Printer1.Connect
+ If cont > 4 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)
+
+ '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(sucursal & CRLF)
+ Printer1.WriteString(sDate & CRLF)
+ Printer1.WriteString(sTime & 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
+ Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")) & CRLF)
+ End If
+ Printer1.WriteString("Total Preventa: $" & s.GetString("TOTAL") & CRLF)
+ s.Close
+
+ 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 LENGTH(PE_CEDIS) < 4 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 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("--FIN PROMOS----" & CRLF)
+ 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
+
+ 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
+ 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"))
+ c.Position =0
+ perfil = c.GetString("CAT_VA_VALOR")
+ c.Close
+ End If
+
+ 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
+ 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)
+' 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
+ 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)
+
+' printer.Initialize(cmp20.OutputStream)
+ Printer1.WriteString("DURAKELO S.A. de C.V." & CRLF)
+ Printer1.WriteString("RFC: DUR-011025-T12" & CRLF)
+ Printer1.WriteString(sucursal & CRLF)
+ Printer1.WriteString(sDate & CRLF)
+ Printer1.WriteString(sTime & 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("-----------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 LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("VENTA"))
+ 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 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("--FIN PROMOS----" & CRLF)
+
+ End If
+ s.Close
+
+ Printer1.WriteString(" " & CRLF)
+ 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
+' 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
+ 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
+
+ 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
+End Sub
+
+Sub B_VENTA_Click
+ Starter.tipov = "VENTA"
+ 'StartActivity(colonia2)
+ cuestionario
+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)
+ Log("Impresora conectada.")
+ If Success Then
+ 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 = True
+ 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 cuestionario
+ DateTime.DateFormat = "MM/dd/yyyy"
+ 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 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 c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ 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
\ No newline at end of file
diff --git a/B4A - Copy/C_Clientes.bas b/B4A - Copy/C_Clientes.bas
new file mode 100644
index 0000000..c35f70c
--- /dev/null
+++ b/B4A - Copy/C_Clientes.bas
@@ -0,0 +1,213 @@
+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
+ '//Process Globals
+ Dim ruta As String
+ Dim q_buscar As String
+ 'These global variables will be redeclared each time the activity is created.
+ 'These variables can only be accessed from this module.
+ Dim skmt As SQL
+ Dim c As Cursor
+ Dim c2 As Cursor
+ Dim s As Cursor
+ Dim ListView1 As ListView
+ Dim entro As String
+ Dim gest As Button
+ Dim lfila As Label
+ Dim busca As EditText
+ Dim colonia As String
+ Private b_qr As Button
+ Private qr As QRCode
+' Dim sc As Zxing_scanner
+ Dim CODIGO As String
+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.LoadLayout("Clientes")
+ entro ="2"
+ ' valido donde escribo el archivo de la base de datos de kmt
+ ruta = File.DirInternal
+ If File.Exists(ruta, "kmt.db") = False Then
+ File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
+ End If
+' qr.initialize
+End Sub
+
+Sub B4XPage_Appear
+ b_qr.Visible = False ' No usamos el lector QR en esta app - CHV
+ busca.Text = ""
+ skmt.Initialize(ruta,"kmt.db", True)
+ entro ="2"
+ colonia = 0
+ ' esto es para rutas se quito por colonia c=skmt.ExecQuery("select CAT_CL_RUTA, count(*) as cuantos from kmt_info where gestion = 0 group by CAT_CL_RUTA order by CAT_CL_RUTA asc")
+ 'SE COMENTA EL SIGUIENTE CODIGO PARA QUE TODAS LAS TIENDAS APARESCAN.
+
+ ' c=skmt.ExecQuery("select CAT_CL_COLONIA, count(*) as cuantos from kmt_info where gestion = 0 group by CAT_CL_COLONIA order by CAT_CL_COLONIA asc")
+ c=skmt.ExecQuery("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO,CAT_CL_NUM_SERIEFISICO from kmt_info where gestion = 0 and cat_cl_codigo <> 0 ORDER BY CAST(CAT_CL_NUM_SERIEFISICO AS DECIMAL)")
+ ListView1.Clear
+ lfila.Text = "NOMBRE"
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 10
+ label1.TextColor = Colors.Black
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.Black
+ ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO"), c.GetString("CAT_CL_NUM_SERIEFISICO") & " " & c.GetString("CAT_CL_NOMBRE"))
+ Next
+ End If
+ entro = "4"
+ ' ESTE FUE EL FIN DEL CODIGO COMENTADO
+
+End Sub
+
+Sub ListView1_ItemClick (Position As Int, Value As Object)
+ If colonia = 0 Then
+ colonia = Value
+ End If
+ If entro = "2" Then
+ c2=skmt.ExecQuery2("select CAT_CL_CALLE, CAT_CL_COLONIA, count(*) as cuantos from kmt_info where gestion = 0 and CAT_CL_COLONIA = ? GROUP BY CAT_CL_CALLE, CAT_CL_COLONIA order by CAT_CL_CALLE ", Array As String(Value))
+ ListView1.Clear
+ lfila.text = "Calle"
+ If c2.RowCount>0 Then
+ For i=0 To c2.RowCount -1
+ c2.Position=i
+ ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") )
+ Next
+ End If
+ entro = "3"
+ Else If entro = "3" Then
+ c2=skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 and CAT_CL_CALLE = ? AND CAT_CL_COLONIA = ? order by CAT_CL_NOMBRE ", Array As String(Value, colonia))
+ ListView1.Clear
+ lfila.text = "Nombre"
+ If c2.RowCount>0 Then
+ For i=0 To c2.RowCount -1
+ c2.Position=i
+ ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE"))
+ Next
+ End If
+ entro = "4"
+ Else If entro = "4" Then
+ skmt.ExecNonQuery("delete from CUENTAA")
+ skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
+' StartActivity(fila)
+ B4XPages.ShowPage("Cliente")
+ End If
+End Sub
+
+Sub Activity_KeyPress (key As Int) As Boolean
+ ' BACK key pressed
+ If key=KeyCodes.KEYCODE_BACK Then
+ ' If entro = "3" Then
+ 'entro = "2"
+ 'B4XPage_Appear
+ 'Return True
+ 'Else If entro = "2" Then
+ 'entro = "1"
+ 'B4XPage_Appear
+ 'Return True
+ 'Else If entro = "1" Then
+
+ ' I want to capture the key here so I return True
+
+' StartActivity(seleccion)
+ B4XPages.ShowPage("Principal")
+ Return False
+ 'End If
+ End If
+ ' Returning False signals the system to handle the key
+
+End Sub
+
+Sub BUSCA_TextChanged (Old As String, New As String)
+ q_buscar = "%" & busca.Text & "%"
+ skmt.Initialize(ruta,"kmt.db", True)
+
+ c2=skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ?)and gestion = 0 order by CAT_CL_NOMBRE ", Array As String(q_buscar,q_buscar))
+ ListView1.Clear
+ lfila.text = "Nombre y Calle"
+
+ If c2.RowCount>0 Then
+ For i=0 To c2.RowCount -1
+ c2.Position=i
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 10
+ label1.TextColor = Colors.White
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.White
+ ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE") &" CALLE: "& c2.GetString("CAT_CL_CALLE"))
+ Next
+ End If
+ entro = "4"
+
+ c2.Close
+End Sub
+
+Sub b_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)
+ 'Log("Type : " & atype)
+ 'Log("Value : " & Values)
+ CODIGO = Values
+
+ c2=skmt.ExecQuery2("select COUNT(*) AS ENCONTRADO from kmt_info where CAT_CL_NUM_SERIEFISICO = ? order by CAT_CL_NOMBRE ", Array As String(CODIGO))
+ c2.Position =0
+ If c2.GetString("ENCONTRADO") > 0 Then
+ s=skmt.ExecQuery2("select CAT_CL_CODIGO from kmt_info where CAT_CL_NUM_SERIEFISICO = ? order by CAT_CL_NOMBRE ", Array As String(CODIGO))
+ s.Position =0
+ skmt.ExecNonQuery("delete from CUENTAA")
+ skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(s.GetString("CAT_CL_CODIGO")))
+ s.Close
+ b_qr.Visible = False
+' StartActivity(fila)
+ Else
+ Msgbox("CODIGO " & CODIGO & " NO ENCONTRADO","AVISO")
+ End If
+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
\ No newline at end of file
diff --git a/B4A - Copy/C_Historico.bas b/B4A - Copy/C_Historico.bas
new file mode 100644
index 0000000..f036d4f
--- /dev/null
+++ b/B4A - Copy/C_Historico.bas
@@ -0,0 +1,148 @@
+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 skmt As SQL
+ Dim g As GPS
+ Dim clie_id As String
+ Dim sDate,sTime As String
+ Dim usuario 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 ruta As String
+ Dim Regresar As Button
+ Dim ListView1 As ListView
+ Dim L_CANT As Label
+ Dim L_TOTAL As Label
+ Dim borra As Button
+ Dim Existe As String
+ Dim result As String
+ ' Dim lat_gps, lon_gps As String
+
+ Private Titulo As Label
+ Private b_desc As Button
+ Private ListView2 As ListView
+ Private B_RMI As Button
+End Sub
+
+Sub initialize
+
+End Sub
+
+Private Sub B4XPage_Created (Root1 As B4XView)
+ Root = Root1
+ Root.LoadLayout("Historico")
+ borra.Visible = False
+ Titulo.Text = "Acumulado"
+ b_desc.Visible = False
+ g.Initialize("gps")
+End Sub
+
+Sub B4XPage_Appear
+ B_RMI.Visible = True
+ If g.GPSEnabled=False Then
+ ToastMessageShow("Habilitar el GPS", True)
+ StartActivity(g.LocationSettingsIntent)
+ Else
+ g.Start(0,0)
+ End If
+ L_CANT.Text =""
+ L_TOTAL.Text=""
+ c=Starter.skmt.ExecQuery("select count(*) as EXISTE from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
+ C.Position=0
+ Existe = C.GetString("EXISTE")
+ C.Close
+ c=Starter.skmt.ExecQuery("select HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_FECHA asc")
+ ListView1.Clear
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 15
+ label1.TextColor = Colors.Black
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.Blue
+ ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT")& " FECHA " &c.GetString("HVD_FECHA") )
+ Next
+ End If
+ If Existe <> 0 Then
+ c=Starter.skmt.ExecQuery("select SUM(HVD_CANT) AS PC_NOART, SUM(HVD_COSTO_TOT) AS PC_MONTO from HIST_VENTAS where HVD_CLIENTE in (Select CUENTA from cuentaa)")
+ C.Position=0
+ L_CANT.Text = c.GetString("PC_NOART")
+ L_TOTAL.Text = c.GetString("PC_MONTO")
+ End If
+ 'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
+
+
+End Sub
+
+Sub GPS_LocationChanged (Location1 As Location)
+ 'lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
+ 'lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
+End Sub
+
+Sub Regresar_Click
+ B_RMI.Visible = False
+' StartActivity(fila)
+ B4XPages.ShowPage("Cliente")
+End Sub
+
+Sub Activity_KeyPress (key As Int) As Boolean
+ ' BACK key pressed
+ If key=KeyCodes.KEYCODE_BACK Then
+ ' I want to capture the key here so I return True
+' StartActivity(seleccion)
+ 'Return True
+ End If
+ ' Returning False signals the system to handle the key
+ Return False
+End Sub
+
+Sub ListView2_ItemClick (Position As Int, Value As Object)
+ ListView2.Visible = False
+ ListView1.Visible = True
+End Sub
+
+Sub ListView1_ItemClick (Position As Int, Value As Object)
+ ListView2.Visible = True
+ ListView1.Visible = False
+ Dim label1 As Label
+ ListView2.Clear
+ For i=0 To 20
+ label1 = ListView2.SingleLineLayout.Label
+ label1.TextSize = 15
+ label1.TextColor = Colors.Black
+ ListView2.AddSingleLine(i)
+ Next
+End Sub
+
+Sub B_RMI_Click
+ c=Starter.skmt.ExecQuery("select HR_CLIENTE,HR_PRONOMBRE,HR_CANT from HIST_RMI WHERE HR_CLIENTE IN (Select CUENTA from cuentaa)")
+ ListView1.Clear
+ If c.RowCount > 0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 15
+ label1.TextColor = Colors.Black
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.Blue
+ ListView1.AddTwoLines(c.GetString("HR_PRONOMBRE"),"Cantidad #"& c.GetString("HR_CANT") )
+ Next
+ End If
+End Sub
\ No newline at end of file
diff --git a/B4A/C_Mapas.bas b/B4A - Copy/C_Mapas.bas
similarity index 100%
rename from B4A/C_Mapas.bas
rename to B4A - Copy/C_Mapas.bas
diff --git a/B4A - Copy/C_NoVenta.bas b/B4A - Copy/C_NoVenta.bas
new file mode 100644
index 0000000..6945449
--- /dev/null
+++ b/B4A - Copy/C_NoVenta.bas
@@ -0,0 +1,95 @@
+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 skmt As SQL
+ Dim c As Cursor
+ 'These global variables will be redeclared each time the activity is created.
+ 'These variables can only be accessed from this module.
+ Dim CANCELA As Button
+ Dim GUARDA As Button
+ Dim r_1 As RadioButton
+ Dim r_2 As RadioButton
+ Dim r_3 As RadioButton
+ Dim e_comm As EditText
+ Dim motivo As String
+ Dim cuenta As String
+ Dim usuario As String
+ Dim sDate,sTime As String
+' Dim lat_gps, lon_gps As String
+ Dim r_4 As RadioButton
+End Sub
+
+Sub initialize
+
+End Sub
+
+Private Sub B4XPage_Created (Root1 As B4XView)
+ Root = Root1
+ Root.LoadLayout("NoVenta")
+ g.Initialize("gps")
+End Sub
+
+Sub B4XPage_Appear
+ e_comm.Text = ""
+ If g.GPSEnabled = False Then
+ ToastMessageShow("Habilitar el GPS", True)
+ StartActivity(g.LocationSettingsIntent)
+ Else
+ g.Start(0,0)
+ End If
+End Sub
+
+Sub GPS_LocationChanged (Location1 As Location)
+ 'lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
+ 'lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
+End Sub
+
+Sub CANCELA_Click
+' StartActivity(fila)
+ B4XPages.ShowPage("Cliente")
+End Sub
+
+Sub GUARDA_Click
+ If r_1.Checked Then
+ motivo = "CERRADO"
+ Else If r_2.Checked Then
+ motivo = "NO COMPRA"
+ Else If r_3.Checked Then
+ motivo = "CON PRODUCTO"
+ Else
+ motivo = "NO ESTA EL ENCARGADO"
+ End If
+ 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
+ cuenta = c.GetString("CUENTA")
+ c=Starter.skmt.ExecQuery("select usuario from usuarioa")
+ c.Position = 0
+ usuario = c.GetString("USUARIO")
+ c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT 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 cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
+ Next
+ End If
+ Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
+ Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
+
+ Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text,Starter.lat_gps,Starter.lon_gps))
+ Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+' StartActivity(seleccion)
+ B4XPages.ShowPage("Principal")
+End Sub
\ No newline at end of file
diff --git a/B4A - Copy/C_Nota.bas b/B4A - Copy/C_Nota.bas
new file mode 100644
index 0000000..4acaa62
--- /dev/null
+++ b/B4A - Copy/C_Nota.bas
@@ -0,0 +1,319 @@
+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 skmt As SQL
+ Dim g As GPS
+ Dim clie_id As String
+ Dim sDate,sTime As String
+ Dim usuario 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 d As Cursor
+ Dim ruta As String
+ Dim Regresar As Button
+
+ Dim ListView1 As ListView
+ Dim L_CANT As Label
+ Dim L_TOTAL As Label
+ Dim borra As Button
+ Dim Existe As String
+ Dim result As String
+ ' Dim lat_gps, lon_gps As String
+ Dim DESC As String
+
+ Private Titulo As Label
+ Private b_desc As Button
+ Dim DESCUENTO As String
+ Dim folio As String
+ Dim TIPO As String
+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
+ g.Initialize("GPS")
+ ruta = File.DirInternal
+ Root.LoadLayout("historico")
+ borra.Visible = True
+ Titulo.Text = "Pedido Actual"
+ Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
+ c=Starter.skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)")
+ C.Position=0
+ Existe = C.GetString("EXISTE")
+ C.Close
+ c=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc")
+ ListView1.Clear
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 15
+ label1.TextColor = Colors.Black
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.Blue
+ ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"),"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO"))
+ folio = c.GetString("PE_FOLIO")
+ Next
+ End If
+ If Existe <> 0 Then
+ c=Starter.skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
+ C.Position=0
+ L_CANT.Text = c.GetString("PC_NOART")
+ L_TOTAL.Text = c.GetString("PC_MONTO")
+ End If
+End Sub
+
+Sub B4XPage_Appear
+ If g.GPSEnabled=False Then
+ ToastMessageShow("Habilitar el GPS", True)
+ StartActivity(g.LocationSettingsIntent)
+ Else
+ g.Start(0,0)
+ End If
+
+ L_CANT.Text =""
+ L_TOTAL.Text=""
+ Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
+
+ c=Starter.skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)")
+ C.Position=0
+ Existe = C.GetString("EXISTE")
+ C.Close
+ c=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc")
+ ListView1.Clear
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 15
+ label1.TextColor = Colors.Black
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.Blue
+ ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"),"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO"))
+ folio = c.GetString("PE_FOLIO")
+ Next
+ End If
+ If Existe <> 0 Then
+ c=Starter.skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
+ C.Position=0
+ L_CANT.Text = c.GetString("PC_NOART")
+ L_TOTAL.Text = c.GetString("PC_MONTO")
+ c.Close
+ c=Starter.skmt.ExecQuery("select SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
+ c.Position=0
+ DESC = c.GetString("DESCUENTO")
+ 'If L_TOTAL.Text > 1000 And DESC = 0 Then
+
+ 'b_desc.Visible = True
+ 'b_desc.Text = "- 5% DESC"
+ 'DESCUENTO = "MENOS"
+ 'Else if L_TOTAL.Text > 1000 Then
+ 'b_desc.Visible = True
+ 'b_desc.Text = "Cancela Desc"
+ 'DESCUENTO = "MAS"
+ 'Else
+ b_desc.Visible = False
+
+ 'End If
+ End If
+ 'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
+
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+End Sub
+
+Sub GPS_LocationChanged (Location1 As Location)
+ 'lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
+ 'lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
+End Sub
+
+Sub Regresar_Click
+' StartActivity(fila)
+ B4XPages.ShowPage("Cliente")
+End Sub
+
+Sub Activity_KeyPress (key As Int) As Boolean
+ ' BACK key pressed
+ If key=KeyCodes.KEYCODE_BACK Then
+ ' I want to capture the key here so I return True
+' StartActivity(seleccion)
+ 'Return True
+ End If
+ ' Returning False signals the system to handle the key
+ Return False
+End Sub
+
+Sub borra_Click
+ If folio <> "" Then
+ result = Msgbox2("Seguro que desa borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
+ If result = DialogResponse.POSITIVE Then
+
+ c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT, PE_TIPO 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
+
+ TIPO = c.GetString("PE_TIPO")
+ If c.GetString("PE_TIPO") = "VENTA" Then
+ Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
+ Else
+ Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
+ End If
+ Next
+ End If
+
+
+ Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
+ Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
+ Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ B4XPage_Appear
+ End If
+ Else
+ Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore
+ End If
+End Sub
+
+Sub ListView1_ItemLongClick (Position As Int, Value As Object)
+ result = Msgbox2("Seguro que desa borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
+ If result = DialogResponse.POSITIVE Then
+
+' If TIPO = "VENTA" Then
+' c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value))
+' Else
+' c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value))
+' End If
+ c=Starter.skmt.ExecQuery2("SELECT COUNT(*) as CUANTOS FROM PEDIDO WHERE pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and length(pe_cedis) > 3 ", Array As String(Value))
+ c.Position=0
+ If c.GetString("CUANTOS") > 0 Then
+
+ d=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and length(pe_cedis) > 3", Array As String(Value))
+
+ If d.RowCount>0 Then
+ For i=0 To d.RowCount -1
+ d.Position=i
+ TIPO = d.GetString("PE_TIPO")
+ If d.GetString("PE_TIPO") = "VENTA" Then
+ Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
+ Else
+ Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
+ End If
+ Next
+ End If
+ d.Close
+
+
+ Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
+ Else
+ d=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value))
+ d.Position = 0
+
+ TIPO = d.GetString("PE_TIPO")
+ If d.GetString("PE_TIPO") = "VENTA" Then
+ Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
+ Else
+ Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
+ End If
+ d.Close
+
+
+ Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
+ End If
+
+
+
+
+ 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 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)")
+ Else
+ Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
+ Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ End If
+ B4XPage_Appear
+ End If
+End Sub
+
+Sub b_desc_Click
+ If DESCUENTO = "MENOS" Then
+ 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.Close
+ c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+ c.Close
+ result = Msgbox2("Seguro que desa dar descuento del 5%?","Dar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
+ If result = DialogResponse.POSITIVE Then
+ Starter.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT * .95, PE_DESC = 5 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
+ 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
+ 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))
+ c.Close
+ B4XPage_Appear
+ End If
+ ELSE IF DESCUENTO = "MAS" Then
+ 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.Close
+ c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+ c.Close
+ result = Msgbox2("Seguro que desa CANCELAR el descuento?","Cancelar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
+ If result = DialogResponse.POSITIVE Then
+ Starter.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT / .95, PE_DESC = 0 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
+ 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
+ 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))
+ c.Close
+ B4XPage_Appear
+ End If
+ End If
+End Sub
\ No newline at end of file
diff --git a/B4A - Copy/C_Principal.bas b/B4A - Copy/C_Principal.bas
new file mode 100644
index 0000000..fecd550
--- /dev/null
+++ b/B4A - Copy/C_Principal.bas
@@ -0,0 +1,2726 @@
+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
+ '//Process Globals
+ 'These global variables will be declared once when the application starts.
+ 'These variables can be accessed from all modules.
+ Dim reqManager As DBRequestManager
+ Dim conectado As String
+ Dim skmt As SQL
+ Dim t1 As Timer
+ Dim Timer_GIF1 As Timer
+ Dim Frame1 As Int
+ Dim Awake As PhoneWakeState
+ Dim sb As StringBuilder
+ Dim PHONE As Phone
+ Timer_GIF1.Initialize("Timer1",0)
+' Dim g As GPS
+ Dim trabajar As Button
+ Dim T3 As Timer
+ Dim c As Cursor
+ Dim d As Cursor
+ Dim d3 As Cursor
+ Dim b As Cursor
+ Dim e As Cursor
+ Dim f As Cursor
+ Dim D2 As Cursor
+ Dim E1 As Cursor
+ Dim lv As ListView
+ Dim cargar As Button
+ Dim pendiente As Button
+ Dim foto1() As Byte
+ Dim usuario As String
+ Dim connecta As Button
+ Dim conn As String
+ Dim Subir As Button
+ Dim cmd As DBCommand
+ Dim TOPE As Int
+ Dim COUNT_CLIE As Int
+ Dim fecha As String
+ Dim drop As Double
+ Dim efectiva As Double
+ Dim HORAINGRESO As String
+ Dim L_MONTOD As Label
+ Dim l_cuantosc As Label
+ Dim l_drop As Label
+ Dim l_efectiva As Label
+ Dim l_ctast As Label
+ Dim BUSCA As Button
+ Dim Cuantos As String
+ Dim l_cuantosn As Label
+ Dim e_ruta As EditText
+ Dim l_porvisitar As Label
+ Dim b_mapa As Button
+ Dim l_ruta As Label
+ Dim ALMACEN As String
+ Private img2 As ImageView
+ Dim Listo1 As String
+ Dim Listo2 As String
+ Dim Listo3 As String
+ Dim Listo4 As String
+ Dim Listo5 As String
+ Dim EJECUTANDO As String
+ Dim RES As String
+ Dim inve As String
+ Dim cuantos_pedidosc As String
+ Dim cuantos_pedido As String
+ Dim cuantos_noventa As String
+ Dim datos_iguales As String
+ Dim p As PhoneId
+ Dim imei As String
+ Dim SERVER As String
+' Dim lat_gps, lon_gps As String
+
+ Private inv As Button
+ Private P1 As Panel
+ Private CLAVE As EditText
+ Private B_OK_PAS As Button
+ Dim PASO As String
+ Private USUARIO1 As EditText
+ Dim connecta1 As Double
+ Dim armafolio As String
+ Private NUEVO As Button
+ Private S_CC As Label
+ Private S_CP As Label
+ Private S_CH As Label
+ Private PB2 As ProgressBar
+ Private PB1 As ProgressBar
+ Private L_P_1 As Label
+ Private L_P_2 As Label
+ Private L_P_3 As Label
+ Private CARGA As String
+ Private PORCENTAJE As String
+ Private P_RESUMEN As Panel
+ Private B_OK_RES As Button
+ Private Resumen As Button
+ Private L_CUANTOST As Label
+ Private img3 As ImageView
+
+ Private ImageView3 As ImageView
+ Private ImageView5 As ImageView
+ Private L_TICKPROM As Label
+ Private MARCASQ As String
+ Private B_PROXIMA As Button
+ Private l_monto_a As Label
+ Private ImageView9 As ImageView
+ Private L_MONTO_R As Label
+ Dim PERFIL As String
+ Dim NUMERO_PEDIDO As String
+ Private l_cambios As Label
+ Private l_monto_ks As Label
+ Private l_monto_kp As Label
+ Private l_monto_k As Label
+ Private Cuantos As String
+ Private TIEMPO As String
+ Private i_gif As ImageView
+ Dim gif1 As GifDecoder
+ Dim ruta As String
+
+ Private L_VENTA As Label
+ Private L_PREVENTA As Label
+ Private L_ABORDO As Label
+
+ Dim cuantos_ped As String
+ Dim conteo As String
+ Private PASO_info As String
+
+ Private bpv1 As BatteryProgressView
+ Dim batterystatus(11) As Int
+ Private bu As BatteryUtilities
+
+
+ Private ImageView12 As ImageView
+
+ Private TitleHeight As Int = 50dip
+ Private Title2Height As Int = 100dip
+
+ Private DividerHeight As Int = 5dip
+ Private CLV1 As CustomListView
+ Private pnlTitle As B4XView
+ Private xui As XUI
+ Type TitleData (Title As String)
+
+ Private B_MARCAS As Button
+ Private Panel5 As Panel
+ Private lblTitle As Label
+ Private B_OK_PANEL5 As Button
+ Private Btn_UbicarR As Button
+ Private SUBIR_P As Button
+ Private b_e_resumen As Button
+ Private cuantos_exib As String
+ Dim ime As IME
+ Private l_monto_kc As Label
+ Private l_version As Label
+End Sub
+
+Sub initialize
+
+End Sub
+
+
+Private Sub B4XPage_Created (Root1 As B4XView)
+ EJECUTANDO=1
+ SERVER = Starter.DBReqServer
+ reqManager.Initialize(Me, SERVER)
+ Log(SERVER)
+ Root = Root1
+ Root.LoadLayout("principal")
+ img2.Visible =False
+
+ ' valido donde escribo el archivo de la base de datos de kmt
+ ruta = File.DirInternal
+ Log(SERVER)
+ ' se crea o no el archivo de la base de ddatos de kmt
+ 'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE
+ 'TOME LA NUEVA ESTRUCTURA ES MUY IMPORTANTE TENER EL IF DE LO CONTRARIO SOLO LO ESCRIBE UNA VEZ Y LO BORRA
+ 'SI SE REGRESA A ESTE ACTIVIDAD.
+ If File.Exists(ruta, "kmt.db") = False Then
+ File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
+ End If
+ DateTime.DateFormat = "MM/dd/yyyy"
+ fecha=DateTime.Date(DateTime.Now)
+ skmt.Initialize(ruta,"kmt.db", True)
+
+ b=skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente")
+ b.Position=0
+ Cuantos = b.GetString("CUANTOS")
+ d=skmt.ExecQuery("select count(*) as TOTAL_VISITAR from kmt_info where gestion = 0")
+ D.Position=0
+ b.Close
+ e=skmt.ExecQuery("select count(*) as POR_VISITAR from kmt_info")
+ e.Position=0
+ f=skmt.ExecQuery("select count(*) as CAT_CL_RUTA from kmt_info")
+ f.Position=0
+ l_ruta.Text = f.GetString("CAT_CL_RUTA")
+ f.Close
+ If l_ruta.Text = 0 Then
+ l_ruta.Text =0
+ Else
+ f=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info")
+ f.Position=0
+ l_ruta.Text = f.GetString("CAT_CL_RUTA")
+ f.Close
+ End If
+ If Cuantos = 0 Then
+ L_MONTOD.Text =0
+ l_cuantosc.Text = 0
+ l_cuantosn.Text = 0
+ drop = 0
+ l_drop.Text = 0
+ efectiva = 0
+ l_efectiva.text =0
+ l_ctast.Text = d.GetString("TOTAL_VISITAR")
+ l_porvisitar.Text = e.GetString("POR_VISITAR")
+ Else
+ c=skmt.ExecQuery("select sum(pc_monto) as MONTO_DIA, count(pc_cliente) AS CLIENTES_DIA from pedido_cliente ")
+ b=skmt.ExecQuery("select count(*) as CUANTOS from noventa")
+ 'where pc_fecha = ?", Array As String(fecha)
+ C.Position=0
+ b.Position=0
+ L_MONTOD.Text = c.GetString("MONTO_DIA")
+ l_cuantosc.Text = c.GetString("CLIENTES_DIA")
+ l_cuantosn.Text = b.GetString("CUANTOS")
+ drop = c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")
+ l_drop.Text = Round2(drop,2)
+ efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR")
+ l_efectiva.text = Round2(efectiva*100,2)
+ l_ctast.Text = d.GetString("TOTAL_VISITAR")
+ l_porvisitar.Text = e.GetString("POR_VISITAR")
+ End If
+
+ c = skmt.ExecQuery2("select count(CAT_VA_DESCRIPCION) as HoraIngreso from cat_variables where CAT_VA_DESCRIPCION = ? ", Array As String("HoraIngreso"))
+ c.Position = 0
+ DateTime.TimeFormat = "HHmmss"
+
+ 'Valida si ya se cuenta con hora actualiza el valor si no lo inserta-----------
+ If c.GetString("HoraIngreso") > 0 Then
+ skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
+ Else
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_VALOR,CAT_VA_DESCRIPCION) VALUES (?,?)" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
+ End If
+ DateTime.TimeFormat = "HH:mm:ss"
+ P1.Top = 0 : P1.left = 0
+ P_RESUMEN.Top = 0 : P_RESUMEN.left = 0
+ P_RESUMEN.Width = Root.Width
+End Sub
+
+Sub IsConnectedToInternet As Boolean
+ Dim r As Reflector
+ r.Target = r.GetContext
+ r.Target = r.RunMethod2("getSystemService", "connectivity", "java.lang.String")
+ r.Target = r.RunMethod("getActiveNetworkInfo")
+ If r.Target <> Null Then
+ Return r.RunMethod("isConnectedOrConnecting")
+ End If
+ Return False
+End Sub
+
+Sub B4XPage_Appear
+ SERVER = Starter.DBReqServer
+ HORAINGRESO ="000000"
+ NUEVO.Visible = True
+ c=skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
+ c.Position =0
+ If c.GetString("CUANTOS") = 0 Then
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",SERVER))
+ Else
+ c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
+ c.Position =0
+ SERVER = c.GetString("CAT_VA_VALOR")
+ End If
+
+ reqManager.Initialize(Me, SERVER)
+ Log(SERVER)
+
+ If PASO = 2 Then
+ Dim result As Int
+ result = Msgbox2("El proceso de enviar información no a terminado, Continuar", "", "Si", "", "No", LoadBitmap(File.DirAssets, "alert2.png"))
+ If result = DialogResponse.POSITIVE Then
+ VALIDA_INFO
+ Else
+ PASO = 0
+ End If
+ Else
+ PASO =0
+ End If
+
+ f=skmt.ExecQuery("select count(*) as CAT_CL_RUTA from kmt_info")
+ f.Position=0
+ l_ruta.Text = f.GetString("CAT_CL_RUTA")
+ f.Close
+ If l_ruta.Text = 0 Then
+ l_ruta.Text =0
+ Else
+ f=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info")
+ f.Position=0
+ l_ruta.Text = f.GetString("CAT_CL_RUTA")
+ f.Close
+ End If
+
+ c=skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA"))
+ c.Position =0
+ If c.GetString("CUANTOS") = 0 Then
+ cmd.Initialize
+ cmd.Name = "select_fechat"
+ reqManager.ExecuteQuery(cmd , 0, "fecha")
+
+ Msgbox("AJUSTAR FECHA","AVISO")
+ B4XPage_Appear
+ Else
+
+
+ c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA"))
+ c.Position =0
+ Dim sDate,sTime As String
+ DateTime.DateFormat = "yyyyMMddHHmm"
+ sDate=DateTime.Date(DateTime.Now)
+' Msgbox("AaaaA " & " "& c.GetString("CAT_VA_VALOR") & " " & sDate & sTime ,"AVISO")
+
+ If c.GetString("CAT_VA_VALOR") > sDate & sTime Then
+ Msgbox("AJUSTAR LA FECHA YA QUE ES MENOR AL SISTEMA" ,"AVISO")
+ DateTime.TimeFormat = "HH:mm:ss"
+ B4XPage_Appear
+ End If
+ DateTime.TimeFormat = "MM/dd/yyyyHH:mm:ss"
+
+ End If
+
+
+ L_CUANTOST.Text = l_cuantosc.Text + l_cuantosn.Text
+ If EJECUTANDO =0 Then
+ Listo1 = 0
+ Listo2 = 0
+ Listo3 = 0
+ Listo4 = 0
+ Listo5 = 0
+ inve = 0
+ img2.Visible =False
+ End If
+' DateTime.DateFormat = "MM/dd/yyyy"
+ fecha=DateTime.Date(DateTime.Now)
+ c=skmt.ExecQuery("select usuario from usuarioa")
+ c.Position = 0
+ usuario = c.GetString("USUARIO")
+ c.Close
+
+ c=skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
+ C.Position =0
+ ALMACEN = C.GetString("ID_ALMACEN")
+ C.Close
+ 'ALMACEN = 1
+
+ b=skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente where pc_cliente <> 0")
+ b.Position=0
+ Cuantos = b.GetString("CUANTOS")
+
+ If Cuantos = 0 Then
+ L_MONTOD.Text =0
+ l_cuantosc.Text = 0
+ l_cuantosn.Text = 0
+ drop = 0
+ l_drop.Text = 0
+ efectiva = 0
+ l_efectiva.text =0
+ l_ctast.Text = d.GetString("TOTAL_VISITAR")
+ l_porvisitar.Text = e.GetString("POR_VISITAR")
+
+ Else
+ c=skmt.ExecQuery("select sum(pc_monto) as MONTO_DIA, count(pc_cliente) AS CLIENTES_DIA from pedido_cliente where pc_cliente <> 0")
+ b=skmt.ExecQuery("select count(*) as CUANTOS from noventa")
+ 'where pc_fecha = ?", Array As String(fecha)
+ C.Position=0
+ b.Position=0
+ L_MONTOD.Text = c.GetString("MONTO_DIA")
+ l_cuantosc.Text = c.GetString("CLIENTES_DIA")
+ l_cuantosn.Text = b.GetString("CUANTOS")
+
+ L_CUANTOST.Text = l_cuantosc.Text + l_cuantosn.Text
+
+ End If
+
+
+' Main.montoActual = L_MONTOD.Text
+' Main.clientestotal = L_CUANTOST.Text
+' Main.clientesventa = l_cuantosc.Text
+' Main.clientesvisitados = l_porvisitar.TEXT
+' Main.ALMACEN = ALMACEN
+' Main.rutapreventa = l_ruta.text
+
+ DateTime.TimeFormat = "HH:mm:ss"
+
+ c=skmt.ExecQuery("select NOVERSION FROM VERSION")
+ c.Position = 0
+
+ If c.GetString("NOVERSION") <> "2.6" Then
+ Msgbox("VERSION INCORRECTA SOLICITAR O DESCARGAR LA NUEVA","ALERTA")
+ B4XPage_Appear
+ End If
+ CallSub(Starter,"ENVIA_ULTIMA_GPS")
+End Sub
+
+'Sub Activity_Pause (UserClosed As Boolean)
+' cargar.Visible = False
+' Subir.Visible = False
+' SUBIR_P.Visible = False
+'
+' connecta.Visible = True
+' inv.Visible = False
+' If PASO = 1 Then
+' PASO = 2
+' End If
+'End Sub
+
+Sub trabajar_Click
+ 'CallSubDelayed(gestion,"gestion")
+ c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MARCAS"))
+ c.Position =0
+ MARCASQ = c.GetString("CAT_VA_VALOR")
+ c.Close
+ skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_CLASIF NOT IN (" & MARCASQ &")" )
+ skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_ID IN (SELECT CAT_DP_ID FROM CAT_DETALLES_PAQ WHERE CAT_DP_IDPROD NOT IN (SELECT CAT_GP_ID FROM CAT_GUNAPROD))")
+
+' StartActivity(colonia)
+ B4XPages.ShowPage("Clientes")
+
+End Sub
+
+
+
+Sub Subir_Click
+ Awake.KeepAlive(True)
+ CARGA = "SUBIR"
+ P1.Visible = True
+ trabajar.Visible = False
+ B_PROXIMA.Visible =False
+ Btn_UbicarR.Visible=False
+
+ NUEVO.Visible =False
+ BUSCA.Visible=False
+ connecta.Visible=False
+ Subir.Visible=False
+ SUBIR_P.Visible = False
+
+ cargar.Visible=False
+ L_P_1.Visible = False
+ S_CC.Visible = False
+ L_P_3.Visible = False
+ S_CH.Visible = False
+ PB1.Visible = False
+ Resumen.Visible= False
+ PORCENTAJE = 0
+
+ L_P_2.Text = "Envio de Pedidos"
+ L_P_3.Text = "Envio de Pedidos"
+ S_CH.Text = "EN PROCESO"
+ S_CP.Text = "EN PROCESO"
+ PB1.Progress = 0
+ PB2.Progress = 0
+ PB2.Visible = True
+ conteo = 0
+ 'i_gif.Visible = True
+' load_gif
+
+ PASO = 1
+ 'End If
+ If PASO =1 Then
+ E1=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=skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("ABORDO"))
+ c.Position = 0
+ L_ABORDO.Text = c.GetString("MONTO_DIA")
+ c.Close
+ Else
+ L_ABORDO.Text = 0
+ End If
+ E1.Close
+
+
+
+ c=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=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
+ End If
+
+ c=skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO"))
+ c.Position =0
+ Cuantos = c.GetString("CUANTOS")
+ c.Close
+ If Cuantos > 0 Then
+ c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO"))
+ c.Position =0
+ NUMERO_PEDIDO = c.GetString("CAT_VA_VALOR")
+ c.Close
+ Else
+ NUMERO_PEDIDO = 0
+ End If
+ skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
+
+ c=skmt.ExecQuery("select usuario from usuarioa")
+ c.Position = 0
+ usuario = c.GetString("USUARIO")
+ c.Close
+ d3=skmt.ExecQuery("SELECT SUM(PE_COSTO_TOT) as MONTO FROM PEDIDO")
+ d3.Position = 0
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name ="UPDATE_INFO_E_DURK"
+ cmd.Parameters = Array As Object(d3.GetDouble("MONTO")- L_ABORDO.text, L_ABORDO.Text, d3.GetDouble("MONTO"),l_ruta.TEXT, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name ="insert_drop2_DUR"
+ cmd.Parameters = Array As Object(usuario,l_ruta.Text,fecha, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO", ALMACEN, L_VENTA.Text, L_PREVENTA.Text, L_ABORDO.Text, l_cambios.TEXT)
+ reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+ d3.Close
+ ' PEDIO_CLIENTE
+ c=skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN FROM PEDIDO_CLIENTE ")
+ d=skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "insert_pedidos_DUR"
+ cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"),ALMACEN,l_ruta.text,C.GetString("PC_COSTO_SIN") )
+ reqManager.ExecuteQuery(cmd , 0,"ins_pedidos")
+
+ Next
+ c.Close
+ End If
+ d.Position=0
+ cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC")
+ d.Close
+
+ c=skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT FROM kmt_info")
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "insert_QR_DUR"
+ cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),ALMACEN,l_ruta.text )
+ reqManager.ExecuteQuery(cmd , 0,"ins_QR")
+
+ Next
+ c.Close
+ End If
+
+ c=skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA")
+ ' S_CP.Text = "Envio Encuesta"
+ ' PB2.Progress = 1
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "insert_encuesta_DUR"
+ cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"),l_ruta.Text )
+ reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+
+
+ Next
+
+ End If
+ c.Close
+ ' PEDIO
+
+ skmt.ExecNonQuery("update PEDIDO set PE_FOLIO = rowid ")
+
+ '
+' c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FOLIO"))
+' c.Position =0
+ ' armafolio = l_ruta.text * 1000000
+' armafolio = armafolio + c.GetString("CAT_VA_VALOR")
+' c.Close
+' c=skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC,PE_TIPO FROM PEDIDO WHERE PE_FOLIO IS NULL")
+'
+'
+' If c.RowCount>0 Then
+' For i=0 To c.RowCount -1
+' c.Position=i
+' skmt.ExecNonQuery2("update PEDIDO set PE_FOLIO = ? where PE_PROID = ? AND PE_CLIENTE =? AND PE_FECHA =? AND PE_FOLIO IS NULL ", Array As Object(armafolio, c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA")))
+ '
+' armafolio = armafolio + 1
+'
+' Next
+' c.Close
+' End If
+ ' armafolio = armafolio - (l_ruta.Text * 1000000)
+ ' skmt.ExecNonQuery2("update CAT_VARIABLES set CAT_VA_VALOR = ? where CAT_VA_DESCRIPCION = ? ", Array As Object(armafolio,"FOLIO"))
+'
+' Dim cmd As DBCommand
+' cmd.Initialize
+' cmd.Name = "update_folio"
+' cmd.Parameters = Array As Object(armafolio,l_ruta.Text , "1")
+' reqManager.ExecuteQuery(cmd , 0, "folio")
+
+
+ If PERFIL = "V-ESPECIAL" Then
+
+
+ c=skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO,PE_TIPO FROM PEDIDO ORDER BY PE_CLIENTE")
+ d=skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
+ d.Position=0
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "insert_pedido_esp_DUR"
+ cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), c.GetString("PE_TIPO"),NUMERO_PEDIDO )
+ reqManager.ExecuteQuery(cmd , 0, "ins_pedido")
+ Next
+ c.Close
+ End If
+ Else
+ c=skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO,PE_TIPO FROM PEDIDO")
+ d=skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
+ d.Position=0
+ TIEMPO = 0
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ TIEMPO = TIEMPO + 1
+
+ If TIEMPO > 20 Then
+ If L_P_2.Text = "Envio de Pedidos" Then
+ L_P_2.Text = "Envio de Pedidos --"
+ else if L_P_2.Text = "Envio de Pedidos --" Then
+ L_P_2.Text = "Envio de Pedidos \"
+ else if L_P_2.Text = "Envio de Pedidos \" Then
+ L_P_2.Text = "Envio de Pedidos |"
+ else if L_P_2.Text = "Envio de Pedidos |" Then
+ L_P_2.Text = "Envio de Pedidos /"
+ else if L_P_2.Text = "Envio de Pedidos /" Then
+ L_P_2.Text = "Envio de Pedidos --"
+ End If
+ T3.Initialize("T3", 2000) ' 1000 = 1 second
+ T3.Enabled = True
+ Wait For t3_tick
+ TIEMPO = 0
+
+ End If
+ conteo = conteo + 1
+ cuantos_ped = D.GetString("CUANTOS_PEDIDO")
+ PORCENTAJE = 2 'Round(100/ (D.GetString("CUANTOS_PEDIDO") + 1))
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "insert_pedido_DUR"
+ cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), c.GetString("PE_TIPO"))
+ reqManager.ExecuteQuery(cmd , 0, "ins_pedido")
+
+ Next
+ c.Close
+ End If
+
+ End If
+
+ cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
+ d.Close
+
+ ' NOVENTA
+ c=skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
+ D=skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "insert_noventa_DUR"
+ cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), ALMACEN, l_ruta.Text)
+ reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+
+ Next
+ c.Close
+ End If
+ d.Position=0
+ cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
+ d.Close
+
+ ' NOVENTA HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR)
+ c=skmt.ExecQuery("SELECT CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR from HIST_EXIBIDORES")
+ D=skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM HIST_EXIBIDORES")
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "insert_HIST_EXIBIDORES_DUR"
+ cmd.Parameters = Array As Object(C.GetString("CAT_CL_CLIENTE"),C.GetString("CAT_CL_EXHIBIDOR"),C.GetString("CAT_CL_BEXHIBIDOR"),l_ruta.TEXT)
+ reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+
+ Next
+ c.Close
+ End If
+ d.Position=0
+ cuantos_exib = D.GetString("CUANTOS_NOVENTA")
+ d.Close
+
+ ' VERIFICACION
+' c=skmt.ExecQuery("SELECT HVE_CLIENTE, HVE_IDPROD, HVE_EXISTENCIA FROM HIST_VERIFICACION")
+
+' If c.RowCount>0 Then
+' For i=0 To c.RowCount -1
+' c.Position=i
+'
+' Dim cmd As DBCommand
+' cmd.Initialize
+' cmd.Name = "insert_verificacion_DUR"
+' cmd.Parameters = Array As Object(C.GetString("HVE_CLIENTE"),C.GetString("HVE_IDPROD"),C.GetString("HVE_EXISTENCIA"))
+' reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+ '
+' Next
+ ' c.Close
+ ' End If
+ '
+
+' c=skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS")
+'
+'
+' '' HACER ESTO PARA EL FORANEO
+' If c.RowCount>0 Then
+' For i=0 To c.RowCount -1
+' c.Position=i
+' 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO")))
+' 's.Position =0
+'
+' Dim cmd As DBCommand
+' cmd.Initialize
+' cmd.Name = "insert_gps_actual_DUR"
+' cmd.Parameters = Array As Object(c.GetString("hgdate"),c.GetString("hglat"),c.GetString("hglon"),usuario )
+' 'cmd.Parameters = Array As Object(C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON") )
+'
+' reqManager.ExecuteQuery(cmd , 0, "")
+'
+'
+ '
+' ' Dim cmd As DBCommand
+' ' cmd.Initialize
+' ' cmd.Name = "update_gps_actual_TKM"
+' ' cmd.Parameters = Array As Object(C.GetString("HGLAT"),C.GetString("HGLON"),usuario )
+' ' reqManager.ExecuteQuery(cmd , 0, "inst_visitas")
+' 'lv.AddTwoLines(c.GetString("HIST_VI_CREDITO"),c.GetString("HIST_VI_RESULTADO"))
+' Next
+' End If
+' c.Close
+ ' DROP
+
+ t1.Initialize("T1", 20000) ' 1000 = 1 second
+ t1.Enabled = True
+
+ img2.Visible =True
+ ' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
+ If S_CP.Text = "SUBIENDO" Then
+ S_CP.Text = "VALIDANDO"
+ End If
+ End If
+End Sub
+
+Sub cargar_Click
+ Log(SERVER)
+ CARGA = "CARGAR"
+ img2.Visible =True
+ L_P_1.Visible = True
+ S_CC.Visible = True
+
+ P1.Visible = True
+ trabajar.Visible = False
+ B_PROXIMA.Visible =False
+ Btn_UbicarR.Visible=False
+
+ NUEVO.Visible =False
+ BUSCA.Visible=False
+ connecta.Visible=False
+ L_P_3.Visible = True
+ S_CH.Visible = True
+ PB1.Visible = True
+ Resumen.Visible= False
+
+ L_P_1.Text = "Catalogo de Clientes"
+ L_P_2.Text = "Catalogos de Productos"
+ L_P_3.Text = "Catalogos Historicos"
+ S_CC.Text = "EN PROCESO"
+ S_CH.Text = "EN PROCESO"
+ S_CP.Text = "EN PROCESO"
+ PB1.Progress = 0
+ PB2.Progress = 0
+ EJECUTANDO = 1
+
+ 'c=skmt.ExecQuery("CREATE TABLE kmt_info (pr_cd_credito NUMERIC,pr_cd_nombre TEXT,pr_cd_calle TEXT,pr_cd_numero TEXT,pr_cd_num_int TEXT,pr_cd_entrecalle1 TEXT,pr_cd_entrecalle2 TEXT,pr_cd_colonia TEXT,pr_cd_poblacion TEXT,pr_cd_edo TEXT,pr_cd_cp TEXT,pr_cd_zona TEXT,pr_cf_credito NUMERIC,pr_cf_saldotot NUMERIC,pr_cf_saldooper NUMERIC,pr_cf_saldof1 NUMERIC, pr_cf_penalizacion NUMERIC)")
+ TOPE = 0
+ ' NUEVOS CLIENTE
+
+ skmt.ExecNonQuery2("delete from kmt_info where substr(CAT_CL_CODIGO,1,1) <> ?", Array As Object ("N"))
+ skmt.ExecNonQuery("delete from cod_result")
+ skmt.ExecNonQuery("delete from hist_gest")
+ skmt.ExecNonQuery("delete from cat_gunaprod")
+ skmt.ExecNonQuery("delete from cat_gunaprod2")
+
+ skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
+ skmt.ExecNonQuery("delete from telefonos")
+ skmt.ExecNonQuery("delete from HIST_VENTAS")
+ skmt.ExecNonQuery("delete from HIST_PROMOS")
+ skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS")
+ skmt.ExecNonQuery("delete from PROMOS_COMP")
+ skmt.ExecNonQuery("delete from CAT_VERIFICACION")
+ skmt.ExecNonQuery("delete from LISTA_PRECIOS")
+ skmt.ExecNonQuery("delete from CAT_PRECIOS")
+ skmt.ExecNonQuery("delete from HIST_RMI")
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0))
+ skmt.ExecNonQuery("delete from HIST_EXIBIDORES")
+ skmt.ExecNonQuery("delete from CAT_EXHIBIDORES")
+ skmt.ExecNonQuery("delete from CAT_ENCUESTA_PREGUNTA")
+
+ c=skmt.ExecQuery("select usuario from usuarioa")
+ c.Position = 0
+ usuario = c.GetString("USUARIO")
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name ="insert_drop2_DUR"
+ 'cmd.Name = "UPDATE_DUR_ACTUALR2_GPS"
+ cmd.Parameters = Array As Object(usuario, e_ruta.Text,fecha, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"CARGO", ALMACEN, L_VENTA.Text, L_PREVENTA.Text, L_ABORDO.Text, l_cambios.TEXT)
+ reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+ 'sql.UPDATE_DUR_ACTUALR2_GPS=UPDATE DURAKELO.CAT_RUTAS_REPARTO SET CAT_RR_MONTO_ACT = (?),CAT_RR_MRECH_ACT =(?),CAT_RR_VISIT_ACT =(?), CAT_RR_DEV_ACT =(?), CAT_RR_LAT_ACT =(?), CAT_RR_LONG_ACT =(?), CAT_RR_BAT_ACT =(?), CAT_RR_TT = (?), CAT_RR_MONTO = (?), CAT_RR_FECHA_ACT = SYSDATE WHERE CAT_RR_IDALMACEN = (?) And CAT_RR_RUTA = (?)
+
+ 'cmd.Initialize
+ 'cmd.Name = "Select_count_clie"
+ 'reqManager.ExecuteQuery(cmd,0,"count_cli")
+
+ cmd.Initialize
+ cmd.Name = "select_codigo_exhibidor"
+ 'cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "catalogo_exhibidor")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_gunaprod_DUR"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprod")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_gunaprod2_DUR"
+ cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprod2")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_paquetes_abordo_DUR"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprodpa")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_paquetes_DUR"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprodp")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_paquetess_DUR"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprodps")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_detallepa_DUR"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "detallepaq")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_clientes_guna_DUR"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
+
+ cmd.Initialize
+ cmd.Name = "select_hist_datos_DUR"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_datos")
+
+ cmd.Initialize
+ cmd.Name = "select_hist_promos_DUR"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_promos")
+
+ cmd.Initialize
+ cmd.Name = "select_hist_cliente_promos_DUR"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_cliente_promos")
+
+ cmd.Initialize
+ cmd.Name = "select_promo_comp_DUR"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_comp_promos")
+
+ ''' validar para que sirve esto ya que no esta en la base de datos.
+
+ cmd.Initialize
+ cmd.Name = "select_verificacion_DUR"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "cat_verificacion")
+
+ cmd.Initialize
+ cmd.Name = "select_fecha"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "fecha")
+
+ cmd.Initialize
+ cmd.Name = "select_folio_DUR"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "folio")
+
+ ' esto es para sacar el perfil y marcas del usuario
+ cmd.Initialize
+ cmd.Name = "select_perfil_DUR"
+ cmd.Parameters = Array As Object(usuario)
+ reqManager.ExecuteQuery(cmd , 0, "perfil")
+
+ cmd.Initialize
+ cmd.Name = "select_marcas_DUR"
+ cmd.Parameters = Array As Object(usuario)
+ reqManager.ExecuteQuery(cmd , 0, "marcas")
+
+ cmd.Initialize
+ cmd.Name = "select_precios_DUR"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "precios")
+
+ cmd.Initialize
+ cmd.Name = "select_hist_rmi1_DUR"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_rmi")
+
+ cmd.Initialize
+ cmd.Name = "select_hist_rmi2_DUR"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_rmi")
+
+ cmd.Initialize
+ cmd.Name = "select_hist_rmi3_DUR"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_rmi")
+
+ cmd.Initialize
+ cmd.Name = "select_hist_rmi4_DUR"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_rmi")
+
+ cmd.Initialize
+ cmd.Name = "select_CAMBIOS_DUR"
+ 'cmd.Parameters = Array As Object( ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "cat_cambios")
+
+ cmd.Initialize
+ cmd.Name = "select_SUCURSAL_DUR"
+ cmd.Parameters = Array As Object( ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "sucursal")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_encuesta_p_DUR"
+ cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
+ reqManager.ExecuteQuery(cmd , 0, "carga_encuesta")
+
+ ' c=skmt.ExecQuery("select HIST_VI_CREDITO, HIST_VI_PRODUCTO,HIST_VI_VISITADOR, HIST_VI_RESULTADO, HIST_VI_CODIGO, HIST_VI_PARENTESCO, HIST_VI_COMENTARIO, HIST_VI_DTEVISITA, HIST_VI_LONGITUD, HIST_VI_LATITUD, hist_vi_imagen, hist_vi_dprom, hist_vi_mprom from HIST_VISITAS")
+ ' If c.RowCount>0 Then
+ ' For i=0 To c.RowCount -1
+ ' c.Position=i
+ ' foto1 = c.GetBlob("HIST_VI_IMAGEN")
+ '
+ ' Dim cmd As DBCommand
+ ' cmd.Initialize
+ ' cmd.Name = "insert_gestion_plan"
+ ' cmd.Parameters = Array As Object(C.GetString("HIST_VI_CREDITO"),C.GetString("HIST_VI_PRODUCTO"),C.GetString("HIST_VI_VISITADOR"),C.GetString("HIST_VI_DTEVISITA"),C.GetString("HIST_VI_RESULTADO"),C.GetString("HIST_VI_CODIGO"),C.GetString("HIST_VI_COMENTARIO"),C.GetString("HIST_VI_PARENTESCO"),C.GetString("HIST_VI_LONGITUD"), C.GetString("HIST_VI_LATITUD"), foto1, c.GetString("HIST_VI_DPROM"),C.GetString("HIST_VI_MPROM"))
+ ' reqManager.ExecuteQuery(cmd , 0, "inst_visitas")
+
+ 'lv.AddTwoLines(c.GetString("HIST_VI_CREDITO"),c.GetString("HIST_VI_RESULTADO"))
+ ' Next
+ ' End If
+ 'skmt.ExecNonQuery("DELETE FROM HIST_VISITAS")
+
+ cargar.Visible = False
+ Subir.Visible = False
+ SUBIR_P.Visible = False
+
+' connecta.Visible = True
+ inv.Visible = False
+
+ 'Dim cmd As DBCommand
+ 'cmd.Initialize
+ 'cmd.Name = "select_telefonos_riva"
+ 'cmd.Parameters = Array As Object(usuario)
+ 'reqManager.ExecuteQuery(cmd , 0, "telefonos")
+
+ ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias" , True)
+End Sub
+Sub JobDone(Job As HttpJob)
+ If Job.Success = False Then
+ 'If Job.ErrorMessage <> "STREAM" Then
+ ' ToastMessageShow("Error: " & Job.ErrorMessage, True)
+ 'End If
+ If Job.ErrorMessage = "STREAM" Then
+ If CARGA = "SUBIR" Then
+ PB2.Progress = PB2.Progress + PORCENTAJE
+
+ If S_CP.Text = "EN PROCESO" Then
+ S_CP.Text = "SUBIENDO"
+ End If
+ ' If PB2.Progress > 99 Then
+ ' S_CP.Text = "VALIDANDO"
+ ' End If
+
+ If cuantos_ped = conteo Then
+ S_CP.Text = "VALIDANDO"
+ End If
+ End If
+ End If
+ Else
+ LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "kmt_datos" Then 'query tag
+ skmt.BeginTransaction
+ Try
+ S_CC.TEXT = "CARGANDO"
+ For Each records() As Object In RESULT.Rows
+ Dim CAT_CL_CODIGO As String = records(RESULT.Columns.Get("CAT_CL_CODIGO"))
+ Dim CAT_CL_RUTA As String = records(RESULT.Columns.Get("CAT_CL_RUTA"))
+ Dim CAT_CL_NOMBRE As String = records(RESULT.Columns.Get("CAT_CL_NOMBRE"))
+ Dim CAT_CL_ATIENDE1 As String = records(RESULT.Columns.Get("CAT_CL_ATIENDE1"))
+ Dim CAT_CL_ATIENTE2 As String = records(RESULT.Columns.Get("CAT_CL_ATIENTE2"))
+ Dim CAT_CL_TELEFONO As String = records(RESULT.Columns.Get("CAT_CL_TELEFONO"))
+ Dim CAT_CL_EMAIL As String = records(RESULT.Columns.Get("CAT_CL_EMAIL"))
+ Dim CAT_CL_CALLE As String = records(RESULT.Columns.Get("CAT_CL_CALLE"))
+ Dim CAT_CL_NOEXT As String = records(RESULT.Columns.Get("CAT_CL_NOEXT"))
+ Dim CAT_CL_NOINT As String = records(RESULT.Columns.Get("CAT_CL_NOINT"))
+ Dim CAT_CL_CALLE1 As String = records(RESULT.Columns.Get("CAT_CL_CALLE1"))
+ Dim CAT_CL_CALLE2 As String = records(RESULT.Columns.Get("CAT_CL_CALLE2"))
+ Dim CAT_CL_COLONIA As String = records(RESULT.Columns.Get("CAT_CL_COLONIA"))
+ Dim CAT_CL_MUNI As String = records(RESULT.Columns.Get("CAT_CL_MUNI"))
+ Dim CAT_CL_EDO As String = records(RESULT.Columns.Get("CAT_CL_EDO"))
+ Dim CAT_CL_CP As String = records(RESULT.Columns.Get("CAT_CL_CP"))
+ Dim CAT_CL_LONG As String = records(RESULT.Columns.Get("CAT_CL_LONG"))
+ Dim CAT_CL_LAT As String = records(RESULT.Columns.Get("CAT_CL_LAT"))
+ Dim CAT_CL_MTOCOMPRA As String = records(RESULT.Columns.Get("CAT_CL_MTOCOMPRA"))
+ Dim CAT_CL_NUM_SERIEFISICO As String = records(RESULT.Columns.Get("CAT_CL_NUM_SERIEFISICO"))
+ Dim CAT_CL_BFACTURA As String = records(RESULT.Columns.Get("CAT_CL_BFACTURA"))
+ Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BBLOQUEOCRED"))
+
+ skmt.ExecNonQuery2("INSERT INTO kmt_info(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,CAT_CL_BFACTURA,CAT_CL_BCREDITO, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (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,CAT_CL_BFACTURA,CAT_CL_BCREDITO))
+ Next
+ skmt.TransactionSuccessful
+ Catch
+ Log(LastException)
+ ToastMessageShow(LastException, True)
+ End Try
+ skmt.EndTransaction
+ skmt.ExecNonQuery2("INSERT INTO kmt_info(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_BFACTURA,CAT_CL_BCREDITO,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0) ",Array As Object ("0",e_ruta.TEXT, "VENTA ABORDO","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","NULL","NULL"))
+ Listo1 = 1
+ S_CC.Text = "LISTO"
+ ' ToastMessageShow("Catalogo Clientes Actualizados." , True)
+ If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+ End If
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "hist_promos" Then 'query tag
+ skmt.BeginTransaction
+ Try
+ For Each records() As Object In RESULT.Rows
+ Dim HP_CLIENTE As String = records(RESULT.Columns.Get("HP_CLIENTE"))
+ Dim HP_CODIGO_PROMOCION As String = records(RESULT.Columns.Get("HP_CODIGO_PROMOCION"))
+
+ skmt.ExecNonQuery2("INSERT INTO HIST_PROMOS(HP_CLIENTE, HP_CODIGO_PROMOCION) VALUES (?,?)", Array As Object (HP_CLIENTE, HP_CODIGO_PROMOCION))
+ Next
+ 'ToastMessageShow("Historico Promociones Actualizado." , True)
+ If PB1.Progress = 0 Then
+ PB1.Progress = 30
+ S_CH.Text = "CARGANDO"
+ ELSE If PB1.Progress = 30 Then
+ PB1.Progress = 50
+ ELSE IF PB1.Progress = 50 Then
+ PB1.Progress = 80
+ ELSE If PB1.Progress = 80 Then
+ PB1.Progress = 100
+ S_CH.Text = "LISTO"
+ End If
+ Catch
+ Log(LastException)
+ ToastMessageShow(LastException, True)
+ End Try
+ skmt.EndTransaction
+ End If
+ End If
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "catalogo_exhibidor" Then 'query tag
+ skmt.BeginTransaction
+ Try
+ For Each records() As Object In RESULT.Rows
+ Dim CAT_EX_ID As String = records(RESULT.Columns.Get("CAT_EX_ID"))
+ Dim CAT_EX_TIPO As String = records(RESULT.Columns.Get("CAT_EX_TIPO"))
+ Dim CAT_EX_VALOR As String = records(RESULT.Columns.Get("CAT_EX_VALOR"))
+
+ skmt.ExecNonQuery2("INSERT INTO CAT_EXHIBIDORES(CAT_EX_ID, CAT_EX_TIPO, CAT_EX_VALOR) VALUES (?,?,?)", Array As Object (CAT_EX_ID, CAT_EX_TIPO, CAT_EX_VALOR))
+ Next
+ ' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True)
+ Catch
+ Log(LastException)
+ ToastMessageShow(LastException, True)
+ End Try
+ skmt.EndTransaction
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "hist_cliente_promos" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+ Dim HCCP_CLIENTE As String = records(RESULT.Columns.Get("HCCP_CLIENTE"))
+ Dim HCCP_PROMO As String = records(RESULT.Columns.Get("HCCP_PROMO"))
+ Dim HCCP_CANT As String = records(RESULT.Columns.Get("HCCP_CANT"))
+
+ skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT) VALUES (?,?,?)", Array As Object (HCCP_CLIENTE, HCCP_PROMO,HCCP_CANT))
+ Next
+ ' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True)
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "hist_comp_promos" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim CAT_PA_ID As String = records(RESULT.Columns.Get("CAT_PA_ID"))
+ Dim CAT_PA_MAXPROM As String = records(RESULT.Columns.Get("CAT_PA_MAXPROM"))
+ Dim CAT_PA_MAXPROMREC As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMREC"))
+ Dim CAT_PA_MAXPROMCLIE As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMCLIE"))
+
+ skmt.ExecNonQuery2("INSERT INTO PROMOS_COMP(CAT_PA_ID, CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE) VALUES (?,?,?,?)", Array As Object (CAT_PA_ID, CAT_PA_MAXPROM,CAT_PA_MAXPROMREC,CAT_PA_MAXPROMCLIE))
+ Next
+
+ If PB1.Progress = 0 Then
+ PB1.Progress = 30
+ S_CH.Text = "CARGANDO"
+ ELSE If PB1.Progress = 30 Then
+ PB1.Progress = 50
+ ELSE IF PB1.Progress = 50 Then
+ PB1.Progress = 80
+ ELSE If PB1.Progress = 80 Then
+ PB1.Progress = 100
+ S_CH.Text = "LISTO"
+ End If
+
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "cat_verificacion" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim CAT_VE_IDPROD As String = records(RESULT.Columns.Get("CAT_VE_IDPROD"))
+ Dim CAT_VE_NOMBRE As String = records(RESULT.Columns.Get("CAT_VE_NOMBRE"))
+ Dim CAT_VE_ORDEN As String = records(RESULT.Columns.Get("CAT_VE_ORDEN"))
+
+ skmt.ExecNonQuery2("INSERT INTO CAT_VERIFICACION(CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN) VALUES (?,?,?)", Array As Object (CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN))
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "gunaprod" Then 'query tag
+ S_CP.Text = "CARGANDO"
+ For Each records() As Object In RESULT.Rows
+
+ Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
+ Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE"))
+ Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1"))
+ Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2"))
+ Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
+ Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF"))
+ Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS"))
+ Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO"))
+ Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO"))
+ Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG"))
+ Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
+ Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
+ Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
+ Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA"))
+ 'CAT_GP_INICIATIVA = 5
+ '
+ ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
+ skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV))
+
+ Next
+ ' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc")
+ ' c.Position=0
+ ' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD")
+ ' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS")))
+ ' c.Close
+
+ Listo2=1
+ If PB2.Progress = 0 Then
+ PB2.Progress = 30
+ S_CP.Text = "CARGANDO"
+ ELSE If PB2.Progress = 30 Then
+ PB2.Progress = 60
+ ELSE IF PB2.Progress = 60 Then
+ PB2.Progress = 80
+ ELSE IF PB2.Progress = 80 Then
+ PB2.Progress = 100
+ S_CP.Text = "LISTO"
+ End If
+
+
+ ' ToastMessageShow("Productos Actualizados." , True)
+
+ If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+
+ End If
+
+ End If
+ End If
+
+ ' CARGA DEL CATALOGO ABORDO
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "gunaprod2" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+ Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
+ Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE"))
+ Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1"))
+ Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2"))
+ Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
+ Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF"))
+ Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS"))
+ Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO"))
+ Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO"))
+ Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG"))
+ Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
+ Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
+ Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
+ Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA"))
+ Dim CAT_GP_CODPROMO As String = records(RESULT.Columns.Get("CAT_GP_CODPROMO"))
+ 'CAT_GP_INICIATIVA = 5
+ ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
+ skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO))
+ Next
+ c=skmt.ExecQUERY2("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_TIPO = ?", Array As String ("VENTA"))
+ c.Position = 0
+ cuantos_pedidosc = c.GetString("CUANTOS")
+ c.Close
+ If cuantos_pedidosc > 0 Then
+ c=skmt.ExecQUERY2("SELECT PE_PROID, PE_CANT FROM PEDIDO WHERE PE_TIPO = ?", Array As String ("VENTA"))
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ skmt.ExecNonQuery2("update CAT_GUNAPROD2 set CAT_GP_ALMACEN = CAT_GP_ALMACEN - ? where CAT_GP_ID = ? ", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
+ Next
+ End If
+ End If
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "gunaprodpa" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+ Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
+ Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE"))
+ Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1"))
+ Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2"))
+ Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
+ Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF"))
+ Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS"))
+ Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO"))
+ Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO"))
+ Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG"))
+ Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
+ Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
+' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD,"0"))
+ Next
+ If PB2.Progress = 0 Then
+ PB2.Progress = 30
+ S_CP.Text = "CARGANDO"
+ ELSE If PB2.Progress = 30 Then
+ PB2.Progress = 60
+ ELSE IF PB2.Progress = 60 Then
+ PB2.Progress = 80
+ ELSE IF PB2.Progress = 80 Then
+ PB2.Progress = 100
+ S_CP.Text = "LISTO"
+ End If
+ ' ToastMessageShow("Promociones Actualizados." , True)
+ Listo4=1
+ If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+ Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+ End If
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "gunaprodp" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+ Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
+ Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE"))
+ Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1"))
+ Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2"))
+ Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
+ Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF"))
+ Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS"))
+ Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO"))
+ Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO"))
+ Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG"))
+ Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
+ Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
+' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD,"0"))
+ Next
+ If PB2.Progress = 0 Then
+ PB2.Progress = 30
+ S_CP.Text = "CARGANDO"
+ ELSE If PB2.Progress = 30 Then
+ PB2.Progress = 60
+ ELSE IF PB2.Progress = 60 Then
+ PB2.Progress = 80
+ ELSE IF PB2.Progress = 80 Then
+ PB2.Progress = 100
+ S_CP.Text = "LISTO"
+ End If
+ ' ToastMessageShow("Promociones Actualizados." , True)
+ Listo4=1
+ If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+ Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+ End If
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "gunaprodps" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+ Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
+ Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE"))
+ Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1"))
+ Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2"))
+ Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
+ Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF"))
+ Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS"))
+ Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO"))
+ Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO"))
+ Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG"))
+ Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
+ Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD))
+ Next
+ If PB2.Progress = 0 Then
+ PB2.Progress = 30
+ S_CP.Text = "CARGANDO"
+ ELSE If PB2.Progress = 30 Then
+ PB2.Progress = 60
+ ELSE IF PB2.Progress = 60 Then
+ PB2.Progress = 80
+ ELSE IF PB2.Progress = 80 Then
+ PB2.Progress = 100
+ S_CP.Text = "LISTO"
+ End If
+ 'ToastMessageShow("Promociones especiales Actualizados." , True)
+ Listo4=1
+ If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+ Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+ End If
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "fechat" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+ Dim FECHA_HOY As String = records(RESULT.Columns.Get("FECHA"))
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",FECHA_HOY))
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "detallepaq" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim CAT_DP_ALMACEN As String = records(RESULT.Columns.Get("CAT_DP_ALMACEN"))
+ Dim CAT_DP_ID As String = records(RESULT.Columns.Get("CAT_DP_ID"))
+ Dim CAT_DP_IDPROD As String = records(RESULT.Columns.Get("CAT_DP_IDPROD"))
+ Dim CAT_DP_TIPO As String = records(RESULT.Columns.Get("CAT_DP_TIPO"))
+ Dim CAT_DP_PZAS As String = records(RESULT.Columns.Get("CAT_DP_PZAS"))
+ Dim CAT_DP_USUARIO As String = records(RESULT.Columns.Get("CAT_DP_USUARIO"))
+ Dim CAT_DP_FECHA As String = records(RESULT.Columns.Get("CAT_DP_FECHA"))
+ Dim CAT_DP_REGALO As String = records(RESULT.Columns.Get("CAT_DP_REGALO"))
+ Dim CAT_DP_CLASIF As String = records(RESULT.Columns.Get("CAT_DP_CLASIF"))
+ Dim CAT_DP_PRECIO As String = records(RESULT.Columns.Get("CAT_DP_PRECIO"))
+ Dim CAT_DP_PRECIO_SIMPTOS As String = records(RESULT.Columns.Get("CAT_DP_PRECIO_SIMPTOS"))
+
+
+
+
+ skmt.ExecNonQuery2("INSERT INTO CAT_DETALLES_PAQ(CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS))
+
+
+ Next
+
+ If PB2.Progress = 0 Then
+ PB2.Progress = 30
+ S_CP.Text = "CARGANDO"
+ ELSE If PB2.Progress = 30 Then
+ PB2.Progress = 60
+ ELSE IF PB2.Progress = 60 Then
+ PB2.Progress = 80
+ ELSE IF PB2.Progress = 80 Then
+ PB2.Progress = 100
+ S_CP.Text = "LISTO"
+ End If
+ Listo3 =1
+ If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+ Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+ End If
+
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "hist_datos" Then 'query tag
+
+ For Each records() As Object In RESULT.Rows
+
+ Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE"))
+ Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE"))
+ Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT"))
+ Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT"))
+ Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA"))
+ skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA) VALUES (?,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA))
+
+
+ Next
+ Listo3 =1
+
+ If PB1.Progress = 0 Then
+ PB1.Progress = 30
+ S_CH.Text = "CARGANDO"
+ ELSE If PB1.Progress = 30 Then
+ PB1.Progress = 50
+ ELSE IF PB1.Progress = 50 Then
+ PB1.Progress = 80
+ ELSE If PB1.Progress = 80 Then
+
+ PB1.Progress = 100
+ S_CH.Text = "LISTO"
+ End If
+
+ ' ToastMessageShow("Venta historico Actualizado." , True)
+
+ If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+
+ End If
+
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "carga_encuesta" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim CAT_EP_ID As String = records(RESULT.COLUMNS.GET("CAT_EP_ID"))
+ Dim CAT_EP_IDTIPOPREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_IDTIPOPREGUNTA"))
+ Dim CAT_CE_DESCRIPCION As String = records(RESULT.COLUMNS.GET("CAT_CE_DESCRIPCION"))
+ Dim CAT_EP_PREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_PREGUNTA"))
+ Dim CAT_EP_RES1_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES1_PRED"))
+ Dim CAT_EP_RES2_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES2_PRED"))
+ Dim CAT_EP_RES3_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES3_PRED"))
+ Dim CAT_EP_ORDEN_PREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_ORDEN_PREGUNTA"))
+
+
+ skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_PREGUNTA (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 ) VALUES (?,?,?,?,?,?,?,?)", Array As Object (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))
+
+
+
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "hist_rmi" Then 'query tag
+
+ For Each records() As Object In RESULT.Rows
+
+ Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE"))
+ Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE"))
+ Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT"))
+ Dim HVD_PROID As String = records(RESULT.Columns.Get("HVD_PROID"))
+ skmt.ExecNonQuery2("INSERT INTO HIST_RMI(HR_CLIENTE,HR_PRONOMBRE,HR_PROID, HR_CANT) VALUES (?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_PROID, HVD_CANT))
+
+
+ Next
+ Listo3 =1
+
+ If PB1.Progress = 0 Then
+ PB1.Progress = 30
+ S_CH.Text = "CARGANDO"
+ ELSE If PB1.Progress = 30 Then
+ PB1.Progress = 50
+ ELSE IF PB1.Progress = 50 Then
+ PB1.Progress = 80
+ ELSE If PB1.Progress = 80 Then
+
+ PB1.Progress = 100
+ S_CH.Text = "LISTO"
+ End If
+
+ 'ToastMessageShow("Venta historico Actualizado." , True)
+
+ If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
+ B4XPage_Appear
+ img2.Visible=False
+ EJECUTANDO=0
+
+ End If
+
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "variables" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim Cat_Va_Descripcion As String = records(RESULT.Columns.Get("CAT_VA_DESCRIPCION"))
+ Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_VA_VALOR"))
+
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object (Cat_Va_Descripcion, Cat_Va_Valor))
+
+
+ Next
+ End If
+ End If
+
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "valida_pedido" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP"))
+
+ If cuantos_pedido < = CUANTOSP Then
+ ' ToastMessageShow("rojo val ok 1 cuantosp." , True)
+ datos_iguales = "ok"
+ S_CP.Text = "INFO OK"
+ i_gif.Visible = False
+ Else
+ ToastMessageShow("No se cargo bien la info P. Sync Nuevamente" & CUANTOSP & " " & cuantos_pedido, True)
+ S_CP.Text = "ENVIAR DATOS (K-2)"
+ End If
+
+
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "valida_pedidoc" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC"))
+
+ If cuantos_pedidosc = CUANTOSC Then
+ ' ToastMessageShow("rojo val ok 1 cuantosp." , True)
+ datos_iguales = "ok"
+ Else
+ ToastMessageShow("No se cargo bien la info C. Sync Nuevamente" & CUANTOSC & " " & cuantos_pedidosc, True)
+
+ End If
+
+
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "valida_noventa" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN"))
+
+ If cuantos_noventa = CUANTOSN Then
+ ' ToastMessageShow("rojo val ok 1 cuantosp." , True)
+ datos_iguales = "ok"
+ Else
+ ToastMessageShow("No se cargo bien la info N. Sync Nuevamente" & CUANTOSN & " " & cuantos_noventa, True)
+
+ End If
+
+
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "ins_pedido" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+ PB2.Progress = PB2.Progress + 5
+ '' S_CP.Text = "SUBIENDO"
+ Next
+ PB2.Progress = 100
+ S_CP.Text = "LISTO"
+
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "version" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+ skmt.ExecNonQuery("delete from VERSION")
+ Dim CAT_VE_VERSION As String = records(RESULT.Columns.Get("CAT_VE_VERSION"))
+
+ skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
+
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "count_cli" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+ COUNT_CLIE = records(RESULT.Columns.Get("COUNT_CLIE"))
+ Next
+ End If
+ End If
+ '' PEDIDO
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "pedido_env" Then 'query tag
+ skmt.ExecNonQuery("delete from telefonos")
+
+ For Each records() As Object In RESULT.Rows
+ Dim FOLIO_PE As String = records(RESULT.Columns.Get("FOLIO"))
+ skmt.ExecNonQuery2("INSERT INTO telefonos (PR_CD_CREDITO) VALUES (?)", Array As Object (FOLIO_PE))
+ Next
+ PASO_info = 1
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "ruta" Then 'query tag
+
+' cargar.Visible = True
+' Subir.Visible = True
+' SUBIR_P.Visible = True
+' inv.Visible = True
+' connecta.Visible = False
+' If conn = "1" Then
+' ToastMessageShow("Existe Conexión con el Servidor." , True)
+' End If
+
+ For Each records() As Object In RESULT.Rows
+ Dim VALIDO As String = records(RESULT.Columns.Get("VALIDO"))
+ If VALIDO = "OK" Then
+ cargar.Visible = True
+ Subir.Visible = True
+ SUBIR_P.Visible = True
+ inv.Visible = True
+ connecta.Visible = False
+ If conn = "1" Then
+ ToastMessageShow("Existe Conexión con el Servidor." , True)
+ End If
+ Else
+ cargar.Visible = False
+ Subir.Visible = False
+ SUBIR_P.Visible = False
+ inv.Visible = False
+ connecta.Visible = False
+ End If
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "usuario" Then 'query tag
+
+ For Each records() As Object In RESULT.Rows
+ Dim name2 As String = records(RESULT.Columns.Get("VALIDO"))
+
+
+ Next
+ If name2 = "OK" Then
+ PASO = 1
+ End If
+ P1.Visible = False
+ End If
+ End If
+
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "fecha" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim FECHA_HOY As String = records(RESULT.Columns.Get("FECHA"))
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",FECHA_HOY))
+
+ Next
+
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "folio" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim FOLIO As String = records(RESULT.Columns.Get("FOLIO"))
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FOLIO"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FOLIO",FOLIO))
+
+ Next
+
+ End If
+ End If
+ 'perfil
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "perfil" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim PERFIL As String = records(RESULT.Columns.Get("PERFIL"))
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("PERFIL"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PERFIL",PERFIL))
+
+ Next
+
+ End If
+ End If
+ ' marcas
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "marcas" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim MARCAS As String = records(RESULT.Columns.Get("MARCAS"))
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MARCAS"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MARCAS",MARCAS))
+
+ Next
+
+ End If
+ End If
+ ' SUCURSAL
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "sucursal" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim SUCURSAL As String = records(RESULT.Columns.Get("SUCURSAL"))
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SUCURSAL"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SUCURSAL",SUCURSAL))
+
+ Next
+
+ End If
+ End If
+ ' cambios
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "cat_cambios" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim CAMBIOS As String = records(RESULT.Columns.Get("CAT_VA_VALOR"))
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("CAMBIOS"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CAMBIOS",CAMBIOS))
+
+ Next
+
+ End If
+ End If
+
+ ' precios
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "precios" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
+ Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
+ Dim CAT_GP_PRECIO1 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO1"))
+ Dim CAT_GP_PRECIO2 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO2"))
+ Dim CAT_GP_PRECIO3 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO3"))
+ Dim CAT_GP_PRECIO4 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO4"))
+ Dim CAT_GP_PRECIO5 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO5"))
+ Dim CAT_GP_PRECIO6 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO6"))
+ Dim CAT_GP_PRECIO7 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO7"))
+ Dim CAT_GP_PRECIO8 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO8"))
+ Dim CAT_GP_PRECIO9 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO9"))
+ Dim CAT_GP_PRECIO10 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO10"))
+
+
+ skmt.ExecNonQuery2("INSERT INTO CAT_PRECIOS(CAT_GP_ID,CAT_GP_PRECIO, CAT_GP_PRECIO1,CAT_GP_PRECIO2,CAT_GP_PRECIO3,CAT_GP_PRECIO4,CAT_GP_PRECIO5,CAT_GP_PRECIO6,CAT_GP_PRECIO7,CAT_GP_PRECIO8,CAT_GP_PRECIO9, CAT_GP_PRECIO10) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_PRECIO, CAT_GP_PRECIO1,CAT_GP_PRECIO2,CAT_GP_PRECIO3,CAT_GP_PRECIO4,CAT_GP_PRECIO5,CAT_GP_PRECIO6,CAT_GP_PRECIO7,CAT_GP_PRECIO8,CAT_GP_PRECIO9,CAT_GP_PRECIO10))
+
+ Next
+ skmt.ExecNonQuery("delete from LISTA_PRECIOS")
+ skmt.ExecNonQuery(" insert into LISTA_PRECIOS(PRECIO, CAT_GP_ID, NLISTA) select cat_gp_precio as precio, cat_gp_id, '1' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO1 As precio, CAT_GP_ID, '2' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO2 As precio, CAT_GP_ID, '3' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO3 As precio, CAT_GP_ID, '4' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO4 As precio, CAT_GP_ID, '5' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO5 As precio, CAT_GP_ID, '6' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO6 As precio, CAT_GP_ID, '7' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO7 As precio, CAT_GP_ID, '8' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO8 As precio, CAT_GP_ID, '9' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO9 As precio, CAT_GP_ID, '10' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO10 As precio, CAT_GP_ID, '11' as NLISTA from CAT_PRECIOS")
+
+ ' ToastMessageShow("LISTA DE PRECIOS OK LISTA DE PRECIOS OK", True)
+ End If
+ End If
+
+ Job.Release
+
+ End If
+
+End Sub
+
+Sub Activity_KeyPress (key As Int) As Boolean
+ ' BACK key pressed
+ If key=KeyCodes.KEYCODE_BACK Then
+ ' I want to capture the key here so I return True
+ StartActivity(Main)
+ 'Return True
+ End If
+ ' Returning False signals the system to handle the key
+ Return False
+End Sub
+
+Sub GPS_LocationChanged (Location1 As Location)
+' lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
+' lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
+End Sub
+
+Sub connecta_Click
+ ime.HideKeyboard
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "UPDATE_DURK_ACTUAL2_GPS"
+' cmd.Parameters = Array As Object(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,Main.lat_gps,Main.lon_gps,batterystatus(0),0, 0, 0,ALMACEN,l_ruta.Text )
+' reqManager.ExecuteCommand(cmd,"inst_visitas")
+
+ connecta1 = connecta1 + 1
+ imei = ""
+ conn = "1"
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_version_DUR"
+ reqManager.ExecuteQuery(cmd , 0, "version")
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_ruta_DUR2"
+ cmd.Parameters = Array As Object(ALMACEN,e_ruta.text,imei)
+ Log($"${ALMACEN},${e_ruta.text},${imei}"$)
+ reqManager.ExecuteQuery(cmd , 0, "ruta")
+
+ If e_ruta.Text = "ROOT" Then
+ cargar.Visible = True
+ Subir.Visible = True
+ SUBIR_P.Visible = True
+ e_ruta.Text = ""
+ End If
+ ToastMessageShow("Validando Conexión." , True)
+End Sub
+
+Sub BUSCA_Click
+' StartActivity(BUSCAR)
+End Sub
+
+Sub b_mapa_Click
+' StartActivity(mapas)
+End Sub
+
+Sub e_ruta_EnterPressed
+ If e_ruta.Text = "FIN DIA" Then
+ RES = Msgbox2("Seguro que desa hacer el cierre todos los datos se borraran?","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
+ If RES = DialogResponse.POSITIVE Then
+
+ e_ruta.Text = ""
+ skmt.ExecNonQuery("delete from pedido_cliente")
+ skmt.ExecNonQuery("delete from pedido")
+ skmt.ExecNonQuery("delete from noventa")
+ skmt.ExecNonQuery("delete from clie_act")
+ skmt.ExecNonQuery("delete from kmt_info")
+ skmt.ExecNonQuery("delete from cat_gunaprod")
+ skmt.ExecNonQuery("delete from cat_gunaprod2")
+
+ skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
+ skmt.ExecNonQuery("delete from HIST_VENTAS")
+ skmt.ExecNonQuery("delete from HIST_VERIFICACION")
+ skmt.ExecNonQuery("delete from HIST_ENCUESTA")
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0))
+
+
+
+ B4XPage_Appear
+ End If
+ End If
+ If e_ruta.Text = "HUGO" Then
+ trabajar.Visible = False
+ B_PROXIMA.Visible =False
+ Btn_UbicarR.Visible=False
+
+ NUEVO.Visible =False
+ BUSCA.Visible=False
+ connecta.Visible=False
+ img3.Visible =True
+ Resumen.Visible= False
+
+ End If
+
+End Sub
+Sub inv_Click
+ img2.Visible =True
+ EJECUTANDO = 1
+ inve = 1
+ skmt.ExecNonQuery("delete from cat_gunaprod")
+ skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
+
+ c=skmt.ExecQuery("select usuario from usuarioa")
+ c.Position = 0
+ usuario = c.GetString("USUARIO")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_gunaprod_DUR"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprod")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_paquetes_DUR"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprodp")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_detallepa_DUR"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "detallepaq")
+
+ cargar.Visible = False
+ Subir.Visible = False
+ SUBIR_P.Visible = False
+ connecta.Visible = True
+ inv.Visible = False
+ ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias" , True)
+
+End Sub
+Sub t1_tick
+
+ cmd.Initialize
+ cmd.Name = "select_cuantos_pedido_DUR"
+ cmd.Parameters = Array As Object(ALMACEN,l_ruta.text)
+ reqManager.ExecuteQuery(cmd , 0, "valida_pedido")
+
+ T3.Initialize("T3", 5000) ' 1000 = 1 second
+ T3.Enabled = True
+ Wait For t3_tick
+ ''
+'
+' cmd.Initialize
+' cmd.Name = "select_cuantos_noventa_DUR"
+' cmd.Parameters = Array As Object(ALMACEN,l_ruta.text)
+' reqManager.ExecuteQuery(cmd , 0, "valida_noventa")
+'
+' cmd.Initialize
+' cmd.Name = "select_cuantos_pedidoc_DUR"
+' cmd.Parameters = Array As Object(ALMACEN,l_ruta.text)
+' reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc")
+'
+ If PB2.Progress = 0 Then
+ S_CP.Text = "ENVIAR DATOS (K-1)"
+ End If
+ img2.Visible=False
+ t1.Enabled = False
+End Sub
+Sub B_OK_PAS_Click
+
+ If CARGA = "SUBIR" And S_CP.Text = "INFO OK" Then
+ c=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
+ c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO"))
+ c.Position =0
+ NUMERO_PEDIDO = c.GetString("CAT_VA_VALOR")
+ c.Close
+
+ If PERFIL = "V-ESPECIAL" Then
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",NUMERO_PEDIDO + 1))
+ End If
+ P1.Visible = False
+ trabajar.Visible = True
+ B_PROXIMA.Visible =True
+ Btn_UbicarR.Visible=True
+
+ NUEVO.Visible =True
+ BUSCA.Visible=True
+ connecta.Visible=True
+ Resumen.Visible= True
+ img2.Visible=False
+ Else If CARGA = "SUBIR" And S_CP.Text = "ERROR" Then
+ Msgbox("Tiene que subir de nuevo la información","Atención")
+ P1.Visible = False
+ trabajar.Visible = True
+ NUEVO.Visible =True
+ BUSCA.Visible=True
+ connecta.Visible=True
+ Resumen.Visible= True
+ img2.Visible=False
+
+ Else if CARGA = "SUBIR" And S_CP.Text <> "INFO OK" Then
+ RES = Msgbox2("Seguro que desa abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
+ If RES = DialogResponse.POSITIVE Then
+ P1.Visible = False
+ trabajar.Visible = True
+ B_PROXIMA.Visible =True
+ Btn_UbicarR.Visible=True
+
+ NUEVO.Visible =True
+ BUSCA.Visible=True
+ connecta.Visible=True
+ Resumen.Visible= True
+ img2.Visible=False
+ ExitApplication
+ End If
+
+ End If
+
+ If CARGA = "CARGAR" And S_CP.Text = "LISTO" And S_CC.Text = "LISTO" And S_CH.Text = "LISTO" Then
+
+ P1.Visible = False
+ trabajar.Visible = True
+ B_PROXIMA.Visible =True
+ Btn_UbicarR.Visible=True
+
+
+ NUEVO.Visible =True
+ BUSCA.Visible=True
+ connecta.Visible=True
+ Resumen.Visible= True
+ img2.Visible=False
+ B4XPage_Appear
+ Else if CARGA = "CARGAR" And (S_CP.Text <> "LISTO" Or S_CC.Text <> "LISTO" Or S_CH.Text <> "LISTO") Then
+ RES = Msgbox2("Seguro que desa abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
+ If RES = DialogResponse.POSITIVE Then
+ P1.Visible = False
+ trabajar.Visible = True
+ B_PROXIMA.Visible =True
+ Btn_UbicarR.Visible=True
+
+ NUEVO.Visible =True
+ BUSCA.Visible=True
+ connecta.Visible=True
+ Resumen.Visible= True
+ img2.Visible=False
+ skmt.ExecNonQuery("delete from kmt_info")
+ skmt.ExecNonQuery("delete from cod_result")
+ skmt.ExecNonQuery("delete from hist_gest")
+ skmt.ExecNonQuery("delete from cat_gunaprod")
+ skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
+ skmt.ExecNonQuery("delete from telefonos")
+ skmt.ExecNonQuery("delete from HIST_VENTAS")
+ skmt.ExecNonQuery("delete from HIST_PROMOS")
+ skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS")
+ skmt.ExecNonQuery("delete from PROMOS_COMP")
+ skmt.ExecNonQuery("delete from CAT_VERIFICACION")
+ ExitApplication
+ End If
+
+ End If
+
+
+ '-------------
+ '------------- TODO ESTE CODIGO ES PARA CUANDO APLICAN DESUCENTOS.
+ '
+ ' Dim cmd As DBCommand'
+' cmd.Initialize
+' cmd.Name = "select_usuario_guna_super_DUR"
+' cmd.Parameters = Array As Object(USUARIO1.Text, CLAVE.Text)
+' reqManager.ExecuteQuery(cmd , 0, "usuario")
+ 'If PASO = 1 Then
+ 'c=skmt.ExecQuery("select usuario from usuarioa")
+ '' c.Position = 0
+' usuario = c.GetString("USUARIO")
+' c.Close
+ ' PEDIO_CLIENTE
+' c=skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN FROM PEDIDO_CLIENTE ")
+' d=skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
+' If c.RowCount>0 Then
+' For i=0 To c.RowCount -1
+' c.Position=i
+'
+' Dim cmd As DBCommand
+' cmd.Initialize
+' cmd.Name = "insert_pedidos_DUR"
+' cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"),ALMACEN,l_ruta.text,C.GetString("PC_COSTO_SIN") )
+' reqManager.ExecuteQuery(cmd , 0,"inst_pedidos")
+ '
+' Next
+' c.Close
+' End If
+' d.Position=0
+' cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC")
+' d.Close
+'
+' ' PEDIO
+' c=skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC FROM PEDIDO")
+' d=skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
+'
+' If c.RowCount>0 Then
+' For i=0 To c.RowCount -1
+' c.Position=i
+'
+' Dim cmd As DBCommand
+' cmd.Initialize
+' cmd.Name = "insert_pedido_DUR"
+' cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"))
+' reqManager.ExecuteQuery(cmd , 0, "ins_pedido")
+ '
+' Next
+' c.Close
+' End If
+' d.Position=0
+' cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
+' d.Close
+'
+' ' NOVENTA
+' c=skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
+' D=skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
+'
+' If c.RowCount>0 Then
+' For i=0 To c.RowCount -1
+' c.Position=i
+'
+' Dim cmd As DBCommand
+' cmd.Initialize
+' cmd.Name = "insert_noventa_DUR"
+' cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), ALMACEN, l_ruta.Text)
+' reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+ '
+' Next
+' c.Close
+' End If
+' d.Position=0
+' cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
+' d.Close
+'
+' ' DROP
+ '
+ ' t1.Initialize("T1", 60000) ' 1000 = 1 second
+ ' t1.Enabled = True
+ 'Dim cmd As DBCommand
+ 'cmd.Initialize
+' cmd.Name ="insert_drop_DUR"
+' cmd.Parameters = Array As Object(usuario,l_ruta.Text,fecha, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text)
+' reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+ ' img2.Visible =True
+'
+'
+'
+' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
+ '
+ 'USUARIO1.Text = ""
+ 'CLAVE.Text = ""
+ ' End If
+ '
+' Awake.KeepAlive(False)
+End Sub
+
+Sub NUEVO_Click
+' StartActivity(nuevocliente)
+End Sub
+
+Sub B_OK_RES_Click
+ trabajar.Visible = True
+ B_PROXIMA.Visible =True
+ Btn_UbicarR.Visible=True
+
+ NUEVO.Visible =True
+ BUSCA.Visible=True
+ connecta.Visible=True
+ Resumen.Visible= True
+ P_RESUMEN.Visible=False
+End Sub
+
+Sub Resumen_Click
+ P_RESUMEN.Visible = True
+ trabajar.Visible = False
+ B_PROXIMA.Visible =False
+ Btn_UbicarR.Visible=False
+
+ NUEVO.Visible =False
+ BUSCA.Visible=False
+ connecta.Visible=False
+ Subir.Visible=False
+ SUBIR_P.Visible = False
+ cargar.Visible=False
+ Resumen.Visible= False
+
+ b=skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente where pc_cliente <> 0")
+ b.Position=0
+ Cuantos = b.GetString("CUANTOS")
+ ToastMessageShow(Cuantos , True)
+
+ d=skmt.ExecQuery("select count(*) as TOTAL_VISITAR from kmt_info where gestion = 0 and cat_cl_codigo <> 0")
+ D.Position=0
+ b.Close
+ e=skmt.ExecQuery("select count(*) as POR_VISITAR from kmt_info where cat_cl_codigo <> 0")
+ e.Position=0
+ f=skmt.ExecQuery("select count(*) as CAT_CL_RUTA from kmt_info where cat_cl_codigo <> 0")
+ f.Position=0
+ l_ruta.Text = f.GetString("CAT_CL_RUTA")
+ f.Close
+ If l_ruta.Text = 0 Then
+ l_ruta.Text =0
+ Else
+ f=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info")
+ f.Position=0
+ l_ruta.Text = f.GetString("CAT_CL_RUTA")
+ f.Close
+ End If
+ If Cuantos = 0 Then
+ L_MONTOD.Text =0
+ l_cuantosc.Text = 0
+ l_cuantosn.Text = 0
+ drop = 0
+ l_drop.Text = 0
+ efectiva = 0
+ l_efectiva.text =0
+ l_ctast.Text = d.GetString("TOTAL_VISITAR")
+ l_porvisitar.Text = e.GetString("POR_VISITAR")
+ d.Close
+ e.Close
+ Else
+ C=skmt.ExecQuery2("select count(*) as CUANTOS FROM CAT_GUNAPROD WHERE CAT_GP_CLASIF = ? ", Array As String ("KELLOGGS"))
+ c.Position = 0
+ Log("Cuantos=" & Cuantos)
+ If c.GetString("CUANTOS") > 0 Then
+ Log("Entramos")
+ ImageView12.Bitmap = LoadBitmap(File.DirAssets, "k.png")
+ c=skmt.ExecQuery2("select sum(pe_cant) as CAMBIOS from pedido where substr(pe_pronombre,1,6) = ?", Array As String("CAMBIO"))
+ c.Position = 0
+ l_cambios.Text = c.GetString("CAMBIOS")
+ c.Close
+ c=skmt.ExecQuery("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod where CAT_GP_CLASIF = 'KELLOGGS' Or CAT_GP_CLASIF = 'KELLOGGS 2' union Select CAT_GP_ID from cat_gunaprod2 where CAT_GP_CLASIF = 'KELLOGGS' Or CAT_GP_CLASIF = 'KELLOGGS 2')")
+ c.Position = 0
+ l_monto_k.Text = c.GetString("MONTO_DIA")
+ c.Close
+ c=skmt.ExecQuery("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod where (CAT_GP_CLASIF = 'KELLOGGS' Or CAT_GP_CLASIF = 'KELLOGGS 2') And CAT_GP_TIPO = 'PRINGLES' union Select CAT_GP_ID from cat_gunaprod2 where (CAT_GP_CLASIF = 'KELLOGGS' Or CAT_GP_CLASIF = 'KELLOGGS 2') And CAT_GP_TIPO = 'PRINGLES')")
+ c.Position = 0
+ l_monto_kp.Text = c.GetString("MONTO_DIA")
+ Log("Pringles=" & l_monto_kp.text)
+ If l_monto_kp.Text = "null" Then
+ l_monto_kp.Text = "0"
+ End If
+ c.Close
+ c=skmt.ExecQuery("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod where (CAT_GP_CLASIF = 'KELLOGGS' Or CAT_GP_CLASIF = 'KELLOGGS 2') And CAT_GP_TIPO = 'SNACK' union Select CAT_GP_ID from cat_gunaprod2 where (CAT_GP_CLASIF = 'KELLOGGS' Or CAT_GP_CLASIF = 'KELLOGGS 2') And CAT_GP_TIPO = 'SNACK')")
+ c.Position = 0
+ l_monto_ks.Text = c.GetString("MONTO_DIA")
+ c.Close
+ Log("Snacks=" & l_monto_ks.text)
+ c=skmt.ExecQuery("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod where (CAT_GP_CLASIF = 'KELLOGGS' Or CAT_GP_CLASIF = 'KELLOGGS 2') And CAT_GP_TIPO = 'CEREAL' union Select CAT_GP_ID from cat_gunaprod2 where (CAT_GP_CLASIF = 'KELLOGGS' Or CAT_GP_CLASIF = 'KELLOGGS 2') And CAT_GP_TIPO = 'CEREAL')")
+ c.Position = 0
+ l_monto_kc.Text = c.GetString("MONTO_DIA")
+ c.Close
+ Log("Cereal=" & l_monto_kc.text)
+
+ Else
+ ImageView12.Bitmap = LoadBitmap(File.DirAssets, "unilever.jpg")
+ c=skmt.ExecQuery2("select sum(pe_cant) as CAMBIOS from pedido where substr(pe_pronombre,1,6) = ?", Array As String("CAMBIO"))
+ c.Position = 0
+ l_cambios.Text = c.GetString("CAMBIOS")
+ c.Close
+
+ c=skmt.ExecQuery("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod where CAT_GP_CLASIF = 'UNILEVER' union Select CAT_GP_ID from cat_gunaprod2 where CAT_GP_CLASIF = 'UNILEVER')")
+ c.Position = 0
+ l_monto_k.Text = c.GetString("MONTO_DIA")
+ c.Close
+
+ l_monto_kp.Text = "0"
+ l_monto_ks.Text = "0"
+ End If
+
+ Log($"${l_monto_k.text}, ${l_monto_kp.text}, ${l_monto_ks.text}"$)
+
+ E1=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=skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("VENTA"))
+ c.Position = 0
+ L_VENTA.Text = c.GetString("MONTO_DIA")
+ c.Close
+ Else
+ L_VENTA.Text = 0
+ End If
+ E1.Close
+
+
+ E1=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=skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("PREVENTA"))
+ c.Position = 0
+ L_PREVENTA.Text = c.GetString("MONTO_DIA")
+ c.Close
+ Else
+ L_PREVENTA.Text = 0
+ End If
+ E1.Close
+
+
+ E1=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=skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("ABORDO"))
+ c.Position = 0
+ L_ABORDO.Text = c.GetString("MONTO_DIA")
+ c.Close
+ Else
+ L_ABORDO.Text = 0
+ End If
+ E1.Close
+
+' c=skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod where (CAT_GP_CLASIF = ? Or CAT_GP_CLASIF = ?) And CAT_GP_TIPO = ?)", Array As String("KELLOGGS", "KELLOGGS 2","SNACK"))
+' c.Position = 0
+' l_monto_ks.Text = c.GetString("MONTO_DIA")
+' c.Close
+
+ c=skmt.ExecQuery("select sum(pc_monto) as MONTO_DIA, count(pc_cliente) AS CLIENTES_DIA from pedido_cliente where pc_cliente <> 0")
+ b=skmt.ExecQuery("select count(*) as CUANTOS from noventa")
+ 'where pc_fecha = ?", Array As String(fecha)
+ C.Position=0
+ b.Position=0
+ L_MONTOD.Text = c.GetString("MONTO_DIA")
+ l_cuantosc.Text = c.GetString("CLIENTES_DIA")
+ l_cuantosn.Text = b.GetString("CUANTOS")
+ efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR")
+ l_efectiva.text = Round2(efectiva*100,2)
+ l_ctast.Text = d.GetString("TOTAL_VISITAR")
+ l_porvisitar.Text = e.GetString("POR_VISITAR")
+ L_CUANTOST.Text = l_cuantosc.Text + l_cuantosn.Text
+ drop = (c.GetString("CLIENTES_DIA") + b.GetString("CUANTOS"))/ d.GetString("TOTAL_VISITAR")
+ l_drop.Text = Round(drop * 100)
+ If l_drop.Text + l_efectiva.Text < 100 Then
+ ImageView3.Bitmap = LoadBitmap(File.DirAssets, "tache_rojo.png")
+ Else If l_drop.Text + l_efectiva.Text > = 100 And l_drop.Text + l_efectiva.Text < 130 Then
+ ImageView3.bitmap = LoadBitmap(File.DirAssets, "alerta_amarilla.png")
+ Else
+ ImageView3.Bitmap = LoadBitmap(File.DirAssets, "palomita_verde.png")
+ End If
+ L_TICKPROM.Text = Round2((c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")),2)
+ If c.GetString("MONTO_DIA") < 2500 Then
+ ImageView5.Bitmap = LoadBitmap(File.DirAssets, "tache_rojo.png")
+ Else if c.GetString("MONTO_DIA") > = 2500 And c.GetString("MONTO_DIA") < 4000 Then
+ ImageView5.bitmap = LoadBitmap(File.DirAssets, "alerta_amarilla.png")
+ Else
+ ImageView5.Bitmap = LoadBitmap(File.DirAssets, "palomita_verde.png")
+ End If
+
+ c.Close
+ b.Close
+ End If
+
+
+End Sub
+
+Sub B_PROXIMA_Click
+' skmt.ExecNonQuery("delete from CUENTAA")
+' skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0"))
+' Main.tipov = "ABORDO"
+'' StartActivity(colonia2)
+End Sub
+
+
+
+Sub Timer_GIF1_Tick
+ Timer_GIF1.Enabled = False
+ Frame1 = Frame1 + 1
+ If Frame1 >= gif1.FrameCount Then
+ Frame1 = 0
+ End If
+ Timer_GIF1.Interval = gif1.Delay(Frame1)
+ i_gif.Bitmap = gif1.Frame(Frame1)
+ Timer_GIF1.Enabled = True
+End Sub
+
+Sub load_gif
+
+ gif1.DisposeFrames
+
+
+ gif1.Load(ruta, "espera.gif")
+ Frame1 = 0
+
+
+ Timer_GIF1.Interval = gif1.Delay(Frame1)
+ i_gif.Bitmap = gif1.Frame(Frame1)
+
+ Timer_GIF1.Initialize("TG", 40) ' 1000 = 1 second
+
+ Timer_GIF1.Enabled = True
+
+
+
+ gif1.SaveFrame(0, ruta, "frame1.png", "P", 85)
+ gif1.SaveFrame(0, ruta, "frame1.jpg", "J", 85)
+
+End Sub
+
+Sub VALIDA_INFO
+
+ cmd.Initialize
+ cmd.Name = "select_datos_enviados_pe"
+ cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text)
+ reqManager.ExecuteQuery(cmd , 0, "pedido_env")
+ PASO_info = 0
+
+ For I = 0 To 2
+ T3.Initialize("T3", 8000) ' 1000 = 1 second
+ T3.Enabled = True
+ Wait For t3_tick
+ If PASO_info = 0 Then
+ I = 0
+ End If
+ Next
+
+End Sub
+
+
+Sub B_MARCAS_Click
+ Panel5.Visible = True
+
+ pnlTitle.Visible = False
+ pnlTitle.SetLayoutAnimated(0, 0, 0, CLV1.AsView.Width, TitleHeight + DividerHeight)
+ pnlTitle.LoadLayout("CellTitle")
+ c=skmt.ExecQuery("Select CAT_GP_CLASIF, SUM(TOTAL) AS TOTAL FROM TOTAL_MARCAS GROUP BY CAT_GP_CLASIF")
+ CLV1.Clear
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ AddTitle(c.GetString("CAT_GP_CLASIF"))
+ CLV1.AddTextItem("TOTAL VENTA Y PREVENTA = $" & c.GetString("TOTAL"),"1")
+
+ Next
+ End If
+End Sub
+Sub AddTitle (Title As String)
+ Dim p_MARCAS As B4XView = xui.CreatePanel("")
+ p_MARCAS.SetLayoutAnimated(0, 0, 0, CLV1.AsView.Width, TitleHeight)
+ p_MARCAS.LoadLayout("CellTitle")
+ lblTitle.Text = Title
+ Dim td As TitleData
+ td.Title = Title
+ CLV1.Add(p_MARCAS, td)
+End Sub
+
+
+Sub B_OK_PANEL5_Click
+ Panel5.Visible = False
+
+End Sub
+
+Sub e_ruta_TextChanged (Old As String, New As String)
+ Dim validChars As String ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "
+ Try
+ If validChars.Contains(New.SubString(New.Length-1)) = False Then
+ e_ruta.Text = New.SubString2(0, New.Length-1)
+ e_ruta.SelectionStart = e_ruta.Text.Length
+ End If
+ Catch
+ Log(LastException)
+ End Try
+End Sub
+
+Sub Btn_UbicarR_Click
+ c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MARCAS"))
+ c.Position =0
+ MARCASQ = c.GetString("CAT_VA_VALOR")
+ c.Close
+ skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_CLASIF NOT IN (" & MARCASQ &")" )
+ skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_ID IN (SELECT CAT_DP_ID FROM CAT_DETALLES_PAQ WHERE CAT_DP_IDPROD NOT IN (SELECT CAT_GP_ID FROM CAT_GUNAPROD))")
+' StartActivity(MAPA_RUTAS)
+End Sub
+
+Sub SUBIR_P_Click
+ Awake.KeepAlive(True)
+ CARGA = "SUBIR"
+ P1.Visible = True
+ trabajar.Visible = False
+ B_PROXIMA.Visible =False
+ Btn_UbicarR.Visible=False
+
+ NUEVO.Visible =False
+ BUSCA.Visible=False
+ connecta.Visible=False
+ Subir.Visible=False
+ SUBIR_P.Visible = False
+
+ cargar.Visible=False
+ L_P_1.Visible = False
+ S_CC.Visible = False
+ L_P_3.Visible = False
+ S_CH.Visible = False
+ PB1.Visible = False
+ Resumen.Visible= False
+
+ L_P_2.Text = "Envio de Pedidos"
+ L_P_3.Text = "Envio de Pedidos"
+ S_CH.Text = "EN PROCESO"
+ S_CP.Text = "EN PROCESO"
+ PB1.Progress = 0
+ PB2.Progress = 0
+ PB2.Visible = True
+ conteo = 0
+ 'i_gif.Visible = True
+' load_gif
+
+ PASO = 1
+ 'End If
+ If PASO =1 Then
+ E1=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=skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("ABORDO"))
+ c.Position = 0
+ L_ABORDO.Text = c.GetString("MONTO_DIA")
+ c.Close
+ Else
+ L_ABORDO.Text = 0
+ End If
+ E1.Close
+
+
+ skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
+
+ c=skmt.ExecQuery("select usuario from usuarioa")
+ c.Position = 0
+ usuario = c.GetString("USUARIO")
+ c.Close
+ d3=skmt.ExecQuery("SELECT SUM(PE_COSTO_TOT) as MONTO FROM PEDIDO")
+ d3.Position = 0
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name ="UPDATE_INFO_E_DURK"
+ cmd.Parameters = Array As Object(d3.GetDouble("MONTO")- L_ABORDO.text, L_ABORDO.Text, d3.GetDouble("MONTO"),l_ruta.TEXT, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name ="insert_drop2_DUR"
+ cmd.Parameters = Array As Object(usuario,l_ruta.Text,fecha, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO", ALMACEN, L_VENTA.Text, L_PREVENTA.Text, L_ABORDO.Text, l_cambios.TEXT)
+ reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+ d3.Close
+ cuantos_pedidosc = 0
+
+
+ ' PEDIO
+
+ skmt.ExecNonQuery("update PEDIDO set PE_FOLIO = rowid ")
+
+ '
+' c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FOLIO"))
+' c.Position =0
+ ' armafolio = l_ruta.text * 1000000
+' armafolio = armafolio + c.GetString("CAT_VA_VALOR")
+' c.Close
+' c=skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC,PE_TIPO FROM PEDIDO WHERE PE_FOLIO IS NULL")
+'
+'
+' If c.RowCount>0 Then
+' For i=0 To c.RowCount -1
+' c.Position=i
+' skmt.ExecNonQuery2("update PEDIDO set PE_FOLIO = ? where PE_PROID = ? AND PE_CLIENTE =? AND PE_FECHA =? AND PE_FOLIO IS NULL ", Array As Object(armafolio, c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA")))
+ '
+' armafolio = armafolio + 1
+'
+' Next
+' c.Close
+' End If
+ ' armafolio = armafolio - (l_ruta.Text * 1000000)
+ ' skmt.ExecNonQuery2("update CAT_VARIABLES set CAT_VA_VALOR = ? where CAT_VA_DESCRIPCION = ? ", Array As Object(armafolio,"FOLIO"))
+'
+' Dim cmd As DBCommand
+' cmd.Initialize
+' cmd.Name = "update_folio"
+' cmd.Parameters = Array As Object(armafolio,l_ruta.Text , "1")
+' reqManager.ExecuteQuery(cmd , 0, "folio")
+
+
+
+ c=skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO,PE_TIPO FROM PEDIDO WHERE PE_CLIENTE = 0")
+ d=skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO WHERE PE_CLIENTE = 0")
+ d.Position=0
+ TIEMPO = 0
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ TIEMPO = TIEMPO + 1
+
+ If TIEMPO > 20 Then
+ If L_P_2.Text = "Envio de Pedidos" Then
+ L_P_2.Text = "Envio de Pedidos --"
+ else if L_P_2.Text = "Envio de Pedidos --" Then
+ L_P_2.Text = "Envio de Pedidos \"
+ else if L_P_2.Text = "Envio de Pedidos \" Then
+ L_P_2.Text = "Envio de Pedidos |"
+ else if L_P_2.Text = "Envio de Pedidos |" Then
+ L_P_2.Text = "Envio de Pedidos /"
+ else if L_P_2.Text = "Envio de Pedidos /" Then
+ L_P_2.Text = "Envio de Pedidos --"
+ End If
+ T3.Initialize("T3", 2000) ' 1000 = 1 second
+ T3.Enabled = True
+ Wait For t3_tick
+ TIEMPO = 0
+
+ End If
+ conteo = conteo + 1
+ cuantos_ped = D.GetString("CUANTOS_PEDIDO")
+ PORCENTAJE = 2 'Round(100/ (D.GetString("CUANTOS_PEDIDO") + 1))
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "insert_pedido_DUR"
+ cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), c.GetString("PE_TIPO"))
+ reqManager.ExecuteQuery(cmd , 0, "ins_pedido")
+
+ Next
+ c.Close
+ End If
+ cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
+ d.Close
+ t1.Initialize("T1", 20000) ' 1000 = 1 second
+ t1.Enabled = True
+ img2.Visible =True
+ ' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
+ If S_CP.Text = "SUBIENDO" Then
+ S_CP.Text = "VALIDANDO"
+ End If
+ End If
+End Sub
+
+Sub b_e_resumen_Click
+' Dim cmd As DBCommand
+' cmd.Initialize
+' cmd.Name = "UPDATE_DURK_ACTUAL2_GPS"
+' cmd.Parameters = Array As Object(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,Main.lat_gps,Main.lon_gps,batterystatus(0),0, 0, 0,ALMACEN,l_ruta.Text )
+' reqManager.ExecuteCommand(cmd,"inst_visitas")
+End Sub
\ No newline at end of file
diff --git a/B4A - Copy/C_Productos.bas b/B4A - Copy/C_Productos.bas
new file mode 100644
index 0000000..ef40fbe
--- /dev/null
+++ b/B4A - Copy/C_Productos.bas
@@ -0,0 +1,1113 @@
+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
+ '//Process Globals
+ '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 q_buscar As String
+ Dim skmt As SQL
+ '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 c2 As Cursor
+ Dim ListView1 As ListView
+ Dim entro As String
+ Dim lfila As Label
+ Dim marca As String
+ Dim tipo As String
+ Private BUSCA As EditText
+ Dim ya_entro As String
+ Dim bmp As Bitmap
+
+ Dim c As Cursor
+ Dim e As Cursor
+ Dim f As Cursor
+ Dim h As Cursor
+ Dim CC As Cursor
+ Dim DD As Cursor
+ Dim l_tipo As Label
+ Dim l_sub As Label
+ Dim l_marca As Label
+ Dim l_desc As Label
+ Dim l_precio As Label
+ Dim l_bodega As Label
+ Dim cantidad As EditText
+ Dim guardar As Button
+ Dim Terminar As Button
+ Dim img_prod As ImageView
+ Dim IMG_PASO() As Byte
+ Dim L_PROID As Label
+ Dim clie_id As String
+ Dim sDate,sTime As String
+ Dim usuario As String
+' Dim lat_gps, lon_gps As String
+ Dim t_venta As Label
+ Dim PROMO_C As String
+ Dim i_fotol As ImageView
+ Private DESC_PROMO As Button
+ Private nopromo As Button
+ Dim TOT_ART_PROMO As String
+ Dim cambio As String
+ Dim COSTO_TOT As String
+ Dim ALMACEN As String
+ Dim preciosin As String
+ Dim cl_ruta As String
+ Dim d As Cursor
+ Dim TOT_ART_PROMOR As String
+ Dim PROMO_CR As String
+ Dim TOTAL_PROMO As String
+ Dim HCCP_CANT As String
+ Private Panel1 As Panel
+ Dim query As String
+ Private t_precio As Label
+ Private LV_PRECIOS As ListView
+ Private PERFIL As String
+ Private EXISTE_CAMBIO As String
+ Private QUERY2 As String
+ Dim CAMBIOS As String
+ Dim precio2 As String
+ Dim PROMOS_VENTAS As String
+
+End Sub
+
+Private Sub B4XPage_Created (Root1 As B4XView)
+ Root = Root1
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ 'Activity.LoadLayout("Layout1")
+ Root.RemoveAllViews
+ Root.LoadLayout("PRODUCTOS")
+ 'Dim ruta As String
+ ' valido donde escribo el archivo de la base de datos de kmt
+ ruta = File.DirInternal
+ Panel1.Visible= False
+ ' se crea o no el archivo de la base de ddatos de kmt
+ 'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE
+ 'TOME LA NUEVA ESTRUCTURA ES MUY IMPORTANTE TENER EL IF DE LO CONTRARIO SOLO LO ESCRIBE UNA VEZ Y LO BORRA
+ 'SI SE REGRESA A ESTE ACTIVIDAD.
+ If File.Exists(ruta, "kmt.db") = False Then
+ File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
+ End If
+ skmt.Initialize(ruta,"kmt.db", True)
+End Sub
+
+Sub B4XPage_Appear
+ If Main.tipov = "PREVENTA" Then
+ query = "cat_gunaprod"
+ QUERY2 = "COUNT_GUNAPROD"
+ Else IF Main.tipov = "VENTA" Then
+ query = "cat_gunaprod2"
+ QUERY2= " COUNT_GUNAPROD2"
+ ELSE IF Main.tipov = "ABORDO" Then
+ query = "cat_gunaprod"
+ QUERY2 = "COUNT_GUNAPROD"
+ Else
+ query = "cat_gunaprod"
+ QUERY2 = "COUNT_GUNAPROD"
+ ya_entro = 0
+ End If
+ Log(Main.tipov)
+ If ya_entro <> "1" Then
+ 'BUSCA.Text =""
+ 'SE COMENTO LA LINEA DE ARRIBA YA QUE DISPARA EL EVENTO DEL TEXTCHANGE Y PUEDE HACER LENTO EL SISTEMA
+ skmt.Initialize(ruta,"kmt.db", True)
+ entro ="1"
+ ya_entro ="1"
+ c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from " & query & " where (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc")
+
+ 'ESTO ES PARA NO VER PROCTER
+ 'c=skmt.ExecQuery2("select CAT_GP_CLASIF, count(*) as cuantos from cat_gunaprod where CAT_GP_ALMACEN > 0 and cat_gp_clasif NOT IN (?,?,?,?,?,?,?,?,?,?) group by CAT_GP_CLASIF order by CAT_GP_CLASIF asc", Array As String("PROCTER","PROMOS","TRES MONTES","CAMPARI","CAMPARI-PRO","CLOROX DE MEXICO","MARS","CONAGRA","VERDE VALLE","MEAD JOHNSON"))
+ ListView1.Clear
+ lfila.Text = "MARCA"
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 10
+ label1.TextColor = Colors.Black
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.Black
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ ListView1.AddTwoLines(c.GetString("CAT_GP_CLASIF"),c.GetString("CUANTOS"))
+ Next
+ End If
+ End If
+
+ c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
+ c.Position =0
+ If c.RowCount > 0 Then
+ PERFIL = c.GetString("CAT_VA_VALOR")
+ Else
+ PERFIL = 0
+ End If
+ c.Close
+
+ If PERFIL = "V-COSTO" Then
+ skmt.ExecNonQuery("DELETE FROM CAT_GUNAPROD WHERE CAT_GP_ID IN (SELECT CAT_GP_ID FROM LISTA_PRECIOS WHERE NLISTA = '9' AND PRECIO = '0')")
+ End If
+End Sub
+
+Sub ListView1_ItemClick (Position As Int, Value As Object)
+ 'Sub ListView1_ItemLongClick (Position As Int, Value As Object)
+ 'que_colonia = Value
+ 'StartActivity(fila)
+
+
+' If Value = "PROMOS" And fila.cuenta <> "N" Then
+' entro = "3"
+' marca = "PROMOS"
+' tipo = "PROMOS"
+' Else if Value = "PROMOS" And fila.cuenta = "N" Then
+' entro = "5"
+'' StartActivity(fila)
+' End If
+ If entro = "1" Then
+ marca = Value
+ skmt.Initialize(ruta,"kmt.db", True)
+ c2=skmt.ExecQuery2("select COUNT(*) AS CUANTOS, CAT_GP_TIPO from " & query & " where CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF = ? and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) GROUP BY CAT_GP_TIPO ORDER BY CAT_GP_TIPO ASC", Array As String(Value))
+ ListView1.Clear
+ lfila.text = "TIPO"
+ If c2.RowCount>0 Then
+ For i=0 To c2.RowCount -1
+ c2.Position=i
+ ListView1.AddTwoLines(c2.GetString("CAT_GP_TIPO"),c2.GetString("CUANTOS"))
+ Next
+ End If
+ entro = "3"
+ Else If entro = "2" Then
+ tipo = Value
+ skmt.Initialize(ruta,"kmt.db", True)
+ c2=skmt.ExecQuery2("select COUNT(*) AS CUANTOS, CAT_GP_SUBTIPO from " & query & " where CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF = ? and CAT_GP_TIPO = ? and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) GROUP BY CAT_GP_SUBTIPO ORDER BY CAT_GP_SUBTIPO ASC ", Array As String(marca, Value))
+ ListView1.Clear
+ lfila.text = "SUB-TIPO"
+ If c2.RowCount>0 Then
+ For i=0 To c2.RowCount -1
+ c2.Position=i
+ ListView1.AddTwoLines(c2.GetString("CAT_GP_SUBTIPO"),c2.GetString("CUANTOS"))
+ Next
+ End If
+ entro = "3"
+
+ Else If entro = "3" Then
+ skmt.Initialize(ruta,"kmt.db", True)
+ c2=skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF = ? AND CAT_GP_TIPO = ? and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String(marca, Value))
+ ListView1.Clear
+ lfila.text = "PRODUCTO"
+ Dim ins As InputStream
+ Dim bmp As Bitmap
+ Dim jpeg() As Byte
+ If c2.RowCount>0 Then
+ For i=0 To c2.RowCount -1
+ c2.Position=i
+ jpeg = c2.GetBlob("CAT_GP_IMG")
+ ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
+ bmp.Initialize2(ins)
+
+ ListView1.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO"))
+ Next
+ End If
+ entro = "4"
+ Else If entro = "4" Then
+
+ skmt.ExecNonQuery("delete from PROID")
+ skmt.ExecNonQuery2("INSERT INTO PROID VALUES (?)", Array As Object(Value))
+ 'StartActivity(pedidos)
+ HACER_PEDIDO
+ End If
+End Sub
+
+Sub Activity_KeyPress (key As Int) As Boolean
+ ' BACK key pressed
+ If key=KeyCodes.KEYCODE_BACK Then
+ ya_entro ="0"
+
+ If entro = "4" Then
+ entro = "3"
+ B4XPage_Appear
+ Return True
+ Else If entro = "3" Then
+ ' entro = "2"
+ ' B4XPage_Appear
+ ' Return True
+ ' Else If entro = "2" Then
+ ' entro = "1"
+ ' B4XPage_Appear
+ ' Return True
+ 'Else If entro = "1" Then
+
+ ' I want to capture the key here so I return True
+
+' StartActivity(fila)
+ Return False
+ End If
+ End If
+ ' Returning False signals the system to handle the key
+End Sub
+
+Sub BUSCA_TextChanged (Old As String, New As String)
+ q_buscar = "%" & BUSCA.Text & "%"
+ skmt.Initialize(ruta,"kmt.db", True)
+ ' c=skmt.ExecQuery2("select CAT_GP_NOMBRE from cat_gunaprod where CAT_GP_ALMACEN > 0 and CAT_GP_NOMBRE like ? AND cat_gp_clasif NOT IN (?,?,?,?,?,?,?,?,?,?) order by CAT_GP_NOMBRE asc", Array As String(q_buscar, "PROCTER","PROMOS","TRES MONTES","CAMPARI","CAMPARI-PRO","CLOROX DE MEXICO","MARS","CONAGRA","VERDE VALLE","MEAD JOHNSON"))
+ c=skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO,CAT_GP_IMG from " & query & " where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_NOMBRE like ? and CAT_GP_CLASIF <> ? and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) order by CAT_GP_NOMBRE asc", Array As String(q_buscar,"PROMOS"))
+ 'and CAT_GP_CLASIF <> ? group by CAT_GP_CLASIF order by CAT_GP_CLASIF asc", Array As String("PROMOS") )
+ ListView1.Clear
+ Dim ins As InputStream
+ Dim bmp As Bitmap
+ Dim jpeg() As Byte
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ jpeg = c.GetBlob("CAT_GP_IMG")
+ ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
+ bmp.Initialize2(ins)
+
+ ListView1.AddTwoLines(c.GetString("CAT_GP_NOMBRE"),"Existencia " & c.GetString("CAT_GP_ALMACEN") & " Precio $" & c.GetString("CAT_GP_PRECIO"))
+ Next
+ End If
+ c.Close
+ entro= "4"
+End Sub
+
+Sub HACER_PEDIDO
+ c=skmt.ExecQuery("Select SUBSTR(CUENTA,1,1) AS CUENTA from cuentaa")
+ c.Position=0
+ clie_id = c.GetString("CUENTA")
+ c.Close
+ Panel1.Visible= True
+ cambio = "0"
+ cantidad.Text = ""
+ c=skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
+ C.Position =0
+ ALMACEN = C.GetString("ID_ALMACEN")
+ C.Close
+ c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ c.Position=0
+ cl_ruta = c.GetString("CAT_CL_RUTA")
+ c.Close
+ i_fotol.Visible = False
+
+ skmt.Initialize(ruta,"kmt.db", True)
+ c=skmt.ExecQuery("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV from " & query & " where CAT_GP_NOMBRE In (Select PDESC from PROID)")
+
+ c.Position=0
+ L_PROID.Text = c.GetString("CAT_GP_ID")
+ l_tipo.Text = c.GetString("CAT_GP_TIPO")
+ l_sub.Text = c.GetString("CAT_GP_SUBTIPO")
+ l_marca.Text = c.GetString("CAT_GP_CLASIF")
+ l_desc.Text = c.GetString("CAT_GP_NOMBRE")
+
+ If PERFIL = "V-SUPER" Then
+ c2=skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = '10' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
+ c2.Position=0
+ l_precio.Text = c2.GetString("PRECIO")
+ c2.Close
+
+ Else IF ALMACEN = "6" And cl_ruta = "16" Then
+ c2=skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = '11' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
+ c2.Position=0
+ l_precio.Text = c2.GetString("PRECIO")
+ c2.Close
+ Else
+ l_precio.Text = c.GetDouble("CAT_GP_PRECIO")
+ End If
+ l_bodega.Text = c.GetString("CAT_GP_ALMACEN")
+ PROMOS_VENTAS = c.GetString("CAT_GP_ALMACEN")
+ IMG_PASO = c.GetBlob("CAT_GP_IMG")
+ PROMO_C = c.GetString("CAT_GP_STS")
+ cambio = c.GetString("CAT_GP_DEV")
+ preciosin = c.GetString("CAT_GP_IMP2")
+ PROMO_CR = c.GetString("CAT_GP_IMP1")
+ precio2 = l_precio.Text
+
+ If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" Then
+ DESC_PROMO.Visible = True
+ CC=skmt.ExecQuery2("select count(*) as CUANTOS FROM PROMOS_COMP WHERE CAT_PA_ID = ?", Array As String(c.GetString("CAT_GP_ID")))
+ CC.Position =0
+ If CC.GetString("CUANTOS") = 0 Then
+ l_bodega.Text = "4"
+ Else
+ CC.Close
+ CC=skmt.ExecQuery2("select CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE FROM PROMOS_COMP WHERE CAT_PA_ID = ?", Array As String(c.GetString("CAT_GP_ID")))
+ CC.Position =0
+
+ DD=skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(c.GetString("CAT_GP_ID")))
+ DD.Position =0
+ If DD.GetString("CUANTOS") = 0 Then
+ HCCP_CANT = 0
+ Else
+ DD.Close
+
+ DD=skmt.ExecQuery2("SELECT HCCP_CANT FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(c.GetString("CAT_GP_ID")))
+ DD.Position =0
+ HCCP_CANT = DD.GetString("HCCP_CANT")
+ DD.Close
+ End If
+ TOTAL_PROMO = CC.GetString("CAT_PA_MAXPROMCLIE") - HCCP_CANT
+ If HCCP_CANT = 0 Then
+
+ l_bodega.Text = CC.GetString("CAT_PA_MAXPROM")
+ Else IF TOTAL_PROMO > CC.GetString("CAT_PA_MAXPROMREC") Then
+ l_bodega.Text = CC.GetString("CAT_PA_MAXPROMREC")
+ Else
+ l_bodega.Text = TOTAL_PROMO
+ End If
+ End If
+ Else
+ DESC_PROMO.Visible = False
+ End If
+
+ c.Close
+ c=skmt.ExecQuery("select CASE WHEN pe_costo_tot is null then 0 else sum( pe_costo_tot ) end as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
+ c.Position=0
+ t_venta.Text = c.GetString("TOTAL_CLIE")
+ c.Close
+ Terminar.Visible = True
+ guardar.Visible = True
+ cantidad.Visible = True
+ If cambio = "1" Then
+ nopromo.Visible = True
+ If clie_id = "N" Then
+ nopromo.Visible = False
+ End If
+ Else
+ nopromo.Visible = False
+ End If
+ Dim out As OutputStream
+ out = File.OpenOutput(ruta, "1.jpg", False)
+ out.WriteBytes(IMG_PASO, 0, IMG_PASO.Length)
+ out.Close
+ img_prod.Bitmap = LoadBitmap(ruta,"1.jpg")
+ TOT_ART_PROMO = "0"
+ TOT_ART_PROMOR = "0"
+ If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And l_bodega.Text = "0" Then
+ Msgbox("ALERTA","EL CLIENTE YA NO PUEDE TENER ESTA PROMOCION")
+ Panel1.Visible= False
+ End If
+
+ If marca <> "PROMOS" Then
+ If PERFIL = "PREVENTA" Then
+ t_precio.Visible = False
+ LV_PRECIOS.Visible = False
+ ELSE IF PERFIL = "V-ESPECIAL" Then
+ c=skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA IN ('5','6','7','8','10') AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
+ LV_PRECIOS.Clear
+ Dim label1 As Label
+ label1 = LV_PRECIOS.TwoLinesLayout.Label
+ label1.TextSize = 10
+ label1.TextColor = Colors.Black
+ Dim label2 As Label
+ label2 = LV_PRECIOS.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.Black
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ LV_PRECIOS.AddTwoLines(c.GetString("NLISTA"),c.GetString("PRECIO"))
+ Next
+ End If
+ ELSE IF PERFIL = "V-MINI" Then
+ t_precio.Visible = False
+ LV_PRECIOS.Visible = False
+
+ c=skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = '2' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
+ c.Position=0
+ l_precio.Text = c.GetString("PRECIO")
+ c.Close
+ ELSE IF PERFIL = "V-COSTO" Then
+
+ t_precio.Visible = False
+ LV_PRECIOS.Visible = False
+
+ c=skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = '9' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
+ c.Position=0
+ l_precio.Text = c.GetString("PRECIO")
+ c.Close
+ ELSE IF PERFIL = "V-SUPER" Then
+ t_precio.Visible = False
+ LV_PRECIOS.Visible = False
+
+ c=skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA ='9' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
+ c.Position=0
+ l_precio.Text = c.GetString("PRECIO")
+ c.Close
+ End If
+ End If
+ '' ESTO ES PARA NO PASAR DE LAS PROMOS ABORDO Y MANDARLAS AL MINIMO INICIO
+ If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" Then
+ If query = "cat_gunaprod2" Then
+ l_bodega.Text = PROMOS_VENTAS
+ e=skmt.ExecQuery2("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID = ? ", Array As String(L_PROID.Text) )
+ e.Position = 0
+ If e.GetString("CUANTOS") > 0 Then
+ F=skmt.ExecQuery2("select CAT_DP_IDPROD, CAT_DP_PZAS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID = ? ", Array As String(L_PROID.Text) )
+ 'se coloco el if por la mala promocion.
+
+ For i=0 To F.RowCount -1
+ F.Position=i
+ c=skmt.ExecQuery2("select count(*) as CUANTOS from cat_gunaprod2 where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
+ c.Position=0
+ If c.GetString("CUANTOS") > 0 Then
+ h=skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
+ h.Position=0
+ If h.GetString("CAT_GP_ALMACEN") < l_bodega.Text * f.GetString("CAT_DP_PZAS") Then
+ l_bodega.Text = "1"
+ End If
+ 'skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Main.tipov,precio2))
+ h.Close
+ else if c.GetString("CUANTOS") = 0 Then
+ l_bodega.Text = "0"
+ End If
+ c.Close
+ Next
+ f.Close
+ End If
+ e.Close
+ End If
+ '' ESTO ES PARA NO PASAR DE LAS PROMOS ABORDO Y MANDARLAS AL MINIMO FIN
+ End If
+ If clie_id="0" Then
+ nopromo.Visible = False
+ End If
+End Sub
+
+Sub guardar_Click
+ If cantidad.Text = "" Then
+ Panel1.Visible= False
+ ELSE If cantidad.Text > l_bodega.Text Then
+ Msgbox("Exede la existencia", "ADVERTENCIA")
+ Else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C > 0 And cantidad.Text > 0 Then
+ skmt.ExecNonQuery("delete from PROIDID")
+ skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
+ c=skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
+ c.Position =0
+ If c.GetString("CUANTOSD") = 0 Then
+ Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA")
+ Else
+ c=skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
+ C.Position =0
+ TOT_ART_PROMO = C.GetString("TOT_ART_PROMO")
+ COSTO_TOT = C.GetString("COSTO_TOT")
+ C.Close
+
+ c=skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
+ c.Position =0
+ If c.GetString("CUANTOSD") = 0 Then
+ TOT_ART_PROMOR = "0" 'Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA")
+ Else
+ c=skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
+ C.Position =0
+ TOT_ART_PROMOR = C.GetString("TOT_ART_PROMO")
+ End If
+ C.Close
+ PROMO_C = PROMO_C * cantidad.Text
+ PROMO_CR = PROMO_CR * cantidad.Text
+
+ If TOT_ART_PROMO = PROMO_C And TOT_ART_PROMOR = PROMO_CR Then
+ ' anterior a 29/06/2015
+ 'skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(l_precio.text/(TOT_ART_PROMO/cantidad.Text),l_precio.text/(TOT_ART_PROMO/cantidad.Text)))
+ 'en pe_cedis meto el codigo de promocion para hacer esta validacion.
+ skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = (?) WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(L_PROID.text))
+ D=skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0")
+ If D.RowCount>0 Then
+ For i=0 To D.RowCount -1
+ D.Position=i
+ skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
+ Next
+ End If
+ D.Close
+ D=skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1")
+ If D.RowCount>0 Then
+ For i=0 To D.RowCount -1
+ D.Position=i
+ skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
+ Next
+ End If
+ D.Close
+
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+
+ c=skmt.ExecQuery("Select CUENTA from cuentaa")
+ c.Position=0
+ clie_id = c.GetString("CUENTA")
+
+ c.Close
+
+ If Main.tipov = "ABORDO" Then
+ c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info")
+ c.Position=0
+ cl_ruta = c.GetString("CAT_CL_RUTA")
+ c.Close
+
+ Else
+ c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ c.Position=0
+ cl_ruta = c.GetString("CAT_CL_RUTA")
+ c.Close
+ End If
+
+ c=skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+ 'skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario))
+ 'para insertar la promo de ades el de regalo en 0
+ e=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
+
+ If e.GetString("CUANTOS") > 0 Then
+
+ F=skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
+ 'se coloco el if por la mala promocion.
+
+ For i=0 To F.RowCount -1
+ F.Position=i
+ h=skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
+ h.Position=0
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD")))
+ h.Close
+ Next
+ f.Close
+ End If
+ e.Close
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
+ Else
+ Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA")
+ End If
+ End If
+
+ cantidad.Text = ""
+ Panel1.Visible= False
+
+ skmt.ExecNonQuery("delete from pedido3")
+ skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL")
+
+ skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, " & _
+ " PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO, PE_FOLIO ) Select PE_PRECIO2, PE_TIPO, 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, PE_USUARIO, PE_FOLIO " & _
+ " FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, " & _
+ " PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FOLIO ")
+ c=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
+ 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
+ skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
+ skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
+
+
+ else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C = 0 Then
+ skmt.ExecNonQuery("delete from PROIDID")
+
+ skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
+ c=skmt.ExecQuery("Select CUENTA from cuentaa")
+ c.Position=0
+ clie_id = c.GetString("CUENTA")
+
+ c.Close
+
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+
+ c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ c.Position=0
+ cl_ruta = c.GetString("CAT_CL_RUTA")
+ c.Close
+
+ c=skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+ 'skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario))
+ 'para insertar la promo de ades el de regalo en 0
+ e=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) ")
+ e.Position =0
+ If e.GetString("CUANTOS") > 0 Then
+ F=skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)")
+ For i =0 To f.RowCount -1
+ F.Position =i
+ h=skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
+ h.Position=0
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD")))
+
+ h.Close
+ Next
+ f.Close
+ End If
+ e.Close
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
+ cantidad.Text = ""
+ c=skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
+ c.Position=0
+ skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
+ skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Main.lon_gps, Main.lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN")))
+ If Main.tipov <> "ABORDO" Then
+ skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ End If
+
+ Panel1.Visible= False
+
+ skmt.ExecNonQuery("delete from pedido3")
+ skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL")
+
+ skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, " & _
+ " PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO, PE_FOLIO ) Select PE_PRECIO2, PE_TIPO, 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, PE_USUARIO, PE_FOLIO " & _
+ " FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, " & _
+ " PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FOLIO ")
+ c=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
+ 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
+ skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
+ skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
+
+
+ Else
+
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+ c=skmt.ExecQuery("Select CUENTA from cuentaa")
+ c.Position=0
+ clie_id = c.GetString("CUENTA")
+ c.Close
+ If Main.tipov = "ABORDO" Then
+ c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info")
+ c.Position=0
+ cl_ruta = c.GetString("CAT_CL_RUTA")
+ c.Close
+
+ Else
+ c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ c.Position=0
+ cl_ruta = c.GetString("CAT_CL_RUTA")
+ c.Close
+ End If
+
+
+ c=skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
+ c=skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
+ c.Position=0
+ skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
+ skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Main.lon_gps, Main.lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN")))
+ If Main.tipov <> "ABORDO" Then
+ skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+
+ End If
+ Panel1.Visible= False
+
+ skmt.ExecNonQuery("delete from pedido3")
+ skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL")
+
+ skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, " & _
+ " PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO, PE_FOLIO ) Select PE_PRECIO2, PE_TIPO, 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, PE_USUARIO, PE_FOLIO " & _
+ " FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, " & _
+ " PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FOLIO ")
+ c=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
+ 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
+ skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
+ skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
+
+ End If
+End Sub
+Sub GPS_LocationChanged (Location1 As Location)
+' lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
+' lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
+End Sub
+
+Sub Terminar_Click
+
+ If cantidad.Text = "" Then
+' StartActivity(fila)
+
+ ELSE If cantidad.Text > l_bodega.Text Then
+ Msgbox("Exede la existencia", "ADVERTENCIA")
+ Else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C > 0 And cantidad.Text > 0 Then
+ skmt.ExecNonQuery("delete from PROIDID")
+
+ skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
+ c=skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
+ c.Position =0
+ If c.GetString("CUANTOSD") = 0 Then
+ Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA")
+ Else
+ c=skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
+ C.Position =0
+ TOT_ART_PROMO = C.GetString("TOT_ART_PROMO")
+ COSTO_TOT = C.GetString("COSTO_TOT")
+ C.Close
+
+ c=skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
+ c.Position =0
+ If c.GetString("CUANTOSD") = 0 Then
+ TOT_ART_PROMOR = "0" 'Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA")
+ Else
+ c=skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
+ C.Position =0
+ TOT_ART_PROMOR = C.GetString("TOT_ART_PROMO")
+ End If
+ C.Close
+
+
+ PROMO_C = PROMO_C * cantidad.Text
+ PROMO_CR = PROMO_CR * cantidad.Text
+
+ If TOT_ART_PROMO = PROMO_C And TOT_ART_PROMOR = PROMO_CR Then
+ ' anterior a 29/06/2015
+ 'skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(l_precio.text/(TOT_ART_PROMO/cantidad.Text),l_precio.text/(TOT_ART_PROMO/cantidad.Text)))
+ 'en pe_cedis meto el codigo de promocion para hacer esta validacion.
+ skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = (?) WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(L_PROID.text))
+ D=skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0")
+ If D.RowCount>0 Then
+ For i=0 To D.RowCount -1
+ D.Position=i
+
+ skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
+
+ Next
+ End If
+ D.Close
+ D=skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1")
+ If D.RowCount>0 Then
+ For i=0 To D.RowCount -1
+ D.Position=i
+
+ skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
+
+ Next
+ End If
+ D.Close
+
+
+
+ 'skmt.ExecNonQuery("UPDATE PEDIDO SET PE_COSTO_TOT = 0.01 WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))")
+
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+
+ c=skmt.ExecQuery("Select CUENTA from cuentaa")
+ c.Position=0
+ clie_id = c.GetString("CUENTA")
+
+ c.Close
+
+ c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ c.Position=0
+ cl_ruta = c.GetString("CAT_CL_RUTA")
+ c.Close
+
+ c=skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+ 'skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario))
+ 'para insertar la promo de ades el de regalo en 0
+ e=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
+ e.Position =0
+ If e.GetString("CUANTOS") > 0 Then
+ F=skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
+ 'meter el otro
+ F.Position =0
+ h=skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
+ h.Position=0
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object( f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD")))
+
+
+ h.Close
+ f.Close
+ End If
+ e.Close
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
+ Else
+ Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA")
+ End If
+ End If
+
+ cantidad.Text = ""
+ Panel1.Visible= False
+
+ skmt.ExecNonQuery("delete from pedido3")
+ skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL")
+
+ skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, " & _
+ " PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO, PE_FOLIO ) Select PE_PRECIO2, PE_TIPO, 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, PE_USUARIO, PE_FOLIO " & _
+ " FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, " & _
+ " PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FOLIO ")
+ c=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
+ 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
+ skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
+ skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
+
+' StartActivity(fila)
+ else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C = 0 Then
+ skmt.ExecNonQuery("delete from PROIDID")
+
+ skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
+ c=skmt.ExecQuery("Select CUENTA from cuentaa")
+ c.Position=0
+ clie_id = c.GetString("CUENTA")
+
+ c.Close
+
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+
+ c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ c.Position=0
+ cl_ruta = c.GetString("CAT_CL_RUTA")
+ c.Close
+
+ c=skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+ 'skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario))
+ 'para insertar la promo de ades el de regalo en 0
+ e=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) ")
+ e.Position =0
+ If e.GetString("CUANTOS") > 0 Then
+ F=skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)")
+ For i =0 To f.RowCount -1
+ F.Position =i
+ h=skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
+ h.Position=0
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD")))
+
+
+ h.Close
+ Next
+ f.Close
+ End If
+ e.Close
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
+ cantidad.Text = ""
+ c=skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
+ c.Position=0
+ skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
+ skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Main.lon_gps, Main.lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN")))
+ skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+
+
+ skmt.ExecNonQuery("delete from pedido3")
+ skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL")
+
+ skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, " & _
+ " PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO, PE_FOLIO ) Select PE_PRECIO2, PE_TIPO, 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, PE_USUARIO, PE_FOLIO " & _
+ " FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, " & _
+ " PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FOLIO ")
+ c=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
+ 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
+ skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
+ skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
+'
+' StartActivity(fila)
+
+ Else
+
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+ c=skmt.ExecQuery("Select CUENTA from cuentaa")
+ c.Position=0
+ clie_id = c.GetString("CUENTA")
+ c.Close
+ c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ c.Position=0
+ cl_ruta = c.GetString("CAT_CL_RUTA")
+ c.Close
+
+ c=skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
+ c=skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
+ c.Position=0
+ skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
+ skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Main.lon_gps, Main.lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN")))
+ skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ Panel1.Visible= False
+
+ skmt.ExecNonQuery("delete from pedido3")
+ skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL")
+
+ skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, " & _
+ " PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO, PE_FOLIO ) Select PE_PRECIO2, PE_TIPO, 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, PE_USUARIO, PE_FOLIO " & _
+ " FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, " & _
+ " PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FOLIO ")
+ c=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
+ 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
+ skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
+ skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
+
+' StartActivity(fila)
+ End If
+End Sub
+Sub i_fotol_Click
+ i_fotol.Visible = False
+
+End Sub
+
+Sub DESC_PROMO_Click
+ skmt.ExecNonQuery("delete from PROIDID")
+ skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
+
+' StartActivity(detalle_promo)
+End Sub
+Sub nopromo_Click
+ c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CAMBIOS"))
+ c.Position =0
+ CAMBIOS = c.GetString("CAT_VA_VALOR")
+ c.Close
+ If CAMBIOS = "1" Then
+ c=skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_RMI WHERE HR_CLIENTE IN (Select CUENTA from cuentaa) and HR_PROID = '" & L_PROID.Text & "'")
+ c.Position =0
+ EXISTE_CAMBIO = c.GetString("CUANTOS")
+ c.Close
+ If EXISTE_CAMBIO = 0 Then
+ EXISTE_CAMBIO = 0
+ Else
+ c=skmt.ExecQuery("select SUM(HR_CANT) AS CUANTOS from HIST_RMI WHERE HR_CLIENTE IN (Select CUENTA from cuentaa) and HR_PROID = '" & L_PROID.Text & "'")
+ c.Position =0
+ EXISTE_CAMBIO = c.GetString("CUANTOS")
+ c.Close
+
+ End If
+ If EXISTE_CAMBIO = 0 Then
+ Msgbox("NO SE VENDIO ESTE PRODUCTO, NO SE PUEDE CAMBIAR","ALERTA")
+ ELSE If cantidad.Text = "" Then
+ Msgbox("Cantidad no puede ser 0","Cantidad")
+ Else If cantidad.Text > EXISTE_CAMBIO Then
+ Msgbox("Exede la existencia", "ADVERTENCIA")
+ Else
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+ c=skmt.ExecQuery("Select CUENTA from cuentaa")
+ c.Position=0
+ clie_id = c.GetString("CUENTA")
+ c=skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("DUR",0,0, cantidad.text,"CAMBIO" & l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
+
+
+ cantidad.Text = ""
+ Panel1.Visible= False
+
+
+ End If
+
+ Else
+ If cantidad.Text > 15 Then
+ Msgbox("Exede la existencia", "ADVERTENCIA")
+ Else
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+ c=skmt.ExecQuery("Select CUENTA from cuentaa")
+ c.Position=0
+ clie_id = c.GetString("CUENTA")
+ c=skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+
+ skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("DUR",0,0, cantidad.text,"CAMBIO" & l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,Main.tipov,precio2))
+ skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
+
+
+ cantidad.Text = ""
+ Panel1.Visible= False
+
+
+ End If
+
+ End If
+
+End Sub
+
+Sub LV_PRECIOS_ItemClick (Position As Int, Value As Object)
+ c=skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = " & "'" & Value &"' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
+ c.Position=0
+ l_precio.Text = c.GetString("PRECIO")
+ c.Close
+End Sub
\ No newline at end of file
diff --git a/B4A - Copy/C_TicketsDia.bas b/B4A - Copy/C_TicketsDia.bas
new file mode 100644
index 0000000..2a6f13c
--- /dev/null
+++ b/B4A - Copy/C_TicketsDia.bas
@@ -0,0 +1,149 @@
+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 skmt As SQL
+ '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 ruta As String
+ Dim ListView1 As ListView
+ Dim b_noventa As Button
+ Dim nombre_boton As String
+End Sub
+
+Private Sub B4XPage_Created (Root1 As B4XView)
+ Root = Root1
+ Root.LoadLayout("buscar")
+ ruta = File.DirInternal
+
+ ' se crea o no el archivo de la base de ddatos de kmt
+ 'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE
+ 'TOME LA NUEVA ESTRUCTURA ES MUY IMPORTANTE TENER EL IF DE LO CONTRARIO SOLO LO ESCRIBE UNA VEZ Y LO BORRA
+ 'SI SE REGRESA A ESTE ACTIVIDAD.
+ If File.Exists(ruta, "kmt.db") = False Then
+ File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
+ End If
+
+ skmt.Initialize(ruta,"kmt.db", True)
+
+ c=skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
+ ListView1.Clear
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 10
+ label1.TextColor = Colors.Black
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 15
+ label2.TextColor = Colors.Blue
+ ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
+ Next
+ End If
+ 'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
+
+
+ 'ListView1.AddTwoLines(c.GetString("pr_cd_nombre"),c.GetString("pr_cd_colonia"))
+ ' Next
+ 'End If
+
+End Sub
+
+Sub B4XPage_Appear
+ nombre_boton = "NOVENTA"
+ c=skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
+ ListView1.Clear
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 15
+ label1.TextColor = Colors.Black
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.Blue
+ ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
+ Next
+ End If
+ c.Close
+End Sub
+
+Sub Regresar_Click
+' StartActivity(fila)
+End Sub
+
+Sub Activity_KeyPress (key As Int) As Boolean
+ ' BACK key pressed
+ If key=KeyCodes.KEYCODE_BACK Then
+ ' I want to capture the key here so I return True
+' StartActivity(seleccion)
+ 'Return True
+ End If
+ ' Returning False signals the system to handle the key
+ Return False
+End Sub
+
+Sub ListView1_ItemLongClick (Position As Int, Value As Object)
+ skmt.ExecNonQuery("delete from CUENTAA")
+ skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
+' StartActivity(fila)
+End Sub
+
+Sub b_noventa_Click
+ If nombre_boton = "NOVENTA" Then
+ nombre_boton = "VENTA"
+ b_noventa.Text ="VENTA"
+
+ c=skmt.ExecQuery("select NV_CLIENTE,NV_MOTIVO,NV_COMM FROM NOVENTA ORDER BY NV_CLIENTE asc")
+ ListView1.Clear
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 15
+ label1.TextColor = Colors.Black
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.Blue
+ ListView1.AddTwoLines(c.GetString("NV_CLIENTE"),"Motivo #"& c.GetString("NV_MOTIVO")& " Comentario $"& c.GetString("NV_COMM"))
+ Next
+ End If
+ Else
+ nombre_boton = "NOVENTA"
+ b_noventa.Text ="NO VENTA"
+ c=skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
+ ListView1.Clear
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 15
+ label1.TextColor = Colors.Black
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.Blue
+ ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
+ Next
+ End If
+ c.Close
+ End If
+End Sub
\ No newline at end of file
diff --git a/B4A/C_updateAvailable.bas b/B4A - Copy/C_updateAvailable.bas
similarity index 100%
rename from B4A/C_updateAvailable.bas
rename to B4A - Copy/C_updateAvailable.bas
diff --git a/B4A - Copy/CameraExClass.bas b/B4A - Copy/CameraExClass.bas
new file mode 100644
index 0000000..7da8e8f
--- /dev/null
+++ b/B4A - Copy/CameraExClass.bas
@@ -0,0 +1,290 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=6.8
+@EndOfDesignText@
+
+'Class module
+'version 1.20
+'See this page for the list of constants:
+'http://developer.android.com/intl/fr/reference/android/hardware/Camera.Parameters.html
+'Note that you should use the constant values instead of the names.
+Sub Class_Globals
+ Private nativeCam As Object
+ Private cam As Camera
+ Private r As Reflector
+ Private target As Object
+ Private event As String
+ Public Front As Boolean
+ Type CameraInfoAndId (CameraInfo As Object, Id As Int)
+ Type CameraSize (Width As Int, Height As Int)
+ Private parameters As Object
+End Sub
+
+Public Sub Initialize (Panel1 As Panel, FrontCamera As Boolean, TargetModule As Object, EventName As String)
+ target = TargetModule
+ event = EventName
+ Front = FrontCamera
+ Dim id As Int
+ id = FindCamera(Front).id
+ If id = -1 Then
+ Front = Not(Front) 'try different camera
+ id = FindCamera(Front).id
+ If id = -1 Then
+ ToastMessageShow("No camera found.", True)
+ Return
+ End If
+ End If
+ cam.Initialize2(Panel1, "camera", id)
+End Sub
+
+Private Sub FindCamera (frontCamera As Boolean) As CameraInfoAndId
+ Dim ci As CameraInfoAndId
+ Dim cameraInfo As Object
+ Dim cameraValue As Int
+ If frontCamera Then cameraValue = 1 Else cameraValue = 0
+ cameraInfo = r.CreateObject("android.hardware.Camera$CameraInfo")
+ Dim numberOfCameras As Int = r.RunStaticMethod("android.hardware.Camera", "getNumberOfCameras", Null, Null)
+ For i = 0 To numberOfCameras - 1
+ r.RunStaticMethod("android.hardware.Camera", "getCameraInfo", Array As Object(i, cameraInfo), _
+ Array As String("java.lang.int", "android.hardware.Camera$CameraInfo"))
+ r.target = cameraInfo
+ If r.GetField("facing") = cameraValue Then
+ ci.cameraInfo = r.target
+ ci.Id = i
+ Return ci
+ End If
+ Next
+ ci.id = -1
+ Return ci
+End Sub
+
+Private Sub SetDisplayOrientation
+ r.target = r.GetActivity
+ r.target = r.RunMethod("getWindowManager")
+ r.target = r.RunMethod("getDefaultDisplay")
+ r.target = r.RunMethod("getRotation")
+ Dim previewResult, result, degrees As Int = r.target * 90
+ Dim ci As CameraInfoAndId = FindCamera(Front)
+ r.target = ci.CameraInfo
+ Dim orientation As Int = r.GetField("orientation")
+ If Front Then
+ previewResult = (orientation + degrees) Mod 360
+ result = previewResult
+ previewResult = (360 - previewResult) Mod 360
+ Else
+ previewResult = (orientation - degrees + 360) Mod 360
+ result = previewResult
+ Log(previewResult)
+ End If
+ r.target = nativeCam
+ r.RunMethod2("setDisplayOrientation", previewResult, "java.lang.int")
+ r.target = parameters
+ r.RunMethod2("setRotation", result, "java.lang.int")
+ CommitParameters
+End Sub
+
+Private Sub Camera_Ready (Success As Boolean)
+ If Success Then
+ r.target = cam
+ nativeCam = r.GetField("camera")
+ r.target = nativeCam
+ parameters = r.RunMethod("getParameters")
+ SetDisplayOrientation
+ Else
+ Log("success = false, " & LastException)
+ End If
+ CallSub2(target, event & "_ready", Success)
+End Sub
+
+Sub Camera_Preview (Data() As Byte)
+ If SubExists(target, event & "_preview") Then
+ CallSub2(target, event & "_preview", Data)
+ End If
+End Sub
+Public Sub TakePicture
+ cam.TakePicture
+End Sub
+
+Private Sub Camera_PictureTaken (Data() As Byte)
+ CallSub2(target, event & "_PictureTaken", Data)
+End Sub
+
+Public Sub StartPreview
+ cam.StartPreview
+End Sub
+
+Public Sub StopPreview
+ cam.StopPreview
+End Sub
+
+Public Sub Release
+ cam.Release
+End Sub
+
+'Saves the data received from PictureTaken event
+Public Sub SavePictureToFile(Data() As Byte, Dir As String, FileName As String)
+ Dim out As OutputStream = File.OpenOutput(Dir, FileName, False)
+ out.WriteBytes(Data, 0, Data.Length)
+ out.Close
+End Sub
+
+Public Sub SetParameter(Key As String, Value As String)
+ r.target = parameters
+ r.RunMethod3("set", Key, "java.lang.String", Value, "java.lang.String")
+End Sub
+
+Public Sub GetParameter(Key As String) As String
+ r.target = parameters
+ Return r.RunMethod2("get", Key, "java.lang.String")
+End Sub
+
+Public Sub CommitParameters
+ Try
+ r.target = nativeCam
+ r.RunMethod4("setParameters", Array As Object(parameters), Array As String("android.hardware.Camera$Parameters"))
+ Catch
+ ToastMessageShow("Error setting parameters.", True)
+ Log(LastException)
+ End Try
+End Sub
+
+Public Sub GetColorEffect As String
+ Return GetParameter("effect")
+End Sub
+
+Public Sub SetColorEffect(Effect As String)
+ SetParameter("effect", Effect)
+End Sub
+
+Public Sub GetSupportedPicturesSizes As CameraSize()
+ r.target = parameters
+ Dim list1 As List = r.RunMethod("getSupportedPictureSizes")
+ Dim cs(list1.Size) As CameraSize
+ For i = 0 To list1.Size - 1
+ r.target = list1.Get(i)
+ cs(i).Width = r.GetField("width")
+ cs(i).Height = r.GetField("height")
+ Next
+ Return cs
+End Sub
+
+Public Sub SetPictureSize(Width As Int, Height As Int)
+ r.target = parameters
+ r.RunMethod3("setPictureSize", Width, "java.lang.int", Height, "java.lang.int")
+End Sub
+
+Public Sub SetJpegQuality(Quality As Int)
+ r.target = parameters
+ r.RunMethod2("setJpegQuality", Quality, "java.lang.int")
+End Sub
+
+Public Sub SetFlashMode(Mode As String)
+ r.target = parameters
+ r.RunMethod2("setFlashMode", Mode, "java.lang.String")
+End Sub
+
+Public Sub GetFlashMode As String
+ r.target = parameters
+ Return r.RunMethod("getFlashMode")
+End Sub
+
+Public Sub GetSupportedFlashModes As List
+ r.target = parameters
+ Return r.RunMethod("getSupportedFlashModes")
+End Sub
+
+Public Sub GetSupportedColorEffects As List
+ r.target = parameters
+ Return r.RunMethod("getSupportedColorEffects")
+End Sub
+
+Public Sub GetPreviewSize As CameraSize
+ r.target = parameters
+ r.target = r.RunMethod("getPreviewSize")
+ Dim cs As CameraSize
+ cs.Width = r.GetField("width")
+ cs.Height = r.GetField("height")
+ Return cs
+End Sub
+
+Public Sub GetPictureSize As CameraSize
+ r.target = parameters
+ r.target = r.RunMethod("getPictureSize")
+ Dim cs As CameraSize
+ cs.Width = r.GetField("width")
+ cs.Height = r.GetField("height")
+ Return cs
+End Sub
+
+'Converts a preview image formatted in YUV format to JPEG.
+'Note that you should not save every preview image as it will slow down the whole process.
+Public Sub PreviewImageToJpeg(data() As Byte, quality As Int) As Byte()
+ Dim size, previewFormat As Object
+ r.target = parameters
+ size = r.RunMethod("getPreviewSize")
+ previewFormat = r.RunMethod("getPreviewFormat")
+ r.target = size
+ Dim width = r.GetField("width"), height = r.GetField("height") As Int
+ Dim yuvImage As Object = r.CreateObject2("android.graphics.YuvImage", _
+ Array As Object(data, previewFormat, width, height, Null), _
+ Array As String("[B", "java.lang.int", "java.lang.int", "java.lang.int", "[I"))
+ r.target = yuvImage
+ Dim rect1 As Rect
+ rect1.Initialize(0, 0, r.RunMethod("getWidth"), r.RunMethod("getHeight"))
+ Dim out As OutputStream
+ out.InitializeToBytesArray(100)
+ r.RunMethod4("compressToJpeg", Array As Object(rect1, quality, out), _
+ Array As String("android.graphics.Rect", "java.lang.int", "java.io.OutputStream"))
+ Return out.ToBytesArray
+End Sub
+
+Public Sub GetSupportedFocusModes As List
+ r.target = parameters
+ Return r.RunMethod("getSupportedFocusModes")
+End Sub
+
+Public Sub SetContinuousAutoFocus
+ Dim modes As List = GetSupportedFocusModes
+ If modes.IndexOf("continuous-picture") > -1 Then
+ SetFocusMode("continuous-picture")
+ Else If modes.IndexOf("continuous-video") > -1 Then
+ SetFocusMode("continuous-video")
+ Else
+ Log("Continuous focus mode is not available")
+ End If
+End Sub
+
+Public Sub SetFocusMode(Mode As String)
+ r.target = parameters
+ r.RunMethod2("setFocusMode", Mode, "java.lang.String")
+End Sub
+
+Public Sub GetFocusDistances As Float()
+ Dim F(3) As Float
+ r.target = parameters
+ r.RunMethod4("getFocusDistances", Array As Object(F), Array As String("[F"))
+ Return F
+End Sub
+'This method should only be called if you need to immediately release the camera.
+'For example if you need to start another application that depends on the camera.
+Public Sub CloseNow
+ cam.Release
+ r.target = cam
+ r.RunMethod2("releaseCameras", True, "java.lang.boolean")
+End Sub
+'Calls AutoFocus and then takes the picture if focus was successfull.
+Public Sub FocusAndTakePicture
+ cam.AutoFocus
+End Sub
+Private Sub Camera_FocusDone (Success As Boolean)
+ If Success Then
+ TakePicture
+ Else
+ Log("AutoFocus error.")
+ End If
+End Sub
+
+
+
diff --git a/B4A - Copy/DBRequestManager.bas b/B4A - Copy/DBRequestManager.bas
new file mode 100644
index 0000000..af77225
--- /dev/null
+++ b/B4A - Copy/DBRequestManager.bas
@@ -0,0 +1,275 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=6.8
+@EndOfDesignText@
+'Necesita la libreria RandomAccessFile, ByteConverter
+
+'Class module
+Sub Class_Globals
+ Private mTarget As Object
+ Type DBResult (Tag As Object, Columns As Map, Rows As List)
+ Type DBCommand (Name As String, Parameters() As Object)
+ Private link As String
+ Private bc As ByteConverter
+ Private T_NULL = 0, T_STRING = 1, T_SHORT = 2, T_INT = 3, T_LONG = 4, T_FLOAT = 5 _
+ ,T_DOUBLE = 6, T_BOOLEAN = 7, T_BLOB = 8 As Byte
+ Private VERSION As Float = 0.9
+ Private tempArray(1) As Object
+ Dim jobTagAnterior As String = "" 'Mod por CHV - 211027
+End Sub
+
+'Target - The module that handles JobDone (usually Me).
+'ConnectorLink - URL of the Java server.
+Public Sub Initialize (Target As Object, ConnectorLink As String)
+ mTarget = Target
+ link = ConnectorLink
+End Sub
+
+'Sends a query request.
+'Command - Query name and parameters.
+'Limit - Maximum rows to return or 0 for no limit.
+'Tag - An object that will be returned in the result.
+Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object)
+ Dim j As HttpJob
+ Dim ms As OutputStream
+ Dim out2 As OutputStream = StartJob(j,ms, Tag)
+
+ WriteObject(Command.Name, out2)
+ WriteInt(Limit, out2)
+ WriteList(Command.Parameters, out2)
+ out2.Close
+ j.PostBytes(link & "?method=query", ms.ToBytesArray)
+End Sub
+
+'Executes a batch of (non-select) commands.
+'ListOfCommands - List of the commands that will be executes.
+'Tag - An object that will be returned in the result.
+Public Sub ExecuteBatch(ListOfCommands As List, Tag As Object)
+ Dim j As HttpJob
+ Dim ms As OutputStream
+ Dim out2 As OutputStream = StartJob(j,ms, Tag)
+ WriteInt(ListOfCommands.Size, out2)
+ For Each Command As DBCommand In ListOfCommands
+ WriteObject(Command.Name, out2)
+ WriteList(Command.Parameters, out2)
+ Next
+ out2.Close
+ j.PostBytes(link & "?method=batch", ms.ToBytesArray)
+End Sub
+
+'Similar to ExecuteBatch. Sends a single command.
+Public Sub ExecuteCommand(Command As DBCommand, Tag As Object)
+ ExecuteBatch(Array As DBCommand(Command), Tag)
+End Sub
+
+Private Sub StartJob(j As HttpJob, MemoryStream As OutputStream, Tag As Object) As OutputStream
+ j.Initialize("DBRequest", mTarget)
+ j.Tag = Tag
+ MemoryStream.InitializeToBytesArray(0)
+ Dim compress As CompressedStreams
+ Dim out As OutputStream = compress.WrapOutputStream(MemoryStream, "gzip")
+ WriteObject(VERSION, out)
+ Return out
+End Sub
+
+Private Sub WriteList(Parameters As List, out As OutputStream)
+ Dim data() As Byte
+ If Parameters = Null Or Parameters.IsInitialized = False Then
+ Dim Parameters As List
+ Parameters.Initialize
+ End If
+ data = bc.IntsToBytes(Array As Int(Parameters.Size))
+ out.WriteBytes(data, 0, data.Length)
+ For Each o As Object In Parameters
+ WriteObject(o, out)
+ Next
+End Sub
+
+Private Sub WriteObject(o As Object, out As OutputStream)
+ Dim data() As Byte
+ tempArray(0) = o
+ If tempArray(0) = Null Then
+ out.WriteBytes(Array As Byte(T_NULL), 0, 1)
+ Else If tempArray(0) Is Short Then
+ out.WriteBytes(Array As Byte(T_SHORT), 0, 1)
+ data = bc.ShortsToBytes(Array As Short(o))
+ Else If tempArray(0) Is Int Then
+ out.WriteBytes(Array As Byte(T_INT), 0, 1)
+ data = bc.IntsToBytes(Array As Int(o))
+ Else If tempArray(0) Is Float Then
+ out.WriteBytes(Array As Byte(T_FLOAT), 0, 1)
+ data = bc.FloatsToBytes(Array As Float(o))
+ Else If tempArray(0) Is Double Then
+ out.WriteBytes(Array As Byte(T_DOUBLE), 0, 1)
+ data = bc.DoublesToBytes(Array As Double(o))
+ Else If tempArray(0) Is Long Then
+ out.WriteBytes(Array As Byte(T_LONG), 0, 1)
+ data = bc.LongsToBytes(Array As Long(o))
+ Else If tempArray(0) Is Boolean Then
+ out.WriteBytes(Array As Byte(T_BOOLEAN), 0, 1)
+ Dim b As Boolean = 0
+ Dim data(1) As Byte
+ If b Then data(0) = 1 Else data(0) = 0
+ Else If GetType(tempArray(0)) = "[B" Then
+ data = o
+ out.WriteBytes(Array As Byte(T_BLOB), 0, 1)
+ WriteInt(data.Length, out)
+ Else 'If o Is String Then (treat all other values as string)
+ out.WriteBytes(Array As Byte(T_STRING), 0, 1)
+ data = bc.StringToBytes(o, "UTF8")
+ WriteInt(data.Length, out)
+ End If
+ If data.Length > 0 Then out.WriteBytes(data, 0, data.Length)
+End Sub
+
+Private Sub ReadObject(In As InputStream) As Object
+ Dim data(1) As Byte
+ In.ReadBytes(data, 0, 1)
+ Select data(0)
+ Case T_NULL
+ Return Null
+ Case T_SHORT
+ Dim data(2) As Byte
+ Return bc.ShortsFromBytes(ReadBytesFully(In, data, data.Length))(0)
+ Case T_INT
+ Dim data(4) As Byte
+ Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0)
+ Case T_LONG
+ Dim data(8) As Byte
+ Return bc.LongsFromBytes(ReadBytesFully(In, data, data.Length))(0)
+ Case T_FLOAT
+ Dim data(4) As Byte
+ Return bc.FloatsFromBytes(ReadBytesFully(In, data, data.Length))(0)
+ Case T_DOUBLE
+ Dim data(8) As Byte
+ Return bc.DoublesFromBytes(ReadBytesFully(In, data, data.Length))(0)
+ Case T_BOOLEAN
+ Dim b As Byte = ReadByte(In)
+ Return b = 1
+ Case T_BLOB
+ Dim len As Int = ReadInt(In)
+ Dim data(len) As Byte
+ Return ReadBytesFully(In, data, data.Length)
+ Case Else
+ Dim len As Int = ReadInt(In)
+ Dim data(len) As Byte
+ ReadBytesFully(In, data, data.Length)
+ Return BytesToString(data, 0, data.Length, "UTF8")
+ End Select
+End Sub
+
+Private Sub ReadBytesFully(In As InputStream, Data() As Byte, Len As Int) As Byte()
+ Dim count = 0, read As Int
+ Do While count < Len And read > -1
+ read = In.ReadBytes(Data, count, Len - count)
+ count = count + read
+ Loop
+ Return Data
+End Sub
+
+Private Sub WriteInt(i As Int, out As OutputStream)
+ Dim data() As Byte
+ data = bc.IntsToBytes(Array As Int(i))
+ out.WriteBytes(data, 0, data.Length)
+End Sub
+
+Private Sub ReadInt(In As InputStream) As Int
+ Dim data(4) As Byte
+ Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0)
+End Sub
+
+Private Sub ReadByte(In As InputStream) As Byte
+ Dim data(1) As Byte
+ In.ReadBytes(data, 0, 1)
+ Return data(0)
+End Sub
+
+'Handles the Job result and returns a DBResult.
+Public Sub HandleJob(Job As HttpJob) As DBResult
+' Dim start As Long = DateTime.Now
+ Dim In As InputStream = Job.GetInputStream
+ Dim cs As CompressedStreams
+ In = cs.WrapInputStream(In, "gzip")
+ Dim serverVersion As Float = ReadObject(In) 'ignore
+ Dim method As String = ReadObject(In)
+ Dim table As DBResult
+ table.Initialize
+ table.Columns.Initialize
+ table.rows.Initialize
+ table.Tag = Job.Tag
+ If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.Blue) 'Mod por CHV - 211023
+ jobTagAnterior = Job.Tag 'Mod por CHV - 211023
+ If method = "query" Then
+ Dim numberOfColumns As Int = ReadInt(In)
+ For i = 0 To numberOfColumns - 1
+ table.Columns.Put(ReadObject(In), i)
+ Next
+ Do While ReadByte(In) = 1
+ Dim rowObjects(numberOfColumns) As Object
+ table.rows.Add(rowObjects)
+ For col = 0 To numberOfColumns - 1
+ Dim o As Object = ReadObject(In)
+ rowObjects(col) = o
+ Next
+ Loop
+ Else If method = "batch" Then
+ table.Columns.Put("AffectedRows", 0)
+ Dim rows As Int = ReadInt(In)
+ For i = 0 To rows - 1
+ table.rows.Add(Array As Object(ReadInt(In)))
+ Next
+ End If
+ In.Close
+' Log("HandleJob: " & (DateTime.Now - start))
+ Return table
+End Sub
+'Reads a file and returns the file as a bytes array.
+Public Sub FileToBytes(Dir As String, FileName As String) As Byte()
+ Dim out As OutputStream
+ out.InitializeToBytesArray(0)
+ Dim In As InputStream = File.OpenInput(Dir, FileName)
+ File.Copy2(In, out)
+ out.Close
+ Return out.ToBytesArray
+End Sub
+
+'Converts an image to a bytes array (for BLOB fields).
+Public Sub ImageToBytes(Image As Bitmap) As Byte()
+ Dim out As OutputStream
+ out.InitializeToBytesArray(0)
+ Image.WriteToStream(out, 100, "JPEG")
+ out.Close
+ Return out.ToBytesArray
+End Sub
+
+'Converts a bytes array to an image (for BLOB fields).
+Public Sub BytesToImage(bytes() As Byte) As Bitmap
+ Dim In As InputStream
+ In.InitializeFromBytesArray(bytes, 0, bytes.Length)
+ Dim bmp As Bitmap
+ bmp.Initialize2(In)
+ Return bmp
+End Sub
+
+'Prints the table to the logs.
+Public Sub PrintTable(Table As DBResult)
+ Log("Tag: " & Table.Tag & ", Columns: " & Table.Columns.Size & ", Rows: " & Table.Rows.Size)
+ Dim sb As StringBuilder
+ sb.Initialize
+ For Each col In Table.Columns.Keys
+ sb.Append(col).Append(TAB)
+ Next
+ Log(sb.ToString)
+ For Each row() As Object In Table.Rows
+ Dim sb As StringBuilder
+ sb.Initialize
+ For Each record As Object In row
+ sb.Append(record).Append(TAB)
+ Next
+ ToastMessageShow(sb.ToString, True)
+ Next
+End Sub
+
+
\ No newline at end of file
diff --git a/B4A - Copy/Durakelo.b4a b/B4A - Copy/Durakelo.b4a
new file mode 100644
index 0000000..8145209
--- /dev/null
+++ b/B4A - Copy/Durakelo.b4a
@@ -0,0 +1,178 @@
+Build1=Default,durakelo.keymon.com.mx,HU2_PUBLIC
+File1=alcancia.png
+File10=fondo_kmt.jpg
+File11=historico.bal
+File12=itembuttonblue.png
+File13=k.png
+File14=K-b27c0809.png
+File15=kelloggs.png
+File16=login.bal
+File17=MainPage.bal
+File18=Malo.jpg
+File19=NoVenta.bal
+File2=alerta_amarilla.png
+File20=nuevocliente.bal
+File21=palomita_verde.png
+File22=planfia_logo.png
+File23=principal.bal
+File24=rechazo.jpg
+File25=salma.jpg
+File26=senial.jpg
+File27=sync.png
+File28=Tiendita.jpg
+File29=unilever.jpg
+File3=carrito.png
+File4=Cliente.bal
+File5=Clientes.bal
+File6=durakelo.png
+File7=durakelo1.png
+File8=engrane.jpg
+File9=espera.gif
+FileGroup1=Default Group
+FileGroup10=Default Group
+FileGroup11=Default Group
+FileGroup12=Default Group
+FileGroup13=Default Group
+FileGroup14=Default Group
+FileGroup15=Default Group
+FileGroup16=Default Group
+FileGroup17=Default Group
+FileGroup18=Default Group
+FileGroup19=Default Group
+FileGroup2=Default Group
+FileGroup20=Default Group
+FileGroup21=Default Group
+FileGroup22=Default Group
+FileGroup23=Default Group
+FileGroup24=Default Group
+FileGroup25=Default Group
+FileGroup26=Default Group
+FileGroup27=Default Group
+FileGroup28=Default Group
+FileGroup29=Default Group
+FileGroup3=Default Group
+FileGroup4=Default Group
+FileGroup5=Default Group
+FileGroup6=Default Group
+FileGroup7=Default Group
+FileGroup8=Default Group
+FileGroup9=Default Group
+Group=Default Group
+Library1=b4xpages
+Library10=firebasenotifications
+Library11=fusedlocationprovider
+Library12=gifdecoder
+Library13=googlemaps
+Library14=gps
+Library15=ime
+Library16=javaobject
+Library17=json
+Library18=okhttputils2
+Library19=phone
+Library2=baqrcode
+Library20=randomaccessfile
+Library21=reflection
+Library22=runtimepermissions
+Library23=serial
+Library24=sql
+Library25=xcustomlistview
+Library26=zxing_scanner
+Library27=bitmapcreator
+Library3=batteryprogressview
+Library4=byteconverter
+Library5=camera
+Library6=compressstrings
+Library7=core
+Library8=fileprovider
+Library9=firebaseanalytics
+ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~AddApplicationText(~\n~~\n~~\n~)~\n~AddManifestText()~\n~AddManifestText()~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~~\n~~\n~'/////////////// FLP y FBMessageing MOD Inicia /////////////////////~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.Crashlytics)~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'/////////////// FLP y FBMessageing MOD Termina /////////////////////~\n~~\n~'Si al cargar un mapa de google manda este error "java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion". agregar la siguiente linea:~\n~AddApplicationText()~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:exported, "true")~\n~AddManifestText()
+Module1=B4XMainPage
+Module10=EscPosPrinter
+Module11=FirebaseMessaging
+Module12=kms_helperSubs
+Module13=ManageExternalStorage
+Module14=Starter
+Module15=Tracker
+Module2=BatteryUtilities
+Module3=C_Cliente
+Module4=C_Clientes
+Module5=C_Historico
+Module6=C_Nota
+Module7=C_NoVenta
+Module8=C_Principal
+Module9=DBRequestManager
+NumberOfFiles=29
+NumberOfLibraries=27
+NumberOfModules=15
+Version=12.5
+@EndOfDesignText@
+#Region Project Attributes
+ #ApplicationLabel: Durakelo
+ #VersionCode: 1
+ #VersionName: 3.10.09
+ 'SupportedOrientations possible values: unspecified, landscape or portrait.
+ #SupportedOrientations: portrait
+ #CanInstallToExternalStorage: False
+ #AdditionalJar: com.android.support:support-v4
+ #AdditionalJar: com.google.android.gms:play-services-location
+#End Region
+
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: True
+#End Region
+
+'#BridgeLogger: True
+
+Sub Process_Globals
+ Public ActionBarHomeClicked As Boolean
+End Sub
+
+Sub Globals
+
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ Dim pm As B4XPagesManager
+ pm.Initialize(Activity)
+End Sub
+
+'Template version: B4A-1.01
+#Region Delegates
+
+Sub Activity_ActionBarHomeClick
+ ActionBarHomeClicked = True
+ B4XPages.Delegate.Activity_ActionBarHomeClick
+ ActionBarHomeClicked = False
+End Sub
+
+Sub Activity_KeyPress (KeyCode As Int) As Boolean
+ Return B4XPages.Delegate.Activity_KeyPress(KeyCode)
+End Sub
+
+Sub Activity_Resume
+ B4XPages.Delegate.Activity_Resume
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+ B4XPages.Delegate.Activity_Pause
+End Sub
+
+Sub Activity_PermissionResult (Permission As String, Result As Boolean)
+ B4XPages.Delegate.Activity_PermissionResult(Permission, Result)
+End Sub
+
+Sub Create_Menu (Menu As Object)
+ B4XPages.Delegate.Create_Menu(Menu)
+End Sub
+
+#if Java
+public boolean _onCreateOptionsMenu(android.view.Menu menu) {
+ processBA.raiseEvent(null, "create_menu", menu);
+ return true;
+
+}
+#End If
+#End Region
+
+'Program code should go into B4XMainPage and other pages.
\ No newline at end of file
diff --git a/B4A - Copy/Durakelo.b4a.meta b/B4A - Copy/Durakelo.b4a.meta
new file mode 100644
index 0000000..fc489ce
--- /dev/null
+++ b/B4A - Copy/Durakelo.b4a.meta
@@ -0,0 +1,51 @@
+ModuleBookmarks0=
+ModuleBookmarks1=
+ModuleBookmarks10=
+ModuleBookmarks11=
+ModuleBookmarks12=
+ModuleBookmarks13=
+ModuleBookmarks14=
+ModuleBookmarks15=
+ModuleBookmarks2=
+ModuleBookmarks3=
+ModuleBookmarks4=
+ModuleBookmarks5=
+ModuleBookmarks6=
+ModuleBookmarks7=
+ModuleBookmarks8=
+ModuleBookmarks9=
+ModuleBreakpoints0=
+ModuleBreakpoints1=
+ModuleBreakpoints10=
+ModuleBreakpoints11=
+ModuleBreakpoints12=
+ModuleBreakpoints13=
+ModuleBreakpoints14=
+ModuleBreakpoints15=
+ModuleBreakpoints2=
+ModuleBreakpoints3=
+ModuleBreakpoints4=
+ModuleBreakpoints5=
+ModuleBreakpoints6=
+ModuleBreakpoints7=
+ModuleBreakpoints8=
+ModuleBreakpoints9=
+ModuleClosedNodes0=
+ModuleClosedNodes1=
+ModuleClosedNodes10=
+ModuleClosedNodes11=
+ModuleClosedNodes12=
+ModuleClosedNodes13=
+ModuleClosedNodes14=1
+ModuleClosedNodes15=
+ModuleClosedNodes2=
+ModuleClosedNodes3=
+ModuleClosedNodes4=
+ModuleClosedNodes5=
+ModuleClosedNodes6=
+ModuleClosedNodes7=
+ModuleClosedNodes8=
+ModuleClosedNodes9=
+NavigationStack=C_Cliente,Tels_Click,306,0,C_Cliente,B_INV_Click,875,0,C_Cliente,B_IMP_Click,447,0,C_Cliente,B_IMP2_Click,670,0,C_Cliente,Guardar_Click,353,5,C_NoVenta,CANCELA_Click,52,1,C_NoVenta,GUARDA_Click,62,6,C_Cliente,initialize,131,0,Visual Designer,Cliente.bal,-100,6,C_Cliente,B4XPage_Created,162,6
+SelectedBuild=0
+VisibleModules=14,1,8,12,6,3,7
diff --git a/B4A/EscPosPrinter.bas b/B4A - Copy/EscPosPrinter.bas
similarity index 100%
rename from B4A/EscPosPrinter.bas
rename to B4A - Copy/EscPosPrinter.bas
diff --git a/B4A/Files/alcancia.png b/B4A - Copy/Files/alcancia.png
similarity index 100%
rename from B4A/Files/alcancia.png
rename to B4A - Copy/Files/alcancia.png
diff --git a/B4A/Files/alert2.png b/B4A - Copy/Files/alert2.png
similarity index 100%
rename from B4A/Files/alert2.png
rename to B4A - Copy/Files/alert2.png
diff --git a/B4A/Files/alerta.jpg b/B4A - Copy/Files/alerta.jpg
similarity index 100%
rename from B4A/Files/alerta.jpg
rename to B4A - Copy/Files/alerta.jpg
diff --git a/B4A/Files/alerta_amarilla.png b/B4A - Copy/Files/alerta_amarilla.png
similarity index 100%
rename from B4A/Files/alerta_amarilla.png
rename to B4A - Copy/Files/alerta_amarilla.png
diff --git a/B4A/Files/amarillo.png b/B4A - Copy/Files/amarillo.png
similarity index 100%
rename from B4A/Files/amarillo.png
rename to B4A - Copy/Files/amarillo.png
diff --git a/B4A/Files/anterior.jpg b/B4A - Copy/Files/anterior.jpg
similarity index 100%
rename from B4A/Files/anterior.jpg
rename to B4A - Copy/Files/anterior.jpg
diff --git a/B4A - Copy/Files/buscar.bal b/B4A - Copy/Files/buscar.bal
new file mode 100644
index 0000000..d40f58f
Binary files /dev/null and b/B4A - Copy/Files/buscar.bal differ
diff --git a/B4A/Files/carrito.png b/B4A - Copy/Files/carrito.png
similarity index 100%
rename from B4A/Files/carrito.png
rename to B4A - Copy/Files/carrito.png
diff --git a/B4A - Copy/Files/celltitle.bal b/B4A - Copy/Files/celltitle.bal
new file mode 100644
index 0000000..ecdae05
Binary files /dev/null and b/B4A - Copy/Files/celltitle.bal differ
diff --git a/B4A - Copy/Files/cliente.bal b/B4A - Copy/Files/cliente.bal
new file mode 100644
index 0000000..932e004
Binary files /dev/null and b/B4A - Copy/Files/cliente.bal differ
diff --git a/B4A - Copy/Files/clientes.bal b/B4A - Copy/Files/clientes.bal
new file mode 100644
index 0000000..6628403
Binary files /dev/null and b/B4A - Copy/Files/clientes.bal differ
diff --git a/B4A - Copy/Files/detalle_promo.bal b/B4A - Copy/Files/detalle_promo.bal
new file mode 100644
index 0000000..c8d6b01
Binary files /dev/null and b/B4A - Copy/Files/detalle_promo.bal differ
diff --git a/B4A/Files/durakelo.png b/B4A - Copy/Files/durakelo.png
similarity index 100%
rename from B4A/Files/durakelo.png
rename to B4A - Copy/Files/durakelo.png
diff --git a/B4A/Files/durakelo1.png b/B4A - Copy/Files/durakelo1.png
similarity index 100%
rename from B4A/Files/durakelo1.png
rename to B4A - Copy/Files/durakelo1.png
diff --git a/B4A - Copy/Files/durakelo_192x192.png b/B4A - Copy/Files/durakelo_192x192.png
new file mode 100644
index 0000000..c1e7bb7
Binary files /dev/null and b/B4A - Copy/Files/durakelo_192x192.png differ
diff --git a/B4A/Files/engrane.jpg b/B4A - Copy/Files/engrane.jpg
similarity index 100%
rename from B4A/Files/engrane.jpg
rename to B4A - Copy/Files/engrane.jpg
diff --git a/B4A - Copy/Files/engrane3.png b/B4A - Copy/Files/engrane3.png
new file mode 100644
index 0000000..2bd5fa0
Binary files /dev/null and b/B4A - Copy/Files/engrane3.png differ
diff --git a/B4A - Copy/Files/espera.gif b/B4A - Copy/Files/espera.gif
new file mode 100644
index 0000000..605679f
Binary files /dev/null and b/B4A - Copy/Files/espera.gif differ
diff --git a/B4A/Files/fondo_kmt.jpg b/B4A - Copy/Files/fondo_kmt.jpg
similarity index 100%
rename from B4A/Files/fondo_kmt.jpg
rename to B4A - Copy/Files/fondo_kmt.jpg
diff --git a/B4A - Copy/Files/foto.bal b/B4A - Copy/Files/foto.bal
new file mode 100644
index 0000000..3476c4d
Binary files /dev/null and b/B4A - Copy/Files/foto.bal differ
diff --git a/B4A - Copy/Files/guardagestion.bal b/B4A - Copy/Files/guardagestion.bal
new file mode 100644
index 0000000..6272b4e
Binary files /dev/null and b/B4A - Copy/Files/guardagestion.bal differ
diff --git a/B4A/Files/guna_viejo.png b/B4A - Copy/Files/guna_viejo.png
similarity index 100%
rename from B4A/Files/guna_viejo.png
rename to B4A - Copy/Files/guna_viejo.png
diff --git a/B4A - Copy/Files/historico.bal b/B4A - Copy/Files/historico.bal
new file mode 100644
index 0000000..f8786e7
Binary files /dev/null and b/B4A - Copy/Files/historico.bal differ
diff --git a/B4A/Files/infonavit1.jpg b/B4A - Copy/Files/infonavit1.jpg
similarity index 100%
rename from B4A/Files/infonavit1.jpg
rename to B4A - Copy/Files/infonavit1.jpg
diff --git a/B4A/Files/itembuttonblue.png b/B4A - Copy/Files/itembuttonblue.png
similarity index 100%
rename from B4A/Files/itembuttonblue.png
rename to B4A - Copy/Files/itembuttonblue.png
diff --git a/B4A - Copy/Files/k.png b/B4A - Copy/Files/k.png
new file mode 100644
index 0000000..065a070
Binary files /dev/null and b/B4A - Copy/Files/k.png differ
diff --git a/B4A - Copy/Files/kelloggs.png b/B4A - Copy/Files/kelloggs.png
new file mode 100644
index 0000000..4debf15
Binary files /dev/null and b/B4A - Copy/Files/kelloggs.png differ
diff --git a/B4A/Files/keymon_logo.png b/B4A - Copy/Files/keymon_logo.png
similarity index 100%
rename from B4A/Files/keymon_logo.png
rename to B4A - Copy/Files/keymon_logo.png
diff --git a/B4A - Copy/Files/kmt.db b/B4A - Copy/Files/kmt.db
new file mode 100644
index 0000000..de4ec5a
Binary files /dev/null and b/B4A - Copy/Files/kmt.db differ
diff --git a/B4A - Copy/Files/login.bal b/B4A - Copy/Files/login.bal
new file mode 100644
index 0000000..57df977
Binary files /dev/null and b/B4A - Copy/Files/login.bal differ
diff --git a/B4A/Files/logo sanfer.jpg b/B4A - Copy/Files/logo sanfer.jpg
similarity index 100%
rename from B4A/Files/logo sanfer.jpg
rename to B4A - Copy/Files/logo sanfer.jpg
diff --git a/B4A/Files/logo_exitus1.jpg b/B4A - Copy/Files/logo_exitus1.jpg
similarity index 100%
rename from B4A/Files/logo_exitus1.jpg
rename to B4A - Copy/Files/logo_exitus1.jpg
diff --git a/B4A/Files/mainpage.bal b/B4A - Copy/Files/mainpage.bal
similarity index 100%
rename from B4A/Files/mainpage.bal
rename to B4A - Copy/Files/mainpage.bal
diff --git a/B4A/Files/malo.jpg b/B4A - Copy/Files/malo.jpg
similarity index 100%
rename from B4A/Files/malo.jpg
rename to B4A - Copy/Files/malo.jpg
diff --git a/B4A - Copy/Files/mapa.bal b/B4A - Copy/Files/mapa.bal
new file mode 100644
index 0000000..7ed1bb4
Binary files /dev/null and b/B4A - Copy/Files/mapa.bal differ
diff --git a/B4A - Copy/Files/mapa_rutas.bal b/B4A - Copy/Files/mapa_rutas.bal
new file mode 100644
index 0000000..da1d154
Binary files /dev/null and b/B4A - Copy/Files/mapa_rutas.bal differ
diff --git a/B4A/Files/marker-azul-0.png b/B4A - Copy/Files/marker-azul-0.png
similarity index 100%
rename from B4A/Files/marker-azul-0.png
rename to B4A - Copy/Files/marker-azul-0.png
diff --git a/B4A/Files/marker-azul-1.png b/B4A - Copy/Files/marker-azul-1.png
similarity index 100%
rename from B4A/Files/marker-azul-1.png
rename to B4A - Copy/Files/marker-azul-1.png
diff --git a/B4A/Files/marker-azul-10.png b/B4A - Copy/Files/marker-azul-10.png
similarity index 100%
rename from B4A/Files/marker-azul-10.png
rename to B4A - Copy/Files/marker-azul-10.png
diff --git a/B4A/Files/marker-azul-100.png b/B4A - Copy/Files/marker-azul-100.png
similarity index 100%
rename from B4A/Files/marker-azul-100.png
rename to B4A - Copy/Files/marker-azul-100.png
diff --git a/B4A/Files/marker-azul-11.png b/B4A - Copy/Files/marker-azul-11.png
similarity index 100%
rename from B4A/Files/marker-azul-11.png
rename to B4A - Copy/Files/marker-azul-11.png
diff --git a/B4A/Files/marker-azul-12.png b/B4A - Copy/Files/marker-azul-12.png
similarity index 100%
rename from B4A/Files/marker-azul-12.png
rename to B4A - Copy/Files/marker-azul-12.png
diff --git a/B4A/Files/marker-azul-13.png b/B4A - Copy/Files/marker-azul-13.png
similarity index 100%
rename from B4A/Files/marker-azul-13.png
rename to B4A - Copy/Files/marker-azul-13.png
diff --git a/B4A/Files/marker-azul-14.png b/B4A - Copy/Files/marker-azul-14.png
similarity index 100%
rename from B4A/Files/marker-azul-14.png
rename to B4A - Copy/Files/marker-azul-14.png
diff --git a/B4A/Files/marker-azul-15.png b/B4A - Copy/Files/marker-azul-15.png
similarity index 100%
rename from B4A/Files/marker-azul-15.png
rename to B4A - Copy/Files/marker-azul-15.png
diff --git a/B4A/Files/marker-azul-16.png b/B4A - Copy/Files/marker-azul-16.png
similarity index 100%
rename from B4A/Files/marker-azul-16.png
rename to B4A - Copy/Files/marker-azul-16.png
diff --git a/B4A/Files/marker-azul-17.png b/B4A - Copy/Files/marker-azul-17.png
similarity index 100%
rename from B4A/Files/marker-azul-17.png
rename to B4A - Copy/Files/marker-azul-17.png
diff --git a/B4A/Files/marker-azul-18.png b/B4A - Copy/Files/marker-azul-18.png
similarity index 100%
rename from B4A/Files/marker-azul-18.png
rename to B4A - Copy/Files/marker-azul-18.png
diff --git a/B4A/Files/marker-azul-19.png b/B4A - Copy/Files/marker-azul-19.png
similarity index 100%
rename from B4A/Files/marker-azul-19.png
rename to B4A - Copy/Files/marker-azul-19.png
diff --git a/B4A/Files/marker-azul-2.png b/B4A - Copy/Files/marker-azul-2.png
similarity index 100%
rename from B4A/Files/marker-azul-2.png
rename to B4A - Copy/Files/marker-azul-2.png
diff --git a/B4A/Files/marker-azul-20.png b/B4A - Copy/Files/marker-azul-20.png
similarity index 100%
rename from B4A/Files/marker-azul-20.png
rename to B4A - Copy/Files/marker-azul-20.png
diff --git a/B4A/Files/marker-azul-21.png b/B4A - Copy/Files/marker-azul-21.png
similarity index 100%
rename from B4A/Files/marker-azul-21.png
rename to B4A - Copy/Files/marker-azul-21.png
diff --git a/B4A/Files/marker-azul-22.png b/B4A - Copy/Files/marker-azul-22.png
similarity index 100%
rename from B4A/Files/marker-azul-22.png
rename to B4A - Copy/Files/marker-azul-22.png
diff --git a/B4A/Files/marker-azul-23.png b/B4A - Copy/Files/marker-azul-23.png
similarity index 100%
rename from B4A/Files/marker-azul-23.png
rename to B4A - Copy/Files/marker-azul-23.png
diff --git a/B4A/Files/marker-azul-24.png b/B4A - Copy/Files/marker-azul-24.png
similarity index 100%
rename from B4A/Files/marker-azul-24.png
rename to B4A - Copy/Files/marker-azul-24.png
diff --git a/B4A/Files/marker-azul-25.png b/B4A - Copy/Files/marker-azul-25.png
similarity index 100%
rename from B4A/Files/marker-azul-25.png
rename to B4A - Copy/Files/marker-azul-25.png
diff --git a/B4A/Files/marker-azul-26.png b/B4A - Copy/Files/marker-azul-26.png
similarity index 100%
rename from B4A/Files/marker-azul-26.png
rename to B4A - Copy/Files/marker-azul-26.png
diff --git a/B4A/Files/marker-azul-27.png b/B4A - Copy/Files/marker-azul-27.png
similarity index 100%
rename from B4A/Files/marker-azul-27.png
rename to B4A - Copy/Files/marker-azul-27.png
diff --git a/B4A/Files/marker-azul-28.png b/B4A - Copy/Files/marker-azul-28.png
similarity index 100%
rename from B4A/Files/marker-azul-28.png
rename to B4A - Copy/Files/marker-azul-28.png
diff --git a/B4A/Files/marker-azul-29.png b/B4A - Copy/Files/marker-azul-29.png
similarity index 100%
rename from B4A/Files/marker-azul-29.png
rename to B4A - Copy/Files/marker-azul-29.png
diff --git a/B4A/Files/marker-azul-3.png b/B4A - Copy/Files/marker-azul-3.png
similarity index 100%
rename from B4A/Files/marker-azul-3.png
rename to B4A - Copy/Files/marker-azul-3.png
diff --git a/B4A/Files/marker-azul-30.png b/B4A - Copy/Files/marker-azul-30.png
similarity index 100%
rename from B4A/Files/marker-azul-30.png
rename to B4A - Copy/Files/marker-azul-30.png
diff --git a/B4A/Files/marker-azul-31.png b/B4A - Copy/Files/marker-azul-31.png
similarity index 100%
rename from B4A/Files/marker-azul-31.png
rename to B4A - Copy/Files/marker-azul-31.png
diff --git a/B4A/Files/marker-azul-32.png b/B4A - Copy/Files/marker-azul-32.png
similarity index 100%
rename from B4A/Files/marker-azul-32.png
rename to B4A - Copy/Files/marker-azul-32.png
diff --git a/B4A/Files/marker-azul-33.png b/B4A - Copy/Files/marker-azul-33.png
similarity index 100%
rename from B4A/Files/marker-azul-33.png
rename to B4A - Copy/Files/marker-azul-33.png
diff --git a/B4A/Files/marker-azul-34.png b/B4A - Copy/Files/marker-azul-34.png
similarity index 100%
rename from B4A/Files/marker-azul-34.png
rename to B4A - Copy/Files/marker-azul-34.png
diff --git a/B4A/Files/marker-azul-35.png b/B4A - Copy/Files/marker-azul-35.png
similarity index 100%
rename from B4A/Files/marker-azul-35.png
rename to B4A - Copy/Files/marker-azul-35.png
diff --git a/B4A/Files/marker-azul-36.png b/B4A - Copy/Files/marker-azul-36.png
similarity index 100%
rename from B4A/Files/marker-azul-36.png
rename to B4A - Copy/Files/marker-azul-36.png
diff --git a/B4A/Files/marker-azul-37.png b/B4A - Copy/Files/marker-azul-37.png
similarity index 100%
rename from B4A/Files/marker-azul-37.png
rename to B4A - Copy/Files/marker-azul-37.png
diff --git a/B4A/Files/marker-azul-38.png b/B4A - Copy/Files/marker-azul-38.png
similarity index 100%
rename from B4A/Files/marker-azul-38.png
rename to B4A - Copy/Files/marker-azul-38.png
diff --git a/B4A/Files/marker-azul-39.png b/B4A - Copy/Files/marker-azul-39.png
similarity index 100%
rename from B4A/Files/marker-azul-39.png
rename to B4A - Copy/Files/marker-azul-39.png
diff --git a/B4A/Files/marker-azul-4.png b/B4A - Copy/Files/marker-azul-4.png
similarity index 100%
rename from B4A/Files/marker-azul-4.png
rename to B4A - Copy/Files/marker-azul-4.png
diff --git a/B4A/Files/marker-azul-40.png b/B4A - Copy/Files/marker-azul-40.png
similarity index 100%
rename from B4A/Files/marker-azul-40.png
rename to B4A - Copy/Files/marker-azul-40.png
diff --git a/B4A/Files/marker-azul-41.png b/B4A - Copy/Files/marker-azul-41.png
similarity index 100%
rename from B4A/Files/marker-azul-41.png
rename to B4A - Copy/Files/marker-azul-41.png
diff --git a/B4A/Files/marker-azul-42.png b/B4A - Copy/Files/marker-azul-42.png
similarity index 100%
rename from B4A/Files/marker-azul-42.png
rename to B4A - Copy/Files/marker-azul-42.png
diff --git a/B4A/Files/marker-azul-43.png b/B4A - Copy/Files/marker-azul-43.png
similarity index 100%
rename from B4A/Files/marker-azul-43.png
rename to B4A - Copy/Files/marker-azul-43.png
diff --git a/B4A/Files/marker-azul-44.png b/B4A - Copy/Files/marker-azul-44.png
similarity index 100%
rename from B4A/Files/marker-azul-44.png
rename to B4A - Copy/Files/marker-azul-44.png
diff --git a/B4A/Files/marker-azul-45.png b/B4A - Copy/Files/marker-azul-45.png
similarity index 100%
rename from B4A/Files/marker-azul-45.png
rename to B4A - Copy/Files/marker-azul-45.png
diff --git a/B4A/Files/marker-azul-46.png b/B4A - Copy/Files/marker-azul-46.png
similarity index 100%
rename from B4A/Files/marker-azul-46.png
rename to B4A - Copy/Files/marker-azul-46.png
diff --git a/B4A/Files/marker-azul-47.png b/B4A - Copy/Files/marker-azul-47.png
similarity index 100%
rename from B4A/Files/marker-azul-47.png
rename to B4A - Copy/Files/marker-azul-47.png
diff --git a/B4A/Files/marker-azul-48.png b/B4A - Copy/Files/marker-azul-48.png
similarity index 100%
rename from B4A/Files/marker-azul-48.png
rename to B4A - Copy/Files/marker-azul-48.png
diff --git a/B4A/Files/marker-azul-49.png b/B4A - Copy/Files/marker-azul-49.png
similarity index 100%
rename from B4A/Files/marker-azul-49.png
rename to B4A - Copy/Files/marker-azul-49.png
diff --git a/B4A/Files/marker-azul-5.png b/B4A - Copy/Files/marker-azul-5.png
similarity index 100%
rename from B4A/Files/marker-azul-5.png
rename to B4A - Copy/Files/marker-azul-5.png
diff --git a/B4A/Files/marker-azul-50.png b/B4A - Copy/Files/marker-azul-50.png
similarity index 100%
rename from B4A/Files/marker-azul-50.png
rename to B4A - Copy/Files/marker-azul-50.png
diff --git a/B4A/Files/marker-azul-51.png b/B4A - Copy/Files/marker-azul-51.png
similarity index 100%
rename from B4A/Files/marker-azul-51.png
rename to B4A - Copy/Files/marker-azul-51.png
diff --git a/B4A/Files/marker-azul-52.png b/B4A - Copy/Files/marker-azul-52.png
similarity index 100%
rename from B4A/Files/marker-azul-52.png
rename to B4A - Copy/Files/marker-azul-52.png
diff --git a/B4A/Files/marker-azul-53.png b/B4A - Copy/Files/marker-azul-53.png
similarity index 100%
rename from B4A/Files/marker-azul-53.png
rename to B4A - Copy/Files/marker-azul-53.png
diff --git a/B4A/Files/marker-azul-54.png b/B4A - Copy/Files/marker-azul-54.png
similarity index 100%
rename from B4A/Files/marker-azul-54.png
rename to B4A - Copy/Files/marker-azul-54.png
diff --git a/B4A/Files/marker-azul-55.png b/B4A - Copy/Files/marker-azul-55.png
similarity index 100%
rename from B4A/Files/marker-azul-55.png
rename to B4A - Copy/Files/marker-azul-55.png
diff --git a/B4A/Files/marker-azul-56.png b/B4A - Copy/Files/marker-azul-56.png
similarity index 100%
rename from B4A/Files/marker-azul-56.png
rename to B4A - Copy/Files/marker-azul-56.png
diff --git a/B4A/Files/marker-azul-57.png b/B4A - Copy/Files/marker-azul-57.png
similarity index 100%
rename from B4A/Files/marker-azul-57.png
rename to B4A - Copy/Files/marker-azul-57.png
diff --git a/B4A/Files/marker-azul-58.png b/B4A - Copy/Files/marker-azul-58.png
similarity index 100%
rename from B4A/Files/marker-azul-58.png
rename to B4A - Copy/Files/marker-azul-58.png
diff --git a/B4A/Files/marker-azul-59.png b/B4A - Copy/Files/marker-azul-59.png
similarity index 100%
rename from B4A/Files/marker-azul-59.png
rename to B4A - Copy/Files/marker-azul-59.png
diff --git a/B4A/Files/marker-azul-6.png b/B4A - Copy/Files/marker-azul-6.png
similarity index 100%
rename from B4A/Files/marker-azul-6.png
rename to B4A - Copy/Files/marker-azul-6.png
diff --git a/B4A/Files/marker-azul-60.png b/B4A - Copy/Files/marker-azul-60.png
similarity index 100%
rename from B4A/Files/marker-azul-60.png
rename to B4A - Copy/Files/marker-azul-60.png
diff --git a/B4A/Files/marker-azul-61.png b/B4A - Copy/Files/marker-azul-61.png
similarity index 100%
rename from B4A/Files/marker-azul-61.png
rename to B4A - Copy/Files/marker-azul-61.png
diff --git a/B4A/Files/marker-azul-62.png b/B4A - Copy/Files/marker-azul-62.png
similarity index 100%
rename from B4A/Files/marker-azul-62.png
rename to B4A - Copy/Files/marker-azul-62.png
diff --git a/B4A/Files/marker-azul-63.png b/B4A - Copy/Files/marker-azul-63.png
similarity index 100%
rename from B4A/Files/marker-azul-63.png
rename to B4A - Copy/Files/marker-azul-63.png
diff --git a/B4A/Files/marker-azul-64.png b/B4A - Copy/Files/marker-azul-64.png
similarity index 100%
rename from B4A/Files/marker-azul-64.png
rename to B4A - Copy/Files/marker-azul-64.png
diff --git a/B4A/Files/marker-azul-65.png b/B4A - Copy/Files/marker-azul-65.png
similarity index 100%
rename from B4A/Files/marker-azul-65.png
rename to B4A - Copy/Files/marker-azul-65.png
diff --git a/B4A/Files/marker-azul-66.png b/B4A - Copy/Files/marker-azul-66.png
similarity index 100%
rename from B4A/Files/marker-azul-66.png
rename to B4A - Copy/Files/marker-azul-66.png
diff --git a/B4A/Files/marker-azul-67.png b/B4A - Copy/Files/marker-azul-67.png
similarity index 100%
rename from B4A/Files/marker-azul-67.png
rename to B4A - Copy/Files/marker-azul-67.png
diff --git a/B4A/Files/marker-azul-68.png b/B4A - Copy/Files/marker-azul-68.png
similarity index 100%
rename from B4A/Files/marker-azul-68.png
rename to B4A - Copy/Files/marker-azul-68.png
diff --git a/B4A/Files/marker-azul-69.png b/B4A - Copy/Files/marker-azul-69.png
similarity index 100%
rename from B4A/Files/marker-azul-69.png
rename to B4A - Copy/Files/marker-azul-69.png
diff --git a/B4A/Files/marker-azul-7.png b/B4A - Copy/Files/marker-azul-7.png
similarity index 100%
rename from B4A/Files/marker-azul-7.png
rename to B4A - Copy/Files/marker-azul-7.png
diff --git a/B4A/Files/marker-azul-70.png b/B4A - Copy/Files/marker-azul-70.png
similarity index 100%
rename from B4A/Files/marker-azul-70.png
rename to B4A - Copy/Files/marker-azul-70.png
diff --git a/B4A/Files/marker-azul-71.png b/B4A - Copy/Files/marker-azul-71.png
similarity index 100%
rename from B4A/Files/marker-azul-71.png
rename to B4A - Copy/Files/marker-azul-71.png
diff --git a/B4A/Files/marker-azul-72.png b/B4A - Copy/Files/marker-azul-72.png
similarity index 100%
rename from B4A/Files/marker-azul-72.png
rename to B4A - Copy/Files/marker-azul-72.png
diff --git a/B4A/Files/marker-azul-73.png b/B4A - Copy/Files/marker-azul-73.png
similarity index 100%
rename from B4A/Files/marker-azul-73.png
rename to B4A - Copy/Files/marker-azul-73.png
diff --git a/B4A/Files/marker-azul-74.png b/B4A - Copy/Files/marker-azul-74.png
similarity index 100%
rename from B4A/Files/marker-azul-74.png
rename to B4A - Copy/Files/marker-azul-74.png
diff --git a/B4A/Files/marker-azul-75.png b/B4A - Copy/Files/marker-azul-75.png
similarity index 100%
rename from B4A/Files/marker-azul-75.png
rename to B4A - Copy/Files/marker-azul-75.png
diff --git a/B4A/Files/marker-azul-76.png b/B4A - Copy/Files/marker-azul-76.png
similarity index 100%
rename from B4A/Files/marker-azul-76.png
rename to B4A - Copy/Files/marker-azul-76.png
diff --git a/B4A/Files/marker-azul-77.png b/B4A - Copy/Files/marker-azul-77.png
similarity index 100%
rename from B4A/Files/marker-azul-77.png
rename to B4A - Copy/Files/marker-azul-77.png
diff --git a/B4A/Files/marker-azul-78.png b/B4A - Copy/Files/marker-azul-78.png
similarity index 100%
rename from B4A/Files/marker-azul-78.png
rename to B4A - Copy/Files/marker-azul-78.png
diff --git a/B4A/Files/marker-azul-79.png b/B4A - Copy/Files/marker-azul-79.png
similarity index 100%
rename from B4A/Files/marker-azul-79.png
rename to B4A - Copy/Files/marker-azul-79.png
diff --git a/B4A/Files/marker-azul-8.png b/B4A - Copy/Files/marker-azul-8.png
similarity index 100%
rename from B4A/Files/marker-azul-8.png
rename to B4A - Copy/Files/marker-azul-8.png
diff --git a/B4A/Files/marker-azul-80.png b/B4A - Copy/Files/marker-azul-80.png
similarity index 100%
rename from B4A/Files/marker-azul-80.png
rename to B4A - Copy/Files/marker-azul-80.png
diff --git a/B4A/Files/marker-azul-81.png b/B4A - Copy/Files/marker-azul-81.png
similarity index 100%
rename from B4A/Files/marker-azul-81.png
rename to B4A - Copy/Files/marker-azul-81.png
diff --git a/B4A/Files/marker-azul-82.png b/B4A - Copy/Files/marker-azul-82.png
similarity index 100%
rename from B4A/Files/marker-azul-82.png
rename to B4A - Copy/Files/marker-azul-82.png
diff --git a/B4A/Files/marker-azul-83.png b/B4A - Copy/Files/marker-azul-83.png
similarity index 100%
rename from B4A/Files/marker-azul-83.png
rename to B4A - Copy/Files/marker-azul-83.png
diff --git a/B4A/Files/marker-azul-84.png b/B4A - Copy/Files/marker-azul-84.png
similarity index 100%
rename from B4A/Files/marker-azul-84.png
rename to B4A - Copy/Files/marker-azul-84.png
diff --git a/B4A/Files/marker-azul-85.png b/B4A - Copy/Files/marker-azul-85.png
similarity index 100%
rename from B4A/Files/marker-azul-85.png
rename to B4A - Copy/Files/marker-azul-85.png
diff --git a/B4A/Files/marker-azul-86.png b/B4A - Copy/Files/marker-azul-86.png
similarity index 100%
rename from B4A/Files/marker-azul-86.png
rename to B4A - Copy/Files/marker-azul-86.png
diff --git a/B4A/Files/marker-azul-87.png b/B4A - Copy/Files/marker-azul-87.png
similarity index 100%
rename from B4A/Files/marker-azul-87.png
rename to B4A - Copy/Files/marker-azul-87.png
diff --git a/B4A/Files/marker-azul-88.png b/B4A - Copy/Files/marker-azul-88.png
similarity index 100%
rename from B4A/Files/marker-azul-88.png
rename to B4A - Copy/Files/marker-azul-88.png
diff --git a/B4A/Files/marker-azul-89.png b/B4A - Copy/Files/marker-azul-89.png
similarity index 100%
rename from B4A/Files/marker-azul-89.png
rename to B4A - Copy/Files/marker-azul-89.png
diff --git a/B4A/Files/marker-azul-9.png b/B4A - Copy/Files/marker-azul-9.png
similarity index 100%
rename from B4A/Files/marker-azul-9.png
rename to B4A - Copy/Files/marker-azul-9.png
diff --git a/B4A/Files/marker-azul-90.png b/B4A - Copy/Files/marker-azul-90.png
similarity index 100%
rename from B4A/Files/marker-azul-90.png
rename to B4A - Copy/Files/marker-azul-90.png
diff --git a/B4A/Files/marker-azul-91.png b/B4A - Copy/Files/marker-azul-91.png
similarity index 100%
rename from B4A/Files/marker-azul-91.png
rename to B4A - Copy/Files/marker-azul-91.png
diff --git a/B4A/Files/marker-azul-92.png b/B4A - Copy/Files/marker-azul-92.png
similarity index 100%
rename from B4A/Files/marker-azul-92.png
rename to B4A - Copy/Files/marker-azul-92.png
diff --git a/B4A/Files/marker-azul-93.png b/B4A - Copy/Files/marker-azul-93.png
similarity index 100%
rename from B4A/Files/marker-azul-93.png
rename to B4A - Copy/Files/marker-azul-93.png
diff --git a/B4A/Files/marker-azul-94.png b/B4A - Copy/Files/marker-azul-94.png
similarity index 100%
rename from B4A/Files/marker-azul-94.png
rename to B4A - Copy/Files/marker-azul-94.png
diff --git a/B4A/Files/marker-azul-95.png b/B4A - Copy/Files/marker-azul-95.png
similarity index 100%
rename from B4A/Files/marker-azul-95.png
rename to B4A - Copy/Files/marker-azul-95.png
diff --git a/B4A/Files/marker-azul-96.png b/B4A - Copy/Files/marker-azul-96.png
similarity index 100%
rename from B4A/Files/marker-azul-96.png
rename to B4A - Copy/Files/marker-azul-96.png
diff --git a/B4A/Files/marker-azul-97.png b/B4A - Copy/Files/marker-azul-97.png
similarity index 100%
rename from B4A/Files/marker-azul-97.png
rename to B4A - Copy/Files/marker-azul-97.png
diff --git a/B4A/Files/marker-azul-98.png b/B4A - Copy/Files/marker-azul-98.png
similarity index 100%
rename from B4A/Files/marker-azul-98.png
rename to B4A - Copy/Files/marker-azul-98.png
diff --git a/B4A/Files/marker-azul-99.png b/B4A - Copy/Files/marker-azul-99.png
similarity index 100%
rename from B4A/Files/marker-azul-99.png
rename to B4A - Copy/Files/marker-azul-99.png
diff --git a/B4A/Files/marker-rojo-0.png b/B4A - Copy/Files/marker-rojo-0.png
similarity index 100%
rename from B4A/Files/marker-rojo-0.png
rename to B4A - Copy/Files/marker-rojo-0.png
diff --git a/B4A/Files/marker-rojo-1.png b/B4A - Copy/Files/marker-rojo-1.png
similarity index 100%
rename from B4A/Files/marker-rojo-1.png
rename to B4A - Copy/Files/marker-rojo-1.png
diff --git a/B4A/Files/marker-rojo-10.png b/B4A - Copy/Files/marker-rojo-10.png
similarity index 100%
rename from B4A/Files/marker-rojo-10.png
rename to B4A - Copy/Files/marker-rojo-10.png
diff --git a/B4A/Files/marker-rojo-100.png b/B4A - Copy/Files/marker-rojo-100.png
similarity index 100%
rename from B4A/Files/marker-rojo-100.png
rename to B4A - Copy/Files/marker-rojo-100.png
diff --git a/B4A/Files/marker-rojo-11.png b/B4A - Copy/Files/marker-rojo-11.png
similarity index 100%
rename from B4A/Files/marker-rojo-11.png
rename to B4A - Copy/Files/marker-rojo-11.png
diff --git a/B4A/Files/marker-rojo-12.png b/B4A - Copy/Files/marker-rojo-12.png
similarity index 100%
rename from B4A/Files/marker-rojo-12.png
rename to B4A - Copy/Files/marker-rojo-12.png
diff --git a/B4A/Files/marker-rojo-13.png b/B4A - Copy/Files/marker-rojo-13.png
similarity index 100%
rename from B4A/Files/marker-rojo-13.png
rename to B4A - Copy/Files/marker-rojo-13.png
diff --git a/B4A/Files/marker-rojo-14.png b/B4A - Copy/Files/marker-rojo-14.png
similarity index 100%
rename from B4A/Files/marker-rojo-14.png
rename to B4A - Copy/Files/marker-rojo-14.png
diff --git a/B4A/Files/marker-rojo-15.png b/B4A - Copy/Files/marker-rojo-15.png
similarity index 100%
rename from B4A/Files/marker-rojo-15.png
rename to B4A - Copy/Files/marker-rojo-15.png
diff --git a/B4A/Files/marker-rojo-16.png b/B4A - Copy/Files/marker-rojo-16.png
similarity index 100%
rename from B4A/Files/marker-rojo-16.png
rename to B4A - Copy/Files/marker-rojo-16.png
diff --git a/B4A/Files/marker-rojo-17.png b/B4A - Copy/Files/marker-rojo-17.png
similarity index 100%
rename from B4A/Files/marker-rojo-17.png
rename to B4A - Copy/Files/marker-rojo-17.png
diff --git a/B4A/Files/marker-rojo-18.png b/B4A - Copy/Files/marker-rojo-18.png
similarity index 100%
rename from B4A/Files/marker-rojo-18.png
rename to B4A - Copy/Files/marker-rojo-18.png
diff --git a/B4A/Files/marker-rojo-19.png b/B4A - Copy/Files/marker-rojo-19.png
similarity index 100%
rename from B4A/Files/marker-rojo-19.png
rename to B4A - Copy/Files/marker-rojo-19.png
diff --git a/B4A/Files/marker-rojo-2.png b/B4A - Copy/Files/marker-rojo-2.png
similarity index 100%
rename from B4A/Files/marker-rojo-2.png
rename to B4A - Copy/Files/marker-rojo-2.png
diff --git a/B4A/Files/marker-rojo-20.png b/B4A - Copy/Files/marker-rojo-20.png
similarity index 100%
rename from B4A/Files/marker-rojo-20.png
rename to B4A - Copy/Files/marker-rojo-20.png
diff --git a/B4A/Files/marker-rojo-21.png b/B4A - Copy/Files/marker-rojo-21.png
similarity index 100%
rename from B4A/Files/marker-rojo-21.png
rename to B4A - Copy/Files/marker-rojo-21.png
diff --git a/B4A/Files/marker-rojo-22.png b/B4A - Copy/Files/marker-rojo-22.png
similarity index 100%
rename from B4A/Files/marker-rojo-22.png
rename to B4A - Copy/Files/marker-rojo-22.png
diff --git a/B4A/Files/marker-rojo-23.png b/B4A - Copy/Files/marker-rojo-23.png
similarity index 100%
rename from B4A/Files/marker-rojo-23.png
rename to B4A - Copy/Files/marker-rojo-23.png
diff --git a/B4A/Files/marker-rojo-24.png b/B4A - Copy/Files/marker-rojo-24.png
similarity index 100%
rename from B4A/Files/marker-rojo-24.png
rename to B4A - Copy/Files/marker-rojo-24.png
diff --git a/B4A/Files/marker-rojo-25.png b/B4A - Copy/Files/marker-rojo-25.png
similarity index 100%
rename from B4A/Files/marker-rojo-25.png
rename to B4A - Copy/Files/marker-rojo-25.png
diff --git a/B4A/Files/marker-rojo-26.png b/B4A - Copy/Files/marker-rojo-26.png
similarity index 100%
rename from B4A/Files/marker-rojo-26.png
rename to B4A - Copy/Files/marker-rojo-26.png
diff --git a/B4A/Files/marker-rojo-27.png b/B4A - Copy/Files/marker-rojo-27.png
similarity index 100%
rename from B4A/Files/marker-rojo-27.png
rename to B4A - Copy/Files/marker-rojo-27.png
diff --git a/B4A/Files/marker-rojo-28.png b/B4A - Copy/Files/marker-rojo-28.png
similarity index 100%
rename from B4A/Files/marker-rojo-28.png
rename to B4A - Copy/Files/marker-rojo-28.png
diff --git a/B4A/Files/marker-rojo-29.png b/B4A - Copy/Files/marker-rojo-29.png
similarity index 100%
rename from B4A/Files/marker-rojo-29.png
rename to B4A - Copy/Files/marker-rojo-29.png
diff --git a/B4A/Files/marker-rojo-3.png b/B4A - Copy/Files/marker-rojo-3.png
similarity index 100%
rename from B4A/Files/marker-rojo-3.png
rename to B4A - Copy/Files/marker-rojo-3.png
diff --git a/B4A/Files/marker-rojo-30.png b/B4A - Copy/Files/marker-rojo-30.png
similarity index 100%
rename from B4A/Files/marker-rojo-30.png
rename to B4A - Copy/Files/marker-rojo-30.png
diff --git a/B4A/Files/marker-rojo-31.png b/B4A - Copy/Files/marker-rojo-31.png
similarity index 100%
rename from B4A/Files/marker-rojo-31.png
rename to B4A - Copy/Files/marker-rojo-31.png
diff --git a/B4A/Files/marker-rojo-32.png b/B4A - Copy/Files/marker-rojo-32.png
similarity index 100%
rename from B4A/Files/marker-rojo-32.png
rename to B4A - Copy/Files/marker-rojo-32.png
diff --git a/B4A/Files/marker-rojo-33.png b/B4A - Copy/Files/marker-rojo-33.png
similarity index 100%
rename from B4A/Files/marker-rojo-33.png
rename to B4A - Copy/Files/marker-rojo-33.png
diff --git a/B4A/Files/marker-rojo-34.png b/B4A - Copy/Files/marker-rojo-34.png
similarity index 100%
rename from B4A/Files/marker-rojo-34.png
rename to B4A - Copy/Files/marker-rojo-34.png
diff --git a/B4A/Files/marker-rojo-35.png b/B4A - Copy/Files/marker-rojo-35.png
similarity index 100%
rename from B4A/Files/marker-rojo-35.png
rename to B4A - Copy/Files/marker-rojo-35.png
diff --git a/B4A/Files/marker-rojo-36.png b/B4A - Copy/Files/marker-rojo-36.png
similarity index 100%
rename from B4A/Files/marker-rojo-36.png
rename to B4A - Copy/Files/marker-rojo-36.png
diff --git a/B4A/Files/marker-rojo-37.png b/B4A - Copy/Files/marker-rojo-37.png
similarity index 100%
rename from B4A/Files/marker-rojo-37.png
rename to B4A - Copy/Files/marker-rojo-37.png
diff --git a/B4A/Files/marker-rojo-38.png b/B4A - Copy/Files/marker-rojo-38.png
similarity index 100%
rename from B4A/Files/marker-rojo-38.png
rename to B4A - Copy/Files/marker-rojo-38.png
diff --git a/B4A/Files/marker-rojo-39.png b/B4A - Copy/Files/marker-rojo-39.png
similarity index 100%
rename from B4A/Files/marker-rojo-39.png
rename to B4A - Copy/Files/marker-rojo-39.png
diff --git a/B4A/Files/marker-rojo-4.png b/B4A - Copy/Files/marker-rojo-4.png
similarity index 100%
rename from B4A/Files/marker-rojo-4.png
rename to B4A - Copy/Files/marker-rojo-4.png
diff --git a/B4A/Files/marker-rojo-40.png b/B4A - Copy/Files/marker-rojo-40.png
similarity index 100%
rename from B4A/Files/marker-rojo-40.png
rename to B4A - Copy/Files/marker-rojo-40.png
diff --git a/B4A/Files/marker-rojo-41.png b/B4A - Copy/Files/marker-rojo-41.png
similarity index 100%
rename from B4A/Files/marker-rojo-41.png
rename to B4A - Copy/Files/marker-rojo-41.png
diff --git a/B4A/Files/marker-rojo-42.png b/B4A - Copy/Files/marker-rojo-42.png
similarity index 100%
rename from B4A/Files/marker-rojo-42.png
rename to B4A - Copy/Files/marker-rojo-42.png
diff --git a/B4A/Files/marker-rojo-43.png b/B4A - Copy/Files/marker-rojo-43.png
similarity index 100%
rename from B4A/Files/marker-rojo-43.png
rename to B4A - Copy/Files/marker-rojo-43.png
diff --git a/B4A/Files/marker-rojo-44.png b/B4A - Copy/Files/marker-rojo-44.png
similarity index 100%
rename from B4A/Files/marker-rojo-44.png
rename to B4A - Copy/Files/marker-rojo-44.png
diff --git a/B4A/Files/marker-rojo-45.png b/B4A - Copy/Files/marker-rojo-45.png
similarity index 100%
rename from B4A/Files/marker-rojo-45.png
rename to B4A - Copy/Files/marker-rojo-45.png
diff --git a/B4A/Files/marker-rojo-46.png b/B4A - Copy/Files/marker-rojo-46.png
similarity index 100%
rename from B4A/Files/marker-rojo-46.png
rename to B4A - Copy/Files/marker-rojo-46.png
diff --git a/B4A/Files/marker-rojo-47.png b/B4A - Copy/Files/marker-rojo-47.png
similarity index 100%
rename from B4A/Files/marker-rojo-47.png
rename to B4A - Copy/Files/marker-rojo-47.png
diff --git a/B4A/Files/marker-rojo-48.png b/B4A - Copy/Files/marker-rojo-48.png
similarity index 100%
rename from B4A/Files/marker-rojo-48.png
rename to B4A - Copy/Files/marker-rojo-48.png
diff --git a/B4A/Files/marker-rojo-49.png b/B4A - Copy/Files/marker-rojo-49.png
similarity index 100%
rename from B4A/Files/marker-rojo-49.png
rename to B4A - Copy/Files/marker-rojo-49.png
diff --git a/B4A/Files/marker-rojo-5.png b/B4A - Copy/Files/marker-rojo-5.png
similarity index 100%
rename from B4A/Files/marker-rojo-5.png
rename to B4A - Copy/Files/marker-rojo-5.png
diff --git a/B4A/Files/marker-rojo-50.png b/B4A - Copy/Files/marker-rojo-50.png
similarity index 100%
rename from B4A/Files/marker-rojo-50.png
rename to B4A - Copy/Files/marker-rojo-50.png
diff --git a/B4A/Files/marker-rojo-51.png b/B4A - Copy/Files/marker-rojo-51.png
similarity index 100%
rename from B4A/Files/marker-rojo-51.png
rename to B4A - Copy/Files/marker-rojo-51.png
diff --git a/B4A/Files/marker-rojo-52.png b/B4A - Copy/Files/marker-rojo-52.png
similarity index 100%
rename from B4A/Files/marker-rojo-52.png
rename to B4A - Copy/Files/marker-rojo-52.png
diff --git a/B4A/Files/marker-rojo-53.png b/B4A - Copy/Files/marker-rojo-53.png
similarity index 100%
rename from B4A/Files/marker-rojo-53.png
rename to B4A - Copy/Files/marker-rojo-53.png
diff --git a/B4A/Files/marker-rojo-54.png b/B4A - Copy/Files/marker-rojo-54.png
similarity index 100%
rename from B4A/Files/marker-rojo-54.png
rename to B4A - Copy/Files/marker-rojo-54.png
diff --git a/B4A/Files/marker-rojo-55.png b/B4A - Copy/Files/marker-rojo-55.png
similarity index 100%
rename from B4A/Files/marker-rojo-55.png
rename to B4A - Copy/Files/marker-rojo-55.png
diff --git a/B4A/Files/marker-rojo-56.png b/B4A - Copy/Files/marker-rojo-56.png
similarity index 100%
rename from B4A/Files/marker-rojo-56.png
rename to B4A - Copy/Files/marker-rojo-56.png
diff --git a/B4A/Files/marker-rojo-57.png b/B4A - Copy/Files/marker-rojo-57.png
similarity index 100%
rename from B4A/Files/marker-rojo-57.png
rename to B4A - Copy/Files/marker-rojo-57.png
diff --git a/B4A/Files/marker-rojo-58.png b/B4A - Copy/Files/marker-rojo-58.png
similarity index 100%
rename from B4A/Files/marker-rojo-58.png
rename to B4A - Copy/Files/marker-rojo-58.png
diff --git a/B4A/Files/marker-rojo-59.png b/B4A - Copy/Files/marker-rojo-59.png
similarity index 100%
rename from B4A/Files/marker-rojo-59.png
rename to B4A - Copy/Files/marker-rojo-59.png
diff --git a/B4A/Files/marker-rojo-6.png b/B4A - Copy/Files/marker-rojo-6.png
similarity index 100%
rename from B4A/Files/marker-rojo-6.png
rename to B4A - Copy/Files/marker-rojo-6.png
diff --git a/B4A/Files/marker-rojo-60.png b/B4A - Copy/Files/marker-rojo-60.png
similarity index 100%
rename from B4A/Files/marker-rojo-60.png
rename to B4A - Copy/Files/marker-rojo-60.png
diff --git a/B4A/Files/marker-rojo-61.png b/B4A - Copy/Files/marker-rojo-61.png
similarity index 100%
rename from B4A/Files/marker-rojo-61.png
rename to B4A - Copy/Files/marker-rojo-61.png
diff --git a/B4A/Files/marker-rojo-62.png b/B4A - Copy/Files/marker-rojo-62.png
similarity index 100%
rename from B4A/Files/marker-rojo-62.png
rename to B4A - Copy/Files/marker-rojo-62.png
diff --git a/B4A/Files/marker-rojo-63.png b/B4A - Copy/Files/marker-rojo-63.png
similarity index 100%
rename from B4A/Files/marker-rojo-63.png
rename to B4A - Copy/Files/marker-rojo-63.png
diff --git a/B4A/Files/marker-rojo-64.png b/B4A - Copy/Files/marker-rojo-64.png
similarity index 100%
rename from B4A/Files/marker-rojo-64.png
rename to B4A - Copy/Files/marker-rojo-64.png
diff --git a/B4A/Files/marker-rojo-65.png b/B4A - Copy/Files/marker-rojo-65.png
similarity index 100%
rename from B4A/Files/marker-rojo-65.png
rename to B4A - Copy/Files/marker-rojo-65.png
diff --git a/B4A/Files/marker-rojo-66.png b/B4A - Copy/Files/marker-rojo-66.png
similarity index 100%
rename from B4A/Files/marker-rojo-66.png
rename to B4A - Copy/Files/marker-rojo-66.png
diff --git a/B4A/Files/marker-rojo-67.png b/B4A - Copy/Files/marker-rojo-67.png
similarity index 100%
rename from B4A/Files/marker-rojo-67.png
rename to B4A - Copy/Files/marker-rojo-67.png
diff --git a/B4A/Files/marker-rojo-68.png b/B4A - Copy/Files/marker-rojo-68.png
similarity index 100%
rename from B4A/Files/marker-rojo-68.png
rename to B4A - Copy/Files/marker-rojo-68.png
diff --git a/B4A/Files/marker-rojo-69.png b/B4A - Copy/Files/marker-rojo-69.png
similarity index 100%
rename from B4A/Files/marker-rojo-69.png
rename to B4A - Copy/Files/marker-rojo-69.png
diff --git a/B4A/Files/marker-rojo-7.png b/B4A - Copy/Files/marker-rojo-7.png
similarity index 100%
rename from B4A/Files/marker-rojo-7.png
rename to B4A - Copy/Files/marker-rojo-7.png
diff --git a/B4A/Files/marker-rojo-70.png b/B4A - Copy/Files/marker-rojo-70.png
similarity index 100%
rename from B4A/Files/marker-rojo-70.png
rename to B4A - Copy/Files/marker-rojo-70.png
diff --git a/B4A/Files/marker-rojo-71.png b/B4A - Copy/Files/marker-rojo-71.png
similarity index 100%
rename from B4A/Files/marker-rojo-71.png
rename to B4A - Copy/Files/marker-rojo-71.png
diff --git a/B4A/Files/marker-rojo-72.png b/B4A - Copy/Files/marker-rojo-72.png
similarity index 100%
rename from B4A/Files/marker-rojo-72.png
rename to B4A - Copy/Files/marker-rojo-72.png
diff --git a/B4A/Files/marker-rojo-73.png b/B4A - Copy/Files/marker-rojo-73.png
similarity index 100%
rename from B4A/Files/marker-rojo-73.png
rename to B4A - Copy/Files/marker-rojo-73.png
diff --git a/B4A/Files/marker-rojo-74.png b/B4A - Copy/Files/marker-rojo-74.png
similarity index 100%
rename from B4A/Files/marker-rojo-74.png
rename to B4A - Copy/Files/marker-rojo-74.png
diff --git a/B4A/Files/marker-rojo-75.png b/B4A - Copy/Files/marker-rojo-75.png
similarity index 100%
rename from B4A/Files/marker-rojo-75.png
rename to B4A - Copy/Files/marker-rojo-75.png
diff --git a/B4A/Files/marker-rojo-76.png b/B4A - Copy/Files/marker-rojo-76.png
similarity index 100%
rename from B4A/Files/marker-rojo-76.png
rename to B4A - Copy/Files/marker-rojo-76.png
diff --git a/B4A/Files/marker-rojo-77.png b/B4A - Copy/Files/marker-rojo-77.png
similarity index 100%
rename from B4A/Files/marker-rojo-77.png
rename to B4A - Copy/Files/marker-rojo-77.png
diff --git a/B4A/Files/marker-rojo-78.png b/B4A - Copy/Files/marker-rojo-78.png
similarity index 100%
rename from B4A/Files/marker-rojo-78.png
rename to B4A - Copy/Files/marker-rojo-78.png
diff --git a/B4A/Files/marker-rojo-79.png b/B4A - Copy/Files/marker-rojo-79.png
similarity index 100%
rename from B4A/Files/marker-rojo-79.png
rename to B4A - Copy/Files/marker-rojo-79.png
diff --git a/B4A/Files/marker-rojo-8.png b/B4A - Copy/Files/marker-rojo-8.png
similarity index 100%
rename from B4A/Files/marker-rojo-8.png
rename to B4A - Copy/Files/marker-rojo-8.png
diff --git a/B4A/Files/marker-rojo-80.png b/B4A - Copy/Files/marker-rojo-80.png
similarity index 100%
rename from B4A/Files/marker-rojo-80.png
rename to B4A - Copy/Files/marker-rojo-80.png
diff --git a/B4A/Files/marker-rojo-81.png b/B4A - Copy/Files/marker-rojo-81.png
similarity index 100%
rename from B4A/Files/marker-rojo-81.png
rename to B4A - Copy/Files/marker-rojo-81.png
diff --git a/B4A/Files/marker-rojo-82.png b/B4A - Copy/Files/marker-rojo-82.png
similarity index 100%
rename from B4A/Files/marker-rojo-82.png
rename to B4A - Copy/Files/marker-rojo-82.png
diff --git a/B4A/Files/marker-rojo-83.png b/B4A - Copy/Files/marker-rojo-83.png
similarity index 100%
rename from B4A/Files/marker-rojo-83.png
rename to B4A - Copy/Files/marker-rojo-83.png
diff --git a/B4A/Files/marker-rojo-84.png b/B4A - Copy/Files/marker-rojo-84.png
similarity index 100%
rename from B4A/Files/marker-rojo-84.png
rename to B4A - Copy/Files/marker-rojo-84.png
diff --git a/B4A/Files/marker-rojo-85.png b/B4A - Copy/Files/marker-rojo-85.png
similarity index 100%
rename from B4A/Files/marker-rojo-85.png
rename to B4A - Copy/Files/marker-rojo-85.png
diff --git a/B4A/Files/marker-rojo-86.png b/B4A - Copy/Files/marker-rojo-86.png
similarity index 100%
rename from B4A/Files/marker-rojo-86.png
rename to B4A - Copy/Files/marker-rojo-86.png
diff --git a/B4A/Files/marker-rojo-87.png b/B4A - Copy/Files/marker-rojo-87.png
similarity index 100%
rename from B4A/Files/marker-rojo-87.png
rename to B4A - Copy/Files/marker-rojo-87.png
diff --git a/B4A/Files/marker-rojo-88.png b/B4A - Copy/Files/marker-rojo-88.png
similarity index 100%
rename from B4A/Files/marker-rojo-88.png
rename to B4A - Copy/Files/marker-rojo-88.png
diff --git a/B4A/Files/marker-rojo-89.png b/B4A - Copy/Files/marker-rojo-89.png
similarity index 100%
rename from B4A/Files/marker-rojo-89.png
rename to B4A - Copy/Files/marker-rojo-89.png
diff --git a/B4A/Files/marker-rojo-9.png b/B4A - Copy/Files/marker-rojo-9.png
similarity index 100%
rename from B4A/Files/marker-rojo-9.png
rename to B4A - Copy/Files/marker-rojo-9.png
diff --git a/B4A/Files/marker-rojo-90.png b/B4A - Copy/Files/marker-rojo-90.png
similarity index 100%
rename from B4A/Files/marker-rojo-90.png
rename to B4A - Copy/Files/marker-rojo-90.png
diff --git a/B4A/Files/marker-rojo-91.png b/B4A - Copy/Files/marker-rojo-91.png
similarity index 100%
rename from B4A/Files/marker-rojo-91.png
rename to B4A - Copy/Files/marker-rojo-91.png
diff --git a/B4A/Files/marker-rojo-92.png b/B4A - Copy/Files/marker-rojo-92.png
similarity index 100%
rename from B4A/Files/marker-rojo-92.png
rename to B4A - Copy/Files/marker-rojo-92.png
diff --git a/B4A/Files/marker-rojo-93.png b/B4A - Copy/Files/marker-rojo-93.png
similarity index 100%
rename from B4A/Files/marker-rojo-93.png
rename to B4A - Copy/Files/marker-rojo-93.png
diff --git a/B4A/Files/marker-rojo-94.png b/B4A - Copy/Files/marker-rojo-94.png
similarity index 100%
rename from B4A/Files/marker-rojo-94.png
rename to B4A - Copy/Files/marker-rojo-94.png
diff --git a/B4A/Files/marker-rojo-95.png b/B4A - Copy/Files/marker-rojo-95.png
similarity index 100%
rename from B4A/Files/marker-rojo-95.png
rename to B4A - Copy/Files/marker-rojo-95.png
diff --git a/B4A/Files/marker-rojo-96.png b/B4A - Copy/Files/marker-rojo-96.png
similarity index 100%
rename from B4A/Files/marker-rojo-96.png
rename to B4A - Copy/Files/marker-rojo-96.png
diff --git a/B4A/Files/marker-rojo-97.png b/B4A - Copy/Files/marker-rojo-97.png
similarity index 100%
rename from B4A/Files/marker-rojo-97.png
rename to B4A - Copy/Files/marker-rojo-97.png
diff --git a/B4A/Files/marker-rojo-98.png b/B4A - Copy/Files/marker-rojo-98.png
similarity index 100%
rename from B4A/Files/marker-rojo-98.png
rename to B4A - Copy/Files/marker-rojo-98.png
diff --git a/B4A/Files/marker-rojo-99.png b/B4A - Copy/Files/marker-rojo-99.png
similarity index 100%
rename from B4A/Files/marker-rojo-99.png
rename to B4A - Copy/Files/marker-rojo-99.png
diff --git a/B4A/Files/marker-verde-0.png b/B4A - Copy/Files/marker-verde-0.png
similarity index 100%
rename from B4A/Files/marker-verde-0.png
rename to B4A - Copy/Files/marker-verde-0.png
diff --git a/B4A/Files/marker-verde-1.png b/B4A - Copy/Files/marker-verde-1.png
similarity index 100%
rename from B4A/Files/marker-verde-1.png
rename to B4A - Copy/Files/marker-verde-1.png
diff --git a/B4A/Files/marker-verde-10.png b/B4A - Copy/Files/marker-verde-10.png
similarity index 100%
rename from B4A/Files/marker-verde-10.png
rename to B4A - Copy/Files/marker-verde-10.png
diff --git a/B4A/Files/marker-verde-100.png b/B4A - Copy/Files/marker-verde-100.png
similarity index 100%
rename from B4A/Files/marker-verde-100.png
rename to B4A - Copy/Files/marker-verde-100.png
diff --git a/B4A/Files/marker-verde-11.png b/B4A - Copy/Files/marker-verde-11.png
similarity index 100%
rename from B4A/Files/marker-verde-11.png
rename to B4A - Copy/Files/marker-verde-11.png
diff --git a/B4A/Files/marker-verde-12.png b/B4A - Copy/Files/marker-verde-12.png
similarity index 100%
rename from B4A/Files/marker-verde-12.png
rename to B4A - Copy/Files/marker-verde-12.png
diff --git a/B4A/Files/marker-verde-13.png b/B4A - Copy/Files/marker-verde-13.png
similarity index 100%
rename from B4A/Files/marker-verde-13.png
rename to B4A - Copy/Files/marker-verde-13.png
diff --git a/B4A/Files/marker-verde-14.png b/B4A - Copy/Files/marker-verde-14.png
similarity index 100%
rename from B4A/Files/marker-verde-14.png
rename to B4A - Copy/Files/marker-verde-14.png
diff --git a/B4A/Files/marker-verde-15.png b/B4A - Copy/Files/marker-verde-15.png
similarity index 100%
rename from B4A/Files/marker-verde-15.png
rename to B4A - Copy/Files/marker-verde-15.png
diff --git a/B4A/Files/marker-verde-16.png b/B4A - Copy/Files/marker-verde-16.png
similarity index 100%
rename from B4A/Files/marker-verde-16.png
rename to B4A - Copy/Files/marker-verde-16.png
diff --git a/B4A/Files/marker-verde-17.png b/B4A - Copy/Files/marker-verde-17.png
similarity index 100%
rename from B4A/Files/marker-verde-17.png
rename to B4A - Copy/Files/marker-verde-17.png
diff --git a/B4A/Files/marker-verde-18.png b/B4A - Copy/Files/marker-verde-18.png
similarity index 100%
rename from B4A/Files/marker-verde-18.png
rename to B4A - Copy/Files/marker-verde-18.png
diff --git a/B4A/Files/marker-verde-19.png b/B4A - Copy/Files/marker-verde-19.png
similarity index 100%
rename from B4A/Files/marker-verde-19.png
rename to B4A - Copy/Files/marker-verde-19.png
diff --git a/B4A/Files/marker-verde-2.png b/B4A - Copy/Files/marker-verde-2.png
similarity index 100%
rename from B4A/Files/marker-verde-2.png
rename to B4A - Copy/Files/marker-verde-2.png
diff --git a/B4A/Files/marker-verde-20.png b/B4A - Copy/Files/marker-verde-20.png
similarity index 100%
rename from B4A/Files/marker-verde-20.png
rename to B4A - Copy/Files/marker-verde-20.png
diff --git a/B4A/Files/marker-verde-21.png b/B4A - Copy/Files/marker-verde-21.png
similarity index 100%
rename from B4A/Files/marker-verde-21.png
rename to B4A - Copy/Files/marker-verde-21.png
diff --git a/B4A/Files/marker-verde-22.png b/B4A - Copy/Files/marker-verde-22.png
similarity index 100%
rename from B4A/Files/marker-verde-22.png
rename to B4A - Copy/Files/marker-verde-22.png
diff --git a/B4A/Files/marker-verde-23.png b/B4A - Copy/Files/marker-verde-23.png
similarity index 100%
rename from B4A/Files/marker-verde-23.png
rename to B4A - Copy/Files/marker-verde-23.png
diff --git a/B4A/Files/marker-verde-24.png b/B4A - Copy/Files/marker-verde-24.png
similarity index 100%
rename from B4A/Files/marker-verde-24.png
rename to B4A - Copy/Files/marker-verde-24.png
diff --git a/B4A/Files/marker-verde-25.png b/B4A - Copy/Files/marker-verde-25.png
similarity index 100%
rename from B4A/Files/marker-verde-25.png
rename to B4A - Copy/Files/marker-verde-25.png
diff --git a/B4A/Files/marker-verde-26.png b/B4A - Copy/Files/marker-verde-26.png
similarity index 100%
rename from B4A/Files/marker-verde-26.png
rename to B4A - Copy/Files/marker-verde-26.png
diff --git a/B4A/Files/marker-verde-27.png b/B4A - Copy/Files/marker-verde-27.png
similarity index 100%
rename from B4A/Files/marker-verde-27.png
rename to B4A - Copy/Files/marker-verde-27.png
diff --git a/B4A/Files/marker-verde-28.png b/B4A - Copy/Files/marker-verde-28.png
similarity index 100%
rename from B4A/Files/marker-verde-28.png
rename to B4A - Copy/Files/marker-verde-28.png
diff --git a/B4A/Files/marker-verde-29.png b/B4A - Copy/Files/marker-verde-29.png
similarity index 100%
rename from B4A/Files/marker-verde-29.png
rename to B4A - Copy/Files/marker-verde-29.png
diff --git a/B4A/Files/marker-verde-3.png b/B4A - Copy/Files/marker-verde-3.png
similarity index 100%
rename from B4A/Files/marker-verde-3.png
rename to B4A - Copy/Files/marker-verde-3.png
diff --git a/B4A/Files/marker-verde-30.png b/B4A - Copy/Files/marker-verde-30.png
similarity index 100%
rename from B4A/Files/marker-verde-30.png
rename to B4A - Copy/Files/marker-verde-30.png
diff --git a/B4A/Files/marker-verde-31.png b/B4A - Copy/Files/marker-verde-31.png
similarity index 100%
rename from B4A/Files/marker-verde-31.png
rename to B4A - Copy/Files/marker-verde-31.png
diff --git a/B4A/Files/marker-verde-32.png b/B4A - Copy/Files/marker-verde-32.png
similarity index 100%
rename from B4A/Files/marker-verde-32.png
rename to B4A - Copy/Files/marker-verde-32.png
diff --git a/B4A/Files/marker-verde-33.png b/B4A - Copy/Files/marker-verde-33.png
similarity index 100%
rename from B4A/Files/marker-verde-33.png
rename to B4A - Copy/Files/marker-verde-33.png
diff --git a/B4A/Files/marker-verde-34.png b/B4A - Copy/Files/marker-verde-34.png
similarity index 100%
rename from B4A/Files/marker-verde-34.png
rename to B4A - Copy/Files/marker-verde-34.png
diff --git a/B4A/Files/marker-verde-35.png b/B4A - Copy/Files/marker-verde-35.png
similarity index 100%
rename from B4A/Files/marker-verde-35.png
rename to B4A - Copy/Files/marker-verde-35.png
diff --git a/B4A/Files/marker-verde-36.png b/B4A - Copy/Files/marker-verde-36.png
similarity index 100%
rename from B4A/Files/marker-verde-36.png
rename to B4A - Copy/Files/marker-verde-36.png
diff --git a/B4A/Files/marker-verde-37.png b/B4A - Copy/Files/marker-verde-37.png
similarity index 100%
rename from B4A/Files/marker-verde-37.png
rename to B4A - Copy/Files/marker-verde-37.png
diff --git a/B4A/Files/marker-verde-38.png b/B4A - Copy/Files/marker-verde-38.png
similarity index 100%
rename from B4A/Files/marker-verde-38.png
rename to B4A - Copy/Files/marker-verde-38.png
diff --git a/B4A/Files/marker-verde-39.png b/B4A - Copy/Files/marker-verde-39.png
similarity index 100%
rename from B4A/Files/marker-verde-39.png
rename to B4A - Copy/Files/marker-verde-39.png
diff --git a/B4A/Files/marker-verde-4.png b/B4A - Copy/Files/marker-verde-4.png
similarity index 100%
rename from B4A/Files/marker-verde-4.png
rename to B4A - Copy/Files/marker-verde-4.png
diff --git a/B4A/Files/marker-verde-40.png b/B4A - Copy/Files/marker-verde-40.png
similarity index 100%
rename from B4A/Files/marker-verde-40.png
rename to B4A - Copy/Files/marker-verde-40.png
diff --git a/B4A/Files/marker-verde-41.png b/B4A - Copy/Files/marker-verde-41.png
similarity index 100%
rename from B4A/Files/marker-verde-41.png
rename to B4A - Copy/Files/marker-verde-41.png
diff --git a/B4A/Files/marker-verde-42.png b/B4A - Copy/Files/marker-verde-42.png
similarity index 100%
rename from B4A/Files/marker-verde-42.png
rename to B4A - Copy/Files/marker-verde-42.png
diff --git a/B4A/Files/marker-verde-43.png b/B4A - Copy/Files/marker-verde-43.png
similarity index 100%
rename from B4A/Files/marker-verde-43.png
rename to B4A - Copy/Files/marker-verde-43.png
diff --git a/B4A/Files/marker-verde-44.png b/B4A - Copy/Files/marker-verde-44.png
similarity index 100%
rename from B4A/Files/marker-verde-44.png
rename to B4A - Copy/Files/marker-verde-44.png
diff --git a/B4A/Files/marker-verde-45.png b/B4A - Copy/Files/marker-verde-45.png
similarity index 100%
rename from B4A/Files/marker-verde-45.png
rename to B4A - Copy/Files/marker-verde-45.png
diff --git a/B4A/Files/marker-verde-46.png b/B4A - Copy/Files/marker-verde-46.png
similarity index 100%
rename from B4A/Files/marker-verde-46.png
rename to B4A - Copy/Files/marker-verde-46.png
diff --git a/B4A/Files/marker-verde-47.png b/B4A - Copy/Files/marker-verde-47.png
similarity index 100%
rename from B4A/Files/marker-verde-47.png
rename to B4A - Copy/Files/marker-verde-47.png
diff --git a/B4A/Files/marker-verde-48.png b/B4A - Copy/Files/marker-verde-48.png
similarity index 100%
rename from B4A/Files/marker-verde-48.png
rename to B4A - Copy/Files/marker-verde-48.png
diff --git a/B4A/Files/marker-verde-49.png b/B4A - Copy/Files/marker-verde-49.png
similarity index 100%
rename from B4A/Files/marker-verde-49.png
rename to B4A - Copy/Files/marker-verde-49.png
diff --git a/B4A/Files/marker-verde-5.png b/B4A - Copy/Files/marker-verde-5.png
similarity index 100%
rename from B4A/Files/marker-verde-5.png
rename to B4A - Copy/Files/marker-verde-5.png
diff --git a/B4A/Files/marker-verde-50.png b/B4A - Copy/Files/marker-verde-50.png
similarity index 100%
rename from B4A/Files/marker-verde-50.png
rename to B4A - Copy/Files/marker-verde-50.png
diff --git a/B4A/Files/marker-verde-51.png b/B4A - Copy/Files/marker-verde-51.png
similarity index 100%
rename from B4A/Files/marker-verde-51.png
rename to B4A - Copy/Files/marker-verde-51.png
diff --git a/B4A/Files/marker-verde-52.png b/B4A - Copy/Files/marker-verde-52.png
similarity index 100%
rename from B4A/Files/marker-verde-52.png
rename to B4A - Copy/Files/marker-verde-52.png
diff --git a/B4A/Files/marker-verde-53.png b/B4A - Copy/Files/marker-verde-53.png
similarity index 100%
rename from B4A/Files/marker-verde-53.png
rename to B4A - Copy/Files/marker-verde-53.png
diff --git a/B4A/Files/marker-verde-54.png b/B4A - Copy/Files/marker-verde-54.png
similarity index 100%
rename from B4A/Files/marker-verde-54.png
rename to B4A - Copy/Files/marker-verde-54.png
diff --git a/B4A/Files/marker-verde-55.png b/B4A - Copy/Files/marker-verde-55.png
similarity index 100%
rename from B4A/Files/marker-verde-55.png
rename to B4A - Copy/Files/marker-verde-55.png
diff --git a/B4A/Files/marker-verde-56.png b/B4A - Copy/Files/marker-verde-56.png
similarity index 100%
rename from B4A/Files/marker-verde-56.png
rename to B4A - Copy/Files/marker-verde-56.png
diff --git a/B4A/Files/marker-verde-57.png b/B4A - Copy/Files/marker-verde-57.png
similarity index 100%
rename from B4A/Files/marker-verde-57.png
rename to B4A - Copy/Files/marker-verde-57.png
diff --git a/B4A/Files/marker-verde-58.png b/B4A - Copy/Files/marker-verde-58.png
similarity index 100%
rename from B4A/Files/marker-verde-58.png
rename to B4A - Copy/Files/marker-verde-58.png
diff --git a/B4A/Files/marker-verde-59.png b/B4A - Copy/Files/marker-verde-59.png
similarity index 100%
rename from B4A/Files/marker-verde-59.png
rename to B4A - Copy/Files/marker-verde-59.png
diff --git a/B4A/Files/marker-verde-6.png b/B4A - Copy/Files/marker-verde-6.png
similarity index 100%
rename from B4A/Files/marker-verde-6.png
rename to B4A - Copy/Files/marker-verde-6.png
diff --git a/B4A/Files/marker-verde-60.png b/B4A - Copy/Files/marker-verde-60.png
similarity index 100%
rename from B4A/Files/marker-verde-60.png
rename to B4A - Copy/Files/marker-verde-60.png
diff --git a/B4A/Files/marker-verde-61.png b/B4A - Copy/Files/marker-verde-61.png
similarity index 100%
rename from B4A/Files/marker-verde-61.png
rename to B4A - Copy/Files/marker-verde-61.png
diff --git a/B4A/Files/marker-verde-62.png b/B4A - Copy/Files/marker-verde-62.png
similarity index 100%
rename from B4A/Files/marker-verde-62.png
rename to B4A - Copy/Files/marker-verde-62.png
diff --git a/B4A/Files/marker-verde-63.png b/B4A - Copy/Files/marker-verde-63.png
similarity index 100%
rename from B4A/Files/marker-verde-63.png
rename to B4A - Copy/Files/marker-verde-63.png
diff --git a/B4A/Files/marker-verde-64.png b/B4A - Copy/Files/marker-verde-64.png
similarity index 100%
rename from B4A/Files/marker-verde-64.png
rename to B4A - Copy/Files/marker-verde-64.png
diff --git a/B4A/Files/marker-verde-65.png b/B4A - Copy/Files/marker-verde-65.png
similarity index 100%
rename from B4A/Files/marker-verde-65.png
rename to B4A - Copy/Files/marker-verde-65.png
diff --git a/B4A/Files/marker-verde-66.png b/B4A - Copy/Files/marker-verde-66.png
similarity index 100%
rename from B4A/Files/marker-verde-66.png
rename to B4A - Copy/Files/marker-verde-66.png
diff --git a/B4A/Files/marker-verde-67.png b/B4A - Copy/Files/marker-verde-67.png
similarity index 100%
rename from B4A/Files/marker-verde-67.png
rename to B4A - Copy/Files/marker-verde-67.png
diff --git a/B4A/Files/marker-verde-68.png b/B4A - Copy/Files/marker-verde-68.png
similarity index 100%
rename from B4A/Files/marker-verde-68.png
rename to B4A - Copy/Files/marker-verde-68.png
diff --git a/B4A/Files/marker-verde-69.png b/B4A - Copy/Files/marker-verde-69.png
similarity index 100%
rename from B4A/Files/marker-verde-69.png
rename to B4A - Copy/Files/marker-verde-69.png
diff --git a/B4A/Files/marker-verde-7.png b/B4A - Copy/Files/marker-verde-7.png
similarity index 100%
rename from B4A/Files/marker-verde-7.png
rename to B4A - Copy/Files/marker-verde-7.png
diff --git a/B4A/Files/marker-verde-70.png b/B4A - Copy/Files/marker-verde-70.png
similarity index 100%
rename from B4A/Files/marker-verde-70.png
rename to B4A - Copy/Files/marker-verde-70.png
diff --git a/B4A/Files/marker-verde-71.png b/B4A - Copy/Files/marker-verde-71.png
similarity index 100%
rename from B4A/Files/marker-verde-71.png
rename to B4A - Copy/Files/marker-verde-71.png
diff --git a/B4A/Files/marker-verde-72.png b/B4A - Copy/Files/marker-verde-72.png
similarity index 100%
rename from B4A/Files/marker-verde-72.png
rename to B4A - Copy/Files/marker-verde-72.png
diff --git a/B4A/Files/marker-verde-73.png b/B4A - Copy/Files/marker-verde-73.png
similarity index 100%
rename from B4A/Files/marker-verde-73.png
rename to B4A - Copy/Files/marker-verde-73.png
diff --git a/B4A/Files/marker-verde-74.png b/B4A - Copy/Files/marker-verde-74.png
similarity index 100%
rename from B4A/Files/marker-verde-74.png
rename to B4A - Copy/Files/marker-verde-74.png
diff --git a/B4A/Files/marker-verde-75.png b/B4A - Copy/Files/marker-verde-75.png
similarity index 100%
rename from B4A/Files/marker-verde-75.png
rename to B4A - Copy/Files/marker-verde-75.png
diff --git a/B4A/Files/marker-verde-76.png b/B4A - Copy/Files/marker-verde-76.png
similarity index 100%
rename from B4A/Files/marker-verde-76.png
rename to B4A - Copy/Files/marker-verde-76.png
diff --git a/B4A/Files/marker-verde-77.png b/B4A - Copy/Files/marker-verde-77.png
similarity index 100%
rename from B4A/Files/marker-verde-77.png
rename to B4A - Copy/Files/marker-verde-77.png
diff --git a/B4A/Files/marker-verde-78.png b/B4A - Copy/Files/marker-verde-78.png
similarity index 100%
rename from B4A/Files/marker-verde-78.png
rename to B4A - Copy/Files/marker-verde-78.png
diff --git a/B4A/Files/marker-verde-79.png b/B4A - Copy/Files/marker-verde-79.png
similarity index 100%
rename from B4A/Files/marker-verde-79.png
rename to B4A - Copy/Files/marker-verde-79.png
diff --git a/B4A/Files/marker-verde-8.png b/B4A - Copy/Files/marker-verde-8.png
similarity index 100%
rename from B4A/Files/marker-verde-8.png
rename to B4A - Copy/Files/marker-verde-8.png
diff --git a/B4A/Files/marker-verde-80.png b/B4A - Copy/Files/marker-verde-80.png
similarity index 100%
rename from B4A/Files/marker-verde-80.png
rename to B4A - Copy/Files/marker-verde-80.png
diff --git a/B4A/Files/marker-verde-81.png b/B4A - Copy/Files/marker-verde-81.png
similarity index 100%
rename from B4A/Files/marker-verde-81.png
rename to B4A - Copy/Files/marker-verde-81.png
diff --git a/B4A/Files/marker-verde-82.png b/B4A - Copy/Files/marker-verde-82.png
similarity index 100%
rename from B4A/Files/marker-verde-82.png
rename to B4A - Copy/Files/marker-verde-82.png
diff --git a/B4A/Files/marker-verde-83.png b/B4A - Copy/Files/marker-verde-83.png
similarity index 100%
rename from B4A/Files/marker-verde-83.png
rename to B4A - Copy/Files/marker-verde-83.png
diff --git a/B4A/Files/marker-verde-84.png b/B4A - Copy/Files/marker-verde-84.png
similarity index 100%
rename from B4A/Files/marker-verde-84.png
rename to B4A - Copy/Files/marker-verde-84.png
diff --git a/B4A/Files/marker-verde-85.png b/B4A - Copy/Files/marker-verde-85.png
similarity index 100%
rename from B4A/Files/marker-verde-85.png
rename to B4A - Copy/Files/marker-verde-85.png
diff --git a/B4A/Files/marker-verde-86.png b/B4A - Copy/Files/marker-verde-86.png
similarity index 100%
rename from B4A/Files/marker-verde-86.png
rename to B4A - Copy/Files/marker-verde-86.png
diff --git a/B4A/Files/marker-verde-87.png b/B4A - Copy/Files/marker-verde-87.png
similarity index 100%
rename from B4A/Files/marker-verde-87.png
rename to B4A - Copy/Files/marker-verde-87.png
diff --git a/B4A/Files/marker-verde-88.png b/B4A - Copy/Files/marker-verde-88.png
similarity index 100%
rename from B4A/Files/marker-verde-88.png
rename to B4A - Copy/Files/marker-verde-88.png
diff --git a/B4A/Files/marker-verde-89.png b/B4A - Copy/Files/marker-verde-89.png
similarity index 100%
rename from B4A/Files/marker-verde-89.png
rename to B4A - Copy/Files/marker-verde-89.png
diff --git a/B4A/Files/marker-verde-9.png b/B4A - Copy/Files/marker-verde-9.png
similarity index 100%
rename from B4A/Files/marker-verde-9.png
rename to B4A - Copy/Files/marker-verde-9.png
diff --git a/B4A/Files/marker-verde-90.png b/B4A - Copy/Files/marker-verde-90.png
similarity index 100%
rename from B4A/Files/marker-verde-90.png
rename to B4A - Copy/Files/marker-verde-90.png
diff --git a/B4A/Files/marker-verde-91.png b/B4A - Copy/Files/marker-verde-91.png
similarity index 100%
rename from B4A/Files/marker-verde-91.png
rename to B4A - Copy/Files/marker-verde-91.png
diff --git a/B4A/Files/marker-verde-92.png b/B4A - Copy/Files/marker-verde-92.png
similarity index 100%
rename from B4A/Files/marker-verde-92.png
rename to B4A - Copy/Files/marker-verde-92.png
diff --git a/B4A/Files/marker-verde-93.png b/B4A - Copy/Files/marker-verde-93.png
similarity index 100%
rename from B4A/Files/marker-verde-93.png
rename to B4A - Copy/Files/marker-verde-93.png
diff --git a/B4A/Files/marker-verde-94.png b/B4A - Copy/Files/marker-verde-94.png
similarity index 100%
rename from B4A/Files/marker-verde-94.png
rename to B4A - Copy/Files/marker-verde-94.png
diff --git a/B4A/Files/marker-verde-95.png b/B4A - Copy/Files/marker-verde-95.png
similarity index 100%
rename from B4A/Files/marker-verde-95.png
rename to B4A - Copy/Files/marker-verde-95.png
diff --git a/B4A/Files/marker-verde-96.png b/B4A - Copy/Files/marker-verde-96.png
similarity index 100%
rename from B4A/Files/marker-verde-96.png
rename to B4A - Copy/Files/marker-verde-96.png
diff --git a/B4A/Files/marker-verde-97.png b/B4A - Copy/Files/marker-verde-97.png
similarity index 100%
rename from B4A/Files/marker-verde-97.png
rename to B4A - Copy/Files/marker-verde-97.png
diff --git a/B4A/Files/marker-verde-98.png b/B4A - Copy/Files/marker-verde-98.png
similarity index 100%
rename from B4A/Files/marker-verde-98.png
rename to B4A - Copy/Files/marker-verde-98.png
diff --git a/B4A/Files/marker-verde-99.png b/B4A - Copy/Files/marker-verde-99.png
similarity index 100%
rename from B4A/Files/marker-verde-99.png
rename to B4A - Copy/Files/marker-verde-99.png
diff --git a/B4A - Copy/Files/noventa.bal b/B4A - Copy/Files/noventa.bal
new file mode 100644
index 0000000..7b1ac25
Binary files /dev/null and b/B4A - Copy/Files/noventa.bal differ
diff --git a/B4A - Copy/Files/nuevocliente.bal b/B4A - Copy/Files/nuevocliente.bal
new file mode 100644
index 0000000..0ef6fcf
Binary files /dev/null and b/B4A - Copy/Files/nuevocliente.bal differ
diff --git a/B4A - Copy/Files/palomita_verde.png b/B4A - Copy/Files/palomita_verde.png
new file mode 100644
index 0000000..f8e11e6
Binary files /dev/null and b/B4A - Copy/Files/palomita_verde.png differ
diff --git a/B4A - Copy/Files/pedido.bal b/B4A - Copy/Files/pedido.bal
new file mode 100644
index 0000000..30db91e
Binary files /dev/null and b/B4A - Copy/Files/pedido.bal differ
diff --git a/B4A/Files/planfia_logo.png b/B4A - Copy/Files/planfia_logo.png
similarity index 100%
rename from B4A/Files/planfia_logo.png
rename to B4A - Copy/Files/planfia_logo.png
diff --git a/B4A/Files/planfia_logo_old.png b/B4A - Copy/Files/planfia_logo_old.png
similarity index 100%
rename from B4A/Files/planfia_logo_old.png
rename to B4A - Copy/Files/planfia_logo_old.png
diff --git a/B4A/Files/planfia_logo_old2.png b/B4A - Copy/Files/planfia_logo_old2.png
similarity index 100%
rename from B4A/Files/planfia_logo_old2.png
rename to B4A - Copy/Files/planfia_logo_old2.png
diff --git a/B4A - Copy/Files/principal.bal b/B4A - Copy/Files/principal.bal
new file mode 100644
index 0000000..7f616b6
Binary files /dev/null and b/B4A - Copy/Files/principal.bal differ
diff --git a/B4A - Copy/Files/productos.bal b/B4A - Copy/Files/productos.bal
new file mode 100644
index 0000000..51d45cc
Binary files /dev/null and b/B4A - Copy/Files/productos.bal differ
diff --git a/B4A/Files/qr.bal b/B4A - Copy/Files/qr.bal
similarity index 100%
rename from B4A/Files/qr.bal
rename to B4A - Copy/Files/qr.bal
diff --git a/B4A/Files/rechazo.jpg b/B4A - Copy/Files/rechazo.jpg
similarity index 100%
rename from B4A/Files/rechazo.jpg
rename to B4A - Copy/Files/rechazo.jpg
diff --git a/B4A/Files/rojo.png b/B4A - Copy/Files/rojo.png
similarity index 100%
rename from B4A/Files/rojo.png
rename to B4A - Copy/Files/rojo.png
diff --git a/B4A/Files/salma.jpg b/B4A - Copy/Files/salma.jpg
similarity index 100%
rename from B4A/Files/salma.jpg
rename to B4A - Copy/Files/salma.jpg
diff --git a/B4A/Files/salma.png b/B4A - Copy/Files/salma.png
similarity index 100%
rename from B4A/Files/salma.png
rename to B4A - Copy/Files/salma.png
diff --git a/B4A/Files/senial.jpg b/B4A - Copy/Files/senial.jpg
similarity index 100%
rename from B4A/Files/senial.jpg
rename to B4A - Copy/Files/senial.jpg
diff --git a/B4A/Files/sync.png b/B4A - Copy/Files/sync.png
similarity index 100%
rename from B4A/Files/sync.png
rename to B4A - Copy/Files/sync.png
diff --git a/B4A - Copy/Files/tache_rojo.png b/B4A - Copy/Files/tache_rojo.png
new file mode 100644
index 0000000..2f5f59d
Binary files /dev/null and b/B4A - Copy/Files/tache_rojo.png differ
diff --git a/B4A/Files/telefonos.bal b/B4A - Copy/Files/telefonos.bal
similarity index 100%
rename from B4A/Files/telefonos.bal
rename to B4A - Copy/Files/telefonos.bal
diff --git a/B4A/Files/tiendita.jpg b/B4A - Copy/Files/tiendita.jpg
similarity index 100%
rename from B4A/Files/tiendita.jpg
rename to B4A - Copy/Files/tiendita.jpg
diff --git a/B4A - Copy/Files/unilever.jpg b/B4A - Copy/Files/unilever.jpg
new file mode 100644
index 0000000..a144bdf
Binary files /dev/null and b/B4A - Copy/Files/unilever.jpg differ
diff --git a/B4A/Files/verde.png b/B4A - Copy/Files/verde.png
similarity index 100%
rename from B4A/Files/verde.png
rename to B4A - Copy/Files/verde.png
diff --git a/B4A - Copy/FirebaseMessaging.bas b/B4A - Copy/FirebaseMessaging.bas
new file mode 100644
index 0000000..5d2157b
--- /dev/null
+++ b/B4A - Copy/FirebaseMessaging.bas
@@ -0,0 +1,253 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Service
+Version=10.2
+@EndOfDesignText@
+'///////////////////////////////////////////////////////////////////////////////////////
+'/// Agregar estas lineas al editor de manifiestos
+'
+' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
+' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
+' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)
+' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)
+'
+'/// Agregar modulo de servicio nuevo FirebaseMessaging y copiar este modulo
+'
+'/// Bajar el archivo google-services.json de la consola de Firebase (https://console.firebase.google.com/)
+'/// El nombre de la app en el archivo json tiene que ser el mismo que el nombre del paquete (Proyecto/Conf de Compilacion/Paquete)
+'
+'/// En Starter agregar esta linea
+'
+' Sub Service_Create
+' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
+' End Sub
+'
+'/// En Main en Sub Process_Globals agregar esta linea
+'
+' Private const API_KEY As String = "AAAAv__xxxxxxxxxxxxx-xxxxxxxxxxxxxx-xxxxxxxxxxxx"
+'
+'/// Esta llave se consigue igualmente en la consola de Firebase, configuracion de proyecto, Cloud Messaging,
+'/// es la clave de servidor.
+'///
+'/// Se necesitan agregar las librerías: FirebaseAnalitics, FirebaseNotifications, JSON y OkHttpUtils2
+'/// ... JSON es necesario si se van a enviar mensajes, si solo se van a recibir, no es necesario.
+'
+'///////////////////////////////////////////////////////////////////////////////////////
+
+Sub Process_Globals
+ Private fm As FirebaseMessaging
+ Private const API_KEY As String = "AAAAv1qt3Lk:APA91bECIR-pHn6ul53eYyoVlpPuOo85RO-0zcAgEXwE7vqw8DFSbBtCaCINiqWQAkBBZXxHtQMdpU6B-jHIqgFKVL196UgwHv0Gw6_IgmipfV_NiItjzlH9d2QNpGLp9y_JUKVjUEhP"
+ Dim locRequest As String
+ Dim phn As Phone
+ Dim devModel As String
+ Dim pe As PhoneEvents
+ Dim c As Cursor
+ Public GZip As GZipStrings
+ Dim Subscrito As String = ""
+ Dim au As String
+ Dim puntosRuta As Int = 380
+End Sub
+
+Sub Service_Create
+ fm.Initialize("fm") 'Inicializamos FirebaseMessaging
+ pe.Initialize("pe") 'Para obtener la bateria
+End Sub
+
+Public Sub SubscribeToTopics
+' fm.SubscribeToTopic("Trckr") 'Global (you can subscribe to more topics)
+ fm.SubscribeToTopic("Trckr") 'Tracker global
+ Log("Subscrito al tracker global")
+ fm.SubscribeToTopic("Trckr-Durakelo") 'Global (you can subscribe to more topics)
+ Log("Subscrito a Trckr-Durakelo")
+ If Starter.usuario <> Subscrito Then
+ fm.SubscribeToTopic(Starter.usuario) 'Propio (you can subscribe to more topics)
+ fm.UnsubscribeFromTopic(Subscrito) 'Unsubscribe from topic
+ End If
+ If Starter.logger Then Log("Subscrito a "&Starter.usuario)
+ Subscrito = Starter.usuario
+End Sub
+
+Sub Service_Start (StartingIntent As Intent)
+ If StartingIntent.IsInitialized Then fm.HandleIntent(StartingIntent)
+ Sleep(0)
+ Service.StopAutomaticForeground 'remove if not using B4A v8+.
+ StartServiceAt(Me, DateTime.Now + 10 * DateTime.TicksPerMinute, True) 'Iniciamos servicio cada XX minutos
+End Sub
+
+Sub fm_MessageArrived (Message As RemoteMessage)
+ If Starter.logger Then Log("Message arrived")
+ If Starter.logger Then Log($"Message data: ${Message.GetData}"$)
+' getPhnId
+ If Message.GetData.ContainsKey("t") Then
+ Dim tipos As List = Regex.Split(",",Message.GetData.Get("t"))
+ If tipos.IndexOf("pu") <> -1 Or tipos.IndexOf("au") <> -1 Then 'Si es una peticion de ubicacion
+ If Starter.logger Then Log("Es una peticion de ubicacion")
+ locRequest="Activa"
+ If Starter.logger Then Log("Llamamos StartFLP2Reqs")
+ CallSubDelayed(Tracker, "StartFLP2Reqs")
+ CallSubDelayed(Tracker, "StartFLP")
+ End If
+ If tipos.IndexOf("au") <> -1 Then 'Si es una actualizacion de ubicacion
+ au = 1
+ End If
+ If tipos.IndexOf("ping") <> -1 Then 'Si es un ping
+ If Starter.logger Then Log("Es un ping")
+ If Starter.logger Then Log("Mandamos pong")
+ Dim params As Map = CreateMap("topic":"Sprv-Durakelo","title":"pong", "body":Starter.usuario&" - Recibi mensaje "&Message.GetData.Get("title"), "t":"pong")
+ SendMessage(params)
+ End If
+ If tipos.IndexOf("bgps") <> -1 Then 'Si es una instruccion de borrar archivo gps
+ If Starter.logger Then Log("Es una instruccion de borrar archivo gps")
+ If Starter.logger Then Log("Borramos archivo gps")
+ borramosArchivoGPS
+ End If
+ If tipos.IndexOf("dr") <> -1 Then 'Si es una peticion de ruta gps
+ If Starter.logger Then Log("Es una peticion de Ruta GPS")
+ Dim rutaGpsCmp As String = dameRuta
+ Dim params As Map = CreateMap("topic":"Sprv-Durakelo","title":"ruta", "body":Starter.usuario&" - Recibi mensaje "&Message.GetData.Get("title"), "t":"ruta", "r":rutaGpsCmp)
+ SendMessage(params)
+ End If
+ If tipos.IndexOf("bgps2") <> -1 Then 'Si es una instruccion de borrar DB gps
+ If Starter.logger Then Log("Es una instruccion de borrar BD gps")
+ If Starter.logger Then Log("Borramos BD gps")
+ borraGPSHist
+ End If
+ If tipos.IndexOf("pu") = -1 And tipos.IndexOf("au") = -1 And tipos.IndexOf("ping") = -1 And tipos.IndexOf("dr") = -1 Then
+ If Starter.logger Then Log("No es ping ni solicitud de ubicacion o ruta, entonces no hacemos nada")
+ End If
+ End If
+End Sub
+
+Sub Service_Destroy
+
+End Sub
+
+Sub SendMessage(params As Map)
+' Dim topic As String= params.Get("topic")
+' Dim title As String= params.Get("title")
+' Dim body As String= params.Get("body")
+' Dim tipo As String= params.Get("t")
+' If params.ContainsKey("r") Then
+' If Starter.logger Then Log("Con ruta")
+' Dim rutaGpsCmp As String= params.Get("r")
+' Else
+' If Starter.logger Then Log("Sin ruta")
+' Dim rutaGpsCmp As String = ""
+' End If
+' Dim Job As HttpJob
+' Job.Initialize("fcm", Me)
+' Dim m As Map = CreateMap("to": $"/topics/${topic}"$)
+' Dim data As Map = CreateMap("title":title, "body":body, "d":Starter.usuario, "t":tipo, "b":Main.batt, "mt":Main.montoActual, "r":rutaGpsCmp, "v":Main.v)
+' m.Put("data", data)
+' Dim jg As JSONGenerator
+' jg.Initialize(m)
+' Job.PostString("https://fcm.googleapis.com/fcm/send", jg.ToString)
+' Job.GetRequest.SetContentType("application/json;charset=UTF-8")
+' Job.GetRequest.SetHeader("Authorization", "key=" & API_KEY)
+' If Starter.logger Then Log(m)
+End Sub
+
+Sub mandamosLoc(coords As String)
+' If Starter.logger Then Log("Iniciamos mandamosLoc "&coords)
+' If Starter.logger Then Log("locRequest="&locRequest)
+' Dim t As String
+' guardaInfoEnArchivo(coords)'Escribimos coordenadas y fecha a un archivo de texto
+' If locRequest="Activa" Then 'Si hay solicitud de ubicacion, entonces la mandamos ...
+' If au = 1 Then
+' t = "au" ' es una actualizacion
+' Else
+' t = "u" ' es una peticion
+' End If
+' Dim params As Map = CreateMap("topic":"Sprv-Durakelo","title":"ubicacionRecibida", "body":coords, "t":t)
+' SendMessage(params)
+' locRequest="Enviada"
+' CallSubDelayed(Tracker,"CreateLocationRequest")
+' End If
+End Sub
+
+Sub guardaInfoEnArchivo(coords As String) 'Escribimos coordenadas y fecha a un archivo de texto
+'' Cambiamos el formato de la hora
+'' Dim OrigFormat As String=DateTime.DateFormat 'save orig date format
+'' DateTime.DateFormat="MMM-dd HH:mm:ss"
+'' Dim lastUpdate As String=DateTime.Date(DateTime.Now)
+'' DateTime.DateFormat=OrigFormat 'return to orig date format
+'
+' If Starter.logger Then Log("Guardamos ubicacion en db")
+' Dim latlon() As String = Regex.Split(",", coords)
+' Try
+' Main.skmt.ExecNonQuery2("INSERT INTO RUTA_GPS(fecha, lat, lon) VALUES (?,?,?)", Array As Object (latlon(2),latlon(0),latlon(1)))
+' Catch
+' If Starter.logger Then Log("Error guardando ubicacion") 'Si la horaMinSeg es el mismo no lo guarda
+' Log(LastException)
+' End Try
+End Sub
+
+Sub borramosArchivoGPS
+ Dim out As OutputStream = File.OpenOutput(File.DirRootExternal, "gps.txt", False)
+ Dim s As String = ""
+ Dim t() As Byte = s.GetBytes("UTF-8")
+ out.WriteBytes(t, 0, t.Length)
+ out.Close
+End Sub
+
+Sub pe_BatteryChanged (Level As Int, Scale As Int, Plugged As Boolean, Intent As Intent)
+' Main.batt=Level
+End Sub
+
+Sub compress(str As String) As String
+ ' Compression
+ Private su As StringUtils
+ Dim compressed() As Byte = GZip.compress(str)
+ If Starter.logger Then Log($"CompressedBytesLength: ${compressed.Length}"$)
+ Dim base64 As String = su.EncodeBase64(compressed)
+ If Starter.logger Then Log($"CompressedBytes converted to base64 Length: ${base64.Length}"$)
+ If Starter.logger Then Log($"CompressedBytes converted to base64: ${base64}"$)
+ Return base64
+End Sub
+
+Sub decompress(base64 As String) As String
+ ' Decompression
+ Private su As StringUtils
+ Dim decompressedbytes() As Byte = su.DecodeBase64(base64)
+ If Starter.logger Then Log($"decompressedbytesLength: ${decompressedbytes.Length}"$)
+ Dim bc As ByteConverter
+ Dim uncompressed As String = bc.StringFromBytes(decompressedbytes,"UTF8")
+ If Starter.logger Then Log($"uncompressedLength: ${uncompressed.Length}"$) ' 6163 Bytes
+ If Starter.logger Then Log($"Decompressed String = ${uncompressed}"$)
+ Return uncompressed
+End Sub
+
+Sub dameRuta As String
+' If Starter.logger Then Log("dameRuta")
+' Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
+' DateTime.DateFormat="yyMMdd"
+'' Dim lastUpdate As String=DateTime.Date(fecha)
+' Dim hoy As String = DateTime.Date(DateTime.Now)&"000000"
+' DateTime.DateFormat=OrigFormat 'return to orig date format
+' If Starter.logger Then Log(hoy)
+' Dim c As Cursor
+' c = Main.skmt.ExecQuery("select LAT, LON from RUTA_GPS where fecha > "& hoy &" order by fecha desc limit "&puntosRuta)
+' c.Position = 0
+' Dim ruta2 As String = ""
+' If c.RowCount>0 Then
+' For i=0 To c.RowCount -1
+' c.Position=i
+' ruta2=ruta2&CRLF&c.GetString("LAT")&","&c.GetString("LON")
+' Next
+' End If
+' c.Close
+' Return compress(ruta2)
+End Sub
+
+Sub borraGPSHist
+' c=Main.skmt.ExecQuery("select count(*) as cuantos FROM RUTA_GPS")
+' c.Position=0
+' If Starter.logger Then Log(c.GetInt("cuantos"))
+' Main.skmt.ExecNonQuery("delete from RUTA_GPS")
+' c=Main.skmt.ExecQuery("select count(*) as cuantos FROM RUTA_GPS")
+' c.Position=0
+' Log(c.GetInt("cuantos"))
+' Log("Borramos RUTA_GPS")
+' c.Close
+End Sub
\ No newline at end of file
diff --git a/B4A - Copy/ManageExternalStorage.bas b/B4A - Copy/ManageExternalStorage.bas
new file mode 100644
index 0000000..f14c1f7
--- /dev/null
+++ b/B4A - Copy/ManageExternalStorage.bas
@@ -0,0 +1,79 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=10.7
+@EndOfDesignText@
+' Version 1.00
+#Event: StorageAvailable
+Sub Class_Globals
+ Private ion As Object
+ Private mCallback As Object
+ Private mEventName As String
+
+End Sub
+
+
+' This pretty trivial class is modelled on (plagiarised from!) Erel's ExternalStorage class
+' It applies to devices implementing SDK30 and later
+' It allows apps to access the internal 'external' storage as was possible on earlier Android versions ussing traditional file I/O
+' You must manually add 'AddPermission(android.permission.MANAGE_EXTERNAL_STORAGE)' to the manifest
+' You must ensure that you provide the package name of your app in Sub GetPermission
+' This class uses the MANAGE_APP_ALL_FILES_ACCESS_PERMISSION intent action to direct users to a system settings page
+' They must enable the option on that page to give permission
+
+'Initializes the object
+Public Sub Initialize (Callback As Object, EventName As String)
+ mCallback = Callback
+ mEventName = EventName
+End Sub
+
+
+' Determine if the app already has MANAGE_EXTERNAL_STORAGE call Environment.isExternalStorageManager()
+' Return True if this app already has MANAGE_EXTERNAL_STORAGE permission
+Public Sub HasPermission As Boolean
+ Dim has As Boolean
+ Dim jo As JavaObject
+ jo.InitializeStatic("android.os.Environment")
+ has = jo.RunMethod("isExternalStorageManager", Null)
+ Return has
+End Sub
+
+' Check whether this app has MANAGE_EXTERNAL_STORAGE permission
+' If not show the user a dialog to enable MANAGE_EXTERNAL_STORAGE permission for this app
+' Raises the StorageAvailable event in the calling activity when complete
+Public Sub GetPermission
+ If HasPermission Then
+ RaiseEvent
+ Return
+ End If
+ Dim in As Intent
+ ' Be sure to reference your app package name in "pakageg:xxx"
+ in.Initialize("android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION", $"package:${Application.PackageName}"$)
+ StartActivityForResult(in)
+End Sub
+
+
+Private Sub RaiseEvent
+ Log("Calling : " & mEventName & "_StorageAvailable")
+ CallSubDelayed(mCallback, mEventName & "_StorageAvailable")
+End Sub
+
+
+Private Sub ion_Event (MethodName As String, Args() As Object) As Object
+ RaiseEvent
+ Return Null
+End Sub
+
+
+Private Sub StartActivityForResult(i As Intent)
+ Dim jo As JavaObject = GetBA
+ ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
+ jo.RunMethod("startActivityForResult", Array As Object(ion, i))
+End Sub
+
+Private Sub GetBA As Object
+ Dim jo As JavaObject = Me
+ Return jo.RunMethod("getBA", Null)
+End Sub
+
diff --git a/B4A - Copy/Starter.bas b/B4A - Copy/Starter.bas
new file mode 100644
index 0000000..abc79cc
--- /dev/null
+++ b/B4A - Copy/Starter.bas
@@ -0,0 +1,108 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Service
+Version=9.85
+@EndOfDesignText@
+#Region Service Attributes
+ #StartAtBoot: False
+ #ExcludeFromLibrary: True
+#End Region
+
+Sub Process_Globals
+ 'These global variables will be declared once when the application starts.
+ 'These variables can be accessed from all modules.
+ Dim logger As Boolean = True
+ Dim lat_gps, lon_gps As String
+ Dim rp As RuntimePermissions
+ Dim skmt As SQL
+ Dim usuario As String
+ Dim ultimaActualizacionGPS As String = 235959
+ Private BTAdmin As BluetoothAdmin
+ Dim MAC_IMPRESORA As String
+ Public BluetoothState As Boolean
+ Public rp As RuntimePermissions
+ Public FLP As FusedLocationProvider
+ Dim Timer1 As Timer
+ Dim Interval As Int = 300
+ Private flpStarted As Boolean
+ Dim DBReqServer As String = "http://keymon.lat:1782"
+ Dim FECHA_HOY As String
+ Dim tipov As String = ""
+End Sub
+
+Sub Service_Create
+ 'This is the program entry point.
+ 'This is a good place to load resources that are not specific to a single activity.
+ CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
+ BTAdmin.Initialize("admin")
+' serial.Initialize("serial")
+ If BTAdmin.IsEnabled = False Then
+ If BTAdmin.Enable = False Then
+ ToastMessageShow("Error enabling Bluetooth adapter.", True)
+ Else
+ ToastMessageShow("Enabling Bluetooth adapter...", False)
+ End If
+ Else
+ BluetoothState = True
+ End If
+ Timer1.Initialize("Timer1", Interval * 1000)
+ Timer1.Enabled = True
+End Sub
+
+Sub Service_Start (StartingIntent As Intent)
+ Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases.
+ If File.Exists(File.DirInternal, "kmt.db") = False Then File.Copy(File.DirAssets, "kmt.db", File.DirInternal, "kmt.db")
+ skmt.Initialize(File.DirInternal,"kmt.db", True)
+ StartService(Tracker)
+End Sub
+
+Private Sub BTAdmin_StateChanged (NewState As Int, OldState As Int)
+ If logger Then Log("BT state changed: " & NewState)
+ BluetoothState = NewState = BTAdmin.STATE_ON
+' StateChanged
+End Sub
+
+Private Sub Timer1_Tick
+' ToastMessageShow("Timer",False)
+ If logger Then Log("Siguiente actuaizacion " & DateTime.Time(DateTime.Now + Interval * 1000))
+ ENVIA_ULTIMA_GPS
+End Sub
+
+Sub Service_TaskRemoved
+ 'This event will be raised when the user removes the app from the recent apps list.
+End Sub
+
+'Return true to allow the OS default exceptions handler to handle the uncaught exception.
+Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
+ Return True
+End Sub
+
+Sub Service_Destroy
+
+End Sub
+
+Sub ENVIA_ULTIMA_GPS 'ignore
+ Log("Iniciamos ENVIA_ULTIMA_GPS")
+ Dim skmt As SQL
+ Dim cmd As DBCommand
+ Dim reqManager As DBRequestManager
+ DateTime.TimeFormat = "HHmmss"
+ ultimaActualizacionGPS = DateTime.Time(DateTime.Now)
+ reqManager.Initialize(Me, DBReqServer)
+ skmt.Initialize(File.DirInternal,"kmt.db", True)
+' cmd.Initialize
+' cmd.Name = "select_fechat"
+' reqManager.ExecuteQuery(cmd , 0, "fechat")
+' Dim cmd As DBCommand
+' cmd.Initialize
+' cmd.Name = "UPDATE_DURK_ACTUAL2_GPS"
+' cmd.Parameters = Array As Object(Main.montoActual,Main.clientestotal, Main.clientesventa,Main.clientesvisitados,lat_gps,lon_gps,Main.batt,0, 0, 0,Main.ALMACEN,Main.rutapreventa)
+' reqManager.ExecuteCommand(cmd,"inst_visitas")
+' skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
+
+ 'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion"
+ Timer1.Enabled = False
+ Timer1.Interval = Interval * 1000
+ Timer1.Enabled = True
+End Sub
\ No newline at end of file
diff --git a/B4A - Copy/Tracker.bas b/B4A - Copy/Tracker.bas
new file mode 100644
index 0000000..b6f43f8
--- /dev/null
+++ b/B4A - Copy/Tracker.bas
@@ -0,0 +1,223 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Service
+Version=10.2
+@EndOfDesignText@
+#Region Service Attributes
+ #StartAtBoot: True
+#End Region
+'******************************************************************************
+'No olvidar agregar esta linea al editor de manifiesto:
+' SetServiceAttribute(Tracker, android:foregroundServiceType, "location")
+'
+'En Starter agregar estas lineas en Process_Globals
+' Public rp As RuntimePermissions
+' Public FLP As FusedLocationProvider
+' Private flpStarted As Boolean
+'
+'En Main agregar estas lineas a Activity_Resume
+' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
+' Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
+' If Result Then
+' StartService(Tracker)
+' Log("Start Tracker")
+' Else
+' ToastMessageShow("No permission", True)
+' End If
+'
+'Se necesitan las librerias FusedLocationProvider, GPS, Phone y RunTimePermissions
+'
+'Y en Main agregar estas dos lineas:
+'#AdditionalJar: com.android.support:support-v4
+'#AdditionalJar: com.google.android.gms:play-services-location
+
+Sub Process_Globals
+ Private nid As Int = 1
+ Private Tracking As Boolean
+ Private lock As PhoneWakeState
+ 'Para FusedLocationProvider (2 lineas)
+ Public FLP As FusedLocationProvider
+ Dim actualLR As LocationRequest
+ Private flpStarted As Boolean
+End Sub
+
+Sub Service_Create
+ Service.AutomaticForegroundMode = Service.AUTOMATIC_FOREGROUND_NEVER 'we are handling it ourselves
+ 'Para FusedLocationProvider (2 lineas)
+ FLP.Initialize("flp")
+ FLP.Connect
+ lock.PartialLock
+ StartFLP
+End Sub
+
+Sub flp_ConnectionSuccess
+ If Starter.logger Then Log("Connected to location provider")
+ 'FLP.GetLastKnownLocation
+End Sub
+
+Sub flp_ConnectionFailed(ConnectionResult1 As Int)
+ If Starter.logger Then Log("Failed to connect to location provider")
+End Sub
+
+Sub flp_ConnectionSuspended(ConnectionResult1 As Int)
+ If Starter.logger Then Log("FLP conection suspended")
+ StartFLP
+End Sub
+
+Sub Service_Start (StartingIntent As Intent)
+ If Starter.logger Then Log("Tracker Service Started")
+ 'Para FusedLocationProvider (1 linea)
+ Service.StopAutomaticForeground
+ Service.StartForeground(nid, CreateNotification("..."))
+ Track
+ StartServiceAt(Me, DateTime.Now + 5 * DateTime.TicksPerMinute, True)
+End Sub
+
+Public Sub Track
+ If Starter.logger Then Log("Inicia Track - Tracking : "&Tracking)
+ If Tracking Then
+' Log(actualLR.GetSmallestDisplacement)
+ Return 'Si ya estamos "rastreando" no hacemos nada (return)
+ End If
+ If Starter.rp.Check(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION) = False Then
+ If Starter.logger Then Log("No permission")
+ Return
+ End If
+ StartFLP 'Iniciamos FusedLocationProvider
+ Tracking = True
+End Sub
+
+Public Sub StartFLP
+ Log("StartFLP - flpStarted="&flpStarted)
+ Do While FLP.IsConnected = False
+ Sleep(500)
+ If Starter.logger Then Log("sleeping")
+ Loop
+' If flpStarted = False Then
+ If Starter.logger Then Log("RequestLocationUpdates")
+ FLP.RequestLocationUpdates(CreateLocationRequest) 'Buscamos ubicacion
+ If Starter.logger Then Log("Buscamos ubicacion")
+ If Starter.logger Then Log(actualLR.GetSmallestDisplacement)
+ flpStarted = True
+' End If
+End Sub
+
+Public Sub StartFLP2Reqs
+ If Starter.logger Then Log("StartFLP - flpStarted="&flpStarted)
+ Do While FLP.IsConnected = False
+ Sleep(500)
+ If Starter.logger Then Log("sleeping")
+ Loop
+ dameUltimaUbicacionConocida 'Regresamos ultima ubicacion conocida
+ FLP.RequestLocationUpdates(CreateLocationRequest2times) 'Buscamos ubicacion 2 peticiones
+ If Starter.logger Then Log("Buscamos ubicacion 2 peticiones")
+ If Starter.logger Then Log(actualLR.GetSmallestDisplacement)
+End Sub
+
+Private Sub CreateLocationRequest As LocationRequest
+ If Starter.logger Then Log("CreateLocationRequest")
+ Dim lr As LocationRequest
+ lr.Initialize
+ lr.SetInterval(10000) 'Intervalo deseado para actualizaciones de ubicacion
+ lr.SetFastestInterval(lr.GetInterval / 2) 'Intervalo minimo para actualizaciones de ubicacion
+ lr.SetSmallestDisplacement(75) 'Solo registra cambio de ubicacion si es mayor a XX mts
+ lr.SetPriority(lr.Priority.PRIORITY_HIGH_ACCURACY)
+ actualLR=lr
+ Return lr
+End Sub
+
+Private Sub CreateLocationRequest2times As LocationRequest
+ If Starter.logger Then Log("Iniciamos CreateLocationRequest2times")
+ Dim lr As LocationRequest
+ lr.Initialize
+ lr.SetInterval(2000) 'Intervalo deseado para actualizaciones de ubicacion
+ lr.SetFastestInterval(lr.GetInterval / 2) 'Intervalo minimo para actualizaciones de ubicacion
+ lr.setNumUpdates(2) 'Solicitamos solo 2 actualizaciones con estos parametros
+ lr.SetSmallestDisplacement(10) 'Solo registra cambio de ubicacion si es mayor a XX mts
+ lr.SetPriority(lr.Priority.PRIORITY_HIGH_ACCURACY)
+ actualLR=lr
+ Return lr
+End Sub
+
+Sub dameUltimaUbicacionConocida
+ If FLP.GetLastKnownLocation.IsInitialized Then 'Mandamos ultima ubicacion guardada
+ If Starter.logger Then Log("Mandamos GetLastKnownLocation : "&formatoFecha(FLP.GetLastKnownLocation.Time))
+ Dim coords As String = FLP.GetLastKnownLocation.Latitude&","&FLP.GetLastKnownLocation.Longitude&","&formatoFecha(FLP.GetLastKnownLocation.Time)
+ CallSubDelayed2(FirebaseMessaging,"mandamosLoc",coords)
+ End If
+End Sub
+
+Public Sub StopFLP
+ 'Log("StopFLP")
+ If flpStarted Then
+ FLP.RemoveLocationUpdates 'Eliminamos todas las solicitudes de ubicacion
+ flpStarted = False
+ End If
+End Sub
+
+Sub flp_LocationChanged (Location1 As Location)
+ If Starter.logger Then Log("SmallestDisplacement="&actualLR.GetSmallestDisplacement)
+' CallSub2(Starter, "GPS_LocationChanged", Location1)
+' CallSub2(gestion, "GPS_LocationChanged", Location1)
+' CallSub2(MAPA_RUTAS, "GPS_LocationChanged", Location1)
+' CallSub2(fila, "GPS_LocationChanged", Location1)
+
+ Starter.lat_gps = Location1.Latitude
+ Starter.lon_gps = Location1.Longitude
+ '/////// para la ultima ubicacion FL
+ Dim sDate,sTime As String
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+ Try
+ 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))
+ Catch
+ If Starter.logger Then Log("Error al borrar o insertar nuevas coordendas en HIST_GPS")
+ End Try
+ '///////
+ Dim coords As String = Location1.Latitude&","&Location1.Longitude&","&formatoFecha(Location1.Time)
+ If Starter.logger Then Log("Loc changed : "&Location1.Latitude&","&Location1.Longitude&"|"&Starter.usuario&"|")
+ If Starter.logger Then Log("Mandamos Ubicacion")
+ If Starter.logger Then Log(FirebaseMessaging.locRequest)
+ ' Solo mandamos la ubicacion si la precision es dentro de XX mts
+ If Location1.Accuracy < 300 Then CallSubDelayed2(FirebaseMessaging,"mandamosLoc",coords)
+ Dim origFormat As String = DateTime.TimeFormat 'Guardamos formato de fecha
+ DateTime.TimeFormat = "HHmmss" ' Modificamos formato de fecha
+ Dim minsDif As Int = DateTime.Time(DateTime.Now) - Starter.ultimaActualizacionGPS
+' If Starter.logger Then Log("UltimaAct="&Starter.ultimaActualizacionGPS&" MinsDif="&minsDif)
+ If Location1.Accuracy < 100 And minsDif > 240 Then 'Si precision de 100 y 4 min transcurridos manda a web
+ If Starter.logger Then Log("actualizamos Ubicacion")
+ CallSubDelayed(Starter, "ENVIA_ULTIMA_GPS")
+ End If
+ DateTime.TimeFormat = origFormat 'Regresamos formato de fecha original
+' CallSubDelayed2(FirebaseMessaging,"mandamosLoc",coords)
+End Sub
+
+Sub CreateNotification (Body As String) As Notification
+ Dim notification As Notification
+ notification.Initialize2(notification.IMPORTANCE_LOW)
+ notification.Icon = "icon"
+ notification.SetInfo("Durakelo", Body, Main)
+ If Starter.logger Then Log("Creamos notificacion")
+ Return notification
+End Sub
+
+Sub Service_Destroy
+ If Tracking Then
+ StopFLP
+ End If
+ Tracking = False
+ lock.ReleasePartialLock
+End Sub
+
+Sub formatoFecha(fecha As String) As String 'Convierte una fecha al formato yyMMddHHmmss
+' Log(fecha)
+ Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
+ DateTime.DateFormat="yyMMddHHmmss"
+ Dim lastUpdate As String=DateTime.Date(fecha)
+ DateTime.DateFormat=OrigFormat 'return to orig date format
+' Log(lastUpdate)
+ Return lastUpdate
+End Sub
\ No newline at end of file
diff --git a/B4A - Copy/google-services.json b/B4A - Copy/google-services.json
new file mode 100644
index 0000000..b21b6d3
--- /dev/null
+++ b/B4A - Copy/google-services.json
@@ -0,0 +1,155 @@
+{
+ "project_info": {
+ "project_number": "821860097209",
+ "project_id": "pusher-4c091",
+ "storage_bucket": "pusher-4c091.appspot.com"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:821860097209:android:7bdc730c1cad5927f24f68",
+ "android_client_info": {
+ "package_name": "durakelo.keymon.com.mx"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "821860097209-ef17t5620111ghub7l0tple62otbb56v.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyDS-_5lpLX5IiKYrG-0Et-KCKx1bwlY7R0"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "821860097209-ef17t5620111ghub7l0tple62otbb56v.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:821860097209:android:4a9c1af4c93ba100f24f68",
+ "android_client_info": {
+ "package_name": "flp2.chv.com"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "821860097209-ef17t5620111ghub7l0tple62otbb56v.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyDS-_5lpLX5IiKYrG-0Et-KCKx1bwlY7R0"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "821860097209-ef17t5620111ghub7l0tple62otbb56v.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:821860097209:android:7b6620b2a870f23cf24f68",
+ "android_client_info": {
+ "package_name": "gunav2.keymon.com.mx"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "821860097209-ef17t5620111ghub7l0tple62otbb56v.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyDS-_5lpLX5IiKYrG-0Et-KCKx1bwlY7R0"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "821860097209-ef17t5620111ghub7l0tple62otbb56v.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:821860097209:android:7780f81ae43bf0f3f24f68",
+ "android_client_info": {
+ "package_name": "pusher.chv.com"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "821860097209-ef17t5620111ghub7l0tple62otbb56v.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyDS-_5lpLX5IiKYrG-0Et-KCKx1bwlY7R0"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "821860097209-ef17t5620111ghub7l0tple62otbb56v.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:821860097209:android:7c55bc95da6d952df24f68",
+ "android_client_info": {
+ "package_name": "ths.keymon.com.mx"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "821860097209-ef17t5620111ghub7l0tple62otbb56v.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyDS-_5lpLX5IiKYrG-0Et-KCKx1bwlY7R0"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "821860097209-ef17t5620111ghub7l0tple62otbb56v.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/B4A - Copy/kms_helperSubs.bas b/B4A - Copy/kms_helperSubs.bas
new file mode 100644
index 0000000..8d16374
--- /dev/null
+++ b/B4A - Copy/kms_helperSubs.bas
@@ -0,0 +1,545 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=12.2
+@EndOfDesignText@
+Sub Class_Globals
+ Private Root As B4XView 'ignore
+ Private xui As XUI 'ignore
+ Dim skmt, rkmt As SQL
+ Private EventName As String 'ignore
+ Private CallBack As Object 'ignore
+ Dim rp As RuntimePermissions
+ Dim safePath As String
+ Dim fechaHoy As String
+ Dim skmtAttached As Boolean = False
+ '####### MES Vars ######
+ Private ion As Object
+' Dim device As Phone
+' Private mesCallback As Object
+' Private mesEventName As String
+ Dim RD_Init_IsInitialized As Boolean = False
+ Dim btAdmin As BluetoothAdmin
+End Sub
+
+'Inicializa la clase "kms_helperSubs".
+Public Sub Initialize (vCallback As Object, vEventName As String) As Object
+ EventName = vEventName
+ CallBack = vCallback
+ Return Me
+End Sub
+
+'This event will be called once, before the page becomes visible.
+'Private Sub B4XPage_Created (Root1 As B4XView)
+' Root = Root1
+' 'load the layout to Root
+'End Sub
+
+'RD - Inicializa Respaldo Diario
+Sub RD_Init
+ Dim Dirp As String = File.DirRootExternal
+ Dim Dir As String
+' Dim Dir2 As String
+ Try
+ File.MakeDir(Dirp,"/kmts")
+ Dir = "/kmts"
+' Log("creado en kmts " & Dirp & Dir)
+ Catch
+ Dir = ""
+' Log("creado en raiz")
+ End Try
+ safePath = Dirp & Dir
+ If Starter.Logger Then Log($"Safepath:${safePath}"$)
+ Private name() As String = Regex.split(" ", Application.LabelName)
+ rkmt.Initialize(safePath,$"${name(0)}.rkmt.km"$, True)
+ skmt.Initialize(File.DirInternal,"kmt.db", False)
+ If chkIfTableExists(skmt, "PEDIDO") Then rkmt.ExecNonQuery($"create table if not exists PEDIDO (${getTableColumnList(skmt, "PEDIDO")}, FECHA TEXT)"$)
+ If chkIfTableExists(skmt, "CAT_DETALLES_PAQ") Then rkmt.ExecNonQuery($"create table if not exists CAT_DETALLES_PAQ (${getTableColumnList(skmt, "CAT_DETALLES_PAQ")}, FECHA TEXT)"$)
+ If chkIfTableExists(skmt, "CAT_GUNAPROD") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD (${getTableColumnList(skmt, "CAT_GUNAPROD")}, FECHA TEXT)"$)
+ If chkIfTableExists(skmt, "CAT_GUNAPROD2") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD2 (${getTableColumnList(skmt, "CAT_GUNAPROD2")}, FECHA TEXT)"$)
+ If chkIfTableExists(skmt, "kmt_info") Then rkmt.ExecNonQuery($"create table if not exists kmt_info (${getTableColumnList(skmt, "kmt_info")}, FECHA TEXT)"$)
+ DateTime.DateFormat = "MM/dd/yyyy"
+ fechaHoy = DateTime.Date(DateTime.Now)
+ If Starter.Logger Then Log("RKMTS: " & rkmt.IsInitialized)
+ If revisaSkmtAttached And rkmt.IsInitialized Then RD_Init_IsInitialized = True Else RD_Init_IsInitialized = False
+End Sub
+
+'RD - Revisa si esta montada "kmt.db" como "skmt1" y si no, la monta
+'Para que "rkmt" vea a "skmt", es necesario montarla (attach).
+Sub revisaSkmtAttached As Boolean
+ skmtAttached = False
+ Dim rs As ResultSet = rkmt.ExecQuery("SELECT * FROM pragma_database_list")
+ Do While rs.NextRow 'Revisamos si esta montada "kmt.db" como "skmt1" y si no, la montamos.
+ If rs.GetString("name") = "skmt1" Then skmtAttached = True
+ Loop
+ If Not(skmtAttached) Then
+ rkmt.ExecNonQuery($"attach database '${File.Combine(File.DirInternal, "kmt.db")}' as skmt1;"$)
+ skmtAttached = True
+ End If
+ Return skmtAttached
+End Sub
+
+'Inicializa la BD con "kmt.db" en "File.DirInternal", si el archivo no existe, lo copia desde "File.DirAssets".
+'Ej: dim skmt as sql = dbInit
+Sub dbInit As SQL 'ignore
+ Private db As SQL
+ If File.Exists(File.DirInternal, "kmt.db") = False Then File.Copy(File.DirAssets, "kmt.db", File.DirInternal, "kmt.db")
+ db.Initialize(File.DirInternal,"kmt.db", True)
+' dbOk(True)
+' Log(db.IsInitialized)
+ Return db
+End Sub
+
+'RD - Copia la tabla PEDIDO a rkmt.db en la tarjeta del celular.
+Sub RD_respalda_pedido
+ Private inicio As String = DateTime.Now
+' Log("Copiando PEDIDO ...")
+ Private lasCols As String = getTableColumnListName(skmt, "PEDIDO")
+ rkmt.BeginTransaction
+ rkmt.ExecNonQuery($"delete from PEDIDO where FECHA = '${fechaHoy}'"$)
+ rkmt.ExecNonQuery($"insert into PEDIDO (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.PEDIDO where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$)
+ rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
+ rkmt.EndTransaction
+ Log(((DateTime.Now - inicio)/1000) & " segs")
+End Sub
+
+'RD - Copia la tabla CAT_GUNAPRODS a rkmt.db en la tarjeta del celular.
+Sub RD_respalda_cat_gunaprod
+ Private inicio As String = DateTime.Now
+' Log("Copiando CAT_GUNAPROD ...")
+ Private lasCols As String = getTableColumnListName(skmt, "CAT_GUNAPROD")
+ lasCols = lasCols.Replace(", CAT_GP_IMG", "") 'Quitamos la imagen del respaldo.
+ rkmt.BeginTransaction
+ rkmt.ExecNonQuery($"delete from CAT_GUNAPROD where FECHA = '${fechaHoy}'"$)
+ rkmt.ExecNonQuery($"insert into CAT_GUNAPROD (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.CAT_GUNAPROD"$)
+ rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
+ rkmt.EndTransaction
+ Log(((DateTime.Now - inicio)/1000) & " segs")
+End Sub
+
+'RD - Copia la tabla CAT_GUNAPROD2 a rkmt.db en la tarjeta del celular.
+Sub RD_respalda_cat_gunaprod2
+ Private inicio As String = DateTime.Now
+' Log("Copiando CAT_GUNAPROD2 ...")
+ Private lasCols As String = getTableColumnListName(skmt, "CAT_GUNAPROD2")
+ lasCols = lasCols.Replace(", CAT_GP_IMG", "") 'Quitamos la imagen del respaldo.
+ rkmt.BeginTransaction
+ rkmt.ExecNonQuery($"delete from CAT_GUNAPROD2 where FECHA = '${fechaHoy}'"$)
+ rkmt.ExecNonQuery($"insert into CAT_GUNAPROD2 (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.CAT_GUNAPROD2"$)
+ rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
+ rkmt.EndTransaction
+ Log(((DateTime.Now - inicio)/1000) & " segs")
+End Sub
+
+'RD - Copia la tabla CAT_DETALLE_PAQ a rkmt.db en la tarjeta del celular.
+Sub RD_respalda_cat_detalle_paq
+ Private inicio As String = DateTime.Now
+' Log("Copiando CAT_DETALLES_PAQ ...")
+ Private lasCols As String = getTableColumnListName(skmt, "CAT_DETALLES_PAQ")
+ If rkmt.IsInitialized Then
+ rkmt.BeginTransaction
+ rkmt.ExecNonQuery($"delete from CAT_DETALLES_PAQ where fecha = '${fechaHoy}'"$)
+ rkmt.ExecNonQuery($"insert into CAT_DETALLES_PAQ (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.CAT_DETALLES_PAQ"$)
+ rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
+ rkmt.EndTransaction
+ Log(((DateTime.Now - inicio)/1000) & " segs")
+ End If
+End Sub
+
+'RD - Copia la tabla CAT_DETALLE_PAQ a rkmt.db en la tarjeta del celular.
+Sub RD_respalda_kmt_info
+ Private inicio As String = DateTime.Now
+' Log("Copiando kmt_info ...")
+ Private lasCols As String = getTableColumnListName(skmt, "kmt_info")
+ rkmt.BeginTransaction
+ rkmt.ExecNonQuery($"delete from kmt_info where fecha = '${fechaHoy}'"$)
+ rkmt.ExecNonQuery($"insert into kmt_info (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.kmt_info"$)
+ rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
+ rkmt.EndTransaction
+ Log(((DateTime.Now - inicio)/1000) & " segs")
+End Sub
+
+'RD - Realiza un "vacuum" de la base de datos "rkmt".
+Sub RD_vacuum 'ignore
+ Log("Vacuum")
+ rkmt.ExecNonQuery("vacuum;")
+End Sub
+
+'Agrega una columna a la tabla especificada.
+'Hay que indicar el "tipo" de la columna (TEXT, INTEGER, ETC)
+'Ej. agregaColumna(DB, "TABLA", "COLUMNA", "TIPO")
+Sub agregaColumna(db As SQL, tabla As String, columna As String, tipo As String) 'ignore
+ Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla
+ Private c As Cursor = db.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('${tabla}') WHERE name='${columna}'"$)
+ c.Position = 0
+ If c.GetString("fCol") = 0 Then 'Si no esta la columna la agregamos
+ db.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
+ Log($"Columna "${columna} ${tipo}", agregada a "${tabla}"."$)
+ End If
+ Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch
+ Try
+ db.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
+ Log($"Columna "${columna} ${tipo}", agregada a "${tabla}".."$)
+ Catch
+ Log(LastException)
+ End Try
+ End Try
+End Sub
+
+'Regresa los nombres y tipos de las columnas de una tabla dada.
+Sub getTableColumnList(db As SQL, table As String) As String 'ignore
+ Private l As String = ""
+ If chkIfTableExists(db, table) Then
+ Private c As Cursor = db.ExecQuery($"pragma table_info(${table})"$)
+ If c.RowCount > 0 Then
+ For i = 0 To c.RowCount - 1
+ c.Position = i
+ If l.Length = 0 Then
+ l = $"${c.GetString("name")} ${c.GetString("type")}"$
+ Else
+ l = $"${l}, ${c.GetString("name")} ${c.GetString("type")}"$
+ End If
+ Next
+ End If
+ Else
+ Return "No existe la tabla."
+ End If
+ c.Close
+ Return l
+End Sub
+
+'Regresa solo los nombres de las columnas de una tabla dada.
+Sub getTableColumnListName(db As SQL, table As String) As String 'ignore
+ Private l As String = ""
+ If chkIfTableExists(db, table) Then
+ Private c As Cursor = db.ExecQuery($"pragma table_info(${table})"$)
+ If c.RowCount > 0 Then
+ For i = 0 To c.RowCount - 1
+ c.Position = i
+ If l.Length = 0 Then
+ l = $"${c.GetString("name")}"$
+ Else
+ l = $"${l}, ${c.GetString("name")}"$
+ End If
+ Next
+ End If
+ Else
+ Return "No existe la tabla."
+ End If
+ c.Close
+ Return l
+End Sub
+
+'Revisa si una tabla dada existe en una base de datos dada, regresa true o false.
+Sub chkIfTableExists(db As SQL, table As String) As Boolean 'ignore
+ Private t As Boolean = False 'ignore
+ If db.IsInitialized Then
+ Private c As Cursor = db.ExecQuery($"SELECT name FROM sqlite_master WHERE type='table' AND name='${table}'"$)
+ If c.RowCount > 0 Then t = True
+ c.Close
+ End If
+ Return t
+End Sub
+
+'Hace visible y trae al frente el panel con los parametros "Top" y "Left" dados
+Sub panelVisible(panel As Panel, top As Int, left As Int) 'ignore
+ panel.BringToFront
+ panel.Visible = True
+ panel.Top = top
+ panel.Left = left
+End Sub
+
+'Centra una etiqueta dentro de un elemento superior
+Sub centraEtiqueta(elemento As Label, anchoElementoSuperior As Int) 'ignore
+ elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
+ etiquetaCentrada(True)
+End Sub
+
+Sub etiquetaCentrada(Success As Boolean)
+ If SubExists(CallBack, EventName & "_etiquetaCentrada") Then
+ CallSub2(CallBack, EventName & "_etiquetaCentrada", Success)
+ End If
+End Sub
+
+'Centra un panel horizontalmente dentro de un elemento superior
+Sub centraPanel(elemento As Panel, anchoElementoSuperior As Int) 'ignore
+ elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
+End Sub
+
+'Centra un panel verticalmente dentro de un elemento superior
+Sub centraPanelV(elemento As Panel, altoElementoSuperior As Int) 'ignore
+ elemento.Top = Round(altoElementoSuperior/2)-(elemento.Height/2)
+End Sub
+
+'Centra una barra de progreso dentro de un elemento superior
+Sub centraProgressBar(elemento As ProgressBar, anchoElementoSuperior As Int) 'ignore
+ elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
+End Sub
+
+'Regresa el usuario de la tabla USUARIOA, si no lo encuentra regresa "SinUsuario"
+Sub traeUsuarioDeDB(db As SQL) As String 'ignore
+ Private c As Cursor
+ Private u As String = "SinUsuario"
+ c = db.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ If c.RowCount > 0 Then u = c.GetString("USUARIO")
+ c.Close
+ Return u
+End Sub
+
+'Regresa el almacen actual de la base de datos.
+Sub traeAlmacen(db As SQL) As String 'ignore
+ Private c As Cursor
+ Private a As String
+ c = db.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
+ c.Position = 0
+ a = c.GetString("ID_ALMACEN")
+ c.Close
+ Return a
+End Sub
+
+'Regresa el nombre del producto desde CAT_GUNAPROD.
+Sub traeProdNombre(db As SQL, id As String) As String 'ignore
+ Private h As Cursor
+ Private n As String
+ h = db.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(id.Trim))
+ If h.RowCount > 0 Then
+ h.Position = 0
+ n = h.GetString("CAT_GP_NOMBRE")
+' Log(h.RowCount&"|"&id&"|"&n&"|")
+ End If
+ h.Close
+ If n = Null Or n="" Then n = "N/A"
+' Log(h.RowCount&"|"&id&"|"&n&"|")
+ Return n
+End Sub
+
+'Regresa la ruta actual de la base de datos.
+Sub traeRuta(db As SQL) As String 'ignore
+ Private c As Cursor
+ Private r As String
+ c = db.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ r = "0"
+ If c.RowCount > 0 Then
+ c.Position=0
+ r = c.GetString("CAT_CL_RUTA")
+ End If
+ c.Close
+ Return r
+End Sub
+
+'Regresa el cliente actual de la base de dtos (CUENTAA).
+Sub traeCliente(db As SQL) As String 'ignore
+ Private c As Cursor
+ Private cl As String
+ c = db.ExecQuery("Select CUENTA from cuentaa")
+ c.Position=0
+ cl = c.GetString("CUENTA")
+ c.Close
+ Return cl
+End Sub
+
+'Regresa en un mapa el total de productos y monto del pedido del cliente actual
+'resultado = {"productos":"antidad_de_productos", "monto":"costo_total"}
+Sub traeTotalesClienteActual(db As SQL) As Map 'ignore
+ Private m As Map
+ m.Initialize
+ Private c_prodsX As Cursor = db.ExecQuery("select ifnull(sum(PE_CANT), 0) as cantProds, ifnull(sum(PE_COSTO_TOT), 0) as costoTotal FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc")
+ c_prodsX.Position = 0
+' LogColor($"Productos de la orden: ${c_prodsX.GetString("cantProds")}, Total: ${c_prodsX.GetString("costoTotal")}"$, Colors.red)
+ m = CreateMap("productos": c_prodsX.GetString("cantProds"), "monto" : c_prodsX.GetString("costoTotal"))
+ Return m
+End Sub
+
+'Borra el pedido del cliente actual.
+'Borra los registros de la tabla "PEDIDO" y "PEDIDO_CLIENTE"
+'Actualiza las tablas "cat_gunaprod" y "kmt_info".
+Sub borraPedidoClienteActual(db As SQL) As String 'ignore
+ Private thisC As Cursor
+ thisC = db.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
+ If thisC.RowCount>0 Then
+ For i=0 To thisC.RowCount -1
+ thisC.Position=i
+ db.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(thisC.GetString("PE_CANT"),thisC.GetString("PE_PROID")))
+ db.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen(db), thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1))
+ Next
+ End If
+ db.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
+ db.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
+ db.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ Return 1
+End Sub
+
+'Regresa verdadero si la columna gestion en la tabla "kmt_info" tene valor 2.
+'si no, entonces regresa falso.
+Sub pedidoGuardado(db As SQL) As Boolean 'ignore
+ Private guardado As Boolean = False
+ Private g As Cursor = db.ExecQuery("select gestion from kmt_info where CAT_CL_CODIGO in (Select CUENTA from cuentaa)")
+ If g.RowCount > 0 Then
+ g.Position=0
+ If g.GetString("gestion") = "2" Then guardado = True
+ End If
+ Log($"Guardado=${guardado}"$)
+ Return guardado
+End Sub
+
+'Regresa verdadero si hay pedido en la tabla "PEDIDO" del cliente actual.
+Sub hayPedido(db As SQL) As Boolean 'ignore
+ Private thisC As Cursor = db.ExecQuery($"select count(PE_CLIENTE) as hayPedido from PEDIDO where PE_CLIENTE = '${traeCliente(db)}'"$)
+ thisC.Position = 0
+ Private hay As Boolean = False
+ If thisC.GetInt("hayPedido") > 0 Then hay = True
+' Log($"Cliente actual=${traeCliente}, hayPedido=${hay}"$)
+ Return hay
+End Sub
+
+'Guarda el nombre y version de la app en CAT_VARIABLES.
+Sub guardaAppInfo(db As SQL) 'ignore
+ db.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'")
+ db.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$)
+ db.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$)
+End Sub
+
+'Muestra en el Log los campos y valores que regresan en el JobDone.
+Sub logJobDoneResultados(resultado As DBResult) 'ignore
+ For Each records() As Object In resultado.Rows
+ LogColor($"====== ${resultado.Tag} - REGISTROS = ${resultado.Rows.Size}"$, Colors.RGB(215,37,0))
+ For Each k As String In resultado.Columns.Keys
+ LogColor(k & " = " & records(resultado.Columns.Get(k)), Colors.RGB(215,37,0))
+ Next
+ Next
+End Sub
+
+'Revisa si la aplicación tiene permiso para acceder a las notificaciones.
+Sub CheckNotificationAccess As Boolean
+ Dim ph As Phone
+ Dim nstr, pstr As String
+ Dim r As Reflector
+ pstr = r.GetStaticField("anywheresoftware.b4a.BA", "packageName")
+ nstr = ph.GetSettings("enabled_notification_listeners")
+ Return nstr.Contains(pstr)
+End Sub
+
+'################ Manage External Storage (MES) #########################
+'
+''Inicializa "Manage External Storage" (MES), que nos da acceso a la tarjeta de memoria en Android 11+
+'Public Sub MES_Init (mCallBack As Object, mEventName As String)
+' mesCallback = mCallBack
+' mesEventName = mEventName
+'End Sub
+'
+'Sub MES_checkPermission 'ignore
+'' ' get the device SDK version
+'' Dim SdkVersion As Int = device.SdkVersion
+'' ' Choose which permission to request in order to access external storgage
+'' If SdkVersion < 30 Then
+''' Log("SDK = " & SdkVersion & " : Requesting WRITE_EXTERNAL_STORAGE permission")
+'' Dim rp As RuntimePermissions
+'' rp.CheckAndRequestPermission(rp.PERMISSION_WRITE_EXTERNAL_STORAGE) ' Implicit read capability if granted
+'' Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
+''' Log($"PERMISSION_WRITE_EXTERNAL_STORAGE = ${Result}"$)
+'' Else
+''' Log("SDK = " & SdkVersion & " : Requesting MANAGE_EXTERNAL_STORAGE permission")
+''' Log("On Entry MANAGE_EXTERNAL_STORAGE = " & MES1.HasPermission)
+'' If Not(MES_HasPermission) Then
+'' MsgboxAsync("This app requires access to all files, please enable the option", "Manage All Files")
+'' Wait For Msgbox_Result(Res As Int)
+''' Log("Getting permission")
+'' MES_GetPermission
+'' Wait For MES_StorageAvailable
+'' End If
+'' End If
+'End Sub
+'
+'' Determine if the app already has MANAGE_EXTERNAL_STORAGE call Environment.isExternalStorageManager()
+'' Return True if this app already has MANAGE_EXTERNAL_STORAGE permission
+'Public Sub MES_HasPermission As Boolean
+' Dim has As Boolean
+' Dim jo As JavaObject
+' jo.InitializeStatic("android.os.Environment")
+' has = jo.RunMethod("isExternalStorageManager", Null)
+' Return has
+'End Sub
+'
+'' Check whether this app has MANAGE_EXTERNAL_STORAGE permission
+'' If not show the user a dialog to enable MANAGE_EXTERNAL_STORAGE permission for this app
+'' Raises the StorageAvailable event in the calling activity when complete
+'Public Sub MES_GetPermission
+' If MES_HasPermission Then
+' RaiseEvent
+' Return
+' End If
+' Dim in As Intent
+' ' Be sure to reference your app package name in "pakageg:xxx"
+' in.Initialize("android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION", $"package:${Application.PackageName}"$)
+' StartActivityForResult(in)
+'End Sub
+'
+'Private Sub RaiseEvent
+' Log("Calling : " & mesEventName & "_StorageAvailable")
+' CallSubDelayed(mesCallback, mesEventName & "_StorageAvailable")
+'End Sub
+'
+'Private Sub ion_Event (MethodName As String, Args() As Object) As Object
+' RaiseEvent
+' Return Null
+'End Sub
+'
+'Private Sub StartActivityForResult(i As Intent)
+' Dim jo As JavaObject = MES_GetBA
+' ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
+' jo.RunMethod("startActivityForResult", Array As Object(ion, i))
+'End Sub
+'
+'Private Sub MES_GetBA As Object
+' Dim jo As JavaObject = Me
+' Return jo.RunMethod("getBA", Null)
+'End Sub
+'################ TERMINA Manage External Storage (MES) #########################
+
+
+'################ INICIA ENABLE BLUETOOTH #########################
+Sub StartBluetooth 'ignore
+ btAdmin.Initialize("btAdmin")
+ Log("btAdmin: " & btAdmin.IsEnabled)
+ If btAdmin.IsEnabled = False Then
+ Wait For (EnableBluetooth) Complete (Success As Boolean)
+ If Success = False Then
+ ToastMessageShow("Failed to enable bluetooth", True)
+ End If
+ Log(Success)
+ End If
+ Log($"BTADMIN: ${btAdmin.IsEnabled}"$)
+End Sub
+
+Sub EnableBluetooth As ResumableSub
+ ToastMessageShow("Enabling Bluetooth adapter...", False)
+ Private ph As Phone
+ If ph.SdkVersion >= 31 Then
+ rp.CheckAndRequest("android.permission.BLUETOOTH_CONNECT")
+ Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
+ If Result = False Then Return False
+ Log($"BTCONNECT: ${Result}"$)
+ If ph.SdkVersion >= 33 Then
+ Dim in As Intent
+ in.Initialize("android.bluetooth.adapter.action.REQUEST_ENABLE", "")
+ StartActivityForResult(in)
+ Wait For ion_Event (MethodName As String, Args() As Object)
+ Return btAdmin.IsEnabled
+ End If
+ End If
+ Return btAdmin.Enable
+End Sub
+
+Private Sub GetBA As Object
+ Dim jo As JavaObject = Me
+ Return jo.RunMethod("getBA", Null)
+End Sub
+
+Private Sub StartActivityForResult(i As Intent)
+ Dim jo As JavaObject = GetBA
+ ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
+ jo.RunMethod("startActivityForResult", Array As Object(ion, i))
+End Sub
+'################ TERMINA ENABLE BLUETOOTH #########################
\ No newline at end of file
diff --git a/B4A/Objects/res/drawable/icon.png b/B4A/Objects/res/drawable/icon.png
deleted file mode 100644
index 8fb72b4..0000000
Binary files a/B4A/Objects/res/drawable/icon.png and /dev/null differ