Está en la página 1de 37

Solución de problemas comunes

Contenido

1. Netsilver 1
1.1 ¿Cómo identificar un error en Netsilver? 1
1.2 ¿Cuáles son los problemas comunes con Netsilver? 2

2. Servicio de envío viejo (Wansoft.Envio) 2


2.1 ¿Cómo identificar un error en el servicio de envío? 2
2.2 ¿Cuáles son los problemas comunes con el servicio de envío? 3

3. Facturación electrónica 3
3.1 ¿Cuáles son los problemas comunes cuando se quiere emitir una factura electrónica?4

Página 1
1. Netsilver

1.1 ¿Cómo identificar un error en Netsilver?

Hay 2 formas para identificar un error en Netsilver

 Pantalla de error.- Pantalla de Netsilver que muestra el error, por lo general no muestra el error real.

 Archivo log.- A partir de la versión 6.4.0.4, Netsilver genera un archivo log de excepciones por día en la
carpeta C:\NetSilver\Logs

1.2 ¿Cuáles son los problemas comunes con Netsilver?

Problema
En la pantalla de Netsilver se muestra un error “Could not allocate space for object…”

Causa
Este error sucede cuando se queda sin espacio la base de datos. Para resolverlo es necesario depurar la base
de datos.

SQL Express 2005 solo tiene 4GB de capacidad, por lo que se recomienda migrar a la última versión de
Netsilver con SQL Express 2008 / 2014.

Solución
Realizar los siguientes pasos:
1. Realizar un backup de la base de datos.
2. Utilizar el script “Depuración de base de datos.sql” para eliminar las ventas con más de un mes de
antigüedad. Esto puede tardar varios minutos.

Página 2
SCRIPT DE DEPURACIÓN:
use netsilver
delete from ventas where fecha < 'Fecha_de_indice_depuración'

delete from detalleventas where movimiento in (select movimiento from ventas where fecha <
'Fecha_de_indice_depuración')

delete from pagos where movimiento in (select movimiento from ventas where fecha <
'Fecha_de_indice_depuración')

delete from ordenpendiente where fechaoperacion < 'Fecha_de_indice_depuración'

delete from comanda where FechaOperacion < 'Fecha_de_indice_depuración'


delete from comandalog where FechaOperacion < 'Fecha_de_indice_depuración'
Truncate table DetalleVentasLog
Truncate table LogFileOperacionLog
Truncate table LogFileOrdenLog
Truncate table LogFilePlatilloLog
Truncate table ModificadorLog
Truncate table OrdenPendienteLog
Truncate table VentasLog

Donde:
'Fecha_de_indice_depuración' se coloca la fecha (aaaa-mm-dd) donde parte la depuración hacía atrás.

Por ejemplo:
Si tenemos ventas desde el primero de enero de 2014 hasta el 31 de marzo de 2015 y deseamos borrar desde
enero de 2015 hacía atrás entonces 'Fecha_de_indice_depuración' = ‘2015-02-01’

Página 3
Problema
Las terminales no se pueden conectar al servidor

Causa
Las causas de este problema pueden ser por diferentes razones así que realizaremos los siguientes pasos como
parte del análisis que se realizó en este problema.

Solución

1. Primero revisaremos si hay conexión de la terminal al servidor.

-En el SERVIDOR daremos en ejecutar ponemos “CMD” y en la siguiente ventana escribimos el


comando “ipconfig”

-Tomaremos el número de la IP y aremos un ping desde la TERMINAL a dicha IP.

2. Si la prueba del ping fue exitosa, utilizaremos el programa “SqlConnectionTest” (Si no se tiene favor de
solicitarlo) comprobaremos que los campos que nos solicita el programa estén correctos, de no ser así
deberemos revisar cuales son los datos correctos referentes al SQL.

Página 4
-Si este nos sigue mandando un error después de que comprobamos que los datos son correctos,
continuaremos con los pasos siguientes.

3. Si no hay conexión con el ping, abriremos el SQL y realizaremos los siguientes pasos.

Nos ubicamos en “Conexiones” y en la opción “Permitir conexiones remotas con este servidor”
verificamos que esta opción este activada

Página 5
4. Ahora iremos al “Administrador de configuración de Sql server” en la carpeta del SQL.

Página 6
5. Iremos a “Protocolos de MSSQLSERVER” en la configuración de red.

6. Seleccionamos las propiedades del protocolo “TCP/IP”

7. En el campo “Puertos TCP” debemos poner el número “1433”, el cual es el puerto que usa el SQL.

En “Puertos Dinámicos TCP” debe de ir vacío.


