• No results found

Empresas.cls VERSION 1.0 CLASS

In document Projecte/Treball Final de Carrera (Page 42-48)

BEGIN MultiUse = -1 'True Persistable = 0 'NotPersistable DataBindingBehavior = 0 'vbNone DataSourceBehavior = 0 'vbNone MTSTransactionMode = 0 'NotAnMTSObject END

Attribute VB_Name = "Empresas" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = False

Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes" Attribute VB_Ext_KEY = "Top_Level" ,"Yes"

Option Explicit

Public Enum ErroresEmpresas

iInsertError = (vbObjectError + 1) iUpdateError = (vbObjectError + 2) iDeleteError = (vbObjectError + 3) iListError = (vbObjectError + 4) End Enum

Dim mAuxiliar As Auxiliar

Dim mDelegaciones As Delegaciones Dim mEjercicios As Ejercicios

Private Function sDate(fecha As Variant) As String Set mAuxiliar = New Auxiliar

sDate = mAuxiliar.sDate(fecha) Set mAuxiliar = Nothing End Function

Public Sub Insert(cn As ADODB.Connection, codigo_empresa As String, nif As String, nombre As String, direccion As String, _

cp As String, poblacion As String, provincia As String, pais As String, telefono As String, _

fax As String, correo As String, digitos As Integer, ultimo_usuario As String, transaccion_activa As Boolean)

Dim cnsys As ADODB.Connection Dim strCmd As String

Dim rs As New ADODB.Recordset Dim rsAux As New ADODB.Recordset

On Error GoTo InsertError

Set cnsys = New ADODB.Connection cnsys.Open "File name=Sistema.udl"

If Not transaccion_activa Then cn.BeginTrans

'Afegeixo l'empresa nova

strCmd = "SELECT * FROM Empresas WHERE 1 = 0" rs.Open strCmd, cn, adOpenStatic, adLockOptimistic rs.AddNew rs("codigo_empresa") = codigo_empresa rs("nif") = nif rs("nombre") = nombre rs("direccion") = direccion rs("cp") = cp rs("poblacion") = poblacion rs("provincia") = provincia rs("pais") = pais rs("telefono") = telefono rs("fax") = fax rs("correo") = correo rs("digitos") = digitos rs("ultima_modificacion") = sDate(Date) rs("ultimo_usuario") = ultimo_usuario

rs.Update rs.Close

'Afegeixo la delegació associada a l'empresa i assigno els usuaris a la nova delegació

Set mDelegaciones = New Delegaciones

mDelegaciones.Insert cn, codigo_empresa, codigo_empresa, nombre, direccion, cp, poblacion, provincia, pais, telefono, fax, correo, ultimo_usuario, True

Set mDelegaciones = Nothing

'Creo un exercici per defecte Set mEjercicios = New Ejercicios

mEjercicios.Insert cn, codigo_empresa, Year(Date), sDate("01/01/" &

Trim(str(Year(Date)))), sDate("31/12/" & Trim(str(Year(Date)))), sDate("01/01/" & Trim(str(Year(Date)))), sDate("31/12/" & Trim(str(Year(Date)))), "N", "N", ultimo_usuario, True

Set mEjercicios = Nothing

'Copio els comptes del balanç de situacio i perdues i guanys strCmd = "SELECT * FROM sysPergan"

rs.Open strCmd, cnsys, adOpenStatic, adLockOptimistic

If Not rs.EOF Then

strCmd = "SELECT * FROM Pergan WHERE 1 = 0"

rsAux.Open strCmd, cn, adOpenStatic, adLockOptimistic

rs.MoveFirst While Not rs.EOF rsAux.AddNew rsAux("codigo_empresa") = codigo_empresa rsAux("dh") = rs("dh") rsAux("nivel_1") = rs("nivel_1") rsAux("nivel_2") = rs("nivel_2") rsAux("nivel_3") = rs("nivel_3") rsAux("nivel_4") = rs("nivel_4") rsAux("titulo") = rs("titulo") rsAux("cuentas") = rs("cuentas") rsAux("ultima_modificacion") = sDate(Date) rsAux("ultimo_usuario") = ultimo_usuario rsAux.Update rs.MoveNext Wend rsAux.Close End If rs.Close

strCmd = "SELECT * FROM sysSituacion"

rs.Open strCmd, cnsys, adOpenStatic, adLockOptimistic

If Not rs.EOF Then

strCmd = "SELECT * FROM Situacion WHERE 1 = 0" rsAux.Open strCmd, cn, adOpenStatic, adLockOptimistic

rs.MoveFirst While Not rs.EOF rsAux.AddNew rsAux("codigo_empresa") = codigo_empresa rsAux("ap") = rs("ap") rsAux("nivel_1") = rs("nivel_1") rsAux("nivel_2") = rs("nivel_2") rsAux("nivel_3") = rs("nivel_3") rsAux("titulo") = rs("titulo") rsAux("cuentas") = rs("cuentas") rsAux("ultima_modificacion") = sDate(Date) rsAux("ultimo_usuario") = ultimo_usuario rsAux.Update rs.MoveNext Wend rsAux.Close End If

rs.Close

'Creo el plan comptable

strCmd = "SELECT * FROM sysPlanContable"

rs.Open strCmd, cnsys, adOpenStatic, adLockOptimistic

If Not rs.EOF Then

strCmd = "SELECT * FROM Cuentas WHERE 1 = 0"

rsAux.Open strCmd, cn, adOpenStatic, adLockOptimistic

