Manual de Referencia

Apertura

Cerrito 1214, (1010), Buenos Aires, Argentina. Ventas 54 (011) 4816-2620 Fax: 54 (011) 4816-2394 Dirigido a VENTAS ventas@axoft.com Soporte a Usuarios 54 (011) 4816-2919 Fax: 54 (011) 4816-2394 Dirigido a SOPORTE servicios@axoft.com Fax por demanda 54 (011) 4816-2398 Telellave 54 (011) 4816-2904 Habilitación de Sistemas cuotas@axoft.com Cursos 54 (011) 4816-2620 Fax: 54 (011) 4816-2394 Dirigido a CAPACITACION cursos@axoft.com Página Web http://www.axoft.com

Word, Excel, Access, Outlook, MS Office, Windows, Windows NT y Microsoft son marcas registradas de Microsoft Corporation. Otros productos y compañías mencionadas en este manual son marcas registradas de sus respectivos dueños. La información contenida en este manual está sujeta a cambios sin previo aviso. Los datos utilizados en los ejemplos son ficticios. Prohibida la reproducción total o parcial del contenido de este manual por cualquier medio, mecánico o electrónico. © 2000 Axoft Argentina S.A. Todos los derechos reservados.

Sumario
Introducción 3
Interacción mediante la "Apertura"............................................................................................3 Visión de la Interacción...............................................................................................4 Apertura .......................................................................................................................5

Objetos COM Referencia

7

Objeto COM_GV .......................................................................................................................7 Objeto TangoLog.........................................................................................................7 Objeto Pedidos...........................................................................................................10 Objeto Facturación.....................................................................................................14 Objeto LogOn (ILogOn) ..........................................................................................................17 Métodos......................................................................................................................17 Objeto XML / XTANGO Listados...........................................................................................25 Métodos......................................................................................................................25 Objeto XTANGO Altas............................................................................................................27 Métodos......................................................................................................................27 Objeto XTANGO Exportación.................................................................................................30 Métodos......................................................................................................................30 Objeto XTANGO Importación.................................................................................................33 Métodos......................................................................................................................33 Objeto Comprobantes (Icomprobantes) ...................................................................................36 Introducción...............................................................................................................36 Interfaz IComprobantes en Ventas.............................................................................36 Objetivo .....................................................................................................................37 Alcances.....................................................................................................................37 Configuración de la base de datos para Tango Punto de Venta.................................37 Información necesaria para el ingreso de datos por medio de XTANGO .................38 Motivos de rechazo de la información.......................................................................43 Implementación..........................................................................................................44 Estructura de los datos ...............................................................................................46 Ejemplo Práctico........................................................................................................49

Objetos COM

53

Instalación y registración..........................................................................................................53 Uso de Objeto COM_GV.........................................................................................................53 Login y Logout a Tango ............................................................................................54 Ingreso de Pedidos ...................................................................................................................55
Tango - Apertura Sumario • i

Declaración de los recordsets.................................................................................... 55 Inicialización de los recordsets ................................................................................. 55 Agregar Pedidos a Tango .......................................................................................... 56 XML / XTANGO LISTADOS ............................................................................................... 58 Primer Paso ............................................................................................................... 58 Segundo Paso ............................................................................................................ 60 XTANGO Altas ....................................................................................................................... 62 XTANGO Exportación / Importación ..................................................................................... 67 XTANGO Comprobantes ........................................................................................................ 71

Procesos

77

Identificadores de Procesos ..................................................................................................... 77 Listados ..................................................................................................................... 78 Altas .......................................................................................................................... 92 Exportaciones e Importaciones ................................................................................. 93

Ejemplos en el CD

97

Aclaración................................................................................................................................ 97 Objetos COM Ejemplo.............................................................................................. 97 Ejemplo XML............................................................................................................ 97 Ejemplo en Microsoft Excel...................................................................................... 98

ODBC

99
Configuración.......................................................................................................................... 99

ii • Introducción

Tango - Apertura

Introducción

Interacción mediante la "Apertura"
Actualmente, Tango es un sistema que brinda a la empresa, una solución integral para su administración. Con sus diferentes módulos, Tango cubre ampliamente las necesidades de las empresas. Por ser un sistema “parametrizable”, un implementador puede configurar Tango para realizar las tareas administrativas cotidianas. Con respecto a “generar información” de mayor contenido, gracias a la integración con Microsoft Office, es posible visualizar información multidimensional (datos y gráficos) así como también filtrar y ordenar. Pero, qué sucede en aquellas empresas donde la necesidad de información es mayor, que por estar en un mercado vertical necesitan ingresar información desde otros sistemas, que necesitan integrarse a otros sistemas propios, que necesitan recibir y/o enviar información a sistemas de terceros (proveedores o clientes). Ejemplos de estas necesidades son: toma de pedidos mediante colectoras portátiles, toma de inventarios con colectoras y los programas de conciliación entre el inventario físico y el inventario del sistema, sistemas que controlan surtidores y deben ingresar esta facturación a un sistema administrativo. Para todas estas necesidades, LA APERTURA DE TANGO!

Tango - Apertura

Introducción • 3

Visión de la Interacción
La apertura es un concepto tan simple como el siguiente: es brindar a otras aplicaciones, la posibilidad de interactuar o integrarse con Tango. Con esto avanzamos a una mayor integración entre Tango y nuestros clientes y además, a generar una “comunidad” de desarrolladores de aplicaciones integradas a Tango. La apertura de Tango le brinda la posibilidad de interactuar con otras aplicaciones, de este modo, la empresa logrará una adaptación completa del producto a sus necesidades. Usted podrá, por ejemplo, conectarlo con sistemas propios desarrollados específicamente para su actividad, recibir y/o enviar información a sistemas de terceros (proveedores o clientes), tomar pedidos mediante colectoras portátiles, etc. Tango le da la posibilidad de interactuar con todas las aplicaciones e información que usted necesita para aumentar la productividad de la empresa. Tango es un software estándar, fácil de instalar y con adaptaciones propias de un sistema a medida.

Tango es un sistema estándar, hecho a medida por usted.

4 • Introducción

Tango - Apertura

Los archivos XML son archivos de texto que fácilmente se generan y se leen por programas. Una manera de utilizarlo es: desde un programa escrito.Apertura Introducción • 5 . Word. Como ejemplo de datos estructurados puede pensarse en libretas de direcciones. Por ejemplo. con la ventaja que Tango valida toda la información y de esta manera. Tango se ejecuta sin visualizarse en Tango . por ejemplo. un programa desarrollado en Visual Basic o Delphi puede utilizar todas las prestaciones que expone al mundo del desarrollador Excel. mantiene su consistencia. etc. dos programas hechos por empresas independientes se pueden transferir datos. XML Es un formato universal o estándar para documentos y datos estructurados. transacciones financieras. Visual Basic o Delphi. Access. desde Excel. Word. Con respecto a Tango. usted podrá interactuar a través de la apertura. y de esta manera.Apertura Caminos que estamos recorriendo. se ejecuta un módulo de Tango con una serie de parámetros.. Los caminos que hemos iniciado son: • • • Publicar objetos COM XML Base de datos estándar Objetos COM COM le permite a un programa exponer y utilizar sus interfaces desde otros programas. Word. mediante el cual se define la estructura y el contenido. en Visual Basic y mediante una interfaz COM. a través de una interfaz COM de Excel. etc. etc.

vamos a un mundo abierto. se va a ingresar información con todas sus validaciones. y más aún. Al finalizar su ejecución. como son: la mejora en performance (más usuarios al mismo tiempo). integrado. a través de ODBC se va a leer información y mediante los objetos COM.la pantalla. En otras palabras. Base de datos estándar Es muy importante poder acceder a los datos de Tango a través de un formato conocido (DBF con índices FoxPro). más maduro pero también con más responsabilidad de las empresas que generen estos programas. Inicialmente. se habrá generado el recordset XML y éste es procesado por el programa en Visual Basic. Además. en los puestos de trabajo se pueden ejecutar más procesos al mismo tiempo. 6 • Introducción Tango . Al cambiarse a un motor cliente-servidor también se agregan las funcionalidades de esta tecnología. a través de un servicio dado por un motor cliente-servidor. se accede a los datos a través de ODBC (ideal) o directamente.Apertura . se evitan los procesos que actualmente son exclusivos y no deberían serlo (archivo utilizado por otra terminal). Los archivos que se pueden generar son todos aquellos listados que tienen salida a grilla por Tango. brindando toda la seguridad y robustez correspondiente. Queremos aclarar un tema importante sobre el ingreso o modificación de los datos -a través de ODBC o directamente: los datos no son validados por Tango Gestión.

Apertura Objetos COM Referencia • 7 .Objetos COM Referencia Objeto COM_GV Objeto TangoLog Representa la información de empresas.TangoLog Tango . Sintaxis ObjTG.

