if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paDelOilCompra]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paDelOilCompra]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paDelOilCostos]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paDelOilCostos]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paDelOilDevCompra]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paDelOilDevCompra]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInsOilCompra]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInsOilCompra]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInsOilCompraDesp]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInsOilCompraDesp]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInsOilCostos]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInsOilCostos]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInsOilDevCompra]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInsOilDevCompra]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQryOilCompra]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQryOilCompra]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQryOilCompraDespFmt]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQryOilCompraDespFmt]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQryOilCompraFmt]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQryOilCompraFmt]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQryOilCostos]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQryOilCostos]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQryOilCostosFmt]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQryOilCostosFmt]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQryOilDevCompra]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQryOilDevCompra]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQryOilDevCompraFmt]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQryOilDevCompraFmt]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paUpOilCompra]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paUpOilCompra]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paUpOilCompraDev]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paUpOilCompraDev]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paUpOilCostos]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paUpOilCostos]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paUpOilDevCompra]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paUpOilDevCompra]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paQryOilCompra] @pmTipDoc VARCHAR(3),@pmNumCompra INT,@pmIdCia CHAR(2)
 AS 
 SELECT TipDoc,NumCompra,IdCia,Fecha,IdConcepto,IdProveedor,NumFactura,FechaFac,FechaVence,MulPlazos,IdPlazo,CxPagar,SubTotal,Descuento,Impuesto,Retencion,ReteIca,ReteIva,IvaIngProd,OtrosCargos,OtrosDctos,Fletes,VrNeto,Cantidad,BaseImp,BaseRet,BaseIvaIgp,TarifaIva,TarifaRet,TarifaIca,TarifaRiv,CodTarIva,CodTarRet,CodTarIca,CodTarRiv,CdCCosto,CdSubCos,Modalidad
,FechaInicio,FechaFinal,TipCom,Comprobante,IdCiaCom,Anulado,FecDev,NumDev,Observacion,IdEstado,EstRegCosto,NumRegCosto,CiaRegCosto,FechaCrea,IdCiaCrea,OrigenAdd,IdUsuario
 FROM Trn_OilCompra
 WHERE TipDoc=@pmTipDoc AND NumCompra=@pmNumCompra AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInsOilCompra] @pmTipDoc VARCHAR(3),@pmNumCompra INT,@pmIdCia CHAR(2),@pmFecha SMALLDATETIME,@pmIdConcepto VARCHAR(4),@pmIdProveedor VARCHAR(16),@pmNumFactura VARCHAR(15),@pmFechaFac SMALLDATETIME,@pmFechaVence SMALLDATETIME,@pmMulPlazos BIT,@pmIdPlazo VARCHAR(4),@pmCxPagar BIT,@pmSubTotal DECIMAL(16,6),@pmDescuento DECIMAL(16,6),@pmImpuesto DECIMAL(16,6),@pmRetencion DECIMAL(16,6),@pmReteIca DECIMAL(16,6),@pmReteIva DECIMAL(16,6),@pmIvaIngProd DECIMAL(16,6),@pmOtrosCargos DECIMAL(16,6),@pmOtrosDctos DECIMAL(16,6),@pmFletes DECIMAL(16,6),@pmVrNeto DECIMAL(16,6),@pmCantidad DECIMAL(16,6),@pmBaseImp DECIMAL(16,6),@pmBaseRet DECIMAL(16,6),@pmBaseIvaIgp DECIMAL(16,6)
