Quantcast
Channel: SCN : Discussion List - SAP Business One (Español)
Viewing all articles
Browse latest Browse all 2061

Recopilatorio de Queries

$
0
0

Hola buenas tardes.

A modo granito de arena adjunto recopilatorio de queries que pueden serles de ayuda.

No adjunto el autor de cada uno porque sería un trabajo minucioso. Si alguno de Ustedes quiere aportar algún otro sería estupendo.

Gracias a todos! Un saludo.

 

CLIENTES, TOTAL FACTURADO,IVA, GANACIA Y TOTAL FACTURADO.

 

SELECT T0.CardCode, T0.CardName, Count(T0.DocNum)'NºDoctos', SUM(T0.DocTotal)'Total Facturas', SUM(T0.VatSum)'Total Impuesto', SUM(T0.DocTotal-T0.VatSum)'Total Base o neto', SUM(T0.GrosProfit)'Ganancia', SUM(T0.DocTotal-T0.PaidToDate)'Pendiente'

FROM OINV T0

WHERE T0.DocDate BETWEEN '[%0]' AND '[%1]'

GROUP BY T0.CardCode, T0.CardName

UNION

SELECT T0.CardCode, T0.CardName, Count(T0.DocNum)'NºDoctos', -SUM(T0.DocTotal)'Total Facturas', -SUM(T0.VatSum)'Total Impuesto', -SUM(T0.DocTotal-T0.VatSum)'Total Base o neto', -SUM(T0.GrosProfit)'Ganancia', -SUM(T0.DocTotal-T0.PaidToDate)'Pendiente'

FROM ORIN T0

WHERE T0.DocDate BETWEEN '[%0]' AND '[%1]'

GROUP BY T0.CardCode, T0.CardName

 

 

PAGARÉS EN EL CAJÓN:

 

SELECT T0.BoeStatus As "Status de efecto", T0.CardCode As "Código IC", T0.CardName As "Nombre de interlocutor comercial", T0.BoeNum As "Número de efecto", T0.BoeType As "Clase de efecto", T0.DueDate As "Vencimiento de efecto", T0.BoeSumSC As "Importe de efecto (MS)", T0.DpsBankCod As "Proyecto", T0.BPBankCod As "IC Código de banco", T0.BPBankNam As "IC Nombre de banco", T0.BPBankAct As "Cuenta bancaria IC", T0.BPBankBrnc As "IC Sucursal bancaria", T0.BPBankCtr As "IC País del banco", T0.ControlKey As "ID interna control bancos IC", T0.PayMethCod As "Total del documento sin IVA", T0.PymMethNam As "Saldo Haber", T0.AgentCode As "Código de agente" FROM OBOE T0 WHERE T0.BoeStatus = N'G'   ORDER BY T0.BoeStatus,T0.CardCode

 

 

LISTADO DE INCIDENCIAS

 

SELECT Num=T0.[ClgCode],Año=year(T0.[Recontact]),Mes=month(T0.[Recontact]) ,Fecha=T0.[Recontact], Hora=T0.[BeginTime],

T3.[Name] as 'Tipo',

T2.[Name]  as 'Asunto',

T1.FirstName+' '+T1.LastName as 'Responsable',

T0.[Details] as 'Comentarios', T0.[Notes] as 'Contenido', T0.[U_SEIAcInm] as 'Acción Inmediata', T0.[U_SEI_feAc] as 'Fecha Acción Inmediata', T0.[U_SEI_Resp] as 'Responsable Acción Inmediata', T0.[U_SEI_Desc] as 'Descripción Cierre', T0.[U_SEI_RespC] as 'Responsable Cierre',T0.[Closed] as 'Cerrado', T0.[CloseDate] 'Fecha Cierre Sistema' , U_SEI_fecc as' Fecha Cierre', T0.[U_SEICOST]  as 'Cost' FROM OCLG T0 LEFT JOIN OHEM T1 ON T0.AttendEmpl = T1.empID

LEFT JOIN [dbo].[OCLS] T2  ON T2.[Code] = T0.[CntctSbjct] 

LEFT JOIN [dbo].[OCLT] T3  ON T3.[Code] = T2.[Type]

 

INCIDENCIAS SIN CERRAR:

 

