Files
devolucion_proveedores/deploy/windows/desinstalar-servicio.ps1
T
georgeandClaude Sonnet 5.5 287b187c14 Aplicación web de Devolución a Proveedores para SAP Business One
Reemplaza al addon .NET Framework (SolucionLibros). Genera Devoluciones de mercancías
enlazadas a sus Entradas por compra a partir de un listado pegado desde Excel.

- libs/shared (@dp/shared): modelos y lógica de dominio pura (FIFO, consolidación por
  proveedor, parseo del portapapeles), portada del addon.
- apps/api (NestJS): cliente del Service Layer con cola por sesión, login con la sesión de
  SAP, metadatos (UDT/UDF/UDO) y botón Reconstruir, catálogos, planificaciones (pegar,
  procesar, reprocesar, marcar líneas, crear Devoluciones, cerrar), listado paginado con
  filtros y descarga de PDF de la Guía de despacho desde BES. Sirve también la web
  compilada, con HTTPS opcional.
- apps/web (Angular): login, Configuración → Metadatos y Planificaciones (listado,
  nueva, detalle).
- deploy/windows y scripts/publicar.mjs: despliegue como servicio de Windows con WinSW.

Verificado contra el Service Layer de SQL Server. Sin probar aún: SAP HANA y la
instalación del servicio en Windows (ver CLAUDE.md, sección "Sin verificar").

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 08:09:07 -05:00

26 lines
762 B
PowerShell

<#
.SYNOPSIS
Detiene y elimina el servicio de Windows. No borra los archivos ni los logs.
#>
#Requires -RunAsAdministrator
[CmdletBinding()]
param([string]$NombreServicio = 'DevolucionProveedores')
$ErrorActionPreference = 'Stop'
$exe = Join-Path $PSScriptRoot 'servicio\devolucion-api.exe'
if (-not (Get-Service -Name $NombreServicio -ErrorAction SilentlyContinue)) {
Write-Host "El servicio '$NombreServicio' no existe."
exit 0
}
if (-not (Test-Path $exe)) {
Write-Host "No se encontró $exe; se intentará con sc.exe."
& sc.exe stop $NombreServicio | Out-Null
& sc.exe delete $NombreServicio
exit $LASTEXITCODE
}
& $exe stop
& $exe uninstall
Write-Host "Servicio '$NombreServicio' eliminado. Los archivos y los logs siguen en $PSScriptRoot."