,@pmTarifaIva DECIMAL(16,6),@pmTarifaRet DECIMAL(16,6),@pmTarifaIca DECIMAL(16,6),@pmTarifaRiv DECIMAL(16,6),@pmCodTarIva VARCHAR(4),@pmCodTarRet VARCHAR(4),@pmCodTarIca VARCHAR(4),@pmCodTarRiv VARCHAR(4),@pmCdCCosto VARCHAR(16),@pmCdSubCos VARCHAR(16),@pmModalidad VARCHAR(10),@pmFechaInicio SMALLDATETIME,@pmFechaFinal SMALLDATETIME,@pmTipCom VARCHAR(3),@pmComprobante INT,@pmIdCiaCom CHAR(2),@pmAnulado BIT,@pmFecDev SMALLDATETIME,@pmNumDev INT,@pmObservacion VARCHAR(2000),@pmIdEstado VARCHAR(4),@pmEstRegCosto INT,@pmNumRegCosto INT,@pmCiaRegCosto CHAR(2)
,@pmFechaCrea SMALLDATETIME,@pmIdCiaCrea CHAR(2),@pmOrigenAdd VARCHAR(10),@pmIdUsuario VARCHAR(11)
 AS 
 INSERT INTO Trn_OilCompra (TipDoc,NumCompra,IdCia,Fecha,IdConcepto,IdProveedor,NumFactura,FechaFac,FechaVence,MulPlazos,IdPlazo,CxPagar,SubTotal,Descuento,Impuesto,Retencion,ReteIca,ReteIva,IvaIngProd,OtrosCargos,OtrosDctos,Fletes,VrNeto,Cantidad,BaseImp,BaseRet,BaseIvaIgp,TarifaIva,TarifaRet,TarifaIca,TarifaRiv,CodTarIva,CodTarRet,CodTarIca,CodTarRiv,CdCCosto,CdSubCos,Modalidad,FechaInicio,FechaFinal,TipCom,Comprobante,IdCiaCom,Anulado,FecDev,NumDev,Observacion,IdEstado,FechaCrea,IdCiaCrea,OrigenAdd,IdUsuario,EstRegCosto,NumRegCosto,CiaRegCosto)
 VALUES (@pmTipDoc,@pmNumCompra,@pmIdCia,@pmFecha,@pmIdConcepto,@pmIdProveedor,@pmNumFactura,@pmFechaFac,@pmFechaVence,@pmMulPlazos,@pmIdPlazo,@pmCxPagar,@pmSubTotal,@pmDescuento,@pmImpuesto,@pmRetencion,@pmReteIca,@pmReteIva,@pmIvaIngProd,@pmOtrosCargos,@pmOtrosDctos,@pmFletes,@pmVrNeto,@pmCantidad,@pmBaseImp,@pmBaseRet,@pmBaseIvaIgp,@pmTarifaIva,@pmTarifaRet,@pmTarifaIca,@pmTarifaRiv,@pmCodTarIva,@pmCodTarRet,@pmCodTarIca,@pmCodTarRiv,@pmCdCCosto,@pmCdSubCos,@pmModalidad,@pmFechaInicio,@pmFechaFinal,@pmTipCom,@pmComprobante,@pmIdCiaCom,@pmAnulado,@pmFecDev,@pmNumDev,@pmObservacion,@pmIdEstado,@pmFechaCrea,@pmIdCiaCrea,@pmOrigenAdd,@pmIdUsuario,@pmEstRegCosto,@pmNumRegCosto,@pmCiaRegCosto)
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paUpOilCompra] @pmTipDoc VARCHAR(3),@pmNumCompra INT,@pmIdCia CHAR(2),@pmFecha SMALLDATETIME,@pmIdConcepto VARCHAR(4),@pmIdProveedor VARCHAR(16),@pmNumFactura VARCHAR(15),@pmFechaFac SMALLDATETIME,@pmFechaVence SMALLDATETIME,@pmMulPlazos BIT,@pmIdPlazo VARCHAR(4),@pmCxPagar BIT,@pmSubTotal DECIMAL(16,6),@pmDescuento DECIMAL(16,6),@pmImpuesto DECIMAL(16,6),@pmRetencion DECIMAL(16,6),@pmReteIca DECIMAL(16,6),@pmReteIva DECIMAL(16,6),@pmIvaIngProd DECIMAL(16,6),@pmOtrosCargos DECIMAL(16,6),@pmOtrosDctos DECIMAL(16,6),@pmFletes DECIMAL(16,6),@pmVrNeto DECIMAL(16,6),@pmCantidad DECIMAL(16,6),@pmBaseImp DECIMAL(16,6),@pmBaseRet DECIMAL(16,6),@pmBaseIvaIgp DECIMAL(16,6),@pmTarifaIva DECIMAL(16,6),@pmTarifaRet DECIMAL(16,6),@pmTarifaIca DECIMAL(16,6),@pmTarifaRiv DECIMAL(16,6),@pmCodTarIva VARCHAR(4),@pmCodTarRet VARCHAR(4)
,@pmCodTarIca VARCHAR(4),@pmCodTarRiv VARCHAR(4),@pmCdCCosto VARCHAR(16),@pmCdSubCos VARCHAR(16),@pmModalidad VARCHAR(10),@pmFechaInicio SMALLDATETIME,@pmFechaFinal SMALLDATETIME,@pmTipCom VARCHAR(3),@pmComprobante INT,@pmIdCiaCom CHAR(2),@pmAnulado BIT,@pmFecDev SMALLDATETIME,@pmNumDev INT,@pmObservacion VARCHAR(2000),@pmIdEstado VARCHAR(4),@pmEstRegCosto INT,@pmNumRegCosto INT,@pmCiaRegCosto CHAR(2)
 AS 
 UPDATE Trn_OilCompra SET Fecha=@pmFecha,IdConcepto=@pmIdConcepto,IdProveedor=@pmIdProveedor,NumFactura=@pmNumFactura,FechaFac=@pmFechaFac,FechaVence=@pmFechaVence,MulPlazos=@pmMulPlazos,IdPlazo=@pmIdPlazo,CxPagar=@pmCxPagar,SubTotal=@pmSubTotal,Descuento=@pmDescuento,Impuesto=@pmImpuesto,Retencion=@pmRetencion,ReteIca=@pmReteIca,ReteIva=@pmReteIva,IvaIngProd=@pmIvaIngProd,OtrosCargos=@pmOtrosCargos,OtrosDctos=@pmOtrosDctos,Fletes=@pmFletes,VrNeto=@pmVrNeto,Cantidad=@pmCantidad,BaseImp=@pmBaseImp,BaseRet=@pmBaseRet,BaseIvaIgp=@pmBaseIvaIgp,TarifaIva=@pmTarifaIva,TarifaRet=@pmTarifaRet,TarifaIca=@pmTarifaIca,TarifaRiv=@pmTarifaRiv,CodTarIva=@pmCodTarIva,CodTarRet=@pmCodTarRet,CodTarIca=@pmCodTarIca,CodTarRiv=@pmCodTarRiv,CdCCosto=@pmCdCCosto,CdSubCos=@pmCdSubCos,Modalidad=@pmModalidad,FechaInicio=@pmFechaInicio,FechaFinal=@pmFechaFinal,TipCom=@pmTipCom,Comprobante=@pmComprobante,IdCiaCom=@pmIdCiaCom
