diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index bb2b0bb..f74d77d 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -1449,7 +1449,6 @@ Sub JobDone(Job As HttpJob) 'CAT_GP_INICIATIVA = 5 ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO,CAT_GP_TIPOPROD2,CAT_GP_PROMOCION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV, CAT_GP_TIPOPROD2,CAT_GP_PROMOCION)) - Starter.skmt.ExecNonQuery2("INSERT INTO CAT_INVENTARIO(CI_IDPROD,CI_INVENTARIO) VALUES (?,?)", Array As Object (CAT_GP_ID,CAT_GP_ALMACEN)) Next Starter.skmt.TransactionSuccessful Starter.skmt.EndTransaction @@ -1503,6 +1502,7 @@ Sub JobDone(Job As HttpJob) ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO,CAT_GP_TIPOPROD2) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO,CAT_GP_TIPOPROD)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD5(CAT_GP_ID,CAT_GP_ALMACEN) VALUES (?,?)", Array As Object (CAT_GP_ID,CAT_GP_ALMACEN)) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_INVENTARIO(CI_IDPROD,CI_INVENTARIO) VALUES (?,?)", Array As Object (CAT_GP_ID,CAT_GP_ALMACEN)) Next Starter.skmt.TransactionSuccessful Starter.skmt.EndTransaction diff --git a/B4A/KelloggsV4.b4a b/B4A/KelloggsV4.b4a index 8f497d3..a24939b 100644 --- a/B4A/KelloggsV4.b4a +++ b/B4A/KelloggsV4.b4a @@ -918,7 +918,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: Kelloggs Venta #VersionCode: 3000 - #VersionName: 6.01.28 + #VersionName: 6.01.31 #SupportedOrientations: portrait #CanInstallToExternalStorage: False #BridgeLogger:true diff --git a/B4A/KelloggsV4.b4a.meta b/B4A/KelloggsV4.b4a.meta index 9d5f100..486c28c 100644 --- a/B4A/KelloggsV4.b4a.meta +++ b/B4A/KelloggsV4.b4a.meta @@ -103,6 +103,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=B4XMainPage,B4XPage_Appear,484,0,B4XMainPage,B4XPage_Created,392,0,B4XMainPage,Initialize,123,0,C_Principal,B4XPage_Appear,333,0,C_Principal,connecta_LongClick,2504,0,C_Principal,connecta3,2503,0,C_Principal,connecta2,2488,0,C_Principal,b_motivoNoVisita_Click,4075,0,Diseñador Visual,principal.bal,-100,6,C_Principal,B4XPage_Created,311,0 +NavigationStack=B4XMainPage,B4XPage_Created,392,0,B4XMainPage,Initialize,123,0,C_Principal,B4XPage_Appear,333,0,C_Principal,connecta_LongClick,2504,0,C_Principal,connecta3,2503,0,C_Principal,connecta2,2488,0,C_Principal,b_motivoNoVisita_Click,4075,0,Diseñador Visual,principal.bal,-100,6,C_Principal,B4XPage_Created,311,0,C_Principal,JobDone,1498,0,C_Principal,cargar_Click,797,0 SelectedBuild=0 VisibleModules=32,1,13,4,33,15,34,14,29 diff --git a/B4A/_juntaBas.ps1 b/B4A/_juntaBas.ps1 index 2fd691d..4448a79 100644 --- a/B4A/_juntaBas.ps1 +++ b/B4A/_juntaBas.ps1 @@ -1,28 +1,81 @@ -# SCRIPT: _juntaBas.ps1 - Versión Saneada y Optimizada para LLM +# SCRIPT: _juntaBas.ps1 - Versión SYSTEM PROMPT CONDICIONAL + Ultimate (Corregido) $OutputFile="_CODIGO_COMPLETO_PARA_LLM.txt" -# Eliminar el archivo anterior si existe (IMPORTANTE) Remove-Item -Path $OutputFile -ErrorAction SilentlyContinue +Write-Host "Generando Código Maestro con Protocolo Condicional..." -Write-Host "Iniciando fusion para LLM..." +$files = Get-ChildItem -Path ".\*" -Include @("*.bas", "*.b4a", "*.j") -# Itera sobre los archivos .bas, .b4a, .b4j -Get-ChildItem -Path ".\*" -Include @("*.bas", "*.b4a", "*.b4j") | ForEach-Object { +# --- 0. INYECCIÓN DE INSTRUCCIONES DE SISTEMA (CONDICIONALES) --- +# Se han reemplazado paréntesis conflictivos y comillas internas para evitar errores de PowerShell +Add-Content -Path $OutputFile -Value "''' ======================================================================================" -Encoding UTF8 +Add-Content -Path $OutputFile -Value "''' INSTRUCCIONES CRÍTICAS PARA EL ASISTENTE (PROTOCOLO B4A)" -Encoding UTF8 +Add-Content -Path $OutputFile -Value "''' 1. CONTEXTO: Este archivo contiene el código fuente ACTUAL del proyecto." -Encoding UTF8 +Add-Content -Path $OutputFile -Value "''' 2. ANTI-ALUCINACION: Antes de sugerir propiedades, VERIFICA si existen" -Encoding UTF8 +Add-Content -Path $OutputFile -Value "''' en las secciones [Variables Globales] o [Estructuras Types] del Manifiesto abajo." -Encoding UTF8 +Add-Content -Path $OutputFile -Value "''' 3. DOCUMENTACION EXTERNA (CONDICIONAL):" -Encoding UTF8 +Add-Content -Path $OutputFile -Value "''' - SI el usuario adjunta archivos de referencia (ej. _B4X_Library... o _B4A_Library...)," -Encoding UTF8 +Add-Content -Path $OutputFile -Value "''' PRIORIZA esos métodos sobre tu conocimiento general." -Encoding UTF8 +Add-Content -Path $OutputFile -Value "''' - SI NO se adjuntan referencias, apóyate en el código existente en Subs.bas." -Encoding UTF8 +Add-Content -Path $OutputFile -Value "''' 4. SCOPE: Respeta la visibilidad (Public/Private)." -Encoding UTF8 +Add-Content -Path $OutputFile -Value "''' ======================================================================================`n" -Encoding UTF8 + +# --- 1. GENERACIÓN DEL MANIFIESTO (TABLA DE CONTENIDO) --- +Add-Content -Path $OutputFile -Value "'======================================================================================" -Encoding UTF8 +Add-Content -Path $OutputFile -Value "' MANIFIESTO DEL PROYECTO - Generado el $(Get-Date -Format 'yyyy-MM-dd HH:mm')" -Encoding UTF8 +Add-Content -Path $OutputFile -Value "' Total de archivos: $($files.Count)" -Encoding UTF8 +Add-Content -Path $OutputFile -Value "'======================================================================================" -Encoding UTF8 + +foreach ($file in $files) { + $content = Get-Content $file.FullName + $ext = $file.Extension.ToLower() + $lines = $content.Count + + # Extraer (Subs, Globales, Types, Libs) + $subs = $content | Where-Object { $_ -match "^\s*Sub\s+" } | ForEach-Object { $_.Trim() -replace "'.*$", "" } + $globals = $content | Where-Object { $_ -match "^\s*(Private|Public|Dim)\s+\w+\s+As" } | ForEach-Object { $_.Trim() -replace "'.*$", "" } + $types = $content | Where-Object { $_ -match "^\s*Type\s+\w+" } | ForEach-Object { $_.Trim() } + + $libs = @() + if ($ext -eq ".b4a") { + $libs = $content | Where-Object { $_ -match "^Library\d+=" } | ForEach-Object { $_ -replace "^Library\d+=", "" } + } + + # Escribir Manifiesto + Add-Content -Path $OutputFile -Value "' [ ] Archivo: $($file.Name) ($lines líneas)" -Encoding UTF8 + + if ($libs) { + Add-Content -Path $OutputFile -Value "' --- Librerías Activas ---" -Encoding UTF8 + foreach ($l in $libs) { Add-Content -Path $OutputFile -Value "' [LIB] $l" -Encoding UTF8 } + } + if ($types) { + Add-Content -Path $OutputFile -Value "' --- Estructuras (Types) ---" -Encoding UTF8 + foreach ($t in $types) { Add-Content -Path $OutputFile -Value "' {TYPE} $t" -Encoding UTF8 } + } + if ($globals) { + Add-Content -Path $OutputFile -Value "' --- Variables Globales ---" -Encoding UTF8 + foreach ($g in $globals) { Add-Content -Path $OutputFile -Value "' . $g" -Encoding UTF8 } + } + if ($subs) { + Add-Content -Path $OutputFile -Value "' --- Subrutinas ---" -Encoding UTF8 + foreach ($s in $subs) { Add-Content -Path $OutputFile -Value "' > $s" -Encoding UTF8 } + } + Add-Content -Path $OutputFile -Value "' ------------------------------------------------------------------------------------" -Encoding UTF8 +} +Add-Content -Path $OutputFile -Value "' FINAL DEL MANIFIESTO`n" -Encoding UTF8 +Add-Content -Path $OutputFile -Value "'======================================================================================`n" -Encoding UTF8 + +# --- 2. VUELCO DE CONTENIDO --- +$files | ForEach-Object { $currentFile = $_.Name Write-Host "Procesando: $currentFile" - - # --- ENCABEZADO ESTRUCTURADO Y COMENTADO EN B4X (Agregado al archivo) --- - Add-Content -Path $OutputFile -Value "`n'======================================================================================" - Add-Content -Path $OutputFile -Value $"// ARCHIVO_INICIO: ${currentFile}" - Add-Content -Path $OutputFile -Value "'======================================================================================`n" - - # Vuelca el contenido del archivo - Get-Content -Encoding UTF8 -Path $_.FullName -Raw | Add-Content -Path $OutputFile - - # --- DELIMITADOR DE FIN DE ARCHIVO (Agregado al archivo) --- - Add-Content -Path $OutputFile -Value "`n'======================================================================================" - Add-Content -Path $OutputFile -Value $"// ARCHIVO_FIN: ${currentFile}" - Add-Content -Path $OutputFile -Value "'======================================================================================`n" + Add-Content -Path $OutputFile -Value "'======================================================================================" -Encoding UTF8 + Add-Content -Path $OutputFile -Value "// ARCHIVO_INICIO: ${currentFile}" -Encoding UTF8 + Add-Content -Path $OutputFile -Value "'======================================================================================`n" -Encoding UTF8 + Get-Content -Encoding UTF8 -Path $_.FullName -Raw | Add-Content -Path $OutputFile -Encoding UTF8 + Add-Content -Path $OutputFile -Value "`n'======================================================================================" -Encoding UTF8 + Add-Content -Path $OutputFile -Value "// ARCHIVO_FIN: ${currentFile}" -Encoding UTF8 + Add-Content -Path $OutputFile -Value "'======================================================================================`n" -Encoding UTF8 } -Write-Host "`nProceso terminado. Se ha creado el archivo: $OutputFile" \ No newline at end of file +Write-Host "¡Listo! Archivo $OutputFile con Instrucciones Condicionales generado (Sin Errores)." \ No newline at end of file