ALTER TABLE Trn_TraRemMcias ADD TarifOtros MONEY DEFAULT(0) NOT NULL
GO
ALTER TABLE Trn_TraCumRemesas ADD TarifOtros MONEY DEFAULT(0) NOT NULL
GO
ALTER TABLE tm_TraDetalle ADD tmTarifOtros MONEY DEFAULT(0) NOT NULL
GO
ALTER TABLE tm_TraRemCum ADD tmTarifOtros MONEY DEFAULT(0) NOT NULL
GO
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('CUM',9,'OTROS TXP','C')
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('DCU',9,'OTROS TXP','D')
GO
INSERT INTO adm_Opciones (IdOpc,Opcion,TipoDato,Valor,NivUp,nModulo)
 VALUES ('TXP','TARIFAS DE OTROS PAGOS EN REMESAS (COMISIONES)','BOOLEAN','0',5,'TRANS')
GO
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDRMT','TXP','Permitir Editar Otras Tarifas de Pago')
INSERT INTO Sys_Roles (IdObj,IdRole,Funcion)
 VALUES ('FRMDCUM','TXP','Permitir Editar Otras Tarifas de Pago')
GO
--SP MODIFICADOS
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraDetalle]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraDetalle]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraDetalle_Crr]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraDetalle_Crr]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraDetalle_Gtc]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraDetalle_Gtc]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraDetalle_Muc]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraDetalle_Muc]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraDetalle_Ocv]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraDetalle_Ocv]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraDetalle_Odp]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraDetalle_Odp]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraDetalle_Rem]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraDetalle_Rem]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraDetalle_Sel]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraDetalle_Sel]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraRemCum]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraRemCum]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraRemCum_Muc]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraRemCum_Muc]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraRemCum_Sel]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraRemCum_Sel]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInstm_TraRemCum_Trr]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInstm_TraRemCum_Trr]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInsTraCumRemesas]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInsTraCumRemesas]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInsTraRemMcias]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInsTraRemMcias]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQrytm_TraDetalle]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQrytm_TraDetalle]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQrytm_TraDetalleLta]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQrytm_TraDetalleLta]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQrytm_TraDetalleRmt]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQrytm_TraDetalleRmt]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQrytm_TraDetalleTot]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQrytm_TraDetalleTot]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQryTraRemMcias]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQryTraRemMcias]
GO
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[FuncTraCumplidoOtros]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[FuncTraCumplidoOtros]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraDetalle_Gtc] @pmTipDoc VARCHAR(3),@pmNumGuia INT,@pmIdCia CHAR(2),@pmtmNumero VARCHAR(5)
 AS 
 INSERT INTO tm_TraDetalle (tmNumero,tmItem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmdmsAlto,tmdmsAncho,tmdmsLargo,tmVolumen,tmUndVol,tmIdUnd,tmIdEmp,tmIdNat
,tmIdMnjo,tmIdTmcia,tmCdRango,tmCases,tmCajas,tmPalets,tmRemision,tmNumOrden,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino,tmIdDestino
,tmCdAgencia,tmTipoVehic,tmTarifClie,tmTarifPago,tmTarifTabla,tmVrDeclarado,tmVrSeguro,tmTarifSeguro,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmContenedor1,tmContenedor2,tmUndTarifa
,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmNumMintrans,tmPesoCont,tmUndTarPago,tmCodBodega,tmTipoTraslado,tmTieCargue,tmTieDesc,tmFecIniCargue,tmFecFinCargue,tmFecInidesc,tmFecFindesc,tmCdTipoVeh
,tmTipoServicio,tmSedeRem,tmSedeDest,tmFecLlegaCargue,tmFecLlegaDesc,tmMinCargue,tmMinDescargue,tmTarifOtros)
SELECT @pmtmNumero,D.Item,D.IdMercancia,D.DescripcionMcia,D.Cantidad,D.PesoNeto,D.UndMed,D.dmsAlto,D.dmsAncho,D.dmsLargo,D.Volumen,D.UndVol,D.IdUnd,D.IdEmp,D.IdNat
,D.IdMnjo,D.IdTmcia,D.CdConcepto,0,0,0,D.Remision,G.NumRemesa,G.IdRemitente,G.NomRemitente,G.DirOrigen,G.IdLocOrigen,G.IdDestinatario,G.NomDestinatario,G.DirDestino,G.IdLocDestino
,G.IdAgencia,'TERCEROS',D.VrUnitario,0,0,D.VrDeclarado,D.VrSeguro,D.TarifSeguro,D.DocCliente,D.Referencia1,D.Referencia2,D.Referencia3,'','',D.UndTarifa
,G.TipRem,G.NumRemesa,G.IdCiaRem,0,0,0,D.UndTarifa,'0',0,0,0,Null,Null,Null,Null,'0','0','','',Null,Null,0,0,0
 FROM Trn_TraGuias AS G INNER JOIN Trn_TraGuiaMcia AS D ON G.TipDoc=D.TipDoc AND G.NumGuia=D.NumGuia AND G.IdCia=D.IdCia
 WHERE G.TipDoc=@pmTipDoc AND G.NumGuia=@pmNumGuia AND G.IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraDetalle_Ocv] @pmTipDoc VARCHAR(3),@pmNumViaje INT,@pmIdCia CHAR(2),@pmtmNumero VARCHAR(5)
 AS 
 INSERT INTO tm_TraDetalle (tmNumero,tmItem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmdmsAlto,tmdmsAncho,tmdmsLargo,tmVolumen,tmUndVol,tmIdUnd,tmIdEmp,tmIdNat
,tmIdMnjo,tmIdTmcia,tmCdRango,tmCases,tmCajas,tmPalets,tmRemision,tmNumOrden,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino,tmIdDestino
,tmCdAgencia,tmTipoVehic,tmTarifClie,tmTarifPago,tmTarifTabla,tmVrDeclarado,tmVrSeguro,tmTarifSeguro,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmContenedor1,tmContenedor2,tmUndTarifa
,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmNumMintrans,tmPesoCont,tmUndTarPago,tmCodBodega,tmTipoTraslado,tmTieCargue,tmTieDesc,tmFecIniCargue,tmFecFinCargue,tmFecInidesc,tmFecFindesc,tmCdTipoVeh,tmTipoServicio
,tmSedeRem,tmSedeDest,tmFecLlegaCargue,tmFecLlegaDesc,tmMinCargue,tmMinDescargue,tmTarifOtros)
SELECT @pmtmNumero,RM.Item,IdMercancia,DescripMcias,Cantidad,PesoNeto,UndMed,dmsAlto,dmsAncho,dmsLargo,Volumen,UndVol,IdUnd,IdEmp,IdNat
,IdMnjo,IdTmcia,CdRango,Cases,Cajas,Palets,Remision,Factura,NitRemite,Remitente,DirOrigen,IdOrigen,NitDestntario,Destinatario,DirDestino,IdDestino
,CdAgencia,'TERCEROS',TarifClie,TarifPago,TarifTabla,VrDeclarado,VrSeguro,TarifSeguro,DocCliente,Referencia1,Referencia2,Referencia3,Contenedor1,Contenedor2,UndTarifa
,TipOrden,RM.NumOrden,IdCiaOrd,ItemOrd,0,PesoCont,UndTarifPago,'','',0,0,Null,Null,Null,Null,'','',SedeRem,SedeDest,Null,Null,0,0,D.TarifOtros
 FROM Trn_TraInfViajesOrd AS RM INNER JOIN Trn_TraRemMcias  AS D ON  RM.TipOrden=D.TipDoc AND RM.NumOrden=D.NumOrden AND RM.IdCiaOrd=D.IdCia AND RM.ItemOrd=D.Item
 WHERE RM.TipDoc=@pmTipDoc AND RM.NumViaje=@pmNumViaje AND RM.IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraDetalle_Sel] @pmTipDoc VARCHAR(3),@pmPedido INT,@pmIdCia CHAR(2),@pmtmNumero VARCHAR(5)
 AS 
 INSERT INTO tm_TraDetalle (tmNumero,tmItem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmdmsAlto,tmdmsAncho,tmdmsLargo,tmVolumen,tmUndVol,tmIdUnd,tmIdEmp,tmIdNat
,tmIdMnjo,tmIdTmcia,tmCdRango,tmCases,tmCajas,tmPalets,tmRemision,tmNumOrden,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino,tmIdDestino
,tmCdAgencia,tmTipoVehic,tmTarifClie,tmTarifPago,tmTarifTabla,tmVrDeclarado,tmVrSeguro,tmTarifSeguro,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmContenedor1,tmContenedor2,tmUndTarifa
,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmNumMintrans,tmPesoCont,tmUndTarPago,tmCodBodega,tmTipoTraslado,tmTieCargue,tmTieDesc,tmFecIniCargue,tmFecFinCargue,tmFecInidesc,tmFecFindesc,tmCdTipoVeh
,tmTipoServicio,tmSedeRem,tmSedeDest,tmFecLlegaCargue,tmFecLlegaDesc,tmMinCargue,tmMinDescargue,tmTarifOtros)
SELECT @pmtmNumero,Item,IdMercancia,DescripMcias,Cantidad,PesoNeto,UndMed,dmsAlto,dmsAncho,dmsLargo,Volumen,UndVol,IdUnd,IdEmp,IdNat
,IdMnjo,IdTmcia,CdRango,Cases,Cajas,Palets,0,0,NitRemite,Remitente,DirOrigen,IdOrigen,NitDestntario,Destinatario,DirDestino,IdDestino
,'0','TERCEROS',TarifClie,TarifPago,TarifTabla,VrDeclarado,VrSeguro,TarifSeguro,DocCliente,Referencia1,Referencia2,Referencia3,Contenedor1,Contenedor2,UndTarifa
,TipDoc,Pedido,IdCia,Item,0,0,UndTarifPago,'',0,0,0,Null,Null,Null,Null,CdTipoVehic,Tipo_Servicio,SedeRem,SedeDest,Null,Null,0,0,0
 FROM Trn_TraPedMcias
 WHERE TipDoc=@pmTipDoc AND Pedido=@pmPedido AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraDetalle_Odp] @pmTipDoc VARCHAR(3),@pmOrdPago INT,@pmIdCia CHAR(2)