,Anulado=@pmAnulado,FecDev=@pmFecDev,NumDev=@pmNumDev,Observacion=@pmObservacion,IdEstado=@pmIdEstado,EstRegCosto=@pmEstRegCosto,NumRegCosto=@pmNumRegCosto,CiaRegCosto=@pmCiaRegCosto
 WHERE TipDoc=@pmTipDoc AND NumCompra=@pmNumCompra AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paQryOilCostosFmt] @pmTipProc VARCHAR(3),@pmNumProcesoIni INT,@pmNumProcesoFin INT,@pmIdCia CHAR(2)
 AS 
 SELECT PC.TipProc,TipoDoc,PC.NumProceso,PC.IdCia,CI.Compania,PC.Fecha,PC.FechaInicio,PC.FechaFinal,PC.IdConcepto,Concepto,PC.NitProveedor AS NitTercero,N.RazonSocial,PC.CodCiaFac,CC.Compania AS CiaCompras
,PC.Cantidad,PC.SubTotal,PC.VrTransporte,PC.VrTraVacio,PC.TipCom,PC.Comprobante,PC.IdCiaCom,PC.Anulado,PC.FecDev,PC.NumDev,PC.Observacion,PC.FechaCrea,PC.IdCiaCrea,PC.OrigenAdd,PC.IdUsuario,Usuario
--detalles
,D.Item,D.TipCom,D.NumCompra,D.IdCiaCom,D.ItemCom,D.IdProducto,P.DescripProd,D.Cantidad,D.UndMed,UM.Unidad,D.VrUnitario,D.VrTotal,D.CostoUnit,D.CantNeto,D.UMCargue,UMC.Unidad AS UM_Cargue
,C.Fecha AS FecCompra,C.IdProveedor,T.RazonSocial AS NomProveedor,C.NumFactura,C.FechaFac,C.FechaVence,C.Modalidad,C.FechaInicio AS FecIniPdo,C.FechaFinal AS FecFinPdo,C.Observacion AS ObservCompra
FROM Trn_OilCostos AS PC INNER JOIN Trn_OilCostosProd AS D ON PC.TipProc=D.TipProc AND PC.NumProceso=D.NumProceso AND PC.IdCia=D.IdCia
INNER JOIN Companias AS CI ON PC.IdCia=CI.IdCia INNER JOIN Conceptos AS CN ON PC.IdConcepto=CN.IdConcepto
INNER JOIN adm_Usuarios AS U ON PC.IdUsuario=U.IdUsuario INNER JOIN Sys_TiposDoc AS TD ON PC.TipProc=TD.IdDoc
INNER JOIN ProdMcias AS P ON D.IdProducto=P.IdProducto INNER JOIN Sys_Um AS UM ON D.UndMed=UM.UndMed
INNER JOIN Trn_OilCompra AS C ON D.TipCom=C.TipDoc AND D.NumCompra=C.NumCompra AND D.IdCiaCom=C.IdCia
INNER JOIN Terceros AS T ON C.IdProveedor=T.IdTercero
LEFT JOIN Terceros AS N ON PC.NitProveedor=N.IdTercero LEFT JOIN Companias AS CC ON PC.CodCiaFac=CC.IdCia
LEFT JOIN Sys_Um AS UMC ON D.UMCargue=UMC.UndMed
WHERE PC.TipProc=@pmTipProc AND PC.NumProceso BETWEEN @pmNumProcesoIni AND @pmNumProcesoFin AND PC.IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paQryOilDevCompraFmt] @pmTipDev VARCHAR(3),@pmDevolucionIni INT,@pmDevolucionFin INT,@pmIdCia CHAR(2)
 AS 
