Actualizaciones 2016

Enero

02/01/2016

1872 Nueva consulta “BRPRECIOS” creada mediante BRWMAKER, muestra lista de de productos contentivo de código, descripción, unidad de medida para la venta y lista de precios en columnas según catálogo de precios y vistas creadas de manera dinámica. En la Tabla DPPRECIOTIP fue creado el nuevo TPP_ACTIVO (Lógico) que facilita solo mostrar catálogo de precios Activo. Se accede desde Macros, Ejecutar consultas Browse, Productos.

02/01/2016

1873 Nuevo programa  DPEMPUSUARIOASG(cTable,cCodigo), permite asignar permiso al usuario que está creado el registro: Empresas, Browse, Clasificación de Browse y cualquier otro formulario que requiera de permiso por usuario en BD de configuración o Diccionario de datos. Es llamado desde BRWMAKER para otorgar permiso al usuario que ha creado la consulta. Para los demás usuarios requiere permiso desde el menú del usuario, permiso para consultas Browse.

03/01/2016

1874 Mejora en programa DPCONFIG, incluye nuevo comboBox para indicar cual de los precios del catálogo de precios será utilizado por defecto y será representado mediante la variable oDp:cPrecio

03/01/2016

1873 Mejora en programa BRPRECIO, si la tabla DPPRECIOS tiene permiso para modificar ISTABMOD(“DPPRECIOS”), es posible modificar los precios directamente desde el browser, previamente antes de modificar realiza registro histórico del precio modificado. El programa DPGRUCON (Consulta de Grupos) permite acceder exclusivamente a los productos vinculados con el grupo en Consulta.

04/01/2016

1874 Nuevo proceso automático “SINFIFO”, Determina los productos sin método de costo FIFO, muestra la cantidad de productos que requieren ser convertidor en Método de costo FIFO. Si el usuario presiona Clic, se ejecuta el programa SINFIFO, muestra en browser los códigos y descripciones de los productos que requieren hacer la conversión y pregunta al usuario si deseas ejecutar la conversión, en caso de ser afirmativo, por cada código se ejecuta el programa:

DPPROMEDIOTOFIFO, quien realiza lectura de todas las entradas (Compras) y asigna número de lote incremental utilizando el campo MOV_LOTE. Mediante el programa “FIFOGETCAPA” se genera el numero de capa de manera incremental, es ejecutado desde el programa de Compras y Entradas y Salidas de inventario.

El nuevo campo MOV_METCOS en DPMOVINV, almacena el tipo de costo utilizado para registrar la transacción, esto permite conocer las operaciones realizadas mediante método promedio y las transacciones mediante método FIFO facilitando conocer la transición de método de costo (Salida de la cantidad promedio) e Ingreso del método (FIFO) según la antigüedad de cada capa.

04/01/2016

1875 Nuevo programa “FIFOCANTCAPA” es ejecutado desde el GRID de documentos con transacciones de salida de productos, devuelve un arreglo contentivo de las capas según la cantidad solicitada. Cada Ítem de salida se guarda con registro con su respectiva capa. Cuando el ítem requiere diversas capas, el programa “FIFOGRIDCAPAS”, realiza nuevos registros en la tabla DPMOVINV copiados desde el registro Original, logrado la cantidad de registros según la cantidad de capas requeridas según la cantidad de unidades egresadas.

04/01/2016

1876 Nuevo programa “DPCAMPOSADD””, Facilita agregar nuevos campos en el diccionario de datos desde programas DpXbase, además de revisar la existencia del campo, verifica que el mismo esté incluido en el diccionario de datos.

Parámetros:

cTable,cField,cType,nLen,nDec,cDescri,cCmd

04/01/2016

1877 Instalador de prueba SGEV51 utiliza carpeta DPSGEV51_TEST y la Base de datos por defecto se denomina DPSGEV51_TEST y diccionario de Datos ADMCONFIG51_TEST. Tiene como objetivo evitar colisionar con la instalación y BD de producción del Integrador.

07/01/2016

1878 nuevo programa ISALLVISTAS, revisa si todas las vistas del diccionario de datos están creados en la base de datos. El programa ISVISTA(cVista,cDsn) revisa cada vista, en caso de existir ejecutar el programa SETVISTAS para crear la vista y devolver el valor de ISTABLA(). Esta funcionalidad permite asegurar la operación en un programa que requiera una vista, el programa, movimiento de inventario “DPDOCMOV” requiere utilizar la vista “FIFOENTRADAS” y mediante el programa ISVISTA asegura la existencia de la Vista, en caso de ser negativo no será posible la ejecución del programa. El programa ISALLVISTA, verifica la existencia de todas las vistas activas, es llamado toda vez que se selecciona empresa mediante el programa DPLOADCNF

IF !EJECUTAR(“ISVISTA”,”VIEW_FIFOENTRADAS”)

   RETURN .F.

ENDIF

11/01/2016

1879 Mejoras en programa DPDOCCXP “Documentos de cuenta por pagar”, incluye nueva funcionalidad “FUNCION ASG_ULT_CTA()” que permite recuperar (memorizar) las cuentas contables del último documento registrado. Las cuentas serán memorizadas en el mismo orden (MOV_ITEM) de ser incluidas en el documento anterior.

11/01/2016

1880 Factura de Venta con monto CERO. Debido a la implementación condicionada del botón CANCELAR donde el usuario no podrá cancelar un documento si ha sido alterado su contenido. Si la factura de venta es modificada y todos sus ítems eliminados si podrá guardar la factura con monto cero. Si el usuario inicia la inclusión de nueva, cuando guarda el primer ítem ya se genera el valor correlativo y es registrada en la tabla DPDOCCLI. Si el usuario elimina todos los ítems no podrá guardar la factura con monto cero. Deberá incluir un producto, guardarla, luego modificarla. Esta práctica deja las pistas de auditoría contentivas de los pasos realizados por el usuario. Es riesgoso para

AdaptaPro eliminar la factura en caso que el usuario decida no continuar luego de haber causado su registro. Programa “DPDOCCLIPREGRA”

12/01/2016

1881 Mejora en programa DPFACTURAV (Facturas de venta), control para campo DOC_CONDIC pasa de GET hacía BMPGET, es removido el botón ” > ” para listar condición de pago. Cuando se valida el código del cliente se obtiene los datos (Condiciones) de la última factura de venta. Fue redefinido la posición de controles del formulario.

15/01/2016

1882 Nueva Vista “INVINICIAL”, contiene detalle de las transacciones de carga inicial del inventario realizadas del el menú del inventario, Opción Inventario Final. Mediante el programa “BRINVINICIAL” creado mediante BRWMAKER se muestran todos los registros de la carga inicial del inventario, las columnas: Unidad de Medida, Costo y Total, son editables facilitando al usuario realizar la carga inicial del inventario de manera fácil, además de poder navegar en todos los productos “Activos”. Para acceder, Macros, Consultas Browse, Productos, Inventario Final.

Febrero

02/02/2016

1883 Mejora en REPRUN, para resetear cláusula JOIN en sentencia SQL cuando esta es personalizada en el reporte. Reporte de Precios con Existencia requiere agregar LEFT JOIN o INNER JOIN con VIEW_INVEXICON

 oIni:=Tini():New( oGenRep:cFileIni )

 oGenRep:cSqlInnerJoin:=oIni:Get(“HEAD”,”SQLINNER” ,”” )

02/02/2016

1884 Nuevo reporte DPPRECIOS4EXI, Reporte de Precios con cuatro Columnas, incluye existencia.  Los reportes:

DPPRECIO,DPPRECIOCO,DPPRECIOS4,PRECIOLIST

09/02/2016

1885 Nueva Tabla “DPBRWLNKCONCAT”, Almacena los registros de concatenación de consultas browser. Contiene la cláusula WHERE que se complementa en la ejecución mediante el programa “BRWRUNBRWLINK”. La tabla DPBRWLNK incluye nuevo campo “BRC_TITULO” contentivo del título que será mostrado en las consultas concatenadas.

12/02/2016

1886 Nueva Vista ARCANUAL, contiene resumen de retenciones por Sucursal, Año, Empresa, acumulado de base imponible, Retenido y cantidad de retenciones.

12/02/2016

1887 Replanteamiento de generación de ARC anual. Mediante la vista “ARCANUAL” y registro de ARC en tabla DPPROVEEDOR según tipo de documento “ARC”  contentivo del Código del proveedor, Año (Representado por Número de documento), fecha de registro. El vínculo entre la Vista ARCANUAL con DPDOCPRO con Tipo de Documento ARC y Número (Año) se determina la cantidad de proveedores sin registro de ARC. El programa  “ARCPROVEEDORES”, Presenta un formulario browse contentivo de los datos la vista ARCANUAL para que el usuario pueda visualizar su contenido antes de realizar el registro de ARC.

Mediante el Botón GUARDAR, el sistema ejecuta el programa “ARCREGISTRAR” dónde Se registra en la tabla DPDOCPRO el registro del ARC por proveedor. El Campo DOC_CANIMP se guarda con CERO e indica la cantidad de impresiones. Además permite conocer cuales son las retenciones que no han sido impresas.

13/02/2016

1888 Nuevo campo TAB_REXSUC, lógico indica si la tabla posee restricción por sucursal, campo TAB_REXUSU, lógico indica si la tabla se restringe por usuario. Estos campos permite implementar de manera similar a Digitalización o campo memo la funcionalidad de definir las restricciones del usuario según las sucursales permitidas. Además de acceder a registros según permiso por registro. Esta funcionalidad la necesitamos internamente que nos permita otorgarle a los integradores acceder a la información de las licencia a través de eManager.

15/02/2016

1889 Mejoras en eManager oErp:lMsg:=.F. indica que está en modo de ejecución o refrescamiento y no requiere que se muestren mensajes tipo “Alert” o ejecute ventanas de Diálogo. El nuevo Programa DPERPSAVEAUTO, Ejecuta los procesos sigilosa que se muestran en el Panel ERP con la diferencia que no muestra el panel, sólo lo guarda en la tabla DPPANELERPEMP, con el objetivo que eManager Web Móvil pueda consultar y visualizar el último estado conocido del Panel ERP por la Empresa. Si el usuario se Ausenta del sistema, deberá colocar el sistema en Cambio de Usuario y este proceso será ejecutado de manera continua mediante DPSETTIMER(), luego que ingresa el nuevo usuario se desactiva el proceso de registro del panel de tareas.

16/02/2016

1890 Mejoras en BRWMAKER, incluye funcionalidad de concatenación entre consultas. Cada ejecución concatenada transfiere la cláusula WHERE y Título de la consulta. Si la cláusula Where incluye campo “Fecha” y el la consulta ejecutada también utiliza el mismo campo en la cláusula Where, será omitida debido a que genera redundancia, además los controles para seleccionar fecha quedará sin efecto.

16/02/2016

1891 Variable oDp:lEmanager  :=.F., declara en programa DPINI y recupera en el programa DPRUNEMP, mediante la lectura del campo EMP_EMANAG de la tabla DPEMPRESA según el código de la empresa seleccionada. Cuando se muestra el panel de ERP, si oDp:lEmanager es .T. guarda el contenido del panel ERP en la tabla “DPPANELERPEMP” mediante el programa “DPPANELERPSAVE”. En el formulario de empresa se indica Verdadero o Falso en el campo EMP_EMANAG desde el control “Acceso desde eManager”

16/02/2016

1892 Encabezados de consultas eManager serán presentadas según las definiciones por columna de BRWMAKER, el nuevo campo BRW_EMHEAD contiene los datos de cada columna: Título, Ancho, Alineación, Total y Formato Numérico

(Picture). Programas: BRWMAKER,DPBRWEMHEAD,DPBRWSELEXP.

19/02/2016

1893 Implementación de vistas en el diccionario de datos, logrando realizar relaciones virtuales entre tablas y vistas, para luego ser utilizado para diseñar reportes que incluyan tablas enlazadas. El programa “DPVISTASTOTABLE” se ejecuta cuando se ingresa a programación o generador de Informes y traslada las vistas hacia la tabla DPTABLAS con su respectiva estructura en DPCAMPOS.

El campo CAM_NOMBRE,LNK_TABLES,LNK_TABLES es ampliado hasta 24 dígitos. La tabla DPTABLAS incluye nuevo campo TAB_VISTA que permite separar tablas y vistas. Requiere programa binario compilado debido a que el proceso que genera las tablas excluye las vistas.

20/02/2016

1894 Nuevo campo EMP_CODSER en tabla DPEMPRESA, “Código de Servidor” para el Intercambio de datos. Cada empresa puede estar asociada a una base de datos local más otra base de datos externa vía internet con el objetivo de intercambio de datos) en términos de funcionalidades nativas del sistema, estas pueden ser:

Importar datos de otros servidores para generar libros fiscales, realizar transferencia de datos contables “Caso de Nómina”, donde puede realizar el proceso de integración en un Servidor externo. Se define integridad entre tablas DPSERVERBD con DPEMPRESA y Mediante el programa “DPSERVERBDCERO”, se genera el servidor “00000” indefinido e Inactivo.

28/02/2016

1895 Nuevo programa MYDPCONFIG y MYDPLOADCNF, para definición de la empresa “personalizada” según las necesidades del titulado sin necesidad de alternar el programa IPCONFIG. Desde DPLOADCNF se ejecuta desde MYDPLOADCNF y desde DPCONFIG mediante botón “Configuración” accede al programa MYDPCONFIG

29/02/2016

1896 Nuevo campo lógico DOC_CREFIS en Tabla DPDOCPRO, Indica si el documento de Compras (Documento Fiscal), tiene derecho o no a crédito fiscal. Este valor se obtiene del campo PRO_CREFIS “Si” o “No” de la tabla del proveedor. El factura de compra el programa “DPDOCPROLOAD” asigna

oDoc:DOC_CREFIS:=.T.

Asignado a toda factura de compra o devolución de compra con Derecho a Crédito fiscal.

Marzo

01/03/2016

1897 Nuevo campo en tabla “DPCTAEGRESO”,”CEG_TIPIVA”,”C”,2,0,”Tipo de IVA”, Vincula con la Tabla DPIVATIP con el objetivo de fijar el tipo de IVA a cada cuenta auxiliar de egreso. Para definir servicios “No Sujetos” como por ejemplo: Cesta Ticket, Pólizas de Seguro y Afines.

01/03/2016

1898 Nuevo programa “DPLOADCNFADDFIELD”, se ejecuta desde DPLOADCNF y permite revisar la existencia de campos en el diccionario de datos para su incorporación, además de generar la estructura. Evitando depender de importar el diccionario de datos. Además agrega una nueva alícuota “NS” no sujeto para ser vinculado con la tabla DPCTAEGRESO y lograr registrar documentos de cuentas por pagar “no sujetos al Cobro de IVA”. Para la adquisición de cesta ticket se vincula la cuenta contable de cesta ticket con la cuenta contable de la cuenta auxiliar “DPCTAEGRESO”.

01/03/2016

1899 Nuevo programa “DPEGRESOTOTIPIVA”, Asigna en el campo CEG_TIPIVA de la DPCTAEGRESO el tipo de IVA utilizado en las transacciones registradas en la tabla “DPDOCPROCTA” y vinculadas con la tabla “DPIVATIP”. Las cuenta sin vínculo con tabla DPIVATIP serán vinculadas con tipo de IVA “GN”.

01/03/2016

1900 Registros de planificación obligaciones formales, financieras y patronales Nueva Tabla “DPTIPCXPPROG”. Se genera de la definición la tabla “DPENTESPUB” entes públicos, quien contiene tres campos: ENT_TIPDOC indica el tipo de documento requerido (Si no existe el sistema lo crea).

ENT_REFERE nombre o referencia del tipo de documento y ENT_PERIOD Periodo. El programa “DPTIPCXPPROGSAVE” se ejecuta desde el programa DPLOADCNF, genera la creación de registros en la tabla “DPTIPCXPPROG” y crea el tipo de documento en la tabla DPTIPDOCPRO. También ejecuta el programa “ENTGUBTOPROVEE” crea en tabla de Proveedores los Entes Públicos desde la tabla “DPENTESPUB”

03/03/2016

1901 Nuevo Programa FIXINTREF, Realiza reparación (Inserción) de registros Derivados de la comparación de integridad referencial entre dos tablas según Diccionario de datos. Este programa es llamado desde el Programa BUILDINTREF, antes de ejecutar la integridad referencial, logrando insertar los registros inconsistentes logrando restaurar o hacer efectiva el vínculo entre ambas tablas. Requiere dpwin32.hrb contentivas de funciones cíclicas y recursivas :

CREATERECORDMAIN(cTable,aFields,aValues,aLink,lCommit) y CREATERECORD(cTable,aFields,aValues,aLink,lCommit)

Esta funcionalidad reduce la incidencias de Rechazos del Servidor de MySQL cuando se realiza actualización de la Base de datos hacia nuevas versiones del sistema. De igual manera también es utilizada para los procesos de intercambio de datos entre bases de datos mediante la importación de datos vía internet.

03/03/2016

1902 Mejora en el proceso de descarga de Actualizaciones Modo Estándar. El proceso de descarga de actualizaciones excluye las extensiones:

“.SCR”,”.DXB”,”.EDT”,”.LBX”,”.SCG”,”.BRW”. El proceso de descarga del componente estándar será realizado mediante el programa “DOWNDPSTD” obteniendo los archivos de la carpeta DPSTD\ que han sido previamente actualizados. Queda pendiente guardar en DPDIRAPL los nuevos archivos DPSTD\*.* para que sean recuperados los demás PC que utilizan el sistema.

07/03/2016

1903 Mejora en atributos para campos. Mediante la edición del campo CAM_COMMAN, se incluye botón de edición, presenta lista de atributos:

PRIMARY KEY

AUTO_INCREMENT PRIMARY KEY

PRIMARY KEY NOT NULL

NOT NULL

El campo “CAM_NAME” fue ampliado hasta 20 caracteres. Tablas con campos con más de 10 dígitos no podrán ser exportados a formato DBF

07/03/2016

1904 Nueva tabla “dpmails” ubicada en tabla de configuración contentivo de los registros de correos que serán enviados por programa:

jre\bin\java.exe” -jar Mailsender.jar

Desde el programa DPINI, se ejecuta “RUNDPSENDMAIL”, si el modo de envío de correos es “mailsender”, ejecuta el servicio java conjuntamente con el programa mailsender.jar (Requiere instalador por separado)

08/03/2016

1904 Nuevos campos en tabla DPENTESPUB, necesario para limitar el periodo de inicio y conclusión de una obligación fiscal (Caso ITF)

“ENT_DESDE”,”D”,01,0,”Desde”

“ENT_HASTA”,”D”,01,0,”Hasta”

“ENT_INDEF”,”L”,01,0,”Indefinida”

09/03/2016

1905 Nuevos proceso automático “RESOBLIGANOREG”, resumen de Obligaciones no realizadas hasta la fecha final del mes en curso. Al presionar Click, se muestra detalladamente el resumen de cada referencia.

09/03/2016

1906 Menú tipo de documentos del cliente, incluye nueva opción “Privilegios por usuario” logrando restringir el tipo de documento que el usuario podrá acceder.

09/03/2016

1907 Documentos de Compra limita exclusivamente presentar “Proveedores”, evitando incluir entes públicos o receptores tributarios:

DpLbx(“DPPROVEEDOR”,NIL,”(PRO_SITUAC=’A’ OR PRO_SITUAC=’C’)

                         AND LEFT(PRO_TIPO,1)=’P'”

09/03/2016

1908 Menú de tipo de proveedores, incluye opción “Visualizar Proveedores” mediante la funcion DPLBX()

09/03/2016

1909 Programa “BRLOTESVTA” Funcionalidad Selectiva de Lotes por productos para la venta, presenta lista de todos los lotes disponibles por código, solicita la cant solicita, el programa busca y completa en cada lote la cantidad solicitada hasta completarla. Al Guardar, el guarda un ítem por cada lote.

10/03/2016

1910 Mejoras en Proveedores, formulario incluye cuenta contable campo PRO_CODCTA, Mediante el programa DPPROVALCTA, valida la cuenta Contable está registrada y la cuenta acepta asientos.

10/03/2016

1911 Mejoras en clase TXSCROLL, cuando ejecuta la validación del campo y resulta valor inválido, muestra el mensaje de incidencia mediante el programa “XSCGMSGERR” presenta un formulario de diálogo justo en la parte inferior de la casilla en edición.

10/03/2016

1912 Mejoras en Formulario “Proveedores”, campos:

PRO_PAIS,PRO_ESTADO,PRO_MUNICI Y PRO_PARROQ. Cada campo valida la existencia en su respectiva tabla, y cada campo ejecutar el programa REPBDLIST “Lista en caja de diálogo”. Los mensajes de incidencias se presentan y lista de registros para selección se ubican justo en la casilla de campo.

10/03/2016

1913 Removido del formulario DPPROVEEDOR el campo “Tipo de Relación”, por defecto su valor es “Proveedor”. Para cada caso: Entes Gubernamentales, prestadores de Servicios, Accionistas, Trabajadores posee formularios y funcionalidades específicas. Para los documentos de compra solo se mostrará en el browser los proveedores para evitar discrecionalidades.

14/03/2016

1914 Nuevo programa “EXPORTDIR”, utilizado para seleccionar directorio de los componentes que serán exportados hacia el servidor de actualizaciones (Adaptaciones) y registro local de Adaptaciones. La tabla DPPERSONALIZA queda descontinuada debido a que el registro de adaptaciones serán almacenadas en la tabla DPDIRAPL identificadas con campo DIR_LOCAL=.T., además permite excluir la descarga de programas identificados como adaptaciones locales.

EJECUTAR(“DPCAMPOSADD”,”DPDIRAPL”,”DIR_LOCAL”,”L”,1,0,”Adaptación Local”)

El proceso de distribución de Adaptaciones en los demás PC será ejecutado de igual manera cuando el sistema es actualizado vía internet.

El objetivo es normalizar un solo proceso de actualización del sistema.

  1. Determinar las adaptaciones Tabla DPDIRAPL
  2. Almacenarlas en un repositorio local. DPDIRAPL
  3. Subirlos hacia el Servidor de Adaptaciones desde el repositorio local.

DPDIRAPL hacia DPDIRAPL_LIC (Ubicada en el Servidor).

La descarga de adaptación solo será necesaria cuando el usuario lo requiera.

En el caso que el integrador ha realizado adaptaciones en sus instalaciones y las suba hacia el servidor, estas serán descargadas e identificadas como “Adaptaciones del cliente”.

Los registros se identifican: DIR_LOCAL=1 (Adaptaciones) DIR_LOCAL=0 Estándar.

El proceso de distribución de actualizaciones es el mismo utilizado para la distribución de las descargas del Servidor remoto, registros (Locales y Remotas)  se almacenan en la tabla DPDIRAPL y actualiza a los demás PC con un mismo proceso estándar

14/03/2016

1915 Nuevos campo VEN_RIF, en tabla DPVENDEDOR, carácter 12, RIF, Mediante Boton “>” valida su contenido en el portal seniat.gob.ve, obtiene el nombre del vendedor. El nuevo programa “DPVENLOGPASS”, crea los valores para los campos VEN_LOGIN y VEN_CLAVE necesarios para afiliarse y acceder a eManager con perfil vendedor para tomar pedidos.

14/03/2016

1916 Nuevo programa “EMVENDEDOR”, Selecciona los vendedores “Activos” con RIF (no vacíos) presenta formulario browser para que el usuario seleccione los vendedores que serán afiliados como usuarios para acceder a la aplicación eManager (Web/móvil).  En la tabla de usuarios de eManager se identifica como tipo 2 (Vendedor), ID_US_ADAP representa el código del vendedor. Para acceder debe ingresar a m.datapronet.com usuario=VEN_LOGIN clave=VEN_CLAVE

15/03/2016

1917 Implementación de campos INT(nLen) Enteros en el diccionario de datos.

Necesario para crear campos con atributo AUTO_INCREMENT y campos de otras tablas vinculadas mediante Integridad referencial. Las tablas con campo de tipo INT, con Atributo AUTO_INCREMENT requiere tipo INT en el campo vinculado con integridad. Implementada en tabla EMPEDIDO vinculada con EMPEDIDOMOV para registrar los pedidos desde eManager.

Requiere Binario 15/03/2015.

16/03/2016

1918 Mejoras en Documentos de Compras y Cuentas por Pagar. Cuando se ejecuta la opción incluir, incluye nuevo botón “proveedores.bmp” en la barra de botones que ejecuta el programa “DPCREAPROVEE”.

Igualmente el formulario “DPROVEEDOR.LBX” incluye 5to botón “PROVEEDORES.BMP”, ejecuta el programa “DPCREAPROVEE” para crear mediante registro de proveedor de manera sencillas sin las validaciones clásicas del formulario del proveedor. Este formulario “DPCREAPROVEE” solicita RIF y lo valida en el portar www.seniat.gov.ve

17/03/2016

1919 Nueva Tabla “DPTIPDOCPROXTIP”, contiene los tipos de documentos exclusivos por tipo de proveedor del Proveedor. Logra restringir el uso de documento a tipos de proveedores no autorizados. Ejemplo: Proveedores solo podrán acceder a tipos de documentos: FAC,DEB,CRE,ANT y similares. No permitirá el uso de tipos de documentos tributarios. Desde Browse tipo de proveedor, menú, “Asignar tipo de documentos por Proveedor”

18/03/2016

1921 Mejoras en BRWMAKER, la plantilla dp\brwmaker.txt incluye marcas de exclusión esto para generar código específico para consultas exclusivas eManager donde se remueven botones innecesarios. El código Xbase eManager en Adaptapro es utilizado para evaluar la consultas en modo de “revisión o Emulación con sus respectivas concatenaciones. Además mediante su ejecución permite seleccionar el Servidor Remoto donde será ejecutado con el objetivo de determinar incidencias como estructura de tablas, tablas o vistas inexistentes para lograr certificar las consultas antes de ser exportadas hacia eManager.

25/03/2016

1922 programa “SCROLLGETVALID”, revisa las validaciones del scrollget en los formularios DPCLIENTES y DPPROVEEDORES. Los campos con validaciones fallidas (oScroll:aData[n,13]:=.F.), seran mostrados mediante el programa MSGBROWSE no partimiento guardar el Registro, además evita mensaje de integridad referencial causados por la falta de validación de cada campo. Incluye validación de integridad con tablas relacionadas.

30/03/2016

1923 programa “SCROLLEDITFIELD”, Focaliza línea del browser según nombre del campo, es utilizado para validar un campo. Muestra mensaje de Validación, focaliza la línea y activa el modo edición, le ahorra al usuario ubicar el campo para editarlo y corregirlo.

31/03/2016

1924 Exigencia de campos vacíos en Formulario SCROLLGET. Se Agrega elemento lógico 20 en oScrollGet:aData[n,20] para validar mediante “SCROLLGETVALID” los campos que no deben quedar vacíos.

31/03/2016

1925 En formulario de Clientes y Proveedores, la asignación de región: País, Estado, Municipio y Parroquia, está guiada según los valores concatenados y elegibles mediante formulario de Diálogo REPBDLIST()

DPPAISSEL

DPESTADOSEL

DPMUNICIPIOSEL

DPPARROQUIASEL

Programa DPCLICLIENTES Fue removida la validación de “Vacíos” en campos:

CLI_TEL1+CLI_TEL2+CLI_TEL3+CLI_TEL4+;

CLI_TEL5+CLI_TEL6+CLI_CELUL1+CLI_CELUL2

31/03/2016

1926 Mejora en Programa XSCROLL quien realiza la definición del formulario SCROLLGET, incluye la visualización total de las 20 columnas que conforman la Definición de cada Campo o Control. El objetivo es lograr llevar todas la validaciones y Valor defecto de los campos desde el programa “SCROLLGETVALID” y no en la función PRESAVE() en cada formulario, logrando mayor practicidad en la definición de cada campo.

31/03/2016

1927 Nuevo Programa “XSCROLLEDIT”, ejecutado desde el método LOAD desde la clase TDOCENC y TDPEDIT. En modo de edición Incluir (nOption)=1, asignar valor por defecto indicado en la posición 19 (Definición del scrollGet). Evitando la asignación de valores por defectos en los método LOAD del formulario.

Abril

01/04/2016

1928 Nuevo Programa “DPTIPIVATOVISTA”, Genera seis vistas Dinámicas contentivas del IVA obtenido desde la tabla DPIVATIP en documentos de compra y documentos de ventas. Estas nuevas vistas facilitan implementar nuevas alícuotas de IVA sin necesidad de modificar estructura de datos datos en DPDOCCLI ni DPDOCPRO, las siguientes implementaciones utilizaran los campos de las vitas y no los campos: DOC_MTOIVA,DOC_MTOEXE, entre otros).

VIEW_DOCPRO_MOV_IVA (IVA por Tipo de Documento DPMOVINV)

VIEW_DOCPRO_CTA_IVA (IVA por Cuentas del Documento DPDOCPROCTA)

