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

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

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

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

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

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

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

Apertura Objetos COM Referencia • 11 . Todos). Pendientes.(rsResultado) la confirmación o el error de cada pedido. Pendientes. El método devuelve 0 si la parametrización fue correcta. GetPedidos : devuelve en rsPedidos los pedidos que estén dentro del rango de fechas y que cumplan con el estado indicado (Cumplidos. 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 . Constantes : Incluye_Pedidos: (Cumplidos.

Indica el código de talonario con el que se imprimirán las facturas asociadas al pedido. a través del COM."Compromete_Stock": 'S' o 'N' "Usa_Precio_Lista": 'S' o 'N' "Talonario": Tango permite de 0 a 99 talonarios. Por lo pronto. el sistema solicitará la cotización correspondiente y la moneda de la factura. el COM no toma los valores por defecto asociados a clientes ni perfiles de facturación.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. 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 . "Porc_Desc_Cli": 2#. "Fecha_Entrega": corresponde a la fecha prevista de entrega del pedido. Este campo no es obligatorio. ya que en el momento de facturarlos. "Cod_Cliente": no se permitirá ingresar.Apertura . Es posible ingresar pedidos en base a cualquier lista de precios (moneda corriente o moneda extranjera). pero es de utilidad para el cálculo del stock proyectado. "Cod_Deposito": indica el depósito en el que se generará el stock comprometido y la posterior descarga de las unidades. pedidos a clientes ocasionales ('000000').

también será en unidades de ventas. siempre antes de la generación de facturas o remitos. "Descuento". Por cada artículo que lleva stock asociado. que deben ser menores o iguales a la cantidad pedida. el remito o factura que se emita posteriormente. " Cant_A_Facturar". "Precio " Si se expresan las cantidades en unidades de ventas. se indicará la Cantidad Pedida y las Cantidades a Facturar. Estas cantidades pueden modificarse mediante el proceso de Modificación de Pedidos en Tango.Apertura Objetos COM Referencia • 13 .Precio Descripcion Desc_Adicional Numérico String String 9 30 20 DecPre 0 0 " Unidad_Medida": 'U' o 'V' "Cant_Pedida". Estas últimas cantidades serán las que se incluyan en la próxima factura o remito que se confeccione con referencia al pedido. Es importante considerar que el stock comprometido se actualiza siempre en unidades de stock. 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 .

Facturacion Propiedades TgLog As TangoLog Métodos Function Get_Ventas (rsVentas As Recordset.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. dtFechaHasta As Date) As Long Recordset de Get_Ventas Name Type FECHA_CONT FECHA_CON2 14 • Objetos COM Referencia Size Precision 0 0 Tango . Sintaxis ObjTG. dtFechaDesde As Date.Apertura Date Date .

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 .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 .

16 • Objetos COM Referencia Tango . los códigos de errores son solamente: 0 (si no hubo error) y distinto de 0 (si hubo error). DecCot: cantidad de decimales según cotización. DecLis: cantidad de decimales según moneda del comprobante.Apertura . DecPre: cantidad de decimales según la lista de precios asociada al pedido.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. Códigos de errores devueltos por las funciones En este momento. DecUni: cantidad de decimales según moneda extranjera.

del usuario. AppDir As String. información de sistema. 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 .Objeto LogOn (ILogOn) Interface que posibilita loguear una aplicación al servidor de accesos (es la entrada al sistema).Apertura Objetos COM Referencia • 17 . CompanyID As String. de la sesión activa y también da acceso a las interfaces de máscaras y mensajes. A través de esta interface. se loguea un usuario a una empresa (sesión). Métodos Function LogServerUser(HLNumber As String. de la empresa. ProfileName As String.

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

Password (obligatorio).UserName : Pswd: Nombre de usuario (opcional).LogServerUserEx(llave. Handle de la aplicación que se loguea (opcional) . "") Dim llave. Si Result = False. CompanyID : AppTitle: AppHandle : Err: Nombre de la compañía (opcional). "". _ Tango . Precondición Not fLogState in [lsHLSBroken. Error as String Llave = "000001/001" ‘Loguea la aplicación a Tango (mostrando ventana) If LogOnEx. "". 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 .Apertura Objetos COM Referencia • 19 . Nombre de la aplicación que se loguea (opcional).LogOnEx". "NO_PSWD". Usar “NO_PSWD” cuando no se quiera pasar una contraseña). Err tiene el mensaje de error. False si no fue posible. Por ej. Resultado True si logró loguearse.: "SUPERVISOR".

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

A.SendStatus(LM As LogModeEnum) As Variant Notifica al servidor información del cliente. consulte los Identificadores de Procesos. No está en uso. IDMenu As Integer) As Boolean Valida si el usuario logueado tiene permiso para ejecutar un proceso en la compañía activa.V. 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). Tango . el servidor está en problemas (aún después del reintento).Apertura Objetos COM Referencia • 21 . LogOn.ValidateApp(Module.False. LogOn. Para más información. 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. IDMenu: Identificador de proceso (obligatorio).

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

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

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

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. consulte los Identificadores de Procesos. e Ingresos Brutos: _GV _ST _CP _SB _SU _RE _CF _CT _CN _BC _IV Métodos Function Make_XML(objLog As LogOn.Apertura Objetos COM Referencia • 25 . 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 más información. Tango . XML_In As Variant) As Boolean ProcessID: número de listado Tango.A. para generar los xml de los listados.V. ProcessID As Long.

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

Al igual que los listados.Apertura Objetos COM Referencia • 27 . para generar las altas.Altas ") Métodos Function Make_Altas(objLog As LogOn. Tg_in As Variant. Tg_str As Variant) As Integer.V. Este método devuelve: Tango . 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. e Ingresos Brutos: _GV _ST _CP _SB _SU _RE _CF _CT _CN _BC _IV Ejemplo: Set ObjAltas = CreateObject("XTango_Gv.Objeto XTANGO Altas Altas Propiedades Propiedades Métodos Métodos Make_Altas Execute_Altas Cada módulo Tango tiene declarada la misma interfaz COM.A. ProcessID As Long.

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

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

Este método devuelve: 30 • Objetos COM Referencia Tango . Tg_in As Variant) 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.Apertura . Al igual que los listados.V. e Ingresos Brutos: _GV _ST _CP _SB _SU _RE _CT _CN _BC _IV Ejemplo: Set ObjAltas = CreateObject("XTango_GV. ProcessID As Integer.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. para ejecutar los procesos de exportación a otros módulos.A.Exportacion ") Métodos Function Make_Exportacion(objLog As LogOn.

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

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

Apertura Objetos COM Referencia • 33 .A. ProcessID As Integer.V.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. Tg_in As Variant) As Integer. Este método devuelve: Tango . para ejecutar los procesos de importación a otros módulos. 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 y las exportaciones.Importacion") Métodos Function Make_Importacion(objLog As LogOn. e Ingresos Brutos: _GV _ST _CP _SB _SU _RE _CT _CN _BC _IV Ejemplo: Set ObjAltas = CreateObject("XTango_GV.

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

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

En esta implementación. stock y todas las demás funciones administrativas. Ventas.Apertura . 36 • Objetos COM Referencia Tango . 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. los métodos para agregar facturas en Cuenta Corriente y para agregar facturas al Contado.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. En esta implementación se han realizado los métodos para agregar facturas en cuenta corriente y también. En otras palabras. comprobantes del tipo Factura generados y emitidos por otro sistema de facturación. Interfaz IComprobantes en Ventas De esta interfaz dependen métodos para agregar comprobantes en el módulo de Ventas. cobranzas. se han realizado en el módulo de Ventas. para agregar facturas al contado.A. I. tenga su sistema a medida para facturar y realice en Tango el seguimiento de cuenta corriente.V. ingresarlas a Tango para luego realizar el seguimiento administrativo y contable.

para indicar el movimiento de los artículos. dependiendo de la implementación de la aplicación cliente. comprobantes de tipo factura generados en forma externa. d) No se realiza ningún tipo de validaciones en los cálculos de las facturas. Solamente se valida la existencia de los datos obligatorios. Alcances Es posible el ingreso de un comprobante factura externo. 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. como mínimo.Apertura Un depósito. necesarios para evitar inconsistencias en la base de datos en Tango. Tango . puede realizarse tanto en forma On-Line como Batch. Objetos COM Referencia • 37 . con excepción del control de los importes totales (detallado en este documento). 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. e) f) No se realizan validaciones en cuanto a la existencia de renglones de artículos en la factura.Objetivo Utilizando XTANGO puede ingresar a Tango. Módulo de Stock Defina: 1. solamente se controla que no haya sido ingresada con anterioridad. no la emitirá por ningún medio de impresión. c) No se realizan validaciones en cuanto a la correlatividad en las numeraciones de las facturas ingresadas al sistema Tango. con las siguientes consideraciones: a) El ingreso de las facturas por medio de XTANGO. 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.

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