SELECT T0.[ClgCode], T0.[CardCode], T0.[Notes], T0.[Action], T0.[CntctType]

FROM OCLG T0

WHERE ISNULL(cast(T0.[Notes] as varchar(10)), '') <> '' and closed='N'

 

 

QUE TRANSFERENCIA HEMOS RECIBIDO DEL CLIENTE Y EN QUE DIA:

 

SELECT DISTINCT

T1.DocDate,

T0.CardCode,

T0.CardName,

T2.DocNum AS 'Inc Pay Nbr',

T1.DocTotal AS 'Appl Amt'

FROM OCRD T0

LEFT OUTER JOIN ORCT T1

ON T0.CardCode = T1.CardCode

INNER JOIN ORCT T2

ON T1.DocNum = T2.DocNum

AND T2.TrsfrAcct IS NOT NULL

WHERE

T1.DocDate >= '[%0]'

AND T1.DocDate <= '[%1]'

ORDER BY

T1.DocDate DESC,

T0.CardCode,

T0.CardName,

T2.DocNum,

T1.DocTotal

FOR BROWSE

 

 

¿Cuánto DEBEN LOS CLIENTES Y EL TOTAL DE FACTURAS?:

 

SELECT T0.[CardCode], T0.[CardName], T0.[Balance], T0.[OrdersBal],  T0.[DNotesBal], T0.[ChecksBal],

     'Pedidos'=(SELECT SUM(T10.DocTotal) FROM ORDR T10 WHERE T10.CardCode = T0.CardCode

     AND T10.DocDate BETWEEN '[%0]' AND '[%1]'),

     /* Trae la suma de total de documento de pedidos en rango de fechas*/

     'Facturas'=(SELECT SUM(T10.DocTotal) FROM OINV T10 WHERE T10.CardCode = T0.CardCode

     AND T10.DocDate BETWEEN '[%0]' AND '[%1]' AND T10.DocSubType NOT LIKE 'DN'),

     /*Trae  suma facturas en el rango de fechas*/

     'NC'=(SELECT SUM(T10.DocTotal) FROM ORPC T10 WHERE T10.CardCode = T0.CardCode AND T10.DocDate

     BETWEEN '[%0]' AND '[%1]'),

     'ND'=(SELECT SUM(T10.DocTotal) FROM OINV T10 WHERE T10.CardCode = T0.CardCode AND T10.DocDate

     BETWEEN '[%0]' AND '[%1]' AND T10.DocSubType LIKE 'DN')

FROM OCRD T0

WHERE T0.[CardType] LIKE 'C'

 

 

TOP 10 CLIENTES:

 

SELECT TOP 10 T0.CardCode, MAX(T0.Cardname) as Customer, SUM(T0.doctotal) as "Amount(LC)"

FROM dbo.OINV T0

WHERE t0.docdate BETWEEN [%0] AND [%1]

GROUP BY T0.CardCode

Order by SUM(T0.doctotal) DESC

 

 

ALARMA STOCK AL MINIMO:

 

SELECT T0.ItemCode, T0.ItemName, T0.OnHand, T0.SuppCatNum, T0.MinLevel

FROM   OITM T0

WHERE  MinLevel ! = 0 and OnHand < MinLevel

 

¿QUE HAY EN EL ALMACEN?

 

SELECT T0.[WhsCode], T2.[WhsName], T0.[ItemCode], T1.[ItemName],

ROUND(SUM(CASE M.InQty

          WHEN 0 THEN -1*M.CalcPrice*M.OutQty

          ELSE M.CalcPrice*M.InQty

END),2) AS [Valor],

(ISNULL(SUM(M.InQty)-SUM(M.OutQty),0)) AS [Stock]

FROM OINM M

INNER JOIN OITW T0 ON M.ItemCode=T0.ItemCode AND M.Warehouse=T0.WhsCode

INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode

INNER JOIN OWHS T2 ON T0.WhsCode = T2.WhsCode

WHERE M.DocDate <= '[%1]'

GROUP BY T0.WhsCode, T2.WhsName, T0.ItemCode, T1.ItemName

ORDER BY T0.[WhsCode], T0.[ItemCode]

 

FACTURAS DE PROVEEDORES PAGADAS POR MES Y DIA EN TABLA CALENDARIO:

 

SET LANGUAGE Spanish   