VIEW_DOCPRO_IVA     (Incluye IVA de Ambas Vistas VIEW_DOCPRO_MOV_IVA +

                                                 VIEW_DOCPRO_CTA_IVA

VIEW_DOCCLI_MOV_IVA (IVA por Tipo de Documento DPMOVINV)

VIEW_DOCCLI_CTA_IVA (IVA por Cuentas del Documento DPDOCCLICTA)

VIEW_DOCCLI_IVA     (Incluye IVA de Ambas Vistas VIEW_DOCCLI_MOV_IVA +

                                                 VIEW_DOCCLI_CTA_IVA

Enlace final quedará:

SELECT * FROM DPDOCCLI

INNER JOIN VIEW_DOCCLI_IVA

Enlaces:

SELECT * FROM DPDOCPRO

INNER JOIN VIEW_DOCPRO_IVA ON DOC_CODSUC=IVA_CODSUC AND

                              DOC_TIPDOC=IVA_TIPDOC AND

                              DOC_CODIGO=IVA_CODCTA AND

                              DOC_NUMERO=IVA_NUMERO

SELECT * FROM DPDOCCLI

INNER JOIN VIEW_DOCCLI_IVA ON DOC_CODSUC=IVA_CODSUC AND

                              DOC_TIPDOC=IVA_TIPDOC AND

                              DOC_NUMERO=IVA_NUMERO

05/04/2016

1929 Variable CHKINTREF en DATAPRO.INI

oDp:lChkIntRef   :=GETINI(“DATAPRO.INI”,”CHKINTREF”), facilita activar o Inactivar la revisión de integridad referencial en las tablas que requiere revisión de integridad referencial cuando se genera el proceso de actualización debido a que este proceso consume tiempo proporcional al volumen de la base de datos. En la clase table, método commit(), se define mediante:

oTable:CreaRegIntRef(lRun)

oTable:Commit()

Si el parámetro lRun, no es definido .T. o .F. Su valor será asumido por:

oDp:lChkIntRef quien se iniciar con .F.

En el programa DPINI se realiza lectura oDp:lChkIntRef, en el programa.

Programa DPTABLEFIXINT, suspende proceso de reparación de integridad referencial si oDp:lChkIntRef=.F.

05/04/2016

1930 Programa “ITFGENCALFIS”, genera calendario fiscal de ITF de operaciones de pagos en efectivo. Copia el calendario fiscal de las retenciones de IVA y asumen las mismas fechas. El nuevo calendario se genera con su respectiva numeración, además crea en la planificación del proveedor “DPPROVEEDORPROG” la planificación del ITF.

07/04/2016

1931 Nueva Vista: VIEW_CXCCLIXTIPDOC, Contiene por cliente el resumen de documentos pendientes por Cobrar, tiene como finalidad presentar en recibos de ingresos los clientes con Documentos por Cobrar mediante dpclientescxc.lbx

SELECT

DOC_CODIGO AS CXC_CODIGO,

DOC_CODSUC AS CXC_CODSUC,

DOC_TIPDOC AS CXC_TIPDOC,

SUM(DOC_NETO*DOC_CXC) AS CXC_SALDO

FROM DPDOCCLI

WHERE DOC_ACT=1 AND DOC_CXC<>0

GROUP BY DOC_CODIGO,DOC_CODSUC,DOC_TIPDOC

HAVING SUM(DOC_NETO*DOC_CXC)<>0

DPCLIENTESCXC.LBX

SELECT    :=CLI_CODIGO,CLI_NOMBRE,CLI_RIF,SUM(CXC_SALDO) AS NETO

INNER     :=INNER JOIN VIEW_CXCCLIXTIPDOC ON CLI_CODIGO=CXC_CODIGO

07/04/2016

1932 Nueva Vista: VIEW_CXPPROXTIPDOC, Contiene por Proveedor el total de documentos pendientes por Pagar, tiene como finalidad presentar en comprobantes de pago, sólo los proveedores con Documentos por Pagar mediante dpproveedorcxp.lbx

SELECT

DOC_CODSUC AS CXP_CODSUC,

DOC_CODIGO AS CXP_CODIGO,

DOC_TIPDOC AS CXP_TIPDOC,

SUM(DOC_NETO*DOC_CXP) AS CXP_SALDO

FROM DPDOCPRO

WHERE DOC_ACT=1 AND DOC_CXP<>0

GROUP BY DOC_CODSUC,DOC_CODIGO,DOC_TIPDOC

HAVING SUM(DOC_NETO*DOC_CXP)<>0

DPPROVEEDORCXP.LBX

SELECT    :=PRO_CODIGO,PRO_NOMBRE,PRO_RIF,SUM(CXC_SALDO) AS SALDO

INNER     :=INNER JOIN VIEW_CXPPROXTIPDOC ON CLI_CODIGO=CXP_CODIGO

WHERE     :=”CXP_CODSUC”+GetWhere(“=”,oDp:cSucursal)

GROUP BY  :=PRO_CODIGO,PRO_NOMBRE,PRO_RIF

08/04/2016

1933 Removido Pestañeo en Clase TDOCGRID y TGRIDCOL

::oGrid:oBrw:SelectCol( nCol ) // Ejecuta ::Super:Refresh(.T.)

08/04/2016

1934 Implementación de release (Revisión) por Versión.

El modelo de versión está vinculado al entorno de desarrollo DpXbase, Compilador, Interfase, Diccionario de Datos. El modelo de release esta vinculado al modelo de negocios de la aplicación.

Mensualmente Adaptapro desarrolla implementaciones en su mayoría obtenida por necesidades de clientes (Plan creciendo Juntos) y compromisos asumidos en los proyectos de implementación donde participa AdaptaPro activamente con el Consultor que ejecuta el proyecto de implementación.

La nuevas funcionalidades estarán condicionadas con el release (oDp:cRelease) de la aplicación, permitiendo  hacer actualizaciones por garantías del sistema sin incluir las nuevas  funcionalidades que estarán expuestas al release del sistema.

La licencia emitida contiene datos del release adquirido por el titulado. Si la licencia adquirida incluye derecho a las actualizaciones por nAños, el release incluye las actualizaciones hasta la fecha de conclusión de la licencia. El titulado tiene derecho a las actualizaciones del sistema mediante isrelease(“16.04”), valida el tiempo de vigencia de la licencia y la contratación del Servicio de Actualización remota (Automática vía Internet).

10/04/2016

1935 Definición de Bloques de Código en DPLOADCNF

Eval(oDp:bFchIpc)    // Obtiene la Última fecha del IPC  de la Tabla DPIPC

Eval(oDp:bFchInpc)   // Obtiene la Última fecha del INPC de la Tabla DPIPC

10/04/2016

1936 Programa BCVINPC(lInpc) presentó formulario para descargar los índices de precios al consumidor (IPC) e Índice Nacional de Precios al consumidor (INPC) desde el portal:

http://www.bcv.org.ve/excel/4_5_7.xls

http://www.bcv.org.ve/excel/4_1_7.xls

Actualiza la tabla DPIPC, el campo IPC_TASA contiene el IPC y el campo IPC_INPC contiene el Índice nacional de precios al consumidor.

El contenido de esta tabla es necesaria para calcular el ajuste por inflación fiscal (IPC) y Ajuste por Inflación Financiero para las NIF mediante el INPC.

Los procesos automáticos IPC e INPC muestran en el panel ERP los meses transcurridos desde la última fecha del ERP, en el caso que la fecha este vacía se ejecuta automáticamente el programa BCVINPC() para la descarga del IPC e INPC de manera separada.

Aplicación, Tributación y deberes formales, incluye en “Otros” las dos opciones para descargar el IPC/INPC desde: http://www.bcv.org.ve

11/04/2016

1937 Programa FINDCLIXCED, realiza búsqueda de RIF según cédula en tabla DPCLIENTES con el objetivo de evitar realizar la búsqueda en portal del Seniat y logre realizar la búsqueda en DPCLIENTES según las posibles combinaciones para obtener RIF según Cédula.

Cédula 9460028, es agregado 0 ceros hasta lograr 8 dígitos, si es extranjero se agrega “E”, signo “V”, además crea un arreglo de 10 posibilidades de dígito final (0,1,..9). Cuando se incluye un nuevo cliente y el usuario introduce número de cédula en el campo RIF, realiza la búsqueda del posible RIF. Desde el programa de facturación el botón creación rápida de cliente, solicita Número de RIF, si el usuario introduce la cédula realizará la búsqueda en la tabla de clientes para evitar realizar (10 búsquedas) en el portal de Seniat.

11/04/2016

1938 Programa GETVALRIF, realiza la búsqueda del RIF en el portal de Seniat según cédula introducida en el programa DPCREACLI “Creación Rápida de Clientes” mediante la busqueda consecutiva de RIF desde el valor 0 hasta 9

12/04/2016

1938 Nueva tabla DPDPTO (Departamentos en Aplicación de Contabilidad) diseñada para unificar: Productos, Activos (Propiedades), Trabajadores y Procesos de producción, con el objetivo de lograr calcular estructuras de costos y Resultados contables por departamentos. Se remueve la integración contable por grupo, ahora se realiza por departamentos, las cuentas contables de los grupos son migradas hacia la relación de cuentas contables con tabla DPDPTO mediante la tabla DPDPTO_INV_CTA donde se registra:

Modelo (Plan de cuentas NIF)

Cuenta Contable.

Código de departamento.

Mediante el programa “DPGRUTODPTO” se genera la creación de departamentos según grupos contentivos de relación contable y se remueve la integridad entre grupos con cuentas contables. El programa DPDPTOCREA, genera código de departamento por defecto y es asignado a todos los productos que no tienen relación con grupos y cuentas contables, necesario para cumplir con las reglas de integración contable.

13/04/2016

1939 Programa DPCALIPC (Calculadora de IPC), Presenta formulario y solicita Desde (Año-mes), Hasta (Año-Mes) y Monto que deberá ser actualizado, se muestran el factor del IPC e INPC más Monto Actualizado Según IPC e INPC. El botón Export exporta el monto hacia el Control que esté en Edición. Se ejecuta mediante la tecla F11 (Requiere Binario). Los programas FACTORIPC y FAC_IPC, realiza el Cálculo de IPC e INPC Según contenido de tabla DPIPC. Desde Aplicación Contabilidad se incluye nuevo botón “IPC” para ejecutar la calculadora IPC

13/04/2016

1940 Programa RUNKEY(nKey), ejecutado desde el binario Adaptapro, clase TWINDOWS, ejecuta las teclas F3,F4,F7,F8,F9 y F11. Desde RUNKEY se ejecuta los programas DPCALC “F3 Calculadora”, CALENDAR() “F4 Calendario” y “F7

Calculadora IPC”.

14/04/2016

1941 Tabla DPGRU_CTA, contiene la nueva relacion Contable Entre grupo de productos con Plan de cuentas y modelo de Cuenta. Contiene integridad referencial entre todos los registros relacionados (Grupo, Grupo_Cta, Cuenta Modelo y plan de cuentas). Este modelo de contabilización obedece a las necesidades de aquellos usuarios que no necesitan implementar la contabilización departamental con estructura de costos.)

14/04/2016

1942 Nuevo Formulario DPCTAUTILIZACION.LBX presenta el plan de cuenta con el campo CTA_UTILIZ con la facilidad de filtrar cuentas contables, ejemplo:

Obtener las cuentas de Activos para Inventarios.

14/04/2016

1943 Programa DPTABTOMOD, realiza la migración de DPGRU hacia DPGRU_CTA y DPACTIVOS hacia DPACTIVOS_CTA. Desde el programa DPGRU_CTA, evalúa si DPCTA_GRU esta vacía para realizar el proceso de migración de datos desde DPGRU Hacia la tabla DPGRU_CTA

EJECUTAR(“DPTABTOMOD”,”DPGRU”)

14/04/2016

1944 Programa DPTIPDOCCLIDEFEXP y tabla DPTIPDOCCLIEXP permite definir los tipos de documentos  que serán exportados mediante la selección de ítems del Cuerpo de documentos (Contentivo de Productos) previamente registrados mediante documentos de productos vinculados con clientes. AdaptaPro Inicia el proceso de negocios para la comercialización de Productos. Además permite definir el flujo de documentos hasta lograr la conclusión de la Operación de Comercialización.

14/04/2016

1945 Programa MDISYSMENU, presenta menú (sysmenu) en la clase TMDI utilizada para los menús de los formularios LBX y Panel de tareas ERP (DPPANEL), Si está activar el modo oDp:lDpxBase nos permite acceder directamente al programa fuente vinculada con el formulario MDI.

14/04/2016

1949 Programa “LBXINIFIND” Se ejecuta cuando se activa el formulario LBX y esté asociado con un control oGET o oBMPGET, activa el modo Búsqueda o filtro según los parámetros:

COLFIND   :=2      // Indica el Número de Columna de Búsqueda,

TYPEFIND  :=FILTER // Indica el botón de búsqueda o FIND

En dpclientes.lbx se estableció: Posicionar Columna 2 y Ejecutar FILTRAR cuando se muestra DPCLIENTES.LBX en el documento de facturación (DPFACTUVAV)

15/04/2016

1950 Implementación de valores por defecto definidos en el diccionario de datos para incluir datos en campos del formulario.

15/04/2016

1951 Mejora en programa SCRCREATE, Generación de Código DpXbase para formularios con Sintaxis para control BMPGET con referencias con tablas mediante formulario DPLBX().

@ X,Y BMPGET oFrm:oField

      VAR oFrm:Field

      VALID  !VACIO(oFrm:Field,NIL) .AND.;

      oFrm:oTABLELBX:SeekTable(“FIELD”,oFrm:oField,NIL,oFrm:oDESCRI);

      NAME “BITMAPS\\FIND.BMP”;

      ACTION (oDpLbx:=DpLbx(“TABLELBX”,NIL,”1=1″,NIL,NIL,NIL,NIL,NIL,NIL,oFrm:oField),

              oDpLbx:GetValue(“FIELD”,oFrm:oField));

      WHEN (AccessField(“TABLE”,”Field”,oFrm:nOption).AND.;

           (oFrm:nOption=1 .OR. oFrm:nOption=3));

           FONT oFontG;

           SIZE 12,10

La sintaxis ahora incluye vínculo entre el control “oFrm:oField” con la función DPBLX(), facilitando la posición del formulario LBX justo en la posición visual del control, además se inicia el formulario LBX activando la opciones BUSCAR o FILTRAR según definiciones en plantilla <forms\file.LBX>

 

15/04/2016

1952 Nueva tabla “DPMODPROCDOCCLI”, modelo de negocios en documentos del cliente. Permite definir el Flujo de generación de transacciones mediante el proceso de exportación de ítems de un documento previamente registrado.

15/04/2016

1953 Optimización de código para generar programa Fuentes para menú de Tablas DPBUILDMNU, fue incorporado etiquetas en las plantillas para remover o dejar codigo fuente condicional, logrando un código óptimo y exclusivo con las funcionalidades que necesita.

15/04/2016

1954 Clase TLABEL para indicar en los formularios las etiquetas de los campos diferenciándose de la clase TSAY utilizada para las referencias de los campo o datos dinámicos. Ambas se puedes utilizar para el mismo propósito, diferenciar su nombre :CLASSNAME(), facilita separarlas en el formulario de ubicación de los controles (FILE.EDT) para evitar replantear la ubicación física de cada control cuando agregamos un nuevo SAY o LABEL.

Sintaxis:

@ x,y LABEL “Texto”,

Dinámico con etiquetas de las tablas del diccionario de datos.

Sintaxis:

@ x,y LABEL oLabel PROMPT oDp:xDPTABLE

16/04/2016

1955 Nuevo campo lógico BRW_TMDI en tabla DPBRW, Si es .T. generar código DpxBase para formulario según clase TMDI logrando ajustar el Browser con el tamaño de la ventana MDI y reajustarse a la dimensión del área visual indicada por el usuario mediante el MOUSE.

16/04/2016

1956 Definir Browse para seleccionar múltiples registros 

 :oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROWMS

Mediante SHIFT-CLIC se marcan los registros, para conocer los registros marcados:

ViewArray(:oBrw:aSelected)

16/04/2016

1960 BrwMaker Genera código selector de registros mediante campo lógico, Facilitando seleccionar registro mediante clic o todos los registro mediante clic en el encabezado (título) de la columna. Sólo si la Última columna es de tipo de datos lógica.

16/04/2016

1961 Nuevo Campo lógico en “BRC_CONCAT” en tabla “DPBRWLNKCONCAT”, permite indicar en las relaciones concatenadas entre consultas BRWMAKER la concatenación de la cláusula Where del formulario principal. Las concatenaciones entre browser define mediante cada columna del browser con cada campo de la consulta contactenos (CLAUSUA WHERE), adicionalmente se podrá agregar la cláusula WHERE recibida por el browser principal.

16/04/2016

1962 Nuevo programa “DPLBXADDBTN”, permite mover la posición de los botones BTN_XX por BTN_YY del formulario LBX. El formulario solicita número de posición del botón (por defecto 5) donde se inicie el movimiento donde BTN_06, será BTN_07, sucesivamente hasta lograr 30.  Mediante el programa LBXSYSMENU contentivo del menú (SYSMENU) del formulario LBX se accede al programa “DPLBXADDBTN”.

16/04/2016

1963 DPLINK.LBX incluye nuevo botón exportar. Desde el formulario DPLINK.LBX contentivo de la relaciones entre tablas, previamente mediante la opción FILTRAR, se muestran solo las tablas filtradas y mediante el botón “exports.bmp”  se ejecuta el programa “LBXLNKEXPORT” obtiene lista de tabla enlazadas y ejecuta el programa “DPTABSELEXP” para exportar las estructuras de las tablas.

16/04/2016

1964 Mejora en programa “LOADSTRUCT”, cuando realiza la lectura de estructura de una tabla y la detecta vacía, realiza lectura de estructura de la tabla de datos dbf \datadbf\xtable.dbf y actualiza el diccionario logrando evitar incidencias.

21/04/2016

1965 Mejora en programa “DOWNDPSTD”, incluye en la ruta de descarga de componentes el valor (Modo) indicado en la llave “dp\adaptapro.dp” donde se indica el modo de uso del sistema:

TEST (Desarrollo y Pruebas)

PRE  (Preproducción)

Vacío(Producción).

En el caso que la llave adaptapro.dp no posea el modo de descarga, su valor sera obtenido del archivo DATAPRO.INI cModo:=GETINI(“DATAPRO.INI”,”MODO” )

La function DPDOWNDPSTD() ubicada en dpllave.hrb realiza la descarga de los “DPSTD\” en la carpeta “temp\” en formatos *.Zip y finalmente son descomprimidos hacia la carpeta DPTSD, listos para su ejecución. AdaptaPro Estándar dispone de sus componentes de ejecución en la carpeta dpstd los archivos de ejecución. Formularios: EDT,LBX,BRW,SCG programas compilados DpXbase. Los demás componentes (Archivos y Programas binarios) y diccionario datos son descargados vía base de datos MySQL en la carpeta “DOWNLOAD” El archivo dpstd\sgev51.txt contiene el mapa de los componentes ubicados en el servidor ftp de descargas. Para realizar nuevamente la actualización del sistema es necesario salir y volver a ingresar (esto depende de urlmon.dll del:

  • Para descargar y actualizar todo el contenido de la carpeta dptsd\*.* es necesario remover el archivo dpstd\sgev51.txt o dpstd\*.txt

La actualización del programa binario es realizada mediante el programa COPYEXE.SCR y es ejecutada mediante el programa ISNEWEXE luego que es realizado el proceso de descarga del sistema, adaptapro estándar realiza la actualización del binario desde:

C:\DPSGEV51\STDSCR\COPYEXE.SCR donde se puede ejecutar script en versión estándar.

Para subir el programa binario hacia el servidor, debe estar copiado previamente en c:\dpsgev51\bin

El archivo temp\datadbf.zip contiene el diccionario de datos (excepto programas fuentes). descarga sus contenidos en la carpeta c:\dpsgev51\datadbf

Luego descomprimir los componentes de ejecución, almacena en la tabla DPDIRAPL los archivos de la carpeta “dpstd\” y registra en DATASET, los datos de la actualizacion: PC, Fecha y Hora, con el objetivo de ser recuperados por los demás PC que utilizan el sistema.

 oData:=DATACONFIG(“DPDOWNSTD”,”ALL”)

 dFecha:=oData:GET(“dFecha”,DPFECHA())

 cHora :=oData:GET(“cHora” ,DPHORA())

 cIp   :=oData:GET(“cIP”   ,oDp:cIpLocal)

 oData:Save()

 oData:End()

21/04/2016

1966 Tabla DPACTIVOS, replantea clave primaria ATV_CODIGO por ATV_CODSUC,ATV_CODIGO. La integridad con tablas DPDESINCORPACT (Desincorporación) y DPDEPRECIAACT (Depreciaciones).

Mejora en DPCAMPOSADD, incluye cDefault para Actualizar campo CAM_DEFAUL PROCE

MAIN(cTable,cField,cType,nLen,nDec,cDescri,cCmd,lCheck,uValue,cDefault)

21/04/2016

1967 DPCHKISINTREF incluye revisión de contenidos de campos contentivos en claves primarias según valor por defecto indicado en CAM_DEFAUL. De igual forma en las tablas Vinculadas evalúa contenidos de campos evaluados y en ambos casos complementar los datos de los campos según valores por defecto en caso que sus contenidos estén vacíos o nulos. DPCHKISINTREF es ejecutado desde el programa “FIXINTREF” y este llamado desde BUILDINTREF quien genera la integridad entre tablas. Esta nueva funcionalidad evita crear programas específicas para cada tabla con sus respectivos vínculos.

IF COUNT(oTable:LNK_TABLES)>0

 aFields :=ASQL(“SELECT CAM_NAME,CAM_DEFAUL FROM DPCAMPOS WHERE CAM_TABLE”+;

           GetWhere(“=”,oTable:LNK_TABLES)+” AND CAM_DEFAUL”+GetWhere(“<>”,””))

  FOR I=1 TO LEN(aFields)

    uValue:=aFields[I,2]

    IF LEFT(uValue,1)=”&” .OR. (“(“$uValue  .AND. [“]$uValue)

       uValue:=MACROEJE(uValue)

    ELSE

       uValue:=CTOO(uValue,cType)

    ENDIF

    IF !Empty(uValue)

       SQLUPDATE(ALLTRIM(oTable:LNK_TABLES),aFields[I,1],uValue,;

                 ALLTRIM(aFields[I,1])+” IS NULL OR

                 “+ALLTRIM(aFields[I,1])+;

                 GetWhere(“=”,CTOEMPTY(uValue)))

    ENDIF

  NEXT I

ENDIF

21/04/2016

1968 Variable oDp:lCheckNull se inicia en programa DPINI

DATAPRO.INI

CHECKNUL:=.F.

Valor por defecto

oDp:lCheckNull :=.F.

Programa: SETRECNULOS, realiza la revisión por tabla y campo por campo, consumiendo tiempo de proceso no vital para los procesos del sistema.

Quedando sin efecto desde los procesos de actualización. Mediante el programa DPCHKSTRUCT “Revisión de Estructuras” incluye dos controles para que el usuario seleccione: 1. Revisar integridad referencial 2. Asignar vacíos en campos Nulos.

La variable oDp:lSayCheckTable:=.F.

Cuando su valor es .T. Muestra en el recuadro de procesos de tablas el nombre de la tabla en proceso desde la función checktable()

En programa: SQLDB_UPDATE

oDp:lSayCheckTable:=.T.

oDp:lLoadTablas:=.T. // Recarga las tablas en función

LOADTABLAS(oDp:lSayCheckTable), optimiza la función CHECKTABLE(), no necesita

recargar las tablas cada vez que se ejecuta CheckTable()

21/04/2016

1969 Nueva opción “Explorar Bases de datos Desde ODBC” en “programación”, “Otros”, presenta un menú contentivo de las definiciones “DSN” Data Source Name ubicadas en el registro del OS. Luego de seleccionar la Base de datos, se muestra un nuevo browser contentivo de las tablas disponibles, luego al presionar clic en la tabla se muestran los registros en un nuevo browser.

La clase TTABLE fue actualizada para ser utilizada mediante la función

OpenTable() según la siguiente sintaxis:

  oODbc:=TODBC():New(cDsn, cLogin, cPass )

  cSql   :=”SELECT * FROM “+cTabla

  oTable:=OpenTable(cSql,.T.,oOdbc,.F.)

  oTable:Browse()

  oTable:End()

  oOdbc:End()

22/04/2016

1970 Method RefreshFooters() en Clase XBROWSE, repinta o refresca el área de footers o totales de un browse evitando usar oBrw:Frefresh() quien realiza pintado completo y se visualiza como pestañeo. RefreshFooters() obtenido de FW15.12. En la Clase TXBrwColumn fué implementado la clase RefreshFooter()

FUNCTION CALTOTAL()

   LOCAL aTotal:=ACLONE(oMODPROCLIDOCD:oBrw:aArrayData)

   ADEPURA(aTotal,{|a,n| !a[9]})

   aTotal:=ATOTALES(aTotal)

   oMODPROCLIDOCD:oBrw:aCols[4]:cFooter:=FDP(aTotal[4],’999,999′)

   oMODPROCLIDOCD:oBrw:aCols[5]:cFooter:=FDP(aTotal[5],’999,999′)

   oMODPROCLIDOCD:oBrw:aCols[6]:cFooter:=FDP(aTotal[6],’999,999′)

   oMODPROCLIDOCD:oBrw:aCols[7]:cFooter:=FDP(aTotal[7],’999,999,999.99′)

   oMODPROCLIDOCD:oBrw:aCols[8]:cFooter:=FDP(aTotal[8],’999,999,999.99′)

   oMODPROCLIDOCD:oBrw:aCols[8]:RefreshFooter()

   oMODPROCLIDOCD:oBrw:lRefreshOnlyData := .f.

   oMODPROCLIDOCD:oBrw:RefreshFooters()

RETURN .T.

24/04/2016

1971 Nueva Vista VIEW_DPMOVINVEXP, Resumen de ítems exportados, permitiendo conocer el balance de cantidad prometida vs ejecutada. Requiere Índice en DPMOVINV por:

MOV_CODSUC,MOV_ASOTIP,MOV_ASODOC,MOV_CODIGO

SELECT

MOV_CODSUC AS MVE_CODSUC,

MOV_ASOTIP AS MVE_ASOTIP,

MOV_ASODOC AS MVE_ASODOC,

MOV_CODIGO AS MVE_CODIGO,

SUM(MOV_CANTID) AS MVE_EXPORT

FROM DPMOVINV

WHERE MOV_ASOTIP<>”” AND MOV_INVACT<>0

GROUP BY MOV_CODSUC,MOV_ASOTIP,MOV_ASODOC,MOV_CODIGO

24/04/2016

1972 Campo ICJ_ACTIVO (Registro Activo) y ICJ_CALITF “Calcular ITF” en Tabla DPCAJAINST, En comprobantes de pago sólo se utilizará los instrumentos Activos y el ITF será calculado en Línea mediante Consulta SQL.

25/04/2016

1973 Recomendaciones para el uso de IF,SUM,COUNT(*) con GROUP BY en Sentencias SQL Puedes observar esta sentencia se ve correcta, cuando se ejecuta no muestra los resultados correctos.

SELECT PLP_CODIGO AS RES_CODIGO,

         PRO_NOMBRE AS RES_NOMBRE,

  IF(dayofweek(PLP_FECHA) = ‘2’,COUNT(*),”) AS LUNES,

  IF(dayofweek(PLP_FECHA) = ‘3’,COUNT(*),”) AS MARTES,

  IF(dayofweek(PLP_FECHA) = ‘4’,COUNT(*),”) AS MIERCOLES,

  IF(dayofweek(PLP_FECHA) = ‘5’,COUNT(*),”) AS JUEVES,

  IF(dayofweek(PLP_FECHA) = ‘6’,COUNT(*),”) AS VIERNES

  FROM DPDOCPROPROG

  INNER JOIN DPPROVEEDOR ON PLP_CODIGO=PRO_CODIGO

 WHERE 1=1

  GROUP BY PLP_CODIGO,PRO_NOMBRE

La sintaxis correcta es:

SELECT PLP_CODIGO AS RES_CODIGO,

         PRO_NOMBRE AS RES_NOMBRE,

  IF(dayofweek(PLP_FECHA) = ‘2’,COUNT(*),”) AS LUNES,

  IF(dayofweek(PLP_FECHA) = ‘3’,COUNT(*),”) AS MARTES,

  IF(dayofweek(PLP_FECHA) = ‘4’,COUNT(*),”) AS MIERCOLES,

  IF(dayofweek(PLP_FECHA) = ‘5’,COUNT(*),”) AS JUEVES,

  IF(dayofweek(PLP_FECHA) = ‘6’,COUNT(*),”) AS VIERNES

  FROM DPDOCPROPROG

  INNER JOIN DPPROVEEDOR ON PLP_CODIGO=PRO_CODIGO

 WHERE 1=1

  GROUP BY PLP_CODIGO,PRO_NOMBRE, dayofweek(PLP_FECHA)

26/04/2016

1974 Nuevo campo ICJ_CALITF y ICJ_ACTIVO, en tabla “DPCAJAINST”, instrumentos de caja, para identificar los registros que aplican el cálculo del ITF y Registro activo. El programa “BRITFCAJA” enlaza DPCAJAMOV con tabla DPCAJAINST y solo incluye instrumentos de caja aplicables con I.T.F.

INNER JOIN DPCAJAINST ON DPCAJAMOV.CAJ_TIPO=ICJ_CODIGO AND ICJ_CALITF=1.

Las transacciones sin cálculo de ITF o cuyo monto del ITF sea cero, será recalculado

SQLUPDATE_JOIN(“DPCAJAMOV”,;

 “INNER JOIN DPCAJAINST ON DPCAJAMOV.CAJ_TIPO=ICJ_CODIGO AND ICJ_CALITF=1 “,;

 “CAJ_PORITF”,oDp:nDebBanc,;

 ” WHERE “+cWhere+IIF(Empty(cWhere),””,” AND “)+” CAJ_DEBCRE=-1 AND NOT CAJ_ORIGEN=’DEP’ AND CAJ_ACT=1 AND CAJ_PORITF=0″)

26/04/2016

1974 Nuevo campo ICJ_CALITF y ICJ_ACTIVO, en tabla “DPCAJAINST”, instrumentos de caja, para identificar los registros que aplican el cálculo del ITF

26/04/2016

1975 Nuevo botón “Restricción por usuario” en Instrumentos de caja. Permite restringir por usuario los instrumentos que podrá utilizar para realizar comprobantes de pago, recibos de ingresos, incluso acceder o visualizar desde el formulario DPCAJAINST.LBX. Esta restricción obedece a las nuevas funcionalidades para el cruce de CxP Vs CxC, Donaciones y Condonaciones de Deudas.

27/04/2016

1976 Implementación de Vistas en función COUNT(cVista,cWhere,cDb) 

Las vistas requiere el parámetro obligatorio cDsn, por defecto su valor es oDp:cDsnData (Nombre de la Base de datos de la empresa que está en ejecución).

La diferencia con el nombre de las tablas, es la búsqueda de la BD según el Diccionario de datos.

27/04/2016

1977 Función OPENODBC(cDsn) puede recibir el parámetro del nombre dinámico de la base de datos.

cDsn:=IIF(“<“$LEFT(cDsn,1),oDp:cDsnData  ,cDsn)

cDsn:=IIF(“.”$LEFT(cDsn,1),oDp:cDsnConfig,cDsn)

cDsn:=IIF(“-“$LEFT(cDsn,1),oDp:cDsnDicc  ,cDsn)

28/04/2016

1978 Programa SETFIELDLONG(cTable,cField,nLen,nDec). Nuevo parámetros: nDec asigna la cantidad decimal en el campo según cTable y cField.

29/04/2016

1979 Nuevos campos:

CIC_INGRES,CIC_EGRESO en tabla DPCTACAJINS donde se autoriza el uso del instrumento financiero en Recibos de Ingreso y Comprobantes de pago, para cumplir con exigencias de implementación financiera en aquellos escenarios donde se definen operaciones de: Intercambio de CxC, CxP, Fondos de Caja entre otros. Se incluye 7ma columna de semáforo donde se visualiza en Verde el Registro existente y el rojo registro no existente para conocer los registros no definidos. Para negar el vínculo entre instrumento financiero en recibos de ingreso o comprobante de pago con registro de Caja debe existir la definición de negación o aceptación en la tabla “DPCTACAJINS”

29/04/2016

1980 Cruce de documentos de CxC con CxP, Vistas:

CAJACXC: Vista obtenida desde Movimiento de Caja vinculado con recibo de ingreso y tipo de transacción (requiere Número). El número se genera según “R”+ Número de Recibo.

CAJACXP: Vista obtenido desde movimiento de Caja vinculada con el comprobante de pago contentivo del número (Serial) del instrumento de caja seleccionado para aplicar el pago de los documentos seleccionados.

CAJACXC_CXP: Vista contentiva del enlace de la vista CAJACXC con CAJACXP obtenido el saldo por :

CODSUC,CODCAJ,RIF,TIPO,NUMERO (Caja).

Para la aplicación del Cruce cliente y proveedor deben poseer el mismo Número de RIF.

Mayo

03/05/2016

1980 Optimización del proceso de instalación  y actualización del sistema.

SQLDB_UPDATECNF, Actualiza el diccionario de datos, se ejecuta desde el programa DPINI, solo cuando se actualiza la BD desde versiones o revisiones previas.

Funcion DsnCheckTable(cDsn,oMeter,aDsn,lIntRef), ahora en DPWIN32.HRB, ejecutada desde el kernel, cuando se instala el sistema.

Ejecuta los siguientes procesos:

SQLDB_PREUPDATE, Cuando se actualiza el sistema y existen tablas en la BD de datos de la empresa oDp:cDsnData, remueve la integridad referencial de todas las tablas y ejecuta programas que requieren convertir datos antes de generar Índices e integridad referencial.

Ejecuta tres procesos cíclicos por cada tabla:

  1. Revisión Estructuras
  2. Índices
  3. Integridad referencial

Finalmente concluye con la ejecución del programa : SQLDB_POSTUPDAT quien Realiza el proceso de ajustes de datos luego del proceso  de actualización.

SQLDB_PREUPDATE y SQLDB_PREUPDATE, reciben como parámetro:

cDsn:= Nombre de la base de datos:

lTablesNew:= Las tablas son (nuevas, empresa o BD nueva) no requiere ejecutar procesos.

Programa LOADSTRUCT, carga hacia memoria la estructura de Cada tabla oDp:aStruct:={} evitando recurrir al diccionario de datos cuando se ejecuta la función checktable(cTable).

Fue redefinida la relación entre DPTABLAS con DPCAMPOS mediante TAB_NOMBRE y CAM_TABLE, logrando optimizar lectura del diccionario de datos.

Requiere Binario y dpwin32.hrb

04/05/2016

1981 Precio de venta dinámico según Fórmula vinculando campos de la tabla del producto.

  1. Formulario precio de Venta “M”, crear tipo de precio, con fórmula

INV_COSADQ*1.3, costo de adquisición o Reposición más el 30%.

  1. Proceso de facturación incluye en el producto el Precio (M) calculado al instantáneo según Fórmula.
  2. Requisito (No puede existir campos de movimiento %MOV_% en la fórmula).

04/05/2016

1982 Programa DPDOCCXP, en Notas de Crédito válida factura afectada , según definición de Longitud y Decimales definidas en tipo de documento del Proveedor. Replanteado área del formulario para 1024×768, reubicación de controles.

05/05/2016

1983 Nueva Vista: VIEW_DPHISMON contiene la última transacción según fecha y hora del valor histórico en cada divisa. Con el objetivo de ser visualizada en el formulario de divisas y crear las variables Dinámicas de divisas según el contenido de cada código.

oDp:nDivisa_USD

oDp:nDivisa_EUR

Estas variables podrán ser utilizadas para calcular precios de venta, según criterio del usuario. El sistema podrá incluir Precio “F” para indicar los precios en Divisas (USD) según Fórmula del usuario.

05/05/2016

1984 Nuevo programa DPMENUNEW, se ejecuta desde el programa DPINI, según la variable oDp:cMenu definida en DATAPRO.INI como DPMENU, genera una nueva tabla de Menú contentivas de las opciones del sistema, logrado implementación del sistema en otro país y idioma. Si el contenido de la variable MENÚ no es definida, su valor por defecto será DPMENU

datapro.ini

DPMENU       :=DPMENU

Enlaces entre DPMENU con Generador de Reportes y Programación se actualizan mediante:

SQLUPDATE(“DPLINK”,”LNK_TABLED”,oDp:cMenu,”LNK_TABLED”+GetWhere(“=”,”DPMENU”))

En DPMENUNEW

Function DPLBX(), asume valores macros en sus tablas

TITLE     :={oDp:DPMENU}

TABLE     :=&oDp:cMenu

12/05/2016

1985 Nuevo programa DPBOTBARNEW, se ejecuta desde el programa DPINI,  según la variable oDp:cBotBar definida en DATAPRO.INI como DPBOTBAR, genera una nueva tabla de Botones de Barra contentivas de las opciones del sistema, logrado implementación del sistema en otro país y idioma. Si el contenido de la variable oDp:cBotBar no es definida, su valor por defecto será DPBOTBAR

datapro.ini

DPBOTBAR       :=DPBOTBAR

Enlaces entre DPMENU con Generador de Reportes y Programación se actualizan mediante:

SQLUPDATE(“DPLINK”,”LNK_TABLED”,oDp:cMenu,”LNK_TABLED”+GetWhere(“=”,”DPMENU”))

En DPMENUNEW

Function DPLBX(), asume valores macros en sus tablas

TITLE     :={oDp:DPBOTBAR}

TABLE     :=&oDp:cBotBar

12/05/2016

1986 Nuevo componente dpmenu.hrb en carpeta hrb\ contiene funciones de lectura del menú y barra de botones.

20/05/2016

1987 Programa REINSTALL es llamado desde el kernel cuando se detecta instalación del sistema (Nuevo binario) y la BD de la empresa definida en DATAPRO.INI tiene tablas. Se ejecuta la reinstalación del sistema. En caso que el usuario acepte la reinstalación se ejecuta el programa DPUPDATETAB, actualiza la estructura del diccionario de datos según \struct\*.TXT (Se actualizan en la instalación del sistema). Luego, copia las adaptaciones en la carpeta “personaliza”, remueve el diccionario de datos, importa nuevamente el diccionario desde la carpeta “datadbf\” y finalmente recupera las adaptaciones.

20/05/2016

1988 Programa IMPORTDPTABLAS se ejecuta desde el Kernel, cuando la BD definida en datapro.ini no tiene tablas. Importa el diccionario de datos.

Junio

01/06/2016

1989 Mejora en Clase TMYTABLE determinando campos LOGICOS según diccionario de datos y cuya estructura física sea entero con más de 1 dígito de longitud.

Verificación del campo “PC_ACTIVO”, tabla “DPPCLOG”. Evitando Salida del sistema por falta de resultado lógico en programa “DPPCLOGSAVE”

 lActivo:=SQLGET(“DPPCLOG”,”PC_ACTIVO”,”PC_NOMBRE”+GetWhere(“=”,oDp:cPcName))

 lActivo:=CTOO(lActivo,”L”) // Verifica su Contenido Lógico

7

  IF !lActivo

     MensajeErr(“Este PC “+oDp:cPcName+” no tiene permitido para Utilizar el Sistema”)

     SALIR()

     RETURN .F.

  ENDIF

07/06/2016

1990 Mejora en Programa “INVCOSULT”, Obtiene último costo del producto según “Entrada o Compra”, y mediante la condición:

// JN 07/06/2016M, Obtiene Última Compra Según Fecha y Hora

  IF !Empty(dFecha) .AND. !Empty(cHora)

   cWhere:=cWhere +” AND CONCAT(MOV_FECHA,MOV_HORA)”+GetWhere(“>=”,ALLTRIM(SQLDATE(dFecha))+cHora)

  ENDIF

Programa llamado desde “DPVALINVULTFC” y este ejecutado desde el reporte:

DPVALINVULTCOM “Valor del Inventario Según Ultimo Costo”.

07/06/2016

1991 Nuevo programa “INVCOSPROHIS”, Obtiene el costo promedio histórico de un producto, utilizando el clásico método de costo promedio: ((Valor Anterior)+ Nueva compra)/ Nueva Existencia. Realiza Lectura de todos los movimiento de Entrada y Salida Contable(MOV_CONTAB<>0). Este programa es llamado desde el programa “INVCOSPRO” que obtiene el costo promedio. Según la Variable:

DEFAULT oDp:lCosProHis:=.T.

Se obtiene el costo promedio según el programa “INVCOSPROHIS”, caso contrario:

Si oDp:lCosProHis:=.F.  será realizado mediante “INVCOSPRO” El reporte “INVENTARIO” fue replanteado para emitir el valor del inventario según costo promedio.

08/06/2016

1992 Mejora en programa “DPDOCISLR”, luego de remover los ítem de las retenciones y en modo “modificación” permite realizar registro del documento con monto cero y muestra mensaje.

 IF oDpDocIslr:nOption=1

    MensajeErr(“No se puede Registra Retención sin monto.”+CRLF+;

               “En Configurar Empresa puede Habilitar Guardar Retención con Monto

               Cero”,”Advertencia”)

     Return .F.

 ELSE

     MensajeErr(“La Retención será Registrada con Monto Cero”+CRLF+;

     “Registro Necesario para la Auditoría de Transacciones”,”Advertencia”)

 ENDIF

08/06/2016

1993 Nuevo programa “INVCOSPROHIS”, Visualiza la traza histórica de las transacciones que generan el costo promedio de un producto. Es llamado desde el programa DPINVCON (Consulta del producto), mediante la nueva opción “Histórico del Costo de Venta”. El valor del costo promedio es obtenido desde el programa “INVCOSPROHIS”

11/06/2016

1994 Nuevos campos en tabla DPMAILS, necesario para enviar correos con archivo adjunto:

MAIL_ADJUNTO        :=LOAD_FILE(‘”+STRTRAN(cFilePDF,”\”,”/”)+”‘)”)

MAIL_ADJUNTO_NOMBRE”:=cFileNoPath(cFilePDF)

MAIL_EXT”           :=cFileExt(cFilePDF)

El programa c:\dpsgev51\jre\DPMailer.jar realiza el envío del correo mediante previa activación desde el programa “RUNDPSENDMAIL” que ejecuta el comando “ejecutar.bat”

El programa “TESTSENDPDF”, realiza prueba para generar factura en formato en formato PDF mediante el archivo crystal “dfactura_odbf.rpt” quien requiere previa definición “ODBC” para DSN “SGE_ODBC” (FoxPro o ADS) con ruta c:\dpsgev51\crystal

15/06/2016

1994 Nuevo programa “REPCREXPORT”, genera archivo de extensión PDF mediante el uso de BIN\CREXPORT.EXE utiliza modelo “dp\crex.bat” contentivo BIN\CREXPORT.EXE -F -O -E -L

15/06/2016

1995 Nuevo programa “FOXODBC”, genera el DSN para CRYSTAL ODBC para FoxPro, necesario para generar archivo PDF desde programa “REPCREXPORT”. Requiere DPWIN32.HRB

15/06/2016

1996 Nuevo programa “ADSODBC”, genera el DSN para CRYSTAL ODBC para el Driver Advantage Database Server, necesario para generar archivo PDF desde programa “REPCREXPORT”, Requiere DPWIN32.HRB

15/06/2016

1997 Definición del Driver ODBC para DATAPRO.INI

DSNCRYSTAL   :=SGE_CRYSTAL

DSNTYPE      :=ADS

Alternativa //DSNTYPE      :=FOX

Si el valor DSNTYPE no está definido el sistema Asume ADS,

IF EMPTY(cDsn)

   cDsn:=”ADS”

ENDIF

si el valor de DSNCRYSTAL no está vacío asume el valor del tipo de licencia:

IF EMPTY(oDp:cDsnCrystal)

  cDsn:=oDp:cType+”_CRYSTAL”

ENDIF

16/06/2016

1998 Nuevo programa “DPTABXUSUFILTER”, ejecutado desde “DPBUILDWHERE”, lee la tabla DPTABXUSU y genera de manera dinámica las restricciones del registros por tabla según permisos del usuario en el arreglo oDp:aExcluye, utilizado en función OPENTABLE(). Se agrega el nuevo campo TXU_KEY contentivo del nombre del campo clave de tabla según programa “GETPRIMARY”. Además de ser necesario para las restricciones de eManager

21/06/2016

1999 Mejora en Generador de Informes, definición de archivos crystal report, incluye nuevo campo lógico que permite indicar si el reporte se ejecuta alternativamente mediante CREXPORT con el objetivo de generar archivo en formato PDF para ser visualizado o enviado por correo.

Julio

10/07/2016

2000 Traducción del programa Binario hacia otro Idioma:

Se define en el archivo DATAPRO.INI

Ejemplo:

LANGUAGE     :=ENG

El archivo de traducción se encuentra en la carpeta BIN\ENG\TRANSLATOR.TXT con su respectivo contenido ID,PROGRAM,TEXT. El sistema cuenta con la función MI(“Texto Idioma Nativo”,nId,”PROGRAM”), cuando el sistema no encuentra el de Traducción será mostrado: “Texto Idioma Nativo”+PROGRAM+LSTR(nId). El Arreglo contentivo de la traducción es oDp:aTranslBin, se podrá inspeccionar mediante ViewArray(oDp:aTranslBin), ejemplo: MI(“Salir”,6) -> Muestra “Exit”.  La función MI() tambien podra ser utilizada en Programas DpXbase que requieran traducción sin necesidad de recompilar el programa DpXbase.

// Arranque del Sistema

1  ,DPWIN,Not Found

2  ,DPWIN,Warning

3  ,DPWIN,Demonstration

4  ,DPWIN,Close

5  ,DPWIN,Accept

6  ,DPWIN,Exit

7  ,DPWIN,Save

8  ,DPWIN,Attachments

9  ,DPWIN,Associating Attachments

El programa DPTRANSLATOR es ejecutado luego de compilar un programa DpXbase y realiza la traducción literal de textos ubicados en la carpeta FORMS\ENG\TRANSLATOR.TXT, cada línea está compuesta por: Texto en el Idioma Nativo, separador y Texto para traducir. El sistema genera un programa compilado DpXbase con la traducción de los textos encontrados entre comillas.

De igual manera los formularios .EDT,.LBX,.BRW,.LBX,.SCG cuando se guardan pasan por el proceso de traducción y se almacenan en la carpeta forms\eng

Dirección _ Address

Página Web _ Web Site

Tributos _ Tax

Empresa _ Company

Código _ Code

Teléfonos _ Phones

Ciudad _ city

C:\DPSGEV51\forms\ENG

dpgru.lbx

dpinv.scg

TRANSLATOR.TXT

En el caso de los formularios *.EDT, en el sysmenu se encuentra la opción para “Traducir el programa fuente DpXBase”

15/07/2016

2001 Nuevo programa “DPREASIGNAUTIL”, presenta formulario para asignar % de utilidad de los productos según rango de código por grupo. Se accede desde la aplicación “Inventario”, menú “procesos”, opción “Asignar % de Utilidad y Asignar Precios por Marca”. Requiere release 16.06

15/07/2016

2002 Nuevo programa “DPGRUMNU”, presenta formulario de tipo menú contentivo de diversas opciones vinculadas directamente con el código del grupo focalizado en el browse. Incluye ejecución de Opción “Asignar % de Utilidad por Grupo”, ejecutando el formulario de asignación de carga de datos indicado el rango de código del grupo. La nueva opción “Asignar % de Utilidad por Marca”, permite filtrar según” Código del Grupo y marcas según rango “. Requiere release 16.06

17/07/2016

2003 Nuevo programa “DPMARCASMNU”, presenta formulario de tipo menú contentivo de diversas opciones vinculadas directamente con el código de la marca focalizada en el browser (LBX). Incluye ejecución de Opción “Asignar % de Utilidad por Marca”, ejecutando el formulario de asignación de carga de datos indicado el rango de código de Marca. La nueva opción “Asignar % de Utilidad por Grupo”, permite filtrar “según” Código de la Marca y Grupos según rango. Requiere release 16.06

26/07/2016

2004 Nuevo programa “BRINVLIBINVDET”, Presenta consulta browser el contenido de registro en libro de inventario. Se ejecuta desde la opción “Consular producto”.

SELECT

DLI_FECHA,DLI_CANANT,DLI_CANCOM,DLI_CANVTA,DLI_CANENT,DLI_CANSAL,

DLI_SALDO,DLI_COSPRO,DLI_COSANT,DLI_COSCOM,DLI_COSVTA,DLI_COSENT,DLI_COSSAL

FROM DPLIBINVDET

WHERE DLI_CODIGO=”COSPRO”

ORDER BY DLI_FECHA

26/07/2016

2005 Nuevo programa “ISLIBINV”, parámetro , devuelve .T. Si el libro de inventarios ha sido realizado según la fecha, permitiendo validar el registro, anulación o modificación de operaciones de compra en periodos con libros de inventarios registrados. Desde el programa “DPDOCPRO”, documentos de compra y mediante la función ISLIBINVI() se valida las operaciones según el contenido del campo DOC_FECHA

26/07/2016

2006 Mejora en programa “DPDOCMOV”, incluye función ISLIBINVI(), válida registro de libro de inventario en operación: Incluir, Modificar y Anular documento de movimiento de Inventario.

26/07/2016

2007 Nueva Tabla “DPLIBINVDETCAPAS”, contiene registro por capa de cada código de producto registrado en el libro de inventarios. Tiene como objetivo determinar la capa y antigüedad de las cantidades resumidas en cada mes con su respectivo campo para IPC e INPC logrando obtener el ajuste financiero y fiscal. El nuevo programa “DPLIBINVDETCAPA”, realiza el cálculo y registro de las capas y se ejecuta desde el programa “INVLIBRO” cada vez que se procesa un producto.

30/07/2016

2008 Nueva carpeta mssql\ contiene archivos de definición: datapro.ini y ODBC.INI para SQL Server, de uso exclusivo para realizar pruebas y evaluación.

El archivo ODBC.INI debe ser copiado en la carpeta DP\, el Archivo DATAPRO.INI debe estar en la carpeta principal del sistema. Es necesario revisar los parámetros:

PASS       =

SERVER     =SERVIDOR

USER       =sa

PORT       =1433

El sistema requiere ingresar con acceso “master” para crear los DSN y Bases de datos.

El instalador final para producción (Cliente) será generado de manera exclusiva para MSSQL Server y validado mediante la llave del sistema, así evitaremos discrecionalidades por parte de quien realice la instalación del sistema.

Agosto

02/08/2016

2009 Nueva función JOINTABLE(cTableA,cTableB,cJoin), Genera la sintaxis para relacionar dos tablas, obtiene los campos relacionados desde el diccionario de datos. Facilita el funcionamiento de programas DpXbase cuando la relación entre tablas ha sido actualizada o modificada. Ejemplo:

El valor por defecto de cJoin es “INNER”

 ? JOINTABLE(“NMRECIBOS”,”NMHISTORICO”,”INNER”)

 // Devuelve=INNER JOIN NMHISTORICO ON REC_CODSUC=HIS_CODSUC AND

                                       REC_NUMERO=HIS_NUMREC

 ? JOINTABLE(“NMHISTORICO”,”NMRECIBOS”,”LEFT”)

 // Devuelve

 LEFT JOIN NMRECIBOS ON REC_CODSUC=HIS_CODSUC AND REC_NUMERO=HIS_NUMREC

 Su valor dinámico se almacena en el arreglo=oDp:aJoinTable, para resetear su valor se requiere: oDp:aJoinTable:={}

02/08/2016

2010 Mejoras en el Generador de Informes (Rangos y Criterios). Asignación de operadores relacionales “Or”,”And” y “” (Vacío). Cuando el usuario, selecciona “Vacío”, el campo no formará parte de la sentencia WHERE de la consulta SQL y Tiene como objetivo la aplicación de manera discrecional por parte del programador.

12/08/2016

2011 Nuevo programa DPLINKMNU, presenta formulario de Opciones vinculadas a procesos de integridad entre dos tablas. Opciones:

Visualizar Inconsistencia: Presenta Browser con los registros inconsistentes.

Eliminar registros inconsistentes. Remueve los registros inconsistentes y Crear registros inconsistentes. Crea en la tabla vinculada los registros inconsistentes con sus respectivos vínculos mediante la función CREATERECORD().

16/08/2016

2012 Mejora en programa “DPDOCPRORTIEDIT”, permite modificar el número de retención campo “RTI_NUMTRA”, requiere permiso para modifica contenido del campo “RTI_NUMTRA”, mediante la función:

AccessField(“DPDOCPRORTI”,”RTI_NUMTRA”,3)

26/08/2016

2013 Nuevo Campo “DPLIBINV”, Campo:”LIV_NUMERO” que vincula el número de registro de tarea del libro de inventario en “tabla de formalidades y tareas” con el registro del libro de inventario “DPLIBINV”. Permitiendo remover sus contenidos cuando el usuario requiere modificar documento de compra o venta vinculados con libros procesados. Nuevo botón “Remover”, permite remover los registros del libro de inventarios y calmar el registro de planificación con estado “PFT_ESTADO” en pendiente y sin fecha de ejecución.

26/08/2016

2013 Nuevo Campo “DPLIBINV”, Campo:”LIV_NUMERO” que vincula el número de registro de tarea del libro de inventario en “tabla de formalidades y tareas” con el registro del libro de inventario “DPLIBINV”. Permitiendo remover sus contenidos cuando el usuario requiere modificar documento de compra o venta vinculados con libros procesados.

28/08/2016

2014 Removido campo PRO_CTABAN en DPPROVEEDOR, tabla DPPROVEEDOR posee tabla relacionada “DPPROVEEDORBAN” para indicar cuentas bancarias asociadas. Nuevo campo PRO_CONRET (Concepto de Retención) y PRO_PORRET % de retención de ISLR, con el objetivo de predefinir en la ficha del prestador de servicios el concepto de retención automática que se le aplicará a su factura de servicios.

Definición del input del campo en el formulario scrollGet Validación:

EJECUTAR(“DPCONRETSEEK”,PRO_CODRET) // Solo puede aceptar código de retención vinculado con tipo de persona (Jurídica o Natural) y reside o no en el país.

Acción.

EJECUTAR(“DPCONRETSEL”,oForm:PRO_CODRET) // Presenta lista de conceptos vinculados con tipo de persona y residente o no en el país.

Referencia

EJECUTAR(“DPCONRETSAY”,PRO_CODRET)

Programa: DPCONRETSAVE, se ejecuta al final del formulario (POSTGRABAR) y guarda en el campo PRO_PORRET el monto correspondiente al porcentaje de retención de ISLR.

Formulario: forms\dpproveedor_prestador_de_servicios.lbx incluye dos nuevas columnas: PRO_CODRET (Código de retención) y PRO_PORRET (% de retención).

Falta por implementar % de retención municipal para aquellos municipios donde se aplica.

Septiembre

09/09/2016

2015 Función MyOpenDataBase(cDataBase,.f.,oServer), nuevo parámetro oServer derivado de la clase TMSConnect():New() de conexión nativa con MySQL, quien requiere la asignación de los siguientes valores para controlar el tiempo dormido (Sin actividad) que permita refrescar la conexión (Caso tarifador de licencias, integración Nómina en Servidores remotos u otra implementación con conexiones remotas que sean implementadas y no generen incidencias por conexión dormida).

oServer:= TMSConnect():New()   // Inicia el objeto Conexión

oServer:SetAutoError( lError )

// Asignación dinámica de classdata

__objAddData(oServer, “nSeconds” )

oSend(oServer, “nSeconds”,0)

__objAddData(oServer, “nTimeMax” )

oSend(oServer, “nTimeMax”,5*(60*60))

Genera arreglo dinámico contentivo de las bases de datos y conexiones que permitan ser cerradas para su reapertura cuando requiera refrescamiento de la conexión (Usuarios Dormidos).

09/09/2016

2016 Función MyOpenDataBase(cDataBase,.f.,oServer), nuevo parámetro oServer derivado de la clase TMSConnect():New() de conexión nativa con MySQL. Permite Conocer las BD abiertas desde el conector oServer.

09/09/2016

2017 Función MySqlChkConn() Revisa el tiempo de evaluación en todas la BD abiertas mediante la función MyOpenDataBase() y refresca la conexión con el servidor.

    oCon:=aDataBase[I,2]:oConnect

    IF oCon:nTimeMax>0 .AND. ABS(Seconds()-oCon:nSeconds) >= (oCon:nTimeMax)

     CLOSEODBC(aDataBase[I,1],.F.)

     MyOpenDataBase(aDataBase[I,1],.F.):oConnect:ReConnect()

    ENDIF

PD: Queda sin efecto el uso del programa “MYSQLRESTART” en clase ttable

   IF ABS(Seconds()-oDp:nMySqlTime) >= (oDp:nMySeconds) .AND. oDp:nMySeconds>0

      EJECUTAR(“MYSQLRESTART”,oOdbc,cTable)

   ENDIF

09/09/2016

2018 Función DPMYSQLBD(cDb,cIp,cLogin,cPass,nPort,lError,lCreate,lAdd) Realiza la apertura de una Base de Datos “remota y en forma nativa”, indicando el nombre de la Base de datos y los datos del servidor. Además incluye la Funcionalidad de refrescamiento. Función ubicada en dpllave.hrb

Parámetro lAdd, agrega la BD hacia el control de tiempo de reconexión para usuarios dormidos. Requiere dpllave.hrb y programa binario 

IF lAdd

 MYADD_DATABASE(oDataBase)

ENDIF

09/09/2016

2019 Función oServer:=DPMYSQLSTART(cIp,cLogin,cPass,nPort,lError), devuelve objeto “Conección”. Realiza la conexión Nativa con Servidor MySQL. Genera lista de servidores o conexiones en la variable oDp:aMySql

AADD(oDp:aMySql,{cIp,oServer,SECONDS()}

Para cerrar las conexiones (Servidores)

  AEVAL(oDp:aMySql  ,{|a,n| a[2]:Close()})

  oDp:aMySql  :={}

11/09/2016

2020 renombrado dpmenu.hrb por dpmenuh.hrb debido a la compilación del programa binario dpsgehrbv51.exe quien requiere vacía la carpeta modhrb\ para no cargar los módulos hrb. Este binario fue creado para incidencia causada en OS windows 7 para 64 bits.

04/09/2016

2020 Mejora en clase tdocgrid,nuevo parámetro , contiene lista de campos que rige la secuencia de presentación de registros de manera independiente de la clave primaria

Método:SetTable(cTable , cPrimary , cWhere , lAll, cInner,oDb,cOrderBy).

En el caso de documento de Compras (Facturas de compras) o documento editable, se presenta el Orden de Ejecución según los campos:

LOCAL cOrderBy:=”DOC_FECHA,DOC_CODIGO,DOC_NUMERO”

La clase TDOCENC incluye tres nuevos classdata

::cOrderBy (Orden de Presentación)

::lEof     (Posición en el Ultimo Registro)

::lBof     (Posición en el Primer Registro)

Los botones de navegación están condicionados a las posición de inicio o final de los registros, se refrescará toda vez que se navega en cada registro.

15/09/2016

2021 Mejora Generador de reportes botón ejecutar llama al programa REPWRITE Y REPREAD para recargar los datos de las definiciones actuales necesarios para emitir el reporte. Programa REPREAD, incluye 2do parámetro para indicar remover archivo de contenidos .REP luego de la ejecución del reporte en modo diseño. Programa REPRUN, incluye revisión de VISTAS vinculada con tablas que componen los datos de reportes.

aTables:=EJECUTAR(“SQL_ATABLES”,oGenRep:cSqlInnerJoin)

ADEPURA(aTables,{|a,n|Empty(a)})

AEVAL(aTables,{|a,n| IF(“VIEW_”$a,EJECUTAR(“ISVISTA”,a),NIL)})

16/09/2016

2021 Mejora en programa CSRANGOFCH (Formulario de rango de fechas) para documentos (Clase TDOCENC), Recibe dos parámetros de Fecha dDesde y dHasta previamente calculadas desde el programa ejecutor. Caso de documento de compras y facturación obtiene la última fecha de operación y fecha del mes de inicio desde la última operación y la sugiere como fecha previa del browse.

Logrado evitar mensajes “información no encontrada” o introducir fecha aleatorias para obtener consultas.

16/09/2016

2022 Mejora en clase TDOCENC, implementado método RecCount(lIni), cuando es .T. Obtiene la cantidad de registros del documento según ::cScope y ::cTable, parámetro lIni:=.f. Obtiene la posición del Registro actual (Visualizado). El cálculo de cantidad y ubicación se realiza mediante la clave ::cPrimary. El programa “DOCFIND”, Buscar registros llama al método RecCount(.f.)

oFrm:RECCOUNT(.F.) // JN 16/09/2016 Debe obtener la posición del registro

PD: Requiere Binario 16/09/2016.

Documento de CxP, fue necesario incluir el campo DOC_HORA, por razones de optimización es necesario crear índice para:

cOrderBy:=”DOC_FECHA,DOC_HORA,DOC_CODIGO,DOC_NUMERO”,

Previamente: DOC_CODSUC,DOC_TIPDOC + cOrderBY/cPrimary

::nRecno=(Posicion Actual)

::nRecCount:=(Cantidad de Registros)

::oSayRecord (Control TSAY que muestra la posición y Cantidad de Registros)

PD: Requiere Binario 19/08/2016 (Release 16.08)

16/09/2016

2023 Mejora búsqueda en “DPDOCPRO”, Documento del Proveedor, Buscar en Código del proveedor, presente formulario LBX de proveedores con vínculos INNER JOIN con DPDOCPRO, presentando solo los proveedores que tienen documento vinculados según tipo de documento asociado. Nueva función LBXPROVEEDOR(). Requiere Binario 16/09/2016 (Cambio en Clase TDPLBXRUN)

19/09/2016

2024 Mejora en procesos de búsqueda en programa “DOCFIND”, Cuando encuentra valor del campo buscado se encuentra en varios registros, visualiza todos los registros vinculados mediante el uso del formulario *.BRW.  En el caso de ser campo de tipo de carácter se muestran los registros mediante la sentencia:

LIKE %.

19/09/2016

2025 Nueva función LBXPROVEEDOR() en programa DPDOCCXP, quien presenta browser (LBX) de proveedores condicionado con  vínculo con registros con la tabla DPDOCPRO cuando se utiliza la opción “Buscar”. Luego de ser seleccionado el proveedor, se presenta formulario de todos sus documentos mediante browse *.BRW Requiere Release 16.08, incluye autoselección de formulario según tipo de proveedor vinculado con tipo de documento seleccionado.

19/09/2016

2026 Mejora en programa DOCFIND, incluye controles COMBOBOX en procesos de búsqueda (presionando ENTER en el ítem seleccionado), tecla TABS omita la búsqueda y focaliza el siguiente control.

19/09/2016

2027 Nuevo Programa “PRGREADFUNC”, ejecutado desde el editor de programas fuentes. lee todas las funciones y procedimientos y los presenta mediante un formulario browser, mediante clic el usuario cierra el formulario y focaliza en el programa fuente la función según la segunda columna contentiva de la línea del programa donde está escrita la función.

19/09/2016

2028 Corrección Programa DPRECIBOSCLIX, Muestra de Anticipos vacía browser de documentos precargados en el recibo anterior.

     // JN Anticipos no Tienen Documento 19/09/2016

     aLine:=oCliRecX:oBrwD:aArrayData[1]

     AEVAL(aLine,{|a,n| aLine[n]:=CTOEMPTY(a)})

     oCliRecX:oBrwD:aArrayData:={}

     AADD(oCliRecX:oBrwD:aArrayData,aLine)

20/09/2016

2029 Nuevo Programa “DPDOCPROPROGFIX”, realiza comparación de registro de planificación de Proveedores “DPDOCPROPROG” con registros en tabla “DPDOCPRO” entre los campos PLP_NUMREG Vs DOC_PPLREG y restaura sus valores con el objetivo de presentar en browser “Calendario Fiscal” en color Azul los compromisos “Registrados”. Se ejecuta cuando se realiza la integridad referencial entre tabla “DPPROVEEDORPROG” con “DPDOCPROPROG” y ejecución de programa “BRCALFISDET” quien presenta calendario fiscal.

20/09/2016

2030 Mejora en programa “DPDOCPROPROGUP”, realiza registro de pago en tabla DPDOCPRO cuando el documento es generado en monto cero. Con el objetivo se ser presentado “Pagado” en el panel de deberes formales.

21/09/2016

2031 Cambio en definición de PC con impresora mediante IP del PC por Nombre del PC. Programas:

DPDOCCLILOAD,DPDOCCLIPAR,DPDOCNUMFIS,DPEQUIPOSPOS,

DPFACTURAV,DPPOSINI,EPSONDOCNUM,EPSONSETNUM

Para todos los casos el cambio requiere reemplazar el uso de la variable oDp:cIpLocal por oDp:cPcName en las sentencias de búsqueda con el campo EPV_IP

“EPV_IP”+GetWhere(“=”,oDp:cIpLocal))=oDp:cIpLocal) POR

“EPV_IP”+GetWhere(“=”,oDp:cPcName))=oDp:cPcName)