Los campos que vengan en “NO” hay que cambiarlos a “SI”.

Página 7
8. Ejecutaremos el comando de los servicios.

Página 8
9. Buscamos estos dos servicios y los ubicamos

10. Ahora iremos a la siguiente ruta. Panel de control\Sistema y seguridad\Firewall de Windows

-En la siguiente lista buscaremos los servicios mencionados con anterioridad

Página 9
Página 10
11. SI los servicios no se encuentran se tendrá que hacer lo siguiente.

Página 11
-En el nombre debemos ingresar la ruta donde se encuentras los servicios de SQL en Windows

-Iremos a los servicios ya mencionados anteriormente y abrimos sus propiedades.

Página 12
Página 13
-Copiamos la ruta del servicio hasta antes del .exe y la pegaremos en el nombre para que nos abra la
carpeta donde se encuentra el servicio.

-Aquí seleccionamos el archivo “sqlservr.exe” damos en aceptar y lo agregamos.

12. Se realizara el mismo procedimiento con el servicio siguiente el cual es:

Página 14
13. Se debe de revisar que el puerto “1433” del SQL este habilitado, para ello debemos ir a la siguiente
ruta.

Panel de control\Sistema y seguridad\Firewall de Windows – Configuracion Avanzada.


En “Reglas de entrada” verificamos que exista la regla “SQL”.
Si esta no existe debemos de crearla tanto en “Reglas de entrada” & “Reglas de Salida”.

14. Para crear la Regla iremos a la parte derecha de la ventana en la opción “Nueva Regla..”.

Página 15
15. Seleccionamos la opción de “Puerto”.

16. Aquí seleccionamos la opción de “TCP” y en “Puertos Remotos Específicos” escribimos el puerto con el
número 433.

Página 16
17. Seleccionamos la opción “Permitir la conexión”.

18. Aquí solo deja la opción de dominio.


Página 17
19. Escribimos el nombre de la regla en este caso es “SQL” y finalizamos.

Página 18
20. Regresamos a la pantalla donde se encuentran los servicios de SQL y los reiniciamos.

Problema
Al realizar un ping entre los equipos (PDV y SERVER) es exitoso, pero aun así no “NetSilver” no se puede conectar.

Solución
Debemos modificar el archivo “HOSTS” en nuestro PDV.
La ubicación del archivo hosts en Windows NT/2000 es:
C:/WINNT/System32/drivers/etc/hosts
La ubicación del archivo hosts en Windows 10,Windows 8, Windows 7, Windows Vista, Windows XP es:
C:/Windows/System32/drivers/etc/hosts

Página 19
Al final colocaremos la IP del servidor al igual que su nombre:

Problema
El Preticket no agrupa los platillos.

Solución

Página 20
1. Se tiene que realizar el siguiente Update a la base de datos:

Update SistemaConfiguracion
Set valor = '1'
Where Id_Configuracion =124

2. Si tiene activada la opción de imprimir preticket por sillas (Id_Configuracion = 113) aparecerá la
siguiente ventana al imprimir un preticket preguntado lo siguiente:

3. Si se selecciona que sí, no se imprimirá agrupado el preticket. Si se selecciona que no los artículos se
agruparan.

2. Servicio de envío viejo (Wansoft.Envio)

Página 21
2.1 ¿Cómo identificar un error en el servicio de envío?

El servicio de envío genera varios archivo log en la carpeta C:\Wansoft.Envio\Logs. Dentro del archivo pueden
identificar el error buscando la palabra “Exception”.

2.2 ¿Cuáles son los problemas comunes con el servicio de envío?

Problema
En el archivo log marca la excepción “No se puede resolver el nombre remoto: 'ssl.arsis.com.mx'”

Causa
El cliente no tiene conexión a internet.

Solución
Revisar la conexión a internet.

Problema
El servicio de envío no marca error pero no descarga catálogos

Posible causa 1
La terminal no está configurada correctamente.

Posible solución 1
Revisar que el nombre del servidor este configurado correctamente.

select * from terminal

Posible causa 2
El cliente no tiene días de licencia.

Posible solución 2
Revisar que tenga días de licencia. Si tiene 0 puede ser el problema.

select * from sistemaconfiguracion


where id_configuracion = 238

Posible causa 3
No se ha configurado el nombre de la base de datos en el archivo de configuración o esta incorrecto.
Página 22
Posible solución 3
Revisar que el nombre de la base de datos este configurado correctamente en el archivo
Wansoft.Envio.exe.config