rs.MoveFirst While Not rs.EOF rsAux.AddNew rsAux("codigo_empresa") = codigo_empresa rsAux("cuenta") = rs("cuenta") rsAux("descripcion") = rs("titulo") rsAux("pases") = "N" rsAux("nivel") = rs("nivel") rsAux("ultima_modificacion") = sDate(Date) rsAux("ultimo_usuario") = ultimo_usuario rsAux.Update rs.MoveNext Wend rsAux.Close End If rs.Close

strCmd = "SELECT * FROM sysPlanContable WHERE nivel = 3" rs.Open strCmd, cnsys, adOpenStatic, adLockOptimistic

If Not rs.EOF Then

strCmd = "SELECT * FROM Cuentas WHERE 1 = 0"

rsAux.Open strCmd, cn, adOpenStatic, adLockOptimistic

rs.MoveFirst While Not rs.EOF rsAux.AddNew

rsAux("codigo_empresa") = codigo_empresa

rsAux("cuenta") = rs("cuenta") & String(digitos - 3, "0") rsAux("descripcion") = rs("titulo") rsAux("pases") = "S" rsAux("nivel") = digitos rsAux("ultima_modificacion") = sDate(Date) rsAux("ultimo_usuario") = ultimo_usuario rsAux.Update rs.MoveNext Wend rsAux.Close End If rs.Close

If Not transaccion_activa Then cn.CommitTrans

cnsys.Close

Set rs = Nothing Set rsAux = Nothing

Exit Sub InsertError:

If Not transaccion_activa Then cn.RollbackTrans

Err.Raise iInsertError, , FormatError(cn, "Error en Insert.") End Sub

Public Sub Update(cn As ADODB.Connection, codigo_empresa As String, nif As String, nombre As String, direccion As String, _

cp As String, poblacion As String, provincia As String, pais As String, telefono As String, _

fax As String, correo As String, digitos As Integer, ultimo_usuario As String, transaccion_activa As Boolean)

Dim rs As New ADODB.Recordset

On Error GoTo UpdateError

If Not transaccion_activa Then cn.BeginTrans

strCmd = "SELECT * FROM Empresas WHERE codigo_empresa = '" & codigo_empresa & "'" rs.Open strCmd, cn, adOpenStatic, adLockOptimistic

rs("nif") = nif rs("nombre") = nombre rs("direccion") = direccion rs("cp") = cp rs("poblacion") = poblacion rs("provincia") = provincia rs("pais") = pais rs("telefono") = telefono rs("fax") = fax rs("correo") = correo rs("digitos") = digitos rs("ultima_modificacion") = sDate(Date) rs("ultimo_usuario") = ultimo_usuario rs.Update rs.Close

Set mDelegaciones = New Delegaciones

mDelegaciones.Update cn, codigo_empresa, codigo_empresa, nombre, direccion, cp, poblacion, provincia, pais, telefono, fax, correo, ultimo_usuario, True

Set mDelegaciones = Nothing

If Not transaccion_activa Then cn.CommitTrans Exit Sub

UpdateError:

If Not transaccion_activa Then cn.RollbackTrans

Err.Raise iUpdateError, , FormatError(cn, "Error en Update.") End Sub

Public Sub Delete(cn As ADODB.Connection, codigo_empresa As String, transaccion_activa As Boolean)

Dim strCmd As String

On Error GoTo DeleteError

If Not transaccion_activa Then cn.BeginTrans

strCmd = "DELETE FROM Cartera WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM RegistroIva WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM RegistroIrpf WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM Apuntes WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM RestriccionesUsuariosMenus WHERE codigo_empresa = '" & codigo_empresa & "'"

cn.Execute strCmd

strCmd = "DELETE FROM UsuariosDelegaciones WHERE codigo_empresa = '" & codigo_empresa & "'"

cn.Execute strCmd

strCmd = "DELETE FROM Delegaciones WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM Numeraciones WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM Ejercicios WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

cn.Execute strCmd

strCmd = "DELETE FROM Cuentas WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM Acrdeu WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM Personal WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM Situacion WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM Pergan WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM Irpf WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM FormasPagos WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM Impuestos WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM Diarios WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

strCmd = "DELETE FROM Empresas WHERE codigo_empresa = '" & codigo_empresa & "'" cn.Execute strCmd

If Not transaccion_activa Then cn.CommitTrans

Exit Sub DeleteError:

If Not transaccion_activa Then cn.RollbackTrans

Err.Raise iDeleteError, , FormatError(cn, "Error en Delete.") End Sub

Public Function GetList(cn As ADODB.Connection, Optional strWhere As String, Optional strOrder As String) As Object

Dim strCmd As String Dim rs As ADODB.Recordset

strCmd = "SELECT * FROM Empresas"

If Len(strWhere) > 0 Then

strCmd = strCmd & " WHERE " & strWhere End If

If Len(strOrder) > 0 Then

strCmd = strCmd & " ORDER BY " & strOrder End If

Set rs = New ADODB.Recordset

On Error GoTo GetListError

rs.Open strCmd, cn, adOpenStatic, adLockOptimistic

Set GetList = rs

Exit Function GetListError:

Err.Raise iListError, , FormatError(cn, "Error en GetList.") End Function

Private Function FormatError(cn As ADODB.Connection, strError As String) As String Dim eError As ADODB.Error

Dim sAux As String

If Len(strError) > 0 Then sAux = strError & vbCrLf End If

sAux = sAux & eError.Source & " (Referencia " & eError.Number & "): " & eError.Description & vbCrLf Next eError FormatError = sAux End Function

14. FormasPago.cls

In document Projecte/Treball Final de Carrera (Page 42-48)

Related documents