Para el sistema Tango Punto de Venta. El factura con impuestos importe debe ser expresado en la moneda del comprobante e incluirá todos los impuestos correspondientes. Existente en Tango . moneda del Importe Flete sin impuestos Importe Exento de la factura Importe Gravado de la factura Tango . Expresado en la moneda del comprobante. 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. ignore este campo. El factura sin impuestos importe debe ser expresado en la moneda del comprobante y no debe incluir ningún tipo de impuestos. Importe Bonificación General de la No se realizan validaciones.Para cada factura. El importe debe ser expresado en la moneda del comprobante. Existente en Tango . Importe Bonificación General de la No se realizan validaciones. de stock Código Condición de Venta (contado Existente en Tango . Debe existir en Tango y ser distinto a '000000'. El importe debe ser expresado en la moneda del comprobante. ó cta. No se Expresado realizan en la validaciones. Fecha Emisión Código Cliente Distinto de blanco. Existente en Tango . Letra y Número de la factura (según Que no exista en los módulos de legislación vigente) Ventas y Fondos. No se realizan validaciones. Código Depósito para el movimiento Existente en Tango .Apertura Objetos COM Referencia • 39 .) Número de Lista de Precio Código Vendedor Código de Transporte Tipo de Asiento Existente en Tango . este importe debe estar en 0. en caso de existir. este importe debe estar en 0. No se realizan validaciones. 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. cte. Para el sistema Tango Punto de Venta.

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

