|
|
|
|
@@ -402,6 +402,7 @@ Sub Class_Globals
|
|
|
|
|
Private l_titEncuesta As Label
|
|
|
|
|
Private ImageView11 As ImageView
|
|
|
|
|
Dim distance As Long
|
|
|
|
|
Dim distancealm As Long
|
|
|
|
|
Private p_pideGeoPass As Panel
|
|
|
|
|
Private b_geopass As Button
|
|
|
|
|
Private et_geopass As EditText
|
|
|
|
|
@@ -535,6 +536,16 @@ End Sub
|
|
|
|
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
|
|
|
|
|
|
|
|
|
Sub B4XPage_Appear
|
|
|
|
|
Tels.Visible = False
|
|
|
|
|
gest.Visible = False
|
|
|
|
|
' Tels.Enabled = True
|
|
|
|
|
' gest.Enabled = True
|
|
|
|
|
|
|
|
|
|
MejorarPrecisionGPS
|
|
|
|
|
'
|
|
|
|
|
' ' Al aparecer la página del cliente
|
|
|
|
|
' InicializarLocalizacionMejorada
|
|
|
|
|
|
|
|
|
|
TraeCantProd
|
|
|
|
|
ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png")
|
|
|
|
|
btnPlanLealtad.Visible = False
|
|
|
|
|
@@ -713,6 +724,7 @@ Sub B4XPage_Appear
|
|
|
|
|
End If
|
|
|
|
|
CallSubDelayed(Tracker, "Track")
|
|
|
|
|
CallSubDelayed(Tracker, "StartFLPSmall")
|
|
|
|
|
CallSubDelayed(Tracker, "StartFLP2")
|
|
|
|
|
If Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
|
|
|
|
|
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
|
|
|
|
|
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
|
|
|
|
|
@@ -1206,10 +1218,36 @@ Sub B4XPage_Appear
|
|
|
|
|
l_credito.Visible = False
|
|
|
|
|
l_limite.Visible = False
|
|
|
|
|
End If
|
|
|
|
|
' End If
|
|
|
|
|
' End
|
|
|
|
|
|
|
|
|
|
Tels.Visible = False
|
|
|
|
|
gest.Visible = False
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Sub MejorarPrecisionGPS As ResumableSub
|
|
|
|
|
If g.IsInitialized Then
|
|
|
|
|
g.Stop
|
|
|
|
|
Sleep(500)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
g.Initialize("GPS")
|
|
|
|
|
g.Start(0, 0) ' Máxima frecuencia
|
|
|
|
|
|
|
|
|
|
' Esperar hasta 10 segundos por mejor precisión
|
|
|
|
|
For i = 1 To 10
|
|
|
|
|
Sleep(1000)
|
|
|
|
|
If Tracker.FLP.GetLastKnownLocation.IsInitialized Then
|
|
|
|
|
Dim loc As Location = Tracker.FLP.GetLastKnownLocation
|
|
|
|
|
If loc.Accuracy < 25 Then ' Buena precisión
|
|
|
|
|
Return True
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
|
|
|
|
|
Return False ' No se logró buena precisión
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sub TraeCantProd As Boolean
|
|
|
|
|
|
|
|
|
|
@@ -1221,17 +1259,24 @@ Sub TraeCantProd As Boolean
|
|
|
|
|
|
|
|
|
|
Dim rangosel As Cursor= B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM CAT_PROMOS_DESCUENTOS WHERE CAT_PD_PRODUCTO = ? AND CAT_PD_RANGO <= ? AND CAT_PD_RANGO2 >= ?",Array As String(c.GetString("PE_PROID"),c.GetInt("PE_CANT"),c.GetInt("PE_CANT")))
|
|
|
|
|
If rangosel.RowCount > 0 Then
|
|
|
|
|
|
|
|
|
|
rangosel.Position = 0
|
|
|
|
|
For hjh = 0 To rangosel.RowCount-1
|
|
|
|
|
|
|
|
|
|
rangosel.Position = hjh
|
|
|
|
|
|
|
|
|
|
If rangosel.GetString("CAT_PD_TIER").Contains(Subs.traeTipoCliente) Then
|
|
|
|
|
Log(c.GetString("PE_COSTOU"))
|
|
|
|
|
Log(rangosel.GetString("CAT_PD_DESCUENTO"))
|
|
|
|
|
Private recalculo As Float = c.GetString("PE_COSTOU") - NumberFormat2(((c.GetString("PE_COSTOU") * rangosel.GetString("CAT_PD_DESCUENTO"))/100),0,2,2,False)
|
|
|
|
|
LogColor(recalculo,Colors.Blue)
|
|
|
|
|
Private recalculototal As Float =c.GetString("PE_CANT") * recalculo
|
|
|
|
|
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ?, PE_RECCEDIS = ? WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(NumberFormat2(recalculo,0,2,2,False) ,NumberFormat2(recalculototal,0,2,2,False), rangosel.GetString("CAT_PD_COD_PROMO"),c.GetString("PE_PROID")))
|
|
|
|
|
End If
|
|
|
|
|
If rangosel.GetString("CAT_PD_TIER").Contains(Subs.traeTipoCliente) Then
|
|
|
|
|
Log(c.GetString("PE_COSTOU"))
|
|
|
|
|
Log(rangosel.GetString("CAT_PD_DESCUENTO"))
|
|
|
|
|
Private recalculo As Float = c.GetString("PE_COSTOU") - NumberFormat2(((c.GetString("PE_COSTOU") * rangosel.GetString("CAT_PD_DESCUENTO"))/100),0,2,2,False)
|
|
|
|
|
LogColor(recalculo,Colors.Blue)
|
|
|
|
|
Log(c.GetString("PE_COSTOU"))
|
|
|
|
|
Log(NumberFormat2(((c.GetString("PE_COSTOU") * rangosel.GetString("CAT_PD_DESCUENTO"))/100),0,2,2,False))
|
|
|
|
|
Log(rangosel.GetString("CAT_PD_DESCUENTO"))
|
|
|
|
|
Private recalculototal As Float =c.GetString("PE_CANT") * recalculo
|
|
|
|
|
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ?, PE_RECCEDIS = ? WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(NumberFormat2(recalculo,0,2,2,False) ,NumberFormat2(recalculototal,0,2,2,False), rangosel.GetString("CAT_PD_COD_PROMO"),c.GetString("PE_PROID")))
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Next
|
|
|
|
|
|
|
|
|
|
Else
|
|
|
|
|
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = NULL, PE_RECALCULOTOT = NULL, PE_RECCEDIS = NULL WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(c.GetString("PE_PROID")))
|
|
|
|
|
End If
|
|
|
|
|
@@ -1241,7 +1286,70 @@ Sub TraeCantProd As Boolean
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub LA_GPS_Click
|
|
|
|
|
' Cuando el usuario toca el label de GPS
|
|
|
|
|
MejorarPrecisionGPS
|
|
|
|
|
ToastMessageShow("Mejorando precisión GPS...", False)
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
' En lugar de 100m y 50m, usar valores más amplios temporalmente
|
|
|
|
|
Private Sub RevisarGeocerca
|
|
|
|
|
' Dim distanciaAlmacen As Int = distancealm ' Tu cálculo actual
|
|
|
|
|
' Dim distanciaCliente As Int = distance ' Tu cálculo al cliente
|
|
|
|
|
Log(distancealm)
|
|
|
|
|
Log(distance)
|
|
|
|
|
' Usar umbrales más amplios (ej: 150m y 80m)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If distancealm > 0 Or distance > 50 Then
|
|
|
|
|
|
|
|
|
|
If distancealm < 100 Or distance < 50 Then
|
|
|
|
|
HabilitarBotones(True)
|
|
|
|
|
Else
|
|
|
|
|
HabilitarBotones(True)
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Sub HabilitarBotones(dentroDeRango As Boolean)
|
|
|
|
|
If dentroDeRango Then
|
|
|
|
|
If Tels.IsInitialized Then
|
|
|
|
|
|
|
|
|
|
Tels.Visible = True
|
|
|
|
|
gest.Visible = True
|
|
|
|
|
Tels.Enabled = True
|
|
|
|
|
gest.Enabled = True
|
|
|
|
|
' ToastMessageShow("DENTRO de rango GPS - Botones habilitados", False)
|
|
|
|
|
End If
|
|
|
|
|
Else
|
|
|
|
|
If Tels.IsInitialized Then
|
|
|
|
|
|
|
|
|
|
Tels.Visible = False
|
|
|
|
|
gest.Visible = False
|
|
|
|
|
' ToastMessageShow("FUERA de rango GPS - Botones deshabilitados", False)
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Sub InicializarLocalizacionMejorada
|
|
|
|
|
' Usar tanto GPS como red para mejor precisión
|
|
|
|
|
Dim LocationManager As JavaObject
|
|
|
|
|
LocationManager.InitializeStatic("android.location.LocationManager")
|
|
|
|
|
|
|
|
|
|
' Solicitar ubicaciones de GPS y red
|
|
|
|
|
g.Start(0, 0) ' GPS
|
|
|
|
|
' También podrías usar la ubicación por red para casos interiores
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
'Sub GPS_LocationChanged (Location1 As Location)
|
|
|
|
|
'
|
|
|
|
|
'End Sub
|
|
|
|
|
'
|
|
|
|
|
Sub GPS_LocationChanged (Location1 As Location)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red)
|
|
|
|
|
If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then
|
|
|
|
|
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
|
|
|
|
|
@@ -1249,6 +1357,68 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|
|
|
|
' Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps)
|
|
|
|
|
End If
|
|
|
|
|
Log(m_lat &" " & m_lon)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
' Si la precisión es mala, intentar mejorarla
|
|
|
|
|
If Location1.Accuracy > 50 Then ' Mayor a 50 metros de error
|
|
|
|
|
MejorarPrecisionGPS
|
|
|
|
|
Return ' Esperar siguiente lectura
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
' Filtrar ubicaciones con baja precisión
|
|
|
|
|
If Location1.Accuracy > 50 Then ' Si la precisión es mayor a 50 metros, descartar
|
|
|
|
|
Return
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
' Usar promedio de varias lecturas
|
|
|
|
|
Dim ultimasUbicaciones As List
|
|
|
|
|
If ultimasUbicaciones.IsInitialized = False Then
|
|
|
|
|
ultimasUbicaciones.Initialize
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
ultimasUbicaciones.Add(Location1)
|
|
|
|
|
If ultimasUbicaciones.Size > 5 Then
|
|
|
|
|
ultimasUbicaciones.RemoveAt(0)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
' Calcular promedio
|
|
|
|
|
Dim latPromedio, lonPromedio As Double
|
|
|
|
|
For Each loc As Location In ultimasUbicaciones
|
|
|
|
|
latPromedio = latPromedio + loc.Latitude
|
|
|
|
|
lonPromedio = lonPromedio + loc.Longitude
|
|
|
|
|
Next
|
|
|
|
|
latPromedio = latPromedio / ultimasUbicaciones.Size
|
|
|
|
|
lonPromedio = lonPromedio / ultimasUbicaciones.Size
|
|
|
|
|
|
|
|
|
|
' Usar ubicación promediada
|
|
|
|
|
B4XPages.MainPage.lat_gps = latPromedio
|
|
|
|
|
B4XPages.MainPage.lon_gps = lonPromedio
|
|
|
|
|
|
|
|
|
|
If Tels.IsInitialized Then
|
|
|
|
|
c = skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LATITUD"))
|
|
|
|
|
If c.RowCount > 0 Then
|
|
|
|
|
c.Position = 0
|
|
|
|
|
Dim al_latitud As String = c.GetString("CAT_VA_VALOR")
|
|
|
|
|
End If
|
|
|
|
|
c.Close
|
|
|
|
|
c = skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LONGITUD"))
|
|
|
|
|
If c.RowCount > 0 Then
|
|
|
|
|
c.Position = 0
|
|
|
|
|
Dim al_longitud As String = c.GetString("CAT_VA_VALOR")
|
|
|
|
|
End If
|
|
|
|
|
c.Close
|
|
|
|
|
Dim ubi1, ubi2 As Location
|
|
|
|
|
ubi1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
|
|
|
|
|
ubi2.Initialize2(al_latitud, al_longitud)
|
|
|
|
|
|
|
|
|
|
distancealm = ubi1.DistanceTo(ubi2)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If m_lat.Length > 0 And B4XPages.MainPage.lat_gps <> "0" Then
|
|
|
|
|
Dim l1, l2 As Location
|
|
|
|
|
l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
|
|
|
|
|
@@ -1289,7 +1459,7 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
If geo = "1" Then
|
|
|
|
|
If distance < 10000000000000000000000000000000000000000000000000000000000 Then
|
|
|
|
|
If distance < 100 Then
|
|
|
|
|
LA_GEO.TextColor = Colors.Blue
|
|
|
|
|
Tels.Visible = True
|
|
|
|
|
gest.Visible = True
|
|
|
|
|
@@ -1297,25 +1467,11 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|
|
|
|
precision = "1"
|
|
|
|
|
' b_geo = "0"
|
|
|
|
|
bitacora.banderaGeoCerca = "0"
|
|
|
|
|
ToastMessageShow("DENTRO de rango GPS", False)
|
|
|
|
|
' ToastMessageShow("DENTRO de rango GPS", False)
|
|
|
|
|
Else If habi = "1" Then
|
|
|
|
|
c = skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LATITUD"))
|
|
|
|
|
If c.RowCount > 0 Then
|
|
|
|
|
c.Position = 0
|
|
|
|
|
Dim al_latitud As String = c.GetString("CAT_VA_VALOR")
|
|
|
|
|
End If
|
|
|
|
|
c.Close
|
|
|
|
|
c = skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LONGITUD"))
|
|
|
|
|
If c.RowCount > 0 Then
|
|
|
|
|
c.Position = 0
|
|
|
|
|
Dim al_longitud As String = c.GetString("CAT_VA_VALOR")
|
|
|
|
|
End If
|
|
|
|
|
c.Close
|
|
|
|
|
Dim ubi1, ubi2 As Location
|
|
|
|
|
ubi1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
|
|
|
|
|
ubi2.Initialize2(al_latitud, al_longitud)
|
|
|
|
|
Dim distancealm As Long
|
|
|
|
|
distancealm = ubi1.DistanceTo(ubi2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If distancealm < 50 Then
|
|
|
|
|
precision = "0"
|
|
|
|
|
LA_GEO.TextColor = Colors.Blue
|
|
|
|
|
@@ -1324,7 +1480,7 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|
|
|
|
' b_geo = "1"
|
|
|
|
|
bitacora.banderaGeoCerca = "1"
|
|
|
|
|
iniciofin
|
|
|
|
|
ToastMessageShow("DENTRO de rango GPS", False)
|
|
|
|
|
' ToastMessageShow("DENTRO de rango GPS", False)
|
|
|
|
|
Else If distancealm > 50 Then
|
|
|
|
|
Tels.Visible = False
|
|
|
|
|
gest.Visible = False
|
|
|
|
|
@@ -1434,7 +1590,39 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
' Mostrar la precisión actual
|
|
|
|
|
If LA_GPS.IsInitialized Then
|
|
|
|
|
LA_GPS.Text = $"UBICACIÓN - Precisión: ${NumberFormat2(Location1.Accuracy, 0, 1, 1, False)}m"$
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
' Solo usar ubicaciones con buena precisión
|
|
|
|
|
If Location1.Accuracy < 30 Then ' Menos de 30 metros de error
|
|
|
|
|
' Tu lógica actual aquí
|
|
|
|
|
B4XPages.MainPage.lat_gps = Location1.Latitude
|
|
|
|
|
B4XPages.MainPage.lon_gps = Location1.Longitude
|
|
|
|
|
RevisarGeocerca
|
|
|
|
|
Else
|
|
|
|
|
If LA_GPS.IsInitialized Then
|
|
|
|
|
' LA_GPS.Text = $"UBICACIÓN - Precisión: ${NumberFormat2(Location1.Accuracy, 0, 1, 1, False)}m"$
|
|
|
|
|
LA_GPS.Text = $"BAJA PRECISIÓN (${NumberFormat2(Location1.Accuracy, 0, 1, 1, False)}m)"$
|
|
|
|
|
|
|
|
|
|
LA_GPS.TextColor = Colors.Red
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If cuenta.StartsWith("N") Then
|
|
|
|
|
precision = "0"
|
|
|
|
|
LA_GEO.TextColor = Colors.Blue
|
|
|
|
|
Tels.Visible = True
|
|
|
|
|
gest.Visible = True
|
|
|
|
|
' b_geo = "1"
|
|
|
|
|
bitacora.banderaGeoCerca = "1"
|
|
|
|
|
iniciofin
|
|
|
|
|
' ToastMessageShow("DENTRO de rango GPS", False)
|
|
|
|
|
End If
|
|
|
|
|
' 19.4846431, -99.1458691 -> Keymon
|
|
|
|
|
|
|
|
|
|
If LA_GEO.IsInitialized Then LA_GEO.Text= $"$1.2{distance/1000} kms"$
|
|
|
|
|
@@ -1643,6 +1831,10 @@ End Sub
|
|
|
|
|
|
|
|
|
|
Sub gest_Click
|
|
|
|
|
|
|
|
|
|
' Mejorar precisión antes de procesar la venta
|
|
|
|
|
MejorarPrecisionGPS
|
|
|
|
|
Sleep(1000) ' Esperar un poco para que el GPS se estabilice
|
|
|
|
|
|
|
|
|
|
Dim pagarepen As Cursor = B4XPages.MainPage.skmt.ExecQuery("select FECHA, SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
|
|
|
|
|
If pagarepen.RowCount > 0 Then
|
|
|
|
|
pagarepen.Position = 0
|
|
|
|
|
@@ -1698,15 +1890,15 @@ Sub gestionar
|
|
|
|
|
compra
|
|
|
|
|
Catch
|
|
|
|
|
Starter.encuesta = 0
|
|
|
|
|
Dim cmd As DBCommand
|
|
|
|
|
skmt.ExecNonQuery2("UPDATE kmt_info3 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(2))
|
|
|
|
|
ToastMessageShow("La aplicación Tienda 360 no está instalada o no puede manejar la URL.", True)
|
|
|
|
|
' Dim cmd As DBCommand
|
|
|
|
|
' skmt.ExecNonQuery2("UPDATE kmt_info3 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(2))
|
|
|
|
|
' ToastMessageShow("La aplicación Tienda 360 no está instalada o no puede manejar la URL.", True)
|
|
|
|
|
compra
|
|
|
|
|
End Try
|
|
|
|
|
cmd.Initialize
|
|
|
|
|
cmd.Name = "SELECT_TMP_DROP_ENCUESTA_GUNA"
|
|
|
|
|
cmd.Parameters = Array As Object(usuario, B4XPages.MainPage.principal.e_ruta.text, ALMACEN, "ENCUESTA")
|
|
|
|
|
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "CHECAENCUESTA")
|
|
|
|
|
' cmd.Initialize
|
|
|
|
|
' cmd.Name = "SELECT_TMP_DROP_ENCUESTA_GUNA"
|
|
|
|
|
' cmd.Parameters = Array As Object(usuario, B4XPages.MainPage.principal.e_ruta.text, ALMACEN, "ENCUESTA")
|
|
|
|
|
' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "CHECAENCUESTA")
|
|
|
|
|
Else
|
|
|
|
|
compra
|
|
|
|
|
End If
|
|
|
|
|
@@ -1729,15 +1921,15 @@ Sub gestionar
|
|
|
|
|
compra
|
|
|
|
|
Catch
|
|
|
|
|
Starter.encuesta = 0
|
|
|
|
|
Dim cmd As DBCommand
|
|
|
|
|
skmt.ExecNonQuery2("UPDATE kmt_info3 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(2))
|
|
|
|
|
ToastMessageShow("La aplicación Tienda 360 no está instalada o no puede manejar la URL.", True)
|
|
|
|
|
' Dim cmd As DBCommand
|
|
|
|
|
' skmt.ExecNonQuery2("UPDATE kmt_info3 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(2))
|
|
|
|
|
' ToastMessageShow("La aplicación Tienda 360 no está instalada o no puede manejar la URL.", True)
|
|
|
|
|
compra
|
|
|
|
|
End Try
|
|
|
|
|
cmd.Initialize
|
|
|
|
|
cmd.Name = "SELECT_TMP_DROP_ENCUESTA_GUNA"
|
|
|
|
|
cmd.Parameters = Array As Object(usuario, B4XPages.MainPage.principal.e_ruta.text, ALMACEN, "ENCUESTA")
|
|
|
|
|
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "CHECAENCUESTA")
|
|
|
|
|
' cmd.Initialize
|
|
|
|
|
' cmd.Name = "SELECT_TMP_DROP_ENCUESTA_GUNA"
|
|
|
|
|
' cmd.Parameters = Array As Object(usuario, B4XPages.MainPage.principal.e_ruta.text, ALMACEN, "ENCUESTA")
|
|
|
|
|
' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "CHECAENCUESTA")
|
|
|
|
|
Else
|
|
|
|
|
compra
|
|
|
|
|
End If
|
|
|
|
|
@@ -2682,7 +2874,7 @@ Sub B_IMP_Click
|
|
|
|
|
Else
|
|
|
|
|
Impresion
|
|
|
|
|
End If
|
|
|
|
|
Else If ALMACEN = 88 OR ALMACEN = 92 Then
|
|
|
|
|
Else If ALMACEN = 88 Or ALMACEN = 92 Then
|
|
|
|
|
|
|
|
|
|
Impresion3
|
|
|
|
|
Else
|
|
|
|
|
@@ -2697,7 +2889,8 @@ Sub Impresion3
|
|
|
|
|
c=skmt.ExecQuery("select USUARIO from usuarioa")
|
|
|
|
|
c.Position=0
|
|
|
|
|
usuario = c.GetString("USUARIO")
|
|
|
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
|
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
|
|
|
DateTime.DateFormat = "dd/MM/yyyy"
|
|
|
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
|
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
|
|
|
c.Close
|
|
|
|
|
@@ -2850,20 +3043,25 @@ Sub Impresion3
|
|
|
|
|
' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")))
|
|
|
|
|
' End If
|
|
|
|
|
Printer1.WriteString("Subtotal Preventa: $" & s.GetString("TOTAL") & CRLF)
|
|
|
|
|
s.Close
|
|
|
|
|
|
|
|
|
|
c= skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )")
|
|
|
|
|
C.Position=0
|
|
|
|
|
Printer1.WriteString("Total Articulos: " & c.GetString("PC_NOART") & CRLF)
|
|
|
|
|
c.Close
|
|
|
|
|
s=skmt.ExecQuery("select IFNULL(SUM(PE_COSTO_TOT),0) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and IFNULL(PE_RECALCULO,0) = 0")
|
|
|
|
|
s.Position =0
|
|
|
|
|
Dim s3 As Cursor =skmt.ExecQuery("select IFNULL(SUM(PE_COSTO_TOT),0) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and IFNULL(PE_RECALCULO,0) = 0")
|
|
|
|
|
s3.Position =0
|
|
|
|
|
S2=skmt.ExecQuery("select IFNULL(SUM(PE_RECALCULOTOT),0) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and IFNULL(PE_RECALCULO,0) <> 0")
|
|
|
|
|
S2.Position =0
|
|
|
|
|
|
|
|
|
|
If NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False) <> s.GetString("TOTAL") Then
|
|
|
|
|
|
|
|
|
|
Printer1.WriteString("Descuento: $" & NumberFormat2( s.GetString("TOTAL")-(s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF)
|
|
|
|
|
End If
|
|
|
|
|
' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
|
|
|
|
|
' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")))
|
|
|
|
|
' End If
|
|
|
|
|
' Printer1.WriteString("Descuento: $" & 150 & CRLF)
|
|
|
|
|
Printer1.WriteString("Total Preventa: $" & NumberFormat2((s.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF)
|
|
|
|
|
Printer1.WriteString("Total Preventa: $" & NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF)
|
|
|
|
|
|
|
|
|
|
Printer1.WriteString(" " & CRLF)
|
|
|
|
|
Printer1.WriteString("------------------------------" & CRLF)
|
|
|
|
|
@@ -2887,7 +3085,8 @@ Sub Impresion2
|
|
|
|
|
c=skmt.ExecQuery("select USUARIO from usuarioa")
|
|
|
|
|
c.Position=0
|
|
|
|
|
usuario = c.GetString("USUARIO")
|
|
|
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
|
|
|
DateTime.DateFormat = "dd/MM/yyyy"
|
|
|
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
|
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
|
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
|
|
|
c.Close
|
|
|
|
|
@@ -3057,7 +3256,8 @@ Sub Impresion
|
|
|
|
|
c=skmt.ExecQuery("select USUARIO from usuarioa")
|
|
|
|
|
c.Position=0
|
|
|
|
|
usuario = c.GetString("USUARIO")
|
|
|
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
|
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
|
|
|
DateTime.DateFormat = "dd/MM/yyyy"
|
|
|
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
|
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
|
|
|
c.Close
|
|
|
|
|
@@ -5542,7 +5742,8 @@ End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub PDFGENERAR
|
|
|
|
|
ESPACIO = 0
|
|
|
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
|
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
|
|
|
DateTime.DateFormat = "dd/MM/yyyy"
|
|
|
|
|
DateTime.TimeFormat = "HH:mm:ss"
|
|
|
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
|
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
|
|
|
@@ -5555,10 +5756,12 @@ Private Sub PDFGENERAR
|
|
|
|
|
sProperty(PDF.PropertyKeywords,"B4X,PDF,Cross platform")
|
|
|
|
|
'add a page
|
|
|
|
|
|
|
|
|
|
Dim s56 As Cursor=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
|
|
|
|
Dim s57 As Cursor = skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
|
|
|
|
|
|
|
|
|
Dim pagina As Double = ((18 + (s56.RowCount*2) + (s57.RowCount*2)) * (6)) + 12
|
|
|
|
|
' s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU,IFNULL(PE_RECALCULO,0) AS PE_RECALCULO, length(PE_COSTOU) as L_COSTOU, length(Ifnull(PE_RECALCULO,0)) as L_COSTOREC,PE_CANT * PE_COSTOU AS PE_COSTO_TOT,PE_CANT * IFNULL(PE_RECALCULO,0) AS PE_COSTO_TOTREC, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,length(PE_CANT * IFNULL(PE_RECALCULO,0)) as L_COSTO_TOTREC,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String(Subs.traeAlmacen))
|
|
|
|
|
Dim s56 As Cursor=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU,IFNULL(PE_RECALCULO,0) AS PE_RECALCULO, length(PE_COSTOU) as L_COSTOU, length(Ifnull(PE_RECALCULO,0)) as L_COSTOREC,PE_CANT * PE_COSTOU AS PE_COSTO_TOT,PE_CANT * IFNULL(PE_RECALCULO,0) AS PE_COSTO_TOTREC, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,length(PE_CANT * IFNULL(PE_RECALCULO,0)) as L_COSTO_TOTREC,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
|
|
|
|
Dim s57 As Cursor = skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU,IFNULL(PE_RECALCULO,0) AS PE_RECALCULO, length(PE_COSTOU) as L_COSTOU, length(Ifnull(PE_RECALCULO,0)) as L_COSTOREC,PE_CANT * PE_COSTOU AS PE_COSTO_TOT,PE_CANT * IFNULL(PE_RECALCULO,0) AS PE_COSTO_TOTREC, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,length(PE_CANT * IFNULL(PE_RECALCULO,0)) as L_COSTO_TOTREC,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
|
|
|
|
|
|
|
|
|
Dim pagina As Double = ((18 + (s56.RowCount*2) + (s57.RowCount*2)) * (6)) + 25
|
|
|
|
|
' Dim pagina As Double = ((18 + s56.RowCount + s57.RowCount +2) * (6)) + 18
|
|
|
|
|
Dim multiplicador As Int = 0
|
|
|
|
|
PDF.pageAdd(-300,pagina)
|
|
|
|
|
@@ -5587,79 +5790,156 @@ Private Sub PDFGENERAR
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6," ")
|
|
|
|
|
c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA"))
|
|
|
|
|
If c.RowCount > 0 Then
|
|
|
|
|
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
|
|
|
|
If S.RowCount>0 Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"------------------------------------PREVENTA-----------------------------------------")
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe")
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
|
|
|
|
|
For i=0 To S.RowCount -1
|
|
|
|
|
S.Position=i
|
|
|
|
|
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
|
|
|
|
|
Else
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If ALMACEN = 88 Then
|
|
|
|
|
|
|
|
|
|
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU,IFNULL(PE_RECALCULO,0) AS PE_RECALCULO, length(PE_COSTOU) as L_COSTOU, length(Ifnull(PE_RECALCULO,0)) as L_COSTOREC,PE_CANT * PE_COSTOU AS PE_COSTO_TOT,PE_CANT * IFNULL(PE_RECALCULO,0) AS PE_COSTO_TOTREC, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,length(PE_CANT * IFNULL(PE_RECALCULO,0)) as L_COSTO_TOTREC,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
|
|
|
|
If S.RowCount>0 Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"------------------------------------PREVENTA-----------------------------------------")
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe")
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
|
|
|
|
|
For i=0 To S.RowCount -1
|
|
|
|
|
S.Position=i
|
|
|
|
|
|
|
|
|
|
If s.GetDouble("PE_RECALCULO") = 0 Then
|
|
|
|
|
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
|
|
|
|
|
Else
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE"))
|
|
|
|
|
' LogColor(s.GetLong("L_CANT"),Colors.Magenta)
|
|
|
|
|
' LogColor(s.GetLong("L_COSTOU"),Colors.Magenta)
|
|
|
|
|
' LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta)
|
|
|
|
|
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT")
|
|
|
|
|
ESPACIO = 92
|
|
|
|
|
BLANCO = " "
|
|
|
|
|
ESPACIO = ESPACIO - TAMANO
|
|
|
|
|
ESPACIO = ESPACIO / 2
|
|
|
|
|
For E=0 To ESPACIO -1
|
|
|
|
|
BLANCO = " " & BLANCO
|
|
|
|
|
Next
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT"))
|
|
|
|
|
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT")
|
|
|
|
|
ESPACIO = 92
|
|
|
|
|
BLANCO = " "
|
|
|
|
|
ESPACIO = ESPACIO - TAMANO
|
|
|
|
|
ESPACIO = ESPACIO / 2
|
|
|
|
|
For E=0 To ESPACIO -1
|
|
|
|
|
BLANCO = " " & BLANCO
|
|
|
|
|
Next
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT"))
|
|
|
|
|
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTOU"))
|
|
|
|
|
|
|
|
|
|
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") )
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
PDF.outtext(1,108-9*6," " )
|
|
|
|
|
End If
|
|
|
|
|
s.Close
|
|
|
|
|
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
|
|
|
|
If S.RowCount>0 Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"--------------------------PROMOS PREVENTA-------------------------------------")
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe")
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
|
|
|
|
|
For i=0 To S.RowCount -1
|
|
|
|
|
S.Position=i
|
|
|
|
|
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
|
|
|
|
|
Else
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE"))
|
|
|
|
|
LogColor(s.GetLong("L_CANT"),Colors.Magenta)
|
|
|
|
|
LogColor(s.GetLong("L_COSTOU"),Colors.Magenta)
|
|
|
|
|
LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta)
|
|
|
|
|
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT")
|
|
|
|
|
ESPACIO = 92
|
|
|
|
|
BLANCO = " "
|
|
|
|
|
ESPACIO = ESPACIO - TAMANO
|
|
|
|
|
ESPACIO = ESPACIO / 2
|
|
|
|
|
For E=0 To ESPACIO -1
|
|
|
|
|
BLANCO = " " & BLANCO
|
|
|
|
|
Next
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT"))
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
End If
|
|
|
|
|
Else
|
|
|
|
|
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
|
|
|
|
|
Else
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE"))
|
|
|
|
|
' LogColor(s.GetLong("L_CANT"),Colors.Magenta)
|
|
|
|
|
' LogColor(s.GetLong("L_COSTOU"),Colors.Magenta)
|
|
|
|
|
' LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta)
|
|
|
|
|
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOREC") + s.GetLong("L_COSTO_TOTREC")
|
|
|
|
|
ESPACIO = 92
|
|
|
|
|
BLANCO = " "
|
|
|
|
|
ESPACIO = ESPACIO - TAMANO
|
|
|
|
|
ESPACIO = ESPACIO / 2
|
|
|
|
|
For E=0 To ESPACIO -1
|
|
|
|
|
BLANCO = " " & BLANCO
|
|
|
|
|
Next
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_RECALCULO") & BLANCO & s.GETSTRING("PE_COSTO_TOTREC"))
|
|
|
|
|
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTOU"))
|
|
|
|
|
|
|
|
|
|
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") )
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Next
|
|
|
|
|
PDF.outtext(1,108-9*6," " )
|
|
|
|
|
End If
|
|
|
|
|
s.Close
|
|
|
|
|
Else
|
|
|
|
|
|
|
|
|
|
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
|
|
|
|
If S.RowCount>0 Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"------------------------------------PREVENTA-----------------------------------------")
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe")
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
|
|
|
|
|
For i=0 To S.RowCount -1
|
|
|
|
|
S.Position=i
|
|
|
|
|
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
|
|
|
|
|
Else
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE"))
|
|
|
|
|
' LogColor(s.GetLong("L_CANT"),Colors.Magenta)
|
|
|
|
|
' LogColor(s.GetLong("L_COSTOU"),Colors.Magenta)
|
|
|
|
|
' LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta)
|
|
|
|
|
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT")
|
|
|
|
|
ESPACIO = 92
|
|
|
|
|
BLANCO = " "
|
|
|
|
|
ESPACIO = ESPACIO - TAMANO
|
|
|
|
|
ESPACIO = ESPACIO / 2
|
|
|
|
|
For E=0 To ESPACIO -1
|
|
|
|
|
BLANCO = " " & BLANCO
|
|
|
|
|
Next
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT"))
|
|
|
|
|
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTOU"))
|
|
|
|
|
|
|
|
|
|
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") )
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
PDF.outtext(1,108-9*6," " )
|
|
|
|
|
End If
|
|
|
|
|
s.Close
|
|
|
|
|
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
|
|
|
|
If S.RowCount>0 Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"--------------------------PROMOS PREVENTA-------------------------------------")
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe")
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
|
|
|
|
|
For i=0 To S.RowCount -1
|
|
|
|
|
S.Position=i
|
|
|
|
|
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
|
|
|
|
|
Else
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE"))
|
|
|
|
|
LogColor(s.GetLong("L_CANT"),Colors.Magenta)
|
|
|
|
|
LogColor(s.GetLong("L_COSTOU"),Colors.Magenta)
|
|
|
|
|
LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta)
|
|
|
|
|
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT")
|
|
|
|
|
ESPACIO = 92
|
|
|
|
|
BLANCO = " "
|
|
|
|
|
ESPACIO = ESPACIO - TAMANO
|
|
|
|
|
ESPACIO = ESPACIO / 2
|
|
|
|
|
For E=0 To ESPACIO -1
|
|
|
|
|
BLANCO = " " & BLANCO
|
|
|
|
|
Next
|
|
|
|
|
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT"))
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
s.Close
|
|
|
|
|
' multiplicador = multiplicador +1
|
|
|
|
|
' pdf.outtext(1,pagina-multiplicador*6," " )
|
|
|
|
|
@@ -5667,16 +5947,41 @@ Private Sub PDFGENERAR
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
|
|
|
|
|
s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("PREVENTA"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
|
|
|
|
s.Position =0
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"Total preventa: $" & s.GetString("TOTAL") )
|
|
|
|
|
s.Close
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"Subtotal preventa: $" & s.GetString("TOTAL") )
|
|
|
|
|
' s.Close
|
|
|
|
|
c= skmt.ExecQuery2("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_FOLIO = ?", Array As String("PREVENTA"))
|
|
|
|
|
C.Position=0
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"Total articulos preventa: " & c.GetString("PC_NOART") )
|
|
|
|
|
c.Close
|
|
|
|
|
' c.Close
|
|
|
|
|
|
|
|
|
|
Dim s3 As Cursor =skmt.ExecQuery("select IFNULL(SUM(PE_COSTO_TOT),0) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and IFNULL(PE_RECALCULO,0) = 0")
|
|
|
|
|
s3.Position =0
|
|
|
|
|
S2=skmt.ExecQuery("select IFNULL(SUM(PE_RECALCULOTOT),0) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and IFNULL(PE_RECALCULO,0) <> 0")
|
|
|
|
|
S2.Position =0
|
|
|
|
|
|
|
|
|
|
If NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False) <> s.GetString("TOTAL") Then
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"Descuento: $" & NumberFormat2( s.GetString("TOTAL")-(s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False) )
|
|
|
|
|
' Printer1.WriteString("Descuento: $" & NumberFormat2( s.GetString("TOTAL")-(s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF)
|
|
|
|
|
End If
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6,"Total Preventa: $" & NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False) )
|
|
|
|
|
' Printer1.WriteString("Total Preventa: $" & NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
' multiplicador = multiplicador +1
|
|
|
|
|
' pdf.outtext(1,pagina-multiplicador*6," " )
|
|
|
|
|
@@ -5694,10 +5999,14 @@ Private Sub PDFGENERAR
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
|
|
|
|
' multiplicador = multiplicador +1
|
|
|
|
|
' PDF.outtext(1,pagina-multiplicador*6," " )
|
|
|
|
|
' multiplicador = multiplicador +1
|
|
|
|
|
' PDF.outtext(1,pagina-multiplicador*6," " )
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
|
|
|
|
multiplicador = multiplicador +1
|
|
|
|
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
|
|
|
|
' multiplicador = multiplicador +1
|
|
|
|
|
' PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------" )
|
|
|
|
|
' 'all combinations of font normal, bold,italic,underline and strikethrough
|
|
|
|
|
@@ -5981,7 +6290,7 @@ Sub EnviarPDFWhatsAppNumero(NumeroTelefono As String)
|
|
|
|
|
fd.Dir = Starter.fFileProvider.SharedFolder
|
|
|
|
|
fd.FileName = archivoTicketPDF
|
|
|
|
|
fd.ContentType = "application/pdf"
|
|
|
|
|
Private link As String = "http://keymon.lat:9000/v1/ticketpdf"
|
|
|
|
|
Private link As String = "http://keymon.net:9000/v1/ticketpdf"
|
|
|
|
|
Private campos As Map = CreateMap( "message":"Tu compra de Guna va ser a *crédito* por el monto de $${NumberFormat2(monto, 1, 2, 2, True)}\n\nManda *1* para confirmar\nManda *0* para rechazar\n\n*Nota:* Si este mensaje no se contesta, se considerará que el pago es en *EFECTIVO*.\n\n(Solo el *número* por favor)")
|
|
|
|
|
campos.Put("number", NumeroTelefono)
|
|
|
|
|
campos.Put("message","Tu recibo")
|
|
|
|
|
@@ -6084,6 +6393,9 @@ Private Sub b_envioPDF_Click
|
|
|
|
|
Else
|
|
|
|
|
PDFGENERAR
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sleep(3000)
|
|
|
|
|
EnviarPDFWhatsAppNumero(et_numeroPDF.Text)
|
|
|
|
|
|
|
|
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from TICKET_IMPRESO where idCliente In (select cuenta from cuentaa)")
|
|
|
|
|
@@ -6158,7 +6470,7 @@ Sub mandaWAMsgCredito(numTel As String, monto As String)
|
|
|
|
|
Private ALMACEN As String = Subs.traeAlmacen '"1"
|
|
|
|
|
|
|
|
|
|
' CON POST
|
|
|
|
|
Private link As String = "http://keymon.lat:9000/v1/messages"
|
|
|
|
|
Private link As String = "http://keymon.net:9000/v1/messages"
|
|
|
|
|
Private elJSON As String = $"{
|
|
|
|
|
"number":"${numTel}",
|
|
|
|
|
"message":"Tu compra de Guna va ser a *crédito* por el monto de $${NumberFormat2(monto, 1, 2, 2, True)}\n\nManda *1* para confirmar\nManda *0* para rechazar\n\n*Nota:* Si este mensaje no se contesta, se considerará que el pago es en *EFECTIVO*.\n\n(Solo el *número* por favor)",
|
|
|
|
|
|