Publicado el 1 comentario

Disponibilidad del servicio SQL y puerto 1400

  1. Dirigirse al icono de inicio de windows y seleccionar en la carpeta de Microsoft SQL Server 2005/Herramientas de Configuración/Administrador de Configuración
  2. Le aparecerá una pantalla como la siguiente en donde se muestra que los servicios de SQL SERVER 2005 (se encuentran en el rectángulo rojo) están activados.  Si alguno esta en color rojo, lo debe seleccionar, dando un clic con el botón derecho y elegir Propiedades
  3. Le aparecerá una ventana, seleccione la pestaña Servicio, posteriormente Automático en el Modo de inicio. Dar un clic en Aplicar y en Aceptar.
  4. Verifique que el Puerto 1400 este liberado, siga las instrucciones:
  5. En el icono Protocolos for SQLEXPRESS, verifique si los protocolos de SQL Server están habilitados
  6. Seleccione el Protocolo TCP/IP, Clic con el botón derecho y elegir propiedades
  7. Debe seleccionar la pestaña IP Addresses, verifique que en la parte inferior tenga el Puerto Dinámico 1400

+ IP All

TCP Dynamic Ports      1400

En caso de que no esté o aparezca en blanco, colocar el número de puerto 1400.

Publicado el Dejar un comentario

Ejemplo Verificador de Precios personalizado


El siguiente bloque de código permite realizar la consulta al catálogo de productos, verl las características y agregar el artículo al punto de venta.
Este código se implementa en el ambiente de desarrollo, creas un formulario; en la pestaña diseño solo agregas las etiquetas y textbox.

'jofelchez@gmail.com Jose Felix WhatsApp 7222816462
'Ejemplo de verificador de precios
Option Explicit
Dim mcp,mcl,mcm
Dim mca
Dim mcc
dim Busqueda,cCondicion
dim ApruebaEliminar
dim rstArticulo,rstClavesadd
dim rstArt
dim nPartida,n

Sub Form_Load()
'Lista.visible = false
'Grid.RowMode = True
Grid.MultiSelect = True

Me.Caption = "Verificador de Artículos"

lblArticulo.font.size = 14
lblDescripcion.font.size = 14
lblPrecio.font.size = 14
lblUnidad.font.size = 14
lblPresentacion.font.size = 14
lblCantPres.font.size = 14
'txtArticulo.ForeColor = vbGreen

LimpiarVentana
end sub

Sub Text_KeyDown()

Dim rstProds

if ControlEvento.Tag = "txtArticulo" Then
If KeyCode = 40 Then
Set Busqueda = CreateObject ("MyBBusquedaArticulos.BusquedaArticulos")
Set Busqueda.Ambiente = Ambiente
Set Busqueda.Control = txtArticulo
Busqueda.MuestraForma
Set Busqueda = Nothing
txtArticulo.SetFocus
Exit Sub
End if

End If

If KeyCode = 27 Then
DescargaForma
End If

End Sub

Function FDecimal(dValor)
FDecimal = Replace(dValor, ",", ".")
End Function

Sub Text_LostFocus()

If ControlEvento.Tag = "txtArticulo" Then
LimpiarVentana
call VerificarArticulo(txtArticulo)

End If

End Sub

sub VerificarArticulo(Articulo)

Dim s, s_adicional
dim Presentacion, Cant_Presentacion
Presentacion = ""
Cant_Presentacion = ""

cCondicion = ""
if txtArticulo <> "" then
cCondicion = cCondicion & " and prods.articulo = '" & txtArticulo & "' "
end if
s_adicional = ""

s = ""
s = s & "SELECT "
s = s & "prods.articulo As 'Articulo', "
s = s & "prods.descrip As 'Descripción', "
s = s & "impuestos.impuesto As 'Impuesto', "
'If Ambiente.rstEstacion("conimpuesto") <> 0 Then
' s = s & " precio1 * (1 + ( impuestos.valor / 100 )) As 'Precio 1', "
' s = s & " precio2 * (1 + ( impuestos.valor / 100 )) As 'Precio 2', "
' s = s & " precio3 * (1 + ( impuestos.valor / 100 )) As 'Precio 3', "
' s = s & "prods.costo_u * (1 + ( impuestos.valor / 100 )) As 'Costo Ultimo', "
'else
' s = s & " precio1 As 'Precio 1', "
' s = s & " precio2 As 'Precio 2', "
' s = s & " precio3 As 'Precio 3', "
' s = s & "prods.costo_u As 'Costo Ultimo', "
'end if
s = s & " precio1 * (1 + ( impuestos.valor / 100 )) As 'Precio 1', "
s = s & " precio2 * (1 + ( impuestos.valor / 100 )) As 'Precio 2', "
s = s & " precio3 * (1 + ( impuestos.valor / 100 )) As 'Precio 3', "
s = s & "prods.costo_u * (1 + ( impuestos.valor / 100 )) As 'Costo Ultimo', "

