ALTER TABLE Trn_TasasDia ADD UM_tasa VARCHAR(10) DEFAULT('br')
GO
ALTER TABLE ProdPrecCrudoFmla ADD CodTasa VARCHAR(4)
GO
INSERT INTO Sys_ObjetosApp (IdObj,IdGrupo,SubModulo,IndObj,Nombre,Formulario,Permisos,NivelMinimo,NomArchivo)
 VALUES ('FRMLOIL','OILINF','GEN',1,'Consecutivo de Documentos','FRMLOIL','SSSSSSSSSSSSS',0,'')
INSERT INTO Sys_ObjetosApp (IdObj,IdGrupo,SubModulo,IndObj,Nombre,Formulario,Permisos,NivelMinimo,NomArchivo)
 VALUES ('FRMDPVV','OILDOC','GEN',18,'Provisión de Ventas','FRMDPVV','SSSSSSSSSSSSS',0,'')
INSERT INTO Sys_ObjetosApp (IdObj,IdGrupo,SubModulo,IndObj,Nombre,Formulario,Permisos,NivelMinimo,NomArchivo)
 VALUES ('FRMDDPC','OILDOC','GEN',98,'Devolución de provisiones de Costos','FRMDDPC','SSSSSSSSSSSSS',0,'')
INSERT INTO Sys_ObjetosApp (IdObj,IdGrupo,SubModulo,IndObj,Nombre,Formulario,Permisos,NivelMinimo,NomArchivo)
 VALUES ('FRMDDPV','OILDOC','GEN',97,'Devolución de provisiones de Ventas','FRMDDPC','SSSSSSSSSSSSS',0,'')