SELECT DV.TipDev,TipoDoc,DV.Devolucion,DV.IdCia,Compania,DV.Fecha,DV.IdConcepto,Concepto,DV.TipDoc,DV.NumCompra,DV.IdCiaDoc,DV.FecDoc,DV.IdProveedor,T.RazonSocial
,DV.NumFactura,C.FechaFac,C.FechaVence,DV.CxPagar,C.IdPlazo,Plazo,NVmto,DiasPago,DV.SubTotal,DV.Descuento,DV.Impuesto,DV.Retencion,DV.ReteIca,DV.ReteIva,DV.IvaIngProd,DV.OtrosCargos,DV.OtrosDctos,DV.Fletes,DV.VrNeto
,DV.Cantidad,DV.BaseImp,DV.BaseRet,DV.BaseIvaIgp,DV.TarifaIva,DV.TarifaRet,DV.TarifaIca,DV.TarifaRiv,DV.CodTarIva,DV.CodTarRet,DV.CodTarIca,DV.CodTarRiv
,DV.CdCCosto,CC.CCosto,DV.CdSubCos,SC.SubCosto,DV.Modalidad,C.FechaInicio,C.FechaFinal,DV.TipCom,DV.Comprobante,DV.IdCiaCom,DV.ModdDev,DV.Observacion,DV.FechaCrea,DV.IdCiaCrea,DV.OrigenAdd,DV.IdUsuario,Usuario
,D.Item,D.IdProducto,P.DescripProd,D.Cantidad,D.UndMed,UM.Unidad,D.VrUnitario,D.CostoUnit,D.VrTotal,D.VrDcto,D.VrIva,D.TarifaIva,D.TarifaDct,D.CodTarIva,D.CodTarDct,D.Descripcion,D.CdMoneda,Mneda,D.CantBruto,D.CantNeto,D.CantEntrada,D.UMCargue,D.UMEntrada
,P.IdSubgrupo,P.TipoRef,Subgrupo,S.IdGrupo AS CdGrupo,Grupo,G.IdLinea AS CdLinea,Linea
,T.TipoId,T.Dv,T.Codigo AS CodTercero,T.NomCial,T.Direccion AS Terc_Direccion,T.IdLocal AS CdLocal,Localidad,L.IdDep AS CdDep,Departamento,T.Telefono,Fax,T.e_mail
,T.IdSector AS CdSector,SectorEco,T.IdRegimen AS CdRegimen,Regimen,T.TipEnte
FROM Trn_OilDevCompra AS DV INNER JOIN Trn_OilCompra AS C ON DV.TipDoc=C.TipDoc AND DV.NumCompra=C.NumCompra AND DV.IdCiaDoc=C.IdCia
INNER JOIN Trn_OilDevComProd AS D ON DV.TipDev=D.TipDev AND DV.Devolucion=D.Devolucion AND DV.IdCia=D.IdCia
INNER JOIN Companias AS CI ON DV.IdCia=CI.IdCia INNER JOIN Conceptos AS CN ON DV.IdConcepto=CN.IdConcepto
INNER JOIN adm_Usuarios AS U ON DV.IdUsuario=U.IdUsuario INNER JOIN Sys_TiposDoc AS TD ON DV.TipDev=TD.IdDoc 
INNER JOIN Terceros AS T ON DV.IdProveedor=T.IdTercero 
INNER JOIN Localidades AS L ON T.IdLocal=L.IdLocal INNER JOIN Departamentos AS DP ON L.IdDep=DP.IdDep 
INNER JOIN RegimenDian AS RG ON T.IdRegimen=RG.IdRegimen INNER JOIN SectoresEco AS SE ON T.IdSector=SE.IdSector
INNER JOIN ProdMcias AS P ON D.IdProducto=P.IdProducto INNER JOIN Sys_Um AS UM ON D.UndMed=UM.UndMed
INNER JOIN SubGrupos AS S ON P.IdSubgrupo=S.IdSubgrupo INNER JOIN Grupos AS G ON S.IdGrupo=G.IdGrupo 
INNER JOIN Lineas AS LN ON G.IdLinea=LN.IdLinea
LEFT JOIN Plazos AS PZ ON C.IdPlazo=PZ.IdPlazo LEFT JOIN TercProvee AS TP ON DV.IdProveedor=TP.IdProv
LEFT JOIN CentroCosto AS CC ON DV.CdCCosto=CC.IdCCosto LEFT JOIN SubCentros AS SC ON DV.CdSubCos=SC.IdSubCos
LEFT JOIN adm_monedas AS MN ON D.CdMoneda=MN.IdMneda
WHERE DV.TipDev=@pmTipDev AND DV.Devolucion BETWEEN @pmDevolucionIni AND @pmDevolucionFin AND DV.IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paDelOilCompra] @pmTipDoc VARCHAR(3),@pmNumCompra INT,@pmIdCia CHAR(2)
 AS 
 DELETE FROM Trn_OilCompra
 WHERE TipDoc=@pmTipDoc AND NumCompra=@pmNumCompra AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paUpOilCompraDev] @pmTipDoc VARCHAR(3),@pmNumCompra INT,@pmIdCia CHAR(2)
,@pmAnulado BIT,@pmFecDev SMALLDATETIME,@pmNumDev INT,@pmObservacion VARCHAR(2000),@pmIdEstado VARCHAR(4)
 AS 
 UPDATE Trn_OilCompra SET Anulado=@pmAnulado,FecDev=@pmFecDev,NumDev=@pmNumDev
,Observacion=@pmObservacion,IdEstado=@pmIdEstado
 WHERE TipDoc=@pmTipDoc AND NumCompra=@pmNumCompra AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paQryOilCompraFmt] @pmTipDoc VARCHAR(3),@pmNumCompraIni INT,@pmNumCompraFin INT,@pmIdCia CHAR(2)
 AS 
 SELECT C.TipDoc,TipoDoc,C.NumCompra,C.IdCia,Compania,C.Fecha,C.IdProveedor,T.RazonSocial,C.NumFactura,C.FechaFac,C.FechaVence,C.Modalidad,C.SubTotal,C.Descuento,C.Impuesto,C.Retencion,C.ReteIca
