Consulta Rápida de Líneas de Pedidos de Ventas con información de diseño de ventanas.
Cada línea de la consulta es una línea de Pedido de Ventas. En el caso de Grupos y Cerramientos muestra las líneas individuales, no el grupo.
Tipo de Base de datos | SQL Server |
Aplicaciones | Productor Aluminio |
Filtros. Fecha | vdoc.fecha |
Filtros. Cliente | vdoc.cliente |
Filtros. Acabado | vlin.Acabado |
Texto SQL de la consulta
select vlin.nlinea, vdoc.Numero as NumeroPedido,vdoc.fecha,vlin.Ancho,vlin.Largo,VLin.Referencia,VLin.Cdad as Cantidad,vlin.Articulo,vlin.Descripcion
,isnull(vdle.Conjunto1,'') as SeriePerfiles,isnull(ctoser.Descripcion,'') as SeriePerfilesDescr
,isnull(vdle.Conjunto2,'') as Vidrio,isnull(ctoVid.Descripcion,'') as VidrioDescr
,case when vdle.Conjunto2 is null or vdle.Conjunto2 in ('','SV','V','VC') or left(vdle.Conjunto2,2)='SV' then 'NO' else 'SI' end as VidrioSiNo
,case when vlin.EstructuraSN=1 and estr.DisAutoSN=1 then isnull((select max(vacc.Accesorio) from VAccesorios vacc where vacc.TipoDoc='VPED' and vacc.nLinEstr=vlin.nLinea and vacc.FamiliaAcc='100'),'') else '' end as Compacto
,case when vlin.EstructuraSN=1 and estr.DisAutoSN=1 then case when (select max(vacc.Accesorio) from VAccesorios vacc where vacc.TipoDoc='VPED' and vacc.nLinEstr=vlin.nLinea and vacc.FamiliaAcc='100') is null then 'NO' else 'SI' end else 'NO' end as CompactoSiNo
,vlin.Acabado + case when vlin.acaTonalidad='*' then '' else '-'+vlin.AcaTonalidad end as AcabadoYTonalidad
,aca.Descripcion + case when vlin.acaTonalidad='*' then '' else ' - '+acaton.Descripcion end as AcabadoYTonalidadDescr
,case when vlin.EstructuraSN=1 and estr.DisAutoSN=1 then (select count(*) from VPedidosLin vldet inner join VDatosLinDetDis vddis on vldet.nLinea=vddis.nVLinea where vldet.nEstr=vlin.nLinea and vddis.Grupo in ('TMZ','THZ','TMP','TMG','THP','THG'))*VLin.Cdad else 0 end as CantidadPostes
,case when vlin.EstructuraSN=1 and estr.DisAutoSN=1 then isnull((select sum(Cantidad) from EstructurasArticulos ea where ((vdle.DisEspecificoSN=1 and ea.TipoDoc='VPED' and ea.nLinEstr=vlin.nLinea) or (vdle.DisEspecificoSN=0 and ea.TipoDoc='') )
and ea.Estructura=vlin.Articulo and ea.DisComponente='39' and ea.DisVidrio in ('10','11','12','13','14','15','16','17','19','20','22','23','26','24','25','42','27','28'))*VLin.Cdad,0) else 0 end as CantidadHojas
from VPedidosLin VLin inner join VPedidos VDoc on vlin.ndoc=vdoc.Id
left join VDatosDiseño vdd on vlin.nLinea=vdd.nLinEstr and vdd.TipoDoc='VPED'
left join VDatosLinEstr vdle on vlin.nLinea=vdle.nVLinea and vdle.TipoDoc='VPED'
left join Estructuras estr on vlin.Articulo=estr.codigo
left join Conjuntos ctoSer on vdle.Conjunto1=ctoser.Codigo left join Conjuntos ctoVid on vdle.Conjunto2=ctoVid.Codigo
left join Acabados aca on vlin.Acabado=aca.codigo left join AcaTonalidades acaTon on vlin.Acabado=acaton.Acabado and vlin.AcaTonalidad=acaton.Tonalidad
where vlin.nestr=0
<condiciones>
order by vdoc.fecha,vdoc.Numero,vlin.nOrden,vlin.nLinea
CantidadHojas
Indica la cantidad total de hojas en la línea de pedido.
Si es una línea con 2 unidades de una ventana de 2 hojas, indicará 4 como cantidad de hojas
CantidadPostes
Indica la cantidad total de travesaños en la línea de pedido.
Si es una línea con 5 unidades de una ventana de 1 hoja con fijo superior y travesaño en la hoja, indicará 10 como cantidad de travesaños (5 del travesaño que genera el fijo y 5 del travesaño en la hoja)
VidrioSiNo
La columna VidrioSiNo indica si lleva Vidrio.
Considera que Si lleva vidrio en estos casos: Vidrio código SV, V o VC, Vidrio con código empieza por SV