s = s & "prods.existencia As 'Existencia', "
s = s & "prods.linea As 'Línea', "
s = s & "prods.marca As 'Marca', "
s = s & "Fabricante As 'Fabricante', "
s = s & "Unidad As 'Unidad', "
s = s & "Invent As 'Control Inventario', "
s = s & "ParaVenta As 'Para venta', "
s = s & "Bloqueado As 'Bloqueado', "
s = s & "Bloqueado As 'Granel' "
s = s & "FROM prods INNER JOIN impuestos ON impuestos.impuesto = prods.impuesto "
s = s & "WHERE prods.articulo <> 'SYS' "

s_adicional = s & cCondicion
s_adicional = s_adicional & " ORDER BY 'Descripción' "

'mymessage "" & s_adicional
'SetSessionValue Ambiente, "SQLPRODUCTOS", s
Set rstArticulo = CreaRecordSet( "" & s_adicional , Ambiente.Connection )
'Set rstArticulo = CreaRecordSet( "SELECT * FROM tickettext where NombreTicket = ", Ambiente.Connection )

If rstArticulo.EOF Then
Set rstClavesadd = CreaRecordSet( "SELECT * FROM clavesadd WHERE clave = '" & txtArticulo & "'", Ambiente.Connection )

If Not rstClavesadd.EOF Then
'mymessage "si hay presentacion " & rstClavesadd("articulo")
'Set rstProd = CreaRecordSet( "SELECT * FROM prods WHERE articulo = '" & rstClavesadd("articulo") & "'", Ambiente.Connection )
Set rstArticulo = CreaRecordSet( "SELECT * FROM (" & s & ") a WHERE Articulo = '" & rstClavesadd("articulo") & "'", Ambiente.Connection )
Presentacion = rstClavesadd("clave") & " - " & rstClavesadd("dato1")
Cant_Presentacion = Val2(rstClavesadd("Cantidad"))
End If

End If

If Not rstArticulo.EOF then 'clEmpty(rstArticulo("Artículo")) Then
txtArticulo = rstArticulo("Articulo")
lblArticulo = "Artículo: " & rstArticulo("Articulo")
lblDescripcion = "Descripción: " & rstArticulo("Descripción")
lblPrecio = "Precio: " & formato(rstArticulo("Precio 1"),"##,##0.00" )
lblUnidad = "Unidad: " & rstArticulo("Unidad")
if Presentacion <> "" then
lblPresentacion = "Presentación: " & Presentacion
lblCantPres = "Cantidad presentación: " & Cant_Presentacion
end if
End If

end sub

Sub NuevaPartida(rstArticulo, nPrecio)
on error resume next
Set rstVenta = Rst("SELECT venta FROM ventas WHERE venta = " & ParentObject.Venta, Ambiente.Connection)
'mymessage "" & rstArticulo & nPrecio
If rstVenta.EOF Then
SalvaVenta False
End If

Query.Reset
Query.strState = "INSERT"
Query.AddField "partvta", "clave", ""
Query.AddField "partvta", "prcantidad", 1
Query.AddField "partvta", "venta", ParentObject.Venta
Query.AddField "partvta", "articulo", rstArticulo("Articulo")
Query.AddField "partvta", "cantidad", 1
Query.AddField "partvta", "precio", nPrecio / ParentObject.tipoDeCambio
Query.AddField "partvta", "preciobase", rstArticulo("precio1") / ParentObject.tipoDeCambio
Query.AddField "partvta", "descuento", 0
Query.AddField "partvta", "impuesto", rstArticulo("valor")
Query.AddField "partvta", "observ", Trim(rstArticulo("Descrip"))
Query.AddField "partvta", "partida", 0
Query.AddField "partvta", "usuario", ParentObject.Ambiente.uId
Query.AddField "partvta", "usufecha", Date
Query.AddField "partvta", "usuhora", Formato(Time, "HH:mm:ss")
Query.AddField "partvta", "almacen", 1
Query.AddField "partvta", "lista", 1
Query.AddField "partvta", "caja", ParentObject.Ambiente.Estacion
Query.AddField "partvta", "estado", "PE"
Query.AddField "partvta", "devconf", 0
Query.AddField "partvta", "iespecial", rstArticulo("iEspecial")
Query.AddField "partvta", "kit", rstArticulo("kit")
Query.AddField "partvta", "costo_u", rstArticulo("costo_u")
Query.AddField "partvta", "costo", rstArticulo("costo")
Query.AddField "partvta", "donativo", rstArticulo("Donativo") / ParentObject.tipoDeCambio
Query.AddField "partvta", "invent", 1
Query.Exec

nPartida = LastInsertedId(ParentObject.Ambiente.Connection)