,C.ReteIva,C.IvaIngProd,C.OtrosCargos,C.OtrosDctos,C.Fletes,C.VrNeto,C.Cantidad,C.BaseImp,C.BaseRet,C.BaseIvaIgp,C.TarifaIva,C.TarifaRet,C.TarifaIca,C.TarifaRiv
,C.MulPlazos,C.IdPlazo,Plazo,NVmto,DiasPago,C.CxPagar,C.IdConcepto,Concepto,C.CdCCosto,CC.CCosto AS CentCosto,C.CdSubCos,SC.SubCosto AS SubcCosto,C.FechaInicio,C.FechaFinal,C.EstRegCosto,C.NumRegCosto,C.CiaRegCosto,C.TipCom,C.Comprobante,C.IdCiaCom
,C.CodTarIva,C.CodTarRet,C.CodTarIca,C.CodTarRiv,C.Anulado,C.FecDev,C.NumDev,C.Observacion,C.IdEstado,ED.Estado,C.FechaCrea,C.IdCiaCrea,C.OrigenAdd,C.IdUsuario,Usuario
,D.Item,D.IdProducto,P.DescripProd,D.Cantidad,D.UndMed,UM.Unidad,D.VrUnitario,D.CostoUnit,D.VrTotal,D.VrDcto,D.VrIva,D.TarifaIva,D.TarifaDct,D.CodTarIva,D.CodTarDct,D.Descripcion,D.CdMoneda,Mneda
,D.CantBruto,D.CantNeto,D.CantEntrada,D.UMCargue,D.UMEntrada
,P.IdSubgrupo,P.TipoRef,Subgrupo,S.IdGrupo AS CdGrupo,Grupo,G.IdLinea AS CdLinea,Linea
,T.TipoId,T.Dv,T.Codigo AS CodTercero,T.NomCial,T.Direccion AS Terc_Direccion,T.IdLocal AS CdLocal,Localidad,L.IdDep AS CdDep,Departamento,T.Telefono,Fax,T.e_mail
,T.IdSector AS CdSector,SectorEco,T.IdRegimen AS CdRegimen,Regimen,T.TipEnte
 FROM Trn_OilCompra AS C INNER JOIN Companias AS CI ON C.IdCia=CI.IdCia INNER JOIN Conceptos AS CN ON C.IdConcepto=CN.IdConcepto
 INNER JOIN EstadoDoc AS ED ON C.IdEstado=ED.IdEstado INNER JOIN adm_Usuarios AS U ON C.IdUsuario=U.IdUsuario
 INNER JOIN Terceros AS T ON C.IdProveedor=T.IdTercero INNER JOIN Sys_TiposDoc AS TD ON C.TipDoc=TD.IdDoc
 INNER JOIN Localidades AS L ON T.IdLocal=L.IdLocal INNER JOIN Departamentos AS DP ON L.IdDep=DP.IdDep 
 INNER JOIN RegimenDian AS RG ON T.IdRegimen=RG.IdRegimen INNER JOIN SectoresEco AS SE ON T.IdSector=SE.IdSector
 INNER JOIN Trn_OilCompraProd AS D ON C.TipDoc=D.TipDoc AND C.NumCompra=D.NumCompra AND C.IdCia=D.IdCia
 INNER JOIN ProdMcias AS P ON D.IdProducto=P.IdProducto INNER JOIN Sys_Um AS UM ON D.UndMed=UM.UndMed
 INNER JOIN SubGrupos AS S ON P.IdSubgrupo=S.IdSubgrupo INNER JOIN Grupos AS G ON S.IdGrupo=G.IdGrupo 
 INNER JOIN Lineas AS LN ON G.IdLinea=LN.IdLinea LEFT JOIN adm_monedas AS MN ON D.CdMoneda=MN.IdMneda
 LEFT JOIN Plazos AS PZ ON C.IdPlazo=PZ.IdPlazo LEFT JOIN TercProvee AS TP ON C.IdProveedor=TP.IdProv
 LEFT JOIN CentroCosto AS CC ON C.CdCCosto=CC.IdCCosto LEFT JOIN SubCentros AS SC ON C.CdSubCos=SC.IdSubCos
 WHERE C.TipDoc=@pmTipDoc AND C.NumCompra BETWEEN @pmNumCompraIni AND @pmNumCompraFin AND C.IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paQryOilCompraDespFmt] @pmTipDoc VARCHAR(3),@pmNumCompraIni INT,@pmNumCompraFin INT,@pmIdCia CHAR(2)
 AS 
SELECT D.TipDoc,D.NumCompra,D.IdCia,D.Item,D.NumGuia,D.IdCiaGuia,G.FecDespacho,G.IdVehiculo,G.IdEstacion AS IdCampo,CM.EstServicio AS Campo,G.NumRemision
,D.TipEnt,D.NumEntrada,D.IdCiaEnt,D.ItemEnt,E.FecDescargue,E.IdProveedor,T.RazonSocial AS NomProveedor,E.TipoAju,E.NumAjuInv,E.IdCiaAju,E.CantAjuste,E.EstContable,E.TipCom,E.Comprobante,E.IdCiaCom
,D.IdProducto,P.DescripProd,D.CantBruto,D.CantNeto,D.UndMed,UM.Unidad,D.CantEntrada,D.UMCargue,UMC.Unidad AS Um_Cargue,D.VrUnitario,D.NumTasas,D.TasaBrent,D.TasaWti,D.TRMdolar,D.Puntos,D.PrecioUnd
,D.VrTotal,D.CdMoneda,D.UMprecio
FROM Trn_OilCompraDesp AS D INNER JOIN ProdMcias AS P ON D.IdProducto=P.IdProducto INNER JOIN Sys_Um AS UM ON D.UndMed=UM.UndMed
INNER JOIN Trn_OilGuia AS G ON D.NumGuia=G.NumGuia AND D.IdCiaGuia=G.IdCia
INNER JOIN Trn_OilEntrada AS E ON D.TipEnt=E.TipEnt AND D.NumEntrada=E.NumEntrada AND D.IdCiaEnt=E.IdCia
INNER JOIN Terceros AS T ON E.IdProveedor=T.IdTercero
LEFT JOIN EdsServicio AS CM ON G.IdEstacion=CM.IdEstacion LEFT JOIN Sys_Um AS UMC ON D.UMCargue=UMC.UndMed 
WHERE D.TipDoc=@pmTipDoc AND D.NumCompra BETWEEN ISNULL(@pmNumCompraIni,0) AND ISNULL(@pmNumCompraFin,2147483647) 
AND (D.IdCia=@pmIdCia OR @pmIdCia IS NULL)
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paDelOilCostos] @pmTipProc VARCHAR(3),@pmNumProceso INT,@pmIdCia CHAR(2)
 AS 
 DELETE FROM Trn_OilCostos
 WHERE TipProc=@pmTipProc AND NumProceso=@pmNumProceso AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInsOilCostos] @pmTipProc VARCHAR(3),@pmNumProceso INT,@pmIdCia CHAR(2),@pmFecha SMALLDATETIME,@pmFechaInicio SMALLDATETIME,@pmFechaFinal SMALLDATETIME,@pmIdConcepto VARCHAR(4),@pmNitProveedor VARCHAR(16),@pmCodCiaFac CHAR(2),@pmCantidad DECIMAL(16,6),@pmSubTotal DECIMAL(16,6),@pmVrTransporte DECIMAL(16,6),@pmVrTraVacio DECIMAL(16,6),@pmTipCom VARCHAR(3),@pmComprobante INT,@pmIdCiaCom CHAR(2)