25/09/2016

2032 Clase DATASET() cambia definición “PC” de dirección IP del PC hacia nombre del PC.

LOCAL oData:=DATASET(“XDEF”,”PC”)

FUNCTION DATASET(cGroup,cMode,lLoad,cTable,cUser,cScope,lFind,cIp)

   LOCAL nAt,oDataSet,_cMode

   DEFAULT cIp    :=oDp:cPcName // oDp:cIpLocal

    CASE cMode=”PC”

         // cMode:=GetHostName()

         // JN Modifica los datos de la IP por PC_NAME

         SQLUPDATE(cTable,”DAT_MODE”,oDp:cPcName,”DAT_MODE”+GetWhere(“=”,oDp:cIpLocal))

         cMode:=cIp //oDp:cIpLocal

// Requiere binario: 26/09/2016

26/09/2016

2033 Mejora en generador de Reportes, permite seleccionar el Operador Relacional entre los filtros agrupados mediante Rango y Filtros Agrupados entre el criterio del reporte. Mediante la Opción fijar el usuario quien define el reporte podrá seleccionar entre el Operador (AND o el Operador OR), por defecto el Operador por Defecto es ” AND”, anteriormente el operador era ” OR “, quien generaba filtros (Rangos) OR (Criterios), ahora es (RANGOS y CRITERIOS), logrando generar informes con la nueva condición.