GO
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDPVV','ADC','Modificar o Anular documento creado en otra compañía')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDPVV','FEC','Habilitar Fecha Abierta')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDPVV','MOD','Modificar Documento')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDPVV','PDO','Permitir seleccionar intervalo de fechas')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDPC','ADC','Modificar o Anular documento creado en otra compañía')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDPC','FEC','Habilitar Fecha Abierta')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDPC','MOD','Modificar Documento')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDPV','ADC','Modificar o Anular documento creado en otra compañía')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDPV','FEC','Habilitar Fecha Abierta')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDPV','MOD','Modificar Documento')
GO
UPDATE Trn_TasasDia SET UM_tasa='br' WHERE UM_tasa IS NULL
UPDATE ProdPrecCrudoFmla SET CodTasa='PPB' WHERE TipoTasa='BRENT' AND CodTasa IS NULL
UPDATE ProdPrecCrudoFmla SET CodTasa='PPW' WHERE TipoTasa='WTI' AND CodTasa IS NULL
UPDATE ProdPrecCrudoFmla SET CodTasa='USD' WHERE TipoTasa='TRM' AND CodTasa IS NULL
UPDATE ProdPrecCrudoFmla SET CodTasa='0' WHERE TipoTasa='PUNTOS' AND CodTasa IS NULL
GO
CREATE TABLE Trn_OilDevCostos ( 
TipDev VARCHAR(3) DEFAULT ('DPC') NOT NULL,
Devolucion INT DEFAULT ((0)) NOT NULL,
IdCia CHAR(2) NOT NULL,
Fecha SMALLDATETIME NOT NULL,
IdConcepto VARCHAR(4) NOT NULL,
TipDoc VARCHAR(3) DEFAULT ('PCC') NOT NULL,
NumProceso INT DEFAULT ((0)) NOT NULL,
IdCiaDoc CHAR(2) NOT NULL,
FecDoc SMALLDATETIME NOT NULL,
Cantidad DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
SubTotal DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
VrTransporte DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
VrTraVacio DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
TipCom VARCHAR(3),
Comprobante INT DEFAULT ((0)) NOT NULL,
IdCiaCom CHAR(2) NOT NULL,
ModdDev VARCHAR(10) NOT NULL,
Observacion VARCHAR(2000),
FechaCrea SMALLDATETIME NOT NULL,
IdCiaCrea CHAR(2) NOT NULL,
OrigenAdd VARCHAR(10) NOT NULL,
IdUsuario VARCHAR(11) NOT NULL
 CONSTRAINT PK_Trn_OilDevCostos PRIMARY KEY CLUSTERED (TipDev,Devolucion,IdCia),
 CONSTRAINT CK_Trn_OilDevCostosIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosIdCiaCom CHECK ((len([IdCiaCom])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosIdCiaCrea CHECK ((len([IdCiaCrea])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosIdCiaDoc CHECK ((len([IdCiaDoc])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosIdConcepto CHECK ((len([IdConcepto])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosIdUsuario CHECK ((len([IdUsuario])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosModdDev CHECK ((len([ModdDev])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosOrigenAdd CHECK ((len([OrigenAdd])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosTipDev CHECK ((len([TipDev])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosTipDoc CHECK ((len([TipDoc])>(0))))
CREATE TABLE Trn_OilDevCostosProd ( 
TipDev VARCHAR(3) DEFAULT ('DPC') NOT NULL,
Devolucion INT DEFAULT ((0)) NOT NULL,
IdCia CHAR(2) NOT NULL,
Item INT DEFAULT ((0)) NOT NULL,
IdProducto VARCHAR(16) 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,
VrTotal DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
CostoUnit DECIMAL(16,6) DEFAULT ((0)) NOT NULL
 CONSTRAINT PK_Trn_OilDevCostosProd PRIMARY KEY CLUSTERED (TipDev,Devolucion,IdCia,Item),
 CONSTRAINT CK_Trn_OilDevCostosProdIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosProdIdProducto CHECK ((len([IdProducto])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosProdTipDev CHECK ((len([TipDev])>(0))),
 CONSTRAINT CK_Trn_OilDevCostosProdUndMed CHECK ((len([UndMed])>(0))))
GO
ALTER TABLE Trn_OilDevCostos ADD 
 CONSTRAINT FK_Trn_OilDevCostos_adm_Usuarios FOREIGN KEY (IdUsuario) REFERENCES [dbo].[adm_Usuarios] (IdUsuario),
 CONSTRAINT FK_Trn_OilDevCostos_Companias FOREIGN KEY (IdCia) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_OilDevCostos_Companias1 FOREIGN KEY (IdCiaCrea) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_OilDevCostos_Conceptos FOREIGN KEY (IdConcepto) REFERENCES [dbo].[Conceptos] (IdConcepto),
 CONSTRAINT FK_Trn_OilDevCostos_Sys_TiposDoc FOREIGN KEY (TipDev) REFERENCES [dbo].[Sys_TiposDoc] (IdDoc),
 CONSTRAINT FK_Trn_OilDevCostos_Trn_OilCostos FOREIGN KEY (TipDoc,NumProceso,IdCiaDoc) REFERENCES [dbo].[Trn_OilCostos] (TipProc,NumProceso,IdCia)

 CREATE NONCLUSTERED INDEX IX_Trn_OilDevCostosFecha ON Trn_OilDevCostos(Fecha)
 CREATE NONCLUSTERED INDEX IX_Trn_OilDevCostosNumProceso ON Trn_OilDevCostos(TipDoc,NumProceso,IdCiaDoc)

ALTER TABLE Trn_OilDevCostosProd ADD 
 CONSTRAINT FK_Trn_OilDevCostosProd_ProdMcias FOREIGN KEY (IdProducto) REFERENCES [dbo].[ProdMcias] (IdProducto),
 CONSTRAINT FK_Trn_OilDevCostosProd_Sys_Um FOREIGN KEY (UndMed) REFERENCES [dbo].[Sys_Um] (UndMed),
 CONSTRAINT FK_Trn_OilDevCostosProd_Trn_OilDevCostos FOREIGN KEY (TipDev,Devolucion,IdCia) REFERENCES [dbo].[Trn_OilDevCostos] (TipDev,Devolucion,IdCia)