DECLARE @TOP INT, @F_INI DATETIME, @F_FIN DATETIME, @COND_1 CHAR(1), @COND_2 CHAR(1) 

SET @TOP=(SELECT TOP 1 A.TransId FROM [dbo].[JDT1] A WHERE A.RefDate>='[%0]' AND A.RefDate<='[%1]')   

SET @F_INI='[%0]'   

SET @F_FIN='[%1]' 

SET @COND_1='N' 

SET @COND_2='S' 

SELECT DISTINCT B.DocDate AS DocDate, CONVERT(NVARCHAR, B.DocDate, 103) AS Fecha 

INTO #FECHAS 

FROM OVPM B 

WHERE B.DocDate BETWEEN @F_INI AND @F_FIN   

ORDER BY 1 

DECLARE @pvt_table NVARCHAR(MAX)   

SELECT @pvt_table = COALESCE(@pvt_table + ',[' + C.Fecha + ']', '[' + C.Fecha + ']')   

FROM #FECHAS C 

ORDER BY C.DocDate  

DECLARE @Pvt NVARCHAR(MAX)   

SET @Pvt =    

N'   

SELECT *   

FROM ( 

SELECT DISTINCT T0.CardCode AS CardCode, T0.CardName AS CardName, CONVERT(NVARCHAR, T0.DocDate, 103) AS Fecha, SUM(T0.DocTotal) AS Pagos 

FROM OVPM T0 

WHERE T0.DocDate BETWEEN (@INI) AND (@FIN) AND T0.Canceled=(@C_1) AND T0.DocType=(@C_2)

GROUP BY T0.CardCode, T0.CardName, T0.DocDate    ) AS A  

     PIVOT (

  SUM(Pagos)

FOR Fecha IN ('+ @pvt_table +')   

    ) AS Pvt

ORDER BY 1,3

   '   

 

EXEC sp_executesql @pvt, N'@pvt_table NVARCHAR(MAX), @INI DATETIME, @FIN DATETIME, @C_1 CHAR(1), @C_2 CHAR(1)',@pvt_table, @F_INI, @F_FIN, @COND_1, @COND_2 

 

 

DROP TABLE #FECHAS

 

 

VACACIONES (RESUMEN EMPLEADOS)

 

SELECT T1.[empID], T1.[firstName], T1.[lastName], T0.[u_seiany], [Dias Pendientes]=SUM(T0.[U_Dias]) FROM HEM1 T0  INNER JOIN OHEM T1 ON T0.empID = T1.empID left JOIN [dbo].[@SEITIPVAC]  T2 ON T0.U_SEITIPO = T2.Code

group by  T1.[empID], T1.[firstName], T1.[lastName],  T0.[u_seiany]

 

RELACION MERMAS LOTE:

 

SELECT  T3.Docentry, T0.DocLine, T1.*,

--T0.ItemCode,T0.CardName,T0.ItemName ,T0.DocDate ,T0.DocType ,T0.DocNum as [Nº ALBARAN], T0.LocCode as [Cod. Almacén] ,t4.DistNumber as [Nº Lote], T1.Quantity,  SELECT T3.Docentry, T0.DocLine, T1.*,

--T0.ItemCode,T0.CardName,T0.ItemName ,T0.DocDate ,T0.DocType ,T0.DocNum as [Nº ALBARAN], T0.LocCode as [Cod. Almacén] ,t4.DistNumber as [Nº Lote], T1.Quantity, T3.U_SEIECOE, T3.U_SEIECOC, T3.U_SEICALE, T3.U_SEITEOK,

Tipo= CASE T0.[DocType]

WHEN  '59 ' Then 'Entrada'

WHEN  '15 ' Then 'Salida'

Else 'Otros'

End,T4. U_SEIM1 ,T4.U_SEIM2,U_SEIMerma

 

FROM   OITL T0

          INNER JOIN [ITL1] T1  ON  T1.[LogEntry] = T0.[LogEntry] 

          INNER JOIN  OBTN T4 on T1.MdAbsEntry=T4.AbsEntry

                   INNER  JOIN DLN1 T3 ON T3.[DocEntry] = T0.Docentry and T0.DocLine=T3.Linenum

          WHERE isnull(U_SEIM1,0)+isnull(U_SEIM2,0)<>0 and T0.[DocType]='15'

          and YEAR(T3.Docdate)>'2013'

 

 