Esto requiere definir “entre OR o AND” según sea el caso. Esta nueva funcionalidad podrá generar resultados diferentes a los resultados generador en revisiones anteriores. Si el usuario desea el mismo resultado deberá restaurar el Operador ” OR “

27/09/2016

2034 Campo PRO_ZONANL (Zona Nacional o Libre), valor por defecto es “N” en el diccionario de datos cuando el valor es omitido en procesos de importación de datos o valor omitido cuando se crea el registro. Los programas de lectura del campo, asumen el valor “N” cuando esté vacío.

COMGRIDPRESAVE,

DOCPROPROGREG,

DPABASTGRABORD,

DPCREACALFISCAL,

DPCREAPROVEE,

DPDOCPROCTA,

DPDOCPROVALPRO,

ENTGUBTOPROVEE,

27/09/2016

2035 Tipos de Documentos Creados desde (Entes Públicos con Requerimiento de pagos)  TDC_CXP=”D” y TDC_PAGOS=1 con el objetivo de crear documentos con CxP y con requerimiento de Pagos. Programa DPDOCPROPROGFIX, Asigna en tipo de documentos del proveedor TDC_CXP=”D” y TDC_PAGOS=1, en los documentos planificados y con registro en CXP

27/09/2016

2036 Nueva variable oDp:lKeyOn, quien se inactiva cuando se genera una caja de diálogo y se activa cuando esta finaliza. Tiene como objetivo no ejecutar formularios MDI mediante teclas asignadas mediante SETKEY(VK_Fn). El programa Programa DpXbase “RUNKEY”, es quien ejecuta las teclas VK_n , si  oDp:lKeyOn es .F. No ejecuta ninguna tecla VK_n según programa RUNKEY. Requiere Binario modificada clase tcontrol

