Índice del Foro Modelizacion Commit Soft Modelizacion Commit Soft
Podra Buscar casos tipicos de errores y soluciones
 
 F.A.Q.F.A.Q.   BuscarBuscar   Lista de MiembrosLista de Miembros   Grupos de UsuariosGrupos de Usuarios   RegístreseRegístrese 
 PerfilPerfil   Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   ConectarseConectarse 

Pasar a abiertos comprobantes ya cerrados sin err futuros

 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Modelizacion Commit Soft -> Gadgets Para Commit Soft
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
Typhon Software
Site Admin


Registrado: 24 Jul 2006
Mensajes: 248
Ubicación: Bs As Argentina

MensajePublicado: Mie Mar 18, 2009 12:23 pm    Título del mensaje: Pasar a abiertos comprobantes ya cerrados sin err futuros Responder citando

Este Gadget es un script que nos permite por intermedio de firmas digitales, re abrir comprobantes....

Se debe modelizar de cerrado a Abierto y agregar este script.

El script es universal y no necesita cambios de ningun tipo.

Tambien puede funcionar desde anulado a abierto, en realidad desde cualqueir estado a abierto.

Solo que antes de re Abrir el comprobante el script verifica que el mismo no tenga ninguna trazabilidad.

Saludos.



Código:
Sub Main ()
'me tengo que fijar que el comprobante no tenga traza hasta..
iddesde    = Ob_Oder.id
elidobjeto = Ob_Oder.id_objeto

sql = "select * from ob_traza where idcab_desde = " & C(iddesde)
Set reg_traza = Consulta_Sql(sql)

If Not reg_traza Is Nothing Then
    If reg_traza.RecordCount > 0 Then
        'encontre una traza con lo cual no puedo hacer nada, no se puede re abrir el comprobante !!!
        'empiezo a buscar la informacion para mostrar un mensaje
   
        sql = "select nombre,tabla_cabecera from objeto " & vbCrLf
        sql = sql & "inner join objeto_puro on objeto_puro.id_objeto_puro = objeto.id_objeto_puro " & vbCrLf
        sql = sql & "where objeto.id_objeto = " & c(reg_traza.fields("id_objeto_desde").value)

        Set regi = Consulta_Sql(sql)

        tabla_cabecera = regi.fields("tabla_cabecera").Value
        textom  = "Encontramos que el " & regi.fields("nombre").Value & " que ud quiere re abrir ya registra movimientos de relacion a saber :" & vbCrLf

        'ahora busco los hasta
        sql = "select nombre, idcab_hasta, tabla_cabecera from objeto " & vbCrLf
        sql = sql & "inner join objeto_puro on objeto_puro.id_objeto_puro = objeto.id_objeto_puro " & vbCrLf
        sql = sql & "inner join ob_traza on ob_traza.idcab_desde = " & C(iddesde) & vbCrLf
        sql = sql & "where objeto.id_objeto = " & c(reg_traza.fields("id_objeto_hasta").value)
        Set regi = Consulta_Sql(sql)
 
        Do While Not regi.eof
            'ahora tengo que buscar los codigos de cada comprobante
            sql = "Select codigo from " & regi.fields("tabla_cabecera").Value & " where id" & regi.fields("tabla_cabecera").Value & " = " & C(regi.fields("idcab_hasta").value)
            Set auxi_reg = Consulta_Sql(sql)
            If Not auxi_reg Is Nothing Then
               If auxi_reg.RecordCount > 0 Then
                  textom = textom & regi.fields("nombre").Value & " - " & auxi_reg.fields("codigo").Value & vbCrLf
               End If
            End If
            regi.movenext
        Loop

       MsgBox textom,vbcritical,"Commit Soft ERP"
       TrayMsn "Info",textom
       mensaje = "Bajo estas condiciones no podemos pasar a un estado abierto este comprobante" & vbCrLf & "Vea un mapa mas completo de las trazabilidades con un click derecho -> trazabilidad hasta"
       TrayMsn "Info", "Bajo estas condiciones no podemos pasar a un estado abierto este comprobante" & vbCrLf & "Vea un mapa mas completo de las trazabilidades con un click derecho -> trazabilidad hasta"
       Exit Sub

    End If
End If

sql = "select tabla_cabecera from objeto " & vbCrLf
sql = sql & "inner join objeto_puro on objeto_puro.id_objeto_puro = objeto.id_objeto_puro " & vbCrLf
sql = sql & "where objeto.id_objeto = " & c(elidobjeto)

Set regi = Consulta_Sql(sql)
tabla_cabecera = regi.fields("tabla_cabecera").Value

sql = "select idob_flag from ob_flag where descripcion = 'Abierto'"
Set regi = Consulta_Sql(Sql)

idabierto = regi.fields("idob_flag").Value


'si llego hasta aca, entonces ahora tengo borrar los ite_pendientes, cambiar el idob_flag a abierto
TrayMsn "Info","Eliminando Pendientes"
sql = "delete from ite_pendiente where idcabecera = " & C(iddesde)
Consulta_Sql sql

sql = "delete from pendientes where idcabecera = " & C(iddesde)
Consulta_Sql sql

'ahora tengo que hacer el update !!!!
TrayMsn "Info","Abriendo Comprobante"
sql = "update " & tabla_cabecera & " Set idob_flag = " & C(idabierto) & " where id" & tabla_cabecera & " = " & c(iddesde)
Consulta_Sql sql

MsgBox "El proceso para re abrir el comprobante termino satisfactoriamente",vbinformation,"Commit Soft ERP"
TrayMsn "Info", "Presione F5 para ver los cambios en la vista"

End Sub

_________________
http://www.typhon.com.ar - Soporte y Ayuda para la implementacion de Commit Soft ERP. info@typhon.com.ar
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Visitar sitio web del autor
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Modelizacion Commit Soft -> Gadgets Para Commit Soft Todas las horas están en GMT - 3 Horas
Página 1 de 1

 
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas


Powered by PhpBB © 2001, 2005 phpBB Group y Typhon © Empresa Desarrolladora de Software