ALTER PROCEDURE OP_GrabarDocumnetoenTemporalProc
(@CONTADOCREDITO       TINYINT,  -- 1 es Contado , 0 es Credito 
 @NBRSIDE              UD_CARA     =     NULL,
 @CORRNBR              INT,
 -- @DOCTYPEID            UD_DOCTYPEID,     NO se necesita todo es Ticket
 @NBRDOCUMENT          UD_CORRELATIVOS,  -- NO se requiere en el Temporal
 @TYPEPAYMENTID        char(2),
 -- @STKINVENTORY         bit = 1, --Por defecto para los Tickets es 1   
 -- @SITEID               UD_IDSITE,
 @CURYID               UD_CURYID,
 -- @DOCSTATUSID          char(2)='NA', --Por Defecto es Ninguna Acción 
 -- @TERMID               char(2),    LA CONDICIO SE PUEDE HALLAR POR LA FORMA DE PAGO    
 @SALESPERID           UD_SALESPERSONID,  
 @USERID               UD_USERID, 
 -- @DATEDOC              UD_FECHA,   LA OBTENGO DEL SERVIDOR   
 -- @DATEPROCESALES       UD_FECHA,   LA FECHA DE PROCESO  
 -- @PERPOST              UD_PERPOST, SE GENERA POR LA FECHA DE PROCESO 
 @TAXIGVID             char(2)                     = NULL,
 @TAXISCID             char(2)                     = NULL,
 @TOTALPEN             UD_MONTO, 
 @TOTALUSD             UD_MONTO,
 @SUBTOTALPEN          UD_MONTO,
 @SUBTOTALUSD          UD_MONTO,
 @TAXIGVPEN            UD_MONTO,
 @TAXIGVUSD            UD_MONTO,
 @TAXISCPEN            UD_MONTO,
 @TAXISCUSD            UD_MONTO,
 @TOTALNOTAFFECTPEN    UD_MONTO,
 @TOTALNOTAFFECTUSD    UD_MONTO,
 @PORCENTDISCOUNT1     UD_PORCENTAJE,
 @PORCENTDISCOUNT2     UD_PORCENTAJE,
 @TOTDISCOUNTPEN       UD_MONTO,
 @TOTDISCOUNTUSD       UD_MONTO,
 @TOTRETURNEDPEN       UD_MONTO,
 @TOTRETURNEDUSD       UD_MONTO,
 @TOTCASHPEN           UD_MONTO,
 @TOTCASHUSD           UD_MONTO,
 @CUSTIDSS             UD_CODCLIENT                = NULL,
 @TAXREGNBR            UD_CODCLIENT                = NULL,
 @CUSTNAME             UD_NOMBRE                   = NULL,
 @PLACA                UD_PLACA,
-- @NBRBONUS             int,
 @CURYTYPEID           UD_CURYTYPEID,              
 @CURYRATE             UD_CAMBIO,
 @STKCLOSEDZ           bit=0,
 @STKCLOSEDX           bit=0,
 @PROMOTIONCARDID      char(20)                    = NULL,
 @POINTNUMBER          smallint,
 @SALESPOINT           UD_PTOVTA,
 @TERMINALNAME         varchar(25),
 @KILOMETRAJE          INT,
 @ADDRESS              UD_DIRECCION, 
 @TYPECUSTOMER         int,
 @DSCRTYPECUST         varchar(40),
 @IDESTADO             char(1), 
 @ESTADO               varchar(50), 
 @MONEDACREDITO        UD_CURYID, 
 @TIPODECAMBIO         UD_CURYTYPEID,
 @MONTOTIPOCAMBIO      UD_CURYRATE,
 @DIASDEGRACIA         int,
 @LIMITECRED           UD_MONTO,    
 @DEUDACLIENTE         UD_DEUDA,
 @MTOSURPLUS           UD_MONTO,
 @AFECTO               bit,
 @CARDID               CHAR(2),
 @NBRCARD              CHAR(20),
 @CURYIDCARD           UD_CURYID,
 @DESCRIPTARJETA       UD_NOMBRE,
 @IMPRFACPREIMPRESA    INT)