,@pmtmNumero VARCHAR(5)
 AS 
 INSERT INTO tm_TraDetalle (tmNumero,tmItem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmdmsAlto,tmdmsAncho,tmdmsLargo,tmVolumen,tmUndVol,tmIdUnd,tmIdEmp,tmIdNat,tmIdMnjo,tmIdTmcia,tmCdRango,tmCases,tmCajas,tmPalets
,tmRemision,tmNumOrden,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino,tmIdDestino,tmCdAgencia,tmTipoVehic,tmTarifClie,tmTarifPago,tmTarifTabla,tmVrDeclarado,tmVrSeguro,tmTarifSeguro,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3
,tmContenedor1,tmContenedor2,tmUndTarifa,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmNumMintrans,tmPesoCont,tmUndTarPago,tmCodBodega,tmTipoTraslado,tmTieCargue,tmTieDesc,tmFecIniCargue,tmFecFinCargue,tmFecInidesc,tmFecFindesc,tmCdTipoVeh,tmTipoServicio
,tmSedeRem,tmSedeDest,tmFecLlegaCargue,tmFecLlegaDesc,tmMinCargue,tmMinDescargue,tmTarifOtros)
 SELECT @pmtmNumero,R.Item,IdMercancia,Detalle,R.Cantidad,R.PesoNeto,R.UndMed,dmsAlto,dmsAncho,dmsLargo,R.Volumen,R.UndVol,IdUnd,IdEmp,IdNat,IdMnjo,IdTmcia,CdRango,R.Cases,R.Cajas,R.Palets,Remision,Cumplido
,NitRemite,Remitente,DirOrigen,IdOrigen,NitDestntario,Destinatario,DirDestino,IdDestino,CdAgencia,'TERCEROS',TarifClie,R.TarifPago,R.TarifTabla,VrDeclarado,VrSeguro,TarifSeguro,DocCliente,Referencia1,Referencia2,Referencia3
,Contenedor1,Contenedor2,D.UndTarifa,TipRem,Remesa,IdCiaRem,ItemRem,0,PesoCont,R.UndTarifa,'',0,0,0,Null,Null,Null,Null,'','',SedeRem,SedeDest,Null,Null,0,0,D.TarifOtros
 FROM Trn_TraOrdenRemesas AS R INNER JOIN Trn_TraRemMcias AS D ON R.TipRem=D.TipDoc AND  R.Remesa=D.NumOrden AND R.IdCiaRem=D.IdCia AND R.ItemRem=D.Item
 WHERE R.TipDoc=@pmTipDoc AND R.OrdPago=@pmOrdPago  AND R.IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[FuncTraCumplidoOtros] (@pmTipDoc VARCHAR(3),@pmCumplido INT,@pmIdCia CHAR(2))
RETURNS DECIMAL(16,4)
 AS  
BEGIN 
 DECLARE @VrRemOtros DECIMAL(16,4)
 SET @VrRemOtros=(SELECT SUM(CASE WHEN (C.PesoLiqPago=2 OR C.PesoLiqPago<=0) THEN (CASE D.UndTarifPago WHEN 'UNIDADES' THEN D.Cantidad*D.TarifOtros WHEN 'VOLUMEN' THEN D.Volumen*D.TarifOtros ELSE D.PesoNeto*D.TarifOtros END)
 WHEN C.PesoLiqPago=3 THEN (CASE D.UndTarifPago WHEN 'UNIDADES' THEN (CASE WHEN D.Cantidad>0 AND D.Cantidad<D.CantCargue THEN D.Cantidad*D.TarifOtros ELSE (CASE WHEN D.CantCargue>0 THEN D.CantCargue*D.TarifOtros ELSE D.Cantidad*D.TarifOtros END) END)
 WHEN 'VOLUMEN'  THEN (CASE WHEN D.Volumen>0 AND D.Volumen<D.VolCargue THEN D.Volumen*D.TarifOtros ELSE (CASE WHEN D.VolCargue>0 THEN D.VolCargue*D.TarifOtros ELSE D.Volumen*D.TarifOtros END) END)
 ELSE (CASE WHEN D.PesoNeto>0 AND D.PesoNeto<D.PesoCargue THEN D.PesoNeto*D.TarifOtros ELSE (CASE WHEN D.PesoCargue>0 THEN D.PesoCargue*D.TarifOtros ELSE D.PesoNeto*D.TarifOtros END) END) END)
 WHEN C.PesoLiqPago=4 THEN (CASE D.UndTarifPago WHEN 'UNIDADES' THEN (CASE WHEN D.CantCargue>D.Cantidad THEN D.CantCargue*D.TarifOtros ELSE D.Cantidad*D.TarifOtros END)
 WHEN 'VOLUMEN' THEN (CASE WHEN D.VolCargue>D.Volumen THEN D.VolCargue*D.TarifOtros ELSE D.Volumen*D.TarifOtros END)
 ELSE (CASE WHEN D.PesoCargue>D.PesoNeto THEN D.PesoCargue*D.TarifOtros ELSE D.PesoNeto*D.TarifOtros END) END )
 ELSE (CASE D.UndTarifPago WHEN 'UNIDADES' THEN (CASE WHEN D.CantCargue>0 THEN D.CantCargue*D.TarifOtros ELSE D.Cantidad*D.TarifOtros END)
 WHEN 'VOLUMEN' THEN (CASE WHEN D.VolCargue>0 THEN D.VolCargue*D.TarifOtros ELSE D.Volumen*D.TarifOtros END)
 ELSE (CASE WHEN D.PesoCargue>0 THEN D.PesoCargue*D.TarifOtros ELSE D.PesoNeto*D.TarifOtros END) END) END)
 FROM Trn_TraCumplido AS C INNER JOIN Trn_TraCumRemesas AS D ON C.TipDoc=D.TipDoc AND C.Cumplido=D.Cumplido AND C.IdCia=D.IdCia
 WHERE C.TipDoc=@pmTipDoc AND C.Cumplido=@pmCumplido AND C.IdCia=@pmIdCia)
 RETURN @VrRemOtros