Problema
El servicio de envío no descarga los catálogos pero:
- Está configurado correctamente.
- No está haciendo petición en el monitoreo del envío en el servidor web.
- No marcar error en el monitoreo del envío en el servidor web.
- No genera ningún log en la carpeta local del envío.

Posible causa 1
Se editó manualmente el archivo TaskScheduleManager.config. Este archivo no debe modificarse, es para uso
exclusivo del servicio de envío.

Posible solución 1
Reemplazar el archivo TaskScheduleManager.config utilizando el archivo de la carpeta de instalación.

Problema
El servicio de envío no marca error pero no descarga catálogos.
Posible causa
La ruta del servicio de envío nuevo está apuntando a la ruta donde están los archivos del envió viejo.
Posible solución
Debemos cambiar la ruta del servicio de envío. Ya que esta apunta a otra carpeta.
C:\Wansoft\Silver\Envio\Wansoft.Envio.exe

En ejecutar pondremos la palabra “REGEDIT”.

Página 23
Despues buscaremos la siguiente ruta hasta llegar a la carpeta “Wansoft Envio”
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services.
De lado derecho abriremos el archivo “ImagePath” el cual contiene la ruta del servicio.

Una vez abierto el archivo, cambiamos la ruta por la correcta.

Problema
Página 24
En el archivo log marca la excepción “cannot insert duplicate key row in object 'dbo.platillo' with unique index
'dbo.platillo1'”

Causa
Sucede cuando se modifica un platillo en el portal y este no se refleja en NetSilver. Ya que trata de insertar el
“id_platillo” o “Clave_platillo” que ya existen en la base de datos local

Solución

1. Identificar el o los platillos que no hacen cambios en NetSilver


2. Una vez identificado revisaremos en el SERVIDOR, la base de datos del cliente y ejecutamos la
siguiente consulta para traer el platillo que no hace cambios.

select * from platillo where nombre = 'COCHINITA MAIZ'

3. En la Base de Datos Local (NETSILVER) ejecutamos


select * from platillo where clave = 'G1100'
Sustituimos la “clave” o el “id” para ver que platillo está usando la clave que tenemos en el Servidor

4. Si encontramos un platillo con la misma clave o id tanto en la BDLocal como en la BDServer.


Entonces en el portal cambiaremos la clave del platillo para que no intente insertar una Clave repetida.

Problema

Página 25
En el archivo log marca la excepción:
“No es posible conectar con el servidor remoto ---> System.Net.Sockets.SocketException: No se puede
establecer una conexión ya que el equipo de destino denegó expresamente dicha conexión 127.0.0.1:”

Causa
Este problema puede ser causado por varias cosas, Se recomienda reiniciar los servicios de sql.

Y revisar que todos los servicios de sql estén iniciados

Solución
1. Realizaremos los siguientes pasos en el servicio de ”ENVIO” y en el servicio de “SINCRONIZACION”
2. Iremos a las propiedades del servicio

3. En la pestaña inicio de sesión seleccionamos la opción de “Esta cuenta” y hacemos click en


Página 26
“Examinar…”

4. Aquí escribiremos el nombre de la “Sesión Administrador” y damos en “Comprobar Nombres”.


Si no hay errores damos en Aceptar.

5. Escribimos la contraseña de la “Sesión Administrador” y damos en Aceptar.

Página 27
Esto se realizara para los servicios de “Envió” y “Sincronización”

Problema
En el archivo log marca la excepción: ”Violation of PRIMARY KEY constraint 'PK_Inv_PendigSalesToProcess'.
Cannot insert duplicate key in object 'dbo.Inv_PendigSalesToProcess'. The duplicate key value is (694, 9868).
The statement has been terminated”.

Causa
El cliente tiene inventarios, se está intentando insertar una venta que posiblemente con anterioridad se borró
y ahora se intentando volver a cargar.

Solución
Debemos borrar la venta de los inventarios basándonos en la tabla que nos marca el log.
Ejemplo: dbo.Inv_PendigSalesToProcess'

value is (694, 9868). 694 = SubsidiaryId (es el id que tiene el cliente)


9868= MovementId (es el id del Movimiento)

Nuestro delete seria asi: delete from Wansoft_Central.dbo.Inv_PendigSalesToProcess


where subsidiaryid = 694 and movementid = 9868

Así es como eliminamos la Venta que queremos volver a subir.

Problema
Página 28
En el archivo log marca la excepción: “Message : Incorrect syntax near 'S'.
Unclosed quotation mark after the character string ''.”

Causa
Esto se debe a que algún registro contiene un carácter que usa SQL como alguna comilla o signo, etc.

Solución
-Para esta ocasión utilizaremos el script de monitoreo del servicio de envió.

