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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Importacion") Métodos Function Make_Importacion(objLog As LogOn. 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.Apertura Objetos COM Referencia • 33 .V.A. Tg_in As Variant) As Integer.Objeto XTANGO Importación Importación Propiedades Propiedades Métodos Métodos Execute_Importacion Make_Importacion Cada módulo Tango tiene declarada la misma interfaz COM. Al igual que los listados y las exportaciones. Este método devuelve: Tango . ProcessID As Integer. e Ingresos Brutos: _GV _ST _CP _SB _SU _RE _CT _CN _BC _IV Ejemplo: Set ObjAltas = CreateObject("XTango_GV.

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

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

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

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

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

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

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

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

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

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

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

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

Estructura de los datos 1.Apertura . 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 .

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. 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 . 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. 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.Apertura Objetos COM Referencia • 47 . Adicional Unidad de Medida Cantidad facturada % Descuento del artículo ‘V’ o ‘U’ DecCan 2 DecPre DecPre DecMon Porc_Descuento Decimal Currency Currency Currency Precio unitario según Precio_Lista lista de precios Precio unitario neto Precio_Neto Importe total facturado Total_Renglon del artículo 4.

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

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

0000 Id del comprobante Código de alícuota Monto total del impuesto en la factura Porcentaje de la alícuota 3.50 50 • Objetos COM Referencia Tango .00 60.00 0. 2.00 121. en el ejemplo 36984 representa la fecha 03-04-2001.50 50.El dato ‘Fecha Emisión’ recibe un double.00 0.Apertura . Impuestos de la factura 1 1 28. 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 60.35 21.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.00 12. Para más información ver Nota 1 en Estructura de los datos.10 10.

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

.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

XTANGO Comprobantes El ejemplo de implementación que describimos. 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 . Para comenzar. definimos las siguientes variables: Dim objLog As LogOn Dim objComprob As XTango_GV.Apertura Objetos COM • 71 .

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

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

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

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

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

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

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 .

Detalle Contable (Ejercicio Actual) Análisis Multidimensional .Apertura 736 679 737 1019 1023 623 687 624 688 625 689 626 690 627 691 397 387 386 384 376 361 362 363 357 359 360 378 379 390 1345 401 410 392 393 395 CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO Procesos • 79 .Ap. .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.IVA Listado de Retenciones Nómina de Proveedores Resumen de Cuentas Composición de Saldos Deudas Vencidas y a Vencer Tango .Análisis de Apropiaciones (Ejercicio Anterior) Pendientes de Apropiación (Ejercicio Actual) Pendientes de Apropiación (Ejercicio Anterior) Análisis Multidimensional .

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

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.Ap. Ventas Etiquetas de Clientes Nómina de Clientes Listas de Precios Comprobantes Emitidos Impuestos Registrados Detalle de Comprobantes de Facturación Ranking de Ventas por Cliente Ranking de Artículos Facturados Ranking de Ventas por Artículo / Cliente Ranking de Ventas por Cliente / Artículo Ventas por Provincia Ventas por Vendedor Ventas por Zona Ventas por Provincia / Actividad Ventas por Condición de Venta Ventas por Depósito Comisión Individual por Vendedor Porcentaje 100 150 149 143 115 101 116 111 112 114 113 104 105 106 108 109 107 118 119 120 139 138 131 132 134 135 140 133 136 137 98 103 1344 Detalle de 152 153 GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV GV Comisión por Vendedor .I.Apertura Procesos • 83 .Detalle Contable Tango .IVA Análisis Multidimensional Comprobantes Análisis Multidimensional .A.Subdiario de I. .V.

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

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

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

Real No Cumple lo Esperado Partes Diarios .Resumen Comparativo Ocurrencia de Ausencias por Causa Previsión de Ausencias Diarias Resumen de Horas para Jornalizados Resumen de Horas para Mensualizados Partes Diarios .Apertura Procesos • 87 .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 .

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 .Movimientos Conciliados Auditoría de Comprobantes Ingresados Auditoría de Comprobantes Revertidos Auditoría de Cierres Realizados Mayor para Auditoría Valores Emitidos vs.Detalle Contable Tango .Apertura .

Stock por Depósito Stock por Artículo Stock Hasta Fecha Stock por Agrupación Comparativo por Depósito Stock Faltante Stock Proyectado Valorización de Existencias Stock Mínimo / Máximo / Punto de Pedido Listado de Precios para Costo Rentabilidad Bruta Costo de Ventas Costo de Armado Costo de Ventas por Costo de Partidas Saldos Valorizados por Costo de Partidas Costos por Partida Depósitos Componentes de Costos Artículos con Escalas Escalas Precios para Costos Artículos Agrupaciones de Artículos Tipos de Comprobante Talonarios Listador de Conceptos y Totales Listado de Novedades Planilla de Novedades Listado Comparativo Empleados Activos.Detalle Contable Procesos • 89 . Altas y Bajas Antigüedad de Empleados Incidencia de Remuneraciones Análisis Multidimensional Liquidaciones Pago Automático de Haberes Legajos Familiares Tango .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 .

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

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

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

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

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

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

.

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

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

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

Apertura .100 • ODBC Tango .

Sign up to vote on this title
UsefulNot useful