,@pmAnulado BIT,@pmFecDev SMALLDATETIME,@pmNumDev INT,@pmObservacion VARCHAR(2000),@pmFechaCrea SMALLDATETIME,@pmIdCiaCrea CHAR(2),@pmOrigenAdd VARCHAR(10),@pmIdUsuario VARCHAR(11)
 AS 
 INSERT INTO Trn_OilCostos (TipProc,NumProceso,IdCia,Fecha,FechaInicio,FechaFinal,IdConcepto,NitProveedor,CodCiaFac,Cantidad,SubTotal,VrTransporte,VrTraVacio,TipCom,Comprobante,IdCiaCom,Anulado,FecDev,NumDev,Observacion,FechaCrea,IdCiaCrea,OrigenAdd,IdUsuario)
 VALUES (@pmTipProc,@pmNumProceso,@pmIdCia,@pmFecha,@pmFechaInicio,@pmFechaFinal,@pmIdConcepto,@pmNitProveedor,@pmCodCiaFac,@pmCantidad,@pmSubTotal,@pmVrTransporte,@pmVrTraVacio,@pmTipCom,@pmComprobante,@pmIdCiaCom,@pmAnulado,@pmFecDev,@pmNumDev,@pmObservacion,@pmFechaCrea,@pmIdCiaCrea,@pmOrigenAdd,@pmIdUsuario)
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paUpOilCostos] @pmTipProc VARCHAR(3),@pmNumProceso INT,@pmIdCia CHAR(2),@pmFecha SMALLDATETIME,@pmFechaInicio SMALLDATETIME,@pmFechaFinal SMALLDATETIME,@pmIdConcepto VARCHAR(4),@pmNitProveedor VARCHAR(16),@pmCodCiaFac CHAR(2),@pmCantidad DECIMAL(16,6),@pmSubTotal DECIMAL(16,6),@pmVrTransporte DECIMAL(16,6),@pmVrTraVacio DECIMAL(16,6),@pmTipCom VARCHAR(3),@pmComprobante INT,@pmIdCiaCom CHAR(2)
,@pmAnulado BIT,@pmFecDev SMALLDATETIME,@pmNumDev INT,@pmObservacion VARCHAR(2000)
 AS 
 UPDATE Trn_OilCostos SET Fecha=@pmFecha,FechaInicio=@pmFechaInicio,FechaFinal=@pmFechaFinal,IdConcepto=@pmIdConcepto,NitProveedor=@pmNitProveedor,CodCiaFac=@pmCodCiaFac,Cantidad=@pmCantidad,SubTotal=@pmSubTotal,VrTransporte=@pmVrTransporte,VrTraVacio=@pmVrTraVacio,TipCom=@pmTipCom,Comprobante=@pmComprobante,IdCiaCom=@pmIdCiaCom,Anulado=@pmAnulado,FecDev=@pmFecDev,NumDev=@pmNumDev,Observacion=@pmObservacion
 WHERE TipProc=@pmTipProc AND NumProceso=@pmNumProceso AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paQryOilCostos] @pmTipProc VARCHAR(3),@pmNumProceso INT,@pmIdCia CHAR(2)
 AS 
 SELECT TipProc,NumProceso,IdCia,Fecha,FechaInicio,FechaFinal,IdConcepto,NitProveedor,CodCiaFac,Cantidad,SubTotal,VrTransporte,VrTraVacio,TipCom,Comprobante,IdCiaCom,Anulado,FecDev,NumDev,Observacion,FechaCrea,IdCiaCrea,OrigenAdd,IdUsuario
 FROM Trn_OilCostos
 WHERE TipProc=@pmTipProc AND NumProceso=@pmNumProceso AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paDelOilDevCompra] @pmTipDev VARCHAR(3),@pmDevolucion INT,@pmIdCia CHAR(2)
 AS 
 DELETE FROM Trn_OilDevCompra
 WHERE TipDev=@pmTipDev AND Devolucion=@pmDevolucion AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paQryOilDevCompra] @pmTipDev VARCHAR(3),@pmDevolucion INT,@pmIdCia CHAR(2)
 AS 
 SELECT TipDev,Devolucion,IdCia,Fecha,IdConcepto,TipDoc,NumCompra,IdCiaDoc,FecDoc,IdProveedor,NumFactura,CxPagar,SubTotal,Descuento,Impuesto,Retencion,ReteIca,ReteIva,IvaIngProd,OtrosCargos,OtrosDctos,Fletes,VrNeto,Cantidad,BaseImp,BaseRet,BaseIvaIgp,TarifaIva,TarifaRet,TarifaIca,TarifaRiv,CodTarIva,CodTarRet,CodTarIca,CodTarRiv,CdCCosto,CdSubCos,Modalidad,TipCom,Comprobante,IdCiaCom,ModdDev,Observacion,FechaCrea,IdCiaCrea,OrigenAdd,IdUsuario
 FROM Trn_OilDevCompra
 WHERE TipDev=@pmTipDev AND Devolucion=@pmDevolucion AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInsOilDevCompra] @pmTipDev VARCHAR(3),@pmDevolucion INT,@pmIdCia CHAR(2),@pmFecha SMALLDATETIME,@pmIdConcepto VARCHAR(4),@pmTipDoc VARCHAR(3),@pmNumCompra INT,@pmIdCiaDoc CHAR(2),@pmFecDoc SMALLDATETIME,@pmIdProveedor VARCHAR(16),@pmNumFactura VARCHAR(15),@pmCxPagar BIT,@pmSubTotal DECIMAL(16,6),@pmDescuento DECIMAL(16,6),@pmImpuesto DECIMAL(16,6),@pmRetencion DECIMAL(16,6),@pmReteIca DECIMAL(16,6),@pmReteIva DECIMAL(16,6),@pmIvaIngProd DECIMAL(16,6),@pmOtrosCargos DECIMAL(16,6),@pmOtrosDctos DECIMAL(16,6),@pmFletes DECIMAL(16,6),@pmVrNeto DECIMAL(16,6),@pmCantidad DECIMAL(16,6),@pmBaseImp DECIMAL(16,6),@pmBaseRet DECIMAL(16,6),@pmBaseIvaIgp DECIMAL(16,6)
