CREATE PROCEDURE [dbo].[CP_Cbtes_Items_Alta_Online] 
	@LOTE		VARCHAR(20),
	@Item		INT,
	@Id_Producto CHAR(14),
	@Nota		VARCHAR(200),
	@Importe	DECIMAL(12,2),
	@Desde		DATETIME,
	@Hasta		DATETIME
AS 
--SET NOCOUNT ON 
DECLARE @trans_nueva INTEGER,@descripcion_producto VARCHAR(100),@id_cliente INT
DECLARE @Mensaje			VARCHAR(100)

BEGIN TRY
	BEGIN TRAN

	SET @trans_nueva = ISNULL((SELECT MAX(Id_trans) FROM Cbtes WHERE LOTE = 'VW:' + @LOTE AND Id_Estado_Cbte = 0),0)
	IF (@trans_nueva = 0)
	BEGIN
		SET @Mensaje = 'Sin Transación para ese lote'
		PRINT @Mensaje
		SELECT 1,0,0,0,0,@Mensaje
		ROLLBACK
		RETURN 1
	END



	SET @descripcion_producto = (SELECT Descripcion_Resumida FROM Productos WHERE Id_Producto  = @Id_Producto)

	SET @id_cliente = (SELECT id_cliente FROM Cbtes WHERE Id_Trans = @trans_nueva)

	INSERT INTO Cbtes_Items		(id_cliente,		descripcion_producto,		Cantidad,
							id_estado_Cbte,		Cantidad_Saldo,				Id_Trans,
							item,				Precio_Grav,				Imp_Gravado,
							Imp_Final,			Precio,						Lote,
							Fecha_QA,			Flag_QA,					Id_Producto,
							Fecha_Venc)
				VALUES		(@id_cliente,		RTRIM(@descripcion_producto),1,
							0,					1,							@trans_nueva,
							@Item,				@Importe,					@Importe,
							@Importe,			@Importe,					'VW:' + @LOTE,
							@Desde,				'A',						@Id_Producto,
							@Hasta)


	COMMIT

	SELECT	 0					AS ErrorNumber 
			,0					AS ErrorSeverity  
			,0					AS ErrorState 
			,0					AS ErrorProcedure  
			,0					AS ErrorLine		
			,@Mensaje			AS ErrorMessage

END TRY  


BEGIN CATCH  
    EXECUTE usp_GetErrorInfo;  
	ROLLBACK
END CATCH;   