END
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[paQrytm_TraDetalleRmt] @pmtmNumero VARCHAR(5)
 AS 
 SELECT tmItem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmIdEmp,Empaque,tmIdNat,Natlzaprod
,tmIdOrigen,LO.Localidad AS LugarOrigen,tmIdDestino,LD.Localidad AS LugarDestino,tmTarifClie,tmUndTarifa,tmTarifTabla,tmTarifPago,tmUndTarPago
,tmTarifOtros,tmVrDeclarado,tmTarifSeguro,tmVrSeguro,tmRemision,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3
,tmDirOrigen,tmDirDestino,tmNitRemite,tmRemitente,tmSedeRem,tmNitDestntario,tmDestinatario,tmSedeDest
,tmdmsLargo,tmdmsAncho,tmdmsAlto,tmVolumen,tmUndVol,tmCases,tmCajas,tmPalets,tmIdUnd,U.Unidad AS UndPresenta
,tmIdMnjo,ManejoMcia,tmIdTmcia,TipoMcia,tmCdRango,DescripRango,tmContenedor1,tmContenedor2,tmPesoCont
 FROM tm_TraDetalle AS T INNER JOIN Localidades AS LO ON T.tmIdOrigen=LO.IdLocal
 INNER JOIN Localidades AS LD ON T.tmIdDestino=LD.IdLocal
 INNER JOIN UndMed AS U ON T.tmIdUnd=U.IdUnd  LEFT JOIN Empaques AS E ON T.tmIdEmp=E.IdEmp
 LEFT JOIN TiposNat AS TN ON T.tmIdNat=TN.IdNat LEFT JOIN TiposMnjo AS MJ ON T.tmIdMnjo=MJ.IdMnjo
 LEFT JOIN TiposMcia AS TM ON T.tmIdTmcia=TM.IdTmcia 
 LEFT JOIN RangosPeso AS RP ON T.tmCdRango=RP.IdRango
 WHERE tmNumero=@pmtmNumero 
 ORDER BY tmItem
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paQrytm_TraDetalleLta] @pmtmNumero VARCHAR(5)
 AS 
 SELECT tmItem,tmIdMercancia,tmDescripMcias,tmCantidad,tmCases,tmCajas,tmPalets,tmPesoNeto,tmUndMed,tmTarifClie,tmUndTarifa,tmTarifTabla,tmTarifPago,tmUndTarPago
,tmVrDeclarado,tmTarifSeguro,tmVrSeguro,tmIdOrigen,LO.Localidad AS LugarOrigen,tmIdDestino,LD.Localidad AS LugarDestino,tmDirOrigen,tmDirDestino,tmNitRemite,tmRemitente,tmSedeRem
,tmNitDestntario,tmDestinatario,tmSedeDest,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmdmsLargo,tmdmsAncho,tmdmsAlto,tmVolumen,tmUndVol,tmIdUnd,U.Unidad AS UndPresenta,tmIdEmp,Empaque 
,tmIdNat,Natlzaprod,tmIdMnjo,ManejoMcia,tmIdTmcia,TipoMcia,tmCdRango,DescripRango,tmContenedor1,tmContenedor2,tmPesoCont,tmCodBodega,tmTipoTraslado,tmCdTipoVeh,tmTipoServicio,tmTarifOtros
 FROM tm_TraDetalle AS T INNER JOIN Localidades AS LO ON T.tmIdOrigen=LO.IdLocal
 INNER JOIN Localidades AS LD ON T.tmIdDestino=LD.IdLocal
 INNER JOIN UndMed AS U ON T.tmIdUnd=U.IdUnd  LEFT JOIN Empaques AS E ON T.tmIdEmp=E.IdEmp
 LEFT JOIN TiposNat AS TN ON T.tmIdNat=TN.IdNat LEFT JOIN TiposMnjo AS MJ ON T.tmIdMnjo=MJ.IdMnjo
 LEFT JOIN TiposMcia AS TM ON T.tmIdTmcia=TM.IdTmcia 
 LEFT JOIN RangosPeso AS RP ON T.tmCdRango=RP.IdRango
 WHERE tmNumero=@pmtmNumero 
 ORDER BY tmItem
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraRemCum_Muc] @pmtmNumero VARCHAR(5),@pmTipDoc VARCHAR(3),@pmManifiesto INT,@pmIdCia CHAR(2)
 AS 
 INSERT INTO tm_TraRemCum (tmNumero,tmItem,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmVolumen,tmUndVol,tmCases,tmCajas,tmPalets,tmTarifClie,tmTarifPago,tmUndTarif,tmUndTarifPago,tmCantCargue
,tmPesoCargue,tmVolCargue,tmCasesCargue,tmCajasCargue,tmPaletsCargue,tmEstadoCump,tmRemision,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmDetalle,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino
,tmIdDestino,tmTarifTabla,tmTipoCum,tmMotivoSusp,tmHoraLlegaCargue,tmHoraEntraCargue,tmHoraSaleCargue,tmHoraLlegaDescargue,tmHoraEntraDescargue,tmHoraSaleDescargue,tmCdCCosto,tmCdSubCos,tmNitCliente,tmTarifOtros)
SELECT @pmtmNumero,D.Item,TipRem,Remesa,IdCiaRem,ItemRem,IdMercancia,DescripMcias,Cantidad,PesoNeto,UndMed,Volumen,UndVol,Cases,Cajas,Palets,R.TarifClie,CASE WHEN D.TarifPago>0 THEN D.TarifPago ELSE R.TarifPago END,UndTarifa,UndTarifPago,Cantidad
,PesoNeto,Volumen,Cases,Cajas,Palets,1,Remision,DocCliente,Referencia1,Referencia2,Referencia3,DetalleCump,NitRemite,Remitente,DirOrigen,IdOrigen,NitDestntario,Destinatario,DirDestino,IdDestino,D.TarifTabla
,'','',FecLlegCargue,FecInicioCargue,FecFinCargue,FecLlegdesc,FecIniciodesc,FecFindesc,'','','',R.TarifOtros
 FROM  Trn_TraManifRem AS D INNER JOIN Trn_TraRemMcias AS R ON D.TipRem=R.TipDoc AND D.Remesa=R.NumOrden AND D.IdCiaRem=R.IdCia AND D.ItemRem=R.Item
 WHERE D.TipDoc=@pmTipDoc AND D.Manifiesto=@pmManifiesto AND D.IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraDetalle_Muc] @pmTipDoc VARCHAR(3),@pmManifiesto INT,@pmIdCia CHAR(2),@pmtmNumero VARCHAR(5)
 AS 
 INSERT INTO tm_TraDetalle (tmNumero,tmItem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmdmsAlto,tmdmsAncho,tmdmsLargo,tmVolumen,tmUndVol,tmIdUnd,tmIdEmp,tmIdNat
,tmIdMnjo,tmIdTmcia,tmCdRango,tmCases,tmCajas,tmPalets,tmRemision,tmNumOrden,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino,tmIdDestino
,tmCdAgencia,tmTipoVehic,tmTarifClie,tmTarifPago,tmTarifTabla,tmVrDeclarado,tmVrSeguro,tmTarifSeguro,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmContenedor1,tmContenedor2,tmUndTarifa
,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmNumMintrans,tmPesoCont,tmUndTarPago,tmCodBodega,tmTipoTraslado,tmTieCargue,tmTieDesc,tmFecIniCargue,tmFecFinCargue,tmFecInidesc,tmFecFindesc,tmCdTipoVeh,tmTipoServicio
,tmSedeRem,tmSedeDest,tmFecLlegaCargue,tmFecLlegaDesc,tmMinCargue,tmMinDescargue,tmTarifOtros)
SELECT @pmtmNumero,RM.Item,IdMercancia,DescripMcias,Cantidad,PesoNeto,UndMed,dmsAlto,dmsAncho,dmsLargo,Volumen,UndVol,IdUnd,IdEmp,IdNat
,IdMnjo,IdTmcia,CdRango,Cases,Cajas,Palets,Remision,Factura,NitRemite,Remitente,DirOrigen,IdOrigen,NitDestntario,Destinatario,DirDestino,IdDestino
,CdAgencia,'TERCEROS',TarifClie,RM.TarifPago,RM.TarifTabla,VrDeclarado,VrSeguro,TarifSeguro,DocCliente,Referencia1,Referencia2,Referencia3,Contenedor1,Contenedor2,UndTarifa
,TipRem,Remesa,IdCiaRem,ItemRem,RemMintrans,PesoCont,UndTarifPago,CodBodDtno,TipTraslado,HorasCargue,HorasDesc,FecInicioCargue,FecFinCargue,FecIniciodesc,FecFindesc,'','',SedeRem,SedeDest,Null,Null,0,0,D.TarifOtros
 FROM Trn_TraManifRem AS RM INNER JOIN Trn_TraRemMcias AS D ON  RM.TipRem=D.TipDoc AND RM.Remesa=D.NumOrden AND RM.IdCiaRem=D.IdCia AND RM.ItemRem=D.Item
 WHERE RM.TipDoc=@pmTipDoc AND Manifiesto=@pmManifiesto AND RM.IdCia=@pmIdCia
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paQryTraRemMcias] @pmTipDoc VARCHAR(3),@pmNumOrden INT,@pmIdCia CHAR(2),@pmItem INT
 AS 
 SELECT TipDoc,NumOrden,IdCia,Item,IdMercancia,DescripMcias,Cantidad,PesoNeto,UndMed,dmsAlto,dmsAncho,dmsLargo,Volumen,UndVol,IdUnd,IdEmp,IdNat,IdTmcia,IdMnjo,CdRango,Cases,Cajas,Palets
