Í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 

IFC para automatizar Siap Percepciones Arba Ingresos Brutos

 
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: 247
Ubicación: Bs As Argentina

MensajePublicado: Dom Abr 05, 2009 1:07 pm    Título del mensaje: IFC para automatizar Siap Percepciones Arba Ingresos Brutos Responder citando

Este Gadget, genera un archivo con el formato para importar al aplicativo del Siap AG de Recaudacion de Ingresos Brutos

Hay que tener en cuenta, que se debe cambiar la query segun corresponda a cada modelo, en este script se hace un corte por empresa.

Tener en cuenta que si se cambian los nombres de los campos tambien deberan cambiar los nombres donde son impresos al archivo TXT

Saludos.-


Código:
Sub Main ()
MsgBox "Este proceso le dejara un archivo especifico para importar las percepciones a Siap Automaticamente" & vbCrLf & "A continuacion le solicitaran algunos datos",vbinformation,"Commit Soft - Arba"


Dim ccontrol
Dim hoy
Dim hoy2

hoy=now
hoy = Format_Dato(hoy,"DD/MM/YYYY")
hoy2=hoy
consulta = "select descripcion from empresa where activo = 'S'"

LoadDialogo FrmDlg
Variable_de_Dialogo FrmDlg, "Combo", "Empresa", consulta, "combo_tag"
Variable_de_Dialogo FrmDlg, "Fecha", "Fecha desde", hoy, "Fecha_desde"
Variable_de_Dialogo FrmDlg, "Fecha", "Fecha hasta", hoy2, "Fecha_hasta"
ShowDialogo FrmDlg   

 Do While FrmDlg.Enejecucion = 2
    Do_Events
 Loop

 If  FrmDlg.Enejecucion = 0 Then         
         UnloadDialogo FrmDlg
         Exit Sub
 End If

 'alimento los parametros
Stop
 For Each Ccontrol In FrmDlg
     If ccontrol.Tag = "Fecha_desde" Then
        fechaD = CStr(ccontrol.value)
     End If
 
    If ccontrol.Tag = "Fecha_hasta" Then
        fechah = CStr(ccontrol.value)
    End If

    If ccontrol.Tag = "combo_tag" Then
       Set laempre = Obj("empresa","descripcion",ccontrol.Text)
    End If
   
 Next
 
 UnloadDialogo FrmDlg

 fdesde = formatofecha(fechad)
 fhasta = formatofecha(fechah)

'Tengo que preguntarle entre que fechas...


TrayMsn "Info","Generando archivo TXT"
Do_Events

nombre = "PerpIb" & fdesde & "al" & fhasta & ".txt"
nombre = App_Path & "\" & nombre

Dim fso, tf
Do_Events
Set fso = CreateObject("Scripting.FileSystemObject")

Set oCarpeta = FSO.GetFolder(app_path)
Set colFicheros = oCarpeta.Files
'Recorremos la colección de ficheros (objetos File)
For Each fichero In colFicheros
      If UCase(fichero.Name) =  UCase("PerpIb" & fdesde & "al" & fhasta & ".txt") Then
        'para borrar el objeto
        Set objfso = createobject("scripting.filesystemobject")
        Objfso.deletefile nombre
        Set objfso = Nothing
    End If
Next
Set colFicheros = Nothing
Set oCarpeta = Nothing
Do_Events
Set tf = fso.CreateTextFile(nombre, True)
Do_Events
TrayMsn "Info","Buscando Facturas con Percepcion"


'*********************************************************
'********    Desde aqui los cambios en la query          ************
'*********************************************************

sql = "select cab_factura_venta.fecha, cab_factura_venta.codigo,'F' as tipo,  cliente.cuit, cab_factura_venta.netogravado,  (eliva21 + eliva105) as iva,  pingbrutos ,regim.lvta" & vbCrLf
sql = sql & "from cab_factura_venta" & vbCrLf
sql = sql & "inner join ob_flag on ob_flag.idob_flag = cab_factura_venta.idob_flag" & vbCrLf
sql = sql & "inner join rel_cab_factura_venta on rel_cab_factura_venta.idcab_factura_venta = cab_factura_venta.idcab_factura_venta" & vbCrLf
sql = sql & "inner join cliente on cliente.idcliente = rel_cab_factura_venta.destino_idcliente" & vbCrLf
sql = sql & "inner join regim on cliente.idregim = regim.idregim" & vbCrLf
sql = sql & "where cab_factura_venta.pingbrutos > 0 " & vbCrLf
sql = sql & "and cab_factura_venta.activo = 'S' And ob_flag.descripcion = 'Cerrado'" & vbCrLf
sql = sql & "and cab_factura_venta.fecha >=" & C(fdesde) & vbCrLf
sql = sql & "and cab_factura_venta.fecha <=" & C(fhasta) & vbCrLf
sql = sql & "and cab_factura_venta.idempresa = " & C(laempre.idloaded)





