VERSION 6.07.30

-COMMIT INICIAL
This commit is contained in:
jalarakmt
2026-07-31 12:31:46 -06:00
parent 069e785cd8
commit 39856536d7
1810 changed files with 221332 additions and 0 deletions
+829
View File
@@ -0,0 +1,829 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=11.5
@EndOfDesignText@
Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
Dim skmt As SQL
Dim g As GPS
Dim clie_id As String
Dim sDate,sTime As String
Dim usuario As String
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 tgl As Toggle
Private almacen As String
Private p_nota As Panel
Dim vamoaver As List
Dim c2 As Cursor
Dim j3 As Cursor
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
Return Me
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
ruta = File.DirInternal
Root.LoadLayout("nota")
borra.Visible = True
Titulo.Text = "Pedido Actual"
' If Existe <> 0 Then
' c=B4XPages.MainPage.skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
' C.Position=0
' L_CANT.Text = c.GetString("PC_NOART")
' L_TOTAL.Text = c.GetString("PC_MONTO")
' End If
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
'Sub B4XPage_Appear
' ' Verificar si el GPS está encendido
' If Not(Starter.gps.GPSEnabled) Then
' ToastMessageShow("Es necesario tener el GPS encendido", True)
' StartActivity(Starter.gps.LocationSettingsIntent)
' End If
'
' ' Obtener el ID del almacén
' c = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
' If c.RowCount > 0 Then
' c.Position = 0
' almacen = c.GetString("ID_ALMACEN")
' End If
' c.Close
'
' ' Limpiar los campos de cantidad y total
' L_CANT.Text = ""
' L_TOTAL.Text = ""
'
' ' Verificar si existen pedidos para el cliente
' c = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS EXISTE FROM pedido_cliente WHERE pc_cliente IN (SELECT CUENTA FROM cuentaa)")
' If c.RowCount > 0 Then
' c.Position = 0
' Existe = c.GetString("EXISTE")
' End If
' c.Close
'
' ' Obtener los pedidos del cliente
' c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_PRONOMBRE, PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM cuentaa) ORDER BY PE_CEDIS, PE_PRONOMBRE")
' ListView1.Clear
' vamoaver.Initialize
' Private cs As CSBuilder
'
' If c.RowCount > 0 Then
' For i = 0 To c.RowCount - 1
' cs.Initialize
' c.Position = i
' Dim label1 As Label
' label1 = ListView1.TwoLinesLayout.Label
' label1.TextSize = 15
' label1.TextColor = Colors.Black
' label1.Color = Colors.White
'
' Private textColor As Int = Colors.Black
' Dim folio As String = c.GetString("PE_FOLIO")
'
' ' Asignar colores según el tipo de folio
' If folio = "VENTA" Then
' textColor = Colors.RGB(48, 3, 195)
' Else If folio = "PREVENTA_CONTADO" Or folio = "ABORDO" Or folio = "RECARGA" Then
' textColor = Colors.RGB(166, 0, 0)
' Else If folio = "PREVENTA_CREDITO" Then
' textColor = Colors.RGB(0, 128, 0)
' End If
'
' ' Cambiar el color si es una promoción
' If Not(IsNumber(c.GetString("PE_CEDIS"))) And folio = "VENTA" Then
' textColor = Colors.RGB(154, 131, 231)
' Else If Not(IsNumber(c.GetString("PE_CEDIS"))) And folio = "PREVENTA_CONTADO" Then
' folio = "PREVENTA"
' textColor = Colors.RGB(255,0,214)
' Else If Not(IsNumber(c.GetString("PE_CEDIS"))) And folio = "PREVENTA_CREDITO" Then
' folio = "PREVENTA"
' textColor = Colors.RGB(120,178,108)
' End If
'
'
' Dim polioreal As String
' If folio = "VENTA" Then
' textColor = Colors.RGB(154,131,231)
' Else If folio = "PREVENTA_CONTADO" Then
' polioreal = "PREVENTA"
' textColor = Colors.RGB(255,111,111)
' Else If folio = "PREVENTA_CREDITO" Then
' polioreal = "PREVENTA"
' textColor = Colors.RGB(120,178,108)
' End If
' LogColor(polioreal,Colors.Gray)
' Dim label2 As Label
' label2 = ListView1.TwoLinesLayout.SecondLabel
' label2.TextSize = 10
' label2.TextColor = Colors.Blue
'' LogColor(folio,Colors.Gray)
' ' Agregar el ítem a la lista
'' ListView1.AddTwoLines(cs.Color(textColor).append(c.GetString("PE_PRONOMBRE")).pop, "Cantidad #" & c.GetString("PE_CANT") & " SubTotal $" & c.GetString("PE_COSTO_TOT") & " Folio " & folio )
' ListView1.AddSingleLine(cs.Color(textColor).Size(12).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(8).Color(Colors.Blue).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_COSTO_TOT")).Append(" " & polioreal& " " &c.GetString("PE_CEDIS")).PopAll)
'
' vamoaver.Add(folio)
' Next
' End If
'
' Log($"EXISTE: ${Existe}"$)
'
' ' Calcular la cantidad total y el monto total
' c = B4XPages.MainPage.skmt.ExecQuery("SELECT IFNULL(SUM(IFNULL(PE_CANT,0)),0) AS PC_NOART, SUM(IFNULL(PE_COSTO_TOT,0)) AS PC_MONTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)")
' If c.RowCount > 0 Then
' c.Position = 0
' Log($"registros: ${c.RowCount}, arts: ${c.GetString("PC_NOART")}, monto:${c.GetString("PC_MONTO")}"$)
' L_CANT.Text = c.GetString("PC_NOART")
' L_TOTAL.Text = c.GetString("PC_MONTO")
' If L_CANT.Text = Null Or L_CANT.Text = "null" Or L_CANT.Text = "" Then L_CANT.Text = "0"
' If L_TOTAL.Text = Null Or L_TOTAL.Text = "null" Or L_TOTAL.Text = "" Then L_TOTAL.Text = "0"
' c.Close
'
' ' Obtener el descuento total
' c = B4XPages.MainPage.skmt.ExecQuery("SELECT SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM cuentaa)")
' If c.RowCount > 0 Then
' c.Position = 0
' DESC = c.GetString("DESCUENTO")
' b_desc.Visible = False
' End If
' c.Close
' End If
'
' ' Habilitar o deshabilitar el botón de borrar
' If Subs.pedidoGuardado Then
' borra.Enabled = False
' Else
' borra.Enabled = True
' End If
'End Sub
' ... (Globals se mantienen igual)
Sub B4XPage_Appear
' 1. Verificación inicial de servicios
If Not(Starter.gps.GPSEnabled) Then
ToastMessageShow("Es necesario tener el GPS encendido", True)
StartActivity(Starter.gps.LocationSettingsIntent)
End If
' 2. Obtener el ID del almacén actual
c = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
If c.RowCount > 0 Then
c.Position = 0
almacen = c.GetString("ID_ALMACEN")
End If
c.Close
' 3. CONFIGURACIÓN VISUAL DEL LISTVIEW (Diseño espaciado)
ListView1.TwoLinesLayout.ItemHeight = 130dip
' Título: Nombre del Producto (Negrita y Rojo oscuro)
ListView1.TwoLinesLayout.Label.Height = 45dip
ListView1.TwoLinesLayout.Label.TextSize = 18
ListView1.TwoLinesLayout.Label.Typeface = Typeface.DEFAULT_BOLD
ListView1.TwoLinesLayout.Label.TextColor = Colors.RGB(150, 0, 0)
ListView1.TwoLinesLayout.Label.Gravity = Gravity.CENTER_VERTICAL
' Detalles: Presentación y Totales (Espacio amplio)
ListView1.TwoLinesLayout.SecondLabel.Height = 80dip
ListView1.TwoLinesLayout.SecondLabel.Top = 45dip
ListView1.TwoLinesLayout.SecondLabel.TextSize = 14
' 4. CARGA DE DATOS DESDE LA BASE DE DATOS
' Incluimos PE_PRESENTACION, PE_CANTC, PE_UVM, PE_PROID y PE_DIRIGIDA para el Map de borrado
Dim query As String = "SELECT PE_PRONOMBRE, PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS, " & _
"PE_PRESENTACION, PE_CANTC, PE_UVM, PE_PROID, PE_DIRIGIDA " & _
"FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM cuentaa) " & _
"ORDER BY PE_CEDIS,PE_COSTO_TOT, PE_PRONOMBRE"
c = B4XPages.MainPage.skmt.ExecQuery(query)
ListView1.Clear
vamoaver.Initialize
' If c.RowCount > 0 Then
' For i = 0 To c.RowCount - 1
' c.Position = i
'
' ' Extraer datos para la lógica visual y el Map
' Dim idProd As String = c.GetString("PE_PROID")
' Dim nomProd As String = c.GetString("PE_PRONOMBRE")
' Dim fActual As String = c.GetString("PE_FOLIO")
' Dim presName As String = c.GetString("PE_PRESENTACION")
' Dim cantPres As String = c.GetString("PE_CANTC")
' Dim uvmVal As Int = c.GetInt("PE_UVM")
' Dim cedisFila As String = c.GetString("PE_CEDIS")
' Dim dirigidaFila As String = c.GetString("PE_DIRIGIDA")
' Dim cantPzs As Int = c.GetInt("PE_CANT")
'
' ' Validar cantidad de presentación
' If cantPres = "" Or cantPres = "null" Then cantPres = "0"
'
' ' CONSTRUCCIÓN DEL SUBTÍTULO CON CSBUILDER
' Dim cs As CSBuilder
' cs.Initialize
'
' ' REGLA: Si la UVM es mayor a 1, mostrar la presentación en azul (Estilo normal)
' If uvmVal > 1 Then
' cs.Color(Colors.Blue).Size(17).Append(presName.ToUpperCase & ": " & (cantPzs/uvmVal)).Pop.Pop.Append(CRLF)
' cs.Size(6).Append(CRLF).Pop ' Espacio entre líneas
' End If
'
' ' Línea de Piezas y Subtotal (Siempre visible)
' cs.Color(Colors.DarkGray).Size(13).Append("Piezas: ").Color(Colors.Black).Append("#" & cantPzs).Pop
' cs.Append(" | ").Color(Colors.DarkGray).Append("Subtotal: ").Color(0xFF008000).Append("$" & NumberFormat2(c.GetDouble("PE_COSTO_TOT"), 1, 2, 2, False)).PopAll
'
' ' CREACIÓN DEL MAPA DE IDENTIDAD (El "secreto" para que el borrado no falle)
' Dim datosIdentificadores As Map = CreateMap("id": idProd, "nombre": nomProd, "cedis": cedisFila, "pres": presName, "uvm": uvmVal, "dir": dirigidaFila, "folio": fActual, "cant": cantPzs)
'
' ' AÑADIR AL LISTVIEW:
' ' Parámetro 1: Nombre (Usará la negrita del layout)
' ' Parámetro 2: Subtítulo (CSBuilder)
' ' Parámetro 3: El Mapa (Se recupera en el ItemLongClick como 'Value')
' ListView1.AddTwoLines2(nomProd, cs, datosIdentificadores)
'
' vamoaver.Add(fActual)
' Next
' End If
If c.RowCount > 0 Then
Dim almacenActual As String = Subs.traeAlmacen ' Obtenemos el almacén actual para comparar
For i = 0 To c.RowCount - 1
c.Position = i
' 1. Extraer datos
Dim idProd As String = c.GetString("PE_PROID")
Dim nomProd As String = c.GetString("PE_PRONOMBRE")
Dim fActual As String = c.GetString("PE_FOLIO")
Dim presName As String = c.GetString("PE_PRESENTACION")
Dim cantPres As String = c.GetString("PE_CANTC")
Dim uvmVal As Int = c.GetInt("PE_UVM")
Dim cedisFila As String = c.GetString("PE_CEDIS")
Dim dirigidaFila As String = c.GetString("PE_DIRIGIDA")
Dim cantPzs As Int = c.GetInt("PE_CANT")
If cantPres = "" Or cantPres = "null" Then cantPres = "0"
' 2. CONFIGURACIÓN DEL TÍTULO (Nombre del Producto)
' Usamos CSBuilder para saltarnos el color predefinido del Layout si es promoción
Dim csTitulo As CSBuilder
csTitulo.Initialize
If cedisFila <> almacenActual Then
' ES UNA PROMOCIÓN (Color diferente, p.ej. Verde esmeralda o Naranja)
csTitulo.Color(Colors.RGB(0, 150, 136)).Typeface(Typeface.DEFAULT_BOLD).Append(nomProd & " (PROMO)").PopAll
Else
' ES VENTA NORMAL (Rojo oscuro como lo tenías)
csTitulo.Color(Colors.RGB(150, 0, 0)).Typeface(Typeface.DEFAULT_BOLD).Append(nomProd).PopAll
End If
' 3. CONFIGURACIÓN DEL SUBTÍTULO (Detalles)
Dim csDetalle As CSBuilder
csDetalle.Initialize
' Regla UVM
If uvmVal > 1 Then
csDetalle.Color(Colors.Blue).Size(17).Append(presName.ToUpperCase & ": " & (cantPzs/uvmVal)).Pop.Pop.Append(CRLF)
csDetalle.Size(6).Append(CRLF).Pop
End If
' Línea de Piezas y Subtotal
csDetalle.Color(Colors.DarkGray).Size(13).Append("Piezas: ").Color(Colors.Black).Append("#" & cantPzs).Pop
csDetalle.Append(" | ").Color(Colors.DarkGray).Append("Subtotal: ").Color(0xFF008000).Append("$" & NumberFormat2(c.GetDouble("PE_COSTO_TOT"), 1, 2, 2, False)).PopAll
' 4. MAPA DE IDENTIDAD
Dim datosIdentificadores As Map = CreateMap("id": idProd, "nombre": nomProd, "cedis": cedisFila, "pres": presName, "uvm": uvmVal, "dir": dirigidaFila, "folio": fActual, "cant": cantPzs)
' 5. AÑADIR AL LISTVIEW
' Pasamos csTitulo en lugar de nomProd para que respete el color condicional
ListView1.AddTwoLines2(csTitulo, csDetalle, datosIdentificadores)
vamoaver.Add(fActual)
Next
End If
c.Close
' 5. Actualizar los totales globales de la pantalla
ActualizarTotalesPantalla
End Sub
Private Sub ActualizarTotalesPantalla
' Calculamos el resumen de la orden
Dim res As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT IFNULL(SUM(PE_CANT),0) AS PC_NOART, SUM(IFNULL(PE_COSTO_TOT,0)) AS PC_MONTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)")
If res.RowCount > 0 Then
res.Position = 0
L_CANT.Text = res.GetString("PC_NOART")
L_TOTAL.Text = "$" & NumberFormat2(res.GetDouble("PC_MONTO"), 1, 2, 2, False)
Else
L_CANT.Text = "0"
L_TOTAL.Text = "$0.00"
End If
res.Close
' Habilitar borrado general solo si la venta no ha sido transmitida/guardada
If Subs.pedidoGuardado Then borra.Enabled = False Else borra.Enabled = True
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
B4XPages.ShowPage("Cliente")
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
' BACK key pressed
' Return True To close, False To cancel
B4XPages.ShowPage("Cliente")
Return False
End Sub
Sub borra_Click
Log("Entre al btn borrar")
result = Msgbox2("Seguro que desa borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then
c=B4XPages.MainPage.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
Log($"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
Dim tablaInventario As String
' If folioActual = "PREVENTA_CREDITO" Then tablaInventario = "CAT_GUNAPROD4"
If c.GetString("PE_FOLIO") = "PREVENTA_CONTADO" Or c.GetString("PE_FOLIO") = "ABORDO" Then
tablaInventario = "CAT_GUNAPROD"
Log("1")
Else If c.GetString("PE_FOLIO") = "VENTA" Then
tablaInventario = "CAT_GUNAPROD2"
Log(2)
Else If c.GetString("PE_FOLIO") = "RECARGA" Then
tablaInventario = "CAT_GUNAPROD"
Log(3)
Else If c.GetString("PE_FOLIO") = "PREVENTA_CREDITO" Then
tablaInventario = "CAT_GUNAPROD4"
Log(4)
End If
B4XPages.MainPage.skmt.ExecNonQuery2($"update ${tablaInventario} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1))
Next
End If
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPage_Appear
End If
End Sub
'Sub ListView1_ItemLongClick (Position As Int, Value As Object)
' Log(Value)
'' If Not(Subs.pedidoGuardado) Then
' result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
' If result = DialogResponse.POSITIVE Then
' c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO,PE_CEDIS FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value))
' c.Position=0
' Log(vamoaver.Get(Position))
' If vamoaver.Get(Position) = "VENTA" Then
' Log("CAT_GUNAPROD2")
' Log(Position)
' Log(Value)
' Starter.tabla = "CAT_GUNAPROD2"
' Else
' Log("CAT_GUNAPROD")
' Log(Position)
' Log(Value)
' Starter.tabla = "CAT_GUNAPROD"
' End If
'' B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1))
' c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} 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))
' c2.Position=0
' Log(c2.GetString("CUANTOS"))
' If c2.GetString("CUANTOS") > 0 Then
'
' j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ?) and PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String(Value))
' Log(j3.RowCount)
' If j3.RowCount > 0 Then
' Log("estoy aqui")
' For i = 0 To j3.RowCount -1
' Log("aqui tronare?")
' j3.Position = i
'
' If vamoaver.get(Position) = "VENTA" Then
' Log("Entre aqui?")
' B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$)
'' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(j3.GetString("PE_PRONOMBRE"), c.GetString("PE_FOLIO")))
' Log("Aqui borro pedido 1")
' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis <> ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Subs.traeAlmacen, c.GetString("PE_FOLIO")))
' Else
' Log("Esto es Folio: " & vamoaver.get(Position) & "Esto es cedis: " & Subs.traeAlmacen)
' B4XPages.MainPage.skmt.ExecNonQuery($"update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$)
' B4XPages.MainPage.skmt.ExecNonQuery($"update cat_gunaprod4 set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$)
' Log("Aqui borro pedido 2")
' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis <> ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Subs.traeAlmacen, c.GetString("PE_FOLIO")))
' End If
' Next
' End If
' j3.Close
' Else
' Log("Esto no es una promo")
' If vamoaver.get(Position) = "VENTA" Then
' Log("Esto no es una promo")
' B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD2 set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$)
' Log("Aqui borro pedido 3")
' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis = ? and pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Subs.traeAlmacen, Value, vamoaver.Get(Position)))
' Else
' Log("Esto no es una promo")
' Log("Esto es Folio: " & vamoaver.get(Position) & "Esto es cedis: " & Subs.traeAlmacen & "Esto es nombre: " & Value)
' B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$)
' B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$)
' Log("Aqui borro pedido 4")
' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis = ? and pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Subs.traeAlmacen, Value, vamoaver.Get(Position)))
' End If
'' B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$)
'' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, c.GetString("PE_FOLIO")))
' End If
' c.Close
' c2.Close
' DateTime.DateFormat = "MM/dd/yyyy"
' sDate=DateTime.Date(DateTime.Now)
' sTime=DateTime.Time(DateTime.Now)
' c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
' c.Position=0
' clie_id = c.GetString("CUENTA")
' c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
' c.Position=0
' usuario = c.GetString("USUARIO")
' c=B4XPages.MainPage.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
' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
' B4XPages.MainPage.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"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
' Else
' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
' End If
' B4XPage_Appear
' End If
'' Else
'' ToastMessageShow("Pedido guardado, NO se puede editar.",False)
'' End If
'End Sub
'Sub ListView1_ItemLongClick (Position As Int, Value As Object)
' Log(Value)
' Private X() As String = Regex.Split(" ", Value)
' Private nom As String = ""
' For i = 0 To X.Length -1
' If X(i).Contains(CRLF) Then
' End If
' If Not(X(i).Contains(CRLF)) Then
' nom = nom & " " & X(i)
' Else
' Exit
' End If
' Next
' nom = nom.Trim
' Log(nom)
' Private cedis As String = X(X.Length-1)
' Log(cedis)
' result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
' If result = DialogResponse.POSITIVE Then
' Log("|" &nom & "|")
' Log("|" & cedis & "|")
' Log("|" & Subs.traeCliente & "|")
' Private y As Cursor =B4XPages.MainPage.skmt.ExecQuery($"select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = '${nom.TRIM}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = '${cedis}' "$)
' Log($"select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = '${nom}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = '${cedis}' "$)
' Log(y.RowCount)
' y.Position=0
' Log(vamoaver.Get(Position))
' If vamoaver.Get(Position) = "VENTA" Then
' Log("CAT_GUNAPROD2")
' Log(Position)
' Log(Value)
' Starter.tabla = "CAT_GUNAPROD2"
' Else
' Log("CAT_GUNAPROD")
' Log(Position)
' Log(Value)
' Starter.tabla = "CAT_GUNAPROD"
' End If
'
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,y.GetString("PE_PROID"),y.GetString("PE_CANT")* -1))
' Log(cedis)
' Log(Subs.traeAlmacen)
' If cedis <> Subs.traeAlmacen Then
' j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE, PE_FOLIO FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ? and PE_CEDIS = ?)",Array As String(nom,cedis))
' Log(j3.RowCount)
' If j3.RowCount > 0 Then
' Log("Soy promo")
' For j = 0 To j3.RowCount -1
' Log("aqui tronare?")
'
' j3.Position = j
' Log(j3.GetString("PE_CANT"))
' Log($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + '${j3.GetString("PE_CANT")}' where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$)
' If vamoaver.Get(Position) = "PREVENTA_CREDITO" Then
' Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${j3.GetString("PE_CANT")} where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$)
' B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis= '${cedis}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${j3.GetString("PE_FOLIO")}' AND PE_PROID = '${j3.GetString("PE_PROID")}'"$)', Array As Object(cedis, c.GetString("PE_FOLIO")))
' Else
' Starter.skmt.ExecNonQuery($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${j3.GetString("PE_CANT")} where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$)
' B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis= '${cedis}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${j3.GetString("PE_FOLIO")}' AND PE_PROID = '${j3.GetString("PE_PROID")}'"$)', Array As Object(cedis, c.GetString("PE_FOLIO")))
'
' End If
' Next
' End If
' j3.Close
' Else
' Log(y.GetString("PE_CANT"))
' Log(y.Getstring("PE_PROID"))
' Log("Esto no es promo")
' If vamoaver.Get(Position) = "PREVENTA_CREDITO" Then
' B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set cat_gp_almacen = cat_gp_almacen + ${y.GetString("PE_CANT")} where cat_gp_id = '${y.Getstring("PE_PROID")}'"$)
' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(nom, cedis, vamoaver.Get(Position)))
' Else
' B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${y.GetString("PE_CANT")} where cat_gp_id = '${y.Getstring("PE_PROID")}'"$)
' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(nom, cedis, vamoaver.Get(Position)))
' End If
' End If
' y.Close
' DateTime.DateFormat = "MM/dd/yyyy"
' sDate=DateTime.Date(DateTime.Now)
' sTime=DateTime.Time(DateTime.Now)
' c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
' c.Position=0
' clie_id = c.GetString("CUENTA")
' c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
' c.Position=0
' usuario = c.GetString("USUARIO")
' c=B4XPages.MainPage.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
' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
' B4XPages.MainPage.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"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
' Else
' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
' End If
' B4XPage_Appear
' End If
'
'End Sub
'Sub ListView1_ItemLongClick (Position As Int, Value As Object)
' Log("Valor seleccionado: " & Value)
'
' ' 1. EXTRAER EL NOMBRE Y EL CEDIS DEL LISTVIEW
' ' El valor recibido es el texto completo del ítem (Nombre + CRLF + Detalles)
' Private X() As String = Regex.Split(" ", Value)
' Private nom As String = ""
'
' ' Reconstruimos el nombre hasta encontrar el primer salto de línea
' For i = 0 To X.Length - 1
' If Not(X(i).Contains(CRLF)) Then
' nom = nom & " " & X(i)
' Else
' ' El nombre termina justo antes del CRLF
' Dim partes() As String = Regex.Split(CRLF, X(i))
' nom = nom & " " & partes(0)
' Exit
' End If
' Next
' nom = nom.Trim
'
' ' El CEDIS siempre está al final según nuestra construcción previa
' Private cedis As String = X(X.Length - 1).Trim
' ' Eliminamos cualquier residuo de paréntesis si existiera
' cedis = cedis.Replace("(", "").Replace(")", "")
'
' result = Msgbox2("¿Seguro que desea borrar este artículo?", "Borrar Artículo", "Si", "", "No", LoadBitmap(File.DirAssets, "alert2.png"))
'
' If result = DialogResponse.POSITIVE Then
' ' 2. BUSQUEDA DE LA FILA ESPECÍFICA
' ' Buscamos por Nombre y CEDIS, que es lo que tenemos disponible en el texto del ListView
' ' IMPORTANTE: Al ser un ListView de "Nota", traemos todos los campos para identificar la presentación
' Dim q As String = "SELECT PE_PROID, PE_CANT, PE_FOLIO, PE_PRESENTACION, PE_UVM, PE_DIRIGIDA " & _
' "FROM PEDIDO WHERE PE_PRONOMBRE = ? AND PE_CEDIS = ? " & _
' "AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"
'
' Dim res As Cursor = B4XPages.MainPage.skmt.ExecQuery2(q, Array As String(nom, cedis))
'
' ' VALIDACIÓN: Solo entramos si el cursor NO está vacío
' If res.RowCount > 0 Then
' res.Position = 0
' Dim idProd As String = res.GetString("PE_PROID")
' Dim cantRegresar As Int = res.GetInt("PE_CANT")
' Dim folioActual As String = res.GetString("PE_FOLIO")
' Dim presName As String = res.GetString("PE_PRESENTACION")
' Dim uvmVal As String = res.GetString("PE_UVM")
' Dim dirTarget As String = res.GetString("PE_DIRIGIDA")
'
' ' 3. DEVOLVER AL INVENTARIO
' ' Decidimos la tabla según el folio del registro encontrado
' Dim tablaInv As String = "CAT_GUNAPROD"
' If folioActual = "VENTA" Then tablaInv = "CAT_GUNAPROD2"
' If folioActual = "PREVENTA_CREDITO" Then tablaInv = "CAT_GUNAPROD4"
'
' B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE ${tablaInv} SET CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${cantRegresar} WHERE CAT_GP_ID = '${idProd}'"$)
'
' ' Registrar movimiento para sincronización
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN, PROID, CANTIDAD) VALUES(?,?,?)", _
' Array As Object(cedis, idProd, cantRegresar * -1))
'
' ' 4. BORRADO QUIRÚRGICO
' ' Usamos todos los campos clave para borrar SOLO la presentación seleccionada
' Dim qDelete As String = "DELETE FROM PEDIDO WHERE PE_PROID = ? AND PE_PRESENTACION = ? " & _
' "AND PE_UVM = ? AND PE_DIRIGIDA = ? AND PE_CEDIS = ? " & _
' "AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"
'
' B4XPages.MainPage.skmt.ExecNonQuery2(qDelete, Array As Object(idProd, presName, uvmVal, dirTarget, cedis))
'
' LogColor("Borrado: " & nom & " - " & presName, Colors.Blue)
' Else
' ' Si llegamos aquí, es que la consulta SELECT no encontró el producto
' LogColor("Error: No se encontró el registro en la BD para " & nom, Colors.Red)
' ToastMessageShow("No se pudo localizar el registro para borrar.", False)
' End If
' res.Close
'
' ' 5. ACTUALIZAR LA PANTALLA
' ' Llamamos al Appear para que refresque la lista y los totales
' B4XPage_Appear
' End If
'End Sub
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
' Value ya no es texto, es el Map que guardamos en Appear
Dim datos As Map = Value
Dim idProd As String = datos.Get("id")
Dim nom As String = datos.Get("nombre")
Dim presName As String = datos.Get("pres")
Dim uvmVal As Int = datos.Get("uvm")
Dim cedis As String = datos.Get("cedis")
Dim folioActual As String = datos.Get("folio")
Dim cantRegresar As Int = datos.Get("cant")
Log(folioActual)
Log(cedis)
result = Msgbox2("¿Seguro que desea borrar " & nom & " (" & presName & ")?", "Borrar Artículo", "Si", "", "No", LoadBitmap(File.DirAssets, "alert2.png"))
If result = DialogResponse.POSITIVE Then
' 1. DEVOLVER AL INVENTARIO (Tabla dinámica según el folio)
Dim tablaInv As String
' If folioActual = "VENTA" Then tablaInv = "CAT_GUNAPROD2"
' If folioActual = "PREVENTA_CREDITO" Then tablaInv = "CAT_GUNAPROD4"
If folioActual = "PREVENTA_CONTADO" Or folioActual = "ABORDO" Then
tablaInv = "CAT_GUNAPROD"
Log("1")
Else If folioActual = "VENTA" Then
tablaInv = "CAT_GUNAPROD2"
Log(2)
Else If folioActual = "RECARGA" Then
tablaInv = "CAT_GUNAPROD"
Log(3)
Else If folioActual = "PREVENTA_CREDITO" Then
tablaInv = "CAT_GUNAPROD4"
Log(4)
End If
If cedis <> Subs.traeAlmacen Then
j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE, PE_FOLIO FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ? and PE_CEDIS = ?) AND PE_FOLIO = ?",Array As String(nom,cedis,folioActual))
Log(j3.RowCount)
If j3.RowCount > 0 Then
Log("Soy promo")
For j = 0 To j3.RowCount -1
Log("aqui tronare?")
j3.Position = j
Log(j3.GetString("PE_CANT"))
Log($"update ${tablaInv} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + '${j3.GetString("PE_CANT")}' where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$)
If vamoaver.Get(Position) = "PREVENTA_CREDITO" Then
Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${j3.GetString("PE_CANT")} where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$)
B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis= '${cedis}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${j3.GetString("PE_FOLIO")}' AND PE_PROID = '${j3.GetString("PE_PROID")}'"$)', Array As Object(cedis, c.GetString("PE_FOLIO")))
Else
Starter.skmt.ExecNonQuery($"update ${tablaInv} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${j3.GetString("PE_CANT")} where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$)
B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis= '${cedis}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${j3.GetString("PE_FOLIO")}' AND PE_PROID = '${j3.GetString("PE_PROID")}'"$)', Array As Object(cedis, c.GetString("PE_FOLIO")))
End If
Next
End If
j3.Close
B4XPage_Appear
Else
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE ${tablaInv} SET CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${cantRegresar} WHERE CAT_GP_ID = '${idProd}'"$)
' ' 2. REGISTRAR MOVIMIENTO PARA SINCRONIZACIÓN
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN, PROID, CANTIDAD) VALUES(?,?,?)", _
' Array As Object(cedis, idProd, cantRegresar * -1))
' 3. BORRADO QUIRÚRGICO (Usamos todos los criterios para no afectar otras presentaciones)
Dim qDelete As String = "DELETE FROM PEDIDO WHERE PE_PROID = ? AND PE_PRESENTACION = ? " & _
"AND PE_UVM = ? AND PE_CEDIS = ? " & _
"AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = ?"
B4XPages.MainPage.skmt.ExecNonQuery2(qDelete, Array As Object(idProd, presName, uvmVal, cedis,folioActual))
LogColor("Borrado exitoso de Nota: " & nom & " (" & presName & ")", Colors.Blue)
' 4. REFRESCAR PANTALLA
B4XPage_Appear
End If
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=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
c=B4XPages.MainPage.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")) 'ignore
If result = DialogResponse.POSITIVE Then
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT * .95, PE_DESC = 5 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
c=B4XPages.MainPage.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
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
B4XPages.MainPage.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"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
c.Close
B4XPage_Appear
End If
ELSE IF DESCUENTO = "MAS" Then
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
c=B4XPages.MainPage.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")) 'ignore
If result = DialogResponse.POSITIVE Then
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT / .95, PE_DESC = 0 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
c=B4XPages.MainPage.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
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
B4XPages.MainPage.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"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
c.Close
B4XPage_Appear
End If
End If
End Sub
Private Sub p_nota_Click
End Sub