ParentObject.fg2.Redraw = False

For n = ParentObject.UltimaPartida To ParentObject.fg2.Rows - ParentObject.fg2.FixedRows
If clEmpty(fg2.TextMatrix(n, 0)) Then
ParentObject.fg2.TextMatrix(n, 10) = 1
ParentObject.fg2.TextMatrix(n, 0) = rstArticulo("Articulo")
ParentObject.fg2.TextMatrix(n, 1) = 1
ParentObject.fg2.TextMatrix(n, 2) = nPrecio / ParentObject.tipoDeCambio
ParentObject.fg2.TextMatrix(n, 3) = Formato(0, formatoDeDinero)
ParentObject.fg2.TextMatrix(n, 5) = Formato(rstArticulo("Valor"), Ambiente.FDinero)
ParentObject.fg2.TextMatrix(n, 6) = Trim(rstArticulo("Descrip"))
ParentObject.fg2.TextMatrix(n, 14) = Formato(rstArticulo("iEspecial"), Ambiente.FDinero)
ParentObject.fg2.Row = n
ParentObject.fg2.Col = 6
ParentObject.fg2.CellFontBold = True
ParentObject.fg2.Col = 1
ParentObject.fg2.TextMatrix(n, 7) = nPartida
ParentObject.fg2.TextMatrix(n, 8) = 1
ParentObject.fg2.TextMatrix(n, 9) = 1
ParentObject.fg2.TextMatrix(n, 12) = Val2(rstArticulo("costo_u"))
ParentObject.fg2.TextMatrix(n, 17) = Val2(rstArticulo("Donativo")) / ParentObject.tipoDeCambio

ParentObject.UltimaPartida = n
AjustaPartida (n)

Exit For

End If
Next

ParentObject.CantidadDeArticulos = 0
ParentObject.Peso = 0

CalculaImportes
ParentObject.fg2.Redraw = True

ParentObject.Peso = 0
End Sub

Sub Button_click()

Select Case ControlEvento.Tag
Case "cmdAgregarPartida"
'Agregamos la recarga al punto de venta a través de NuevaPartida
Set rstArt = Rst("SELECT prods.*, impuestos.valor FROM prods, impuestos WHERE prods.impuesto = impuestos.impuesto " & _
" and prods.articulo = '" & txtArticulo & "' ", Ambiente.Connection)
If not rstArt.EOF Then
'SalvaVenta False
NuevaPartida rstArt, Val2(rstArt("precio1"))
End If

End Select
txtArticulo.SetFocus
End Sub

Sub LimpiarVentana()
lblArticulo = "Artículo: "
lblDescripcion = "Descripción: "
lblPrecio = "Precio: "
lblUnidad = "Unidad: "
'if Presentacion <> "" then
lblPresentacion = " "
lblCantPres = " "
'end if
end sub

Publicado el Dejar un comentario

Reconstruir índices en Sql Server

microsoft_sql_server_indice_indexEn este tema se describe cómo volver a generar un índice o todos los índices de una tabla mediante el Explorador de objetos en SQL Server Management Studio. Cuando se vuelve a generar un índice, dicho índice se elimina y se vuelve a crear. De este modo, se elimina la fragmentación, se recupera el espacio de disco mediante la compactación de las páginas según el valor del factor de llenado existente y se vuelven a ordenar las filas del índice en páginas contiguas. Para obtener más información acerca de la fragmentación de índices, vea Reorganizar y volver a generar índices.

Para volver a generar un índice

  1. En el Explorador de objetos, realice la conexión a una instancia de SQL Server Database Engine (Motor de base de datos de SQL Server) y, a continuación, expándala.
  2. Expanda Bases de datos, expanda la base de datos que contiene la tabla con el índice especificado y, a continuación, expanda Tablas.
  3. Expanda la tabla a la que pertenece el índice y, a continuación, expanda Índices.
  4. Haga clic con el botón secundario en el índice que desee volver a generar y, a continuación, haga clic en Volver a generar.
  5. Para iniciar la operación de regeneración, haga clic en Aceptar.

Para volver a generar todos los índices de una tabla

  1. En el Explorador de objetos, realice la conexión a una instancia de SQL Server Database Engine (Motor de base de datos de SQL Server) y, a continuación, expándala.
  2. Expanda Bases de datos, expanda la base de datos que contiene la tabla con los índices especificados y, a continuación, expanda Tablas.
  3. Expanda la tabla a la que pertenecen los índices.
  4. Haga clic con el botón secundario en Índices y, a continuación, haga clic en Volver a generar todo.
  5. Para iniciar la operación de recreación, haga clic en Aceptar.

Fuente:

Ticket generado por el editor de ticket

Descarga el formato de ticket de ejemplo para que conozcas el alcance de nuestro editor de ticket.