sql = sql & "union" & vbCrLf




sql = sql & "select cab_debito_venta.fecha, cab_debito_venta.codigo,'D' as tipo,  cliente.cuit, cab_debito_venta.netogravado,  (eliva21 + eliva105) as iva,  pingbrutos ,regim.lvta" & vbCrLf
sql = sql & "from cab_debito_venta" & vbCrLf
sql = sql & "inner join ob_flag on ob_flag.idob_flag = cab_debito_venta.idob_flag" & vbCrLf
sql = sql & "inner join rel_cab_debito_venta on rel_cab_debito_venta.idcab_debito_venta = cab_debito_venta.idcab_debito_venta" & vbCrLf
sql = sql & "inner join cliente on cliente.idcliente = rel_cab_debito_venta.destino_idcliente" & vbCrLf
sql = sql & "inner join regim on cliente.idregim = regim.idregim" & vbCrLf
sql = sql & "where cab_debito_venta.pingbrutos > 0 " & vbCrLf
sql = sql & "and cab_debito_venta.activo = 'S' And ob_flag.descripcion = 'Cerrado'" & vbCrLf
sql = sql & "and cab_debito_venta.fecha >=" & C(fdesde) & vbCrLf
sql = sql & "and cab_debito_venta.fecha <=" & C(fhasta) & vbCrLf
sql = sql & "and cab_debito_venta.idempresa = " & C(laempre.idloaded)


sql = sql & "union" & vbCrLf




sql = sql & "select cab_credito_venta.fecha, cab_credito_venta.codigo,'D' as tipo,  cliente.cuit, cab_credito_venta.netogravado,  (eliva21 + eliva105) as iva,  pingbrutos ,regim.lvta" & vbCrLf
sql = sql & "from cab_credito_venta" & vbCrLf
sql = sql & "inner join ob_flag on ob_flag.idob_flag = cab_credito_venta.idob_flag" & vbCrLf
sql = sql & "inner join rel_cab_credito_venta on rel_cab_credito_venta.idcab_credito_venta = cab_credito_venta.idcab_credito_venta" & vbCrLf
sql = sql & "inner join cliente on cliente.idcliente = rel_cab_credito_venta.destino_idcliente" & vbCrLf
sql = sql & "inner join regim on cliente.idregim = regim.idregim" & vbCrLf
sql = sql & "where cab_credito_venta.pingbrutos > 0 " & vbCrLf
sql = sql & "and cab_credito_venta.activo = 'S' And ob_flag.descripcion = 'Cerrado'" & vbCrLf
sql = sql & "and cab_credito_venta.fecha >=" & C(fdesde) & vbCrLf
sql = sql & "and cab_credito_venta.fecha <=" & C(fhasta) & vbCrLf
sql = sql & "and cab_credito_venta.idempresa = " & C(laempre.idloaded)


'*********************************************************
'********    Fin de posibles cambios en la query          ************
'*********************************************************



Set com_reg = Consulta_Sql(sql)


Do While Not com_reg.eof
     Do_Events
     'ahora vamos a formatear la linea...
     lineaib = Format_Dato(com_reg.fields("cuit").value,"##-########-#")
     lineaib = lineaib & Format_Dato(com_reg.fields("fecha").Value,"YYYY-MM-DD")
     lineaib = lineaib & com_reg.fields("tipo").Value
     lineaib = lineaib & com_reg.fields("lvta").Value
     lineaib = lineaib & "0001" 'este es el numero de sucursal o punto de venta por ahora lo dejo fijo
     lineaib = lineaib & com_reg.fields("codigo").Value

     valorneto = Val_Dato(com_reg.fields("netogravado").value) * 100
     lineaib = lineaib & Format_Dato(valorneto,"000000000000") 'se debe formatear con 12 caracteres

     pingbrutos = Val_Dato(com_reg.fields("pingbrutos").value) * 100
     lineaib = lineaib & Format_Dato(pingbrutos,"00000000000")  'se debe formatear con 11 caracteres
     lineaib = lineaib & vbCrLf

     tf.Write lineaib
     com_reg.movenext
Loop

tf.Close

MsgBox "Dejamos el archivo " & nombre & " con el formato especifico para importar las percepciones a Siap",vbinformation,"Commit Soft - Arba"
End Sub

'-----------------------------------------------------------------------------------
Function formatofecha(fecha)
     formatofecha = Format_Dato(cdate(fecha), "YYYY-MM-DD")
End Function
[/b]
_________________
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