Beruflich Dokumente
Kultur Dokumente
VERSIN 8
NEXUS SOFTWARE
CONJUNTO DE HERRAMIENTAS PARA PODER ADAPTAR Y MEJORAR LAS FUNCIONALIDADES DE NEXUS SEGN LAS NECESIDADES DE CADA EMPRESA. CMO DESARROLLAR DLLS, USAR DICCIONARIOS, PROGRAMAR CON NAX, ETC
CONTENIDO
NEXUS PARA PROGRAMADORES 1
INTRODUCCIN .................................................................................................................................. 1 DICCIONARIO ............................................................................................................................ 1 MENUS...................................................................................................................................... 1 DLL ............................................................................................................................................ 1 NAX ........................................................................................................................................... 1
DICCIONARIO
INTRODUCCIN .................................................................................................................................. 3 ESTRUCTURA DE LA APLICACIN ....................................................................................................... 3 DIRECTORIO PRINCIPAL DE NEXUS........................................................................................... 3 UBICACIN DE LAS DEFINICIONES DE LISTADOS Y DOCUMENTOS.......................................... 5 CONFIGURACIN NEXUS .......................................................................................................... 5 NORMATIVA EN LA CREACIN DE LIBRERAS .................................................................................... 6 APLICACIN DE LOS CAMPOS ADICIONALES............................................................................ 6 VARIOS DICCIONARIOS ............................................................................................................. 6 USAR MAYSCULAS ................................................................................................................. 6 USAR PREFIJOS ......................................................................................................................... 6 DICCIONARIO NEXUS ................................................................................................................ 6 DICCIONARIO EN INSTALACIN CLIENTE ................................................................................. 6 INSTALACIN DEL DICCIONARIO ........................................................................................................ 7 REQUISITOS TCNICOS PREVIOS A LA INSTALACIN ............................................................... 7 INSTALACIN DEL DICCIONARIO .............................................................................................. 7 REA DEL TRABAJO DEL DICCIONARIO .............................................................................................. 7 MEN SUPERIOR ...................................................................................................................... 8 MEN LATERAL ........................................................................................................................ 9 DATOS GENERALES DE NUESTRA LIBRERA .............................................................................. 9 CREACIN DE UNA TABLA NUEVA ................................................................................................... 10 COLUMNAS ............................................................................................................................. 11 CREACIN DE NDICES ............................................................................................................ 14 CLAVES FORNEAS ................................................................................................................. 15 INTEGRIDAD ........................................................................................................................... 17 OTRAS RELACIONES ................................................................................................................ 17 NUEVO DICCIONARIO PASO A PASO ................................................................................................ 17 GESTIN DE PROYECTOS ........................................................................................................ 17 CREAR NUEVO DICCIONARIO ................................................................................................. 18 CREACIN DE TABLAS NUEVAS .............................................................................................. 19 VER NUESTRAS TABLAS .......................................................................................................... 22 AADIR SELECCIONES DE NUESTRAS TABLAS .................................................................................. 22 SELECCIN DE PROYECTOS EN FACTURAS ............................................................................. 23 SELECCIN RESPONSABLES EN PROYECTOS .......................................................................... 24
CASO ESPECIAL TABLA CLIENTES...................................................................................................... 24 ACTIVACIN Y DISEO DEL DICCIONARIO ....................................................................................... 25 TRASLADO, ELIMINACIN DEL DICCIONARIO .................................................................................. 27 TRASLADO BASE DE DATOS Y DICCIONARIO A OTRO SERVIDOR ........................................... 27 TRASLADO BASE DE DATOS (SIN DICCIONARIO) A OTRO SERVIDOR .................................... 28 ELIMINAR EL DICCIONARIO DE UNA BASE DE DATOS ............................................................ 28
MENS EXTERNOS
31
INTRODUCCIN ................................................................................................................................ 31 QUE ES XML ............................................................................................................................ 31 CREACIN DEL FICHERO DE MEN ........................................................................................ 31 ESTRUCTURA XML ............................................................................................................................ 32 MEN LATERAL ...................................................................................................................... 33 BARRAS DE MENS ................................................................................................................ 35 IMGENES ........................................................................................................................................ 36
NAX
37
QU ES NAX (NEXUS ACTIVEX)? ..................................................................................................... 37 INSTALACIN DE NAX ...................................................................................................................... 39 LICENCIAS NAX RUNTIME / NEXUS .................................................................................................. 39 ORGANIZACIN DE NAX ................................................................................................................... 40 RELACIN DE OBJETOS DE NAX.............................................................................................. 40 EJEMPLO DEL USO DE UN OBJETO NAX EN DELPHI ............................................................... 41 EJEMPLO DEL USO DE UN OBJETO EN VISUAL BASIC ............................................................. 41 ENLACE (CONEXIN) ........................................................................................................................ 42 NECESIDADES DE NAX PARA CONECTARSE A UNA EMPRESA EN UNA ESTACIN ................. 42 MTODOS Y FUNCIONES DEL ENLACE.................................................................................... 42 EJEMPLOS EN DELPHI ............................................................................................................. 43 EJEMPLOS EN VISUAL BASIC ................................................................................................... 44 EJEMPLO TRATAMIENTO DE EXCEPCIONES ........................................................................... 44 OPCION (LLAMADA A OPCIONES VISUALES) .................................................................................... 45 EJEMPLO 1: MANTENIMIENTO DE CLIENTES SIN PARMETROS ........................................... 45 EJEMPLO 2: EDICIN DE LA FICHA CON PARMETOS............................................................ 46 LISTADO (IMPRESIN DE INFORMES) .............................................................................................. 47 EJEMPLO 1: PRESENTACIN PRELIMINAR DEL LISTADO DE CLIENTES EN DELPHI................. 47 EJEMPLO 2: FICHERO PDF CON EL LISTADO DE CLIENTES EN DELPHI .................................... 47 EJEMPLO 3: PRESENTACIN PRELIMINAR DEL LISTADO DE CLIENTES EN VB. ....................... 48 EJEMPLO 4: IMPRIMIR UN EFECTO FORMATO RECIBO EN DELPHI........................................ 48 VARIOS (CONSULTAS)....................................................................................................................... 49 CONSULTAS SEGN CRITERIOS DE NEXUS ............................................................................. 49 EJEMPLO 1: CONSULTAS SEGN LOS CRITERIOS DE NEXUS. ................................................. 50 EJEMPLO 2: USO DE LOS IDENTIFICADORES DE NEXUS PARA OBTENER UN IDENTIFICADOR PROPIO ......................................................................................................... 50 MAESTROS........................................................................................................................................ 51 OPERACIONES MS IMPORTANTES ....................................................................................... 53 DOCUMENTOS.................................................................................................................................. 55 EJEMPLO EN DELPHI DE LA CREACIN DE UNA NUEVA FACTURA ........................................ 55 APUNTES .......................................................................................................................................... 57 DOS FORMAS DE TRABAJAR CON ASIENTOS.......................................................................... 59
CARTERA ........................................................................................................................................... 61 CREACIN, MODIFICACIN Y BORRADO DE VENCIMIENTOS ................................................ 61 EJEMPLO 1: EJEMPLO COMO MODIFICAR UN VENCIMIENTO Y AADIR UN NUEVO VENCIMIENTO EN CARTERA ................................................................................................... 62 REALIZAR OPERACIONES CON VENCIMIENTOS EXISTENTES .................................................. 63 EJEMPLO1 : COBRO DE UN VENCIMIENTO ............................................................................ 64 STOCKS ............................................................................................................................................. 64 EJEMPLO 1: MOVIMIENTOS EN STOCK EXTERNOS ................................................................ 64 FILTRO .............................................................................................................................................. 65 EJEMPLO 1: LLAMADA A LA PANTALLA DE FILTROS............................................................... 65 EXPEDIENTE ...................................................................................................................................... 66 EJEMPLO 1: UTILIZACIN GENRICA DEL OBJETO EXPEDIENTES........................................... 66 COBRO/ANULACIN PARCIAL DE REMESAS .................................................................................... 67 EJEMPLO 1: UTILIZACIN COBRO PARCIAL DE REMESAS ...................................................... 67 EJEMPLO 2: UTILIZACIN DE ANULAR COBRO PARCIAL DE REMESAS................................... 67
OBJETOS NAX
69
INTRODUCCIN ................................................................................................................................ 69 OBJETO ENLACE................................................................................................................................ 70 OBJETO VARIOS ................................................................................................................................ 74 OBJETO MAESTRO ............................................................................................................................ 80 OBJETO SELECCION .......................................................................................................................... 88 OBJETO FACTURA ............................................................................................................................. 89 OBJETO ALBARAN........................................................................................................................... 105 OBJETO PEDIDO.............................................................................................................................. 120 OBJETO DEPSITO.......................................................................................................................... 135 OBJETO OFERTA ............................................................................................................................. 150 OBJETO REGULARIZACION ............................................................................................................. 163 OBJETO TRASPASO ......................................................................................................................... 171 OBJETO INVENTARIO ...................................................................................................................... 180 OBJETO MOVIMIENTOSTOCK ......................................................................................................... 188 OBJETO RESERVASTOCK ................................................................................................................. 194 OBJETO ASIENTO ............................................................................................................................ 199 OBJETO CARTERA ........................................................................................................................... 205 OBJETO OPERACIONESCARTERA .................................................................................................... 213 OBJETO AGRUPACION .................................................................................................................... 228 OBJETO REMESA............................................................................................................................. 231 OBJETO OPERACIONESINMOVILIZADO .......................................................................................... 234 OBJETO PRESUPUESTO................................................................................................................... 236 OBJETO OPCION ............................................................................................................................. 239 OBJETO LISTADO ............................................................................................................................ 239 OBJETO ESTRUCTURA..................................................................................................................... 242 OBJETO ORDENPRODUCCION ........................................................................................................ 247 OBJETO EXPEDIENTES .................................................................................................................... 267 OBJETO CUOTAS ............................................................................................................................. 274 OBJETO COBROPARCIALREMESA ................................................................................................... 277 OBJETO ANULARCOBROPARCIALREMESA ..................................................................................... 279
PROGRAMACIN DLLS
281
INTRODUCCIN .............................................................................................................................. 281 INSTALACIN.................................................................................................................................. 281 EVENTOS......................................................................................................................................... 281 SISTEMA................................................................................................................................ 281 DOCUMENTOS ...................................................................................................................... 281 CARTERA ............................................................................................................................... 282 MAESTROS ............................................................................................................................ 283 APUNTES............................................................................................................................... 283 PRODUCCION ....................................................................................................................... 283 LISTADOS .............................................................................................................................. 284 EJEMPLOS ....................................................................................................................................... 284 COMO LLAMAR A UNA DLL DESDE MIMENU.MENU (V2.0)........................................................... 284 LLAMANDO A UNA DLL WIN32 ............................................................................................ 285 LLAMANDO A UNA DLL ACTIVEX .......................................................................................... 285 PARMETROS EN PROGRAMA EXTERNOS ..................................................................................... 286 SIGNIFICADO DE CADA PARMETRO ................................................................................... 287
289
INTRODUCCIN .............................................................................................................................. 289 LLAMADA DESDE EL MEN ............................................................................................................ 290 FORMATO V7 ........................................................................................................................ 290 FORMATO V8 ........................................................................................................................ 290 LLAMADAS A PROGRAMAS EXTERNOS .......................................................................................... 290 SIGNIFICADO DE CADA PARMETRO ................................................................................... 290
NDICE
293
DICCIONARIO
Aplicacin que permite poder acceder a la base de datos y cambiar o ampliar la estructura, ya sea aadiendo tablas, campos, etc.
MENUS
Permite poder editar los mens de Nexus. Por ejemplo aadir opciones, por ejemplo los mens para acceder a las aplicaciones externas, para un acceso directo, cambiar organizacin, quitar, etc.
DLL
Permite realizar pequeas programaciones para que Nexus cambie alguna operacin, por ejemplo aadir un clculo distinto al guardar un documento.
NAX
NAX es una librera ActiveX que permite a terceros conectarse con Nexus. Los objetivos de la librera NAX entre otros: Simplificar la tarea de utilizar la lgica de negocio de la aplicacin Nexus a travs de una serie de objetos con mtodos y propiedades que permiten manejar esa lgica. Poder llamar a cualquiera de las opciones visuales de Nexus desde la aplicacin desarrollada.
DICCIONARIO
INTRODUCCIN
El diccionario es un metadatos creado por SIE cuya finalidad es centralizar la extensibilidad de una base de datos. Es decir, nos permite crear tablas nuevas y aadir campos a las tablas ya existentes a una base de datos gestionada por el ERP Nexus. Una de las ventajas de esta herramienta junto con el ERP Nexus, es la posibilidad de adaptar una aplicacin en un principio estndar, a diversas necesidades que pueda plantear el cliente en la fase de preventa como postventa. Otra ventaja, es que ya no es necesario generarse varios scripts, ni guardarlos en diferentes carpetas ya que usando esta herramienta, todo queda centralizado y gestionado por varios xml. Otra ventaja es que la actualizacin o llammoslo as, la gestin de nuestros scripts queda delegado al ERP Nexus, que es el encargado de realizar los cambios pertinentes sin necesidad de hacerlo nosotros manualmente.
ESTRUCTURA DE LA APLICACIN
En primer lugar, antes de iniciarnos en la aplicacin del diccionario, es necesario conocer la estructura de Nexus, como estn definidos sus directorios ya que conocer su estructura es imprescindible para la creacin de diccionarios.
A continuacin se detalla que puede necesitar el programador: Ejemplos: En esta carpeta contiene ejemplos en lenguajes de programacin Delphi y V.B. para ser utilizados con Nax.Dll y Naxrt.dll. Tambin viene el manual del NAX y documentacin complementaria del mismo. (opcionesnexusListados.XML, OpcionesVisualesNexus.xls) Empresas modelo: En esta carpeta estn todas aquellas empresas creadas para realizar demostraciones. Hlp: Contine los archivos de ayuda de la aplicacin. Imgenes: Contiene las imgenes de la aplicacin. Interface: Contiene los ficheros necesarios para poder trabajar con Nax Mens: Donde se ubica el fichero xml para la creacin de los mens del programa. Mdulos: En esta carpeta estn los ficheros necesarios para la confeccin de los modelos de Hacienda. Plantillas: Guarda diversas plantillas de ejemplo de opciones de la aplicacin, como pueden ser cartas, SQL, hojas de clculo, etc.. Redemption: Contiene los ficheros para la configuracin del correo electrnico. Scripts: Utilidades varias para reparar, corregir, datos en la base de datos SQL. Sistema: Contiene una carpeta por cada mdulo o programa a integrar en Nexus. En cada una de ellas estn las tablas de la estructura de la aplicacin. En el directorio principal existen las tablas con informacin compartida para todas las empresas que el usuario trabaje, por ejemplo: las entidades bancarias, las administraciones y delegaciones de Hacienda y los cdigos postales.
Skins: Donde se guardan los ficheros de los temas visuales del programa.
Listados: En esta carpeta se encuentran todos los ficheros que corresponden a la definicin de listados y documentos. Sistema: Existe el fichero Listados.ini en el cual detalla el nombre de cada uno de los listados definidos.
CONFIGURACIN NEXUS
En el directorio C:\Documents and settings\ nombre usuario\Datos de programa\SIE, se guarda la configuracin del programa, disposicin pantallas, selecciones, etc. para ese usuario.
En las diferentes carpetas es donde se almacena la configuracin: Cach: Copia de la estructura para no se tenga que leer del servidor cada vez que entra en el programa. Agiliza su funcionamiento. Grids: Guarda la configuracin del orden y ancho de las columnas, de los grids, tal como las ha configurado el usuario. Selecciones: Guarda la configuracin del orden y ancho de las columnas, de las selecciones, tal como las ha configurado el usuario.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 6 Sistema: Guarda la configuracin del programa, nombre del servidor, impresora, ubicacin listados etc.
VARIOS DICCIONARIOS
En una instalacin de Nexus puede haber varios diccionarios activos. Esto facilita que podamos desarrollar diccionarios especficos para cada mdulo de Nexus e instalar a los clientes slo el diccionario que precisa.
USAR MAYSCULAS
El nombre de los campos y tablas deben escribirse forzosamente en maysculas en todos los casos.
USAR PREFIJOS
Es aconsejable nombrar las tablas y los campos con un prefijo o sufijo, personalizado por nosotros para evitar conflictos con futuros campos que nombre SIE en el diccionario por defecto de Nexus. Por ejemplo si creamos un campo llamado tcnico podemos llamarle TECNICO_Z. En caso de que diseemos un diccionario que contenga algn campo o tabla que se llame igual al diccionario nativo de Nexus, debemos tener en cuenta que el diccionario de Nexus siempre tiene prioridad al definido por nosotros.
DICCIONARIO NEXUS
No debemos hacer modificaciones en el diccionario de Nexus ya que al actualizar versin o revisin, perderamos nuestros cambios.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 7 suficiente con copiar la carpeta del diccionario desarrollado en el directorio C:\Archivos de programa\SIE\NEXUS\Sistema
Como normal general se suele instalarse en el mismo ordenador donde est el ERP Nexus instalado y la base de datos, habitualmente en el servidor. As, a la hora de generar nuevos diccionarios, automticamente ya estamos situados en la ruta correcta para que luego el ERP Nexus pueda actualizar los nuevos cambios introducidos. NOTA: Esta herramienta no es necesario instalarlo en casa del cliente si no se va a realizar modificaciones con l. Para este caso es suficiente con copiar las carpetas y ficheros que conforman el diccionario. Al finalizar la instalacin tenemos el icono de acceso directo al nuevo programa. El ejecutable y sus ficheros auxiliares quedan instalados en la siguiente ruta: C:\Archivos de programa\SIE\NEXUS\Sistema , siempre y cuando no hayamos modificado la ruta de instalacin que indica el programa por defecto.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 8 En la parte superior, tenemos un men principal, con sus diferentes opciones.
MEN SUPERIOR
GENERAL
Desde la pestaa General, es donde tratamos con el fichero de la librera, podemos crear un nuevo diccionario, abrir uno ya existente, guardar y cancelar los cambios efectuados.
UTILIDADES
En este apartado podemos realizar las siguientes operaciones: Borrar HISTORIAL : Eliminar el histrico de diccionarios abiertos. Si borramos el histrico perdemos la agilidad de abrir diccionarios ya abiertos anteriormente ya que tendremos que ir a buscar ese diccionario expresamente. EXPLORADOR DE WINDOWS: Nos abre una ventana de explorador de Windows donde se encuentra el diccionario abierto. CREAR DATOS DE DEMOSTRACIN: Para crear una empresa de demostracin en ficheros xml que posteriormente podremos importar con Nexus CONVERTIR ESTRUCTURA XML A UNICODE : Esta opcin es la que nos convierte la estructura de nuestros diccionarios de versiones anteriores para adaptarlo a la versin 8 de Nexus. CREAR NDICES POR CLAVE FORNEA: Como que ya se tratan las Foreing Key, se ha creado una opcin para generar un ndice de forma automtica por cada una de
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 9 ellas para facilitar el trabajo del SQL server a la hora de aplicar la integridad referencial. Ayuda: En este men podremos descargar la documentacin del programa.
MEN LATERAL
Generalmente nuestra rea de trabajo se reduce a la barra lateral (aptdo. General) con las opciones tablas, columnas, ndices y claves forneas. El resto es informativo o no aplicable para la escalabilidad de la base de datos.
En el apartado Otros tenemos una serie de opciones, que nos ayudarn a dar mayor escalabilidad a nuestra base de datos. (Vistas, Funciones, Trigas, Procedimientos, Constraints, etc.)
Por columnas tenemos: Tabla: denominacin (en maysculas siempre) del nombre de la tabla. Descripcin: nombre de la tabla tal y como se va a ver desde Nexus. No es necesario que est en maysculas. Estado: puede ser de tres tipos: General: para las tablas genricas. Interna: para tablas especiales con tratamientos especiales. No aplicable a desarrollos DVA si no es para extender tablas existentes de Nexus. Virtual: para tablas especiales asociadas a un vista SQL para tratamientos especiales. No aplicable a desarrollos DVA si no es para extender tablas existentes de Nexus. NOTA: Para generar tablas nuevas hay que indicar en esta propiedad ESTADO General. Para agregar campos en tablas existentes del ERP Nexus hay que indicar el
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 11 mismo estado que Nexus, para ello deberemos de abrir previamente el diccionario de Nexus y ver su especificacin. Tipo: Hay que indicar el tipo de tabla que estamos definiendo. Los valores son los siguientes: Maestro: Son los ficheros maestros de Nexus. No se usa en diccionarios de terceros. Solo en caso de aadir campos a una tabla de Nexus Maestra, hay que indicar este tipo. General: Son el resto de las tablas que se definen en el diccionario de terceros. Auxiliar: Se usan normalmente para tablas pequeas y saldrn en el men de Ficheros Adicionales. Jerarqua: Este tipo no se usa. Obsoleta: Se marca cuando deseamos darle est tipologa a una tabla y no deseamos utilizar ms esta tabla en nuestro diccionario. Orden Auxiliar: Opcionalmente puede indicarse el orden por el que se visualizan las tablas en Nexus desde la ventana de Ficheros/adicionales.
COLUMNAS
Aqu se trata de indicar los campos que vamos a crear de nuevo cuo o aquellos campos de Nexus que deseamos insertar en nuestro diccionario. La novedad de la versin 8.0.0 y 8.2.0 es que ahora se soporta Unicode en la base de datos. Esto implica que los tipos como nvarchar, ntext, varbinary se puedan utilizar.
Si en el apartado de tablas, seleccionamos una, al entrar en columnas, por defecto sern los campos de dicha tabla. En la parte inferior, podemos cambiar la tabla:
En el desplegable primero, es el nombre o descripcin de la tabla, el segundo desplegable, es el nombre fsico de la tabla en la base de datos. Veamos la informacin que hay que indicar para la creacin de los campos de cada una de las tablas.
Columna: es este apartado debemos indicar el nombre del campo adicional que estamos creando o utilizando. Siempre debe escribirse en maysculas. Descripcin: es el nombre del campo adicional que aparecer visualmente en Nexus. Tipo: hace referencia al tipo de campo que estamos creando. Como en cualquier base de datos podemos seleccionar de esta larga lista el tipo de campo. Los campos ms usuales con los que trataremos y que posteriormente vamos a usar en los ejemplos son:
Datetime: para campos de fecha y hora. Money: para campos de contenido monetario (importes). Numeric: para campos con formato numrico. Text: para campos memo con contenido extendido. Como ejemplo tenemos el campo observaciones de la ficha del artculo. Varchar: para el resto de los casos. Longitud: indica el tamao mximo que va a tener el campo. Si vamos a crear un campo memo no es preciso cambiar la longitud propuesta por el diccionario. Adm. Nulos (admite nulos): en este apartado indicamos si el campo puede quedar sin valor o por el contrario es obligatorio que tenga contenido. Debe tenerse en cuenta que si estamos dando de alta un campo en una tabla que ya tiene registros, para que no nos salga ningn error, debemos indicarle que admite nulos. De este modo los registros anteriores a la incorporacin del campo, al indicar que admite nulos, no producirn ningn error. Defecto: Valor por defecto que se desea rellenar este campo. Cuadrado: indica si el contenido queda justificado a la derecha.
Descr. tabla (descripcin tabla): si tenemos activa esta opcin, estamos indicando que deseamos que nos muestre este campo al hacer una vinculacin de esta tabla origen con otra tabla de destino. Para cada tabla, slo debe haber un campo con la opcin descr. tabla activada. Calculado: no podemos usar este campo en nuestros diccionarios. Versin, Revisin, Parche: El diccionario, toma por defecto los valores que tienen los respectivos campos en la pestaa general. Es til para saber en qu momento se ha introducido el campo si queremos llevar un control de versiones y revisiones. Valores posibles: en este apartado introduciremos los valores posibles que puede tener el campo. Esto es especialmente til para los campos desplegables (combo) que tienen informacin prefijada. La informacin que se incluye en este campo debe separarse con punto y coma (;) y sin dejar espacio entre los datos. Un ejemplo en un tipo de campo verdadero o falso, sera tal como se muestra en la imagen anterior T;F.
Valor defecto: si en el apartado anterior hemos indicado varios datos, aqu podemos indicar con que valor queremos que rellene el campo de modo predeterminado al hacer un registro nuevo. En mantenimientos: en este apartado debemos seleccionar el modo de mantenimiento del campo que estamos creando. Este puede ser
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 14 Slo ver: el campo slo est disponible en modo consulta para el usuario de Nexus. No puede editarlo. Editar: el campo est disponible para el usuario de Nexus en modo edicin, lo que permite ver, insertar informacin y modificarla. No ver: el campo no es visible para el usuario de Nexus. Tipo de editor: este apartado nos permite indicar de que manera ser visible el campo en ficheros maestros y cabecera de documentos. Si el campo que estamos creando va a verse desde un grid (por ejemplo desde las lneas de factura) esto no siempre es de aplicacin. De este modo, podemos elegir entre:
Sin editor: opcin que aparece por defecto y que debemos usar cuando en el apartado anterior, en mantenimientos, hemos elegido la opcin de no ver. Campo: opcin a seleccionar para campos donde introducimos informacin alfanumrica como el nombre de la ficha del cliente. Combo: con esta opcin indicamos que el campo es del tipo combo box o tambin llamado desplegable. Check: opcin para determinar que se trata de un campo check box. Memo: opcin a utilizar para los campos donde la informacin a introducir es extensa tal y como en Nexus lo usamos para el campo observaciones de la ficha del artculo. Imagen: Es un campo en el nos interesa insertar una imagen. Depende del campo: apartado creado para uso interno de SIE.
CREACIN DE NDICES
En este apartado, tenemos que indicar exclusivamente para tablas nuevas creadas por nosotros que campo o campos tendremos los ndices. As tenemos: ndice: aqu indicamos el nombre del ndice que estamos creando. Debemos inventarnos el nombre del ndice. Como siempre tenemos que introducirlo en
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 15 maysculas y con un sufijo o prefijo que lo distinga de posibles coincidencias con el diccionario de Nexus. Columnas: en este apartado, debemos introducir en nombre de la columna que va a ser indexada. Este campo debe existir en nuestro diccionario. Clave: Indicamos si el ndice es clave. Nota: Los nombres de las primary keys deben de empezar por PK_ + nombre de la tabla. Cuando se asigna un ndice como clave, por defecto se le asigna que est agrupado ya que la primary key es un ndice clave y agrupado. Se recomienda tener ndices por campos simples, por cada clave fornea y por campos que se utilicen con mucha frecuencia. nico: indicamos si el valor que hay en el campo indexado es nico o se puede repetir. Agrupado: de utilidad para la aplicacin de ndices agrupados que requiere programacin adicional para su uso.
CLAVES FORNEAS
En este apartado, ser donde se realicen, las relaciones que existen en nuestras tablas:
La integridad de la base de datos ha cambiado tanto en concepto como en funcionalidad. Anteriormente se especificaba la integridad de una tabla respecto a otras situndose en la tabla hija. (Ejemplo: Para la integridad de clientes, nos situbamos en sta he indicbamos todas sus relaciones). Ahora se unifica criterios y se especifica tal y como lo hace SQL server, desde la tabla padre. (Ejemplo: Si quiero integridad de clientes con facturas, me sito en facturas e indico su relacin con clientes). En la pestaa de claves forneas indicamos la integridad que hay entre la tabla que estamos creando y otras tablas de nuestro diccionario. Los campos que debemos indicar para realizar una vinculacin entre dos tablas son: Tabla externa: Es el nombre de la tabla de destino, es decir, la tabla que recibe los datos. Campos principales: Se indica que campo, es el que sirve para vincular con la tabla principal. Campos externos: se indica que campo es el que sirve para la vinculacin en la tabla externa. Tipo de relacin: la vinculacin puede ser de dos tipos:
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 16 Restrictiva: usaremos este tipo de relacin para el supuesto de querer borrar registros de la tabla origen y si estos ya estn en la tabla de destino no nos va a permitir su borrado. Un ejemplo de esta relacin en Nexus la tiene la tabla de clientes y cabecera de facturas. Si queremos eliminar un cliente al que ya se le ha hecho una factura de venta, Nexus no nos permite hacerlo ya que ambas tablas tienen un tipo de relacin restrictiva. En cascada: este tipo de relacin la usamos cuando deseamos borrar un registro de la tabla origen y aunque haya datos en la tabla de destino, tambin podemos borrarla. Por ejemplo en Nexus tenemos una tabla de contactos donde guardamos los contactos para cada almacn. Como ambas tablas tienen una relacin en cascada, al borrar un almacn, tambin se borran los contactos de este almacn en la tabla de contactos. Tipo de relacin Actualizacin: No se usa. Se utilizar en la prxima versin de diccionario que lleva integridad en la base de datos. Filtro principal y filtro externa: para uso interno de SIE. Requiere programacin adicional para su uso. Aplicar en BD como: Slo en 820.Aqu especificaremos el tipo de relacin que se establecer. ForeignKey o constranints. ForeingKey: Slo en 820.La relacin en la base de datos es crear una ForeignKey para crear una integridad referencial en la base de datos Constraint: Slo en 820. Por compatibilidad con la estructura actual de Nexus, se utiliza este concepto junto con funciones y triggers para emular el concepto de foreingkey. Nota: Para crear constraints como foreingkey es necesario que si existen valores en las columnas de filtro principal y filtro externo, stos estn englobados entre parntesis. Ejemplo: (TIPO = 'PROVEED') o as ((TIPO = 'PROVEED') AND (TIPO = 'CLIENTES')) Filtro principal y filtro externo: para uso interno de SIE. Requiere programacin adicional para su uso. Nota: Para realizar una vinculacin entre tablas nuestras y otras que ya existen en Nexus, debemos hacer que estas tablas de Nexus tambin estn en nuestro diccionario. Por lo tanto, debemos escribir en la subpestaa tablas, la tabla de Nexus tal y como aparece en el diccionario de Nexus. No es necesario que creemos todos los campos (o columnas) que hay en la tabla de Nexus para esta tabla, con poner los que necesitamos para la vinculacin es suficiente. Las vinculaciones se realizan siempre desde las tablas que son origen de los datos. Es decir debemos ir a la subpestaa integridad de la tabla origen de los datos para hacer las vinculaciones correspondientes con otras tablas. Una misma tabla puede vincularse con varias tablas a la vez.
INTEGRIDAD
En esta seccin no se permite ningn tipo de edicin. Nos indica es que recibe informacin de otras tablas y por lo tanto est vinculada a la tabla que estamos consultando.
OTRAS RELACIONES
Sin aplicacin para un DVA.
GESTIN DE PROYECTOS
Como ejemplo realizaremos el siguiente supuesto: Somos una empresa de servicios a obras y nos interesa, llevar el control de la facturacin por obra, ya sea para el control de costes o por obtener resmenes por este concepto. Para ello sera necesario unos ficheros auxiliares, que podramos llamarlos Proyectos y Responsables y por ltimo se creara un campo nuevo en todos los documentos, para que sea solicitado el proyecto, tambin, se puede aadir este campo en la tabla de clientes, para que tenga el dato por defecto. Vemos por partes cada una de estas tareas: Creacin de tablas nuevas: Veremos cmo crear nuevas tablas en el diccionario, que no existen en Nexus, as como definir sus campos, ndices, etc.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 18 Creacin de campos en tablas ya existentes: Veremos como tambin se puede aadir campos a tablas que ya existen en Nexus, por ejemplo en nuestro caso ser en las tablas de cabeceras de documentos, lneas de documentos y en artculos.
Aparece la ventana que nos pregunta dnde va a estar ubicado el nuevo diccionario. Debemos indicarle el directorio donde residir nuestro diccionario. En el ejemplo el directorio se llama Proyectos, que previamente se ha creado.
Es muy importante que cada diccionario creado por nosotros, deba estar en una carpeta con un nombre que identifique a nuestro diccionario y si aceptamos los datos por defecto de la instalacin, este debe ponerse dentro de la ruta siguiente: C:\Archivos de programa\SIE\NEXUS\Sistema Una vez se ha indicado el directorio, se carga en la pestaa general los datos diversos del la empresa desarrolladora y los datos de versin y revisin que se utilizarn para controlar las versiones.
Pulsar el botn Guardar cambios. En este momento se han creado los siguientes archivos dentro de la carpeta que hemos indicado para el diccionario. Desde el men principal Utilidades, si pulsamos sobre el botn Explorador Windows, accedemos directamente al directorio de nuestro proyecto.
Creamos dos tablas a las que llamaremos PROYECTOS y RESPONSABLES Seleccionar Tablas, y rellenar los datos tal como se muestra en el pantalla de ejemplo:
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 20 Seleccionar la primera tabla Proyectos y pulsar en la pestaa Columnas
Los campos que se han incluido en esta tabla, de informacin adicional, son los siguientes: FechaInicio: Ser la fecha inicio del proyecto FechaFin: Ser la fecha final del proyecto o la fecha prevista. IdProyecto: Cdigo del proyecto. NomProyecto: Descripcin del proyecto. ObsProyecto: Observaciones del proyecto. ResponProyecto: Cdigo del responsable del proyecto. Seleccionar la tabla Responsables y pulsar la pestaa columnas.
Para la tabla de Responsable, los campos son los siguientes: IdIresponsable, NomResponsable, Telresponsable, EmailResponsable En Tipo, seleccionar el tipo de datos ms adecuado al campo, en longitud la correspondiente al campo. La columna Adm. nulos, excepto en el campo Irresponsable que hay que desmarcarlo, el resto a gusto del usuario. En el caso del campo nomresponsable marcar la columna Descr. Tabla. Ms adelante veremos el porqu.
CREACIN DE LOS NDICES
A continuacin se debern definir los ndices para cada una de las tablas. Seleccionar la tabla Proyectos y pulsar la pestaa Indices
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 21 Se crear el ndice con los siguientes valores: Nombre del ndice: PK_PROYECTOs Columna a sobre la que se indexa: IDPROYECTO Clave: Seleccionado Agrupado: Seleccionado Lo mismo para la tabla Responsables. En la parte inferior podemos cambiar la tabla.
Nombre del ndice: RESPONSABLE Columna a sobre la que se indexa: IDRESPONSABLE Clave: Si
CREACIN DE CAMPOS EN TABLAS YA EXISTENTES
Del mismo modo que se han creado tablas nuevas con sus correspondientes campos, ahora toca el turno, de aadir un campo adicional a una tabla existente, en este caso veremos la tabla Cabeceras de factura de venta. Para ello en el diccionario debemos dar de alta en la pestaa Tabla el nombre de la tabla de Nexus, por ejemplo la tabla se denomina Cabefacv Los campos que tengamos que aadir, que corresponden con nuestras tablas, debern ser con el mismo nombre, por ejemplo, si vamos a aadir el cdigo del proyecto, el campo deber ser el mismo que para la tabla PROYECTOS que en nuestro caso es IDPROYECTO. Seleccionamos la pestaa Tablas y damos de alta la tabla.
Una vez creada, la seleccionamos y pulsamos la pestaa Columnas aadimos el campo IDPROYECTO.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 22 Nota: Recordar de seleccionar correctamente en todos los campos las columnas En mantenimientos y en Tipo de editor, ya que si no se selecciona esta informacin, no sern visibles en Nexus
De esta forma, conseguimos que se active el botn de la seleccin, para poder elegir de la lista de proyectos el que deseamos asignar al documento:
Tabla principal: Teclear el nombre la tabla que tendremos en la seleccin, en nuestro ejemplo Proyectos. Campos principales: Teclear el nombre del campo clave que relaciona Proyectos con Cabefacv. En este ejemplo es IDPROYECTO. Campos externos: Teclear el nombre del campo clave de la tabla Cabefacv. En este ejemplo es IDPROYECTO. Nota: Los campos que relacionen tablas, se aconseja ponerles el mismo nombre. Tipo relacin: Seleccionar Restrictiva. Nota: Es importante que el campo NombreProyecto de la tabla proyectos, tenga marcado la columna Descr. Tabla.
El segundo paso es crear la clave fornea en la tabla Proyectos, tal como se muestra a continuacin:
Estado: Virtual / Tipo: Maestro Damos de alta el campo IDPROYECTO en ambas tablas. Recordar activar el Tipo de mantenimiento y el editor. El siguiente paso, es crear las claves forneas en ambas tablas.
Para que el diccionario pueda utilizarse dentro de Nexus, debemos activarlo en la opcin de men Otros Datos generales, pestaa Preferencias en la opcin Aplicar campos externos (diccionarios de terceros), tal y como se muestra en la imagen.
Este proceso, debe realizarse en cada empresa de Nexus sobre la que deseamos que se aplique el diccionario. No obstante, es importante destacar que las tablas y campos diseados en nuestro diccionario, se crean en todas las bases de datos que hay en Nexus independientemente de que se active a travs
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 26 de datos generales. Esta activacin implica la visualizacin de las tablas y campos de nuestro diccionario en la empresa en la que se aplica la opcin.
CAMBIO DE NOMBRE DE LAS PESTAAS ADICIONALES
Una de las opciones de configuracin visual que tenemos con las pestaas que hemos creado, es el cambio del ttulo de las pestaas. Para proceder a dicho cambio debemos situarnos dentro de la pestaa correspondiente y pulsar el botn derecho de ratn. Nos aparece un men contextual como el que muestra la imagen
Al terminar apretamos nuevamente el botn derecho y seleccionamos la opcin guardar configuracin para guardar los cambios que hemos hecho. Si no se hace este ltimo paso, se pierden los cambios hechos.
DISEO DE LAS PESTAAS ADICIONALES
Otra de las configuraciones visuales que podemos hacer es la reubicacin de los campos que hay en una pestaa creada por nosotros. Estos cambios slo se pueden hacer en pestaas de nuestro diccionario y no en las otras pestaas de Nexus. Debemos situarnos dentro de la pestaa que deseamos modificar y pulsar el botn derecho de ratn. Nos aparece un men contextual y seleccionamos la opcin Entrar en modo diseo.
Si nos fijamos en la pantalla anterior, veremos como todos los campos de esta pestaa estn rodeados de unos puntos cuadrados. Ahora se trata de reposicionar y dimensionar los campos segn nuestras necesidades. Una vez finalizado las modificaciones, pulsamos el botn derecho del ratn y del men contextual, seleccionamos la opcin Guardar configuracin para mantener los cambios.
Esta carpeta hay que copiarla, en la carpeta Sistema de Nexus del nuevo servidor: C:\Archivos de programa\SIE\NEXUS\Sistema
Ejecutar la vista siguiente, con la que estamos eliminando de la base de datos los registros del diccionario. En caso de borrar todos los diccionarios la vista es: Delete from versin where librera <> Nexus En caso de borrar un diccionario la vista es: Delete from versin where librera=Nombre de la librera Pasar las vistas detalladas a continuacin para limpiar sistema: DELETE NEXUS$SISTEMA.dbo.Actualizaciones DELETE NEXUS$SISTEMA.dbo.Columnas DELETE NEXUS$SISTEMA.dbo.Indices DELETE NEXUS$SISTEMA.dbo.Integridad DELETE NEXUS$SISTEMA.dbo.Plantillas DELETE NEXUS$SISTEMA.dbo.Procedimientos DELETE NEXUS$SISTEMA.dbo.Relaciones DELETE NEXUS$SISTEMA.dbo.Tablas DELETE NEXUS$SISTEMA.dbo.Version DELETE NEXUS$SISTEMA.dbo.Vistas DELETE NEXUS$SISTEMA.dbo.Sistema
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 29 En la cach de disco de cada equipo y usuario borrar la carpeta cach que habitualmente est en: C:\Documents and Settings\usuarioX\Datos de programa\SIE\Cach Eliminar manualmente desde Administrador corporativo de Microsoft SQL Server, todas las tablas nuevas creadas. Con ello queremos conseguir que la base de datos no tenga tablas innecesarias. Para eliminar los campos nuevos creados en las tablas de Nexus podemos hacer una de estas dos acciones: Actualizar a una versin superior de Nexus. Forzar la comprobacin de estructura desde el botn propiedades de la pantalla de seleccin de empresas.
MENS EXTERNOS
INTRODUCCIN
Para poder integrar Nexus a otras aplicaciones externas, existe la posibilidad de poder modificar el men estndar de la aplicacin. El programador, podr aadir opciones a los mens ya existentes, o crear incluso un men entero, el cual quedar integrado en el estndar de Nexus. Por ejemplo, podramos crear un men de Utilidades y en l, crear accesos a la calculadora de windows, a Word, Excel, a un programa realizado a medida, que conecta con Nexus, etc...
QUE ES XML
Los mens se crean mediante unos ficheros en formato Xml. Al igual que HTML (el lenguaje para crear pginas Web), se basa en documentos de texto plano (podemos editarlo con el bloc de notas), en los que se utilizan etiquetas para delimitar los elementos de un documento. Este documento es para usuarios que estn familiarizados con este formato. En el directorio donde se encuentre instalado Nexus, existe una carpeta Mens
Existen 2 ficheros: nexusv8.xml: Fichero XML con la estructura del Men de Nexus. Nexusv8xml.txt: Documentacin de la estructura del fichero XML.
ESTRUCTURA XML
Los mens de Nexus, pueden ser definidos en el men Lateral como se muestra en la siguiente imagen:
A continuacin se detalla la sintaxis del fichero xml, para crear los mens en ambos casos. El fichero XML PUEDE tener dos nodos, MENUS y GRUPONAVBAR.
MEN LATERAL
Para la creacin de un men en el lateral, tenemos los siguientes elementos. Hay que tener en cuenta el siguiente organigrama:
MENU
GRUPOS
CATEGORIAS
OPCIONES
OPCIONES
ITEMS
OPCION
SEPARADOR
OPCION
SEPARADOR
ITEMS
MENUS envuelve los grupos, que slo pueden estar a este nivel. GRUPOS pueden contener CATEGORIAS u OPCIONES, pero no ambas a la vez. CATEGORIAS pueden contener: ITEMS u OPCIONES pero no ambos a la vez. OPCIONES pueden contener solo OPCION y SEPARADOR ITEMS pueden contener SOLAMENTE otros ITEMS. OPCION no puede contener nada. En la siguiente tabla se detallan las propiedades de cada elemento.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 34 <GRUPO Titulo="Ficheros" Imagen="Imgenes/iconos/Ficheros16x16.bmp" IdOrd="1"> Titulo: Titulo que aparecer. Imagen: Imagen asociada a ese grupo. IdOrd: Identificador, es obligatorio y no puede repetirse en todo el fichero.
OPCION
GRUPO
<OPCION Titulo="Clientes" Id="manClientes" IdOrd="3"></OPCION> Titulo: Titulo que aparecer. Id : Identificador de la opcin de Nexus que se ha de ejecutar al ser seleccionada (salvo en caso de existir el atributo "Externa", en cuyo caso contendr el path con el fichero y la extensin a ejecutar) Imagen: Imagen asociada. Si no se informa, se usar la imagen de la opcin de Nexus informada en Id Externa: "T" o "F" indica si la opcin llama a un programa externo o a una opcin de Nexus. IdOrd: Identificador, es obligatorio y no puede repetirse en todo el fichero.
ITEM
<ITEM Titulo="Clientes" Id="manClientes" Imagen="Imgenes/iconos/Ficheros16x16.bmp"></ITEM> Titulo : Titulo que aparecer. Id : Identificador de la opcin de Nexus que se ha de ejecutar al ser seleccionado. Imagen: Imagen asociada. Si no se informa, se usar la imagen de la opcin de Nexus informada en Id IdOrd: Identificador, es obligatorio y no puede repetirse en todo el fichero.
SEPARADOR <SEPARADOR IdOrd="48"></SEPARADOR> IdOrd: Identificador, es obligatorio y no puede repetirse en todo el fichero.
En este men, GRUPO corresponde a Ficheros. CATEGORIAS corresponde a Mis favoritos, General. OPCION corresponde a Clientes, Proveedores, etc.. La raya horizontal sera el SEPARADOR.
BARRAS DE MENS
Hemos visto como es la estructura del men lateral, ahora veremos como crear el men pero en la barra superior de Nexus.
GRUPONAVBAR
NAVBAR
NVSEPARADOR NVITEMS
NVCATEGORIAS
NVSEPARADOR
El GRUPONAVBAR contiene la informacin para crear las barras de herramientas. GRUPONAVBAR puede contener SOLO NAVBAR NAVBAR puede contener NVCATEGORIA, NVSEPARADOR, NVITEMS, NVITEM, BUSCADOR. NVCATEGORIA pueden contener NVITEMS o NVSEPARADOR
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 36 NVITEMS puede contener NVITEMS o NVSEPARADOR En la siguiente tabla se detallan las propiedades de cada elemento.
NAVBAR
<NAVBAR Titulo ="Barra de men principal"> Titulo : Titulo que aparecer. <NVITEMS Titulo="Archivo" Imagen="" IdOrd="1000"> Titulo : Titulo que aparecer. Id : Identificador de la opcin de Nexus que se ha de ejecutar al ser seleccionado. Imagen: Imagen asociada. Si no se informa, se usar la imagen de la opcin de Nexus informada en Id IdOrd: Identificador, es obligatorio y no puede repetirse en todo el fichero.
NVITEMS
NVITEM
<NVITEM Id="GestionEmp" IdOrd="1010"></NVITEM> Titulo : Titulo que aparecer. Id : Identificador de la opcin de Nexus que se ha de ejecutar al ser seleccionado. Imagen: Imagen asociada. Si no se informa, se usar la imagen de la opcin de Nexus informada en Id IdOrd: Identificador, es obligatorio y no puede repetirse en todo el fichero.
SEPARADOR
<SEPARADOR Titulo="Documentacin" IdOrd="1670"></SEPARADOR> Titulo : Titulo que aparecer. IdOrd: Identificador, es obligatorio y no puede repetirse en todo el fichero.
IMGENES
Uno de los parmetros son las imgenes. Hay que indicar el directorio donde se encuentra el icono a incluir en Nexus. El fichero imagen debe ser tipo BMP con una medida de 32x16.
NAX
QU ES NAX (NEXUS ACTIVEX)?
NAX es una librera ActiveX que permite a terceros conectarse con Nexus. Los objetivos de la librera NAX: Simplificar la tarea de utilizar la lgica de negocio de la aplicacin Nexus a travs de una serie de objetos con mtodos y propiedades que permiten manejar esa lgica. Poder llamar a cualquiera de las opciones visuales de Nexus desde la aplicacin desarrollada. Poder realizar cualquiera de los informes de Nexus introduciendo los parmetros desde aplicaciones externas. Independizar la utilizacin de los objetos de la aplicacin de su implementacin, lo que permitir, en el futuro, facilitar la migracin a nuevas versiones de aplicaciones desarrolladas con NAX. Esta ventaja reducir considerablemente el coste de mantenimiento de las aplicaciones desarrolladas con NAX tanto desde el punto de vista del cliente como desde el punto de vista del desarrollador. Igualmente minimizar los problemas de mantenimiento que podran derivarse de las evoluciones de de las distintas revisiones de Nexus. Independizar el uso de los objetos del formato en que se almacena la informacin en el disco tanto de las bases de datos que se utilizaron en el pasado (PARADOX y SQL Server 6.5) , de las que se utilizan en el presenta (SQL Server 7 o SQL Server 2000) o de las que puedan utilizarse en un futuro. Conseguir la sensacin (por parte del usuario) de que est trabajando con una nica aplicacin y un nico entorno. Garantizar la seguridad establecida por el administrador de Nexus para aquellas aplicaciones que utilizan las opciones de Nexus a travs de NAX. Evitar el uso de ficheros intermedios (ASCII, XML, etc...) como sistema para conectarse con otras aplicaciones. En la mayora de los casos es preferible la conexin en tiempo real que permite NAX. Este tipo de enlace permite que las dos aplicaciones se interrelacionen entre si lo que permitir al usuario una reaccin inmediata en el momento en que se produce el problema. En la figura que se presenta a continuacin puede verse el esquema que se utiliza desde una aplicacin desarrollada a medida para acceder a los datos. Se establecen como nicos interlocutores con la aplicacin a medida (las flechas verdes):
Lectura de la base de datos directamente para acceder a los datos de la empresa (se recomienda utilizar este camino exclusivamente en modo lectura). El usuario (de SQL Server) que consulta la base de datos debe tener los permisos suficientes. Interaccin con NAX para realizar las operaciones que interaccionan con la lgica de negocio (operaciones con maestros, documentos, contabilidad y cartera) y con Nexus (para el enlace visual con cada opcin o informe). En este caso la seguridad es la que se ha establecido en el apartado de seguridad de Nexus para cada usuario perteneciente a un perfil determinado.
En este manual pretende orientar al desarrollador sobre los principales objetos y su modo de empleo. Para ello dividiremos en varios captulos, que se detallan a continuacin: Cmo empezar?: Instalacin de la librera. Organizacin de NAX: Relacin de objetos que forman NAX. Enlace: Uso del objeto de conexin a los datos. Enlace visual con Nexus: Permite llamar a las opciones de Nexus con parmetros que variarn su comportamiento. Informes de Nexus: Uso de los informes de Nexus pasando parmetros desde el programa. Consultas: Uso del objeto varios que permite realizar consultas sobre la base de datos. Maestros: Ayuda a comprender el modo de utilizar los distintos ficheros maestros de la aplicacin. Seleccion: Permite presentar la pantalla de seleccin estndar de Nexus, sin necesidad de crear un maestro. Documentos: Permite conocer las primitivas para trabajar con documentos como facturas, albaranes, depsitos, pedidos, ofertas, regularizaciones, traspasos, expedientes, etc. Apuntes: Objeto para trabajar con asientos contables. Cartera: Permite mover la cartera de efectos (cobrar, pagar, etc..). Stocks: Creacin y modificacin de inventarios, movimientos y reservas de stock. Excepciones: Tratamiento de los errores reportados por NAX. Cuotas: Objeto para trabajar con cuotas automticas de facturas y albaranes. (NUEVO 802B) CobroParcialRemesa: Permite cobrar parcialmente una remesa.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 39 (NUEVO 802B) AnularCobroParcialRemesa: Permite anular el cobro de una remesa (cobrada parcialmente). Las primitivas de NAX pueden dividirse en cuatro grandes grupos: Enlace: Facilita procedimientos para conectarse a una empresa, de aquellas a las que puede accederse desde el ordenador en el que se est usando NAX. Ejecucin de las opciones visuales de Nexus: Permite llamar a las opciones que se ejecutan desde el men de Nexus. Esto permite crear un entorno especial para una instalacin y no ejecutar Nexus. Impresin de informes de Nexus: Nexus dispone de sus informes ya definidos adems de los informes que han sido modificados por el usuario. Estos informes constan de dos partes, la pantalla que solicita los filtros de la informacin que se desea listar y el listado como tal. La primera de estas tareas puede realizarse desde un programa externo y llamar a la segunda parte con los filtros deseados por el programador. Operaciones con objetos de NAX: Permite crear, borrar o modificar los distintos objetos que forman la lgica de negocio de la aplicacin Nexus. Entre otras caben destacar las operaciones que pueden realizarse sobre maestros, documentos (ofertas, pedidos, albaranes, facturas, etc...) apuntes, cartera, activos fijos y presupuestaria.
INSTALACIN DE NAX
Al instalar Nexus, se registrar automticamente el fichero NAX.DLL, que por omisin se instala en C:\Archivos de programa\SIE\Nexus. En caso de necesitar registrar NAX la instruccin es: regsvr32 "c:\archivos de programa\sie\Nexus\nax.dll" Una vez registrado NAX tendremos que incorporar las funcionalidades a nuestra aplicacin importando el activeX;para esto podemos hacerlo de las siguientes maneras : Aplicaciones en delphi: podemos hacerlo de dos formas, haciendo un uses del NAX_TLB.pas en nuestro proyecto ( est en la carpeta interface de la instalacin de Nexus) para usuarios de delphi7 o importando la Type Library para inferiores a delphi7. Aplicaciones en otros lenguajes: importar el nax segn especificaciones del lenguaje (por ejemplo en VB sera marcar una referencia).
ORGANIZACIN DE NAX
NAX se organiza mediante objetos. Para cada objeto debe crearse una instancia en la aplicacin que se desea conectar a travs de NAX. A partir de ese momento, utilizaremos esa instancia para hacer referencia al objeto y poder utilizar sus propiedades y sus mtodos.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 41 ReservaStock: Objeto que permite la creacin, modificacin y borrado de lneas que generan reservas en el stock por documentos no controlados por Nexus. Opcion: Objeto que permite llamar a cualquier opcin de la aplicacin Nexus. Listado: Objeto que permite realizar informes pasando los parmetros deseados directamente. OperacionesInmovilizado: Objeto que permite realizar operaciones sobre el inmovilizado as como amortizar y repercutir las amortizaciones de las cuotas. Presupuesto: Permite crear, borrar o modificar el contenido de la contabilidad presupuestaria. Estructura: Objeto que permite la creacin, modificacin y borrado de estructuras. OrdenProduccion: Objeto que permite la creacin, edicin, borrado y evolucin de las rdenes de produccin. Filtro: Objeto que permite la creacin, modificacin, y borrado de los filtros. Expediente: Objeto que permite la creacin, modificacin y borrado de expedientes. Tambin la facturacin y anulacin del mismo.
ENLACE (CONEXIN)
NECESIDADES DE NAX PARA CONECTARSE A UNA EMPRESA EN UNA ESTACIN
NAX necesita que est instalado Nexus en esa estacin ya que comparten la instalacin.
Procedimiento Inicia la conexin con una empresa indicada en un parmetro Funcin Funcin Inicia la conexin con una empresa seleccionada por el propio usuario. Inicia la conexin en la empresa en la que se encuentra Nexus. Creado para poder llamar a un programa que use NAX desde la barra de iconos de Nexus. Activa el tipo contable (multiempre) de los tipos permitidos por el usuario. Activa el tipo contable (multiempre) del registro de Windows, de los tipos permitidos por el usuario.
Funcin Funcin
EliminarRecordatorioClave Procedimiento Elimina el flag de recordar la contrasea del registro de Windows EstacionActivada CerrarVentanas ActivarVentana LoginUsuario Funcin Retorna si el numero de serie de lPRODUCTO NEXUS est activado para la estacin.
Procedimiento Cierra todas la ventanas abiertas de Nexus Procedimiento Pone en primer plano la ventana activa de Nexus Funcin Se utiliza para evitar la pantalla visual donde se piden el usuario y password de entrada en Nexus, y retorna
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 43 si dichos valores son correctos para entrar en la aplicacin. Siempre que se trabaje con NAX debe haberse conectado previamente una empresa concreta. Para iniciarse esta conexin (enlace) existen dos posibles sistemas: A) Que la aplicacin desarrollada con NAX presente la relacin de empresas existentes y el usuario se encargue de seleccionar la empresa con la que desea trabajar. B) Llamar a una funcin de NAX que se encargue de conectarnos con la ltima empresa con la que se ha conectado desde Nexus.
En ambos casos el resultado final es que NAX queda conectado con una empresa contra la que trabajarn todos los objetos que en adelante se utilicen. A continuacin se muestran dos ejemplos, en cada uno de los cuales se muestra una de las dos formas de crear un enlace con una empresa elegida por el usuario.
EJEMPLOS EN DELPHI
INICIAR UN ENLACE (OPCIN A)
var naxEnlace: Enlace; procedure Enlazar; begin naxEnlace := coEnlace.Create; // Saldr la seleccin de empresas de Nexus if not naxEnlace.SelecEmpresa then Exit; end;
INICIAR UN ENLACE (OPCIN B)
var naxEnlace: Enlace; procedure Enlazar; begin naxEnlace := coEnlace.Create; if not naxEnlace.SelecEmpresaActiva then Exit; end; // Se crea el objeto para el enlace // Se inicia el enlace en la empresa donde se est con Nexus
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 45 if naxEnlace.bError then begin raise Exception.Create( Error: + naxEnlace.sMensaje); programa end; end; De esta forma la aplicacin quedara menos cargada de cdigo: var naxEnlace: Enlace; naxClientes: Maestro; begin naxEnlace := coEnlace.Create; naxEnlace.Iniciar( Mi empresa, C:\archivos de programa\sie); naxClientes := coMaestro.Create; naxClientes.Iniciar( Clientes); naxCheck; naxClientes.Nuevo; naxCheck; . . end; // En caso de error rompe la ejecucin del programa // En caso de error rompe la ejecucin del programa // Rompe la ejecucin del
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 46 naxOpcion: Opcion; begin naxOpcion := coOpcion.Create; naxOpcion.Iniciar; naxOpcion.IdOpcion := manClientes; naxOpcion.Ejecutar; naxOpcion.Acabar; end;
EN VISUAL BASIC
Private Sub btnEditarNexus_Click() Dim NaxOpcion As NAX.Opcion Set NaxOpcion = New NAX.Opcion NaxOpcion.Iniciar NaxOpcion.IdOpcion = "manClientes" NaxOpcion.Ejecutar NaxOpcion.Acabar **
procedure MantenimientoClientes( sCliente: string); var naxOpcion: Opcion; begin naxOpcion := coOpcion.Create; naxOpcion.Iniciar; naxOpcion.IdOpcion := manClientes; naxOpcion.AnadirParametro( Accion, Edicion); naxOpcion.AnadirParametro( Codigo, sCliente); naxOpcion.Ejecutar; naxOpcion.Acabar; end;
EN VISUAL BASIC
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 47 Set NaxOpcion = New NAX.Opcion NaxOpcion.Iniciar NaxOpcion.IdOpcion = "manClientes" Call NaxOpcion.AnadirParametro("Accion", "Edicion") Call NaxOpcion.AnadirParametro("Codigo", edtCodigo.Text) NaxOpcion.Ejecutar NaxOpcion.Acabar End Sub
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 48 var naxListado: Listado; begin naxListado := coListado.Create; naxListado.Iniciar; naxListado.IdListado := lstCli; naxListado.Destino := destPDF; naxListado.Copias := 1; naxListado.Modelo := Listado con email; naxListado.AnadirParametro( CodIni, naxListado.Imprimir; naxListado.Acabar; end; 1); // Reservar los recursos // Identificador del listado // Destino del listado (fichero en formato PDF) // N de copias // Nombre del modelo definido por el usuario // Cdigo inicial
naxListado.Fichero := C:\Listados \Clientes email.pdf; // Fichero donde almacenar el listado naxListado.Impresora := Impresora local LaserJet 4200; // Nombre de la impresora
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 49 naxLis.IdListado := 'LSTIMPREFERE'; naxLis.AnadirParametro('NumCartera0', '6356'); naxLis.AnadirParametro('NumVen0', '1'); naxLis.AnadirParametro('Total', '0'); naxLis.AnadirParametro('Posicion', '1'); naxLis.AnadirParametro('FecExp', '07/12/2009'); naxLis.AnadirParametro('CobroPago', 'C'); naxLis.AnadirParametro('Portador', 'Prueba'); naxLis.Destino := destJPG; naxLis.Fichero := 'C:\tmp\Prueba.jpg'; NaxLis.Imprimir; NaxLis.Acabar; End;
VARIOS (CONSULTAS)
En este apartado veremos algunas de las funciones que pueden ayudarnos en la integracin con Nexus. Los mtodos que vamos a usar en este captulo se encuentran en el objeto Varios y se detallan a continuacin:
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 50 FormatNum FormatEdiNum Redondear Version Revision Parche Vencimientos LlamarVisual Funcin Funcin Funcin Propiedad Propiedad Propiedad Funcion Procedure Devuelve el formato para n decimales (con miles) Devuelve el formato para n decimales Redondea un nmero a n decimales Contiene la versin instalada de Nexus Contiene la revisin instalada de Nexus Contiene el parche instalado de Nexus Crea un array con la informacin el conjunto de vencimientos con las condiciones especificadas. Muestra un pantalla visual de Nexus
Funciones para recuperacin de identificadores Mtodos SigId Tipo Funcin Descripcin Devuelve el siguiente valor del identificador
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 51 En el ejemplo interesa conseguir un identificador nico para cada cuota de un programa que estamos creando. Function IdentificadorCuotas: Double; ( en Delphi) var naxVarios : Varios; Begin naxVarios := coVarios.Create; Result := naxVarios.SigId( Cuotas); End; Function Sub IdentificadorCuotas Dim NaxVarios As NAX.Varios Set NaxVarios = New NAX.Varios Return( call NaxVarios.SigId( Cuotas)) Este trozo de cdigo garantiza al programador que cada vez que llame a esta funcin obtendr un identificador nico identificado con el texto Cuotas. El primer valor de este identificador ser el 1 y este se ir incrementando continuamente.
MAESTROS
La mayora de los ficheros maestros que utiliza Nexus pueden ser gestionados desde este objeto. Para ello cuando se crea la instancia del objeto, hay que indicar el nombre del fichero al que desea asociarse la instancia, de la forma que se muestra en los siguientes ejemplos:
EN DELPHI
var naxClientes: Maestro; begin naxClientes := coMaestro.Create; ... ... naxClientes.Acabar; end;
EN VISUAL BASIC
// Crea la instancia del maestro de clientes // clientes // como siempre, destruir el objeto creado
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 52 ... ... naxClientes.Acabar El parmetro que se le pasa al procedimiento iniciar es el valor del parmetro en la siguiente tabla (no estn los que coincide el nombre de la tabla con el parmetro: Nombre de tabla TipoIva RegIva RegIva ( solo soportados) RegIva ( solo repercutidos) Proveed Articulo DocuPago FormaPag Almacen Represen Transpor Provinci CentrosC TiposCon TarifaVe PrcEsp DatosCon DomBanca ( proveedores) DomBanca ( clientes) RefCli RefPro FamiliaTalla FamiliaTalla
LAS CLAVES FORNEAS
Valor del parmetro TIPOSIVA REGIMENESIVA REGIMENESIVASOP REGIMENESIVAREP PROVEEDORES ARTICULOS DOCUMENTOSPAGO FORMASPAGO ALMACENES REPRESENTANTES TRANSPORTISTAS PROVINCIAS CENTROSCOSTE TIPOSCONTABLES TARIFASVENTA PRECIOSESPECIALES DATOSCONTABLES DOMBANCAC DOMBANCAV REFCLIENTES REFPROVEEDORES FAMILIATALLAHORIZONTAL FAMILIATALLAVERTICAL
Las claves forneas en Nexus se guardan cuadradas a la derecha. Esto significa que si el ancho de un cdigo es de 8 dgitos y el valor que se introduce en l es el 3, el programa aade siete espacios delante para que el 3 quede a la derecha (_______3). Esto slo se hace con los cdigos numricos ya que a los alfanumricos no se aade ningn espacio.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 53 Cuando se introduce un valor en un campo clave, el programa se encarga de cuadrarlo. De la misma forma, si se pasa un parmetro a una funcin que se refiere al valor de una clave, el programa tambin lo cuadra. Ejemplo: naxArticulo.Buscar( 1) Esta funcin busca el artculo con cdigo _______1.
EXCEPCIONES
Son excepciones a esta regla los valores de los parmetros de los objetos Opcion y Listado que deben pasarse ya cuadrados dado que a priori se desconoce el contenido del parmetro.
OPERACIONES MS IMPORTANTES
Las operaciones que pueden realizarse con un maestro son varias y a continuacin se detallan los usos ms habituales:
ASIGNAR/LEER VALORES A LOS CAMPOS DE CADA FICHERO MAESTRO
var naxArticulo: Maestro; begin naxArticulo := coMaestro.Create; naxArticulo.Iniciar( 'Articulos');. if naxArticulo.Buscar( 1) then begin naxArticulo.AsString* DescArt+ := Descripcin del artculo; naxArticulo.AsFloat* PrcCompra+ := 1500; naxArticulo.AsFloat* PrcVenta+ := naxArticulo.AsFloat* PrcCompra+ * 1.25; end; . . AsString, AsFloat, AsInteger y AsBoolean son funciones que sirven para asignar/leer cualquier campo del registro del maestro elegido.
CREAR REGISTROS NUEVOS
// Crea la instancia del maestro // Inicia el objeto indicando que se trata de artculos. // Buscar el artculo a editar.
En la creacin de registros nuevos NAX aporta una de sus grandes ventajas, ya que el registro se carga con los valores por defecto y el programador debe limitarse a rellenar aquellos que conoce. Son campos obligatorios el cdigo y la descripcin. As mismo al guardarse el registro se realizan ciertas comprobaciones. var naxArticulo: Maestro; sCodigo: string; begin
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 54 naxArticulo := coMaestro.Create; naxArticulo.Iniciar( 'Articulos');. naxArticulo.Nuevo; // Crea la instancia del maestro // Inicia el objeto indicando que se trata de de artculos
sCodigo := naxArticulo.NuevoCodigoNum; // Busca el ltimo cdigo y le suma 1. naxArticulo.AsString[ 'CodArt'] := sCodigo; naxArticulo.AsString* DescArt+ := Descripcin del artculo; naxArticulo.AsFloat* PrcCompra+ := 1500; naxArticulo.AsFloat* PrcVenta+ := naxArticulo.AsFloat* PrcCompra+ * 1.25; naxArticulo.Guarda( False); end;
MODIFICAR REGISTROS EXISTENTES
// False indica que se trata de un registro nuevo // True indicara que se trata de una modificacin
var naxArticulo: Maestro; begin naxArticulo := coMaestro.Create; naxArticulo.Iniciar( 'Articulos');. naxArticulo.Edita; naxArticulo.AsString* DescArt+ := Descripcin del artculo; naxArticulo.AsFloat* PrcCompra+ := 1500; naxArticulo.AsFloat* PrcVenta+ := naxArticulo.AsFloat* PrcCompra+ * 1.25; naxArticulo.Guarda( True); end else ShowMessage( Registro no encontrado); end;
RECORRER REGISTROS DE UN MAESTRO
NAX ofrece las funciones necesarias para recorrer un fichero que son: BOF, EOF, Primero, Ultimo, Siguiente, Anterior, Buscar. A continuacin vemos un ejemplo sencillo del recorrido del fichero de artculos. var naxArticulo: Maestro; begin naxArticulo := coMaestro.Create; naxArticulo.Iniciar( 'Articulos');. naxArticulo.Primero; // Crea la instancia del maestro de artculos // Inicia el objeto // Se situa en el primer registro
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 55 while not naxArticulo.EOF do begin naxArticulo.Siguiente; end; end; // Se situa en el siguiente registro // Recorre la tabla mientras no llega al final
DOCUMENTOS
Los documentos son algunos de los objetos ms complejos que pueden tratarse con NAX. Con estos objetos pueden crearse los siguientes tipos de documentos en Nexus: Facturas Albaranes Depsitos Pedidos Ofertas Regularizaciones Traspasos Inventarios Movimientos de stock Reservas de stock Las operaciones que pueden realizarse con este tipo de objeto son: Aadir, Borrar y Modificar. Para ello es imprescindible crear e iniciar el objeto (con el procedimiento Iniciar). Al finalizar su uso hay que liberar los recursos (con el procedimiento Acabar). var naxFactura: Factura; begin naxFactura := coFactura.Create; naxFactura.Iniciar; . naxFactura.Acabar; end; // Libera los recursos internos del objeto // Crea el documento factura // Inicia el objeto
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 56 nFact: double; Begin // Crea el objeto naxFactura := coFactura.Create; boaFctura.Iniciar; // Comenzar una nueva factura naxFactura.Nuevo( 1, False, False, True, True); 30/03/2002, // Fecha de la factura // Cdigo del cliente // Indica que es de venta (True indicara que es de compra) // Indica que es de gestin (True indicara que es contable) // Indica que se desean las repercusiones contables // Indica que se desean los vencimientos // Identifica a la factura que vamos a crear
// Cambiar algunos campos de la cabecera naxFactura.AsStringCab* Tarifa+ := PVP; // Aadir una lnea en la factura naxFactura.NuevaLineaArt( naxFactura.AnadirLinea; // Genera definitivamente la factura. RETORNA UN IDENTIFICADOR nFact := naxFactura.Anade; naxFactura.Acabar; End; // Fin del procedimiento El identificador que retorna la funcin Anade (nFact), puede almacenarse donde desee el programador para ms adelante utilizarlo, por ejemplo, para borrar esa factura, si es necesario. Es importante tener en cuenta la gran parte del trabajo oculto que realiza NAX por nosotros. En este caso al guardar la factura: 1. Se asignan los valores por defecto dado el cliente y el artculo de la lnea. 2. Se generan los vencimientos 3. Se generan los asientos contables 4. Se actualiza el stock de cada artculo en las lneas, dado el almacn de la cabecera. Esto se hace de una forma totalmente oculta, y al programador que utiliza NAX le es absolutamente indiferente de que forma se ha implementado internamente cada una de las operaciones. En el futuro, SIE puede modificar la implementacin interna, pero para NAX las operaciones seguirn siendo las mismas. Para realizar este borrado lo haremos como en la siguiente funcin ejemplo: Procedure BorrarFactura( nIdFac:Double); // Libera los recursos del objeto 1, // Cdigo del artculo20); // Unidades de la lnea naxFactura.AsFloatLin* PrcMoneda+ := 1500;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 57 var naxFactura: Factura; nFact: double; // Identifica a la factura que vamos a crear Begin // Crea el objeto naxFactura := coFactura.Create; boaFctura.Iniciar; // Borrar la factura con el IDENTIFICADOR pasado al procedimiento naxFactura.Borra( nIdFac, False); // False indica que se trata de una factura de venta naxFactura.Acabar; end; Procedure ModificarFactura( nIdFac:Double); var naxFactura: Factura; nFact: double; // Identifica a la factura que vamos a crear Begin // Crea el objeto naxFactura := coFactura.Create; boaFctura.Iniciar; // modifica la factura con el IDENTIFICADOR pasado al procedimiento naxFactura.Modifica( nIdFac, False); // False indica que se trata de una factura de venta // Cambiar algunos campos de la cabecera naxFactura.AsStringCab* Tarifa+ := PVP; naxFactura.Anade; naxFactura.Acabar; end;
APUNTES
El objeto Asiento nos permite generar apuntes en contabilidad, borrarlos y modificarlos. Internamente acumula saldos y controla que no se produzcan errores de coherencia. Un ejemplo claro de la utilizacin del objeto Asiento sera el que creara los apuntes correspondientes a una factura. Function AsientoFactura( sFecha, sTipoCont, sCtaCliente, sNumFac: string; nBase: Double): Double; var
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 58 naxAsiento: Asiento; begin // Crea el objeto asiento naxAsiento := coAsiento.Create; naxAsiento.Iniciar; // En primer lugar se indican los datos de la cabecera del asiento que coinciden en todas las lneas // N indica que se trata de un asiento normal naxAsiento.Nuevo( sFecha, sTipoCont,N); // Otras posibilidades: // A: Apertura, P: Explotacin, T: Cierre // A continuacin se especifican los datos de cada una de las lneas naxAsiento.AApunte( 'EURO', 70000000, 0, nBase, , ); naxAsiento.AApunte( 'EURO', 47700000, 0, nBase * 0.16, , ); naxAsiento.AApunte( 'EURO', sCtaCliente, // Moneda // Cuenta // Importe debe en la moneda indicada // Descripcin // Importe haber en la moneda indicada // Centro de coste // Texto // Moneda // Cuenta // Importe debe en la moneda indicada // Descripcin // Importe haber en la moneda indicada // Centro de coste // Texto // Moneda // Cuenta // Descripcin
De n/fra. + sNumFac,
De n/fra. + sNumFac,
nBase * 1.16, // Importe debe en la moneda indicada De n/fra. + sNumFac, 0, , ); // Importe haber en la moneda indicada // Centro de coste // Texto
// Al acabar el asiento nos retorna el IDENTIFICADOR por si deseamos utilizarlo en el futuro // para borrar/modificar este asiento. Result := naxAsiento.Anade;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 59 naxAsiento.Acabar; end; // Libera los recursos del objeto
// A continuacin se especifican los datos de cada una de las lneas naxAsiento.AApunteNax( De n/fra. + sNumFac, , , , 'EURO', 70000000, 0, 0, nBase, nBase,
// Centro de coste 1 // Centro de coste 2 // Centro de coste 3 // Moneda // Cuenta // Importe debe en la moneda indicada // Importe debe en la moneda principal // Importe haber en la moneda indicada // Importe haber en la moneda principal
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 60 , sFecha); De n/fra. + sNumFac, , , , 'EURO', 47700000, 0, 0, // Texto // Fecha valor FV, // Descripcin // Concepto
naxAsiento.AApunteNax(
// Centro de coste 1 // Centro de coste 2 // Centro de coste 3 // Moneda // Cuenta // Importe debe en la moneda indicada // Importe debe en la moneda principal
nBase * 0.16, // Importe haber en la moneda indicada nBase * 0.16, // Importe haber en la moneda principal , sFecha); De n/fra. + sNumFac, , , , 'EURO', sCtaCliente, // Texto // Fecha valor FV, // Descripcin // Concepto
naxAsiento.AApunteNax(
nBase * 1.16, // Importe debe en la moneda indicada nBase * 1.16, // Importe debe en la moneda principal 0, 0, , sFecha); // Importe haber en la moneda indicada // Importe haber en la moneda principal // Texto // Fecha valor
// Al acabar el asiento nos retorna el IDENTIFICADOR por si deseamos utilizarlo en el futuro // para borrar/modificar este asiento. Result := naxAsiento.Anade; naxAsiento.Acabar; end; El IDENTIFICADOR retornado por Anade podremos utilizarlo para borrar el asiento, como se hace en el siguiente ejemplo: // Libera los recursos del objeto
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 61 Procedure BorrarAsiento ( nAsiento: double); var naxAsiento: Asiento; begin naxAsiento := coAsiento.Create; naxAsiento.Iniciar; naxAsiento.Borra( nAsiento); naxAsiento.Acabar; end; // Borra el asiento con el identificador indicado // Libera los recursos del objeto // Crea el objeto asiento
CARTERA
En cartera existen tres tipos de funciones: Creacin, modificacin y borrado de vencimientos. Realizar operaciones con vencimientos existentes Crear remesas y agrupaciones
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 62 Result := naxCartera.Anade; naxCartera.Acabar; end; El IDENTIFICADOR retornado por Anade podremos utilizarlo para borrar la cartera, como se hace en el siguiente ejemplo: Procedure BorrarCartera( nCartera: double); var naxCartera: Cartera; begin naxCartera := coCartera.Create; naxCartera.Iniciar; naxCartera.Borra( nCartera); naxCartera.Acabar; end; // Borra la cartera con el identificador indicado // Crea el objeto cartera
Bloquear Enviar ActualizarRiesgo Devolver ImputarGastos RecibirNax CobrarNax PagarNax AnularCobro AnularPago AnularRecepcion AnularEnvio AnularBloqueo AnularImputacion AnularDevolucion AnularActualizacionRiesgo Ligar Desligar
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 64 CobrarRemesa AnularCobroRemesa PagarRemesa AnularPagoRemesa ACuenta Cobrar una remesa. Anular el cobro de una remesa. Pagar una remesa (a proveedores). Anular el pago de una remesa (a proveedores). Para consumir anticipos de cartera desde una factura.
// (en blanco lo busca en el banco que le indicamos) // (en blanco lo busca en el banco que le indicamos)
STOCKS
Adems de los movimientos propios efectuados por facturas, albaranes, regularizaciones, etc, se ha dotado a NAX de la posibilidad de generar movimientos de stock sin estar ligados con los documentos anteriores (por ejemplo, para un programa de produccin externo que nos mueva el stock).
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 65 naxMovimientos := coMovimientoStock.Create; naxMovimientos.Iniciar; naxMovimientos.Nuevo( 2); // Cdigo del almacn // Reserva los recursos necesarios 01/12/2003, // Fecha
// Aadir movimiento de 10 unidades del artculo 1 naxMovimientos.NuevaLineaArt( 10); // Unidades del movimiento 1, // Cdigo del artculo
naxMovimientos.AsStringLin* Motivo+ := Movimiento externo; naxMovimientos.AnadirLinea; // Aadir movimiento de 20 unidades del artculo 2 naxMovimientos.NuevaLineaArt( 20); // Unidades del movimiento 2, // Cdigo del artculo
naxMovimientos.AsStringLin* Motivo+ := Movimiento externo; naxMovimientos.AnadirLinea; // Aadir movimiento de 30 unidades del artculo 3 naxMovimientos.NuevaLineaArt( 30); // Unidades del movimiento 3, // Cdigo del artculo
naxMovimientos.AsStringLin* Motivo+ := Movimiento externo; naxMovimientos.AnadirLinea; naxMovimientos.Anade; naxMovimientos.Acabar; end; // Genera los movimiento en la base de datos // Libera los recursos utilizados
FILTRO
Este objeto hace referencia a la pantalla visual de Nexus de creacin de filtros. Este objete nos permite llamar a la pantalla visual o crearlo de forma interna mediante los eventos y propiedades pblicas que tiene publicadas.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 66 NaxFiltro.Iniciar( 'CLIENTES'); NaxFiltro.EditarVisual; sFiltro := NaxFiltro.ObtenerFiltro; visual NaxFiltro.Acabar; End; // Indicamos que queremos crear el filtro de clientes // Llamamos a la pantalla visual // Obtenemos el filtro de generado desde la pantalla // Libera los recursos utilizados
EXPEDIENTE
Este objeto hace referencia a la pantalla visual de Nexus de gestin de expedientes. Este objeto nos permite llamar realizar las mismas operaciones que Nexus mediante la implementacin de los eventos y propiedades que tiene publicadas. Podemos crear lneas de expedientes, lneas de honorarios, lineas de provisiones y lineas de suplidos. Generando las repercusiones contables cuando proceda. Tambin podemos realizar la impresin del mismo.
NaxExpe.AsStringCab['NOMEXP'] := 'Expediente realizado con nax'; // Modificamos el nombre del expediente NaxExpe.NuevaLinea(ctTrabajo); ctTrabajo) NaxExpe.AsStringLin['CodArt'] := '1'; NaxExpe.AsStringLin['CodPer'] := '1'; NaxExpe.AsFloatLin['Unidades'] := 2; NaxExpe.AsFloatLin['PrcMoneda'] := 6; NaxExpe.AnadirLinea; NaxExpe.ActivarFacturado := true; NaxExpe.Facturar( NaxExpe.Anade, true); NaxExpe.ActivarFacturado := false; NaxExpe.Acabar; end; // Creamos una nueva linea de trabajo (const // Indicamos el artculo a tratar // Indicamos la persona que lo realiza // Modifico las unidades por defecto a 2 // Modifico el precio por defecto a 6 // Guardamos la linea // Activar marca para poder facturarlo // Guardo el expediente (Anade) y lo facturo // DesActivar marca para poder facturar
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 68 query.ConnectionString := boaEnlace.Conexion; query.SQL.Text := 'select IDOPEREMESA FROM __OPEREMESA WHERE IDREMESA = 2'; query.open; CobroParcial := CoAnularCobroParcialRemesa.Create; Screen.Cursor := crHourGlass; try CobroParcial.Iniciar(2); while not query.Eof do begin CobroParcial.AnadeOperacion(query.FieldByName('IDOPEREMESA').AsInteger); query.Next; end; CobroParcial.Procesar; finally FreeAndNil(query); CobroParcial.Finalizar; CobroParcial := nil; Screen.Cursor := crDefault; end; end;
OBJETOS NAX
INTRODUCCIN
Tal como ya se ha visto en el captulo anterior, la lista de objetos disponibles es la siguiente: Enlace: Inicia y cierra la conexin con la base de datos de una empresa nexus. Mantiene las variables de error. Varios: Objeto con varias funciones destinadas a: Obtencin de precios, obtencin de cambio entre monedas, obtencin de identificadores nicos de nexus, obtencin de cuentas y descripciones y llamadas a las distintas opciones visuales de nexus. Maestro: Artculos, Proveedores, Clientes, Cuentas, Bancos, Almacenes, Representantes, Transportistas, Provincias, Pases, Tarifas, Idiomas, etc... . Este objeto permite moverse por los ficheros mencionados, as como aadir nuevos y modificar los existentes. Seleccion: Este objeto permite presentar la pantalla de seleccin estndar de nexus, para mostrar los registros de cualquier tabla con el formato cdigo, descripcin, etc. Factura: Objeto que permite la creacin, modificacin y borrado de facturas. Albaran: Objeto que permite la creacin, modificacin y borrado de albaranes. Depsito: Objeto que permite la creacin, modificacin y borrado de depsitos. Pedido: Objeto que permite la creacin, modificacin y borrado de pedidos. Oferta: Objeto que permite la creacin, modificacin y borrado de ofertas (presupuestos). Regularizacion: Objeto que permite la creacin, modificacin y borrado de albaranes de regularizacin. Traspaso: Objeto que permite la creacin, modificacin y borrado de albaranes de traspaso entre almacenes. Inventario: Objeto que permite la creacin de y modificacin de inventarios. MovimientoStock: Objeto que permite la creacin, modificacin y borrado de lneas que generan movimientos en el stock por documentos no controlados por nexus. ReservaStock: Objeto que permite la creacin, modificacin y borrado de lneas que generan reservas en el stock por documentos no controlados por nexus. Asiento: Objeto que permite la creacin, modificacin y borrado de asientos. Cartera: Objeto que permite la creacin, modificacin y borrado de vencimientos en cartera.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 70 OperacionesCartera: Objeto que permite realizar operaciones sobre los efectos en cartera a excepcin de agrupaciones y remesas. Permite por ejemplo cobrar, pagar, devolver, recibir, etc... Agrupacion: Objeto que ayuda a gestionar las operaciones con las agrupaciones de efectos de cartera. Remesa: Objeto que ayuda a gestionar las operaciones con las remesas de efectos de cartera. Opcion: Objeto que permite llamar a cualquier opcin de la aplicacin nexus. Listado: Objeto que permite realizar informes pasando los parmetros deseados directamente. OperacionesInmovilizado: Objeto que permite realizar operaciones sobre el inmovilizado as como amortizar y repercutir las amortizaciones de las cuotas. Presupuesto: Permite crear, borrar o modificar el contenido de la contabilidad presupuestaria. Estructura: Permite crear, borrar o modificar el contenido de una estructura. OrdenProduccion: Permite crear, borrar, modificar o evolucionar una orden de produccin. Expedientes: Permite crear, borrar, modificar expedientes. Tambien facturarlos e imprimirlos. Cuotas: Permiter crear, borrar y modificar cuotas. (NUEVO 802B) CobroParcialRemesa: Permite cobrar parcialmente una remesa. (NUEVO 802B) AnularCobroParcialRemesa: Permite anular el cobro de una remesa (cobrada parcialmente). A continuacin se detalla cada uno de los objetos:
OBJETO ENLACE
Interface Enlace
property bError: WordBool readonly; property sMensaje: WideString readonly; property EmpresaActiva: WideString readonly; property RaiseOnException: WordBool; property Estado: EstadoEnlace readonly; property nError: Integer readonly; property VentanasAbiertas: integer readonly; property Conexion: WideString readonly; procedure Iniciar(const sEmpresa: WideString; const sUbicacion: WideString);
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 71 procedure Acabar; function ParamConexion(const sEmpresa: WideString): OleVariant; function Empresas: OleVariant; function SelecEmpresa: WordBool; function SelecEmpresaActiva: WordBool; procedure EliminarRecordatorioClave; function EstacionActivada(sCodProd: WideString): WordBool; procedure CerrarVentanas; procedure ActivarVentana; function LoginUsuario(sUsuario,sPassword: WideString):WordBool; function SelecMultiEmpresa: WordBool; function SelecMultiEmpresaActiva: WordBool;
Propiedades
Tipo
Descripcin
True si la ltima operacin provoc un error. Cdigo del ltimo error (0 ningn error) Indica si la conexin con nexus se ha realizado. Descripcin del ltimo error (en caso de error) Nombre de la empresa activa en nexus Para indicar si el lenguaje que se utiliza propaga las excepciones y desea aprovecharse esta ventaja. Disponible para Delphi. Desactivado en Visual Basic. Indica n de ventanas nexus abiertas Indica lista de parmetros de conexin a la base de datos
VentanasAbiertas Conexion
Integer Texto
Significado Objeto no activo. No se puede usar. Objeto activo, se puede trabajar con l.
Inicia la conexin con la empresa indicada. Parmetros: sEmpresa Nombre exacto de la empresa (distingue maysculas y minsculas).
Procedure Acabar
Retorna los parmetros de la conexin de la base de datos de la empresa seleccionada. Muy til para crear una conexin directa con esa base de datos para consultas directas desde el programa que utiliza NAX. Parmetros: sEmpresa sUbicacion Valor retornado Variant que representa un array Nombre de la empresa Obsoleto [0] Descripcin de la empresa. [1] Obsoleto [2] Tipo de datos: MSSQL [3] Servidor en el que se encuentra el sistema [4] Nombre del servidor [5] Nombre de la base de datos [6] Obsoleto
Retorna la relacin de empresas del sistema por defecto con el que se encuentra conectado el terminal. Valor retornado Variant que representa un array [0] Nmero de elementos del array (-1 indica que ha habido un error) [1] Primer nombre de empresa. [2] Segundo nombre de empresa [n] N-simo nombre de empresa
Muestra la seleccin de empresas de nexus. Espera a que el usuario seleccione una empresa e inicia una conexin con su base de datos. Valor retornado Lgico Indica si se ha seleccionado la empresa
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 73 En nexus, cuando se entra en una empresa, se guarda su nombre en el registro. Esta funcin recupera la empresa indicada en el registro e inicia una conexin con su base de datos. Valor retornado Lgico Indica si se ha seleccionado la empresa
En nexus configurado como multiempresas, cuando se entra en una empresa (multiempresa), se guarda el tipo contable (empresa) en el registro. Esta funcin recupera el tipo contable (empresa) indicada en el registro y activa dicho tipo contable. Valor retornado Lgico Indica si se ha seleccionado el tipo contable (empresa)
En nexus configurado como multiempresa, podemos activar el tipo contable (empresas) dentro de los tipos contables permitidos por el usuario. Valor retornado Lgico Indica si se ha seleccionado el tipo contable (empresa)
Procedure EliminarRecordatorioClave
Function EstacionActivada(sCodProd:WideString):WordBool
Parmetros:
sCodProd
Retorna si el numero de serie de lPRODUCTO NEXUS est activado para la estacin. Valor retornado Lgico Indica si la estacion est activada para algn nmero de serie del producto indicado (de un mismo producto se pueden registrar varios nmeros de serie)
Procedure ActivarVentana
Procedure CerrarVentanas
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 74 Parmetros: sUsuario sPassword Usuario nexus Password usuario nexus
Esta funcion la utilizaremos para evitar la pantalla visual donde se piden el usuario y password de entrada en nexus, y retorna si dichos valores son correctos para entrar en la aplicacin. Valor retornado Lgico Indica si el usuario y password es correcto
OBJETO VARIOS
Interface Varios
property Version: Integer readonly; property Revision: Integer readonly; property Parche: WideString readonly; function ObtPrcVenta( const sCodArt: WideString; const sCodCli: WideString; const sCodMon: WideString; const sTarifa: WideString; nUnidades: Currency; const sFecha: WideString): OleVariant; function ObtPrcCompra(const sCodArt: WideString; const sCodPro: WideString; const sCodMon: WideString; nUnidades: Currency; const sFecha: WideString) : OleVariant; function ObtPrcCompra(const sCodArt: WideString; const sCodPro: WideString; const sCodMon: WideString; const sTarifa: WideString; nUnidades: Currency; const sFecha: WideString) : OleVariant; function ObtPrecioCoste(const sCodArt: WideString; const sCodAlm: WideString; const sObtCoste: WideString): OleVariant; function ObtPrecioMedio(const sCodArt: WideString; const sCodAlm: WideString): OleVariant; function ObtComis( const sCodRep: WideString; const sCodArt: WideString; const sCodCli: WideString; nUnidades: Currency; nDescuento: Currency; const sFecha: WideString): OleVariant; function Cambio(const sCodMon: WideString; const sFecha: WideString): OleVariant; function CambioMon(const sMonIni: WideString; const sMonFin: WideString; const sFecha: WideString): OleVariant; function MonedaPrincipal: WideString;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 75 function FormatNum(nDecim: Integer): WideString; function FormatEdiNum(nDecim: Integer): WideString; function Redondear(nNumero: Currency; nDecima: Integer): Currency; function SigId(const sId: WideString): OleVariant; procedure DescArticulo( const sCodArt: WideString; const sCodIdi: WideString; var sDescArt: WideString; var sTexto: WideString); function ObtRepresentante(const sCodCli: WideString): WideString; function CuentaArtV(const sCodArt: WideString; const sCodCli: WideString): WideString; function CuentaArtC(const sCodArt: WideString; const sCodPro: WideString): WideString; function TotalLinea( nUni: Currency; Prc: Currency; desc1: Currency; desc2: Currency; desc3: Currency; desc4: Currency; const sCodMon: WideString; Iva: WordBool; const sTipIva: WideString; const sRegIva: WideString) :Currency; FUNCTION VENCIMIENTOS( BESCOBRO: WORDBOOL; SCODCLIPRO: WIDESTRING; NTOTMON, NTOTDOC: CURRENCY; SFORPAG, SDOCPAG, SCODMON, SFECHA: WIDESTRING): OLEVARIANT; procedure LlamarVisual(const OpcionNexus: WideString; Parametros: OleVariant);
Propiedades
Tipo
Descripcin
Devuelve la versin de la librera Devuelve la revisin de la librera Devuelve la letra del parche de la librera
Function ObtPrcVenta ( sCodArt, sCodCli, sCodMon, sTarifa: String; nUnidades: Double; sFecha: String): Variant;
Permite obtener el precio de venta dados los parmetros de la funcin Parmetros: sCodArt sCodCli sCodMon sTarifa nUnidades sFecha Valor retornado Variant que representa un array Cdigo del artculo Cdigo del cliente Cdigo de la moneda Tarifa Unidades Fecha [0] Precio (Currency) [1] Total descuento (Currency) [2][0] Descuento 1 (Currency)
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 76 [2][1] Descuento 2 (Currency) [2][2] Descuento 3 (Currency) [2][3] Descuento 4 (Currency)
Function ObtPrcCompra ( sCodArt, sCodPro, sCodMon: String; nUnidades: Double; sFecha: String): Variant;
Permite obtener el precio de compra dados los parmetros de la funcin Parmetros: sCodArt sCodPro sCodMon nUnidades sFecha Valor retornado Variant que representa un array Cdigo del artculo Cdigo del proveedor Cdigo de la moneda Unidades Fecha [0] Precio (Currency) [1] Total descuento (Currency) [2][0] Descuento 1 (Currency) [2][1] Descuento 2 (Currency) [2][2] Descuento 3 (Currency) [2][3] Descuento 4 (Currency)
Permite obtener el precio de compra dados los parmetros de la funcin Parmetros: Valor retornado sCodArt Currency Cdigo del artculo Valor del precio de coste del artculo
Permite obtener el precio de compra dados los parmetros de la funcin Parmetros: sCodArt sCodAlm Valor retornado Currency Cdigo del artculo Cdigo del Almacn Valor del precio medio del artculo en el almacn indicado
Function ObtComis ( sCodrep, sCodArt, sCodCli: String; nUnidades, nDescuento: Double; sFecha: String): Variant;
Permite obtener el porcentaje y el origen de comisin dados los parmetros de la funcin Parmetros: sCodRep Cdigo del representante
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 77 sCodArt sCodCli nUnidades nDescuento sFecha Valor retornado Variant que representa un array Cdigo del artculo Cdigo del cliente Unidades Descuento aplicado en % Fecha [0] Comisin [1] Margen o Precio (P/M)
Permite obtener el cambio entre una moneda y la moneda principal en una fecha indicada. Parmetros: sCodMon sFecha Valor retornado Double Cdigo de la moneda Fecha Cambio
Permite obtener el cambio entre una moneda inicial y la moneda final en una fecha indicada. Parmetros: sCodMonIni sCodMonFin sFecha Valor retornado Double Cdigo de la moneda inicial Cdigo de la moneda final Fecha Cambio
Retorna el cdigo de la moneda principal de la empresa activa. Valor retornado String Cdigo de la moneda
Retorna string que define el formato de un nmero en Delphi con los decimales indicados en el parmetro. Parmetros: Valor retornado nDecim String N de decimales Formato
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 78 Retorna string que define el formato de un nmero para su edicin en Delphi con los decimales indicados en el parmetro. Parmetros: Valor retornado nDecim String N de decimales Formato
Utiliza la misma funcin para redondear que nexus. Parmetros: nNumero nDecima Valor retornado Double N a redondear N de decimales del resultado Nmero redondeado con los decimales indicados
Function Sigld(sId:String):Integer;
Retorna un identificador nico para el nombre que se pasa por parmetro. Parmetros: Valor retornado sId Double Nombre del identificador Identificador nico
Retorna en los dos ltimos parmetros de la funcin la descripcin y el texto del artculo y en el idioma indicados. Parmetros: sCodArt sCodIdi Valor retornado sDescArt: String sTexto: string Cdigo del artculo Cdigo del idioma Descripcin del artculo Texto del artculo
Retorna el representante de un cliente. Parmetros: Valor retornado sCodCli String Cdigo del cliente Cdigo del representante
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 79 Retorna la cuenta de ventas asociada a un artculo para un cliente determinado. El proceso que sigue el siguiente esquema: Cuenta de ventas del artculo (si la hay) Cuenta de ventas del cliente (si la hay) Cuenta de ventas de los datos generales sCodArt sCodCli Valor retornado String Cdigo del artculo Cdigo del cliente Cuenta de ventas
Parmetros:
Retorna la cuenta de compras asociada a un artculo para un proveedor determinado. El proceso que sigue el siguiente esquema: Cuenta de compras del artculo (si la hay) Cuenta de compras del proveedor (si la hay) Cuenta de compras de los datos generales sCodArt sCodPro Valor retornado String Cdigo del artculo Cdigo del proveedor Cuenta de compras
Parmetros:
Function TotalLinea(nUni: Integer; Prc, desc1, desc2, desc3, desc4: Double; sCodMon: String;Iva: Boolean; sTipIva, sRegIva: String): Double
El clculo del total de una lnea depende de muchas variables y en ocasiones es conveniente simular exactamente el mismo clculo que realiza nexus. Parmetros: nUni Prc Desc1 Desc2 Desc3 Desc4 sCodMon Iva sTipIva sRegIva Valor Double N unidades Precio unitario Descuento 1 Descuento2 Descuento3 Descuento4 Cdigo de la moneda IVA incluido (True IVA incluido) Tipo de IVA Rgimen de IVA Total de la lnea
Crea un array con la informacin el conjunto de vencimientos con las condiciones especificadas. Parmetros: bEsCobro Indica si se trata de un cliente o proveedor. bEsCobro = True Cliente. bEsCobro = False Proveedor. sCodCliPro nTotMon nTotDoc sForPag sDocPag sCodMon sFecha Valor retornado: OleVariant Cdigo del cliente o proveedor. Total del documento en la moneda indicada. Total del documento en moneda principal. Forma de pago. Documento de pago. Cdigo de la moneda. Fecha de la factura. Retorna el n del identificador de cartera (NUMCARTERA).
Muestra un pantalla visual de nexus Parmetros: OpcionNexus Parmetros Identificador de la pantalla visual [0] sin parametros [1][0] Nombre del parmetro 1 [2][0] Valor del parmetro 1 [1][1] Nombre del parmetro 2 [2][1] Valor del parmetro 2 Ver ejemplos en Objeto Opcion (llamada a opciones visuales)
OBJETO MAESTRO
Este objeto permite moverse por los ficheros, as como aadir nuevos y modificar los existentes. Los ficheros son los siguientes: Artculos, Proveedores, Clientes, Cuentas, Bancos, Almacenes, Representantes, Transportistas, Provincias, Pases, Tarifas, Idiomas, etc... .
Interface Maestro
Property AsString[const sCampo: WideString]: WideString; property AsFloat[const sCampo: WideString]: Double; property AsInteger[const sCampo: WideString]: Integer; property AsBoolean[const sCampo: WideString]: WordBool; property EOF: WordBool readonly; property BOF: WordBool readonly; property Estado: EstadoMaestro readonly; property Filtro: WideString; property Filtrado: WordBool; function Buscar(V: OleVariant): WordBool; function NuevoCodigoNum: WideString; function Seleccionar: WideString; function ExisteCampo(const cCampo: WideString): WordBool; procedure Iniciar(const sNombre: WideString); procedure Acabar; procedure Nuevo; procedure Guarda(bSobreescribir: WordBool); procedure Primero; procedure Anterior; procedure Siguiente; procedure Ultimo; procedure Edita; procedure Cancelar; procedure Borrar; procedure CambiarCodigo(const sViejo: WideString; const sNuevo: WideString); function Seleccionar2: OleVariant; (NUEVO 800G) procedure Duplicar(CodigoOrigen:olevariant; codigoDuplicado: Olevariant, const Params: WideString);
Propiedades
Tipo
Descripcin
AsString AsFloat
Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 82 nuevo/actual. AsInteger AsBoolean BOF EOF Estado Filtro Filtrado Tabla( integer) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( lgico) Lgico Lgico EstadoMaestr o String Lgico Asigna/lee valores a/de los campos del registro nuevo/actual. Indica que estamos al principio de los registros del maestro. Al final. Devuelve en que estado se encuentra el maestro. Cadena de texto que permite poner un filtro en el maestro. Valor lgico para activar/desactivar el filtro
Mtodos
Tipo
Descripcin
Iniciar Acabar Primero Anterior Siguiente Ultimo Buscar Nuevo Edita Guarda Cancela Refrescar
Procedimiento Inicia el maestro especificado. Pasa al estado estM_ACTIVO Procedimiento Cierra el maestro. Estado estM_NOACTIVO. Procedimiento Ir al primer registro. Procedimiento Al anterior. Procedimiento Al siguiente. Procedimiento Al ltimo. Funcin Busca un registro por clave principal.
Procedimiento Pasa estado estM_NUEVO en el que se pueden asignar valores a los campos del registro. Procedimiento Pasa estado estM_EDICION en el que se pueden asignar valores a los campos del registro. Procedimiento Inserta o modifica el registro actual del maestro. Procedimiento Pasa al estado estM_ACTIVO, descartando el registro actual. Procedimiento Hace un refresh de la tabla fsica. Retorna un string con el siguiente cdigo numrico para una alta. Presenta una ventana de seleccin y retorna el cdigo del registro seleccionado. Indica si existe un nombre de campo dentro del maestro.
Procedimiento Cambia la clave con el valor indicado por otro tambin indicado.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 83 Seleccionar2 Duplicar Funcin Presenta una ventana de seleccin y retorna los cdigos que forman parte de la clave, del registro seleccionado.
Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de los campos de un maestro. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el registro. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 1/1/2002 Los campos clave son obligatorios. Uso en Delphi: naxMaestro.AsString* CodCli+ Uso en Visual Basic: naxMaestro.AsString( CodCli)
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 84 A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
property EOF:Boolean
Esta propiedad nos indica si nos encontramos al final del maestro. Valor retornado Lgico Indica si estamos al final del maestro.
property BOF:Boolean
Esta propiedad nos indica si nos encontramos al principio del maestro. Valor retornado Lgico Indica si estamos al principio del maestro.
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Maestro cerrado. No se puede usar. ESTM_ACTIVO: Maestro activo. Podemos aadir, borrar, modificar y movernos por los registros. ESTM_NUEVO: Maestro en estado de insercin de un nuevo registro. ESTM_EDICION: Maestro en estado modificacin, podemos asignar valores a los campos. Modificando el registro actual al guardarlo. Si slo cambisemos el campo clave crearamos una copia con una clave diferente. Valor retornado EstadoMaestro Retorna el estado del maestro.
property Filtro:String
En esta propiedad podemos indicar el filtro que se aplica al fichero maestro. La sintaxis del filtro debe ser en sintaxis de la base de datos. En la actualidad en sintaxis de SQL Server. Si ms adelante se pueden atacar otras bases de datos esta funcin se utilizar de distinta forma dependiendo de la base de datos.
property Filtro:Boolean
Este procedimiento es el que reserva los recursos necesarios para que el maestro pueda ser usado. El parmetro de esta funcin identifica el maestro con el que se va a trabajar y por tanto los campos disponibles. Maestros vlidos: Clientes, Articulo, Proveed, Cuentas, Bancos, DocuPago, Almacenes, Represen, Transpor, Provinci, Paises, Idiomas, Tarifas, TarifasVe, PrcEsp, Apuntes. Al iniciar el maestro el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO. Parmetros: sNombre Nombre del fichero maestro que se iniciar.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el maestro el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
procedure Primero;
Mueve el puntero al primer registro del maestro ordenado por la clave principal y nica.
procedure Siguiente;
Mueve el puntero al siguiente registro del maestro ordenado por la clave principal y nica.
procedure Anterior;
Mueve el puntero al anterior registro del maestro ordenado por la clave principal y nica.
procedure Ultimo;
Mueve el puntero al ltimo registro del maestro ordenado por la clave principal y nica.
Mueve el puntero al primer registro del maestro con la clave indicada en el parmetro V. Cuando la clave es compuesta se debe pasar un array con los distintos valores. Cuando la clave es de un nico campo se puede pasar en un string. Parmetros: Valor retornado sClave Lgico Contenido de la clave que se est buscando. Indica si se ha encontrado la clave.
procedure Nuevo;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 86 Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO.
procedure Edita;
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO. Parmetros: bSobreescribir True: Se sobrescriben los valores que existen en el registro. Si se modifica el cdigo se cambia el cdigo del maestro. False: Se crea un nuevo registro con al contenido de la ficha. Si ya existe ese cdigo da error.
Procedure Cancela;
Cancela la edicin del registro. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Borrar;
Procedure Refrescar;
Lee de nuevo el registro con la clave del registro en memoria y refresca el contenido de todos los campos. Operacin no permitida cuando el estado es ESTM_NUEVO o ESTM_EDICION.
Retorna el ltimo registro numrico + 1. Este es el sistema que utiliza nexus para proponer el cdigo de clave que toca al crear un nuevo registro en un maestro. Valor retornado String Valor del cdigo.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 87 Permite usar la seleccin por defecto de los maestros de nexus. Retorna el valor de la clave seleccionada. Esta funcin est pensada exclusivamente para maestros con un nico campo clave. Aquellos maestros con ms de un campo clave no tienen seleccin. Esta funcin no se coloca en el registro seleccionado, tras realizar la seleccin, con el resultado debe buscarse el registro seleccionado a travs de la funcin Buscar. Valor retornado String Valor del cdigo de la clave
Permite usar la seleccin por defecto de los maestros de nexus. Retorna lista de valores de la clave seleccionada (para ficheros con claves mltiples) Esta funcin est pensada para maestros con clave mltiple. Esta funcin no se coloca en el registro seleccionado, tras realizar la seleccin, con el resultado debe buscarse el registro seleccionado a travs de la funcin Buscar. Valor retornado OleVariant Lista de valores de lo campos que forman parte de la clave
En ocasiones un campo puede aparecer en un maestro en una revisin determinada y el programador deber preguntarse por su existencia antes de usarlo. Para ello existe esta funcin que te indica si existe un campo cuyo nombre se pasa por parmetro. Parmetros: Valor retornado sCampo Lgico Nombre de l campo Indica si se ha encontrado el campo en el maestro.
Modifica la clave de un maestro. Esta funcin exclusivamente funciona con claves con un nico campo. Parmetros: sViejo sNuevo Valor de la clave anterior Valor de la nueva clave
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 88 Permite duplicar el registro del codigoorigen sobre un registro nuevo con codidoduplicado. (slo para el maestro de artculos !!!) Parmetros: CodigoOrigen CodigoDuplicado Params Valor de la clave origen Valor de la nueva clave OPCIONES ESPECIALES A DUPLICAR (STOCK, VINCULOS, REFERENCIAS, IDIOMAS, ESCANDALLO, TARIFASV, PRECIOSESPV, ALARMASV, COMISIONESV, DESCUENTOSV, TARIFASC, PRECIOSESPC, ALARMASC, DESCUENTOSC) P.E STOCK=TRUE,IDIOMAS=FALSE,DESCUENTOSC=FALSE
OBJETO SELECCION
Este objeto permite presentar la pantalla de seleccin estndar de nexus, para mostrar los registros de cualquier tabla con el formato cdigo, descripcin, etc
Interface Seleccin
property Tabla: WideString; property CampoResultado: WideString; property Filtro: WideString; function Ejecutar: WideString; function Ejecutar2: OleVariant;
Propiedades
Tipo
Descripcin
Tabla
String
En esta propiedad podemos indicar la tabla que queremos seleccionar. En esta propiedad podemos indicar el nombre del campo y la seleccin devolver el valor de este campo. En esta propiedad podemos indicar el filtro que se aplica a la tabla seleccionada La sintaxis del filtro debe ser en sintaxis de la base de datos. En la actualidad en sintaxis de SQL Server. Si ms adelante se pueden atacar otras bases de datos esta funcin se utilizar de distinta forma dependiendo de la base de datos.
Mtodos
Tipo
Descripcin
Ejecutar
Funcin
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 89 registro seleccionado. Ejecutar2 Funcin Presenta una ventana de seleccin y retorna los cdigos que forman parte de la clave, del registro seleccionado.
property Tabla:String
Property CampoResultado:String
En esta propiedad podemos indicar el nombre del campo y la seleccin devolver el valor de este campo.
property Filtro:String
En esta propiedad podemos indicar el filtro que se aplica a la tabla seleccionada La sintaxis del filtro debe ser en sintaxis de la base de datos. En la actualidad en sintaxis de SQL Server. Si ms adelante se pueden atacar otras bases de datos esta funcin se utilizar de distinta forma dependiendo de la base de datos.
Permite usar la seleccin estndar de los maestros de nexus. Retorna el valor de la clave seleccionada. Esta funcin est pensada ficheros con campos cdigo, descripcin, etc. con un nico campo clave. Aquellos maestros con ms de un campo clave utilizaremos la funcion Ejecutar2 Valor retornado String Valor del cdigo de la clave
Permite usar la seleccin estndar de los maestros de nexus. Retorna lista de valores de la clave seleccionada (para ficheros con claves mltiples) Esta funcin est pensada para maestros con clave mltiple. Valor retornado OleVariant Lista de valores de lo campos que forman parte de la clave
OBJETO FACTURA
Objeto que permite la creacin, modificacin y borrado de facturas.
Interface Factura
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 90 property Estado: EstadoMaestro readonly; property AsStringCab[const sCampo: WideString]: WideString; property AsFloatCab[const sCampo: WideString]: Double; property AsIntegerCab[const sCampo: WideString]: Integer; property AsBooleanCab[const sCampo: WideString]: WordBool; property AsCurrencyCab[const sCampo: WideString]: Currency; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer; property AsBooleanLin[const sCampo: WideString]: WordBool; property AsCurrencyLin[const sCampo: WideString]: Currency; property AsBooleanComp[const sCampo: WideString]: WordBool; property AsStringComp[const sCampo: WideString]: WideString; property AsFloatComp[const sCampo: WideString]: Double; property AsIntegerComp[const sCampo: WideString]: Integer; property AsCurrencyComp[const sCampo: WideString]: Currency; property OmitirMensajes:WordBool; property ActivarAlarmaCab : WordBool; property ActivarAlarmaLin: WordBool; property ValidarPrecios: WordBool; property ValidarArtBloqueado: WordBool; property AvisarStock: WordBool; property AvisarRiesgo: WordBool; property AvisarCentroCosteCabecera: WordBool; procedure Acabar; procedure Cancela; procedure Nuevo( sFecha: WideString; sCodCliPro: WideString; bEsDeCompra: WordBool; bEsContable: WordBool; bConReper: WordBool; bConCartera: WordBool); procedure Borra(IdDocu: Currency; bEsDeCompra: WordBool); procedure Modifica(IdDocu: Currency; bEsDeCompra: WordBool); NUEVO 802A procedure ModificaParcial(IdDocu: Currency; NumLin: Integer, EsDeCompra: WordBool); function Anade: Currency; procedure NuevaLinea; procedure AnadirLinea;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 91 procedure CancelaLin; procedure NuevaLineaArt(const sCodArt: WideString; nUnidades: Currency); procedure EditarLinea(nIdLinea: Currency); procedure BorrarLinea(nIdLinea: Currency); procedure IniciarServir(const sIdDocu: WideString; nIdDocu: Currency; bConMensaje: WordBool); procedure ServirDocumento; procedure FinServir; procedure ServirLinea( nNumGru. nNumLin, nNumBul, nNumPaq: Currency; nNumUni, nPrcMed: Double; sNSerie: WideString; sLote: WideString; sUbicac: WideString; sFecCad: WideString); procedure AnularLinea( nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double); procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure CambiarDetalle ( nIdLine: Double; nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure BorrarDetalle(nIdLine: Double); procedure AnadirTalla(sCodFamTallaH, sCodFamTallaV, sCodTallaH, sCodTallaV: WideString; nUnidades, nPrcMoneda: Double); procedure CambiarTalla(nIdLine, nUnidades, nPrcMoneda: Double); procedure BorrarTalla(nIdLine: Double); procedure NuevoComponente; procedure EditarComponente(nIdLine:Currency); procedure BorrarComponente(nIdLine:Currency); procedure AnadirComponente; procedure CancelarComponente; procedure ConsumirFacturaAnticipo(IdFactura:Currency; Importemoneda:currency; Importe:currency);
Descripcin Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 92 nuevo/actual. AsFloatCab AsBooleanCab AsCurrencyCab AsStringLin AsIntegerLin AsFloatLin AsCurrencyLin AsBooleanLin Estado AsStringComp AsIntegerComp AsFloatComp AsBooleanComp AsCurrencyComp OmitirMensajes Tabla( Float) Tabla( Lgico) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( string) Tabla( Integer) Tabla( Float) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Lgico) EstadoMaestro Tabla( string) Tabla( Integer) Tabla( Float) Tabla( Lgico) Asigna/lee valores a/de los campos del registro nuevo/actual. Devuelve el estado en que se encuentra el objeto Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Lgico Asignar valor para ocultar mensajes de informacin Asignar valor para activar o no alarmas en documentos Asignar valor para activar o no alarmas en documentos Asignar valor para activar o no los mensajes de validacin de precios Asignar valor para activar o no los mensajes de los artculos bloqueados Asignar valor para activar o no los mensajes de aviso de stock Asignar valor para activar o no los mensajes de aviso de riesgo
ActivarAlarmaCab Lgico ActivarAlarmaLin ValidarPrecios ValidarArtBloque ado AvisarStock AvisarRiesgo Lgico Lgico Lgico Lgico Lgico
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 93 AvisarCentroCost Lgico eCabecera Asignar valor para activar o no el mensaje que aparece al cambiar algn nivel de analtica y pregunta si se desa cambiar en las lneas.
*EstadoMaestro: Ver objeto Maestro. Mtodo Iniciar Acabar Nuevo Borra Modifica ModificaParcial Cancela Anade Tipo Descripcin
Procedimient Inicia el objeto o Procedimient Cierra el objeto o Procedimient Inicia un nuevo documento o Procedimient Borra el documento o Procedimient Prepara el documento para poderlo modificar. o Procedimient Prepara el documento para poder cambiar solamente el o detalle de una lnea Procedimient Cancela la edicin del documento. o Funcin Aade los datos editados del documento a la base de datos y devuelve el identificador con el que se almacenar.
NuevaLinea NuevaLineaArt
Procedimient Inicia una nueva lnea o Procedimient Inicia una nueva lnea aplicando las polticas de nexus, o dados el cdigo del artculo y las unidades pasadas como parmetro. Procedimient Aade la lnea o Procedimient Cancela la lnea en edicin o Procedimient Permite editar una lnea ya existente del documento. o Procedimient Permite borrar una lnea del documento. o Procedimient Inicia el proceso de servir lneas de otro documento o origen. Procedimient Sirve el documento origen entero.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 94 o ServirLinea AnularLinea FinServir AnadirDetalle CambiarDetalle BorrarDetalle AnadirTalla CambiarTalla BorrarTalla NuevoComponente EditarComponente BorrarComponente AnadirComponente CancelarComponente Procedimient Sirve una lnea del documento origen. o Procedimient Anula una lnea del documento origen conforme no o podrn servirse las unidades indicadas. Procedimient Finaliza el proceso de servir. o Procedimient Identifica los n de serie, lotes, fechas de caducidad y/o o ubicaciones de una lnea del documento. Procedimient Cambia los n de serie, lotes, fechas de caducidad y/o o ubicaciones de una lnea del documento. Procedimient Borra el detalle los n de serie, lotes, fechas de o caducidad y/o ubicaciones de una lnea del documento. Procedimient Identifica las tallas de una lnea del documento. o Procedimient Cambia las tallas de una lnea del documento. o Procedimient Borra el detalle de las tallas de una lnea del o documento. Procedimient Inicia una nueva lnea componente de un kit. o Procedimient Permite editar una lnea componente de un kit. o Procedimient Borra una lnea componente de un kit. o Procedimient Aade una lnea componente de un kit. o Procedimient Cancela una lnea componente de un kit. o
ConsumirFacturaAntici Procedimient Permite consumir una factura de anticipo po o Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del documento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 95 Uso en Delphi: naxDocumento.AsStringCab* CodCli+ Uso en Visual Basic: naxDocumento. AsStringCab ( CodCli)
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 97 Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de precios por debajo del precio mnimo Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de artculo bloqueado Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos del stock Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de riesgo Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar el aviso para cambiar el centro de coste en las lneas cuando se cambia desde la cabecera Valor retornado Lgico Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar facturas.
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Documento cerrado. No se puede usar. ESTM_ACTIVO: Documento activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Documento en estado de insercin de un nuevo registro. ESTM_EDICION: Documento en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 99 Este procedimiento es el que reserva los recursos necesarios para que el documento pueda ser usado. Al iniciar el documento el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el documento el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
procedure Nuevo( sFecha: String; sCodCliPro: String; EsDeCompra: Boolean; EsContable: Boolean; ConReper: Boolean; ConCartera: Boolean);
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO. Parmetros: sFecha sCodCliPro bEsDeCompra bEsContable bConReper bConCartera Fecha del documento Cdigo del cliente o proveedor True Compra False Venta True Contable False De gestin Indica si se desean generar repercusiones contables Indica si se desean generar los vencimientos en funcin de la forma de pago.
Pone el documento que tiene el identificador indicado en edicin. Parmetros: nIdDocu bEsDeCompra Identificador del documento True Compra False Venta
Este mtodo se utiliza nicamente para cambiar el detalle de una lnea de un documento. Se puede utilizar en documentos con muchas lneas, mejorando la velocidad, ya que solo carga el detalle de la lnea que se indica. Despues de llamar a este mtodo solo se pueden utilizar los mtodos AnadirDetalle, CambiarDetalle, BorrarDetalle, AnadirLinea, CancelaLin, Anade y Cancela. Pone el documento que tiene el identificador indicado en edicin y la lnea que tiene el Numlin indicado en edicin
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 100 Parmetros: IdDocu NumLin EsDeCompra Identificador del documento Numero de lnea True Compra False Venta
Procedure Anade;
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Genera las repercusiones del documento como pueden ser: actualizacin de stocks, repercusiones contables, generacin de vencimientos, actualizacin de estadsticas y almacenamiento de los datos de IVA. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Cancela;
Cancela la edicin del documento. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Elimina el documento con el identificador indicado eliminando tambin sus repercusiones en stocks, contabilidad, cartera, estadsticas e IVA. Parmetros: nIdDocu bEsDeCompra Identificador del documento True Compra False Venta
Procedure NuevaLinea;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea.
Crea una lnea con el artculo y las unidades indicadas realizando las bsquedas necesarias de los valores correspondientes a cuentas, precios y descuentos, etc... A partir de ese momento podremos editar los valores de la lnea. Parmetros: sCodArt nUnidades Cdigo del artculo Unidades
Procedure AnadirLinea;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 101 Almacena los valores de los campos de la lnea en la base de datos.
Procedure CancelaLin;
Pone la lnea indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirLinea. Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINFAC del fichero LINEFACT. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdFacV = naxFactura.AsStringCab* IdFacV+ en ventas o IdFacC = naxFactura.AsStringCab* IdFacC+ en compras.
Borra la lnea con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea. Se corresponde con el campo NUMLINFAC del fichero LINEFACT. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdFacV = naxFactura.AsStringCab* IdFacV+ en ventas o IdFacC = naxFactura.AsStringCab* IdFacC+ en compras.
En la siguiente coleccin de procedimientos se encapsula el funcionamiento de las utilidades para servir cualquier documento sobre las facturas. En primer lugar debe llamarse al procedimiento IniciarServir, a continuacin pueden utilizarse los procedimientos ServirDocumento, ServirLinea o AnularLinea y finalmente debe llamarse a FinServir.
procedure IniciarServir( sIdDocu: string; nIdDocu: Currency; bConMensaje: Boolean);
Prepara el documento indicado para servirse. Reserva los recursos necesarios. Parmetros: sIdDocu O Oferta P Pedido A Albarn. D Depsito nIdDocu En funcin del valor de sIdDocu (O,P,A,D) representa el identificador de la oferta (IdOfeV o IdOfeC), del pedido (IdPEdV o IdPedC), del albarn (IdAlbV o IdAlbC) o del depsito (IdDepV o IdDepC) respectivamente.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 102 bConMensaje En caso en que se produzcan diferencias entre las condiciones del documento origen y el destino (Por ejemplo, la forma de pago, el documento de pago, el transportista, etc....), el programa puede actuar de dos formas distintas: bConMesnaje = True: Preguntar al usuario si se desean aplicar las condiciones del documento destino o respetar las del documento origen. bConMensaje = False: Aplicar las condiciones del documento destino.
procedure ServirDocumento;
Sirve todo el material pendiente de todo del documento origen indicado en la funcin IniciarServir.
procedure ServirLinea( nNumGrupo, nNumLin, nNumBul, nNumPaq: Currency; nNumUni, nPrcMedio: Double; sNSerie: WideString; sLote: WideString; sUbicac: WideString; sFecCad: WideString);
Sirve la lnea con los parmetros indicados. Parmetros: nNumGrupo nNumLin Campo obsoleto. PONER UN 0. N de lnea. NUMLINOFE en ofertas, NUMLINPED en pedidos, NUMLINALB en albaranes y NUMLINDEP en depsitos. N de bultos de la lnea que desean servirse. N de paquetes que desean servirse. N de unidades que desean servirse. Campo obsoleto. PONER UN 0. N de serie. Lote. Ubicacin Fecha de caducidad.
procedure AnularLinea( nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double);
Anula las unidades indicadas de la lnea pasada por parmetro. Esas unidades no estarn disponibles para ser servidas posteriormente.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 103 Parmetros: nNumLin nNumBul nNumPaq nNumUni N de lnea del documento origen (NUMLINOFE, NUMLINPED, NUMLINALB o NUMLINDEP). N de bultos de la lnea que desean servirse. N de paquetes que desean servirse. N de unidades que desean servirse.
procedure FinServir;
Realiza las operaciones realizadas desde que se llam a IniciarServir de forma definitiva. Libera los recursos necesarios. Los procedimientos que se describen a continuacin se utilizan para especificar los lotes, n de serie, fechas de caducidad y ubicaciones de una lnea a no ser que esta seleccin se realice de forma automtica. Para consultar si ya se han detallado todos los lotes, n de serie, fechas de caducidad y ubicaciones necesarios se debe llamar a la funcin ConsultarDetalle;
procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su n serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible.. Parmetros: nNunidades sNumSerie sLote sUbicacion sFecCadu N de unidades de la lnea de detalle. N de serie. Lote. Ubicacin. Fecha de caducidad.
procedure CambiarDetalle( nIdLine: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su N serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible. Para consultar el detalle de la lnea activa hay que llamar a la funcin ConsultarDetalle. Parmetros: nIdLine nUnidades sNumSerie sLote Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEFACT. N de unidades de la lnea de detalle. N de serie. Lote.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 104 sUbicacion sFecCadu Ubicacin. Fecha de caducidad.
Elimina la lnea de detalle indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEFACT.
Indica las unidades y el precio necesarios, junto con sus tallas y colores de la lnea activa. Parmetros: sCodFamTallaH sCodFamTallaV sCodTallaH sCodTallaV nUnidades nPrcMoneda Familia de talla horizontal Familia de talla vertical Cdigo de talla horizontal Cdigo de talla vertical N unidades de la lnea de talla Precio de la lnea de talla.
Indica las unidades y el precio de la lnea activa. Parmetros: nIdLine nUnidades nPrcMoneda Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEFACT. N de unidades de la lnea de talla. Precio de la lnea de talla.
Elimina la lnea de talla indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEFACT.
Procedure NuevoComponente;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea componente
Procedure AnadirComponente;
Procedure CancelaComponente;
Pone la lnea componente indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirComponente. Parmetros: nIdLinea Identificador de la lnea componente. Se corresponde con el campo NUMLINFAC del fichero LINEFACT.
Borra la lnea componente con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea componente. Se corresponde con el campo NUMLINFAC del fichero LINEFACT.
Permite consumir una factura de anticipo Parmetros: IdFactura ImporteMoneda Importe Identificador de la factura de anticipo que queremos consumir. Importe a consumir en la moneda de la factura Importe a consumir en EUROS de la factura
OBJETO ALBARAN
Objeto que permite la creacin, modificacin y borrado de albaranes.
Interface Albaran
property Estado: EstadoMaestro readonly; property AsStringCab[const sCampo: WideString]: WideString; property AsFloatCab[const sCampo: WideString]: Double; property AsIntegerCab[const sCampo: WideString]: Integer; property AsBooleanCab[const sCampo: WideString]: WordBool; property AsCurrencyCab[const sCampo: WideString]: Currency; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 106 property AsBooleanLin[const sCampo: WideString]: WordBool; property AsCurrencyLin[const sCampo: WideString]: Currency; property AsBooleanComp[const sCampo: WideString]: WordBool; property AsStringComp[const sCampo: WideString]: WideString; property AsFloatComp[const sCampo: WideString]: Double; property AsIntegerComp[const sCampo: WideString]: Integer; property AsCurrencyComp[const sCampo: WideString]: Currency; property OmitirMensajes:WordBool; property ActivarAlarmaCab : WordBool; property ActivarAlarmaLin: WordBool; property ValidarPrecios: WordBool; property ValidarArtBloqueado: WordBool; property AvisarStock: WordBool; property AvisarRiesgo: WordBool; property AvisarCentroCosteCabecera: WordBool; procedure Iniciar; procedure Acabar; procedure Cancela; procedure Nuevo( sFecha: WideString; sCodCliPro: WideString; bEsDeCompra: WordBool); procedure Borra(IdDocu: Currency; bEsDeCompra: WordBool); procedure Modifica(IdDocu: Currency; bEsDeCompra: WordBool); NUEVO 802A procedure ModificaParcial(IdDocu: Currency; NumLin: Integer, EsDeCompra: WordBool); function Anade: Currency; procedure NuevaLinea; procedure AnadirLinea; procedure CancelaLin; procedure NuevaLineaArt(const sCodArt: WideString; nUnidades: Currency); procedure EditarLinea(nIdLinea: Currency); procedure BorrarLinea(nIdLinea: Currency); procedure IniciarServir(const sIdDocu: WideString; nIdDocu: Currency; bConMensaje: WordBool); procedure ServirDocumento; procedure FinServir; procedure ServirLinea( nNumGru: Currency; nNumLin: Currency; nNumBul: Currency;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 107 nNumPaq: Currency; nNumUni: Double; nPrcMed: Double; sNSerie: WideString; sLote: WideString; sUbicac: WideString; sFecCad: WideString); procedure AnularLinea( nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double); procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure CambiarDetalle( nIdLine: Double; nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure BorrarDetalle(nIdLine: Double); procedure AnadirTalla(sCodFamTallaH, sCodFamTallaV, sCodTallaH, sCodTallaV: WideString; nUnidades, nPrcMoneda: Double); procedure CambiarTalla(nIdLine, nUnidades, nPrcMoneda: Double); procedure BorrarTalla(nIdLine: Double); procedure NuevoComponente; procedure EditarComponente(nIdLine:Currency); procedure BorrarComponente(nIdLine:Currency); procedure AnadirComponente; procedure CancelarComponente;
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 108 nuevo/actual. AsBooleanLin AsCurrencyLin Estado AsStringComp AsIntegerComp AsFloatComp AsBooleanComp AsCurrencyComp OmitirMensajes Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
EstadoMaest Devuelve el estado en que se encuentra el objeto ro Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Lgico Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asignar valor para ocultar mensajes de informacin Asignar valor para activar o no alarmas en documentos Asignar valor para activar o no alarmas en documentos Asignar valor para activar o no los mensajes de validacin de precios Asignar valor para activar o no los mensajes de los artculos bloqueados Asignar valor para activar o no los mensajes de aviso de stock Asignar valor para activar o no los mensajes de aviso de riesgo Asignar valor para activar o no el mensaje que aparece al cambiar algn nivel de analtica y pregunta si se desa cambiar en las lneas.
ActivarAlarmaCab Lgico ActivarAlarmaLin ValidarPrecios ValidarArtBloque ado AvisarStock AvisarRiesgo Lgico Lgico Lgico Lgico Lgico
*EstadoMaestro: Ver objeto Maestro. Mtodo Iniciar Acabar Nuevo Borra Tipo Descripcin
Procedimiento Inicia el objeto Procedimiento Cierra el objeto Procedimiento Inicia un nuevo documento Procedimiento Borra el documento
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 109 Modifica ModificaParcial Cancela Anade Procedimiento Prepara el documento para poderlo modificar. Procedimiento Prepara el documento para poder cambiar solamente el detalle de una lnea Procedimiento Cancela la edicin del documento. Funcin Aade los datos editados del documento a la base de datos y devuelve el identificador con el que se almacenar.
NuevaLinea NuevaLineaArt
Procedimiento Inicia una nueva lnea Procedimiento Inicia una nueva lnea aplicando las polticas de nexus, dados el cdigo del artculo y las unidades pasadas como parmetro. Procedimiento Aade la lnea Procedimiento Cancela la lnea en edicin Procedimiento Permite editar una lnea ya existente del documento. Procedimiento Permite borrar una lnea del documento. Procedimiento Inicia el proceso de servir lneas de otro documento origen. Procedimiento Sirve el documento origen entero. Procedimiento Sirve una lnea del documento origen. Procedimiento Anula una lnea del documento origen conforme no podrn servirse las unidades indicadas. Procedimiento Finaliza el proceso de servir. Procedimiento Identifica los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento. Procedimiento Cambia los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento. Procedimiento Borra el detalle los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento. Procedimiento Identifica las tallas de una lnea del documento. Procedimiento Cambia las tallas de una lnea del documento. Procedimiento Borra el detalle de las tallas de una lnea del documento.
AnadirLinea CancelaLin EditarLinea BorrarLinea IniciarServir ServirDocumento ServirLinea AnularLinea FinServir AnadirDetalle CambiarDetalle BorrarDetalle AnadirTalla CambiarTalla BorrarTalla
NuevoComponente Procedimiento Inicia una nueva lnea componente de un kit. EditarComponente Procedimiento Permite editar una lnea componente de un kit. BorrarComponente Procedimiento Borra una lnea componente de un kit. AnadirComponente Procedimiento Aade una lnea componente de un kit. CancelarComponen Procedimiento Cancela una lnea componente de un kit. te
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 110 Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del documento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003 Uso en Delphi: naxDocumento.AsStringCab* CodCli+ Uso en Visual Basic: naxDocumento. AsStringCab ( CodCli)
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 112 A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: sCampo Nombre del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 113 Valor retornado Currency Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de precios por debajo del precio mnimo Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de artculo bloqueado Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos del stock Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de riesgo Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar el aviso para cambiar el centro de coste en las lneas cuando se cambia desde la cabecera Valor retornado Lgico Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar albaranes.
property Estado:EstadoMaestro
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 114 Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Documento cerrado. No se puede usar. ESTM_ACTIVO: Documento activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Documento en estado de insercin de un nuevo registro. ESTM_EDICION: Documento en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que el documento pueda ser usado. Al iniciar el documento el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el documento el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO. Parmetros: sFecha sCodCliPro bEsDeCompra Fecha del documento Cdigo del cliente o proveedor True Compra False Venta
Pone el documento que tiene el identificador indicado en edicin. Parmetros: nIdDocu bEsDeCompra Identificador del documento True Compra False Venta
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 115 Este mtodo se utiliza nicamente para cambiar el detalle de una lnea de un documento. Se puede utilizar en documentos con muchas lneas, mejorando la velocidad, ya que solo carga el detalle de la lnea que se indica. Despues de llamar a este mtodo solo se pueden utilizar los mtodos AnadirDetalle, CambiarDetalle, BorrarDetalle, AnadirLinea, CancelaLin, Anade y Cancela. Pone el documento que tiene el identificador indicado en edicin y la lnea que tiene el Numlin indicado en edicin Parmetros: IdDocu NumLin EsDeCompra Identificador del documento Numero de lnea True Compra False Venta
Procedure Anade;
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Genera las repercusiones del documento como pueden ser: actualizacin de stocks y actualizacin de estadsticas. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Cancela;
Cancela la edicin del documento. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Elimina el documento con el identificador indicado eliminando tambin sus repercusiones en stocks, contabilidad, cartera, estadsticas e IVA. Parmetros: nIdDocu bEsDeCompra Identificador del documento True Compra False Venta
Procedure NuevaLinea;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 116 Crea una lnea con el artculo y las unidades indicadas realizando las bsquedas necesarias de los valores correspondientes a cuentas, precios y descuentos, etc... A partir de ese momento podremos editar los valores de la lnea. Parmetros: sCodArt nUnidades Cdigo del artculo Unidades
Procedure AnadirLinea;
Procedure CancelaLin;
Pone la lnea indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirLinea. Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINALB del fichero LINEALBA. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdAlbV = naxAlbaran.AsStringCab* IdAlbV+ en ventas o IdAlbC = naxAlbaran.AsStringCab* IdAlbC+ en compras.
Borra la lnea con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea. Se corresponde con el campo NUMLINALB del fichero LINEALBA. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdAlbV = naxAlbaran.AsStringCab* IdAlbV+ en ventas o IdAlbC = naxAlbaran.AsStringCab* IdAlbC+ en compras.
En la siguiente coleccin de procedimientos se encapsula el funcionamiento de las utilidades para servir cualquier documento sobre los albaranes. En primer lugar debe llamarse al procedimiento IniciarServir, a continuacin pueden utilizarse los procedimientos ServirDocumento, ServirLinea o AnularLinea y funalmente debe llamarse a FinServir.
procedure IniciarServir( sIdDocu: string; nIdDocu: Currency; bConMensaje: Boolean);
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 117 Parmetros: sIdDocu nIdDocu O Oferta P Pedido En funcin del valor de sIdDocu (O,P) representa el identificador de la oferta (IdOfeV o IdOfeC) o del pedido (IdPEdV o IdPedC) respectivamente. En caso en que se produzcan diferencias entre las condiciones del documento origen y el destino (Por ejemplo, la forma de pago, el documento de pago, el transportista, etc....), el programa puede actuar de dos formas distintas: bConMesnaje = True: Preguntar al usuario si se desean aplicar las condiciones del documento destino o respetar las del documento origen. bConMensaje = False: Aplicar las condiciones del documento destino.
bConMensaje
procedure ServirDocumento;
Sirve todo el material pendiente de todo del documento origen indicado en la funcin IniciarServir.
procedure ServirLinea( nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double; sNSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCad: WideString);
Sirve la lnea con los parmetros indicados. Parmetros: nNumLin nNumBul nNumPaq nNumUni sNSerie sLote sUbicacion sFecCad N de lnea. NUMLINOFE en ofertas y NUMLINPED en pedidos N de bultos de la lnea que desean servirse. N de paquetes que desean servirse. N de unidades que desean servirse. N de serie. Lote. Ubicacin Fecha de caducidad.
procedure AnularLinea( nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double);
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 118 Anula las unidades indicadas de la lnea pasada por parmetro. Esas unidades no estarn disponibles para ser servidas posteriormente. Parmetros: nNumLin nNumBul nNumPaq nNumUni N de lnea del documento origen (NUMLINOFE o NUMLINPED). N de bultos de la lnea que desean servirse. N de paquetes que desean servirse. N de unidades que desean servirse.
procedure FinServir;
Realiza las operaciones realizadas desde que se llam a IniciarServir de forma definitiva. Libera los recursos necesarios. Los procedimientos que se describen a continuacin se utilizan para especificar los lotes, n de serie, fechas de caducidad y ubicaciones de una lnea a no ser que esta seleccin se realice de forma automtica. Para consultar si ya se han detallado todos los lotes, n de serie, fechas de caducidad y ubicaciones necesarios se debe llamar a la funcin ConsultarDetalle;
procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su n serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible.. Parmetros: nNunidades sNumSerie sLote sUbicacion sFecCadu N de unidades de la lnea de detalle. N de serie. Lote. Ubicacin. Fecha de caducidad.
procedure CambiarDetalle( nIdLine: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su N serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible. Para consultar el detalle de la lnea activa hay que llamar a la funcin ConsultarDetalle. Parmetros: nIdLine nUnidades Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEALBA. N de unidades de la lnea de detalle.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 119 sNumSerie sLote sUbicacion sFecCadu N de serie. Lote. Ubicacin. Fecha de caducidad.
Elimina la lnea de detalle indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEALBA.
Indica las unidades y el precio necesarios, junto con sus tallas y colores de la lnea activa. Parmetros: sCodFamTallaH sCodFamTallaV sCodTallaH sCodTallaV nUnidades nPrcMoneda Familia de talla horizontal Familia de talla vertical Cdigo de talla horizontal Cdigo de talla vertical N unidades de la lnea de talla Precio de la lnea de talla.
Indica las unidades y el precio de la lnea activa. Parmetros: nIdLine nUnidades nPrcMoneda Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEALBA. N de unidades de la lnea de talla. Precio de la lnea de talla.
Elimina la lnea de talla indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEALBA.
Procedure NuevoComponente;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea componente
Procedure CancelaComponente;
Pone la lnea componente indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirComponente. Parmetros: nIdLinea Identificador de la lnea componente. Se corresponde con el campo NUMLINALB del fichero LINEALBA.
Borra la lnea componente con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea componente. Se corresponde con el campo NUMLINALB del fichero LINEALBA.
OBJETO PEDIDO
Objeto que permite la creacin, modificacin y borrado de pedidos.
Interface Pedido
property Estado: EstadoMaestro readonly; property AsStringCab[const sCampo: WideString]: WideString; property AsFloatCab[const sCampo: WideString]: Double; property AsIntegerCab[const sCampo: WideString]: Integer; property AsBooleanCab[const sCampo: WideString]: WordBool; property AsCurrencyCab[const sCampo: WideString]: Currency; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer; property AsBooleanLin[const sCampo: WideString]: WordBool; property AsCurrencyLin[const sCampo: WideString]: Currency; property AsBooleanComp[const sCampo: WideString]: WordBool; property AsStringComp[const sCampo: WideString]: WideString; property AsFloatComp[const sCampo: WideString]: Double;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 121 property AsIntegerComp[const sCampo: WideString]: Integer; property AsCurrencyComp[const sCampo: WideString]: Currency; property OmitirMensajes:WordBool; property ActivarAlarmaCab : WordBool; property ActivarAlarmaLin: WordBool; property ValidarPrecios: WordBool; property ValidarArtBloqueado: WordBool; property AvisarRiesgo: WordBool; property AvisarCentroCosteCabecera: WordBool; procedure Iniciar; procedure Acabar; procedure Cancela; procedure Nuevo( sFecha: WideString; sCodCliPro: WideString; bEsDeCompra: WordBool); procedure Borra(IdDocu: Currency; bEsDeCompra: WordBool); procedure Modifica(IdDocu: Currency; bEsDeCompra: WordBool); NUEVO 802A procedure ModificaParcial(IdDocu: Currency; NumLin: Integer, EsDeCompra: WordBool); function Anade: Currency; procedure NuevaLinea; procedure AnadirLinea; procedure CancelaLin; procedure NuevaLineaArt(const sCodArt: WideString; nUnidades: Currency); procedure EditarLinea(nIdLinea: Currency); procedure BorrarLinea(nIdLinea: Currency); procedure IniciarServir(const sIdDocu: WideString; nIdDocu: Currency; bConMensaje: WordBool); procedure ServirDocumento; procedure FinServir; procedure ServirLinea( nNumGru: Currency; nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double; nPrcMed: Double; sNSerie: WideString; sLote: WideString; sUbicac: WideString; sFecCad: WideString); procedure AnularLinea( nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double);
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 122 procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure CambiarDetalle( nIdLine: Double; nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure BorrarDetalle(nIdLine: Double); procedure AnadirTalla(sCodFamTallaH, sCodFamTallaV, sCodTallaH, sCodTallaV: WideString; nUnidades, nPrcMoneda: Double); procedure CambiarTalla(nIdLine, nUnidades, nPrcMoneda: Double); procedure BorrarTalla(nIdLine: Double); procedure NuevoComponente; procedure EditarComponente(nIdLine:Currency); procedure BorrarComponente(nIdLine:Currency); procedure AnadirComponente; procedure CancelarComponente;
Propiedades AsStringCab AsIntegerCab AsFloatCab AsBooleanCab AsCurrencyCab AsStringLin AsIntegerLin AsFloatLin AsBooleanLin AsCurrencyLi n Estado
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 123 ro AsStringComp AsIntegerComp AsFloatComp AsBooleanComp AsCurrencyComp OmitirMensajes Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Lgico Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asignar valor para ocultar mensajes de informacin Asignar valor para activar o no alarmas en documentos Asignar valor para activar o no alarmas en documentos Asignar valor para activar o no los mensajes de validacin de precios Asignar valor para activar o no los mensajes de los artculos bloqueados Asignar valor para activar o no los mensajes de aviso de riesgo Asignar valor para activar o no el mensaje que aparece al cambiar algn nivel de analtica y pregunta si se desa cambiar en las lneas.
ActivarAlarmaCab Lgico ActivarAlarmaLin ValidarPrecios ValidarArtBloque ado AvisarRiesgo Lgico Lgico Lgico Lgico
*EstadoMaestro: Ver objeto Maestro. Mtodo Iniciar Acabar Nuevo Borra Modifica ModificaParcial Tipo Descripcin
Procedimient Inicia el objeto o Procedimient Cierra el objeto o Procedimient Inicia un nuevo documento o Procedimient Borra el documento o Procedimient Prepara el documento para poderlo modificar. o Procedimient Prepara el documento para poder cambiar solamente el o detalle de una lnea
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 124 Cancela Anade NuevaLinea NuevaLineaArt Procedimient Cancela la edicin del documento. o Funcin Aade los datos editados del documento a la base de datos y devuelve el identificador con el que se almacenar.
Procedimient Inicia una nueva lnea o Procedimient Inicia una nueva lnea aplicando las polticas de nexus, o dados el cdigo del artculo y las unidades pasadas como parmetro. Procedimient Aade la lnea o Procedimient Cancela la lnea en edicin o Procedimient Permite editar una lnea ya existente del documento. o Procedimient Permite borrar una lnea del documento. o Procedimient Inicia el proceso de servir lneas de otro documento o origen. Procedimient Sirve el documento origen entero. o Procedimient Sirve una lnea del documento origen. o Procedimient Anula una lnea del documento origen conforme no o podrn servirse las unidades indicadas. Procedimient Finaliza el proceso de servir. o Procedimient Identifica los n de serie, lotes, fechas de caducidad y/o o ubicaciones de una lnea del documento. Procedimient Cambia los n de serie, lotes, fechas de caducidad y/o o ubicaciones de una lnea del documento. Procedimient Borra el detalle los n de serie, lotes, fechas de caducidad o y/o ubicaciones de una lnea del documento. Procedimient Identifica las tallas de una lnea del documento. o Procedimient Cambia las tallas de una lnea del documento. o Procedimient Borra el detalle de las tallas de una lnea del documento. o
AnadirLinea CancelaLin EditarLinea BorrarLinea IniciarServir ServirDocumento ServirLinea AnularLinea FinServir AnadirDetalle CambiarDetalle BorrarDetalle AnadirTalla CambiarTalla BorrarTalla
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 125 o EditarComponente Procedimient Permite editar una lnea componente de un kit. o BorrarComponente Procedimient Borra una lnea componente de un kit. o AnadirComponente Procedimient Aade una lnea componente de un kit. o CancelarComponen Procedimient Cancela una lnea componente de un kit. te o Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del documento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003 Uso en Delphi: naxDocumento.AsStringCab* CodCli+ Uso en Visual Basic: naxDocumento. AsStringCab ( CodCli)
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es double. Parmetros: sCampo Nombre del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 126 Valor retornado Double Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 128 Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de precios por debajo del precio mnimo Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de artculo bloqueado Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos del stock Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de riesgo Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar el aviso para cambiar el centro de coste en las lneas cuando se cambia desde la cabecera
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 129 Valor retornado Lgico Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar pedidos.
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Documento cerrado. No se puede usar. ESTM_ACTIVO: Documento activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Documento en estado de insercin de un nuevo registro. ESTM_EDICION: Documento en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que el documento pueda ser usado. Al iniciar el documento el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el documento el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO. Parmetros: sFecha sCodCliPro bEsDeCompra Fecha del documento Cdigo del cliente o proveedor True Compra False Venta
Pone el documento que tiene el identificador indicado en edicin. Parmetros: nIdDocu Identificador del documento
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 130 bEsDeCompra True Compra False Venta
Este mtodo se utiliza nicamente para cambiar el detalle de una lnea de un documento. Se puede utilizar en documentos con muchas lneas, mejorando la velocidad, ya que solo carga el detalle de la lnea que se indica. Despues de llamar a este mtodo solo se pueden utilizar los mtodos AnadirDetalle, CambiarDetalle, BorrarDetalle, AnadirLinea, CancelaLin, Anade y Cancela. Pone el documento que tiene el identificador indicado en edicin y la lnea que tiene el Numlin indicado en edicin Parmetros: IdDocu NumLin EsDeCompra Identificador del documento Numero de lnea True Compra False Venta
Procedure Anade;
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Genera las repercusiones del documento como pueden ser: actualizacin de stocks y actualizacin de estadsticas. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Cancela;
Cancela la edicin del documento. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Elimina el documento con el identificador indicado eliminando tambin sus repercusiones en stocks, contabilidad, cartera, estadsticas e IVA. Parmetros: nIdDocu bEsDeCompra Identificador del documento True Compra False Venta
Procedure NuevaLinea;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 131 Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea.
Crea una lnea con el artculo y las unidades indicadas realizando las bsquedas necesarias de los valores correspondientes a cuentas, precios y descuentos, etc... A partir de ese momento podremos editar los valores de la lnea. Parmetros: sCodArt nUnidades Cdigo del artculo Unidades
Procedure AnadirLinea;
Procedure CancelaLin;
Pone la lnea indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirLinea. Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINPED del fichero LINEPEDI. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdPedV = naxPedido.AsStringCab* IdPedV+ en ventas o IdPedC = naxPedido.AsStringCab* IdPedC+ en compras.
Borra la lnea con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea. Se corresponde con el campo NUMLINPED del fichero LINEPEDI. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdPedV = naxPedido.AsStringCab* IdPedV+ en ventas o IdPedC = naxPedido.AsStringCab* IdPedC+ en compras.
En la siguiente coleccin de procedimientos se encapsula el funcionamiento de las utilidades para servir cualquier documento sobre los pedidos. En primer lugar debe llamarse al procedimiento IniciarServir, a continuacin pueden utilizarse los procedimientos ServirDocumento, ServirLinea o AnularLinea y funalmente debe llamarse a FinServir.
Prepara el documento indicado para servirse. Reserva los recursos necesarios. Parmetros: sIdDocu nIdDocu bConMensaje O Oferta Representa el identificador de la oferta (IdOfeV o IdOfeC). En caso en que se produzcan diferencias entre las condiciones del documento origen y el destino (Por ejemplo, la forma de pago, el documento de pago, el transportista, etc....), el programa puede actuar de dos formas distintas: bConMesnaje = True: Preguntar al usuario si se desean aplicar las condiciones del documento destino o respetar las del documento origen. bConMensaje = False: Aplicar las condiciones del documento destino.
procedure ServirDocumento;
Sirve todo el material pendiente de todo del documento origen indicado en la funcin IniciarServir.
procedure ServirLinea( nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double; sNSerie: WideString; sLote: WideString; sUbicac: WideString; sFecCad: WideString);
Sirve la lnea con los parmetros indicados. Parmetros: nNumLin nNumBul nNumPaq nNumUni sNSerie sLote sUbicac sFecCad N de lnea. NUMLINOFE de ofertas. N de bultos de la lnea que desean servirse. N de paquetes que desean servirse. N de unidades que desean servirse. N de serie. Lote. Ubicacin Fecha de caducidad.
procedure AnularLinea( nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double);
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 133 Anula las unidades indicadas de la lnea pasada por parmetro. Esas unidades no estarn disponibles para ser servidas posteriormente. Parmetros: nNumLin nNumBul nNumPaq nNumUni N de lnea del documento origen (NUMLINOFE). N de bultos de la lnea que desean servirse. N de paquetes que desean servirse. N de unidades que desean servirse.
procedure FinServir;
Realiza las operaciones realizadas desde que se llam a IniciarServir de forma definitiva. Libera los recursos necesarios. Los procedimientos que se describen a continuacin se utilizan para especificar los lotes, n de serie, fechas de caducidad y ubicaciones de una lnea a no ser que esta seleccin se realice de forma automtica. Para consultar si ya se han detallado todos los lotes, n de serie, fechas de caducidad y ubicaciones necesarios se debe llamar a la funcin ConsultarDetalle;
procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su n serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible.. Parmetros: nNunidades sNumSerie sLote sUbicacion sFecCadu N de unidades de la lnea de detalle. N de serie. Lote. Ubicacin. Fecha de caducidad.
procedure CambiarDetalle( nIdLine: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su N serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible. Para consultar el detalle de la lnea activa hay que llamar a la funcin ConsultarDetalle. Parmetros: nIdLine nUnidades sNumSerie Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEPEDI. N de unidades de la lnea de detalle. N de serie.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 134 sLote sUbicacion sFecCadu Lote. Ubicacin. Fecha de caducidad.
Elimina la lnea de detalle indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEPEDI.
Indica las unidades y el precio necesarios, junto con sus tallas y colores de la lnea activa. Parmetros: sCodFamTallaH sCodFamTallaV sCodTallaH sCodTallaV nUnidades nPrcMoneda Familia de talla horizontal Familia de talla vertical Cdigo de talla horizontal Cdigo de talla vertical N unidades de la lnea de talla Precio de la lnea de talla.
Indica las unidades y el precio de la lnea activa. Parmetros: nIdLine nUnidades nPrcMoneda Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEPEDI. N de unidades de la lnea de talla. Precio de la lnea de talla.
Elimina la lnea de talla indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEPEDI.
Procedure NuevoComponente;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea componente
Procedure AnadirComponente;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 135 Almacena los valores de los campos de la lnea componente en la base de datos.
Procedure CancelaComponente;
Pone la lnea componente indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirComponente. Parmetros: nIdLinea Identificador de la lnea componente. Se corresponde con el campo NUMLINPED del fichero LINEPEDI.
Borra la lnea componente con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea componente. Se corresponde con el campo NUMLINPED del fichero LINEPEDI.
OBJETO DEPSITO
Objeto que permite la creacin, modificacin y borrado de depsitos.
Interface Depsito
property Estado: EstadoMaestro readonly; property AsStringCab[const sCampo: WideString]: WideString; property AsFloatCab[const sCampo: WideString]: Double; property AsIntegerCab[const sCampo: WideString]: Integer; property AsBooleanCab[const sCampo: WideString]: WordBool; property AsCurrencyCab[const sCampo: WideString]: Currency; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer; property AsBooleanLin[const sCampo: WideString]: WordBool; property AsCurrencyLin[const sCampo: WideString]: Currency; property AsBooleanComp[const sCampo: WideString]: WordBool; property AsStringComp[const sCampo: WideString]: WideString; property AsFloatComp[const sCampo: WideString]: Double; property AsIntegerComp[const sCampo: WideString]: Integer;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 136 property AsCurrencyComp[const sCampo: WideString]: Currency; property OmitirMensajes:WordBool; property ActivarAlarmaCab : WordBool; property ActivarAlarmaLin: WordBool; property ValidarPrecios: WordBool; property ValidarArtBloqueado: WordBool; property AvisarStock: WordBool; property AvisarRiesgo: WordBool; property AvisarCentroCosteCabecera: WordBool; procedure Iniciar; procedure Acabar; procedure Cancela; procedure Nuevo( sFecha: WideString; sCodCliPro: WideString; bEsDeCompra: WordBool); procedure Borra(IdDocu: Currency; bEsDeCompra: WordBool); procedure Modifica(IdDocu: Currency; bEsDeCompra: WordBool); NUEVO 802A procedure ModificaParcial(IdDocu: Currency; NumLin: Integer, EsDeCompra: WordBool); function Anade: Currency; procedure NuevaLinea; procedure AnadirLinea; procedure CancelaLin; procedure NuevaLineaArt(const sCodArt: WideString; nUnidades: Currency); procedure EditarLinea(nIdLinea: Currency); procedure BorrarLinea(nIdLinea: Currency); procedure IniciarServir(const sIdDocu: WideString; nIdDocu: Currency; bConMensaje: WordBool); procedure ServirDocumento; procedure FinServir; procedure ServirLinea( nNumGru: Currency; nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double; nPrcMed: Double; sNSerie: WideString; sLote: WideString; sUbicac: WideString; sFecCad: WideString); procedure AnularLinea( nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double); procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 137 sUbicacion: WideString; sFecCadu: WideString); procedure CambiarDetalle( nIdLine: Double; nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure BorrarDetalle(nIdLine: Double); procedure AnadirTalla(sCodFamTallaH, sCodFamTallaV, sCodTallaH, sCodTallaV: WideString; nUnidades, nPrcMoneda: Double); procedure CambiarTalla(nIdLine, nUnidades, nPrcMoneda: Double); procedure BorrarTalla(nIdLine: Double); procedure NuevoComponente; procedure EditarComponente(nIdLine:Currency); procedure BorrarComponente(nIdLine:Currency); procedure AnadirComponente; procedure CancelarComponente;
Propiedades AsStringCab AsIntegerCab AsFloatCab AsBooleanCab AsCurrencyCab AsStringLin AsIntegerLin AsFloatLin AsBooleanLin AsCurrencyLin Estado
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 138 AsStringComp AsIntegerComp AsFloatComp AsBooleanComp AsCurrencyComp OmitirMensajes Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Lgico Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asignar valor para ocultar mensajes de informacin Asignar valor para activar o no alarmas en documentos Asignar valor para activar o no alarmas en documentos Asignar valor para activar o no los mensajes de validacin de precios Asignar valor para activar o no los mensajes de los artculos bloqueados Asignar valor para activar o no los mensajes de aviso de stock Asignar valor para activar o no los mensajes de aviso de riesgo Asignar valor para activar o no el mensaje que aparece al cambiar algn nivel de analtica y pregunta si se desa cambiar en las lneas.
ActivarAlarmaCab Lgico ActivarAlarmaLin ValidarPrecios ValidarArtBloque ado AvisarStock AvisarRiesgo Lgico Lgico Lgico Lgico Lgico
*EstadoMaestro: Ver objeto Maestro. Mtodo Iniciar Acabar Nuevo Borra Modifica ModificaParcial Tipo Descripcin
Procedimie Inicia el objeto nto Procedimie Cierra el objeto nto Procedimie Inicia un nuevo documento nto Procedimie Borra el documento nto Procedimie Prepara el documento para poderlo modificar. nto Procedimie Prepara el documento para poder cambiar solamente el
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 139 nto Cancela Anade NuevaLinea NuevaLineaArt detalle de una lnea
Procedimie Cancela la edicin del documento. nto Funcin Aade los datos editados del documento a la base de datos y devuelve el identificador con el que se almacenar.
Procedimie Inicia una nueva lnea nto Procedimie Inicia una nueva lnea aplicando las polticas de nexus, nto dados el cdigo del artculo y las unidades pasadas como parmetro. Procedimie Aade la lnea nto Procedimie Cancela la lnea en edicin nto Procedimie Permite editar una lnea ya existente del documento. nto Procedimie Permite borrar una lnea del documento. nto Procedimie Inicia el proceso de servir lneas de otro documento nto origen. Procedimie Sirve el documento origen entero. nto Procedimie Sirve una lnea del documento origen. nto Procedimie Anula una lnea del documento origen conforme no nto podrn servirse las unidades indicadas. Procedimie Finaliza el proceso de servir. nto Procedimie Identifica los n de serie, lotes, fechas de caducidad y/o nto ubicaciones de una lnea del documento. Procedimie Cambia los n de serie, lotes, fechas de caducidad y/o nto ubicaciones de una lnea del documento. Procedimie Borra el detalle los n de serie, lotes, fechas de caducidad nto y/o ubicaciones de una lnea del documento. Procedimie Identifica las tallas de una lnea del documento. nto Procedimie Cambia las tallas de una lnea del documento. nto Procedimie Borra el detalle de las tallas de una lnea del documento. nto
AnadirLinea CancelaLin EditarLinea BorrarLinea IniciarServir ServirDocumento ServirLinea AnularLinea FinServir AnadirDetalle CambiarDetalle BorrarDetalle AnadirTalla CambiarTalla BorrarTalla
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 140 NuevoComponente EditarComponente BorrarComponente AnadirComponente Procedimie Inicia una nueva lnea componente de un kit. nto Procedimie Permite editar una lnea componente de un kit. nto Procedimie Borra una lnea componente de un kit. nto Procedimie Aade una lnea componente de un kit. nto
CancelarComponent Procedimie Cancela una lnea componente de un kit. e nto Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del documento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003 Uso en Delphi: naxDocumento.AsStringCab* CodCli+ Uso en Visual Basic: naxDocumento. AsStringCab ( CodCli)
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es double.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 141 Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 143 A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de precios por debajo del precio mnimo Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de artculo bloqueado Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos del stock Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de riesgo Valor retornado Lgico Valor del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 144 A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar el aviso para cambiar el centro de coste en las lneas cuando se cambia desde la cabecera Valor retornado Lgico Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar depsitos.
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Documento cerrado. No se puede usar. ESTM_ACTIVO: Documento activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Documento en estado de insercin de un nuevo registro. ESTM_EDICION: Documento en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que el documento pueda ser usado. Al iniciar el documento el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el documento el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO. Parmetros: sFecha sCodCliPro bEsDeCompra Fecha del documento Cdigo del cliente o proveedor True Compra False Venta
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 145 Pone el documento que tiene el identificador indicado en edicin. Parmetros: nIdDocu bEsDeCompra Identificador del documento True Compra False Venta
Este mtodo se utiliza nicamente para cambiar el detalle de una lnea de un documento. Se puede utilizar en documentos con muchas lneas, mejorando la velocidad, ya que solo carga el detalle de la lnea que se indica. Despues de llamar a este mtodo solo se pueden utilizar los mtodos AnadirDetalle, CambiarDetalle, BorrarDetalle, AnadirLinea, CancelaLin, Anade y Cancela. Pone el documento que tiene el identificador indicado en edicin y la lnea que tiene el Numlin indicado en edicin Parmetros: IdDocu NumLin EsDeCompra Identificador del documento Numero de lnea True Compra False Venta
Procedure Anade;
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Genera las repercusiones del documento como pueden ser: actualizacin de stocks y actualizacin de estadsticas. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Cancela;
Cancela la edicin del documento. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Elimina el documento con el identificador indicado eliminando tambin sus repercusiones en stocks, contabilidad, cartera, estadsticas e IVA. Parmetros: nIdDocu bEsDeCompra Identificador del documento True Compra False Venta
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea.
Crea una lnea con el artculo y las unidades indicadas realizando las bsquedas necesarias de los valores correspondientes a cuentas, precios y descuentos, etc... A partir de ese momento podremos editar los valores de la lnea. Parmetros: sCodArt nUnidades Cdigo del artculo Unidades
Procedure AnadirLinea;
Procedure CancelaLin;
Pone la lnea indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirLinea. Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINDEP del fichero LINEDEPO. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdDepV = naxDeposito.AsStringCab* IdDepV+ en ventas o IdDepC = naxDeposito.AsStringCab* IdDepC+ en compras.
Borra la lnea con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea. Se corresponde con el campo NUMLINDEP del fichero LINEDEPO. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdDepV = naxDeposito.AsStringCab* IdDepV+ en ventas o IdDepC = naxDeposito.AsStringCab* IdDepC+ en compras.
En la siguiente coleccin de procedimientos se encapsula el funcionamiento de las utilidades para servir cualquier documento sobre los depsitos. En primer lugar debe llamarse al procedimiento
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 147 IniciarServir, a continuacin pueden utilizarse los procedimientos ServirDocumento, ServirLinea o AnularLinea y funalmente debe llamarse a FinServir.
procedure IniciarServir( sIdDocu: string; nIdDocu: Currency; bConMensaje: Boolean);
Prepara el documento indicado para servirse. Reserva los recursos necesarios. Parmetros: sIdDocu nIdDocu bConMensaje O Oferta P->Pedido Representa el identificador de la oferta (IdOfeV, IdOfeC) o del pedido(IdPedV o IdPedC). En caso en que se produzcan diferencias entre las condiciones del documento origen y el destino (Por ejemplo, la forma de pago, el documento de pago, el transportista, etc....), el programa puede actuar de dos formas distintas: bConMesnaje = True: Preguntar al usuario si se desean aplicar las condiciones del documento destino o respetar las del documento origen. bConMensaje = False: Aplicar las condiciones del documento destino.
procedure ServirDocumento;
Sirve todo el material pendiente de todo del documento origen indicado en la funcin IniciarServir.
procedure ServirLinea( nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double; sNSerie: WideString; sLote: WideString; sUbicac: WideString; sFecCad: WideString);
Sirve la lnea con los parmetros indicados. Parmetros: nNumLin nNumBul nNumPaq nNumUni sNSerie sLote sUbicac sFecCad N de lnea. NUMLINOFE de ofertas y NUMLINPED en pedidos N de bultos de la lnea que desean servirse. N de paquetes que desean servirse. N de unidades que desean servirse. N de serie. Lote. Ubicacin Fecha de caducidad.
procedure AnularLinea( nNumLin: Currency; nNumBul: Currency; nNumPaq: Currency; nNumUni: Double);
Anula las unidades indicadas de la lnea pasada por parmetro. Esas unidades no estarn disponibles para ser servidas posteriormente. Parmetros: nNumLin nNumBul nNumPaq nNumUni N de lnea del documento origen (NUMLINOFE o NUMLINPED). N de bultos de la lnea que desean servirse. N de paquetes que desean servirse. N de unidades que desean servirse.
procedure FinServir;
Realiza las operaciones realizadas desde que se llam a IniciarServir de forma definitiva. Libera los recursos necesarios. Los procedimientos que se describen a continuacin se utilizan para especificar los lotes, n de serie, fechas de caducidad y ubicaciones de una lnea a no ser que esta seleccin se realice de forma automtica. Para consultar si ya se han detallado todos los lotes, n de serie, fechas de caducidad y ubicaciones necesarios se debe llamar a la funcin ConsultarDetalle;
procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su n serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible.. Parmetros: nNunidades sNumSerie sLote sUbicacion sFecCadu N de unidades de la lnea de detalle. N de serie. Lote. Ubicacin. Fecha de caducidad.
procedure CambiarDetalle( nIdLine: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su N serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible. Para consultar el detalle de la lnea activa hay que llamar a la funcin ConsultarDetalle.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 149 Parmetros: nIdLine nUnidades sNumSerie sLote sUbicacion sFecCadu Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEDEPO. N de unidades de la lnea de detalle. N de serie. Lote. Ubicacin. Fecha de caducidad.
Elimina la lnea de detalle indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEDEPO.
Indica las unidades y el precio necesarios, junto con sus tallas y colores de la lnea activa. Parmetros: sCodFamTallaH sCodFamTallaV sCodTallaH sCodTallaV nUnidades nPrcMoneda Familia de talla horizontal Familia de talla vertical Cdigo de talla horizontal Cdigo de talla vertical N unidades de la lnea de talla Precio de la lnea de talla.
Indica las unidades y el precio de la lnea activa. Parmetros: nIdLine nUnidades nPrcMoneda Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEDEPO. N de unidades de la lnea de talla. Precio de la lnea de talla.
Elimina la lnea de talla indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEDEPO.
Procedure NuevoComponente;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 150 Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea componente
Procedure AnadirComponente;
Procedure CancelaComponente;
Pone la lnea componente indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirComponente. Parmetros: nIdLinea Identificador de la lnea componente. Se corresponde con el campo NUMLINDEP del fichero LINEDEPO.
Borra la lnea componente con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea componente. Se corresponde con el campo NUMLINDEP del fichero LINEDEPO.
OBJETO OFERTA
Objeto que permite la creacin, modificacin y borrado de ofertas.
Interface Oferta
property Estado: EstadoMaestro readonly; property AsStringCab[const sCampo: WideString]: WideString; property AsFloatCab[const sCampo: WideString]: Double; property AsIntegerCab[const sCampo: WideString]: Integer; property AsBooleanCab[const sCampo: WideString]: WordBool; property AsCurrencyCab[const sCampo: WideString]: Currency; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer; property AsBooleanLin[const sCampo: WideString]: WordBool; property AsCurrencyLin[const sCampo: WideString]: Currency;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 151 property AsBooleanComp[const sCampo: WideString]: WordBool; property AsStringComp[const sCampo: WideString]: WideString; property AsFloatComp[const sCampo: WideString]: Double; property AsIntegerComp[const sCampo: WideString]: Integer; property AsCurrencyComp[const sCampo: WideString]: Currency; property OmitirMensajes:WordBool; property ActivarAlarmaCab : WordBool; property ActivarAlarmaLin: WordBool; property ValidarPrecios: WordBool; property ValidarArtBloqueado: WordBool; property AvisarCentroCosteCabecera: WordBool; procedure Iniciar; procedure Acabar; procedure Cancela; procedure Nuevo( sFecha: WideString; sCodCliPro: WideString; bEsDeCompra: WordBool); procedure Borra(IdDocu: Currency; bEsDeCompra: WordBool); procedure Modifica(IdDocu: Currency; bEsDeCompra: WordBool); NUEVO 802A procedure ModificaParcial(IdDocu: Currency; NumLin: Integer, EsDeCompra: WordBool); function Anade: Currency; procedure NuevaLinea; procedure AnadirLinea; procedure CancelaLin; procedure NuevaLineaArt(const sCodArt: WideString; nUnidades: Currency); procedure EditarLinea(nIdLinea: Currency); procedure BorrarLinea(nIdLinea: Currency); procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure CambiarDetalle( nIdLine: Double; nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure BorrarDetalle(nIdLine: Double); procedure AnadirTalla(sCodFamTallaH, sCodFamTallaV, sCodTallaH, sCodTallaV: WideString; nUnidades, nPrcMoneda: Double); procedure CambiarTalla(nIdLine, nUnidades, nPrcMoneda: Double); procedure BorrarTalla(nIdLine: Double);
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 152 procedure NuevoComponente; procedure EditarComponente(nIdLine:Currency); procedure BorrarComponente(nIdLine:Currency); procedure AnadirComponente; procedure CancelarComponente;
Propiedades AsStringCab AsIntegerCab AsFloatCab AsBooleanCab AsCurrencyCab AsStringLin AsIntegerLin AsFloatLin AsBooleanLin AsCurrencyLin Estado AsStringComp AsIntegerComp AsFloatComp AsBooleanComp AsCurrencyComp
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
EstadoMaest Devuelve el estado en que se encuentra el objeto ro Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 153 OmitirMensajes Lgico Asignar valor para ocultar mensajes de informacin Asignar valor para activar o no alarmas en documentos Asignar valor para activar o no alarmas en documentos Asignar valor para activar o no los mensajes de validacin de precios Asignar valor para activar o no los mensajes de los artculos bloqueados Asignar valor para activar o no el mensaje que aparece al cambiar algn nivel de analtica y pregunta si se desa cambiar en las lneas.
Iniciar Acabar Nuevo Borra Modifica ModificaParcial Cancela Anade NuevaLinea NuevaLineaArt
Procedimient Inicia el objeto o Procedimient Cierra el objeto o Procedimient Inicia un nuevo documento o Procedimient Borra el documento o Procedimient Prepara el documento para poderlo modificar. o Procedimient Prepara el documento para poder cambiar solamente el o detalle de una lnea Procedimient Cancela la edicin del documento. o Funcin Aade los datos editados del documento a la base de datos y devuelve el identificador con el que se almacenar.
Procedimient Inicia una nueva lnea o Procedimient Inicia una nueva lnea aplicando las polticas de nexus, o dados el cdigo del artculo y las unidades pasadas como parmetro. Procedimient Aade la lnea o Procedimient Cancela la lnea en edicin
AnadirLinea CancelaLin
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 154 o EditarLinea BorrarLinea AnadirDetalle CambiarDetalle BorrarDetalle AnadirTalla CambiarTalla BorrarTalla Procedimient Permite editar una lnea ya existente del documento. o Procedimient Permite borrar una lnea del documento. o Procedimient Identifica los n de serie, lotes, fechas de caducidad y/o o ubicaciones de una lnea del documento. Procedimient Cambia los n de serie, lotes, fechas de caducidad y/o o ubicaciones de una lnea del documento. Procedimient Borra el detalle los n de serie, lotes, fechas de caducidad o y/o ubicaciones de una lnea del documento. Procedimient Identifica las tallas de una lnea del documento. o Procedimient Cambia las tallas de una lnea del documento. o Procedimient Borra el detalle de las tallas de una lnea del documento. o
NuevoComponente Procedimient Inicia una nueva lnea componente de un kit. o EditarComponente Procedimient Permite editar una lnea componente de un kit. o BorrarComponente Procedimient Borra una lnea componente de un kit. o AnadirComponente Procedimient Aade una lnea componente de un kit. o CancelarComponen Procedimient Cancela una lnea componente de un kit. te o Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del documento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003 Uso en Delphi: naxDocumento.AsStringCab* CodCli+ Uso en Visual Basic: naxDocumento. AsStringCab ( CodCli)
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 155 A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: sCampo Nombre del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 156 Valor retornado String Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de precios por debajo del precio mnimo Valor retornado Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar los avisos de artculo bloqueado Valor Lgico Valor del campo
A travs de esta propiedad podemos asignar valor si queremos mostrar o ocultar el aviso para cambiar el centro de coste en las lneas cuando se cambia desde la cabecera Valor retornado Lgico Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar ofertas.
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Documento cerrado. No se puede usar. ESTM_ACTIVO: Documento activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Documento en estado de insercin de un nuevo registro. ESTM_EDICION: Documento en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que el documento pueda ser usado. Al iniciar el documento el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el documento el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO. Parmetros: sFecha sCodCliPro bEsDeCompra Fecha del documento Cdigo del cliente o proveedor True Compra False Venta
Pone el documento que tiene el identificador indicado en edicin. Parmetros: nIdDocu bEsDeCompra Identificador del documento True Compra False Venta
Este mtodo se utiliza nicamente para cambiar el detalle de una lnea de un documento. Se puede utilizar en documentos con muchas lneas, mejorando la velocidad, ya que solo carga el detalle de la lnea que se indica. Despues de llamar a este mtodo solo se pueden utilizar los mtodos AnadirDetalle, CambiarDetalle, BorrarDetalle, AnadirLinea, CancelaLin, Anade y Cancela. Pone el documento que tiene el identificador indicado en edicin y la lnea que tiene el Numlin indicado en edicin Parmetros: IdDocu NumLin EsDeCompra Identificador del documento Numero de lnea True Compra False Venta
Procedure Anade;
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Genera las repercusiones del documento como pueden ser: actualizacin de stocks y actualizacin de estadsticas. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Cancela;
Cancela la edicin del documento. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Elimina el documento con el identificador indicado eliminando tambin sus repercusiones en stocks, contabilidad, cartera, estadsticas e IVA. Parmetros: nIdDocu bEsDeCompra Identificador del documento True Compra False Venta
Procedure NuevaLinea;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea.
Crea una lnea con el artculo y las unidades indicadas realizando las bsquedas necesarias de los valores correspondientes a cuentas, precios y descuentos, etc... A partir de ese momento podremos editar los valores de la lnea. Parmetros: sCodArt nUnidades Cdigo del artculo Unidades
Procedure AnadirLinea;
Procedure CancelaLin;
Pone la lnea indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirLinea. Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINOFE del fichero LINEOFER. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdOfeV = naxOferta.AsStringCab* IdOfeV+ en ventas o IdOfeC = naxOferta.AsStringCab* IdOfeC+ en compras.
Borra la lnea con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea. Se corresponde con el campo NUMLINOFE del fichero LINEOFER. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdOfeV = naxOferta.AsStringCab* IdOfeV+ en ventas o IdOfeC = naxOferta.AsStringCab* IdOfeC+ en compras.
Los procedimientos que se describen a continuacin se utilizan para especificar los lotes, n de serie, fechas de caducidad y ubicaciones de una lnea a no ser que esta seleccin se realice de forma
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 161 automtica. Para consultar si ya se han detallado todos los lotes, n de serie, fechas de caducidad y ubicaciones necesarios se debe llamar a la funcin ConsultarDetalle;
procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su n serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible.. Parmetros: nNunidades sNumSerie sLote sUbicacion sFecCadu N de unidades de la lnea de detalle. N de serie. Lote. Ubicacin. Fecha de caducidad.
procedure CambiarDetalle( nIdLine: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su N serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible. Para consultar el detalle de la lnea activa hay que llamar a la funcin ConsultarDetalle. Parmetros: nIdLine nUnidades sNumSerie sLote sUbicacion sFecCadu Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEOFER. N de unidades de la lnea de detalle. N de serie. Lote. Ubicacin. Fecha de caducidad.
Elimina la lnea de detalle indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEOFER.
Indica las unidades y el precio necesarios, junto con sus tallas y colores de la lnea activa.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 162 Parmetros: sCodFamTallaH sCodFamTallaV sCodTallaH sCodTallaV nUnidades nPrcMoneda Familia de talla horizontal Familia de talla vertical Cdigo de talla horizontal Cdigo de talla vertical N unidades de la lnea de talla Precio de la lnea de talla.
Indica las unidades y el precio de la lnea activa. Parmetros: nIdLine nUnidades nPrcMoneda Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEOFER. N de unidades de la lnea de talla. Precio de la lnea de talla.
Elimina la lnea de talla indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEOFER.
Procedure NuevoComponente;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea componente
Procedure AnadirComponente;
Procedure CancelaComponente;
Pone la lnea componente indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirComponente. Parmetros: nIdLinea Identificador de la lnea componente. Se corresponde con el campo NUMLINOFE del fichero LINEOFER.
Borra la lnea componente con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea componente. Se corresponde con el campo NUMLINOFE del fichero LINEOFER.
OBJETO REGULARIZACION
Objeto que permite la creacin, modificacin y borrado de regularizaciones.
Interface Regularizacion
property Estado: EstadoMaestro readonly; property AsStringCab[const sCampo: WideString]: WideString; property AsFloatCab[const sCampo: WideString]: Double; property AsIntegerCab[const sCampo: WideString]: Integer; property AsBooleanCab[const sCampo: WideString]: WordBool; property AsCurrencyCab[const sCampo: WideString]: Currency; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer; property AsBooleanLin[const sCampo: WideString]: WordBool; property AsCurrencyLin[const sCampo: WideString]: Currency; property AvisarStock: WordBool; procedure Iniciar; procedure Acabar; procedure Cancela; procedure Nuevo( sFecha: WideString; sCodAlm: WideString); procedure Borra(IdDocu: Currency); procedure Modifica(IdDocu: Currency); function Anade: Currency; procedure NuevaLinea; procedure AnadirLinea; procedure CancelaLin; procedure NuevaLineaArt(const sCodArt: WideString; nUnidades: Currency); procedure EditarLinea(nIdLinea: Currency); procedure BorrarLinea(nIdLinea: Currency); procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 164 sUbicacion: WideString; sFecCadu: WideString); procedure CambiarDetalle( nIdLine: Double; nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure BorrarDetalle(nIdLine: Double); procedure AnadirTalla(sCodFamTallaH, sCodFamTallaV, sCodTallaH, sCodTallaV: WideString; nUnidades: Double); procedure CambiarTalla(nIdLine, nUnidades: Double); procedure BorrarTalla(nIdLine: Double);
Propiedades AsStringCab AsIntegerCab AsFloatCab AsBooleanCab AsCurrencyCab AsStringLin AsIntegerLin AsFloatLin AsBooleanLin AsCurrencyLin Estado AvisarStock
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
EstadoMaest Devuelve el estado en que se encuentra el objeto ro Lgico Asignar valor para activar o no los mensajes de aviso de stock
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 165 Iniciar Acabar Nuevo Borra Modifica Cancela Anade NuevaLinea NuevaLineaArt Procedimiento Inicia el objeto Procedimiento Cierra el objeto Procedimiento Inicia un nuevo documento Procedimiento Borra el documento Procedimiento Prepara el documento para poderlo modificar. Procedimiento Cancela la edicin del documento. Funcin Aade los datos editados del documento a la base de datos y devuelve el identificador con el que se almacenar.
Procedimiento Inicia una nueva lnea Procedimiento Inicia una nueva lnea aplicando las polticas de nexus, dados el cdigo del artculo y las unidades pasadas como parmetro. Procedimiento Aade la lnea Procedimiento Cancela la lnea en edicin Procedimiento Permite editar una lnea ya existente del documento. Procedimiento Permite borrar una lnea del documento. Procedimiento Identifica los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento. Procedimiento Cambia los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento. Procedimiento Borra el detalle los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento. Procedimiento Identifica las tallas de una lnea del documento. Procedimiento Cambia las tallas de una lnea del documento. Procedimiento Borra el detalle de las tallas de una lnea del documento.
AnadirLinea CancelaLin EditarLinea BorrarLinea AnadirDetalle CambiarDetalle BorrarDetalle AnadirTalla CambiarTalla BorrarTalla
Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del documento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003 Uso en Delphi: naxDocumento.AsStringLin* CodArt+ Uso en Visual Basic: naxDocumento.AsStringLin ( CodArt)
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 166 A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: sCampo Nombre del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 167 Valor retornado String Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Valor retornado Currency Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar regularizaciones.
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Documento cerrado. No se puede usar. ESTM_ACTIVO: Documento activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Documento en estado de insercin de un nuevo registro. ESTM_EDICION: Documento en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que el documento pueda ser usado. Al iniciar el documento el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el documento el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO. Parmetros: sFecha sCodAlm Fecha del documento Cdigo del almacn
Pone el documento que tiene el identificador indicado en edicin. Parmetros: nIdDocu Identificador del documento
Procedure Anade;
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Genera las repercusiones del documento como pueden ser: actualizacin de stocks y actualizacin de estadsticas. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Cancela;
Cancela la edicin del documento. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Elimina el documento con el identificador indicado eliminando tambin sus repercusiones en stocks, contabilidad, cartera, estadsticas e IVA. Parmetros: nIdDocu Identificador del documento
Procedure NuevaLinea;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea.
Crea una lnea con el artculo y las unidades indicadas. A partir de ese momento podremos editar los valores de la lnea. Parmetros: sCodArt nUnidades Cdigo del artculo Unidades
Procedure AnadirLinea;
Procedure CancelaLin;
Pone la lnea indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirLinea. Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINREG del fichero LINEREGU. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdReg = naxRegu.AsStringCab* IdReg+.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 170 Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINREG del fichero LINEREGU. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdReg = naxRegu.AsStringCab* IdReg+.
Los procedimientos que se describen a continuacin se utilizan para especificar los lotes, n de serie, fechas de caducidad y ubicaciones de una lnea a no ser que esta seleccin se realice de forma automtica. Para consultar si ya se han detallado todos los lotes, n de serie, fechas de caducidad y ubicaciones necesarios se debe llamar a la funcin ConsultarDetalle;
procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su n serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible.. Parmetros: nUnidades sNumSerie sLote sUbicacion sFecCadu N de unidades de la lnea de detalle. N de serie. Lote. Ubicacin. Fecha de caducidad.
procedure CambiarDetalle( nIdLine: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su N serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible. Para consultar el detalle de la lnea activa hay que llamar a la funcin ConsultarDetalle. Parmetros: nIdLine nUnidades sNumSerie sLote sUbicacion sFecCadu Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEREGU. N de unidades de la lnea de detalle. N de serie. Lote. Ubicacin. Fecha de caducidad.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 171 Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEREGU.
Indica las unidades y el precio necesarios, junto con sus tallas y colores de la lnea activa. Parmetros: sCodFamTallaH sCodFamTallaV sCodTallaH sCodTallaV nUnidades Familia de talla horizontal Familia de talla vertical Cdigo de talla horizontal Cdigo de talla vertical N unidades de la lnea de talla
Indica las unidades y el precio de la lnea activa. Parmetros: nIdLine nUnidades Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEREGU. N de unidades de la lnea de talla.
Elimina la lnea de talla indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEREGU.
OBJETO TRASPASO
Objeto que permite la creacin, modificacin y borrado de traspasos.
Interface Traspaso
property Estado: EstadoMaestro readonly; property AsStringCab[const sCampo: WideString]: WideString; property AsFloatCab[const sCampo: WideString]: Double; property AsIntegerCab[const sCampo: WideString]: Integer; property AsBooleanCab[const sCampo: WideString]: WordBool; property AsCurrencyCab[const sCampo: WideString]: Currency; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 172 property AsBooleanLin[const sCampo: WideString]: WordBool; property AsCurrencyLin[const sCampo: WideString]: Currency; property AvisarStock: WordBool; procedure Iniciar; procedure Acabar; procedure Cancela; procedure Nuevo( sFecha: WideString; sCodAlmSal, sCodalmEnt: WideString); procedure Borra(IdDocu: Currency); procedure Modifica(IdDocu: Currency); function Anade: Currency; procedure NuevaLinea; procedure AnadirLinea; procedure CancelaLin; procedure NuevaLineaArt(const sCodArt: WideString; nUnidades: Currency); procedure EditarLinea(nIdLinea: Currency); procedure BorrarLinea(nIdLinea: Currency); procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion1, sUnicacion2: WideString; sFecCadu: WideString); procedure CambiarDetalle( nIdLine: Double; nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion1, sUnicacion2: WideString; sFecCadu: WideString); procedure BorrarDetalle(nIdLine: Double); procedure AnadirTalla(sCodFamTallaH, sCodFamTallaV, sCodTallaH, sCodTallaV: WideString; nUnidades: Double); procedure CambiarTalla(nIdLine, nUnidades: Double); procedure BorrarTalla(nIdLine: Double);
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 173 Lgico) AsCurrencyCab AsStringLin AsIntegerLin AsFloatLin AsBooleanLin AsCurrencyLin Estado AvisarStock Tabla( Currency) nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
EstadoMaest Devuelve el estado en que se encuentra el objeto ro Lgico Asignar valor para activar o no los mensajes de aviso de stock
*EstadoMaestro: Ver objeto Maestro. Mtodo Iniciar Acabar Nuevo Borra Modifica Cancela Anade NuevaLinea NuevaLineaArt Tipo Descripcin
Procedimiento Inicia el objeto Procedimiento Cierra el objeto Procedimiento Inicia un nuevo documento Procedimiento Borra el documento Procedimiento Prepara el documento para poderlo modificar. Procedimiento Cancela la edicin del documento. Funcin Aade los datos editados del documento a la base de datos y devuelve el identificador con el que se almacenar.
Procedimiento Inicia una nueva lnea Procedimiento Inicia una nueva lnea aplicando las polticas de nexus, dados el cdigo del artculo y las unidades pasadas como parmetro. Procedimiento Aade la lnea Procedimiento Cancela la lnea en edicin Procedimiento Permite editar una lnea ya existente del documento. Procedimiento Permite borrar una lnea del documento. Procedimiento Identifica los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 174 CambiarDetalle BorrarDetalle AnadirTalla CambiarTalla BorrarTalla Procedimiento Cambia los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento. Procedimiento Borra el detalle los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento. Procedimiento Identifica las tallas de una lnea del documento. Procedimiento Cambia las tallas de una lnea del documento. Procedimiento Borra el detalle de las tallas de una lnea del documento.
Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del documento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003 Uso en Delphi: naxDocumento.AsStringLin[ CodArt+ Uso en Visual Basic: naxDocumento. AsStringLin ( CodArt)
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es double. Parmetros: Valor sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 176 A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Valor retornado Currency Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar traspasos.
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Documento cerrado. No se puede usar. ESTM_ACTIVO: Documento activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Documento en estado de insercin de un nuevo registro. ESTM_EDICION: Documento en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que el documento pueda ser usado. Al iniciar el documento el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 177 Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el documento el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO. Parmetros: sFecha sCodAlmSal sCodAlmEnt Fecha del documento Cdigo del almacn de salida. Cdigo del almacn de entrada.
Pone el documento que tiene el identificador indicado en edicin. Parmetros: nIdDocu Identificador del documento
Procedure Anade;
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Genera las repercusiones del documento como pueden ser: actualizacin de stocks y actualizacin de estadsticas. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Cancela;
Cancela la edicin del documento. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Elimina el documento con el identificador indicado eliminando tambin sus repercusiones en stocks, contabilidad, cartera, estadsticas e IVA. Parmetros: nIdDocu Identificador del documento
Procedure NuevaLinea;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 178 Crea una lnea con el artculo y las unidades indicadas. A partir de ese momento podremos editar los valores de la lnea. Parmetros: sCodArt nUnidades Cdigo del artculo Unidades
Procedure AnadirLinea;
Procedure CancelaLin;
Pone la lnea indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirLinea. Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINTRA del fichero LINETRAS. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdTra = naxTraspaso.AsStringCab* IdTra+.
Borra la lnea con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINTRA del fichero LINETRAS. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdTra = naxTraspaso.AsStringCab[ IdTra+.
Los procedimientos que se describen a continuacin se utilizan para especificar los lotes, n de serie, fechas de caducidad y ubicaciones de una lnea a no ser que esta seleccin se realice de forma automtica. Para consultar si ya se han detallado todos los lotes, n de serie, fechas de caducidad y ubicaciones necesarios se debe llamar a la funcin ConsultarDetalle;
procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion1, sUbicacion2: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su n serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible.. Parmetros: nUnidades N de unidades de la lnea de detalle.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 179 sNumSerie sLote sUbicacion1 sUbicacion2 sFecCadu N de serie. Lote. Ubicacin en almacn origen. Ubicacin en almacn destino Fecha de caducidad.
procedure CambiarDetalle( nIdLine: Double; sNumSerie: WideString; sLote: WideString; sUbicacion1, sUbicacion2: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su N serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible. Para consultar el detalle de la lnea activa hay que llamar a la funcin ConsultarDetalle. Parmetros: nIdLine nUnidades sNumSerie sLote sUbicacion1 sUbicacion2 sFecCadu Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINETRAS. N de unidades de la lnea de detalle. N de serie. Lote. Ubicacin en almacn origen. Ubicacin en almacn destino Fecha de caducidad.
Elimina la lnea de detalle indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINETRAS.
Indica las unidades y el precio necesarios, junto con sus tallas y colores de la lnea activa. Parmetros: sCodFamTallaH sCodFamTallaV sCodTallaH sCodTallaV nUnidades Familia de talla horizontal Familia de talla vertical Cdigo de talla horizontal Cdigo de talla vertical N unidades de la lnea de talla
Indica las unidades y el precio de la lnea activa. Parmetros: nIdLine nUnidades Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINETRAS. N de unidades de la lnea de talla.
Elimina la lnea de talla indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINETRAS.
OBJETO INVENTARIO
Objeto que permite la creacin, modificacin y borrado de inventarios.
Interface Inventario
property Estado: EstadoMaestro readonly; property AsStringCab[const sCampo: WideString]: WideString; property AsFloatCab[const sCampo: WideString]: Double; property AsIntegerCab[const sCampo: WideString]: Integer; property AsBooleanCab[const sCampo: WideString]: WordBool; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer; property AsBooleanLin[const sCampo: WideString]: WordBool; property AsCurrencyLin[const sCampo: WideString]: Currency; property AvisarStock: WordBool; procedure Iniciar; procedure Acabar; procedure Cancela; procedure Nuevo( sFecha: WideString; sCodAlm: WideString; bTodosArti: WrodBool); procedure Borra(IdDocu: Currency); procedure Editar(IdDocu: Currency); function Anade: Currency; procedure NuevaLinea; procedure AnadirLinea;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 181 procedure CancelaLin; procedure NuevaLineaArt(const sCodArt: WideString; nUnidades: Currency); procedure EditarLinea(nIdLinea: Currency); procedure BorrarLinea(nIdLinea: Currency); procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure CambiarDetalle( nIdLine: Double; nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString); procedure BorrarDetalle(nIdLine: Double); procedure AnadirTalla(sCodFamTallaH, sCodFamTallaV, sCodTallaH, sCodTallaV: WideString; nUnidades,nPrcMedio: Double); procedure CambiarTalla(nIdLine, nUnidades,nPrcMedio: Double); procedure BorrarTalla(nIdLine: Double);
Propiedades AsStringCab AsIntegerCab AsFloatCab AsBooleanCab AsStringLin AsIntegerLin AsFloatLin AsBooleanLin AsCurrencyLin Estado AvisarStock
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
EstadoMaest Devuelve el estado en que se encuentra el objeto ro Lgico Asignar valor para activar o no los mensajes de aviso de stock
Mtodo Iniciar Acabar Nuevo Borra Modifica Cancela Anade NuevaLinea NuevaLineaArt
Tipo
Descripcin
Procedimiento Inicia el objeto Procedimiento Cierra el objeto Procedimiento Inicia un nuevo documento Procedimiento Borra el documento Procedimiento Prepara el documento para poderlo modificar. Procedimiento Cancela la edicin del documento. Funcin Aade los datos editados del documento a la base de datos y devuelve el identificador con el que se almacenar.
Procedimiento Inicia una nueva lnea Procedimiento Inicia una nueva lnea aplicando las polticas de nexus, dados el cdigo del artculo y las unidades pasadas como parmetro. Procedimiento Aade la lnea Procedimiento Cancela la lnea en edicin Procedimiento Permite editar una lnea ya existente del documento. Procedimiento Permite borrar una lnea del documento. Procedimiento Identifica los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento. Procedimiento Cambia los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento. Procedimiento Borra el detalle los n de serie, lotes, fechas de caducidad y/o ubicaciones de una lnea del documento. Procedimiento Identifica las tallas de una lnea del documento. Procedimiento Cambia las tallas de una lnea del documento. Procedimiento Borra el detalle de las tallas de una lnea del documento.
AnadirLinea CancelaLin EditarLinea BorrarLinea AnadirDetalle CambiarDetalle BorrarDetalle AnadirTalla CambiarTalla BorrarTalla
Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del documento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003 Uso en Delphi: naxDocumento.AsStringLin* CodArt+ Uso en Visual Basic: naxDocumento. AsStringLin ( CodArt)
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 183 Cuando se crea un inventario nuevo, el programa necesita crear una lnea en ese inventario para almacenar las unidades de stock que debera tener cada artculo en cada almacn. (Se almacena esa informacin en el campo UNICALC). Posteriormente el usuario puede cambiar esa propuesta por la realidad del almacn (llenando la columna que se corresponde con el campo UNIDADES). Por tanto al crear un inventario puede tardar un rato, en el que se estar realizando el clculo del stock propuesto por la aplicacin.
property AsStringCab[ sCampo:String]: String
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: sCampo Nombre del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 184 Valor retornado String Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Valor retornado Currency Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar inventarios.
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Documento cerrado. No se puede usar. ESTM_ACTIVO: Documento activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Documento en estado de insercin de un nuevo registro. ESTM_EDICION: Documento en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que el documento pueda ser usado. Al iniciar el documento el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el documento el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO. Parmetros: sFecha sCodAlm bTodosArti Fecha del documento Cdigo del almacn bTodosArti = True: Se incluyen los artculos con stock 0. bTodosArti = True: Slo se incluyen los artculos cuyo stock es diferente de 0.
Pone el documento que tiene el identificador indicado en edicin. Parmetros: nIdDocu Identificador del documento
Procedure Anade;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 186 Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Genera las repercusiones del documento como pueden ser: actualizacin de stocks y actualizacin de estadsticas. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Cancela;
Cancela la edicin del documento. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Elimina el documento con el identificador indicado eliminando tambin sus repercusiones en stocks, contabilidad, cartera, estadsticas e IVA. Parmetros: nIdDocu Identificador del documento
Procedure NuevaLinea;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea.
Crea una lnea con el artculo y las unidades indicadas. A partir de ese momento podremos editar los valores de la lnea. Parmetros: sCodArt nUnidades Cdigo del artculo Unidades
Procedure AnadirLinea;
Procedure CancelaLin;
Pone la lnea indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirLinea.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 187 Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLININV del fichero LINEINVE. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdInv = naxInve.AsStringCab* IdInv+.
Borra la lnea con el identificador indicado en el parmetro nIdLinea. Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLININV del fichero LINEINVE. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdInv = naxInve.AsStringCab* IdInv+.
Los procedimientos que se describen a continuacin se utilizan para especificar los lotes, n de serie, fechas de caducidad y ubicaciones de una lnea a no ser que esta seleccin se realice de forma automtica. Para consultar si ya se han detallado todos los lotes, n de serie, fechas de caducidad y ubicaciones necesarios se debe llamar a la funcin ConsultarDetalle;
procedure AnadirDetalle( nUnidades: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su n serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible.. Parmetros: nNunidades sNumSerie sLote sUbicacion sFecCadu N de unidades de la lnea de detalle. N de serie. Lote. Ubicacin. Fecha de caducidad.
procedure CambiarDetalle( nIdLine: Double; sNumSerie: WideString; sLote: WideString; sUbicacion: WideString; sFecCadu: WideString);
Indica las unidades necesarias y su N serie, lote, fecha de caducidad y ubicacin de la lnea activa. Para conocer los n serie, lote, fecha de caducidad y ubicaciones disponibles en stock hay que llamar a la funcin Varios.DetalleStockDisponible. Para consultar el detalle de la lnea activa hay que llamar a la funcin ConsultarDetalle. Parmetros: nIdLine nUnidades Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEINVE. N de unidades de la lnea de detalle.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 188 sNumSerie sLote sUbicacion sFecCadu N de serie. Lote. Ubicacin. Fecha de caducidad.
Elimina la lnea de detalle indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEINVE.
Indica las unidades y el precio necesarios, junto con sus tallas y colores de la lnea activa. Parmetros: sCodFamTallaH sCodFamTallaV sCodTallaH sCodTallaV nUnidades nPrcMedio Familia de talla horizontal Familia de talla vertical Cdigo de talla horizontal Cdigo de talla vertical N unidades de la lnea de talla Precio medio de la lnea de talla.
Indica las unidades y el precio de la lnea activa. Parmetros: nIdLine nUnidades nPrcMedio Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEINVE. N de unidades de la lnea de talla. Precio medio de la lnea de talla.
Elimina la lnea de talla indicada en el parmetro. Parmetros: nIdLine Identificador de la lnea. Se corresponde con el campo IDLIN de la tabla LINEINVE.
OBJETO MOVIMIENTOSTOCK
Objeto que permite la creacin, modificacin y borrado de conjuntos de movimientos de stock.
property Estado: EstadoMaestro readonly; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer; property AsBooleanLin[const sCampo: WideString]: WordBool; property AsCurrencyLin[const sCampo: WideString]: Currency; property AvisarStock: WordBool; procedure Iniciar; procedure Acabar; procedure Cancela; procedure Nuevo( sFecha: WideString; sCodAlm: WideString); procedure Borra(IdDocu: Currency); procedure Modifica(IdDocu: Currency); function Anade: Currency; procedure NuevaLinea; procedure AnadirLinea; procedure CancelaLin; procedure NuevaLineaArt(const sCodArt: WideString; nUnidades: Currency); procedure EditarLinea(nIdLinea: Currency); procedure BorrarLinea(nIdLinea: Currency);
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Metodo Iniciar Acabar Nuevo Borra Modifica Cancela Anade NuevaLinea NuevaLineaArt
Tipo
Descripcin
Procedimiento Inicia el objeto Procedimiento Cierra el objeto Procedimiento Inicia un nuevo documento Procedimiento Borra el docuemtno Procedimiento Prepara el documento para poderlo modificar. Procedimiento Cancela la edicin del documento. Funcin Aade los datos editados del documento a la base de datos y devuelve el identificador con el que se almacenar.
Procedimiento Inicia una nueva lnea Procedimiento Inicia una nueva lnea aplicando las polticas de nexus, dados el cdigo del artculo y las unidades pasadas como parmetro. Procedimiento Aade la lnea Procedimiento Cancela la lnea en edicin Procedimiento Permite editar una lnea ya existente del documento. Procedimiento Permite borrar una lnea del documento. Lgico Asignar valor para activar o no los mensajes de aviso de stock
Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del documento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003 Uso en Delphi: naxDocumento.AsStringLin* CodArt+ Uso en Visual Basic: naxDocumento. AsStringLin ( CodArt)
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Valor retornado Currency Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar movimientos de stock.
property Estado:EstadoMaestro
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 192 Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Documento cerrado. No se puede usar. ESTM_ACTIVO: Documento activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Documento en estado de insercin de un nuevo registro. ESTM_EDICION: Documento en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que el documento pueda ser usado. Al iniciar el documento el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el documento el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO. Parmetros: sFecha sCodAlm Fecha del documento Cdigo del almacn.
Pone el documento que tiene el identificador indicado en edicin. Parmetros: nIdDocu Identificador del documento
Procedure Anade;
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Genera las repercusiones del documento como pueden ser: actualizacin de stocks y actualizacin de estadsticas. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Cancela;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 193 Cancela la edicin del documento. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Elimina el documento con el identificador indicado eliminando tambin sus repercusiones en stocks, contabilidad, cartera, estadsticas e IVA. Parmetros: nIdDocu Identificador del documento
Procedure NuevaLinea;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea.
Crea una lnea con el artculo y las unidades indicadas. A partir de ese momento podremos editar los valores de la lnea. Parmetros: sCodArt nUnidades Cdigo del artculo Unidades
Procedure AnadirLinea;
Procedure CancelaLin;
Pone la lnea indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirLinea. Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINMOV del fichero LINEMOVI. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdMov = naxMovi.AsStringCab* IdMov+.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 194 Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINMOV del fichero LINEMOVI. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdMov = naxMovi.AsStringCab* IdMov+.
OBJETO RESERVASTOCK
Objeto que permite la creacin, modificacin y borrado de conjuntos de reservas de stock.
Interface ReservaStock
property Estado: EstadoMaestro readonly; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer; property AsBooleanLin[const sCampo: WideString]: WordBool; property AsCurrencyLin[const sCampo: WideString]: Currency; procedure Iniciar; procedure Acabar; procedure Cancela; procedure Nuevo( sFecha: WideString; sCodAlm: WideString); procedure Borra(IdDocu: Currency); procedure Modifica(IdDocu: Currency); function Anade: Currency; procedure NuevaLinea; procedure AnadirLinea; procedure CancelaLin; procedure NuevaLineaArt(const sCodArt: WideString; nUnidades: Currency); procedure EditarLinea(nIdLinea: Currency); procedure BorrarLinea(nIdLinea: Currency);
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 195 AsBooleanLin AsCurrencyLin Estado Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
*EstadoMaestro: Ver objeto Maestro. Mtodo Iniciar Acabar Nuevo Borra Modifica Cancela Anade NuevaLinea NuevaLineaArt Tipo Descripcin
Procedimiento Inicia el objeto Procedimiento Cierra el objeto Procedimiento Inicia un nuevo documento Procedimiento Borra el documento Procedimiento Prepara el documento para poderlo modificar. Procedimiento Cancela la edicin del documento. Funcin Aade los datos editados del documento a la base de datos y devuelve el identificador con el que se almacenar.
Procedimiento Inicia una nueva lnea Procedimiento Inicia una nueva lnea aplicando las polticas de nexus, dados el cdigo del artculo y las unidades pasadas como parmetro. Procedimiento Aade la lnea Procedimiento Cancela la lnea en edicin Procedimiento Permite editar una lnea ya existente del documento. Procedimiento Permite borrar una lnea del documento.
Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del documento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003 Uso en Delphi: naxDocumento.AsStringLin* CodArt+ Uso en Visual Basic: naxDocumento. AsStringLin ( CodArt)
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 196 A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar reservas de stock.
property Estado:EstadoMaestro
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 197 Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Documento cerrado. No se puede usar. ESTM_ACTIVO: Documento activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Documento en estado de insercin de un nuevo registro. ESTM_EDICION: Documento en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que el documento pueda ser usado. Al iniciar el documento el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el documento el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO. Parmetros: sFecha sCodAlm Fecha del documento Cdigo del almacn.
Pone el documento que tiene el identificador indicado en edicin. Parmetros: nIdDocu Identificador del documento
Procedure Anade;
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Genera las repercusiones del documento como pueden ser: actualizacin de stocks y actualizacin de estadsticas. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Cancela;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 198 Cancela la edicin del documento. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Elimina el documento con el identificador indicado eliminando tambin sus repercusiones en stocks, contabilidad, cartera, estadsticas e IVA. Parmetros: nIdDocu Identificador del documento
Procedure NuevaLinea;
Crea una lnea con los valores por defecto. A partir de ese momento podremos editar los valores de la lnea.
Crea una lnea con el artculo y las unidades indicadas. A partir de ese momento podremos editar los valores de la lnea. Parmetros: sCodArt nUnidades Cdigo del artculo Unidades
Procedure AnadirLinea;
Procedure CancelaLin;
Pone la lnea indicada en el parmetro nIdLinea en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirLinea. Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINRES del fichero LINERESE. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdRes = naxReserva.AsStringCab* IdRes+.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 199 Parmetros: nIdLinea Identificador de la lnea.. Se corresponde con el campo NUMLINRES del fichero LINERESE. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdRes = naxReserva.AsStringCab* IdRes+.
OBJETO ASIENTO
Interface Asiento
property Estado: EstadoMaestro readonly; property AsString[const sCampo: WideString]: WideString; property AsFloat[const sCampo: WideString]: Double; property AsInteger[const sCampo: WideString]: Integer; property AsBoolean[const sCampo: WideString]: WordBool; property TratarConcepto: WordBool; property Importado: WordBool; procedure Iniciar; procedure Acabar; procedure Nuevo(sFecha: WideString; sTipoContable: WideString; sTipo: WideString); procedure Modifica( nAsiento: Currency); procedure Borra( nAsiento: Currency); function Anade: Currency; procedure Cancela; procedure AApunte( sCodMon: WideString; sCuenta: WideString; nDebe: Currency; sDescripcion: WideString; nHaber: Currency; sCentroCoste: WideString; sTexto: WideString); procedure NuevoNax( sTipApu: WideString; sTipoCont: WideString; sDiario: WideString; sNumDoc: WideString; sFecha: WideString); procedure AApunteNax( sCodConce: WideString; sDescApu: WideString; sCentroCoste: WideString; sCentroCoste2: WideString; sCentroCoste3: WideString; sCodMon: WideString; sCuenta: WideString; nDebeMoneda: Currency; nDebe: Currency; nHaberMoneda: Currency; nHaber: Currency; sTexto: WideString; sFechaValor: WideString); procedure Desligar (nAsiento: Currency);
Tipo EstadoMaestr o Tabla( string) Tabla( float) Tabla(integer) Tabla(lgico) Lgico Lgico
Descripcin Devuelve el estado en que se encuentra el objeto Asiento. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Para desactivar la peticin visual de variables de conceptos Para desactivar los mensajes visuales de n asiento o asiento cuadrado, etc
Mtodos Iniciar Acabar Nuevo Modifica Borra Anade Cancela AApunte NuevoNax AApunteNax Desligar
Tipo
Descripcin
Procedimient Inicia el objeto asiento. o Procedimient Cierra el objeto asiento. o Procedimient Pasa al ESTM_NUEVO para comenzar a aadir apuntes. o Procedimient Sustituye el asiento especificado por el actual. o Procedimient Borra el asiento especificado. o Funcin Utiliza los apuntes introducidos para crear un nuevo asiento. Devuelve el nmero del asiento que se acaba de generar.
Procedimient Cancela el nuevo, pasa a ESTM_ACTIVO y se pierden los o apuntes introducidos. Procedimient Aade un apunte al asiento actual. o Procedimient Equivalente a Nuevo pero con ms parmetros. o Procedimient Equivalente a Aapunte pero con ms parmetros. o Procedimient Para desvincular el asiento de su cartera. Se indica el n de o asiento a desligar
Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores del asiento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar aadir la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 1/1/2002 Uso en Delphi: naxApunte.AsString* Cuenta+ Uso en Visual Basic: naxApunte.AsString ( Cuenta)
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: sCampo Nombre del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 202 Valor retornado Lgico Valor del campo
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Asiento cerrado. No se puede usar. ESTM_ACTIVO: Asiento activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Asiento en estado de insercin de un nuevo registro. ESTM_EDICION: Asiento en estado modificacin, podemos asignar valores a los campos. Parmetros: Valor retornado (ninguno) EstadoMaestro Retorna el estado del asiento.
Para desactivar la peticin visual de variables de conceptos Valor retornado Lgico Valor del campo
Para desactivar los mensajes visuales de n asiento o asiento cuadrado, etc Valor retornado Lgico Valor del campo
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que el asiento pueda ser usado. Al iniciar el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Mediante este procedimiento se inicia la edicin de un nuevo asiento. Como parmetros se pasan los valores que son comunes a todas las lneas del asiento. Pasa del estado ESTM_ACTIVO al estado ESTM_NUEVO.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 203 Parmetros: sFecha sTipoContable STipo Fecha del asiento Tipo contable del asiento. Tipo de asiento. Valores posibles: A Apertura. N Normal. P Paso a explotacin. T Cierre.
procedure NuevoNax( sTipApu: WideString; sTipoCont: WideString; sDiario: WideString; sNumDoc: WideString; sFecha: WideString);
Mediante este procedimiento se inicia la edicin de un nuevo asiento. Como parmetros se pasan los valores que son comunes a todas las lneas del asiento. Pasa del estado ESTM_ACTIVO al estado ESTM_NUEVO. Parmetros: sTipApu Tipo de asiento. Valores posibles: A Apertura. N Normal. P Paso a explotacin. T Cierre. sTipoCont sDiario sNumDoc sFecha Tipo contable del asiento. Diario contable Nmero de documento contable. Fecha del asiento
Mediante este procedimiento se inicia la modificacin de un asiento existente. Como parmetro se pasa el identificador del asiento. Pasa del estado ESTM_ACTIVO al estado ESTM_EDICION. Debe tenerse en cuenta que cuando se modifica un asiento que ya existe lo primero que hace NAX es borrar las lneas que ya tiene y a continuacin el programador debe introducir todas las lneas que finalmente tendr ese asiento. Parmetros: nAsiento Identificador del asiento. Se corresponde con el valor del campo NUMAPUNTE del fichero APUNTES.
Mediante este procedimiento se borra un asiento existente. Como parmetro se pasa el identificador del asiento.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 204 Parmetros: nAsiento Identificador del asiento. Se corresponde con el valor del campo NUMAPUNTE del fichero APUNTES.
Mediante este procedimiento se termina la edicin de un asiento tanto nuevo como existente y se guarda su contenido en la base de datos. Cambia el estado de ESTM_NUEVO o ESTM_EDICION a ESTM_ACTIVO. Valor retornado: Currency Identificador del asiento. Se corresponde con el valor del campo NUMAPUNTE del fichero APUNTES.
Procedure Cancela;
Mediante este procedimiento se cancela la edicin de un asiento tanto nuevo como existente. Cambia el estado de ESTM_NUEVO o ESTM_EDICION a ESTM_ACTIVO.
procedure AApunte( sCodMon, sCuenta: String; nDebe: Currency; sDescripcion: String; nHaber:Currency; sCentroCoste, sTexto: String);
Mediante este procedimiento se crean las lneas (apuntes) de un asiento. Parmetros: sCodMon sCuenta nDebe sDescripcion nHaber sCentroCoste sTexto Cdigo de la moneda. Cuenta contable. Importe del debe en la moneda indicada. Descripcin del asiento. Importe del haber en la moneda indicada. Centro de coste 1. Texto.
procedure AApunteNax( sCodConce: WideString; sDescApu: WideString; sCentroCoste: WideString; sCentroCoste2: WideString; sCentroCoste3: WideString; sCodMon: WideString; sCuenta: WideString; nDebeMoneda: Currency; nDebe: Currency; nHaberMoneda: Currency; nHaber: Currency; sTexto: WideString; sFechaValor: WideString);
Mediante este procedimiento se crean las lneas (apuntes) de un asiento. Parmetros: sCodConce sDescApu Concepto del asiento. nicamente sirve para rellenar la variable CodConce. Descripcin del asiento.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 205 sCentroCoste sCentroCoste2 sCentroCoste3 sCodMon sCuenta nDebeMoneda nDebe nHaberMoneda nHaber sTexto sFechaValor Centro de coste 1. Centro de coste 2. Centro de coste 3. Cdigo de la moneda. Cuenta contable. Importe del debe en la moneda indicada. Importe del debe en la moneda principal. Si el valor es 0 se hace la conversin automticamente. Importe del haber en la moneda indicada. Importe del haber en la moneda principal. Si el valor es 0 se hace la conversin automticamente. Texto. Fecha valor del apunte.
Mediante este procedimiento podemos desvincular el asiento de su cartera Parmetros: nAsiento Identificador del asiento. Se corresponde con el valor del campo NUMAPUNTE del fichero APUNTES.
OBJETO CARTERA
Interface Cartera
property AsString[const sCampo: WideString]: WideString ; property AsFloat[const sCampo: WideString]: Double; property AsInteger[const sCampo: WideString]: Integer; property AsBoolean[const sCampo: WideString]: WordBool; property AsCurrency[const sCampo: WideString]: Currency; property VAsString[const sCampo: WideString]: WideString ; property VAsFloat[const sCampo: WideString]: Double; property VAsInteger[const sCampo: WideString]: Integer; property VAsBoolean[const sCampo: WideString]: WordBool; property VAsCurrency[const sCampo: WideString]: Currency; property Estado: EstadoMaestro readonly; procedure Iniciar; procedure Nuevo( sFecha: WideString; sCodCliPro: WideString; sCodMon: WideString;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 206 sTipoCont: WideString; sSerie: WideString; sNumDoc: WideString; EsDeCompra: WordBool); procedure NuevoNax( sFecha: WideString; sCodCliPro: WideString; sCodMon: WideString; sTipoCont: WideString; sSerie: WideString; sNumDoc: WideString; sReferencia:WideString; EsDeCompra: WordBool); function Anade: Currency; procedure Cancela; procedure NuevoVen(const sFecha: WideString; nImporteMon: Currency); procedure Acabar; procedure Modifica(nCartera: Currency); procedure AnadirVen; procedure Borra(nNumCart: Currency); function ObtenerNumCartera(bEsCobro: WordBool; IdFac: Integer): Currency; function PuedeModificarse(nNumCart: Currency): WordBool; procedure Editar(nNumCart:Currency); procedure EditarVencimiento(nNumVen:Currency); procedure BorrarVencimiento(nNumVen:Currency); procedure GuardarVencimiento;
Propiedades Estado AsString AsFloat AsInteger AsBoolean AsCurrency VAsString VAsFloat VAsInteger
Descripcin Devuelve el estado en que se encuentra el objeto Cartera. Asigna/lee valores a/de los campos del registro nuevo/actual. (cartera) Asigna/lee valores a/de los campos del registro nuevo/actual. (cartera)
Tabla( integer) Asigna/lee valores a/de los campos del registro nuevo/actual. (cartera) Tabla( lgico) Tabla( Currency) Tabla( string) Tabla( float) Asigna/lee valores a/de los campos del registro nuevo/actual. (cartera) Asigna/lee valores a/de los campos del registro nuevo/actual. (cartera) Asigna/lee valores a/de los campos del registro nuevo/actual. (vencimiento) Asigna/lee valores a/de los campos del registro nuevo/actual. (vencimiento)
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 207 nuevo/actual. (vencimiento) VAsBoolean VAsCurrency Tabla( lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. (vencimiento) Asigna/lee valores a/de los campos del registro nuevo/actual. (vencimiento)
Tipo
Descripcin
Nuevo/NuevoNax Procedimient Inicia un nuevo grupo de efectos en cartera. o Anade Modifica Borra Cancela NuevoVen AnadirVen Funcin Aade los efectos en cartera y devuelve el identificador con el que se han almacenado en la base de datos.
Procedimient Borra los efectos del grupo de cartera indicado y prepara o ese mismo grupo para la creacin de nuevos efectos. Procedimient Borra los efectos del grupo de cartera indicado o Procedimient Cancela la edicin del grupo de efectos. o Procedimient Inicia un nuevo vencimiento o Procedimient Aade el vencimiento definido. o Retorna el siguiente nmero de cartera Indica si un grupo de cartera puede modificarse
EditarVencimient Procedimient Pone en modo edicin el vencimiento de un o o NUMCARTERA GuardarVencimie Procedimient Guardar el vencimiento en edicin nto o BorrarVencimient Procedimient Borrar un vencimiento o o Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores del los vencimientos. Deben tenerse en cuenta algunas normas importantes.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 208 Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar aadir la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 1/1/2002 Uso en Delphi: naxCartera.AsString* CodCli+ Uso en Visual Basic: naxCartera.AsString ( CodCli)
property AsString[ sCampo:String]: String
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificado que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificado que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificado que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificado que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 209 A travs de esta propiedad podemos asignar valor a los campos de la lnea especificado que su tipo es currency. Parmetros: Valor retornado sCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos del vencimiento especificado que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos del vencimiento especificado que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos del vencimiento especificado que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos del vencimiento especificado que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos del vencimiento especificado que su tipo es . Parmetros: sCampo Nombre del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 210 Valor retornado Currency Valor del campo
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Cartera (conjunto de vencimientos) cerrada. No se puede usar. ESTM_ACTIVO: Cartera activa. Podemos aadir, borrar, modificar. ESTM_NUEVO: Cartera en estado de insercin de un nuevo registro. ESTM_EDICION: Cartera en estado modificacin, podemos asignar valores a los campos. Parmetros: Valor retornado (ninguno) EstadoMaestro Retorna el estado de la cartera (conjunto de vencimientos).
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que la certera pueda ser usada. Al iniciar el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Procedure Nuevo( sFechaFactura, sCodCliPro, sCodMon, sTipoCont, sSerie, sNumDoc: string; bEsDeCompra: boolean);
Con esta funcin preparamos el objeto para insertar nuevos vencimientos de una factura. Los parmetros que se le pasan al procedimiento indican valores por defecto para todos los vencimientos y si se trata de una cartera asociada a un cliente (cobro) o a un proveedor (pago). Parmetros: sFechaFactura sCodCliPro sCodMon sTipoCont sSerie sNumDoc Fecha de la factura Cdigo del cliente o proveedor Cdigo de la moneda Tipo contable Serie de la factura N de la factura
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 211 bEsDeCompra bEsDeCompra = True Factura de compra bEsDeCompra = False Factura de venta
Procedure NuevoNax( sFechaFactura, sCodCliPro, sCodMon, sTipoCont, sSerie, SNumDoc, sReferencia : string; bEsDeCompra: boolean);
Con esta funcin preparamos el objeto para insertar nuevos vencimientos de una factura. Los parmetros que se le pasan al procedimiento indican valores por defecto para todos los vencimientos y si se trata de una cartera asociada a un cliente (cobro) o a un proveedor (pago). Parmetros: sFechaFactura sCodCliPro sCodMon sTipoCont sSerie SNumDoc SReferencia BEsDeCompra Fecha de la factura Cdigo del cliente o proveedor Cdigo de la moneda Tipo contable Serie de la factura N de la factura Referencia de la factura bEsDeCompra = True Factura de compra bEsDeCompra = False Factura de venta
Borra todos los efectos que pertenecen a un conjunto de cartera. Prerrequisito: No debe existir ningn vencimiento cobrado, pagado, recibido, bloqueado, etc... Para consultar si la cartera de una factura puede borrarse utilizar la funcin PuedeModificarse. Parmetros: nNumCartera Identificador del conjunto de cartera de una factura. Se corresponde con el campo NUMCARTERA de la tabla CARTERA.
Prepara un conjunto de cartera para modificar sus efectos. Lo primero que hace es borrar los que existen y el programador debe crearlos de nuevo. Prerrequisito: No debe existir ningn vencimiento cobrado, pagado, recibido, bloqueado, etc... Para consultar si la cartera de una factura puede borrarse utilizar la funcin PuedeModificarse.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 212 Parmetros: nNumCartera Identificador del conjunto de cartera de una factura. Se corresponde con el campo NUMCARTERA de la tabla CARTERA.
procedure Cancela;
Cancela la edicin de vencimientos eliminando todas la operaciones realizadas desde que se ha llamado a Nuevo o Modifica. Pasa de un estado ESTM_NUEVO o ESTM_EDICION a un estado ESTM_ACTIVO.
Mediante este procedimiento se termina la edicin de un conjunto de cartera tanto nuevo como existente y se guarda su contenido en la base de datos. Cambia el estado de ESTM_NUEVO o ESTM_EDICION a ESTM_ACTIVO. Valor retornado: Currency Identificador del conjunto de cartera de una factura. Se corresponde con el campo NUMCARTERA de la tabla CARTERA.
Funcin que indica si puede modificarse o no un conjunto de cartera. Para que un conjunto de cartera pueda ser modificado o borrado no deben haberse realizado operaciones sobre ninguno de sus vencimientos. Parmetros: Valor retornado: nNumCart Boolean N del conjunto de cartera. Indica si puede modificarse o no.
Funcin que permite obtener el identificador del conjunto de vencimientos (NUMCARTERA) de una factura. Parmetros: bEsDeCompra nIdFac Indica si la factura es de compra (True) o de venta (False). bEsdeCompra = True Identificador de la factura de compra (Se corresponde con el campo IDFACV de la tabla CABEFACV). bEsdeCompra = False Identificador de la factura de venta (Se corresponde con el campo IDFACC de la tabla CABEFACC). Valor retornado: currency N del conjunto de cartera.
Crea un nuevo efecto con la fecha (vencimiento) e importe indicados. Parmetros: sFecha nImporteMon Fecha del vencimiento. Importe en la moneda indicada en el procedimiento Nuevo.
procedure AnadirVen;
Crea los valores del vencimiento que se acaba de crear en la base de datos.
procedure Editar(nNumCartera:Currency);
Prepara los vencimientos de un NUMCARTERA para su posterior modificacin o borrado Parmetros: nNumCartera Nmero de cartera
procedure EditarVencimiento(nNumVen:Currency);
procedure GuardarVencimiento;
procedure BorrarVencimiento(nNumVen:Currency);
OBJETO OPERACIONESCARTERA
Interface OperacionesCartera
property OmitirAvisoAsiento:WordBool; procedure Cobrar( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; bDescue: WordBool; sNumCta: WideString; sCtaRiesgo: WideString; sFecha: WideString; sCodBan: WideString); procedure Pagar( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; bDescue: WordBool; sNumCta: WideString; sCtaRiesgo: WideString; sFecha: WideString; sCodBan: WideString); procedure Recibir( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 214 sFecha: WideString); procedure CrearAnticipo (bEsCobro: WordBool; sCodCliPro: WideString; sCodBan: WideString; sDocPag: WideString; sTipCon: WideString; sCodMon: WideString; sFecVen: WideString; const sFecCon: WideString; nImpMon: Currency; Obs: WideString); procedure ACuenta ( bEsCobro: WordBool; nIdFact: Currency; nNumAnti: Currency; sCodMon: WideString; nImpACuentaMon: Currency); procedure CrearAnticipoNax ( bEsCobro: WordBool; sCodCliPro: WideString; sCodBan: WideString; sDocPag: WideString; sTipCon: WideString; sCodMon: WideString; sFecVen: WideString; sFecCon: WideString; nImpMon: Currency; Obs: WideString; sNumDoc: WideString); procedure Bloquear(nNumCart: Currency; nNumVen: Integer); procedure Enviar( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; sFecha: WideString; sFechaValor: WideString; sNumDoc: WideString); procedure ActualizarRiesgo( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; sFecha: WideString; sNumDoc: WideString); procedure Devolver( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; sFecha: WideString; sFechaValor: WideString; nImpDev, nGastos: Currency; sCtaGastos: WideString; sCentro1: WideString; sCentro2: WideString; sCentro3: WideString; sNumDoc: WideString); procedure ImputarGastos( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; sFecha: WideString; sFechaValor: WideString; nGastos: Currency; sCtaGastos: WideString; sCentro1: WideString; sCentro2: WideString; sCentro3: WideString; sNumDoc: WideString); procedure RecibirNax( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; sFecha: WideString; sFechaValor: WideString; sNumDoc: WideString); procedure CobrarNax( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; bDescue: WordBool; nImporte: Currency; sNumCta: WideString; sCtaRiesgo: WideString; sFecha: WideString; sFechaValor: WideString; sCodBan: WideString; nCambio: Double; sCtaGastos: WideString; nGastos: Currency; sCentro1: WideString; sCentro2: WideString; sCentro3: WideString; sNumDoc: WideString); procedure PagarNax( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 215 nImporte: Currency; sNumCta: WideString; sFecha: WideString; sFechaValor: WideString; sCodBan: WideString; nCambio: Double; sCtaGastos: WideString; nGastos: Currency; sCentro1: WideString; sCentro2: WideString; sCentro3: WideString; sNumDoc: WideString); procedure AnularCobro(nNumCart: Currency; nNumVen: Integer); procedure AnularPago(nNumCart: Currency; nNumVen: Integer); procedure AnularRecepcion(nNumCart: Currency; nNumVen: Integer); procedure AnularEnvio(nNumCart: Currency; nNumVen: Integer); procedure AnularBloqueo(nNumCart: Currency; nNumVen: Integer); procedure AnularImputacion(nNumCart: Currency; nNumVen: Integer); procedure AnularDevolucion(nNumCart: Currency; nNumVen: Integer); procedure AnularActualizacionRiesgo (nNumCart: Currency; nNumVen: Integer); procedure Ligar(nNumCart: Currency; nIdFact: Currency; bEsCobro: WordBool); procedure Desligar( nIdFact: Currency; bEsCobro: WordBool); procedure CobrarRemesa( nRemesa: Currency; GenRep: WordBool; AlDescuento: WordBool; sCtaBanco: WideString; sCtaRiesgo: WideString; sFecha: WideString; sFechaValor: WideString; sCodBan: WideString; nCambio: Double; sCtaGastos: WideString; nGastos: Currency; sCentro1: WideString; sCentro2: WideString; sCentro3: WideString; sNumDoc: WideString); procedure AnularCobroRemesa(nRemesa: Currency); procedure PagarRemesa ( nRemesa: Currency; bGenRep: WordBool; sCtaBanco: WideString; sFecha: WideString; sFechaValor: WideString; sCodBan: WideString; nCambio: Double; sCtaGastos: WideString; nGastos: Currency; sCentro1: WideString; sCentro2: WideString; sCentro3: WideString; sNumDoc: WideString); procedure AnularPagoRemesa( nRemesa: Currency); El objeto Cartera permita crear, borrar o modificar vencimientos. El objeto Operaciones cartera permite realizar distintas operaciones con estos vencimientos. A continuacin se detalla la especificacin de todas esas operaciones.
Mtodos Tipo Descripcin
Cobrar Pagar
Procedimient Para realizar el cobro de efectos. o Procedimient Para realizar el pago de efectos.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 216 o Recibir CrearAnticipo ACuenta CrearAnticipoNax Bloquear Enviar ActualizarRiesgo Devolver ImputarGastos RecibirNax CobrarNax PagarNax AnularCobro AnularPago AnularRecepcion AnularEnvio AnularBloqueo AnularImputacion AnularDevolucion Procedimient Para realizar la recepcin de efectos. o Procedimient Para crear anticipos de cartera o Procedimient Para consumir un anticipo de cartera sobre una o factura. Procedimient Para crear anticipos de cartera. Incluye el n de o documento contable. Procedimient Para bloquear un efecto y no permitir realizar con o l ms operaciones. Procedimient Para marcar un efecto a un proveedor como o enviado. Procedimient Para actualizar el riesgo de un efecto al descuento o cuyo vencimiento ha sido superado. Procedimient Para indicar la devolucin de un efecto cobrado o indicando sus gastos. Procedimient Para imputar los gastos de una devolucin a un o cliente. Procedimient dem que Recibir pero con ms parmetros. o Procedimient dem que Cobrar pero con ms parmetros. o Procedimient dem que Pagar pero con ms parmetros. o Procedimient Anular el cobro de un vencimiento. o Procedimient Anular el pago de un vencimiento. o Procedimient Anular la recepcin de un efecto. o Procedimient Anular el envo de un efecto. o Procedimient Anular el bloqueo de un efecto. o Procedimient Anular la imputacin de gastos de una devolucin o al cliente. Procedimient Anular una devolucin. o
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 217 go Ligar Desligar CobrarRemesa AnularCobroRemesa PagarRemesa AnularPagoRemesa o descuento.
Procedimient Ligar un conjunto de efectos de cartera con una o factura. Procedimient Ligar un conjunto de efectos de cartera con una o factura. Procedimient Cobrar una remesa. o Procedimient Anular el cobro de una remesa. o Procedimient Pagar una remesa (a proveedores). o Procedimient Anular el pago de una remesa (a proveedores). o
procedure Cobrar( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; bDescue: WordBool; sNumCta: WideString; sCtaRiesgo: WideString; sFecha: WideString; sCodBan: WideString);
Procedimiento creado para cobrar un efecto de nexus generando las repercusiones contables si as se indica en los parmetros. Parmetros: nNumCart nNumVen bGenRep bDescue sNumCta sCtaRiesgo Numero del conjunto de cartera. Campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Campo NUMVEN de la tabla CARTERA. Indica si se desean generar repercusiones contables. Indica si se trata de un cobro al descuento. Indica el n de cuenta del banco (Si se deja en blanco se saca del banco indicado en el parmetro sCodBan). Indica el n de cuenta de deudas por efectos al descuento del banco (Si se deja en blanco se saca del banco indicado en el parmetro sCodBan). Fecha del cobro. Cdigo del banco.
sFecha sCodBan
Procedimiento creado para cobrar un efecto de nexus generando las repercusiones contables si as se indica en los parmetros. Funcionamiento igual que Cobrar pero con ms parmetros. Parmetros: nNumCart nNumVen bGenRep bDescue nImporte Numero del conjunto de cartera. Campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Campo NUMVEN de la tabla CARTERA. Indica si se desean generar repercusiones contables. Indica si se trata de un cobro al descuento. Importe que se cobra. No tiene que coincidir con el del vencimiento (tiene que ser menor o igual). Si no coincide lo tratar como un cobro parcial. Indica el n de cuenta del banco (Si se deja en blanco se saca del banco indicado en el parmetro sCodBan). Indica el n de cuenta de deudas por efectos al descuento del banco (Si se deja en blanco se saca del banco indicado en el parmetro sCodBan). Fecha del cobro. Fecha valor del cobro. Cdigo del banco. Cambio entre la moneda del cobro y la moneda principal. Cuenta de gastos del cobro. Gastos imputados al cobro. (Se incluirn en el asiento). Centro de coste 1. Centro de coste 2. Centro de coste 3. Nmero de documento del asiento.
sNumCta sCtaRiesgo
sFecha sFechaValor sCodBan nCambio sCtaGastos nGastos sCentro1 sCentro2 sCentro3 sNumDoc
Procedimiento creado para pagar un efecto de nexus generando las repercusiones contables si as se indica en los parmetros. Parmetros: nNumCart nNumVen bGenRep sNumCta sFecha sCodBan Numero del conjunto de cartera. Campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Campo NUMVEN de la tabla CARTERA. Indica si se desean generar repercusiones contables. Indica el n de cuenta del banco (Si se deja en blanco se saca del banco indicado en el parmetro sCodBan). Fecha del pago. Cdigo del banco.
procedure PagarNax( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; nImporte: Currency; sNumCta: WideString; sFecha: WideString; sFechaValor: WideString; sCodBan: WideString; nCambio: Double; sCtaGastos: WideString; nGastos: Currency; sCentro1: WideString; sCentro2: WideString; sCentro3: WideString; sNumDoc: WideString);
Procedimiento creado para pagar un efecto de nexus generando las repercusiones contables si as se indica en los parmetros. Funcionamiento igual que Pagar pero con ms parmetros. Parmetros: nNumCart nNumVen bGenRep nImporte Numero del conjunto de cartera. Campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Campo NUMVEN de la tabla CARTERA. Indica si se desean generar repercusiones contables. Importe que se cobra. No tiene que coincidir con el del vencimiento (tiene que ser menor o igual). Si no coincide lo tratar como un cobro parcial. Indica el n de cuenta del banco (Si se deja en blanco se saca del banco indicado en el parmetro sCodBan). Fecha del pago. Fecha valor del pago.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 220 sCodBan nCambio sCtaGastos nGastos sCentro1 sCentro2 sCentro3 sNumDoc Cdigo del banco. Cambio entre la moneda del cobro y la moneda principal. Cuenta de gastos del cobro. Gastos imputados al cobro. (Se incluirn en el asiento). Centro de coste 1. Centro de coste 2. Centro de coste 3. Nmero de documento del asiento.
procedure Recibir( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; sFecha: WideString);
Procedimiento creado para contabilizar la recepcin de un efecto generando las repercusiones contables si as se indica en los parmetros. Parmetros: nNumCart nNumVen bGenRep sFecha Nmero del conjunto de cartera. Campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Campo NUMVEN de la tabla CARTERA. Indica si se desean generar repercusiones contables. Fecha de la recepcin..
procedure RecibirNax( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; sFecha: WideString; sFechaValor: WideString; sNumDoc: WideString);
Procedimiento creado para recibir un efecto generando las repercusiones contables si as se indica en los parmetros. Funcionamiento igual que Recibir pero con ms parmetros. Parmetros: nNumCart nNumVen bGenRep sFecha sFechaValor sNumDoc Numero del conjunto de cartera. Campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Campo NUMVEN de la tabla CARTERA. Indica si se desean generar repercusiones contables. Fecha de la recepcin. Fecha valor de la recepcin. Nmero de documento del asiento.
Procedimiento creado para enviar un efecto generando las repercusiones contables si as se indica en los parmetros. Parmetros: nNumCart nNumVen bGenRep sFecha sFechaValor sNumDoc Numero del conjunto de cartera. Campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Campo NUMVEN de la tabla CARTERA. Indica si se desean generar repercusiones contables. Fecha del envo. Fecha valor del envo. Nmero de documento del asiento.
Procedimiento creado para bloquear un efecto y evitar as que se realicen operaciones de cartera Parmetros: nNumCart nNumVen Numero del conjunto de cartera. Campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Campo NUMVEN de la tabla CARTERA.
procedure ActualizarRiesgo( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; sFecha, sNumDoc: WideString);
Procedimiento creado para bloquear un efecto y evitar as que se realicen operaciones de cartera Parmetros: nNumCart nNumVen sFecha sNumDoc Numero del conjunto de cartera. Campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Campo NUMVEN de la tabla CARTERA. Fecha de la actualizacin de riesgo. Nmero de documento contable.
procedure Devolver( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; sFecha: WideString; sFechaValor: WideString; nImpDev, nGastos: Currency; sCtaGastos: WideString; sCentro1, sCentro2, sCentro3, sNumDoc: WideString);
Procedimiento creado para devolver total o parcialmente un efecto de nexus generando las repercusiones contables si as se indica en los parmetros.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 222 Parmetros: nNumCart nNumVen bGenRep bDescue sFecha sFechaValor nImpDev Numero del conjunto de cartera. Campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Campo NUMVEN de la tabla CARTERA. Indica si se desean generar repercusiones contables. Indica si se trata de un cobro al descuento. Fecha de la devolucin. Fecha valor de la devolucin. Importe de la devolucin. No tiene que coincidir con el del vencimiento (tiene que ser menor o igual). Si no coincide lo tratar como una devolucin parcial. Gastos imputados a la devolucin. (Se incluirn en el asiento). Estos gastos se consideran gastos de la empresa y no del cliente. Cuenta de gastos de la devolucin. Centro de coste 1. Centro de coste 2. Centro de coste 3. Nmero de documento del asiento.
nGastos
procedure ImputarGastos( nNumCart: Currency; nNumVen: Integer; bGenRep: WordBool; sFecha, sFechaValor: WideString; nGastos: Currency; sCtaGastos: WideString; sCentro1, sCentro2, sCentro3,sNumDoc: WideString);
Procedimiento creado para imputar los gastos de la devolucin al cliente total o parcialmente generando las repercusiones contables si as se indica en los parmetros. Parmetros: nNumCart nNumVen bGenRep sFecha sFechaValor nGastos sCtaGastos sCentro1 Numero del conjunto de cartera. Campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Campo NUMVEN de la tabla CARTERA. Indica si se desean generar repercusiones contables. Fecha de la imputacin de gastos. Fecha valor de la imputacin de gastos. Gastos imputados al cliente (Se incluirn en el asiento). Cuenta de gastos de la imputacin. Centro de coste 1.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 223 sCentro2 sCentro3 sNumDoc Centro de coste 2. Centro de coste 3. Nmero de documento del asiento.
procedure CrearAnticipo ( bEsCobro: WordBool; sCodCliPro, sCodBan: WideString; sDocPag, sTipCon,sCodMon, sFecVen: WideString; sFecCon: WideString; nImpMon: Currency; Obs: WideString);
Procedimiento para crear un anticipo de cliente o a proveedor. Parmetros: bEsCobro sCodCliPro sCodBan sDocPag sTipCon sCodMon sFecVen sFecCon nImpMon Obs Indica si es de cobro (True) o de pago (False). Cdigo del cliente o proveedor. Cdigo del banco. Documento de pago. Tipo contable. Cdigo de la moneda. Fecha del anticipo. Fecha de la repercusin contable. Importe del anticipo en la moneda indicada. Observaciones del anticipo.
procedure CrearAnticipoNax ( bEsCobro: WordBool; sCodCliPro: WideString; sCodBan, sDocPag, sTipCon,sCodMon: WideString; sFecVen, sFecCon: WideString; nImpMon: Currency; Obs: WideString; sNumDoc: WideString);
Procedimiento para crear un anticipo de cliente o a proveedor. Es el mismo que CrearAnticipo pero con el parmetro adicional del campo n de documento de los asientos contables. Parmetros: bEsCobro sCodCliPro sCodBan sDocPag sTipCon sCodMon sFecVen sFecCon nImpMon Indica si es de cobro (True) o de pago (False). Cdigo del cliente o proveedor. Cdigo del banco. Documento de pago. Tipo contable. Cdigo de la moneda. Fecha del anticipo. Fecha de la repercusin contable. Importe del anticipo en la moneda indicada.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 224 Obs sNumDoc Observaciones del anticipo. N de documento en contabilidad.
procedure ACuenta( bEsCobro: WordBool; nIdFact: Currency; nNumAnti: Currency; sCodMon: WideString; nImpACuentaMon: Currency);
Procedimiento para cancelar un anticipo contra un vencimiento de una factura. El resto de los vencimientos se mantienen. El proceso para aadir un vencimiento a cuenta de una factura es: 1. Crear la factura. 2. Crear los vencimientos con el importe (Total documento entregado a cuenta). 3. Ligar la factura y los vencimientos. 4. Usa la funcin ACuenta para completar los registros de cartera de la factura. Parmetros: bEsCobro nIdFact Indica si es de cobro (True) o de pago (False). Identificador de la factura. Se identifica con el campo IDFACV o IDFACC de las tablas CABEFACV o CABEFACC respectivamente en funcin de si se trata de una venta o una compra. Identificador del anticipo. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Cdigo de la moneda Importe a cuenta en la moneda indicada.
Como es costumbre en nexus, todo aquello que puede hacerse tambin puede anularse. A continuacin se presentan todos los procedimientos que anulan las operaciones descritas hasta el momento.
procedure AnularCobro( nNumCart: Currency; nNumVen: Integer);
Anula la operacin realizada con los procedimientos Cobrar o CobrarNax. Parmetros: nNumCart nNumVen Nmero del conjunto de cartera. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Se corresponde con el campo NUMVEN de la tabla CARTERA.
Anula la operacin realizada con los procedimientos Pagar o PagarNax. Parmetros: nNumCart Nmero del conjunto de cartera. Se corresponde con el campo NUMCARTERA de la tabla CARTERA.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 225 nNumVen Nmero del vencimiento. Se corresponde con el campo NUMVEN de la tabla CARTERA.
Anula la operacin realizada con los procedimientos Recibir o RecibirNax. Parmetros: nNumCart nNumVen Nmero del conjunto de cartera. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Se corresponde con el campo NUMVEN de la tabla CARTERA.
Anula la operacin realizada con el procedimiento Enviar. Parmetros: nNumCart nNumVen Nmero del conjunto de cartera. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Se corresponde con el campo NUMVEN de la tabla CARTERA.
Anula la operacin realizada con el procedimiento Bloquear. Parmetros: nNumCart nNumVen Nmero del conjunto de cartera. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Se corresponde con el campo NUMVEN de la tabla CARTERA.
Anula la operacin realizada con el procedimiento Devolver. Parmetros: nNumCart nNumVen Nmero del conjunto de cartera. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Se corresponde con el campo NUMVEN de la tabla CARTERA.
Anula la operacin realizada con el procedimiento ImputarGastos. Parmetros: nNumCart nNumVen Nmero del conjunto de cartera. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Se corresponde con el campo NUMVEN de la tabla CARTERA.
Anula la operacin realizada con el procedimiento ActualizarRiesgo. Parmetros: nNumCart nNumVen Nmero del conjunto de cartera. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Nmero del vencimiento. Se corresponde con el campo NUMVEN de la tabla CARTERA.
Las dos funciones que siguen a continuacin son las que ligan o desligan la cartera con su factura. Si los efectos estn ligados con una factura se consideran automticos, en caso contrario no. Si los efectos no estn ligados con la factura, al modificar la factura no se tocarn los vencimientos, en caso contrario se modificarn en funcin de las nuevas condiciones establecidas en la cabecera del documento.
procedure Ligar(nNumCart: Currency; nIdFact: Currency; bEsCobro: WordBool);
Ligar un conjunto de efectos de cartera con una factura. Parmetros: nNumCart nIdFact Nmero del conjunto de cartera. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Identificador de la factura de compra (IDFACC) o de venta (IDFACV) pertenecientes a las tablas CABEFACC y CABEFACV respectivamente en funcin del valor del parmetro bEsCobro. Indica si se trata de un cobro (True) o un pago (False).
bEsCobro
Desliga la factura del conjunto de efectos en cartera con el que est ligado en ese momento. Parmetros: nIdFact Identificador de la factura de compra (IDFACC) o de venta (IDFACV) pertenecientes a las tablas CABEFACC y CABEFACV respectivamente en funcin del valor del parmetro bEsCobro. Indica si se trata de un cobro (True) o un pago (False).
bEsCobro
Los siguientes procedimientos son los que permiten realizar y anular operaciones con las remesas tanto de cobros como de pagos.
procedure CobrarRemesa( nRemesa: Currency; bGenRep: WordBool; bAlDescuento: WordBool; sCtaBanco: WideString; sCtaRiesgo, sFecha, sFechaValor, sCodBan: WideString; nCambio: Double; sCtaGastos: WideString; nGastos: Currency; sCentro1, sCentro2: WideString; sCentro3: WideString; sNumDoc: WideString);
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 227 Procedimiento que permite cobrar una remesa entera. Parmetros: nRemesa bGenRep bAlDescuento sCtaBanco N de remesa Indica si se desean repercusiones contables. Indica si la remesa se lleva al descuento. Cuenta del banco donde se ingresa la remesa. Si se deja en blanco se utiliza la cuenta del banco indicado en el parmetro sCodBan. Cuenta de riesgo bancario. Si se deja en blanco se utiliza la cuenta del banco indicado en el parmetro sCodBan. Fecha de la remesa. Fecha valor de la remesa. Cdigo del banco. Cambio entre la moneda de la remesa y la principal. Cuenta de gestos de la remesa. Gastos de la remesa. Centro de coste 1. Centro de coste 2. Centro de coste 3. Nmero del documento contable.
sCtaRiesgo
sFecha sFechaValor sCodBan nCambio sCtaGastos nGastos sCentro1 sCentro2 sCentro3 sNumDoc
procedure PagarRemesa( nRemesa: Currency; bGenRep: WordBool; sCtaBanco, sFecha, sFechaValor, sCodBan: WideString; nCambio: Double; sCtaGastos: WideString; nGastos: Currency; sCentro1, sCentro2: WideString; sCentro3: WideString; sNumDoc: WideString);
Procedimiento que permite pagar una remesa de proveedores. Parmetros: nRemesa bGenRep sCtaBanco N de remesa Indica si se desean repercusiones contables. Cuenta del banco donde se ingresa la remesa. Si se deja en blanco se utiliza la cuenta del banco indicado en el parmetro sCodBan. Fecha de la remesa. Fecha valor de la remesa. Cdigo del banco. Cambio entre la moneda de la remesa y la principal.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 228 sCtaGastos nGastos sCentro1 sCentro2 sCentro3 sNumDoc Cuenta de gestos de la remesa. Gastos de la remesa. Centro de coste 1. Centro de coste 2. Centro de coste 3. Nmero del documento contable.
Procedimiento que permite anular el cobro de une remesa realizado con el procedimiento CobrarRemesa. Parmetros: nRemesa N de remesa
Procedimiento que permite anular el pago de une remesa de proveedores realizado con el procedimiento PagarRemesa. Parmetros: nRemesa N de remesa
OBJETO AGRUPACION
Interface Agrupacin
property Estado: EstadoMaestro readonly; procedure Iniciar; procedure Acabar; procedure Nueva( bEsCobro: WordBool; sFecha, sFecVen, sCodCliPro, sDocPag: WideString; sCodBan, sCodMon, sTipoCont: WideString); procedure Modifica( nNumAgru: Currency); procedure AnadirEfecto( nNumCart: Currency; nNumVen: Integer); procedure QuitarEfecto( nNumCart: Currency; nNumVen: Integer); function Anade: Currency; procedure Cancela; procedure Borrar(nNumAgru: Currency); (NUEVO 802B)
Propiedades Estado
Tipo EstadoMaestr o
Mtodos Iniciar Acabar Nueva Modifica Borrar AnadirEfecto QuitarEfecto Anade Cancela
Tipo
Descripcin
Procedimient Inicia el objeto agrupacin o Procedimient Cierra el objeto agrupacin o Procedimient Inicia una nueva agrupacin o Procedimient Prepara la agrupacin para poder aadir y quitar efectos. o Procedimient Borrar un agrupacin entera. o Funcin Aade efectos en la agrupacin.
Procedimient Elimina efectos de la agrupacin. o Procedimient Aade los efectos a la base de datos. o Procedimient Cancela la edicin de la agrupacin. o
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Agrupacin cerrada. No se puede usar. ESTM_ACTIVO: Agrupacin activa. Podemos aadir, borrar, modificar. ESTM_NUEVO: Agrupacin en estado de insercin/eliminacin de un nuevos efectos en una agrupacin nueva. ESTM_EDICION: Agrupacin en estado modificacin, podemos aadir y quitar efectos en una agrupacin que ya exista. Parmetros: Valor retornado (ninguno) EstadoMaestro Retorna el estado de la agrupacin (conjunto de vencimientos).
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que la agrupacin pueda ser usada. Al iniciar el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
procedure Nueva( bEsCobro: WordBool; sFecha, sFecVen, sCodCliPro: WideString; sDocPag, sCodBan, sCodMon, sTipoCont: WideString);
Prepara el objeto agrupacin para recibir nuevos efectos. El estado cambia de ESTM_ACTIVO a ESTM_NUEVO. Parmetros: bEsCobro sFecha sFechaVen sCodCliPro sDocPag sCodBan sCodMon sTipoCont Indica si la agrupacin es de cobros (True) o pagos (False). Fecha en que se crea la agrupacin. Vencimiento de la agrupacin. Cdigo del cliente o proveedor. Documento de pago. Cdigo del banco. Cdigo de la moneda. Tipo contable.
Prepara una agrupacin para poder aadir o quitar efectos en ella. Parmetros: nNumAgru Identificador de la agrupacin. Se corresponde con el campo NUMAGRU de la tabla CARTERA.
Borrar una agrupacin. Parmetros: nNumAgru Identificador de la agrupacin. Se corresponde con el campo NUMAGRU de la tabla CARTERA.
Aade el efecto indicado en la agrupacin. Parmetros: nNumCart Identificador del conjunto de cartera de una factura. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Identificador del conjunto de cartera de una factura. Se corresponde con el campo NUMVEN de la tabla CARTERA.
nNumVen
Quita el efecto indicado de la agrupacin. Parmetros: nNumCart Identificador del conjunto de cartera de una factura. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Identificador del conjunto de cartera de una factura. Se corresponde con el campo NUMVEN de la tabla CARTERA.
nNumVen
Mediante este procedimiento se termina la edicin de una agrupacin y se guarda su contenido en la base de datos. Cambia el estado de ESTM_NUEVO o ESTM_EDICION a ESTM_ACTIVO. Valor retornado: Currency Identificador de la agrupacin. Se corresponde con el campo NUMAGRU de la tabla CARTERA.
procedure Cancela;
Cancela la los efectos que se hayan aadido o quitado en la agrupacin desde que se llam a la funcin Nueva o Modificar.. Pasa de un estado ESTM_NUEVO o ESTM_EDICION a un estado ESTM_ACTIVO.
OBJETO REMESA
Interface Remesa
property Estado: EstadoMaestro readonly; procedure Iniciar; procedure Acabar; procedure Nueva( bEsCobro: WordBool; sFecha, sCodBan, sCodMon,sTipoCont: WideString; bDescue: WordBool); procedure Modifica( nNumReme: Currency); procedure AnadirEfecto( nNumCart: Currency; nNumVen: Integer); procedure QuitarEfecto( nNumCart: Currency; nNumVen: Integer); function Anade: Currency; procedure Cancela;
Propiedades
Tipo
Descripcin
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 232 Estado EstadoMaestr o Devuelve el estado en que se encuentra el objeto Remesa
Tipo
Descripcin
Procedimient Inicia el objeto remesa o Procedimient Cierra el objeto remesa o Procedimient Inicia una nueva remesa. o Procedimient Prepara la remesa para poder aadir y quitar efectos. o Funcin Aade efectos en la remesa.
Procedimient Elimina efectos de la remesa. o Procedimient Aade los efectos a la base de datos. o Procedimient Cancela la edicin de la remesa. o
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Remesa cerrada. No se puede usar. ESTM_ACTIVO: Remesa activa. Podemos aadir, borrar, modificar. ESTM_NUEVO: Remesa en estado de insercin/eliminacin de un nuevos efectos en una remesa nueva. ESTM_EDICION: Remesa en estado modificacin, podemos aadir y quitar efectos en una remesa que ya exista. Parmetros: Valor retornado (ninguno) EstadoMaestro Retorna el estado de la cartera (conjunto de vencimientos).
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que la remesa pueda ser usada. Al iniciar el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
procedure Nueva( bEsCobro: WordBool; sFecha, sCodBan, sCodMon: WideString; sTipoCont : WideString; bDescue: WordBool);
Prepara la remesa para aadir efectos en ella. El estado pasa de ESTM_ACTIVO a ESTM_NUEVO. Parmetros: bEsCobro sFecha sCodBan sCodMon sTipoCont bDscue Indica si la remesa es de cobros (True) o pagos (False). Fecha en que se crea la remesa. Cdigo del banco. Cdigo de la moneda. Tipo contable. Indica si la remesa es al descuento.
Prepara una remesa para poder aadir o quitar efectos en ella. Parmetros: nNumReme Identificador la remesa. Se corresponde con el campo NUMREME de la tabla CARTERA.
Aade el efecto indicado en la remesa. Parmetros: nNumCart Identificador del conjunto de cartera de una factura. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Identificador del conjunto de cartera de una factura. Se corresponde con el campo NUMVEN de la tabla CARTERA.
nNumVen
Quita el efecto indicado de la remesa. Parmetros: nNumCart Identificador del conjunto de cartera de una factura. Se corresponde con el campo NUMCARTERA de la tabla CARTERA. Identificador del conjunto de cartera de una factura. Se corresponde con el campo NUMVEN de la tabla CARTERA.
nNumVen
Mediante este procedimiento se termina la edicin de una remesa y se guarda su contenido en la base de datos. Cambia el estado de ESTM_NUEVO o ESTM_EDICION a ESTM_ACTIVO. Valor retornado: Currency Identificador de la remesa. Se corresponde con el campo NUMREME de la tabla CARTERA.
procedure Cancela;
Cancela la los efectos que se hayan aadido o quitado en la remesa desde que se llam a la funcin Nueva o Modificar.. Pasa de un estado ESTM_NUEVO o ESTM_EDICION a un estado ESTM_ACTIVO.
OBJETO OPERACIONESINMOVILIZADO
Interface OperacionesInmovilizado
procedure Amortizar( sCodigo: WideString; sFecha: WideString); procedure Contabilizar( sCodigo: WideString; sFecha: WideString); procedure AnularAmortizacion( sCodigo: WideString; sFecha: WideString); procedure AnularContabilizacion( sCodigo: WideString; sFecha: WideString); procedure BajaElemento( sCodigo: WideString; sFecha: WideString; nValor: Currency; sMotivo: WideString); procedure AnularCancelar( sCodigo: WideString); Mtodos Amortizar Contabilizar AnularAmortizacion Tipo Descripcin
Procedimient Amortiza una cuota determinada. o Procedimient Genera las repercusiones contables de una cuota o determinada. Procedimient Anula la amortizacin ya realizada. o
AnularContabilizacio Procedimient Anula la contabilizacin ya realizada. n o BajaElemento Procedimient Cancela la amortizacin de un inmovilizado. A partir o del momento en que se ejecute este procedimiento no se amortizarn ms cuotas. Procedimient Anula la cancelacin realizada mediante el o procedimiento Cancelar.
AnularCancelar
Amortiza una cuota determinada. Parmetros: sCodigo sFecha Cdigo del inmovilizado. Fecha de la cuota a amortizar.
Genera las repercusiones contables de una cuota determinada. Parmetros: sCodigo sFecha Cdigo del inmovilizado. Fecha de la cuota a contabilizar.
Anula la amortizacin ya realizada. Parmetros: sCodigo sFecha Cdigo del inmovilizado. Fecha de la cuota.
Anula la contabilizacin ya realizada. Parmetros: sCodigo sFecha Cdigo del inmovilizado. Fecha de la cuota.
procedure BajaElemento( sCodigo: WideString; sFecha: WideString; nValor: Currency; sMotivo: WideString);
Cancela la amortizacin de un inmovilizado. A partir del momento en que se ejecute este procedimiento no se amortizarn ms cuotas. Parmetros: sCodigo sFecha nValor sMotivo Cdigo del inmovilizado. Fecha de la cancelacin Valor residual del inmovilizado. Motivo de la baja.
OBJETO PRESUPUESTO
Objeto que permite la creacin, modificacin de presupestos
Interface Presupuesto
property Mes[nMes: Integer]: Currency; procedure Iniciar; procedure Acabar; procedure Nuevo( sCuenta: WideString; nEjercicio: Integer; sTipoContable: WideString; sCentro1, sCentro2, sCentro3, sMoneda: WideString; nImporte: Currency); procedure Modifica( sCuenta: WideString; nEjercicio: Integer; sTipoContable: WideString; sCentro1, sCentro2, sCentro3, sMoneda: WideString); procedure Anade;
Tipo Currency
Descripcin Se usa para introducir el presupuesto del mes especificado en la variable nMes.
Tipo
Descripcin
Procedimient Inicia el objeto presupuesto o Procedimient Cierra el objeto presupuesto o Procedimient Inicia un presupuesto para una cuenta contable. o Procedimient Prepara el objeto para poder modificar el presupuesto o mensual de la cuenta indicada. Procedimient Aade el presupuesto a la base de datos. o
Esta propiedad nos permite especificar el presupuesto del mes indicado en el parmetro nMes. Parmetros: Valor retornado nMes Currency Mes del ejercicio. Presupuesto del mes indicado.
Este procedimiento es el que reserva los recursos necesarios para poder trabajar con el presupuesto.
procedure Acabar;
procedure Nuevo( sCuenta: WideString; nEjercicio: Integer; sTipoContable: WideString; sCentro1, sCentro2, sCentro3, sMoneda: WideString; nImporte: Currency);
Prepara el objeto para aadir el presupuesto mensual. Parmetros: sCuenta nEjercicio sTipoContable sCentro1 scentro2 scentro3 sMoneda nImporte Cuenta de la que desea introducirse el presupuesto. Ejercicio al que pertenece el presupuesto. Tipo contable Centro de coste 1. Centro de coste 2. Centro de coste 3. Moneda Importe total del ejercicio.
procedure Modifica( sCuenta: WideString; nEjercicio: Integer; sTipoContable: WideString; sCentro1, sCentro2, sCentro3, sMoneda: WideString);
Prepara la cuenta para modificar su presupuesto. Parmetros: sCuenta nEjercicio sTipoContable sCentro1 sCentro2 sCentro3 sMoneda Cuenta de la que desea introducirse el presupuesto. Ejercicio al que pertenece el presupuesto. Tipo contable Centro de coste 1. Centro de coste 2. Centro de coste 3. Moneda
procedure Anade;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 238 Mediante este procedimiento se termina la edicin de un presupuesto y se guarda su contenido en la base de datos.
OBJETO OPCION
El objeto Opcion permite llamar a las opciones visuales de nexus. Cada una de estas opciones tiene un identificador nico y un conjunto de parmetros.
Interface Opcion
property IdOpcion: WideString writeonly; procedure Iniciar; procedure Acabar; procedure AnadirParametro(const sNombre: WideString; const sValor: WideString); procedure Ejecutar;
property IdOpcion: WideString writeonly;
Aade parmetros con su correspondiente valor. En funcin del valor de estos parmetros la opcin tendr diferentes comportamientos. Parmetros: sNombre sValor
Procedure Ejecutar;
Llama a la opcin visual de nexus que tiene el identificador de la propiedad IdOpcion con los parmetros aadidos con AnadirParametro.
OBJETO LISTADO
Objeto que permite realizar informes pasando los parmetros deseados directamente.
Interface Listado
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 240 property IdListado: WideString writeonly; property Fichero: WideString writeonly; property Parametros: OleVariant readonly; property Destino: DestinoListado writeonly; property Copias: Integer writeonly; property Impresora: WideString writeonly; property Bandeja: WideString writeonly; property Modelo: WideString writeonly; property MostrarProgreso: WordBool; property IncluirFirmaDigital: WordBool; (NJEVO 802C) procedure Iniciar; procedure Acabar; procedure Definir; procedure AnadirParametro(sNombre: WideString; sValor: WideString); procedure Imprimir;
Valor destImpresora 0 destHTML destPDF destRTF destJPG destGIF destBMP destEMF destWMF destPantalla 1 2 3 4 5 6 7 8 9
Significado Impresora Fichero en formato HTML Fichero en formato PDF Fichero en formato RTF Fichero en formato JPG Fichero en formato GIF Fichero en formato BMP Fichero en formato EMF Fichero en formato WMF Presentacin preliminar
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 241 Valor retornado: Variant representando un array. [0] N de parmetros (n). [1..n][0] Nombre del parmetro. [1..n][1] Descripcin del parmetro.
Destino del listado a elegir dentro de los posibles destinos especificados en el tipo enumerado DestinoListado.
property Fichero: WideString writeonly;
Si se ha elegido un Destino que se refiere a un fichero debe indicarse aqu la ruta y el nombre del fichero.
property Copias: integer writeonly;
Nombre del modelo a imprimir o nombre del fichero en el que se encuentra dicho modelo. Ejemplo: 1. Listado de clientes por provincia 2. lstcli.003
property MostrarProgreso: WordBool;
Si el destino del listado es destPDF y en los datosgenerales tenemos especificada el fichero con la firma digital, automticamente se incluir la firma digital en el fichero PDF. Con esta propiedad podemos indicar si, en el caso anterior, no queremos incluir la firma digital al fichero PDF.
procedure Iniciar;
Aade parmetros con su correspondiente valor. En funcin del valor de estos parmetros el listado tendr diferentes comportamientos. Parmetros: sNombre sValor
Procedure Imprimir;
Llama a la impresin visual de nexus que tiene el identificador de la propiedad IdListado con los parmetros aadidos con AnadirParametro.
OBJETO ESTRUCTURA
Objeto que permite la creacin, modificacin y borrado de estructuras (escandallos).
Interface Estructura
property Estado: EstadoMaestro readonly; property AsString[const sCampo: WideString]: WideString; property AsFloat[const sCampo: WideString]: Double; property AsInteger[const sCampo: WideString]: Integer; property AsBoolean[const sCampo: WideString]: WordBool; procedure Iniciar; procedure EditarEstructura( sCodArt:WideString); procedure Acabar; procedure Cancelar; procedure CambiarUnidades( nUnidades:Double); procedure Guardar;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 243 procedure ActualizarCostes; function CosteFabricacion: double; procedure AnadeFase(const sFase: WideString; const sNomFase: WideString); procedure AnadeComponente(const sFase: WideString; const sCodArt: WideString;nUnidades:double); procedure AnadePerfilOperario(const sFase: WideString; const PerfilO: WideString; sTiempo:WideString); procedure AnadePerfilMaquina(const sFase: WideString; const PerfilM: WideString; sTiempo:WideString); procedure EditarElemento(nNumLin: Currency); procedure BorrarFase(const sFase: WideString); procedure BorrarElemento(nNumLin: Currency); function ListaComponentes (const sCodArt: WideString; nUnidades: Currency) OleVariant;
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
*EstadoMaestro: Ver objeto Maestro. Mtodo Iniciar Acabar Cancelar Guardar Tipo Descripcin
Procedimiento Inicia el objeto Procedimiento Cierra el objeto Procedimiento Cancela la edicin de la estructura Procedimiento Guarda la estructura
CambiarUnidades Procedimiento Modifica las unidades a generar del producto acabado ActualizarCoste CosteFabricacion AnadeFase Procedimiento Recalcula el precio de coste de los componentes Funcin Devuelve el coste del producto acabado.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 244 AnadeComponent Procedimiento Aade un nuevo componente a la estructura en la fase e especificada. AnadePerfilOpera Procedimiento Aade un nuevo perfil de operario a la estructura en la rio fase especificada. AnadePerfilMaqui Procedimiento Aade un nuevo perfil de mquina a la estructura en la na fase especificada. EditarElemento BorrarElemento BorrarFase EditarEstructura Procedimiento Permite editar un componente o perfil ya existente de la estructura. Procedimiento Permite borrar un componente o perfil de la estructura. Procedimiento Permite borrar una fase y su contenido de la estructura Procedimiento Carga, si existe, la estructura del artculo solicitado. Devuelve las hojas de la estructura
ListaComponente Function s
Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del documento. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos de tiempo se han de asignar como cadenas de texto como hh:mm:ss
property AsString[ sCampo:String]: String
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es string. Parmetros: Valor retornado SCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es entero. Parmetros: Valor retornado SCampo Integer Nombre del campo Valor del campo
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 245 A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es double. Parmetros: Valor retornado SCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es lgico. Parmetros: Valor retornado SCampo Lgico Nombre del campo Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar estructuras.
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Estructura cerrada. No se puede usar. ESTM_ACTIVO: Estructura activa. Podemos aadir, borrar, modificar. ESTM_NUEVO: Estructura en estado de insercin de un nuevo registro. ESTM_EDICION: Estructura en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que la estructura pueda ser usada.. Al iniciar el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
Este procedimiento es que carga la estructura del cdigo de artculo que queremos editar o crear su estructura.
procedure Acabar;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 246 Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
procedure Cancelar;
Procedure Guardar;
Almacena los valores de los campos en la base de datos con los cambios introducidos por el programador. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure ActualizarCostes;
Funcion CosteFabricacion:double;
Crea una fase en la estructura actual. Parmetros: sFase SNomFase Cdigo de la fase Nombre descriptivo de la fase
Crea un nuevo componente en la fase especificada con las unidades indicadas. A partir de ese momento podremos editar los valores de la lnea. Parmetros: sFase sCodArt NUnidades Cdigo de la fase. Cdigo de artculo. Unidades a consumir del componente.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 247 Crea un nuevo perfil de operario en la fase especificada con las unidades indicadas. A partir de ese momento podremos editar los valores de la lnea. Parmetros: Sfase SPerfilO STiempo Cdigo de la fase. Cdigo de perfil de operario Tiempo a consumir del perfil ( en formato hh:mm:ss)
Crea un nuevo perfil de mquina en la fase especificada con las unidades indicadas. A partir de ese momento podremos editar los valores de la lnea. Parmetros: Sfase SperfilM Stiempo Cdigo de la fase. Cdigo de perfil de mquina Tiempo a consumir del perfil ( en formato hh:mm:ss)
Busca y pone el componente o perfil indicado en el parmetro nNumLin en edicin, preparado para editar el contenido de sus campos. Parmetros: NNumLin Identificador de la lnea.. Se corresponde con el campo NUMLIN del fichero ESCANDALLO.
Borra la fase indicada as como todos sus componentes y perfiles. Parmetros: SFase Cdigo de la fase a borrar.
Borra el componente o perfil correspondiente a dicho identificador. Parmetros: nNumLin Identificador de la lnea ( campo NumLin de la tabla ESCANDALLO)..
Devuelve lista de las estructura de un artculo, a partir de las unidades indicadas Parmetros: sCodArt nUnidades Identificador del cdigo del artculo N de unidades
OBJETO ORDENPRODUCCION
Objeto que permite la creacin, modificacin, evolucin y borrado de rdenes de produccion.
Interface OrdenProduccion
Procedure Iniciar; procedure Acabar; procedure Nuevo( sFecha:WideString); procedure Borra( nIdProd:Currency); procedure Modifica( nIdProd:Currency); function Anade:currency; procedure Cancela; function NuevoProducto(const sCodArt: WideString;nUnidades:double):Currency; function NuevaFase(nIdLinP:Currency; const sFase: WideString; const sNomFase: WideString):Currency; function NuevoComponente(nIdFase:Currency; const sCodArt: WideString;nUnidades:double; lEsFinal:wordbool):Currency; function NuevoOperario(nIdFase:Currency; const PerfilO: WideString; sTiempo:WideString):Currency; function NuevaMaquina(nIdFase:Currency; const PerfilM: WideString; sTiempo:WideString):Currency; procedure EditarLinea(nIdLinP: Currency); procedure BorrarFase(nIdFase:Currency); procedure BorrarLinea(nIdLinP: Currency); procedure FabricarOrden(const sFecha: WideString; const sTipoStock: WideString); procedure FabricarFase(nIdFase: Currency; const sFecha: WideString; const sTipoStock: WideString); procedure FabricarFaseProporcional(nIdFase: Currency; nUnidades: Currency; const sFecha: WideString; const sTipoStock: WideString); procedure FabricarProductoPrevisto(nIdLinP: Currency; const sFecha: WideString; const sTipoStock: WideString); safecall; procedure FabricarProductoProporcional(nIdLinP: Currency; nUnidades: Currency; const sFecha: WideString; const sTipoStock: WideString); safecall; procedure FabricarProductoSinConsumir(nIdLinP: Currency; nUnidades: Currency; const sFecha: WideString; const sTipoStock: WideString); safecall; procedure ConsumirComponente(nIdLinP: Currency; nUnidades: Currency; const sFecha: WideString; const sTipoStock: WideString); safecall;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 249 procedure ConsumirOperario(nIdLinP: Currency; const sCodEmp: WideString; const sTiempo: WideString; const sFecha: WideString; const sTipoStock: WideString); safecall; procedure ConsumirMaquina(nIdLinP: Currency; const sCodMaq: WideString; const sTiempo: WideString; const sFecha: WideString; const sTipoStock: WideString); safecall; procedure FabricarProductoEnCurso(nIdLinC: Currency; nUnidades: Currency; const sCodAlm: WideString); safecall; procedure ConsumirComponenteEnCurso(nIdLinC: Currency; nUnidades: Currency; const sCodAlm: WideString); safecall; procedure ConsumirMaquinaEnCurso(nIdLinC: Currency; const sTiempo: WideString); safecall; procedure ConsumirOperarioEnCurso(nIdLinC: Currency; const sTiempo: WideString); safecall; procedure FabricarConsumirOperacionEnCurso(nIdLogP: Currency); safecall; procedure IndicarDetalle(nIdLogP, nIdLinP: Currency; nUnidades: Double; sNumSerie, sLote, sUbicacion, sFecCaduc: WideString); safecall; procedure AnadirDetalle(nIdLinC, nNumGrupo: Currency; nUnidades: Double; sNumSerie, sLote, sUbicacion, sFecCaduc: WideString); safecall; procedure CambiarDetalle(nIdLinC, nNumLin: Currency; nUnidades: Double; sNumSerie, sLote, sUbicacion, sFecCaduc: WideString); safecall; procedure BorrarDetalle(nIdLinC, nNumLin: Currency); safecall; procedure TerminarOrden(const sFecha: WideString); safecall; procedure TerminarFase(nIdFase: Currency; const sFecha: WideString); safecall; procedure TerminarLinea(nIdLinP: Currency; const sFecha: WideString); safecall; procedure DeshacerFabricacionProducto(nIdLinC: Currency; nNumLin: Currency); safecall; procedure DeshacerConsumoComponente(nIdLinC: Currency; nNumLin: Currency); safecall; procedure DeshacerConsumoMaquina(nIdLinC: Currency; nNumLin: Currency); safecall; procedure DeshacerConsumoOperario(nIdLinC: Currency; nNumLin: Currency); safecall; procedure DeshacerOperacion(nIdLogP: Currency); safecall; procedure DeshacerTerminarOrden; safecall; procedure DeshacerTerminarFase(nIdFase: Currency); safecall; procedure DeshacerTerminarLinea(nIdLinP: Currency); safecall; function NuevoTrabajo(const sFecha: WideString; const sMotivo: WideString): Currency; safecall; procedure AbrirTrabajo(nIdTrab: Currency); safecall; procedure CerrarTrabajo(nIdTrab: Currency; const sFecha: WideString); safecall;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 250 procedure BorrarTrabajo(nIdTrab: Currency); safecall; Property TrabajoActivo: Currency readwrite; Property Estado: EstadoMaestro readonly; property AsStringCab[const sCampo: WideString]: WideString; property AsFloatCab[const sCampo: WideString]: Currency; property AsIntegerCab[const sCampo: WideString]: Integer; property AsBooleanCab[const sCampo: WideString]: WordBool; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer; property AsBooleanLin[const sCampo: WideString]: WordBool; property AsCurrencyLin[const sCampo: WideString]: Currency; property AvisarStock: WordBool; procedure CambiarUnidadesProducto( nIdLinP, nUnidades:currency); procedure ActualizarCostesComponentes;
Propiedades AsStringCab AsIntegerCab AsFloatCab AsBooleanCab AsStringLin AsIntegerLin AsFloatLin AsBooleanLin AsCurrencyLin
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 251 TrabajoActivo Estado AvisarStock Currency Asigna/lee la orden de trabajo activa
EstadoMaest Devuelve el estado en que se encuentra el objeto Estructura ro Lgico Asignar valor para activar o no los mensajes de aviso de stock
*EstadoMaestro: Ver objeto Maestro. Mtodo Iniciar Acabar Cancela Nuevo Borra Modifica Anade NuevaFase NuevoComponente NuevoOperario NuevaMaquina EditarLinea BorrarLinea BorrarFase FabricarOrden FabricarFase FabricarFaseProporcional Tipo Descripcin
Procedimient Inicia el objeto. o Procedimient Cierra el objeto. o Procedimient Cancela los cambios realizados en la orden. o Procedimient Crea una nueva orden. o Procedimient Borra la orden indicada. o Procedimient Carga la orden indicada para su edicin. o Funcin Funcion Funcion Funcion Funcion Guarda y devuelve el identificador de la orden. Aade una nueva fase al artculo especificado. Aade un nuevo componente a la fase especificada. Aade un nuevo perfil de operario a la fase especificada. Aade un nuevo perfil de mquina a la fase especificada.
Procedimient Busca y pone en edicin el registro o especificado. Procedimient Borra el registro especificado. o Procedimient Borra la fase especificada y todo su contenido. o Procedimient Fabrica y consume todos los elementos de la o orden. Procedimient Fabrica y consume todos los elementos de la o fase especificada Procedimient Fabrica y consume proporcionalmente a las
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 252 o FabricarProductoPrevisto unidades del artculo al que pertenece todos los elementos de la fase especificada
Procedimient Fabrica y consume todos los o componentes/tiempos del producto acabado especificado. Procedimient Fabrica y consume todos los o componentes/tiempos del producto acabado especificado proporcionalmente a las unidades a fabricar. Procedimient Solo fabrica el producto acabado especificado, o sin rebajar los componentes. Procedimient Consume unidades del componente o especificado. Procedimient Consume tiempo del operario especificado. o Procedimient Consume tiempo de la mquina especificada. o Procedimient Hace la fabricacin de un producto acabado en o una orden de trabajo. Procedimient Hace el consumo de un componente en una o orden de trabajo. Procedimient Hace el consumo de una mquina en una o orden de trabajo. Procedimient Hace el consumo de un operario en una orden o de trabajo.
FabricarProductoProporcional
FabricarConsumirOperarionEnC Procedimient Hace la fabricacin y consumos de una urso o operacin de una orden de trabajo. IndicarDetalle Procedimient Permite indicar los nmeros de serie / lotes / o al fabricar / consumir, cuando no se conoce el identificadore de la lnea de consumo / fabricacin porque todava no se ha grabado en la base de datios Procedimient Permiter aadir lneas de detalle donde se o indica el nmero de serie / lote / cuando se conoce el identificador de la lnea de consumo / fabricacin Procedimient Permite cambiar lneas de detalle cuando se o conoce el identificador de la lnea de consumo / fabricacin Procedimient Permite borrar lneas de detalle cuando se o conoce el identificador de la lnea de consumo / fabricacin
AnadirDetalle
CambiarDetalle
BorrarDetalle
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 253 TerminarOrden TerminarFase TerminarLinea DeshacerFabricacionProducto Procedimient Da por finalizada la orden de produccin. o Procedimient Da por finalizada la fase especificada. o Procedimient Da por finalizada la lnea especificada. o Procedimient Borra la fabricacin especificada. o
DeshacerConsumoComponente Procedimient Borra el consumo de componente o especificado. DeshacerConsumoMaquina DeshacerConsumoOperario DeshacerOperacion DeshacerTerminarOrden DeshacerTerminarFase DeshacerTerminarLinea NuevoTrabajo AbrirTrabajo CerrarTrabajo BorrarTrabajo CambiarUnidadesProducto ActualizarCostesComponentes Procedimient Borra el consumo de mquina especificada. o Procedimient Borra el consumo de operario especificado. o Procedimient Borra todas las acciones de la operacin o especificada. Procedimient Deshace la finalizacin de la orden. o Procedimient Deshace la finalizacin de la fase. o Procedimient Deshace la finalizacin de la lnea. o Funcion Crea una nueva orden de trabajo
Procedimient Abre una orden de trabajo. o Procedimient Cierra una orden de trabajo. o Procedimient Borra una orden de trabajo. o Procedimient Modifica las unidades a fabricar de un o producto acabado. Procedimient Carga los costes de los componentes de la o orden con los precios actuales.
La tablas que intervienen en los procesos as como las relaciones entre llas son las siguientes: Tabla: Campos clave: CABEPROD IDPROD Cabecera de rdenes de produccin. Identificador de orden de produccin
Tabla:
LINEPROD
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 254 Campos clave: IDPROD IDLINP IDFASE IDPADRE Identificador de orden de produccin Identificador de lnea Identificador de la fase a la que pertenece la lnea. Identificador de la lnea del producto acabado al que pertenece dicha lnea; si es 0, indica que es un producto acabado de primer nivel.
Fases de rdenes de produccin. Identificador de orden de produccin Identificador de fase Identificador de la lnea a la que pertenece la fase.
Tabla:
LOGPROD
Operaciones generadas, entendiendo como operacin el conjunto de acciones necesarias ( que se guardarn en la tabla histprod) para completar una evolucin de la orden de produccin ( por ejemplo, si lanzamos una fase, las acciones sern todos los consumos generados por dicha fase). Identificador de orden de produccin Identificador de la operacin Identificador de la orden de trabajo a la que pertenece.
Campos clave:
Tabla:
HISTPROD
Acciones generadas al evolucionar una orden ( consumos de componentes, consumos de tiempo, fabricaciones de productos acabados, marcas de terminacin de lneas,...). Identificador de orden de produccin Identificador de la operacin a la que pertenece Identificador de la orden de trabajo a la que pertenece. Identificador de la lnea que ha generado la accin. Identificador de la accin. Identificador de lnea de evolucin; cuando enviamos una accin a trabajo en curso (este campo valdr 0), se pueden ir haciendo fabricaciones o consumos parciales sobre la accin ( y cada evolucin tendr un valor distinto)
Campos clave:
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 255 Tabla: Campos clave: TRABAJOS IDPROD IDTRAB Ordenes de trabajo. Identificador de orden de produccin Identificador de trabajo.
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es string. Parmetros: Valor retornado SCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es entero. Parmetros: Valor retornado SCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es double. Parmetros: Valor retornado SCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es lgico. Parmetros: Valor retornado SCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es string. Parmetros: Valor SCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es entero. Parmetros: Valor retornado SCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es double. Parmetros: Valor retornado SCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es lgico. Parmetros: Valor retornado SCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es currency. Parmetros: Valor retornado SCampo Currency Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Valor retornado Currency Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar rdenes.
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Estructura cerrada. No se puede usar. ESTM_ACTIVO: Estructura activa. Podemos aadir, borrar, modificar. ESTM_NUEVO: Estructura en estado de insercin de un nuevo registro. ESTM_EDICION: Estructura en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del documento.
A travs de esta propiedad podemos cambiar o consultar la orden de trabajo activa. Parmetros: Valor retornado NIdTrab Currency Identificador de trabajo a activar Identificador de trabajo activo.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que la orden pueda ser usada. Al iniciar el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
procedure Cancela;
Function Anade:Currency;
Almacena los valores de los campos en la base de datos con los cambios introducidos por el programador y devuelve el identificador de orden (IDPROD). Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 258 Crea una nueva orden de produccin. Pasa a estado ESTM_NUEVO. Parmetros: SFecha Fecha de la orden
Borra la orden de produccin indicada. Pasa a estado ESTM_ACTIVO. Parmetros: NIdProd Identificador de la orden
Pone en edicin una orden de produccin. Pasa a estado ESTM_EDICION. Parmetros: NIdProd Identificador de la orden.
Aade un artculo a fabricar en la orden y devuelve el identificador de lnea generado (IDLINP). Parmetros: sCodArt nUnidades Cdigo de artculo. Unidades a fabricar.
Crea una fase en el artculo a fabricar indicado y devuelve el identificador de fase generado (IDFASE). Parmetros: nIdLinP sFase SNomFase Identificador de la lnea de artculo a fabricar. Cdigo de la fase Nombre descriptivo de la fase
Crea un nuevo componente en la fase especificada con las unidades indicadas y devuelve el identificador de la lnea generado (IDLINP) Parmetros: NIdFase SCodArt NUnidades Identificador de la fase. Cdigo de artculo. Unidades a consumir del componente.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 259 LEsFinal Si el componente aadido tambin puede fabricarse, si ponemos true solo aadir est lnea, pero si le decimos false, pondr este componente as como su estructura (ser un artculo ficticio).
Crea un nuevo perfil de operario en la fase especificada con el tiempo indicado y devuelve el identificador de la lnea generada (IDLINP). Parmetros: NIdFase SPerfilO STiempo Identificador de la fase. Cdigo de perfil de operario Tiempo a consumir del perfil ( en formato hh:mm:ss)
Crea un nuevo perfil de mquina en la fase especificada con el tiempo y devuelve el identificador de lnea generado (IDLINP). Parmetros: NIdFase SperfilM Stiempo Identificador de la fase. Cdigo de perfil de mquina Tiempo a consumir del perfil ( en formato hh:mm:ss)
Busca y pone la lnea indicada preparada para editar el contenido de sus campos. Parmetros: NIdLinP Identificador de la lnea.
Borra la fase indicada as como todos sus componentes y perfiles. Parmetros: NIdFase Identificador de la fase a borrar.
Borra el componente o perfil correspondiente a dicho identificador. Parmetros: NIdLinP Identificador de la lnea.
Nota: Parmetro sTipoStock: en todas las operaciones que se hagan para fabricar o consumir la orden de produccin existe este parmetro, que nos indica si la operacin se enva a trabajo en curso, es decir que se podr evolucionar desde trabajos ( pondramos P) o por el contrario si es definitiva, que para los artculos ya actualizara el stock ( pondramos S).
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 260 Si se deja en blanco, coger el valor que tenga la cabecera de la orden sobre la que estemos trabajando.
procedure FabricarOrden(sFecha, sTipoStock:string);
Fabrica y consume todo lo pendiente de la orden de produccin. Parmetros: SFecha STipoStock Fecha de fabricacin S o P
Fabrica y consume todo lo pendiente de la fase indicada. Parmetros: nIdFase SFecha STipoStock Identificador de la fase Fecha de fabricacin/consumo. S o P
Fabrica y consume las unidades y tiempos proporcionalmente a las unidades indicadas respecto a las unidades a fabricar del artculo acabado de dicha fase. Parmetros: nIdFase NUnidades SFecha STipoStock Identificador de la fase. Unidades a tratar. Fecha de fabricacin/consumo. S o P
Fabrica y consume todo lo pendiente de la producto acabado indicado. Parmetros: NIdLinP SFecha STipoStock Identificador del producto acabado. Fecha de fabricacin/consumo. S o P
Fabrica y consume las unidades y tiempos proporcionalmente a las unidades indicadas respecto a las unidades a fabricar del artculo acabado. Parmetros: nIdLinP NUnidades SFecha Identificador del producto acabado. Unidades a tratar. Fecha de fabricacin/consumo.
Fabrica las unidades indicadas sin consumir componentes ni tiempos. Parmetros: nIdLinP NUnidades SFecha STipoStock Identificador del producto acabado. Unidades a tratar. Fecha de fabricacin. S o P
Consume las unidades del componente indicado. Parmetros: NIdLinP NUnidades SFecha STipoStock Identificador del componente. Unidades a consumir. Fecha de consumo. S o P
Consume dicho tiempo para el perfil de operario indicado. Parmetros: NIdLinP SCodEmp STiempo SFecha STipoStock Identificador del perfil de operario. Cdigo de operario que realiza la accin; si va en blanco, coge por defecto el de la lnea de la orden. Tiempo a consumir ( en formato hh:mm:ss). Fecha de consumo. S o P
Consume dicho tiempo para el perfil de mquina indicado. Parmetros: NIdLinP SCodMaq STiempo Identificador del perfil de mquina. Cdigo de mquina que realiza la accin; si va en blanco, coge por defecto el de la lnea de la orden. Tiempo a consumir ( en formato hh:mm:ss).
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 262 SFecha STipoStock Fecha de consumo. S o P
Fabrica un producto acabado de una fabricacin que previamente habamos hecho marcando como TipoStock Trabajo en curso. El identificador que tendremos que pasar (IdLinC) corresponde a la tabla HistProd y para encontrarlo tendremos que buscar en dicha tabla por el identificador de lnea de produccin (IdLinP). Parmetros: NIdLinC nUnidades SCodAlm Identificador de la lnea de consumo. Unidades a fabricar del producto acabado. Almacn donde repercutir la entrada de stock;si va en blanco, coge por defecto el la lnea de consumo.
Consume un componente de una fabricacin que previamente habamos hecho marcando como TipoStock Trabajo en curso. El identificador que tendremos que pasar (IdLinC) corresponde a la tabla HistProd y para encontrarlo tendremos que buscar en dicha tabla por el identificador de lnea de produccin (IdLinP). Parmetros: NIdLinC nUnidades SCodAlm Identificador de la lnea de consumo. Unidades a consumir del componente. Almacn donde repercutir la salida de stock;si va en blanco, coge por defecto el la lnea de consumo.
Consume un tiempo de una operacin que previamente habamos hecho marcando como TipoStock Trabajo en curso. El identificador que tendremos que pasar (IdLinC) corresponde a la tabla HistProd y para encontrarlo tendremos que buscar en dicha tabla por el identificador de lnea de produccin (IdLinP). Parmetros: NIdLinC STiempo Identificador de la lnea de consumo. Tiempo a consumir de mquina.
Consume un tiempo de una operacin que previamente habamos hecho marcando como TipoStock Trabajo en curso. El identificador que tendremos que pasar (IdLinC) corresponde a la tabla HistProd y para encontrarlo tendremos que buscar en dicha tabla por el identificador de lnea de produccin (IdLinP). Parmetros: NIdLinC Identificador de la lnea de consumo.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 263 STiempo Tiempo a consumir de operario.
Procedure FabricarConsumirOperacionEnCurso(nIdLogP:currency)
Fabrica y consume una operacin mltiple ( por ejemplo, fabricar una fase) que previamente habamos hecho marcando como TipoStock Trabajo en curso. El identificador que tendremos que pasar (IdLogP) corresponde a la tabla LogProd.. Parmetros: nIdLogP Identificador de la operacin.
Procedure IndicarDetalle(nIdLogP, nIdLinP: Currency; nUnidades: Double; sNumSerie, sLote, sUbicacion, sFecCaduc: WideString)
Permite indicar el nmero de serie / lote / etc cuando no se conoce el identificador de la lnea de consumo / fabricacin. Este caso se da cuando: 1. Se trabaja contra stock. Al consumir / fabricar no se puede guardar hasta que no se ha indicado el detalle; pero como el mtodo fabicar consumir no devuelve el identificador de la lnea de consumo (se puede estar fabricando toda una estructura, lo que significa que en realidad se estn aadiendo muchas lneas de consumo) solo podemos indicar el IdLinp. El IdLogP se deja a 0 ya que estamos indicando el detalle en la ltima operacin (la que acabamos de hacer). 2. Se trabaja en curso. Al consumir / fabricar en curso no se puede guardar hasta que no se ha indicado el detalle; pero como el mtodo fabicar consumir no devuelve el identificador de la lnea de consumo (se puede estar fabricando toda una estructura, lo que significa que en realidad se estn aadiendo muchas lneas de consumo) solo podemos indicar el IdLinp. El IdLogP se puede dejar a 0 cuando estamos indicando el detalle en la ltima operacin (la que acabamos de hacer). Parmetros: nIdLogP nIdLinP nUnidades sNumSerie sLote sUbicacion sFecCaduc Identificador de la operacin. Si se indica 0, se buscar el ltimo trabajo Identificador de la lnea de produccin Unidades del detalle Nmero de serie del detalle Lote del detalle Ubicacin del detalle Fecha de caducidad del detalle.
Procedure AnadirDetalle(nIdLinC, nNumGrupo: Currency; nUnidades: Double; sNumSerie, sLote, sUbicacion, sFecCaduc: WideString)
Permite indicar el nmero de serie / lote / etc cuando se conoce el identificador de la lnea de consumo / fabricacin. Este caso se da cuando se est cambiando el detalle de un trabajo previamente guardado. Parmetros: nIdLinC nNumGrupo Identificador de la lnea de consumo (HISTPROD) Nmero de grupo del consumo (HISTPROD)
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 264 nUnidades sNumSerie sLote sUbicacion sFecCaduc Unidades del detalle Nmero de serie del detalle Lote del detalle Ubicacin del detalle Fecha de caducidad del detalle.
Procedure CambiarDetalle(nIdLinC, nNumLin: Currency; nUnidades: Double; sNumSerie, sLote, sUbicacion, sFecCaduc: WideString)
Permite cambiar el detalle. Parmetros: nIdLinC nNumLin nUnidades sNumSerie sLote sUbicacion sFecCaduc Identificador de la lnea de consumo (HISTPROD) Nmero de la lnea ( HISTPROD) Unidades del detalle Nmero de serie del detalle Lote del detalle Ubicacin del detalle Fecha de caducidad del detalle.
Permite borrar el detalle. Parmetros: nIdLinC nNumLin Identificador de la lnea de consumo (HISTPROD) Nmero de la lnea ( HISTPROD)
Procedure TerminarOrden(sFecha:string)
Termina todos los artculos a fabricar, cierra todos los trabajos y deshabilita cualquier accin sobre la orden. Parmetros: sFecha Fecha de finalizacin de la orden.
Termina todos los artculos que dependan de la fase indicada deshabilitando cualquier accin sobre sta. Parmetros: nIdFase SFecha Identificador de la fase Fecha de finalizacin de la fase.
Termina la lnea indicada (sea artculo acabado, componente o tiempo) deshabilitando cualquier accin sobre sta.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 265 Parmetros: NIdLinp SFecha Identificador de la lnea Fecha de finalizacin de la lnea.
Deshace la fabricacin de la lnea de consumos indicada. Si la lnea de consumo fue generada como TipoStock Trabajo en curso, el nNumLin puede tener dos valores : 0, con lo que borrara la lnea de consumo y todas las evoluciones que hubiesen sobre sta, o un valor distinto de 0, con que borrara la evolucin identificada por el campo NUMLIN; si por el contrario la lnea de consumo fue generada como TipoStock= S, siempre se tendr que poner 0. Parmetros: NIdLinC nNumLin Identificador de la lnea de consumo Identificador de detalle de consumo.
Deshace la lnea de consumos indicada. Si la lnea de consumo fue generada como TipoStock Trabajo en curso, el nNumLin puede tener dos valores : 0, con lo que borrara la lnea de consumo y todas las evoluciones que hubiesen sobre sta, o un valor distinto de 0, con que borrara la evolucin identificada por el campo NUMLIN; si por el contrario la lnea de consumo fue generada como TipoStock= S, siempre se tendr que poner 0. Parmetros: NIdLinC nNumLin Identificador de la lnea de consumo Identificador de detalle de consumo.
Deshace la lnea de consumos indicada. Si la lnea de consumo fue generada como TipoStock Trabajo en curso, el nNumLin puede tener dos valores : 0, con lo que borrara la lnea de consumo y todas las evoluciones que hubiesen sobre sta, o un valor distinto de 0, con que borrara la evolucin identificada por el campo NUMLIN; si por el contrario la lnea de consumo fue generada como TipoStock= S, siempre se tendr que poner 0. Parmetros: NIdLinC nNumLin Identificador de la lnea de consumo Identificador de detalle de consumo.
Deshace la lnea de consumos indicada. Si la lnea de consumo fue generada como TipoStock Trabajo en curso, el nNumLin puede tener dos valores : 0, con lo que borrara la lnea de consumo y todas las evoluciones que hubiesen sobre sta, o un valor distinto de 0, con que borrara la evolucin identificada por el campo NUMLIN; si por el contrario la lnea de consumo fue generada como TipoStock= S, siempre se tendr que poner 0. Parmetros: NIdLinC NNumLin Identificador de la lnea de consumo Identificador de detalle de consumo.
Procedure DeshacerOperacion(nIdLogP:currency)
Deshace las lnea de consumos indicadas por este identificador de operacin mltiple ( campo IdLogP de la tabla LogProd). Parmetros: NIdLogP Identificador de la operacin.
Procedure DeshacerTerminarOrden
Procedure DeshacerTerminarFase(nIdFase:currency)
Deshace el terminar de la fase indicada( pero no sus hijos), con lo que pueden aadirse elementos a sta. Parmetros: nIdFase Identificador de la fase.
Procedure DeshacerTerminarLinea(nIdLinP:currency)
Deshace el terminar de la lnea indicada( pero no sus posibles hijos), con lo que se puede modificar sta. Parmetros: nIdFase Identificador de la fase.
Crea un nuevo parte de trabajo en la orden actual; devuelve el identificador de trabajo generado (IDTRAB). Parmetros: SFecha SMotivo Fecha del trabajo. Motivo del trabajo.
Procedure AbrirTrabajo(nIdTrab:Currency)
Abre el trabajo indicado, lo que habilita las modificaciones sobre l. Parmetros: nIdTrab Identificador de trabajo
Procedure CerrarTrabajo(nIdTrab:Currency)
Cierra el trabajo indicado, lo que deshabilita las modificaciones sobre l. Parmetros: NIdTrab Identificador de trabajo
Procedure BorrarTrabajo(nIdTrab:Currency)
Modifica las unidades a fabricar de un producto acabado. Parmetros: NIdLinP NUnidades Identificador de lnea Unidades a fabricar
Procedure ActualizarCostesComponentes)
OBJETO EXPEDIENTES
Interface Expedientes
property ActivarFacturado: WordBool; property ActivarPreFactura: WordBool; property Estado: EstadoMaestro readonly; property AsStringCab[const sCampo: WideString]: WideString; property AsFloatCab[const sCampo: WideString]: Double; property AsIntegerCab[const sCampo: WideString]: Integer; property AsBooleanCab[const sCampo: WideString]: WordBool; property AsStringLin[const sCampo: WideString]: WideString; property AsFloatLin[const sCampo: WideString]: Double; property AsIntegerLin[const sCampo: WideString]: Integer; property AsBooleanLin[const sCampo: WideString]: WordBool; procedure Iniciar; procedure Acabar; procedure Nuevo(const Cliente: WideString; const Fecha: WideString); procedure Modifica(IDEXPE: Currency); function Anade: Currency; procedure Borra(IDEXPE: Currency); procedure Cancela; procedure NuevaLinea(TIPO: LineaExpediente); procedure EditarLinea(TIPO: LineaExpediente; NUMLIN: Currency); procedure BorrarLinea(TIPO: LineaExpediente; NUMLIN: Currency); procedure AnadirLinea;
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 268 procedure CancelaLin; procedure Facturar(IDEXPE: Currency; Factura: WordBool); procedure PreFactura(IDEXPE: Currency);
Propiedades AsStringCab AsIntegerCab AsFloatCab AsBooleanCab AsCurrencyCab AsStringLin AsIntegerLin AsFloatLin AsCurrencyLin AsBooleanLin Estado ActivarFacturado
Tipo
Descripcin
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Lgico) Tabla( Currency) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
Tabla( string) Asigna/lee valores a/de los campos del registro nuevo/actual. Tabla( Integer) Tabla( Float) Tabla( Currency) Tabla( Lgico) Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual. Asigna/lee valores a/de los campos del registro nuevo/actual.
EstadoMaest Devuelve el estado en que se encuentra el objeto ro Tabla( string) Flag que se asigna para poderse facturar el expediente Flag que se asigna para porder realizar la prefactura
ActivarPreFactura Tabla( Integer) *EstadoMaestro: Ver objeto Maestro. Mtodo Iniciar Acabar Tipo
Descripcin
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 269 Nuevo Borra Modifica Cancela Anade NuevaLinea AnadirLinea CancelaLin EditarLinea BorrarLinea Facturar PreFactura Procedimiento Inicia un nuevo expediente Procedimiento Borra el expediente Procedimiento Prepara el expediente para poderlo modificar. Procedimiento Cancela la edicin del expediente Funcin Aade los datos editados del expediente a la base de datos y devuelve el identificador con el que se almacenar.
Procedimiento Inicia una nueva lnea Procedimiento Aade la lnea Procedimiento Cancela la lnea en edicin Procedimiento Permite editar una lnea ya existente del expediente. Procedimiento Permite borrar una lnea del expediente. Procedimiento Permite facturar el expediente Procedimiento Permite realizar al prefactura
Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cabecera o de las lneas del expediente. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003 Uso en Delphi: naxDocumento.AsStringCab* CodCli+ Uso en Visual Basic: naxDocumento. AsStringCab ( CodCli) Las lineas del expediente se dividen en 4 tipos ( ctSuplidos (entero 0), ctTrabajo (entero 1), ctProvision (entero 2), ctHonorario (entero 3)
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es entero.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 270 Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la cabecera especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos de la lnea especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
A continuacin se presentan las propiedades y mtodos necesarios para crear, borrar y modificar expedientes.
property Estado:EstadoMaestro
Esta propiedad nos indica el estado del objeto. Posibles estados: ESTM_NOACTIVO: Expediente cerrado. No se puede usar. ESTM_ACTIVO: Expediente activo. Podemos aadir, borrar, modificar. ESTM_NUEVO: Expediente en estado de insercin de un nuevo registro. ESTM_EDICION: Expediente en estado modificacin, podemos asignar valores a los campos. Valor retornado EstadoMaestro Retorna el estado del Expediente.
Constante: Lineaexpediente
Esta constantes se utiliza para indicar el tipo de linea de expediente que queremos tratar. Posibles estados: CTSUPLIDOS: Indicamos que la linea es de suplidos. Su valor equivalente es 0 (tipo de datos entero) CTTRABAJO: Indicamos que la linea es de trabajo. Su valor equivalente es 1 (tipo de datos entero) CTPROVISION: Indicamos que la linea es de provisin. Su valor equivalente es 2 (tipo de datos entero) CTHONORARIO: Indicamos que la linea es de honorarios. Su valor equivalente es 3 (tipo de datos entero) Valor retornado EstadoMaestro Retorna el estado del documento.
procedure Iniciar;
Este procedimiento es el que reserva los recursos necesarios para que el expediente pueda ser usado. Al iniciar el expediente el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar el expediente el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO. Parmetros: Cliente Fecha Cdigo del cliente Fecha del expediente ( string formato dd/mm/aaaa)
Pone el documento que tiene el identificador indicado en edicin. Parmetros: IdExpe Identificador del expediente
Procedure Anade;
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Genera las repercusiones del expediente (si procede) . Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Procedure Cancela;
Cancela la edicin del expediente. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO.
Elimina el documento con el identificador indicado eliminando tambin sus repercusiones en stocks, contabilidad, cartera, estadsticas e IVA. Parmetros: IdExpe Identificador del expediente
Crea una lnea nueva del tipo especificado por el parmetro. (Ver constantes LineaExpediente) A partir de ese momento podremos editar los valores de la lnea. Parmetros: Tipo Tipo de linea de expediente. (Ver constantes LineaExpediente)
Procedure CancelaLin;
Pone la lnea indicada en el parmetro NumLina en edicin, preparada para editar el contenido de sus campos. Al final de las modificaciones deber llamarse a AnadirLinea. Hay que indicarle el tipo para saber que linea editar. Parmetros: Tipo NumLin Tipo de linea de expediente. (Ver constantes LineaExpediente) Identificador de la lnea.. Se corresponde con el campo NUMLIN del fichero __LINEEXPE. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdEXPE = naxExpediente.AsFloatLin* IdExpe+ y con el campo TIPLIN = naxExpediente.AsStringLin*TipLin+ donde su contenido es: G => Suplidos / T => Trabajo / R=> Provisin / H => Honorarios
Se situa en la linea indicada por los parmetros Tipo, NumLin y la borra. Parmetros: Tipo NumLin Tipo de linea de expediente. (Ver constantes LineaExpediente) Identificador de la lnea.. Se corresponde con el campo NUMLIN del fichero __LINEEXPE. Para localizarlo debe realizarse una consulta de este campo (directamente a la base de datos) en los registros con IdEXPE = naxExpediente.AsFloatLin* IdExpe+ y con el campo TIPLIN = naxExpediente.AsStringLin*TipLin+ donde su contenido es: G => Suplidos / T => Trabajo / R=> Provisin / H => Honorarios
Indicamos que deseamos facturar/desfacturar el expediente mediante el campo IdExpe y mediante el booleano Factura. Parmetros: IdExpe Identificar del expediente
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 274 Factura Es un boleando donde si su valore es cierto facturar el expediente si ste no est facturado y si su valor es falso desfacturar el expediente si ste estaba facturado.
PreFactura(IDEXPE: Currency);
Indicamos que deseamos prefacturar el expediente. (Impresin del expediente) Parmetros: IdExpe Identificar del expediente
OBJETO CUOTAS
Objeto que permite la creacin, modificacin y borrado de cuotas de facturas y albaranes.
Interface Cuotas
property AsString[const sCampo: WideString]: WideString; property AsCurrency[const sCampo: WideString]: Currency; property AsFloat[const sCampo: WideString]: Double; property AsInteger[const sCampo: WideString]: Integer; property AsBoolean[const sCampo: WideString]: WordBool; property OmitirMensajes:WordBool; procedure Iniciar; procedure Acabar; procedure Nuevo; procedure Modificar(IDAuto: Currency); procedure Borrar(IDAuto: Currency); function Guarda: Currency; procedure Cancelar; procedure ActivarMes(Mes: Integer); procedure DesactivaMes(Mes: Integer); Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores de la cuota. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea. Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 275 Uso en Delphi: naxCuotas.AsString* CodCli+ Uso en Visual Basic: naxCuotas.AsString ( CodCli)
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es string. Parmetros: Valor retornado sCampo String Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es money. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es entero. Parmetros: Valor retornado sCampo Integer Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es double. Parmetros: Valor retornado sCampo Double Nombre del campo Valor del campo
A travs de esta propiedad podemos asignar valor a los campos especificando que su tipo es lgico. Parmetros: Valor retornado sCampo Lgico Nombre del campo Valor del campo
Este procedimiento es el que reserva los recursos necesarios para que la cuota pueda ser usada. Al iniciar la cuota el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO.
procedure Acabar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar la cuota el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
procedure Nuevo;
Inserta un nuevo registro y los prepara para ser editado. Pasa de estado ESTM_ACTIVO a ESTM_NUEVO.
Pone la cuota que tiene el identificador indicado en edicin. Parmetros: IdExpe Identificador de la cuota
Procedure Cancelar;
Funcion Guardar:currency
Almacena los valores de los campos en la base de dato con los cambios introducidos por el programador. Pasa de los estados ESTM_NUEVO o EST_EDICION a ESTM_ACTIVO. Valor retornado Currency Devuelve el identificador de la cuota
Indicamos el mes (de 1 a 12) en que tiene que aplicarse la cuota Parmetros: Mes Mes aplicar cuota
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 277 Indicamos el mes (de 1 a 12) en que tiene que anularse la cuota Parmetros: Mes Mes anular cuota
OBJETO COBROPARCIALREMESA
Objeto que permite el cobro parcial de efectos de una remesa.
Interface CobroParcialRemesa
property ConRepercusiones: WordBool; property AlDescuento: WordBool; property CuentaBanco: WideString; property CuentaRiesgo: WideString; property Fecha: WideString; property FechaValor: WideString; property CodigoBanco: WideString; property CuentaGastos: WideString; property Cambio: Double; property Gastos: Double; property Centro1: WideString; property Centro2: WideString; property Centro3: WideString; property NumeroDocumento: WideString; property UnAsiento: WordBool procedure Iniciar(IdRemesa: Integer); procedure AnadeEfecto(NumeroCartera: Currency; NumeroVencimiento: Integer); procedure Procesar(PedirDatos: WordBool); procedure Finalizar; Las primeras funciones de la lista que se presentan a continuacin se utilizan para asignar / leer valores para realizar el cobro parcial de la remesa. Deben tenerse en cuenta algunas normas importantes. Si el nombre del campo no existe se producir un error. Si el valor asignado al campo especificado no es correcto, no se producir un error. Este se producir al intentar guardar el documento o la lnea.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 278 Hay que tener en cuenta lo siguiente: Los campos fecha se han de asignar como cadenas de texto como 01/01/2003 Uso en Delphi: naxCuotas.AsString* CodCli+ Uso en Visual Basic: naxCuotas.AsString ( CodCli) Tipo Descripcin Permite indicar si queremos el cobro con o sin repercusiones contables. Permite indicar si queremos el cobro al descuento o al cobro. Permite indicar la cuenta bancaria del asiento del cobro. Permite indicar la cuenta bancaria de riesgo del asiento del cobro. Permite indicar la fecha efectiva del cobro y la fehca del asiento del cobro. Permite indicar la fecha valor del cobro y la fecha valor del asiento del cobro. Permite indicar el cdigo de banco con el que se realiza el cobro. Permite indicar la cuenta de gastos del asiento del cobro. Permite indicar el cambio de la operacin (para cobros en divisa). Permite indicar el importe de los gastos del asiento del cobro. Permite indicar el centro coste 1 del asiento del cobro. Permite indicar el centro coste 2 del asiento del cobro. Permite indicar el centro coste 3 del asiento del cobro. Permite indicar el nmero de documento del asiento del cobro. Permite indicar si queremos un asiento por cada cobro parcial o todos los cobros parciales en el mismo asiento.
Propiedades
ConRepercusione Boolean s AlDescuento CuentaBanco CuentaRiesgo Fecha FechaValor CodigoBanco CuentaGastos Cambio Gastos Centro1 Centro2 Centro3 Boolean String String STRING STRING String String Float Currency String String String
Este procedimiento es el que reserva los recursos necesarios para que la remesa pueda ser usada. Al iniciar la cuota el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO. Parmetros: Remesa Identificador de la remesa
procedure Finalizar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar la cuota el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
Indicamos que efectos de la remesa queremos cobrar parcialmente Parmetros: NumeroCartera Identificamos la cartera a cobrar
Realiza el cobro parcial de todos los efectos aadidos anteriormente. Parmetros: PedirDatos Permite mostrar pantalla de peticin de datos de la operacin.
OBJETO ANULARCOBROPARCIALREMESA
Objeto que permite la anulacin del cobro (realizado como cobro parcial de efectos de una remesa).
Interface AnularCobroParcialRemesa
procedure Iniciar(IdRemesa: Integer); procedure AnadeOperacion(Operacion: Currency); procedure Procesar; procedure Finalizar;
procedure Iniciar (IDRemesa:integer);
Este procedimiento es el que reserva los recursos necesarios para que la remesa pueda ser usada. Al iniciar la cuota el estado cambia de ESTM_NOACTIVO a ESTM_ACTIVO. Parmetros: Remesa Identificador de la remesa
procedure Finalizar;
Este procedimiento es el que libera los recursos utilizados por el objeto. Al acabar la cuota el estado cambia de ESTM_ACTIVO a ESTM_NOACTIVO.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 280 Indicamos que operaciones queremos anular Parmetros: Operacin Identificador de la operacin a anular
procedure Procesar;
PROGRAMACIN DLLS
INTRODUCCIN
Con la opcin de aadir Dlls a Nexus, permite cambiar algunos procesos que realiza la aplicacin estndar y cambiarlo para adecuarlo a las necesidades del cliente.
INSTALACIN
En primer lugar hay que insertar la dll en la tabla Dlls, para ello podemos realizar la siguiente vista SQL: INSERT INTO DLLS (DLL,IDDLL) VALUES ('ruta y nombre de la dll', identificador) Nota: La ruta slo es necesaria si la dll esta en una carpeta diferente a nexus.exe
EVENTOS
Actualmente Nexus consulta nuestras dlls en cada uno de estos eventos:
SISTEMA
Nombre Estructura Descripcin
procedure( Empresa: PChar); stdcall; procedure( Empresa: PChar); stdcall; procedure; stdcall;
DOCUMENTOS
Nombre Estructura Descripcin
ObtPrecioCompra
function( PrcCompra: Double; Cabecera, Linea: Variant): Double; stdcall; function( PrcVenta: Double; Cabecera, Linea: Variant): Double; stdcall;
ObtPrecioVenta
DespuesDeGuardarDocume procedure(Documento: string; nto: IdDoc: Double); stdcall; DespuesDeGuardarDocume procedure(Documento: String; ntoV2 IdDoc: Double; Estado: Integer); stdcall; AntesDeGuardarDocument o function(Documento: string; IdDoc: Double; var Cabecera: Variant; var Lineas: Variant): boolean; stdcall;
Despus de guardar cualquier documento de compra o venta Despus de guardar cualquier documento de compra o venta
AntesDeGuardarDocument oV2
function(Documento: string; Antes de guardar cualquier IdDoc: Double; var Cabecera: documento de compra o venta Variant; var Lineas: Variant; Estado:Integer): boolean; stdcall; function( Tabla: string): boolean; Actualiza una ventana con los stdcall; nuevos datos function(Documento: String; Cabecera: Variant; Linea: Variant): Variant; stdcall; Antes de guardar la linea del documento Antes de guardar linea del documento, pero en aquellos casos que hay articulos con detalle ( lotes, series, tallas, etc) Despus de guardar la linea del documento
RePintar
AntesDeGuardarLinea
AntesDeGuardarLineaConD function(Documento: String; etalle Cabecera: Variant; Linea: Variant; Detalle: Variant): Variant; stdcall; DespuesDeGuardarLinea procedure(Documento: String; Cabecera: Variant; Linea: Variant); stdcall;
DespuesDeGuardarLineaCo nDetalle:
procedure(Documento: String; Despus de guardar linea del Cabecera: Variant; Linea: documento, pero en aquellos Variant; Detalle: Variant); stdcall; casos que hay articulos con detalle ( lotes, series, tallas, etc)
CARTERA
Nombre Estructura Descripcin
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 283 AntesDeGuardarEfecto DespuesDeGuardarEfecto function( Operacion: string; Antes de guardar un efecto en Datos: Variant): boolean; stdcall; cartera procedure( Operacion: string; NumCartera: Double; NumVen: integer); stdcall; Despus de guardar un efecto en cartera
AntesDeGuardarRemesa
function( Operacion, Tipo: string; Antes de guardar una remesa Cabecera, Lineas: en cartera variant):boolean; stdcall; procedure( Operacion, Tipo: string; IdRemesa: Double); stdcall; Despus de guardar una remesa en cartera
DespuesDeGuardarRemesa
MAESTROS
Nombre Estructura Descripcin
AntesDeGuardarMaestro
Antes de guardar cualquier fichero maestro Despues de guardar cualquier fichero maestro Antes de borrar cualquier fichero maestro Despus de borrar cualquier fichero maestro
DespuesDeGuardarMaestro procedure(Tabla: String; Datos: Variant); stdcall AntesDeBorrarMaestro function( Tabla: string; IdMaestro: Variant): boolean; stdcall; procedure( Tabla: string; IdMaestro: Variant); stdcall;
DespuesDeBorrarMaestro
APUNTES
Nombre Estructura Descripcin
AntesDeGuardarApunte
function( Apunte: variant):boolean; stdcall; function( IdAsiento: Double; Asiento: variant):boolean; stdcall;
AntesDeGuardarAsiento:
PRODUCCION
Nombre Estructura Descripcin
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 284 OrdenNuevoComponente function( Linea: variant; Cabecera: variant): variant; stdcall; function( Linea: variant; Cabecera: variant): variant; stdcall; function( Linea: variant; Cabecera: variant): variant; stdcall; function( Linea: variant; Cabecera: variant): variant; stdcall; Cuando se da de alta un nuevo componente en la orden de produccin Cuando se da de alta un nuevo producto (artculo), en la orden de produccin Cuando se da de alta un nuevo operario en la orden de produccin Cuando se da de alta una nueva mquina en la orden de produccin
OrdenNuevoProducto
OrdenNuevoOperario
OrdenNuevaMaquina
LISTADOS
Nombre Estructura Descripcin
MethodEsListadoExterno
MethodPedirLimitesListado function(IdListado: String): Boolean; stdcall; MethodHacerListado: procedure(IdListado: String; Parametros: Variant); stdcall;
EJEMPLOS
Adjunto a este manual, hay dos ficheros comprimidos, donde podremos encontrar ejemplos: Dll Externas.zip: En este fichero se encuentra un ejemplo en Delphi. NexusAddIn.rar: En este fichero se encuentra un ejemplo en C#.
Como se ve, en la propiedad PROGRAMA debe ir indicada tanto la DLL, como el mtodo publicado al que queremos que llame esa opcin. En el ejemplo la DLL se llama TestDLL y el mtodo al que llamamos es EjemploPantalla. Hay que notar que para separar la DLL del mtodo usaremos el smbolo arroba (@). Para nuestro ejemplo copiamos la DLL en la misma ruta donde est el Nexus.exe y arrancamos el Nexus. Nos aparecer la nueva categora Llamadas a DLLs que contiene una opcin que se llama Llamar a una DLL win32. Fjate que NO HAY que insertar ningn registro en la tabla DLLs de Nexus.
En este caso lo nico que cambia es que en la propiedad PROGRAMA, se debe estructurar la llamada de la siguiente manera: @ClaseDelActiveX@ProcedimientoQueSePasaraComoParametro En el caso de los ActiveX es necesario saber que Nexus SIEMPRE invocar el mtodo Opcion (que debemos haber implementado y exportado nosotros en nuestro ActiveX) y que somos nosotros quienes mediante comparaciones deberemos llamar a un mtodo u otro segn el parmetro que nos llegue.
EJEMPLO EN C# DE ESTE MTODO
//Mtodo para llamar a otras opciones desde el men o desde programas externos //En caso de llamarse la opcin desde programas externos se rellenar el segundo parmetro //con la clave del mantenimiento asociado public void Opcion(string IdOpcion, string parmetro) { if (IdOpcion.ToUpper() == " EJEMPLOPANTALLA ") MessageBox.Show("se ha llamado a la pantalla"); else if (IdOpcion.ToUpper() == "MICLIENTE") MessageBox.Show(parmetro); } Otra cosa ms a tener en cuenta es que en este caso la DLL ha de estar registrada con regasm en el caso de ser un ActiveX que haya sido desarrollado usando punto net o con regsvr32 en el caso de estar desarrollada con Delphi o VB 6.
En el caso de que tengamos activada la opcin de programas externos desde los datos generales, ser en el mantenimiento de programas externos donde definiremos que parmetros se van a pasar. Veamos un ejemplo:
Si nos fijamos se ha puesto el ejecutable y los parmetros en la misma lnea separados por un espacio. En los programas externos es donde tiene sentido el parmetro :DEFECTO Por qu? Si nosotros definimos en Artculos una llamada a un ejecutable y no indicamos ningn parmetro Nexus por defecto pasar el cdigo del maestro (codcli en el caso de artculos). Pero cuando pasamos un parmetro al ejecutable, Nexus no sabe en que posicin queremos que pase el valor del parmetro del cdigo del maestro por lo que en este caso somos nosotros los encargados de indicarle, en primer lugar si queremos que se pase y en segundo lugar en que posicin. Por lo tanto, si aadimos un parmetro y no ponemos el :DEFECTO, Nexus deja de pasar el cdigo del maestro.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 288 USUARIOANALYTICS: Contiene el valor de la propiedad Perfil en la opcin de seguridad para las opciones de Nexus Analytics.
FORMATO V8
En el caso de los mens en formato V8 veamos un ejemplo de llamada a un programa externo usando parmetros:
<OPCION Titulo="Aplicacin para testear el pase de parmetros" Imagen="Imgenes/iconos/IMG_ESTADISTICAS.BMP" Externa="T" Id="Externo" Programa="WinParamCount2010.exe" Parametros=":Usuario :Password :Empresa :Carpeta :tipocontable" IdOrd="130020"></OPCION>
Si nos fijamos se ha puesto el ejecutable y los parmetros en la misma lnea separados por un espacio.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 291 Podemos configurar tantos parmetros y en el orden, como se desee, luego, programar en nuestra aplicacin, para pasar los parmetros y en ese mismo orden. Parmetros En los programas externos es donde tiene sentido el parmetro :DEFECTO Por qu? Si nosotros definimos en Artculos una llamada a un ejecutable y no indicamos ningn parmetro Nexus por defecto pasar el cdigo del maestro.
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 293 CREACIN DE UNA TABLA NUEVA 10 CREACIN DEL FICHERO DE MEN 31 CREACIN, MODIFICACIN Y BORRADO DE VENCIMIENTOS 61 CREAR LAS TABLAS 19 CREAR LOS CAMPOS DE LAS TABLAS 19 CREAR NUEVO DICCIONARIO 18 CREAR REGISTROS NUEVOS 53
D
NDICE
_
__CLIENTES 24
ACTIVACIN DEL DICCIONARIO 25 ACTIVACIN Y DISEO DEL DICCIONARIO 25 AADIR SELECCIONES DE NUESTRAS TABLAS 22 APLICACIN DE LOS CAMPOS ADICIONALES 6 APUNTES 57, 283 REA DEL TRABAJO DEL DICCIONARIO 7 ASIGNAR/LEER VALORES A LOS CAMPOS DE CADA FICHERO MAESTRO 53
B
DATOS GENERALES DE NUESTRA LIBRERA 9 DICCIONARIO 1 DICCIONARIO EN INSTALACIN CLIENTE 6 DICCIONARIO NEXUS 6 DIRECTORIO PRINCIPAL DE NEXUS 3 DISEO DE LAS PESTAAS ADICIONALES 26 DLL 1 DOCUMENTOS 55, 281 DOS FORMAS DE TRABAJAR CON ASIENTOS 59
E
BARRAS DE MENS 35
C
CAMBIO DE NOMBRE DE LAS PESTAAS ADICIONALES 26 CARTERA 61, 282 CASO ESPECIAL TABLA CLIENTES 24 CLAVES FORNEAS 15 CLIENTES 24 COBRO/ANULACIN PARCIAL DE REMESAS 67 COLUMNAS 11 COMO LLAMAR A UNA DLL DESDE MIMENU.MENU (V2.0) 284 CONFIGURACIN NEXUS 5 CONSULTAS SEGN CRITERIOS DE NEXUS 49 CREACIN DE CAMPOS EN TABLAS YA EXISTENTES 21 CREACIN DE NDICES 14 CREACIN DE LOS NDICES 20 CREACIN DE TABLAS NUEVAS 19
EJEMPLO 1: CONSULTAS SEGN LOS CRITERIOS DE NEXUS. 50 EJEMPLO 1: EJEMPLO COMO MODIFICAR UN VENCIMIENTO Y AADIR UN NUEVO VENCIMIENTO EN CARTERA 62 EJEMPLO 1: LLAMADA A LA PANTALLA DE FILTROS 65 EJEMPLO 1: MANTENIMIENTO DE CLIENTES SIN PARMETROS 45 EJEMPLO 1: MOVIMIENTOS EN STOCK EXTERNOS 64 EJEMPLO 1: PRESENTACIN PRELIMINAR DEL LISTADO DE CLIENTES EN DELPHI 47 EJEMPLO 1: UTILIZACIN COBRO PARCIAL DE REMESAS 67 EJEMPLO 1: UTILIZACIN GENRICA DEL OBJETO EXPEDIENTES 66 EJEMPLO 2: EDICIN DE LA FICHA CON PARMETOS 46 EJEMPLO 2: FICHERO PDF CON EL LISTADO DE CLIENTES EN DELPHI 47 EJEMPLO 2: USO DE LOS IDENTIFICADORES DE NEXUS PARA OBTENER UN IDENTIFICADOR PROPIO 50 EJEMPLO 2: UTILIZACIN DE ANULAR COBRO PARCIAL DE REMESAS 67
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 294 EJEMPLO 3: PRESENTACIN PRELIMINAR DEL LISTADO DE CLIENTES EN VB. 48 EJEMPLO 4: IMPRIMIR UN EFECTO FORMATO RECIBO EN DELPHI 48 EJEMPLO DEL USO DE UN OBJETO EN VISUAL BASIC 41 EJEMPLO DEL USO DE UN OBJETO NAX EN DELPHI 41 EJEMPLO EN C# DE ESTE MTODO 286 EJEMPLO EN DELPHI DE LA CREACIN DE UNA NUEVA FACTURA 55 EJEMPLO TRATAMIENTO DE EXCEPCIONES 44 EJEMPLO1 : COBRO DE UN VENCIMIENTO 64 EJEMPLOS 284 EJEMPLOS EN DELPHI 43 EJEMPLOS EN VISUAL BASIC 44 ELIMINAR EL DICCIONARIO DE UNA BASE DE DATOS 28 EN DELPHI 45, 46, 51 EN VISUAL BASIC 46, 51 ENLACE (CONEXIN) 42 ESTRUCTURA DE LA APLICACIN 3 ESTRUCTURA XML 32 EVENTOS 281 EXCEPCIONES 53 EXPEDIENTE 66
F L
LAS CLAVES FORNEAS 52 LICENCIAS NAX RUNTIME / NEXUS 39 LISTADO (IMPRESIN DE INFORMES) 47 LISTADOS 284
LL
LLAMADA DESDE EL MEN 290 LLAMADAS A PROGRAMAS EXTERNOS 290 LLAMANDO A UNA DLL ACTIVEX 285 LLAMANDO A UNA DLL WIN32 285
M
MAESTROS 51, 283 MEN LATERAL 9, 33 MEN SUPERIOR 8 MENUS 1 MTODOS Y FUNCIONES DEL ENLACE 42 MODIFICAR REGISTROS EXISTENTES 54
N
NAVBAR 36 NAX 1 NECESIDADES DE NAX PARA CONECTARSE A UNA EMPRESA EN UNA ESTACIN 42 NORMATIVA EN LA CREACIN DE LIBRERAS 6 NUEVO DICCIONARIO PASO A PASO 17 NVITEM 36 NVITEMS 36
O
IMGENES 36 INICIAR UN ENLACE (OPCIN A) 43 INICIAR UN ENLACE (OPCIN B) 43 INSTALACIN 281 INSTALACIN DE NAX 39 INSTALACIN DEL DICCIONARIO 7 INTEGRIDAD 17 INTRODUCCIN 1, 3, 31, 69, 281, 289 ITEM 34
OBJETO AGRUPACION 228 OBJETO ALBARAN 105 OBJETO ANULARCOBROPARCIALREMESA 279 OBJETO ASIENTO 199 OBJETO CARTERA 205 OBJETO COBROPARCIALREMESA 277 OBJETO CUOTAS 274 OBJETO DEPSITO 135 OBJETO ENLACE 70 OBJETO ESTRUCTURA 242 OBJETO EXPEDIENTES 267 OBJETO FACTURA 89 OBJETO INVENTARIO 180 OBJETO LISTADO 239 OBJETO MAESTRO 80 OBJETO MOVIMIENTOSTOCK 188
NEXUS SOFTWARE NEXUS PARA PROGRAMADORES 295 OBJETO OFERTA 150 OBJETO OPCION 239 OBJETO OPERACIONESCARTERA 213 OBJETO OPERACIONESINMOVILIZADO 234 OBJETO ORDENPRODUCCION 247 OBJETO PEDIDO 120 OBJETO PRESUPUESTO 236 OBJETO REGULARIZACION 163 OBJETO REMESA 231 OBJETO RESERVASTOCK 194 OBJETO SELECCION 88 OBJETO TRASPASO 171 OBJETO VARIOS 74 OPCION 34 OPCION (LLAMADA A OPCIONES VISUALES) 45 OPERACIONES MS IMPORTANTES 53 ORGANIZACIN DE NAX 40 OTRAS RELACIONES 17
P
UBICACIN DE LAS DEFINICIONES DE LISTADOS Y DOCUMENTOS 5 USAR MAYSCULAS 6 USAR PREFIJOS 6 UTILIDADES 8
V
QUE ES XML 31
R
REALIZAR OPERACIONES CON VENCIMIENTOS EXISTENTES 63 RECORRER REGISTROS DE UN MAESTRO 54 RELACIN DE OBJETOS DE NAX 40 REQUISITOS TCNICOS PREVIOS A LA INSTALACIN 7
S
SELECCIN DE PROYECTOS EN FACTURAS 23 SELECCIN RESPONSABLES EN PROYECTOS 24 SEPARADOR 34, 36 SIGNIFICADO DE CADA PARMETRO 287, 290 SISTEMA 281 STOCKS 64
T
TRASLADO BASE DE DATOS (SIN DICCIONARIO) A OTRO SERVIDOR 28 TRASLADO BASE DE DATOS Y DICCIONARIO A OTRO SERVIDOR 27