,@pmTarifaIva DECIMAL(16,6),@pmTarifaRet DECIMAL(16,6),@pmTarifaIca DECIMAL(16,6),@pmTarifaRiv DECIMAL(16,6),@pmCodTarIva VARCHAR(4),@pmCodTarRet VARCHAR(4),@pmCodTarIca VARCHAR(4),@pmCodTarRiv VARCHAR(4),@pmCdCCosto VARCHAR(16),@pmCdSubCos VARCHAR(16),@pmModalidad VARCHAR(10),@pmTipCom VARCHAR(3),@pmComprobante INT,@pmIdCiaCom CHAR(2),@pmModdDev VARCHAR(10),@pmObservacion VARCHAR(2000),@pmFechaCrea SMALLDATETIME,@pmIdCiaCrea CHAR(2),@pmOrigenAdd VARCHAR(10),@pmIdUsuario VARCHAR(11)
 AS 
 INSERT INTO Trn_OilDevCompra (TipDev,Devolucion,IdCia,Fecha,IdConcepto,TipDoc,NumCompra,IdCiaDoc,FecDoc,IdProveedor,NumFactura,CxPagar,SubTotal,Descuento,Impuesto,Retencion,ReteIca,ReteIva,IvaIngProd,OtrosCargos,OtrosDctos,Fletes,VrNeto,Cantidad,BaseImp,BaseRet,BaseIvaIgp,TarifaIva,TarifaRet,TarifaIca,TarifaRiv,CodTarIva,CodTarRet,CodTarIca,CodTarRiv,CdCCosto,CdSubCos,Modalidad,TipCom,Comprobante,IdCiaCom,ModdDev,Observacion,FechaCrea,IdCiaCrea,OrigenAdd,IdUsuario)
 VALUES (@pmTipDev,@pmDevolucion,@pmIdCia,@pmFecha,@pmIdConcepto,@pmTipDoc,@pmNumCompra,@pmIdCiaDoc,@pmFecDoc,@pmIdProveedor,@pmNumFactura,@pmCxPagar,@pmSubTotal,@pmDescuento,@pmImpuesto,@pmRetencion,@pmReteIca,@pmReteIva,@pmIvaIngProd,@pmOtrosCargos,@pmOtrosDctos,@pmFletes,@pmVrNeto,@pmCantidad,@pmBaseImp,@pmBaseRet,@pmBaseIvaIgp,@pmTarifaIva,@pmTarifaRet,@pmTarifaIca,@pmTarifaRiv,@pmCodTarIva,@pmCodTarRet,@pmCodTarIca,@pmCodTarRiv,@pmCdCCosto,@pmCdSubCos,@pmModalidad,@pmTipCom,@pmComprobante,@pmIdCiaCom,@pmModdDev,@pmObservacion,@pmFechaCrea,@pmIdCiaCrea,@pmOrigenAdd,@pmIdUsuario)
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paUpOilDevCompra] @pmTipDev VARCHAR(3),@pmDevolucion INT,@pmIdCia CHAR(2),@pmFecha SMALLDATETIME,@pmIdConcepto VARCHAR(4),@pmTipDoc VARCHAR(3),@pmNumCompra INT,@pmIdCiaDoc CHAR(2),@pmFecDoc SMALLDATETIME,@pmIdProveedor VARCHAR(16),@pmNumFactura VARCHAR(15),@pmCxPagar BIT,@pmSubTotal DECIMAL(16,6),@pmDescuento DECIMAL(16,6),@pmImpuesto DECIMAL(16,6),@pmRetencion DECIMAL(16,6),@pmReteIca DECIMAL(16,6),@pmReteIva DECIMAL(16,6),@pmIvaIngProd DECIMAL(16,6),@pmOtrosCargos DECIMAL(16,6),@pmOtrosDctos DECIMAL(16,6),@pmFletes DECIMAL(16,6),@pmVrNeto DECIMAL(16,6),@pmCantidad DECIMAL(16,6),@pmBaseImp DECIMAL(16,6),@pmBaseRet DECIMAL(16,6),@pmBaseIvaIgp DECIMAL(16,6)
,@pmTarifaIva DECIMAL(16,6),@pmTarifaRet DECIMAL(16,6),@pmTarifaIca DECIMAL(16,6),@pmTarifaRiv DECIMAL(16,6),@pmCodTarIva VARCHAR(4),@pmCodTarRet VARCHAR(4),@pmCodTarIca VARCHAR(4),@pmCodTarRiv VARCHAR(4),@pmCdCCosto VARCHAR(16),@pmCdSubCos VARCHAR(16),@pmModalidad VARCHAR(10),@pmTipCom VARCHAR(3),@pmComprobante INT,@pmIdCiaCom CHAR(2),@pmModdDev VARCHAR(10),@pmObservacion VARCHAR(2000)
 AS 
 UPDATE Trn_OilDevCompra SET Fecha=@pmFecha,IdConcepto=@pmIdConcepto,TipDoc=@pmTipDoc,NumCompra=@pmNumCompra,IdCiaDoc=@pmIdCiaDoc,FecDoc=@pmFecDoc,IdProveedor=@pmIdProveedor,NumFactura=@pmNumFactura,CxPagar=@pmCxPagar,SubTotal=@pmSubTotal,Descuento=@pmDescuento,Impuesto=@pmImpuesto,Retencion=@pmRetencion,ReteIca=@pmReteIca,ReteIva=@pmReteIva,IvaIngProd=@pmIvaIngProd,OtrosCargos=@pmOtrosCargos,OtrosDctos=@pmOtrosDctos,Fletes=@pmFletes,VrNeto=@pmVrNeto,Cantidad=@pmCantidad,BaseImp=@pmBaseImp,BaseRet=@pmBaseRet,BaseIvaIgp=@pmBaseIvaIgp,TarifaIva=@pmTarifaIva,TarifaRet=@pmTarifaRet,TarifaIca=@pmTarifaIca,TarifaRiv=@pmTarifaRiv,CodTarIva=@pmCodTarIva,CodTarRet=@pmCodTarRet,CodTarIca=@pmCodTarIca,CodTarRiv=@pmCodTarRiv,CdCCosto=@pmCdCCosto,CdSubCos=@pmCdSubCos