,NitRemite,Remitente,DirOrigen,IdOrigen,NitDestntario,Destinatario,DirDestino,IdDestino,TarifClie,TarifPago,TarifTabla,VrDeclarado,VrSeguro,TarifSeguro,UndTarifa,UndTarifPago,Remision,DocCliente,Referencia1,Referencia2,Referencia3
,Contenedor1,Contenedor2,CdAgencia,Cumplido,IdCiaCump,FechaCump,DetalleCump,CantidadCump,PesoCump,VolCump,CasesCump,CajasCump,PaletsCump,TarifCump,PagoCump,UndTarCump,UndTarPagoCump
,TipFac,Factura,IdCiaFac,FechaFac,TarifClieFac,TipOdp,NumeroOdp,IdCiaOdp,TarifOdp,PesoCont,SedeRem,SedeDest,TipDocInv,NumDocInv,IdCiaDocInv,ItemDocInv,TarifOtros
 FROM Trn_TraRemMcias
 WHERE TipDoc=@pmTipDoc AND NumOrden=@pmNumOrden AND IdCia=@pmIdCia
 AND Item BETWEEN ISNULL(@pmItem,-1) AND  ISNULL(@pmItem,2147483647) 
 ORDER BY Item
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraRemCum_Trr] @pmtmNumero VARCHAR(5),@pmTipDoc VARCHAR(3),@pmTraslado INT,@pmIdCia CHAR(2)
 AS 
 INSERT INTO tm_TraRemCum (tmNumero,tmItem,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmVolumen,tmUndVol,tmCases,tmCajas,tmPalets,tmTarifClie,tmTarifPago,tmUndTarif,tmUndTarifPago,tmCantCargue
,tmPesoCargue,tmVolCargue,tmCasesCargue,tmCajasCargue,tmPaletsCargue,tmEstadoCump,tmRemision,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmDetalle,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino
,tmIdDestino,tmTarifTabla,tmTipoCum,tmMotivoSusp,tmHoraLlegaCargue,tmHoraEntraCargue,tmHoraSaleCargue,tmHoraLlegaDescargue,tmHoraEntraDescargue,tmHoraSaleDescargue,tmCdCCosto,tmCdSubCos,tmNitCliente,tmTarifOtros)
SELECT @pmtmNumero,D.Item,D.TipRem,D.Remesa,D.IdCiaRem,D.ItemRem,IdMercancia,DescripMcias,Cantidad,PesoNeto,UndMed,Volumen,UndVol,Cases,Cajas,Palets,TarifClie,TarifPago,UndTarifa,UndTarifPago,CantidadCump
,PesoCump,VolCump,CasesCump,CajasCump,PaletsCump,0,Remision,DocCliente,Referencia1,Referencia2,Referencia3,D.Comentarios,NitRemite,Remitente,DirOrigen,IdOrigen,NitDestntario,Destinatario,DirDestino,IdDestino,TarifTabla
,'','',Null,Null,Null,Null,Null,Null,'','','',R.TarifOtros
FROM Trn_TraTrasladoRem AS D INNER JOIN Trn_TraRemMcias AS R ON D.TipRem=R.TipDoc AND D.Remesa=R.NumOrden AND D.IdCiaRem=R.IdCia AND D.ItemRem=R.Item
WHERE D.TipDoc=@pmTipDoc AND D.Traslado=@pmTraslado AND D.IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraDetalle_Rem] @pmTipDoc VARCHAR(3),@pmNumOrden INT,@pmIdCia CHAR(2),@pmtmNumero VARCHAR(5)
 AS 
 INSERT INTO tm_TraDetalle (tmNumero,tmItem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmdmsAlto,tmdmsAncho,tmdmsLargo,tmVolumen,tmUndVol,tmIdUnd,tmIdEmp,tmIdNat
,tmIdMnjo,tmIdTmcia,tmCdRango,tmCases,tmCajas,tmPalets,tmRemision,tmNumOrden,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino,tmIdDestino
,tmCdAgencia,tmTipoVehic,tmTarifClie,tmTarifPago,tmTarifTabla,tmVrDeclarado,tmVrSeguro,tmTarifSeguro,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmContenedor1,tmContenedor2,tmUndTarifa
,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmNumMintrans,tmPesoCont,tmUndTarPago,tmCodBodega,tmTipoTraslado,tmTieCargue,tmTieDesc,tmFecIniCargue,tmFecFinCargue,tmFecInidesc,tmFecFindesc,tmCdTipoVeh
,tmTipoServicio,tmSedeRem,tmSedeDest,tmFecLlegaCargue,tmFecLlegaDesc,tmMinCargue,tmMinDescargue,tmTarifOtros)
SELECT @pmtmNumero,Item,IdMercancia,DescripMcias,Cantidad,PesoNeto,UndMed,dmsAlto,dmsAncho,dmsLargo,Volumen,UndVol,IdUnd,IdEmp,IdNat
,IdMnjo,IdTmcia,CdRango,Cases,Cajas,Palets,Remision,Factura,NitRemite,Remitente,DirOrigen,IdOrigen,NitDestntario,Destinatario,DirDestino,IdDestino
,CdAgencia,'TERCEROS',TarifClie,TarifPago,TarifTabla,VrDeclarado,VrSeguro,TarifSeguro,DocCliente,Referencia1,Referencia2,Referencia3,Contenedor1,Contenedor2,UndTarifa
,CASE WHEN TipDocInv='SAL' AND NumDocInv>0 THEN TipDocInv ELSE TipFac END,CASE WHEN TipDocInv='SAL' AND NumDocInv>0 THEN NumDocInv ELSE Factura END
,CASE WHEN TipDocInv='SAL' AND NumDocInv>0 THEN IdCiaDocInv ELSE IdCiaFac END,CASE WHEN TipDocInv='SAL' AND NumDocInv>0 THEN ItemDocInv ELSE 0 END
,0,PesoCont,UndTarifPago,'',0,0,0,Null,Null,Null,Null,'','',SedeRem,SedeDest,Null,Null,0,0,TarifOtros
 FROM Trn_TraRemMcias
 WHERE TipDoc=@pmTipDoc AND NumOrden=@pmNumOrden AND IdCia=@pmIdCia
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInsTraRemMcias] @pmTipDoc VARCHAR(3),@pmNumOrden INT,@pmIdCia CHAR(2),@pmItem INT,@pmIdMercancia VARCHAR(16),@pmDescripMcias VARCHAR(250),@pmCantidad DECIMAL(14,4),@pmPesoNeto DECIMAL(14,4),@pmUndMed VARCHAR(10),@pmdmsAlto DECIMAL(14,4),@pmdmsAncho DECIMAL(14,4),@pmdmsLargo DECIMAL(14,4),@pmVolumen DECIMAL(14,4),@pmUndVol VARCHAR(10),@pmIdUnd VARCHAR(4)
,@pmIdEmp VARCHAR(4),@pmIdNat VARCHAR(4),@pmIdTmcia VARCHAR(4),@pmIdMnjo VARCHAR(4),@pmCdRango VARCHAR(4),@pmCases INT,@pmCajas INT,@pmPalets INT,@pmNitRemite VARCHAR(16),@pmRemitente VARCHAR(250),@pmDirOrigen VARCHAR(250),@pmIdOrigen VARCHAR(8),@pmNitDestntario VARCHAR(16),@pmDestinatario VARCHAR(250),@pmDirDestino VARCHAR(250),@pmIdDestino VARCHAR(8),@pmTarifClie MONEY
,@pmTarifPago MONEY,@pmTarifTabla MONEY,@pmVrDeclarado MONEY,@pmVrSeguro MONEY,@pmTarifSeguro DECIMAL(14,4),@pmUndTarifa VARCHAR(10),@pmRemision DECIMAL(18,2),@pmDocCliente VARCHAR(30),@pmReferencia1 VARCHAR(50),@pmReferencia2 VARCHAR(50),@pmReferencia3 VARCHAR(50),@pmContenedor1 VARCHAR(50),@pmContenedor2 VARCHAR(50),@pmCdAgencia VARCHAR(16),@pmCumplido INT,@pmIdCiaCump CHAR(2),@pmFechaCump SMALLDATETIME
,@pmDetalleCump VARCHAR(250),@pmCantidadCump DECIMAL(14,4),@pmPesoCump DECIMAL(14,4),@pmVolCump DECIMAL(14,4),@pmCasesCump INT,@pmCajasCump INT,@pmPaletsCump INT,@pmTarifCump MONEY,@pmPagoCump MONEY,@pmUndTarCump VARCHAR(10),@pmTipFac VARCHAR(3),@pmFactura INT,@pmIdCiaFac CHAR(2),@pmFechaFac SMALLDATETIME,@pmTarifClieFac MONEY,@pmTipOdp VARCHAR(3),@pmNumeroOdp INT
,@pmIdCiaOdp CHAR(2),@pmTarifOdp MONEY,@pmPesoCont DECIMAL(14,4),@pmUndTarifPago VARCHAR(10),@pmUndTarPagoCump VARCHAR(10),@pmSedeRem VARCHAR(10),@pmSedeDest VARCHAR(10),@pmTipDocInv VARCHAR(3),@pmNumDocInv INT,@pmIdCiaDocInv CHAR(2),@pmItemDocInv INT,@pmTarifOtros MONEY
 AS 
 INSERT INTO Trn_TraRemMcias (TipDoc,NumOrden,IdCia,Item,IdMercancia,DescripMcias,Cantidad,PesoNeto,UndMed,dmsAlto,dmsAncho,dmsLargo,Volumen,UndVol,IdUnd,IdEmp,IdNat,IdTmcia,IdMnjo,CdRango,Cases,Cajas,Palets,NitRemite,Remitente,DirOrigen,IdOrigen,NitDestntario,Destinatario,DirDestino,IdDestino,TarifClie,TarifPago,TarifTabla,VrDeclarado,VrSeguro,TarifSeguro,UndTarifa,UndTarifPago,Remision,DocCliente,Referencia1,Referencia2,Referencia3,Contenedor1,Contenedor2,CdAgencia
,Cumplido,IdCiaCump,FechaCump,DetalleCump,CantidadCump,PesoCump,VolCump,CasesCump,CajasCump,PaletsCump,TarifCump,PagoCump,UndTarCump,UndTarPagoCump,TipFac,Factura,IdCiaFac,FechaFac,TarifClieFac,TipOdp,NumeroOdp,IdCiaOdp,TarifOdp,PesoCont,SedeRem,SedeDest,TipDocInv,NumDocInv,IdCiaDocInv,ItemDocInv,TarifOtros)
 VALUES (@pmTipDoc,@pmNumOrden,@pmIdCia,@pmItem,@pmIdMercancia,@pmDescripMcias,@pmCantidad,@pmPesoNeto,@pmUndMed,@pmdmsAlto,@pmdmsAncho,@pmdmsLargo,@pmVolumen,@pmUndVol,@pmIdUnd,@pmIdEmp,@pmIdNat,@pmIdTmcia,@pmIdMnjo,@pmCdRango,@pmCases,@pmCajas,@pmPalets,@pmNitRemite,@pmRemitente,@pmDirOrigen,@pmIdOrigen,@pmNitDestntario,@pmDestinatario,@pmDirDestino,@pmIdDestino,@pmTarifClie
,@pmTarifPago,@pmTarifTabla,@pmVrDeclarado,@pmVrSeguro,@pmTarifSeguro,@pmUndTarifa,@pmUndTarifPago,@pmRemision,@pmDocCliente,@pmReferencia1,@pmReferencia2,@pmReferencia3,@pmContenedor1,@pmContenedor2,@pmCdAgencia,@pmCumplido,@pmIdCiaCump,@pmFechaCump,@pmDetalleCump,@pmCantidadCump,@pmPesoCump,@pmVolCump,@pmCasesCump,@pmCajasCump,@pmPaletsCump,@pmTarifCump,@pmPagoCump,@pmUndTarCump,@pmUndTarPagoCump,@pmTipFac,@pmFactura
,@pmIdCiaFac,@pmFechaFac,@pmTarifClieFac,@pmTipOdp,@pmNumeroOdp,@pmIdCiaOdp,@pmTarifOdp,@pmPesoCont,@pmSedeRem,@pmSedeDest,@pmTipDocInv,@pmNumDocInv,@pmIdCiaDocInv,@pmItemDocInv,@pmTarifOtros)
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInsTraCumRemesas] @pmTipDoc VARCHAR(3),@pmCumplido INT,@pmIdCia CHAR(2),@pmItem INT,@pmTipRem VARCHAR(3),@pmRemesa INT,@pmIdCiaRem CHAR(2),@pmItemRem INT,@pmCantidad DECIMAL(14,4),@pmPesoNeto DECIMAL(14,4),@pmUndMed VARCHAR(10),@pmVolumen DECIMAL(14,4),@pmUndVol VARCHAR(10)
,@pmCases INT,@pmCajas INT,@pmPalets INT,@pmTarifClie MONEY,@pmTarifPago MONEY,@pmUndTarifClie VARCHAR(10),@pmUndTarifPago VARCHAR(10),@pmCantCargue DECIMAL(14,4),@pmPesoCargue DECIMAL(14,4),@pmVolCargue DECIMAL(14,4),@pmCasesCargue INT,@pmCajasCargue INT,@pmPaletsCargue INT,@pmEstadoCump INT
,@pmRemision DECIMAL(18,2),@pmDocCliente VARCHAR(30),@pmReferencia1 VARCHAR(50),@pmReferencia2 VARCHAR(50),@pmReferencia3 VARCHAR(50),@pmDetalle VARCHAR(250),@pmTarifFlete MONEY,@pmTipoCumRemesa VARCHAR(3),@pmMotivoSuspRem VARCHAR(3),@pmHoraLlegaCargue SMALLDATETIME,@pmHoraEntraCargue SMALLDATETIME
,@pmHoraSaleCargue SMALLDATETIME,@pmHoraLlegaDescargue SMALLDATETIME,@pmHoraEntraDescargue SMALLDATETIME,@pmHoraSaleDescargue SMALLDATETIME,@pmCodCCosto VARCHAR(16),@pmCodSubCos VARCHAR(16),@pmNitClieRem VARCHAR(16),@pmTarifOtros MONEY
 AS 
 INSERT INTO Trn_TraCumRemesas (TipDoc,Cumplido,IdCia,Item,TipRem,Remesa,IdCiaRem,ItemRem,Cantidad,PesoNeto,UndMed,Volumen,UndVol,Cases,Cajas,Palets,TarifClie,TarifPago,UndTarifClie,UndTarifPago,CantCargue,PesoCargue,VolCargue,CasesCargue,CajasCargue,PaletsCargue,EstadoCump,Remision,DocCliente
,Referencia1,Referencia2,Referencia3,Detalle,TarifFlete,TipoCumRemesa,MotivoSuspRem,HoraLlegaCargue,HoraEntraCargue,HoraSaleCargue,HoraLlegaDescargue,HoraEntraDescargue,HoraSaleDescargue,CodCCosto,CodSubCos,NitClieRem,TarifOtros)
 VALUES (@pmTipDoc,@pmCumplido,@pmIdCia,@pmItem,@pmTipRem,@pmRemesa,@pmIdCiaRem,@pmItemRem,@pmCantidad,@pmPesoNeto,@pmUndMed,@pmVolumen,@pmUndVol,@pmCases,@pmCajas,@pmPalets,@pmTarifClie,@pmTarifPago,@pmUndTarifClie,@pmUndTarifPago,@pmCantCargue,@pmPesoCargue,@pmVolCargue,@pmCasesCargue
,@pmCajasCargue,@pmPaletsCargue,@pmEstadoCump,@pmRemision,@pmDocCliente,@pmReferencia1,@pmReferencia2,@pmReferencia3,@pmDetalle,@pmTarifFlete,@pmTipoCumRemesa,@pmMotivoSuspRem,@pmHoraLlegaCargue,@pmHoraEntraCargue,@pmHoraSaleCargue,@pmHoraLlegaDescargue,@pmHoraEntraDescargue,@pmHoraSaleDescargue,@pmCodCCosto,@pmCodSubCos,@pmNitClieRem,@pmTarifOtros)
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraRemCum_Sel] @pmtmNumero VARCHAR(5),@pmTipDoc VARCHAR(3),@pmCumplido INT,@pmIdCia CHAR(2)
 AS 
 INSERT INTO tm_TraRemCum (tmNumero,tmItem,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmVolumen,tmUndVol,tmCases,tmCajas,tmPalets,tmTarifClie,tmTarifPago,tmUndTarif,tmUndTarifPago,tmCantCargue
,tmPesoCargue,tmVolCargue,tmCasesCargue,tmCajasCargue,tmPaletsCargue,tmEstadoCump,tmRemision,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmDetalle,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino
,tmIdDestino,tmTarifTabla,tmTipoCum,tmMotivoSusp,tmHoraLlegaCargue,tmHoraEntraCargue,tmHoraSaleCargue,tmHoraLlegaDescargue,tmHoraEntraDescargue,tmHoraSaleDescargue,tmCdCCosto,tmCdSubCos,tmNitCliente,tmTarifOtros)
SELECT @pmtmNumero,Item,TipRem,Remesa,IdCiaRem,ItemRem,'0','0',Cantidad,PesoNeto,UndMed,Volumen,UndVol,Cases,Cajas,Palets,TarifClie,TarifPago,UndTarifClie,UndTarifPago,CantCargue,PesoCargue,VolCargue,CasesCargue,CajasCargue,PaletsCargue,EstadoCump
,Remision,DocCliente,Referencia1,Referencia2,Referencia3,Detalle,'0','','','0','0','','','0',TarifFlete,TipoCumRemesa,MotivoSuspRem,HoraLlegaCargue,HoraEntraCargue,HoraSaleCargue,HoraLlegaDescargue,HoraEntraDescargue,HoraSaleDescargue,CodCCosto,CodSubCos,NitClieRem,TarifOtros
 FROM Trn_TraCumRemesas 
 WHERE TipDoc=@pmTipDoc AND Cumplido=@pmCumplido AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraRemCum] @pmtmNumero VARCHAR(5),@pmtmItem INT,@pmtmTipRem VARCHAR(3),@pmtmRemesa INT,@pmtmIdCiaRem CHAR(2),@pmtmItemRem INT,@pmtmIdMercancia VARCHAR(16),@pmtmDescripMcias VARCHAR(250),@pmtmCantidad DECIMAL(14,4),@pmtmPesoNeto DECIMAL(14,4),@pmtmUndMed VARCHAR(10),@pmtmVolumen DECIMAL(14,4),@pmtmUndVol VARCHAR(10),@pmtmCases INT,@pmtmCajas INT,@pmtmPalets INT,@pmtmTarifClie MONEY