Propiedades inHandleApp As Long. wsNumeroLlave As string. rsEmpresas As recordset) As Long Function GetLlaves (rsLlaves As recordset) As Long Function Login(modulo As String.Apertura . Métodos Function GetEmpresas (NroLlave As String. wsNombreUsuario As string. NomUsuario As String. Idmenu as String) As Boolean Sub Logoff() Sub Set_wsPassword (passw As String) 8 • Objetos COM Referencia Tango . wblsLogged As Boolean. Version As Long (read only). wsTitleApp As string. wsNombreEmpresa As string. Handle de su aplicación.

en rsEmpresas. Tango le solicita el usuario y luego. Nombre de Empresa que desea loguearse. WsNombreEmpresa : string. los nombres de las distintas empresas habilitadas para ese usuario. WsNumeroLlave : número de Llave. GetLlaves Devuelve en rsLlaves las llaves que estén instaladas en la PC.Function Valida_Parametros () As Long Versión : versión de archivos (bandera). Formato: ######/###. Si solamente ingresa este parámetro. Si no lo ingresa. Nombre de Usuario que desea loguearse. WsNombreUsuario : string. No es obligatorio. WsTitleApp : título de su aplicación. Set_wsPassword Setea el valor del password para el Login. Tango . GetEmpresas Devuelve para la llave NroLlave y el usuario NomUsuario. No es obligatorio. WblsLogged : True si está logueado. la empresa. Tango le muestra la lista de empresas autorizadas. Este es el único parámetro necesario para el logueo (Login). Tango le pide el usuario y le muestra la lista de empresas autorizadas. Si no lo ingresa. permitiendo realizar un logueo transparente.Apertura Objetos COM Referencia • 9 .

DescargaStock As Boolean) As Long Function GetPedidos(rsPedidos As recordset. rsResult As Recordset. dtFechaDesde As date. ControlClienteInhabilitado As Boolean.Pedidos Propiedades TgLog As TangoLog Métodos Function Str_Pedido(rsEncabezado As recordset. Devuelve 0 si la inicialización resultó correcta.Objeto Pedidos El siguiente cuadro indica la sintaxis requerida para este objeto.Apertura . Se debe realizar una sola vez en la aplicación. dtFechaHasta As date. rsRenglones As Recordset. los pedidos que se encuentran descriptos en los recordsets de Encabezado (rsEncabezado) y de Renglones (rsRenglones). ControlCredito As Boolean. rsRenglones As recordset) As Long Function Add_Pedidos(rsEncabezado As Recordset. AddPedidos : agrega a Tango. Devuelve en el recordset de Resultados 10 • Objetos COM Referencia Tango . ControlTipoTalonario As Boolean. IncluyePedidos As Incluye_Pedidos) As Long StrPedido : inicializa los recordsets para el ingreso de Pedidos. ControlListaPrecioHabilitada As Boolean. Sintaxis ObjTG.

Constantes : Incluye_Pedidos: (Cumplidos.(rsResultado) la confirmación o el error de cada pedido. Todos). Pendientes.Apertura Objetos COM Referencia • 11 . Todos) Estructura de los recordsets para el Ingreso de Pedidos rsEncabezado Name ID_Pedido Nro_Pedido Talonario Fecha_Pedido Cod_Cliente Porc_Desc_Cli Condicion_Venta Cod_Vendedor Cod_Deposito Cod_Transporte Nro_Lista_Precio Tipo_Asiento Fecha_Entrega Leyenda_1 Leyenda_2 Leyenda_3 Leyenda_4 Leyenda_5 Compromete_Stock Usa_Precio_Lista ID_Externo Type String Numérico Numérico Date String Numérico Numérico String String String Numérico String Date String String String String String String String String Size 6 6 2 6 5 2 2 2 2 2 2 60 60 60 60 60 1 1 20 Precision 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Tango . GetPedidos : devuelve en rsPedidos los pedidos que estén dentro del rango de fechas y que cumplan con el estado indicado (Cumplidos. El método devuelve 0 si la parametrización fue correcta. Pendientes.

Es posible ingresar pedidos en base a cualquier lista de precios (moneda corriente o moneda extranjera)."Compromete_Stock": 'S' o 'N' "Usa_Precio_Lista": 'S' o 'N' "Talonario": Tango permite de 0 a 99 talonarios.Apertura . el COM no toma los valores por defecto asociados a clientes ni perfiles de facturación. rsRenglones Name ID_Pedido Cod_Articulo Unidad_Medida Cant_Pedida Cant_A_Facturar Descuento 12 • Objetos COM Referencia Type String String String Numérico Numérico Numérico Size 6 15 1 9 9 5 Precision 0 0 0 DecCan DecCan 2 Tango . a través del COM. "Porc_Desc_Cli": 2#. pedidos a clientes ocasionales ('000000'). Este campo no es obligatorio. Por lo pronto. "Cod_Deposito": indica el depósito en el que se generará el stock comprometido y la posterior descarga de las unidades. el sistema solicitará la cotización correspondiente y la moneda de la factura.2# "Condicion_Venta": 2 dígitos " Nro_Lista_Precio": 2 dígitos Corresponde a la lista seleccionada para sugerir los precios de los artículos. ya que en el momento de facturarlos. Indica el código de talonario con el que se imprimirán las facturas asociadas al pedido. "Fecha_Entrega": corresponde a la fecha prevista de entrega del pedido. "Cod_Cliente": no se permitirá ingresar. pero es de utilidad para el cálculo del stock proyectado.

Es importante considerar que el stock comprometido se actualiza siempre en unidades de stock. "Precio " Si se expresan las cantidades en unidades de ventas. "Descuento". el remito o factura que se emita posteriormente. también será en unidades de ventas. Por cada artículo que lleva stock asociado.Precio Descripcion Desc_Adicional Numérico String String 9 30 20 DecPre 0 0 " Unidad_Medida": 'U' o 'V' "Cant_Pedida". se indicará la Cantidad Pedida y las Cantidades a Facturar. siempre antes de la generación de facturas o remitos. Estas cantidades pueden modificarse mediante el proceso de Modificación de Pedidos en Tango. " Cant_A_Facturar".Apertura Objetos COM Referencia • 13 . Estas últimas cantidades serán las que se incluyan en la próxima factura o remito que se confeccione con referencia al pedido. que deben ser menores o iguales a la cantidad pedida. rsResultado Name ID_Pedido Estado_OK Nro_Pedido Msg_Error Type String Boolean String String Size 6 6 255 Precision 0 0 0 0 Get_Pedidos La estructura del recordset de salida rsPedidos es la siguiente: Name Cod_Cliente Razon_Social Type String String Size 6 30 Precision 0 0 Tango .

dtFechaHasta As Date) As Long Recordset de Get_Ventas Name Type FECHA_CONT FECHA_CON2 14 • Objetos COM Referencia Size Precision 0 0 Tango . dtFechaDesde As Date. Sintaxis ObjTG.Nro_Pedido Fecha_Pedido Fecha_Entrega Cod_Vendedor Nom_Vendedor Estado Des_Estado Cod_Articulo Des_Articulo Des_Adi_Arti Cant_Pedida Cant_PenDesc Cant_PenFact Importe_Pend String Date Date String String Numérico String String String String Numérico Numérico Numérico Numérico 6 0 0 0 2 30 2 10 15 30 20 9 9 9 9 0 0 0 0 0 0 0 DecCan DecCan DecCan DecLis Objeto Facturación El siguiente cuadro indica la sintaxis requerida para este objeto.Apertura Date Date .Facturacion Propiedades TgLog As TangoLog Métodos Function Get_Ventas (rsVentas As Recordset.

FECHA_EMIS T_COMP N_COMP COND_VENTA COD_VENDED NOMBRE_VEN COD_CLIENT RAZON_SOCI LOCALIDAD FAMILIA_CL GRUPO_CLI BONIF_CLI BONIF_FAC COD_PROVIN NOMBRE_PRO COD_ZONA NOM_ZONA COD_TRANS NRO_LISTA TIPO_ASIEN COTIZACI COD_ARTICU DES_ARTICU FAMILIA_AR GRUPO_ART BASE ESCALA_1 ESCALA_2 COD_DEPOS NOM_DEPOS CANTIDAD PRECIO_NET IMPORTE_NE IMPORTE_N2 Tango .Apertura Date String String String String String String String String String String String String String String String String String Numérico String Numérico String String String String String String String String String Numérico Numérico Numérico Numérico 3 13 2 2 30 6 30 20 2 2 5 5 2 20 2 30 2 16 2 16 15 30 2 5 15 15 15 2 30 9 9 11 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DecCot 0 0 0 0 0 0 0 0 0 DecCan Según Lista de Precio DecLis DecLis Objetos COM Referencia • 15 .

los códigos de errores son solamente: 0 (si no hubo error) y distinto de 0 (si hubo error). DecUni: cantidad de decimales según moneda extranjera. DecCot: cantidad de decimales según cotización. DecLis: cantidad de decimales según moneda del comprobante. Códigos de errores devueltos por las funciones En este momento.Apertura . DecPre: cantidad de decimales según la lista de precios asociada al pedido. 16 • Objetos COM Referencia Tango .PRE_ULT_CO COSTO_TOTA BONIF_RENG COMISI_VTA CTA_VENTAS DCTO_ARTIC PORC_UTILI UNIDAD_MED SUCURSAL COD_GEMPRE NOM_GEMPRE IMPORTE IMPOR_BON IMPOR_EXE IMPOR_FLE IMPOR_GRA IMPOR_INT IMPOR_IVA Numérico Numérico Numérico Numérico Numérico Numérico Numérico String Numérico String String Numérico Numérico Numérico Numérico Numérico Numérico Numérico 11 11 16 16 16 16 16 3 16 6 30 9 11 11 11 11 11 11 DecPre DecLis 2 2 0 2 2 0 0 0 0 DecImp DecLis DecLis DecLis DecLis DecLis DecLis Constantes DecCan: cantidad de decimales definidas para las cantidades de stock.

CompanyID As String. de la empresa.Objeto LogOn (ILogOn) Interface que posibilita loguear una aplicación al servidor de accesos (es la entrada al sistema).Apertura Objetos COM Referencia • 17 . Esta interface provee además. AppHandle As Byte) As Boolean Esta función permite el logueo al servidor de accesos: • • Con form de Logueo Logueo a Usuario-Empresa Tango . de la sesión activa y también da acceso a las interfaces de máscaras y mensajes. AppDir As String. se loguea un usuario a una empresa (sesión). Métodos Function LogServerUser(HLNumber As String. A través de esta interface. del usuario. ProfileName As String. información de sistema.

Handle de la aplicación que se loguea (opcional). Por ej. Por ej.: "Mi Aplicación". Nombre de usuario (opcional). AppTitle As String. Logueo a Usuario-Empresa. Parámetros HLNumber : Número de llave (obligatorio). Por ej. Nombre de la compañía (opcional). CompanyID As String.Apertura . Err As String) As Boolean Esta función permite el logueo al servidor de accesos: • • Con / sin form de Logueo. Pswd As String.Parámetros HLNumber: ProfileName: CompanyID: AppDir: AppHandle: Número de llave (obligatorio). Resultado True si logró loguearse.: "EMPRESA EJEMPLO".: "000001/001".: "SUPERVISOR".: "000001/001". 18 • Objetos COM Referencia Tango . Por ej. Nombre de la aplicación que se loguea (opcional). Por ej. Precondición Ver LogServerUserEx Postcondición Ver LogServerUserEx Function LogServerUserEx(HLNumber As String. UserName As String. False si no fue posible.

CompanyID : AppTitle: AppHandle : Err: Nombre de la compañía (opcional). "". lsOK] Postcondición Si Precondición Si Resultado -> fLogState = lsOK Sino Si Form de Logueo Cancelado-> fLogState=lsCanceledByUser Sino -> fLogState=lsHLSUnAvailable Sino Resultado = False -> fLogState = lsHLSUnAvailable Ejemplo Dim LogOnEx as Object Private Sub Form_Load() ‘Creación del objeto LogOnEx Set LogOnEx = CreateObject("hardlockserver . "") Dim llave.: "SUPERVISOR".LogOnEx". Password (obligatorio). Si Result = False.Apertura Objetos COM Referencia • 19 . Resultado True si logró loguearse. Usar “NO_PSWD” cuando no se quiera pasar una contraseña). Precondición Not fLogState in [lsHLSBroken. Error as String Llave = "000001/001" ‘Loguea la aplicación a Tango (mostrando ventana) If LogOnEx. False si no fue posible.LogServerUserEx(llave. "NO_PSWD". Err tiene el mensaje de error.UserName : Pswd: Nombre de usuario (opcional). Nombre de la aplicación que se loguea (opcional). Handle de la aplicación que se loguea (opcional) . _ Tango . "". Por ej.

False. el servidor está en orden. Resultado True. no lo logró. Parámetros CompanyID: ID de Compañía (obligatorio).Apertura .DropInterface Set LogOnEx = Nothing End Sub LogOn.hWnd.CheckState As Boolean Verifica el estado del servidor."Provincias". en primer término no es buena. Nota: cuando es False. intenta reconectar. logró hacer el cambio.ChangeCompany(CompanyID As String) As Boolean Permite cambiar la compañía a la que estaba logueado un usuario. LogOn. Me. Resultado True. Si la conexión. Precondición Logueo a proceso completo. 20 • Objetos COM Referencia Tango . se pierde la compañía a la que se estaba logueada. Error) Then MsgBox("Logueado") Else MsgBox("No Logueado") End If End Sub Private Sub Form_Terminate() LogOnEx. lo loguea a la que pasa como parámetro. Si no estaba logueado a ninguna.

IDMenu As Integer) As Boolean Valida si el usuario logueado tiene permiso para ejecutar un proceso en la compañía activa. Para más información. LogOn. el servidor está en problemas (aún después del reintento). Tango . consulte los Identificadores de Procesos. IDMenu: Identificador de proceso (obligatorio).V. LogOn.A.False.SendStatus(LM As LogModeEnum) As Variant Notifica al servidor información del cliente. e Ingresos Brutos Estados Contables Compras e Importaciones Ventas Punto de Venta Stock Punto de Venta Tablero de Control Automatizador Reportes Automatizador Transferencias Automatizador Módulo Module: Número de módulo (obligatorio).Apertura Objetos COM Referencia • 21 . Parámetros Número de módulo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Ventas Stock Compras Proveedores Fondos Cash Flow Contabilidad Sueldos Control de Horarios Centralizador I. No está en uso.ValidateApp(Module.

LogServerUserEx(Version.txt). de la compañía y de la sesión del Servidor de Accesos (las referencias fueron cargadas en LogServerUser. 1023) then MsgBox("Pude loguearme. _ "Provincias". puedo mostrar el form") Else MsgBox("A pesar de que pude loguearme.hWnd.DropInterface Libera las referencias del Logon.WriteToLog(const Str As String) Escribe en el log (Registro.Apertura . Me. Ejemplo ‘Loguea la aplicación a Tango (mostrando ventana) If LogOnEx. If LogOnEx.Resultado True.ValidateApp(11. de la aplicación. "NO_PSWD". LogOn. _ no tengo permiso en el form") End If Else MsgBox("No Logueado") End If LogOn. "". del usuario. ‘ Esta validación se puede hacer en el cliente para que no se ‘ entre al form si no se tiene permiso. LogServerAdmin y 22 • Objetos COM Referencia Tango . "". si tiene acceso al proceso. LogServerUserEx. ‘ Se haga o no esta validación el servidor SIEMPRE lo valida. Parámetros Str: Leyenda a escribir (opcional). Error) Then MsgBox("Logueado") ‘ Valido si tengo permiso para acceder al ‘ proceso 1023 del módulo 11.

Usado para ubicar exes. helps.ActiveUser As Iuser Interface del usuario logueado.HLNumber As String Número de llave.Apertura Objetos COM Referencia • 23 . LogOn. LogOn. (Ver ActiveUser). lsCanceledByUser: logueo cancelado por el Usuario. LogOn. la cierra. LogOn. lsHLSInvalid: servidor inválido. etc. LogOn. Nota: el resto de los valores no se encuentra en uso todavía.SystemDir As String Directorio de Sistema. Si nadie más está usando la conexión con el server. Valores posibles lsOk: conexión con el servidor establecida. Esta función debe ser invocada inmediatamente antes de liberar la interface ILogOn en la aplicación cliente.LogState As LogStateEnum Muestra el estado actual del servidor. lsLogging: logueo en progreso.LogServerAdminEx).ActiveCompany As Icompany Tango . lsHLSBroken: la conexión con el servidor está interrumpida. lsHLSUnavailable: servidor no disponible.

(Ver ActiveCompany) LogOn. LogOn.AppHandle As Largeuint Handle de la aplicación logueada. 24 • Objetos COM Referencia Tango .HLMachine As String Nombre de máquina servidora del servidor de accesos.Si está logueado a una aplicación de un módulo -> Interface de la compañía logueada. LogOn. LogOn.AppTitle As String Título de la aplicación logueada.Apertura .RefCount As Integer Cantidad de instancias de la interface Logon.Opciones As String Parámetro para el proceso a ejecutarse. LogOn.

Apertura Objetos COM Referencia • 25 . XML_In As Variant) As Boolean ProcessID: número de listado Tango. Tango .A. A la declaración del objeto agregue el sufijo correspondiente (vea el ejemplo anterior): Ventas: Stock: Compras: Fondos: Sueldos: Control de Horarios: Cash Flow: Centralizador: Contabilidad: Estados Contables: I. para generar los xml de los listados.V. consulte los Identificadores de Procesos. Para más información. ProcessID As Long.Objeto XML / XTANGO Listados Listados Propiedades Propiedades Métodos Métodos Make_XML Execute_XML Cada módulo Tango tiene declarada la misma interfaz COM. e Ingresos Brutos: _GV _ST _CP _SB _SU _RE _CF _CT _CN _BC _IV Métodos Function Make_XML(objLog As LogOn.

se debe utilizar la sentencia: Set XML_IN = CreateObject("ador. XML_ERR: se declara como Variant y luego. se utilizará como recordset o como string (con formato XML).recordset") Esto es así ya que este parámetro va a tener un comportamiento dual. XML_OUT . Inicialmente.recordset") Esto es así dado que este parámetro va a tener un comportamiento dual. sólo acepta recordset. Function Execute_XML(LogOn As Logon. 26 • Objetos COM Referencia Tango . XML_OUT As Variant.XML_IN: se declara como Variant y luego. para transformarla en recordset. para transformarla en recordset se debe utilizar la sentencia: Set XML_IN = CreateObject("ador. XML_IN As Variant. sólo acepta recordset. se utilizará como recordset o como string (con formato XML). Inicialmente. XML_ERROR As Variant) As Boolean XML_IN.Apertura . IDProceso As Long.

Tg_in As Variant.V. a la declaración del objeto agregue el sufijo correspondiente: Ventas: Stock: Compras: Fondos: Sueldos: Control de Horarios: Cash Flow: Centralizador: Contabilidad: Estados Contables: I.Apertura Objetos COM Referencia • 27 . Este método devuelve: Tango .Altas ") Métodos Function Make_Altas(objLog As LogOn.Objeto XTANGO Altas Altas Propiedades Propiedades Métodos Métodos Make_Altas Execute_Altas Cada módulo Tango tiene declarada la misma interfaz COM. Al igual que los listados.A. Tg_str As Variant) As Integer. ProcessID As Long. e Ingresos Brutos: _GV _ST _CP _SB _SU _RE _CF _CT _CN _BC _IV Ejemplo: Set ObjAltas = CreateObject("XTango_Gv. para generar las altas.

