ALTER TABLE Trn_OilMediciones ADD NumSalida INT DEFAULT(0) NOT NULL,NumNcp INT DEFAULT(0) NOT NULL,IdCiaNcp CHAR(2) DEFAULT('00') NOT NULL
GO
CREATE TABLE Trn_OilNotas ( 
TipDoc VARCHAR(3) NOT NULL,
NumNota INT DEFAULT ((0)) NOT NULL,
IdCia CHAR(2) NOT NULL,
Fecha SMALLDATETIME NOT NULL,
IdConcepto VARCHAR(4) NOT NULL,
IdTercero VARCHAR(16) NOT NULL,
Cantidad DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
ValorTotal DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
CdCCosto VARCHAR(16),
CdSubCos VARCHAR(16),
TipCom VARCHAR(3) NOT NULL,
Comprobante INT DEFAULT ((0)) NOT NULL,
IdCiaCom CHAR(2) NOT NULL,
Anulado BIT DEFAULT ((0)) NOT NULL,
NumDev INT DEFAULT ((0)) NOT NULL,
FecDev SMALLDATETIME,
Observacion VARCHAR(2000),
IdEstado VARCHAR(4) NOT NULL,
FechaCrea SMALLDATETIME NOT NULL,
IdCiaCrea CHAR(2) NOT NULL,
OrigenAdd VARCHAR(10) NOT NULL,
IdUsuario VARCHAR(11) NOT NULL
 CONSTRAINT PK_Trn_OilNotas PRIMARY KEY CLUSTERED (TipDoc,NumNota,IdCia),
 CONSTRAINT CK_Trn_OilNotasIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_OilNotasIdCiaCom CHECK ((len([IdCiaCom])>(0))),
 CONSTRAINT CK_Trn_OilNotasIdCiaCrea CHECK ((len([IdCiaCrea])>(0))),
 CONSTRAINT CK_Trn_OilNotasIdConcepto CHECK ((len([IdConcepto])>(0))),
 CONSTRAINT CK_Trn_OilNotasIdEstado CHECK ((len([IdEstado])>(0))),
 CONSTRAINT CK_Trn_OilNotasIdTercero CHECK ((len([IdTercero])>(0))),
 CONSTRAINT CK_Trn_OilNotasIdUsuario CHECK ((len([IdUsuario])>(0))),
 CONSTRAINT CK_Trn_OilNotasOrigenAdd CHECK ((len([OrigenAdd])>(0))),
 CONSTRAINT CK_Trn_OilNotasTipDoc CHECK ((len([TipDoc])>(0))))
CREATE TABLE Trn_OilNotasProd ( 
TipDoc VARCHAR(3) NOT NULL,
NumNota INT DEFAULT ((0)) NOT NULL,
IdCia CHAR(2) NOT NULL,
Item INT DEFAULT ((0)) NOT NULL,
IdProducto VARCHAR(16) NOT NULL,
Descripcion VARCHAR(500) NOT NULL,
IdTanque VARCHAR(4) NOT NULL,
Cantidad DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
UndMed VARCHAR(10) DEFAULT ('br') NOT NULL,
VrUnitario DECIMAL(16,6) DEFAULT ((0)) NOT NULL
 CONSTRAINT PK_Trn_OilNotasProd PRIMARY KEY CLUSTERED (TipDoc,NumNota,IdCia,Item),
 CONSTRAINT CK_Trn_OilNotasProdDescripcion CHECK ((len([Descripcion])>(0))),
 CONSTRAINT CK_Trn_OilNotasProdIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_OilNotasProdIdProducto CHECK ((len([IdProducto])>(0))),
 CONSTRAINT CK_Trn_OilNotasProdIdTanque CHECK ((len([IdTanque])>(0))),
 CONSTRAINT CK_Trn_OilNotasProdTipDoc CHECK ((len([TipDoc])>(0))),
 CONSTRAINT CK_Trn_OilNotasProdUndMed CHECK ((len([UndMed])>(0))))
CREATE TABLE Trn_OilAcumCostos ( 
Id INT IDENTITY ( 1,1 ) NOT NULL,
IdCia CHAR(2) NOT NULL,
IdProducto VARCHAR(16) NOT NULL,
Periodo INT DEFAULT ((0)) NOT NULL,
CostoUnd DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
UndMed VARCHAR(10) NOT NULL
 CONSTRAINT PK_Trn_OilAcumCostos PRIMARY KEY NONCLUSTERED (Id),
 CONSTRAINT CK_Trn_OilAcumCostosIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_OilAcumCostosIdProducto CHECK ((len([IdProducto])>(0))),
 CONSTRAINT CK_Trn_OilAcumCostosUndMed CHECK ((len([UndMed])>(0))))