,@pmtmTarifPago MONEY,@pmtmUndTarif VARCHAR(10),@pmtmUndTarifPago VARCHAR(10),@pmtmCantCargue DECIMAL(14,4),@pmtmPesoCargue DECIMAL(14,4),@pmtmVolCargue DECIMAL(14,4),@pmtmCasesCargue INT,@pmtmCajasCargue INT,@pmtmPaletsCargue INT,@pmtmEstadoCump INT,@pmtmRemision DECIMAL(18,2),@pmtmDocCliente VARCHAR(30),@pmtmReferencia1 VARCHAR(50),@pmtmReferencia2 VARCHAR(50),@pmtmReferencia3 VARCHAR(50),@pmtmDetalle VARCHAR(250)
,@pmtmNitRemite VARCHAR(16),@pmtmRemitente VARCHAR(250),@pmtmDirOrigen VARCHAR(250),@pmtmIdOrigen VARCHAR(8),@pmtmNitDestntario VARCHAR(16),@pmtmDestinatario VARCHAR(250),@pmtmDirDestino VARCHAR(250),@pmtmIdDestino VARCHAR(8),@pmtmTarifTabla MONEY,@pmtmTipoCum VARCHAR(3),@pmtmMotivoSusp VARCHAR(3),@pmtmHoraLlegaCargue SMALLDATETIME,@pmtmHoraEntraCargue SMALLDATETIME
,@pmtmHoraSaleCargue SMALLDATETIME,@pmtmHoraLlegaDescargue SMALLDATETIME,@pmtmHoraEntraDescargue SMALLDATETIME,@pmtmHoraSaleDescargue SMALLDATETIME,@pmtmCdCCosto VARCHAR(16),@pmtmCdSubCos VARCHAR(16),@pmtmNitCliente VARCHAR(16),@pmtmTarifOtros MONEY
 AS 
 INSERT INTO tm_TraRemCum (tmNumero,tmItem,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmVolumen,tmUndVol,tmCases,tmCajas,tmPalets,tmTarifClie,tmTarifPago,tmUndTarif,tmUndTarifPago,tmCantCargue,tmPesoCargue,tmVolCargue,tmCasesCargue,tmCajasCargue,tmPaletsCargue,tmEstadoCump,tmRemision,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmDetalle,tmNitRemite,tmRemitente
,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino,tmIdDestino,tmTarifTabla,tmTipoCum,tmMotivoSusp,tmHoraLlegaCargue,tmHoraEntraCargue,tmHoraSaleCargue,tmHoraLlegaDescargue,tmHoraEntraDescargue,tmHoraSaleDescargue,tmCdCCosto,tmCdSubCos,tmNitCliente,tmTarifOtros)
 VALUES (@pmtmNumero,@pmtmItem,@pmtmTipRem,@pmtmRemesa,@pmtmIdCiaRem,@pmtmItemRem,@pmtmIdMercancia,@pmtmDescripMcias,@pmtmCantidad,@pmtmPesoNeto,@pmtmUndMed,@pmtmVolumen,@pmtmUndVol,@pmtmCases,@pmtmCajas,@pmtmPalets,@pmtmTarifClie,@pmtmTarifPago,@pmtmUndTarif,@pmtmUndTarifPago,@pmtmCantCargue,@pmtmPesoCargue,@pmtmVolCargue,@pmtmCasesCargue,@pmtmCajasCargue,@pmtmPaletsCargue
,@pmtmEstadoCump,@pmtmRemision,@pmtmDocCliente,@pmtmReferencia1,@pmtmReferencia2,@pmtmReferencia3,@pmtmDetalle,@pmtmNitRemite,@pmtmRemitente,@pmtmDirOrigen,@pmtmIdOrigen,@pmtmNitDestntario,@pmtmDestinatario,@pmtmDirDestino,@pmtmIdDestino,@pmtmTarifTabla,@pmtmTipoCum,@pmtmMotivoSusp,@pmtmHoraLlegaCargue,@pmtmHoraEntraCargue,@pmtmHoraSaleCargue,@pmtmHoraLlegaDescargue,@pmtmHoraEntraDescargue,@pmtmHoraSaleDescargue,@pmtmCdCCosto,@pmtmCdSubCos,@pmtmNitCliente,@pmtmTarifOtros)
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraDetalle_Crr] @pmTipDoc VARCHAR(3),@pmCausacion INT,@pmIdCia CHAR(2),@pmtmNumero VARCHAR(5)
 AS 
 INSERT INTO tm_TraDetalle (tmNumero,tmItem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmdmsAlto,tmdmsAncho,tmdmsLargo,tmVolumen,tmUndVol,tmIdUnd,tmIdEmp,tmIdNat
,tmIdMnjo,tmIdTmcia,tmCdRango,tmCases,tmCajas,tmPalets,tmRemision,tmNumOrden,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino,tmIdDestino
,tmCdAgencia,tmTipoVehic,tmTarifClie,tmTarifPago,tmTarifTabla,tmVrDeclarado,tmVrSeguro,tmTarifSeguro,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmContenedor1,tmContenedor2,tmUndTarifa
,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmNumMintrans,tmPesoCont,tmUndTarPago,tmCodBodega,tmTipoTraslado,tmTieCargue,tmTieDesc,tmFecIniCargue,tmFecFinCargue,tmFecInidesc,tmFecFindesc
,tmCdTipoVeh,tmTipoServicio,tmSedeRem,tmSedeDest,tmFecLlegaCargue,tmFecLlegaDesc,tmMinCargue,tmMinDescargue,tmTarifOtros)
SELECT @pmtmNumero,Item,'0',Descripcion,Unidades,PesoNeto,UndMed,0,0,0,Volumen,UndVol,'0','0','0','0','0','0',0,0,0,0,0,CedConductor,'0','0','0',CedConductor,'0','0','0','0','TERCEROS',0,VrUnitario,ValorTotal
,0,0,0,pVehiculo,'','',CAST(FecRemesa AS VARCHAR(20)) ,'','',UndTarifa,TipRem,Remesa,IdCiaRem,0,0,0,UndTarifa,'',0,0,0,Null,Null,Null,Null,'','','','',Null,Null,0,0,0
 FROM  Trn_TraReexpedidoRem
 WHERE TipDoc=@pmTipDoc AND Causacion=@pmCausacion AND IdCia=@pmIdCia
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInstm_TraDetalle] @pmtmNumero VARCHAR(5),@pmtmItem INT,@pmtmIdMercancia VARCHAR(16),@pmtmDescripMcias VARCHAR(250),@pmtmCantidad DECIMAL(14,4),@pmtmPesoNeto DECIMAL(14,4),@pmtmUndMed VARCHAR(10),@pmtmdmsAlto DECIMAL(14,4),@pmtmdmsAncho DECIMAL(14,4),@pmtmdmsLargo DECIMAL(14,4),@pmtmVolumen DECIMAL(14,4),@pmtmUndVol VARCHAR(10),@pmtmIdUnd VARCHAR(4),@pmtmIdEmp VARCHAR(4),@pmtmIdNat VARCHAR(4),@pmtmIdMnjo VARCHAR(4),@pmtmIdTmcia VARCHAR(4)
,@pmtmCdRango VARCHAR(4),@pmtmCases INT,@pmtmCajas INT,@pmtmPalets INT,@pmtmRemision DECIMAL(18,2),@pmtmNumOrden INT,@pmtmNitRemite VARCHAR(16),@pmtmRemitente VARCHAR(250),@pmtmDirOrigen VARCHAR(250),@pmtmIdOrigen VARCHAR(8),@pmtmNitDestntario VARCHAR(16),@pmtmDestinatario VARCHAR(250),@pmtmDirDestino VARCHAR(250),@pmtmIdDestino VARCHAR(8),@pmtmCdAgencia VARCHAR(16),@pmtmTipoVehic VARCHAR(10),@pmtmTarifClie MONEY,@pmtmTarifPago MONEY,@pmtmTarifTabla MONEY,@pmtmVrDeclarado MONEY,@pmtmVrSeguro MONEY
,@pmtmTarifSeguro DECIMAL(14,4),@pmtmDocCliente VARCHAR(30),@pmtmReferencia1 VARCHAR(50),@pmtmReferencia2 VARCHAR(50),@pmtmReferencia3 VARCHAR(50),@pmtmContenedor1 VARCHAR(50),@pmtmContenedor2 VARCHAR(50),@pmtmUndTarifa VARCHAR(10),@pmtmTipRem VARCHAR(3),@pmtmRemesa INT,@pmtmIdCiaRem CHAR(2),@pmtmItemRem INT,@pmtmNumMintrans DECIMAL(14,2),@pmtmPesoCont DECIMAL(14,4),@pmtmUndTarPago VARCHAR(10),@pmtmCodBodega VARCHAR(4),@pmtmTipoTraslado INT
,@pmtmTieCargue DECIMAL(14,4),@pmtmTieDesc DECIMAL(14,4),@pmtmFecIniCargue SMALLDATETIME,@pmtmFecFinCargue SMALLDATETIME,@pmtmFecInidesc SMALLDATETIME,@pmtmFecFindesc SMALLDATETIME,@pmtmCdTipoVeh VARCHAR(4),@pmtmTipoServicio VARCHAR(10),@pmtmSedeRem VARCHAR(10),@pmtmSedeDest VARCHAR(10),@pmtmFecLlegaCargue SMALLDATETIME,@pmtmFecLlegaDesc SMALLDATETIME,@pmtmMinCargue INT,@pmtmMinDescargue INT,@pmtmTarifOtros MONEY
 AS 
 INSERT INTO tm_TraDetalle (tmNumero,tmItem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmdmsAlto,tmdmsAncho,tmdmsLargo,tmVolumen,tmUndVol,tmIdUnd,tmIdEmp,tmIdNat,tmIdMnjo,tmIdTmcia,tmCdRango,tmCases,tmCajas,tmPalets,tmRemision,tmNumOrden,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino,tmIdDestino,tmCdAgencia,tmTipoVehic,tmTarifClie,tmTarifPago,tmTarifTabla,tmVrDeclarado,tmVrSeguro,tmTarifSeguro,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3
,tmContenedor1,tmContenedor2,tmUndTarifa,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmNumMintrans,tmPesoCont,tmUndTarPago,tmCodBodega,tmTipoTraslado,tmTieCargue,tmTieDesc,tmFecIniCargue,tmFecFinCargue,tmFecInidesc,tmFecFindesc,tmCdTipoVeh,tmTipoServicio,tmSedeRem,tmSedeDest,tmFecLlegaCargue,tmFecLlegaDesc,tmMinCargue,tmMinDescargue,tmTarifOtros)
 VALUES (@pmtmNumero,@pmtmItem,@pmtmIdMercancia,@pmtmDescripMcias,@pmtmCantidad,@pmtmPesoNeto,@pmtmUndMed,@pmtmdmsAlto,@pmtmdmsAncho,@pmtmdmsLargo,@pmtmVolumen,@pmtmUndVol,@pmtmIdUnd,@pmtmIdEmp,@pmtmIdNat,@pmtmIdMnjo,@pmtmIdTmcia,@pmtmCdRango,@pmtmCases,@pmtmCajas,@pmtmPalets,@pmtmRemision,@pmtmNumOrden,@pmtmNitRemite,@pmtmRemitente,@pmtmDirOrigen,@pmtmIdOrigen,@pmtmNitDestntario,@pmtmDestinatario,@pmtmDirDestino,@pmtmIdDestino,@pmtmCdAgencia,@pmtmTipoVehic
,@pmtmTarifClie,@pmtmTarifPago,@pmtmTarifTabla,@pmtmVrDeclarado,@pmtmVrSeguro,@pmtmTarifSeguro,@pmtmDocCliente,@pmtmReferencia1,@pmtmReferencia2,@pmtmReferencia3,@pmtmContenedor1,@pmtmContenedor2,@pmtmUndTarifa,@pmtmTipRem,@pmtmRemesa,@pmtmIdCiaRem,@pmtmItemRem,@pmtmNumMintrans,@pmtmPesoCont,@pmtmUndTarPago,@pmtmCodBodega,@pmtmTipoTraslado,@pmtmTieCargue,@pmtmTieDesc,@pmtmFecIniCargue,@pmtmFecFinCargue,@pmtmFecInidesc,@pmtmFecFindesc,@pmtmCdTipoVeh,@pmtmTipoServicio,@pmtmSedeRem,@pmtmSedeDest
,@pmtmFecLlegaCargue,@pmtmFecLlegaDesc,@pmtmMinCargue,@pmtmMinDescargue,@pmtmTarifOtros)
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paQrytm_TraDetalle] @pmtmNumero VARCHAR(5),@pmtmItem INT
 AS 
 SELECT tmNumero,tmItem,tmIdMercancia,tmDescripMcias,tmCantidad,tmPesoNeto,tmUndMed,tmdmsAlto,tmdmsAncho,tmdmsLargo,tmVolumen,tmUndVol