,Modalidad=@pmModalidad,TipCom=@pmTipCom,Comprobante=@pmComprobante,IdCiaCom=@pmIdCiaCom,ModdDev=@pmModdDev,Observacion=@pmObservacion
 WHERE TipDev=@pmTipDev AND Devolucion=@pmDevolucion AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInsOilCompraDesp] @pmTipDoc VARCHAR(3),@pmNumCompra INT,@pmIdCia CHAR(2),@pmItem INT,@pmNumGuia INT,@pmIdCiaGuia CHAR(2),@pmTipEnt VARCHAR(3),@pmNumEntrada INT,@pmIdCiaEnt CHAR(2),@pmItemEnt INT,@pmIdProducto VARCHAR(16),@pmCantBruto DECIMAL(16,6),@pmCantNeto DECIMAL(16,6),@pmCantEntrada DECIMAL(16,6)
,@pmUndMed VARCHAR(10),@pmUMCargue VARCHAR(10),@pmVrUnitario DECIMAL(16,6),@pmNumTasas INT,@pmTasaBrent DECIMAL(16,6),@pmTasaWti DECIMAL(16,6),@pmTRMdolar DECIMAL(16,6),@pmPuntos DECIMAL(16,6),@pmPrecioUnd DECIMAL(16,6),@pmVrTotal DECIMAL(16,6),@pmCdMoneda VARCHAR(5),@pmUMprecio VARCHAR(10)
 AS 
 INSERT INTO Trn_OilCompraDesp (TipDoc,NumCompra,IdCia,Item,NumGuia,IdCiaGuia,TipEnt,NumEntrada,IdCiaEnt,ItemEnt,IdProducto,CantBruto,CantNeto,CantEntrada,UndMed,UMCargue,VrUnitario,NumTasas,TasaBrent,TasaWti,TRMdolar,Puntos,PrecioUnd,VrTotal,CdMoneda,UMprecio)
 VALUES (@pmTipDoc,@pmNumCompra,@pmIdCia,@pmItem,@pmNumGuia,@pmIdCiaGuia,@pmTipEnt,@pmNumEntrada,@pmIdCiaEnt,@pmItemEnt,@pmIdProducto,@pmCantBruto,@pmCantNeto,@pmCantEntrada,@pmUndMed,@pmUMCargue,@pmVrUnitario,@pmNumTasas,@pmTasaBrent,@pmTasaWti,@pmTRMdolar,@pmPuntos,@pmPrecioUnd,@pmVrTotal,@pmCdMoneda,@pmUMprecio)
GO
