diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..618d244
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+**/Objects
+**/AutoBackups
+*.meta
\ No newline at end of file
diff --git a/BUSCAR.bas b/BUSCAR.bas
new file mode 100644
index 0000000..30a9f17
--- /dev/null
+++ b/BUSCAR.bas
@@ -0,0 +1,172 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 skmt As SQL
+End Sub
+
+Sub Globals
+ '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
+
+Sub Activity_Create(FirstTime As Boolean)
+
+ ruta = File.DirInternal
+
+ Activity.LoadLayout("buscar")
+
+ ' 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 Activity_Resume
+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
+ 'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
+
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+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/CameraExClass.bas b/CameraExClass.bas
new file mode 100644
index 0000000..1743551
--- /dev/null
+++ b/CameraExClass.bas
@@ -0,0 +1,290 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=7.01
+@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/DBRequestManager.bas b/DBRequestManager.bas
new file mode 100644
index 0000000..8dcb5fa
--- /dev/null
+++ b/DBRequestManager.bas
@@ -0,0 +1,267 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=7.01
+@EndOfDesignText@
+''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
+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 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/EscPosPrinter.bas b/EscPosPrinter.bas
new file mode 100644
index 0000000..c3cef83
--- /dev/null
+++ b/EscPosPrinter.bas
@@ -0,0 +1,1152 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=7.01
+@EndOfDesignText@
+#IgnoreWarnings: 9
+' 9 = unused variable
+
+Sub Class_Globals
+ ' 1.0 Initial version
+ ' 2.0 Added FeedPaper, changed many WriteString(.." & Chr(number)) instances to WriteBytes(params)
+ ' This is to avoid Unicode code page transformations on some numbers > 32
+ ' Added PrintAndFeedPaper, setRelativePrintPosn,
+ ' Added user defined characters, DefineCustomCharacter, DeleteCustomCharacter and setUseCustomCharacters
+ ' Addedhelper methods CreateCustomCharacter, CreateLine, CreateBox and CreateCircle
+ Private Version As Double = 2.0 ' Printer class version
+
+ Type AnImage(Width As Int, Height As Int, Data() As Byte)
+
+ Private EventName As String 'ignore
+ Private CallBack As Object 'ignore
+
+ Private Serial1 As Serial
+ Private Astream As AsyncStreams
+ Private Connected As Boolean
+ Private ConnectedError As String
+
+ Dim ESC As String = Chr(27)
+ Dim FS As String = Chr(28)
+ Dim GS As String = Chr(29)
+
+ 'Bold and underline don't work well in reversed text
+ Dim UNREVERSE As String = GS & "B" & Chr(0)
+ Dim REVERSE As String = GS & "B" & Chr(1)
+
+ ' Character orientation. Print upside down from right margin
+ Dim UNINVERT As String = ESC & "{0"
+ Dim INVERT As String = ESC & "{1"
+
+ ' Character rotation clockwise. Not much use without also reversing the printed character sequence
+ Dim UNROTATE As String = ESC & "V0"
+ Dim ROTATE As String = ESC & "V1"
+
+ ' Horizontal tab
+ Dim HT As String = Chr(9)
+
+ ' Character underline
+ Dim ULINE0 As String = ESC & "-0"
+ Dim ULINE1 As String = ESC & "-1"
+ Dim ULINE2 As String = ESC & "-2"
+
+ ' Character emphasis
+ Dim BOLD As String = ESC & "E1"
+ Dim NOBOLD As String = ESC & "E0"
+
+ ' Character height and width
+ Dim SINGLE As String = GS & "!" & Chr(0x00)
+ Dim HIGH As String = GS & "!" & Chr(0x01)
+ Dim WIDE As String = GS & "!" & Chr(0x10)
+ Dim HIGHWIDE As String = GS & "!" & Chr(0x11)
+
+ ' Default settings
+ Private LEFTJUSTIFY As String = ESC & "a0"
+ Private LINEDEFAULT As String = ESC & "2"
+ Private LINSET0 As String = ESC & "$" & Chr(0x0) & Chr(0x0)
+ Private LMARGIN0 As String = GS & "L" & Chr(0x0) & Chr(0x0)
+ Private WIDTH0 As String = GS & "W" & Chr(0xff) & Chr(0xff)
+ Private CHARSPACING0 As String = ESC & " " & Chr(0)
+ Private CHARFONT0 As String = ESC & "M" & Chr(0)
+ Dim DEFAULTS As String = CHARSPACING0 & CHARFONT0 & LMARGIN0 & WIDTH0 & LINSET0 & LINEDEFAULT & LEFTJUSTIFY _
+ & UNINVERT & UNROTATE & UNREVERSE & NOBOLD & ULINE0
+
+End Sub
+
+'**********
+'PUBLIC API
+'**********
+
+'Initialize the object with the parent and event name
+Public Sub Initialize(vCallback As Object, vEventName As String)
+ EventName = vEventName
+ CallBack = vCallback
+ Serial1.Initialize("Serial1")
+ Connected = False
+ ConnectedError = ""
+End Sub
+
+' Returns any error raised by the last attempt to connect a printer
+Public Sub ConnectedErrorMsg As String
+ Return ConnectedError
+End Sub
+
+' Returns whether a printer is connected or not
+Public Sub IsConnected As Boolean
+ Return Connected
+End Sub
+
+' Returns whether Bluetooth is on or off
+Public Sub IsBluetoothOn As Boolean
+ Return Serial1.IsEnabled
+End Sub
+
+' Ask the user to connect to a printer and return whether she tried or not
+' If True then a subsequent Connected event will indicate success or failure
+Public Sub Connect As Boolean
+' Serial1.Connect("8C:DE:52:C0:DB:27")
+
+ 'Serial1.Connect("88:6B:0F:3E:53:9E")
+' Return True
+
+ If fila.MAC_IMPRESORA = "0" Then
+ Dim PairedDevices As Map
+ PairedDevices = Serial1.GetPairedDevices
+ Dim l As List
+ l.Initialize
+ For i = 0 To PairedDevices.Size - 1
+ l.Add(PairedDevices.GetKeyAt(i))
+ Next
+ Dim Res As Int
+ Res = InputList(l, "Choose a printer", -1) 'show list with paired devices
+ If Res <> DialogResponse.CANCEL Then
+ Serial1.Connect(PairedDevices.Get(l.Get(Res))) 'convert the name to mac address
+ 'Msgbox(PairedDevices.Get(l.Get(Res)),"mac")
+
+ Main.mac_impresora = PairedDevices.Get(l.Get(Res))
+ Return True
+ End If
+ Return False
+
+
+
+ Else
+ Serial1.Connect(fila.mac_impresora)
+ Main.mac_impresora = fila.MAC_IMPRESORA
+ Return True
+ End If
+
+
+End Sub
+
+' Disconnect the printer
+Public Sub DisConnect
+ Serial1.Disconnect
+ Connected = False
+End Sub
+
+' Reset the printer to the power on state
+Public Sub Reset
+ WriteString(ESC & "@")
+End Sub
+
+'--------------
+' Text Commands
+'--------------
+
+' Print any outstanding characters then feed the paper the specified number of units of 0.125mm
+' This is similar to changing LineSpacing before sending CRLF but this has a one off effect
+' A full character height is always fed even if units = 0. Units defines the excess over this minimum
+Public Sub PrintAndFeedPaper(units As Int)
+ WriteString(ESC & "J")
+ Dim params(1) As Byte
+ params(0) = units
+ WriteBytes(params)
+End Sub
+
+' Set the distance between characters
+Public Sub setCharacterSpacing(spacing As Int)
+ WriteString(ESC & " ")
+ Dim params(1) As Byte
+ params(0) = spacing
+ WriteBytes(params)
+End Sub
+
+' Set the left inset of the next line to be printed
+' Automatically resets to 0 for the following line
+' inset is specified in units of 0.125mm
+Public Sub setLeftInset(inset As Int)
+ Dim dh As Int = inset / 256
+ Dim dl As Int = inset - dh
+ WriteString(ESC & "$" & Chr(dl) & Chr(dh))
+ Dim params(2) As Byte
+ params(0) = dl
+ params(1) = dh
+ WriteBytes(params)
+End Sub
+
+' Set the left margin of the print area, must be the first item on a new line
+' margin is specified in units of 0.125mm
+' This affects barcodes as well as text
+Public Sub setLeftMargin(margin As Int)
+ Dim dh As Int = margin / 256
+ Dim dl As Int = margin - dh
+ WriteString(GS & "L")
+ Dim params(2) As Byte
+ params(0) = dl
+ params(1) = dh
+ WriteBytes(params)
+End Sub
+
+' Set the width of the print area, must be the first item on a new line
+' margin is specified in units of 0.125mm
+' This affects barcodes as well as text
+' This appears to function more like a right margin than a print area width when used with LeftMargin
+Public Sub setPrintWidth(width As Int)
+ Dim dh As Int = width / 256
+ Dim dl As Int = width - dh
+ WriteString(GS & "W")
+ Dim params(2) As Byte
+ params(0) = dl
+ params(1) = dh
+ WriteBytes(params)
+End Sub
+
+' Set the distance between lines in increments of 0.125mm
+' If spacing is < 0 then the default of 30 is set
+Public Sub setLineSpacing(spacing As Int)
+ If spacing < 0 Then
+ WriteString(ESC & "2")
+ Else
+ WriteString(ESC & "3")
+ Dim params(1) As Byte
+ params(0) = spacing
+ WriteBytes(params)
+ End If
+End Sub
+
+' Set the line content justification, must be the first item on a new line
+' 0 left, 1 centre, 2 right
+Public Sub setJustify(justify As Int)
+ WriteString(ESC & "a" & Chr(justify + 48))
+End Sub
+
+' Set the codepage of the printer
+' You need to look at the printer documentation to establish which codepages are supported
+Public Sub setCodePage(codepage As Int)
+ WriteString(ESC & "t")
+ Dim params(1) As Byte
+ params(0) = codepage
+ WriteBytes(params)
+End Sub
+
+' Select the size of the font for printing text. 0 = Font A (12 x 24), 1 = Font B (9 x 17)
+' For font B you may want to set the line spacing to a lower value than the default of 30
+' This affects only the size of printed characters. The code page determines the actual character set
+' On my printer setting UseCustomCharacters = while Font B is selected crashes the printer and turns it off
+Public Sub setCharacterFont(font As Int)
+ WriteString(ESC & "M" & Chr(Bit.And(1,font)))
+End Sub
+
+' Set the positions of the horizontal tabs
+' Each tab is specified as a number of character widths from the beginning of the line
+' There may be up to 32 tab positions specified each of size up to 255 characters
+' The printer default is that no tabs are defined
+Public Sub setTabPositions(tabs() As Int)
+ WriteString(ESC & "D")
+ Dim data(tabs.Length+1) As Byte
+ For i = 0 To tabs.Length - 1
+ data(i) = tabs(i)
+ Next
+ data(tabs.Length) = 0
+ WriteBytes(data)
+End Sub
+
+' Set print position relative to the current position using horizontal units of 0.125mm
+' relposn can be negative
+' Unless I have misundertood this doesn't work as documented on my printer
+' It only seems take effect at the beginning of a line as a one off effect
+Public Sub setRelativePrintPosn(relposn As Int)
+ Dim dh As Int = relposn / 256
+ Dim dl As Int = relposn - dh
+ WriteString(ESC & "\")
+ Dim params(2) As Byte
+ params(0) = dl
+ params(1) = dh
+ WriteBytes(params)
+End Sub
+
+' Send the contents of an array of bytes to the printer
+' Remember that if the printer is expecting text the bytes will be printed as characters in the current code page
+Public Sub WriteBytes(data() As Byte)
+ If Connected Then
+ Astream.Write(data)
+ End If
+End Sub
+
+' Send the string to the printer in IBM437 encoding which is the original PC DOS codepage
+' This is usually the default codepage for a printer and is CodePage = 0
+' Beware of using WriteString with Chr() to send numeric values as they may be affected by Unicode to codepage translations
+' Most character level operations are pre-defined as UPPERCASE string variables for easy concatenation with other string data
+Public Sub WriteString(data As String)
+ WriteString2(data, "IBM437")
+End Sub
+
+' Send the string to the printer in the specified encoding
+' You also need to set the printer to a matching encoding using the CodePage property
+' Beware of using WriteString2 with Chr() to send numeric values as they may be affected by codepage substitutions
+' Most character level operations are pre-defined as UPPERCASE string variables for easy concatenatipon with other string data
+Public Sub WriteString2(data As String, encoding As String)
+ Try
+ If Connected Then
+ Astream.Write(data.GetBytes(encoding))
+ End If
+ Catch
+ Log("Printer error : " & LastException.Message)
+ AStream_Error
+ End Try
+End Sub
+
+'-----------------------------------------
+' User defined character commands commands
+'-----------------------------------------
+
+' Delete the specified user defined character mode
+' This command deletes the pattern defined for the specified code in the font selected by ESC !
+' If the code is subsequently printed in custom character mode the present code page character is printed instead
+Public Sub DeleteCustomCharacter(charcode As Int)
+ WriteString(ESC & "?")
+ Dim params(1) As Byte
+ params(0) = charcode
+ WriteBytes(params)
+End Sub
+
+' Enable the user defined character mode if custom is True, revert to normal if custom is False
+' If a custom character has not been defined for a given character code then the default character for the present font is printed
+' FontA and FontB have separate definitions for custom characters
+' On my printer setting UseCustomCharacters = while Font B is selected crashes the printer and turns it off
+' Therefore the cuatom character routines have not been tested on ont B
+Public Sub setUseCustomCharacters(custom As Boolean)
+ If custom Then
+ WriteString(ESC & "%1")
+ Else
+ WriteString(ESC & "%0")
+ End If
+End Sub
+
+' Define a user defined character
+' The allowable character code range is the 95 characters) from ASCII code 32 (0x20) to 126 (0x7E)
+' Characters can be defined in either font A (12*24) or font B (9*17) as selected by present setting of CharacterFont
+' The programmer must ensure that the correct font size definition is used for the present setting of CharacterFont
+' The user-defined character definition is cleared when Reset is invoked or the printer is turned off
+' The vertical and horizontal printed resolution is approximaely 180dpi
+' Characters are always defined by sets of three bytes in the vertical direction and up to 9 or 12 sets horizontally
+' Each byte defines a vertical line of 8 dots. The MSB of each byte is the highest image pixel, the LSB is the lowest
+' Byte(0+n) defines the topmost third of the vertical line, Byte(1+n) is below and Byte(2+n) is the lowest
+' Set a bit to 1 to print a dot or 0 to not print a dot
+' If the lines to the right of the character are blank then there set of three bytes can be omiited from the byte array
+' When the user-defined characters are defined in font B (9*17) only the most significant bit of the 3rd byte of data is used
+' charcode defines the character code for the character being defined
+' bitdata is a Byte array containing the character definitiopn as described above.
+' If the length of bitdata is not a multiple of 3 the definition is ignored and a value of -1 returned
+Public Sub DefineCustomCharacter(charcode As Int, bitdata() As Byte) As Int
+ Dim excess As Int = bitdata.Length Mod 3
+ If excess <> 0 Then Return -1
+ Dim size As Int = bitdata.Length / 3
+ WriteString(ESC & "&")
+ Dim params(4) As Byte
+ params(0) = 3
+ params(1) = charcode
+ params(2) = charcode
+ params(3) = size
+ WriteBytes(params)
+ WriteBytes(bitdata)
+ Return 0
+End Sub
+
+' The third triangle point is hacked into spare bits keeping the generated Int human readable i hex for other shapes
+' The shape array contains the character shapes and characterfont is 0 for a 12*24 character andd 1 for a 9*17 character
+' Returns a Byte(36) for characterfont = 0 and a Byte(27) for characterfont = 1
+' The returned array can be directly passed to DefineCustomCharacter
+' To define a custom character requires specifying up to 288 data points
+' This is a lot of data and in most cases it is mainly white space
+' This method takes a character definition that defines only the shapes in the character that are to be printed black
+' It will be easier use the outputs from CreateLine, CreateTriangle, CreateBox and CreateCircle rather then building the actual Int values
+' Each shape is defined by a single Int value containing four parameters in hex format plugs some single bit flags
+' Taking the representation of the Int as eight hex characters numbered from the MS end as 0x01234567
+' 0 contains the shape to draw. 0 = Line, 1 = Box, 2 = Circle, 3 = Triangle
+' 1 contains a value between 0 and 0xF. This is either an X coordinate or for a circle the radius
+' 2 and 3 contain a value between 0 and 0x1F. This is either a Y coordinate or for a circle the quadrants to draw
+' 4 contains a value between 0 and 0xF. This is 0 for an empty shope or 1 for a filled shape
+' 5 contains a value between 0 and 0xF. This is an X coordinate
+' 5 and 6 contain a value between 0 and 0x1F. This is a Y coordinate
+' The coordinate 0,0 is at the top left of the character
+' Line
+' One point of the vector is contained in the top part of the Int and the other in the bottom half
+' To define a single point place its coordinates as both sr=start and end of a line
+' Box
+' The two X,Y coordinates specify the top left and bottom right corners of the box
+' Circle
+' The left X parameter is now the radius of the circle, the left Y is the quadrants to be drawn
+' The right X and Y parameters are the centre of the circle'
+' The quadrants to draw are bit ORed together, UpperRight = 0x1, LowerRight = 0x2, LowerLeft = 0x4, Upper Left = 0x8
+' Triangle
+' The left X and Y parameters are now one point of the triangle, the right X and Y parameters another point
+' The third triangle point is hacked into spare bits keeping the generated Int human readable in hex for the other shapes
+' The bit allocations of a shape are as follows. f = fill as 0 or 1, s = shape as 0 to 7, xn as 0 to 15, yn as 0 to 31
+' Shape 0 = line, 1 = box, 2 = triangle, 3 = circle, 4 to 7 = unused
+' fsss xxxx -yyy yyyy xxxx xxxx yyyy yyyy
+' 0000 220 0000 2222 1111 2221 1111
+' x0 y2 y0 x2 x1 y2 y1
+' The shape array contains the character shapes and characterfont is 0 for a 12*24 character andd 1 for a 9*17 character
+' Returns a Byte(36) for characterfont = 0 and a Byte(27) for characterfont = 1
+' The returned array can be directly passed to DefineCustomCharacter
+Public Sub CreateCustomCharacter(shapes() As Int, characterfont As Int) As Byte()
+ Dim masks(8) As Byte
+ masks(0) = 0x80
+ masks(1) = 0x40
+ masks(2) = 0x20
+ masks(3) = 0x10
+ masks(4) = 0x08
+ masks(5) = 0x04
+ masks(6) = 0x02
+ masks(7) = 0x01
+ ' rather than try to catch errors whenever we access this array we Dim it to the maximum possible values of X and Y
+ ' then copy the top left of it to the final character definition array of the correct size
+ Dim points(16,32) As Byte
+ ' initialise the character to all white
+ For x = 0 To 15
+ For y = 0 To 31
+ points(x,y) = 0
+ Next
+ Next
+ Dim size As Int = 12
+ If characterfont = 1 Then size = 9
+ Dim charbyes(size * 3) As Byte
+ For c = 0 To charbyes.Length - 1
+ charbyes(c) = 0
+ Next
+ ' set the points array from the shapes provided
+ For i = 0 To shapes.Length -1
+ Dim fill As Int = Bit.UnsignedShiftRight(Bit.And(0x80000000, shapes(i)), 31)
+ Dim shape As Int = Bit.UnsignedShiftRight(Bit.And(0x70000000, shapes(i)), 28)
+ Dim x0 As Int = Bit.UnsignedShiftRight(Bit.And(0x0f000000, shapes(i)), 24)
+ Dim y0 As Int = Bit.UnsignedShiftRight(Bit.And(0x001f0000, shapes(i)), 16)
+ Dim x1 As Int = Bit.UnsignedShiftRight(Bit.And(0x00000f00, shapes(i)), 8)
+ Dim y1 As Int = Bit.And(0x0000001f, shapes(i))
+ Dim x2 As Int = Bit.UnsignedShiftRight(Bit.And(0x0000f000, shapes(i)), 12)
+ Dim y2 As Int = Bit.UnsignedShiftRight(Bit.And(0x00e00000, shapes(i)), 18) + Bit.UnsignedShiftRight(Bit.And(0x000000e0, shapes(i)), 5)
+ ' The bit allocations of a shape are as follows. f = fill as 0 or 1, s = shape as 0 to 7, xn as 0 to 15, yn as 0 to 31
+ ' Shape 0 = line, 1 = box, 2 = triangle, 3 = circle, 4 to 7 = unused
+ ' fsss xxxx -yyy yyyy xxxx xxxx yyyy yyyy
+ ' 0000 220 0000 2222 1111 2221 1111
+ ' x0 y2 y0 x2 x1 y2 y1
+ Dim logmsg As String = ": Fill=" & fill & " : Points " & x0 & "," & y0 & " " & x1 & "," & y1 & " " & x2 & "," & y2
+ If shape = 3 Then
+ Log("Triangle " & logmsg)
+ PlotTriangle(x0, y0, x1, y1, x2, y2, points, fill)
+ else If shape = 2 Then
+ Log("Circle " & logmsg)
+ PlotCircle(x0, y0, x1, y1, points, fill)
+ Else If shape = 1 Then
+ Log("Box " & logmsg)
+ PlotBox(x0, y0, x1, y1, points, fill)
+ Else
+ Log("Line " & logmsg)
+ PlotLine(x0, y0, x1, y1, points)
+ End If
+ ' map the points array onto the character definition array
+ For x = 0 To size -1 ' 9 or 12 horizontal bytes
+ For y = 0 To 2 ' 3 vertical bytes
+ Dim bits As Byte = 0
+ For b = 0 To 7 ' 8 vertical bits
+ If points(x, y*8+b) <> 0 Then
+ bits = Bit.Or(bits, masks(b))
+ End If
+ Next
+ charbyes(x*3+y) = bits
+ Next
+ Next
+ Next
+ Return charbyes
+End Sub
+
+' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array
+' Create the value to draw a line in a custom character
+' The line starts at X0,Y0 and ends at X1,Y1
+Public Sub CreateLine(x0 As Int, y0 As Int, x1 As Int, y1 As Int) As Int
+ Dim line As Int = 0
+ line = line + Bit.ShiftLeft(Bit.And(0xf,x0), 24)
+ line = line + Bit.ShiftLeft(Bit.And(0x1f,y0), 16)
+ line = line + Bit.ShiftLeft(Bit.And(0xf,x1), 8)
+ line = line + Bit.And(0x1f,y1)
+ Return line
+End Sub
+
+' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array
+' Create the value to draw a circle in a custom character
+' The circle is centred on X1,Y1 and the quadrants to draw are bit ORed together
+' UpperRight = 0x1, LowerRight = 0x2, LowerLeft = 0x4, Upper Left = 0x8
+Public Sub CreateCircle(radius As Int, quadrants As Int, x1 As Int, y1 As Int, fill As Boolean) As Int
+ Dim circle As Int = 0x20000000
+ If fill Then circle = circle + 0x80000000
+ circle = circle + Bit.ShiftLeft(radius, 24)
+ circle = circle + Bit.ShiftLeft(quadrants, 16)
+ circle = circle + Bit.ShiftLeft(x1, 8)
+ circle = circle + y1
+ Return circle
+End Sub
+
+
+' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array
+' Create the value to draw a triangle in a custom character
+' The triangles corners are at X0,Y0 X1,Y1 and X2,Y2
+Public Sub CreateTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, fill As Boolean) As Int
+ Dim triangle As Int = 0x30000000
+ If fill Then triangle = triangle + 0x80000000
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x0), 24)
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0x1f,y0), 16)
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x1), 8)
+ triangle = triangle + Bit.And(0x1f,y1)
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x2), 12) ' extra X
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0x7,y2), 5) ' extra Y lsbits * 3
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0x18,y2), 18) ' extra Y msbits * 2
+ Return triangle
+End Sub
+
+' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array
+' Create the value to draw a box in a custom character
+' The box top left start is X0,Y0 and bottom right is X1,Y1
+Public Sub CreateBox(x0 As Int, y0 As Int, x1 As Int, y1 As Int, fill As Boolean) As Int
+ Dim box As Int = 0x10000000
+ If fill Then box = box + 0x80000000
+ box = box + Bit.ShiftLeft(Bit.And(0xf,x0), 24)
+ box = box + Bit.ShiftLeft(Bit.And(0x1f,y0), 16)
+ box = box + Bit.ShiftLeft(Bit.And(0xf,x1), 8)
+ box = box + Bit.And(0x1f,y1)
+ Return box
+End Sub
+
+'-----------------------------------------
+' Private custom character drawing methods
+'-----------------------------------------
+
+Private Sub PlotTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, points(,) As Byte, Fill As Int)
+ ' This is a pretty crude algorithm, but it is simple, works and it isn't invoked often
+ PlotLine(x0, y0, x1, y1, points)
+ PlotLine(x1, y1, x2, y2, points)
+ PlotLine(x2, y2, x0, y0, points)
+ If Fill > 0 Then
+ FillTriangle(x0, y0, x1, y1, x2, y2, points)
+ End If
+End Sub
+
+Private Sub FillTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, points(,) As Byte)
+ ' first sort the three vertices by y-coordinate ascending so v0 Is the topmost vertice */
+ Dim tx, ty As Int
+ If y0 > y1 Then
+ tx = x0 : ty = y0
+ x0 = x1 : y0 = y1
+ x1 = tx : y1 = ty
+ End If
+ If y0 > y2 Then
+ tx = x0 : ty = y0
+ x0 = x2 : y0 = y2
+ x2 = tx : y2 = ty
+ End If
+ If y1 > y2 Then
+ tx = x1 : ty = y1
+ x1 = x2 : y1 = y2
+ x2 = tx : y2 = ty
+ End If
+
+ Dim dx0, dx1, dx2 As Double
+ Dim x3, x4, y3, y4 As Double
+ Dim inc As Int
+
+ If y1 - y0 > 0 Then dx0=(x1-x0)/(y1-y0) Else dx0=0
+ If y2 - y0 > 0 Then dx1=(x2-x0)/(y2-y0) Else dx1=0
+ If y2 - y1 > 0 Then dx2=(x2-x1)/(y2-y1) Else dx2=0
+ x3 = x0 : x4 = x0
+ y3 = y0 : y4 = y0
+ If dx0 > dx1 Then
+ While
+ Do While y3 <= y1
+ If x3 > x4 Then inc = -1 Else inc = 1
+ For x = x3 To x4 Step inc
+ points(x, y3) = 1
+ Next
+ y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx1 : x4 = x4 + dx0
+ Loop
+ x4=x1
+ y4=y1
+ Do While y3 <= y2
+ If x3 > x4 Then inc = -1 Else inc = 1
+ For x = x3 To x4 Step inc
+ points(x ,y3) = 1
+ Next
+ y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx1 : x4 = x4 + dx2
+ Loop
+ Else
+ While
+ Do While y3 <= y1
+ If x3 > x4 Then inc = -1 Else inc = 1
+ For x = x3 To x4 Step inc
+ points(x, y3) = 1
+ Next
+ y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx0 : x4 = x4 +dx1
+ Loop
+ x3=x1
+ y3=y1
+ Do While y3<=y2
+ If x3 > x4 Then inc = -1 Else inc = 1
+ For x = x3 To x4 Step inc
+ points(x, y3) = 1
+ Next
+ y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx2 : x4 = x4 + dx1
+ Loop
+ End If
+End Sub
+
+Private Sub PlotBox(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte, Fill As Int)
+ ' This is a pretty crude algorithm, but it is simple, works and itsn't invoked often
+ PlotLine(x0, y0, x0, y1, points)
+ PlotLine(x0, y0, x1, y0, points)
+ PlotLine(x1, y0, x1, y1, points)
+ PlotLine(x0, y1, x1, y1, points)
+ If Fill > 0 Then
+ For x = x0 To x1
+ PlotLine(x, y0, x, y1, points)
+ Next
+ End If
+End Sub
+
+
+Private Sub PlotCircle(radius As Int, quadrants As Int, x1 As Int, y1 As Int, points(,) As Byte, fill As Int)
+ ' This is a pretty crude algorithm, but it is simple, works and itsn't invoked often
+ Dim mask As Int = 1
+ For q = 3 To 0 Step -1
+ If Bit.And(quadrants, mask) <> 0 Then
+ For i = q*90 To q*90+90 Step 1
+ Dim x,y As Double
+ x = x1 - SinD(i)*radius
+ y = y1 - CosD(i)*radius
+ If fill > 0 Then
+ PlotLine(x1, y1, x, y, points)
+ Else
+ points(Round(x), Round(y)) = 1
+ End If
+ Next
+ End If
+ mask = Bit.ShiftLeft(mask, 1)
+ Next
+End Sub
+
+' Bresenham's line algorithm - see Wikipedia
+Private Sub PlotLine(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte )
+ If Abs(y1 - y0) < Abs(x1 - x0) Then
+ If x0 > x1 Then
+ PlotLineLow(x1, y1, x0, y0, points)
+ Else
+ PlotLineLow(x0, y0, x1, y1, points)
+ End If
+ Else
+ If y0 > y1 Then
+ PlotLineHigh(x1, y1, x0, y0, points)
+ Else
+ PlotLineHigh(x0, y0, x1, y1, points)
+ End If
+ End If
+End Sub
+
+Private Sub PlotLineHigh(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte )
+ Dim dx As Int = x1 - x0
+ Dim dy As Int = y1 - y0
+ Dim xi As Int = 1
+ If dx < 0 Then
+ xi = -1
+ dx = -dx
+ End If
+ Dim D As Int = 2*dx - dy
+ Dim x As Int = x0
+ For y = y0 To y1
+ points(x,y) = 1
+ If D > 0 Then
+ x = x + xi
+ D = D - 2*dy
+ End If
+ D = D + 2*dx
+ Next
+End Sub
+
+Private Sub PlotLineLow(x0 As Int, y0 As Int, x1 As Int,y1 As Int, points(,) As Byte )
+ Dim dx As Int = x1 - x0
+ Dim dy As Int = y1 - y0
+ Dim yi As Int = 1
+ If dy < 0 Then
+ yi = -1
+ dy = -dy
+ End If
+ Dim D As Int = 2*dy - dx
+ Dim y As Int = y0
+ For x = x0 To x1
+ points(x,y) = 1
+ If D > 0 Then
+ y = y + yi
+ D = D - 2*dx
+ End If
+ D = D + 2*dy
+ Next
+End Sub
+
+
+'-------------------
+' Image commands
+'-------------------
+' There are two different image printing options with different pixel formats.
+' PrintImage prints an entire image at once with a maximum size of 576x512
+' PrintImage2 prints a slice of an image with a height of 8 or 24 and a maximum width of 576
+' One or other may look better on your particular printer
+
+' Printer support method for pre-processing images to print
+' Convert the bitmap supplied to an array of pixel values representing the luminance value of each original pixel
+Sub ImageToBWIMage(bmp As Bitmap) As AnImage
+ Dim BC As BitmapCreator 'ignore
+ Dim W As Int = bmp.Width
+ Dim H As Int = bmp.Height
+ Dim pixels(W * H) As Byte
+
+ For y = 0 To H - 1
+ For x = 0 To W - 1
+ Dim j As Int = bmp.GetPixel(x, y)
+ ' convert color to approximate luminance value
+ Dim col As ARGBColor
+ BC.ColorToARGB(j, col )
+ Dim lum As Int = col.r * 0.2 + col.b*0.1 + col.g*0.7
+ If lum> 255 Then lum = 255
+ ' save the pixel luminance
+ pixels(y*W + x) = lum
+ Next
+ Next
+ Dim ret As AnImage
+ ret.Width = bmp.Width
+ ret.Height = bmp.Height
+ ret.Data = pixels
+ Return ret
+End Sub
+
+' Printer support method for pre-processing images to print
+' Convert the array of luminance values to an array of 0s and 1s according to the threshold value
+Sub ThresholdImage(img As AnImage, threshold As Int) As AnImage
+ Dim pixels(img.Data.Length) As Byte
+ For i = 0 To pixels.Length - 1
+ Dim lum As Int = Bit.And(img.Data(i), 0xff) ' bytes are signed values
+ If lum < threshold Then
+ lum = 1
+ Else
+ lum = 0
+ End If
+ pixels(i) = lum
+ Next
+ Dim ret As AnImage
+ ret.Width = img.Width
+ ret.Height = img.Height
+ ret.Data = pixels
+ Return ret
+End Sub
+
+' Printer support method for pre-processing images to print
+' Convert the array of luminance values to a dithered array of 0s and 1s according to the threshold value
+' The dithering algorithm is the simplest one-dimensional error diffusion algorithm
+' Normally threshold should be 128 but some images may look better with a little more or less.
+' This algorithm tends to produce vertical lines. DitherImage2D will probably look far better
+Sub DitherImage1D(img As AnImage, threshold As Int) As AnImage
+ Dim pixels(img.Data.Length) As Byte
+ Dim error As Int
+ For y = 0 To img.Height - 1
+ error = 0 ' reset on each new line
+ For x = 0 To img.Width - 1
+ Dim lum As Int = Bit.And(img.Data(y*img.Width + x), 0xff) ' bytes are signed values
+ lum = lum + error
+ If lum < threshold Then
+ error = lum
+ lum = 1
+ Else
+ error = lum - 255
+ lum = 0
+ End If
+ pixels(y*img.Width + x) = lum
+ Next
+ Next
+ Dim ret As AnImage
+ ret.Width = img.Width
+ ret.Height = img.Height
+ ret.Data = pixels
+ Return ret
+End Sub
+
+
+' Printer support method for pre-processing images to print
+' Convert the array of luminance values to a dithered array of 0s and 1s according to the threshold value
+' The dithering algorithm is the simplest two-dimensional error diffusion algorithm
+' Normally threshold should be 128 but some images may look better with a little more or less.
+' Anything more sophisticated might be overkill considering the image quality of most thermal printers
+Sub DitherImage2D(img As AnImage, threshold As Int) As AnImage
+ Dim pixels(img.Data.Length) As Byte
+ Dim xerror As Int
+ Dim yerrors(img.Width) As Int
+ For i = 0 To yerrors.Length -1
+ yerrors(0) = 0
+ Next
+ For y = 0 To img.Height - 1
+ xerror = 0 ' reset on each new line
+ For x = 0 To img.Width - 1
+ Dim lum As Int = Bit.And(img.Data(y*img.Width + x), 0xff) ' bytes are signed values
+ lum = lum + xerror + yerrors(x)
+ If lum < threshold Then
+ xerror = lum/2
+ yerrors(x) = xerror
+ lum = 1
+ Else
+ xerror = (lum - 255)/2
+ yerrors(x) = xerror
+ lum = 0
+ End If
+ pixels(y*img.Width + x) = lum
+ Next
+ Next
+ Dim ret As AnImage
+ ret.Width = img.Width
+ ret.Height = img.Height
+ ret.Data = pixels
+ Return ret
+End Sub
+
+
+' GS v0 printing
+'---------------
+
+' Prints the given image at the specified height and width using the "GS v" command
+' Image data is supplied as bytes each containing 8 bits of horizontal image data
+' The top left of the image is Byte(0) and the bottom right is Byte(width*height-1)
+' MSB of the byte is the leftmost image pixel, the LSB is the rightmost
+' Maximum width is 72 bytes (576 bits), Maximum height is 512 bytes
+' The printed pixels are square
+' Returns status 0 : OK, -1 : too wide, -2 : too high, -3 : array too small
+' The printer can take a long time to process the data and start printing
+Public Sub PrintImage(img As AnImage) As Int
+ ' max width = 72 ' 72mm/576 bits wide
+ ' max height = 512 ' 64mm/512 bits high
+ If img.width > 72 Then Return -1
+ If img.height > 512 Then Return -2
+ If img.data.Length < img.width * img.height Then Return -3
+ Dim xh As Int = img.width / 256
+ Dim xl As Int = img.width - xh * 256
+ Dim yh As Int = img.height / 256
+ Dim yl As Int = img.height - yh * 256
+ Dim params(5) As Byte
+ params(0) = 0 '
+ params(1) = xl
+ params(2) = xh
+ params(3) = yl
+ params(4) = yh
+ WriteString(GS & "v0")
+ WriteBytes(params)
+ WriteBytes(img.data)
+ WriteString(CRLF)
+ Return 0
+End Sub
+
+' Printer support method for pre-processing images to print by PrintImage
+' Takes an array of image pixels and packs it for use with PrintImage
+' Each byte in the imagedata array is a single pixel valued zero or non-zero for white and black
+' The returned array is 8 x smaller and packs 8 horizontal black or white pixels into each byte
+' If the horizontal size of the image is not a multiple of 8 it will be truncated so that it is.
+Public Sub PackImage(imagedata As AnImage) As AnImage
+ Dim xbytes As Int = imagedata.width/8
+ Dim pixels(xbytes * imagedata.height) As Byte
+ Dim masks(8) As Byte
+ masks(0) = 0x80
+ masks(1) = 0x40
+ masks(2) = 0x20
+ masks(3) = 0x10
+ masks(4) = 0x08
+ masks(5) = 0x04
+ masks(6) = 0x02
+ masks(7) = 0x01
+ Dim index As Int = 0
+ For y = 0 To imagedata.Height - 1
+ For x = 0 To xbytes - 1
+ Dim xbyte As Byte = 0
+ For b = 0 To 7
+ ' get a pixel
+ Dim pix As Byte = imagedata.Data(index)
+ If pix <> 0 Then
+ xbyte = xbyte + masks(b)
+ End If
+ index = index + 1
+ Next
+ pixels(y*xbytes + x) = xbyte
+ Next
+ Next
+ Dim ret As AnImage
+ ret.Width = xbytes
+ ret.Height = imagedata.Height
+ ret.Data = pixels
+ Return ret
+End Sub
+
+
+' ESC * printing
+'---------------
+
+' Prints the given image slice at the specified height and width using the "ESC *" command
+' Image data is supplied as bytes each containing 8 bits of vertical image data
+' Pixels are not square, the width:height ratio varies with density and line height
+' Returns status 0 = OK, -1 = too wide, -2 = too high, -3 = wrong array length
+' Line spacing needs to be set to 0 if printing consecutive slices
+' The printed pixels are not square, the ratio varies with the highdensity and dots24 parameter settings
+' The highdensity parameter chooses high or low horizontal bit density when printed
+' The dots24 parameter chooses 8 or 24 bit data slice height when printed
+' Not(highdensity)
+' Maximum width is 288 bits. Horizontal dpi is approximately 90
+' MSB of each byte is the highest image pixel, the LSB is the lowest
+' highdensity
+' Maximum width is 576 bits. Horizontal dpi is approximately 180
+' Not(dots24)
+' Vertical printed height is 8 bits at approximately 60dpi
+' One byte in the data Array represents one vertical line when printed
+' Array size is the same as the width
+' MSB of each byte is the highest image pixel, the LSB is the lowest
+' dots24
+' Vertical printed height is 24 bits at approximately 180dpi
+' Three consecutive bytes in the data array represent one vertical 24bit line when printed
+' Array size is 3 times the width
+' Byte(n+0) is the highest, byte (n+2) us the lowest
+' MSB of each byte is the highest image pixel, the LSB is the lowest
+Public Sub PrintImage2(width As Int, data() As Byte, highdensity As Boolean, dotds24 As Boolean) As Int
+ Dim d As String = Chr(0)
+ If Not(highdensity) And Not(dotds24 ) Then
+ d = Chr(0)
+ If width > 288 Then Return -1
+ If data.Length <> width Then Return -3
+ Else If highdensity And Not(dotds24) Then
+ d = Chr(1)
+ If width > 576 Then Return -1
+ If data.Length <> width Then Return -3
+ Else If Not(highdensity) And dotds24 Then
+ d = Chr(32)
+ If width > 288 Then Return -1
+ If data.Length <> width*3 Then Return -3
+ Else ' highdensity And dotds24
+ d = Chr(33)
+ If width > 576 Then Return -1
+ If data.Length <> width*3 Then Return -3
+ End If
+ Dim xh As Int = width / 256
+ Dim xl As Int = width - xh * 256
+ Dim params(2) As Byte
+ params(0) = xl
+ params(1) = xh
+ WriteString(ESC & "*" & d)
+ WriteBytes(params)
+ WriteBytes(data)
+ WriteString(CRLF)
+ Return 0
+End Sub
+
+' Printer support method for pre-processing images to print by PrintImage2
+' Takes an array of image pixels and packs one slice of it for use with PrintImage2
+' Each byte in the imagedata array is a single pixel valued zero or non-zero for white and black
+' The returned array packs 8 vertical black or white pixels into each byte
+' If dots24 is True then the slice is 24 pixels high otherwise it is 8 pixels high
+Public Sub PackImageSlice(img As AnImage, slice As Int, dots24 As Boolean) As Byte()
+ Dim bytes As Int = img.width
+ If dots24 Then
+ Dim pixels(bytes * 3) As Byte
+ Dim slicestart As Int = slice * bytes * 8 * 3
+ Else
+ Dim pixels(bytes) As Byte
+ Dim slicestart As Int = slice * bytes * 8
+ End If
+
+ Dim masks(8) As Byte
+ masks(0) = 0x80
+ masks(1) = 0x40
+ masks(2) = 0x20
+ masks(3) = 0x10
+ masks(4) = 0x08
+ masks(5) = 0x04
+ masks(6) = 0x02
+ masks(7) = 0x01
+ ' You could compress this into a single code block but I left it as two to make it more obvious what's happening
+ If dots24 Then
+ For x = 0 To bytes - 1
+ For s = 0 To 2
+ Dim xbyte As Byte = 0
+ For b = 0 To 7
+ ' get a pixel
+ Dim pix As Byte = img.Data(slicestart + ((b + s*8) * bytes) + x)
+ If pix <> 0 Then
+ xbyte = xbyte + masks(b)
+ End If
+ Next
+ pixels(x*3+s) = xbyte
+ Next
+ Next
+ Else
+ For x = 0 To bytes - 1
+ Dim xbyte As Byte = 0
+ For b = 0 To 7
+ ' get a pixel
+ Dim pix As Byte = img.Data(slicestart + (b * bytes) + x)
+ If pix <> 0 Then
+ xbyte = xbyte + masks(b)
+ End If
+ Next
+ pixels(x) = xbyte
+ Next
+ End If
+ Return pixels
+End Sub
+
+'----------------
+'Barcode commands
+'----------------
+
+' Set the height of a 2D bar code as number of dots vertically, 1 to 255
+' Automatically resets to the default after printing the barcode
+Public Sub setBarCodeHeight(height As Int)
+ WriteString(GS & "h")
+ Dim params(1) As Byte
+ params(0) = height
+ WriteBytes(params)
+End Sub
+
+' Set the left inset of a 2D barcode, 0 to 255
+' This does not reset on receipt of RESET
+Public Sub setBarCodeLeft(left As Int)
+ WriteString(GS & "x")
+ Dim params(1) As Byte
+ params(0) = left
+ WriteBytes(params)
+End Sub
+
+' Set the width of each bar in a 2D barcode. width value is 2 to 6, default is 3
+' 2 = 0.250, 3 - 0.375, 4 = 0.560, 5 = 0.625, 6 = 0.75
+' Resets to default after printing the barcode
+Public Sub setBarCodeWidth(width As Int)
+ WriteString(GS & "w")
+ Dim params(1) As Byte
+ params(0) = width
+ WriteBytes(params)
+End Sub
+
+'Selects the printing position of HRI (Human Readable Interpretation) characters when printing a 2D bar code.
+'0 Not printed, 1 Above the bar code, 2 Below the bar code, 3 Both above And below the bar code
+' Automatically resets to the default of 0 after printing the barcode
+' The docs say this can be Chr(0, 1 2 or 3) or "0" "1" "2" or "3" but the numeric characters don't work
+Public Sub setHriPosn(posn As Int)
+ WriteString(GS & "H")
+ Dim params(1) As Byte
+ params(0) = posn
+ WriteBytes(params)
+End Sub
+
+'Selects the font for HRI (Human Readable Interpretation) characters when printing a 2D bar code.
+'0 Font A (12 x 24), 1 Font B (9 x 17)
+' Automatically resets to the default of 0 after printing the barcode
+' The docs say this can be Chr(0 or 1) or "0" or "1" but the numeric characters don't work
+Public Sub setHriFont(font As Int)
+ WriteString(GS & "f" & Chr(font))
+End Sub
+
+' If given invalid data no barcode is printed, only strange characters
+' CODABAR needs any of A,B,C or D at the start and end of the barcode. Some decoders may not like them anywhere else
+' Bartype Code Number of characters Permitted values
+' A | UPC-A | 11 or 12 characters | 0 to 9 | The 12th printed character is always the check digit
+' B | UPC-E | 6 characters | 0 to 9 | The 12th printed character is always the check digit
+' C | EAN13 | 12 or 13 characters | 0 to 9 | The 12th printed character is always the check digit
+' D | EAN8 | 7 or 8 characters | 0 to 9 | The 8th printed character is always the check digit
+' E | CODE39 | 1 or more characters | 0 to 9, A to Z, Space $ % + - . /
+' F | ITF | 1 or more characters | 0 to 9 | even number of characters only
+' G | CODABAR| 3 to 255 characters | 0 to 9, A to D, $ + - . / : | needs any of A,B,C or D at the start and end
+' H | CODE93 | 1 to 255 characters | Same as CODE39
+' I | CODE128| 2 to 255 characters | entire 7 bit ASCII set
+Public Sub WriteBarCode(bartype As String, data As String)
+ Dim databytes() As Byte = data.GetBytes("ASCII")
+ Dim dlow As Int = databytes.Length
+ Log("Barcode " & bartype & ", Size " & dlow & ", " & data)
+ WriteString(GS & "k" & bartype.ToUpperCase.CharAt(0))
+ Dim params(1) As Byte
+ params(0) = dlow
+ WriteBytes(params)
+ WriteBytes(databytes)
+End Sub
+
+' On my printer QR codes don't seem to be able to be decoded and on high ECs look obviously wrong :(
+' size is 1 to 40, 0 is auto-size. Successive versions increase module size by 4 each side
+' size = 1 is 21x21, 2 = 25x25 ... size 40 = 177x177
+' EC is error correction level, "L"(7%) or "M"(15%) or "Q"(25%) or "H"(30%)
+' scale is 1 to 8, 1 is smallest, 8 is largest
+Public Sub WriteQRCode(size As Int, EC As String, scale As Int, data As String)
+ Dim databytes() As Byte = data.GetBytes("ISO-8859-1")
+ Dim dhigh As Int = databytes.Length / 256
+ Dim dlow As Int = databytes.Length - dhigh*256
+ Log("QR Code : Size " & size & ", EC " & EC & ", Scale " & scale & ", Size " & dlow & " " & dhigh & " : Data = " & data)
+ Dim params(3) As Byte
+ params(0) = scale
+ params(1) = dlow
+ params(2) = dhigh
+ WriteString(ESC & "Z" & Chr(size) & EC.ToUpperCase.CharAt(0))
+ WriteBytes(params)
+ WriteBytes(databytes)
+End Sub
+
+
+'****************
+' PRIVATE METHODS
+'****************
+
+'-----------------------
+' Internal Serial Events
+'-----------------------
+
+Private Sub Serial1_Connected (Success As Boolean)
+ If Success Then
+ Astream.Initialize(Serial1.InputStream, Serial1.OutputStream, "astream")
+ Connected = True
+ ConnectedError = ""
+ Serial1.Listen
+ Else
+ Connected = False
+ ConnectedError = LastException.Message
+ End If
+ If SubExists(CallBack, EventName & "_Connected") Then
+ CallSub2(CallBack, EventName & "_Connected", Success)
+ End If
+End Sub
+
+'----------------------------
+' Internal AsyncStream Events
+'----------------------------
+
+Private Sub AStream_NewData (Buffer() As Byte)
+ If SubExists(CallBack, EventName & "_NewData") Then
+ CallSub2(CallBack, EventName & "_NewData", Buffer)
+ End If
+ Log("Data " & Buffer(0))
+End Sub
+
+Private Sub AStream_Error
+ If SubExists(CallBack, EventName & "_Error") Then
+ CallSub(CallBack, EventName & "_Error")
+ End If
+End Sub
+
+Private Sub AStream_Terminated
+ Connected = False
+ If SubExists(CallBack, EventName & "_Terminated") Then
+ CallSub(CallBack, EventName & "_Terminated")
+ End If
+End Sub
diff --git a/Files/alcancia.png b/Files/alcancia.png
new file mode 100644
index 0000000..5f5cd3d
Binary files /dev/null and b/Files/alcancia.png differ
diff --git a/Files/alert2.png b/Files/alert2.png
new file mode 100644
index 0000000..44d3b7e
Binary files /dev/null and b/Files/alert2.png differ
diff --git a/Files/alerta.jpg b/Files/alerta.jpg
new file mode 100644
index 0000000..5edc6ba
Binary files /dev/null and b/Files/alerta.jpg differ
diff --git a/Files/alerta_amarilla.png b/Files/alerta_amarilla.png
new file mode 100644
index 0000000..4f4beac
Binary files /dev/null and b/Files/alerta_amarilla.png differ
diff --git a/Files/amarillo.png b/Files/amarillo.png
new file mode 100644
index 0000000..44e8c49
Binary files /dev/null and b/Files/amarillo.png differ
diff --git a/Files/anterior.jpg b/Files/anterior.jpg
new file mode 100644
index 0000000..48e56e4
Binary files /dev/null and b/Files/anterior.jpg differ
diff --git a/Files/buscar.bal b/Files/buscar.bal
new file mode 100644
index 0000000..435e3c3
Binary files /dev/null and b/Files/buscar.bal differ
diff --git a/Files/carrito.png b/Files/carrito.png
new file mode 100644
index 0000000..03889f6
Binary files /dev/null and b/Files/carrito.png differ
diff --git a/Files/detalle_promo.bal b/Files/detalle_promo.bal
new file mode 100644
index 0000000..7867d45
Binary files /dev/null and b/Files/detalle_promo.bal differ
diff --git a/Files/durakelo.png b/Files/durakelo.png
new file mode 100644
index 0000000..e1c956c
Binary files /dev/null and b/Files/durakelo.png differ
diff --git a/Files/durakelo1.png b/Files/durakelo1.png
new file mode 100644
index 0000000..00cb434
Binary files /dev/null and b/Files/durakelo1.png differ
diff --git a/Files/engrane.jpg b/Files/engrane.jpg
new file mode 100644
index 0000000..01159de
Binary files /dev/null and b/Files/engrane.jpg differ
diff --git a/Files/fila.bal b/Files/fila.bal
new file mode 100644
index 0000000..95aa082
Binary files /dev/null and b/Files/fila.bal differ
diff --git a/Files/fondo_kmt.jpg b/Files/fondo_kmt.jpg
new file mode 100644
index 0000000..4055faf
Binary files /dev/null and b/Files/fondo_kmt.jpg differ
diff --git a/Files/foto.bal b/Files/foto.bal
new file mode 100644
index 0000000..aa71626
Binary files /dev/null and b/Files/foto.bal differ
diff --git a/Files/guardagestion.bal b/Files/guardagestion.bal
new file mode 100644
index 0000000..f3c7786
Binary files /dev/null and b/Files/guardagestion.bal differ
diff --git a/Files/guna_viejo.png b/Files/guna_viejo.png
new file mode 100644
index 0000000..d937027
Binary files /dev/null and b/Files/guna_viejo.png differ
diff --git a/Files/info_gral.bal b/Files/info_gral.bal
new file mode 100644
index 0000000..4d59994
Binary files /dev/null and b/Files/info_gral.bal differ
diff --git a/Files/infonavit1.jpg b/Files/infonavit1.jpg
new file mode 100644
index 0000000..b8cce4c
Binary files /dev/null and b/Files/infonavit1.jpg differ
diff --git a/Files/itembuttonblue.png b/Files/itembuttonblue.png
new file mode 100644
index 0000000..af4dc0b
Binary files /dev/null and b/Files/itembuttonblue.png differ
diff --git a/Files/kelloggs.png b/Files/kelloggs.png
new file mode 100644
index 0000000..4debf15
Binary files /dev/null and b/Files/kelloggs.png differ
diff --git a/Files/keymon_logo.png b/Files/keymon_logo.png
new file mode 100644
index 0000000..945e546
Binary files /dev/null and b/Files/keymon_logo.png differ
diff --git a/Files/kmt.db b/Files/kmt.db
new file mode 100644
index 0000000..507452d
Binary files /dev/null and b/Files/kmt.db differ
diff --git a/Files/login.bal b/Files/login.bal
new file mode 100644
index 0000000..ae38b4d
Binary files /dev/null and b/Files/login.bal differ
diff --git a/Files/logo sanfer.jpg b/Files/logo sanfer.jpg
new file mode 100644
index 0000000..791fe4f
Binary files /dev/null and b/Files/logo sanfer.jpg differ
diff --git a/Files/logo_exitus1.jpg b/Files/logo_exitus1.jpg
new file mode 100644
index 0000000..b8cce4c
Binary files /dev/null and b/Files/logo_exitus1.jpg differ
diff --git a/Files/malo.jpg b/Files/malo.jpg
new file mode 100644
index 0000000..bbf3c87
Binary files /dev/null and b/Files/malo.jpg differ
diff --git a/Files/mapa.bal b/Files/mapa.bal
new file mode 100644
index 0000000..bd1f79d
Binary files /dev/null and b/Files/mapa.bal differ
diff --git a/Files/nopago.bal b/Files/nopago.bal
new file mode 100644
index 0000000..605a592
Binary files /dev/null and b/Files/nopago.bal differ
diff --git a/Files/nuevocliente.bal b/Files/nuevocliente.bal
new file mode 100644
index 0000000..70c3427
Binary files /dev/null and b/Files/nuevocliente.bal differ
diff --git a/Files/palomita_verde.png b/Files/palomita_verde.png
new file mode 100644
index 0000000..f8e11e6
Binary files /dev/null and b/Files/palomita_verde.png differ
diff --git a/Files/pedido.bal b/Files/pedido.bal
new file mode 100644
index 0000000..7dbb1a9
Binary files /dev/null and b/Files/pedido.bal differ
diff --git a/Files/planfia_logo.png b/Files/planfia_logo.png
new file mode 100644
index 0000000..680ffd0
Binary files /dev/null and b/Files/planfia_logo.png differ
diff --git a/Files/planfia_logo_old.png b/Files/planfia_logo_old.png
new file mode 100644
index 0000000..4adb130
Binary files /dev/null and b/Files/planfia_logo_old.png differ
diff --git a/Files/planfia_logo_old2.png b/Files/planfia_logo_old2.png
new file mode 100644
index 0000000..316f337
Binary files /dev/null and b/Files/planfia_logo_old2.png differ
diff --git a/Files/productos.bal b/Files/productos.bal
new file mode 100644
index 0000000..16f7fdd
Binary files /dev/null and b/Files/productos.bal differ
diff --git a/Files/profina.png b/Files/profina.png
new file mode 100644
index 0000000..d307055
Binary files /dev/null and b/Files/profina.png differ
diff --git a/Files/qr.bal b/Files/qr.bal
new file mode 100644
index 0000000..ceb3876
Binary files /dev/null and b/Files/qr.bal differ
diff --git a/Files/rechazo.jpg b/Files/rechazo.jpg
new file mode 100644
index 0000000..afb7ed3
Binary files /dev/null and b/Files/rechazo.jpg differ
diff --git a/Files/rojo.png b/Files/rojo.png
new file mode 100644
index 0000000..81d363d
Binary files /dev/null and b/Files/rojo.png differ
diff --git a/Files/salma.jpg b/Files/salma.jpg
new file mode 100644
index 0000000..8308c95
Binary files /dev/null and b/Files/salma.jpg differ
diff --git a/Files/salma.png b/Files/salma.png
new file mode 100644
index 0000000..00cb434
Binary files /dev/null and b/Files/salma.png differ
diff --git a/Files/seleccion.bal b/Files/seleccion.bal
new file mode 100644
index 0000000..ad7b9e9
Binary files /dev/null and b/Files/seleccion.bal differ
diff --git a/Files/senial.jpg b/Files/senial.jpg
new file mode 100644
index 0000000..a758065
Binary files /dev/null and b/Files/senial.jpg differ
diff --git a/Files/sync.png b/Files/sync.png
new file mode 100644
index 0000000..ff7d32e
Binary files /dev/null and b/Files/sync.png differ
diff --git a/Files/tache_rojo.png b/Files/tache_rojo.png
new file mode 100644
index 0000000..2f5f59d
Binary files /dev/null and b/Files/tache_rojo.png differ
diff --git a/Files/tarjeta.bal b/Files/tarjeta.bal
new file mode 100644
index 0000000..7f356d3
Binary files /dev/null and b/Files/tarjeta.bal differ
diff --git a/Files/telefonos.bal b/Files/telefonos.bal
new file mode 100644
index 0000000..3de34e9
Binary files /dev/null and b/Files/telefonos.bal differ
diff --git a/Files/tiendita.jpg b/Files/tiendita.jpg
new file mode 100644
index 0000000..5f52563
Binary files /dev/null and b/Files/tiendita.jpg differ
diff --git a/Files/verde.png b/Files/verde.png
new file mode 100644
index 0000000..59edded
Binary files /dev/null and b/Files/verde.png differ
diff --git a/Historico.bas b/Historico.bas
new file mode 100644
index 0000000..4f261de
--- /dev/null
+++ b/Historico.bas
@@ -0,0 +1,185 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 skmt As SQL
+ Dim g As GPS
+ Dim clie_id As String
+ Dim sDate,sTime As String
+ Dim usuario As String
+
+End Sub
+
+Sub Globals
+ '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 Activity_Create(FirstTime As Boolean)
+ If(FirstTime) Then
+ g.Initialize("GPS")
+ End If
+
+
+ ruta = File.DirInternal
+
+ Activity.LoadLayout("tarjeta")
+ B_RMI.Visible = True
+ borra.Visible = False
+ Titulo.Text = "Acumulado"
+ b_desc.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)
+ '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 Activity_Resume
+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=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=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=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 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
+ B_RMI.Visible = False
+ 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 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
+
+ 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=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/QR_MODULE.bas b/QR_MODULE.bas
new file mode 100644
index 0000000..623aae8
--- /dev/null
+++ b/QR_MODULE.bas
@@ -0,0 +1,98 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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.
+
+End Sub
+
+Sub Globals
+ 'These global variables will be redeclared each time the activity is created.
+ 'These variables can only be accessed from this module.
+ Dim b,b1,b2 As ImageView
+ Dim bt As Button
+
+ Dim qr As QRCode
+ Dim sc As Zxing_scanner
+ Dim CODIGO As String
+
+
+ Private Label1 As Label
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ Activity.LoadLayout("qr")
+
+ b.Initialize("")
+ b1.Initialize("")
+ b1.Gravity=Gravity.FILL
+ b2.Initialize("")
+ b2.Gravity=Gravity.FILL
+
+ Activity.AddView(b,0,0,100dip,100dip)
+ Activity.AddView(b1,0,110dip,300dip,100dip)
+ Activity.AddView(b2,0,220dip,300dip,100dip)
+
+ qr.initialize
+
+ b.Bitmap = qr.QR_Encode("TESTING QR CODES",100dip)
+ b1.Bitmap = qr.Ean13_Encode(calc_ean_checksum("123456789012"),100dip) ' Not interested in this
+ b2.Bitmap = qr.Ean8_Encode(calc_ean_checksum("1234567"),100dip) ' Not interested in this
+
+ bt.Initialize("bt")
+ bt.Text="Codigo"
+ Activity.AddView(bt,0,330dip,120dip,50dip)
+
+End Sub
+
+Sub Activity_Resume
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+End Sub
+Sub bt_click
+ 'ADDED BY JOHAN SCHOEMAN i.e OPTION TO CHANGE THE WIDTH AND HEIGHT OF THE VIEWING RECTANGLE
+ 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
+ b.Bitmap = qr.QR_Encode(Values,100dip)
+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 c 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/UserGuide/UsersGuide.pdf b/UserGuide/UsersGuide.pdf
new file mode 100644
index 0000000..90f8a09
Binary files /dev/null and b/UserGuide/UsersGuide.pdf differ
diff --git a/colonia.bas b/colonia.bas
new file mode 100644
index 0000000..07966e5
--- /dev/null
+++ b/colonia.bas
@@ -0,0 +1,237 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 ruta As String
+ Dim q_buscar As String
+End Sub
+
+Sub Globals
+ '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 Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ 'Activity.LoadLayout("Layout1")
+ Activity.LoadLayout("fila")
+ 'Dim ruta As String
+ entro ="2"
+ ' valido donde escribo el archivo de la base de datos de kmt
+
+ 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
+ qr.initialize
+
+
+End Sub
+
+Sub Activity_Resume
+b_qr.Visible = True
+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 from kmt_info where gestion = 0 and cat_cl_codigo <> 0 AND CAT_CL_CODIGO NOT IN (SELECT NV_CLIENTE FROM NOVENTA) AND CAT_CL_CODIGO NOT IN (SELECT PC_CLIENTE FROM PEDIDO_CLIENTE) ORDER BY CAT_CL_CODIGO")
+ 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_NOMBRE"))
+ Next
+ End If
+ entro = "4"
+ ' ESTE FUE EL FIN DEL CODIGO COMENTADO
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+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)
+
+ 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"
+ 'Activity_Resume
+ 'Return True
+ 'Else If entro = "2" Then
+ 'entro = "1"
+ 'Activity_Resume
+ 'Return True
+ 'Else If entro = "1" Then
+
+ ' I want to capture the key here so I return True
+
+ StartActivity(seleccion)
+ 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 ? OR CAT_CL_CALLE LIKE ?)and gestion = 0 AND CAT_CL_CODIGO NOT IN (SELECT NV_CLIENTE FROM NOVENTA) AND CAT_CL_CODIGO NOT IN (SELECT PC_CLIENTE FROM PEDIDO_CLIENTE) order by CAT_CL_NOMBRE ", Array As String(q_buscar,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/colonia2.bas b/colonia2.bas
new file mode 100644
index 0000000..87d325a
--- /dev/null
+++ b/colonia2.bas
@@ -0,0 +1,1057 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 g As GPS
+ Dim ruta As String
+ Dim q_buscar As String
+ Dim skmt As SQL
+
+End Sub
+
+Sub Globals
+ '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
+ Private B_MENOS As Button
+ Private B_MAS As Button
+ Private B_SALIR As Button
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ If(FirstTime) Then
+ g.Initialize("GPS")
+ End If
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ 'Activity.LoadLayout("Layout1")
+ Activity.RemoveAllViews
+ Activity.LoadLayout("PRODUCTOS")
+ 'Dim ruta As String
+ ' valido donde escribo el archivo de la base de datos de kmt
+
+ ruta = File.DirInternal
+
+ Panel1.Visible= False
+ B_SALIR.Visible = True
+
+ ' 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 Activity_Resume
+ 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"
+
+ End If
+
+ 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 ="4"
+ 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")
+ c=skmt.ExecQuery("select CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ORDER BY CAT_GP_NOMBRE ")
+
+ '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 = "PRODUCTO"
+ 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
+ ' bmp = LoadBitmap(File.DirAssets, "palomita_verde.png")
+
+ ListView1.AddTwoLines(c.GetString("CAT_GP_NOMBRE"),"# " & c.GetString("CAT_GP_ALMACEN") & " $ " & c.GetString("CAT_GP_PRECIO"))
+
+ 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
+ PERFIL = c.GetString("CAT_VA_VALOR")
+ 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 Activity_Pause (UserClosed As Boolean)
+
+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"
+ Activity_Resume
+ Return True
+ Else If entro = "3" Then
+ ' entro = "2"
+ ' Activity_Resume
+ ' Return True
+ ' Else If entro = "2" Then
+ ' entro = "1"
+ ' Activity_Resume
+ ' 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_ID, 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 ? OR CAT_GP_ID 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,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"),"ID: "& c.GetString("CAT_GP_ID") & " Existencia " & c.GetString("CAT_GP_ALMACEN") & " Precio $" & c.GetString("CAT_GP_PRECIO"))
+ Next
+ End If
+
+
+
+' If c.RowCount>0 Then
+' For i=0 To c.RowCount -1
+' c.Position=i
+' Dim label1 As Label
+' label1 = ListView1.SingleLineLayout.Label
+' label1.TextSize = 13
+ ' ListView1.AddSingleLine(c.GetString("CAT_GP_NOMBRE"))
+ ' 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
+ B_SALIR.Visible = False
+
+
+ cambio = "0"
+ If g.GPSEnabled=False Then
+ ToastMessageShow("Habilitar el GPS", True)
+ StartActivity(g.LocationSettingsIntent)
+ Else
+ g.Start(0,0)
+ End If
+ cantidad.Text = ""
+ c=skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
+ C.Position =0
+ ALMACEN = C.GetString("ID_ALMACEN")
+ 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)")
+ ' ListView1.Clear
+
+ 'If c.RowCount>0 Then
+ ' For i=0 To c.RowCount -1
+ 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
+ l_precio.Text = c.GetDouble("CAT_GP_PRECIO")
+ End If
+ l_bodega.Text = 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
+ ' If t_venta.Text < 100 AND l_tipo.Text = "PROMOS" Then
+ 'Terminar.Visible = False
+ 'guardar.Visible = False
+ 'cantidad.Visible = False
+ 'nopromo.Visible = True
+ 'Else
+ 'cambio = 0
+ 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
+ '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
+ B_SALIR.Visible = True
+
+
+ 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
+
+End Sub
+
+
+
+
+Sub guardar_Click
+ If cantidad.Text = "" Then
+ Panel1.Visible= False
+ B_SALIR.Visible = True
+
+
+
+ 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
+
+ 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))
+ 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
+ B_SALIR.Visible = True
+
+
+ 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))
+ 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"), lon_gps, 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
+ B_SALIR.Visible = True
+
+
+
+ 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"), lon_gps, 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
+ B_SALIR.Visible = True
+
+
+ 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))
+ 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
+ B_SALIR.Visible = True
+
+ 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))
+ 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"), lon_gps, 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)")
+
+ 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"), lon_gps, 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
+ B_SALIR.Visible = True
+
+ 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
+ B_SALIR.Visible = True
+
+
+
+ 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
+ B_SALIR.Visible = True
+
+
+
+ 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
+
+Sub B_MENOS_Click
+ If cantidad.Text = "" Then
+ cantidad.Text = ""
+ Else IF cantidad.Text > 0 Then
+ cantidad.Text = cantidad.Text -1
+ End If
+End Sub
+
+Sub B_MAS_Click
+ If cantidad.Text = "" Then
+ cantidad.Text = 1
+ Else
+ cantidad.Text = cantidad.Text + 1
+ End If
+End Sub
+
+Sub B_SALIR_Click
+ StartActivity(fila)
+End Sub
\ No newline at end of file
diff --git a/db/kmt (2).db b/db/kmt (2).db
new file mode 100644
index 0000000..3d62069
Binary files /dev/null and b/db/kmt (2).db differ
diff --git a/db/kmt (3).db b/db/kmt (3).db
new file mode 100644
index 0000000..285b465
Binary files /dev/null and b/db/kmt (3).db differ
diff --git a/db/kmt (4).db b/db/kmt (4).db
new file mode 100644
index 0000000..3b054f9
Binary files /dev/null and b/db/kmt (4).db differ
diff --git a/db/kmt.db b/db/kmt.db
new file mode 100644
index 0000000..eda684f
Binary files /dev/null and b/db/kmt.db differ
diff --git a/db/kmtold.db b/db/kmtold.db
new file mode 100644
index 0000000..f17f682
Binary files /dev/null and b/db/kmtold.db differ
diff --git a/db/ruta2 b/db/ruta2
new file mode 100644
index 0000000..a97f216
--- /dev/null
+++ b/db/ruta2
@@ -0,0 +1,50 @@
+"PE_COSTO_SIN","PE_RUTA","PE_CEDIS","PE_COSTO_TOT","PE_COSTOU","PE_CANT","PE_PRONOMBRE","PE_PROID","PE_CLIENTE","PE_FECHA","PE_USUARIO"
+"133.8","2","2","144.5","144.5","1","KINDER SORPRESA C/12 PZS MONSTER HIGH","FERR042","N11:35:13","07/03/201511:37:34","RUTA02GUNAVA"
+"313.8","2","2","364","91","4","NEW MIX SIX TORONJA 475ML","HERR006","155117","07/03/201511:49:41","RUTA02GUNAVA"
+"0.0","2","2","108","108","1","VANISH BARRA + DOS NUGGET DE REGALO","PAQU303","155118","07/03/201512:07:20","RUTA02GUNAVA"
+"58.5","2","2","58.5","58.5","1","KNORR CAMARON EXH 12PZ","UNI142","N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201512:17:28","RUTA02GUNAVA"
+"0.0","2","2","115","115","1","TIRA KNORR SUIZA + 2 NUGGET","PAQU40","N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201512:17:40","RUTA02GUNAVA"
+"35.5","2","2","35.5","35.5","1","KNORR MI ARROZ TIRA 10 AJO Y CEB","UNI028","N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201512:18:39","RUTA02GUNAVA"
+"35.5","2","2","35.5","35.5","1","KNORR MI ARROZ TIRA 10 TOMATE","UNI019","N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201512:18:48","RUTA02GUNAVA"
+"79.6","2","2","79.6","39.8","2","KNORR SOPA DE LETRAS 95GR","UNI044","N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201512:24:16","RUTA02GUNAVA"
+"39.8","2","2","39.8","39.8","1","KNORR SOPA CODITOS 95GR","UNI043","N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201512:24:35","RUTA02GUNAVA"
+"39.8","2","2","39.8","39.8","1","KNORR SOPA MUNICION 95GR","UNI045","N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201512:24:43","RUTA02GUNAVA"
+"58.5","2","2","58.5","58.5","1","KNORR CAMARON EXH 12PZ","UNI142","N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201512:26:02","RUTA02GUNAVA"
+"44.91","2","2","48.5","48.5","1","KINDER CHOCOLATE MAXI T1 10X28","FERR030","155119","07/03/201512:32:19","RUTA02GUNAVA"
+"113.8","2","2","132","132","1","CHARMIN RESIST PLUS 4X6IT 300H ROJO","PYG081","155122","07/03/201512:47:33","RUTA02GUNAVA"
+"50.16","2","2","58.2","9.7","6","FABULOSO LAVANDA 500ML","CP007","155123","07/03/201512:59:44","RUTA02GUNAVA"
+"181.08","2","2","210","35","6","AXE DEO BS DARK 12X96G/150ML","UNI334","10962","07/03/201513:07:51","RUTA02GUNAVA"
+"25.87","2","2","30","30","1","SEDAL SH 2 EN 1 CERAMIDAS 15 ML.","UNI035","10962","07/03/201513:13:30","RUTA02GUNAVA"
+"112.8","2","2","130.8","10.9","12","ZEST NEUTRO 180GR","PYG047","10962","07/03/201513:15:38","RUTA02GUNAVA"
+"58.5","2","2","58.5","58.5","1","KNORR CAMARON EXH 12PZ","UNI142","155124","07/03/201513:30:51","RUTA02GUNAVA"
+"19.0","2","2","19","19","1","KNORR COSTILLA 12 CUB","UNI141","155124","07/03/201513:36:22","RUTA02GUNAVA"
+"35.5","2","2","35.5","35.5","1","KNORR MI ARROZ TIRA 10 TOMATE","UNI019","N13:43:02N12:35:29N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201513:45:00","RUTA02GUNAVA"
+"0.0","2","2","49.9","49.9","1","COMBO AWK AEROSOL 226GR 3X2 $49.90","PAQU286","N13:43:02N12:35:29N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201513:45:14","RUTA02GUNAVA"
+"0.0","2","2","108","108","1","VANISH BARRA + DOS NUGGET DE REGALO","PAQU303","N13:43:02N12:35:29N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201513:45:38","RUTA02GUNAVA"
+"79.6","2","2","79.6","39.8","2","KNORR SOPA FIDEO 95","UNI020","N14:00:35N13:43:02N12:35:29N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201514:02:37","RUTA02GUNAVA"
+"79.6","2","2","79.6","39.8","2","KNORR SOPA CODITOS 95GR","UNI043","N14:00:35N13:43:02N12:35:29N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201514:02:46","RUTA02GUNAVA"
+"0.0","2","2","230","115","2","TIRA KNORR SUIZA + 2 NUGGET","PAQU40","N14:00:35N13:43:02N12:35:29N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201514:03:12","RUTA02GUNAVA"
+"0.0","2","2","230","115","2","TIRA KNORR SUIZA + 2 NUGGET","PAQU40","N14:20:03N14:00:35N13:43:02N12:35:29N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201514:20:49","RUTA02GUNAVA"
+"85.39","2","2","103","103","1","JACK DANIEL`S MANZANA","HERR002","10512","07/03/201514:26:05","RUTA02GUNAVA"
+"88.79","2","2","103","103","1","JACK DANIEL´S GINGER","HERR008","10512","07/03/201514:26:11","RUTA02GUNAVA"
+"88.79","2","2","103","103","1","JACK DANIEL´S COLA","HERR009","10512","07/03/201514:26:16","RUTA02GUNAVA"
+"88.79","2","2","103","103","1","JACK DANIEL´S AGUA MINERAL","HERR014","10512","07/03/201514:26:26","RUTA02GUNAVA"
+"39.8","2","2","39.8","39.8","1","KNORR SOPA DE LETRAS 95GR","UNI044","10512","07/03/201514:28:37","RUTA02GUNAVA"
+"17","2","PAQU293","68","17","4","ADES MANZANA 12*946 ML.","UNI001","155127","07/03/201514:47:49","RUTA02GUNAVA"
+"17","2","PAQU293","68","17","4","ADES MANGO 12*946 ML.","UNI002","155127","07/03/201514:47:54","RUTA02GUNAVA"
+"0","2","2","0","0","2","6 ADES 946 ML + 1 ADES DE REGALO NARANJA 946ML $102","PAQU293","155127","07/03/201514:48:20","RUTA02GUNAVA"
+"68.0","2","2","68","17","4","ADES NARANJA 12*946 ML.","UNI029","155127","07/03/201514:49:26","RUTA02GUNAVA"
+"133.8","2","2","144.5","144.5","1","KINDER SORPRESA MINIONS C/12PZ","FERR045","N14:51:49N14:20:03N14:00:35N13:43:02N12:35:29N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201514:52:59","RUTA02GUNAVA"
+"19.4","2","PAQU289","22.5","22.5","1","ZK GUAYABA 25 GRS CUBO","TRML009","N15:03:52","07/03/201515:04:14","RUTA02GUNAVA"
+"19.4","2","PAQU289","22.5","22.5","1","ZK JAMAICA 25 GRS CUBO","TRML020","N15:03:52","07/03/201515:04:19","RUTA02GUNAVA"
+"19.4","2","PAQU289","22.5","22.5","1","ZK TAMARINDO 25 GRS CUBO","TRML024","N15:03:52","07/03/201515:04:24","RUTA02GUNAVA"
+"19.4","2","PAQU289","22.5","22.5","1","ZK MANZANA 25 GRS CUBO","TRML004","N15:03:52","07/03/201515:04:50","RUTA02GUNAVA"
+"19.4","2","PAQU289","22.5","22.5","1","ZK SANDIA 25 GRS CUBO","TRML011","N15:03:52","07/03/201515:05:48","RUTA02GUNAVA"
+"0","2","PAQU289","0","0","2","SPACHETTI 200G VEGETAL LUCCHETTI","TRML046","N15:03:52","07/03/201515:06:24","RUTA02GUNAVA"
+"0","2","2","0","0","1","5 ZUKOS + 2 SOPAS LUCCHETTI","PAQU289","N15:03:52","07/03/201515:06:36","RUTA02GUNAVA"
+"85.28","2","2","103","103","1","VIVE 100 340ML MEDIA CAJA","QUAL085","155119","07/03/201516:48:53","RUTA02GUNAVA"
+"170.56","2","2","206","103","2","VIVE 100 340ML MEDIA CAJA","QUAL085","N14:51:49N14:20:03N14:00:35N13:43:02N12:35:29N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201516:49:41","RUTA02GUNAVA"
+"85.28","2","2","103","103","1","VIVE 100 340ML MEDIA CAJA","QUAL085","N12:35:29N12:23:56N12:09:53N12:09:02N11:53:01N11:35:13","07/03/201516:51:06","RUTA02GUNAVA"
+"41.67","2","2","45","45","1","NUTELA T 350 X 15","FERR012","10842","07/03/201516:52:29","RUTA02GUNAVA"
+"39.23","2","2","45.5","45.5","1","VANISH WHITE LIQ + COLOR PROTEC PACK 925ML","REC025","10842","07/03/201516:52:58","RUTA02GUNAVA"
+"30.17","2","2","35","35","1","BRASSO ANTIGRASA + REPUESTO 650ML","REC001","10842","07/03/201516:58:44","RUTA02GUNAVA"
diff --git a/db/ruta8 b/db/ruta8
new file mode 100644
index 0000000..bc53029
--- /dev/null
+++ b/db/ruta8
@@ -0,0 +1,22 @@
+"PE_COSTO_SIN","PE_RUTA","PE_CEDIS","PE_COSTO_TOT","PE_COSTOU","PE_CANT","PE_PRONOMBRE","PE_PROID","PE_CLIENTE","PE_FECHA","PE_USUARIO"
+"0.0","8","2","115","115","1","TIRA KNORR SUIZA + 2 NUGGET","PAQU40","N12:44:59N12:40:32N12:33:30N12:32:12N12:30:44N12:29:01","07/03/201512:45:26","RUTA08GUNAVA"
+"0.0","8","2","115","115","1","TIRA KNORR SUIZA + 2 NUGGET","PAQU40","N13:41:51","07/03/201513:42:00","RUTA08GUNAVA"
+"85.28","8","2","103","103","1","VIVE 100 450ML media caja","QUAL085","N13:41:51","07/03/201513:42:41","RUTA08GUNAVA"
+"85.28","8","2","103","103","1","VIVE 100 450ML media caja","QUAL085","N13:47:50N13:44:29N13:41:51","07/03/201513:50:33","RUTA08GUNAVA"
+"69.9","8","2","69.9","69.9","1","KNORR TOM EXH 24","UNI048","N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201513:56:01","RUTA08GUNAVA"
+"85.28","8","2","103","103","1","VIVE 100 450ML media caja","QUAL085","N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201513:56:10","RUTA08GUNAVA"
+"133.8","8","2","144.5","144.5","1","KINDER SORPRESA MINIONS C/12PZ","FERR045","N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201514:01:17","RUTA08GUNAVA"
+"35.5","8","2","35.5","35.5","1","KNORR MI ARROZ TIRA 10 AJO Y CEB","UNI028","N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201514:38:25","RUTA08GUNAVA"
+"40.0","8","2","40","20","2","PROMOCION SH Y AC ENLIVEN","PRO120","N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201514:46:42","RUTA08GUNAVA"
+"19.4","8","PAQU289","22.5","22.5","1","ZK DURAZNO 25 GRS CUBO","TRML006","N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201514:47:05","RUTA08GUNAVA"
+"19.4","8","PAQU289","22.5","22.5","1","ZK MANGO 25 GRS CUBO","TRML003","N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201514:47:19","RUTA08GUNAVA"
+"19.4","8","PAQU289","22.5","22.5","1","ZK MANZANA 25 GRS CUBO","TRML004","N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201514:47:34","RUTA08GUNAVA"
+"19.4","8","PAQU289","22.5","22.5","1","ZK MANDARINA 25 GRS CUBO","TRML007","N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201514:47:43","RUTA08GUNAVA"
+"19.4","8","PAQU289","22.5","22.5","1","ZK GUANABANA 25 GRS CUBO","TRML010","N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201514:47:49","RUTA08GUNAVA"
+"0","8","PAQU289","0","0","2","FIDEO 2 200G VEGETAL LUCCHETTI","TRML043","N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201514:48:01","RUTA08GUNAVA"
+"","8","2","0","0","1","5 ZUKOS + 2 SOPAS LUCCHETTI","PAQU289","N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201514:48:09","RUTA08GUNAVA"
+"85.28","8","2","103","103","1","VIVE 100 450ML media caja","QUAL085","N14:54:42N14:51:31N14:12:08N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201514:55:00","RUTA08GUNAVA"
+"19.0","8","2","19","19","1","KNORR COSTILLA 12 CUB","UNI141","N15:06:15N14:57:35N14:56:28N14:54:42N14:51:31N14:12:08N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201515:06:37","RUTA08GUNAVA"
+"58.5","8","2","58.5","58.5","1","KNORR CAMARON EXH 12PZ","UNI142","N15:06:15N14:57:35N14:56:28N14:54:42N14:51:31N14:12:08N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201515:06:44","RUTA08GUNAVA"
+"40.5","8","2","40.5","13.5","3","KNORR ARROZ BLANCO 160GR","UNI041","N15:06:15N14:57:35N14:56:28N14:54:42N14:51:31N14:12:08N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201515:07:10","RUTA08GUNAVA"
+"85.28","8","2","103","103","1","VIVE 100 450ML media caja","QUAL085","N16:52:20N16:32:26N16:22:20N16:18:20N16:17:23N16:09:26N16:01:03N15:50:24N15:06:15N14:57:35N14:56:28N14:54:42N14:51:31N14:12:08N14:10:00N14:02:02N14:01:03N13:55:16N13:47:50N13:44:29N13:41:51","07/03/201516:52:30","RUTA08GUNAVA"
diff --git a/db/salma.apk b/db/salma.apk
new file mode 100644
index 0000000..1fea954
Binary files /dev/null and b/db/salma.apk differ
diff --git a/detalle_promo.bas b/detalle_promo.bas
new file mode 100644
index 0000000..d8c6182
--- /dev/null
+++ b/detalle_promo.bas
@@ -0,0 +1,138 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 skmt As SQL
+End Sub
+
+Sub Globals
+ '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 b As Cursor
+ Dim regalo As String
+
+
+ Dim ListView1 As ListView
+ Dim L_CANT As Label
+ Dim L_TOTAL As Label
+ Dim borra As Button
+ Dim Existe As String
+ End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+
+ ruta = File.DirInternal
+
+ Activity.LoadLayout("detalle_promo")
+
+ ' 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 CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)")
+ ListView1.Clear
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ b=skmt.ExecQuery2("select CAT_GP_NOMBRE from cat_gunaprod where CAT_GP_ID = ?", Array As String(C.GetString("CAT_DP_IDPROD")))
+ B.Position =0
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 15
+ label1.TextColor = Colors.White
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.White
+ If c.GetString("CAT_DP_PRECIO") = 0 Then
+ regalo = "SI"
+ Else
+ regalo = "NO"
+ End If
+ ListView1.AddTwoLines(B.GetString("CAT_GP_NOMBRE"),"Cantidad # "& c.GetString("CAT_DP_PZAS")& " REGALO "& regalo)
+ b.Close
+ Next
+ c.Close
+ 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 Activity_Resume
+ skmt.Initialize(ruta,"kmt.db", True)
+
+ c=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)")
+ ListView1.Clear
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ b=skmt.ExecQuery2("select CAT_GP_NOMBRE from cat_gunaprod where CAT_GP_ID = ?", Array As String(C.GetString("CAT_DP_IDPROD")))
+ B.Position =0
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 15
+ label1.TextColor = Colors.White
+ Dim label2 As Label
+ label2 = ListView1.TwoLinesLayout.SecondLabel
+ label2.TextSize = 10
+ label2.TextColor = Colors.White
+ If c.GetString("CAT_DP_PRECIO") = 0 Then
+ regalo = "SI"
+ Else
+ regalo = "NO"
+ End If
+ ListView1.AddTwoLines(B.GetString("CAT_GP_NOMBRE"),"Cantidad # "& c.GetString("CAT_DP_PZAS")& " REGALO "& regalo)
+ b.Close
+ Next
+ c.Close
+ End If
+ 'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
+
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+End Sub
+
+
+
+Sub Regresar_Click
+ StartActivity(pedidos)
+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(pedidos)
+ 'Return True
+ End If
+ ' Returning False signals the system to handle the key
+ Return False
+End Sub
diff --git a/fila.bas b/fila.bas
new file mode 100644
index 0000000..c8e167b
--- /dev/null
+++ b/fila.bas
@@ -0,0 +1,1235 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 g As GPS
+ Dim ruta As String
+ Dim skmt As SQL
+ 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
+
+End Sub
+
+Sub Globals
+ 'These global variables will be redeclared each time the activity is created.
+ 'These variables can only be accessed from this module.
+ Dim d As Cursor
+ Dim c As Cursor
+ Dim s As Cursor
+ Dim c2 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 ruta_tienda As String
+ Private t_tenc As Label
+ Private E_RES_E As EditText
+ Private B_E_NEXT As Button
+ Private Panel2 As Panel
+ Private CONTADOR_E As String
+ Private HR_RES1 As String
+ Private HR_RES2 As String
+ Private HR_RES3 As String
+ Private EXISTE As String
+
+ Private LA_GEO As Label
+ Private LA_GPS As Label
+ Private B_GPS As Button
+ Private MONTO_RPOMO_2021 As String
+ Private REGALO_PROMO_2021 As String
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ 'Activity.LoadLayout("Layout1")
+ If(FirstTime) Then
+ g.Initialize("GPS")
+ End If
+ Activity.RemoveAllViews
+ Activity.LoadLayout("info_gral")
+
+ ' 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
+ skmt.Initialize(ruta,"kmt.db", True)
+ c=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=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
+
+ ' ListView1.Clear
+
+ 'If c.RowCount>0 Then
+ ' For i=0 To c.RowCount -1
+ 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")
+ l_total.Text = s.GetString("TOTAL_CLIE")
+ total_cliente = s.GetString("TOTAL_CLIE")
+ MONTO_COMPRA = c.GetString("CAT_CL_MTOCOMPRA")
+ FACTURA = c.GetString("CAT_CL_BFACTURA")
+ CREDITO = c.GetString("CAT_CL_BCREDITO")
+
+
+ ' la_producto.Text = c.GetString("CDPROD")
+ 'la_numero.Text = c.GetString("CDNUMEXT")
+ 'la_nint.Text = c.GetString("CDNUMINT")
+ 'la_pob.Text = c.GetString("CFSDOGLOBAL")
+
+ 'la_saldooper.Text = c.GetString("CAT_CL_FALTA")
+ 'Label10.Text = "FECHA DE ALTA"
+ 'Label11.Text = "# ENCUESTAS"
+
+ 'c=skmt.ExecQuery("select MGCTA, MGACTT, MGGESTT, MGDTEACTT, COMM from hist_gest where MGCTA In (Select cuenta from cuentaa)")
+ 'c.Position=0
+ 'la_comm.Text = c.GetString("COMM")
+ 'la_actdte.Text = C.GetString("MGDTEACTT")
+ 'la_usuario.Text = c.GetString("MGGESTT")
+ 'la_resultado.Text = c.GetString("MGACTT")
+
+
+ 'la_padre.Text = c.GetString("PR_CF_FECHA_DISP")
+ 'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
+
+ ' 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.
+ 'ListView1.AddTwoLines(c.GetString("pr_cd_nombre"),c.GetString("pr_cd_colonia"))
+ ' Next
+ 'End If
+
+ If FirstTime Then
+ Printer1.Initialize(Me, "Printer1")
+
+ End If
+ 'la impresion anterior
+ 'If FirstTime Then
+ ' btAdmin.Initialize("BlueTeeth")
+ ' cmp20.Initialize("Printer")
+ 'End If
+End Sub
+
+Sub Activity_Resume
+
+
+
+ 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
+
+ skmt.Initialize(ruta,"kmt.db", True)
+ c=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, gestion from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ s=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
+
+ ' ListView1.Clear
+
+ 'If c.RowCount>0 Then
+ ' For i=0 To c.RowCount -1
+ 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")
+ ruta_tienda = c.GetString("CAT_CL_RUTA")
+
+ If c.GetString("gestion") ="2" Then
+ gest.Enabled = False
+ Tels.Enabled = False
+ End If
+
+ 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.Enabled = False
+ Else
+ B_VENTA.Visible = True
+ gest.Enabled = True
+
+ End If
+
+ ' Msgbox(c.GetString("CAT_CL_NUM_SERIEFISICO"),"AVISO")
+ If c.GetString("CAT_CL_NUM_SERIEFISICO") = "0" Then
+ L_QR.Visible = True
+ Else
+ L_QR.Visible = False
+ End If
+ S2=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=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
+
+ ' la_producto.Text = c.GetString("CDPROD")
+ 'la_numero.Text = c.GetString("CDNUMEXT")
+ 'la_nint.Text = c.GetString("CDNUMINT")
+ 'la_pob.Text = c.GetString("CFSDOGLOBAL")
+
+ 'la_saldooper.Text = c.GetString("CAT_CL_FALTA")
+ 'Label10.Text = "FECHA DE ALTA"
+ 'Label11.Text = "# ENCUESTAS"
+
+
+ 'c=skmt.ExecQuery("select MGCTA, MGACTT, MGGESTT, MGDTEACTT, COMM from hist_gest where MGCTA In (Select cuenta from cuentaa)")
+ 'c.Position=0
+ 'la_comm.Text = c.GetString("COMM")
+ 'la_actdte.Text = C.GetString("MGDTEACTT")
+ 'la_usuario.Text = c.GetString("MGGESTT")
+ 'la_resultado.Text = c.GetString("MGACTT")
+'
+'
+'
+''''''''''''''''''esto es para los pup de validacion
+'
+'
+' s=skmt.ExecQuery("select count(*) as CUANTOS from HIST_VERIFICACION where HVE_CLIENTE IN (Select cuenta from cuentaa)")
+' s.Position=0
+' If s.GetString("CUANTOS") = 0 Then
+'
+' If MONTO_COMPRA > 300 Then
+' META = "FELICIDADES ESTE CLIENTE YA ALCANZO LA META DE VENTA"
+' Else
+' META2 = 300 - MONTO_COMPRA
+'
+' META = "FALTA POR ALCANZAR META, LA VENTA MINIMA PARA HOY ES DE : " & META2
+'
+' End If
+' c=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_VERIFICACION")
+' c.Position=0
+' If c.GetString("CUANTOS") <> 0 Then
+'
+' c2=skmt.ExecQuery("select CAT_VE_IDPROD, CAT_VE_NOMBRE, CAT_VE_ORDEN FROM CAT_VERIFICACION ORDER BY CAT_VE_ORDEN ")
+ ' If c2.RowCount>0 Then
+' For i=0 To c2.RowCount -1
+'' c2.Position =i
+' VERIFICA = VERIFICA & "-------VALIDAR------- " & c2.GetString("CAT_VE_NOMBRE")
+'
+'
+' Next
+' End If
+' End If
+' c.Close
+' c2.Close
+'
+' Msgbox(" Instrucciones: " & META &" para este clinete el adicional " & VERIFICA &" y el cliente cuenta con 6 promos.","Indicaciones")
+
+' c=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_VERIFICACION")
+' c.Position=0
+' If c.GetString("CUANTOS") <> 0 Then
+' c2=skmt.ExecQuery("select CAT_VE_IDPROD, CAT_VE_NOMBRE, CAT_VE_ORDEN FROM CAT_VERIFICACION ORDER BY CAT_VE_ORDEN ")
+ ' If c2.RowCount>0 Then
+'' For i=0 To c2.RowCount -1
+' c2.Position =i
+' 'ToastMessageShow(c2.GetString("CAT_GP_NOMBRE"), True)
+'
+' res = Msgbox2("Tiene el cliente " & c2.GetString("CAT_VE_NOMBRE"),"Verificacion", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
+' If res = DialogResponse.POSITIVE Then
+ ' skmt.ExecNonQuery2("INSERT INTO HIST_VERIFICACION VALUES (?,?,?)", Array As Object(la_cuenta.Text,c2.GetString("CAT_VE_IDPROD"), 1))
+'
+' Else
+' skmt.ExecNonQuery2("INSERT INTO HIST_VERIFICACION VALUES (?,?,?)", Array As Object(la_cuenta.Text,c2.GetString("CAT_VE_IDPROD"), 0))
+'
+' End If
+' Next
+' End If
+' End If
+' c.Close
+' End If
+' s.Close
+
+''''''''''''''''''''''''''' hasta aqui es todo para los pups de validacion.
+' para imprimir
+' Toggla.TurnBluetoothOn
+' btAdmin.Initialize("BlueTeeth")
+
+ ' la impresion anterior
+ 'cmp20.Initialize("Printer")
+ 'StartPrinter
+ 'If PASA_IMP = "1" Then
+
+ c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
+ c.Position =0
+ MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
+' Msgbox(MAC_IMPRESORA, "MAC")
+ c.Close
+' c2= skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM TMP_PROMO_ESP_REGALO WHERE CLIENTE IN (Select CUENTA from cuentaa)")
+' c2.Position = 0
+' If c2.GetString("CUANTOS") > 0 Then
+' c=skmt.ExecQuery("SELECT CLIENTE , MONTO , REGALO FROM TMP_PROMO_ESP_REGALO WHERE CLIENTE IN (Select CUENTA from cuentaa)")
+' c.Position = 0
+' If MONTO_COMPRA = 0 Then
+' MONTO_RPOMO_2021 = c.GetString("MONTO")
+' REGALO_PROMO_2021 = c.GetString("REGALO")
+' Msgbox("EL CLIENTE TIENE PROMOCION ESPECIAL " & REGALO_PROMO_2021 &" SI VENDE MAS DE "& MONTO_RPOMO_2021, "AVISO")
+' S=skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
+' s.Position = 0
+'
+' If S.GetString("CUANTOS") > 0 Then
+' If l_total.Text > MONTO_RPOMO_2021 -1 Then
+' skmt.ExecNonQuery2("delete from PEDIDO where PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA from cuentaa)", Array As Object ("KMTS1"))
+' 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) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("KMTS1",0,0,1, REGALO_PROMO_2021,"KMTS1",la_cuenta.Text, sDate & sTime, usuario,ruta_tienda,Main.tipov))
+' Msgbox("REGALO DADO","AVISO")
+' End If
+' End If
+' End If
+
+
+ If Printer1.IsConnected = False Then
+
+ Printer1.Connect
+
+ Else
+ Printer1.DisConnect
+ Printer1.Connect
+
+ End If
+
+gest.enabled = False
+ Tels.Enabled = False
+ B_GPS.Enabled = False
+
+ 'End If
+
+End Sub
+
+Sub Printer1_Connected (Success As Boolean)
+ If Success Then
+ ToastMessageShow("Connected successfully", False)
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",Main.mac_impresora))
+
+
+ B_IMP.Enabled = True
+ Else
+ Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.")
+ End If
+End Sub
+
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+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
+
+ Dim l1, l2 As Location
+ l1.Initialize2(lat_gps, lon_gps)
+ l2.Initialize2(m_lat, m_lon)
+ LA_GPS.TextColor = Colors.Blue
+ LA_GPS.Text = "CON UBICACION GPS"
+ B_GPS.Enabled = True
+
+ 'now we need the distance between our location and the target location
+
+ Dim distance As Long
+ distance = l1.DistanceTo(l2) 'the result is in meter
+
+ gest.Enabled = True
+
+ ' Msgbox(m_lat & " " & m_lon & " " & distance, "UBICA")
+ c=skmt.ExecQuery("select gestion from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ c.Position = 0
+ If distance < 30 Then
+ LA_GEO.TextColor = Colors.Blue
+
+ If c.GetString("gestion") <> "2" Then
+ Tels.Enabled = True
+ gest.Enabled = True
+
+ Else If c.GetString("gestion") = "2" Then
+ Tels.Enabled = False
+ gest.Enabled = False
+
+ End If
+ c=skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM CLIENTES_GPS WHERE CLIENTE IN (Select CUENTA from cuentaa)")
+ c.Position = 0
+ If c.GetString("CUANTOS") >0 Then
+ B_GPS.Enabled = False
+ End If
+
+ Else
+ c.Close
+ LA_GEO.TextColor = Colors.Red
+ 'comentar estas lineas cuando se ponga la geo cerca
+' Tels.Enabled = True
+' gest.Enabled = True
+
+'
+' ' If ALMACEN = "1" Then
+ Tels.Enabled = False
+ gest.Enabled = False
+' ' End If
+ End If
+
+
+ LA_GEO.Text = "Distancia de la tienda en MTS " & distance
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+
+ skmt.ExecNonQuery("DELETE FROM HIST_GPS")
+
+ skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, lat_gps,lon_gps))
+
+
+End Sub
+
+
+Sub ListView1_ItemLongClick (Position As Int, Value As Object)
+
+End Sub
+
+Sub gest_Click
+ 'StartActivity(telefonos)
+
+ ' skmt.ExecNonQuery("delete from PRODUCTOA")
+ ' skmt.ExecNonQuery2("INSERT INTO PRODUCTOA VALUES (?)", Array As Object(la_producto.Text))
+ ' Dim cuantos As String
+ 'c=skmt.ExecQuery("select count(*) as cuantos from HIST_VISITAS WHERE HIST_VI_CREDITO IN (SELECT CUENTA FROM CUENTAA) ")
+ ' c.Position = 0
+ ' cuantos = c.GetString("cuantos")
+ ' ToastMessageShow(cuantos,True)
+ 'If cuantos > 0 Then
+ 'StartActivity(gestion)
+ 'Else If cuantos = 0 Then
+
+''''' ESTE CODIGO SIRVE PARA MANDAR EN PUPUP LA PROMOCIONES E IR PREGUNTANDO UNO A UNO.
+''' DESDE EL CURSOR Y TODO EL IF DE ABAJO SON 20 LINEAS.
+' c=skmt.ExecQuery("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
+' c.Position=0
+' If c.GetString("CUANTOS") = 0 Then
+' c2=skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID IN (SELECT HP_CODIGO_PROMOCION FROM HIST_PROMOS WHERE HP_CLIENTE IN (Select cuenta from cuentaa) )", Array As String("PROMOS", "PROMOS", "PROMOS"))
+ ' If c2.RowCount>0 Then
+' For i=0 To c2.RowCount -1
+' c2.Position =i
+' 'ToastMessageShow(c2.GetString("CAT_GP_NOMBRE"), True)
+'
+' res = Msgbox2(" " & c2.GetString("CAT_GP_NOMBRE"),"IR......", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
+' If res = DialogResponse.POSITIVE Then
+ ' skmt.ExecNonQuery("delete from PROID")
+' skmt.ExecNonQuery2("INSERT INTO PROID VALUES (?)", Array As Object(c2.GetString("CAT_GP_NOMBRE")))
+' StartActivity(pedidos)
+' i = c2.RowCount
+' else if i = c2.RowCount -1 Then
+' StartActivity(colonia2)
+' End If
+' Next
+' Else
+' StartActivity(colonia2)
+' End If
+' Else
+' StartActivity(colonia2)
+' End If
+' c.Close
+ ''''' HASTA AQUI TERMINA LO DE LOS PUPUPS
+
+ '''' lo de la encuesta que se desactiva
+'
+' 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")
+'
+' c=skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_ENCUESTA WHERE HE_CUENTA IN (Select CUENTA from cuentaa)")
+' c.Position=0
+' EXISTE = c.GetString("CUANTOS")
+' c.Close
+' If EXISTE = 0 Then
+' res = Msgbox2("Manejas/vendes salsas Huichol?","Encuesta","SI","","NO",LoadBitmap(File.DirAssets,"alert2.png"))
+' If res = DialogResponse.POSITIVE Then
+' Panel2.Visible = True
+' CONTADOR_E = 1
+' t_tenc.Text = "A quien se lo compras ?"
+' E_RES_E.InputType =E_RES_E.INPUT_TYPE_TEXT
+' E_RES_E.Text = ""
+' Else
+' Main.tipov = "PREVENTA"
+' StartActivity(colonia2)
+' End If
+' Else
+' Main.tipov = "PREVENTA"
+' StartActivity(colonia2)
+' End If
+ Main.tipov = "PREVENTA"
+ StartActivity(colonia2)
+
+End Sub
+
+Sub Tels_Click
+ ' skmt.ExecNonQuery("delete from PEDIDO")
+ StartActivity(nopago)
+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
+ 'printer.Close
+ Printer1.Disconnect
+ StartActivity(colonia)
+ 'Return True
+ End If
+ ' Returning False signals the system to handle the key
+ Return False
+End Sub
+
+Sub Tar_Click
+ StartActivity(tarjeta)
+End Sub
+Sub DATOS_Click
+ StartActivity(telefonos)
+End Sub
+Sub Guardar_Click
+
+ d=skmt.ExecQuery("select gestion from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ d.Position = 0
+ If d.GetString("gestion") <> "2" Then
+
+ 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")
+
+ c=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
+ skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
+ 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) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), lon_gps, lat_gps))
+ skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ End If
+
+ s=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("PREVENTA"))
+ s.Position =0
+ Log(s.RowCount)
+ If s.GetString("TOTAL") <> "null" Or s.GetString("TOTAL") <> Null Then
+ If s.GetString("TOTAL") < 149 Then
+ skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
+ skmt.ExecNonQuery("DELETE FROM PEDIDO_CLIENTE WHERE PC_CLIENTE IN (Select CUENTA from cuentaa)")
+ End If
+ End If
+
+ 'printer.Close
+ Printer1.Disconnect
+ StartActivity(seleccion)
+
+ Else If d.GetString("gestion") = "2" Then
+ Log("estoy aqui")
+ Printer1.Disconnect
+ StartActivity(seleccion)
+ End If
+End Sub
+Sub NUEVO_Click
+ StartActivity(nuevocliente)
+End Sub
+Sub HIST_Click
+ StartActivity(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)
+ 'Log("Type : " & atype)
+ 'Log("Value : " & Values)
+ CODIGO = Values
+
+ 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, lon_gps, 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=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 = " "
+ Printer1.WriteString("PROFINA" & CRLF)
+ Printer1.WriteString("RESUMEN DIA" & CRLF)
+ Printer1.WriteString(sDate & " " & sTime & CRLF)
+
+ Printer1.WriteString("Vendedor:" & usuario & CRLF)
+
+
+ Printer1.WriteString("----------PRODUCTOS----------" & 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=skmt.ExecQuery("select PE_PROID, PE_PRONOMBRE, SUM(PE_CANT) AS CUANTOS from PEDIDO GROUP BY PE_PROID, PE_PRONOMBRE ")
+
+
+ If S.RowCount>0 Then
+ For i=0 To S.RowCount -1
+ S.Position=i
+
+ Printer1.WriteString(s.GetString("PE_PROID") & " " & s.GetString("PE_PRONOMBRE")& CRLF)
+
+ Printer1.WriteString(" CANTIDAD:....." & s.GetString("CUANTOS")& 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
+ 's=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO")
+ '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"))
+' s.Close
+
+
+
+
+
+' Printer1.WriteString(CRLF)
+' Printer1.WriteString("-----------RMI----------------" & CRLF)
+' Printer1.WriteString(CRLF)
+ 'c=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=skmt.ExecQuery("select SUM(PE_CANT) AS CANTIDAD from pedido where pe_cedis <> pe_proid ")
+
+ If C.RowCount>0 Then
+ For i=0 To C.RowCount -1
+ C.Position=i
+
+ Printer1.WriteString("TOTAL PRODUCTOS " & "....."& C.GetString("CANTIDAD") & CRLF)
+
+
+
+ Next
+ End If
+
+ c.Close
+ 'End If
+
+ Printer1.WriteString("----------CLIENTES----------" & 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=skmt.ExecQuery("select PE_CLIENTE, SUM(PE_COSTO_TOT) AS TOTAL from PEDIDO GROUP BY PE_CLIENTE")
+
+
+ If S.RowCount>0 Then
+ For i=0 To S.RowCount -1
+ S.Position=i
+
+ Printer1.WriteString(s.GetString("PE_CLIENTE") &"......" & s.GetString("TOTAL")& 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
+
+ c=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL from pedido ")
+
+ If C.RowCount>0 Then
+ For i=0 To C.RowCount -1
+ C.Position=i
+
+ Printer1.WriteString("TOTAL PEDIDOS " & "....."& C.GetString("TOTAL") & CRLF)
+
+
+
+ Next
+ End If
+
+ c.Close
+ '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)
+
+
+
+End Sub
+
+
+Sub B_IMP2_Click
+
+ s=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("PREVENTA"))
+ s.Position =0
+
+
+ If s.GetString("TOTAL") > 149 Then
+
+ 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.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=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
+
+ TAMANO = 0
+ ESPACIO = 15
+ BLANCO = " "
+ Try
+
+
+ 'printer.Initialize(cmp20.OutputStream)
+ 'Printer1.Reset
+ 'Dim bmp As Bitmap
+ 'bmp.InitializeResize(File.DirAssets, "kelloggs.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.PrintImage(myimage)
+' Printer1.WriteString(Printer1.REVERSE)
+' Printer1.Justify = 1
+
+ Printer1.WriteString("Profina S.A. de C.V." & CRLF)
+ Printer1.WriteString("RFC: PRO8204139J6" & CRLF)
+ 'printer.WriteLine("KELLOGG COMPANY MEXICO")
+ 'printer.WriteLine(SUCURSAL)
+ ' Printer1.WriteString("ORIENTE" & CRLF)
+ 'printer.WriteLine("NORTE")
+' Printer1.WriteString(Printer1.DEFAULTS)
+ Printer1.WriteString(sDate &" " & sTime & CRLF)
+ Printer1.WriteString("Vendedor: " & usuario & CRLF)
+ Printer1.WriteString("Ruta: " & ruta_tienda & CRLF)
+ Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
+ Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
+ Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
+ Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
+ Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
+ Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
+ Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
+ Printer1.WriteString(" " & CRLF)
+ Printer1.WriteString("------------------------------" & CRLF)
+
+
+
+ 'printer.WriteLine(sDate)
+ 'printer.WriteLine(sTime)
+ 'printer.WriteLine("Vendedor:" & usuario)
+ 'printer.WriteLine("Tienda: " & La_nombre.Text)
+ 'printer.WriteLine("ID.Cliente: " & la_cuenta.Text)
+ 'printer.WriteLine("Calle: " & la_Calle.Text)
+ 'printer.WriteLine("Colonia: " & la_col.Text)
+ 'printer.WriteLine("C.P.: " & la_cp.Text)
+ 'printer.WriteLine("Entre calle1: " & l_entre1.Text)
+ 'printer.WriteLine("Entre Calle2: " & l_entre2.Text)
+
+' Printer1.WriteString(Printer1.REVERSE)
+' Printer1.Justify = 1
+
+ Printer1.WriteString("PRE-VENTA" & CRLF)
+ Printer1.WriteString("------------------------------" & CRLF)
+
+ 'printer.WriteLine("-----------ENTREGA------------")
+
+ s=skmt.ExecQuery2("select PE_PROID, PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", 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(Printer1.ULINE0)
+ Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
+ 'printer.WriteLine(s.GetString("PE_PRONOMBRE"))
+
+ Else
+' Printer1.WriteString(Printer1.DEFAULTS)
+
+ 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(s.GETSTRING("PE_PROID") &BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF)
+ TAMANO = 0
+ ESPACIO = 15
+ BLANCO = " "
+ End If
+ Next
+ End If
+ s.Close
+ Printer1.WriteString(CRLF)
+
+ s=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("PREVENTA"))
+ s.Position =0
+
+' Printer1.WriteString( Printer1.BOLD & "Total entrega: $" & Printer1.WIDE & s.GetString("TOTAL") & CRLF)
+ Printer1.WriteString("------------------------------" & CRLF)
+
+ Printer1.WriteString( "Total Pre Venta: $" & s.GetString("TOTAL") & CRLF)
+
+ s.Close
+'' ESTO PARA PONER EL NUMERO DE PRODUCTOS
+' s=skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) and NVL(PE_CEDI,1) <> PE_PROID", Array As String("PREVENTA"))
+' s.Position =0
+
+' Printer1.WriteString( Printer1.BOLD & "Total entrega: $" & Printer1.WIDE & s.GetString("TOTAL") & CRLF)
+' Printer1.WriteString( "No. Productos: " & s.GetString("TOTAL") & CRLF)
+
+' s.Close
+
+
+' printer.WriteLine("------------VENTA-------------")
+' printer.WriteLine("TOTAL COMPRA: $:" & total_cliente)
+ Printer1.WriteString(CRLF)
+ Printer1.WriteString(CRLF)
+ ' Printer1.WriteString(Printer1.SINGLE)
+ 'Printer1.WriteString("------------------------------")
+ ' Printer1.WriteString(Printer1.HIGH)
+ ' Printer1.Justify = 1
+
+ Printer1.WriteString("Nombre y Firma del cliente" & CRLF)
+ Printer1.WriteString(CRLF)
+ Printer1.WriteString(CRLF)
+ Printer1.WriteString(CRLF)
+ ' Printer1.WriteString(Printer1.DEFAULTS)
+ ' Printer1.WriteString(Printer1.SINGLE)
+ Printer1.WriteString("______________________________" & CRLF)
+ Printer1.WriteString("------------------------------" & 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)
+ Printer1.WriteString(CRLF)
+ Printer1.WriteString(CRLF)
+ 'printer.Close
+ Catch
+ Printer1.Disconnect
+ StartActivity(seleccion)
+ End Try
+' printer.
+
+ Else
+ Msgbox("Venta menor a 150 ", "AVISO")
+
+
+ End If
+
+End Sub
+
+Sub Printer_Connected (Success As Boolean)
+ If Success Then
+
+ B_IMP.Enabled = True
+ PASA_IMP = "1"
+ Else
+ B_IMP.Enabled = False
+ If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then
+ 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")
+ printer.Close
+ cmp20.Disconnect
+
+ End Try
+
+ If PairedDevices.Size = 0 Then
+ Msgbox("Error Connecting to Printer - Printer Not Found","")
+ Return
+ End If
+
+ If PairedDevices.Size = 1 Then
+ Try
+ 'FLEOS
+ 'cmp20.ConnectInsecure(btAdmin,PairedDevices.Get(PairedDevices.GetKeyAt(0)),1)
+ cmp20.Connect(PairedDevices.Get(PairedDevices.GetKeyAt(0)))
+
+ Catch
+ Msgbox("Connecting","Printer Error")
+ 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)
+
+ If resimp <> DialogResponse.CANCEL Then
+ cmp20.Connect(PairedDevices.Get(L.Get(resimp)))
+
+ End If
+ End If
+End Sub
+
+
+Sub B_VENTA_Click
+ Main.tipov = "VENTA"
+ StartActivity(colonia2)
+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 = "TIPO A"
+ ELSE If CH_TB.Checked = True Then
+ TIPOEX = "TIPO B"
+ ELSE If CH_TC.Checked = True Then
+ TIPOEX = "TIPO C"
+ ELSE If CH_TD.Checked = True Then
+ TIPOEX = "TIPO D"
+ End If
+
+ Panel1.Visible = False
+ B_EXIBI.Visible = True
+ b_factura.Visible = True
+ HIST.Visible = True
+ c=skmt.ExecQuery("select CUENTA from cuentaa")
+ c.Position = 0
+ cuenta = c.GetString("CUENTA")
+
+ 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
+ Panel1.Visible = True
+ B_EXIBI.Visible = False
+ b_factura.Visible = False
+ HIST.Visible = False
+End Sub
+
+
+
+Sub B_E_NEXT_Click
+If E_RES_E.Text <> "" Then
+ If CONTADOR_E = 1 Then
+ CONTADOR_E = 2
+ t_tenc.Text = "En cuanto lo vende? "
+ HR_RES1 = E_RES_E.Text
+ E_RES_E.Text = ""
+ ELSE IF CONTADOR_E = 2 Then
+ CONTADOR_E = 3
+ t_tenc.Text = "Información Adicional? "
+ HR_RES2 = E_RES_E.Text
+ E_RES_E.Text = ""
+' ELSE IF CONTADOR_E = 3 Then
+' CONTADOR_E = 4
+' t_tenc.Text = "A quien se lo compras"
+' 'HR_RES2 = E_RES_E.Text
+' E_RES_E.Text = ""
+' ELSE IF CONTADOR_E = 4 Then
+' CONTADOR_E = 5
+' t_tenc.Text = "En cuanto lo vende? "
+' HR_RES3 = E_RES_E.Text
+' E_RES_E.Text = ""
+'
+ ELSE IF CONTADOR_E = 3 Then
+ skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA(HE_CUENTA, HE_MANEJA, HE_RES1, HE_RES2, HE_RES3, HE_RES4,HE_FECHA,HE_USUARIO) VALUES (?,?,?,?,?,?,?,?)", Array As Object(clie_id, "SI",HR_RES1,HR_RES2,HR_RES3,E_RES_E.Text,sDate&sTime, usuario))
+ Main.tipov = "PREVENTA"
+ Panel2.Visible = False
+
+ StartActivity(colonia2)
+
+ End If
+Else
+ Msgbox("MONTO NO VALIDO","AVISO")
+End If
+End Sub
+
+Sub B_GPS_Click
+
+ Dim result As Int
+ result = Msgbox2("Esta seguro de cambiar las coordenadas de este cliente", "Aviso GPS", "SI", "", "NO", LoadBitmap(File.DirAssets, "alerta.jpg"))
+ If result = DialogResponse.Positive Then
+ skmt.ExecNonQuery2("UPDATE kmt_info SET CAT_CL_LAT = ?, CAT_CL_LONG = ? where CAT_CL_CODIGO In (Select cuenta from cuentaa)", Array As Object(lat_gps, lon_gps))
+ skmt.ExecNonQuery2("INSERT INTO CLIENTES_GPS(CLIENTE, LAT, LON) VALUES (?,?,?)", Array As Object(la_cuenta.Text,lat_gps, lon_gps))
+ Activity_Resume
+ End If
+
+
+
+
+End Sub
\ No newline at end of file
diff --git a/fila2.bas b/fila2.bas
new file mode 100644
index 0000000..84a5065
--- /dev/null
+++ b/fila2.bas
@@ -0,0 +1,138 @@
+Type=Activity
+Version=3
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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.
+
+End Sub
+
+Sub Globals
+ 'These global variables will be redeclared each time the activity is created.
+ 'These variables can only be accessed from this module.
+ Dim g As GPS
+ Dim skmt As SQL
+ Dim c 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 la_entre1 As Label
+ Dim la_entre2 As Label
+ Dim gest As Button
+ Dim la_saldotot As Label
+ Dim la_saldooper As Label
+ Dim la_saldof1 As Label
+ Dim la_penal As Label
+ Dim la_producto As Label
+ Dim la_padre As Label
+ Dim la_no_ird As Label
+
+ Dim Tels As Button
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ 'Activity.LoadLayout("Layout1")
+ If(FirstTime) Then
+ g.Initialize("GPS")
+ End If
+ Activity.LoadLayout("info_gral")
+ Dim ruta As String
+
+ ' valido donde escribo el archivo de la base de datos de kmt
+ If File.ExternalWritable Then
+ ruta = File.DirDefaultExternal
+ Else
+ ruta = File.DirInternal
+
+ 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.
+ 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 pr_cd_credito,pr_cd_nombre,pr_cd_calle,pr_cd_numero,pr_cd_num_int,pr_cd_entrecalle1,pr_cd_entrecalle2,pr_cd_colonia,pr_cd_poblacion,pr_cd_edo,pr_cd_cp,pr_Cd_zona, pr_cf_saldotot,pr_cf_saldooper,pr_cf_saldof1, pr_cf_penalizacion, pr_kt_producto, Pr_Ca_Padre, Pr_Ca_No_Ird, PR_CA_CONVENIO,PR_CF_MTO_PRESTAMO,PR_CF_FECHA_DISP,PR_CF_SALDO_ACORT,PR_CF_SALDO_VEN,PR_CF_SALDO_PAGARE,PR_CF_CAPITAL from kmt_info where pr_cd_credito In (select cuenta from cuentaa)")
+ ' ListView1.Clear
+
+ 'If c.RowCount>0 Then
+ ' For i=0 To c.RowCount -1
+ c.Position=0
+ la_cuenta.Text = c.GetString("pr_cd_credito")
+ La_nombre.Text = c.GetString("pr_cd_nombre")
+ la_Calle.Text = c.GetString("pr_cd_calle")
+ 'la_numero.Text = c.GetString("pr_cd_numero")
+ 'la_nint.Text = c.GetString("pr_cd_num_int")
+ la_entre1.Text = c.GetString("PR_CF_CAPITAL")
+ 'la_entre2.Text = c.GetString("pr_cd_entrecalle2")
+ la_col.Text = c.GetString("pr_cd_colonia")
+ la_pob.Text = c.GetString("pr_cd_poblacion")
+ la_edo.Text = c.GetString("pr_cd_edo")
+ la_cp.Text = c.GetString("pr_cd_cp")
+ 'la_zona.Text = c.GetString("pr_Cd_zona")
+ la_saldotot.Text = c.GetString("PR_CA_CONVENIO")
+ la_saldooper.Text = c.GetString("PR_CF_MTO_PRESTAMO")
+ la_saldof1.Text = c.GetString("PR_CF_SALDO_VEN")
+ la_penal.Text = c.GetString("PR_CF_SALDO_PAGARE")
+ la_producto.Text = c.GetString("pr_kt_producto")
+ la_padre.Text = c.GetString("PR_CF_FECHA_DISP")
+ 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 Activity_Resume
+If g.GPSEnabled=False Then
+ ToastMessageShow("Habilitar el GPS", True)
+ StartActivity(g.LocationSettingsIntent)
+ Else
+ g.Start(0,0)
+ End If
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+End Sub
+
+
+
+Sub ListView1_ItemLongClick (Position As Int, Value As Object)
+
+End Sub
+
+Sub gest_Click
+ StartActivity(gestion)
+End Sub
+
+Sub Tels_Click
+ StartActivity(telefonos)
+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
\ No newline at end of file
diff --git a/foto.bas b/foto.bas
new file mode 100644
index 0000000..0801c54
--- /dev/null
+++ b/foto.bas
@@ -0,0 +1,129 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 ruta As String
+ Dim g As GPS
+ Private frontCamera As Boolean = False
+
+End Sub
+
+Sub Globals
+ Dim camera1 As Camera
+ Dim btnTakePicture As Button
+ Dim Panel1 As Panel
+ Dim skmt As SQL
+ Dim c As Cursor
+ Dim cuenta As String
+ Dim lat_gps As String
+ Dim lon_gps As String
+ Private camEx As CameraExClass
+
+
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+
+ If(FirstTime) Then
+ g.Initialize("GPS")
+ End If
+
+ Activity.LoadLayout("foto")
+ btnTakePicture.Enabled = False
+ camera1.Initialize(Panel1, "Camera1")
+
+ ruta = File.DirInternal
+
+ 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 cuenta from cuentaa")
+ c.Position = 0
+ cuenta = c.GetString("CUENTA")
+End Sub
+Sub Camera1_Ready (Success As Boolean)
+ If Success Then
+
+ camera1.StartPreview
+
+ btnTakePicture.Enabled = True
+ Else
+ ToastMessageShow("No se puede abrir la camara.", True)
+ End If
+End Sub
+
+Sub Activity_Resume
+ If g.GPSEnabled=False Then
+ ToastMessageShow("Habilitar el GPS", True)
+ StartActivity(g.LocationSettingsIntent)
+ Else
+ g.Start(0,0)
+ End If
+ btnTakePicture.Enabled = False
+ camera1.Initialize(Panel1, "Camera1")
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+ camera1.Release
+End Sub
+Sub GPS_LocationChanged (Location1 As Location)
+
+lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
+lon_gps=Location1.ConvertToSeconds(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 Sub
+
+
+Sub Camera1_PictureTaken (Data() As Byte)
+ camera1.StartPreview
+ 'Dim out As OutputStream
+ c=skmt.ExecQuery("select cuenta from cuentaa")
+ c.Position = 0
+ cuenta = c.GetString("CUENTA")
+ Dim sDate,sTime As String
+
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+ skmt.ExecNonQuery2("INSERT INTO HIST_VISITAS (HIST_VI_IMAGEN, HIST_VI_CREDITO,HIST_VI_DTEVISITA, HIST_VI_LONGITUD, HIST_VI_LATITUD) VALUES(?,?,?,?,?) ", Array As Object (Data, cuenta,sDate & sTime, lon_gps,lat_gps))
+
+ 'out = File.OpenOutput(File.DirRootExternal, "1.jpg", False)
+ 'out.WriteBytes(Data, 0, Data.Length)
+ 'out.Close
+ 'ToastMessageShow("Gestion Salvada ", True)
+
+ btnTakePicture.Enabled = True
+ 'CallSubDelayed(seleccion,"seleccion")
+ StartActivity(fila)
+End Sub
+
+Sub btnTakePicture_Click
+ btnTakePicture.Enabled = False
+ camera1.TakePicture
+ 'camera1.TakePicture
+
+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
diff --git a/gestion.bas b/gestion.bas
new file mode 100644
index 0000000..03fa1de
--- /dev/null
+++ b/gestion.bas
@@ -0,0 +1,267 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 g As GPS
+End Sub
+
+Sub Globals
+ 'These global variables will be redeclared each time the activity is created.
+ 'These variables can only be accessed from this module.
+ Dim s As SQL
+ Dim c As Cursor
+ Dim nombre As EditText
+ Dim btn As Button
+ Dim lv As ListView
+ Dim telefono As EditText
+ Dim lb_gps As Label
+ Dim lat_gps As String
+ Dim lon_gps As String
+
+ Dim contacto As EditText
+ Dim Resultado As EditText
+ Dim comentario As EditText
+ Dim codigos As Button
+ Dim parent As Button
+ Dim quien_llamo As String
+ Dim fecha As EditText
+ Dim l_fecha As Label
+ Dim l_monto As Label
+ Dim monto As EditText
+ Dim cuantos As String
+ Dim l_comentario As Label
+ Dim l_ird1 As Label
+ Dim ird1 As EditText
+ Dim l_ird2 As Label
+ Dim ird2 As EditText
+ Dim l_ird3 As Label
+ Dim ird3 As EditText
+ Dim l_ird4 As Label
+ Dim ird4 As EditText
+ Dim despues As Button
+ Dim cuenta As String
+ Dim usuario As String
+ Dim result As String
+ Dim pondera As String
+
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ 'Activity.LoadLayout("Layout1")
+ If(FirstTime) Then
+ g.Initialize("GPS")
+ End If
+ Activity.LoadLayout("guardagestion")
+
+
+ Dim ruta As String
+
+ ' valido donde escribo el archivo de la base de datos de kmt
+ 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
+
+ s.Initialize(ruta,"kmt.db", True)
+
+End Sub
+
+Sub Activity_Resume
+ If g.GPSEnabled=False Then
+ ToastMessageShow("Habilitar el GPS", True)
+ StartActivity(g.LocationSettingsIntent)
+ Else
+ g.Start(0,0)
+ End If
+
+
+ monto.Visible = False
+ l_monto.Visible = False
+ l_fecha.Visible = False
+ fecha.Visible = False
+ contacto.Text = ""
+ Resultado.Text= ""
+ comentario.Text =""
+ monto.Text = ""
+ fecha.Text = ""
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+ g.Start(0,0)
+End Sub
+Sub btn_Click
+ If Resultado.text<>"" And contacto.Text<>"" And comentario.text<>"" Then
+ ' c=s.ExecQuery("select pr_cd_credito,pr_cd_nombre,pr_cd_calle,pr_cd_numero,pr_cd_num_int,pr_cd_entrecalle1,pr_cd_entrecalle2,pr_cd_colonia,pr_cd_poblacion,pr_cd_edo,pr_cd_cp,pr_Cd_zona, pr_cf_saldotot,pr_cf_saldooper,pr_cf_saldof1, pr_cf_penalizacion, pr_kt_producto, Pr_Ca_Padre, Pr_Ca_No_Ird from kmt_info where pr_cd_credito In (select cuenta from cuentaa)")
+ 'ESTO SE NECESITA PARA SACAR LOS VALORES Y COMPARAR LOS IRD
+ ' c.Position=0
+ ' Dim la_cuenta As String = c.GetString("pr_cd_credito")
+ ' Dim La_nombre As String = c.GetString("pr_cd_nombre")
+ ' la_Calle.Text = c.GetString("pr_cd_calle")
+ ' la_numero.Text = c.GetString("pr_cd_numero")
+ ' la_nint.Text = c.GetString("pr_cd_num_int")
+ ' la_entre1.Text = c.GetString("pr_cd_entrecalle1")
+ ' la_entre2.Text = c.GetString("pr_cd_entrecalle2")
+ ' la_col.Text = c.GetString("pr_cd_colonia")
+ ' la_pob.Text = c.GetString("pr_cd_poblacion")
+ ' la_edo.Text = c.GetString("pr_cd_edo")
+ ' la_cp.Text = c.GetString("pr_cd_cp")
+ ' la_zona.Text = c.GetString("pr_Cd_zona")
+ ' la_saldotot.Text = c.GetString("pr_cf_saldotot")
+ ' la_saldooper.Text = c.GetString("pr_cf_saldooper")
+ ' la_saldof1.Text = c.GetString("pr_cf_saldof1")
+ ' la_penal.Text = c.GetString("pr_cf_penalizacion")
+ ' la_producto.Text = c.GetString("pr_kt_producto")
+ ' la_padre.Text = c.GetString("Pr_Ca_Padre")
+ ' la_no_ird.Text = c.GetString("Pr_Ca_No_Ird")
+
+ c=s.ExecQuery("select CUENTA from cuentaa")
+ c.Position = 0
+ cuenta = c.GetString("CUENTA")
+ c=s.ExecQuery("select usuario from usuarioa")
+ c.Position = 0
+ usuario = c.GetString("USUARIO")
+ c=s.ExecQuery2("select CRDESC,CRCOD AS CODIGO,CRPROD from cod_result WHERE CRDESC = ? ", Array As String(Resultado.Text))
+ c.Position = 0
+ result = c.GetString("CODIGO")
+ 'pondera = c.GetString("CAT_CO_PONDERACION")
+ Dim sDate,sTime As String
+
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+ s.ExecNonQuery("UPDATE kmt_info set gestion = 1 where MGCTA In (select cuenta from cuentaa)")
+ s.ExecNonQuery2("UPDATE hist_visitas SET HIST_VI_VISITADOR = ?, HIST_VI_RESULTADO = ?, HIST_VI_CODIGO = ?, HIST_VI_PARENTESCO = ?, HIST_VI_COMENTARIO =?, HIST_VI_DPROM =?, HIST_VI_MPROM =? WHERE HIST_VI_CREDITO = ? ", Array As Object(usuario,Resultado.Text,result,contacto.text, comentario.Text,fecha.text,monto.Text, cuenta))
+ 'datetime(updatedon,'localtime')
+ 'CallSubDelayed(foto,"foto")
+ StartActivity(seleccion)
+ End If
+End Sub
+Sub GPS_LocationChanged (Location1 As Location)
+Dim sDate,sTime As String
+
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
+lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
+'s.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE,HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, lat_gps, lon_gps))
+ End Sub
+
+
+
+Sub codigos_Click
+ quien_llamo = "codigo"
+ c=s.ExecQuery("select COUNT(*) AS CUANTOS from COD_RESULT WHERE CRPROD IN (select productoa from productoa)")
+ c.Position=0
+ cuantos = c.GetString("CUANTOS")
+ If cuantos = 0 Then
+ lv.Clear
+ lv.AddSingleLine("SIN CODIGOS")
+
+ Else
+ c=s.ExecQuery("select CRDESC AS DESC, CRCOD from COD_RESULT WHERE CRPROD IN (select productoa from productoa) ORDER BY CRDESC ASC")
+ lv.Clear
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ lv.AddSingleLine(c.GetString("DESC"))
+ Next
+ End If
+ End If
+End Sub
+Sub lv_ItemClick (Position As Int, Value As Object)
+ Dim es_c_promesa As String
+ If quien_llamo = "codigo" Then
+ Resultado.Text = Value
+ If Resultado.Text <> "EQUIPO RECUPERADO" Then
+ comentario.Visible = True
+ l_comentario.Visible = True
+ l_ird1.Visible = False
+ ird1.Visible = False
+ l_ird2.Visible = False
+ ird2.Visible = False
+ l_ird3.Visible = False
+ ird3.Visible = False
+ l_ird4.Visible = False
+ ird4.Visible = False
+
+' c=s.ExecQuery2("select CAT_CO_CONFIGURACION from CAT_CODIGOS WHERE CAT_CO_RDESCRIPCION = ? ", Array As String(Value))
+' c.Position=0
+' es_c_promesa=c.GetString("CAT_CO_CONFIGURACION")
+ If Resultado.Text = "PROMESA DE PAGO" Then
+ monto.Visible = True
+ l_monto.Visible = True
+ l_fecha.Visible = True
+ fecha.Visible = True
+ Else
+ monto.Visible = False
+ l_monto.Visible = False
+ l_fecha.Visible = False
+ fecha.Visible = False
+
+ End If
+ Else
+ comentario.Visible = False
+ l_comentario.Visible = False
+ l_ird1.Visible = True
+ ird1.Visible = True
+ l_ird2.Visible = True
+ ird2.Visible = True
+ l_ird3.Visible = True
+ ird3.Visible = True
+ l_ird4.Visible = True
+ ird4.Visible = True
+ End If
+
+ Else
+ contacto.Text = Value
+ End If
+ lv.Clear
+End Sub
+Sub parent_Click
+ quien_llamo = "parent"
+ c=s.ExecQuery("select CAT_PA_ID, CAT_PA_PARENTESCO from CAT_PARENTESCO order by CAT_PA_PARENTESCO asc")
+ lv.Clear
+
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+ lv.AddSingleLine(c.GetString("CAT_PA_PARENTESCO"))
+ Next
+ End If
+End Sub
+Sub despues_Click
+ s.ExecNonQuery("UPDATE kmt_info set gestion = 2 where pr_cd_credito In (select cuenta from cuentaa)")
+ 's.ExecNonQuery2("insert into hist_Act (htel, hanombre) values (?,datetime(updatedon,'localtime'))" Array As String(cuantos))
+
+ 'CallSubDelayed(foto,"foto")
+ StartActivity(colonia)
+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
diff --git a/kmt.db b/kmt.db
new file mode 100644
index 0000000..507452d
Binary files /dev/null and b/kmt.db differ
diff --git a/mapas.bas b/mapas.bas
new file mode 100644
index 0000000..98ddb56
--- /dev/null
+++ b/mapas.bas
@@ -0,0 +1,51 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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.
+
+
+End Sub
+
+Sub Globals
+ 'These global variables will be redeclared each time the activity is created.
+ 'These variables can only be accessed from this module.
+
+ Dim WebView1 As WebView
+ Dim reg As Button
+ Dim a_url As String
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ 'Activity.LoadLayout("Layout1")
+ Activity.LoadLayout("mapa")
+a_url ="http://maps.googleapis.com/maps/api/staticmap?zoom=16&size=400x300&maptype=roadmap&markers=color:blue%7C" & "19.072205" & ",%20"& "-98.226863" & "&sensor=false"
+
+WebView1.LoadUrl("http://maps.googleapis.com/maps/api/staticmap?zoom=16&size=800x800&maptype=roadmap&markers=color:blue%7Clabel:1%7C19.076514,%20-98.228184&markers=color:red%7Clabel:C%7C19.076514,%20-98.238184&sensor=false")
+'http://maps.googleapis.com/maps/api/staticmap?zoom=16&size=800x800&maptype=roadmap&markers=color:blue%7Clabel:1%7C19.076514,%20-98.228184&markers=color:red%7Clabel:C%7C19.076514,%20-98.238184&path=color:0xff0000ff|weight:5|19.076514,-98.228184|19.076514,-98.238184&sensor=False
+' la parte del path
+End Sub
+
+Sub Activity_Resume
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+End Sub
+
+
+
+Sub reg_Click
+ StartActivity(fila)
+End Sub
\ No newline at end of file
diff --git a/nopago.bas b/nopago.bas
new file mode 100644
index 0000000..88c90da
--- /dev/null
+++ b/nopago.bas
@@ -0,0 +1,119 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 g As GPS
+ Dim ruta As String
+ Dim skmt As SQL
+ Dim c As Cursor
+End Sub
+
+Sub Globals
+ '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 Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ If(FirstTime) Then
+ g.Initialize("GPS")
+ End If
+
+ Activity.LoadLayout("nopago")
+
+ ' 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
+ skmt.Initialize(ruta,"kmt.db", True)
+
+End Sub
+
+Sub Activity_Resume
+ 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 Activity_Pause (UserClosed As Boolean)
+ g.Start(0,0)
+
+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)
+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=skmt.ExecQuery("select CUENTA from cuentaa")
+ c.Position = 0
+ cuenta = c.GetString("CUENTA")
+ c=skmt.ExecQuery("select usuario from usuarioa")
+ c.Position = 0
+ usuario = c.GetString("USUARIO")
+ c=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
+ 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
+
+
+ skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
+ skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
+
+ 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,lat_gps,lon_gps))
+ skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ StartActivity(seleccion)
+End Sub
\ No newline at end of file
diff --git a/nuevocliente.bas b/nuevocliente.bas
new file mode 100644
index 0000000..4e7c771
--- /dev/null
+++ b/nuevocliente.bas
@@ -0,0 +1,103 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 g As GPS
+ Dim ruta As String
+ Dim skmt As SQL
+ Dim c As Cursor
+End Sub
+
+Sub Globals
+ '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 cuenta As String
+ Dim usuario As String
+ Dim sDate,sTime As String
+ Dim lat_gps, lon_gps As String
+ Dim no_cliente As String
+ Dim no_ruta As String
+
+ Dim r_4 As RadioButton
+ Dim E_NOMBRE As EditText
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ If(FirstTime) Then
+ g.Initialize("GPS")
+ End If
+
+ Activity.LoadLayout("nuevocliente")
+
+ ' 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
+ skmt.Initialize(ruta,"kmt.db", True)
+
+End Sub
+
+Sub Activity_Resume
+ E_NOMBRE.Text = ""
+ If g.GPSEnabled=False Then
+ ToastMessageShow("Habilitar el GPS", True)
+ StartActivity(g.LocationSettingsIntent)
+ Else
+ g.Start(0,0)
+ End If
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+ g.Start(0,0)
+
+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(seleccion)
+End Sub
+Sub GUARDA_Click
+If E_NOMBRE.Text = "" Then
+ToastMessageShow("Se tiene que nombrar la tienda para continuar" , True)
+Else
+ 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")
+ c.Position=0
+ no_ruta= c.GetString("CAT_CL_RUTA")
+ no_cliente= "N" & sTime & no_ruta
+ c.Close
+
+ 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_BCREDITO, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,0) ",Array As Object (no_cliente,no_ruta, E_NOMBRE.Text,"null","null","null","null","null","null","null","null","null","null","null","null","null","null","null"))
+ skmt.ExecNonQuery("delete from CUENTAA")
+ skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente))
+ StartActivity(fila)
+
+End If
+End Sub
diff --git a/pedidos.bas b/pedidos.bas
new file mode 100644
index 0000000..67bc37e
--- /dev/null
+++ b/pedidos.bas
@@ -0,0 +1,555 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 g As GPS
+ Dim ruta As String
+ Dim skmt As SQL
+End Sub
+
+Sub Globals
+ '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 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
+
+
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+
+ Activity.LoadLayout("PRODUCTOS")
+ i_fotol.Visible = False
+
+ ' 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
+ skmt.Initialize(ruta,"kmt.db", True)
+
+ 'la_padre.Text = c.GetString("PR_CF_FECHA_DISP")
+ 'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
+
+ ' 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.
+ 'ListView1.AddTwoLines(c.GetString("pr_cd_nombre"),c.GetString("pr_cd_colonia"))
+ ' Next
+ 'End If
+End Sub
+
+Sub Activity_Resume
+
+ c=skmt.ExecQuery("Select SUBSTR(CUENTA,1,1) AS CUENTA from cuentaa")
+ c.Position=0
+ clie_id = c.GetString("CUENTA")
+ If clie_id = "N" Then
+ nopromo.Visible = False
+ Else
+ nopromo.Visible = True
+
+ End If
+ c.Close
+
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+ g.Start(0,0)
+
+End Sub
+
+
+
+Sub guardar_Click
+ If cantidad.Text = "" Then
+ StartActivity(colonia2)
+
+ 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")
+
+
+ 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 CAT_GUNAPROD 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) 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))
+ 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) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta))
+ skmt.ExecNonQuery2("update cat_gunaprod 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 = ""
+ StartActivity(colonia2)
+ 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 CAT_GUNAPROD 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) 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))
+ 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) 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))
+ skmt.ExecNonQuery2("update cat_gunaprod 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"), lon_gps, 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)")
+
+ StartActivity(colonia2)
+
+ 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) 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))
+ skmt.ExecNonQuery2("update cat_gunaprod 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"), lon_gps, 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)")
+ StartActivity(colonia2)
+ 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 CAT_GUNAPROD 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) 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))
+ 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) 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))
+ skmt.ExecNonQuery2("update cat_gunaprod 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 = ""
+ 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 CAT_GUNAPROD 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) 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))
+ 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) 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))
+ skmt.ExecNonQuery2("update cat_gunaprod 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"), lon_gps, 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)")
+
+ 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) 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))
+ skmt.ExecNonQuery2("update cat_gunaprod 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"), lon_gps, 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)")
+ StartActivity(fila)
+ 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(colonia2)
+ Msgbox("Presione Boton Terminar.","ADVERTENCIA")
+ 'Return True
+ End If
+ ' Returning False signals the system to handle the key
+ Return False
+End Sub
+Sub img_prod_Click
+ i_fotol.Visible = True
+ i_fotol.Bitmap = LoadBitmap(ruta,"1.jpg")
+
+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
+ If cantidad.Text = "" Then
+ Msgbox("Cantidad no puede ser 0","Cantidad")
+ Else If cantidad.Text > l_bodega.Text 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) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",0,0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,Main.tipov))
+ skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
+
+
+ cantidad.Text = ""
+ StartActivity(colonia2)
+
+ End If
+End Sub
\ No newline at end of file
diff --git a/primero.bas b/primero.bas
new file mode 100644
index 0000000..dddfc94
--- /dev/null
+++ b/primero.bas
@@ -0,0 +1,35 @@
+Type=Activity
+Version=3
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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.
+
+End Sub
+
+Sub Globals
+ 'These global variables will be redeclared each time the activity is created.
+ 'These variables can only be accessed from this module.
+
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ 'Activity.LoadLayout("Layout1")
+ Msgbox("Welcome to Basic4android!", "")
+End Sub
+
+Sub Activity_Resume
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+End Sub
+
+
diff --git a/profina3.b4a b/profina3.b4a
new file mode 100644
index 0000000..b03c0ec
--- /dev/null
+++ b/profina3.b4a
@@ -0,0 +1,647 @@
+Build1=Default,profina.keymon.com.mx
+File1=alcancia.png
+File10=durakelo1.png
+File11=engrane.jpg
+File12=fila.bal
+File13=fondo_kmt.jpg
+File14=foto.bal
+File15=guardagestion.bal
+File16=guna_viejo.png
+File17=info_gral.bal
+File18=infonavit1.jpg
+File19=itembuttonblue.png
+File2=alert2.png
+File20=kelloggs.png
+File21=keymon_logo.png
+File22=kmt.db
+File23=login.bal
+File24=LOGO SANFER.jpg
+File25=logo_exitus1.jpg
+File26=Malo.jpg
+File27=mapa.bal
+File28=nopago.bal
+File29=nuevocliente.bal
+File3=alerta.jpg
+File30=palomita_verde.png
+File31=pedido.bal
+File32=planfia_logo.png
+File33=planfia_logo_old.png
+File34=planfia_logo_old2.png
+File35=PRODUCTOS.bal
+File36=PROFINA.png
+File37=qr.bal
+File38=rechazo.jpg
+File39=ROJO.png
+File4=alerta_amarilla.png
+File40=salma.jpg
+File41=seleccion.bal
+File42=senial.jpg
+File43=sync.png
+File44=tache_rojo.png
+File45=tarjeta.bal
+File46=telefonos.bal
+File47=Tiendita.jpg
+File48=VERDE.png
+File5=AMARILLO.png
+File6=buscar.bal
+File7=carrito.png
+File8=detalle_promo.bal
+File9=durakelo.png
+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
+FileGroup30=Default Group
+FileGroup31=Default Group
+FileGroup32=Default Group
+FileGroup33=Default Group
+FileGroup34=Default Group
+FileGroup35=Default Group
+FileGroup36=Default Group
+FileGroup37=Default Group
+FileGroup38=Default Group
+FileGroup39=Default Group
+FileGroup4=Default Group
+FileGroup40=Default Group
+FileGroup41=Default Group
+FileGroup42=Default Group
+FileGroup43=Default Group
+FileGroup44=Default Group
+FileGroup45=Default Group
+FileGroup46=Default Group
+FileGroup47=Default Group
+FileGroup48=Default Group
+FileGroup5=Default Group
+FileGroup6=Default Group
+FileGroup7=Default Group
+FileGroup8=Default Group
+FileGroup9=Default Group
+Group=Default Group
+Library1=baqrcode
+Library10=reflection
+Library11=rspopupmenu
+Library12=runtimepermissions
+Library13=serial
+Library14=sql
+Library15=togglelibrary
+Library16=zxing_scanner
+Library17=printing
+Library2=bitmapcreator
+Library3=byteconverter
+Library4=camera
+Library5=core
+Library6=gps
+Library7=okhttputils2
+Library8=phone
+Library9=randomaccessfile
+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: http://www.basic4ppc.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~AddApplicationText(~\n~)~\n~~\n~ 'End of default text.~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~)
+Module1=BUSCAR
+Module10=gestion
+Module11=Historico
+Module12=mapas
+Module13=nopago
+Module14=nuevocliente
+Module15=pedidos
+Module16=QR_MODULE
+Module17=seleccion
+Module18=tarjeta
+Module19=telefonos
+Module2=CameraExClass
+Module3=colonia
+Module4=colonia2
+Module5=DBRequestManager
+Module6=detalle_promo
+Module7=EscPosPrinter
+Module8=fila
+Module9=foto
+NumberOfFiles=48
+NumberOfLibraries=17
+NumberOfModules=19
+Version=12.5
+@EndOfDesignText@
+#Region Project Attributes
+ #ApplicationLabel: Profina-Venta
+ #VersionCode: 3
+ #VersionName: PILOTO 3.08.15
+ 'SupportedOrientations possible values: unspecified, landscape or portrait.
+ #SupportedOrientations: portrait
+ #CanInstallToExternalStorage: False
+
+ '###########################################################################################################
+ '###################### 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
+
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: True
+#End Region
+#Region Service Attributes
+#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 reqManager As DBRequestManager
+ Dim ruta As String
+ Dim tipov As String
+ Dim mac_impresora As String
+ Private Serial1 As Serial
+
+End Sub
+
+Sub Globals
+ '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 user As EditText
+ Dim pass As EditText
+ Dim c As Cursor
+ Dim existe As String
+ Dim paso1 As String
+ Dim IMEI As String
+ Dim g As GPS
+ Dim server As String
+ Dim alterno As String
+ Private b_menu As Button
+ Dim PopupMenu As RSPopupMenu
+ Dim cmd As DBCommand
+
+ Private PDF As Button
+ 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_FECHA As Button
+ Private CUANTOS As String
+
+ Private ListView1 As ListView
+ Private E_MAC_IMP As EditText
+ Dim rp As RuntimePermissions
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+
+
+ ruta = File.DirInternal
+
+ 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.
+ 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.ExecQuery2("select COUNT(*) AS CUANTOS from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
+ 'c.Position =0
+
+ 'If c.GetString("CUANTOS") = 0 Then
+ 'skmt.ExecNonQuery2("INSERT INTO CAT_CODIGOS (CAT_CO_PONDERACION, CAT_CO_ACCION, CAT_CO_RESULTADO, CAT_CO_CONFIGURACION) VALUES (?,?,?,?)", Array As Object ("1","1","SERVER","http://masternoc.mx:1783"))
+ 'skmt.ExecNonQuery2("INSERT INTO CAT_CODIGOS (CAT_CO_PONDERACION, CAT_CO_ACCION, CAT_CO_RESULTADO, CAT_CO_CONFIGURACION) VALUES (?,?,?,?)", Array As Object ("0","2","SERVER","http://masternoc1.mx:1783"))
+
+ 'End If
+ 'c.Close
+ 'c=skmt.ExecQuery2("select CAT_CO_CONFIGURACION from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
+ 'c.Position =0
+ 'server = c.GetString("CAT_CO_CONFIGURACION")
+ 'c.Close
+ 'server = "http://201.99.139.28:1782"
+ 'server = "http://177.244.63.54:1782"
+ 'server = "http://keymon.com.mx:1782"
+ server = "http://keymon.lat:1781"
+ 'server = "http://38.123.201.97:1782"
+
+ Dim sDate,sTime As String
+ DateTime.DateFormat = "yyyyMMdd"
+ sDate=DateTime.Date(DateTime.Now)
+ If sDate = "20190523" Then
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
+
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",server))
+
+ End If
+
+
+ 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
+
+ skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTA_GPS(FECHA INTEGER, LAT TEXT, LON TEXT)")
+ skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CLIENTES_GPS(CLIENTE TEXT, LAT TEXT, LON TEXT)")
+ skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TMP_PROMO_ESP_REGALO(CLIENTE TEXT, MONTO TEXT, REGALO TEXT)")
+
+
+ If FirstTime Then
+ reqManager.Initialize(Me, server)
+ End If
+ Activity.LoadLayout("login")
+ Dim P As PhoneId
+' user.Text = P.GetDeviceId
+' IMEI = P.GetDeviceId
+' IMEI = ""
+'este codigo es para lo del menu
+ PopupMenu.Initialize("PopupMenu", b_menu)
+ PopupMenu.AddMenuItem(0, 0, "View")
+ PopupMenu.AddMenuItem(1, 1, "Edit")
+ PopupMenu.AddMenuItem(2, 2, "Details")
+ PopupMenu.AddMenuItem(3, 3, "Remove")
+' menu fin
+End Sub
+
+Sub Activity_PermissionResult (Permission As String, Result As Boolean)
+ If Permission = rp.PERMISSION_ACCESS_COARSE_LOCATION Then
+ Result = True
+ End If
+End Sub
+
+Sub Activity_Resume
+ rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
+
+ server = "http://keymon.lat:1781"
+ 'server = "http://201.99.139.28:1782"
+ 'server = "http://177.244.63.54:1782"
+ 'server = "http://38.123.201.97:1782"
+ reqManager.Initialize(Me, server)
+
+
+ If g.GPSEnabled=False Then
+ ToastMessageShow("Habilitar el GPS", True)
+ StartActivity(g.LocationSettingsIntent)
+ Else
+ g.Start(0,0)
+ End If
+ ' user.Text ="GPS"
+ 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_fecha"
+ reqManager.ExecuteQuery(cmd , 0, "fecha")
+
+ Msgbox("AJUSTAR FECHA","AVISO")
+ Activity_Resume
+ 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 = "yyyyMMdd"
+ sDate=DateTime.Date(DateTime.Now)
+
+ If c.GetString("CAT_VA_VALOR") > sDate Then
+ Msgbox("AJUSTAR LA FECHA YA QUE ES MENOR AL SISTEMA" ,"AVISO")
+ Activity_Resume
+ End If
+ End If
+ c.Close
+ c=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=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
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CODIGO","743"))
+
+ End If
+
+ c=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
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
+ End If
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",server))
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+End Sub
+
+
+
+Sub Entrar_Click
+ If user.Text = "ALTERNO" Then
+ c=skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
+
+ c.Position =0
+ server = c.GetString("CAT_CO_CONFIGURACION")
+ alterno = c.GetString("CAT_CO_RESULTADO")
+ c.Close
+ If alterno = 1 Then
+ skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 2", Array As String ("SERVER"))
+ skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 0 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 1", Array As String ("SERVER"))
+ Else if alterno = 2 Then
+ skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 1", Array As String ("SERVER"))
+ skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 0 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 2", Array As String ("SERVER"))
+ End If
+ c=skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
+ c.Position =0
+ server = c.GetString("CAT_CO_CONFIGURACION")
+ user.Text = server
+ c.Close
+ reqManager.Initialize(Me, server)
+ else if user.Text = "ROOT" Then
+ skmt.ExecNonQuery("delete from usuarioa")
+ skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
+
+ skmt.ExecNonQuery("delete from cat_almacen")
+ skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (pass.Text))
+
+ skmt.ExecNonQuery("delete from VERSION")
+
+ skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.1"))
+
+ StartActivity(seleccion)
+
+
+
+ End If
+
+
+
+ c=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_PRO"
+ cmd.Parameters = Array As Object(user.Text, pass.Text)
+ reqManager.ExecuteQuery(cmd , 0, "usuario")
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_version_PRO"
+ reqManager.ExecuteQuery(cmd , 0, "version")
+
+
+ Else
+ StartActivity(seleccion)
+ 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
+ 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 = "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"))
+ 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 = "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
+ skmt.ExecNonQuery("delete from usuarioa")
+ skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
+ skmt.ExecNonQuery("delete from cat_almacen")
+ skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (ID_ALMACEN))
+ 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))
+
+
+ StartActivity(seleccion)
+ 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
+public Sub Initialize
+'Initialize the PopupMenu
+
+End Sub
+
+
+
+Sub PopupMenu_Dismiss
+ ToastMessageShow("PopupMenu dismissed", False)
+End Sub
+
+Sub PopupMenu_MenuItemClick (ItemId As Int) As Boolean
+ ToastMessageShow("Item " & ItemId & " clicked.", False)
+ Return False
+End Sub
+
+Sub b_menu_Click
+ PopupMenu.Show
+
+End Sub
+
+Sub PDF_Click
+
+End Sub
+
+
+Sub IMEN_EnterPressed
+ If IMEN.Text <> "0" Then
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("CODIGO"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CODIGO",IMEN.TEXT))
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("RUTA"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("RUTA",user.TEXT))
+
+ End If
+ IMEN.Visible =False
+ If IMEN.Text = "743" Then
+ Entrar.Visible = True
+ End If
+
+
+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
+ 'server = "http://201.99.139.28:1782"
+ 'server = "http://177.244.63.54:1782"
+ 'server = "http://keymon.com.mx:1782"
+ server = "http://keymon.lat:1781"
+ ListView1.Clear
+ Dim label1 As Label
+ label1 = ListView1.SingleLineLayout.Label
+ label1.TextSize = 20
+ label1.TextColor = Colors.Black
+ ListView1.AddSingleLine("http://keymon.lat:1781")
+' ListView1.AddSingleLine("http://177.244.63.54:1782")
+' ListView1.AddSingleLine("http://keymon.com.mx:1782")
+
+
+ c=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
+End Sub
+
+Sub B_SERVER_Click
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",E_SERVER.text))
+ Panel1.Visible = False
+ Entrar.Visible = True
+
+End Sub
+
+Sub B_FECHA_Click
+
+
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
+ 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
\ No newline at end of file
diff --git a/qr.bas b/qr.bas
new file mode 100644
index 0000000..56251d9
--- /dev/null
+++ b/qr.bas
@@ -0,0 +1,97 @@
+Type=Activity
+Version=5.8
+ModulesStructureVersion=1
+B4A=true
+@EndOfDesignText@
+
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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.
+
+End Sub
+
+Sub Globals
+ 'These global variables will be redeclared each time the activity is created.
+ 'These variables can only be accessed from this module.
+ Dim b,b1,b2 As ImageView
+ Dim bt As Button
+
+ Dim qr As QRCode
+ Dim sc As Zxing_scanner
+ Dim CODIGO As String
+
+
+ Private Label1 As Label
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ Activity.LoadLayout("qr")
+
+ b.Initialize("")
+ b1.Initialize("")
+ b1.Gravity=Gravity.FILL
+ b2.Initialize("")
+ b2.Gravity=Gravity.FILL
+
+ Activity.AddView(b,0,0,100dip,100dip)
+ Activity.AddView(b1,0,110dip,300dip,100dip)
+ Activity.AddView(b2,0,220dip,300dip,100dip)
+
+ qr.initialize
+
+ b.Bitmap = qr.QR_Encode("TESTING QR CODES",100dip)
+ b1.Bitmap = qr.Ean13_Encode(calc_ean_checksum("123456789012"),100dip) ' Not interested in this
+ b2.Bitmap = qr.Ean8_Encode(calc_ean_checksum("1234567"),100dip) ' Not interested in this
+
+ bt.Initialize("bt")
+ bt.Text="Codigo"
+ Activity.AddView(bt,0,330dip,120dip,50dip)
+
+End Sub
+
+Sub Activity_Resume
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+End Sub
+Sub bt_click
+ 'ADDED BY JOHAN SCHOEMAN i.e OPTION TO CHANGE THE WIDTH AND HEIGHT OF THE VIEWING RECTANGLE
+ 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
+ b.Bitmap = qr.QR_Encode(Values,100dip)
+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 c 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/seleccion.bas b/seleccion.bas
new file mode 100644
index 0000000..4db0898
--- /dev/null
+++ b/seleccion.bas
@@ -0,0 +1,2406 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 reqManager As DBRequestManager
+ Dim conectado As String
+ Dim skmt As SQL
+ Dim t1 As Timer
+ Dim t2 As Timer
+ Dim Printer1 As EscPosPrinter
+ Dim SERIAL11 As Serial
+
+End Sub
+
+Sub Globals
+ 'These global variables will be redeclared each time the activity is created.
+ 'These variables can only be accessed from this module.
+ Dim trabajar As Button
+
+ Dim c As Cursor
+ Dim d As Cursor
+ Dim b As Cursor
+ Dim e As Cursor
+ Dim f 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 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
+
+
+ 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
+ Dim btAdmin As BluetoothAdmin
+ Dim cmp20 As Serial
+ Dim printer As TextWriter
+ Dim PairedDevices As Map
+ Dim TAMANO As Int
+ Dim ESPACIO As Int
+ Dim BLANCO As String
+ Dim sDate,sTime As String
+ Dim PASA_IMP As String
+ Dim s As Cursor
+ Private B_IMP As Button
+ Private l_monto_c1 As Label
+ Private l_monto_c2 As Label
+ Private l_monto_c3 As Label
+ Private TIEMPO As String
+ Private t3 As Timer
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ EJECUTANDO=1
+ 'SERVER = "http://177.244.63.54:1782"
+ 'SERVER = "http://201.99.139.28:1782"
+ SERVER = "http://keymon.lat:1781"
+
+ If FirstTime Then
+ reqManager.Initialize(Me, SERVER)
+ End If
+ Activity.LoadLayout("seleccion")
+ Dim ruta As String
+ img2.Visible =False
+
+ ' valido donde escribo el archivo de la base de datos de kmt
+' If File.ExternalWritable Then
+' ruta = File.DirDefaultExternal
+' Else
+ ruta = File.DirInternal
+' 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.
+ 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)
+ c=skmt.ExecQuery2("select CAT_CO_CONFIGURACION from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
+ c.Position =0
+ SERVER = c.GetString("CAT_CO_CONFIGURACION")
+ c.Close
+
+ 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
+
+
+ If FirstTime Then
+ Printer1.Initialize(Me, "Printer1")
+ End If
+
+
+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 Activity_Resume
+
+
+ SERVER = "http://keymon.lat:1781"
+ 'SERVER = "http://201.99.139.28:1782"
+ 'SERVER = "http://177.244.63.54:1782"
+ 'SERVER = "http://38.123.201.97:1782"
+ 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)
+
+ PASO =0
+' c=skmt.ExecQuery("select noversion from version")
+' c.Position=0
+' If c.GetString("NOVERSION") <> "2.1" Then
+' ToastMessageShow("EXISTE UNA NUEVA VERSION ACTUALIZA POR FAVOR." , True)
+' cargar.Visible = False
+' Subir.Visible = False
+' connecta.Visible = False
+' trabajar.Visible = False
+' BUSCA.Visible = False
+' inv.Visible = False
+'
+ ' End If
+ ' c.Close
+ 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_fecha"
+ reqManager.ExecuteQuery(cmd , 0, "fecha")
+
+ Msgbox("AJUSTAR FECHA","AVISO")
+ Activity_Resume
+ 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 = "yyyyMMdd"
+ sDate=DateTime.Date(DateTime.Now)
+
+ If c.GetString("CAT_VA_VALOR") > sDate Then
+ Msgbox("AJUSTAR LA FECHA YA QUE ES MENOR AL SISTEMA" ,"AVISO")
+ Activity_Resume
+ End If
+ End If
+
+
+
+ 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)
+ 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 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.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_TIPO = ? Or CAT_GP_TIPO = ?)", Array As String("HEALTHY DRINKS", "RTEC"))
+ c.Position = 0
+ l_monto_k.Text = c.GetString("MONTO_DIA")
+ If l_monto_k.Text = "null" Then
+ l_monto_k.Text = "0"
+ End If
+ c.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_TIPO = ? )", Array As String("SNACKS"))
+ c.Position = 0
+ l_monto_kp.Text = c.GetString("MONTO_DIA")
+ If l_monto_kp.Text = "null" Then
+ l_monto_kp.Text = "0"
+ End If
+ c.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_TIPO = ? )", Array As String("SALTY SNACKS"))
+ c.Position = 0
+ l_monto_ks.Text = c.GetString("MONTO_DIA")
+ If l_monto_ks.Text = "null" Then
+ l_monto_ks.Text = "0"
+ End If
+
+ c.Close
+
+ s=skmt.ExecQuery("Select COUNT(*) AS CUANTOS from HIST_CUOTAS ")
+ s.Position = 0
+ If s.GetString("CUANTOS") > 0 Then
+
+ c=skmt.ExecQuery("Select HC_CUOTA1,HC_CUOTA2,HC_CUOTA3 from HIST_CUOTAS ")
+ c.Position = 0
+ l_monto_c1.Text = Round( c.GetString("HC_CUOTA1") / 6)
+ l_monto_c2.Text = Round(c.GetString("HC_CUOTA2") / 6)
+ l_monto_c3.Text = Round(c.GetString("HC_CUOTA3") / 6)
+'
+
+ c.Close
+ End If
+
+
+
+ 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
+ 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
+
+
+
+ 'If IsConnectedToInternet Then
+ ' c=skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS")
+ '
+ ' 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_PRO"
+ ' 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, "inst_visitas")
+'
+' ' Dim cmd As DBCommand
+' ' cmd.Initialize
+' ' cmd.Name = "update_gps_actual_PRO"
+' ' 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
+'
+ ' End If
+
+' cmp20.Initialize("Printer")
+
+
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+cargar.Visible = False
+ Subir.Visible = False
+ connecta.Visible = True
+ inv.Visible = False
+
+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)
+
+End Sub
+
+
+Sub Subir_Click
+ CARGA = "SUBIR"
+ P1.Visible = True
+ trabajar.Visible = False
+ B_PROXIMA.Visible =False
+
+ NUEVO.Visible =False
+ BUSCA.Visible=False
+ connecta.Visible=False
+ Subir.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
+
+
+PASO = 1
+'End If
+ If PASO =1 Then
+
+
+
+ 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
+ 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
+
+ 'DROP
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name ="insert_drop_PRO"
+ 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")
+ reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
+
+' 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_PRO"
+ 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
+
+ ' ENVIO DE LOS CODIGOS EXIBIDOR
+ ' c=skmt.ExecQuery("SELECT CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR 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_EXIBIDOR_PRO"
+ ' cmd.Parameters = Array As Object(C.GetString("CAT_LO_CUENTA"),C.GetString("CAT_CL_EXHIBIDOR"),C.GetString("CAT_CL_BEXHIBIDOR"),ALMACEN,l_ruta.text )
+ ' reqManager.ExecuteQuery(cmd , 0,"ins_QR")
+'
+' Next
+' c.Close
+' End If
+
+ ' ENVIO DE LOS CODIGOS QR
+ 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_PRO"
+ 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
+
+
+ ' MANDA LA INFO DE LOS CLIENTES CON LOS NUEVOS GPS
+ c=skmt.ExecQuery("SELECT CLIENTE, LAT, LON FROM CLIENTES_GPS")
+ If c.RowCount>0 Then
+ For i=0 To c.RowCount -1
+ c.Position=i
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "insert_ACT_CLIE_GPS_PRO"
+ cmd.Parameters = Array As Object(C.GetString("CLIENTE"),C.GetString("LAT"),C.GetString("LON") )
+ reqManager.ExecuteQuery(cmd , 0,"ins_QR")
+
+ Next
+ c.Close
+ End If
+
+
+ ' PEDIO
+ c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FOLIO"))
+ c.Position =0
+ armafolio = 0
+ ' 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 = 0
+ '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")
+
+ 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_PRO"
+ 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")
+ TIEMPO = 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_PRO"
+ 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")
+
+ TIEMPO = TIEMPO + 1
+
+ If TIEMPO > 20 Then
+ ' Msgbox("M","A")
+ 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
+
+ Next
+ c.Close
+ End If
+
+ 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_PRO"
+ 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
+
+ ' 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_PRO"
+' 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_PRO"
+' 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_PRO"
+' ' 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
+'
+'
+ '' PARA LA ENCUESTA
+
+
+ c=skmt.ExecQuery("select HE_CUENTA, HE_MANEJA, HE_RES1, HE_RES2, HE_RES3, HE_RES4,HE_FECHA,HE_USUARIO from HIST_ENCUESTA")
+
+
+ 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_ENCUESTA_PRO"
+ cmd.Parameters = Array As Object(c.GetString("HE_CUENTA"),c.GetString("HE_MANEJA"),c.GetString("HE_RES1"),c.GetString("HE_RES2"),c.GetString("HE_RES3"),c.GetString("HE_RES4"),c.GetString("HE_FECHA"),c.GetString("HE_USUARIO"))
+ 'cmd.Parameters = Array As Object(C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON") )
+
+ reqManager.ExecuteQuery(cmd , 0, "inst_visitas")
+
+
+
+ ' Dim cmd As DBCommand
+ ' cmd.Initialize
+ ' cmd.Name = "update_gps_actual_PRO"
+ ' 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
+
+PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
+
+ ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
+
+
+End If
+End Sub
+Sub cargar_Click
+ CARGA = "CARGAR"
+ img2.Visible =True
+ L_P_1.Visible = True
+ S_CC.Visible = True
+
+ P1.Visible = True
+ trabajar.Visible = False
+ B_PROXIMA.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.ExecNonQuery("delete from TMP_PROMO_ESP_REGALO")
+
+ 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))
+
+ c=skmt.ExecQuery("select usuario from usuarioa")
+ c.Position = 0
+ usuario = c.GetString("USUARIO")
+
+
+ 'cmd.Initialize
+ 'cmd.Name = "Select_count_clie"
+ 'reqManager.ExecuteQuery(cmd,0,"count_cli")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_gunaprod_PRO"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprod")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_gunaprod2_PRO"
+ cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprod2")
+
+
+ cmd.Initialize
+ cmd.Name = "select_cat_paquetes_PRO"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprodp")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_paquetess_PRO"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprodps")
+
+
+ cmd.Initialize
+ cmd.Name = "select_cat_detallepa_PRO"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "detallepaq")
+
+
+ cmd.Initialize
+ cmd.Name = "select_cat_clientes_guna_PRO"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
+
+ cmd.Initialize
+ cmd.Name = "select_hist_datos_PRO"
+ 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_PRO"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_promos")
+
+ cmd.Initialize
+ cmd.Name = "select_hist_cliente_promos_PRO"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_cliente_promos")
+
+ cmd.Initialize
+ cmd.Name = "select_promo_comp_PRO"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_comp_promos")
+
+ cmd.Initialize
+ cmd.Name = "select_verificacion_PRO"
+ 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_PRO"
+ 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_PRO"
+ cmd.Parameters = Array As Object(usuario)
+ reqManager.ExecuteQuery(cmd , 0, "perfil")
+
+ cmd.Initialize
+ cmd.Name = "select_marcas_PRO"
+ cmd.Parameters = Array As Object(usuario)
+ reqManager.ExecuteQuery(cmd , 0, "marcas")
+
+ cmd.Initialize
+ cmd.Name = "select_precios_PRO"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "precios")
+
+ cmd.Initialize
+ cmd.Name = "select_promo_esp_2021"
+ cmd.Parameters = Array As Object(e_ruta.text)
+ reqManager.ExecuteQuery(cmd , 0, "promo_2021")
+
+
+ cmd.Initialize
+ cmd.Name = "select_hist_rmi1_PRO"
+ 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_PRO"
+ 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_PRO"
+ 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_PRO"
+ 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_PRO"
+ 'cmd.Parameters = Array As Object( ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "cat_cambios")
+
+ cmd.Initialize
+ cmd.Name = "select_SUCURSAL_PRO"
+ cmd.Parameters = Array As Object( ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "sucursal")
+
+ cmd.Initialize
+ cmd.Name = "select_HIST_CUOTAS_PRO"
+ cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
+ reqManager.ExecuteQuery(cmd , 0, "CUOTAS")
+
+ cmd.Initialize
+ cmd.Name = "select_HIST_CLIE_GPS_PRO"
+ cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
+ reqManager.ExecuteQuery(cmd , 0, "CUOTAS")
+
+
+
+ ' 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
+' 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
+ 'ToastMessageShow("Error: " & Job.ErrorMessage, True)
+
+ If Job.ErrorMessage = "STREAM" Then
+ If CARGA = "SUBIR" Then
+ PB2.Progress = PB2.Progress + PORCENTAJE
+ S_CP.Text = "SUBIENDO"
+ If PB2.Progress > 99 Then
+ S_CP.Text = "VALIDANDO"
+ End If
+ End If
+ End If
+
+ Else
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "kmt_datos" Then 'query tag
+ 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.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"))
+ skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select PE_CLIENTE from PEDIDO)")
+ Listo1 = 1
+ S_CC.Text = "LISTO"
+ ' ToastMessageShow("Catalogo Clientes Actualizados." , True)
+ If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
+ Activity_Resume
+ 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
+ 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 = 70
+ ELSE IF PB1.Progress = 70 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 = "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 = 70
+ ELSE IF PB1.Progress = 70 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
+ Activity_Resume
+ 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.ExecQUERY("SELECT COUNT(*) AS CUANTOS FROM PEDIDO")
+ c.Position = 0
+ cuantos_pedidosc = c.GetString("CUANTOS")
+ c.Close
+ If cuantos_pedidosc > 0 Then
+ c=skmt.ExecQUERY("SELECT PE_PROID, PE_CANT FROM PEDIDO")
+ 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
+
+ ' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD2 GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc")
+ ' c.Position=0
+ ' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD2")
+ ' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD2(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS")))
+ ' c.Close
+
+ 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"))
+ 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
+ Activity_Resume
+ img2.Visible=False
+ EJECUTANDO=0
+ Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
+ Activity_Resume
+ 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))
+ 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) 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
+ Activity_Resume
+ img2.Visible=False
+ EJECUTANDO=0
+ Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
+ Activity_Resume
+ 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 = "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
+ Activity_Resume
+ img2.Visible=False
+ EJECUTANDO=0
+ Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
+ Activity_Resume
+ 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 = 70
+ ELSE IF PB1.Progress = 70 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
+ Activity_Resume
+ 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_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
+ Activity_Resume
+ 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"
+ 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
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "ruta" Then 'query tag
+ 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
+ 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
+ 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
+ 'CUOTAS
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "CUOTAS" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim HC_RUTA As String = records(RESULT.Columns.Get("HC_RUTA"))
+ Dim HC_CUOTA1 As String = records(RESULT.Columns.Get("HC_CUOTA1"))
+ Dim HC_CUOTA2 As String = records(RESULT.Columns.Get("HC_CUOTA2"))
+ Dim HC_CUOTA3 As String = records(RESULT.Columns.Get("HC_CUOTA3"))
+ Dim HC_CUOTA4 As String = records(RESULT.Columns.Get("HC_CUOTA4"))
+ Dim HC_CUOTA5 As String = records(RESULT.Columns.Get("HC_CUOTA5"))
+ Dim HC_CUOTA6 As String = records(RESULT.Columns.Get("HC_CUOTA6"))
+ Dim HC_META1 As String = records(RESULT.Columns.Get("HC_META1"))
+ Dim HC_META2 As String = records(RESULT.Columns.Get("HC_META2"))
+ Dim HC_META3 As String = records(RESULT.Columns.Get("HC_META3"))
+ Dim HC_META4 As String = records(RESULT.Columns.Get("HC_META4"))
+ Dim HC_META5 As String = records(RESULT.Columns.Get("HC_META5"))
+ Dim HC_META6 As String = records(RESULT.Columns.Get("HC_META6"))
+
+
+
+ skmt.ExecNonQuery2("INSERT INTO HIST_CUOTAS(HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6))
+
+ 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
+
+ ' promo espacial 2021
+
+ If Job.JobName = "DBRequest" Then
+ Dim RESULT As DBResult = reqManager.HandleJob(Job)
+ If RESULT.Tag = "promo_2021" Then 'query tag
+ For Each records() As Object In RESULT.Rows
+
+ Dim CAT_ESP_CLIENTE As String = records(RESULT.Columns.Get("CLIENTE"))
+ Dim CAT_ESP_MONTO As String = records(RESULT.Columns.Get("MONTO"))
+ Dim CAT_ESP_REGALO As String = records(RESULT.Columns.Get("REGALO"))
+
+ skmt.ExecNonQuery2("INSERT INTO TMP_PROMO_ESP_REGALO(CLIENTE , MONTO , REGALO ) VALUES (?,?,?)", Array As Object (CAT_ESP_CLIENTE,CAT_ESP_MONTO,CAT_ESP_REGALO))
+
+
+
+ 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) 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))
+
+ 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 connecta_Click
+' c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("RUTA"))
+' c.Position =0
+' If c.GetString("CAT_VA_VALOR") = l_ruta.Text Then
+
+
+ connecta1 = connecta1 + 1
+' imei = p.GetDeviceId
+ conn = "1"
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_version_PRO"
+ reqManager.ExecuteQuery(cmd , 0, "version")
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_ruta_PRO2_224"
+ cmd.Parameters = Array As Object(ALMACEN,e_ruta.text,imei)
+ reqManager.ExecuteQuery(cmd , 0, "ruta")
+
+ If e_ruta.Text = "ROOT" Then
+ cargar.Visible = True
+ Subir.Visible = True
+ e_ruta.Text = ""
+ End If
+ ToastMessageShow("Validando Conexión." , True)
+
+
+
+' Else
+' Msgbox("LA RUTA NO ES CORRECTA","")
+' End If
+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 desea 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.ExecNonQuery("delete from CLIENTES_GPS")
+
+
+
+ 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))
+
+
+
+ Activity_Resume
+ End If
+ End If
+ If e_ruta.Text = "HUGO" Then
+ trabajar.Visible = False
+ B_PROXIMA.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_PRO"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprod")
+
+
+ cmd.Initialize
+ cmd.Name = "select_cat_paquetes_PRO"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprodp")
+
+
+ cmd.Initialize
+ cmd.Name = "select_cat_detallepa_PRO"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "detallepaq")
+
+
+
+ cargar.Visible = False
+ Subir.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_PRO"
+ 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_PRO"
+' cmd.Parameters = Array As Object(ALMACEN,l_ruta.text)
+' reqManager.ExecuteQuery(cmd , 0, "valida_noventa")
+'
+' cmd.Initialize
+' cmd.Name = "select_cuantos_pedidoc_PRO"
+' 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
+
+ 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 desea 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
+
+ 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
+
+ NUEVO.Visible =True
+ BUSCA.Visible=True
+ connecta.Visible=True
+ Resumen.Visible= True
+ img2.Visible=False
+Else if CARGA = "CARGAR" And (S_CP.Text <> "LISTO" Or S_CC.Text <> "LISTO" Or S_CH.Text <> "LISTO") Then
+ RES = Msgbox2("Seguro que desea 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
+
+ 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")
+ skmt.ExecNonQuery("delete from HIST_CUOTAS")
+ ExitApplication
+ End If
+
+End If
+
+
+End Sub
+
+Sub NUEVO_Click
+ StartActivity(nuevocliente)
+End Sub
+
+Sub B_OK_RES_Click
+ trabajar.Visible = True
+ B_PROXIMA.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
+
+ NUEVO.Visible =False
+ BUSCA.Visible=False
+ connecta.Visible=False
+ Subir.Visible=False
+ cargar.Visible=False
+ Resumen.Visible= False
+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 Printer1_Connected (Success As Boolean)
+ If Success Then
+ ToastMessageShow("Connected successfully", False)
+ B_IMP.Enabled = True
+ Else
+ Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.")
+ End If
+End Sub
+
+Sub t2_tick
+
+ c=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 = " "
+ Printer1.WriteString("KELLOG COMPANY MEXICO" & CRLF)
+ Printer1.WriteString("RESUMEN DIA" & CRLF)
+ Printer1.WriteString(sDate & " " & sTime & CRLF)
+
+ Printer1.WriteString("Vendedor:" & usuario & CRLF)
+
+
+ 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=skmt.ExecQuery("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 ")
+'
+'
+' 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
+' Msgbox(" PAUSA","IMP")
+' TAMANO = 0
+' End If
+' Next
+' End If
+' s.Close
+ ' s=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO")
+ ' 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"))
+ ' s.Close
+
+
+ Printer1.WriteString(CRLF)
+ Printer1.WriteString("-----------RMI----------------" & CRLF)
+ Printer1.WriteString(CRLF)
+ 'c=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=skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where CAT_GP_CLASIF <> ? and substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("PROMOS","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.Disconnect
+ t2.Enabled= False
+ trabajar.Visible = True
+ B_PROXIMA.Visible =True
+
+ NUEVO.Visible =True
+ BUSCA.Visible=True
+ connecta.Visible=True
+ Resumen.Visible= True
+ P_RESUMEN.Visible=False
+
+ Msgbox(Main.mac_impresora, "AVISO")
+
+End Sub
+
+
+Sub B_IMP_Click
+ Printer1.Disconnect
+ t2.Initialize("T2", 4000) ' 1000 = 1 second
+ t2.Enabled = True
+
+ If Printer1.IsConnected = False Then
+ Printer1.Connect
+ End If
+
+End Sub
+
+
+
+Sub Printer_Connected (Success As Boolean)
+ If Success Then
+
+ B_IMP.Enabled = True
+ PASA_IMP = "1"
+ Else
+ B_IMP.Enabled = False
+ If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then
+ 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")
+ printer.Close
+ cmp20.Disconnect
+ End Try
+
+ If PairedDevices.Size = 0 Then
+ Msgbox("Error Connecting to Printer - Printer Not Found","")
+ Return
+ End If
+
+ If PairedDevices.Size = 1 Then
+ Try
+ 'FLEOS
+ cmp20.ConnectInsecure(btAdmin,PairedDevices.Get(PairedDevices.GetKeyAt(0)),1)
+ 'cmp20.Connect(PairedDevices.Get(PairedDevices.GetKeyAt(0)))
+
+ Catch
+ Msgbox("Connecting","Printer Error")
+ 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)
+
+ If resimp <> DialogResponse.CANCEL Then
+ cmp20.Connect(PairedDevices.Get(L.Get(resimp)))
+
+ End If
+ End If
+End Sub
+
diff --git a/tarjeta.bas b/tarjeta.bas
new file mode 100644
index 0000000..43fefac
--- /dev/null
+++ b/tarjeta.bas
@@ -0,0 +1,316 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 skmt As SQL
+ Dim g As GPS
+ Dim clie_id As String
+ Dim sDate,sTime As String
+ Dim usuario As String
+
+End Sub
+
+Sub Globals
+ '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
+ 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 Activity_Create(FirstTime As Boolean)
+ If(FirstTime) Then
+ g.Initialize("GPS")
+ End If
+
+
+ ruta = File.DirInternal
+
+ Activity.LoadLayout("tarjeta")
+ borra.Visible = True
+ Titulo.Text = "Pedido Actual"
+ ' 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)
+ skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
+ c=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=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=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
+ '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 Activity_Resume
+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=""
+ skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
+
+ c=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=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=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=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)
+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 desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
+ If result = DialogResponse.POSITIVE Then
+
+ c=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
+ 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
+ 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
+
+
+ skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
+ skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
+ skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ Activity_Resume
+ End If
+Else
+Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO")
+End If
+
+End Sub
+Sub ListView1_ItemLongClick (Position As Int, Value As Object)
+ result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
+
+ If result = DialogResponse.POSITIVE Then
+ c=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))
+ c.Position=0
+ TIPO = c.GetString("PE_TIPO")
+ If c.GetString("PE_TIPO") = "VENTA" Then
+ 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
+ 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
+ c.Close
+ If TIPO = "VENTA" Then
+ c=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=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.Position=0
+ If c.GetString("CUANTOS") > 0 Then
+ skmt.ExecNonQuery2("delete from pedido where pe_folio = 0 and pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
+ Else
+ skmt.ExecNonQuery2("delete from pedido where pe_folio = 0 and 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=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")
+
+ c=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
+ 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) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), lon_gps, lat_gps))
+ skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ Else
+ skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
+ skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ End If
+ Activity_Resume
+
+
+ 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=skmt.ExecQuery("Select CUENTA from cuentaa")
+ c.Position=0
+ clie_id = c.GetString("CUENTA")
+ c.Close
+ c=skmt.ExecQuery("select USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+ c.Close
+ result = Msgbox2("Seguro que desea dar descuento del 5%?","Dar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
+ If result = DialogResponse.POSITIVE Then
+ skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT * .95, PE_DESC = 5 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
+ c=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
+ 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) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), lon_gps, lat_gps))
+ c.Close
+ Activity_Resume
+ End If
+ ELSE IF DESCUENTO = "MAS" Then
+ 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 USUARIO from usuarioa")
+ c.Position=0
+ usuario = c.GetString("USUARIO")
+ c.Close
+ result = Msgbox2("Seguro que desea CANCELAR el descuento?","Cancelar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
+ If result = DialogResponse.POSITIVE Then
+ skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT / .95, PE_DESC = 0 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
+ c=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
+ 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) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), lon_gps, lat_gps))
+ c.Close
+ Activity_Resume
+ End If
+ End If
+End Sub
\ No newline at end of file
diff --git a/telefonos.bas b/telefonos.bas
new file mode 100644
index 0000000..1a7568b
--- /dev/null
+++ b/telefonos.bas
@@ -0,0 +1,130 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Activity
+Version=7.01
+@EndOfDesignText@
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: 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 skmt As SQL
+End Sub
+
+Sub Globals
+ '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 Regresa As Button
+
+ Dim Agrega As Button
+ Dim e_atiende1 As EditText
+ Dim e_atiende2 As EditText
+ Dim e_tel As EditText
+ Dim e_email As EditText
+ Dim e_edo As EditText
+ Dim e_mpo As EditText
+ Dim e_cp As EditText
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ 'Do not forget to load the layout file created with the visual designer. For example:
+ 'Activity.LoadLayout("Layout1")
+
+ ruta = File.DirInternal
+
+ Activity.LoadLayout("telefonos")
+ 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 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 from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ ' ListView1.Clear
+
+ 'If c.RowCount>0 Then
+ ' For i=0 To c.RowCount -1
+ c.Position=0
+ e_edo.Text = c.GetString("CAT_CL_EDO")
+ If e_edo.Text <> "" Or e_edo.text <> "null" Then
+ e_edo.Enabled = False
+ End If
+ e_cp.Text = c.GetString("CAT_CL_CP")
+ If e_cp.Text <> "" Then
+ e_cp.Enabled = False
+ End If
+ e_mpo.Text = c.GetString("CAT_CL_MUNI")
+ If e_mpo.Text <> "" Then
+ e_mpo.Enabled = False
+ End If
+ e_email.Text = c.GetString("CAT_CL_EMAIL")
+ e_tel.Text = c.GetString("CAT_CL_TELEFONO")
+ e_atiende1.Text = c.GetString("CAT_CL_ATIENDE1")
+ e_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
+
+ ' 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.
+
+
+End Sub
+
+Sub Activity_Resume
+ skmt.Initialize(ruta,"kmt.db", True)
+ c=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 from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
+ ' ListView1.Clear
+
+ 'If c.RowCount>0 Then
+ ' For i=0 To c.RowCount -1
+ c.Position=0
+ e_edo.Text = c.GetString("CAT_CL_EDO")
+ If e_edo.Text <> "" Or e_edo.text <> "null" Then
+ e_edo.Enabled = False
+ End If
+ e_cp.Text = c.GetString("CAT_CL_CP")
+ If e_cp.Text <> "" Then
+ e_cp.Enabled = False
+ End If
+ e_mpo.Text = c.GetString("CAT_CL_MUNI")
+ If e_mpo.Text <> "" Then
+ e_mpo.Enabled = False
+ End If
+ e_email.Text = c.GetString("CAT_CL_EMAIL")
+ e_tel.Text = c.GetString("CAT_CL_TELEFONO")
+ e_atiende1.Text = c.GetString("CAT_CL_ATIENDE1")
+ e_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+
+End Sub
+
+
+
+Sub Regresa_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 Agrega_Click
+ c=skmt.ExecQuery("Select CUENTA from cuentaa")
+ C.Position =0
+ skmt.ExecNonQuery2("insert into CLIE_ACT(CLIENTE,ATIENDE1, ATIENDE2,TEL,EMAIL,EDO,CP, MPO) VALUES (?,?,?,?,?,?,?,?)", Array As Object(c.GetString("CUENTA"),e_atiende1.Text ,e_atiende2.Text,e_tel.text,e_email.Text,e_edo.Text,e_cp.Text,e_mpo.Text))
+ c.Close
+ StartActivity(seleccion)
+End Sub
\ No newline at end of file