mirror of
https://github.com/KeymonSoft/Intmex_Multiventa.git
synced 2026-04-18 05:09:15 +00:00
Compare commits
2 Commits
6.02.20_GP
...
6.03.03
| Author | SHA1 | Date | |
|---|---|---|---|
| fbb76fed9b | |||
| 5426e434ca |
@@ -25,8 +25,6 @@ Version=9.85
|
|||||||
'Ctrl + clic para Git: ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=-ExecutionPolicy&Args=Bypass&Args=-File&Args=..\_git_tag.ps1&Args=%22%PROJECT%%22&Args=%22%PROJECT_NAME%%22
|
'Ctrl + clic para Git: ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=-ExecutionPolicy&Args=Bypass&Args=-File&Args=..\_git_tag.ps1&Args=%22%PROJECT%%22&Args=%22%PROJECT_NAME%%22
|
||||||
'###########################################################################################################
|
'###########################################################################################################
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\
|
|
||||||
|
|
||||||
Sub Class_Globals
|
Sub Class_Globals
|
||||||
Private Root As B4XView
|
Private Root As B4XView
|
||||||
@@ -203,6 +201,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
Subs.agregaColumna("CAT_GUNAPROD", "CAT_GP_PRECIO10", "TEXT DEFAULT '0'")
|
Subs.agregaColumna("CAT_GUNAPROD", "CAT_GP_PRECIO10", "TEXT DEFAULT '0'")
|
||||||
Subs.agregaColumna("PEDIDO_CLIENTE", "PC_GUARDADO", "TEXT DEFAULT '0'")
|
Subs.agregaColumna("PEDIDO_CLIENTE", "PC_GUARDADO", "TEXT DEFAULT '0'")
|
||||||
Subs.agregaColumna("CAT_GUNAPROD2", "CAT_GP_VARREQ3", "TEXT DEFAULT '0'")
|
Subs.agregaColumna("CAT_GUNAPROD2", "CAT_GP_VARREQ3", "TEXT DEFAULT '0'")
|
||||||
|
Subs.agregaColumna("HIST_VENTAS", "HVD_USUARIO", "TEXT")
|
||||||
|
|
||||||
Subs.agregaColumna("CAT_GUNAPROD2", "MARCA", "TEXT")
|
Subs.agregaColumna("CAT_GUNAPROD2", "MARCA", "TEXT")
|
||||||
Subs.agregaColumna("CAT_GUNAPROD", "MARCA", "TEXT")
|
Subs.agregaColumna("CAT_GUNAPROD", "MARCA", "TEXT")
|
||||||
|
|||||||
@@ -337,9 +337,7 @@ Sub B4XPage_Appear
|
|||||||
End If
|
End If
|
||||||
c.Close
|
c.Close
|
||||||
If ALMACEN = "1" Then
|
If ALMACEN = "1" Then
|
||||||
Tels.Visible = False
|
ocultamosBotonesPorGeocerca
|
||||||
gest.Visible = False
|
|
||||||
' B_GPS.Visible = False
|
|
||||||
End If
|
End If
|
||||||
If ALMACEN = "4" Then
|
If ALMACEN = "4" Then
|
||||||
' b_like.Visible = True
|
' b_like.Visible = True
|
||||||
@@ -361,12 +359,22 @@ Sub B4XPage_Appear
|
|||||||
Else
|
Else
|
||||||
' b_like.Visible = False
|
' b_like.Visible = False
|
||||||
End If
|
End If
|
||||||
If ALMACEN = "16" Or ALMACEN = "13" Then
|
If Not(Subs.geocercaActiva) And ALMACEN = "16" Or ALMACEN = "13" Then
|
||||||
|
Log("Mostramos botones venta")
|
||||||
Tels.Visible = True
|
Tels.Visible = True
|
||||||
gest.Visible = True
|
gest.Visible = True
|
||||||
|
b_ventaabordo.Visible = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not(Subs.geocercaActiva) Then
|
||||||
|
Log("Mostramos botones venta")
|
||||||
|
Tels.Visible = True
|
||||||
|
gest.Visible = True
|
||||||
|
b_ventaabordo.Visible = True
|
||||||
|
Else
|
||||||
|
Log("Ocultamos botones venta")
|
||||||
|
ocultamosBotonesPorGeocerca
|
||||||
End If
|
End If
|
||||||
Tels.Visible = True
|
|
||||||
gest.Visible = True
|
|
||||||
|
|
||||||
' h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
|
' h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
|
||||||
' h.Position = 0
|
' h.Position = 0
|
||||||
@@ -446,42 +454,41 @@ Sub B4XPage_disappear
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub GPS_LocationChanged (Location1 As Location)
|
Sub GPS_LocationChanged (Location1 As Location)
|
||||||
' LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red)
|
LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red)
|
||||||
' If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then
|
If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then
|
||||||
' B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
|
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
|
||||||
' B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
|
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
|
||||||
'' Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps)
|
' Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps)
|
||||||
' End If
|
End If
|
||||||
B4XPages.MainPage.lat_gps = Location1.Latitude
|
|
||||||
B4XPages.MainPage.lon_gps = Location1.Longitude
|
|
||||||
|
|
||||||
Dim locTienda As Location
|
Dim l1, l2 As Location
|
||||||
locTienda.Initialize2(m_lat, m_lon)
|
l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
|
||||||
' Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$)
|
' Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$)
|
||||||
|
l2.Initialize2(m_lat, m_lon)
|
||||||
|
|
||||||
BT_QR.Enabled = True
|
BT_QR.Enabled = True
|
||||||
LA_GPS.TextColor = Colors.Blue
|
LA_GPS.TextColor = Colors.Blue
|
||||||
LA_GPS.Text = "CON UBICACION GPS"
|
LA_GPS.Text = "CON UBICACION GPS"
|
||||||
distance = Location1.DistanceTo(locTienda) 'Distancia de la ubicacion actual a coords de la tienda.
|
Log("CON UBICACION GPS")
|
||||||
Log("Distancia a tienda: " & distance)
|
' B_GPS.Enabled = True
|
||||||
If distance < 50 Then
|
'now we need the distance between our location and the target location
|
||||||
gest.Visible = True
|
distance = l1.DistanceTo(l2) 'the result is in meter
|
||||||
|
Log(distance)
|
||||||
|
Log((Subs.geocercaActiva And distance < 100))
|
||||||
|
Log(Not(Subs.geocercaActiva))
|
||||||
|
If (Subs.geocercaActiva And distance < 100) Or (Not(Subs.geocercaActiva)) Then
|
||||||
|
Log("Mostramos botones venta")
|
||||||
|
LA_GEO.TextColor = Colors.Blue
|
||||||
Tels.Visible = True
|
Tels.Visible = True
|
||||||
If la_cuenta.Text = "0" Then
|
gest.Visible = True
|
||||||
b_ventaabordo.Visible = False
|
b_ventaabordo.Visible = True
|
||||||
Else
|
|
||||||
b_ventaabordo.Visible = True
|
|
||||||
End If
|
|
||||||
Else
|
Else
|
||||||
LA_GEO.TextColor = Colors.Red
|
' LA_GEO.TextColor = Colors.Red
|
||||||
If Subs.traeGeocerca Then
|
|
||||||
ocultamosBotonesPorGeocerca
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
LA_GEO.Text= $"$1.2{distance/1000} kms"$
|
LA_GEO.Text= $"$1.2{distance/1000} kms"$
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
|
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
|
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
|
||||||
' CallSubDelayed(Tracker, "CreateLocationRequest")
|
CallSubDelayed(Tracker, "CreateLocationRequest")
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
||||||
@@ -1048,6 +1055,7 @@ Sub B_GUARDA_C_Click
|
|||||||
Tar.Visible = True
|
Tar.Visible = True
|
||||||
Tels.Visible = True
|
Tels.Visible = True
|
||||||
gest.Visible = True
|
gest.Visible = True
|
||||||
|
b_ventaabordo.Visible = True
|
||||||
' b_like.Visible = False
|
' b_like.Visible = False
|
||||||
Guardar.Visible = True
|
Guardar.Visible = True
|
||||||
End Sub
|
End Sub
|
||||||
@@ -1428,7 +1436,7 @@ Sub JobDone(Job As HttpJob)
|
|||||||
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE ABONOS set a_enviado = 1 where a_cliente = '${cliente}'"$)
|
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE ABONOS set a_enviado = 1 where a_cliente = '${cliente}'"$)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'CLIENTES NUEVOS
|
'CLIENTES NUEVOS
|
||||||
If Job.JobName = "DBRequest" Then
|
If Job.JobName = "DBRequest" Then
|
||||||
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
||||||
@@ -1445,6 +1453,14 @@ Sub JobDone(Job As HttpJob)
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'Guarda coords nuevas
|
||||||
|
If Job.JobName = "DBRequest" Then
|
||||||
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
||||||
|
If resultado.Tag = "insCoordsNuevas" Then
|
||||||
|
ToastMessageShow("Coordenadas actualizadas", False)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
'CUESTIONARIO
|
'CUESTIONARIO
|
||||||
If Job.JobName = "DBRequest" Then
|
If Job.JobName = "DBRequest" Then
|
||||||
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
||||||
@@ -1737,4 +1753,27 @@ Sub ocultamosBotonesPorGeocerca
|
|||||||
gest.Visible = False
|
gest.Visible = False
|
||||||
b_ventaabordo.Visible = False
|
b_ventaabordo.Visible = False
|
||||||
Tels.Visible = False
|
Tels.Visible = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub la_nombre_Click
|
||||||
|
Log("Clicked")
|
||||||
|
If Not(Subs.geocercaActiva) Then
|
||||||
|
Log("Enviando coords")
|
||||||
|
DateTime.DateFormat = "MM/dd/yyyy"
|
||||||
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
|
B4XPages.MainPage.skmt.ExecNonQuery($"update kmt_info set cat_cl_lat = '${B4XPages.MainPage.lat_gps}', cat_cl_long = '${B4XPages.MainPage.lon_gps}' where cat_cl_codigo = '${la_cuenta.text}'"$)
|
||||||
|
|
||||||
|
Dim cmd As DBCommand
|
||||||
|
cmd.Initialize
|
||||||
|
cmd.Name = "insert_coordsNuevas_INTMEX"
|
||||||
|
cmd.Parameters = Array As Object(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, Subs.traeAlmacen, Subs.traeRuta, la_cuenta.text)
|
||||||
|
' cmd.Parameters = Array As Object("1", "1", "5", "6", "CLN13478")
|
||||||
|
Log($"${Subs.traeAlmacen}, ${Subs.traeRuta},${la_cuenta.text},${B4XPages.MainPage.lat_gps},${B4XPages.MainPage.lon_gps}"$)
|
||||||
|
reqManager.ExecuteCommand(cmd , "insCoordsNuevas")
|
||||||
|
ToastMessageShow("Coordenadas actualizadas", False)
|
||||||
|
B4XPage_Appear
|
||||||
|
Else
|
||||||
|
ToastMessageShow("Geocerca activada", False)
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
@@ -55,6 +55,7 @@ End Sub
|
|||||||
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
Sub B4XPage_Appear
|
Sub B4XPage_Appear
|
||||||
|
ListView1.Height = Root.Height * 0.8
|
||||||
If Not(Starter.gps.GPSEnabled) Then
|
If Not(Starter.gps.GPSEnabled) Then
|
||||||
ToastMessageShow("Es necesario tener el GPS encendido", True)
|
ToastMessageShow("Es necesario tener el GPS encendido", True)
|
||||||
StartActivity(Starter.gps.LocationSettingsIntent)
|
StartActivity(Starter.gps.LocationSettingsIntent)
|
||||||
@@ -65,8 +66,9 @@ Sub B4XPage_Appear
|
|||||||
C.Position=0
|
C.Position=0
|
||||||
Existe = C.GetString("EXISTE")
|
Existe = C.GetString("EXISTE")
|
||||||
C.Close
|
C.Close
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PRONOMBRE asc")
|
c=B4XPages.MainPage.skmt.ExecQuery("select HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_USUARIO from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PRONOMBRE asc")
|
||||||
ListView1.Clear
|
ListView1.Clear
|
||||||
|
ListView1.TwoLinesLayout.ItemHeight = 70dip
|
||||||
If c.RowCount>0 Then
|
If c.RowCount>0 Then
|
||||||
For i=0 To c.RowCount -1
|
For i=0 To c.RowCount -1
|
||||||
c.Position=i
|
c.Position=i
|
||||||
@@ -78,7 +80,7 @@ Sub B4XPage_Appear
|
|||||||
label2 = ListView1.TwoLinesLayout.SecondLabel
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
label2.TextSize = 10
|
label2.TextSize = 10
|
||||||
label2.TextColor = Colors.Blue
|
label2.TextColor = Colors.Blue
|
||||||
ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT"))
|
ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT") & CRLF & "Usuario: " & c.GetString("HVD_USUARIO"))
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
If Existe <> 0 Then
|
If Existe <> 0 Then
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
' L_CANT.Text = c.GetString("PC_NOART")
|
' L_CANT.Text = c.GetString("PC_NOART")
|
||||||
' L_TOTAL.Text = c.GetString("PC_MONTO")
|
' L_TOTAL.Text = c.GetString("PC_MONTO")
|
||||||
' End If
|
' End If
|
||||||
|
p_nota.Height = Root.Height : p_nota.Width = Root.Width
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|||||||
@@ -998,6 +998,7 @@ Sub cargar_Click
|
|||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name = "select_hist_datos_INTMEX_2"
|
cmd.Name = "select_hist_datos_INTMEX_2"
|
||||||
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
||||||
|
Log($"===> ${e_ruta.text}, ${ALMACEN}"$)
|
||||||
reqManager.ExecuteQuery(cmd , 0, "hist_datos")
|
reqManager.ExecuteQuery(cmd , 0, "hist_datos")
|
||||||
|
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
@@ -1814,7 +1815,9 @@ Sub JobDone(Job As HttpJob)
|
|||||||
Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE"))
|
Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE"))
|
||||||
Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT"))
|
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_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT"))
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT) VALUES (?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT))
|
Dim HVD_USUARIO As String = records(RESULT.Columns.Get("USUARIO"))
|
||||||
|
Log(HVD_USUARIO)
|
||||||
|
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_USUARIO) VALUES (?,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_USUARIO))
|
||||||
Next
|
Next
|
||||||
Listo3 =1
|
Listo3 =1
|
||||||
If PB1.Progress = 0 Then
|
If PB1.Progress = 0 Then
|
||||||
|
|||||||
Binary file not shown.
@@ -164,7 +164,7 @@ Version=12.8
|
|||||||
#Region Project Attributes
|
#Region Project Attributes
|
||||||
#ApplicationLabel: Intmex
|
#ApplicationLabel: Intmex
|
||||||
#VersionCode: 1
|
#VersionCode: 1
|
||||||
#VersionName: 6.02.20 GPS
|
#VersionName: 6.03.03
|
||||||
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
||||||
#SupportedOrientations: portrait
|
#SupportedOrientations: portrait
|
||||||
#CanInstallToExternalStorage: False
|
#CanInstallToExternalStorage: False
|
||||||
|
|||||||
@@ -91,6 +91,6 @@ ModuleClosedNodes6=
|
|||||||
ModuleClosedNodes7=
|
ModuleClosedNodes7=
|
||||||
ModuleClosedNodes8=
|
ModuleClosedNodes8=
|
||||||
ModuleClosedNodes9=
|
ModuleClosedNodes9=
|
||||||
NavigationStack=C_Cliente,Guardar_Click,619,6,C_Cliente,mandaPendientes,1277,0,Diseñador Visual,cliente.bal,-100,3,C_Cliente,Class_Globals,137,0,C_Cliente,B4XPage_Appear,238,0,C_Cliente,B4XPage_Created,209,6,C_Principal,Class_Globals,0,0,B4XMainPage,b_guardar_Click,789,0,Main,Activity_Create,29,0,B4XMainPage,Class_Globals,24,0
|
NavigationStack=C_Nota,Initialize,39,0,C_Nota,p_nota_Click,312,0,C_Nota,B4XPage_Created,57,6,C_Historico,GPS_LocationChanged,86,0,C_Nota,B4XPage_Appear,58,2,C_Historico,B4XPage_Created,49,0,Diseñador Visual,nota.bal,-100,6,C_Principal,JobDone,1804,2,C_Principal,cargar_Click,980,4,C_Historico,B4XPage_Appear,66,6,B4XMainPage,B4XPage_Created,197,0
|
||||||
SelectedBuild=0
|
SelectedBuild=0
|
||||||
VisibleModules=28,2,13,20,14,29,15,4,11,21
|
VisibleModules=28,2,13,14,29,15,4,11,21,7,9
|
||||||
|
|||||||
11
B4A/Subs.bas
11
B4A/Subs.bas
@@ -1556,4 +1556,15 @@ Sub traeGeocerca As Boolean
|
|||||||
If c.GetInt("CAT_VA_VALOR") = 0 Then usarGeo = False
|
If c.GetInt("CAT_VA_VALOR") = 0 Then usarGeo = False
|
||||||
End If
|
End If
|
||||||
Return usarGeo
|
Return usarGeo
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Revisa si la geocerca debe de estar activa
|
||||||
|
Sub geocercaActiva As Boolean
|
||||||
|
Private resultado As Boolean = True
|
||||||
|
Private c As Cursor = Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'GEOCERCA'")
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position = 0
|
||||||
|
If c.GetString("CAT_VA_VALOR") = 0 Then resultado = False
|
||||||
|
End If
|
||||||
|
Return resultado
|
||||||
End Sub
|
End Sub
|
||||||
@@ -1,28 +1,127 @@
|
|||||||
# SCRIPT: _juntaBas.ps1 - Versión Saneada y Optimizada para LLM
|
# SCRIPT: _juntaBas_Master_FinalIA.ps1
|
||||||
$OutputFile="_CODIGO_COMPLETO_PARA_LLM.txt"
|
# FIX: Corregida sintaxis de comillas y concatenación de tags XML.
|
||||||
|
# OBJETIVO: Fuente de verdad para IA con navegación ultra estructurada.
|
||||||
|
|
||||||
# Eliminar el archivo anterior si existe (IMPORTANTE)
|
$ErrorActionPreference = 'SilentlyContinue'
|
||||||
Remove-Item -Path $OutputFile -ErrorAction SilentlyContinue
|
$Dir = Get-Location
|
||||||
|
$LT = [char]60; $GT = [char]62; $SL = [char]47
|
||||||
|
$NL = [Environment]::NewLine
|
||||||
|
|
||||||
Write-Host "Iniciando fusion para LLM..."
|
Write-Output '--- GENERANDO MASTER IA DEFINITIVO (FIX ESTRUCTURAL) ---'
|
||||||
|
|
||||||
# Itera sobre los archivos .bas, .b4a, .b4j
|
# 1. PARSEO DEL PROYECTO .B4A
|
||||||
Get-ChildItem -Path ".\*" -Include @("*.bas", "*.b4a", "*.b4j") | ForEach-Object {
|
$b4a = Get-ChildItem -Path ".\*" -Include "*.b4a" -Recurse | Select-Object -First 1
|
||||||
$currentFile = $_.Name
|
$Name = 'App'; $Ver = '0.0'; $ModulosValidos = @(); $Librerias = @()
|
||||||
Write-Host "Procesando: $currentFile"
|
|
||||||
|
|
||||||
# --- ENCABEZADO ESTRUCTURADO Y COMENTADO EN B4X (Agregado al archivo) ---
|
if ($b4a) {
|
||||||
Add-Content -Path $OutputFile -Value "`n'======================================================================================"
|
$lines = [System.IO.File]::ReadAllLines($b4a.FullName)
|
||||||
Add-Content -Path $OutputFile -Value $"// ARCHIVO_INICIO: ${currentFile}"
|
foreach ($L in $lines) {
|
||||||
Add-Content -Path $OutputFile -Value "'======================================================================================`n"
|
if ($L -match '#ApplicationLabel:\s*(.*)') { $Name = $Matches[1].Trim() }
|
||||||
|
if ($L -match '#VersionName:\s*(.*)') { $Ver = $Matches[1].Trim() }
|
||||||
# Vuelca el contenido del archivo
|
if ($L -match '^Module\d+=(.*)') {
|
||||||
Get-Content -Encoding UTF8 -Path $_.FullName -Raw | Add-Content -Path $OutputFile
|
$m = [System.IO.Path]::GetFileName($Matches[1].Trim())
|
||||||
|
if (-not $m.EndsWith(".bas") -and $m -ne "Main") { $m += ".bas" }
|
||||||
# --- DELIMITADOR DE FIN DE ARCHIVO (Agregado al archivo) ---
|
$ModulosValidos += $m
|
||||||
Add-Content -Path $OutputFile -Value "`n'======================================================================================"
|
}
|
||||||
Add-Content -Path $OutputFile -Value $"// ARCHIVO_FIN: ${currentFile}"
|
if ($L -match '^Library\d+=(.*)') { $Librerias += $Matches[1].Trim() }
|
||||||
Add-Content -Path $OutputFile -Value "'======================================================================================`n"
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host "`nProceso terminado. Se ha creado el archivo: $OutputFile"
|
$OutName = "_" + $Name + "_" + $Ver + "_IA.md"
|
||||||
|
$OutFile = Join-Path $Dir $OutName
|
||||||
|
|
||||||
|
# 2. HEADER CON TUS INSTRUCCIONES CRÍTICAS
|
||||||
|
$CurrentDate = Get-Date -Format 'yyyy-MM-dd HH:mm'
|
||||||
|
$Header = @"
|
||||||
|
# PROYECTO: $Name
|
||||||
|
- Version: $Ver
|
||||||
|
- Fecha: $CurrentDate
|
||||||
|
- Librerias Activas: $($Librerias -join ", ")
|
||||||
|
|
||||||
|
## INSTRUCCIONES CRITICAS (B4A / BASIC4ANDROID)
|
||||||
|
0. **Integridad del Contexto:** Antes de procesar peticiones, cuenta si el numero de modulos listados en el indice coincide con los detallados en el cuerpo.
|
||||||
|
1. **Source of Truth (Codigo):** Este archivo contiene el codigo fuente ACTUAL del proyecto.
|
||||||
|
2. **Source of Truth (Librerias):** Basa tus sugerencias en la lista de 'Librerias Activas'.
|
||||||
|
3. **Anti-Alucinacion:** Antes de sugerir, VERIFICA la 'Interfaz Pública' o el código fuente del módulo.
|
||||||
|
4. **Existencia Estricta:** Si una variable/Sub no está en el texto, NO EXISTE.
|
||||||
|
5. **Formato:** Usa bloques 'vb'.
|
||||||
|
6. **Navegacion Estructural:** Usa los tags <module>, <interface> y <method> para localizar codigo.
|
||||||
|
7. **Inferencia de Datos:** Deduce la BD solo de los strings SQL presentes.
|
||||||
|
"@
|
||||||
|
|
||||||
|
Set-Content -Path $OutFile -Value $Header -Encoding UTF8
|
||||||
|
|
||||||
|
# 3. LISTAR ARCHIVOS
|
||||||
|
$files = Get-ChildItem -Path $Dir -Include *.bas,*.b4a -Recurse | Where-Object {
|
||||||
|
$_.FullName -notmatch 'Objects' -and ($_.Extension -eq '.b4a' -or $ModulosValidos -contains $_.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
# 4. INDICE DE MODULOS
|
||||||
|
Add-Content $OutFile ($NL + "## INDICE DE MODULOS" + $NL) -Encoding UTF8
|
||||||
|
foreach ($f in $files) {
|
||||||
|
$Ref = $f.Name.Replace('.', '').Replace(' ', '-').ToLower()
|
||||||
|
Add-Content $OutFile ("- [" + $f.Name + "](#modulo-" + $Ref + ")") -Encoding UTF8
|
||||||
|
}
|
||||||
|
|
||||||
|
# 5. CODIGO FUENTE ESTRUCTURADO
|
||||||
|
Add-Content $OutFile ($NL + '## CODIGO FUENTE DETALLADO' + $NL) -Encoding UTF8
|
||||||
|
|
||||||
|
foreach ($f in $files) {
|
||||||
|
Write-Host " -> $($f.Name)... " -NoNewline
|
||||||
|
$txt = [System.IO.File]::ReadAllLines($f.FullName)
|
||||||
|
|
||||||
|
# Pre-escaneo para <interface>
|
||||||
|
$Methods = @()
|
||||||
|
foreach ($line in $txt) {
|
||||||
|
if ($line.Trim() -match '^(?:Public\s+|Private\s+)?Sub\s+([\w\d_]+)') {
|
||||||
|
$Methods += $Matches[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$Ref = $f.Name.Replace('.', '').Replace(' ', '-').ToLower()
|
||||||
|
Add-Content $OutFile "$NL<module name='$($f.Name)' id='modulo-$Ref'>" -Encoding UTF8
|
||||||
|
|
||||||
|
Add-Content $OutFile " <interface>" -Encoding UTF8
|
||||||
|
foreach($m in $Methods) {
|
||||||
|
Add-Content $OutFile " <method_ref name='$m' />" -Encoding UTF8
|
||||||
|
}
|
||||||
|
Add-Content $OutFile " </interface>$NL" -Encoding UTF8
|
||||||
|
|
||||||
|
Add-Content $OutFile "```vb" -Encoding UTF8
|
||||||
|
|
||||||
|
$skip = ($f.Extension -eq '.b4a')
|
||||||
|
|
||||||
|
foreach ($l in $txt) {
|
||||||
|
$trim = $l.Trim()
|
||||||
|
|
||||||
|
if ($skip) {
|
||||||
|
if ($trim.StartsWith("#") -and -not $trim.StartsWith("#Region")) { Add-Content $OutFile $l -Encoding UTF8 }
|
||||||
|
if ($l.Contains("@EndOfDesignText@")) { $skip = $false }
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
# Inicio de Método
|
||||||
|
if ($trim -match '^(?:Public\s+|Private\s+)?Sub\s+([\w\d_]+)') {
|
||||||
|
Add-Content $OutFile "<method name='$($Matches[1])'>" -Encoding UTF8
|
||||||
|
}
|
||||||
|
|
||||||
|
# Limpieza de comentarios y escritura de línea
|
||||||
|
if ($trim.StartsWith("'")) {
|
||||||
|
if (-not ($trim.StartsWith("'#") -or ($trim -match 'TODO:') -or ($trim -match 'FIX:'))) { continue }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not [string]::IsNullOrWhiteSpace($trim)) {
|
||||||
|
Add-Content $OutFile $l -Encoding UTF8
|
||||||
|
}
|
||||||
|
|
||||||
|
# Fin de Método
|
||||||
|
if ($trim -eq "End Sub") {
|
||||||
|
Add-Content $OutFile "</method>" -Encoding UTF8
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Add-Content $OutFile "```$NL</module>" -Encoding UTF8
|
||||||
|
Write-Host "OK" -ForegroundColor Green
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Output ("--- FINALIZADO: " + $OutName + " ---")
|
||||||
Reference in New Issue
Block a user