VERSION 5.00
Begin VB.Form Form_cupon00_postulantes 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Cupon00 Postulantes"
   ClientHeight    =   1395
   ClientLeft      =   45
   ClientTop       =   375
   ClientWidth     =   4635
   Icon            =   "Form_cupon00_postulantes.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   1395
   ScaleWidth      =   4635
   Begin VB.Frame Frame1 
      Caption         =   "Seleccione año para generar cupon"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00C00000&
      Height          =   1095
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   4335
      Begin VB.CommandButton cmd_generar 
         Caption         =   "Generar Cupon"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   2160
         TabIndex        =   3
         Top             =   360
         Width           =   1695
      End
      Begin VB.ComboBox cb_agno 
         Height          =   315
         Left            =   360
         TabIndex        =   2
         Top             =   360
         Width           =   1215
      End
      Begin VB.CommandButton Command1 
         Caption         =   "Command1"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   495
         Left            =   360
         TabIndex        =   1
         Top             =   720
         Visible         =   0   'False
         Width           =   1215
      End
   End
End
Attribute VB_Name = "Form_cupon00_postulantes"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub cmd_generar_Click()
    Dim total_cupones As Long
    Dim hermanos As String
    Dim cuota As Long
    Dim Folio As Long
    Dim var_sql As String
    Dim objRS As ADODB.Recordset
    Set objRS = New ADODB.Recordset
    Dim REC As ADODB.Recordset
    Set REC = New ADODB.Recordset
    
    ''''' Creo tabla de deuda alumnos
    var_sql = "DROP TABLE IF EXISTS temp_d_alu;"
    conn.Execute var_sql
    var_sql = "CREATE TABLE temp_d_alu TYPE = MYISAM" _
            & " SELECT a.rut_apo,dm.run_alu,SUM(monto_tot_cuota-monto_abono) AS monto_total" _
            & " FROM fnza_detalle_mensualidad dm,alu_x_cur c,apo_x_alu axc,postulantes p,apoderados a" _
            & " WHERE c.activo_alu = 'SI' AND dm.run_alu = c.ci_alu AND c.ci_alu = axc.ci_alu" _
            & " AND dm.agno = c.agno AND c.agno = axc.agno AND dm.agno > 2009 AND dm.run_alu = p.ci_alu AND axc.rut_apo = a.rut_apo AND dm.agno < 2015" _
            & " GROUP BY a.rut_apo" _
            & " HAVING SUM(monto_tot_cuota - monto_abono) >= 13500;"
    conn.Execute var_sql
    
    '''' Creo tabla deuda apoderado
    var_sql = "DROP TABLE IF EXISTS temp_d_apo;"
    conn.Execute var_sql
    var_sql = "CREATE TABLE temp_d_apo TYPE = MYISAM" _
            & " SELECT a.rut_apo,dm.run_alu,SUM(monto_tot_cuota-monto_abono) AS monto_total" _
            & " FROM fnza_detalle_mensualidad dm,alu_x_cur c,apo_x_alu axc,postulantes p,apoderados a" _
            & " WHERE c.activo_alu = 'SI' AND dm.run_alu = c.ci_alu AND c.ci_alu = axc.ci_alu" _
            & " AND dm.agno = c.agno AND c.agno = axc.agno AND dm.agno > 2009 AND dm.run_alu = p.ci_alu AND axc.rut_apo = a.rut_apo AND dm.agno < 2015" _
            & " GROUP BY a.rut_apo" _
            & " HAVING SUM(monto_tot_cuota - monto_abono) >= 13500;"
    conn.Execute var_sql
    
    
    ''''''''''''''' Postulantes GesCol ''''''''''''''
    
    var_sql = "SELECT p1.ci_alu AS rut_pos,valor AS colegio,a.rut_apo,anno_pos_alu AS agno,2 AS mes_1,16 AS banco," _
            & "DATE_FORMAT(NOW(),'%Y-%m-%d') AS fecha_gen,1 AS can_cupon,'GE' AS esta_fin,'ct00' AS concepto," _
            & "CONCAT(anno_pos_alu,'00') AS numero,2 AS mes,CONCAT(anno_pos_alu,'-03-05') AS vcto,'GE' AS estado,0 AS ubicacion," _
            & "CONCAT(cod_ens,p2.num_gra) AS curso,arancel_base AS cupon,COUNT(p1.ci_alu) total_alumnos" _
            & " FROM postulaciones p1,postulantes p2,apo_x_ins a,apoderados ap,(SELECT * FROM fnza_descuento WHERE agno = " & cb_agno.Text & ") fd," _
            & "(SELECT valor FROM cfg WHERE param = 'CODBC') AS cole" _
            & " Where p1.ci_alu = p2.ci_alu And p1.anno_pos_alu = p2.agno_postulacion And a.rut_apo = ap.rut_apo And CONCAT(p2.Cod_Ens, p2.Num_Gra) = fd.curso" _
            & " AND p1.ci_alu = a.ci_alu AND anno_pos_alu = " & cb_agno.Text _
            & " AND p1.ci_alu NOT IN (SELECT run_alu FROM temp_d_alu)" _
            & " AND a.rut_apo NOT IN (SELECT rut_apo FROM temp_d_apo)" _
            & " AND ap.rut_apo NOT IN (SELECT rut_apo FROM fnza_cuponeras_postulantes) GROUP BY a.rut_apo"
    objRS.Open var_sql, conn
    
    If objRS.RecordCount = 0 Then
        MsgBox "No hay postulantes nuevos por GesCol para generar generar cupon00", vbInformation
        objRS.Close
    Else
    
    
    'Format(fecha, "yyyy/mm/dd")
    
    total_cupones = 0
    While Not objRS.EOF
        'Pregunto si apoderado tiene hermanos
        If objRS("total_alumnos") > 1 Then
            ' Si tiene hermanos calculo el valor de la cuota con descuento de hermano
'            var_sql = "SELECT c.*,arancel_base AS cupon FROM temp_cupon00 AS c,fnza_descuento AS d,codigos_ensenanza ce" _
'                    & " WHERE c.agno = d.agno AND CAST(c.curso AS CHAR) = CAST(d.curso AS CHAR)" _
'                    & " AND CAST(MID(c.curso,1,3) AS CHAR) = CAST(ce.cod_ens AS CHAR) AND c.agno = " & cb_agno.Text _
'                    & " AND rut_apo = '" & objRS("rut_apo") & "'" _
'                    & " ORDER BY ord_ens DESC,MID(c.curso,4,1) DESC"
            var_sql = "SELECT p1.ci_alu AS rut_pos,valor AS colegio,a.rut_apo,anno_pos_alu AS agno,2 AS mes_1,16 AS banco," _
            & "DATE_FORMAT(NOW(),'%Y-%m-%d') AS fecha_gen,1 AS can_cupon,'GE' AS esta_fin,'ct00' AS concepto," _
            & "CONCAT(anno_pos_alu,'00') AS numero,2 AS mes,CONCAT(anno_pos_alu,'-03-05') AS vcto,'GE' AS estado,0 AS ubicacion," _
            & "CONCAT(p2.cod_ens,p2.num_gra) AS curso,arancel_base AS cupon,p2.cod_ens,p2.num_gra" _
            & " FROM postulaciones p1,postulantes p2,apo_x_ins a,apoderados ap,(SELECT * FROM fnza_descuento WHERE agno = " & cb_agno.Text & ") fd," _
            & "(SELECT valor FROM cfg WHERE param = 'CODBC') AS cole,codigos_ensenanza ce" _
            & " Where p1.ci_alu = p2.ci_alu And p1.anno_pos_alu = p2.agno_postulacion And a.rut_apo = ap.rut_apo And CONCAT(p2.Cod_Ens, p2.Num_Gra) = fd.curso" _
            & " AND p1.ci_alu = a.ci_alu AND anno_pos_alu = " & cb_agno.Text _
            & " and p2.cod_ens = ce.cod_ens AND ap.rut_apo NOT IN (SELECT rut_apo FROM fnza_cuponeras_postulantes WHERE agno = " & cb_agno.Text & ") and a.rut_apo = '" _
            & objRS("rut_apo") & "' ORDER BY ord_ens DESC,p2.num_gra DESC"

            REC.Open var_sql, conn
            hermanos = 0
            cuota = 0
            While Not REC.EOF
                hermanos = hermanos + 1
                If hermanos = 1 Then
                    cuota = cuota + REC("cupon")
                Else
                    cuota = cuota + Round(((REC("cupon") * 0.75) + 0.5))
                End If
                REC.MoveNext
            Wend
            REC.Close
        Else
            'valor de la cuota si no hay hermanos
            cuota = objRS("cupon")
        End If
        
        ' sumno cuponeras
        total_cupones = total_cupones + 1
        ' inserto registro en tabla cuponeras
        var_sql = "INSERT INTO fnza_cuponeras_postulantes(COLEGIO,RUT_APO,AGNO,MES_1,BANCO," _
                & "FECHA_GEN,CAN_CUPON,ESTA_FIN,CONCEPTO,LOGINUSUARIO)" _
                & " VALUES('" & objRS("colegio") & "','" & objRS("rut_apo") & "','" & objRS("agno") & "','" & objRS("mes_1") & "','" & objRS("banco") & "'," _
                & "'" & Format(objRS("fecha_gen"), "yyyy/mm/dd") & "','" & objRS("can_cupon") & "','" & objRS("esta_fin") & "','" & objRS("concepto") & "','" & Nom_usu_ses & "');"
        conn.Execute var_sql
        
        var_sql = "SELECT MAX(folio_cuponera) as folio FROM fnza_cuponeras_postulantes"
        REC.Open var_sql, conn
        If REC.RecordCount > 0 Then
            Folio = REC("folio")
        Else
            MsgBox "Error", vbInformation
                Exit Sub
        End If
        REC.Close
        ' insert registro en detalle de cuponeras
        var_sql = "INSERT INTO fnza_deta_cupones_postulantes(NUMERO,MES,VCTO,VALOR,ESTADO," _
                & "UBICACION,FOLIO_CUPONERA,LOGINUSUARIO)" _
                & " VALUES('" & objRS("numero") & "','" & objRS("mes") & "','" & Format(objRS("vcto"), "yyyy/mm/dd") _
                & "','" & cuota & "','" & objRS("estado") & "','0','" & Folio & "','" & Nom_usu_ses & "');"
        conn.Execute var_sql
                
        
        objRS.MoveNext
    Wend
    objRS.Close
    MsgBox "Se generan " & total_cupones & " cupones postulados a traves de GesCol", vbInformation
      
    
    End If
    
    ''''''''''' Postulantes WEB
    
    var_sql = "DROP TABLE IF EXISTS temp_cupon00;"
    conn.Execute var_sql
    
    var_sql = "CREATE TABLE temp_cupon00 TYPE = MYISAM DEFAULT CHARSET=latin1 " _
            & " SELECT rut_pos,valor AS colegio,rut_apo,anio AS agno,2 AS mes_1,16 AS banco,DATE_FORMAT(NOW(),'%Y-%m-%d') AS fecha_gen,1 AS can_cupon," _
            & " 'GE' AS esta_fin,'ct00' AS concepto," _
            & " CONCAT(anio,'00') AS numero,2 AS mes,CONCAT(anio,'-03-05') AS vcto,'GE' AS estado,0 AS ubicacion," _
            & " IF(curso_pos = '1 BASICO','1101',IF(curso_pos = '2 BASICO','1102',IF(curso_pos = '3 BASICO','1103',IF(curso_pos = '4 BASICO','1104'," _
            & " IF(curso_pos = '5 BASICO','1105',IF(curso_pos = '6 BASICO','1106',IF(curso_pos = '7 BASICO','1107',IF(curso_pos = '8 BASICO','1108'," _
            & " IF(curso_pos = '1 MEDIO','3101',IF(curso_pos = '2 MEDIO','3102',IF(curso_pos = '3 MEDIO','3103',IF(curso_pos = '4 MEDIO','3104'," _
            & " IF(curso_pos = 'PREKINDER','9961',IF(curso_pos = 'KINDER','0101','1111')))))))))))))) AS curso" _
            & " FROM postulante_web,(SELECT valor FROM cfg WHERE param = 'CODBC') AS cole WHERE anio = " & cb_agno.Text _
            & " GROUP BY rut_pos;"
    conn.Execute var_sql
    
    var_sql = "SELECT c.*,SUM(arancel_base) AS cupon,COUNT(rut_pos) total_alumnos FROM temp_cupon00 AS c,fnza_descuento AS d" _
            & " Where c.agno = d.agno And cast(c.curso as char) = cast(d.curso as char) And c.agno = " & cb_agno.Text _
            & " AND rut_pos NOT IN (SELECT run_alu FROM temp_d_alu)" _
            & " AND rut_apo NOT IN (SELECT rut_apo FROM temp_d_apo)" _
            & " AND rut_apo NOT IN (SELECT rut_apo FROM fnza_cuponeras_postulantes WHERE agno = " & cb_agno.Text & ") GROUP BY rut_apo;"
    objRS.Open var_sql, conn
    
    If objRS.RecordCount = 0 Then
        MsgBox "No hay postulantes nuevos por la WEB para generar generar cupon00", vbInformation
        objRS.Close
        Exit Sub
    End If
    
    'Format(fecha, "yyyy/mm/dd")
    
    total_cupones = 0
    While Not objRS.EOF
        'Pregunto si apoderado tiene hermanos
        If objRS("total_alumnos") > 1 Then
            ' Si tiene hermanos calculo el valor de la cuota con descuento de hermano
            var_sql = "SELECT c.*,arancel_base AS cupon FROM temp_cupon00 AS c,fnza_descuento AS d,codigos_ensenanza ce" _
                    & " WHERE c.agno = d.agno AND CAST(c.curso AS CHAR) = CAST(d.curso AS CHAR)" _
                    & " AND CAST(MID(c.curso,1,3) AS CHAR) = CAST(ce.cod_ens AS CHAR) AND c.agno = " & cb_agno.Text _
                    & " AND rut_apo = '" & objRS("rut_apo") & "'" _
                    & " ORDER BY ord_ens DESC,MID(c.curso,4,1) DESC"
            REC.Open var_sql, conn
            hermanos = 0
            cuota = 0
            While Not REC.EOF
                hermanos = hermanos + 1
                If hermanos = 1 Then
                    cuota = cuota + REC("cupon")
                Else
                    cuota = cuota + Round(((REC("cupon") * 0.75) + 0.5))
                End If
                REC.MoveNext
            Wend
            REC.Close
        Else
            'valor de la cuota si no hay hermanos
            cuota = objRS("cupon")
        End If
        
        ' sumno cuponeras
        total_cupones = total_cupones + 1
        ' inserto registro en tabla cuponeras
        var_sql = "INSERT INTO fnza_cuponeras_postulantes(COLEGIO,RUT_APO,AGNO,MES_1,BANCO," _
                & "FECHA_GEN,CAN_CUPON,ESTA_FIN,CONCEPTO,LOGINUSUARIO)" _
                & " VALUES('" & objRS("colegio") & "','" & objRS("rut_apo") & "','" & objRS("agno") & "','" & objRS("mes_1") & "','" & objRS("banco") & "'," _
                & "'" & Format(objRS("fecha_gen"), "yyyy/mm/dd") & "','" & objRS("can_cupon") & "','" & objRS("esta_fin") & "','" & objRS("concepto") & "','" & Nom_usu_ses & "');"
        conn.Execute var_sql
        
        var_sql = "SELECT MAX(folio_cuponera) as folio FROM fnza_cuponeras_postulantes"
        REC.Open var_sql, conn
        If REC.RecordCount > 0 Then
            Folio = REC("folio")
        Else
            MsgBox "Error", vbInformation
                Exit Sub
        End If
        REC.Close
        ' insert registro en detalle de cuponeras
        var_sql = "INSERT INTO fnza_deta_cupones_postulantes(NUMERO,MES,VCTO,VALOR,ESTADO," _
                & "UBICACION,FOLIO_CUPONERA,LOGINUSUARIO)" _
                & " VALUES('" & objRS("numero") & "','" & objRS("mes") & "','" & Format(objRS("vcto"), "yyyy/mm/dd") _
                & "','" & cuota & "','" & objRS("estado") & "','0','" & Folio & "','" & Nom_usu_ses & "');"
        conn.Execute var_sql
                
        
        objRS.MoveNext
    Wend
    objRS.Close
    MsgBox "Se generan " & total_cupones & " cupones postulados por la WEB", vbInformation
    
    ' Creo archivo de cuponeras
    Command1_Click
    