por ejemplo. indicarle a XTANGO que ese área de edición va a estar compuesta de tantos renglones como registros tenga el recordset que se envía. Tg_Result As Variant) As Integer. tipo de variables. Si tomamos. Cada recordset contenido en Tg_Str tendrá tantos campos como campos de edición conformen el renglón al que representan. El objetivo de este parámetro es entonces. Idéntico a la estructura que se devuelve en los listados. Falló la generación del recordset. consulte los Identificadores de Procesos. Tg_Str: en este parámetro el método Make_Altas devuelve un arreglo (array) de recordsets. Tg_in.Apertura . etc. en este caso.). ProcessID As Long. El recordset se generó pero existen advertencias o “warnings”. Tg_str. Si la edición tuviese más de un área de edición conformada por renglones (ya sea en la misma pantalla o en múltiples pantallas). cantidad.0 2 3 El recordset se generó. ProcessID: número de proceso de XTANGO. 28 • Objetos COM Referencia Tango . en un arreglo de dimensión 1. definición de escalas en el módulo de Stock. vemos que la edición consta de dos áreas bien definidas. Tg_in: es la estructura que contendrá el recordset detalle de los campos del proceso (nro. Para más información. Si el proceso no tuviese edición con renglones. los que representan las distintas áreas de edición en las que intervienen renglones. menú. la dimensión del arreglo va a variar. Function Execute_Altas(objLog As LogOn. una de las cuales está compuesta por renglones. este parámetro se devolverá como nulo.

cantidad.Apertura Objetos COM Referencia • 29 .). Tango . Este método devuelve: 0 2 3 El alta tuvo éxito. menú. se declara como variant y luego. generadas por el método Make_Altas.recordset") Tg_Str: arreglo (array) de recordsets. El funcionamiento es exactamente igual al de los listados. Tg_in: es la estructura que contendrá el recordset detalle de los campos del proceso (nro. El alta tuvo éxito pero existen advertencias o "warnings".recordset") Contendrá información sobre los errores o advertencias que se hayan producido en la ejecución del alta. Falló el alta debido a errores. donde viajan los detalles de los renglones. con la sola excepción del atributo Tg_str. para transformarla en recordset se debe utilizar la sentencia: Set rsMake = CreateObject("ador. para transformarla en recordset se debe utilizar la sentencia: Set rsMake = CreateObject("ador. devolviendo los posibles errores o advertencias en el recordset representado por Tg_Result. Debe ser nulo si no se utilizan renglones en el área. Se declara como variant y luego. Idéntico a la estructura que se devuelve en los listados. etc.Genera un alta con la información contenida en las estructuras de entrada. El output del proceso tiene un comportamiento idéntico al de los listados. Tg_Result: al igual que el parámetro Tg_in. descripto en el método Make_Altas. tipo de variables.

Objeto XTANGO Exportación Exportación Propiedades Propiedades Métodos Métodos Execute_Exportacion Make_Exportacion Cada módulo Tango tiene declarada la misma interfaz COM.Exportacion ") Métodos Function Make_Exportacion(objLog As LogOn. para ejecutar los procesos de exportación a otros módulos. Este método devuelve: 30 • Objetos COM Referencia Tango . e Ingresos Brutos: _GV _ST _CP _SB _SU _RE _CT _CN _BC _IV Ejemplo: Set ObjAltas = CreateObject("XTango_GV.V.Apertura .A. ProcessID As Integer. a la declaración del objeto agregue el sufijo correspondiente: Ventas: Stock: Compras: Fondos: Sueldos: Control de Horarios: Centralizador: Contabilidad: Estados Contables: I. Al igual que los listados. Tg_in As Variant) As Integer.

Falló la generación del recordset. ProcessID: número de proceso de XTANGO. Este método devuelve: 0 2 3 La exportación tuvo éxito. ProcessID: número de proceso de XTANGO.Apertura Objetos COM Referencia • 31 . reservado para futuras implementaciones. Para más información. Idéntico a la estructura que se devuelve en los listados. Function Execute_Exportacion(objLog As LogOn. Tg_File. Para más información. Tg_in: es la estructura que contendrá el recordset detalle de los campos del proceso (nro. menú. Tg_Report.). se debe utilizar la sentencia: Set rsMake = CreateObject("ador. Tango . consulte los Identificadores de Procesos. tipo de variables. Ejecuta el proceso de Exportación con los parámetros informados en Tg_in. Tg_in.recordset") Tg_File: variant. para transformarla en recordset.). En Tg_Result se devuelven los mensajes de error o advertencias que hayan ocurrido. etc. Idéntico a la estructura que se devuelve en los listados. tipo de variables. cantidad. La exportación tuvo éxito pero existen advertencias o “warnings”. ProcessID As Integer.0 3 El recordset se generó. cantidad. Se declara como variant y luego. menú. Falló la exportación debido a errores. etc. Tg_Result As Variant) As Integer. Tg_in: es la estructura que contendrá el recordset detalle de los campos del proceso (nro. consulte los Identificadores de Procesos.

Apertura . advertencias o información propia de la exportación que se hayan producido en la ejecución del proceso de Exportación.recordset") Contendrá información sobre los errores.recordset") Contendrá información propia de la exportación. para transformarla en recordset se debe utilizar la sentencia: Set rsMake = CreateObject("ador. 32 • Objetos COM Referencia Tango . La información contenida depende de cada exportación y de los parámetros ingresados en Tg_in.Tg_Report: al igual que el parámetro Tg_in se declara como variant y luego. para transformarla en recordset se debe utilizar la sentencia: Set rsMake = CreateObject("ador. Los posibles errores o advertencias se devuelven en el recordset representado por Tg_Result. y es la misma que brinda el informe al realizar la exportación desde Tango. según el proceso ejecutado. Tg_Result: al igual que el parámetro Tg_in. se declara como variant y luego.

a la declaración del objeto agregue el sufijo correspondiente: Ventas: Stock: Compras: Fondos: Sueldos: Control de Horarios: Centralizador: Contabilidad: Estados Contables: I. e Ingresos Brutos: _GV _ST _CP _SB _SU _RE _CT _CN _BC _IV Ejemplo: Set ObjAltas = CreateObject("XTango_GV.A. Al igual que los listados y las exportaciones.Importacion") Métodos Function Make_Importacion(objLog As LogOn. Tg_in As Variant) As Integer.Objeto XTANGO Importación Importación Propiedades Propiedades Métodos Métodos Execute_Importacion Make_Importacion Cada módulo Tango tiene declarada la misma interfaz COM.V. ProcessID As Integer. para ejecutar los procesos de importación a otros módulos.Apertura Objetos COM Referencia • 33 . Este método devuelve: Tango .

). cantidad. Ejecuta el proceso de Importación con los parámetros informados en Tg_in. En Tg_Result se devuelve los mensajes de error que hayan ocurrido. Tg_in: es la estructura que contendrá el recordset detalle de los campos del proceso (nro.recordset") 34 • Objetos COM Referencia Tango . Para más información. Para más información. tipo de variables. Function Execute_Importacion(objLog As LogOn. Se declara como variant y luego. menú. El recordset se generó pero existen advertencias o “warnings”. para transformarla en recordset se debe utilizar la sentencia: Set rsMake = CreateObject("ador. Falló la importación debido a errores. Tg_in: es la estructura que contendrá el recordset detalle de los campos del proceso (nro. Idéntico a la estructura que se devuelve en los listados. Tg_Report. consulte los Identificadores de Procesos. Falló la generación del recordset. ProcessID: número de proceso de XTANGO.Apertura . cantidad. Este método devuelve: 0 2 3 La importación tuvo éxito. Tg_File. Tg_in. etc.0 2 3 El recordset se generó. La importación tuvo éxito pero existen advertencias o “warnings”. ProcessID: número de proceso de XTANGO. tipo de variables. Tg_Result As Variant) As Integer. menú. Idéntico a la estructura que se devuelve en los listados. etc. consulte los Identificadores de Procesos. ProcessID As Integer.).

se debe utilizar la sentencia: Set rsMake = CreateObject("ador.recordset") Contendrá información de inconsistencias generadas en el proceso de Importación. Tango .recordset") Contendrá información sobre los errores o advertencias que se hayan producido en la ejecución del proceso de Importación. y es la misma que brinda el informe al realizar la importación desde Tango. se debe utilizar la sentencia: Set rsMake = CreateObject("ador. La información contenida depende de cada importación y de los parámetros ingresados en Tg_in. para transformarla en recordset. Tg_Report: al igual que el parámetro Tg_in se declara como variant y luego.Tg_File: variant. reservado para futuras implementaciones. para transformarla en recordset. Tg_Result: al igual que el parámetro Tg_in se declara como variant y luego. Los posibles errores o advertencias se devuelven en el recordset representado por Tg_Result.Apertura Objetos COM Referencia • 35 .

los métodos para agregar facturas en Cuenta Corriente y para agregar facturas al Contado. En esta implementación. se han realizado en el módulo de Ventas. tenga su sistema a medida para facturar y realice en Tango el seguimiento de cuenta corriente. stock y todas las demás funciones administrativas. ingresarlas a Tango para luego realizar el seguimiento administrativo y contable. En esta implementación se han realizado los métodos para agregar facturas en cuenta corriente y también. 36 • Objetos COM Referencia Tango . Ventas.Objeto Comprobantes (Icomprobantes) Comprobantes Propiedades Propiedades Métodos Métodos Add_FacturaContado Add_FacturaCtaCorriente Make_FacCuotas Make_FacEncabezados Make_FacImpuestos Make_FacRenglones Make_FondosEncabezados Make_FondosRenglones Introducción De esta interfaz dependen métodos para agregar comprobantes en aquellos módulos que manejen comprobantes. I. En otras palabras.A. cobranzas.V. para agregar facturas al contado.Apertura . Interfaz IComprobantes en Ventas De esta interfaz dependen métodos para agregar comprobantes en el módulo de Ventas. Esto permitirá a aquellas empresas donde sus servicios o productos se facturen a través de un sistema a medida. El objetivo de las interfaces para agregar facturas es ingresar al sistema Tango. comprobantes del tipo Factura generados y emitidos por otro sistema de facturación.

Apertura Un depósito. No se realizan validaciones en cuanto a la lógica de imputaciones a las cuentas del módulo de Fondos ni al modelo de asiento contable seleccionado. necesarios para evitar inconsistencias en la base de datos en Tango. con excepción del control de los importes totales (detallado en este documento). con las siguientes consideraciones: a) El ingreso de las facturas por medio de XTANGO. Alcances Es posible el ingreso de un comprobante factura externo. c) No se realizan validaciones en cuanto a la correlatividad en las numeraciones de las facturas ingresadas al sistema Tango. e) f) No se realizan validaciones en cuanto a la existencia de renglones de artículos en la factura. Módulo de Stock Defina: 1. para indicar el movimiento de los artículos. como mínimo. comprobantes de tipo factura generados en forma externa. puede realizarse tanto en forma On-Line como Batch. Solamente se valida la existencia de los datos obligatorios. la base de datos a utilizar deberá estar configurada con los siguientes datos: Administrador general del sistema Defina un usuario con acceso a facturación.Objetivo Utilizando XTANGO puede ingresar a Tango. dependiendo de la implementación de la aplicación cliente. d) No se realiza ningún tipo de validaciones en los cálculos de las facturas. g) Configuración de la base de datos para Tango Punto de Venta Para que el sistema brinde una correcta información. b) XTANGO sólo registra la factura en el sistema. no la emitirá por ningún medio de impresión. Tango . Objetos COM Referencia • 37 . solamente se controla que no haya sido ingresada con anterioridad.

Opcionalmente. Las condiciones de venta que crean necesarias. Las alícuotas necesarias para los impuestos aplicados a las facturas. 6. Módulo de Ventas Usted deberá definir: 1.2. 5. Encabezado y Totales de la factura A continuación. Información necesaria para el ingreso de datos por medio de XTANGO 1. Un talonario para facturas. sean de contado para imputar los valores ingresados en el módulo de Fondos o de cuenta corriente. a menos que se lo indique con ' ** '. Cuentas para registrar los movimientos de valores provenientes del cobro de las facturas. 8. códigos de operación y obtener información clasificada por operaciones. 3. Como mínimo. 4. con la definición de la cantidad de decimales necesarios en los precios. para imputar todas las ventas. 2. Será necesario para actualizar correctamente las numeraciones de las facturas ingresadas. Puede ser creado como multipropósito o para facturas exclusivamente. Estas cuentas deberán ser configuradas como de tipo 'Otras'. Un tipo de asiento para facturas (para poder registrarlas contablemente). Todos son obligatorios. un vendedor. Esto es necesario para poder llevar el control de stock con el ingreso de las facturas. Los artículos a utilizar. como mínimo. podrá definir para las cuentas. 38 • Objetos COM Referencia Tango . Módulo de Fondos Defina: 1.Apertura . 7. 2. En Parámetros Generales. Un cliente. que la Descarga de Stock se realiza al facturar. se indican los datos necesarios para el ingreso de la factura. Listas de precios que deseen utilizar.