LISTA DE FACTURAS QUE SE HAN PAGADO, COMO Y CUANDO:

 

SELECT distinct

T0.DocNum 'Factura',

T0.DocStatus 'Estatus',

T0.DocDate 'Fecha',

T0.CardCode 'Cliente',

T0.CardName 'Nombre',

T0.DocCur 'Moneda',

T0.DocTotal 'Total Factura',

T0.PaidToDate 'Total Pagado',

T1.SlpName 'Vendedor',

T2.PymntGroup 'Cond. Pago',

T0.DocTotalSy 'Total USD',

T3.DocNum 'No.Doc. Pago',

T3.CashSum 'Efectivo',

T3.CreditSum 'T.Crédito',

T3.CheckSum 'Cheque',

T3.TrsfrSum 'Transf',

T3.DocTotal, 'Total Pago',

T3.DocDate 'Fecha Pago'

FROM OINV T0

INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode

INNER JOIN OCTG T2 ON T0.GroupNum = T2.GroupNum

INNER JOIN ORCT T3 ON T0.[ReceiptNum] = T3.DocNum

INNER JOIN NNM1 T4 ON T3.Series = T4.Series

INNER JOIN RCT2 T5 ON T3.DocEntry = T5.DocNum

WHERE T0.DocDate <= '[%1]'

AND T3.Canceled = 'N'

ORDER BY T0.DocNum

 

FACTURAS PROVEEDORES PROXIMAS A VENDER PARA EL CEO DE LA EMPRESA:

 

SELECTT0.DocNumAS'Factura',T0.DocDueDateAS'Fecha de vencimiento',T0.CardCodeAS'Código cliente',

T0.CardNameAS'Nombre'

FROMOPCH T0

WHEREDATEDIFF(DD,T0.DocDueDate,GETDATE())BETWEEN-7AND365

ANDT0.DocStatus='O'

ORDERBYT0.DocDueDate

FORBROWSE

 

 

PARA SABER QUE PRODUCTOS ESTAN EN NEGATIVO EN LOS ALMACENES:

 

SELECTT0.ItemCodeAS'Código',T1.ItemNameAS'Descripción',T0.WhsCodeAS'Almacen',

T0.OnHandAS'Cantidad',T1.OnHandAS'Disponible total'

FROMOITW T0

LEFTOUTERJOINOITM T1ONT0.ItemCode=T1.ItemCode

WHERET0.OnHand<0

FORBROWSE

 

PARA SABER DE QUE ARTICULOS TENGO MINIMOS Y HAY QUE COMPRAR:

 

SELECT

T0.CardCodeAS'Pref Vend',
T2.CardNameAS'Pref Vend Name',
T0.ItemCodeAS'Item Code',
T0.ItemNameAS'Item Description',
T1.ItmsGrpNamAS'Item Group',
T0.LeadTimeAS'Lead',
CASE
WHENT0.MinLevel-(T0.OnHand+T0.OnOrder-T0.IsCommited)>T0.MinOrdrQty
THENT0.MinLevel-(T0.OnHand+T0.OnOrder-T0.IsCommited)
WHENT0.MinLevel-(T0.OnHand+T0.OnOrder-T0.IsCommited)<T0.MinOrdrQty
THENT0.MinOrdrQty
ENDAS'To Purch',
T0.MinOrdrQtyAS'Min Ord',
T0.DfltWHAS'Whs',
T0.MinLevelAS'Min Inv',
T0.PrchseItemAS'Buy',
T0.OnHandAS'On Hand',
T0.OnOrderAS'On Order',
T0.IsCommitedAS'Committed'

FROMOITM T0

LEFTOUTERJOINOITB T1

ONT0.ItmsGrpCod=T1.ItmsGrpCod
LEFTOUTERJOINOCRD T2
ONT0.CardCode=T2.CardCode
WHERE
T0.InvntItem='Y'
ANDT0.PrchseItem='Y'
ANDT0.MinLevel-(T0.OnHand+T0.OnOrder-T0.IsCommited)>0
ANDT0.ItmsGrpCod<>108
ORDERBY
T2.CardCode,
T0.ItemCode
FORBROWSE


Viewing all articles
Browse latest Browse all 2061

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>