AS
BEGIN
 --Declaraciónde Variables
 DECLARE @DOCTYPEIDTICKET  UD_DOCTYPEID
 DECLARE @SITEID UD_IDSITE
 DECLARE @TERMID  char(2)  
 DECLARE @DATEDOC UD_FECHA 
 DECLARE @DATEPROCESALES  UD_FECHA
 DECLARE @PERPOST  UD_PERPOST 
 DECLARE @STKINVENTORY BIT
 DECLARE @DOCSTATUSID char(2)
 DECLARE @RESULTADO char(2)
 DECLARE @SERIEFACTPREIMPRESA CHAR(3)   -----NUMERO DE SERIE FACTURA-PREIMPRESA
/****************************************************************************************************************/ 
 if rtrim(Ltrim(@CUSTIDSS))= ''
    set @CUSTIDSS=NULL
  
/****************************************************************************************************************/
  -- Obtener los Valores del Setup 

    IF @IMPRFACPREIMPRESA = '1'
       BEGIN
	    SET @SERIEFACTPREIMPRESA = '10'	
	    SELECT @DOCTYPEIDTICKET=DOCTYPEID FROM OP_DOCSERIES WHERE DOCTYPEID = '01' AND NBRSERIES = @SERIEFACTPREIMPRESA
	    PRINT 'FACTURA PREIMPRESA: ' + @DOCTYPEIDTICKET	 
       END	

    IF @IMPRFACPREIMPRESA = '0'
       BEGIN
	    ---SELECT @DOCTYPEIDTICKET=DOCTYPEIDTICKET  from OP_SETUP 
	    SELECT @DOCTYPEIDTICKET=DOCTYPEIDTICKET  from OP_SETUP 
	    PRINT 'OTROS: ' + STR(@DOCTYPEIDTICKET)	 
       END
  
 SELECT @SITEID=SOURCESITE from setup 
 SELECT @DATEDOC=GETDATE()


 SELECT @DATEPROCESALES=DATEPROCESALES FROM OP_SETUP 

 -- Verificar si la Fecha de Proceso Existe 

 if @DATEPROCESALES is null 
    BEGIN
     RAISERROR  20000 'No existe Fecha de Proceso'
     RETURN(1)     
    END


 SET @PERPOST=RTRIM(LTRIM(DATEPART(yyyy,@DATEPROCESALES))) 

 SELECT @RESULTADO= CASE DATEPART(mm,@DATEPROCESALES) WHEN 1 THEN '01'  WHEN 2 THEN '02' WHEN 3 THEN '03'
                                                      WHEN 4 THEN '04'  WHEN 5 THEN '05' WHEN 6 THEN '06'
                                                      WHEN 7 THEN '07'  WHEN 8 THEN '08' WHEN 9 THEN '09'
                                                      WHEN 10 THEN '10' WHEN 11 THEN '11' WHEN 12 THEN '12' END          
         
 SET @PERPOST=RTRIM(LTRIM(@PERPOST)) + RTRIM(LTRIM(@RESULTADO))


 SELECT @STKINVENTORY= 1
 SELECT @DOCSTATUSID='NA'

 -- Obtener la Condicion de Pago

 if @CONTADOCREDITO=1 
    BEGIN  
      SET @TERMID='00' -- El pago es contado y no tiene condicio de pago        
    END
 else  
    BEGIN  
      SELECT @TERMID=TERMIDDOC from customer where CUSTIDSS=@CUSTIDSS 
      IF RTRIM(LTRIM(@TERMID))='' OR @TERMID IS NULL  -- No existe condicion de Pago   
         BEGIN
           SET @TERMID='00'    
         END      
    END
 
    PRINT 'TIPO DE DOC: ' + @DOCTYPEIDTICKET 	
 -- Inicia la Transaccion     

  BEGIN TRAN
    
      INSERT INTO TMP_OP_SALES(NBRSIDE,CORRNBR,DOCTYPEID,NBRDOCUMENT,TYPEPAYMENTID,STKINVENTORY,SITEID,CURYID,
                               DOCSTATUSID,TERMID,SALESPERID,USERID,DATEDOC,DATEPROCESALES,PERPOST,TAXIGVID,
                               TAXISCID,TOTALPEN,TOTALUSD,SUBTOTALPEN,SUBTOTALUSD,TAXIGVPEN,TAXIGVUSD,TAXISCPEN,
                               TAXISCUSD,TOTALNOTAFFECTPEN,TOTALNOTAFFECTUSD,PORCENTDISCOUNT1,PORCENTDISCOUNT2,
                               TOTDISCOUNTPEN,TOTDISCOUNTUSD,TOTRETURNEDPEN,
                               TOTRETURNEDUSD,TOTCASHPEN,TOTCASHUSD,CUSTIDSS,TAXREGNBR,CUSTNAME,PLACA,                         
                               CURYTYPEID,CURYRATE,STKCLOSEDZ,STKCLOSEDX,PROMOTIONCARDID,POINTNUMBER,
                               SALESPOINT,TERMINALNAME,KILOMETRAJE,ADDRESS,TYPECUSTOMER,DSCRTYPECUST,IDESTADO, 
                               ESTADO,MONEDACREDITO,TIPODECAMBIO,MONTOTIPOCAMBIO,DIASDEGRACIA,LIMITECRED,
                               DEUDACLIENTE,MTOSURPLUS,AFECTO,CARDID,NBRCARD,CURYIDCARD,PAGO,DESCRCARD) 
      VALUES
             (@NBRSIDE,@CORRNBR,@DOCTYPEIDTICKET,@NBRDOCUMENT,@TYPEPAYMENTID,@STKINVENTORY,@SITEID,@CURYID,
              @DOCSTATUSID,@TERMID,@SALESPERID,@USERID,@DATEDOC,@DATEPROCESALES,@PERPOST,
              @TAXIGVID,@TAXISCID,@TOTALPEN,@TOTALUSD,@SUBTOTALPEN,@SUBTOTALUSD,@TAXIGVPEN,
              @TAXIGVUSD,@TAXISCPEN,@TAXISCUSD, @TOTALNOTAFFECTPEN,@TOTALNOTAFFECTUSD,
              @PORCENTDISCOUNT1,@PORCENTDISCOUNT2,@TOTDISCOUNTPEN,
              @TOTDISCOUNTUSD,@TOTRETURNEDPEN,@TOTRETURNEDUSD,@TOTCASHPEN,@TOTCASHUSD,@CUSTIDSS,
              @TAXREGNBR,@CUSTNAME,@PLACA,@CURYTYPEID,@CURYRATE,@STKCLOSEDZ,@STKCLOSEDX,@PROMOTIONCARDID,
              @POINTNUMBER,@SALESPOINT,@TERMINALNAME,@KILOMETRAJE,@ADDRESS,@TYPECUSTOMER,@DSCRTYPECUST,@IDESTADO, 
              @ESTADO,@MONEDACREDITO,@TIPODECAMBIO,@MONTOTIPOCAMBIO,@DIASDEGRACIA,@LIMITECRED,@DEUDACLIENTE,
              @MTOSURPLUS,@AFECTO,@CARDID,@NBRCARD,@CURYIDCARD,@CONTADOCREDITO,@DESCRIPTARJETA)
      IF (@@error!=0)
      BEGIN
          RAISERROR  20000 'No se Puede Registrar Venta'
          ROLLBACK TRAN
          RETURN(1)    
      END
    
      COMMIT TRAN
END