,tmIdUnd,tmIdEmp,tmIdNat,tmIdMnjo,tmIdTmcia,tmCdRango,tmCases,tmCajas,tmPalets,tmRemision,tmNumOrden
,tmNitRemite,tmRemitente,tmDirOrigen,tmIdOrigen,tmNitDestntario,tmDestinatario,tmDirDestino,tmIdDestino,tmCdAgencia,tmTipoVehic
,tmTarifClie,tmTarifPago,tmTarifTabla,tmVrDeclarado,tmVrSeguro,tmTarifSeguro,tmDocCliente,tmReferencia1,tmReferencia2,tmReferencia3,tmContenedor1,tmContenedor2,tmUndTarifa
,tmTipRem,tmRemesa,tmIdCiaRem,tmItemRem,tmNumMintrans,tmPesoCont,tmUndTarPago,tmCodBodega,tmTipoTraslado,tmTieCargue,tmTieDesc,tmFecIniCargue,tmFecFinCargue,tmFecInidesc
,tmFecFindesc,tmCdTipoVeh,tmTipoServicio,tmSedeRem,tmSedeDest,tmFecLlegaCargue,tmFecLlegaDesc,tmMinCargue,tmMinDescargue,tmTarifOtros
 FROM tm_TraDetalle
 WHERE tmNumero=@pmtmNumero 
  AND (tmItem>=ISNULL(@pmtmItem,-1)  AND tmItem<=ISNULL(@pmtmItem,2147483647))
 ORDER BY tmItem
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[paQrytm_TraDetalleTot] @pmtmNumero VARCHAR(5)
 AS 
 SELECT SUM(tmCantidad) AS SCANT,SUM(tmPesoNeto) AS SPESO,SUM(tmVolumen) AS SVOLUMEN,SUM(tmVrDeclarado) AS TDECLARA,SUM(tmVrSeguro) AS TSEGURO