Octubre

01/10/2016

2037 Nuevo Programa DPCONFIGMNU, Incluye complemento de Opciones para el programa DPCONFIG (Configurar la Empresa) y se ejecuta desde la barra de botones o al finalizar el formulario.

01/10/2016

2038 Nuevo Programa RMUCONFIG/RMULOADCNF, Presenta formulario para definir las retenciones Municipales que será aplicado mediante Documento de CxP sobre % sobre la Base imponible en documentos de Compra previamente definidos en tipo de Documento (Aplicar Retención Municipal). Requiere release 16.08

Retención Municipal genera documento RMU para Facturas y RMC (Retención Municipal Crédito) cuando se Aplica a Crédito No Aplicado y RMD (Retención Municipal a Notas de Débito “Devolución”)

03/10/2016

2039 Nuevo Programa DPUPDATECATALOG, Actualiza (Insertando) en los catálogos de tablas maestras (Tipos de documentos) los nuevos registros que definen el modelo de transacciones. Es llamado desde DPDATACREA y SQLDB_POSTUPDAT, con el objetivo de evitar omisiones en los procesos de implementación e incidencias de integridad referencial en el calendario fiscal por la ausencia de tipos de documentos.

03/10/2016

2040 Mejora en programa: DPVISTASCREAR, evalúa si la BD no tiene vistas para activar el proceso de creación de todas las vistas.

// Buscar si Tiene Vistas

IF ASCAN(OpenOdbc(oDp:cDsnData):GetTables(),{|a,n| UPPER(LEFT(a,5))=”VIEW_”})=0

   lAuto:=.T.

ENDIF

04/10/2016

2041 Corrección Programa DPDOCCXP, Function VALNUMERO() Validación del Número de documento se realizaba mediante VALID y oDOC_NUMERO:bLostFocus, Ahora solo bLostFocus y bValidad mediante lDOC_NUMERO:=.T. o .T.

04/10/2016

2042 Mejora en Programa SQLDB_PREUPDATE, incluye proceso pre actualización de la BD, asignando de manera directa el valor por defecto  en campos lógicos, evitando crear registros con valores en campos inactivos. Caso de catálogos financieros, tipos de documento.

// Antes que sea ejecutado CHECK TABLE, agrega los campos en el diccionario de

// datos y asigna los valores por defecto directamente

oTable:=OpenTable([SELECT CAM_TABLE,CAM_NAME,CAM_DESCRI,CAM_DEFAUL FROM DPCAMPOS

WHERE CAM_TYPE=”L” AND CAM_DEFAUL<>””])

  WHILE !oTable:EOF()

    EJECUTAR(“DPCAMPOSADD”,ALLTRIM(oTable:CAM_TABLE),ALLTRIM(oTable:CAM_NAME),”L”,01,0,oTable:CAM_DESCRI,NIL,.T.,CTOO(oTable:CAM_DEFAUL,”L”),oTable:CAM_DEFAUL)

    oTable:DbSkip()

  ENDDO

  oTable:End()

04/10/2016

2043 Mejora en función SQLGET(cTable,cField,cWhere), si el parámetro está vacío asume:

:=” WHERE 1=1 ORDER BY “+cField+” LIMIT 1″

logra optimizar las solicitudes de valores por defecto.

06/10/2016

2044 Mejora en programa “BRDPTABLASBD” incluye nuevo ítem contentivo de la cantidad de tablas adaptados, además dptablas.lbx incluye campo TAB_ALTER para visualizar si fue (Modificada o Adaptada).

08/10/2016

2045 Corrección Programa DOCTOTAL, Refresca monto en letras cuando cambia su valor:  oTexto:Hide(),oTexto:Show() // Por refrescar

10/10/2016

2046 Restricciones por Tablas, Nuevo programa BRTABXUSUARIO presenta browser Contentivo de las tablas que requieren restricción por usuario. Se accede desde menú privilegios. La tabla DPTABLAS Requiere campo TAB_CAMDES, que debe contener el nombre del campo que identifica el nombre del registro y requiere obtener la clave primaria de la tabla mediante el programa GETPRIMARY.

13/10/2016

2047 Nuevo campo “DOC_LIBCOM,C,05” en Tabla DPDOCPRO, Almacena el número de registro de planificación del Libro de Compras, permitiendo en futuros casos visualizar los documentos que intervinieron en la generación de este deber fiscal y con posibilidad de generar conciliaciones fiscales con otros deberes fiscales (Retenciones de IVA). El proceso de actualización del campo DOC_LIBCOM se realiza mediante el programa DPLIBCOM.

LIBCAGREGARRTI, Actualiza campo “DOC_LIBCOM” en registros de tipo “RTI”.

