INSERT INTO Sys_TiposDoc (IdDoc,TipoDoc,ConsUnico,Leyenda,Inactivo,IntegraCias)
 VALUES ('DSO','DEVOLUCION DE DOCUMENTO SOPORTE',0,'',0,1)
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('DSO',2,'PROVEEDORES - CUENTA POR PAGAR','D')
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('DSO',4,'RETENCION EN LA FUENTE','D')
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('DSO',5,'RETENCION ICA','D')
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('DSO',9,'OTROS CARGOS','C')
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('DSO',10,'OTROS DESCUENTOS','D')
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('DSO',19,'SOBRETASA BOMBERIL','D')
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('DSO',23,'IMPUESTO AVISOS Y TABLEROS','D')
INSERT INTO adm_Opciones (IdOpc,Opcion,TipoDato,Valor,NivUp,nModulo)
 VALUES ('NDS','HABILITAR NOTA DE DEVOLUCION EN DOCUMENTO SOPORTE','BOOLEAN','',5,'MAIN')
GO
INSERT INTO Sys_ObjetosApp  (IdObj,IdGrupo,SubModulo,IndObj,Nombre,Formulario,Permisos,NivelMinimo,NomArchivo)
 VALUES ('FRMDDSO','MAIPRO','GEN',18,'Devolución de Documentos Soporte','FRMDDSO','SSSSSSSSSSSSS',0,'')
INSERT INTO Sys_ObjetosApp  (IdObj,IdGrupo,SubModulo,IndObj,Nombre,Formulario,Permisos,NivelMinimo,NomArchivo)
 VALUES ('FRMDDSOTRA','TRAPRO','GEN',16,'Devolución de Documentos Soporte','FRMDDSO','SSSSSSSSSSSSS',0,'')
INSERT INTO Sys_ObjetosApp  (IdObj,IdGrupo,SubModulo,IndObj,Nombre,Formulario,Permisos,NivelMinimo,NomArchivo)
 VALUES ('FRMDDSOBUS','BUSPRO','GEN',22,'Devolución de Documentos Soporte','FRMDDSO','SSSSSSSSSSSSS',0,'')
GO
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDSO','ADC','Modificar o Anular documento creado en otra compañía')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDSO','CIA','Cambiar de Compañía')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDSO','FEC','Habilitar Fecha Abierta')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDSOBUS','ADC','Modificar o Anular documento creado en otra compañía')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDSOBUS','CIA','Cambiar de Compañía')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDSOBUS','FEC','Habilitar Fecha Abierta')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDSOTRA','ADC','Modificar o Anular documento creado en otra compañía')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDSOTRA','CIA','Cambiar de Compañía')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDDSOTRA','FEC','Habilitar Fecha Abierta')
GO
INSERT INTO Sys_Report  (TipoRep,IdRep,Descripcion,Formato,TipoPapel,Orientacion,VistaPrevia,VerSetup,NumCopias,sp_Nombre,Ind_Location,NomRep)
 VALUES ('DDS','01','Predeterminado','LtDso.rpt',1,1,1,0,1,'paQryDocSopDevLta','','Devoluciones de Documentos Soporte')
GO

CREATE TABLE Trn_DocSopDev ( 
TipDev VARCHAR(3) DEFAULT ('DSO') NOT NULL,
Devolucion INT DEFAULT ((0)) NOT NULL,
IdCia CHAR(2) DEFAULT ('01') NOT NULL,
Fecha SMALLDATETIME NOT NULL,
IdConcepto VARCHAR(4) NOT NULL,
TipDoc VARCHAR(3) DEFAULT ('SOP') NOT NULL,
NumDoc INT DEFAULT ((0)) NOT NULL,
IdCiaDoc CHAR(2) DEFAULT ('01') NOT NULL,
FecDoc SMALLDATETIME NOT NULL,
IdTercero VARCHAR(16) NOT NULL,
SubTotal DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
Descuento DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
Retencion DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
ReteIca DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
Bomberil DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
ImpAviTab DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
OtrosCargos DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
OtrosDctos DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
ValorTotal DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
BaseRet DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
BaseBom DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
CodRes VARCHAR(4),
DescServicio VARCHAR(500),
CdCCosto VARCHAR(16),
CdSubCos VARCHAR(16),
TipDocRef VARCHAR(3),
NumDocRef INT DEFAULT ((0)) NOT NULL,
IdCiaRef CHAR(2),
NitCueProv VARCHAR(16),
CodCueProv VARCHAR(16),
TipCom VARCHAR(3) NOT NULL,
Comprobante INT DEFAULT ((0)) NOT NULL,
IdCiaCom CHAR(2) NOT NULL,
ModdDev VARCHAR(10) DEFAULT ('TOTAL') NOT NULL,
Observacion VARCHAR(500),
OrigenAdd VARCHAR(10) NOT NULL,
TimeSys SMALLDATETIME NOT NULL,
IdCiaCrea CHAR(2) DEFAULT ('01') NOT NULL,
IdUsuario VARCHAR(11) NOT NULL
 CONSTRAINT PK_Trn_DocSopDev PRIMARY KEY CLUSTERED (TipDev,Devolucion,IdCia),
 CONSTRAINT CK_Trn_DocSopDevIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_DocSopDevIdCiaCom CHECK ((len([IdCiaCom])>(0))),
 CONSTRAINT CK_Trn_DocSopDevIdCiaCrea CHECK ((len([IdCiaCrea])>(0))),
 CONSTRAINT CK_Trn_DocSopDevIdCiaDoc CHECK ((len([IdCiaDoc])>(0))),
 CONSTRAINT CK_Trn_DocSopDevIdConcepto CHECK ((len([IdConcepto])>(0))),
 CONSTRAINT CK_Trn_DocSopDevIdTercero CHECK ((len([IdTercero])>(0))),
 CONSTRAINT CK_Trn_DocSopDevIdUsuario CHECK ((len([IdUsuario])>(0))),
 CONSTRAINT CK_Trn_DocSopDevModdDev CHECK ((len([ModdDev])>(0))),
 CONSTRAINT CK_Trn_DocSopDevOrigenAdd CHECK ((len([OrigenAdd])>(0))),
 CONSTRAINT CK_Trn_DocSopDevTipCom CHECK ((len([TipCom])>(0))),
 CONSTRAINT CK_Trn_DocSopDevTipDev CHECK ((len([TipDev])>(0))),
 CONSTRAINT CK_Trn_DocSopDevTipDoc CHECK ((len([TipDoc])>(0))))
