Tree – Crear campos adicionales en líneas de partes

En esta entrada os vamos a explicar como crear campos adicionales en las líneas de los partes de trabajo y que sean visibles y editables en la pantalla de introducción de partes. Creamos los campos usando el diccionario (preferiblemente para no tener que realizar la misma operación en cada empresa) o directamente en SQL Server Leer másTree – Crear campos adicionales en líneas de partes[…]

Tree – Configurar la gestión documental

En TREE podemos adjuntar documentos (normalmente archivos PDF aunque podemos adjuntar cualquier tipo de archivo) a cada entidad del programa (obras, precios, albaranes, facturas, personal, máquinas,…). Una pregunta habitual es cómo debemos configurar el programa para que los archivos que vinculemos sean visibles por todos los compañeros que usan Tree, y además poder disponer de Leer másTree – Configurar la gestión documental[…]

C# – Uso de HttpClient para devolver un DataTable

Si usamos una API-REST que nos devuelve un Datatable, es necesario deserializar el JSON obtenido. El siguiente ejemplo nos muestra como hacerlo: using System; using System.Data; using System.Net.Http; using System.Threading.Tasks; using Newtonsoft.Json; // You’ll need to install the Newtonsoft.Json NuGet package class Program { static async Task Main() { // Create an instance of HttpClient Leer másC# – Uso de HttpClient para devolver un DataTable[…]

TREE-Trigger para firma de facturas escaladas por importe

En ocasiones los clientes quieren que la firma de las facturas dependan del importe. En el siguiente ejemplo aplicamos un sencillo trigger para que las facturas de más de 3000€ las tenga que firmar dirección (perfil DIR), las de más de 1500€ las tenga que firmar el jefe de grupo (perfil DJO), y el resto Leer másTREE-Trigger para firma de facturas escaladas por importe[…]

SQL – Dividir una línea de texto en dos, haciendo coincidir la división con un espacio entre palabras

A veces puede ser necesario que queramos hacer una sentencia SQL que nos devuelva una línea dividida en dos cuando el texto excede una determinada longitud (y que la segunda línea esté en blanco cuando el texto simplemente es más corto de dicha longitud). Por ejemplo, en un informe queremos imprimir el nombre de una Leer másSQL – Dividir una línea de texto en dos, haciendo coincidir la división con un espacio entre palabras[…]

SQL – Velocidad de TREE y de SQL Server en remoto

Tree permite conexiones remotas a través de VPN sin necesidad de usar servicios de escritorio remoto (que suponen un coste y requieren normalmente un servidor adicional o robarle recursos al principal). La velocidad remota por VPN depende de varios factores: La complejidad de las consultas SQL La velocidad del servidor SQL La velocidad de la Leer másSQL – Velocidad de TREE y de SQL Server en remoto[…]

SQL – Rehacer indices de todas las tablas

Hace poco me encontré una base de datos Sql Server con comportamientos extraños. Las sentencias SELECT no encontraban los registros recien insertados, aparecían claves primarias duplicadas,… cosas rarísimas que no había visto nunca. El problema surgió tras restaurar un servidor que fue reiniciado a mano por el cliente «…porque tardaba mucho y entonces lo desenchufé… Leer másSQL – Rehacer indices de todas las tablas[…]

Al borrar una factura en a3ERP que se marque en TREE como pendiente de exportar

Cuando pasamos facturas de TREE a a3ERP las facturas quedan marcadas como exportadas. Si queremos que al borrar la factura en a3ERP en TREE vuelva a quedar como pendiente de exportar, tan solo tenemos que generar los siguientes TRIGGER en las bases de datos de a3ERP:   –COMPRAS  CREATE TRIGGER BorrarFraCA3 ON CABEFACC  AFTER DELETE  AS Leer másAl borrar una factura en a3ERP que se marque en TREE como pendiente de exportar[…]