CREATE TABLE Trn_OilCierres ( 
Id INT IDENTITY ( 1,1 ) NOT NULL,
IdCia CHAR(2) NOT NULL,
TipoProc VARCHAR(10) NOT NULL,
nAnno INT DEFAULT ((0)) NOT NULL,
Periodo INT DEFAULT ((0)) NOT NULL,
Estado INT DEFAULT ((0)) NOT NULL,
FechaCrea SMALLDATETIME NOT NULL,
IdUsuario VARCHAR(11) NOT NULL
 CONSTRAINT PK_Trn_OilCierres PRIMARY KEY NONCLUSTERED (Id),
 CONSTRAINT CK_Trn_OilCierresIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_OilCierresIdUsuario CHECK ((len([IdUsuario])>(0))),
 CONSTRAINT CK_Trn_OilCierresTipoProc CHECK ((len([TipoProc])>(0))))

GO
ALTER TABLE Trn_OilNotas ADD 
 CONSTRAINT FK_Trn_OilNotas_adm_Usuarios FOREIGN KEY (IdUsuario) REFERENCES [dbo].[adm_Usuarios] (IdUsuario),
 CONSTRAINT FK_Trn_OilNotas_Companias FOREIGN KEY (IdCia) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_OilNotas_Companias1 FOREIGN KEY (IdCiaCrea) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_OilNotas_Conceptos FOREIGN KEY (IdConcepto) REFERENCES [dbo].[Conceptos] (IdConcepto),
 CONSTRAINT FK_Trn_OilNotas_EstadoDoc FOREIGN KEY (IdEstado) REFERENCES [dbo].[EstadoDoc] (IdEstado),
 CONSTRAINT FK_Trn_OilNotas_Sys_TiposDoc FOREIGN KEY (TipDoc) REFERENCES [dbo].[Sys_TiposDoc] (IdDoc),
 CONSTRAINT FK_Trn_OilNotas_Terceros FOREIGN KEY (IdTercero) REFERENCES [dbo].[Terceros] (IdTercero)

 CREATE NONCLUSTERED INDEX IX_Trn_OilNotasFecha ON Trn_OilNotas(Fecha)

ALTER TABLE Trn_OilNotasProd ADD 
 CONSTRAINT FK_Trn_OilNotasProd_ProdMcias FOREIGN KEY (IdProducto) REFERENCES [dbo].[ProdMcias] (IdProducto),
 CONSTRAINT FK_Trn_OilNotasProd_Sys_Um FOREIGN KEY (UndMed) REFERENCES [dbo].[Sys_Um] (UndMed),
 CONSTRAINT FK_Trn_OilNotasProd_Tanques FOREIGN KEY (IdTanque) REFERENCES [dbo].[Tanques] (IdTanque),
 CONSTRAINT FK_Trn_OilNotasProd_Trn_OilNotas FOREIGN KEY (TipDoc,NumNota,IdCia) REFERENCES [dbo].[Trn_OilNotas] (TipDoc,NumNota,IdCia)

ALTER TABLE Trn_OilAcumCostos ADD 
 CONSTRAINT FK_Trn_OilAcumCostos_Companias FOREIGN KEY (IdCia) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_OilAcumCostos_ProdMcias FOREIGN KEY (IdProducto) REFERENCES [dbo].[ProdMcias] (IdProducto)

 CREATE CLUSTERED INDEX IX_Trn_OilAcumCostosIdProducto ON Trn_OilAcumCostos(IdCia,IdProducto,Periodo)

ALTER TABLE Trn_OilCierres ADD 
 CONSTRAINT FK_Trn_OilCierres_adm_Usuarios FOREIGN KEY (IdUsuario) REFERENCES [dbo].[adm_Usuarios] (IdUsuario),
 CONSTRAINT FK_Trn_OilCierres_Companias FOREIGN KEY (IdCia) REFERENCES [dbo].[Companias] (IdCia)

 CREATE CLUSTERED INDEX IX_Trn_OilCierresPeriodo ON Trn_OilCierres(nAnno,Periodo,IdCia)

IF  EXISTS (SELECT * FROM sys.check_constraints WHERE object_id = OBJECT_ID(N'[dbo].[CK_Sys_GruposObjnModulo]') AND parent_object_id = OBJECT_ID(N'[dbo].[Sys_GruposObj]'))
ALTER TABLE [dbo].[Sys_GruposObj] DROP CONSTRAINT [CK_Sys_GruposObjnModulo]
GO
ALTER TABLE [dbo].[Sys_GruposObj]  WITH NOCHECK ADD  CONSTRAINT [CK_Sys_GruposObjnModulo] CHECK  (([nModulo]='PRODCOM' OR [nModulo]='TRAES' OR [nModulo]='PRESTAMOS' OR [nModulo]='MNMIENTO' OR [nModulo]='RFISICO' OR [nModulo]='TRANS' OR [nModulo]='BUSES' OR [nModulo]='CONTAB' OR [nModulo]='NOMINA' OR [nModulo]='MAIN' OR [nModulo]='JURIDICO'))
GO
ALTER TABLE [dbo].[Sys_GruposObj] CHECK CONSTRAINT [CK_Sys_GruposObjnModulo]
GO