Campo RTI_LIBCOM,C,05,Tabla DPDOCPRORTI, almacena número del libro de compra según fecha mediante programa:

cLibCom:=EJECUTAR(“GETNUMLIBCOMPRA”,dFecha)

14/10/2016

2048 Asignación de Fecha de Declaración según fecha de emisión (Vacías) en tabla DPDOCPRO Programa:

SQLDB_POSTUPDAT

 cSql   :=” UPDATE DPDOCPRO “+;

          ” INNER JOIN DPTIPDOCPRO  ON DOC_TIPDOC=TDC_TIPO “+;

          ” SET DOC_FCHDEC=DOC_FECHA  “+;

          ” WHERE DOC_FCHDEC”+GetWhere(“=”,CTOD(“”))+” OR DOC_FCHDEC IS NULL”

 oDB:Execute(cSql)

16/10/2016

2049 Implementación de variables DpXbase en comandos SQL para la generación de vistas.

Sintaxis WHERE XCAMPO>=&oDp:xVariable, permite crear vistas específicamente según los límites de las funcionalidades del sistema, caso de los calendarios fiscales (Parten desde la fecha del calendario fiscal). El programa : GETVARVISTAS, obtiene el contenido de las variables DpXbase incluidas en los comandos SQL de las vistas, se ejecuta desde el programa DPCONFIG donde el usuario puede cambiar sus valores. Al finalizar el formulario se ejecuta el Programa CHKVARVISTAS que revisa el contenido de las variables con su estado actual, en el caso de detectar cambios, ejecuta la re-creación de las vistas afectadas.

oDp:xVariable

16/10/2016

2051 Nueva variable oDp:lRet_Mun, (Retención Municipal) es definida en el programa: RMULOADCNF, si el modo de retención Municipal es Ninguno:

oDp:lRet_Mun     :=!ALLTRIM(oDp:cRmu_cModelo)=”Ninguno”, el control “impuesto municipal” en tipo documento de proveedores, Documento de compra, Documentos de CxP y Retenciones en Reintegros/CxP Terceros, inactiva la opción “Retención Municipal” cuando su valor es .F.

16/10/2016

2052 Reintegro y CxP Terceros incluye Opción “Retención de Impuesto Municipal”

16/10/2016

2053 Nueva vista VIEW_DOCPRORET (Retención de ISLR en documentos de Compras) y VIEW_DOCPRORMU Retenciones Municipales con Documentos de compra.

17/10/2016

2054 Nueva Tabla DPLIBCOMPRAS, se genera cuando se ejecuta el libro de compras con registro identificado (Año-Mes) de cuatro dígitos y en modo (Abierto) con el objetivo que el usuario (Tributario) pueda hacer el cierre del Libro y que permita al sistema validar las fechas declaración en la carga de documento de compra y Cuentas por pagar. Esta funcionalidad tiene como objetivo reducir las incidencias en el libro de compra causada por la asignación discrecional en la fecha de “Declaración de documentos”. La edición de este campo estará validada según los libros de compra que estén abiertos. Cuando se ejecuta la forma 30, el libro de compras pasará a estado “Cerrado”. El programa BUILDLIBCOM, construirá los registros del libro de compras que no han sido creados por el programa “libro de compras”, cuando el contenido de la tabla “DPLIBCOMPRAS” está vacío y su contenido es obtenido desde el registro de programación de formalidades y tareas “DPFORMYTAREASPROG”. Este programa se ejecuta previa a la generación de integridad referencial entre DPSUCURSAL con la tabla DPLIBCOMPRAS

18/10/2016

2055 Corrección programa “RECCLICREADOC”, ahora guarda los anticipos “Opción Incluir”

 // Anticipo 18/10/2016

      IF cTipDoc=”ANT”

         nMonto:=oCliRecX:REC_MONTO // Monto del Anticipo

      ENDIF

18/10/2016

2056 Nuevo programa “SQLCONCAT”, parámetros n1,n2,n3,n4,n5,n6,n7,n8,n9,n10, permite concatenar hasta 10 parámetros, en formato de cadena para MySQL con el objetivo de ser utilizado mediante la cláusula WHERE conjuntamente con la función CONCAT() de MySQL.

Programa DPRECIBOSCLI, FUNCTION LOADDOC()

 Reemplaza código

//     cWhere:=”(DOC_FECHA”+GetWhere(“<“,oCliRecX:REC_FECHA)+” OR “+;

//             “(DOC_FECHA”+GetWhere(“=”,oCliRecX:REC_FECHA)+” AND “+;

//             ” DOC_HORA”+GetWhere(“<=”,oCliRecX:REC_HORA)+”))”

 Por

 cConcat:=EJECUTAR(“SQLCONCAT”,oCliRecX:REC_FECHA,cHora)

 cWhere :=”CONCAT(DOC_FECHA,DOC_HORA)”+GetWhere(“<=”,cConcat)

 Comprobantes de Pago:

/*

     cWhere:=”DOC_TIPDOC”+GetWhere(“<>”,”RMUX”           )+” AND “+;

             “(DOC_FECHA”+GetWhere(“<“,oProPagX:PAG_FECHA)+” OR “+;

             “(DOC_FECHA”+GetWhere(“=”,oProPagX:PAG_FECHA)+”))”

*/

     // JN 18/10/2016

     cConcat:=EJECUTAR(“SQLCONCAT”,oProPagX:PAG_FECHA,cHora)

     cWhere:=”DOC_TIPDOC”+GetWhere(“<>”,”RMUX”           )+” AND “+;

             “CONCAT(DOC_FECHA,DOC_HORA)”

18/10/2016

2056 Corrección programa “DPRECIBOANUL “, Válida y niega la anulación de anticipos que han sido pagados en otro recibo.

18/10/2016

2057 Corrección programa “DPCBTEPAGANUL”, Válida y niega la anulación de anticipos que han sido pagados en otro Comprobante de Pago.

19/10/2016

2058 Programa “LIBAGREGARRTI”, Agregar retenciones de IVA extemporáneas en libro de ventas asignado campo:

  oRet  :=OpenTable(” SELECT * FROM DPDOCCLIRTI “,.F.)

  Reemplazado

  cField:=IF(oRet:FieldPos(“RTI_FCHDEC”)>0,”RTI_FCHDEC”,”DOC_FECHA”)

  oRet:End()

//  IF !(nVersion>4)

//     cField:=”DOC_FECHA”

//  ENDIF

Por

  cField:=”DOC_FCHDEC” // 19/10/2016

20/10/2016

2058 Reporte “PROFACIMPDEC”, Listado de factura de compra con impuesto según fecha de declaración.

20/10/2016

2059 Nuevo programa, “DPLIBCOMMNU”, Menú de Opciones browser Libro de Compras.

Permite acceder al nuevo formulario MDI (Maximizado) contentivo de los documentos involucrados en el Libro de compras. Los registros visualizados son obtenidos desde el programa DPLIBCOM (Para garantizar el mismo resultado).

El objetivo de esta consulta Browser es facilitarle al usuario explorar su contenido además, acceder a las fuentes de los resultados: Alícuotas, Retenciones, Documentos de otros periodos (Extemporáneos), Documento en otros y Periodos.

26/10/2016

2052 Nueva Tabla “DPREGDIGITALIZACION”, Registros de digitalización, contentiva de las necesidades de la empresa referentes a documentos formales:

Registro Mercantil, RIF, Patente, Bomberos, Accionistas entre otros. Mediante la tabla : DPEMPREGDIG vincula registros de la tabla “DPREGDIGITALIZACION” con con tabla “DPEMPRESA” logrando registrar los registros de digitalización de la empresa de manera esquematizada. Además permitirá conocer cuales son los documentos o requisitos próximos vencer o concluir para su respectiva tramitación y digitalización. Para acceder desde formulario LBX de empresa, el botón “digitalizar o Adjuntos” presenta formulario mediante programa “BRDIGXEMPRESA” quien presenta catálogo de documentos por empresa y mediante CLIC se presenta formulario para la digitalización o adjuntar documentos.

El programa “DPUPDATECATALOG”, incluye los registros por defecto cuando se instala el sistema.

26/10/2016

2053 Nuevo programa “DPTABCREAREGINDEF”, parámetro:cTable ,cFieldkey, cFieldName, busca si la tabla está vacía, agrega un registro por defecto, mediante el programa “DPTABLESETDEF”,,, asigna en cada campo los valores por defecto definidos en el diccionario de datos.

27/10/2016

2054 Nuevo campo PC_DPSTD (Memo) y PC_FCHSTD (Fecha) en tabla DPPCLOG, contiene lista de archivos digitalizados y fecha de registro del proceso de descarga de componentes DPSTD descargados desde el servidor AdaptaPro. Sus valores se actualizan en el programa “DOWNDPSTD”

27/10/2016

2055 Nuevo programa “DPREADDPSTD”, recupera en Cada PC, los componentes DPSTD previamente almacenados mediante el programa “DOWNDPSTD” obtenidos de la descarga del servidor. Para hacer pruebas se ejecuta previamente el programa DOWNDPSTD y desde otro PC ejecutar “DPREADDPSTD” previamente remover componentes DPSTD en ambos PC.

Noviembre

01/11/2016

2056 Mejora el método MsgErr() clase TCONTROL, control de campos Memos TMULTIGET, ahora muestra los mensajes en la parte superior del control logrando una mejor visualización. Requiere actualización del binario/kernel.

02/11/2016

2057 Nuevo programa VIEWCALFIS, ejecutado desde DPLOADCNF (carga de variables de la empresa cuando se seleccionada la empresa), presenta el calendario fiscal previamente definido en los permisos del usuario para tesorería. Su valor por defecto es .T. y la tabla de planificación por proveedor posee registros:

COUNT(“DPPROVEEDORPROG”)>0

03/11/2016

2058 Nuevo programa “DPDOCCONTEOELI”, Anula el registro de conteo físico.

Ahora no lo elimina), actualiza campo “DCI_ESTADO” en Tabla “DPDOCCONTEO”, Inactiva los movimiento de productos. Mejora visual en el formulario de conteo físico se muestra barra de progreso en carga de datos.

Nuevo programa “dpdocconteofix” Busca los movimiento de productos sin relación con tabla “DPDOCCONTEOELI”, crea los registro “Recuperado”

03/11/2016

2059 Programa “RTFDOWNFTP”, descarga las notificaciones de los release en formato RTF, lo guarda en la tabla DPDIRAPL para que los demas PC lo recuperen y muestren al usuario.

05/11/2016

2060 Nuevo clasdata bLostFocus y bGotFocus en clase TDPEDIT, ejecutan cuando se pierde o recupera el foco de la ventana MDI. Requiere Binario.

05/11/2016

2061 Nuevo programa BRWLOSTFOCUS, utilizado en programa “BRDPTABLASBD”, oDPTABLASBD:bLostFocus  :={|| EJECUTAR(“BRWLOSTFOCUS”,oDPTABLASBD:oBrw)} utilizado para guardar y recuperar la posición de línea y arreglo del browser con el objetivo de ser recuperada luego de ejecutar oBrw:CancelEdit()

07/11/2016

2062 Nuevo programa DOCGRIDGOTFOCUS, Ejecutado desde la clase TDOCGRID, método bGotFocus, tiene como objetivo recuperar el estado del browser previamente copiado por el programa DOCGRIDLOSTFOCUS Método LOSTFOCUS() clase TDOCGRID.

Corrige la incidencia cuando se edita una columna y se pierde/recupera el foco del sistema, quedaba la columna en blanco.

07/11/2016

2063 Nuevo programa FRMGETBRW (lee los controles XBROWSE) antes del ACTIVATE en formularios DPEDIT/TDMI. El programa BRWBRWLOSTFOCUS es ejecutado por el método LOSTFOCUS toda vez que el formulario pierde el foco, envía como parámetro cada uno de los controles browser ubicados en ::aBrwFocus. De igual forma el programa BRWBRWLOSTFOCUS es ejecutado cuando se recupera el foco de la ventana contentiva en el formulario.

08/11/2016

2064 Mejoras en clase TDOCENC, incluye bLostFocus y bGotFocus. Programa DPRECIBOSCLIX y DPCBTEPAGO, realizan lectura de Browse mediante programa, FRMGETBRW y mediante ::bLostFocus y ::bGotFocus realizar la recuperación del estado del browser toda vez que la ventana contenedora pierda y recupere el foco.

08/11/2016

2065 Nueva función DPAPTGET(cFile,cDirOut,lBrowse,cOrg), ubicada en dpllave.hrb, obtiene desde adaptapro_server el componente y lo descarga en la carpeta indicado por:

, en el caso ser omitido

, el componente será descargado en la carpeta indicada según registro de la base de datos en adaptapro_Server. Según el contenido de la llave adaptapro.dp la descarga será realizada desde Servidor: Test, preproducción o producción. La aplicación de esta función será implementada en aquellas áreas donde se requiere descarga archivos en caso de no estar incluido en el instalador, ejemplo: Formularios, crystal report u otro componente que podrá Puede ser descargado en el caso que sea necesario. El parámetro cFile también puede ser un arreglo en el caso que sean requeridos diversos archivos.

Ejemplo:

DPAPTGET(“DPLLAVE.HRB”,”DOWNLOAD\”)

DPAPTGET({“DPLLAVE.HRB”,”DPSGEV51.EXE”},”DOWNLOAD\”)

// Descargar desde el Servidor de desarrollo

DPAPTGET(“DPLLAVE.DXBX”,”DPXBASE\”,NIL,”TEST”)

Mediante Aplicación

08/11/2016

2066 Nueva función ISDPFILE(cFile), determina si existe el archivo , en caso de no existir, se obtiene el archivo desde AdaptaPro Server. El parámetro file debe incluir la ruta, el proceso de descarga escribe el archivo en la ruta de descarga del archivo, ejemplo:

  IF !ISDPFILE(“CRYSTAL\DPLIBCOMCO.rpt”)

     ? “Archivo no Existe”

  ENDIF

08/11/2016

2067 Programa RUNRPT(cFile), incluye funcionalidad ISDPFILE(cFile) para ubicar y descargar archivo RPT de crystal report desde adaptaproServer en caso de no existir.

11/11/2016

2068 Autorización y Auditoría de Aplicaciones del (OS), Cuando el usuario ingresa el sistema, se almacenan en la tabla “DPPCLOGAPP” las aplicaciones en ejecución y conocidas según la función Gettask(). En la opción “Aplicaciones Autorizadas y Auditadas” en el menú del formulario a usuarios, se presenta nuevo formulario “BRDPPCLOGAPP” que presentó lista de aplicaciones para que el usuario marque las aplicaciones que desea registrar en la tabla “DPUSUARIOSAPPTMP” durante la navegación del sistema. Las aplicaciones “No autorizadas” forman parte de las consultas del Panel de Tareas ERP, donde se podrá conocer cuales son las aplicaciones “No autorizadas” que realiza el usuario.

13/11/2016

2069 Corrección clase TDPEDIT, inhabilitar tecla cuando las opciones: Incluir, Modificar, anular no tienen permiso.

AEVAL({1,2,3,4,7},{|a,n|oFrm:aButtons[n,8]:=IF(EVAL(oFrm:aButtons[n,6]),oFrm:aButtons[n,8],0)})

14/11/2016

2070 Mejora en Programa: BUILDINTREF, Si la generación de Integridad referencial es fallida (Según respuesta del Servidor), se ejecuta el proceso de reparación de integridad referencial “DPTABLEFIXINT” creando los  registros faltantes (Con valores Nulos en los campos sin definiciones por defecto en el diccionario de datos) entre las dos tablas vinculadas. Luego de incluir los registros faltantes, el programa solicita nuevamente al servidor la generación de la integridad referencial, en caso de ser fallida, emite un mensaje y genera un archivo texto de extensión SQL contentivo de la instrucción SQL que detecta la inconsistencia de datos ubicado en la carpeta , tiene como objetivo facilitarle al DBF las instrucciones para conocer los datos inconsistentes.

17/11/2016

2071 Mejoras en proceso de reparación de Integridad referencial (Fallida). El nuevo programa “INSERTRECORD” recibe parámetro cTable,aFields,aValues. En reemplazo del programa CREATERECORD ubicado en dpwin32.hrb. El programa “INSERTRECORD” es utilizado en el programa “DPCREAREGINTREF” quién crea los registros faltantes en el proceso de inserción mediante la clase TTABLE, método oTable:CreaRegIntRef(lRun)

17/11/2016

2071 Nueva función RUNNEW(cProgram,uPar1,…), ejecuta por programa DpXbase con una nueva instancia, logrando ejecución bajo recursividad, al finalizar la ejecución el objeto es concluido. El programa INSERTRECORD, utiliza la clase TTABLE y esta mediante el método ::CreaRegIntRef(lRun) ejecuta el programa RUNNEW(“DPCREAREGINTREF”,SELF,lRun), quien a su vez ejecuta a INSERTRECORD.

20/11/2016

2072 Nueva tabla DPINTREF, registra la incidencia causada por la  generación de integridad referencial fallida, tiene como objetivo de determinar las tablas que no están operativas a nivel de integridad para la  generación de información fiable y consistente.