End Sub

Private Sub Command1_Click()
    Dim accion, accion_detalle, run_apo As String
    Dim primer_cupon, ultimo_cupon, folio_cuponera, LI As Long
    Dim sw As Boolean
    Dim sql As String
    Dim Pk As Boolean
    Dim Archivo As String
    Dim RC As ADODB.Recordset
    Set RC = New ADODB.Recordset
    Dim RCcupoNera As ADODB.Recordset
    Set RCcupoNera = New ADODB.Recordset
    Dim RCcupon As ADODB.Recordset
    Set RCcupon = New ADODB.Recordset
    'Barra.Value = 0
    'Barra.Min = 0
    
    'Btn_Generar.Enabled = False
    'cmg_Reimprimir.Enabled = False
    'cmd_EliminarCuponera.Enabled = False
    'Cancelar.Enabled = False
    'Btn_Limpiar.Enabled = False
    'Btn_Salir.Enabled = False
    
    
    sql = "select count(estado) as cant from fnza_deta_cupones_postulantes where (estado = 'GE' or estado = 'DE' or estado = 'RE' or estado = 'MC') and loginusuario = '" & Nom_usu_ses & "'"
    RC.Open sql, conn
    
    If RC!cant > 0 Then
    'Barra.Max = RC!cant
    RC.Close
    'frm_mensaje.Visible = True
    'frm_mensaje.Refresh
    
        MsgBox "el sistema se dispondra a actualizar los datos de cuponeras, por favor espere un momento", vbInformation
        