ignore este campo. Importe Bonificación General de la No se realizan validaciones.Apertura Objetos COM Referencia • 39 . se espera que se ingrese un registro con los siguientes datos: Datos Id del comprobante Código del talonario para las facturas Validaciones Identificador del comprobante. Expresado en la moneda del comprobante. cte. este importe debe estar en 0. No se realizan validaciones. El importe debe ser expresado en la moneda del comprobante. Existente en Tango . El factura sin impuestos importe debe ser expresado en la moneda del comprobante y no debe incluir ningún tipo de impuestos. Existente en Tango . No se Expresado realizan en la validaciones.) Número de Lista de Precio Código Vendedor Código de Transporte Tipo de Asiento Existente en Tango . No se realizan validaciones. Importe Intereses sin impuestos No se realizan validaciones. Para el sistema Tango Punto de Venta. El importe debe tener aplicado la bonificación y el recargo por transporte e intereses. Importe Bonificación General de la No se realizan validaciones. de stock Código Condición de Venta (contado Existente en Tango . ó cta. Para el sistema Tango Punto de Venta. Debe existir en Tango y ser distinto a '000000'. Para el sistema Tango Punto de Venta. este importe debe estar en 0. moneda del Importe Flete sin impuestos Importe Exento de la factura Importe Gravado de la factura Tango .Para cada factura. Código Depósito para el movimiento Existente en Tango . El factura con impuestos importe debe ser expresado en la moneda del comprobante e incluirá todos los impuestos correspondientes. Letra y Número de la factura (según Que no exista en los módulos de legislación vigente) Ventas y Fondos. Existente en Tango . en caso de existir. Fecha Emisión Código Cliente Distinto de blanco. El importe debe ser expresado en la moneda del comprobante.

Es la cantidad de páginas utilizadas por la factura. Para tickets debe ser ' 1 '. No se realizan validaciones. Todos son obligatorios. el importe debe tener aplicado la bonificación y el recargo por transporte e intereses. Debe existir en Tango . Para cada factura se espera que se ingrese cero (si la factura no tiene impuestos aplicados) o más registros con los siguientes datos: Datos Id del comprobante Código de alícuota Validaciones Identificador del comprobante. Importe siempre en moneda corriente. se indican los datos necesarios para el ingreso de los impuestos aplicados a cada factura. Moneda del comprobante Cotización de la moneda extranjera ** Leyenda cotización Importe total de la factura ‘C’ = Corriente o ‘E’ = Extranjera. 'False' : si desea que la factura quede como pendiente de remitir. Tango . Existente en Tango . Mayor o igual a ' 1 '. se realizan validaciones. Importe total en moneda extranjera Cantidad de hojas del comprobante Descarga de stock ** Número del remito 2. No debe existir el número del remito en Tango . Idem anterior. No se realizan validaciones. Debe ser igual a la suma del Importe Exento + Importe Gravado + Importes de Impuestos (estructura 2).comprobante.Apertura Monto total del impuesto en la factura No 40 • Objetos COM Referencia . a menos que se lo indique con ' ** '. Impuestos de la factura A continuación. Opcional para los comprobantes en moneda corriente. Este importe debe ser igual a la suma del Importe Exento + Importe Gravado + Importes de Impuestos (estructura 2). 'True' : si desea registrar el movimiento de stock con la factura. ** Talonario para el remito Se utiliza si se descarga el stock con una factura que no es 'factura-remito'. en caso de existir. y dicho remito tiene asociado un talonario propio.

Todos son obligatorios. Cantidad relacionada con la unidad de medida referenciada. en caso de utilizarse). Debe tener aplicado el descuento del artículo y estar expresado en la moneda del comprobante.V. Para cada factura se espera que se ingrese uno o más registros con los siguientes datos: Datos Id del comprobante Código de artículo ** Descripción artículo Validaciones Identificador del comprobante Existente en Tango . No se realizan validaciones. Renglones de la factura A continuación. 3. se indican los datos necesarios para el ingreso de los artículos existentes en cada factura.Expresado en comprobante. se toma esta descripción para el artículo. Para el sistema Tango Punto de Venta se considerará que el precio contiene impuestos (I. Idem anterior. No debe tener aplicado el descuento del artículo y debe estar expresado en la moneda de la lista de precios. sino se toma la del artículo existente en Tango . a menos que se lo indique con ' ** '. Este importe será considerado con los Objetos COM Referencia • 41 ** Descripción adicional Unidad de Medida Cantidad facturada % Descuento del artículo Precio unitario según lista de precios Precio unitario neto Importe total facturado del artículo Tango .A. e Imp. Internos.Apertura . No se realizan validaciones. Si este campo es distinto a blancos. No se realizan validaciones. Unidades de venta: ‘V’ Unidades de stock: ‘U’ No se realizan validaciones. No se realizan validaciones. Porcentaje de descuento aplicado al artículo No se realizan validaciones. Se considerará que el precio unitario no posee impuestos. Porcentaje de la alícuota la moneda del No se realizan validaciones.

este importe no debería incluir los impuestos. Los datos a ingresar son los siguientes: Datos Id del comprobante Código de cuenta Validaciones Identificador del comprobante Cuenta de Fondos existente en Tango . Se valida que el importe del Haber sea igual a la suma de los importes del Debe. Ingreso de cobranzas contado A continuación. 42 • Objetos COM Referencia Tango . En el caso de facturar a un cliente EXENTO. se espera que ingrese dos o más registros. Para cada factura de venta contado.impuestos incluidos.Apertura . ** Código de Operación Debe o Haber ** Leyenda Monto Para registrar los vueltos que puedan existir de la cobranza de las facturas. ingrese una cuenta del 'Debe' con el importe correspondiente en negativo. En caso de ingresarlo. dónde se imputan los importes de la cobranza. La cuenta debe estar definida como de tipo 'O' Otras. se indican los datos necesarios para el ingreso de la cobranza de cada factura. 'D' o 'H'. Todos son obligatorios. e igual al importe total de la factura. Puede ingresarla como texto aclaratorio del movimiento con la cuenta. 4. realizada al contado. Ingrese un único registro para el Haber y uno o varios para el Debe. Importe imputado a la cuenta en la moneda corriente. No deben existir códigos de cuenta repetidos para un mismo comprobante. a menos que se lo indique con ' ** '. debe existir en Tango .

(d) El código de depósito para la mercadería no existe. se detallan algunos de los motivos de rechazo de la información que se desea ingresar al sistema Tango. Datos Id del comprobante ** Concepto Validaciones Identificador del comprobante No se realizarán validaciones. Texto para la cobranza Para cada factura de venta contado. 6. se indican los datos necesarios para el ingreso de las cuotas de cada factura realizada en cuenta corriente. (b) El número de comprobante de la factura ya fue registrado en el sistema con anterioridad. Motivos de rechazo de la información A continuación.Apertura Objetos COM Referencia • 43 . Tango . Debe estar expresado en la moneda corriente ('C'). (g) El código de vendedor no existe. (a) El número de talonario para la factura no existe en Tango. (e) La condición de venta no existe. Debe ingresar los siguientes datos: Datos Id del comprobante Fecha de vencimiento Monto de la cuota Validaciones Identificador del comprobante Distinto de blanco e igual o superior a la fecha de emisión del comprobante. Por cada factura en cuenta corriente. Distinto de cero y menor o igual al importe total del comprobante. (c) El cliente tiene un código igual a '000000' o no existe. Se validará que la suma de todas las cuotas sea igual al importe total del comprobante. se espera que ingrese uno o más registros. puede ingresar opcionalmente.5. Cuotas de facturas de cuenta corriente A continuación. (f) La lista de precios no existe. un registro con un texto asociado a la cobranza de cada factura.

Apertura . FacRenglones As Variant. Function Make_FacEncabezado(Logon As Logon. DefectosCliente As Boolean) As Boolean Este método permitirá ingresar una o más facturas al contado a Tango. FacImpuestos As Variant. DefectosCliente As Boolean) As Boolean Este método permite ingresar una o más facturas en cuenta corriente. que contiene los siguientes métodos. var Struct As Variant) As Boolean Este método retornará en el parámetro Struct. FacRenglones As Variant. Function Add_FacturaContado(Logon As Logon. (l) Los códigos de cuenta para la imputación de la cobranza contado. FacEncabezado As Variant. (i) El importe total de la factura no coincide con la suma del importe Exento + el importe Gravado + los importes de los impuestos. no existen. (k) Los artículos no existen.(h) El tipo de asiento no existe. “IComprobantes”. Function Add_FacturaCtaCorriente(Logon As Logon. Implementación En XTango_GV se agrega una nueva interfaz para el ingreso de facturas al sistema Tango. FacImpuestos As Variant. FondosRenglones As Variant. Retornará en el parámetro Reporte. FondosEncabezado As Variant. (n) El importe total de la factura de cuenta corriente no coincide con la suma de los importes de las cuotas. (m) El importe total de la factura no coincide con el importe total imputado a la cuenta del Haber de la cobranza. el recordset creado y sin datos del “Encabezado y totales de la factura”. (j) Los códigos de alícuotas que afectan la factura no existen en el sistema. 44 • Objetos COM Referencia Tango . FacCuotas As Variant. Retornará en el parámetro Reporte. el estado de cada factura ingresada. FacEncabezado As Variant. el estado de cada factura ingresada.

el recordset creado y sin datos de los “Ingreso de cobranzas contado”. var Struct As Variant) As Boolean Este método retornará en el parámetro Struct. var Struct As Variant) As Boolean Este método retornará en el parámetro Struct. Function Make_FondosEncabezado(Logon As Logon. var Struct As Variant) As Boolean Este método retornará en el parámetro Struct. el recordset creado y sin datos de los “Impuestos de la factura”. var Struct As Variant) As Boolean Este método retornará en el parámetro Struct. Function Make_FacImpuestos(Logon As Logon. Function Make_FondosRenglones(Logon As Logon. el recordset creado y sin datos de los “Renglones de la factura”. Tango . el recordset creado y sin datos de los “Cuotas de facturas de cuenta corriente”.Apertura Objetos COM Referencia • 45 . Function Make_FacCuotas(Logon As Logon. el recordset creado y sin datos de los “Texto para la cobranza”. var Struct As Variant) As Boolean Este método retornará en el parámetro Struct.Function Make_FacRenglones(Logon As Logon.

Encabezado y Totales de la factura Data Id del comprobante Name ID_Comp Type Integer Integer Char Size 2 13 Precision Código Talonario para Talonario las Facturas Letra y Número de la N_Comp Factura (s/ legislación vigente) Fecha Emisión Código Cliente Código Depósito Fecha_Emision Cod_Cliente Cod_Deposito Date Char Char Integer Integer Char Char Currency 6 2 2 2 2 2 2 11 DecMon Código Condición de Cond_Venta Venta Número Lista de Precio Código Vendedor Código de Transporte Tipo de Asiento N_Lista Cod_Vendedor Tipo_Asiento Cod_Transporte Char Importe Bonificación Bonif_Sin_Imp General de la factura sin impuestos Importe Bonificación Bonif_Con_Imp Currency General de la factura con impuestos Importe de Intereses Imp_Intereses sin impuestos Importe del sin impuestos Flete Imp_Flete Currency Currency Currency Currency Char Decimal Char Currency Currency 11 DecMon 11 11 11 11 1 11 30 11 11 DecMon DecMon DecMon DecMon ‘C’ o ‘E’ DecImp + 2 Importe Exento de la Imp_Exento factura Importe Gravado de la factura Cotización Moneda extranjera ** Leyenda cotización Importe factura Importe 46 • Objetos COM Referencia Imp_Gravado Moneda Comprobante Moneda Cotizacion Cotiz_Leyenda total de la Total_MonCte total en Total_MonExt DecImp DecUni Tango .Estructura de los datos 1.Apertura .

Apertura Objetos COM Referencia • 47 . Adicional Unidad de Medida Cantidad facturada % Descuento del artículo ‘V’ o ‘U’ DecCan 2 DecPre DecPre DecMon Porc_Descuento Decimal Currency Currency Currency Precio unitario según Precio_Lista lista de precios Precio unitario neto Precio_Neto Importe total facturado Total_Renglon del artículo 4. Renglones de la factura Data Name ID_Comp Cod_Articulo Descripcion Descrip_Adi Unidad_Medida Cantidad Type Integer Char Char Char Char Decimal Size 15 30 20 1 9 5 9 9 11 Precision Id del comprobante Código de Artículo ** Descripción del artículo ** Descrip. Impuestos de la factura Data Name ID_Comp Cod_Alicuota Type Integer Integer Currency Decimal Size 2 11 9 Precision Id del comprobante Código de alícuota Monto total del Importe impuesto en la factura Porcentaje Alícuota Porcentaje DecMon 4 3. Ingreso de cobranzas contado Data Name ID_Comp Cod_Cuenta Cod_Operación Type Integer Decimal Char Size 11 2 Precision 0 Id del comprobante Código de cuenta ** Código de Operación Tango .moneda extranjera Cantidad de hojas del Cant_Hojas comprobante Descarga de stock Descarga_Stock Integer Boolean 2 13 2 ** Talonario para el Talonario_Remi Integer remito ** Número del remito N_Remito Char 2.

Nota 2: La precisión en los campos tipo Decimal o Currency depende fundamentalmente. Tango los configura en 2 decimales.Debe o Haber ** Leyenda Monto Debe_Haber Leyenda Importe Char Char Currency 1 30 11 ‘D’ o ‘H’ DecImp 5. detallamos la nomenclatura utilizada para indicar la cantidad de decimales definida en Tango: 48 • Objetos COM Referencia Tango . Por ejemplo: 0 2 -1 35065 36984 30-12-1899 01-01-1900 29-12-1899 01-01-1996 03-04-2001 En Delphi.Apertura . Cuotas de facturas de cuenta corriente Data Name Type ID_Comp Fecha_Vto Importe Integer Date Currency Size Precision Id del comprobante Fecha de vencimiento Monto de la cuota 11 DecImp Nota 1: El tipo de dato Date recibe un double. de como los haya parametrizado en Tango. que representa representa el número de días que han transcurrido desde el 30-12-1899. este tipo de dato se corresponde con el tipo de dato Tdate. Inicialmente. A continuación. y en Visual Basic. Texto para la cobranza Data Name ID_Comp Concepto Type Integer Char Size 30 Precision Id del comprobante ** Concepto 6. con Date.

00 135.35 0. sino DecUni.00 1 True Tango . Definido en la lista de precio utilizada.00 0. Si es ‘C’ toma DecImp.00 0.15 impuestos Importe Intereses sin impuestos Importe Flete sin impuestos Importe Exento de la factura Importe Gravado de la factura Moneda del comprobante Cotización de la moneda extranjera ** Leyenda cotización Importe total de la factura Importe total en moneda extranjera Cantidad de hojas del comprobante Descarga de stock ** Talonario para el remito ** Número del remito 0.Apertura Objetos COM Referencia • 49 . Importes en moneda extranjera. Encabezado y totales de la factura 1 1 ‘A000100000120’ 36984 ‘010001’ ‘2’ 1 1 ‘1’ ‘1’ Id del comprobante Código del Talonario para las facturas Letra y Número de la factura Fecha Emisión Código Cliente Código Depósito Código Condición de Venta Numero de Lista de Precio Código Vendedor Tipo de Asiento Importe Bonificación General de la factura sin 15.DecImp DecUni DecPre DecMon DecCan Importes en moneda corriente.00 impuestos Importe Bonificación General de la factura con 18.0000 'Cotización general' 163.00 ‘C’ 1. Cantidad de artículos. Ejemplo Práctico Información a ingresar de una factura contado 1. Depende de la moneda utilizada en la factura.

50 50 • Objetos COM Referencia Tango .35 21. Para más información ver Nota 1 en Estructura de los datos. en el ejemplo 36984 representa la fecha 03-04-2001. Renglones de la factura 1 ‘0200100013’ Renglón 1: Id del comprobante Código de Artículo ** Descripción artículo ** Descripción adicional Unidad de Medida Cantidad facturada % Descuento del artículo Precio unitario según lista de precios Precio unitario neto Importe total facturado del artículo ‘U’ 10.Apertura .00 12.00 60.El dato ‘Fecha Emisión’ recibe un double.10 10. 2.00 0.00 121.00 60.00 0.50 50. Impuestos de la factura 1 1 28.00 Renglón 2: Id del comprobante Código de Artículo ** Descripción artículo ** Descripción adicional Unidad de Medida Cantidad facturada % Descuento del artículo Precio unitario según lista de precios Precio unitario neto Importe total facturado del artículo 1 ‘0200100124’ 'Servicios adicionales' 'por mantenimiento' ‘U’ 1.0000 Id del comprobante Código de alícuota Monto total del impuesto en la factura Porcentaje de la alícuota 3.

35 Renglón 1: Id del comprobante Código de cuenta ** Código de Operación Debe o Haber ** Leyenda Monto Renglón 2: Id del comprobante Código de cuenta ** Código de Operación Debe o Haber ** Leyenda Monto 1 1 ‘22’ 'D' 'Venta contado-cuenta caja general' (Long: 30) 100.Apertura Objetos COM Referencia • 51 .35 5.4. Ingreso de cobranzas contado 1 20 ‘22’ 'H' 'Venta contado-cuenta contado' (Long: 30) 163. Texto para la cobranza 1 'Registración de cobranza contado' (Long: 30) Id del comprobante ** Concepto Tango .00 Renglón 3: Id del comprobante Código de cuenta ** Código de Operación Debe o Haber ** Leyenda Monto 1 2 ‘22’ 'D' Venta contado-cuenta caja 1' (Long: 30) 63.

.

registra automáticamente todos los objetos COM. ejecute: AP_1.exe [/s] Para desregistrar.Pedidos Tango .Apertura Objetos COM • 53 . Public objTGPed As Com_GV. defina una variable del tipo Com_GV.exe / u y luego. y además.exe /unregserver Uso de Objeto COM_GV El objeto COM_GV expone tres interfaces: • • • Pedidos Facturación TangoLog Primero vamos a ver la interfaz Pedidos. En caso de necesitar realizar la registración manualmente. ejecute: AP_1. AP_1.Pedidos. Para ello.Objetos COM Instalación y registración El instalador de Tango copia todos los componentes necesarios para la apertura.

Usuario y además.inHandleApp = Handle objTGPed. libere el objeto con: Set objTGPed = Nothing Login y Logout a Tango Creada la variable.TgLog.wsNombreEmpresa = “EMPRESA EJEMPLO” objTGPed.TgLog.wsNombreUsuario = "SUPERVISOR" Handle = GetActiveWindow objTGPed.TgLog.TgLog. obtener un handle de la aplicación.Pedidos") Finalizado el programa. ahora usted puede utilizar los distintos métodos y propiedades del objeto. para ello procedemos a loguearnos a Tango con el método TgLog.wsTittleApp = “Esta aplicación DEMO” objTGPed.Apertura . "Falló" End if Le recordamos que la función GetActiveWindow se debe declarar en Visual Basic de la siguiente manera: Public Declare Function GetActiveWindow Lib "user32" () As Long Para salir de Tango utilice el método: objTGPed. se debe crear el Objeto.Login.Logoff 54 • Objetos COM Tango .wsNroLlave = “000001/001” objTGPed. objTGPed.TgLog. Nombre de la empresa. vbOKOnly. "") Then MsgBox ("Felicitaciones se ha logueado!").TgLog.TgLog. Set objTGPed = CreateObject("Com_GV. es necesario darle valores a las propiedades Número de llave. vbCritical + vbOKOnly.TgLog. "Felicitaciones" Else MsgBox ("Ha fallado el logueo!").Login("".Definida la variable.Set_wsPassword (“password”) If objTGPed. Para loguearnos.

Ingreso de Pedidos Declaración de los recordsets Para el ingreso de Pedidos se deben declarar los recordsets de Encabezado. vamos a describir otra manera de realizar el login con más funcionalidad.Hemos visto el uso de esta interfaz de "login simple". Esto se realiza mediante el método: Str_Pedido(rsPedEnc. Dim rsEncabezado As Recordset Dim rsRenglones As Recordset Dim rsResult As Recordset Inicialización de los recordsets Habiéndose declarado los recordsets. rsPedRen) Tango . para trabajar con Tango es necesario inicializar los recordsets de Encabezados y de Renglones.Apertura Objetos COM • 55 . Renglones y Resultado. cuando veamos el objeto XML Listados.

que debe haber un nexo (link) entre el encabezado y los renglones.Realice esta operación una sola vez.AddNew with rsEncabezado !ID_Pedido = "000001" !Talonario = 23 !Fecha_Pedido = Now !Cod_Cliente = “010001” !Condicion_Venta = 2 !Cod_Vendedor = “1” !Cod_Deposito = “1” !Cod_Transporte = “01” !Fecha_Entrega = “20/12/2000” !Porc_Desc_Cli = 3. No debe crear estos recordsets con la sentencia New. Este método devuelve –1 o 0.AddNew with rsRenglones !ID_Pedido = "000001" !Cod_Articulo = “0100100129” 56 • Objetos COM Tango . Esto se realiza con el campo: "ID_Pedido". utilizamos métodos de ADO para trabajar con ellos. La definición de estos recordsets se encuentra en la Referencia. antes de comenzar a ingresar los datos en ellos.00 !Nro_Lista_Precio = 1 !Tipo_Asiento = “1” end with rsRenglones. informando sobre el éxito de la inicialización. rsEncabezado. pero tenga en cuenta cuando los use.Apertura . Agregar Pedidos a Tango Como las variables utilizadas son recordset.

Add_Pedidos(rsPedEnc. rstResult.!Unidad_Medida = “U” !Cant_Pedida = 10 !Cant_A_Facturar = 10 !Descuento = 0 !Precio = 238 !Descripcion = “TELEVISOR 14” !Desc_Adicional = “” end with Los datos ingresados son a modo de ejemplo.Value = True Then MsgBox ("Se ha ingresado con éxito el pedido a Tango" & Chr(10) & Chr(13) & _"Pedido Nro: " & Trim(rstResult. False. False. le dará valores a los distintos campos. False. mediante búsqueda en tablas o ingresos.Fields("Estado_OK"). no se pudo ingresar el pedido" & Chr(13) & Chr(10) & _"Descripción: " & Trim(rstResult.Fields("Nro_Pedido"). False. Tango .Fields("Msg_Error"). Cuando tenga los datos ingresados en los recordsets de Cabecera y Renglones de los Pedidos.Value)) Else MsgBox ("Atención. Su programa seguramente.Value)) End If Else MsgBox ("Problemas durante el ingreso del Pedido") End If En el recordset rstResult se devuelve el resultado del ingreso de los pedidos a Tango. Para cada pedido existe un registro de resultado. False) = 0 then If rstResult.Apertura Objetos COM • 57 . rsPedRen. podrá ingresarlos a Tango con el siguiente método: If objTGPed.

Esto se logra realizando dos pasos: el primero es generar un archivo de parámetros (una sola vez) y el segundo paso.Apertura . estamos incluyendo una manera de loguearse a Tango con más funcionalidad. Nº LISTADO PRESENTA INTERFAZ VISUAL COM MAKE_XML ADORECORDSET RECORDSET/ /XML XML ADO XML_IN XML_IN PARAMETROS DE ENTRADA COM EXECUTE_XML ADORECORDSET RECORDSET/ /XML XML ADO XML_OUT XML_OUT ADORECORDSET RECORDSET/ /XML XML ADO XML_ERROR XML_ERROR SALIDA Primer Paso Tango le brinda la facilidad de generarle los parámetros.XML / XTANGO LISTADOS La apertura a través de XML consiste en que su programa le pida a Tango la generación de un listado en formato XML (recordset). En la interfaz COM. 58 • Objetos COM Tango . de manera que Tango seleccione la información y se la devuelva. es darle a Tango los parámetros obtenidos en el primer paso (por ejemplo: Fecha desde y Fecha hasta). Esta modalidad la vamos a replicar en las distintas interfaces. que le va a devolver en el parámetro xmlIn los parámetros del listado. Esta facilidad se realiza con el método Make_XML. presentándole la pantalla de selección del listado.

LogServerUserEx("000001/001". "password".Dim objLog As Logon Dim strMensError As String Set objLog = CreateObject("hardlockserver. "aplic".DropInterface Set objLog = Nothing Finalmente.Make_XML(objLog. strMensError) Then MsgBox ("EXITO !!") Else MsgBox ("Atención.Listados Set objXML = CreateObject("XTANGO_ST. el segundo parámetro es el número de Tango . "SUPERVISOR".Listados") Set rsMake = CreateObject("ador. "EMPRESA EJEMPLO".logon") If objLog. El primero es el objeto objLog que vimos antes.Save "c:\pase\xmlIn.recordset") If objXML. rsMake) Then MsgBox ("EXITO !!") Else MsgBox ("Atención.Apertura Objetos COM • 59 . 226. no se pudo ingresar !!") End If El objeto Logon tiene más propiedades y métodos que iremos viendo. para que Tango genere el archivo xmlIn es necesario utilizar el método Make_XML de algún ejecutable. Ejemplo para el módulo de Stock: Dim rsMake as Variant Dim objXML as XTANGO_ST.xml". Ahora vamos a continuar con el método para salir de Tango o “desloguearse”. adPersistXML El método Make_XML recibe tres parámetros. no se pudo ingresar !!") End If rsMake. que es DropInterface: objLog.

Fin Mes Anterior. Ayer. y el tercero es un recordset donde Tango devuelve los valores seleccionados por el usuario. con el botón derecho del mouse puede seleccionar los siguientes casos: (a) Si es un período de fechas (desde-hasta): Hoy. (b) Si es una sola fecha: Hoy. de la siguiente manera: Dim rsMake.proceso.Listados Set rsMake = CreateObject("ador. Semana Completa. En los parámetros de tipo Fecha.Apertura . De esta manera. serán reemplazadas por el valor de la fecha correspondiente. ahora su programa debe utilizar el método Execute_XML. Inicio Año. Inicio Semana. Al seleccionar alguna de estas opciones. Inicio Mes. Al ejecutarse Make_XML aparece la pantalla de Tango de selección de parámetros del listado correspondiente. Mes Anterior. rsError As Variant Dim objXML as XTANGO_ST. NOTA: si desea al invocar el método Execute_XML que el rsXMLin asuma en sus parámetros los valores por defecto que ofrecería Tango cuando se ejecuta el proceso desde el menú.recordset") 60 • Objetos COM Tango . Cada vez que se utilicen estas variables. Fin Mes Anterior. modifique en el rsXMLin el campo 'Valor' (sólo en aquellos registros en que desee que esto ocurra). rsOutput. Mes Completo. Ayer. ya se generó el archivo xmlIn con los parámetros necesarios. seteando "*/* valor por defecto */*". en el rsxmlIn queda como variable y no como una constante. para ahora ejecutar Tango y generarse el listado en formato xml. Elija los valores respectivos y Tango se los devolverá en el recordset rsxmlIn. Segundo Paso Teniendo el recordset rsMake (parámetros para el informe).

. adCmdFile Tango .Apertura Objetos COM • 61 . de modo de cambiar cualquiera de sus valores.recordset") Set objXML = CreateObject("XTANGO_ST. rsOutput. rsError) Then MsgBox ("EXITO !!") Else MsgBox ("Atención. no se pudo ingresar !!") End If De esta manera.recordset") Set rsError = CreateObject("ador. se ha generado el recordset rsOutput con los datos del listado solicitado.Open "c:\pase\xmlIn.xml" Set rsOutput = CreateObject("ador. se generará un recordset de error: rsError. 226. las instrucciones para la apertura de un archivo xml y su asignación a un recordset son las siguientes: Set rs = New ADOR. .Open XML.Make_XML.Listados") If objXML. En el caso de producirse algún error durante la ejecución del proceso.‘debe leer los parámetros con objXML. Tenga presente que su aplicación podrá modificar los parámetros del recordset rsMake.". o por ejemplo.Recordset rs. desde un archivo xml ‘rsMake.Execute_XML(objLog. Desde un programa Visual Basic. "Provider=MSPersist. rsMake.

En este ejemplo vamos a dar de alta en el módulo Centralizador una nueva Sucursal. Make_Altas que permite generar los recordsets que necesita el método Execute_Altas. Tiene dos métodos: uno es el Execute_Altas con el que se realiza el alta del registro y el otro. permitiendo dar de alta nuevos registros de los maestros del sistema. que es un maestro muy simple con el que podremos ver el funcionamiento de estas interfaces.Altas Dim strMensError As String Dim rsIn As Variant. Para comenzar definiremos las siguientes variables: Dim objLog As LogOn Dim objAltas As XTango_CT.XTANGO Altas Esta interfaz está presente en todos los módulos de Tango.Apertura . rsStr As Variant 62 • Objetos COM Tango .

Y mostraremos en la página de Excel. i). El número 918 es el identificador del proceso Actualización de Sucursales del módulo Centralizador.MoveFirst While Not rsIn. coderr = objAltas.recordset") Set rsStr = CreateObject("ador. debemos “loguearnos” a nuestro sistema Tango.Fields(i .Altas") Set rsIn = CreateObject("ador. i As Integer. "supervisor".recordset") En estos momentos vamos a utilizar el método Make_Altas para generar el recordset que nos defina la “plantilla” a llenar con el registro a incorporar.Cells(3.Value Next i i= 5 rsIn.Make_Altas(objLog.1). "Empresa Ejemplo".Name Worksheets("Altas").recordset") Set rsResult = CreateObject("ador. rsIn. El segundo recordset rsStr para este ejemplo no se lo utiliza. Set objAltas = CreateObject("XTango_CT. "aplic". j As Integer Luego de definidas estas variables.LogServerUserEx("000001/001". i).Fields. de la misma manera que lo hemos realizado en los ejemplos anteriores.Value = rsIn. strMensError) Then "".EOF Tango .Value = rsIn.logon") If objLog.Count Worksheets("Altas").Dim rsResult As Variant Dim OK As Boolean Dim coderr As Integer. rsStr) If coderr = 0 Then i= 2 For i = 1 To rsIn.Fields(i . 918. Ahora procedemos a crear el objeto objAltas y los diferentes recordsets necesarios para este ejemplo.Cells(4.Apertura Objetos COM • 63 . el contenido del recordset rsIn. Set objLog = CreateObject("hardlockserver.1).