20/11/2016

2073 Implementación de control de errores en clase TSCROLLGET y Método RunButton/ValidCol para conocer las incidencias cuando se presiona el botón de la casilla que está en edición (Presentar catálogos clase DPLBX()), además es creada la nueva variable :

oDp:cMsgGetProce:=GetProce()

Contentiva de la lista de procedimientos involucrados en la línea de ejecución del sistema.

20/11/2016

2074 Nueva function ISLIC_DICDAT() en dpllave.hrb contentiva de la función que activia el acceso hacia el diccionario datos previamente adquirida en la licencia (previamente subida en el AdaptaPro Server)

21/11/2016

2075 Mejora en funciones

CHECKTABLE(cNumTab,lDrop,lDroptable,lIni,lSay)

BUILDINTREF(cTable,lDelete,cTableD,lIndex,lSay)

DsnCheckTable(cDsn,oMeter,aDsn,lIntRef,lSay)

Nuevo parámetro lSay, por defecto .T., Tiene como objetivo Activar o Desactivar la emisión de mensajes incidentes. En el caso de ser inactivo, y la ejecución de la actualización de la estructura fallida es almacenar la incidencia en la tabla “DPINTREF” con sus respectivas instrucciones logrando evitar la espera por parte del usuario para presionar CLIC en cada mensaje incidente

21/11/2016

2076 Nuevo formulario “BRDPINTREF”, se ejecuta cuando se inicia la apertura de una empresa y obtiene de la tabla “DPINTREF” los registros contentivos de la incidencia de la base de datos indicando al usuario que la Base de datos no es consistente para generar información fiable.

Programa “DPINTDELFAILED”, Remueve registros de incidencias antes de iniciar proceso de actualización de la Base de datos y es llamada desde function DsnCheckTable()/dpwin32.hrb

22/11/2016

2077 Nueva Variable oDp:lSayCheckTab, se define en DATAPRO.INI oDp:lSayCheckTab :=GETINI(“DATAPRO.INI”,”LSAYCHECTABLE”)

Tiene como objetivo activar/inactivar la presentación mensajes de  incidencia cuando se ejecuta la función CHECKTABLE() quien realiza la creación y/o actualización de las tablas (ALTER TABLE). Su valor por defecto es .F..

Ahora el sistema almacena las incidencias de la Base de Datos “DPINTREF” con el objetivo que el usuario no espere mensaje por mensaje, el sistema genere el proceso de actualización y finalmente muestre formulario contentivo de incidencias de las tablas. Requiere binario y dpwin32.hrb

22/11/2016

2078 Mejora en programa “SQLMSGERR”, llamado desde la clase TMSDB (Eagle), ahora envía parámetro oDB,cError, quien permite conocer el motivo de la incidencia de la sentencia SQL (Evitando copiar y pegar en Heidy/Similar) .

Si la incidencia corresponde a la sentencia ALTER TABLE, es almacenada en la tabla DPINTREF, en el caso de que la variable oDp:lSayCheckTab sea .T.

Mostrará el mensaje de Incidencia.

  /*

   // 21/11/2016

   */

   IF “ALTER TABLE”$cSql

      EJECUTAR(“DPINTSAVEFAILED”,cTable,””,cDb,cSql,”ALTER”,cError)

      IF !oDp:lSayCheckTab // JN 21/11/2016

         RETURN .F.

      ENDIF

   ENDIF

22/11/2016

2079 Nuevo parámetro cType en Method SET(cVar,uValue,cType) y GET(cVar,uValue,cType). Tiene como objetivo almacenar y recuperar los datos según el tipo de datos . Si el valor cType es omitido será asumido por el tipo de datos si este no es NIL (Nulo).

22/11/2016

2080 Nuevo Programa ALTERTABLEFIX, es ejecutado desde el programa SQLMSGERROR quien es ejecutado desde el método EXECUTE(cSql,lMsg) desde la clase TMSDB (Base de datos de Eagle) y tiene como objetivo reparar la incidencia causada por el rechazo de la sentencia ALTER TABLE solicitada por la función CHECKTABLE(). ALTERTABLEFIX recibe dos parámetros cSQL y cError. Si el error se refiere a la respuesta TRUNCATE, busca el mayor valor del ancho del campo indicado en el parámetro cError y actualiza el diccionario de datos (Ancho del campo de la Tabla) y registra la incidencia en la tabla DPINTREF. El proceso no ejecuta nuevamente la función CHECKTABLE() para evitar caer en un ciclo infinito recursivo entre la función CHECKTABLE() con el programa SQLMSGERROR y ALTERTABLEFIX.

25/11/2016

2081 Nuevo Programa DPCAJAMOVFIX, detecta operaciones de Requerimiento de efectivo que estén duplicadas y las remueve. Es ejecutado desde la integridad referencial.

27/11/2016

2082 Nuevo Programa DPCTANMCONCEPTO, se ejecuta desde la generación de Integridad referencial entre DPCTA y NMCONCEPTOS con el objetivo de garantizar La integridad referencial entre plan de cuentas y Conceptos de Nómina. Las estructura de tablas de nómina, vinculadas con NMCONCEPTOS fueron migradas hacia el SGE con el objetivo de cumplir con reglas de integridad.

27/11/2016

2083 Mejoras en Programa “DPSVRDOWN”, realiza la descarga desde AdaptaPro Server, del programa “downdpstd.scr” para las licencias estándar. “downdpstd” realiza la descarga de componente de ejecución en carpeta DPSTD y los almacena en la tabla DPDIRAPL necesarios para la recuperación por parte de los demás PC de manera local. Esta  funcionalidad permite ejecutar el proceso de descarga según última actualización del script dpstd\downdpstd.scr ubicada en AdaptaPro Server  Logrando autocorreciones o mejoras en el proceso).

Finalmente ejecuta el formulario DPSVRDOWN()de descarga del diccionario de datos. Para el sistema Open Source, ejecuta directamente el programa DPSVRDOWN() quien descarga Diccionario de datos y programa fuentes.

28/11/2016

2084 Mejoras en el proceso de Actualización de base de datos, desde el programa SQLDB_PREUPDATE, previo al proceso de actualización de la base de datos, ahora ejecuta el programa  “TABLETOINNODB” quien asigna a toda las tablas de la Base de datos el tipo de  gestor que utilizara, en el caso de AdaptaPro es ENGINE=InnoDB.  Para cambiar  el ENGINE de la Tabla requiere remover índices y claves primarias. El programa BUILDINDEX incluye la revisión del tipo de ENGINE mediante el programa ISENGINE(cTable,oDb) en el caso de resultar falso ejecuta el programa SETINNODB(cTable,oDb)

30/11/2016

2085 Distribución departamental: Nueva tabla DPPLADPTO (Distribución Cuenta Contable y Departamento) y DPASIENTOSDPTO (Asientos distribuidos derivados del proceso de contabilización). Programa DPPLADPTO ejecuta el formulario de carga y de datos (Distribución departamental) se accede desde Menú de formulario “Plan de Cuentas”

30/11/2016

2085 Nueva función ISLIC_PRODUCION() ubicada en dpllave.hrb y requiere el permiso para habilitar esta aplicación que requiere ser adquirida adicionalmente en la licencia. También la licencia del Sistema de producción está disponible en aplicación independiente (Utilizando la Misma BD) cuando el comprador requiere solo licencia de Producción Open Source.

Diciembre

01/12/2016

2086 Mejora en proceso de Contabilización, la generación de asientos contables automática DPDOCCONTAB incluye funcionalidad (Número de Partida Contable) donde se identifica en cada probante contable los asientos según cada operación y balance débito (Crédito). Si el comprobante contable esta compuesto por los asientos de n Facturas (Cada factura representa una partida contentiva de asientos Débitos y Créditos) quedando registrado en el documento DPDOCCLI/DPDOCPRO mediante el campo DOC_NUMPAR conjuntamente con el número del comprobante contable, permitiendo además conocer los asientos contables específicos de un documento.

01/12/2016

2087 Nueva vista VIEW_DPCTAREGXDEP, contiene el resumen de departamentos vinculados con Cuentas Contables, facilitando en enlace mediante LEFT JOIN en el formulario DPCTA, permitiendo mostrar una nueva columna contentiva de la cantidad de vínculos con departamentos con la cuenta contable.

01/12/2016

2088 Nuevo campo CTA_DISDEP en Tabla DPCTA, en caso de ser permite definir si la distribución departamental se realiza en la tabla DPASIENTOSDPTO (Si su valor es .F.), en el caso contrario (.t.) los asientos se realizan en la tabla DPASIENTOS según las cuentas contables vinculadas con cada departamento.

Además solicitará en el formulario de Asignación de Departamentos por Cuenta, cuál será la cuenta contable que vincula la distribución proporcional del Asiento.

01/12/2016

2089 Nueva vista VIEW_DPCTAREGXCOS, contiene el resumen de Centro  de Costos Vinculados con Cuentas Contables, facilitando en enlace mediante LEFT JOIN en el formulario DPCTA, permitiendo mostrar una nueva columna contentiva de la cantidad de vínculos con el Centro de Costos con la cuenta Contable.

01/12/2016

2090 Nuevo campo PLA_CODMOD en Tabla DPPLACOS (Distribución de Centro de Costos por Cuenta Contable) contiene los valores de la tabla DPCTAMODELO (Modelo de plan de cuentas) su valor por defecto es oDp:cCtaMod.

02/12/2016

2091 Nuevo programa “BRDPDPTOXCTA” Muestra por departamento el Resumen de los Asientos Contables departamentales (DPASIENTOSDPTO), se accede desde menú “Consultar Departamentos”.

02/12/2016

2092 Mejora en Programa “BCVINPC” Cuando es ejecutado automáticamente desde panel de tareas Proceso “IPC” e “INPC”

02/12/2016

2093 Incorporación que facilita Subir hacia AdaptaPro Server los registros de procesos automáticos, el sistema presta browser contentivo de los registros ordenados por fecha, luego de ser seleccionados, el sistema genera por cada registró un archivo comprimido de extensión .RUN contentivo de dos archivos de formato *.DBF referentes al proceso automático DPPROCESOS (Definición) y programa fuente (DP PROCESOS MEMO).

02/12/2016

2094 Implementación de la funcionalidad “Asignación CATÁLOGO de datos” para las tablas del diccionario de datos, con su respectivos vínculos que permitirá subirlas las (Tablas completa) hacia AdaptaPro Server de manera comprimida. Su objetivo de lograr actualizar los registros de la base de datos del cliente (Usuario/Titulado) luego de ejecutar el proceso de descarga de actualización del sistema vía internet. Con esta funcionalidad podemos actualizar: Unidad Tributaria, Alícuotas de IVA con sus respectivos porcentaje, Barra de botones, Tipos de documentos, Definiciones creadas con BRWMAKER.

04/12/2016

2095 Nuevo Campo REC_TIPDOC en Tabla NMRECIBOS contiene el tipo de Transacción vinculada con la Tabla DPCTABANCOMOV Campo (MOB_TIPO), que permitirá la creación de vistas contentivas de las relaciones entre las tablas NMRECIBOS con DPCTABANCOMOV para conocer las posibles inconsistencias, recibos (integrados o vinculados) por asignación de Transferencia Bancaria.

NMTRABAJADOR Campor FORMA_PAG (Ampliado hasta 3 Caracteres). Tabla NMRECIBOS, Campo REC_FORMAP Ampliado a Tres Caracteres.

04/12/2016

2096 Nueva vista : NMREGTRANSFBCO Contiene el resumen de todos los recibos vinculados con pago por transferencia bancaria. MBREGTRANSFBCO Contiene los registros de la tabla “Movimientos Bancarios” generados por el procesos de Asignación de Pago por Transferencia bancaria de los recibos de nómina. Ambas vistas deben contener la misma información y tienen como objetivo garantizar la conciliación entre los registros de recibos de nómina con Movimientos Bancarios. Además facilitan determinar cualquier inconsistencia entre los Resultados entre recibos de pago de nómina y Movimientos Bancarios.

06/12/2016

2097 Nuevo programa “GENCALFISNEXT”, se ejecuta desde DPLOADCNF/VIEWCALFIS, si el mes de la fecha del sistema es 11 o 12, calcula el siguiente años conformando “CALENDARIOFISCAL”+nYear+1, si la carpeta tiene archivos *.CSV y no existe ningún registro de planificación fiscal para el año siguiente, el El sistema genera el calendario fiscal para el siguiente ejercicio.

06/12/2016

2098 Nuevo Programa “REPCOMPILA_PC”, recopila los reportes (localmente) cuando estos ha sido importados, modificados o descargados desde Adaptapro Server. Es ejecutado desde el programa DPAPLDIRGET2 (Quien se encarga de descargar en cada PC los componentes descargados desde AdaptaPro Server)

07/12/2016

2099 Implementación de función LbxDate() en control Browser, presenta el calendario en la línea y columna que está en edición previamente definidas para la edición mediante:

 oCol:nEditType     :=EDIT_GET_BUTTON

 oCol:bOnPostEdit   :={|o, dFecha| oDOCCLIREP:VALFECHA(dFecha) }

 oCol:bEditBlock   :={||oDOCCLIREP:VIEWCAL()}

Removida función LBXDATE() hacia dpwin32.hrb, nueva función BRWDATE() ubicada en DPWIN32.HRB, utilizada en el programa BRDOCCLIREP. sin necesidad de reemplazar el programa Binario.

10/12/2016

2100 Nuevo método MoveTo(oControl) en clase TDPEDIT, ejecuta el programa “FRMMOVE”,SELF,oControl) con el objetivo de posicionar el formulario justo en la parte inferior del control “oControl”, este método debe ser ejecutado desde el Metodo

oFrm:Activated({||oFrm:MoveTo(oControl)})

10/12/2016

2101 Nueva Opción, “Buscar Textos” en Parámetros del Reporte, presenta formulario contentivo de dos controles GET que solicitan uno o dos valores de búsqueda para textos, filtrar y visualizar los reportes cuyos parámetros contengan total o parcialmente el contenido solicitado. De igual forma “Buscar en Programas Fuentes de los reportes”.

11/12/2016

2102 Nuevo programa “DPCAMPOSTOTABLE”, ejecutado desde  detecta los campos de las vistas que no estén registradas en la tabla DPCAMPOS. Nuevo campo VIS_TABLE (Lógico) en tabla DPVISTAS permite definir cuales son las tablas que necesarias definidas en DPTABLAS con el objetivo de ser utilizada en el generador de reportes previamente relacionadas mediante formulario (DPLINK).

Formulario DPTABLASVIEW.LBX incluye la visualización de las Tablas.

12/12/2016

2104 Nuevo programa “LBXMOVED”, se ejecuta cuando el usuario mueve la ventana MDI del formulario LBX y tiene como función reajustar el Alto de la ventana para evitar que exceda del área visual de la ventana principal del sistema. Evitando la distorsión visual del desplazamiento del browser cuando este supera el área visual (GetCoors(GetDesktopWindow()))[3] de la ventana principal. El Programa LBXRESIZED se ejecuta cuando la ventana es reajustada su dimensión por parte del usuario y sin efecto para el propósito del programa LBXMOVED

26/12/2016

2105 Nuevo formato comprimido para programas compilados DpXbase cuya extensión es “.dxbx”. Tiene como objetivo el reemplazo inmediato de componentes de licencias estándar sin necesidad de recompilar los archivos de la carpeta DPSTD.

Su contenido se encuentra en la carpeta DpXbase y se pueden obtener mediante el proceso de descarga automática del sistema o simple reemplazo (Copiar y Pegar para el Archivo). De igual manera, puede reemplazar  componentes del kernel DpXbase sin necesidad de reemplazar programas binarios o módulos HRB.

Los programas de formato “.dxbx” tiene prioridad de ejecución sobre programas *.DXB y DPSTD, Además su ejecución  está condicionada su fecha de creación y debe ser superior a la fecha del binario o componentes DpXbase.

31/12/2016

2106 Mejora en Programa FCH_EJER, corrige la fecha del Ejercicio en Tabla DPEMPRESA cuando la fecha de Inicio es superior a la fecha de Cierre del Ejercicio.

31/12/2016

2107 Mejora en Proceso de UPDATE SET = WHERE, generado de la clase TTABLE mediante uso directo, desde la interacción de las clases TDOCENC y TDPEDIT. ClassData ::aBuffers, incluye una 5ta columna contentiva del valor inicial de cada campo, previo Actualizar, se compara con el valor de la primera columna para conocer cuáles de los campos tienen actualización para así generar la Sentencia SQL de Actualización exclusiva de los campos con Cambios. En caso que ningún campo del registro posea cambio de valores no se ejecutará la sentencia UPDATE.

31/12/2016

2108 Mejora en Clase TDOCENC, nuevo classData ::cScope_Update, necesario paraoptimizar la cláusula de Actualización mediante la clase TTABLE quien requierevalor ::cWhere + ::cScope_Update Reemplazando el uso de la classData ::cScopeEn este caso, podría generar redundancia en la Sentencia WHERE del comando SQLpara actualización. Programas Mejorados:

DPFACTURAV,DPDOCPRO,DPDOCCXC YDDDOCCXP.