'        ARCH_ELIBC = "\\192.168.7.10\cuponeras\" & CODBC & "\" & RetornaCampo("CFG", "valor", "param='CODBC'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_ELI.bci"
'        ARCH_REIBC = "\\192.168.7.10\cuponeras\" & CODBC & "\" & RetornaCampo("CFG", "valor", "param='CODBC'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_REI.bci"
'        ARCH_ELIPK = "\\192.168.7.10\cuponeras\" & CODBC & "\" & RetornaCampo("CFG", "valor", "param='CODPK'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_ELI.bci"
'        ARCH_REIPK = "\\192.168.7.10\cuponeras\" & CODBC & "\" & RetornaCampo("CFG", "valor", "param='CODPK'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_REI.bci"
'        ARCH_GENBC = "\\192.168.7.10\cuponeras\" & CODBC & "\" & RetornaCampo("CFG", "valor", "param='CODBC'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_GEN.bci"
'        ARCH_GENPK = "\\192.168.7.10\cuponeras\" & CODBC & "\" & RetornaCampo("CFG", "valor", "param='CODPK'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_GEN.bci"

        ARCH_ELIBC = "C:\" & RetornaCampo("CFG", "valor", "param='CODBC'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_ELI.bci"
        ARCH_REIBC = "C:\" & RetornaCampo("CFG", "valor", "param='CODBC'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_REI.bci"
        ARCH_ELIPK = "C:\" & RetornaCampo("CFG", "valor", "param='CODPK'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_ELI.bci"
        ARCH_REIPK = "C:\" & RetornaCampo("CFG", "valor", "param='CODPK'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_REI.bci"
        ARCH_GENBC = "C:\" & RetornaCampo("CFG", "valor", "param='CODBC'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_GEN.bci"
        ARCH_GENPK = "C:\" & RetornaCampo("CFG", "valor", "param='CODPK'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_GEN.bci"

        'generar y anexar datos archivo de generacion de cuponeras colegio segun año
        '***************************************************************************
        
        sql = "SELECT distinct agno FROM fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fdc.folio_cuponera = fc.folio_cuponera and estado = 'GE' AND fc.colegio = '" & CODBC & "' and fdc.loginusuario = '" & Nom_usu_ses & "' ORDER BY fc.agno"
        RC.Open sql, conn
        If RC.RecordCount > 0 Then
            While Not RC.EOF
                Archivo = ARCH_GENBC & "_" & CStr(RC!agno) & "_GEN.bci"
                CrearArchBCI False, False, Archivo, RC!agno, conn
                sql = "SELECT * from fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fc.colegio = '" & CODBC & "' and fdc.loginusuario = '" & Nom_usu_ses & "' and fdc.estado = 'GE' and fdc.folio_cuponera = fc.folio_cuponera and fc.agno = " & RC!agno & " ORDER BY fc.folio_cuponera, fdc.vcto "
                RCcupoNera.Open sql, conn
                sw = False
                primer_cupon = 0
                ultimo_cupon = 0
                While Not RCcupoNera.EOF
                    If sw = False Then
                        primer_cupon = RCcupoNera("folio_cupon")
                        ultimo_cupon = RCcupoNera("folio_cupon")
                        folio_cuponera = RCcupoNera("folio_cuponera")
                        run_apo = RCcupoNera("rut_apo")
                        sw = True
                    End If
                    If primer_cupon > RCcupoNera("folio_cupon") Then
                        primer_cupon = RCcupoNera("folio_cupon")
                    End If
                    If ultimo_cupon < RCcupoNera("folio_cupon") Then
                        ultimo_cupon = RCcupoNera("folio_cupon")
                    End If
                    AgregarRegistroArchivoGeneracion_postulantes Archivo, RCcupoNera("rut_apo"), RCcupoNera("valor"), RCcupoNera("numero"), Format(RCcupoNera("vcto"), "yyyy-mm-dd"), conn
                    'barra.Value = barra.Value + 1
                    'barra.Refresh
                    sql = "UPDATE fnza_deta_cupones_postulantes fdc SET estado = 'PE' WHERE folio_cupon = " & RCcupoNera("folio_cupon")
                    conn.Execute sql
                    RCcupoNera.MoveNext
                Wend
                MsgBox "El archivo de Generacion de cuponeras colegio se ha creado exitosamente. " & vbCrLf & "Se han creado un total de " & RCcupoNera.RecordCount & " cuponeras." & vbCrLf & "Y su hubicacion es : " & Archivo & vbCrLf & "Para el año : " & RC!agno
                RCcupoNera.Close
                sql = "UPDATE fnza_cuponeras_postulantes fc SET esta_fin = 'PE' WHERE esta_fin = 'GE' AND colegio = '" & CODBC & "' and loginusuario = '" & Nom_usu_ses & "' and fc.agno = " & RC!agno
                conn.Execute sql, LI
                'Inserta log
                If LI = 1 Then
                accion_detalle = "Se ha generado la cuponera con folio " & folio_cuponera _
                               & ", para el año " & RC!agno & ", con los cupones del " _
                               & primer_cupon & " al " & ultimo_cupon
                accion = "Generar Cuponera"
                Else
                accion = "Crear Cupon"
                If primer_cupon < ultimo_cupon Then
                    accion_detalle = "Se han creado los cupones del " & primer_cupon _
                                   & " al " & ultimo_cupon & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                Else
                    accion_detalle = "Se ha creado el cupon con folio " & primer_cupon _
                                   & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                End If
                End If
                'Call inserta_vitacora_cuponeras(run_apo, CLng(folio_cuponera), _
                '     CStr(accion), CStr(accion_detalle))
                'Fin de log
                RC.MoveNext
            Wend
         End If
        RC.Close
        'generar y anexar datos archivo de generacion de cuponeras marta carcamo segun año
        '*********************************************************************************
        
        sql = "SELECT distinct agno FROM fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fdc.folio_cuponera = fc.folio_cuponera and estado = 'GE' AND fc.colegio = '" & CODPK & "' and fdc.loginusuario = '" & Nom_usu_ses & "' ORDER BY fc.agno"
        RC.Open sql, conn
        If RC.RecordCount > 0 Then
            While Not RC.EOF
                Archivo = ARCH_GENPK & "_" & RC!agno & "_GEN.bci"
                CrearArchBCI True, False, Archivo, RC!agno, conn
                sql = "SELECT * from fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fc.colegio = '" & CODPK & "' and fdc.loginusuario = '" & Nom_usu_ses & "' and fdc.estado = 'GE' and fdc.folio_cuponera = fc.folio_cuponera and fc.agno = " & RC!agno & " ORDER BY fc.folio_cuponera, fdc.vcto "
                RCcupoNera.Open sql, conn
                sw = False
                primer_cupon = 0
                ultimo_cupon = 0
                While Not RCcupoNera.EOF
                    ' falta cabecera en numboleta
                    If sw = False Then
                        primer_cupon = RCcupoNera("folio_cupon")
                        ultimo_cupon = RCcupoNera("folio_cupon")
                        folio_cuponera = RCcupoNera("folio_cuponera")
                        run_apo = RCcupoNera("rut_apo")
                        sw = True
                    End If
                    If primer_cupon > RCcupoNera("folio_cupon") Then
                        primer_cupon = RCcupoNera("folio_cupon")
                    End If
                    If ultimo_cupon < RCcupoNera("folio_cupon") Then
                        ultimo_cupon = RCcupoNera("folio_cupon")
                    End If
                    AgregarRegistroArchivoGeneracion_postulantes Archivo, RCcupoNera("rut_apo"), RCcupoNera("valor"), RCcupoNera("numero"), Format(RCcupoNera("vcto"), "yyyy-mm-dd"), conn
                    Barra.Value = Barra.Value + 1
                    Barra.Refresh
                    sql = "UPDATE fnza_deta_cupones_postulantes fdc SET estado = 'PE' WHERE folio_cupon = " & RCcupoNera("folio_cupon")
                    conn.Execute sql
                    RCcupoNera.MoveNext
                Wend
                MsgBox "El archivo de Generacion de cuponeras Marta Carcamo se ha creado exitosamente. " & vbCrLf & "Se han creado un total de " & RCcupoNera.RecordCount & " cuponeras." & vbCrLf & "Y su hubicacion es : " & Archivo & vbCrLf & "Para el año : " & RC!agno
                RCcupoNera.Close
                sql = "UPDATE fnza_cuponeras_postulantes fc SET esta_fin = 'PE' WHERE esta_fin = 'GE' AND colegio = '" & CODPK & "' and loginusuario = '" & Nom_usu_ses & "' and fc.agno = " & RC!agno
                conn.Execute sql, LI
                'Inserta log
                If LI = 1 Then
                accion_detalle = "Se ha generado la cuponera con folio " & folio_cuponera _
                               & ", para el año " & RC!agno & ", con los cupones del " _
                               & primer_cupon & " al " & ultimo_cupon
                accion = "Generar Cuponera"
                Else
                accion = "Crear Cupon"
                If primer_cupon < ultimo_cupon Then
                    accion_detalle = "Se han creado los cupones del " & primer_cupon _
                                   & " al " & ultimo_cupon & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                Else
                    accion_detalle = "Se ha creado el cupon con folio " & primer_cupon _
                                   & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                End If
                End If
                'Call inserta_vitacora_cuponeras(run_apo, CLng(folio_cuponera), _
                '     CStr(accion), CStr(accion_detalle))
                'Fin de log
                RC.MoveNext
            Wend
        End If
        RC.Close
        
        'generar y anexar datos archivo de eliminacion de cuponeras colegio segun año
        '****************************************************************************
        
        sql = "SELECT distinct agno FROM fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fdc.folio_cuponera = fc.folio_cuponera and estado = 'DE' AND fc.colegio = '" & CODBC & "' and fdc.loginusuario = '" & Nom_usu_ses & "' ORDER BY fc.agno"
        RC.Open sql, conn
        If RC.RecordCount > 0 Then
            While Not RC.EOF
                Archivo = ARCH_ELIBC & "_" & RC!agno & "_ELI.bci"
                CrearArchBCI False, True, Archivo, RC!agno, conn
                sql = "SELECT * from fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fc.colegio = '" & CODBC & "' and fdc.loginusuario = '" & Nom_usu_ses & "' AND fdc.estado = 'DE' AND fdc.folio_cuponera = fc.folio_cuponera AND fc.agno = " & RC!agno & " ORDER BY fc.folio_cuponera, fdc.vcto "
                RCcupoNera.Open sql, conn
                sw = False
                primer_cupon = 0
                ultimo_cupon = 0
                While Not RCcupoNera.EOF
                    If sw = False Then
                        primer_cupon = RCcupoNera("folio_cupon")
                        ultimo_cupon = RCcupoNera("folio_cupon")
                        folio_cuponera = RCcupoNera("folio_cuponera")
                        run_apo = RCcupoNera("rut_apo")
                        sw = True
                    End If
                    If primer_cupon > RCcupoNera("folio_cupon") Then
                        primer_cupon = RCcupoNera("folio_cupon")
                    End If
                    If ultimo_cupon < RCcupoNera("folio_cupon") Then
                        ultimo_cupon = RCcupoNera("folio_cupon")
                    End If
                    AgregarRegistroArchivoEliminacion Archivo, False, RCcupoNera("rut_apo"), RCcupoNera("numero"), conn
                    Barra.Value = Barra.Value + 1
                    Barra.Refresh
                    sql = "UPDATE fnza_deta_cupones_postulantes fdc SET estado = 'EL' WHERE folio_cupon = " & RCcupoNera("folio_cupon")
                    conn.Execute sql
                    RCcupoNera.MoveNext
                Wend
                MsgBox "El archivo de Eliminacion de cuponeras colegio se ha creado exitosamente. " & vbCrLf & "Se han eliminado un total de " & RCcupoNera.RecordCount & " cuponeras." & vbCrLf & "Y su hubicacion es : " & Archivo & vbCrLf & "Para el año : " & RC!agno
                RCcupoNera.Close
                sql = "UPDATE fnza_cuponeras_postulantes fc SET esta_fin = 'EL' WHERE esta_fin = 'DE' AND colegio = '" & CODBC & "' and loginusuario = '" & Nom_usu_ses & "' and  fc.agno = " & RC!agno
                conn.Execute sql, LI
                'Inserta log
                If LI = 1 Then
                accion_detalle = "Se ha eliminado la cuponera con folio " & folio_cuponera _
                               & ", para el año " & RC!agno & ", con los cupones del " _
                               & primer_cupon & " al " & ultimo_cupon
                accion = "Eliminar Cuponera"
                Else
                accion = "Eliminar Cupon"
                If primer_cupon < ultimo_cupon Then
                    accion_detalle = "Se han eliminado los cupones del " & primer_cupon _
                                   & " al " & ultimo_cupon & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                Else
                    accion_detalle = "Se ha eliminado el cupon con folio " & primer_cupon _
                                   & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                End If
                End If
                'Call inserta_vitacora_cuponeras(run_apo, CLng(folio_cuponera), _
                '     CStr(accion), CStr(accion_detalle))
                'Fin de log
                RC.MoveNext
            Wend
        End If
        RC.Close
        
        'generar y anexar datos archivo de eliminacion de cuponeras marta carcamo segun año
        '*********************************************************************************
        
        sql = "SELECT distinct agno FROM fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fdc.folio_cuponera = fc.folio_cuponera and estado = 'DE' AND fc.colegio = '" & CODPK & "' and fdc.loginusuario = '" & Nom_usu_ses & "' ORDER BY fc.agno"
        RC.Open sql, conn
        If RC.RecordCount > 0 Then
            While Not RC.EOF
                Archivo = ARCH_ELIPK & "_" & RC!agno & "_ELI.bci"
                CrearArchBCI True, True, Archivo, RC!agno, conn
                sql = "SELECT * from fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fc.colegio = '" & CODPK & "' and fdc.loginusuario = '" & Nom_usu_ses & "' and fdc.estado = 'DE' and fdc.folio_cuponera = fc.folio_cuponera and fc.agno = " & RC!agno & " ORDER BY fc.folio_cuponera, fdc.vcto "
                RCcupoNera.Open sql, conn
                sw = False
                primer_cupon = 0
                ultimo_cupon = 0
                While Not RCcupoNera.EOF
                    If sw = False Then
                        primer_cupon = RCcupoNera("folio_cupon")
                        ultimo_cupon = RCcupoNera("folio_cupon")
                        folio_cuponera = RCcupoNera("folio_cuponera")
                        run_apo = RCcupoNera("rut_apo")
                        sw = True
                    End If
                    If primer_cupon > RCcupoNera("folio_cupon") Then
                        primer_cupon = RCcupoNera("folio_cupon")
                    End If
                    If ultimo_cupon < RCcupoNera("folio_cupon") Then
                        ultimo_cupon = RCcupoNera("folio_cupon")
                    End If
                    AgregarRegistroArchivoEliminacion Archivo, True, RCcupoNera("rut_apo"), RCcupoNera("numero"), conn
                    Barra.Value = Barra.Value + 1
                    Barra.Refresh
                    sql = "UPDATE fnza_deta_cupones_postulantes fdc SET estado = 'EL' WHERE folio_cupon = " & RCcupoNera("folio_cupon")
                    conn.Execute sql
                    RCcupoNera.MoveNext
                Wend
                MsgBox "El archivo de Eliminacion de cuponeras Marta Carcamo se ha creado exitosamente. " & vbCrLf & "Se han eliminado un total de " & RCcupoNera.RecordCount & " cuponeras." & vbCrLf & "Y su hubicacion es : " & Archivo & vbCrLf & "Para el año : " & RC!agno
                RCcupoNera.Close
                sql = "UPDATE fnza_cuponeras_postulantes fc SET esta_fin = 'EL' WHERE esta_fin = 'DE' AND colegio = '" & CODPK & "' and loginusuario = '" & Nom_usu_ses & "' and fc.agno = " & RC!agno
                conn.Execute sql, LI
                'Inserta log
                If LI = 1 Then
                accion_detalle = "Se ha eliminado la cuponera con folio " & folio_cuponera _
                               & ", para el año " & RC!agno & ", con los cupones del " _
                               & primer_cupon & " al " & ultimo_cupon
                accion = "Eliminar Cuponera"
                Else
                accion = "Eliminar Cupon"
                If primer_cupon < ultimo_cupon Then
                    accion_detalle = "Se han eliminado los cupones del " & primer_cupon _
                                   & " al " & ultimo_cupon & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                Else
                    accion_detalle = "Se ha eliminado el cupon con folio " & primer_cupon _
                                   & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                End If
                End If
                'Call inserta_vitacora_cuponeras(run_apo, CLng(folio_cuponera), _
                '     CStr(accion), CStr(accion_detalle))
                'Fin de log
                RC.MoveNext
            Wend
        End If
        RC.Close
        
        
        'generar y anexar datos archivo de eliminacion ARCHIVO DE COBRANZA de cuponeras colegio segun año
        '****************************************************************************
        
        sql = "SELECT distinct agno FROM fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fdc.folio_cuponera = fc.folio_cuponera and estado = 'MC' AND fc.colegio = '" & CODBC & "' and fdc.loginusuario = '" & Nom_usu_ses & "' ORDER BY fc.agno"
        RC.Open sql, conn
        If RC.RecordCount > 0 Then
            ARCH_ELIBC = "C:\Reg_Cobranza" & Date & "\" & RetornaCampo("CFG", "valor", "param='CODBC'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_ELI.bci"
            While Not RC.EOF
                Archivo = ARCH_ELIBC & "_" & RC!agno & "_ELI.bci"
                CrearArchBCI False, True, Archivo, RC!agno, conn
                sql = "SELECT * from fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fc.colegio = '" & CODBC & "' and fdc.loginusuario = '" & Nom_usu_ses & "' AND fdc.estado = 'MC' AND fdc.folio_cuponera = fc.folio_cuponera AND fc.agno = " & RC!agno & " ORDER BY fc.folio_cuponera, fdc.vcto "
                RCcupoNera.Open sql, conn
                sw = False
                primer_cupon = 0
                ultimo_cupon = 0
                While Not RCcupoNera.EOF
                    If sw = False Then
                        primer_cupon = RCcupoNera("folio_cupon")
                        ultimo_cupon = RCcupoNera("folio_cupon")
                        folio_cuponera = RCcupoNera("folio_cuponera")
                        run_apo = RCcupoNera("rut_apo")
                        sw = True
                    End If
                    If primer_cupon > RCcupoNera("folio_cupon") Then
                        primer_cupon = RCcupoNera("folio_cupon")
                    End If
                    If ultimo_cupon < RCcupoNera("folio_cupon") Then
                        ultimo_cupon = RCcupoNera("folio_cupon")
                    End If
                    AgregarRegistroArchivoEliminacion Archivo, False, RCcupoNera("rut_apo"), RCcupoNera("numero"), conn
                    Barra.Value = Barra.Value + 1
                    Barra.Refresh
                    sql = "UPDATE fnza_deta_cupones_postulantes fdc SET estado = 'EC' WHERE folio_cupon = " & RCcupoNera("folio_cupon")
                    conn.Execute sql
                    RCcupoNera.MoveNext
                Wend
                MsgBox "El archivo de Eliminacion de cuponeras colegio se ha creado exitosamente. " & vbCrLf & "Se han eliminado un total de " & RCcupoNera.RecordCount & " cuponeras." & vbCrLf & "Y su hubicacion es : " & Archivo & vbCrLf & "Para el año : " & RC!agno
                RCcupoNera.Close
                sql = "UPDATE fnza_cuponeras_postulantes fc SET esta_fin = 'EC' WHERE esta_fin = 'MC' AND colegio = '" & CODBC & "' and loginusuario = '" & Nom_usu_ses & "' and  fc.agno = " & RC!agno
                conn.Execute sql, LI
                'Inserta log
                If LI = 1 Then
                accion_detalle = "Se ha eliminado la cuponera con folio " & folio_cuponera _
                               & ", para el año " & RC!agno & ", con los cupones del " _
                               & primer_cupon & " al " & ultimo_cupon
                accion = "Eliminar Cuponera"
                Else
                accion = "Eliminar Cupon"
                If primer_cupon < ultimo_cupon Then
                    accion_detalle = "Se han eliminado los cupones del " & primer_cupon _
                                   & " al " & ultimo_cupon & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                Else
                    accion_detalle = "Se ha eliminado el cupon con folio " & primer_cupon _
                                   & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                End If
                End If
                'Call inserta_vitacora_cuponeras(run_apo, CLng(folio_cuponera), _
                '     CStr(accion), CStr(accion_detalle))
                'Fin de log
                RC.MoveNext
            Wend
        End If
        RC.Close
        
        'generar y anexar datos archivo de eliminacion ARCHIVO DE COBRANZA de cuponeras colegio segun año
        'generar y anexar datos archivo de eliminacion ARCHIVO DE COBRANZA de cuponeras marta carcamo segun año
        '*********************************************************************************
        
        sql = "SELECT distinct agno FROM fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fdc.folio_cuponera = fc.folio_cuponera and estado = 'MC' AND fc.colegio = '" & CODPK & "' and fdc.loginusuario = '" & Nom_usu_ses & "' ORDER BY fc.agno"
        RC.Open sql, conn
        If RC.RecordCount > 0 Then
            ARCH_ELIPK = "C:\Reg_Cobranza" & Date & "\" & RetornaCampo("CFG", "valor", "param='CODPK'", conn) & "_" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") '& "_ELI.bci"
            While Not RC.EOF
                Archivo = ARCH_ELIPK & "_" & RC!agno & "_ELI.bci"
                CrearArchBCI True, True, Archivo, RC!agno, conn
                sql = "SELECT * from fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fc.colegio = '" & CODPK & "' and fdc.loginusuario = '" & Nom_usu_ses & "' and fdc.estado = 'MC' and fdc.folio_cuponera = fc.folio_cuponera and fc.agno = " & RC!agno & " ORDER BY fc.folio_cuponera, fdc.vcto "
                RCcupoNera.Open sql, conn
                sw = False
                primer_cupon = 0
                ultimo_cupon = 0
                While Not RCcupoNera.EOF
                    If sw = False Then
                        primer_cupon = RCcupoNera("folio_cupon")
                        ultimo_cupon = RCcupoNera("folio_cupon")
                        folio_cuponera = RCcupoNera("folio_cuponera")
                        run_apo = RCcupoNera("rut_apo")
                        sw = True
                    End If
                    If primer_cupon > RCcupoNera("folio_cupon") Then
                        primer_cupon = RCcupoNera("folio_cupon")
                    End If
                    If ultimo_cupon < RCcupoNera("folio_cupon") Then
                        ultimo_cupon = RCcupoNera("folio_cupon")
                    End If
                    AgregarRegistroArchivoEliminacion Archivo, True, RCcupoNera("rut_apo"), RCcupoNera("numero"), conn
                    Barra.Value = Barra.Value + 1
                    Barra.Refresh
                    sql = "UPDATE fnza_deta_cupones_postulantes fdc SET estado = 'EC' WHERE folio_cupon = " & RCcupoNera("folio_cupon")
                    conn.Execute sql
                    RCcupoNera.MoveNext
                Wend
                MsgBox "El archivo de Eliminacion de cuponeras Marta Carcamo se ha creado exitosamente. " & vbCrLf & "Se han eliminado un total de " & RCcupoNera.RecordCount & " cuponeras." & vbCrLf & "Y su hubicacion es : " & Archivo & vbCrLf & "Para el año : " & RC!agno
                RCcupoNera.Close
                sql = "UPDATE fnza_cuponeras_postulantes fc SET esta_fin = 'EC' WHERE esta_fin = 'MC' AND colegio = '" & CODPK & "' and loginusuario = '" & Nom_usu_ses & "' and fc.agno = " & RC!agno
                conn.Execute sql, LI
                'Inserta log
                If LI = 1 Then
                accion_detalle = "Se ha eliminado la cuponera con folio " & folio_cuponera _
                               & ", para el año " & RC!agno & ", con los cupones del " _
                               & primer_cupon & " al " & ultimo_cupon
                accion = "Eliminar Cuponera"
                Else
                accion = "Eliminar Cupon"
                If primer_cupon < ultimo_cupon Then
                    accion_detalle = "Se han eliminado los cupones del " & primer_cupon _
                                   & " al " & ultimo_cupon & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                Else
                    accion_detalle = "Se ha eliminado el cupon con folio " & primer_cupon _
                                   & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                End If
                End If
                'Call inserta_vitacora_cuponeras(run_apo, CLng(folio_cuponera), _
                '     CStr(accion), CStr(accion_detalle))
                'Fin de log
                RC.MoveNext
            Wend
        End If
        RC.Close
        
        
        'generar y anexar datos archivo de Reimprecion de cuponeras colegio segun año
        '***************************************************************************
        
        sql = "SELECT distinct agno FROM fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fdc.folio_cuponera = fc.folio_cuponera and estado = 'RE' AND fc.colegio = '" & CODBC & "' and fdc.loginusuario = '" & Nom_usu_ses & "' ORDER BY fc.agno"
        RC.Open sql, conn
        If RC.RecordCount > 0 Then
            While Not RC.EOF
                Archivo = ARCH_REIBC & "_" & CStr(RC!agno) & "_REI.bci"
                CrearArchBCI False, False, Archivo, RC!agno, conn
                sql = "SELECT * from fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fc.colegio = '" & CODBC & "' and fdc.loginusuario = '" & Nom_usu_ses & "' and fdc.estado = 'RE' and fdc.folio_cuponera = fc.folio_cuponera and fc.agno = " & RC!agno & " ORDER BY fc.folio_cuponera, fdc.vcto "
                RCcupoNera.Open sql, conn
                sw = False
                primer_cupon = 0
                ultimo_cupon = 0
                While Not RCcupoNera.EOF
                    If sw = False Then
                        primer_cupon = RCcupoNera("folio_cupon")
                        ultimo_cupon = RCcupoNera("folio_cupon")
                        folio_cuponera = RCcupoNera("folio_cuponera")
                        run_apo = RCcupoNera("rut_apo")
                        sw = True
                    End If
                    If primer_cupon > RCcupoNera("folio_cupon") Then
                        primer_cupon = RCcupoNera("folio_cupon")
                    End If
                    If ultimo_cupon < RCcupoNera("folio_cupon") Then
                        ultimo_cupon = RCcupoNera("folio_cupon")
                    End If
                    AgregarRegistroArchivoGeneracion_postulantes Archivo, RCcupoNera("rut_apo"), RCcupoNera("valor"), RCcupoNera("numero"), Format(RCcupoNera("vcto"), "yyyy-mm-dd"), conn
                    Barra.Value = Barra.Value + 1
                    Barra.Refresh
                    sql = "UPDATE fnza_deta_cupones_postulantes fdc SET estado = 'PE' WHERE folio_cupon = " & RCcupoNera("folio_cupon")
                    conn.Execute sql
                    RCcupoNera.MoveNext
                Wend
                MsgBox "El archivo de Reimpresion de cuponeras colegio se ha creado exitosamente. " & vbCrLf & "Se han reimpreso un total de " & RCcupoNera.RecordCount & " cuponeras." & vbCrLf & "Y su hubicacion es : " & Archivo & vbCrLf & "Para el año : " & RC!agno
                RCcupoNera.Close
                sql = "UPDATE fnza_cuponeras_postulantes fc SET esta_fin = 'PE' WHERE esta_fin = 'RE' AND colegio = '" & CODBC & "' and loginusuario = '" & Nom_usu_ses & "' and fc.agno = " & RC!agno
                conn.Execute sql, LI
                'Inserta log
                If LI = 1 Then
                accion_detalle = "Se ha reimpreso la cuponera con folio " & folio_cuponera _
                               & ", para el año " & RC!agno & ", con los cupones del " _
                               & primer_cupon & " al " & ultimo_cupon
                accion = "Reimpresión de Cuponera"
                Else
                accion = "Reimprimir Cupon"
                If primer_cupon < ultimo_cupon Then
                    accion_detalle = "Se han reimpreso los cupones del " & primer_cupon _
                                   & " al " & ultimo_cupon & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                Else
                    accion_detalle = "Se ha reimpreso el cupon con folio " & primer_cupon _
                                   & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                End If
                End If
                'Call inserta_vitacora_cuponeras(run_apo, CLng(folio_cuponera), _
                '     CStr(accion), CStr(accion_detalle))
                'Fin de log
                RC.MoveNext
            Wend
        End If
        RC.Close
        'generar y anexar datos archivo de Reimprecion de cuponeras marta carcamo segun año
        '*********************************************************************************
        
        sql = "SELECT distinct agno FROM fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fdc.folio_cuponera = fc.folio_cuponera and estado = 'RE' AND fc.colegio = '" & CODPK & "' and fdc.loginusuario = '" & Nom_usu_ses & "' ORDER BY fc.agno"
        RC.Open sql, conn
        If RC.RecordCount > 0 Then
            While Not RC.EOF
                Archivo = ARCH_REIPK & "_" & RC!agno & "_REI.bci"
                CrearArchBCI True, False, Archivo, RC!agno, conn
                sql = "SELECT * from fnza_cuponeras_postulantes fc, fnza_deta_cupones_postulantes fdc WHERE fc.colegio = '" & CODPK & "' and fdc.loginusuario = '" & Nom_usu_ses & "' and fdc.estado = 'RE' and fdc.folio_cuponera = fc.folio_cuponera and fc.agno = " & RC!agno & " ORDER BY fc.folio_cuponera, fdc.vcto "
                RCcupoNera.Open sql, conn
                sw = False
                primer_cupon = 0
                ultimo_cupon = 0
                While Not RCcupoNera.EOF
                    If sw = False Then
                        primer_cupon = RCcupoNera("folio_cupon")
                        ultimo_cupon = RCcupoNera("folio_cupon")
                        folio_cuponera = RCcupoNera("folio_cuponera")
                        run_apo = RCcupoNera("rut_apo")
                        sw = True
                    End If
                    If primer_cupon > RCcupoNera("folio_cupon") Then
                        primer_cupon = RCcupoNera("folio_cupon")
                    End If
                    If ultimo_cupon < RCcupoNera("folio_cupon") Then
                        ultimo_cupon = RCcupoNera("folio_cupon")
                    End If
                    AgregarRegistroArchivoGeneracion_postulantes Archivo, RCcupoNera("rut_apo"), RCcupoNera("valor"), RCcupoNera("numero"), Format(RCcupoNera("vcto"), "yyyy-mm-dd"), conn
                    Barra.Value = Barra.Value + 1
                    Barra.Refresh
                    sql = "UPDATE fnza_deta_cupones_postulantes fdc SET estado = 'PE' WHERE folio_cupon = " & RCcupoNera("folio_cupon")
                    conn.Execute sql
                    RCcupoNera.MoveNext
                Wend
                MsgBox "El archivo de Reimpresion de cuponeras Marta Carcamo se ha creado exitosamente. " & vbCrLf & "Se han reimpreso un total de " & RCcupoNera.RecordCount & " cuponeras." & vbCrLf & "Y su hubicacion es : " & Archivo & vbCrLf & "Para el año : " & RC!agno
                RCcupoNera.Close
                sql = "UPDATE fnza_cuponeras_postulantes fc SET esta_fin = 'PE' WHERE esta_fin = 'RE' AND colegio = '" & CODPK & "' and loginusuario = '" & Nom_usu_ses & "' and fc.agno = " & RC!agno
                conn.Execute sql, LI
                'Inserta log
                If LI = 1 Then
                accion_detalle = "Se ha reimpreso la cuponera con folio " & folio_cuponera _
                               & ", para el año " & RC!agno & ", con los cupones del " _
                               & primer_cupon & " al " & ultimo_cupon
                accion = "Reimpresión de Cuponera"
                Else
                accion = "Reimprimir Cupon"
                If primer_cupon < ultimo_cupon Then
                    accion_detalle = "Se han reimpreso los cupones del " & primer_cupon _
                                   & " al " & ultimo_cupon & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                Else
                    accion_detalle = "Se ha reimpreso el cupon con folio " & primer_cupon _
                                   & ", para la cuponera con folio " _
                                   & folio_cuponera & ", del año " & RC!agno
                End If
                End If
                'Call inserta_vitacora_cuponeras(run_apo, CLng(folio_cuponera), _
                '     CStr(accion), CStr(accion_detalle))
                'Fin de log
                RC.MoveNext
            Wend
        End If
        RC.Close
        'frm_mensaje.Visible = False
    Else
        MsgBox "NO se a generado ningun archivo, ya que no hay postulantes nuevos"
    End If
    
    'Btn_Generar.Enabled = True
    'cmg_Reimprimir.Enabled = True
    'cmd_EliminarCuponera.Enabled = True
    'Cancelar.Enabled = True
    'Btn_Limpiar.Enabled = True
    'Btn_Salir.Enabled = True
    'Btn_Ver_Alumno_Click
    'mshflex_detacuponera.ClearStructure
   ' mshflex_detacuponera.Rows = 2