CREATE TABLE Trn_DocSopDevDet ( 
TipDev VARCHAR(3) NOT NULL,
Devolucion INT DEFAULT ((0)) NOT NULL,
IdCia CHAR(2) NOT NULL,
Item INT DEFAULT ((0)) NOT NULL,
IdProducto VARCHAR(16) NOT NULL,
Descripcion VARCHAR(1000) NOT NULL,
Cantidad DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
VrUnitario DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
ValorOper DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
VrDcto DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
VrRetencion DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
VrRetIca DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
VrBomberil DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
VrAviTab DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
TarifaDct DECIMAL(14,4) DEFAULT ((0)) NOT NULL,
TarifaRet DECIMAL(14,4) DEFAULT ((0)) NOT NULL,
TarifaIca DECIMAL(14,4) DEFAULT ((0)) NOT NULL,
TarifaBom DECIMAL(14,4) DEFAULT ((0)) NOT NULL,
TarifaAvta DECIMAL(14,4) DEFAULT ((0)) NOT NULL,
CodTarDct VARCHAR(4),
CodTarRet VARCHAR(4),
CodTarIca VARCHAR(4),
CodTarifBom VARCHAR(4),
CodTarifAvta VARCHAR(4),
ItemCom INT DEFAULT ((0)) NOT NULL,
CdCuenta VARCHAR(16),
CdCueCre VARCHAR(16),
CodCC VARCHAR(16),
CodSubCc VARCHAR(16),
PlacaVeh VARCHAR(10),
Veh_Propio INT DEFAULT ((0)) NOT NULL,
NitCliente VARCHAR(16),
CodAgencia VARCHAR(16),
Detalle VARCHAR(500),
NitTercero VARCHAR(16)
 CONSTRAINT PK_Trn_DocSopDevDet PRIMARY KEY CLUSTERED (TipDev,Devolucion,IdCia,Item),
 CONSTRAINT CK_Trn_DocSopDevDetDescripcion CHECK ((len([Descripcion])>(0))),
 CONSTRAINT CK_Trn_DocSopDevDetIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_DocSopDevDetIdProducto CHECK ((len([IdProducto])>(0))),
 CONSTRAINT CK_Trn_DocSopDevDetTipDev CHECK ((len([TipDev])>(0))))
GO
ALTER TABLE Trn_DocSopDev ADD 
 CONSTRAINT FK_Trn_DocSopDev_adm_Usuarios FOREIGN KEY (IdUsuario) REFERENCES [dbo].[adm_Usuarios] (IdUsuario),
 CONSTRAINT FK_Trn_DocSopDev_Companias FOREIGN KEY (IdCia) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_DocSopDev_Companias1 FOREIGN KEY (IdCiaCrea) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_DocSopDev_Conceptos FOREIGN KEY (IdConcepto) REFERENCES [dbo].[Conceptos] (IdConcepto),
 CONSTRAINT FK_Trn_DocSopDev_Sys_TiposDoc FOREIGN KEY (TipDev) REFERENCES [dbo].[Sys_TiposDoc] (IdDoc),
 CONSTRAINT FK_Trn_DocSopDev_Terceros FOREIGN KEY (IdTercero) REFERENCES [dbo].[Terceros] (IdTercero),
 CONSTRAINT FK_Trn_DocSopDev_Trn_DocSoporte FOREIGN KEY (TipDoc,NumDoc,IdCiaDoc) REFERENCES [dbo].[Trn_DocSoporte] (TipDoc,NumDoc,IdCia)
 
 CREATE NONCLUSTERED INDEX IX_Trn_DocSopDevFecha ON Trn_DocSopDev(Fecha)
 CREATE NONCLUSTERED INDEX IX_Trn_DocSopDevNumDoc ON Trn_DocSopDev(TipDoc,NumDoc,IdCiaDoc)

ALTER TABLE Trn_DocSopDevDet ADD 
 CONSTRAINT FK_Trn_DocSopDevDet_Trn_DocSopDev FOREIGN KEY (TipDev,Devolucion,IdCia) REFERENCES [dbo].[Trn_DocSopDev] (TipDev,Devolucion,IdCia)