Fields("Valor").Fields.Value) Sucursal" Then rsIn.MoveNext Wend El recordset rsIn para el caso de Actualización de Sucursales del Centralizador. en cada registro están todos los valores para definir un campo. tenemos las siguientes instrucciones: 64 • Objetos COM Tango .Fields(j . En este ejemplo agregaremos el código de sucursal 94.1).Count Worksheets("Altas"). B es Diskettera B y C es Disco.Fields("Descripcion"). Para ver cómo queda el recordset.Update End If i=i+1 rsIn. que ya lo hemos hecho en las instrucciones anteriores.Value Next j If Trim(rsIn.Fields("Valor").Value = "Flores Centro" donde A es Diskettera A.Update End If If Trim(rsIn.Value = "94" rsIn.Value = rsIn. j).Value) Sucursal" Then rsIn.Apertura . Como podrán observar. tiene los siguientes campos y valores: O_Pantalla ID_ Campo 01_01 01_01 01_01 01_01 1 2 3 4 Número de Sucursal Nombre de Sucursal Origen de las Importaciones Directorio N C C C 3Z 30X U 40U 94 Flores Centro A A|B|C Descripción Tipo Máscara Valor Opción = "Número de = "Nombre de rsIn.For j = 1 To rsIn.Cells(i. con descripción “Flores Centro”.Fields("Descripcion").

MoveNext Wend Ahora que ya tenemos los datos ingresados en el recordset rsIn.Apertura Objetos COM • 65 .MoveNext Wend End If Else MsgBox ("Error en el make " & coderr) End If Tango . rsStr.Fields(j 1).Fields(j 1). de la siguiente manera: coderr = objAltas.Cells(i. j).1).Value Next j i=i+1 rsIn.Fields. rsResult) If coderr <> 0 Then MsgBox ("Error en el execute " & coderr) i= i+1 For j = 1 To rsResult.i= i+1 rsIn.Value = rsResult. j). 918.Value = rsResult.Fields.Fields(j .Count Worksheets("Altas").Cells(i. j).Cells(i + 1.MoveFirst While Not rsIn.Fields(j 1).Count Worksheets("Altas").Value Next j i=i+1 rsResult.Cells(i.Count Worksheets("Altas").Execute_Altas(objLog.EOF For j = 1 To rsIn.EOF For j = 1 To rsResult.Value Next j i= i+1 While Not rsResult. se lo enviamos a Tango a través del método Execute_Altas.Value = rsIn.Fields. j). rsIn.Value = rsResult.Name Worksheets("Altas").

Apertura .Si en la operación del Execute_Altas hubo algún error. debemos liberar las variables de la siguiente manera: Set objAltas = Nothing Set rsIn = Nothing Set rsStr = Nothing Set rsResult = Nothing Finalmente. debemos salir de Tango. “deslogueándonos” y liberando la memoria del objeto objLog: objLog. Realizado el ingreso de la nueva sucursal. la descripción de este error va a estar en el recordset rsResult.DropInterface Set objLog = Nothing 66 • Objetos COM Tango .

Tango . de esta manera. Cada una de estas interfaces tiene dos métodos.Apertura Objetos COM • 67 . es posible ejecutar desde otro programa. La clase Exportación tiene los métodos Execute_Exportacion y Make_Exportacion. Make. los procesos de exportación o de importación. La clase Importación tiene los métodos Execute_Importacion y Make_Importacion. con el que se realiza la importación / exportación y el otro método.XTANGO Exportación / Importación Estas interfaces están presentes en los módulos de Tango que tengan procesos de exportación y/o de importación y. que permite generar los recordsets que necesita el método Execute. Execute. uno.

"Empresa Ejemplo". strMensError) Then Ahora.logon") If objLog. "aplic". rsFile As Variant Dim rsResult As Variant Dim OK As Boolean Dim coderr As Integer. Creada esta plantilla. i As Integer.recordset") El método Make_Exportacion genera una plantilla de parámetros de manera similar al Make_XML de Listados. "". Lo vamos a realizar en Microsoft Excel y visualizaremos los contenidos de los distintos recordsets en una planilla.LogServerUserEx("000001/001". la utilizaremos en el método Execute_Exportacion. con el que podremos ver el funcionamiento de las interfaces Make y Execute.Exportacion") Set rsIn = CreateObject("ador. En el caso de Importaciones.Apertura . 68 • Objetos COM Tango .recordset") Set rsResult = CreateObject("ador. j As Integer Luego de definidas estas variables.Exportacion Dim strMensError As String Dim rsIn As Variant. Set objLog = CreateObject("hardlockserver. "supervisor". debemos “loguearnos” a nuestro sistema Tango. de la misma manera que lo hemos realizado en los ejemplos anteriores. procedemos a crear el objeto Exportaciones objExport y los diferentes recordsets necesarios para este ejemplo: Set objExport = CreateObject("XTango_GV. Para comenzar. el funcionamiento es análogo. definiremos las siguientes variables: Dim objLog As LogOn Dim objExport As XTango_GV.En este ejemplo vamos a generar una exportación a Contabilidad desde el módulo de Ventas.

rsIn.Fields(j . 72.1).Make_Exportacion(objLog.Fields.Count Worksheets("Exportaciones"). pero no necesaria para el programa que usted está desarrollando.Fields(j 1).Apertura Objetos COM • 69 . rsResult) Si en la operación del Execute_Exportacion hubo algún error. Usted también puede realizar la definición del recordset con funciones de ADO.Value = rsResult.EOF For j = 1 To rsIn. Ahora vamos a ejecutar la Execute_Exportacion: exportación mediante el método coderr = objExport. rsFile.Fields.MoveNext Wend La facilidad que brinda Tango para la generación de los recordset. j).Cells(i + 1.Cells(i.Fields(j .En el código siguiente mostramos los valores del recordset rsIn devuelto por Make_Exportacion en una planilla Excel: coderr = objExport. 72. If coderr <> 3 Then i= i+1 For j = 1 To rsResult. la descripción de este error va a estar en el recordset rsResult.Value Next j i= i+1 rsIn. j).Value Next j Tango .Value = rsResult.Execute_Exportacion(objLog. es recomendable para el programador.Name Worksheets("Exportaciones").Value = rsIn.Count Worksheets("Exportaciones").1). j). rsReport.MoveFirst While Not rsIn.Cells(i. rsIn) i=5 rsIn.

MoveNext Wend Else MsgBox ("Exportación satisfactoria") End If Realizada la exportación.Value Next j i=i+1 rsResult.Count Worksheets("Exportaciones").EOF For j = 1 To rsResult.Value = rsResult. j). objLog. debemos salir de Tango.1).Cells(i. “deslogueándonos” y liberando la memoria del objeto objLog. debemos liberar los objetos creados. Set objExport = Nothing Set rsIn = Nothing Set rsResult = Nothing Set rsReport = Nothing Set rsFile = Nothing Finalmente.i= i+1 While Not rsResult.Apertura .DropInterface Set objLog = Nothing 70 • Objetos COM Tango .Fields.Fields(j .

Comprobantes Dim strMensError As String Dim rsMake As Variant Dim rsResult As Recordset Tango . definimos las siguientes variables: Dim objLog As LogOn Dim objComprob As XTango_GV. nos permitirá ingresar una factura en cuenta corriente con un único pago o cuota. Para comenzar.XTANGO Comprobantes El ejemplo de implementación que describimos.Apertura Objetos COM • 71 .

Habiéndonos “logueado”.LogServerUserEx("000001/001". de la misma manera que lo hemos realizado en el ejemplo de XML. En este ejemplo vamos a ingresar una factura con dos renglones de artículos.Make_FacImpuestos(objLog. les mostramos como realizarlos a través de XTANGO: OK=objComprob. Set objComprob = CreateObject("XTango_GV. FacRenglones) OK=OK Or objComprob. FacCuotas As Variant Dim OK As Boolean Luego de definidas estas variables. los debemos completar con los datos de la factura. debemos inicializar los recordsets dándole la estructura requerida.recordset") Para el caso de facturas al Contado. strMensError) Then "".recordset") Set rsResult = CreateObject("ador.Apertura . FacImpuestos) OK=OK Or objComprob. "Empresa Ejemplo". FacImpuestos. "supervisor".logon") If objLog.Make_FacCuotas(objLog.Make_FacEncabezado(objLog. Set objLog = CreateObject("hardlockserver.recordset") Set FacImpuestos = CreateObject("ador.Comprobantes") Set FacEncabezado = CreateObject("ador. 72 • Objetos COM Tango . debemos “loguearnos” a nuestro sistema Tango.Make_FacRenglones(objLog.Dim FacEncabezado. "aplic". esto se puede realizar mediante los métodos de la interfaz de Comprobantes o mediante métodos de ADO. FacCuotas) Luego de inicializar los recordsets.FacEncabezado) OK=OK Or objComprob.recordset") Set FacRenglones = CreateObject("ador. A continuación. debemos crear el objeto comprobante objComprob y los diferentes recordsets que luego completaremos con información de la factura a ingresar.recordset") Set FacCuotas = CreateObject("ador. FacRenglones.

35 !Total_MonExt = 0 !Cant_Hojas = 1 !Descarga_Stock = False End With FacEncabezado. para identificar a qué encabezado corresponden los renglones.Update A continuación. impuestos y cuotas.AddNew With FacRenglones Tango . FacRenglones. existe el campo ID_Comp que realiza la función de nexo (link).Apertura Objetos COM • 73 . completamos los datos de los renglones de la factura (que en este caso.15 !Imp_Intereses = 0 !Imp_Flete = 0 !Imp_Exento = 0 !Imp_Gravado = 135 !Moneda = "C" !Cotizacion = 1 !Total_MonCte = 163. son dos). FacEncabezado.Es posible ingresar más de una factura por vez y.AddNew With FacEncabezado !ID_Comp = 1 !Talonario = 1 !N_Comp = "A000200000021" !Fecha_Emision = Now !Cod_Cliente = "010001" !Cod_Deposito = "1" !Cond_Venta = 2 !N_Lista = 1 !Cod_Vendedor = "1" !Cod_Transporte = "01" !Tipo_Asiento = " 1" !Bonif_Sin_Imp = 15 !Bonif_Con_Imp = 18.

Update 74 • Objetos COM Tango .Update FacRenglones.5 End With FacRenglones.AddNew With FacImpuestos !ID_Comp = 1 !Cod_Alicuota = 1 !Importe = 28.35 !Porcentaje = 21 End With FacImpuestos.Apertura . completamos el recordset de impuestos.5 !Precio_Neto = 50 !Total_Renglon = 60.AddNew With FacRenglones !ID_Comp = 1 !Cod_Articulo = "010030002MA" !Unidad_Medida = "U" !Cantidad = 10 !Porc_Descuento = 0 !Precio_Lista = 60.1 !Precio_Neto = 10 !Total_Renglon = 121 End With FacRenglones. FacImpuestos.!ID_Comp = 1 !Cod_Articulo = "010030002NG" !Unidad_Medida = "U" !Cantidad = 10 !Porc_Descuento = 0 !Precio_Lista = 12.Update Luego de completar la información de los renglones.

MoveFirst While Not rsResult. con el recordset rsResult donde XTANGO nos va a devolver el resultado del ingreso de cada factura en cada registro.Y terminamos.Value = True Then MsgBox ("Se ha ingresado con éxito la factura a Tango") Else MsgBox("Atención.AddNew With FacCuotas !ID_Comp = 1 !Fecha_Vto = Now !Importe = 163. no se pudo ingresar el pedido descripción: " & rsResult.MoveNext Wend Else MsgBox ("No se ingresó") End If Ahora.Apertura Objetos COM • 75 .35 End With FacCuotas. If objComprob.EOF If rsResult. rsResult) Then rsResult. True.Update Completada toda la información. FacCuotas.FacEncabezado. FacRenglones. FacCuotas. FacImpuestos. ahora debemos utilizar el método Add_FacturaCtaCorriente con los recordset ya vistos y además.Fields("ErrMsg").Value) End If rsResult.Add_FacturaCtaCorriente(objLog.Fields("Estado"). completando el recordset de cuotas. Set FacEncabezado = Nothing Set FacRenglones = Nothing Set FacImpuestos = Nothing Set FacCuotas = Nothing Set rsOutput = Nothing Tango . debemos liberar los recordsets y el objeto Comprobantes.

Set objComprob = Nothing Finalmente. debemos “desloguearnos” y liberar el objeto objLog. objLog.Apertura .DropInterface Set objLog = Nothing 76 • Objetos COM Tango .

Apertura Procesos • 77 . el número que identifica a cada proceso.Procesos Identificadores de Procesos A continuación. Tenga en cuenta las siguientes referencias: Módulo Ventas Stock Compras Proveedores Fondos Cash Flow Sueldos Control de Horarios Centralizador Contabilidad Estados Contables I. indicamos en cada uno de los módulos.V.A. e Ingresos Brutos Compras con Importaciones Ventas para Punto de Venta Stock para Punto de Venta Sigla GV ST CO CP SB CF SU RE CT CN BC IV IM VC SX Tango .

Listados Proceso Cuentas Asignadas a un Reporte Cuentas Asignadas a una Fila .Apertura .Columna Listado de Cuentas Análisis de Gestión Análisis Comparativo Diario del Lote (Ejercicio Actual) Diario del Lote (Ejercicio Anterior) Diario (Ejercicio Actual) Diario (Ejercicio Anterior) Mayor (Ejercicio Actual) Mayor (Ejercicio Anterior) Plan de Cuentas (Ejercicio Actual) Plan de Cuentas (Ejercicio Anterior) Sumas del Lote (Ejercicio Actual) Sumas del Lote (Ejercicio Anterior) Movimientos por Agrupaciones (Ejercicio Actual) Movimientos por Agrupaciones (Ejercicio Anterior) Balances (Ejercicio Actual) Balances (Ejercicio Anterior) Listado de Movimientos por Cuenta Cotizable (Ejercicio Actual) Listado de Movimientos por Cuenta Cotizable (Ejercicio Anterior) Saldos sin Arrastre (Ejercicio Actual) Saldos sin Arrastre (Ejercicio Anterior) Saldos Bimonetarios (Ejercicio Actual) Saldos Bimonetarios (Ejercicio Anterior) Movimientos por Cuenta (Ejercicio Actual) Movimientos por Cuenta (Ejercicio Anterior) Movimientos por Centro de Costo (Ejercicio Actual) Movimientos por Centro de Costo (Ejercicio Anterior) Análisis de Apropiaciones (Ejercicio Actual) 78 • Procesos Id_Proceso 1124 1123 1121 615 616 665 723 667 725 668 726 680 738 666 724 671 729 669 727 672 730 673 731 674 732 676 734 677 735 678 Módulo BC BC BC CF CF CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN Tango .

Detalle Contable (Ejercicio Anterior) Centros de Costo (Ejercicio Actual) Centros de Costo (Ejercicio Anterior) Reglas de Apropiación (Ejercicio Actual) Reglas de Apropiación (Ejercicio Anterior) Agrupaciones (Ejercicio Actual) Agrupaciones (Ejercicio Anterior) Tipos de Cotización (Ejercicio Actual) Tipos de Cotización (Ejercicio Anterior) Asientos Modelo (Ejercicio Actual) Asientos Modelo (Ejercicio Anterior) Ordenes de Pago Generadas Remitos Anulados Devoluciones de Remitos Remitos por Proveedor Ranking de Compras por Concepto Ordenes de Compra No Autorizadas Ordenes de Compra No Emitidas Ordenes de Compra Anuladas Ordenes de Compra Emitidas Ordenes de Compra Pendientes por Fecha de Entrega Ordenes de Compra Pendientes por Artículo Ranking de Compras por Proveedor / Artículo Ranking de Compras por Artículo / Proveedor Listado por Imputación Contable Información para S.Análisis de Apropiaciones (Ejercicio Anterior) Pendientes de Apropiación (Ejercicio Actual) Pendientes de Apropiación (Ejercicio Anterior) Análisis Multidimensional .I.IVA Listado de Retenciones Nómina de Proveedores Resumen de Cuentas Composición de Saldos Deudas Vencidas y a Vencer Tango .Detalle Contable (Ejercicio Actual) Análisis Multidimensional .Apertura 736 679 737 1019 1023 623 687 624 688 625 689 626 690 627 691 397 387 386 384 376 361 362 363 357 359 360 378 379 390 1345 401 410 392 393 395 CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO Procesos • 79 . .Ap.

Vencimiento de Documentos Subdiario I.V.A. Compras Impuestos Varios Comprobantes Ingresados Listado de Saldos Comprobantes Pendientes de Imputación Comparativo de Precios por Artículo Listas de Precios por Proveedor Resumen de Compras por Sector Resumen de Compras por Condición de Compra Resumen de Compras por Proveedor Resumen de Compras por Artículo Resumen de Compras por Concepto Detalle de Comprobantes por Proveedor Facturas Pendientes de Remito Remitos Pendientes de Factura Ranking de Compras por Proveedor Ranking de Compras por Artículo Cumplimiento de Ordenes de Compra Subdiario de Compras Análisis Multidimensional Comprobantes Compradores Sectores Provincias Alícuotas Conceptos de Compra Tipos de Gasto Condiciones de Compra Listas de Precio por Proveedor Listas de Precio Individual Códigos de Retención de I.V.A. Códigos de Retención de Ingresos Brutos Textos de Ordenes de Compra Agrupación de Proveedores Tipos de Comprobante
80 • Procesos

400 366 367 380 396 394 404 403 372 373 371 369 370 381 382 385 377 375 364 389 Detalle de 412 413 262 263 164 165 266 1351 267 269 271 275 276 277 284 285

CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO

Análisis Multidimensional - Detalle Contable

Tango - Apertura

Talonarios Tipos de Asiento Ordenes de Pago Generadas Listado por Imputación Contable Información para S.I.Ap. - IVA Listado de Retenciones Nómina de Proveedores Resumen de Cuentas Composición de Saldos Deudas Vencidas y a Vencer Vencimiento de Documentos Subdiario I.V.A. Compras Impuestos Varios Comprobantes Ingresados Listado de Saldos Comprobantes Pendientes de Imputación Resumen de Compras por Sector Resumen de Compras por Condición de Compra Resumen de Compras por Proveedor Ranking de Compras por Proveedor Subdiario de Compras Sectores Provincias Alícuotas Tipos de Gasto Condiciones de Compra Códigos de Retención de I.V.A. Códigos de Retención de Ingresos Brutos Agrupación de Proveedores Tipos de Comprobante Tipos de Asiento Impuestos Registrados Consolidados Subdiario de I.V.A. Ventas Consolidado Comprobantes Emitidos por Sucursal Resumen de Ventas Consolidado por Provincia Informe de Auditoría de Fondos
Tango - Apertura

286 287 492 485 1346 496 502 487 488 490 495 475 476 482 491 489 479 480 478 481 484 418 419 420 1358 421 424 425 431 432 433 959 958 967 965 955

CO CO CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CP CT CT CT CT CT

Procesos • 81

Transferencias Pendientes de Registrar Auditoría de Importaciones Resumen de Ventas Condición de Venta Consolidado por

954 931 966 962 963 961 968 987 972 970 979 974 975 976 971 978 986 por 984 983 985 982 981 973 918 97 95 96 124 121 123 126 125 128 129

CT CT CT CT CT CT CT CT CT CT CT CT CT CT CT CT CT CT CT CT CT CT CT CT GV GV GV GV GV GV GV GV GV GV

Ranking de Ventas por Sucursal Ranking de Ventas Consolidado por Cliente Ranking de Ventas Consolidado por Artículo Saldos Consolidados de Clientes Saldos Consolidados de Proveedores Planilla de Stock Saldos Consolidados por Artículo Impuestos Varios Consolidados Valorización de Existencias Consolidadas Costo de Ventas Consolidado Rentabilidad Bruta Consolidada Saldos por Sucursal Subdiario de I.V.A. Compras Consolidado Comprobantes Ingresados por Sucursal Ranking de Proveedor Compras Consolidado

Ranking de Compras por Sucursal Resumen Consolidado por Condición de Compra Ranking de Concepto Ranking Artículo Sucursales Pedidos Pendientes por Fecha Pedidos Pendientes por Cliente Pedidos Pendientes por Artículo Remitos Pendientes de Facturar Facturas Pendientes de Emitir Remitos por Cliente Remitos Anulados Devoluciones de Remitos Subdiario de Ventas Listado por Imputación Contable
82 • Procesos

Compras Compras

Consolidado Consolidado

por por

de

Movimientos de Stock Consolidado

Tango - Apertura

Detalle Contable Tango .Ap. Ventas Etiquetas de Clientes Nómina de Clientes Listas de Precios Comprobantes Emitidos Impuestos Registrados Detalle de Comprobantes de Facturación Ranking de Ventas por Cliente Ranking de Artículos Facturados Ranking de Ventas por Artículo / Cliente Ranking de Ventas por Cliente / Artículo Ventas por Provincia Ventas por Vendedor Ventas por Zona Ventas por Provincia / Actividad Ventas por Condición de Venta Ventas por Depósito Comisión Individual por Vendedor Porcentaje 100 150 149 143 115 101 116 111 112 114 113 104 105 106 108 109 107 118 119 120 139 138 131 132 134 135 140 133 136 137 98 103 1344 Detalle de 152 153 GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV Comisión por Vendedor .Apertura Procesos • 83 . .IVA Análisis Multidimensional Comprobantes Análisis Multidimensional .A.I.Porcentaje por Artículo Comisión por Vendedor por Zona Ranking de Deudas Análisis de Riesgo Crediticio Resumen de Cuentas Composición de Saldos Deudas Vencidas Cobranzas a Realizar Vencimiento de Documentos Comprobantes Pendientes de Imputación Listado de Saldos Recibos Emitidos Seguimiento de Pedidos Resumen de Ventas por Cliente Informe para S.Subdiario de I.V.

IVA Resumen de Compras por Tipo de Gasto Seguimiento de Embarques Vencimientos para Mercadería en Puerto Despachos por Proveedor Despachos Anulados Gastos de Importación Asignados a Carpetas Gastos 84 • Procesos 1348 1007 5 6 7 8 9 1347 10 11 23 24 25 26 27 1315 1288 1287 1285 1277 1261 1262 1263 1257 1259 1260 1279 1280 1291 1355 1274 1301 1302 1304 1305 1307 1308 Distribuidos en GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM de Importación Tango .Listado de Retenciones Grupos Empresarios Vendedores Transportes Provincias Zonas Alícuotas Códigos de Retención Actividades Condiciones de Venta Agrupaciones de Clientes Tipos de Comprobante Talonarios Tipos de Asiento Perfiles de Facturación Ordenes de Pago Generadas Remitos Anulados Devoluciones de Remitos Remitos por Proveedor Ranking de Compras por Concepto Ordenes de Compra No Autorizadas Ordenes de Compra No Emitidas Ordenes de Compra Anuladas Ordenes de Compra Emitidas Ordenes de Compra Pendientes por Fecha de Entrega Ordenes de Compra Pendientes por Artículo Ranking de Compras por Proveedor / Artículo Ranking de Compras por Artículo / Proveedor Listado por Imputación Contable Información para S. .I.Ap.Apertura .

A.Partidas Carpetas de Importación Pendientes Carpetas de Importación por Proveedor Seguimiento de Carpetas de Importación Comprobantes Asociados a Carpetas Comprobantes Pendientes de Asociar Carpetas de Importación Anuladas Listado de Retenciones Nómina de Proveedores Resumen de Cuentas Composición de Saldos Deudas Vencidas y a Vencer Vencimiento de Documentos Subdiario de I.V. Compras Impuestos Varios Comprobantes Ingresados Listado de Saldos Comprobantes Pendientes de Imputación Comparativo de Precios por Artículo Listas de Precios por Proveedor Resumen de Compras por Sector Resumen de Compras por Condición de Compra Resumen de Compras por Proveedor Resumen de Compras por Artículo Resumen de Compras por Concepto Detalle de Comprobantes por Proveedor Facturas Pendientes de Remito Remitos Pendientes de Factura Ranking de Compras por Proveedor Ranking de Compras por Artículo Cumplimiento de Ordenes de Compra Subdiario de Compras Análisis Multidimensional Comprobantes Compradores Sectores Tango .Apertura 1294 1295 1296 1297 1298 1299 1319 1328 1310 1311 1313 1318 1266 1267 1281 1314 1312 1322 1321 1272 1273 1271 1269 1270 1282 1283 1286 1278 1276 1264 1290 de 1330 1331 1131 1132 IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM IM - Detalle Análisis Multidimensional .Detalle Contable Procesos • 85 .

Importe a Depositar para Ingresos Brutos Ajuste de Base Imponible Coeficiente Unificado Actividades Alícuotas para Ingresos Brutos Provincias Tipos de Comprobante para Ingresos Brutos Fichadas Registradas Legajos Partes Diarios Resumen de Anormalidades y Ausencias Fichadas de Horarios Flexibles 86 • Procesos 1133 1134 1135 1136 1137 1139 1141 1145 1146 1147 1153 1154 1155 1156 1090 1087 1089 1088 1339 1033 1034 1035 1037 1038 1039 1042 1043 1044 1045 1046 1047 1041 906 908 892 899 909 IM IM IM IM IM IM IM IM IM IM IM IM IM IM IV IV IV IV IV IV IV IV IV IV IV IV IV IV IV IV IV IV RE RE RE RE RE Tango .V.Apertura .V. Saldos Artículo 20 Alícuotas de I.A.Provincias Alícuotas Conceptos de Compra Tipos de Gasto Condiciones de Compra Listas de Precio por Proveedor Listas de Precio Individual Códigos de Retención de I. Códigos de Retención de Ingresos Brutos Textos de Ordenes de Compra Agrupación de Proveedores Tipos de Comprobante Talonarios Tipos de Asiento Neto Gravado para Ingresos Brutos Subdiarios Apropiaciones por Centros de Costo Movimientos por Cuenta Contable Retenciones y Percepciones Clientes Proveedores Tipos de Comprobante Importes a Depositar para I.V.A.A.

Real Cumple lo Esperado Listado de Presentismo Previsión de Anormalidades Auditoría de Fichadas Auditoría de Depuración Auditoría de Novedades Especiales Fichadas por Legajo Ocurrencia de Anormalidades por Causa Horas No Trabajadas por Causa Legajos Departamentos Centros de Costo Convenios Conceptos de Justificación Feriados Horarios Fijos Horarios Rotativos Grupos de Integración con Sueldos Saldos de Cuentas Detalle de Comprobantes Movimientos por Código de Operación Comprobantes Ingresados Acreditación de Cheques Propios Depósito de Cheques de Terceros Proyección de Saldos Ingresos y Egresos Subdiario por Cuenta Saldos por Agrupación Mayor Cheques Propios Cheques de Terceros 900 903 896 902 901 893 894 890 897 913 914 915 907 904 905 862 864 865 866 867 868 869 870 872 561 579 567 578 572 573 575 562 565 563 566 570 571 RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE SB SB SB SB SB SB SB SB SB SB SB SB SB Tango .Apertura Procesos • 87 .Resumen Comparativo Ocurrencia de Ausencias por Causa Previsión de Ausencias Diarias Resumen de Horas para Jornalizados Resumen de Horas para Mensualizados Partes Diarios .Real No Cumple lo Esperado Partes Diarios .

Apertura .Detalle Contable Tango .Movimientos Conciliados Auditoría de Comprobantes Ingresados Auditoría de Comprobantes Revertidos Auditoría de Cierres Realizados Mayor para Auditoría Valores Emitidos vs. Valores en Cartera Auditoría de Numeración de Comprobantes Subdiario de Fondos Listado por Imputación Contable Listador de Cupones Proyección de Acreditaciones de Cupones Cheques Diferidos Pendientes de Transferir Análisis Multidimensional Comprobantes Cuentas Tipos de Comprobante Agrupaciones Códigos de Operación Códigos de Tarjetas Bancos Feriados Chequeras Pendientes de Registrar Producción Máxima Control de Insumos Costo Standard Hoja de Costos Insumos Sumarizados Movimientos Históricos Números de Serie Activos Movimientos de Series Saldos de Partidas Movimientos de Partidas Artículos por Proveedor Proveedores por Artículo Movimientos de Stock Catálogo de Artículos 88 • Procesos 568 585 586 588 587 576 589 595 596 583 582 574 de 598 599 509 510 511 512 513 514 515 516 517 253 254 255 256 252 228 248 249 243 244 224 225 221 226 SB SB SB SB SB SB SB SB SB SB SB SB SB SB SB SB SB SB SB SB SB SB SB ST ST ST ST ST ST ST ST ST ST ST ST ST ST - Detalle Análisis Multidimensional .

Apertura 231 230 233 234 232 222 235 238 239 223 241 240 257 246 245 1350 158 160 164 163 165 157 173 174 175 845 847 848 855 853 854 856 Detalle de 1025 1026 850 743 744 ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST SU SU SU SU SU SU SU SU SU SU SU SU Análisis Multidimensional .Stock por Depósito Stock por Artículo Stock Hasta Fecha Stock por Agrupación Comparativo por Depósito Stock Faltante Stock Proyectado Valorización de Existencias Stock Mínimo / Máximo / Punto de Pedido Listado de Precios para Costo Rentabilidad Bruta Costo de Ventas Costo de Armado Costo de Ventas por Costo de Partidas Saldos Valorizados por Costo de Partidas Costos por Partida Depósitos Componentes de Costos Artículos con Escalas Escalas Precios para Costos Artículos Agrupaciones de Artículos Tipos de Comprobante Talonarios Listador de Conceptos y Totales Listado de Novedades Planilla de Novedades Listado Comparativo Empleados Activos.Detalle Contable Procesos • 89 . Altas y Bajas Antigüedad de Empleados Incidencia de Remuneraciones Análisis Multidimensional Liquidaciones Pago Automático de Haberes Legajos Familiares Tango .

Cantidad de Familiares Variables Auxiliares Feriados Bancos Billetes Códigos Contables Códigos de Novedades Lugares de Explotación Modalidades de Contratación Sindicatos Obras Sociales Planes de Obras Sociales Categorías Grupos Jerárquicos Centros de Costo Conceptos y Fórmulas Producción Máxima Control de Insumos Costo Standard Hoja de Costos Insumos Sumarizados Movimientos Históricos Artículos por Proveedor Proveedores por Artículo Movimientos de Stock Catálogo de Artículos Stock por Depósito Stock por Artículo Stock Hasta Fecha Stock por Agrupación Comparativo por Depósito Stock Faltante Valorización de Existencias Stock Mínimo / Máximo / Punto de Pedido Listado de Precios para Costo Rentabilidad Bruta Costo de Ventas 746 751 784 783 782 781 780 774 1340 771 769 770 765 766 767 754 1627 1628 1629 1630 1626 1602 1598 1599 1595 1600 1605 1604 1607 1608 1606 1596 1612 1613 1597 1615 1614 SU SU SU SU SU SU SU SU SU SU SU SU SU SU SU SU SX SX SX SX SX SX SX SX SX SX SX SX SX SX SX SX SX SX SX SX SX 90 • Procesos Tango .Apertura .

Costo de Armado Depósitos Componentes de Costos Artículos con Escalas Escalas Precios para Costos Artículos Agrupaciones de Artículos Tipos de Comprobante Talonarios Remitos Pendientes de Facturar Facturas Pendientes de Emitir Remitos por Cliente Remitos Anulados Devoluciones de Remitos Subdiario de Ventas Listado por Imputación Contable Subdiario de I.V.Porcentaje por Artículo Tango . Ventas Etiquetas de Clientes Nómina de Clientes Listas de Precios Comprobantes Emitidos Impuestos Registrados Detalle de Comprobantes de Facturación Ranking de Ventas por Cliente Ranking de Artículos Facturados Ranking de Ventas por Artículo / Cliente Ranking de Ventas por Cliente / Artículo Ventas por Provincia Ventas por Vendedor Ventas por Zona Ventas por Provincia / Actividad Ventas por Condición de Venta Ventas por Depósito Comisión Individual por Vendedor Porcentaje 1631 1532 1534 1538 1537 1539 1531 1547 1548 1549 1483 1480 1482 1485 1484 1487 1488 1459 1509 1508 1502 1474 1460 1475 1470 1471 1473 1472 1463 1464 1465 1467 1468 1466 1477 1478 SX SX SX SX SX SX SX SX SX SX VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC Comisión por Vendedor .Apertura Procesos • 91 .A.

Ap.Apertura .I.Comisión por Vendedor por Zona Ranking de Deudas Análisis de Riesgo Crediticio Resumen de Cuentas Composición de Saldos Deudas Vencidas Cobranzas a Realizar Vencimiento de Documentos Comprobantes Pendientes de Imputación Listado de Saldos Recibos Emitidos Resumen de Ventas por Cliente Informe para S.Detalle Contable Altas Proceso Reglas de Apropiación .Ejercicio Anterior Proveedores Talonarios 92 • Procesos Id_Proceso 624 688 261 286 Módulo CN CN CO CO Tango . .Ejercicio Actual Reglas de Apropiación .IVA Análisis Multidimensional Comprobantes Listado de Retenciones Grupos Empresarios Vendedores Provincias Zonas Alícuotas Códigos de Retención Actividades Condiciones de Venta Agrupaciones de Clientes Tipos de Comprobante Talonarios Tipos de Asiento Perfiles de Facturación Detalle de 1479 1498 1497 1490 1491 1493 1494 1499 1492 1495 1496 1462 1525 1511 1512 1526 1520 1634 1366 1367 1368 1524 1369 1370 1382 1383 1384 1385 1386 VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC VC Análisis Multidimensional .

Apertura Id_Proceso 1114 641 656 714 337 350 351 353 354 Módulo BC CN CN CN CO CO CO CO CO Procesos • 93 .Proveedores Talonarios Clientes Actualización Individual de Precios Proveedores Talonarios Legajos Cuentas Artículos con Escalas Escalas Artículos Talonarios Legajos Familiares Artículos con Escalas Escalas Artículos Talonarios Talonarios Clientes Actualización Individual de Precios Sucursales 417 25 4 15 1130 1155 862 509 164 163 157 175 743 744 1538 1537 1531 1549 1384 1363 1374 918 CP GV GV GV IM IM RE SB ST ST ST ST SU SU SX SX SX SX VC VC VC CT Exportaciones e Importaciones Proceso Importación de Cuentas Transporte de Otros Módulos Exportación de Cuentas a Estados Contables (Ejercicio Actual) Exportación de Cuentas a Estados Contables (Ejercicio Anterior) Pasaje a Contabilidad Exportación de Ordenes de Compra Exportación de Recepciones Importación de Proveedores Importación de Precios de Compra Tango .

Pasaje a I.A. Importación de Comprobantes de Facturación Importación de Pedidos Importación de Comprobantes Importación de Remitos Importación de Ordenes de Compra Importación de Recepciones Importación de Transferencias de Cupones Importación de Transferencias de Cheques Importación de Saldos Iniciales de Stock Exportación de Tablas Generales Exportación de Precios de Venta Exportación de Precios de Costo Exportación de Proveedores Exportación de Precios de Compra Exportación de Carga Inicial Pasaje a Contabilidad Exportación de Pedidos Exportación de Remitos Importación de Precios de Venta Importación de Clientes Exportación de Comprobantes de Facturación Exportación de Clientes Pasaje a I.V.Apertura . Pasaje a Contabilidad Importación de Proveedores Importación de Comprobantes de Compras Importación de Clientes 94 • Procesos 339 461 472 463 940 938 929 939 942 943 947 946 934 921 924 922 925 926 920 72 83 84 88 87 85 923 74 1236 1249 1250 1252 1253 1238 1063 1078 1079 1071 CO CP CP CP CT CT CT CT CT CT CT CT CT CT CT CT CT CT CT GV GV GV GV GV GV GV GV IM IM IM IM IM IM IV IV IV IV Tango .A.V.V. Pasaje a Contabilidad Importación de Proveedores Pasaje a I.A.V.A. Pasaje a Contabilidad Exportación de Ordenes de Compra Exportación de Recepciones Importación de Proveedores Importación de Precios de Compra Pasaje a I.

Importación de Comprobantes de Ventas Transporte desde Compras Transporte desde Ventas Exportación de Novedades para Sueldos Pasaje a Contabilidad Exportación de Transferencias de Cupones Exportación de Transferencias de Cheques Importación de Carga Inicial Exportación de Comprobantes Exportación de Egresos de Stock Importación de Ingresos de Stock Exportación de Saldos Iniciales de Stock Importación de Precios de Costo Importación de Tablas Generales Importación de Artículos Exportación de Artículos Pasaje a Contabilidad Transporte de Control de Horarios Importación de Carga Inicial Exportación de Comprobantes Exportación de Egresos de Stock Importación de Ingresos de Stock Exportación de Saldos Iniciales de Stock Importación de Precios de Costo Importación de Tablas Generales Importación de Artículos Exportación de Artículos Pasaje a Contabilidad Exportación de Remitos Importación de Precios de Venta Importación de Clientes Exportación de Comprobantes de Facturación Exportación de Clientes Pasaje a I. 1072 1074 1066 886 548 558 557 217 212 197 198 208 209 218 168 167 827 812 1591 1586 1571 1572 1582 1583 1592 1542 1541 1431 1443 1447 1446 1444 1513 1433 IV IV IV RE SB SB SB ST ST ST ST ST ST ST ST ST SU SU SX SX SX SX SX SX SX SX SX VC VC VC VC VC VC VC Tango .A.Apertura Procesos • 95 .V.

.

toma los datos de un archivo XML y los ingresa en una grilla. es agregado a Tango.Ejemplos en el CD Aclaración Los ejemplos que hemos realizado están incluidos en el CD.Apertura Ejemplos en el CD • 97 . permite ingresar los distintos renglones que componen el pedido. en una grilla. un ejemplo completo sobre el ingreso de pedidos a Tango. Hemos incluido en el CD. Inicialización de los recordsets y el método de agregar pedidos. Cada pedido ingresado en el Form de Visual Basic. Ejemplo XML Este ejemplo se encuentra en Ejemplos XTango\VB Editor XML. Tango . en el directorio Ejemplos XTango. escrito en Visual Basic. El ejemplo de XML que hemos incluido. Este ejemplo presenta el ingreso de los datos del encabezado del pedido y luego. En este caso podrán apreciar el uso de las rutinas de Login. Objetos COM Ejemplo Este ejemplo se encuentra en Ejemplos XTango\Pedidos. Logoff.

Hemos incluido ejemplos de los objetos COM_GV: pedidos.En el tope de la grilla se pueden ver los nombres de los distintos campos. así como también. y también de los objetos XML Listados y "login avanzado". facturación y "login simple". Otros ejemplos En el directorio "Ejemplos XTango" del CD están incluidos ejemplos de distintas implementaciones de los componentes XTANGO. Comprobantes (facturas de ventas) y Pedidos. Estos ejemplos están desarrollados en: Delphi Visual Basic Visual Basic for Applications (VBA) De los componentes. los valores para cada registro. grabar los nuevos datos en el archivo XML. Ejemplo en Microsoft Excel Este ejemplo se encuentra en Ejemplos\VBA Excel 2000 y está desarrollado en Visual Basic for Applications (VBA). Este ejemplo debe copiarse en el directorio C:\Ejemplos\VBA Excel 2000. Importaciones. También. Con este ejemplo queremos mostrarle lo simple que es trabajar con un archivo XML utilizando ADO. se han desarrollado Altas. Exportaciones. y en la grilla. usted puede modificar los datos de cualquier celda y luego. 98 • Ejemplos en el CD Tango . un ejemplo de alta de sucursales y una exportación.Apertura .

que es el nombre del DSN de Sistema (System DSN) que configuró en el Server. luego.Apertura ODBC • 99 . En cada uno de ellos. En Tipo de base de datos elija Directorio de tabla libre y en ruta. Tango . Al realizar un nuevo DSN elija el driver CodeBaseOdbcClient luego.DLL). utilizando como driver CodeBaseOdbcClient (CBODBC32. escriba la ruta hasta el directorio donde se encuentran los archivos DBF.ODBC Configuración La configuración de ODBC para CodeBase tiene la particularidad que se debe realizar tanto en el equipo donde está ejecutando el motor CodeBase como en el puesto de trabajo. se debe configurar de manera distinta. Configuración ODBC en el Server Donde se está ejecutando el motor CodeBase. En la sección Server especifique el Data Source Name. se debe configurar un System DSN de Sistema (System DSN) utilizando un driver de Microsoft Visual FoxPro. Configuración ODBC en el Puesto de Trabajo En los puestos de trabajo debe configurar un DSN de Sistema (System DSN) o un DSN de Usuario (User DSN). En Origen de datos escriba un nombre para identificar al DSN y en Descripción. una descripción aclaratoria del DSN que está creando. dentro de la sección Client debe asignarle un nombre y descripción “Data Source Name” y “Description”. la dirección del Server y el port (por defecto) de ODBC: 1583.

Apertura .100 • ODBC Tango .

Sign up to vote on this title
UsefulNot useful