3. a menos que se lo indique con ' ** '. se toma esta descripción para el artículo. Todos son obligatorios. Si este campo es distinto a blancos. 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 . No se realizan validaciones.Apertura . Debe tener aplicado el descuento del artículo y estar expresado en la moneda del comprobante. sino se toma la del artículo existente en Tango . Unidades de venta: ‘V’ Unidades de stock: ‘U’ No se realizan validaciones. No se realizan validaciones. en caso de utilizarse).Expresado en comprobante. 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 . se indican los datos necesarios para el ingreso de los artículos existentes en cada factura. e Imp. Porcentaje de descuento aplicado al artículo No se realizan validaciones.V. Cantidad relacionada con la unidad de medida referenciada. Para el sistema Tango Punto de Venta se considerará que el precio contiene impuestos (I. No debe tener aplicado el descuento del artículo y debe estar expresado en la moneda de la lista de precios. Porcentaje de la alícuota la moneda del No se realizan validaciones. Idem anterior. Internos.A. Se considerará que el precio unitario no posee impuestos. No se realizan validaciones. Renglones de la factura A continuación. No se realizan validaciones.

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

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

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

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

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 .

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.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. 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. 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.Apertura Objetos COM Referencia • 47 . 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 .

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

00 impuestos Importe Bonificación General de la factura con 18. Depende de la moneda utilizada en la factura. Cantidad de artículos.0000 'Cotización general' 163.00 0. 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. Importes en moneda extranjera.00 ‘C’ 1.00 0.00 135. sino DecUni. Definido en la lista de precio utilizada.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.DecImp DecUni DecPre DecMon DecCan Importes en moneda corriente.35 0.Apertura Objetos COM Referencia • 49 . Si es ‘C’ toma DecImp. Ejemplo Práctico Información a ingresar de una factura contado 1.00 1 True Tango .

0000 Id del comprobante Código de alícuota Monto total del impuesto en la factura Porcentaje de la alícuota 3.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.50 50.00 60. Impuestos de la factura 1 1 28.35 21.Apertura . en el ejemplo 36984 representa la fecha 03-04-2001.00 0.00 60.El dato ‘Fecha Emisión’ recibe un double.50 50 • Objetos COM Referencia Tango .00 0.10 10.00 12. 2. 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.00 121. Para más información ver Nota 1 en Estructura de los datos.

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.4. Ingreso de cobranzas contado 1 20 ‘22’ 'H' 'Venta contado-cuenta contado' (Long: 30) 163.35 5. 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.Apertura Objetos COM Referencia • 51 .

.

Apertura Objetos COM • 53 .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. ejecute: AP_1. Public objTGPed As Com_GV.Objetos COM Instalación y registración El instalador de Tango copia todos los componentes necesarios para la apertura.exe [/s] Para desregistrar. Para ello. AP_1. ejecute: AP_1. y además.Pedidos Tango .Pedidos.exe / u y luego. En caso de necesitar realizar la registración manualmente. registra automáticamente todos los objetos COM. defina una variable del tipo Com_GV.

ahora usted puede utilizar los distintos métodos y propiedades del objeto.wsTittleApp = “Esta aplicación DEMO” objTGPed. "Felicitaciones" Else MsgBox ("Ha fallado el logueo!"). vbCritical + vbOKOnly.wsNombreUsuario = "SUPERVISOR" Handle = GetActiveWindow objTGPed. Para loguearnos.TgLog.wsNombreEmpresa = “EMPRESA EJEMPLO” objTGPed. vbOKOnly. objTGPed. es necesario darle valores a las propiedades Número de llave.Login("".Login. Nombre de la empresa.TgLog.Apertura . para ello procedemos a loguearnos a Tango con el método TgLog. "") Then MsgBox ("Felicitaciones se ha logueado!").wsNroLlave = “000001/001” objTGPed.TgLog.TgLog.Pedidos") Finalizado el programa.Set_wsPassword (“password”) If objTGPed.Definida la variable.TgLog.Logoff 54 • Objetos COM Tango . obtener un handle de la aplicación.inHandleApp = Handle objTGPed.TgLog. Set objTGPed = CreateObject("Com_GV.TgLog.TgLog. se debe crear el Objeto. libere el objeto con: Set objTGPed = Nothing Login y Logout a Tango Creada la variable. "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. Usuario y además.

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

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.00 !Nro_Lista_Precio = 1 !Tipo_Asiento = “1” end with rsRenglones. que debe haber un nexo (link) entre el encabezado y los renglones. utilizamos métodos de ADO para trabajar con ellos.Realice esta operación una sola vez. La definición de estos recordsets se encuentra en la Referencia. Este método devuelve –1 o 0. No debe crear estos recordsets con la sentencia New. pero tenga en cuenta cuando los use. informando sobre el éxito de la inicialización. antes de comenzar a ingresar los datos en ellos. Agregar Pedidos a Tango Como las variables utilizadas son recordset. Esto se realiza con el campo: "ID_Pedido".Apertura .AddNew with rsRenglones !ID_Pedido = "000001" !Cod_Articulo = “0100100129” 56 • Objetos COM Tango . rsEncabezado.

Fields("Nro_Pedido"). False. rsPedRen.Value)) Else MsgBox ("Atención. False. False. Su programa seguramente. mediante búsqueda en tablas o ingresos.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.Apertura Objetos COM • 57 . rstResult.Add_Pedidos(rsPedEnc. no se pudo ingresar el pedido" & Chr(13) & Chr(10) & _"Descripción: " & Trim(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. le dará valores a los distintos campos. Tango .Fields("Estado_OK").Fields("Msg_Error"). False) = 0 then If rstResult. False.Value = True Then MsgBox ("Se ha ingresado con éxito el pedido a Tango" & Chr(10) & Chr(13) & _"Pedido Nro: " & Trim(rstResult. Para cada pedido existe un registro de resultado. Cuando tenga los datos ingresados en los recordsets de Cabecera y Renglones de los Pedidos. podrá ingresarlos a Tango con el siguiente método: If objTGPed.

En la interfaz COM. 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. estamos incluyendo una manera de loguearse a Tango con más funcionalidad.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). de manera que Tango seleccione la información y se la devuelva. que le va a devolver en el parámetro xmlIn los parámetros del listado. Esto se logra realizando dos pasos: el primero es generar un archivo de parámetros (una sola vez) y el segundo paso. Esta modalidad la vamos a replicar en las distintas interfaces. es darle a Tango los parámetros obtenidos en el primer paso (por ejemplo: Fecha desde y Fecha hasta). 58 • Objetos COM Tango . presentándole la pantalla de selección del listado. Esta facilidad se realiza con el método Make_XML.Apertura .

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

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

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

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

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

Fields("Descripcion"). Para ver cómo queda el recordset.Value Next j If Trim(rsIn.Fields("Valor").Update End If If Trim(rsIn.Cells(i. En este ejemplo agregaremos el código de sucursal 94. j). tenemos las siguientes instrucciones: 64 • Objetos COM Tango . con descripción “Flores Centro”. Como podrán observar. en cada registro están todos los valores para definir un campo.1).Fields(j .Count Worksheets("Altas").Value = rsIn.Fields("Valor").Value) Sucursal" Then rsIn. que ya lo hemos hecho en las instrucciones anteriores.Update End If i=i+1 rsIn.Fields.Value) Sucursal" Then rsIn. B es Diskettera B y C es Disco.For j = 1 To rsIn.Value = "Flores Centro" donde A es Diskettera A.Apertura .Fields("Descripcion").Value = "94" rsIn. 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.MoveNext Wend El recordset rsIn para el caso de Actualización de Sucursales del Centralizador.

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

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

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. uno. La clase Importación tiene los métodos Execute_Importacion y Make_Importacion. Execute. Tango . de esta manera. Make. Cada una de estas interfaces tiene dos métodos. es posible ejecutar desde otro programa. los procesos de exportación o de importación. con el que se realiza la importación / exportación y el otro método.Apertura Objetos COM • 67 . La clase Exportación tiene los métodos Execute_Exportacion y Make_Exportacion.

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

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

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

Para comenzar.XTANGO Comprobantes El ejemplo de implementación que describimos. 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.Comprobantes Dim strMensError As String Dim rsMake As Variant Dim rsResult As Recordset Tango .Apertura Objetos COM • 71 .

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

15 !Imp_Intereses = 0 !Imp_Flete = 0 !Imp_Exento = 0 !Imp_Gravado = 135 !Moneda = "C" !Cotizacion = 1 !Total_MonCte = 163. existe el campo ID_Comp que realiza la función de nexo (link). impuestos y cuotas. FacRenglones. completamos los datos de los renglones de la factura (que en este caso.AddNew With FacRenglones Tango .Apertura Objetos COM • 73 . FacEncabezado.35 !Total_MonExt = 0 !Cant_Hojas = 1 !Descarga_Stock = False End With FacEncabezado. para identificar a qué encabezado corresponden los renglones.Es posible ingresar más de una factura por vez y.Update A continuación. son dos).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.

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

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

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

Apertura Procesos • 77 .V. indicamos en cada uno de los módulos. 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 . el número que identifica a cada proceso. Tenga en cuenta las siguientes referencias: Módulo Ventas Stock Compras Proveedores Fondos Cash Flow Sueldos Control de Horarios Centralizador Contabilidad Estados Contables I.Procesos Identificadores de Procesos A continuación.A.

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 .Listados Proceso Cuentas Asignadas a un Reporte Cuentas Asignadas a una Fila .

Análisis de Apropiaciones (Ejercicio Anterior) Pendientes de Apropiación (Ejercicio Actual) Pendientes de Apropiación (Ejercicio Anterior) 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 .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 .Ap.I.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. .

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

.I.Apertura Procesos • 83 .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.V.Detalle Contable Tango .IVA Análisis Multidimensional Comprobantes Análisis Multidimensional .Subdiario de I. 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 .A.Ap.

Ap. .Apertura .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.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 .I.

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.A.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 . 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 .Detalle Contable Procesos • 85 .V.

V.V.Apertura .V.A.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. Saldos Artículo 20 Alícuotas de I.A. 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 . 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.

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 .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 .

Detalle Contable Tango .Apertura .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 .

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. Altas y Bajas Antigüedad de Empleados Incidencia de Remuneraciones Análisis Multidimensional Liquidaciones Pago Automático de Haberes Legajos Familiares Tango .Detalle Contable Procesos • 89 .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 .

Apertura .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 .

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. 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 .Porcentaje por Artículo Tango .Apertura Procesos • 91 .A.V.

.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 .Apertura .Ap.I.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 .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 .

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 .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 .

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.A.V.Pasaje a I.V.V.Apertura .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. 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. Pasaje a Contabilidad Importación de Proveedores Pasaje a I.

V.A.Apertura Procesos • 95 .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 .

.

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

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

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

Apertura .100 • ODBC Tango .

Sign up to vote on this title
UsefulNot useful