select * from transferdb..transferencia with(nolock)


where basedatos = 'Comuna'
and fechainicio > dateadd(HH,-72, getdate())
order by fechainicio desc

-Al revisar el campo “Error” nos marca lo siguiente: “Ocurrio un error al descargar cambios de Cliente|”
-Al revisar la tabla “Cliente” en el servidor, en el campo “Nombre” nos encontramos con este registro:
“CHEF'S CHOICE SAN PEDRO S.A. DE C.V.”
El cual contiene una comilla y hace conflictos en el query, debemos actualizar el registro para que no tenga la
comilla tanto en la tabla de “Cliente” y “ClienteLog”

Problema
En el archivo log marca la excepción “String or binary data would be truncated. The statement has been
terminated.'”

Causa
Este mensaje de error aparece cuando intenta insertar una cadena con más caracteres que la columna con
capacidad máxima.

Solución
Para este caso, encontramos que la columna “email” de la tabla “ClientePos” de “NetSilver”, tenía espacios los
cuales también cuentan como caracteres y sobrepasaban el tamaño del campo que está en el servidor.

Se hace un Update para corregir el registro.

update clientepos set email = 'yluviano@axera.com' where id = 237

Página 29
3. Facturación electrónica

3.1 ¿Cuáles son los problemas comunes cuando se quiere emitir una factura electrónica?

Problema
En la pantalla de Netsilver o en el servicio de envío marca el error “Se ha terminado la conexión: No se puede
establecer una relación de confianza…”

Causa
El certificado SSL no está instalado, por lo que no puede hacer peticiones al web service.

Solución
Instalar el certificado SSL en todas las terminales. Lo pueden descargar desde www.wansoft.net/wansoft.zip

Problema
No están subiendo las facturas a la base de datos web (producción).

Causa
El servicio de sincronización está apagado.

Solución
Iniciar el servicio de sincronización.

Revisar en logs si marcó alguna excepción o en el visor de eventos si el servicio se detuvo manualmente.

Problema
No están subiendo las facturas a la base de datos web (producción) y no marca error el servicio de
sincronización.

Causa
El cliente no tiene configurado el servicio de facturación electrónica (2).

Solución
Configurar el servicio de facturación electrónica (2) en la base de datos de producción. Después de 15 minutos
las facturas comenzarán a subir. Pueden reiniciar el servicio de sincronización para no esperar los 15 minutos.

Página 30
¿Cómo validar que las facturas están subiendo a producción?

Existen 2 formas:

1. La primer forma es revisando en la base de datos web si están llegando las facturas.

select top 5 * from Wansoft_ElectronicInvoice..InputDocument with(nolock)


where dbname = 'NombreBaseDatos'
order by registrationDate desc

Con esa consulta podrán conocer las últimas 5 facturas recibidas, la fecha y el estatus de cada una.

Estatus:
1 - Pendiente de procesar
2 - Procesándose
3 - Procesada exitosamente
4 - Error

2. La segunda forma es revisando en la base de datos local si están subiendo las facturas con la columna
“ControlEnvio”

select top 5 controlEnvio, * from facturasAclientes


order by movimiento desc

Estatus:
0 - Pendiente de enviar
2 - Enviada

Si las facturas están enviadas entonces no es un problema de envío. Si es un problema de envío revisar la
sección “Servicio de envío viejo y Servicio de sincronización”

Si tienen estatus 4 en producción entonces tienen que revisar las excepciones.

select * from wansoft_logging..exception e with(nolock)


where e.date > convert(varchar, getdate(),111)
and username = 'Wansoft.ElectronicInvoiceService'
order by e.date desc

Problema
Página 31
En la tabla de excepciones se genera la excepción “Comprobante invalido: The 'rfc' attribute is invalid”

Causa
El RFC capturado por el cliente no es correcto, según las reglas de RFC del SAT.

Solución
Comunicar al cliente el problema. Netsilver 6404 en adelante no permiten capturar un RFC inválido.

Problema
En la tabla de excepciones se genera la excepción “Ya existe un documento con la referencia “N” en la BD
“NombreBaseDatos”. InputDocumentId: NNNN…”

Causa
La factura se había generado previamente.

Solución
En este caso hacer caso omiso.

Problema
En la tabla de excepciones se genera la excepción “BaseDeDatos NombreBaseDatos no configurado para emitir
factura electrónica”

Causa
Posibles causas:
 El cliente no tiene configurado el servicio de facturación electrónica (2).
 El cliente tiene datos incorrectos.
 El cliente no está configurado correctamente.