End Sub

Private Sub Form_Load()
    For i = Year(Date) + 1 To Year(Date) + 2
        cb_agno.AddItem i
    Next i
    cb_agno.Text = Year(Date) + 1
End Sub


Function AgregarRegistroArchivoGeneracion_postulantes(ByVal Arch As String, ByVal RutApo As String, ByVal MontoCupon As Long, ByVal NumBoleta As String, ByVal FechaPago As Date, ByRef CNX As ADODB.Connection) As Boolean
On Error GoTo Controlerror:
    Dim num_arch As Integer
    Dim Registro As String
    Dim nombre As String
    Dim RC As ADODB.Recordset
    Dim QR As String
    
    AgregarRegistroArchivoGeneracion_postulantes = False
    If Len(RutApo) < 2 Then Exit Function
    
    num_arch = FreeFile
    nombre = ""
    'nombre = "SELECT concat(ape1_apo,' ',ape2_apo,' ',noms_apo) as 'nombre' FROM apoderados WHERE rut_apo='" & RutApo & "';"
    
    nombre = DevuelveCampo("apoderados", "", "concat(ape1_apo,' ',ape2_apo,' ',noms_apo) as 'nombre'", "rut_apo = '" & RutApo & "'", conn)
    
    ' Armar el registro de generacion.
    If nombre = "" Then
        QR = "SELECT UPPER(concat(ape_pat_apo,' ',ape_mat_apo,' ',nombres_apo)) as 'nombre' FROM postulante_web WHERE rut_apo='" & RutApo & "';"
    Else
        QR = "SELECT concat(ape1_apo,' ',ape2_apo,' ',noms_apo) as 'nombre' FROM apoderados WHERE rut_apo='" & RutApo & "';"
    End If
        
    Set RC = New ADODB.Recordset
    RC.Open QR, CNX
    ' Formato: Cab.  Rut del Apoderado                                          Nombre                                                Monto del Cupon (Entero)  &  (decimales) Cant.Cup. Numero de Cupon                   Fecha de Venc.               Meses   Filler(14 espacios)
    Registro = "2" & Format(Left(RutApo, Len(RutApo) - 2), "0000000000") & Right(RutApo, 1) & Format(Left(RC!nombre, 20), "!@@@@@@@@@@@@@@@@@@@@") & Format(MontoCupon, "000000000") & "000" & "001" & Format(NumBoleta, "00000000000") & Format(FechaPago, "ddmmyy") & "00" & Format(" ", "!@@@@@@@@@@@@@@")
    RC.Close
    ' Escribo registro
    Open Arch For Append As #num_arch
        Print #num_arch, Registro
    Close #num_arch
    AgregarRegistroArchivoGeneracion_postulantes = True
    Exit Function
Controlerror:
    Err.Raise Err.Number, "AgregarRegistroArchivoGeneracion->" & Err.Source, Err.Description
    Resume
End Function











