ARTICULOS STOCK DISPONIBLE

Esta vista permite ver desde la pantalla de seleccion de articulos el stock disponible entendido como: stock + compras pendientes – ventas pendientes +/- ordenes produccion pendientes

SELECT ARTICULO.CODART
, ARTICULO.DESCART
, STOCK.STOCK
, RESERVAS.COMPRAS
, RESERVAS.VENTAS
, RESERVAS.OP
, COALESCE(STOCK.STOCK,0)+COALESCE(RESERVAS.COMPRAS,0)-COALESCE(RESERVAS.VENTAS,0)+COALESCE(RESERVAS.OP,0) DISPONIBLE

FROM ARTICULO WITH (NOLOCK)
LEFT JOIN (SELECT CodArt, SUM(UnidadesStock) AS Stock FROM dbo.StockAct GROUP BY CodArt) AS STOCK ON STOCK.CODART=ARTICULO.CODART
LEFT JOIN (SELECT Codart, SUM(Compras) AS Compras, SUM(Ventas) AS Ventas, SUM(Ordenes) AS OP FROM dbo.Reservas GROUP BY Codart) AS RESERVAS ON RESERVAS.CODART=ARTICULO.CODART

WHERE ( [DevolverRegistros, SysName, 1 = 1])
AND ( [CondicionTabla, SysName, 1 = 1])
AND ( [Filtro, SysName, 1 = 1])
AND ( ( ‘[TextoBusqueda, SysName, ”]’ = ”) OR
( ARTICULO.CODART LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( ARTICULO.DESCART LIKE ‘%[TextoBusqueda, SysName, ”]%’))
ORDER BY ARTICULO.CODART, ARTICULO.DESCART

CLIENTES DATOS BANCARIOS

Esta vista permite ver desde la pantalla de seleccion de clientes sus datos bancarios. Como ademas incluye el documento de pago podemos filtrar para revisar los que sean de Recibo

SELECT CLIENTES.IDORG
, CLIENTES.CODCLI
, CLIENTES.NOMCLI
, CLIENTES.TELCLI
, CLIENTES.DOCPAG
, DOMBANCA.IBANEXT
, DOMBANCA.CUENTAEXT
, DOMBANCA.MANDATOTIPO
, DOMBANCA.MANDATOTIPOADEUDO
, DOMBANCA.MANDATOCONFIRMADO

FROM CLIENTES WITH (NOLOCK)
LEFT JOIN DOMBANCA ON DOMBANCA.CODCLI=CLIENTES.CODCLI
WHERE ( [DevolverRegistros, SysName, 1 = 1])
AND ( [CondicionTabla, SysName, 1 = 1])
AND ( [Filtro, SysName, 1 = 1])
AND ( ( ‘[TextoBusqueda, SysName, ”]’ = ”) OR
( CLIENTES.CODCLI LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CLIENTES.NOMCLI LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CLIENTES.TELCLI LIKE ‘%[TextoBusqueda, SysName, ”]%’))
ORDER BY CLIENTES.CODCLI, CLIENTES.NOMCLI, CLIENTES.TELCLI

CLIENTES ESTADISTICA FACTURAS

Esta vista permite ver desde la pantalla de seleccion de clientes las ventas de cada cliente del año en curso, comparadas con las del año anterior y el % de incremento

SELECT CLIENTES.IDORG, CLIENTES.CODCLI, CLIENTES.NOMCLI
,FACTURASAÑO.BASE_AÑO
,FACTURASAÑO_1.BASE_AÑO_1
,(FACTURASAÑO.BASE_AÑO-FACTURASAÑO_1.BASE_AÑO_1)/FACTURASAÑO_1.BASE_AÑO_1*100 INCREMENTO

FROM CLIENTES WITH (NOLOCK)

LEFT JOIN (SELECT CODCLI,SUM(BASE) BASE_AÑO FROM CABEFACV WHERE DatePart(yy, CABEFACV.FECHA)=DatePart(yy,getdate()) GROUP BY CODCLI) AS FACTURASAÑO ON FACTURASAÑO.CODCLI=CLIENTES.CODCLI

LEFT JOIN (SELECT CODCLI,SUM(BASE) BASE_AÑO_1 FROM CABEFACV WHERE DatePart(yy, CABEFACV.FECHA)=DatePart(yy,getdate())-1 GROUP BY CODCLI) AS FACTURASAÑO_1 ON FACTURASAÑO_1.CODCLI=CLIENTES.CODCLI

WHERE ( [DevolverRegistros, SysName, 1 = 1])
AND ( [CondicionTabla, SysName, 1 = 1])
AND ( [Filtro, SysName, 1 = 1])
AND ( ( ‘[TextoBusqueda, SysName, ”]’ = ”) OR
( CLIENTES.CODCLI LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CLIENTES.NOMCLI LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CLIENTES.TELCLI LIKE ‘%[TextoBusqueda, SysName, ”]%’))
ORDER BY CLIENTES.CODCLI, CLIENTES.NOMCLI, CLIENTES.TELCLI

ARTICULOS PRECIOS DE COMPRA

Esta vista permite ver desde la pantalla de seleccion de articulos los distintos proveedores a los que podemos comprar un articulo, con su precio y sus descuentos

Relaciona entre si la tabla de precios especiales y descuentos especiales por proveedor y articulo. No tiene en cuenta las unidades ni las fechas

SELECT ARTICULO.CODART, ARTICULO.DESCART,
ARTICULO.CODPRO PREFERENTE,
PRCESP.CODPRO,
PROVEED.NOMPRO,
PRCESP.PRECIO,
COALESCE(DESCUENT.DESC1,0) DTO1,
COALESCE(DESCUENT.DESC2,0) DTO2,
COALESCE(DESCUENT.DESC3,0) DTO3,
round(((PRCESP.PRECIO((100-COALESCE(DESCUENT.DESC1,0))/100))((100-COALESCE(DESCUENT.DESC2,0))/100))*((100-COALESCE(DESCUENT.DESC3,0))/100),2) PrecioNeto

FROM ARTICULO WITH (NOLOCK)
LEFT JOIN PRCESP ON PRCESP.CODART=ARTICULO.CODART
LEFT JOIN PROVEED ON PROVEED.CODPRO=PRCESP.CODPRO
LEFT JOIN DESCUENT ON DESCUENT.CODPRO=PRCESP.CODPRO AND DESCUENT.CODART=PRCESP.CODART
WHERE ( [DevolverRegistros, SysName, 1 = 1])
AND ( [CondicionTabla, SysName, 1 = 1])
AND ( [Filtro, SysName, 1 = 1])
AND ( ( ‘[TextoBusqueda, SysName, ”]’ = ”) OR
( ARTICULO.CODART LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( ARTICULO.DESCART LIKE ‘%[TextoBusqueda, SysName, ”]%’))
ORDER BY ARTICULO.CODART, ARTICULO.DESCART

Stock varios almacenes

Esta vista permite ver desde la pantalla de seleccion de articulos el stock en sitintos almacenes: cada almacen en una columna

SELECT ARTICULO.CODART, ARTICULO.DESCART,
STO1.UNIDADES ALM1,
STO2.UNIDADES ALM2
FROM ARTICULO WITH (NOLOCK)
LEFT JOIN __STOCKALMART STO1 ON STO1.CODART=ARTICULO.CODART AND LTRIM(STO1.CODALM)=’1′
LEFT JOIN __STOCKALMART STO2 ON STO2.CODART=ARTICULO.CODART AND LTRIM(STO2.CODALM)=’2′

WHERE ( [DevolverRegistros, SysName, 1 = 1])
AND ( [CondicionTabla, SysName, 1 = 1])
AND ( [Filtro, SysName, 1 = 1])
AND ( ( ‘[TextoBusqueda, SysName, ”]’ = ”) OR
( ARTICULO.CODART LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( ARTICULO.DESCART LIKE ‘%[TextoBusqueda, SysName, ”]%’))
ORDER BY ARTICULO.CODART, ARTICULO.DESCART

DETALLE DE LOTES CON SU STOCK

Esta vista permite ver desde la pantalla de seleccion de articulos todos los lotes que hay con su stock

SELECT ARTICULO.CODART, ARTICULO.DESCART
,STOCKALM.LOTE
,STOCKALM.UNIDADES
,STOCKALM.CODALM

FROM ARTICULO WITH (NOLOCK)
LEFT OUTER JOIN STOCKALM
ON STOCKALM.CODART=ARTICULO.CODART

WHERE ( [DevolverRegistros, SysName, 1 = 1])
AND ARTICULO.HAYLOTES=’T’
AND ( [CondicionTabla, SysName, 1 = 1])
AND ( [Filtro, SysName, 1 = 1])
AND (
( ‘[TextoBusqueda, SysName, ”]’ = ”) OR
( ARTICULO.CODART LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( ARTICULO.DESCART LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( STOCKALM.LOTE LIKE ‘%[TextoBusqueda, SysName, ”]%’)
)

ORDER BY ARTICULO.CODART, ARTICULO.DESCART

Pedidos ventas pendientes

Esta vista permite ver los pedidos ventas pendientes de recibir, con el IMPORTE PENDIENTE

SELECT LINEAS.SITUACION, CABEPEDV.IDPEDV, CABEPEDV.TIPOCONT, CABEPEDV.SERIE, CABEPEDV.NUMDOC, CABEPEDV.FECHA, CABEPEDV.REFERENCIA, CABEPEDV.CODCLI, CABEPEDV.NOMCLI,
Lineas.FecEntrega Fecha_Entrega, Lineas.CodArt Articulo, Lineas.DescLin Descripcion, Lineas.Unidades,
Lineas.uniservida as Servidas, Lineas.unianulada as Anuladas, Lineas.Unidades-Lineas.UniServida-Lineas.UniAnulada as Pendientes,
DATEDIFF( dd, Lineas.FecEntrega, GetDate()) as Dias,
Lineas.BaseMoneda/Lineas.Unidades*(Lineas.Unidades-Lineas.UniServida-Lineas.UniAnulada) as Importe

FROM CABEPEDV WITH (NOLOCK)
LEFT OUTER JOIN LinePedi Lineas WITH(NOLOCK) ON Lineas.IdPedV = CabePedV.IdPedV
LEFT OUTER JOIN Articulo WITH(NOLOCK) ON Articulo.CodArt = Lineas.CodArt
LEFT OUTER JOIN Clientes WITH(NOLOCK) ON Clientes.CodCli = CabePedV.CodCli

WHERE ( [DevolverRegistros, SysName, 1 = 1])
AND LINEAS.SITUACION=’A’ AND LINEAS.UNIDADES<>0
AND ( [CondicionTabla, SysName, 1 = 1])
AND ( [Filtro, SysName, 1 = 1])
AND ( [CondicionIdentificadores, SysName, 1 = 1])
AND ( [CondicionCodigo, SysName, 1 = 1])
AND ( [CondicionRepresentante, Sysname, 1 = 1])
AND ( [CondicionFechasDocumento, SysName, 1 = 1])
AND ( [CondicionNumeroDocumento, Sysname, 1 = 1])
AND ( [CondicionReferenciaDocumento, Sysname, 1 = 1])
AND ( [CondicionSituacionDocumento, Sysname, 1 = 1])
AND ( ( ‘[TextoBusqueda, SysName, ”]’ = ”) OR
( CABEPEDV.SITUACION LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CABEPEDV.IDPEDV LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CABEPEDV.TIPOCONT LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CABEPEDV.SERIE LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CABEPEDV.NUMDOC LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CABEPEDV.FECHA LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CABEPEDV.REFERENCIA LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CABEPEDV.CODCLI LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR
( CABEPEDV.NOMCLI LIKE ‘%[TextoBusqueda, SysName, ”]%’))
ORDER BY CABEPEDV.TIPOCONT, CABEPEDV.SERIE, CABEPEDV.NUMDOC, CABEPEDV.FECHA, CABEPEDV.REFERENCIA, CABEPEDV.CODCLI, CABEPEDV.NOMCLI

DESCUADRE PROVEEDORES: ANTICIPOS, CARTERA PENDIENTE Y SALDOS

Esta vista SQL permite ver el descuadre de proveedores, separado por anticipos y cartera pendiente, y compararlo con el saldo contable.

Los proveedores que salgan en la vista es que alguna cosa no cuadra entre contabilidad y cartera.

SELECT PROVEED.IDORG, PROVEED.CODPRO, PROVEED.NOMPRO, PROVEED.CUENTA,  ANTICIPOS.ANTICIPO,  CARTERA.PENDIENTE,  DIARIO.SALDO,  (DIARIO.Saldo + COALESCE (CARTERA.Pendiente, 0) + COALESCE (ANTICIPOS.Anticipo, 0))  AS DIFERENCIA 

FROM PROVEED  WITH (NOLOCK) 

LEFT OUTER JOIN (SELECT CODPRO, SUM(IMPORTE – IMPACUENTA) AS Anticipo FROM CARTERA WHERE (COBPAG = ‘P’) AND (ANTICIPO = ‘A’) GROUP BY CODPRO) AS ANTICIPOS ON ANTICIPOS.CODPRO=PROVEED.CODPRO 

LEFT OUTER JOIN (SELECT CODPRO, SUM(IMPORTE) AS Pendiente FROM CARTERA WHERE (COBPAG = ‘P’) AND (PAGADO = ‘F’) GROUP BY CODPRO) AS CARTERA ON CARTERA.CODPRO=PROVEED.CODPRO

LEFT OUTER JOIN (SELECT APUNTES.CUENTA, SUM(APUNTES.DEBE – APUNTES.HABER) AS Saldo FROM APUNTES GROUP BY APUNTES.CUENTA) AS DIARIO ON DIARIO.CUENTA=PROVEED.CUENTA
  WHERE ( [DevolverRegistros, SysName, 1 = 1])    AND ( [CondicionTabla, SysName, 1 = 1])    AND ( [Filtro, SysName, 1 = 1])    AND ( ( ‘[TextoBusqueda, SysName, ”]’ = ”) OR          ( PROVEED.CODPRO LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR          ( PROVEED.NOMPRO LIKE ‘%[TextoBusqueda, SysName, ”]%’) OR          ( PROVEED.TELPRO LIKE ‘%[TextoBusqueda, SysName, ”]%’))  AND (DIARIO.Saldo + COALESCE (CARTERA.Pendiente, 0) + COALESCE (ANTICIPOS.Anticipo, 0) <> 0) 

ORDER BY PROVEED.CODPRO, PROVEED.NOMPRO, PROVEED.TELPRO

Usa subconsultas para obtener la cartera pendiente, los anticipos no cobrados y el saldo contable