,SUM(CASE tmUndTarifa WHEN 'PESO' THEN tmTarifClie*tmPesoNeto WHEN 'UNIDADES' THEN tmTarifClie*tmCantidad  WHEN 'VOLUMEN' THEN  tmTarifClie*tmVolumen 
 WHEN 'CAJAS' THEN tmTarifClie*tmCajas WHEN 'PALETS' THEN  tmTarifClie*tmPalets ELSE tmTarifClie*tmPesoNeto END) AS TCLIENTE
,SUM(CASE  tmUndTarPago  WHEN 'PESO' THEN tmTarifPago*tmPesoNeto WHEN 'UNIDADES' THEN tmTarifPago*tmCantidad  WHEN 'VOLUMEN' THEN  tmTarifPago*tmVolumen 
 WHEN 'CAJAS' THEN tmTarifPago*tmCajas WHEN 'PALETS' THEN  tmTarifPago*tmPalets ELSE tmTarifPago*tmPesoNeto END) AS TPAGO
,SUM(CASE tmUndTarPago WHEN 'PESO' THEN tmTarifTabla*tmPesoNeto WHEN 'UNIDADES' THEN tmTarifTabla*tmCantidad  WHEN 'VOLUMEN' THEN  tmTarifTabla*tmVolumen 
 WHEN 'CAJAS' THEN tmTarifTabla*tmCajas WHEN 'PALETS' THEN  tmTarifTabla*tmPalets ELSE tmTarifTabla*tmPesoNeto END) AS TFLETE
,SUM(tmTarifOtros*tmPesoNeto) AS TOTOTROSPAG
 FROM tm_TraDetalle
 WHERE tmNumero=@pmtmNumero
GO