Solución
Revisar con el script de validación que el cliente este configurado correctamente. Reportar a 2do nivel para la
configuración correcta y reproceso de facturas.

Problema
En la tabla de excepciones se genera la excepción “The operation has timed out” y el stackTrace tiene esto “at
System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at
System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Wansoft.ElectronicInvoice.com.interfactura.timbrado.WebService1.GeneraTimbre(String CFDv3, Boolean
Solotimbre)”

Página 32
Causa
Es un problema de conexión con Interfactura.

Solución
Reportar a 2do nivel para reproceso de facturas.

Problema
En la tabla de excepciones se genera la excepción “La fecha de emisión del comprobante esta fuera de rango
de 72 hrs para su timbrado”

Causa
La fecha del servidor de Wansoft está incorrecta.

Solución
Reportar esto a Ricardo Valadez, Jessica González o Uriel López. Después de corregir la fecha en servidor
reportar a 2do nivel para reproceso de facturas.

Problema
En la tabla de excepciones se genera la excepción
 “No hemos recibido un Certificado de Conexión adjunto a la petición”
 “Unable to connect to the remote server”
Causa
No se liberó el certificado de conexión correctamente.

Solución
Revisar la configuración del certificado de conexión:
 Sea el certificado de conexión proporcionado por Interfactura.
 Este configurado en la tabla de connectionCertificate.
 Se haya instalado en el servidor web (31).
 Se haya colocado en la carpeta correspondiente. (Revisar manual de configuración)

Reportar a 2do nivel para reproceso de facturas.

Problema
En la tabla de excepciones se genera la excepción “El RFC RFC no cuenta con un certificado de conexión
vigente”

Causa
El certificado de conexión venció

Solución
Página 33
Solicitar a Interfactura un nuevo certificado de conexión para ese RFC y configurarlo. Reportar a 2do nivel para
reproceso de facturas.

4. Servicio de sincronización

4.1 ¿Cómo identificar un error en el servicio de sincronización?

El servicio de sincronización genera un archivo log diario en la carpeta donde se encuentra instalado. Por
default la ruta de instalación es C:\Program Files (x86)\Wansoft\Wansoft.Synchronization

4.2 ¿Cuáles son los problemas comunes con el archivo de sincronización?

Problema
En el archivo log marca la excepción “La sucursal no está configurada en base de datos central.”

Causa
La configuración 1005 de la base de datos Netsilver no está configurada correctamente.

Solución
Revisar que el valor de la configuración 1005 sea el mismo que el valor del nombre de la base de datos de la
tabla sucursal

--NETSILVER
select * from sistemaconfiguracion
where id_configuracion = 1005

--PRODUCCION
select * from usuarios..sucursal where basededatos = ''

Si los nombres son diferentes será necesario generar un Update en la tabla SistemaConfiguracion con lo
siguiente:

Update SistemaConfiguracion set Valor='Nombre_bdd_en_produccion' where Id_Configuracion=1005

Problema
El servicio de sincronización se apaga solo. En el archivo log marca la excepción “Error en el nivel de transporte
al enviar la solicitud al servidor. (provider: Proveedor de memoria compartida, error: 0 - Se está cerrando la
canalización.)”
Página 34
Causa
El servicio SQL Browser está detenido y no se habilitaron las canalizaciones con nombre (Named Pipes)

Solución
Realizar los siguientes pasos:
1. Habilitar Named Pipes en SQL Server Configuration Manager.

2. Reiniciar el servicio de SQL Server desde la consola de servicios.

3. Reiniciar el servicio de SQL Server Browser desde la consola de servicios.

Referencias
http://blog.oscarscode.com/es/general-es/habilitar-protocolos-en-sql-server/
https://technet.microsoft.com/es-es/library/ms181087(v=sql.105).aspx

Problema
Error 1053: el servicio no respondió a tiempo a la solicitud de inicio de control.
Página 35
Causa
No se instaló el certificado en el servidor del cliente.

Solución
Realizar los siguientes pasos:

Vamos a la ventana ejecutar y escribimos “mmc” para ir a la consola

Seleccionamos la opción “Agregar o quitar complemento…”

Seleccionamos “Certificados” y le damos en “Agregar”.

Seleccionamos la opción “Cuenta de equipo”.

Página 36
Aquí realizaremos los mismos pasos con las carpetas “Personal/Certificados” y “Entidades de certificación de
Confianza”.

Buscamos la opción de importar.

Buscamos el PFX y seguimos los pasos de la importación.

El certificado se puede descargar de www.wansoft.net/wansoft.zip y la contraseña del PFX es: 12345

Página 37

También podría gustarte